@strapi/content-manager 5.37.1 → 5.38.0
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/dist/admin/components/ActionsDrawer.js.map +1 -1
- package/dist/admin/components/ActionsDrawer.mjs.map +1 -1
- package/dist/admin/components/ComponentIcon.js.map +1 -1
- package/dist/admin/components/ComponentIcon.mjs.map +1 -1
- package/dist/admin/components/ConfigurationForm/EditFieldForm.js.map +1 -1
- package/dist/admin/components/ConfigurationForm/EditFieldForm.mjs.map +1 -1
- package/dist/admin/components/ConfigurationForm/Fields.js.map +1 -1
- package/dist/admin/components/ConfigurationForm/Fields.mjs +2 -2
- package/dist/admin/components/ConfigurationForm/Fields.mjs.map +1 -1
- package/dist/admin/components/ConfigurationForm/Form.js +62 -30
- package/dist/admin/components/ConfigurationForm/Form.js.map +1 -1
- package/dist/admin/components/ConfigurationForm/Form.mjs +62 -30
- package/dist/admin/components/ConfigurationForm/Form.mjs.map +1 -1
- package/dist/admin/components/DragLayer.js.map +1 -1
- package/dist/admin/components/DragLayer.mjs.map +1 -1
- package/dist/admin/components/DragPreviews/CardDragPreview.js.map +1 -1
- package/dist/admin/components/DragPreviews/CardDragPreview.mjs.map +1 -1
- package/dist/admin/components/DragPreviews/ComponentDragPreview.js.map +1 -1
- package/dist/admin/components/DragPreviews/ComponentDragPreview.mjs.map +1 -1
- package/dist/admin/components/DragPreviews/RelationDragPreview.js.map +1 -1
- package/dist/admin/components/DragPreviews/RelationDragPreview.mjs.map +1 -1
- package/dist/admin/components/FieldTypeIcon.js.map +1 -1
- package/dist/admin/components/FieldTypeIcon.mjs +1 -1
- package/dist/admin/components/FieldTypeIcon.mjs.map +1 -1
- package/dist/admin/components/InjectionZone.js.map +1 -1
- package/dist/admin/components/InjectionZone.mjs.map +1 -1
- package/dist/admin/components/LeftMenu.js.map +1 -1
- package/dist/admin/components/LeftMenu.mjs.map +1 -1
- package/dist/admin/components/RelativeTime.js.map +1 -1
- package/dist/admin/components/RelativeTime.mjs.map +1 -1
- package/dist/admin/components/Widgets.js.map +1 -1
- package/dist/admin/components/Widgets.mjs +1 -1
- package/dist/admin/components/Widgets.mjs.map +1 -1
- package/dist/admin/constants/attributes.js.map +1 -1
- package/dist/admin/constants/attributes.mjs.map +1 -1
- package/dist/admin/constants/collections.js.map +1 -1
- package/dist/admin/constants/collections.mjs.map +1 -1
- package/dist/admin/constants/dragAndDrop.js.map +1 -1
- package/dist/admin/constants/dragAndDrop.mjs.map +1 -1
- package/dist/admin/constants/hooks.js.map +1 -1
- package/dist/admin/constants/hooks.mjs.map +1 -1
- package/dist/admin/constants/plugin.js.map +1 -1
- package/dist/admin/constants/plugin.mjs.map +1 -1
- package/dist/admin/content-manager.js.map +1 -1
- package/dist/admin/content-manager.mjs.map +1 -1
- package/dist/admin/features/DocumentRBAC.js.map +1 -1
- package/dist/admin/features/DocumentRBAC.mjs.map +1 -1
- package/dist/admin/history/components/HistoryAction.js.map +1 -1
- package/dist/admin/history/components/HistoryAction.mjs.map +1 -1
- package/dist/admin/history/components/VersionContent.js.map +1 -1
- package/dist/admin/history/components/VersionContent.mjs.map +1 -1
- package/dist/admin/history/components/VersionHeader.js.map +1 -1
- package/dist/admin/history/components/VersionHeader.mjs +1 -1
- package/dist/admin/history/components/VersionHeader.mjs.map +1 -1
- package/dist/admin/history/components/VersionInputRenderer.js.map +1 -1
- package/dist/admin/history/components/VersionInputRenderer.mjs +1 -1
- package/dist/admin/history/components/VersionInputRenderer.mjs.map +1 -1
- package/dist/admin/history/components/VersionsList.js.map +1 -1
- package/dist/admin/history/components/VersionsList.mjs.map +1 -1
- package/dist/admin/history/index.js.map +1 -1
- package/dist/admin/history/index.mjs.map +1 -1
- package/dist/admin/history/pages/History.js.map +1 -1
- package/dist/admin/history/pages/History.mjs +1 -1
- package/dist/admin/history/pages/History.mjs.map +1 -1
- package/dist/admin/history/routes.js.map +1 -1
- package/dist/admin/history/routes.mjs.map +1 -1
- package/dist/admin/history/services/historyVersion.js.map +1 -1
- package/dist/admin/history/services/historyVersion.mjs.map +1 -1
- package/dist/admin/hooks/useContentManagerInitData.js.map +1 -1
- package/dist/admin/hooks/useContentManagerInitData.mjs.map +1 -1
- package/dist/admin/hooks/useContentTypeSchema.js.map +1 -1
- package/dist/admin/hooks/useContentTypeSchema.mjs.map +1 -1
- package/dist/admin/hooks/useDebounce.js.map +1 -1
- package/dist/admin/hooks/useDebounce.mjs.map +1 -1
- package/dist/admin/hooks/useDocument.js.map +1 -1
- package/dist/admin/hooks/useDocument.mjs +1 -1
- package/dist/admin/hooks/useDocument.mjs.map +1 -1
- package/dist/admin/hooks/useDocumentActions.js.map +1 -1
- package/dist/admin/hooks/useDocumentActions.mjs.map +1 -1
- package/dist/admin/hooks/useDocumentContext.js.map +1 -1
- package/dist/admin/hooks/useDocumentContext.mjs.map +1 -1
- package/dist/admin/hooks/useDocumentLayout.js +2 -1
- package/dist/admin/hooks/useDocumentLayout.js.map +1 -1
- package/dist/admin/hooks/useDocumentLayout.mjs +2 -1
- package/dist/admin/hooks/useDocumentLayout.mjs.map +1 -1
- package/dist/admin/hooks/useDragAndDrop.js +1 -3
- package/dist/admin/hooks/useDragAndDrop.js.map +1 -1
- package/dist/admin/hooks/useDragAndDrop.mjs +1 -3
- package/dist/admin/hooks/useDragAndDrop.mjs.map +1 -1
- package/dist/admin/hooks/useKeyboardDragAndDrop.js.map +1 -1
- package/dist/admin/hooks/useKeyboardDragAndDrop.mjs.map +1 -1
- package/dist/admin/hooks/useLazyComponents.js.map +1 -1
- package/dist/admin/hooks/useLazyComponents.mjs.map +1 -1
- package/dist/admin/hooks/useOnce.js.map +1 -1
- package/dist/admin/hooks/useOnce.mjs.map +1 -1
- package/dist/admin/hooks/usePersistentQueryParams.js.map +1 -1
- package/dist/admin/hooks/usePersistentQueryParams.mjs.map +1 -1
- package/dist/admin/hooks/usePrev.js.map +1 -1
- package/dist/admin/hooks/usePrev.mjs.map +1 -1
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs.map +1 -1
- package/dist/admin/layout.js.map +1 -1
- package/dist/admin/layout.mjs.map +1 -1
- package/dist/admin/modules/app.js.map +1 -1
- package/dist/admin/modules/app.mjs.map +1 -1
- package/dist/admin/modules/hooks.js.map +1 -1
- package/dist/admin/modules/hooks.mjs +1 -1
- package/dist/admin/modules/hooks.mjs.map +1 -1
- package/dist/admin/modules/reducers.js.map +1 -1
- package/dist/admin/modules/reducers.mjs.map +1 -1
- package/dist/admin/pages/ComponentConfigurationPage.js.map +1 -1
- package/dist/admin/pages/ComponentConfigurationPage.mjs +1 -1
- package/dist/admin/pages/ComponentConfigurationPage.mjs.map +1 -1
- package/dist/admin/pages/EditConfigurationPage.js.map +1 -1
- package/dist/admin/pages/EditConfigurationPage.mjs +1 -1
- package/dist/admin/pages/EditConfigurationPage.mjs.map +1 -1
- package/dist/admin/pages/EditView/EditViewPage.js.map +1 -1
- package/dist/admin/pages/EditView/EditViewPage.mjs +4 -4
- package/dist/admin/pages/EditView/EditViewPage.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/Blocker.js.map +1 -1
- package/dist/admin/pages/EditView/components/Blocker.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/DocumentActions.js.map +1 -1
- package/dist/admin/pages/EditView/components/DocumentActions.mjs +4 -4
- package/dist/admin/pages/EditView/components/DocumentActions.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/DocumentStatus.js.map +1 -1
- package/dist/admin/pages/EditView/components/DocumentStatus.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/EditorToolbarObserver.js.map +1 -1
- package/dist/admin/pages/EditView/components/EditorToolbarObserver.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Code.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Code.mjs +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Code.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Heading.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Heading.mjs +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Heading.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Image.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Image.mjs +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Image.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Link.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Link.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/List.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/List.mjs +2 -2
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/List.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Paragraph.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Paragraph.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Quote.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Quote.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksInput.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksInput.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.mjs +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.mjs +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Modifiers.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Modifiers.mjs +2 -2
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Modifiers.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/plugins/withStrapiSchema.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/plugins/withStrapiSchema.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/constants.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/constants.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/conversions.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/conversions.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/enterKey.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/enterKey.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/types.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/types.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/Initializer.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/Initializer.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/Input.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/Input.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/ComponentContext.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/ComponentContext.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/AddComponentButton.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/AddComponentButton.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentPicker.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentPicker.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicZoneLabel.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicZoneLabel.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/NotAllowed.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/NotAllowed.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js +45 -6
- package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs +46 -9
- package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs +2 -2
- package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/UID.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/UID.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Field.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Field.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/PreviewWysiwyg.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/PreviewWysiwyg.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygFooter.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygFooter.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.mjs +2 -2
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/continueList.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/continueList.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/mdRenderer.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/mdRenderer.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.js +8 -6
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.mjs +8 -6
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormLayout.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormLayout.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/Header.js.map +1 -1
- package/dist/admin/pages/EditView/components/Header.mjs +2 -2
- package/dist/admin/pages/EditView/components/Header.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/InputRenderer.js.map +1 -1
- package/dist/admin/pages/EditView/components/InputRenderer.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/Panels.js.map +1 -1
- package/dist/admin/pages/EditView/components/Panels.mjs.map +1 -1
- package/dist/admin/pages/EditView/utils/data.js.map +1 -1
- package/dist/admin/pages/EditView/utils/data.mjs.map +1 -1
- package/dist/admin/pages/EditView/utils/forms.js.map +1 -1
- package/dist/admin/pages/EditView/utils/forms.mjs.map +1 -1
- package/dist/admin/pages/ListConfiguration/ListConfigurationPage.js.map +1 -1
- package/dist/admin/pages/ListConfiguration/ListConfigurationPage.mjs +1 -1
- package/dist/admin/pages/ListConfiguration/ListConfigurationPage.mjs.map +1 -1
- package/dist/admin/pages/ListConfiguration/components/DraggableCard.js.map +1 -1
- package/dist/admin/pages/ListConfiguration/components/DraggableCard.mjs +1 -1
- package/dist/admin/pages/ListConfiguration/components/DraggableCard.mjs.map +1 -1
- package/dist/admin/pages/ListConfiguration/components/EditFieldForm.js.map +1 -1
- package/dist/admin/pages/ListConfiguration/components/EditFieldForm.mjs +1 -1
- package/dist/admin/pages/ListConfiguration/components/EditFieldForm.mjs.map +1 -1
- package/dist/admin/pages/ListConfiguration/components/Header.js.map +1 -1
- package/dist/admin/pages/ListConfiguration/components/Header.mjs.map +1 -1
- package/dist/admin/pages/ListConfiguration/components/Settings.js.map +1 -1
- package/dist/admin/pages/ListConfiguration/components/Settings.mjs.map +1 -1
- package/dist/admin/pages/ListConfiguration/components/SortDisplayedFields.js.map +1 -1
- package/dist/admin/pages/ListConfiguration/components/SortDisplayedFields.mjs.map +1 -1
- package/dist/admin/pages/ListView/ListViewPage.js.map +1 -1
- package/dist/admin/pages/ListView/ListViewPage.mjs +3 -3
- package/dist/admin/pages/ListView/ListViewPage.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/AutoCloneFailureModal.js.map +1 -1
- package/dist/admin/pages/ListView/components/AutoCloneFailureModal.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/BulkActions/Actions.js.map +1 -1
- package/dist/admin/pages/ListView/components/BulkActions/Actions.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.js +1 -4
- package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.js.map +1 -1
- package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.mjs +2 -5
- package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/BulkActions/PublishAction.js +4 -4
- package/dist/admin/pages/ListView/components/BulkActions/PublishAction.js.map +1 -1
- package/dist/admin/pages/ListView/components/BulkActions/PublishAction.mjs +2 -2
- package/dist/admin/pages/ListView/components/BulkActions/PublishAction.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/Filters.js.map +1 -1
- package/dist/admin/pages/ListView/components/Filters.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/TableActions.js.map +1 -1
- package/dist/admin/pages/ListView/components/TableActions.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/TableCells/CellContent.js.map +1 -1
- package/dist/admin/pages/ListView/components/TableCells/CellContent.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/TableCells/CellValue.js +7 -1
- package/dist/admin/pages/ListView/components/TableCells/CellValue.js.map +1 -1
- package/dist/admin/pages/ListView/components/TableCells/CellValue.mjs +7 -1
- package/dist/admin/pages/ListView/components/TableCells/CellValue.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/TableCells/Components.js.map +1 -1
- package/dist/admin/pages/ListView/components/TableCells/Components.mjs +2 -2
- package/dist/admin/pages/ListView/components/TableCells/Components.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/TableCells/Media.js.map +1 -1
- package/dist/admin/pages/ListView/components/TableCells/Media.mjs +1 -1
- package/dist/admin/pages/ListView/components/TableCells/Media.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/TableCells/Relations.js.map +1 -1
- package/dist/admin/pages/ListView/components/TableCells/Relations.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/ViewSettingsMenu.js.map +1 -1
- package/dist/admin/pages/ListView/components/ViewSettingsMenu.mjs.map +1 -1
- package/dist/admin/pages/NoContentTypePage.js.map +1 -1
- package/dist/admin/pages/NoContentTypePage.mjs.map +1 -1
- package/dist/admin/pages/NoPermissionsPage.js.map +1 -1
- package/dist/admin/pages/NoPermissionsPage.mjs.map +1 -1
- package/dist/admin/preview/components/InputPopover.js.map +1 -1
- package/dist/admin/preview/components/InputPopover.mjs.map +1 -1
- package/dist/admin/preview/components/PreviewHeader.js.map +1 -1
- package/dist/admin/preview/components/PreviewHeader.mjs.map +1 -1
- package/dist/admin/preview/components/PreviewSidePanel.js.map +1 -1
- package/dist/admin/preview/components/PreviewSidePanel.mjs.map +1 -1
- package/dist/admin/preview/hooks/usePreviewInputManager.js.map +1 -1
- package/dist/admin/preview/hooks/usePreviewInputManager.mjs.map +1 -1
- package/dist/admin/preview/index.js.map +1 -1
- package/dist/admin/preview/index.mjs.map +1 -1
- package/dist/admin/preview/pages/Preview.js.map +1 -1
- package/dist/admin/preview/pages/Preview.mjs.map +1 -1
- package/dist/admin/preview/routes.js.map +1 -1
- package/dist/admin/preview/routes.mjs.map +1 -1
- package/dist/admin/preview/services/preview.js.map +1 -1
- package/dist/admin/preview/services/preview.mjs.map +1 -1
- package/dist/admin/preview/utils/constants.js +0 -1
- package/dist/admin/preview/utils/constants.js.map +1 -1
- package/dist/admin/preview/utils/constants.mjs +0 -1
- package/dist/admin/preview/utils/constants.mjs.map +1 -1
- package/dist/admin/preview/utils/fieldUtils.js.map +1 -1
- package/dist/admin/preview/utils/fieldUtils.mjs.map +1 -1
- package/dist/admin/preview/utils/getSendMessage.js.map +1 -1
- package/dist/admin/preview/utils/getSendMessage.mjs.map +1 -1
- package/dist/admin/preview/utils/previewScript.js.map +1 -1
- package/dist/admin/preview/utils/previewScript.mjs.map +1 -1
- package/dist/admin/router.js.map +1 -1
- package/dist/admin/router.mjs.map +1 -1
- package/dist/admin/services/api.js.map +1 -1
- package/dist/admin/services/api.mjs.map +1 -1
- package/dist/admin/services/components.js.map +1 -1
- package/dist/admin/services/components.mjs.map +1 -1
- package/dist/admin/services/contentTypes.js.map +1 -1
- package/dist/admin/services/contentTypes.mjs.map +1 -1
- package/dist/admin/services/documents.js.map +1 -1
- package/dist/admin/services/documents.mjs.map +1 -1
- package/dist/admin/services/homepage.js.map +1 -1
- package/dist/admin/services/homepage.mjs.map +1 -1
- package/dist/admin/services/init.js.map +1 -1
- package/dist/admin/services/init.mjs.map +1 -1
- package/dist/admin/services/relations.js.map +1 -1
- package/dist/admin/services/relations.mjs.map +1 -1
- package/dist/admin/services/uid.js.map +1 -1
- package/dist/admin/services/uid.mjs.map +1 -1
- package/dist/admin/src/hooks/useDocumentLayout.d.ts +1 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/Relations/RelationModal.d.ts +7 -2
- package/dist/admin/src/pages/EditView/components/FormLayout.d.ts +1 -1
- package/dist/admin/translations/en.json.js +5 -0
- package/dist/admin/translations/en.json.js.map +1 -1
- package/dist/admin/translations/en.json.mjs +5 -0
- package/dist/admin/translations/en.json.mjs.map +1 -1
- package/dist/admin/translations/fr.json.js +72 -1
- package/dist/admin/translations/fr.json.js.map +1 -1
- package/dist/admin/translations/fr.json.mjs +72 -1
- package/dist/admin/translations/fr.json.mjs.map +1 -1
- package/dist/admin/utils/api.js.map +1 -1
- package/dist/admin/utils/api.mjs.map +1 -1
- package/dist/admin/utils/attributes.js.map +1 -1
- package/dist/admin/utils/attributes.mjs.map +1 -1
- package/dist/admin/utils/objects.js.map +1 -1
- package/dist/admin/utils/objects.mjs.map +1 -1
- package/dist/admin/utils/relations.js.map +1 -1
- package/dist/admin/utils/relations.mjs.map +1 -1
- package/dist/admin/utils/strings.js.map +1 -1
- package/dist/admin/utils/strings.mjs.map +1 -1
- package/dist/admin/utils/translations.js.map +1 -1
- package/dist/admin/utils/translations.mjs.map +1 -1
- package/dist/admin/utils/urls.js.map +1 -1
- package/dist/admin/utils/urls.mjs.map +1 -1
- package/dist/admin/utils/users.js.map +1 -1
- package/dist/admin/utils/users.mjs.map +1 -1
- package/dist/admin/utils/validation.js.map +1 -1
- package/dist/admin/utils/validation.mjs.map +1 -1
- package/dist/server/bootstrap.js.map +1 -1
- package/dist/server/bootstrap.mjs.map +1 -1
- package/dist/server/constants/index.js.map +1 -1
- package/dist/server/constants/index.mjs.map +1 -1
- package/dist/server/controllers/collection-types.js.map +1 -1
- package/dist/server/controllers/collection-types.mjs +1 -1
- package/dist/server/controllers/collection-types.mjs.map +1 -1
- package/dist/server/controllers/components.js.map +1 -1
- package/dist/server/controllers/components.mjs.map +1 -1
- package/dist/server/controllers/content-types.js +10 -10
- package/dist/server/controllers/content-types.js.map +1 -1
- package/dist/server/controllers/content-types.mjs.map +1 -1
- package/dist/server/controllers/index.js +4 -4
- package/dist/server/controllers/index.js.map +1 -1
- package/dist/server/controllers/index.mjs.map +1 -1
- package/dist/server/controllers/init.js.map +1 -1
- package/dist/server/controllers/init.mjs.map +1 -1
- package/dist/server/controllers/relations.js.map +1 -1
- package/dist/server/controllers/relations.mjs +3 -3
- package/dist/server/controllers/relations.mjs.map +1 -1
- package/dist/server/controllers/single-types.js.map +1 -1
- package/dist/server/controllers/single-types.mjs +1 -1
- package/dist/server/controllers/single-types.mjs.map +1 -1
- package/dist/server/controllers/uid.js.map +1 -1
- package/dist/server/controllers/uid.mjs +1 -1
- package/dist/server/controllers/uid.mjs.map +1 -1
- package/dist/server/controllers/utils/clone.js.map +1 -1
- package/dist/server/controllers/utils/clone.mjs.map +1 -1
- package/dist/server/controllers/utils/document-status.js.map +1 -1
- package/dist/server/controllers/utils/document-status.mjs.map +1 -1
- package/dist/server/controllers/utils/metadata.js.map +1 -1
- package/dist/server/controllers/utils/metadata.mjs.map +1 -1
- package/dist/server/controllers/validation/dimensions.js.map +1 -1
- package/dist/server/controllers/validation/dimensions.mjs.map +1 -1
- package/dist/server/controllers/validation/index.js.map +1 -1
- package/dist/server/controllers/validation/index.mjs +1 -1
- package/dist/server/controllers/validation/index.mjs.map +1 -1
- package/dist/server/controllers/validation/model-configuration.js +6 -1
- package/dist/server/controllers/validation/model-configuration.js.map +1 -1
- package/dist/server/controllers/validation/model-configuration.mjs +6 -1
- package/dist/server/controllers/validation/model-configuration.mjs.map +1 -1
- package/dist/server/controllers/validation/relations.js.map +1 -1
- package/dist/server/controllers/validation/relations.mjs.map +1 -1
- package/dist/server/destroy.js.map +1 -1
- package/dist/server/destroy.mjs.map +1 -1
- package/dist/server/history/constants.js.map +1 -1
- package/dist/server/history/constants.mjs.map +1 -1
- package/dist/server/history/controllers/history-version.js.map +1 -1
- package/dist/server/history/controllers/history-version.mjs.map +1 -1
- package/dist/server/history/controllers/index.js.map +1 -1
- package/dist/server/history/controllers/index.mjs.map +1 -1
- package/dist/server/history/controllers/validation/history-version.js.map +1 -1
- package/dist/server/history/controllers/validation/history-version.mjs.map +1 -1
- package/dist/server/history/index.js +4 -4
- package/dist/server/history/index.js.map +1 -1
- package/dist/server/history/index.mjs.map +1 -1
- package/dist/server/history/models/history-version.js.map +1 -1
- package/dist/server/history/models/history-version.mjs.map +1 -1
- package/dist/server/history/routes/history-version.js.map +1 -1
- package/dist/server/history/routes/history-version.mjs.map +1 -1
- package/dist/server/history/routes/index.js.map +1 -1
- package/dist/server/history/routes/index.mjs.map +1 -1
- package/dist/server/history/services/history.js.map +1 -1
- package/dist/server/history/services/history.mjs.map +1 -1
- package/dist/server/history/services/index.js.map +1 -1
- package/dist/server/history/services/index.mjs.map +1 -1
- package/dist/server/history/services/lifecycles.js.map +1 -1
- package/dist/server/history/services/lifecycles.mjs.map +1 -1
- package/dist/server/history/services/utils.js.map +1 -1
- package/dist/server/history/services/utils.mjs.map +1 -1
- package/dist/server/history/utils.js.map +1 -1
- package/dist/server/history/utils.mjs.map +1 -1
- package/dist/server/homepage/controllers/homepage.js.map +1 -1
- package/dist/server/homepage/controllers/homepage.mjs.map +1 -1
- package/dist/server/homepage/controllers/index.js.map +1 -1
- package/dist/server/homepage/controllers/index.mjs.map +1 -1
- package/dist/server/homepage/index.js +6 -6
- package/dist/server/homepage/index.js.map +1 -1
- package/dist/server/homepage/index.mjs.map +1 -1
- package/dist/server/homepage/routes/homepage.js.map +1 -1
- package/dist/server/homepage/routes/homepage.mjs.map +1 -1
- package/dist/server/homepage/routes/index.js.map +1 -1
- package/dist/server/homepage/routes/index.mjs.map +1 -1
- package/dist/server/homepage/services/homepage.js.map +1 -1
- package/dist/server/homepage/services/homepage.mjs.map +1 -1
- package/dist/server/homepage/services/index.js.map +1 -1
- package/dist/server/homepage/services/index.mjs.map +1 -1
- package/dist/server/index.js +8 -8
- package/dist/server/middlewares/routing.js.map +1 -1
- package/dist/server/middlewares/routing.mjs.map +1 -1
- package/dist/server/policies/hasPermissions.js.map +1 -1
- package/dist/server/policies/hasPermissions.mjs.map +1 -1
- package/dist/server/policies/index.js.map +1 -1
- package/dist/server/policies/index.mjs.map +1 -1
- package/dist/server/preview/controllers/index.js.map +1 -1
- package/dist/server/preview/controllers/index.mjs.map +1 -1
- package/dist/server/preview/controllers/preview.js.map +1 -1
- package/dist/server/preview/controllers/preview.mjs.map +1 -1
- package/dist/server/preview/controllers/validation/preview.js.map +1 -1
- package/dist/server/preview/controllers/validation/preview.mjs.map +1 -1
- package/dist/server/preview/index.js +4 -4
- package/dist/server/preview/index.js.map +1 -1
- package/dist/server/preview/index.mjs.map +1 -1
- package/dist/server/preview/routes/index.js.map +1 -1
- package/dist/server/preview/routes/index.mjs.map +1 -1
- package/dist/server/preview/routes/preview.js.map +1 -1
- package/dist/server/preview/routes/preview.mjs.map +1 -1
- package/dist/server/preview/services/index.js.map +1 -1
- package/dist/server/preview/services/index.mjs.map +1 -1
- package/dist/server/preview/services/preview-config.js.map +1 -1
- package/dist/server/preview/services/preview-config.mjs +1 -1
- package/dist/server/preview/services/preview-config.mjs.map +1 -1
- package/dist/server/preview/services/preview.js.map +1 -1
- package/dist/server/preview/services/preview.mjs.map +1 -1
- package/dist/server/preview/utils.js.map +1 -1
- package/dist/server/preview/utils.mjs.map +1 -1
- package/dist/server/register.js.map +1 -1
- package/dist/server/register.mjs.map +1 -1
- package/dist/server/routes/admin.js.map +1 -1
- package/dist/server/routes/admin.mjs.map +1 -1
- package/dist/server/routes/index.js +4 -4
- package/dist/server/routes/index.js.map +1 -1
- package/dist/server/routes/index.mjs.map +1 -1
- package/dist/server/services/components.js.map +1 -1
- package/dist/server/services/components.mjs.map +1 -1
- package/dist/server/services/configuration.js.map +1 -1
- package/dist/server/services/configuration.mjs.map +1 -1
- package/dist/server/services/content-types.js.map +1 -1
- package/dist/server/services/content-types.mjs.map +1 -1
- package/dist/server/services/data-mapper.js.map +1 -1
- package/dist/server/services/data-mapper.mjs.map +1 -1
- package/dist/server/services/document-manager.js.map +1 -1
- package/dist/server/services/document-manager.mjs +2 -2
- package/dist/server/services/document-manager.mjs.map +1 -1
- package/dist/server/services/document-metadata.js.map +1 -1
- package/dist/server/services/document-metadata.mjs +2 -2
- package/dist/server/services/document-metadata.mjs.map +1 -1
- package/dist/server/services/field-sizes.js.map +1 -1
- package/dist/server/services/field-sizes.mjs.map +1 -1
- package/dist/server/services/index.js +4 -4
- package/dist/server/services/index.js.map +1 -1
- package/dist/server/services/index.mjs.map +1 -1
- package/dist/server/services/metrics.js.map +1 -1
- package/dist/server/services/metrics.mjs.map +1 -1
- package/dist/server/services/permission-checker.js.map +1 -1
- package/dist/server/services/permission-checker.mjs.map +1 -1
- package/dist/server/services/permission.js.map +1 -1
- package/dist/server/services/permission.mjs.map +1 -1
- package/dist/server/services/populate-builder.js.map +1 -1
- package/dist/server/services/populate-builder.mjs +4 -4
- package/dist/server/services/populate-builder.mjs.map +1 -1
- package/dist/server/services/uid.js.map +1 -1
- package/dist/server/services/uid.mjs.map +1 -1
- package/dist/server/services/utils/configuration/attributes.js.map +1 -1
- package/dist/server/services/utils/configuration/attributes.mjs.map +1 -1
- package/dist/server/services/utils/configuration/index.js.map +1 -1
- package/dist/server/services/utils/configuration/index.mjs +3 -3
- package/dist/server/services/utils/configuration/index.mjs.map +1 -1
- package/dist/server/services/utils/configuration/layouts.js.map +1 -1
- package/dist/server/services/utils/configuration/layouts.mjs +1 -1
- package/dist/server/services/utils/configuration/layouts.mjs.map +1 -1
- package/dist/server/services/utils/configuration/metadatas.js.map +1 -1
- package/dist/server/services/utils/configuration/metadatas.mjs +1 -1
- package/dist/server/services/utils/configuration/metadatas.mjs.map +1 -1
- package/dist/server/services/utils/configuration/settings.js +4 -2
- package/dist/server/services/utils/configuration/settings.js.map +1 -1
- package/dist/server/services/utils/configuration/settings.mjs +5 -3
- package/dist/server/services/utils/configuration/settings.mjs.map +1 -1
- package/dist/server/services/utils/draft.js.map +1 -1
- package/dist/server/services/utils/draft.mjs.map +1 -1
- package/dist/server/services/utils/populate.js.map +1 -1
- package/dist/server/services/utils/populate.mjs +1 -1
- package/dist/server/services/utils/populate.mjs.map +1 -1
- package/dist/server/services/utils/store.js.map +1 -1
- package/dist/server/services/utils/store.mjs.map +1 -1
- package/dist/server/src/services/utils/configuration/settings.d.ts.map +1 -1
- package/dist/server/utils/index.js.map +1 -1
- package/dist/server/utils/index.mjs.map +1 -1
- package/dist/server/validation/policies/hasPermissions.js.map +1 -1
- package/dist/server/validation/policies/hasPermissions.mjs.map +1 -1
- package/dist/shared/contracts/content-types.d.ts +2 -0
- package/dist/shared/contracts/content-types.d.ts.map +1 -1
- package/dist/shared/contracts/relations.d.ts +1 -1
- package/dist/shared/contracts/relations.d.ts.map +1 -1
- package/package.json +7 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionsDrawer.js","sources":["../../../admin/src/components/ActionsDrawer.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { WIDTH_SIDE_NAVIGATION, createContext } from '@strapi/admin/strapi-admin';\nimport { Portal, Flex, Box, ScrollArea, IconButton } from '@strapi/design-system';\nimport { CaretDown, CaretUp } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\n/**\n * ActionsDrawer is a component used in the content manager edit view page and content history page.\n * It's a sticky banner that can expand to reveal more actions. It's used only in mobile and tablet.\n *\n * A similar component is currently in development in the design-system but it's not ready yet.\n * Using the Panels for the edit view page brought some complexity and for the moment, we decided to go with this custom implementation.\n *\n * @TODO: Replace this component with the one in the design-system when it's ready.\n */\n\n/* -------------------------------------------------------------------------------------------------\n * ActionsDrawer Context\n * -----------------------------------------------------------------------------------------------*/\n\ninterface ActionsDrawerContextValue {\n isOpen: boolean;\n setIsOpen: React.Dispatch<React.SetStateAction<boolean>>;\n hasContent: boolean;\n hasSideNav: boolean;\n}\n\nconst [ActionsDrawerProvider, useActionsDrawer] = createContext<ActionsDrawerContextValue | null>(\n 'ActionsDrawer',\n null\n);\n\n/* -------------------------------------------------------------------------------------------------\n * Styled Components\n * -----------------------------------------------------------------------------------------------*/\n\nconst DrawerContainer = styled(Portal)<{ $hasSideNav: boolean; $isOpen: boolean }>`\n position: fixed;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: ${({ $isOpen }) => ($isOpen ? 4 : 2)};\n display: flex;\n flex-direction: column;\n align-items: stretch;\n justify-content: flex-end;\n\n ${({ theme }) => theme.breakpoints.medium} {\n z-index: 2;\n left: ${({ $hasSideNav }) => ($hasSideNav ? WIDTH_SIDE_NAVIGATION : 0)};\n }\n`;\n\nconst DrawerOverlay = styled(Box)<{ $isOpen: boolean; $hasSideNav: boolean }>`\n position: fixed;\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n background-color: rgba(0, 0, 0, 0.5);\n transition: opacity ${(props) => props.theme.motion.timings['200']}\n ${(props) => props.theme.motion.easings.easeInOutQuad};\n opacity: ${({ $isOpen }) => ($isOpen ? 1 : 0)};\n pointer-events: ${({ $isOpen }) => ($isOpen ? 'auto' : 'none')};\n\n ${({ theme }) => theme.breakpoints.medium} {\n left: ${({ $hasSideNav }) => ($hasSideNav ? WIDTH_SIDE_NAVIGATION : 0)};\n }\n`;\n\nconst ToggleButton = styled(IconButton)`\n padding: 0;\n border: none;\n background: ${({ theme }) => theme.colors.neutral200};\n width: 3.2rem;\n height: 3.2rem;\n border-radius: 1.6rem;\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nconst DrawerContent = styled(Flex)`\n flex-direction: column;\n align-items: stretch;\n position: relative;\n z-index: 1;\n pointer-events: auto;\n`;\n\nconst DrawerContentInner = styled(ScrollArea)<{ $isOpen: boolean }>`\n max-height: ${({ $isOpen }) =>\n $isOpen\n ? 'calc(100vh - 25rem)' // 25rem is arbitrary, to be able to see a bit of the content behind (navigation and header)\n : '0'};\n overflow: hidden;\n transition: max-height ${(props) => props.theme.motion.timings['200']}\n ${(props) => props.theme.motion.easings.easeInOutQuad};\n z-index: 1;\n pointer-events: auto;\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * Root\n * -----------------------------------------------------------------------------------------------*/\n\ninterface RootProps {\n children: React.ReactNode;\n hasContent?: boolean;\n hasSideNav?: boolean;\n}\n\nconst Root = ({ children, hasContent = false, hasSideNav = false }: RootProps) => {\n const [isOpen, setIsOpen] = React.useState(false);\n\n // Close drawer when there's no content\n React.useEffect(() => {\n if (!hasContent) {\n setIsOpen(false);\n }\n }, [hasContent]);\n\n return (\n <ActionsDrawerProvider\n isOpen={isOpen}\n setIsOpen={setIsOpen}\n hasContent={hasContent}\n hasSideNav={hasSideNav}\n >\n <DrawerContainer $hasSideNav={hasSideNav} $isOpen={isOpen}>\n {children}\n </DrawerContainer>\n </ActionsDrawerProvider>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Overlay\n * -----------------------------------------------------------------------------------------------*/\n\nconst Overlay = () => {\n const ctx = useActionsDrawer('ActionsDrawer.Overlay', (s) => s, false);\n const isOpen = ctx?.isOpen ?? false;\n const hasContent = ctx?.hasContent ?? false;\n const hasSideNav = ctx?.hasSideNav ?? false;\n const setIsOpen = ctx?.setIsOpen;\n\n if (!hasContent) {\n return null;\n }\n\n return (\n <DrawerOverlay\n $isOpen={isOpen}\n $hasSideNav={hasSideNav}\n onClick={() => setIsOpen?.(false)}\n data-testid=\"actions-drawer-overlay\"\n />\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Header\n * -----------------------------------------------------------------------------------------------*/\n\ninterface HeaderProps {\n children: React.ReactNode;\n}\n\nconst Header = ({ children }: HeaderProps) => {\n const ctx = useActionsDrawer('ActionsDrawer.Header', (s) => s, false);\n const isOpen = ctx?.isOpen ?? false;\n const hasContent = ctx?.hasContent ?? false;\n const setIsOpen = ctx?.setIsOpen;\n const { formatMessage } = useIntl();\n\n const toggleOpen = () => {\n setIsOpen?.((prev: boolean) => !prev);\n };\n\n return (\n <DrawerContent background=\"neutral0\">\n <Flex\n paddingTop={3}\n paddingBottom={3}\n paddingLeft={4}\n paddingRight={4}\n gap={3}\n borderStyle=\"solid\"\n borderWidth={isOpen ? '1px 0' : '1px 0 0 0'}\n borderColor=\"neutral150\"\n >\n <Flex flex={1} gap={2} alignItems=\"center\" overflow=\"hidden\">\n {children}\n </Flex>\n {hasContent && (\n <ToggleButton\n onClick={toggleOpen}\n label={\n isOpen\n ? formatMessage({\n id: 'content-manager.actions-drawer.close',\n defaultMessage: 'Close more actions',\n })\n : formatMessage({\n id: 'content-manager.actions-drawer.open',\n defaultMessage: 'Open more actions',\n })\n }\n >\n {isOpen ? <CaretUp fill=\"neutral600\" /> : <CaretDown fill=\"neutral600\" />}\n </ToggleButton>\n )}\n </Flex>\n </DrawerContent>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Content\n * -----------------------------------------------------------------------------------------------*/\n\ninterface ContentProps {\n children: React.ReactNode;\n}\n\nconst Content = ({ children }: ContentProps) => {\n const ctx = useActionsDrawer('ActionsDrawer.Content', (s) => s, false);\n const isOpen = ctx?.isOpen ?? false;\n\n return (\n <DrawerContentInner $isOpen={isOpen}>\n <Flex\n direction=\"column\"\n alignItems=\"stretch\"\n justifyContent=\"flex-start\"\n padding={{ initial: 4, large: 0 }}\n background=\"neutral0\"\n >\n {children}\n </Flex>\n </DrawerContentInner>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ActionsDrawer\n * -----------------------------------------------------------------------------------------------*/\n\nconst ActionsDrawer = {\n Root,\n Overlay,\n Header,\n Content,\n};\n\nexport { ActionsDrawer, useActionsDrawer };\n"],"names":["ActionsDrawerProvider","useActionsDrawer","createContext","DrawerContainer","styled","Portal","$isOpen","theme","breakpoints","medium","$hasSideNav","WIDTH_SIDE_NAVIGATION","DrawerOverlay","Box","props","motion","timings","easings","easeInOutQuad","ToggleButton","IconButton","colors","neutral200","DrawerContent","Flex","DrawerContentInner","ScrollArea","Root","children","hasContent","hasSideNav","isOpen","setIsOpen","React","useState","useEffect","_jsx","Overlay","ctx","s","onClick","data-testid","Header","formatMessage","useIntl","toggleOpen","prev","background","_jsxs","paddingTop","paddingBottom","paddingLeft","paddingRight","gap","borderStyle","borderWidth","borderColor","flex","alignItems","overflow","label","id","defaultMessage","CaretUp","fill","CaretDown","Content","direction","justifyContent","padding","initial","large","ActionsDrawer"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ActionsDrawer.js","sources":["../../../admin/src/components/ActionsDrawer.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { WIDTH_SIDE_NAVIGATION, createContext } from '@strapi/admin/strapi-admin';\nimport { Portal, Flex, Box, ScrollArea, IconButton } from '@strapi/design-system';\nimport { CaretDown, CaretUp } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\n/**\n * ActionsDrawer is a component used in the content manager edit view page and content history page.\n * It's a sticky banner that can expand to reveal more actions. It's used only in mobile and tablet.\n *\n * A similar component is currently in development in the design-system but it's not ready yet.\n * Using the Panels for the edit view page brought some complexity and for the moment, we decided to go with this custom implementation.\n *\n * @TODO: Replace this component with the one in the design-system when it's ready.\n */\n\n/* -------------------------------------------------------------------------------------------------\n * ActionsDrawer Context\n * -----------------------------------------------------------------------------------------------*/\n\ninterface ActionsDrawerContextValue {\n isOpen: boolean;\n setIsOpen: React.Dispatch<React.SetStateAction<boolean>>;\n hasContent: boolean;\n hasSideNav: boolean;\n}\n\nconst [ActionsDrawerProvider, useActionsDrawer] = createContext<ActionsDrawerContextValue | null>(\n 'ActionsDrawer',\n null\n);\n\n/* -------------------------------------------------------------------------------------------------\n * Styled Components\n * -----------------------------------------------------------------------------------------------*/\n\nconst DrawerContainer = styled(Portal)<{ $hasSideNav: boolean; $isOpen: boolean }>`\n position: fixed;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: ${({ $isOpen }) => ($isOpen ? 4 : 2)};\n display: flex;\n flex-direction: column;\n align-items: stretch;\n justify-content: flex-end;\n\n ${({ theme }) => theme.breakpoints.medium} {\n z-index: 2;\n left: ${({ $hasSideNav }) => ($hasSideNav ? WIDTH_SIDE_NAVIGATION : 0)};\n }\n`;\n\nconst DrawerOverlay = styled(Box)<{ $isOpen: boolean; $hasSideNav: boolean }>`\n position: fixed;\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n background-color: rgba(0, 0, 0, 0.5);\n transition: opacity ${(props) => props.theme.motion.timings['200']}\n ${(props) => props.theme.motion.easings.easeInOutQuad};\n opacity: ${({ $isOpen }) => ($isOpen ? 1 : 0)};\n pointer-events: ${({ $isOpen }) => ($isOpen ? 'auto' : 'none')};\n\n ${({ theme }) => theme.breakpoints.medium} {\n left: ${({ $hasSideNav }) => ($hasSideNav ? WIDTH_SIDE_NAVIGATION : 0)};\n }\n`;\n\nconst ToggleButton = styled(IconButton)`\n padding: 0;\n border: none;\n background: ${({ theme }) => theme.colors.neutral200};\n width: 3.2rem;\n height: 3.2rem;\n border-radius: 1.6rem;\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nconst DrawerContent = styled(Flex)`\n flex-direction: column;\n align-items: stretch;\n position: relative;\n z-index: 1;\n pointer-events: auto;\n`;\n\nconst DrawerContentInner = styled(ScrollArea)<{ $isOpen: boolean }>`\n max-height: ${({ $isOpen }) =>\n $isOpen\n ? 'calc(100vh - 25rem)' // 25rem is arbitrary, to be able to see a bit of the content behind (navigation and header)\n : '0'};\n overflow: hidden;\n transition: max-height ${(props) => props.theme.motion.timings['200']}\n ${(props) => props.theme.motion.easings.easeInOutQuad};\n z-index: 1;\n pointer-events: auto;\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * Root\n * -----------------------------------------------------------------------------------------------*/\n\ninterface RootProps {\n children: React.ReactNode;\n hasContent?: boolean;\n hasSideNav?: boolean;\n}\n\nconst Root = ({ children, hasContent = false, hasSideNav = false }: RootProps) => {\n const [isOpen, setIsOpen] = React.useState(false);\n\n // Close drawer when there's no content\n React.useEffect(() => {\n if (!hasContent) {\n setIsOpen(false);\n }\n }, [hasContent]);\n\n return (\n <ActionsDrawerProvider\n isOpen={isOpen}\n setIsOpen={setIsOpen}\n hasContent={hasContent}\n hasSideNav={hasSideNav}\n >\n <DrawerContainer $hasSideNav={hasSideNav} $isOpen={isOpen}>\n {children}\n </DrawerContainer>\n </ActionsDrawerProvider>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Overlay\n * -----------------------------------------------------------------------------------------------*/\n\nconst Overlay = () => {\n const ctx = useActionsDrawer('ActionsDrawer.Overlay', (s) => s, false);\n const isOpen = ctx?.isOpen ?? false;\n const hasContent = ctx?.hasContent ?? false;\n const hasSideNav = ctx?.hasSideNav ?? false;\n const setIsOpen = ctx?.setIsOpen;\n\n if (!hasContent) {\n return null;\n }\n\n return (\n <DrawerOverlay\n $isOpen={isOpen}\n $hasSideNav={hasSideNav}\n onClick={() => setIsOpen?.(false)}\n data-testid=\"actions-drawer-overlay\"\n />\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Header\n * -----------------------------------------------------------------------------------------------*/\n\ninterface HeaderProps {\n children: React.ReactNode;\n}\n\nconst Header = ({ children }: HeaderProps) => {\n const ctx = useActionsDrawer('ActionsDrawer.Header', (s) => s, false);\n const isOpen = ctx?.isOpen ?? false;\n const hasContent = ctx?.hasContent ?? false;\n const setIsOpen = ctx?.setIsOpen;\n const { formatMessage } = useIntl();\n\n const toggleOpen = () => {\n setIsOpen?.((prev: boolean) => !prev);\n };\n\n return (\n <DrawerContent background=\"neutral0\">\n <Flex\n paddingTop={3}\n paddingBottom={3}\n paddingLeft={4}\n paddingRight={4}\n gap={3}\n borderStyle=\"solid\"\n borderWidth={isOpen ? '1px 0' : '1px 0 0 0'}\n borderColor=\"neutral150\"\n >\n <Flex flex={1} gap={2} alignItems=\"center\" overflow=\"hidden\">\n {children}\n </Flex>\n {hasContent && (\n <ToggleButton\n onClick={toggleOpen}\n label={\n isOpen\n ? formatMessage({\n id: 'content-manager.actions-drawer.close',\n defaultMessage: 'Close more actions',\n })\n : formatMessage({\n id: 'content-manager.actions-drawer.open',\n defaultMessage: 'Open more actions',\n })\n }\n >\n {isOpen ? <CaretUp fill=\"neutral600\" /> : <CaretDown fill=\"neutral600\" />}\n </ToggleButton>\n )}\n </Flex>\n </DrawerContent>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Content\n * -----------------------------------------------------------------------------------------------*/\n\ninterface ContentProps {\n children: React.ReactNode;\n}\n\nconst Content = ({ children }: ContentProps) => {\n const ctx = useActionsDrawer('ActionsDrawer.Content', (s) => s, false);\n const isOpen = ctx?.isOpen ?? false;\n\n return (\n <DrawerContentInner $isOpen={isOpen}>\n <Flex\n direction=\"column\"\n alignItems=\"stretch\"\n justifyContent=\"flex-start\"\n padding={{ initial: 4, large: 0 }}\n background=\"neutral0\"\n >\n {children}\n </Flex>\n </DrawerContentInner>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ActionsDrawer\n * -----------------------------------------------------------------------------------------------*/\n\nconst ActionsDrawer = {\n Root,\n Overlay,\n Header,\n Content,\n};\n\nexport { ActionsDrawer, useActionsDrawer };\n"],"names":["ActionsDrawerProvider","useActionsDrawer","createContext","DrawerContainer","styled","Portal","$isOpen","theme","breakpoints","medium","$hasSideNav","WIDTH_SIDE_NAVIGATION","DrawerOverlay","Box","props","motion","timings","easings","easeInOutQuad","ToggleButton","IconButton","colors","neutral200","DrawerContent","Flex","DrawerContentInner","ScrollArea","Root","children","hasContent","hasSideNav","isOpen","setIsOpen","React","useState","useEffect","_jsx","Overlay","ctx","s","onClick","data-testid","Header","formatMessage","useIntl","toggleOpen","prev","background","_jsxs","paddingTop","paddingBottom","paddingLeft","paddingRight","gap","borderStyle","borderWidth","borderColor","flex","alignItems","overflow","label","id","defaultMessage","CaretUp","fill","CaretDown","Content","direction","justifyContent","padding","initial","large","ActionsDrawer"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionsDrawer.mjs","sources":["../../../admin/src/components/ActionsDrawer.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { WIDTH_SIDE_NAVIGATION, createContext } from '@strapi/admin/strapi-admin';\nimport { Portal, Flex, Box, ScrollArea, IconButton } from '@strapi/design-system';\nimport { CaretDown, CaretUp } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\n/**\n * ActionsDrawer is a component used in the content manager edit view page and content history page.\n * It's a sticky banner that can expand to reveal more actions. It's used only in mobile and tablet.\n *\n * A similar component is currently in development in the design-system but it's not ready yet.\n * Using the Panels for the edit view page brought some complexity and for the moment, we decided to go with this custom implementation.\n *\n * @TODO: Replace this component with the one in the design-system when it's ready.\n */\n\n/* -------------------------------------------------------------------------------------------------\n * ActionsDrawer Context\n * -----------------------------------------------------------------------------------------------*/\n\ninterface ActionsDrawerContextValue {\n isOpen: boolean;\n setIsOpen: React.Dispatch<React.SetStateAction<boolean>>;\n hasContent: boolean;\n hasSideNav: boolean;\n}\n\nconst [ActionsDrawerProvider, useActionsDrawer] = createContext<ActionsDrawerContextValue | null>(\n 'ActionsDrawer',\n null\n);\n\n/* -------------------------------------------------------------------------------------------------\n * Styled Components\n * -----------------------------------------------------------------------------------------------*/\n\nconst DrawerContainer = styled(Portal)<{ $hasSideNav: boolean; $isOpen: boolean }>`\n position: fixed;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: ${({ $isOpen }) => ($isOpen ? 4 : 2)};\n display: flex;\n flex-direction: column;\n align-items: stretch;\n justify-content: flex-end;\n\n ${({ theme }) => theme.breakpoints.medium} {\n z-index: 2;\n left: ${({ $hasSideNav }) => ($hasSideNav ? WIDTH_SIDE_NAVIGATION : 0)};\n }\n`;\n\nconst DrawerOverlay = styled(Box)<{ $isOpen: boolean; $hasSideNav: boolean }>`\n position: fixed;\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n background-color: rgba(0, 0, 0, 0.5);\n transition: opacity ${(props) => props.theme.motion.timings['200']}\n ${(props) => props.theme.motion.easings.easeInOutQuad};\n opacity: ${({ $isOpen }) => ($isOpen ? 1 : 0)};\n pointer-events: ${({ $isOpen }) => ($isOpen ? 'auto' : 'none')};\n\n ${({ theme }) => theme.breakpoints.medium} {\n left: ${({ $hasSideNav }) => ($hasSideNav ? WIDTH_SIDE_NAVIGATION : 0)};\n }\n`;\n\nconst ToggleButton = styled(IconButton)`\n padding: 0;\n border: none;\n background: ${({ theme }) => theme.colors.neutral200};\n width: 3.2rem;\n height: 3.2rem;\n border-radius: 1.6rem;\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nconst DrawerContent = styled(Flex)`\n flex-direction: column;\n align-items: stretch;\n position: relative;\n z-index: 1;\n pointer-events: auto;\n`;\n\nconst DrawerContentInner = styled(ScrollArea)<{ $isOpen: boolean }>`\n max-height: ${({ $isOpen }) =>\n $isOpen\n ? 'calc(100vh - 25rem)' // 25rem is arbitrary, to be able to see a bit of the content behind (navigation and header)\n : '0'};\n overflow: hidden;\n transition: max-height ${(props) => props.theme.motion.timings['200']}\n ${(props) => props.theme.motion.easings.easeInOutQuad};\n z-index: 1;\n pointer-events: auto;\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * Root\n * -----------------------------------------------------------------------------------------------*/\n\ninterface RootProps {\n children: React.ReactNode;\n hasContent?: boolean;\n hasSideNav?: boolean;\n}\n\nconst Root = ({ children, hasContent = false, hasSideNav = false }: RootProps) => {\n const [isOpen, setIsOpen] = React.useState(false);\n\n // Close drawer when there's no content\n React.useEffect(() => {\n if (!hasContent) {\n setIsOpen(false);\n }\n }, [hasContent]);\n\n return (\n <ActionsDrawerProvider\n isOpen={isOpen}\n setIsOpen={setIsOpen}\n hasContent={hasContent}\n hasSideNav={hasSideNav}\n >\n <DrawerContainer $hasSideNav={hasSideNav} $isOpen={isOpen}>\n {children}\n </DrawerContainer>\n </ActionsDrawerProvider>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Overlay\n * -----------------------------------------------------------------------------------------------*/\n\nconst Overlay = () => {\n const ctx = useActionsDrawer('ActionsDrawer.Overlay', (s) => s, false);\n const isOpen = ctx?.isOpen ?? false;\n const hasContent = ctx?.hasContent ?? false;\n const hasSideNav = ctx?.hasSideNav ?? false;\n const setIsOpen = ctx?.setIsOpen;\n\n if (!hasContent) {\n return null;\n }\n\n return (\n <DrawerOverlay\n $isOpen={isOpen}\n $hasSideNav={hasSideNav}\n onClick={() => setIsOpen?.(false)}\n data-testid=\"actions-drawer-overlay\"\n />\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Header\n * -----------------------------------------------------------------------------------------------*/\n\ninterface HeaderProps {\n children: React.ReactNode;\n}\n\nconst Header = ({ children }: HeaderProps) => {\n const ctx = useActionsDrawer('ActionsDrawer.Header', (s) => s, false);\n const isOpen = ctx?.isOpen ?? false;\n const hasContent = ctx?.hasContent ?? false;\n const setIsOpen = ctx?.setIsOpen;\n const { formatMessage } = useIntl();\n\n const toggleOpen = () => {\n setIsOpen?.((prev: boolean) => !prev);\n };\n\n return (\n <DrawerContent background=\"neutral0\">\n <Flex\n paddingTop={3}\n paddingBottom={3}\n paddingLeft={4}\n paddingRight={4}\n gap={3}\n borderStyle=\"solid\"\n borderWidth={isOpen ? '1px 0' : '1px 0 0 0'}\n borderColor=\"neutral150\"\n >\n <Flex flex={1} gap={2} alignItems=\"center\" overflow=\"hidden\">\n {children}\n </Flex>\n {hasContent && (\n <ToggleButton\n onClick={toggleOpen}\n label={\n isOpen\n ? formatMessage({\n id: 'content-manager.actions-drawer.close',\n defaultMessage: 'Close more actions',\n })\n : formatMessage({\n id: 'content-manager.actions-drawer.open',\n defaultMessage: 'Open more actions',\n })\n }\n >\n {isOpen ? <CaretUp fill=\"neutral600\" /> : <CaretDown fill=\"neutral600\" />}\n </ToggleButton>\n )}\n </Flex>\n </DrawerContent>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Content\n * -----------------------------------------------------------------------------------------------*/\n\ninterface ContentProps {\n children: React.ReactNode;\n}\n\nconst Content = ({ children }: ContentProps) => {\n const ctx = useActionsDrawer('ActionsDrawer.Content', (s) => s, false);\n const isOpen = ctx?.isOpen ?? false;\n\n return (\n <DrawerContentInner $isOpen={isOpen}>\n <Flex\n direction=\"column\"\n alignItems=\"stretch\"\n justifyContent=\"flex-start\"\n padding={{ initial: 4, large: 0 }}\n background=\"neutral0\"\n >\n {children}\n </Flex>\n </DrawerContentInner>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ActionsDrawer\n * -----------------------------------------------------------------------------------------------*/\n\nconst ActionsDrawer = {\n Root,\n Overlay,\n Header,\n Content,\n};\n\nexport { ActionsDrawer, useActionsDrawer };\n"],"names":["ActionsDrawerProvider","useActionsDrawer","createContext","DrawerContainer","styled","Portal","$isOpen","theme","breakpoints","medium","$hasSideNav","WIDTH_SIDE_NAVIGATION","DrawerOverlay","Box","props","motion","timings","easings","easeInOutQuad","ToggleButton","IconButton","colors","neutral200","DrawerContent","Flex","DrawerContentInner","ScrollArea","Root","children","hasContent","hasSideNav","isOpen","setIsOpen","React","useState","useEffect","_jsx","Overlay","ctx","s","onClick","data-testid","Header","formatMessage","useIntl","toggleOpen","prev","background","_jsxs","paddingTop","paddingBottom","paddingLeft","paddingRight","gap","borderStyle","borderWidth","borderColor","flex","alignItems","overflow","label","id","defaultMessage","CaretUp","fill","CaretDown","Content","direction","justifyContent","padding","initial","large","ActionsDrawer"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ActionsDrawer.mjs","sources":["../../../admin/src/components/ActionsDrawer.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { WIDTH_SIDE_NAVIGATION, createContext } from '@strapi/admin/strapi-admin';\nimport { Portal, Flex, Box, ScrollArea, IconButton } from '@strapi/design-system';\nimport { CaretDown, CaretUp } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\n/**\n * ActionsDrawer is a component used in the content manager edit view page and content history page.\n * It's a sticky banner that can expand to reveal more actions. It's used only in mobile and tablet.\n *\n * A similar component is currently in development in the design-system but it's not ready yet.\n * Using the Panels for the edit view page brought some complexity and for the moment, we decided to go with this custom implementation.\n *\n * @TODO: Replace this component with the one in the design-system when it's ready.\n */\n\n/* -------------------------------------------------------------------------------------------------\n * ActionsDrawer Context\n * -----------------------------------------------------------------------------------------------*/\n\ninterface ActionsDrawerContextValue {\n isOpen: boolean;\n setIsOpen: React.Dispatch<React.SetStateAction<boolean>>;\n hasContent: boolean;\n hasSideNav: boolean;\n}\n\nconst [ActionsDrawerProvider, useActionsDrawer] = createContext<ActionsDrawerContextValue | null>(\n 'ActionsDrawer',\n null\n);\n\n/* -------------------------------------------------------------------------------------------------\n * Styled Components\n * -----------------------------------------------------------------------------------------------*/\n\nconst DrawerContainer = styled(Portal)<{ $hasSideNav: boolean; $isOpen: boolean }>`\n position: fixed;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: ${({ $isOpen }) => ($isOpen ? 4 : 2)};\n display: flex;\n flex-direction: column;\n align-items: stretch;\n justify-content: flex-end;\n\n ${({ theme }) => theme.breakpoints.medium} {\n z-index: 2;\n left: ${({ $hasSideNav }) => ($hasSideNav ? WIDTH_SIDE_NAVIGATION : 0)};\n }\n`;\n\nconst DrawerOverlay = styled(Box)<{ $isOpen: boolean; $hasSideNav: boolean }>`\n position: fixed;\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n background-color: rgba(0, 0, 0, 0.5);\n transition: opacity ${(props) => props.theme.motion.timings['200']}\n ${(props) => props.theme.motion.easings.easeInOutQuad};\n opacity: ${({ $isOpen }) => ($isOpen ? 1 : 0)};\n pointer-events: ${({ $isOpen }) => ($isOpen ? 'auto' : 'none')};\n\n ${({ theme }) => theme.breakpoints.medium} {\n left: ${({ $hasSideNav }) => ($hasSideNav ? WIDTH_SIDE_NAVIGATION : 0)};\n }\n`;\n\nconst ToggleButton = styled(IconButton)`\n padding: 0;\n border: none;\n background: ${({ theme }) => theme.colors.neutral200};\n width: 3.2rem;\n height: 3.2rem;\n border-radius: 1.6rem;\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nconst DrawerContent = styled(Flex)`\n flex-direction: column;\n align-items: stretch;\n position: relative;\n z-index: 1;\n pointer-events: auto;\n`;\n\nconst DrawerContentInner = styled(ScrollArea)<{ $isOpen: boolean }>`\n max-height: ${({ $isOpen }) =>\n $isOpen\n ? 'calc(100vh - 25rem)' // 25rem is arbitrary, to be able to see a bit of the content behind (navigation and header)\n : '0'};\n overflow: hidden;\n transition: max-height ${(props) => props.theme.motion.timings['200']}\n ${(props) => props.theme.motion.easings.easeInOutQuad};\n z-index: 1;\n pointer-events: auto;\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * Root\n * -----------------------------------------------------------------------------------------------*/\n\ninterface RootProps {\n children: React.ReactNode;\n hasContent?: boolean;\n hasSideNav?: boolean;\n}\n\nconst Root = ({ children, hasContent = false, hasSideNav = false }: RootProps) => {\n const [isOpen, setIsOpen] = React.useState(false);\n\n // Close drawer when there's no content\n React.useEffect(() => {\n if (!hasContent) {\n setIsOpen(false);\n }\n }, [hasContent]);\n\n return (\n <ActionsDrawerProvider\n isOpen={isOpen}\n setIsOpen={setIsOpen}\n hasContent={hasContent}\n hasSideNav={hasSideNav}\n >\n <DrawerContainer $hasSideNav={hasSideNav} $isOpen={isOpen}>\n {children}\n </DrawerContainer>\n </ActionsDrawerProvider>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Overlay\n * -----------------------------------------------------------------------------------------------*/\n\nconst Overlay = () => {\n const ctx = useActionsDrawer('ActionsDrawer.Overlay', (s) => s, false);\n const isOpen = ctx?.isOpen ?? false;\n const hasContent = ctx?.hasContent ?? false;\n const hasSideNav = ctx?.hasSideNav ?? false;\n const setIsOpen = ctx?.setIsOpen;\n\n if (!hasContent) {\n return null;\n }\n\n return (\n <DrawerOverlay\n $isOpen={isOpen}\n $hasSideNav={hasSideNav}\n onClick={() => setIsOpen?.(false)}\n data-testid=\"actions-drawer-overlay\"\n />\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Header\n * -----------------------------------------------------------------------------------------------*/\n\ninterface HeaderProps {\n children: React.ReactNode;\n}\n\nconst Header = ({ children }: HeaderProps) => {\n const ctx = useActionsDrawer('ActionsDrawer.Header', (s) => s, false);\n const isOpen = ctx?.isOpen ?? false;\n const hasContent = ctx?.hasContent ?? false;\n const setIsOpen = ctx?.setIsOpen;\n const { formatMessage } = useIntl();\n\n const toggleOpen = () => {\n setIsOpen?.((prev: boolean) => !prev);\n };\n\n return (\n <DrawerContent background=\"neutral0\">\n <Flex\n paddingTop={3}\n paddingBottom={3}\n paddingLeft={4}\n paddingRight={4}\n gap={3}\n borderStyle=\"solid\"\n borderWidth={isOpen ? '1px 0' : '1px 0 0 0'}\n borderColor=\"neutral150\"\n >\n <Flex flex={1} gap={2} alignItems=\"center\" overflow=\"hidden\">\n {children}\n </Flex>\n {hasContent && (\n <ToggleButton\n onClick={toggleOpen}\n label={\n isOpen\n ? formatMessage({\n id: 'content-manager.actions-drawer.close',\n defaultMessage: 'Close more actions',\n })\n : formatMessage({\n id: 'content-manager.actions-drawer.open',\n defaultMessage: 'Open more actions',\n })\n }\n >\n {isOpen ? <CaretUp fill=\"neutral600\" /> : <CaretDown fill=\"neutral600\" />}\n </ToggleButton>\n )}\n </Flex>\n </DrawerContent>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Content\n * -----------------------------------------------------------------------------------------------*/\n\ninterface ContentProps {\n children: React.ReactNode;\n}\n\nconst Content = ({ children }: ContentProps) => {\n const ctx = useActionsDrawer('ActionsDrawer.Content', (s) => s, false);\n const isOpen = ctx?.isOpen ?? false;\n\n return (\n <DrawerContentInner $isOpen={isOpen}>\n <Flex\n direction=\"column\"\n alignItems=\"stretch\"\n justifyContent=\"flex-start\"\n padding={{ initial: 4, large: 0 }}\n background=\"neutral0\"\n >\n {children}\n </Flex>\n </DrawerContentInner>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ActionsDrawer\n * -----------------------------------------------------------------------------------------------*/\n\nconst ActionsDrawer = {\n Root,\n Overlay,\n Header,\n Content,\n};\n\nexport { ActionsDrawer, useActionsDrawer };\n"],"names":["ActionsDrawerProvider","useActionsDrawer","createContext","DrawerContainer","styled","Portal","$isOpen","theme","breakpoints","medium","$hasSideNav","WIDTH_SIDE_NAVIGATION","DrawerOverlay","Box","props","motion","timings","easings","easeInOutQuad","ToggleButton","IconButton","colors","neutral200","DrawerContent","Flex","DrawerContentInner","ScrollArea","Root","children","hasContent","hasSideNav","isOpen","setIsOpen","React","useState","useEffect","_jsx","Overlay","ctx","s","onClick","data-testid","Header","formatMessage","useIntl","toggleOpen","prev","background","_jsxs","paddingTop","paddingBottom","paddingLeft","paddingRight","gap","borderStyle","borderWidth","borderColor","flex","alignItems","overflow","label","id","defaultMessage","CaretUp","fill","CaretDown","Content","direction","justifyContent","padding","initial","large","ActionsDrawer"],"mappings":";;;;;;;;AA6BA,MAAM,CAACA,qBAAAA,EAAuBC,gBAAAA,CAAiB,GAAGC,cAChD,eAAA,EACA,IAAA;AAGF;;AAEkG,qGAElG,MAAMC,eAAAA,GAAkBC,MAAAA,CAAOC,MAAAA,CAAmD;;;;;AAKvE,WAAA,EAAE,CAAC,EAAEC,OAAO,EAAE,GAAMA,OAAAA,GAAU,IAAI,CAAA,CAAG;;;;;;EAM9C,EAAE,CAAC,EAAEC,KAAK,EAAE,GAAKA,KAAAA,CAAMC,WAAW,CAACC,MAAM,CAAC;;AAElC,UAAA,EAAE,CAAC,EAAEC,WAAW,EAAE,GAAMA,WAAAA,GAAcC,wBAAwB,CAAA,CAAG;;AAE3E,CAAC;AAED,MAAMC,aAAAA,GAAgBR,MAAAA,CAAOS,GAAAA,CAAgD;;;;;;;sBAOvD,EAAE,CAACC,KAAAA,GAAUA,KAAAA,CAAMP,KAAK,CAACQ,MAAM,CAACC,OAAO,CAAC,KAAA,CAAM;IAChE,EAAE,CAACF,KAAAA,GAAUA,KAAAA,CAAMP,KAAK,CAACQ,MAAM,CAACE,OAAO,CAACC,aAAa,CAAC;AAC/C,WAAA,EAAE,CAAC,EAAEZ,OAAO,EAAE,GAAMA,OAAAA,GAAU,IAAI,CAAA,CAAG;AAC9B,kBAAA,EAAE,CAAC,EAAEA,OAAO,EAAE,GAAMA,OAAAA,GAAU,SAAS,MAAA,CAAQ;;EAE/D,EAAE,CAAC,EAAEC,KAAK,EAAE,GAAKA,KAAAA,CAAMC,WAAW,CAACC,MAAM,CAAC;AAClC,UAAA,EAAE,CAAC,EAAEC,WAAW,EAAE,GAAMA,WAAAA,GAAcC,wBAAwB,CAAA,CAAG;;AAE3E,CAAC;AAED,MAAMQ,YAAAA,GAAef,MAAAA,CAAOgB,UAAAA,CAAW;;;cAGzB,EAAE,CAAC,EAAEb,KAAK,EAAE,GAAKA,KAAAA,CAAMc,MAAM,CAACC,UAAU,CAAC;;;;;;;AAOvD,CAAC;AAED,MAAMC,aAAAA,GAAgBnB,MAAAA,CAAOoB,IAAAA,CAAK;;;;;;AAMlC,CAAC;AAED,MAAMC,kBAAAA,GAAqBrB,MAAAA,CAAOsB,UAAAA,CAAiC;AACrD,cAAA,EAAE,CAAC,EAAEpB,OAAO,EAAE,GACxBA,OAAAA,GACI;OACA,GAAA,CAAI;;yBAEa,EAAE,CAACQ,KAAAA,GAAUA,KAAAA,CAAMP,KAAK,CAACQ,MAAM,CAACC,OAAO,CAAC,KAAA,CAAM;IACnE,EAAE,CAACF,KAAAA,GAAUA,KAAAA,CAAMP,KAAK,CAACQ,MAAM,CAACE,OAAO,CAACC,aAAa,CAAC;;;AAG1D,CAAC;AAYD,MAAMS,IAAAA,GAAO,CAAC,EAAEC,QAAQ,EAAEC,aAAa,KAAK,EAAEC,UAAAA,GAAa,KAAK,EAAa,GAAA;AAC3E,IAAA,MAAM,CAACC,MAAAA,EAAQC,SAAAA,CAAU,GAAGC,KAAAA,CAAMC,QAAQ,CAAC,KAAA,CAAA;;AAG3CD,IAAAA,KAAAA,CAAME,SAAS,CAAC,IAAA;AACd,QAAA,IAAI,CAACN,UAAAA,EAAY;YACfG,SAAAA,CAAU,KAAA,CAAA;AACZ,QAAA;IACF,CAAA,EAAG;AAACH,QAAAA;AAAW,KAAA,CAAA;AAEf,IAAA,qBACEO,GAAA,CAACpC,qBAAAA,EAAAA;QACC+B,MAAAA,EAAQA,MAAAA;QACRC,SAAAA,EAAWA,SAAAA;QACXH,UAAAA,EAAYA,UAAAA;QACZC,UAAAA,EAAYA,UAAAA;AAEZ,QAAA,QAAA,gBAAAM,GAAA,CAACjC,eAAAA,EAAAA;YAAgBO,WAAAA,EAAaoB,UAAAA;YAAYxB,OAAAA,EAASyB,MAAAA;AAChDH,YAAAA,QAAAA,EAAAA;;;AAIT,CAAA;AAEA;;AAEkG,qGAElG,MAAMS,OAAAA,GAAU,IAAA;AACd,IAAA,MAAMC,GAAAA,GAAMrC,gBAAAA,CAAiB,uBAAA,EAAyB,CAACsC,IAAMA,CAAAA,EAAG,KAAA,CAAA;IAChE,MAAMR,MAAAA,GAASO,KAAKP,MAAAA,IAAU,KAAA;IAC9B,MAAMF,UAAAA,GAAaS,KAAKT,UAAAA,IAAc,KAAA;IACtC,MAAMC,UAAAA,GAAaQ,KAAKR,UAAAA,IAAc,KAAA;AACtC,IAAA,MAAME,YAAYM,GAAAA,EAAKN,SAAAA;AAEvB,IAAA,IAAI,CAACH,UAAAA,EAAY;QACf,OAAO,IAAA;AACT,IAAA;AAEA,IAAA,qBACEO,GAAA,CAACxB,aAAAA,EAAAA;QACCN,OAAAA,EAASyB,MAAAA;QACTrB,WAAAA,EAAaoB,UAAAA;AACbU,QAAAA,OAAAA,EAAS,IAAMR,SAAAA,GAAY,KAAA,CAAA;QAC3BS,aAAAA,EAAY;;AAGlB,CAAA;AAUA,MAAMC,MAAAA,GAAS,CAAC,EAAEd,QAAQ,EAAe,GAAA;AACvC,IAAA,MAAMU,GAAAA,GAAMrC,gBAAAA,CAAiB,sBAAA,EAAwB,CAACsC,IAAMA,CAAAA,EAAG,KAAA,CAAA;IAC/D,MAAMR,MAAAA,GAASO,KAAKP,MAAAA,IAAU,KAAA;IAC9B,MAAMF,UAAAA,GAAaS,KAAKT,UAAAA,IAAc,KAAA;AACtC,IAAA,MAAMG,YAAYM,GAAAA,EAAKN,SAAAA;IACvB,MAAM,EAAEW,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAE1B,IAAA,MAAMC,UAAAA,GAAa,IAAA;QACjBb,SAAAA,GAAY,CAACc,OAAkB,CAACA,IAAAA,CAAAA;AAClC,IAAA,CAAA;AAEA,IAAA,qBACEV,GAAA,CAACb,aAAAA,EAAAA;QAAcwB,UAAAA,EAAW,UAAA;AACxB,QAAA,QAAA,gBAAAC,IAAA,CAACxB,IAAAA,EAAAA;YACCyB,UAAAA,EAAY,CAAA;YACZC,aAAAA,EAAe,CAAA;YACfC,WAAAA,EAAa,CAAA;YACbC,YAAAA,EAAc,CAAA;YACdC,GAAAA,EAAK,CAAA;YACLC,WAAAA,EAAY,OAAA;AACZC,YAAAA,WAAAA,EAAaxB,SAAS,OAAA,GAAU,WAAA;YAChCyB,WAAAA,EAAY,YAAA;;8BAEZpB,GAAA,CAACZ,IAAAA,EAAAA;oBAAKiC,IAAAA,EAAM,CAAA;oBAAGJ,GAAAA,EAAK,CAAA;oBAAGK,UAAAA,EAAW,QAAA;oBAASC,QAAAA,EAAS,QAAA;AACjD/B,oBAAAA,QAAAA,EAAAA;;AAEFC,gBAAAA,UAAAA,kBACCO,GAAA,CAACjB,YAAAA,EAAAA;oBACCqB,OAAAA,EAASK,UAAAA;AACTe,oBAAAA,KAAAA,EACE7B,SACIY,aAAAA,CAAc;wBACZkB,EAAAA,EAAI,sCAAA;wBACJC,cAAAA,EAAgB;AAClB,qBAAA,CAAA,GACAnB,aAAAA,CAAc;wBACZkB,EAAAA,EAAI,qCAAA;wBACJC,cAAAA,EAAgB;AAClB,qBAAA,CAAA;AAGL/B,oBAAAA,QAAAA,EAAAA,MAAAA,iBAASK,GAAA,CAAC2B,OAAAA,EAAAA;wBAAQC,IAAAA,EAAK;uCAAkB5B,GAAA,CAAC6B,SAAAA,EAAAA;wBAAUD,IAAAA,EAAK;;;;;;AAMtE,CAAA;AAUA,MAAME,OAAAA,GAAU,CAAC,EAAEtC,QAAQ,EAAgB,GAAA;AACzC,IAAA,MAAMU,GAAAA,GAAMrC,gBAAAA,CAAiB,uBAAA,EAAyB,CAACsC,IAAMA,CAAAA,EAAG,KAAA,CAAA;IAChE,MAAMR,MAAAA,GAASO,KAAKP,MAAAA,IAAU,KAAA;AAE9B,IAAA,qBACEK,GAAA,CAACX,kBAAAA,EAAAA;QAAmBnB,OAAAA,EAASyB,MAAAA;AAC3B,QAAA,QAAA,gBAAAK,GAAA,CAACZ,IAAAA,EAAAA;YACC2C,SAAAA,EAAU,QAAA;YACVT,UAAAA,EAAW,SAAA;YACXU,cAAAA,EAAe,YAAA;YACfC,OAAAA,EAAS;gBAAEC,OAAAA,EAAS,CAAA;gBAAGC,KAAAA,EAAO;AAAE,aAAA;YAChCxB,UAAAA,EAAW,UAAA;AAEVnB,YAAAA,QAAAA,EAAAA;;;AAIT,CAAA;AAEA;;AAEkG,2GAE5F4C,aAAAA,GAAgB;AACpB7C,IAAAA,IAAAA;AACAU,IAAAA,OAAAA;AACAK,IAAAA,MAAAA;AACAwB,IAAAA;AACF;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComponentIcon.js","sources":["../../../admin/src/components/ComponentIcon.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Flex, FlexProps } from '@strapi/design-system';\nimport * as Icons from '@strapi/icons';\nimport * as Symbols from '@strapi/icons/symbols';\n\nimport type { Struct } from '@strapi/types';\n\ninterface ComponentIconProps extends FlexProps {\n showBackground?: boolean;\n icon?: Struct.ContentTypeSchemaInfo['icon'];\n}\n\nconst ComponentIcon = ({\n showBackground = true,\n icon = 'dashboard',\n ...props\n}: ComponentIconProps) => {\n const Icon = COMPONENT_ICONS[icon as keyof typeof COMPONENT_ICONS] || COMPONENT_ICONS.dashboard;\n\n return (\n <Flex\n alignItems=\"center\"\n background={showBackground ? 'neutral200' : undefined}\n justifyContent=\"center\"\n height={8}\n width={8}\n color=\"neutral600\"\n borderRadius={showBackground ? '50%' : 0}\n {...props}\n >\n <Icon height=\"2rem\" width=\"2rem\" />\n </Flex>\n );\n};\n\nconst COMPONENT_ICONS: Record<string, React.ComponentType<any>> = {\n alien: Icons.Alien,\n apps: Icons.GridNine,\n archive: Icons.Archive,\n arrowDown: Icons.ArrowDown,\n arrowLeft: Icons.ArrowLeft,\n arrowRight: Icons.ArrowRight,\n arrowUp: Icons.ArrowUp,\n attachment: Icons.Paperclip,\n bell: Icons.Bell,\n bold: Icons.Bold,\n book: Icons.Book,\n briefcase: Icons.Briefcase,\n brush: Icons.PaintBrush,\n bulletList: Icons.BulletList,\n calendar: Icons.Calendar,\n car: Icons.Car,\n cast: Icons.Cast,\n chartBubble: Icons.ChartBubble,\n chartCircle: Icons.ChartCircle,\n chartPie: Icons.ChartPie,\n check: Icons.Check,\n clock: Icons.Clock,\n cloud: Icons.Cloud,\n code: Icons.Code,\n cog: Icons.Cog,\n collapse: Icons.Collapse,\n command: Icons.Command,\n connector: Icons.Faders,\n crop: Icons.Crop,\n crown: Icons.Crown,\n cup: Icons.Coffee,\n cursor: Icons.Cursor,\n dashboard: Icons.SquaresFour,\n database: Icons.Database,\n discuss: Icons.Discuss,\n doctor: Icons.Stethoscope,\n earth: Icons.Earth,\n emotionHappy: Icons.EmotionHappy,\n emotionUnhappy: Icons.EmotionUnhappy,\n envelop: Icons.Mail,\n exit: Icons.SignOut,\n expand: Icons.Expand,\n eye: Icons.Eye,\n feather: Icons.Feather,\n file: Icons.File,\n fileError: Icons.FileError,\n filePdf: Icons.FilePdf,\n fileXls: Icons.FileXls,\n fileZip: Icons.FileZip,\n fileCsv: Icons.FileCsv,\n filter: Icons.Filter,\n folder: Icons.Folder,\n gate: Icons.CastleTurret,\n gift: Icons.Gift,\n globe: Icons.Globe,\n grid: Icons.GridFour,\n handHeart: Icons.HandHeart,\n hashtag: Icons.Hashtag,\n headphone: Icons.Headphones,\n heart: Icons.Heart,\n house: Icons.House,\n information: Icons.Information,\n italic: Icons.Italic,\n key: Icons.Key,\n landscape: Icons.Images,\n layer: Icons.ListPlus,\n layout: Icons.Layout,\n lightbulb: Icons.Lightbulb,\n link: Icons.Link,\n lock: Icons.Lock,\n magic: Icons.Magic,\n manyToMany: Icons.ManyToMany,\n manyToOne: Icons.ManyToOne,\n manyWays: Icons.ManyWays,\n medium: Symbols.Medium,\n message: Icons.Message,\n microphone: Icons.Microphone,\n monitor: Icons.Monitor,\n moon: Icons.Moon,\n music: Icons.MusicNotes,\n oneToMany: Icons.OneToMany,\n oneToOne: Icons.OneToOne,\n oneWay: Icons.OneWay,\n paint: Icons.PaintBrush,\n paintBrush: Icons.PaintBrush,\n paperPlane: Icons.PaperPlane,\n pencil: Icons.Pencil,\n phone: Icons.Phone,\n picture: Icons.Image,\n pin: Icons.Pin,\n pinMap: Icons.PinMap,\n plane: Icons.Plane,\n play: Icons.Play,\n plus: Icons.Plus,\n priceTag: Icons.PriceTag,\n puzzle: Icons.PuzzlePiece,\n question: Icons.Question,\n quote: Icons.Quotes,\n refresh: Icons.ArrowClockwise,\n restaurant: Icons.Restaurant,\n rocket: Icons.Rocket,\n rotate: Icons.ArrowsCounterClockwise,\n scissors: Icons.Scissors,\n search: Icons.Search,\n seed: Icons.Plant,\n server: Icons.Server,\n shield: Icons.Shield,\n shirt: Icons.Shirt,\n shoppingCart: Icons.ShoppingCart,\n slideshow: Icons.PresentationChart,\n stack: Icons.Stack,\n star: Icons.Star,\n store: Icons.Store,\n strikeThrough: Icons.StrikeThrough,\n sun: Icons.Sun,\n television: Icons.Television,\n thumbDown: Icons.ThumbDown,\n thumbUp: Icons.ThumbUp,\n train: Icons.Train,\n twitter: Symbols.X,\n typhoon: Icons.Typhoon,\n underline: Icons.Underline,\n user: Icons.User,\n volumeMute: Icons.VolumeMute,\n volumeUp: Icons.VolumeUp,\n walk: Icons.Walk,\n wheelchair: Icons.Wheelchair,\n write: Icons.Feather,\n};\n\nexport { ComponentIcon, COMPONENT_ICONS };\nexport type { ComponentIconProps };\n"],"names":["ComponentIcon","showBackground","icon","props","Icon","COMPONENT_ICONS","dashboard","_jsx","Flex","alignItems","background","undefined","justifyContent","height","width","color","borderRadius","alien","Icons","Alien","apps","GridNine","archive","Archive","arrowDown","ArrowDown","arrowLeft","ArrowLeft","arrowRight","ArrowRight","arrowUp","ArrowUp","attachment","Paperclip","bell","Bell","bold","Bold","book","Book","briefcase","Briefcase","brush","PaintBrush","bulletList","BulletList","calendar","Calendar","car","Car","cast","Cast","chartBubble","ChartBubble","chartCircle","ChartCircle","chartPie","ChartPie","check","Check","clock","Clock","cloud","Cloud","code","Code","cog","Cog","collapse","Collapse","command","Command","connector","Faders","crop","Crop","crown","Crown","cup","Coffee","cursor","Cursor","SquaresFour","database","Database","discuss","Discuss","doctor","Stethoscope","earth","Earth","emotionHappy","EmotionHappy","emotionUnhappy","EmotionUnhappy","envelop","Mail","exit","SignOut","expand","Expand","eye","Eye","feather","Feather","file","File","fileError","FileError","filePdf","FilePdf","fileXls","FileXls","fileZip","FileZip","fileCsv","FileCsv","filter","Filter","folder","Folder","gate","CastleTurret","gift","Gift","globe","Globe","grid","GridFour","handHeart","HandHeart","hashtag","Hashtag","headphone","Headphones","heart","Heart","house","House","information","Information","italic","Italic","key","Key","landscape","Images","layer","ListPlus","layout","Layout","lightbulb","Lightbulb","link","Link","lock","Lock","magic","Magic","manyToMany","ManyToMany","manyToOne","ManyToOne","manyWays","ManyWays","medium","Symbols","Medium","message","Message","microphone","Microphone","monitor","Monitor","moon","Moon","music","MusicNotes","oneToMany","OneToMany","oneToOne","OneToOne","oneWay","OneWay","paint","paintBrush","paperPlane","PaperPlane","pencil","Pencil","phone","Phone","picture","Image","pin","Pin","pinMap","PinMap","plane","Plane","play","Play","plus","Plus","priceTag","PriceTag","puzzle","PuzzlePiece","question","Question","quote","Quotes","refresh","ArrowClockwise","restaurant","Restaurant","rocket","Rocket","rotate","ArrowsCounterClockwise","scissors","Scissors","search","Search","seed","Plant","server","Server","shield","Shield","shirt","Shirt","shoppingCart","ShoppingCart","slideshow","PresentationChart","stack","Stack","star","Star","store","Store","strikeThrough","StrikeThrough","sun","Sun","television","Television","thumbDown","ThumbDown","thumbUp","ThumbUp","train","Train","twitter","X","typhoon","Typhoon","underline","Underline","user","User","volumeMute","VolumeMute","volumeUp","VolumeUp","walk","Walk","wheelchair","Wheelchair","write"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ComponentIcon.js","sources":["../../../admin/src/components/ComponentIcon.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Flex, FlexProps } from '@strapi/design-system';\nimport * as Icons from '@strapi/icons';\nimport * as Symbols from '@strapi/icons/symbols';\n\nimport type { Struct } from '@strapi/types';\n\ninterface ComponentIconProps extends FlexProps {\n showBackground?: boolean;\n icon?: Struct.ContentTypeSchemaInfo['icon'];\n}\n\nconst ComponentIcon = ({\n showBackground = true,\n icon = 'dashboard',\n ...props\n}: ComponentIconProps) => {\n const Icon = COMPONENT_ICONS[icon as keyof typeof COMPONENT_ICONS] || COMPONENT_ICONS.dashboard;\n\n return (\n <Flex\n alignItems=\"center\"\n background={showBackground ? 'neutral200' : undefined}\n justifyContent=\"center\"\n height={8}\n width={8}\n color=\"neutral600\"\n borderRadius={showBackground ? '50%' : 0}\n {...props}\n >\n <Icon height=\"2rem\" width=\"2rem\" />\n </Flex>\n );\n};\n\nconst COMPONENT_ICONS: Record<string, React.ComponentType<any>> = {\n alien: Icons.Alien,\n apps: Icons.GridNine,\n archive: Icons.Archive,\n arrowDown: Icons.ArrowDown,\n arrowLeft: Icons.ArrowLeft,\n arrowRight: Icons.ArrowRight,\n arrowUp: Icons.ArrowUp,\n attachment: Icons.Paperclip,\n bell: Icons.Bell,\n bold: Icons.Bold,\n book: Icons.Book,\n briefcase: Icons.Briefcase,\n brush: Icons.PaintBrush,\n bulletList: Icons.BulletList,\n calendar: Icons.Calendar,\n car: Icons.Car,\n cast: Icons.Cast,\n chartBubble: Icons.ChartBubble,\n chartCircle: Icons.ChartCircle,\n chartPie: Icons.ChartPie,\n check: Icons.Check,\n clock: Icons.Clock,\n cloud: Icons.Cloud,\n code: Icons.Code,\n cog: Icons.Cog,\n collapse: Icons.Collapse,\n command: Icons.Command,\n connector: Icons.Faders,\n crop: Icons.Crop,\n crown: Icons.Crown,\n cup: Icons.Coffee,\n cursor: Icons.Cursor,\n dashboard: Icons.SquaresFour,\n database: Icons.Database,\n discuss: Icons.Discuss,\n doctor: Icons.Stethoscope,\n earth: Icons.Earth,\n emotionHappy: Icons.EmotionHappy,\n emotionUnhappy: Icons.EmotionUnhappy,\n envelop: Icons.Mail,\n exit: Icons.SignOut,\n expand: Icons.Expand,\n eye: Icons.Eye,\n feather: Icons.Feather,\n file: Icons.File,\n fileError: Icons.FileError,\n filePdf: Icons.FilePdf,\n fileXls: Icons.FileXls,\n fileZip: Icons.FileZip,\n fileCsv: Icons.FileCsv,\n filter: Icons.Filter,\n folder: Icons.Folder,\n gate: Icons.CastleTurret,\n gift: Icons.Gift,\n globe: Icons.Globe,\n grid: Icons.GridFour,\n handHeart: Icons.HandHeart,\n hashtag: Icons.Hashtag,\n headphone: Icons.Headphones,\n heart: Icons.Heart,\n house: Icons.House,\n information: Icons.Information,\n italic: Icons.Italic,\n key: Icons.Key,\n landscape: Icons.Images,\n layer: Icons.ListPlus,\n layout: Icons.Layout,\n lightbulb: Icons.Lightbulb,\n link: Icons.Link,\n lock: Icons.Lock,\n magic: Icons.Magic,\n manyToMany: Icons.ManyToMany,\n manyToOne: Icons.ManyToOne,\n manyWays: Icons.ManyWays,\n medium: Symbols.Medium,\n message: Icons.Message,\n microphone: Icons.Microphone,\n monitor: Icons.Monitor,\n moon: Icons.Moon,\n music: Icons.MusicNotes,\n oneToMany: Icons.OneToMany,\n oneToOne: Icons.OneToOne,\n oneWay: Icons.OneWay,\n paint: Icons.PaintBrush,\n paintBrush: Icons.PaintBrush,\n paperPlane: Icons.PaperPlane,\n pencil: Icons.Pencil,\n phone: Icons.Phone,\n picture: Icons.Image,\n pin: Icons.Pin,\n pinMap: Icons.PinMap,\n plane: Icons.Plane,\n play: Icons.Play,\n plus: Icons.Plus,\n priceTag: Icons.PriceTag,\n puzzle: Icons.PuzzlePiece,\n question: Icons.Question,\n quote: Icons.Quotes,\n refresh: Icons.ArrowClockwise,\n restaurant: Icons.Restaurant,\n rocket: Icons.Rocket,\n rotate: Icons.ArrowsCounterClockwise,\n scissors: Icons.Scissors,\n search: Icons.Search,\n seed: Icons.Plant,\n server: Icons.Server,\n shield: Icons.Shield,\n shirt: Icons.Shirt,\n shoppingCart: Icons.ShoppingCart,\n slideshow: Icons.PresentationChart,\n stack: Icons.Stack,\n star: Icons.Star,\n store: Icons.Store,\n strikeThrough: Icons.StrikeThrough,\n sun: Icons.Sun,\n television: Icons.Television,\n thumbDown: Icons.ThumbDown,\n thumbUp: Icons.ThumbUp,\n train: Icons.Train,\n twitter: Symbols.X,\n typhoon: Icons.Typhoon,\n underline: Icons.Underline,\n user: Icons.User,\n volumeMute: Icons.VolumeMute,\n volumeUp: Icons.VolumeUp,\n walk: Icons.Walk,\n wheelchair: Icons.Wheelchair,\n write: Icons.Feather,\n};\n\nexport { ComponentIcon, COMPONENT_ICONS };\nexport type { ComponentIconProps };\n"],"names":["ComponentIcon","showBackground","icon","props","Icon","COMPONENT_ICONS","dashboard","_jsx","Flex","alignItems","background","undefined","justifyContent","height","width","color","borderRadius","alien","Icons","Alien","apps","GridNine","archive","Archive","arrowDown","ArrowDown","arrowLeft","ArrowLeft","arrowRight","ArrowRight","arrowUp","ArrowUp","attachment","Paperclip","bell","Bell","bold","Bold","book","Book","briefcase","Briefcase","brush","PaintBrush","bulletList","BulletList","calendar","Calendar","car","Car","cast","Cast","chartBubble","ChartBubble","chartCircle","ChartCircle","chartPie","ChartPie","check","Check","clock","Clock","cloud","Cloud","code","Code","cog","Cog","collapse","Collapse","command","Command","connector","Faders","crop","Crop","crown","Crown","cup","Coffee","cursor","Cursor","SquaresFour","database","Database","discuss","Discuss","doctor","Stethoscope","earth","Earth","emotionHappy","EmotionHappy","emotionUnhappy","EmotionUnhappy","envelop","Mail","exit","SignOut","expand","Expand","eye","Eye","feather","Feather","file","File","fileError","FileError","filePdf","FilePdf","fileXls","FileXls","fileZip","FileZip","fileCsv","FileCsv","filter","Filter","folder","Folder","gate","CastleTurret","gift","Gift","globe","Globe","grid","GridFour","handHeart","HandHeart","hashtag","Hashtag","headphone","Headphones","heart","Heart","house","House","information","Information","italic","Italic","key","Key","landscape","Images","layer","ListPlus","layout","Layout","lightbulb","Lightbulb","link","Link","lock","Lock","magic","Magic","manyToMany","ManyToMany","manyToOne","ManyToOne","manyWays","ManyWays","medium","Symbols","Medium","message","Message","microphone","Microphone","monitor","Monitor","moon","Moon","music","MusicNotes","oneToMany","OneToMany","oneToOne","OneToOne","oneWay","OneWay","paint","paintBrush","paperPlane","PaperPlane","pencil","Pencil","phone","Phone","picture","Image","pin","Pin","pinMap","PinMap","plane","Plane","play","Play","plus","Plus","priceTag","PriceTag","puzzle","PuzzlePiece","question","Question","quote","Quotes","refresh","ArrowClockwise","restaurant","Restaurant","rocket","Rocket","rotate","ArrowsCounterClockwise","scissors","Scissors","search","Search","seed","Plant","server","Server","shield","Shield","shirt","Shirt","shoppingCart","ShoppingCart","slideshow","PresentationChart","stack","Stack","star","Star","store","Store","strikeThrough","StrikeThrough","sun","Sun","television","Television","thumbDown","ThumbDown","thumbUp","ThumbUp","train","Train","twitter","X","typhoon","Typhoon","underline","Underline","user","User","volumeMute","VolumeMute","volumeUp","VolumeUp","walk","Walk","wheelchair","Wheelchair","write"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComponentIcon.mjs","sources":["../../../admin/src/components/ComponentIcon.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Flex, FlexProps } from '@strapi/design-system';\nimport * as Icons from '@strapi/icons';\nimport * as Symbols from '@strapi/icons/symbols';\n\nimport type { Struct } from '@strapi/types';\n\ninterface ComponentIconProps extends FlexProps {\n showBackground?: boolean;\n icon?: Struct.ContentTypeSchemaInfo['icon'];\n}\n\nconst ComponentIcon = ({\n showBackground = true,\n icon = 'dashboard',\n ...props\n}: ComponentIconProps) => {\n const Icon = COMPONENT_ICONS[icon as keyof typeof COMPONENT_ICONS] || COMPONENT_ICONS.dashboard;\n\n return (\n <Flex\n alignItems=\"center\"\n background={showBackground ? 'neutral200' : undefined}\n justifyContent=\"center\"\n height={8}\n width={8}\n color=\"neutral600\"\n borderRadius={showBackground ? '50%' : 0}\n {...props}\n >\n <Icon height=\"2rem\" width=\"2rem\" />\n </Flex>\n );\n};\n\nconst COMPONENT_ICONS: Record<string, React.ComponentType<any>> = {\n alien: Icons.Alien,\n apps: Icons.GridNine,\n archive: Icons.Archive,\n arrowDown: Icons.ArrowDown,\n arrowLeft: Icons.ArrowLeft,\n arrowRight: Icons.ArrowRight,\n arrowUp: Icons.ArrowUp,\n attachment: Icons.Paperclip,\n bell: Icons.Bell,\n bold: Icons.Bold,\n book: Icons.Book,\n briefcase: Icons.Briefcase,\n brush: Icons.PaintBrush,\n bulletList: Icons.BulletList,\n calendar: Icons.Calendar,\n car: Icons.Car,\n cast: Icons.Cast,\n chartBubble: Icons.ChartBubble,\n chartCircle: Icons.ChartCircle,\n chartPie: Icons.ChartPie,\n check: Icons.Check,\n clock: Icons.Clock,\n cloud: Icons.Cloud,\n code: Icons.Code,\n cog: Icons.Cog,\n collapse: Icons.Collapse,\n command: Icons.Command,\n connector: Icons.Faders,\n crop: Icons.Crop,\n crown: Icons.Crown,\n cup: Icons.Coffee,\n cursor: Icons.Cursor,\n dashboard: Icons.SquaresFour,\n database: Icons.Database,\n discuss: Icons.Discuss,\n doctor: Icons.Stethoscope,\n earth: Icons.Earth,\n emotionHappy: Icons.EmotionHappy,\n emotionUnhappy: Icons.EmotionUnhappy,\n envelop: Icons.Mail,\n exit: Icons.SignOut,\n expand: Icons.Expand,\n eye: Icons.Eye,\n feather: Icons.Feather,\n file: Icons.File,\n fileError: Icons.FileError,\n filePdf: Icons.FilePdf,\n fileXls: Icons.FileXls,\n fileZip: Icons.FileZip,\n fileCsv: Icons.FileCsv,\n filter: Icons.Filter,\n folder: Icons.Folder,\n gate: Icons.CastleTurret,\n gift: Icons.Gift,\n globe: Icons.Globe,\n grid: Icons.GridFour,\n handHeart: Icons.HandHeart,\n hashtag: Icons.Hashtag,\n headphone: Icons.Headphones,\n heart: Icons.Heart,\n house: Icons.House,\n information: Icons.Information,\n italic: Icons.Italic,\n key: Icons.Key,\n landscape: Icons.Images,\n layer: Icons.ListPlus,\n layout: Icons.Layout,\n lightbulb: Icons.Lightbulb,\n link: Icons.Link,\n lock: Icons.Lock,\n magic: Icons.Magic,\n manyToMany: Icons.ManyToMany,\n manyToOne: Icons.ManyToOne,\n manyWays: Icons.ManyWays,\n medium: Symbols.Medium,\n message: Icons.Message,\n microphone: Icons.Microphone,\n monitor: Icons.Monitor,\n moon: Icons.Moon,\n music: Icons.MusicNotes,\n oneToMany: Icons.OneToMany,\n oneToOne: Icons.OneToOne,\n oneWay: Icons.OneWay,\n paint: Icons.PaintBrush,\n paintBrush: Icons.PaintBrush,\n paperPlane: Icons.PaperPlane,\n pencil: Icons.Pencil,\n phone: Icons.Phone,\n picture: Icons.Image,\n pin: Icons.Pin,\n pinMap: Icons.PinMap,\n plane: Icons.Plane,\n play: Icons.Play,\n plus: Icons.Plus,\n priceTag: Icons.PriceTag,\n puzzle: Icons.PuzzlePiece,\n question: Icons.Question,\n quote: Icons.Quotes,\n refresh: Icons.ArrowClockwise,\n restaurant: Icons.Restaurant,\n rocket: Icons.Rocket,\n rotate: Icons.ArrowsCounterClockwise,\n scissors: Icons.Scissors,\n search: Icons.Search,\n seed: Icons.Plant,\n server: Icons.Server,\n shield: Icons.Shield,\n shirt: Icons.Shirt,\n shoppingCart: Icons.ShoppingCart,\n slideshow: Icons.PresentationChart,\n stack: Icons.Stack,\n star: Icons.Star,\n store: Icons.Store,\n strikeThrough: Icons.StrikeThrough,\n sun: Icons.Sun,\n television: Icons.Television,\n thumbDown: Icons.ThumbDown,\n thumbUp: Icons.ThumbUp,\n train: Icons.Train,\n twitter: Symbols.X,\n typhoon: Icons.Typhoon,\n underline: Icons.Underline,\n user: Icons.User,\n volumeMute: Icons.VolumeMute,\n volumeUp: Icons.VolumeUp,\n walk: Icons.Walk,\n wheelchair: Icons.Wheelchair,\n write: Icons.Feather,\n};\n\nexport { ComponentIcon, COMPONENT_ICONS };\nexport type { ComponentIconProps };\n"],"names":["ComponentIcon","showBackground","icon","props","Icon","COMPONENT_ICONS","dashboard","_jsx","Flex","alignItems","background","undefined","justifyContent","height","width","color","borderRadius","alien","Icons","Alien","apps","GridNine","archive","Archive","arrowDown","ArrowDown","arrowLeft","ArrowLeft","arrowRight","ArrowRight","arrowUp","ArrowUp","attachment","Paperclip","bell","Bell","bold","Bold","book","Book","briefcase","Briefcase","brush","PaintBrush","bulletList","BulletList","calendar","Calendar","car","Car","cast","Cast","chartBubble","ChartBubble","chartCircle","ChartCircle","chartPie","ChartPie","check","Check","clock","Clock","cloud","Cloud","code","Code","cog","Cog","collapse","Collapse","command","Command","connector","Faders","crop","Crop","crown","Crown","cup","Coffee","cursor","Cursor","SquaresFour","database","Database","discuss","Discuss","doctor","Stethoscope","earth","Earth","emotionHappy","EmotionHappy","emotionUnhappy","EmotionUnhappy","envelop","Mail","exit","SignOut","expand","Expand","eye","Eye","feather","Feather","file","File","fileError","FileError","filePdf","FilePdf","fileXls","FileXls","fileZip","FileZip","fileCsv","FileCsv","filter","Filter","folder","Folder","gate","CastleTurret","gift","Gift","globe","Globe","grid","GridFour","handHeart","HandHeart","hashtag","Hashtag","headphone","Headphones","heart","Heart","house","House","information","Information","italic","Italic","key","Key","landscape","Images","layer","ListPlus","layout","Layout","lightbulb","Lightbulb","link","Link","lock","Lock","magic","Magic","manyToMany","ManyToMany","manyToOne","ManyToOne","manyWays","ManyWays","medium","Symbols","Medium","message","Message","microphone","Microphone","monitor","Monitor","moon","Moon","music","MusicNotes","oneToMany","OneToMany","oneToOne","OneToOne","oneWay","OneWay","paint","paintBrush","paperPlane","PaperPlane","pencil","Pencil","phone","Phone","picture","Image","pin","Pin","pinMap","PinMap","plane","Plane","play","Play","plus","Plus","priceTag","PriceTag","puzzle","PuzzlePiece","question","Question","quote","Quotes","refresh","ArrowClockwise","restaurant","Restaurant","rocket","Rocket","rotate","ArrowsCounterClockwise","scissors","Scissors","search","Search","seed","Plant","server","Server","shield","Shield","shirt","Shirt","shoppingCart","ShoppingCart","slideshow","PresentationChart","stack","Stack","star","Star","store","Store","strikeThrough","StrikeThrough","sun","Sun","television","Television","thumbDown","ThumbDown","thumbUp","ThumbUp","train","Train","twitter","X","typhoon","Typhoon","underline","Underline","user","User","volumeMute","VolumeMute","volumeUp","VolumeUp","walk","Walk","wheelchair","Wheelchair","write"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ComponentIcon.mjs","sources":["../../../admin/src/components/ComponentIcon.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Flex, FlexProps } from '@strapi/design-system';\nimport * as Icons from '@strapi/icons';\nimport * as Symbols from '@strapi/icons/symbols';\n\nimport type { Struct } from '@strapi/types';\n\ninterface ComponentIconProps extends FlexProps {\n showBackground?: boolean;\n icon?: Struct.ContentTypeSchemaInfo['icon'];\n}\n\nconst ComponentIcon = ({\n showBackground = true,\n icon = 'dashboard',\n ...props\n}: ComponentIconProps) => {\n const Icon = COMPONENT_ICONS[icon as keyof typeof COMPONENT_ICONS] || COMPONENT_ICONS.dashboard;\n\n return (\n <Flex\n alignItems=\"center\"\n background={showBackground ? 'neutral200' : undefined}\n justifyContent=\"center\"\n height={8}\n width={8}\n color=\"neutral600\"\n borderRadius={showBackground ? '50%' : 0}\n {...props}\n >\n <Icon height=\"2rem\" width=\"2rem\" />\n </Flex>\n );\n};\n\nconst COMPONENT_ICONS: Record<string, React.ComponentType<any>> = {\n alien: Icons.Alien,\n apps: Icons.GridNine,\n archive: Icons.Archive,\n arrowDown: Icons.ArrowDown,\n arrowLeft: Icons.ArrowLeft,\n arrowRight: Icons.ArrowRight,\n arrowUp: Icons.ArrowUp,\n attachment: Icons.Paperclip,\n bell: Icons.Bell,\n bold: Icons.Bold,\n book: Icons.Book,\n briefcase: Icons.Briefcase,\n brush: Icons.PaintBrush,\n bulletList: Icons.BulletList,\n calendar: Icons.Calendar,\n car: Icons.Car,\n cast: Icons.Cast,\n chartBubble: Icons.ChartBubble,\n chartCircle: Icons.ChartCircle,\n chartPie: Icons.ChartPie,\n check: Icons.Check,\n clock: Icons.Clock,\n cloud: Icons.Cloud,\n code: Icons.Code,\n cog: Icons.Cog,\n collapse: Icons.Collapse,\n command: Icons.Command,\n connector: Icons.Faders,\n crop: Icons.Crop,\n crown: Icons.Crown,\n cup: Icons.Coffee,\n cursor: Icons.Cursor,\n dashboard: Icons.SquaresFour,\n database: Icons.Database,\n discuss: Icons.Discuss,\n doctor: Icons.Stethoscope,\n earth: Icons.Earth,\n emotionHappy: Icons.EmotionHappy,\n emotionUnhappy: Icons.EmotionUnhappy,\n envelop: Icons.Mail,\n exit: Icons.SignOut,\n expand: Icons.Expand,\n eye: Icons.Eye,\n feather: Icons.Feather,\n file: Icons.File,\n fileError: Icons.FileError,\n filePdf: Icons.FilePdf,\n fileXls: Icons.FileXls,\n fileZip: Icons.FileZip,\n fileCsv: Icons.FileCsv,\n filter: Icons.Filter,\n folder: Icons.Folder,\n gate: Icons.CastleTurret,\n gift: Icons.Gift,\n globe: Icons.Globe,\n grid: Icons.GridFour,\n handHeart: Icons.HandHeart,\n hashtag: Icons.Hashtag,\n headphone: Icons.Headphones,\n heart: Icons.Heart,\n house: Icons.House,\n information: Icons.Information,\n italic: Icons.Italic,\n key: Icons.Key,\n landscape: Icons.Images,\n layer: Icons.ListPlus,\n layout: Icons.Layout,\n lightbulb: Icons.Lightbulb,\n link: Icons.Link,\n lock: Icons.Lock,\n magic: Icons.Magic,\n manyToMany: Icons.ManyToMany,\n manyToOne: Icons.ManyToOne,\n manyWays: Icons.ManyWays,\n medium: Symbols.Medium,\n message: Icons.Message,\n microphone: Icons.Microphone,\n monitor: Icons.Monitor,\n moon: Icons.Moon,\n music: Icons.MusicNotes,\n oneToMany: Icons.OneToMany,\n oneToOne: Icons.OneToOne,\n oneWay: Icons.OneWay,\n paint: Icons.PaintBrush,\n paintBrush: Icons.PaintBrush,\n paperPlane: Icons.PaperPlane,\n pencil: Icons.Pencil,\n phone: Icons.Phone,\n picture: Icons.Image,\n pin: Icons.Pin,\n pinMap: Icons.PinMap,\n plane: Icons.Plane,\n play: Icons.Play,\n plus: Icons.Plus,\n priceTag: Icons.PriceTag,\n puzzle: Icons.PuzzlePiece,\n question: Icons.Question,\n quote: Icons.Quotes,\n refresh: Icons.ArrowClockwise,\n restaurant: Icons.Restaurant,\n rocket: Icons.Rocket,\n rotate: Icons.ArrowsCounterClockwise,\n scissors: Icons.Scissors,\n search: Icons.Search,\n seed: Icons.Plant,\n server: Icons.Server,\n shield: Icons.Shield,\n shirt: Icons.Shirt,\n shoppingCart: Icons.ShoppingCart,\n slideshow: Icons.PresentationChart,\n stack: Icons.Stack,\n star: Icons.Star,\n store: Icons.Store,\n strikeThrough: Icons.StrikeThrough,\n sun: Icons.Sun,\n television: Icons.Television,\n thumbDown: Icons.ThumbDown,\n thumbUp: Icons.ThumbUp,\n train: Icons.Train,\n twitter: Symbols.X,\n typhoon: Icons.Typhoon,\n underline: Icons.Underline,\n user: Icons.User,\n volumeMute: Icons.VolumeMute,\n volumeUp: Icons.VolumeUp,\n walk: Icons.Walk,\n wheelchair: Icons.Wheelchair,\n write: Icons.Feather,\n};\n\nexport { ComponentIcon, COMPONENT_ICONS };\nexport type { ComponentIconProps };\n"],"names":["ComponentIcon","showBackground","icon","props","Icon","COMPONENT_ICONS","dashboard","_jsx","Flex","alignItems","background","undefined","justifyContent","height","width","color","borderRadius","alien","Icons","Alien","apps","GridNine","archive","Archive","arrowDown","ArrowDown","arrowLeft","ArrowLeft","arrowRight","ArrowRight","arrowUp","ArrowUp","attachment","Paperclip","bell","Bell","bold","Bold","book","Book","briefcase","Briefcase","brush","PaintBrush","bulletList","BulletList","calendar","Calendar","car","Car","cast","Cast","chartBubble","ChartBubble","chartCircle","ChartCircle","chartPie","ChartPie","check","Check","clock","Clock","cloud","Cloud","code","Code","cog","Cog","collapse","Collapse","command","Command","connector","Faders","crop","Crop","crown","Crown","cup","Coffee","cursor","Cursor","SquaresFour","database","Database","discuss","Discuss","doctor","Stethoscope","earth","Earth","emotionHappy","EmotionHappy","emotionUnhappy","EmotionUnhappy","envelop","Mail","exit","SignOut","expand","Expand","eye","Eye","feather","Feather","file","File","fileError","FileError","filePdf","FilePdf","fileXls","FileXls","fileZip","FileZip","fileCsv","FileCsv","filter","Filter","folder","Folder","gate","CastleTurret","gift","Gift","globe","Globe","grid","GridFour","handHeart","HandHeart","hashtag","Hashtag","headphone","Headphones","heart","Heart","house","House","information","Information","italic","Italic","key","Key","landscape","Images","layer","ListPlus","layout","Layout","lightbulb","Lightbulb","link","Link","lock","Lock","magic","Magic","manyToMany","ManyToMany","manyToOne","ManyToOne","manyWays","ManyWays","medium","Symbols","Medium","message","Message","microphone","Microphone","monitor","Monitor","moon","Moon","music","MusicNotes","oneToMany","OneToMany","oneToOne","OneToOne","oneWay","OneWay","paint","paintBrush","paperPlane","PaperPlane","pencil","Pencil","phone","Phone","picture","Image","pin","Pin","pinMap","PinMap","plane","Plane","play","Play","plus","Plus","priceTag","PriceTag","puzzle","PuzzlePiece","question","Question","quote","Quotes","refresh","ArrowClockwise","restaurant","Restaurant","rocket","Rocket","rotate","ArrowsCounterClockwise","scissors","Scissors","search","Search","seed","Plant","server","Server","shield","Shield","shirt","Shirt","shoppingCart","ShoppingCart","slideshow","PresentationChart","stack","Stack","star","Star","store","Store","strikeThrough","StrikeThrough","sun","Sun","television","Television","thumbDown","ThumbDown","thumbUp","ThumbUp","train","Train","twitter","X","typhoon","Typhoon","underline","Underline","user","User","volumeMute","VolumeMute","volumeUp","VolumeUp","walk","Walk","wheelchair","Wheelchair","write"],"mappings":";;;;;;AAaA,MAAMA,aAAAA,GAAgB,CAAC,EACrBC,cAAAA,GAAiB,IAAI,EACrBC,IAAAA,GAAO,WAAW,EAClB,GAAGC,KAAAA,EACgB,GAAA;AACnB,IAAA,MAAMC,OAAOC,eAAe,CAACH,IAAAA,CAAqC,IAAIG,gBAAgBC,SAAS;AAE/F,IAAA,qBACEC,GAAA,CAACC,IAAAA,EAAAA;QACCC,UAAAA,EAAW,QAAA;AACXC,QAAAA,UAAAA,EAAYT,iBAAiB,YAAA,GAAeU,SAAAA;QAC5CC,cAAAA,EAAe,QAAA;QACfC,MAAAA,EAAQ,CAAA;QACRC,KAAAA,EAAO,CAAA;QACPC,KAAAA,EAAM,YAAA;AACNC,QAAAA,YAAAA,EAAcf,iBAAiB,KAAA,GAAQ,CAAA;AACtC,QAAA,GAAGE,KAAK;AAET,QAAA,QAAA,gBAAAI,GAAA,CAACH,IAAAA,EAAAA;YAAKS,MAAAA,EAAO,MAAA;YAAOC,KAAAA,EAAM;;;AAGhC;AAEA,MAAMT,eAAAA,GAA4D;AAChEY,IAAAA,KAAAA,EAAOC,MAAMC,KAAK;AAClBC,IAAAA,IAAAA,EAAMF,MAAMG,QAAQ;AACpBC,IAAAA,OAAAA,EAASJ,MAAMK,OAAO;AACtBC,IAAAA,SAAAA,EAAWN,MAAMO,SAAS;AAC1BC,IAAAA,SAAAA,EAAWR,MAAMS,SAAS;AAC1BC,IAAAA,UAAAA,EAAYV,MAAMW,UAAU;AAC5BC,IAAAA,OAAAA,EAASZ,MAAMa,OAAO;AACtBC,IAAAA,UAAAA,EAAYd,MAAMe,SAAS;AAC3BC,IAAAA,IAAAA,EAAMhB,MAAMiB,IAAI;AAChBC,IAAAA,IAAAA,EAAMlB,MAAMmB,IAAI;AAChBC,IAAAA,IAAAA,EAAMpB,MAAMqB,IAAI;AAChBC,IAAAA,SAAAA,EAAWtB,MAAMuB,SAAS;AAC1BC,IAAAA,KAAAA,EAAOxB,MAAMyB,UAAU;AACvBC,IAAAA,UAAAA,EAAY1B,MAAM2B,UAAU;AAC5BC,IAAAA,QAAAA,EAAU5B,MAAM6B,QAAQ;AACxBC,IAAAA,GAAAA,EAAK9B,MAAM+B,GAAG;AACdC,IAAAA,IAAAA,EAAMhC,MAAMiC,IAAI;AAChBC,IAAAA,WAAAA,EAAalC,MAAMmC,WAAW;AAC9BC,IAAAA,WAAAA,EAAapC,MAAMqC,WAAW;AAC9BC,IAAAA,QAAAA,EAAUtC,MAAMuC,QAAQ;AACxBC,IAAAA,KAAAA,EAAOxC,MAAMyC,KAAK;AAClBC,IAAAA,KAAAA,EAAO1C,MAAM2C,KAAK;AAClBC,IAAAA,KAAAA,EAAO5C,MAAM6C,KAAK;AAClBC,IAAAA,IAAAA,EAAM9C,MAAM+C,IAAI;AAChBC,IAAAA,GAAAA,EAAKhD,MAAMiD,GAAG;AACdC,IAAAA,QAAAA,EAAUlD,MAAMmD,QAAQ;AACxBC,IAAAA,OAAAA,EAASpD,MAAMqD,OAAO;AACtBC,IAAAA,SAAAA,EAAWtD,MAAMuD,MAAM;AACvBC,IAAAA,IAAAA,EAAMxD,MAAMyD,IAAI;AAChBC,IAAAA,KAAAA,EAAO1D,MAAM2D,KAAK;AAClBC,IAAAA,GAAAA,EAAK5D,MAAM6D,MAAM;AACjBC,IAAAA,MAAAA,EAAQ9D,MAAM+D,MAAM;AACpB3E,IAAAA,SAAAA,EAAWY,MAAMgE,WAAW;AAC5BC,IAAAA,QAAAA,EAAUjE,MAAMkE,QAAQ;AACxBC,IAAAA,OAAAA,EAASnE,MAAMoE,OAAO;AACtBC,IAAAA,MAAAA,EAAQrE,MAAMsE,WAAW;AACzBC,IAAAA,KAAAA,EAAOvE,MAAMwE,KAAK;AAClBC,IAAAA,YAAAA,EAAczE,MAAM0E,YAAY;AAChCC,IAAAA,cAAAA,EAAgB3E,MAAM4E,cAAc;AACpCC,IAAAA,OAAAA,EAAS7E,MAAM8E,IAAI;AACnBC,IAAAA,IAAAA,EAAM/E,MAAMgF,OAAO;AACnBC,IAAAA,MAAAA,EAAQjF,MAAMkF,MAAM;AACpBC,IAAAA,GAAAA,EAAKnF,MAAMoF,GAAG;AACdC,IAAAA,OAAAA,EAASrF,MAAMsF,OAAO;AACtBC,IAAAA,IAAAA,EAAMvF,MAAMwF,IAAI;AAChBC,IAAAA,SAAAA,EAAWzF,MAAM0F,SAAS;AAC1BC,IAAAA,OAAAA,EAAS3F,MAAM4F,OAAO;AACtBC,IAAAA,OAAAA,EAAS7F,MAAM8F,OAAO;AACtBC,IAAAA,OAAAA,EAAS/F,MAAMgG,OAAO;AACtBC,IAAAA,OAAAA,EAASjG,MAAMkG,OAAO;AACtBC,IAAAA,MAAAA,EAAQnG,MAAMoG,MAAM;AACpBC,IAAAA,MAAAA,EAAQrG,MAAMsG,MAAM;AACpBC,IAAAA,IAAAA,EAAMvG,MAAMwG,YAAY;AACxBC,IAAAA,IAAAA,EAAMzG,MAAM0G,IAAI;AAChBC,IAAAA,KAAAA,EAAO3G,MAAM4G,KAAK;AAClBC,IAAAA,IAAAA,EAAM7G,MAAM8G,QAAQ;AACpBC,IAAAA,SAAAA,EAAW/G,MAAMgH,SAAS;AAC1BC,IAAAA,OAAAA,EAASjH,MAAMkH,OAAO;AACtBC,IAAAA,SAAAA,EAAWnH,MAAMoH,UAAU;AAC3BC,IAAAA,KAAAA,EAAOrH,MAAMsH,KAAK;AAClBC,IAAAA,KAAAA,EAAOvH,MAAMwH,KAAK;AAClBC,IAAAA,WAAAA,EAAazH,MAAM0H,WAAW;AAC9BC,IAAAA,MAAAA,EAAQ3H,MAAM4H,MAAM;AACpBC,IAAAA,GAAAA,EAAK7H,MAAM8H,GAAG;AACdC,IAAAA,SAAAA,EAAW/H,MAAMgI,MAAM;AACvBC,IAAAA,KAAAA,EAAOjI,MAAMkI,QAAQ;AACrBC,IAAAA,MAAAA,EAAQnI,MAAMoI,MAAM;AACpBC,IAAAA,SAAAA,EAAWrI,MAAMsI,SAAS;AAC1BC,IAAAA,IAAAA,EAAMvI,MAAMwI,IAAI;AAChBC,IAAAA,IAAAA,EAAMzI,MAAM0I,IAAI;AAChBC,IAAAA,KAAAA,EAAO3I,MAAM4I,KAAK;AAClBC,IAAAA,UAAAA,EAAY7I,MAAM8I,UAAU;AAC5BC,IAAAA,SAAAA,EAAW/I,MAAMgJ,SAAS;AAC1BC,IAAAA,QAAAA,EAAUjJ,MAAMkJ,QAAQ;AACxBC,IAAAA,MAAAA,EAAQC,QAAQC,MAAM;AACtBC,IAAAA,OAAAA,EAAStJ,MAAMuJ,OAAO;AACtBC,IAAAA,UAAAA,EAAYxJ,MAAMyJ,UAAU;AAC5BC,IAAAA,OAAAA,EAAS1J,MAAM2J,OAAO;AACtBC,IAAAA,IAAAA,EAAM5J,MAAM6J,IAAI;AAChBC,IAAAA,KAAAA,EAAO9J,MAAM+J,UAAU;AACvBC,IAAAA,SAAAA,EAAWhK,MAAMiK,SAAS;AAC1BC,IAAAA,QAAAA,EAAUlK,MAAMmK,QAAQ;AACxBC,IAAAA,MAAAA,EAAQpK,MAAMqK,MAAM;AACpBC,IAAAA,KAAAA,EAAOtK,MAAMyB,UAAU;AACvB8I,IAAAA,UAAAA,EAAYvK,MAAMyB,UAAU;AAC5B+I,IAAAA,UAAAA,EAAYxK,MAAMyK,UAAU;AAC5BC,IAAAA,MAAAA,EAAQ1K,MAAM2K,MAAM;AACpBC,IAAAA,KAAAA,EAAO5K,MAAM6K,KAAK;AAClBC,IAAAA,OAAAA,EAAS9K,MAAM+K,KAAK;AACpBC,IAAAA,GAAAA,EAAKhL,MAAMiL,GAAG;AACdC,IAAAA,MAAAA,EAAQlL,MAAMmL,MAAM;AACpBC,IAAAA,KAAAA,EAAOpL,MAAMqL,KAAK;AAClBC,IAAAA,IAAAA,EAAMtL,MAAMuL,IAAI;AAChBC,IAAAA,IAAAA,EAAMxL,MAAMyL,IAAI;AAChBC,IAAAA,QAAAA,EAAU1L,MAAM2L,QAAQ;AACxBC,IAAAA,MAAAA,EAAQ5L,MAAM6L,WAAW;AACzBC,IAAAA,QAAAA,EAAU9L,MAAM+L,QAAQ;AACxBC,IAAAA,KAAAA,EAAOhM,MAAMiM,MAAM;AACnBC,IAAAA,OAAAA,EAASlM,MAAMmM,cAAc;AAC7BC,IAAAA,UAAAA,EAAYpM,MAAMqM,UAAU;AAC5BC,IAAAA,MAAAA,EAAQtM,MAAMuM,MAAM;AACpBC,IAAAA,MAAAA,EAAQxM,MAAMyM,sBAAsB;AACpCC,IAAAA,QAAAA,EAAU1M,MAAM2M,QAAQ;AACxBC,IAAAA,MAAAA,EAAQ5M,MAAM6M,MAAM;AACpBC,IAAAA,IAAAA,EAAM9M,MAAM+M,KAAK;AACjBC,IAAAA,MAAAA,EAAQhN,MAAMiN,MAAM;AACpBC,IAAAA,MAAAA,EAAQlN,MAAMmN,MAAM;AACpBC,IAAAA,KAAAA,EAAOpN,MAAMqN,KAAK;AAClBC,IAAAA,YAAAA,EAActN,MAAMuN,YAAY;AAChCC,IAAAA,SAAAA,EAAWxN,MAAMyN,iBAAiB;AAClCC,IAAAA,KAAAA,EAAO1N,MAAM2N,KAAK;AAClBC,IAAAA,IAAAA,EAAM5N,MAAM6N,IAAI;AAChBC,IAAAA,KAAAA,EAAO9N,MAAM+N,KAAK;AAClBC,IAAAA,aAAAA,EAAehO,MAAMiO,aAAa;AAClCC,IAAAA,GAAAA,EAAKlO,MAAMmO,GAAG;AACdC,IAAAA,UAAAA,EAAYpO,MAAMqO,UAAU;AAC5BC,IAAAA,SAAAA,EAAWtO,MAAMuO,SAAS;AAC1BC,IAAAA,OAAAA,EAASxO,MAAMyO,OAAO;AACtBC,IAAAA,KAAAA,EAAO1O,MAAM2O,KAAK;AAClBC,IAAAA,OAAAA,EAASxF,QAAQyF,CAAC;AAClBC,IAAAA,OAAAA,EAAS9O,MAAM+O,OAAO;AACtBC,IAAAA,SAAAA,EAAWhP,MAAMiP,SAAS;AAC1BC,IAAAA,IAAAA,EAAMlP,MAAMmP,IAAI;AAChBC,IAAAA,UAAAA,EAAYpP,MAAMqP,UAAU;AAC5BC,IAAAA,QAAAA,EAAUtP,MAAMuP,QAAQ;AACxBC,IAAAA,IAAAA,EAAMxP,MAAMyP,IAAI;AAChBC,IAAAA,UAAAA,EAAY1P,MAAM2P,UAAU;AAC5BC,IAAAA,KAAAA,EAAO5P,MAAMsF;AACf;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditFieldForm.js","sources":["../../../../admin/src/components/ConfigurationForm/EditFieldForm.tsx"],"sourcesContent":["import {\n useNotification,\n InputRenderer,\n Form,\n InputProps,\n useField,\n} from '@strapi/admin/strapi-admin';\nimport { Button, Flex, Grid, Modal } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport * as yup from 'yup';\n\nimport { ATTRIBUTE_TYPES_THAT_CANNOT_BE_MAIN_FIELD } from '../../constants/attributes';\nimport { useGetInitialDataQuery } from '../../services/init';\nimport { capitalise } from '../../utils/strings';\nimport { getTranslation } from '../../utils/translations';\nimport { FieldTypeIcon } from '../FieldTypeIcon';\n\nimport { TEMP_FIELD_NAME } from './Fields';\n\nimport type { ConfigurationFormData } from './Form';\nimport type { Schema } from '@strapi/types';\n\n/* -------------------------------------------------------------------------------------------------\n * Constants\n * -----------------------------------------------------------------------------------------------*/\n\nconst FIELD_SCHEMA = yup.object().shape({\n label: yup.string().required().nullable(),\n description: yup.string().nullable(),\n placeholder: yup.string().nullable(),\n editable: yup.boolean(),\n size: yup.number().required(),\n});\n\n/* -------------------------------------------------------------------------------------------------\n * EditFieldForm\n * -----------------------------------------------------------------------------------------------*/\n\ninterface EditFieldFormProps {\n attribute?: Schema.Attribute.AnyAttribute;\n name: string;\n onClose: () => void;\n}\n\nconst EditFieldForm = ({ attribute, name, onClose }: EditFieldFormProps) => {\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n\n const { value, onChange } =\n useField<ConfigurationFormData['layout'][number]['children'][number]>(name);\n\n const { data: mainFieldOptions } = useGetInitialDataQuery(undefined, {\n selectFromResult: (res) => {\n if (attribute?.type !== 'relation' || !res.data) {\n return { data: [] };\n }\n\n if ('targetModel' in attribute && typeof attribute.targetModel === 'string') {\n const targetSchema = res.data.contentTypes.find(\n (schema) => schema.uid === attribute.targetModel\n );\n\n if (targetSchema) {\n return {\n data: Object.entries(targetSchema.attributes).reduce<\n Array<{ label: string; value: string }>\n >((acc, [key, attribute]) => {\n /**\n * Create the list of attributes from the schema as to which can\n * be our `mainField` and dictate the display name of the schema\n * we're editing.\n */\n if (!ATTRIBUTE_TYPES_THAT_CANNOT_BE_MAIN_FIELD.includes(attribute.type)) {\n acc.push({\n label: key,\n value: key,\n });\n }\n\n return acc;\n }, []),\n };\n }\n }\n\n return { data: [] };\n },\n skip: attribute?.type !== 'relation',\n });\n\n if (!value || value.name === TEMP_FIELD_NAME || !attribute) {\n // This is very unlikely to happen, but it ensures the form is not opened without a value.\n console.error(\n \"You've opened a field to edit without it being part of the form, this is likely a bug with Strapi. Please open an issue.\"\n );\n\n toggleNotification({\n message: formatMessage({\n id: 'content-manager.containers.edit-settings.modal-form.error',\n defaultMessage: 'An error occurred while trying to open the form.',\n }),\n type: 'danger',\n });\n\n return null;\n }\n\n return (\n <Modal.Content>\n <Form\n method=\"PUT\"\n initialValues={value}\n validationSchema={FIELD_SCHEMA}\n onSubmit={(data) => {\n onChange(name, data);\n onClose();\n }}\n >\n <Modal.Header>\n <Flex gap={3}>\n <FieldTypeIcon type={attribute.type} />\n <Modal.Title>\n {formatMessage(\n {\n id: 'content-manager.containers.edit-settings.modal-form.label',\n defaultMessage: 'Edit {fieldName}',\n },\n { fieldName: capitalise(value.name) }\n )}\n </Modal.Title>\n </Flex>\n </Modal.Header>\n <Modal.Body>\n <Grid.Root gap={4}>\n {[\n {\n name: 'label',\n label: formatMessage({\n id: getTranslation('containers.edit-settings.modal-form.label'),\n defaultMessage: 'Label',\n }),\n size: 6,\n type: 'string' as const,\n },\n {\n name: 'description',\n label: formatMessage({\n id: getTranslation('containers.edit-settings.modal-form.description'),\n defaultMessage: 'Description',\n }),\n size: 6,\n type: 'string' as const,\n },\n {\n name: 'placeholder',\n label: formatMessage({\n id: getTranslation('containers.edit-settings.modal-form.placeholder'),\n defaultMessage: 'Placeholder',\n }),\n size: 6,\n type: 'string' as const,\n },\n {\n name: 'editable',\n label: formatMessage({\n id: getTranslation('containers.edit-settings.modal-form.editable'),\n defaultMessage: 'Editable',\n }),\n size: 6,\n type: 'boolean' as const,\n },\n {\n name: 'mainField',\n label: formatMessage({\n id: getTranslation('containers.edit-settings.modal-form.mainField'),\n defaultMessage: 'Entry title',\n }),\n hint: formatMessage({\n id: getTranslation(\n 'containers.SettingPage.edit-settings.modal-form.mainField.hint'\n ),\n defaultMessage: 'Set the displayed field',\n }),\n size: 6,\n options: mainFieldOptions,\n type: 'enumeration' as const,\n },\n {\n name: 'size',\n label: formatMessage({\n id: getTranslation('containers.ListSettingsView.modal-form.size'),\n defaultMessage: 'Size',\n }),\n size: 6,\n options: [\n { value: '4', label: '33%' },\n { value: '6', label: '50%' },\n { value: '8', label: '66%' },\n { value: '12', label: '100%' },\n ],\n type: 'enumeration' as const,\n },\n ]\n .filter(filterFieldsBasedOnAttributeType(attribute.type))\n .map(({ size, ...field }) => (\n <Grid.Item\n key={field.name}\n col={size}\n xs={12}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <InputRenderer {...field} />\n </Grid.Item>\n ))}\n </Grid.Root>\n </Modal.Body>\n <Modal.Footer>\n <Modal.Close>\n <Button variant=\"tertiary\">\n {formatMessage({ id: 'app.components.Button.cancel', defaultMessage: 'Cancel' })}\n </Button>\n </Modal.Close>\n <Button type=\"submit\">\n {formatMessage({ id: 'global.finish', defaultMessage: 'Finish' })}\n </Button>\n </Modal.Footer>\n </Form>\n </Modal.Content>\n );\n};\n\n/**\n * @internal\n * @description not all edit fields have the same editable properties, it depends on the type\n * e.g. a dynamic zone can only change it's label.\n */\nconst filterFieldsBasedOnAttributeType = (type: Schema.Attribute.Kind) => (field: InputProps) => {\n switch (type) {\n case 'blocks':\n case 'richtext':\n return field.name !== 'size' && field.name !== 'mainField';\n case 'boolean':\n case 'media':\n return field.name !== 'placeholder' && field.name !== 'mainField';\n case 'component':\n return field.name === 'label' || field.name === 'editable';\n case 'dynamiczone':\n case 'json':\n return field.name !== 'placeholder' && field.name !== 'mainField' && field.name !== 'size';\n case 'relation':\n return true;\n default:\n return field.name !== 'mainField';\n }\n};\n\nexport { EditFieldForm };\nexport type { EditFieldFormProps };\n"],"names":["FIELD_SCHEMA","yup","object","shape","label","string","required","nullable","description","placeholder","editable","boolean","size","number","EditFieldForm","attribute","name","onClose","formatMessage","useIntl","toggleNotification","useNotification","value","onChange","useField","data","mainFieldOptions","useGetInitialDataQuery","undefined","selectFromResult","res","type","targetModel","targetSchema","contentTypes","find","schema","uid","Object","entries","attributes","reduce","acc","key","ATTRIBUTE_TYPES_THAT_CANNOT_BE_MAIN_FIELD","includes","push","skip","TEMP_FIELD_NAME","console","error","message","id","defaultMessage","_jsx","Modal","Content","_jsxs","Form","method","initialValues","validationSchema","onSubmit","Header","Flex","gap","FieldTypeIcon","Title","fieldName","capitalise","Body","Grid","Root","getTranslation","hint","options","filter","filterFieldsBasedOnAttributeType","map","field","Item","col","xs","direction","alignItems","InputRenderer","Footer","Close","Button","variant"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EditFieldForm.js","sources":["../../../../admin/src/components/ConfigurationForm/EditFieldForm.tsx"],"sourcesContent":["import {\n useNotification,\n InputRenderer,\n Form,\n InputProps,\n useField,\n} from '@strapi/admin/strapi-admin';\nimport { Button, Flex, Grid, Modal } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport * as yup from 'yup';\n\nimport { ATTRIBUTE_TYPES_THAT_CANNOT_BE_MAIN_FIELD } from '../../constants/attributes';\nimport { useGetInitialDataQuery } from '../../services/init';\nimport { capitalise } from '../../utils/strings';\nimport { getTranslation } from '../../utils/translations';\nimport { FieldTypeIcon } from '../FieldTypeIcon';\n\nimport { TEMP_FIELD_NAME } from './Fields';\n\nimport type { ConfigurationFormData } from './Form';\nimport type { Schema } from '@strapi/types';\n\n/* -------------------------------------------------------------------------------------------------\n * Constants\n * -----------------------------------------------------------------------------------------------*/\n\nconst FIELD_SCHEMA = yup.object().shape({\n label: yup.string().required().nullable(),\n description: yup.string().nullable(),\n placeholder: yup.string().nullable(),\n editable: yup.boolean(),\n size: yup.number().required(),\n});\n\n/* -------------------------------------------------------------------------------------------------\n * EditFieldForm\n * -----------------------------------------------------------------------------------------------*/\n\ninterface EditFieldFormProps {\n attribute?: Schema.Attribute.AnyAttribute;\n name: string;\n onClose: () => void;\n}\n\nconst EditFieldForm = ({ attribute, name, onClose }: EditFieldFormProps) => {\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n\n const { value, onChange } =\n useField<ConfigurationFormData['layout'][number]['children'][number]>(name);\n\n const { data: mainFieldOptions } = useGetInitialDataQuery(undefined, {\n selectFromResult: (res) => {\n if (attribute?.type !== 'relation' || !res.data) {\n return { data: [] };\n }\n\n if ('targetModel' in attribute && typeof attribute.targetModel === 'string') {\n const targetSchema = res.data.contentTypes.find(\n (schema) => schema.uid === attribute.targetModel\n );\n\n if (targetSchema) {\n return {\n data: Object.entries(targetSchema.attributes).reduce<\n Array<{ label: string; value: string }>\n >((acc, [key, attribute]) => {\n /**\n * Create the list of attributes from the schema as to which can\n * be our `mainField` and dictate the display name of the schema\n * we're editing.\n */\n if (!ATTRIBUTE_TYPES_THAT_CANNOT_BE_MAIN_FIELD.includes(attribute.type)) {\n acc.push({\n label: key,\n value: key,\n });\n }\n\n return acc;\n }, []),\n };\n }\n }\n\n return { data: [] };\n },\n skip: attribute?.type !== 'relation',\n });\n\n if (!value || value.name === TEMP_FIELD_NAME || !attribute) {\n // This is very unlikely to happen, but it ensures the form is not opened without a value.\n console.error(\n \"You've opened a field to edit without it being part of the form, this is likely a bug with Strapi. Please open an issue.\"\n );\n\n toggleNotification({\n message: formatMessage({\n id: 'content-manager.containers.edit-settings.modal-form.error',\n defaultMessage: 'An error occurred while trying to open the form.',\n }),\n type: 'danger',\n });\n\n return null;\n }\n\n return (\n <Modal.Content>\n <Form\n method=\"PUT\"\n initialValues={value}\n validationSchema={FIELD_SCHEMA}\n onSubmit={(data) => {\n onChange(name, data);\n onClose();\n }}\n >\n <Modal.Header>\n <Flex gap={3}>\n <FieldTypeIcon type={attribute.type} />\n <Modal.Title>\n {formatMessage(\n {\n id: 'content-manager.containers.edit-settings.modal-form.label',\n defaultMessage: 'Edit {fieldName}',\n },\n { fieldName: capitalise(value.name) }\n )}\n </Modal.Title>\n </Flex>\n </Modal.Header>\n <Modal.Body>\n <Grid.Root gap={4}>\n {[\n {\n name: 'label',\n label: formatMessage({\n id: getTranslation('containers.edit-settings.modal-form.label'),\n defaultMessage: 'Label',\n }),\n size: 6,\n type: 'string' as const,\n },\n {\n name: 'description',\n label: formatMessage({\n id: getTranslation('containers.edit-settings.modal-form.description'),\n defaultMessage: 'Description',\n }),\n size: 6,\n type: 'string' as const,\n },\n {\n name: 'placeholder',\n label: formatMessage({\n id: getTranslation('containers.edit-settings.modal-form.placeholder'),\n defaultMessage: 'Placeholder',\n }),\n size: 6,\n type: 'string' as const,\n },\n {\n name: 'editable',\n label: formatMessage({\n id: getTranslation('containers.edit-settings.modal-form.editable'),\n defaultMessage: 'Editable',\n }),\n size: 6,\n type: 'boolean' as const,\n },\n {\n name: 'mainField',\n label: formatMessage({\n id: getTranslation('containers.edit-settings.modal-form.mainField'),\n defaultMessage: 'Entry title',\n }),\n hint: formatMessage({\n id: getTranslation(\n 'containers.SettingPage.edit-settings.modal-form.mainField.hint'\n ),\n defaultMessage: 'Set the displayed field',\n }),\n size: 6,\n options: mainFieldOptions,\n type: 'enumeration' as const,\n },\n {\n name: 'size',\n label: formatMessage({\n id: getTranslation('containers.ListSettingsView.modal-form.size'),\n defaultMessage: 'Size',\n }),\n size: 6,\n options: [\n { value: '4', label: '33%' },\n { value: '6', label: '50%' },\n { value: '8', label: '66%' },\n { value: '12', label: '100%' },\n ],\n type: 'enumeration' as const,\n },\n ]\n .filter(filterFieldsBasedOnAttributeType(attribute.type))\n .map(({ size, ...field }) => (\n <Grid.Item\n key={field.name}\n col={size}\n xs={12}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <InputRenderer {...field} />\n </Grid.Item>\n ))}\n </Grid.Root>\n </Modal.Body>\n <Modal.Footer>\n <Modal.Close>\n <Button variant=\"tertiary\">\n {formatMessage({ id: 'app.components.Button.cancel', defaultMessage: 'Cancel' })}\n </Button>\n </Modal.Close>\n <Button type=\"submit\">\n {formatMessage({ id: 'global.finish', defaultMessage: 'Finish' })}\n </Button>\n </Modal.Footer>\n </Form>\n </Modal.Content>\n );\n};\n\n/**\n * @internal\n * @description not all edit fields have the same editable properties, it depends on the type\n * e.g. a dynamic zone can only change it's label.\n */\nconst filterFieldsBasedOnAttributeType = (type: Schema.Attribute.Kind) => (field: InputProps) => {\n switch (type) {\n case 'blocks':\n case 'richtext':\n return field.name !== 'size' && field.name !== 'mainField';\n case 'boolean':\n case 'media':\n return field.name !== 'placeholder' && field.name !== 'mainField';\n case 'component':\n return field.name === 'label' || field.name === 'editable';\n case 'dynamiczone':\n case 'json':\n return field.name !== 'placeholder' && field.name !== 'mainField' && field.name !== 'size';\n case 'relation':\n return true;\n default:\n return field.name !== 'mainField';\n }\n};\n\nexport { EditFieldForm };\nexport type { EditFieldFormProps };\n"],"names":["FIELD_SCHEMA","yup","object","shape","label","string","required","nullable","description","placeholder","editable","boolean","size","number","EditFieldForm","attribute","name","onClose","formatMessage","useIntl","toggleNotification","useNotification","value","onChange","useField","data","mainFieldOptions","useGetInitialDataQuery","undefined","selectFromResult","res","type","targetModel","targetSchema","contentTypes","find","schema","uid","Object","entries","attributes","reduce","acc","key","ATTRIBUTE_TYPES_THAT_CANNOT_BE_MAIN_FIELD","includes","push","skip","TEMP_FIELD_NAME","console","error","message","id","defaultMessage","_jsx","Modal","Content","_jsxs","Form","method","initialValues","validationSchema","onSubmit","Header","Flex","gap","FieldTypeIcon","Title","fieldName","capitalise","Body","Grid","Root","getTranslation","hint","options","filter","filterFieldsBasedOnAttributeType","map","field","Item","col","xs","direction","alignItems","InputRenderer","Footer","Close","Button","variant"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditFieldForm.mjs","sources":["../../../../admin/src/components/ConfigurationForm/EditFieldForm.tsx"],"sourcesContent":["import {\n useNotification,\n InputRenderer,\n Form,\n InputProps,\n useField,\n} from '@strapi/admin/strapi-admin';\nimport { Button, Flex, Grid, Modal } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport * as yup from 'yup';\n\nimport { ATTRIBUTE_TYPES_THAT_CANNOT_BE_MAIN_FIELD } from '../../constants/attributes';\nimport { useGetInitialDataQuery } from '../../services/init';\nimport { capitalise } from '../../utils/strings';\nimport { getTranslation } from '../../utils/translations';\nimport { FieldTypeIcon } from '../FieldTypeIcon';\n\nimport { TEMP_FIELD_NAME } from './Fields';\n\nimport type { ConfigurationFormData } from './Form';\nimport type { Schema } from '@strapi/types';\n\n/* -------------------------------------------------------------------------------------------------\n * Constants\n * -----------------------------------------------------------------------------------------------*/\n\nconst FIELD_SCHEMA = yup.object().shape({\n label: yup.string().required().nullable(),\n description: yup.string().nullable(),\n placeholder: yup.string().nullable(),\n editable: yup.boolean(),\n size: yup.number().required(),\n});\n\n/* -------------------------------------------------------------------------------------------------\n * EditFieldForm\n * -----------------------------------------------------------------------------------------------*/\n\ninterface EditFieldFormProps {\n attribute?: Schema.Attribute.AnyAttribute;\n name: string;\n onClose: () => void;\n}\n\nconst EditFieldForm = ({ attribute, name, onClose }: EditFieldFormProps) => {\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n\n const { value, onChange } =\n useField<ConfigurationFormData['layout'][number]['children'][number]>(name);\n\n const { data: mainFieldOptions } = useGetInitialDataQuery(undefined, {\n selectFromResult: (res) => {\n if (attribute?.type !== 'relation' || !res.data) {\n return { data: [] };\n }\n\n if ('targetModel' in attribute && typeof attribute.targetModel === 'string') {\n const targetSchema = res.data.contentTypes.find(\n (schema) => schema.uid === attribute.targetModel\n );\n\n if (targetSchema) {\n return {\n data: Object.entries(targetSchema.attributes).reduce<\n Array<{ label: string; value: string }>\n >((acc, [key, attribute]) => {\n /**\n * Create the list of attributes from the schema as to which can\n * be our `mainField` and dictate the display name of the schema\n * we're editing.\n */\n if (!ATTRIBUTE_TYPES_THAT_CANNOT_BE_MAIN_FIELD.includes(attribute.type)) {\n acc.push({\n label: key,\n value: key,\n });\n }\n\n return acc;\n }, []),\n };\n }\n }\n\n return { data: [] };\n },\n skip: attribute?.type !== 'relation',\n });\n\n if (!value || value.name === TEMP_FIELD_NAME || !attribute) {\n // This is very unlikely to happen, but it ensures the form is not opened without a value.\n console.error(\n \"You've opened a field to edit without it being part of the form, this is likely a bug with Strapi. Please open an issue.\"\n );\n\n toggleNotification({\n message: formatMessage({\n id: 'content-manager.containers.edit-settings.modal-form.error',\n defaultMessage: 'An error occurred while trying to open the form.',\n }),\n type: 'danger',\n });\n\n return null;\n }\n\n return (\n <Modal.Content>\n <Form\n method=\"PUT\"\n initialValues={value}\n validationSchema={FIELD_SCHEMA}\n onSubmit={(data) => {\n onChange(name, data);\n onClose();\n }}\n >\n <Modal.Header>\n <Flex gap={3}>\n <FieldTypeIcon type={attribute.type} />\n <Modal.Title>\n {formatMessage(\n {\n id: 'content-manager.containers.edit-settings.modal-form.label',\n defaultMessage: 'Edit {fieldName}',\n },\n { fieldName: capitalise(value.name) }\n )}\n </Modal.Title>\n </Flex>\n </Modal.Header>\n <Modal.Body>\n <Grid.Root gap={4}>\n {[\n {\n name: 'label',\n label: formatMessage({\n id: getTranslation('containers.edit-settings.modal-form.label'),\n defaultMessage: 'Label',\n }),\n size: 6,\n type: 'string' as const,\n },\n {\n name: 'description',\n label: formatMessage({\n id: getTranslation('containers.edit-settings.modal-form.description'),\n defaultMessage: 'Description',\n }),\n size: 6,\n type: 'string' as const,\n },\n {\n name: 'placeholder',\n label: formatMessage({\n id: getTranslation('containers.edit-settings.modal-form.placeholder'),\n defaultMessage: 'Placeholder',\n }),\n size: 6,\n type: 'string' as const,\n },\n {\n name: 'editable',\n label: formatMessage({\n id: getTranslation('containers.edit-settings.modal-form.editable'),\n defaultMessage: 'Editable',\n }),\n size: 6,\n type: 'boolean' as const,\n },\n {\n name: 'mainField',\n label: formatMessage({\n id: getTranslation('containers.edit-settings.modal-form.mainField'),\n defaultMessage: 'Entry title',\n }),\n hint: formatMessage({\n id: getTranslation(\n 'containers.SettingPage.edit-settings.modal-form.mainField.hint'\n ),\n defaultMessage: 'Set the displayed field',\n }),\n size: 6,\n options: mainFieldOptions,\n type: 'enumeration' as const,\n },\n {\n name: 'size',\n label: formatMessage({\n id: getTranslation('containers.ListSettingsView.modal-form.size'),\n defaultMessage: 'Size',\n }),\n size: 6,\n options: [\n { value: '4', label: '33%' },\n { value: '6', label: '50%' },\n { value: '8', label: '66%' },\n { value: '12', label: '100%' },\n ],\n type: 'enumeration' as const,\n },\n ]\n .filter(filterFieldsBasedOnAttributeType(attribute.type))\n .map(({ size, ...field }) => (\n <Grid.Item\n key={field.name}\n col={size}\n xs={12}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <InputRenderer {...field} />\n </Grid.Item>\n ))}\n </Grid.Root>\n </Modal.Body>\n <Modal.Footer>\n <Modal.Close>\n <Button variant=\"tertiary\">\n {formatMessage({ id: 'app.components.Button.cancel', defaultMessage: 'Cancel' })}\n </Button>\n </Modal.Close>\n <Button type=\"submit\">\n {formatMessage({ id: 'global.finish', defaultMessage: 'Finish' })}\n </Button>\n </Modal.Footer>\n </Form>\n </Modal.Content>\n );\n};\n\n/**\n * @internal\n * @description not all edit fields have the same editable properties, it depends on the type\n * e.g. a dynamic zone can only change it's label.\n */\nconst filterFieldsBasedOnAttributeType = (type: Schema.Attribute.Kind) => (field: InputProps) => {\n switch (type) {\n case 'blocks':\n case 'richtext':\n return field.name !== 'size' && field.name !== 'mainField';\n case 'boolean':\n case 'media':\n return field.name !== 'placeholder' && field.name !== 'mainField';\n case 'component':\n return field.name === 'label' || field.name === 'editable';\n case 'dynamiczone':\n case 'json':\n return field.name !== 'placeholder' && field.name !== 'mainField' && field.name !== 'size';\n case 'relation':\n return true;\n default:\n return field.name !== 'mainField';\n }\n};\n\nexport { EditFieldForm };\nexport type { EditFieldFormProps };\n"],"names":["FIELD_SCHEMA","yup","object","shape","label","string","required","nullable","description","placeholder","editable","boolean","size","number","EditFieldForm","attribute","name","onClose","formatMessage","useIntl","toggleNotification","useNotification","value","onChange","useField","data","mainFieldOptions","useGetInitialDataQuery","undefined","selectFromResult","res","type","targetModel","targetSchema","contentTypes","find","schema","uid","Object","entries","attributes","reduce","acc","key","ATTRIBUTE_TYPES_THAT_CANNOT_BE_MAIN_FIELD","includes","push","skip","TEMP_FIELD_NAME","console","error","message","id","defaultMessage","_jsx","Modal","Content","_jsxs","Form","method","initialValues","validationSchema","onSubmit","Header","Flex","gap","FieldTypeIcon","Title","fieldName","capitalise","Body","Grid","Root","getTranslation","hint","options","filter","filterFieldsBasedOnAttributeType","map","field","Item","col","xs","direction","alignItems","InputRenderer","Footer","Close","Button","variant"],"mappings":";;;;;;;;;;;;AAsBA;;AAEkG,qGAElG,MAAMA,YAAeC,GAAAA,GAAAA,CAAIC,MAAM,EAAA,CAAGC,KAAK,CAAC;AACtCC,IAAAA,KAAAA,EAAOH,GAAII,CAAAA,MAAM,EAAGC,CAAAA,QAAQ,GAAGC,QAAQ,EAAA;IACvCC,WAAaP,EAAAA,GAAAA,CAAII,MAAM,EAAA,CAAGE,QAAQ,EAAA;IAClCE,WAAaR,EAAAA,GAAAA,CAAII,MAAM,EAAA,CAAGE,QAAQ,EAAA;AAClCG,IAAAA,QAAAA,EAAUT,IAAIU,OAAO,EAAA;IACrBC,IAAMX,EAAAA,GAAAA,CAAIY,MAAM,EAAA,CAAGP,QAAQ;AAC7B,CAAA,CAAA;AAYMQ,MAAAA,aAAAA,GAAgB,CAAC,EAAEC,SAAS,EAAEC,IAAI,EAAEC,OAAO,EAAsB,GAAA;IACrE,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;IAC1B,MAAM,EAAEC,kBAAkB,EAAE,GAAGC,eAAAA,EAAAA;AAE/B,IAAA,MAAM,EAAEC,KAAK,EAAEC,QAAQ,EAAE,GACvBC,QAAsER,CAAAA,IAAAA,CAAAA;AAExE,IAAA,MAAM,EAAES,IAAMC,EAAAA,gBAAgB,EAAE,GAAGC,uBAAuBC,SAAW,EAAA;AACnEC,QAAAA,gBAAAA,EAAkB,CAACC,GAAAA,GAAAA;AACjB,YAAA,IAAIf,WAAWgB,IAAS,KAAA,UAAA,IAAc,CAACD,GAAAA,CAAIL,IAAI,EAAE;gBAC/C,OAAO;AAAEA,oBAAAA,IAAAA,EAAM;AAAG,iBAAA;AACpB;AAEA,YAAA,IAAI,iBAAiBV,SAAa,IAAA,OAAOA,SAAUiB,CAAAA,WAAW,KAAK,QAAU,EAAA;AAC3E,gBAAA,MAAMC,YAAeH,GAAAA,GAAAA,CAAIL,IAAI,CAACS,YAAY,CAACC,IAAI,CAC7C,CAACC,MAAWA,GAAAA,MAAAA,CAAOC,GAAG,KAAKtB,UAAUiB,WAAW,CAAA;AAGlD,gBAAA,IAAIC,YAAc,EAAA;oBAChB,OAAO;AACLR,wBAAAA,IAAAA,EAAMa,MAAOC,CAAAA,OAAO,CAACN,YAAAA,CAAaO,UAAU,CAAA,CAAEC,MAAM,CAElD,CAACC,GAAAA,EAAK,CAACC,GAAAA,EAAK5B,SAAU,CAAA,GAAA;AACtB;;;;AAIC,kBACD,IAAI,CAAC6B,yCAAAA,CAA0CC,QAAQ,CAAC9B,SAAAA,CAAUgB,IAAI,CAAG,EAAA;AACvEW,gCAAAA,GAAAA,CAAII,IAAI,CAAC;oCACP1C,KAAOuC,EAAAA,GAAAA;oCACPrB,KAAOqB,EAAAA;AACT,iCAAA,CAAA;AACF;4BAEA,OAAOD,GAAAA;AACT,yBAAA,EAAG,EAAE;AACP,qBAAA;AACF;AACF;YAEA,OAAO;AAAEjB,gBAAAA,IAAAA,EAAM;AAAG,aAAA;AACpB,SAAA;AACAsB,QAAAA,IAAAA,EAAMhC,WAAWgB,IAAS,KAAA;AAC5B,KAAA,CAAA;AAEA,IAAA,IAAI,CAACT,KAASA,IAAAA,KAAAA,CAAMN,IAAI,KAAKgC,eAAAA,IAAmB,CAACjC,SAAW,EAAA;;AAE1DkC,QAAAA,OAAAA,CAAQC,KAAK,CACX,0HAAA,CAAA;QAGF9B,kBAAmB,CAAA;AACjB+B,YAAAA,OAAAA,EAASjC,aAAc,CAAA;gBACrBkC,EAAI,EAAA,2DAAA;gBACJC,cAAgB,EAAA;AAClB,aAAA,CAAA;YACAtB,IAAM,EAAA;AACR,SAAA,CAAA;QAEA,OAAO,IAAA;AACT;IAEA,qBACEuB,GAAA,CAACC,MAAMC,OAAO,EAAA;AACZ,QAAA,QAAA,gBAAAC,IAACC,CAAAA,IAAAA,EAAAA;YACCC,MAAO,EAAA,KAAA;YACPC,aAAetC,EAAAA,KAAAA;YACfuC,gBAAkB7D,EAAAA,YAAAA;AAClB8D,YAAAA,QAAAA,EAAU,CAACrC,IAAAA,GAAAA;AACTF,gBAAAA,QAAAA,CAASP,IAAMS,EAAAA,IAAAA,CAAAA;AACfR,gBAAAA,OAAAA,EAAAA;AACF,aAAA;;AAEA,8BAAAqC,GAAA,CAACC,MAAMQ,MAAM,EAAA;AACX,oBAAA,QAAA,gBAAAN,IAACO,CAAAA,IAAAA,EAAAA;wBAAKC,GAAK,EAAA,CAAA;;0CACTX,GAACY,CAAAA,aAAAA,EAAAA;AAAcnC,gCAAAA,IAAAA,EAAMhB,UAAUgB;;AAC/B,0CAAAuB,GAAA,CAACC,MAAMY,KAAK,EAAA;0CACTjD,aACC,CAAA;oCACEkC,EAAI,EAAA,2DAAA;oCACJC,cAAgB,EAAA;iCAElB,EAAA;oCAAEe,SAAWC,EAAAA,UAAAA,CAAW/C,MAAMN,IAAI;AAAE,iCAAA;;;;;AAK5C,8BAAAsC,GAAA,CAACC,MAAMe,IAAI,EAAA;4CACThB,GAAA,CAACiB,KAAKC,IAAI,EAAA;wBAACP,GAAK,EAAA,CAAA;AACb,wBAAA,QAAA,EAAA;AACC,4BAAA;gCACEjD,IAAM,EAAA,OAAA;AACNZ,gCAAAA,KAAAA,EAAOc,aAAc,CAAA;AACnBkC,oCAAAA,EAAAA,EAAIqB,cAAe,CAAA,2CAAA,CAAA;oCACnBpB,cAAgB,EAAA;AAClB,iCAAA,CAAA;gCACAzC,IAAM,EAAA,CAAA;gCACNmB,IAAM,EAAA;AACR,6BAAA;AACA,4BAAA;gCACEf,IAAM,EAAA,aAAA;AACNZ,gCAAAA,KAAAA,EAAOc,aAAc,CAAA;AACnBkC,oCAAAA,EAAAA,EAAIqB,cAAe,CAAA,iDAAA,CAAA;oCACnBpB,cAAgB,EAAA;AAClB,iCAAA,CAAA;gCACAzC,IAAM,EAAA,CAAA;gCACNmB,IAAM,EAAA;AACR,6BAAA;AACA,4BAAA;gCACEf,IAAM,EAAA,aAAA;AACNZ,gCAAAA,KAAAA,EAAOc,aAAc,CAAA;AACnBkC,oCAAAA,EAAAA,EAAIqB,cAAe,CAAA,iDAAA,CAAA;oCACnBpB,cAAgB,EAAA;AAClB,iCAAA,CAAA;gCACAzC,IAAM,EAAA,CAAA;gCACNmB,IAAM,EAAA;AACR,6BAAA;AACA,4BAAA;gCACEf,IAAM,EAAA,UAAA;AACNZ,gCAAAA,KAAAA,EAAOc,aAAc,CAAA;AACnBkC,oCAAAA,EAAAA,EAAIqB,cAAe,CAAA,8CAAA,CAAA;oCACnBpB,cAAgB,EAAA;AAClB,iCAAA,CAAA;gCACAzC,IAAM,EAAA,CAAA;gCACNmB,IAAM,EAAA;AACR,6BAAA;AACA,4BAAA;gCACEf,IAAM,EAAA,WAAA;AACNZ,gCAAAA,KAAAA,EAAOc,aAAc,CAAA;AACnBkC,oCAAAA,EAAAA,EAAIqB,cAAe,CAAA,+CAAA,CAAA;oCACnBpB,cAAgB,EAAA;AAClB,iCAAA,CAAA;AACAqB,gCAAAA,IAAAA,EAAMxD,aAAc,CAAA;AAClBkC,oCAAAA,EAAAA,EAAIqB,cACF,CAAA,gEAAA,CAAA;oCAEFpB,cAAgB,EAAA;AAClB,iCAAA,CAAA;gCACAzC,IAAM,EAAA,CAAA;gCACN+D,OAASjD,EAAAA,gBAAAA;gCACTK,IAAM,EAAA;AACR,6BAAA;AACA,4BAAA;gCACEf,IAAM,EAAA,MAAA;AACNZ,gCAAAA,KAAAA,EAAOc,aAAc,CAAA;AACnBkC,oCAAAA,EAAAA,EAAIqB,cAAe,CAAA,6CAAA,CAAA;oCACnBpB,cAAgB,EAAA;AAClB,iCAAA,CAAA;gCACAzC,IAAM,EAAA,CAAA;gCACN+D,OAAS,EAAA;AACP,oCAAA;wCAAErD,KAAO,EAAA,GAAA;wCAAKlB,KAAO,EAAA;AAAM,qCAAA;AAC3B,oCAAA;wCAAEkB,KAAO,EAAA,GAAA;wCAAKlB,KAAO,EAAA;AAAM,qCAAA;AAC3B,oCAAA;wCAAEkB,KAAO,EAAA,GAAA;wCAAKlB,KAAO,EAAA;AAAM,qCAAA;AAC3B,oCAAA;wCAAEkB,KAAO,EAAA,IAAA;wCAAMlB,KAAO,EAAA;AAAO;AAC9B,iCAAA;gCACD2B,IAAM,EAAA;AACR;AACD,yBAAA,CACE6C,MAAM,CAACC,gCAAAA,CAAiC9D,SAAUgB,CAAAA,IAAI,GACtD+C,GAAG,CAAC,CAAC,EAAElE,IAAI,EAAE,GAAGmE,OAAO,iBACtBzB,GAAA,CAACiB,KAAKS,IAAI,EAAA;gCAERC,GAAKrE,EAAAA,IAAAA;gCACLsE,EAAI,EAAA,EAAA;gCACJC,SAAU,EAAA,QAAA;gCACVC,UAAW,EAAA,SAAA;AAEX,gCAAA,QAAA,gBAAA9B,GAAC+B,CAAAA,aAAAA,EAAAA;AAAe,oCAAA,GAAGN;;AANdA,6BAAAA,EAAAA,KAAAA,CAAM/D,IAAI,CAAA;;;AAWzB,8BAAAyC,IAAA,CAACF,MAAM+B,MAAM,EAAA;;AACX,sCAAAhC,GAAA,CAACC,MAAMgC,KAAK,EAAA;AACV,4BAAA,QAAA,gBAAAjC,GAACkC,CAAAA,MAAAA,EAAAA;gCAAOC,OAAQ,EAAA,UAAA;0CACbvE,aAAc,CAAA;oCAAEkC,EAAI,EAAA,8BAAA;oCAAgCC,cAAgB,EAAA;AAAS,iCAAA;;;sCAGlFC,GAACkC,CAAAA,MAAAA,EAAAA;4BAAOzD,IAAK,EAAA,QAAA;sCACVb,aAAc,CAAA;gCAAEkC,EAAI,EAAA,eAAA;gCAAiBC,cAAgB,EAAA;AAAS,6BAAA;;;;;;;AAM3E;AAEA;;;;AAIC,IACD,MAAMwB,gCAAAA,GAAmC,CAAC9C,IAAAA,GAAgC,CAACgD,KAAAA,GAAAA;QACzE,OAAQhD,IAAAA;YACN,KAAK,QAAA;YACL,KAAK,UAAA;AACH,gBAAA,OAAOgD,MAAM/D,IAAI,KAAK,MAAU+D,IAAAA,KAAAA,CAAM/D,IAAI,KAAK,WAAA;YACjD,KAAK,SAAA;YACL,KAAK,OAAA;AACH,gBAAA,OAAO+D,MAAM/D,IAAI,KAAK,aAAiB+D,IAAAA,KAAAA,CAAM/D,IAAI,KAAK,WAAA;YACxD,KAAK,WAAA;AACH,gBAAA,OAAO+D,MAAM/D,IAAI,KAAK,OAAW+D,IAAAA,KAAAA,CAAM/D,IAAI,KAAK,UAAA;YAClD,KAAK,aAAA;YACL,KAAK,MAAA;gBACH,OAAO+D,KAAAA,CAAM/D,IAAI,KAAK,aAAiB+D,IAAAA,KAAAA,CAAM/D,IAAI,KAAK,WAAA,IAAe+D,KAAM/D,CAAAA,IAAI,KAAK,MAAA;YACtF,KAAK,UAAA;gBACH,OAAO,IAAA;AACT,YAAA;gBACE,OAAO+D,KAAAA,CAAM/D,IAAI,KAAK,WAAA;AAC1B;AACF,KAAA;;;;"}
|
|
1
|
+
{"version":3,"file":"EditFieldForm.mjs","sources":["../../../../admin/src/components/ConfigurationForm/EditFieldForm.tsx"],"sourcesContent":["import {\n useNotification,\n InputRenderer,\n Form,\n InputProps,\n useField,\n} from '@strapi/admin/strapi-admin';\nimport { Button, Flex, Grid, Modal } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport * as yup from 'yup';\n\nimport { ATTRIBUTE_TYPES_THAT_CANNOT_BE_MAIN_FIELD } from '../../constants/attributes';\nimport { useGetInitialDataQuery } from '../../services/init';\nimport { capitalise } from '../../utils/strings';\nimport { getTranslation } from '../../utils/translations';\nimport { FieldTypeIcon } from '../FieldTypeIcon';\n\nimport { TEMP_FIELD_NAME } from './Fields';\n\nimport type { ConfigurationFormData } from './Form';\nimport type { Schema } from '@strapi/types';\n\n/* -------------------------------------------------------------------------------------------------\n * Constants\n * -----------------------------------------------------------------------------------------------*/\n\nconst FIELD_SCHEMA = yup.object().shape({\n label: yup.string().required().nullable(),\n description: yup.string().nullable(),\n placeholder: yup.string().nullable(),\n editable: yup.boolean(),\n size: yup.number().required(),\n});\n\n/* -------------------------------------------------------------------------------------------------\n * EditFieldForm\n * -----------------------------------------------------------------------------------------------*/\n\ninterface EditFieldFormProps {\n attribute?: Schema.Attribute.AnyAttribute;\n name: string;\n onClose: () => void;\n}\n\nconst EditFieldForm = ({ attribute, name, onClose }: EditFieldFormProps) => {\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n\n const { value, onChange } =\n useField<ConfigurationFormData['layout'][number]['children'][number]>(name);\n\n const { data: mainFieldOptions } = useGetInitialDataQuery(undefined, {\n selectFromResult: (res) => {\n if (attribute?.type !== 'relation' || !res.data) {\n return { data: [] };\n }\n\n if ('targetModel' in attribute && typeof attribute.targetModel === 'string') {\n const targetSchema = res.data.contentTypes.find(\n (schema) => schema.uid === attribute.targetModel\n );\n\n if (targetSchema) {\n return {\n data: Object.entries(targetSchema.attributes).reduce<\n Array<{ label: string; value: string }>\n >((acc, [key, attribute]) => {\n /**\n * Create the list of attributes from the schema as to which can\n * be our `mainField` and dictate the display name of the schema\n * we're editing.\n */\n if (!ATTRIBUTE_TYPES_THAT_CANNOT_BE_MAIN_FIELD.includes(attribute.type)) {\n acc.push({\n label: key,\n value: key,\n });\n }\n\n return acc;\n }, []),\n };\n }\n }\n\n return { data: [] };\n },\n skip: attribute?.type !== 'relation',\n });\n\n if (!value || value.name === TEMP_FIELD_NAME || !attribute) {\n // This is very unlikely to happen, but it ensures the form is not opened without a value.\n console.error(\n \"You've opened a field to edit without it being part of the form, this is likely a bug with Strapi. Please open an issue.\"\n );\n\n toggleNotification({\n message: formatMessage({\n id: 'content-manager.containers.edit-settings.modal-form.error',\n defaultMessage: 'An error occurred while trying to open the form.',\n }),\n type: 'danger',\n });\n\n return null;\n }\n\n return (\n <Modal.Content>\n <Form\n method=\"PUT\"\n initialValues={value}\n validationSchema={FIELD_SCHEMA}\n onSubmit={(data) => {\n onChange(name, data);\n onClose();\n }}\n >\n <Modal.Header>\n <Flex gap={3}>\n <FieldTypeIcon type={attribute.type} />\n <Modal.Title>\n {formatMessage(\n {\n id: 'content-manager.containers.edit-settings.modal-form.label',\n defaultMessage: 'Edit {fieldName}',\n },\n { fieldName: capitalise(value.name) }\n )}\n </Modal.Title>\n </Flex>\n </Modal.Header>\n <Modal.Body>\n <Grid.Root gap={4}>\n {[\n {\n name: 'label',\n label: formatMessage({\n id: getTranslation('containers.edit-settings.modal-form.label'),\n defaultMessage: 'Label',\n }),\n size: 6,\n type: 'string' as const,\n },\n {\n name: 'description',\n label: formatMessage({\n id: getTranslation('containers.edit-settings.modal-form.description'),\n defaultMessage: 'Description',\n }),\n size: 6,\n type: 'string' as const,\n },\n {\n name: 'placeholder',\n label: formatMessage({\n id: getTranslation('containers.edit-settings.modal-form.placeholder'),\n defaultMessage: 'Placeholder',\n }),\n size: 6,\n type: 'string' as const,\n },\n {\n name: 'editable',\n label: formatMessage({\n id: getTranslation('containers.edit-settings.modal-form.editable'),\n defaultMessage: 'Editable',\n }),\n size: 6,\n type: 'boolean' as const,\n },\n {\n name: 'mainField',\n label: formatMessage({\n id: getTranslation('containers.edit-settings.modal-form.mainField'),\n defaultMessage: 'Entry title',\n }),\n hint: formatMessage({\n id: getTranslation(\n 'containers.SettingPage.edit-settings.modal-form.mainField.hint'\n ),\n defaultMessage: 'Set the displayed field',\n }),\n size: 6,\n options: mainFieldOptions,\n type: 'enumeration' as const,\n },\n {\n name: 'size',\n label: formatMessage({\n id: getTranslation('containers.ListSettingsView.modal-form.size'),\n defaultMessage: 'Size',\n }),\n size: 6,\n options: [\n { value: '4', label: '33%' },\n { value: '6', label: '50%' },\n { value: '8', label: '66%' },\n { value: '12', label: '100%' },\n ],\n type: 'enumeration' as const,\n },\n ]\n .filter(filterFieldsBasedOnAttributeType(attribute.type))\n .map(({ size, ...field }) => (\n <Grid.Item\n key={field.name}\n col={size}\n xs={12}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <InputRenderer {...field} />\n </Grid.Item>\n ))}\n </Grid.Root>\n </Modal.Body>\n <Modal.Footer>\n <Modal.Close>\n <Button variant=\"tertiary\">\n {formatMessage({ id: 'app.components.Button.cancel', defaultMessage: 'Cancel' })}\n </Button>\n </Modal.Close>\n <Button type=\"submit\">\n {formatMessage({ id: 'global.finish', defaultMessage: 'Finish' })}\n </Button>\n </Modal.Footer>\n </Form>\n </Modal.Content>\n );\n};\n\n/**\n * @internal\n * @description not all edit fields have the same editable properties, it depends on the type\n * e.g. a dynamic zone can only change it's label.\n */\nconst filterFieldsBasedOnAttributeType = (type: Schema.Attribute.Kind) => (field: InputProps) => {\n switch (type) {\n case 'blocks':\n case 'richtext':\n return field.name !== 'size' && field.name !== 'mainField';\n case 'boolean':\n case 'media':\n return field.name !== 'placeholder' && field.name !== 'mainField';\n case 'component':\n return field.name === 'label' || field.name === 'editable';\n case 'dynamiczone':\n case 'json':\n return field.name !== 'placeholder' && field.name !== 'mainField' && field.name !== 'size';\n case 'relation':\n return true;\n default:\n return field.name !== 'mainField';\n }\n};\n\nexport { EditFieldForm };\nexport type { EditFieldFormProps };\n"],"names":["FIELD_SCHEMA","yup","object","shape","label","string","required","nullable","description","placeholder","editable","boolean","size","number","EditFieldForm","attribute","name","onClose","formatMessage","useIntl","toggleNotification","useNotification","value","onChange","useField","data","mainFieldOptions","useGetInitialDataQuery","undefined","selectFromResult","res","type","targetModel","targetSchema","contentTypes","find","schema","uid","Object","entries","attributes","reduce","acc","key","ATTRIBUTE_TYPES_THAT_CANNOT_BE_MAIN_FIELD","includes","push","skip","TEMP_FIELD_NAME","console","error","message","id","defaultMessage","_jsx","Modal","Content","_jsxs","Form","method","initialValues","validationSchema","onSubmit","Header","Flex","gap","FieldTypeIcon","Title","fieldName","capitalise","Body","Grid","Root","getTranslation","hint","options","filter","filterFieldsBasedOnAttributeType","map","field","Item","col","xs","direction","alignItems","InputRenderer","Footer","Close","Button","variant"],"mappings":"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"}
|