@strapi/content-manager 0.0.0-next.8c98bb4ad3e89fc5a3f45b1925795444d17042d6 → 0.0.0-next.8f0cdd4f9e4697ffed86c783465297fe532713f8
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/ConfigurationForm/Fields.js +300 -204
- package/dist/admin/components/ConfigurationForm/Fields.js.map +1 -1
- package/dist/admin/components/ConfigurationForm/Fields.mjs +304 -209
- package/dist/admin/components/ConfigurationForm/Fields.mjs.map +1 -1
- package/dist/admin/components/LeftMenu.js +34 -30
- package/dist/admin/components/LeftMenu.js.map +1 -1
- package/dist/admin/components/LeftMenu.mjs +36 -32
- package/dist/admin/components/LeftMenu.mjs.map +1 -1
- package/dist/admin/components/Widgets.js +414 -0
- package/dist/admin/components/Widgets.js.map +1 -0
- package/dist/admin/components/Widgets.mjs +391 -0
- package/dist/admin/components/Widgets.mjs.map +1 -0
- package/dist/admin/content-manager.js.map +1 -1
- package/dist/admin/content-manager.mjs.map +1 -1
- package/dist/admin/history/components/VersionContent.js +24 -3
- package/dist/admin/history/components/VersionContent.js.map +1 -1
- package/dist/admin/history/components/VersionContent.mjs +25 -4
- package/dist/admin/history/components/VersionContent.mjs.map +1 -1
- package/dist/admin/history/components/VersionHeader.js +6 -0
- package/dist/admin/history/components/VersionHeader.js.map +1 -1
- package/dist/admin/history/components/VersionHeader.mjs +7 -1
- package/dist/admin/history/components/VersionHeader.mjs.map +1 -1
- package/dist/admin/history/pages/History.js +1 -9
- package/dist/admin/history/pages/History.js.map +1 -1
- package/dist/admin/history/pages/History.mjs +1 -9
- package/dist/admin/history/pages/History.mjs.map +1 -1
- package/dist/admin/hooks/useDocumentActions.js +20 -8
- package/dist/admin/hooks/useDocumentActions.js.map +1 -1
- package/dist/admin/hooks/useDocumentActions.mjs +21 -9
- package/dist/admin/hooks/useDocumentActions.mjs.map +1 -1
- package/dist/admin/hooks/useDocumentContext.js +57 -0
- package/dist/admin/hooks/useDocumentContext.js.map +1 -0
- package/dist/admin/hooks/useDocumentContext.mjs +36 -0
- package/dist/admin/hooks/useDocumentContext.mjs.map +1 -0
- package/dist/admin/index.js +81 -5
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs +80 -3
- package/dist/admin/index.mjs.map +1 -1
- package/dist/admin/layout.js +1 -27
- package/dist/admin/layout.js.map +1 -1
- package/dist/admin/layout.mjs +2 -9
- package/dist/admin/layout.mjs.map +1 -1
- package/dist/admin/pages/EditView/EditViewPage.js +105 -89
- package/dist/admin/pages/EditView/EditViewPage.js.map +1 -1
- package/dist/admin/pages/EditView/EditViewPage.mjs +107 -91
- package/dist/admin/pages/EditView/EditViewPage.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/DocumentActions.js +314 -120
- package/dist/admin/pages/EditView/components/DocumentActions.js.map +1 -1
- package/dist/admin/pages/EditView/components/DocumentActions.mjs +321 -127
- package/dist/admin/pages/EditView/components/DocumentActions.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.js +12 -15
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.mjs +12 -15
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.js +61 -26
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.mjs +63 -28
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.js +21 -35
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.mjs +21 -35
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.js +46 -95
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.mjs +48 -78
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/Input.js +2 -2
- package/dist/admin/pages/EditView/components/FormInputs/Component/Input.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/Input.mjs +2 -2
- package/dist/admin/pages/EditView/components/FormInputs/Component/Input.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.js +14 -3
- package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.mjs +15 -4
- package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js +17 -4
- package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs +18 -5
- package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js +23 -21
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs +25 -23
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.js +2 -3
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.mjs +2 -3
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js +507 -345
- package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs +507 -347
- package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js +178 -69
- package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs +182 -73
- package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/UID.js +11 -9
- package/dist/admin/pages/EditView/components/FormInputs/UID.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/UID.mjs +11 -9
- package/dist/admin/pages/EditView/components/FormInputs/UID.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.js +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 +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 +50 -97
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.mjs +51 -79
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.js +86 -118
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.mjs +86 -118
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormLayout.js +47 -27
- package/dist/admin/pages/EditView/components/FormLayout.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormLayout.mjs +47 -27
- package/dist/admin/pages/EditView/components/FormLayout.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/InputRenderer.js +3 -10
- package/dist/admin/pages/EditView/components/InputRenderer.js.map +1 -1
- package/dist/admin/pages/EditView/components/InputRenderer.mjs +3 -10
- package/dist/admin/pages/EditView/components/InputRenderer.mjs.map +1 -1
- package/dist/admin/pages/EditView/utils/data.js +103 -0
- package/dist/admin/pages/EditView/utils/data.js.map +1 -1
- package/dist/admin/pages/EditView/utils/data.mjs +103 -1
- package/dist/admin/pages/EditView/utils/data.mjs.map +1 -1
- package/dist/admin/pages/ListView/ListViewPage.js +227 -132
- package/dist/admin/pages/ListView/ListViewPage.js.map +1 -1
- package/dist/admin/pages/ListView/ListViewPage.mjs +229 -134
- package/dist/admin/pages/ListView/ListViewPage.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.js +2 -1
- package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.js.map +1 -1
- package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.mjs +2 -1
- package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/Filters.js +4 -1
- package/dist/admin/pages/ListView/components/Filters.js.map +1 -1
- package/dist/admin/pages/ListView/components/Filters.mjs +4 -1
- package/dist/admin/pages/ListView/components/Filters.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/TableActions.js +13 -3
- package/dist/admin/pages/ListView/components/TableActions.js.map +1 -1
- package/dist/admin/pages/ListView/components/TableActions.mjs +13 -3
- package/dist/admin/pages/ListView/components/TableActions.mjs.map +1 -1
- package/dist/admin/preview/components/PreviewHeader.js +3 -6
- package/dist/admin/preview/components/PreviewHeader.js.map +1 -1
- package/dist/admin/preview/components/PreviewHeader.mjs +3 -6
- package/dist/admin/preview/components/PreviewHeader.mjs.map +1 -1
- package/dist/admin/preview/components/PreviewSidePanel.js +31 -4
- package/dist/admin/preview/components/PreviewSidePanel.js.map +1 -1
- package/dist/admin/preview/components/PreviewSidePanel.mjs +32 -5
- package/dist/admin/preview/components/PreviewSidePanel.mjs.map +1 -1
- package/dist/admin/preview/pages/Preview.js +155 -97
- package/dist/admin/preview/pages/Preview.js.map +1 -1
- package/dist/admin/preview/pages/Preview.mjs +156 -98
- package/dist/admin/preview/pages/Preview.mjs.map +1 -1
- package/dist/admin/services/api.js +3 -1
- package/dist/admin/services/api.js.map +1 -1
- package/dist/admin/services/api.mjs +3 -1
- package/dist/admin/services/api.mjs.map +1 -1
- package/dist/admin/services/documents.js +32 -16
- package/dist/admin/services/documents.js.map +1 -1
- package/dist/admin/services/documents.mjs +32 -16
- package/dist/admin/services/documents.mjs.map +1 -1
- package/dist/admin/services/homepage.js +39 -0
- package/dist/admin/services/homepage.js.map +1 -0
- package/dist/admin/services/homepage.mjs +36 -0
- package/dist/admin/services/homepage.mjs.map +1 -0
- package/dist/admin/src/components/ConfigurationForm/Fields.d.ts +6 -4
- package/dist/admin/src/components/Widgets.d.ts +4 -0
- package/dist/admin/src/content-manager.d.ts +0 -3
- package/dist/admin/src/exports.d.ts +1 -0
- package/dist/admin/src/features/DocumentRBAC.d.ts +1 -1
- package/dist/admin/src/history/pages/History.d.ts +1 -1
- package/dist/admin/src/history/services/historyVersion.d.ts +1 -1
- package/dist/admin/src/hooks/useDocumentActions.d.ts +1 -0
- package/dist/admin/src/hooks/useDocumentContext.d.ts +30 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.d.ts +2 -2
- package/dist/admin/src/pages/EditView/components/FormInputs/ComponentContext.d.ts +1 -1
- package/dist/admin/src/pages/EditView/components/FormInputs/DynamicZone/Field.d.ts +1 -1
- package/dist/admin/src/pages/EditView/components/FormInputs/Relations/RelationModal.d.ts +73 -7
- package/dist/admin/src/pages/EditView/components/FormInputs/Relations/Relations.d.ts +1 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/UID.d.ts +1 -0
- package/dist/admin/src/pages/EditView/components/FormLayout.d.ts +7 -8
- package/dist/admin/src/pages/EditView/components/InputRenderer.d.ts +1 -1
- package/dist/admin/src/pages/EditView/utils/data.d.ts +19 -1
- package/dist/admin/src/preview/pages/Preview.d.ts +2 -1
- package/dist/admin/src/preview/services/preview.d.ts +1 -1
- package/dist/admin/src/services/api.d.ts +1 -1
- package/dist/admin/src/services/components.d.ts +2 -2
- package/dist/admin/src/services/contentTypes.d.ts +3 -3
- package/dist/admin/src/services/documents.d.ts +23 -17
- package/dist/admin/src/services/homepage.d.ts +9 -0
- package/dist/admin/src/services/init.d.ts +1 -1
- package/dist/admin/src/services/relations.d.ts +2 -2
- package/dist/admin/src/services/uid.d.ts +3 -3
- package/dist/admin/src/utils/api.d.ts +1 -1
- package/dist/admin/src/utils/validation.d.ts +1 -0
- package/dist/admin/translations/en.json.js +9 -1
- package/dist/admin/translations/en.json.js.map +1 -1
- package/dist/admin/translations/en.json.mjs +9 -1
- package/dist/admin/translations/en.json.mjs.map +1 -1
- package/dist/admin/translations/es.json.js +5 -2
- package/dist/admin/translations/es.json.js.map +1 -1
- package/dist/admin/translations/es.json.mjs +5 -2
- package/dist/admin/translations/es.json.mjs.map +1 -1
- package/dist/admin/translations/fr.json.js +10 -2
- package/dist/admin/translations/fr.json.js.map +1 -1
- package/dist/admin/translations/fr.json.mjs +10 -2
- package/dist/admin/translations/fr.json.mjs.map +1 -1
- package/dist/admin/translations/ru.json.js +235 -226
- package/dist/admin/translations/ru.json.js.map +1 -1
- package/dist/admin/translations/ru.json.mjs +230 -226
- package/dist/admin/translations/ru.json.mjs.map +1 -1
- package/dist/admin/utils/api.js +1 -1
- package/dist/admin/utils/api.js.map +1 -1
- package/dist/admin/utils/api.mjs +1 -1
- package/dist/admin/utils/api.mjs.map +1 -1
- package/dist/admin/utils/validation.js +19 -7
- package/dist/admin/utils/validation.js.map +1 -1
- package/dist/admin/utils/validation.mjs +19 -7
- package/dist/admin/utils/validation.mjs.map +1 -1
- package/dist/server/controllers/content-types.js +11 -1
- package/dist/server/controllers/content-types.js.map +1 -1
- package/dist/server/controllers/content-types.mjs +11 -1
- package/dist/server/controllers/content-types.mjs.map +1 -1
- package/dist/server/controllers/index.js +3 -1
- package/dist/server/controllers/index.js.map +1 -1
- package/dist/server/controllers/index.mjs +3 -1
- package/dist/server/controllers/index.mjs.map +1 -1
- package/dist/server/controllers/relations.js +2 -2
- package/dist/server/controllers/relations.js.map +1 -1
- package/dist/server/controllers/relations.mjs +2 -2
- package/dist/server/controllers/relations.mjs.map +1 -1
- package/dist/server/controllers/validation/index.js +14 -2
- package/dist/server/controllers/validation/index.js.map +1 -1
- package/dist/server/controllers/validation/index.mjs +14 -2
- package/dist/server/controllers/validation/index.mjs.map +1 -1
- package/dist/server/history/services/lifecycles.js +23 -19
- package/dist/server/history/services/lifecycles.js.map +1 -1
- package/dist/server/history/services/lifecycles.mjs +23 -19
- package/dist/server/history/services/lifecycles.mjs.map +1 -1
- package/dist/server/homepage/controllers/homepage.js +62 -0
- package/dist/server/homepage/controllers/homepage.js.map +1 -0
- package/dist/server/homepage/controllers/homepage.mjs +41 -0
- package/dist/server/homepage/controllers/homepage.mjs.map +1 -0
- package/dist/server/homepage/controllers/index.js +10 -0
- package/dist/server/homepage/controllers/index.js.map +1 -0
- package/dist/server/homepage/controllers/index.mjs +8 -0
- package/dist/server/homepage/controllers/index.mjs.map +1 -0
- package/dist/server/homepage/index.js +14 -0
- package/dist/server/homepage/index.js.map +1 -0
- package/dist/server/homepage/index.mjs +12 -0
- package/dist/server/homepage/index.mjs.map +1 -0
- package/dist/server/homepage/routes/homepage.js +36 -0
- package/dist/server/homepage/routes/homepage.js.map +1 -0
- package/dist/server/homepage/routes/homepage.mjs +34 -0
- package/dist/server/homepage/routes/homepage.mjs.map +1 -0
- package/dist/server/homepage/routes/index.js +13 -0
- package/dist/server/homepage/routes/index.js.map +1 -0
- package/dist/server/homepage/routes/index.mjs +11 -0
- package/dist/server/homepage/routes/index.mjs.map +1 -0
- package/dist/server/homepage/services/homepage.js +197 -0
- package/dist/server/homepage/services/homepage.js.map +1 -0
- package/dist/server/homepage/services/homepage.mjs +195 -0
- package/dist/server/homepage/services/homepage.mjs.map +1 -0
- package/dist/server/homepage/services/index.js +10 -0
- package/dist/server/homepage/services/index.js.map +1 -0
- package/dist/server/homepage/services/index.mjs +8 -0
- package/dist/server/homepage/services/index.mjs.map +1 -0
- package/dist/server/preview/services/preview-config.js +5 -1
- package/dist/server/preview/services/preview-config.js.map +1 -1
- package/dist/server/preview/services/preview-config.mjs +5 -1
- package/dist/server/preview/services/preview-config.mjs.map +1 -1
- package/dist/server/preview/services/preview.js +4 -1
- package/dist/server/preview/services/preview.js.map +1 -1
- package/dist/server/preview/services/preview.mjs +4 -1
- package/dist/server/preview/services/preview.mjs.map +1 -1
- package/dist/server/routes/index.js +3 -1
- package/dist/server/routes/index.js.map +1 -1
- package/dist/server/routes/index.mjs +3 -1
- package/dist/server/routes/index.mjs.map +1 -1
- package/dist/server/services/data-mapper.js +4 -1
- package/dist/server/services/data-mapper.js.map +1 -1
- package/dist/server/services/data-mapper.mjs +4 -1
- package/dist/server/services/data-mapper.mjs.map +1 -1
- package/dist/server/services/document-manager.js +8 -1
- package/dist/server/services/document-manager.js.map +1 -1
- package/dist/server/services/document-manager.mjs +8 -1
- package/dist/server/services/document-manager.mjs.map +1 -1
- package/dist/server/services/document-metadata.js +3 -1
- package/dist/server/services/document-metadata.js.map +1 -1
- package/dist/server/services/document-metadata.mjs +3 -1
- package/dist/server/services/document-metadata.mjs.map +1 -1
- package/dist/server/services/index.js +3 -1
- package/dist/server/services/index.js.map +1 -1
- package/dist/server/services/index.mjs +3 -1
- package/dist/server/services/index.mjs.map +1 -1
- package/dist/server/services/utils/configuration/attributes.js +1 -1
- package/dist/server/services/utils/configuration/attributes.js.map +1 -1
- package/dist/server/services/utils/configuration/attributes.mjs +1 -1
- package/dist/server/services/utils/configuration/attributes.mjs.map +1 -1
- package/dist/server/services/utils/configuration/layouts.js +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 +8 -0
- package/dist/server/services/utils/configuration/metadatas.js.map +1 -1
- package/dist/server/services/utils/configuration/metadatas.mjs +8 -0
- package/dist/server/services/utils/configuration/metadatas.mjs.map +1 -1
- package/dist/server/services/utils/populate.js +11 -0
- package/dist/server/services/utils/populate.js.map +1 -1
- package/dist/server/services/utils/populate.mjs +11 -0
- package/dist/server/services/utils/populate.mjs.map +1 -1
- package/dist/server/src/controllers/content-types.d.ts.map +1 -1
- package/dist/server/src/controllers/index.d.ts.map +1 -1
- package/dist/server/src/controllers/validation/index.d.ts +6 -1
- package/dist/server/src/controllers/validation/index.d.ts.map +1 -1
- package/dist/server/src/history/services/lifecycles.d.ts.map +1 -1
- package/dist/server/src/homepage/controllers/homepage.d.ts +8 -0
- package/dist/server/src/homepage/controllers/homepage.d.ts.map +1 -0
- package/dist/server/src/homepage/controllers/index.d.ts +2 -0
- package/dist/server/src/homepage/controllers/index.d.ts.map +1 -0
- package/dist/server/src/homepage/index.d.ts +23 -0
- package/dist/server/src/homepage/index.d.ts.map +1 -0
- package/dist/server/src/homepage/routes/homepage.d.ts +4 -0
- package/dist/server/src/homepage/routes/homepage.d.ts.map +1 -0
- package/dist/server/src/homepage/routes/index.d.ts +8 -0
- package/dist/server/src/homepage/routes/index.d.ts.map +1 -0
- package/dist/server/src/homepage/services/homepage.d.ts +14 -0
- package/dist/server/src/homepage/services/homepage.d.ts.map +1 -0
- package/dist/server/src/homepage/services/index.d.ts +16 -0
- package/dist/server/src/homepage/services/index.d.ts.map +1 -0
- package/dist/server/src/index.d.ts +15 -0
- package/dist/server/src/index.d.ts.map +1 -1
- package/dist/server/src/preview/services/index.d.ts +1 -0
- package/dist/server/src/preview/services/index.d.ts.map +1 -1
- package/dist/server/src/preview/services/preview-config.d.ts +1 -0
- package/dist/server/src/preview/services/preview-config.d.ts.map +1 -1
- package/dist/server/src/preview/services/preview.d.ts.map +1 -1
- package/dist/server/src/preview/utils.d.ts +1 -0
- package/dist/server/src/preview/utils.d.ts.map +1 -1
- package/dist/server/src/routes/index.d.ts +1 -0
- package/dist/server/src/routes/index.d.ts.map +1 -1
- package/dist/server/src/services/data-mapper.d.ts +1 -0
- package/dist/server/src/services/data-mapper.d.ts.map +1 -1
- package/dist/server/src/services/document-manager.d.ts.map +1 -1
- package/dist/server/src/services/document-metadata.d.ts.map +1 -1
- package/dist/server/src/services/index.d.ts +14 -0
- package/dist/server/src/services/index.d.ts.map +1 -1
- package/dist/server/src/services/utils/configuration/metadatas.d.ts.map +1 -1
- package/dist/server/src/services/utils/populate.d.ts.map +1 -1
- package/dist/shared/contracts/collection-types.d.ts +0 -1
- package/dist/shared/contracts/collection-types.d.ts.map +1 -1
- package/dist/shared/contracts/homepage.d.ts +38 -0
- package/dist/shared/contracts/homepage.d.ts.map +1 -0
- package/package.json +12 -10
- package/dist/admin/features/DocumentContext.js +0 -71
- package/dist/admin/features/DocumentContext.js.map +0 -1
- package/dist/admin/features/DocumentContext.mjs +0 -49
- package/dist/admin/features/DocumentContext.mjs.map +0 -1
- package/dist/admin/src/features/DocumentContext.d.ts +0 -53
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WysiwygNav.mjs","sources":["../../../../../../../admin/src/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Button,\n Flex,\n IconButton,\n IconButtonGroup,\n SingleSelectOption,\n SingleSelect,\n Field,\n Menu,\n} from '@strapi/design-system';\nimport {\n Bold,\n BulletList,\n Code,\n Italic,\n Link,\n NumberList,\n Image,\n Quotes,\n StrikeThrough,\n Underline,\n HeadingOne,\n HeadingTwo,\n HeadingThree,\n HeadingFour,\n HeadingFive,\n HeadingSix,\n} from '@strapi/icons';\nimport { EditorFromTextArea } from 'codemirror5';\nimport { useIntl } from 'react-intl';\n\nimport { EditorToolbarObserver, type ObservedComponent } from '../../EditorToolbarObserver';\n\nimport { listHandler, markdownHandler, quoteAndCodeHandler, titleHandler } from './utils/utils';\n\ninterface WysiwygNavProps {\n disabled?: boolean;\n editorRef: React.MutableRefObject<EditorFromTextArea>;\n isExpandMode?: boolean;\n isPreviewMode?: boolean;\n onToggleMediaLib: () => void;\n onTogglePreviewMode?: () => void;\n}\n\n/**\n * TODO: refactor this mess.\n */\nconst WysiwygNav = ({\n disabled,\n editorRef,\n isPreviewMode,\n onToggleMediaLib,\n onTogglePreviewMode,\n}: WysiwygNavProps) => {\n const { formatMessage } = useIntl();\n const isDisabled = disabled || isPreviewMode;\n\n const handleActionClick = (\n value: string,\n currentEditorRef: React.MutableRefObject<EditorFromTextArea>\n ) => {\n switch (value) {\n case 'Link': {\n markdownHandler(currentEditorRef, value);\n break;\n }\n case 'Code':\n case 'Quote': {\n quoteAndCodeHandler(currentEditorRef, value);\n break;\n }\n case 'Bold':\n case 'Italic':\n case 'Underline':\n case 'Strikethrough': {\n markdownHandler(currentEditorRef, value);\n break;\n }\n case 'BulletList':\n case 'NumberList': {\n listHandler(currentEditorRef, value);\n break;\n }\n case 'h1':\n case 'h2':\n case 'h3':\n case 'h4':\n case 'h5':\n case 'h6': {\n titleHandler(currentEditorRef, value);\n break;\n }\n default: {\n // Nothing\n }\n }\n };\n\n const observedComponents: ObservedComponent[] = [\n {\n toolbar: (\n <IconButtonGroup>\n <IconButton\n disabled={isDisabled}\n onClick={() => handleActionClick('Bold', editorRef)}\n label={formatMessage({\n id: 'components.Blocks.modifiers.bold',\n defaultMessage: 'Bold',\n })}\n name={formatMessage({\n id: 'components.Blocks.modifiers.bold',\n defaultMessage: 'Bold',\n })}\n >\n <Bold />\n </IconButton>\n <IconButton\n disabled={isDisabled}\n onClick={() => handleActionClick('Italic', editorRef)}\n label={formatMessage({\n id: 'components.Blocks.modifiers.italic',\n defaultMessage: 'Italic',\n })}\n name={formatMessage({\n id: 'components.Blocks.modifiers.italic',\n defaultMessage: 'Italic',\n })}\n >\n <Italic />\n </IconButton>\n <IconButton\n disabled={isDisabled}\n onClick={() => handleActionClick('Underline', editorRef)}\n label={formatMessage({\n id: 'components.Blocks.modifiers.underline',\n defaultMessage: 'Underline',\n })}\n name={formatMessage({\n id: 'components.Blocks.modifiers.underline',\n defaultMessage: 'Underline',\n })}\n >\n <Underline />\n </IconButton>\n <IconButton\n disabled={isDisabled}\n onClick={() => handleActionClick('Strikethrough', editorRef)}\n label={formatMessage({\n id: 'components.Blocks.modifiers.strikethrough',\n defaultMessage: 'Strikethrough',\n })}\n name={formatMessage({\n id: 'components.Blocks.modifiers.strikethrough',\n defaultMessage: 'Strikethrough',\n })}\n >\n <StrikeThrough />\n </IconButton>\n </IconButtonGroup>\n ),\n menu: (\n <>\n <Menu.Separator />\n <Menu.Item onSelect={() => handleActionClick('Bold', editorRef)} disabled={isDisabled}>\n <Flex tag=\"span\" gap={2}>\n <Bold aria-hidden fill=\"neutral600\" />\n {formatMessage({\n id: 'components.Blocks.modifiers.bold',\n defaultMessage: 'Bold',\n })}\n </Flex>\n </Menu.Item>\n <Menu.Item onSelect={() => handleActionClick('Italic', editorRef)} disabled={isDisabled}>\n <Flex tag=\"span\" gap={2}>\n <Italic aria-hidden fill=\"neutral600\" />\n {formatMessage({\n id: 'components.Blocks.modifiers.italic',\n defaultMessage: 'Italic',\n })}\n </Flex>\n </Menu.Item>\n <Menu.Item\n onSelect={() => handleActionClick('Underline', editorRef)}\n disabled={isDisabled}\n >\n <Flex tag=\"span\" gap={2}>\n <Underline aria-hidden fill=\"neutral600\" />\n {formatMessage({\n id: 'components.Blocks.modifiers.underline',\n defaultMessage: 'Underline',\n })}\n </Flex>\n </Menu.Item>\n <Menu.Item\n onSelect={() => handleActionClick('Strikethrough', editorRef)}\n disabled={isDisabled}\n >\n <Flex tag=\"span\" gap={2}>\n <StrikeThrough aria-hidden fill=\"neutral600\" />\n {formatMessage({\n id: 'components.Blocks.modifiers.strikethrough',\n defaultMessage: 'Strikethrough',\n })}\n </Flex>\n </Menu.Item>\n </>\n ),\n key: 'formatting-group-1',\n },\n {\n toolbar: (\n <IconButtonGroup>\n <IconButton\n disabled={isDisabled}\n onClick={() => handleActionClick('BulletList', editorRef)}\n label={formatMessage({\n id: 'components.Blocks.blocks.bulletList',\n defaultMessage: 'Bulleted list',\n })}\n name={formatMessage({\n id: 'components.Blocks.blocks.bulletList',\n defaultMessage: 'Bulleted list',\n })}\n >\n <BulletList />\n </IconButton>\n <IconButton\n disabled={isDisabled}\n onClick={() => handleActionClick('NumberList', editorRef)}\n label={formatMessage({\n id: 'components.Blocks.blocks.numberList',\n defaultMessage: 'Numbered list',\n })}\n name={formatMessage({\n id: 'components.Blocks.blocks.numberList',\n defaultMessage: 'Numbered list',\n })}\n >\n <NumberList />\n </IconButton>\n </IconButtonGroup>\n ),\n menu: (\n <>\n <Menu.Separator />\n <Menu.Item\n onSelect={() => handleActionClick('BulletList', editorRef)}\n disabled={isDisabled}\n >\n <Flex tag=\"span\" gap={2}>\n <BulletList aria-hidden fill=\"neutral600\" />\n {formatMessage({\n id: 'components.Blocks.blocks.unorderedList',\n defaultMessage: 'Bulleted list',\n })}\n </Flex>\n </Menu.Item>\n <Menu.Item\n onSelect={() => handleActionClick('NumberList', editorRef)}\n disabled={isDisabled}\n >\n <Flex tag=\"span\" gap={2}>\n <NumberList aria-hidden fill=\"neutral600\" />\n {formatMessage({\n id: 'components.Blocks.blocks.orderedList',\n defaultMessage: 'Numbered list',\n })}\n </Flex>\n </Menu.Item>\n </>\n ),\n key: 'formatting-group-2',\n },\n {\n toolbar: (\n <IconButtonGroup>\n <IconButton\n disabled={isDisabled}\n onClick={() => handleActionClick('Code', editorRef)}\n label={formatMessage({\n id: 'components.Wysiwyg.blocks.code',\n defaultMessage: 'Code',\n })}\n name={formatMessage({\n id: 'components.Wysiwyg.blocks.code',\n defaultMessage: 'Code',\n })}\n >\n <Code />\n </IconButton>\n <IconButton\n disabled={isDisabled}\n onClick={() => {\n onToggleMediaLib();\n }}\n label={formatMessage({\n id: 'components.Blocks.blocks.image',\n defaultMessage: 'Image',\n })}\n name={formatMessage({\n id: 'components.Blocks.blocks.image',\n defaultMessage: 'Image',\n })}\n >\n <Image />\n </IconButton>\n <IconButton\n disabled={isDisabled}\n onClick={() => handleActionClick('Link', editorRef)}\n label={formatMessage({\n id: 'components.Blocks.popover.link',\n defaultMessage: 'Link',\n })}\n name={formatMessage({\n id: 'components.Blocks.popover.link',\n defaultMessage: 'Link',\n })}\n >\n <Link />\n </IconButton>\n <IconButton\n disabled={isDisabled}\n onClick={() => handleActionClick('Quote', editorRef)}\n label={formatMessage({\n id: 'components.Blocks.blocks.quote',\n defaultMessage: 'Quote',\n })}\n name={formatMessage({\n id: 'components.Blocks.blocks.quote',\n defaultMessage: 'Quote',\n })}\n >\n <Quotes />\n </IconButton>\n </IconButtonGroup>\n ),\n menu: (\n <>\n <Menu.Separator />\n <Menu.Item onSelect={() => handleActionClick('Code', editorRef)} disabled={isDisabled}>\n <Flex tag=\"span\" gap={2}>\n <Code aria-hidden fill=\"neutral600\" />\n {formatMessage({\n id: 'components.Wysiwyg.blocks.code',\n defaultMessage: 'Code',\n })}\n </Flex>\n </Menu.Item>\n <Menu.Item\n startIcon={<Image />}\n onSelect={() => {\n onToggleMediaLib();\n }}\n disabled={isDisabled}\n >\n <Flex tag=\"span\" gap={2}>\n <Image aria-hidden fill=\"neutral600\" />\n {formatMessage({\n id: 'components.Blocks.blocks.image',\n defaultMessage: 'Image',\n })}\n </Flex>\n </Menu.Item>\n <Menu.Item\n startIcon={<Link />}\n onSelect={() => handleActionClick('Link', editorRef)}\n disabled={isDisabled}\n >\n <Flex tag=\"span\" gap={2}>\n <Link aria-hidden fill=\"neutral600\" />\n {formatMessage({\n id: 'components.Blocks.popover.link',\n defaultMessage: 'Link',\n })}\n </Flex>\n </Menu.Item>\n <Menu.Item onSelect={() => handleActionClick('Quote', editorRef)} disabled={isDisabled}>\n <Flex tag=\"span\" gap={2}>\n <Quotes aria-hidden fill=\"neutral600\" />\n {formatMessage({\n id: 'components.Blocks.blocks.quote',\n defaultMessage: 'Quote',\n })}\n </Flex>\n </Menu.Item>\n </>\n ),\n key: 'formatting-group-3',\n },\n ];\n\n return (\n <Flex\n padding={2}\n background=\"neutral100\"\n justifyContent=\"space-between\"\n borderRadius=\"0.4rem 0.4rem 0 0\"\n width=\"100%\"\n gap={4}\n >\n <Field.Root>\n <SingleSelect\n disabled={isDisabled}\n placeholder={formatMessage({\n id: 'components.Wysiwyg.selectOptions.title',\n defaultMessage: 'Headings',\n })}\n aria-label={formatMessage({\n id: 'components.Wysiwyg.selectOptions.title',\n defaultMessage: 'Headings',\n })}\n // @ts-expect-error – DS v2 will only allow strings.\n onChange={(value) => handleActionClick(value, editorRef)}\n size=\"S\"\n >\n <SingleSelectOption value=\"h1\" startIcon={<HeadingOne fill=\"neutral600\" />}>\n {formatMessage({\n id: 'components.Wysiwyg.selectOptions.H1',\n defaultMessage: 'Heading 1',\n })}\n </SingleSelectOption>\n <SingleSelectOption value=\"h2\" startIcon={<HeadingTwo fill=\"neutral600\" />}>\n {formatMessage({\n id: 'components.Wysiwyg.selectOptions.H2',\n defaultMessage: 'Heading 2',\n })}\n </SingleSelectOption>\n <SingleSelectOption value=\"h3\" startIcon={<HeadingThree fill=\"neutral600\" />}>\n {formatMessage({\n id: 'components.Wysiwyg.selectOptions.H3',\n defaultMessage: 'Heading 3',\n })}\n </SingleSelectOption>\n <SingleSelectOption value=\"h4\" startIcon={<HeadingFour fill=\"neutral600\" />}>\n {formatMessage({\n id: 'components.Wysiwyg.selectOptions.H4',\n defaultMessage: 'Heading 4',\n })}\n </SingleSelectOption>\n <SingleSelectOption value=\"h5\" startIcon={<HeadingFive fill=\"neutral600\" />}>\n {formatMessage({\n id: 'components.Wysiwyg.selectOptions.H5',\n defaultMessage: 'Heading 5',\n })}\n </SingleSelectOption>\n <SingleSelectOption value=\"h6\" startIcon={<HeadingSix fill=\"neutral600\" />}>\n {formatMessage({\n id: 'components.Wysiwyg.selectOptions.H6',\n defaultMessage: 'Heading 6',\n })}\n </SingleSelectOption>\n </SingleSelect>\n </Field.Root>\n <Flex width=\"100%\" justifyContent=\"space-between\" overflow=\"hidden\">\n <Flex gap={2} overflow=\"hidden\" width=\"100%\">\n <EditorToolbarObserver\n menuTriggerVariant=\"tertiary\"\n observedComponents={observedComponents}\n />\n </Flex>\n\n {onTogglePreviewMode && (\n <Button onClick={onTogglePreviewMode} variant=\"tertiary\" minWidth=\"132px\">\n {isPreviewMode\n ? formatMessage({\n id: 'components.Wysiwyg.ToggleMode.markdown-mode',\n defaultMessage: 'Markdown mode',\n })\n : formatMessage({\n id: 'components.Wysiwyg.ToggleMode.preview-mode',\n defaultMessage: 'Preview mode',\n })}\n </Button>\n )}\n </Flex>\n </Flex>\n );\n};\n\nexport { WysiwygNav };\nexport type { WysiwygNavProps };\n"],"names":["WysiwygNav","disabled","editorRef","isPreviewMode","onToggleMediaLib","onTogglePreviewMode","formatMessage","useIntl","isDisabled","handleActionClick","value","currentEditorRef","markdownHandler","quoteAndCodeHandler","listHandler","titleHandler","observedComponents","toolbar","_jsxs","IconButtonGroup","_jsx","IconButton","onClick","label","id","defaultMessage","name","Bold","Italic","Underline","StrikeThrough","menu","_Fragment","Menu","Separator","Item","onSelect","Flex","tag","gap","aria-hidden","fill","key","BulletList","NumberList","Code","Image","Link","Quotes","startIcon","padding","background","justifyContent","borderRadius","width","Field","Root","SingleSelect","placeholder","aria-label","onChange","size","SingleSelectOption","HeadingOne","HeadingTwo","HeadingThree","HeadingFour","HeadingFive","HeadingSix","overflow","EditorToolbarObserver","menuTriggerVariant","Button","variant","minWidth"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"WysiwygNav.mjs","sources":["../../../../../../../admin/src/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Button,\n Flex,\n IconButton,\n IconButtonGroup,\n SingleSelectOption,\n SingleSelect,\n Field,\n Menu,\n} from '@strapi/design-system';\nimport {\n Bold,\n BulletList,\n Code,\n Italic,\n Link,\n NumberList,\n Image,\n Quotes,\n StrikeThrough,\n Underline,\n HeadingOne,\n HeadingTwo,\n HeadingThree,\n HeadingFour,\n HeadingFive,\n HeadingSix,\n} from '@strapi/icons';\nimport { EditorFromTextArea } from 'codemirror5';\nimport { useIntl } from 'react-intl';\n\nimport { EditorToolbarObserver, type ObservedComponent } from '../../EditorToolbarObserver';\n\nimport { listHandler, markdownHandler, quoteAndCodeHandler, titleHandler } from './utils/utils';\n\ninterface WysiwygNavProps {\n disabled?: boolean;\n editorRef: React.MutableRefObject<EditorFromTextArea>;\n isExpandMode?: boolean;\n isPreviewMode?: boolean;\n onToggleMediaLib: () => void;\n onTogglePreviewMode?: () => void;\n}\n\n/**\n * TODO: refactor this mess.\n */\nconst WysiwygNav = ({\n disabled,\n editorRef,\n isPreviewMode,\n onToggleMediaLib,\n onTogglePreviewMode,\n}: WysiwygNavProps) => {\n const { formatMessage } = useIntl();\n const isDisabled = disabled || isPreviewMode;\n\n const handleActionClick = (\n value: string,\n currentEditorRef: React.MutableRefObject<EditorFromTextArea>\n ) => {\n switch (value) {\n case 'Link': {\n markdownHandler(currentEditorRef, value);\n break;\n }\n case 'Code':\n case 'Quote': {\n quoteAndCodeHandler(currentEditorRef, value);\n break;\n }\n case 'Bold':\n case 'Italic':\n case 'Underline':\n case 'Strikethrough': {\n markdownHandler(currentEditorRef, value);\n break;\n }\n case 'BulletList':\n case 'NumberList': {\n listHandler(currentEditorRef, value);\n break;\n }\n case 'h1':\n case 'h2':\n case 'h3':\n case 'h4':\n case 'h5':\n case 'h6': {\n titleHandler(currentEditorRef, value);\n break;\n }\n default: {\n // Nothing\n }\n }\n };\n\n const observedComponents: ObservedComponent[] = [\n {\n toolbar: (\n <IconButtonGroup>\n <IconButton\n disabled={isDisabled}\n onClick={() => handleActionClick('Bold', editorRef)}\n label={formatMessage({\n id: 'components.Blocks.modifiers.bold',\n defaultMessage: 'Bold',\n })}\n name={formatMessage({\n id: 'components.Blocks.modifiers.bold',\n defaultMessage: 'Bold',\n })}\n >\n <Bold />\n </IconButton>\n <IconButton\n disabled={isDisabled}\n onClick={() => handleActionClick('Italic', editorRef)}\n label={formatMessage({\n id: 'components.Blocks.modifiers.italic',\n defaultMessage: 'Italic',\n })}\n name={formatMessage({\n id: 'components.Blocks.modifiers.italic',\n defaultMessage: 'Italic',\n })}\n >\n <Italic />\n </IconButton>\n <IconButton\n disabled={isDisabled}\n onClick={() => handleActionClick('Underline', editorRef)}\n label={formatMessage({\n id: 'components.Blocks.modifiers.underline',\n defaultMessage: 'Underline',\n })}\n name={formatMessage({\n id: 'components.Blocks.modifiers.underline',\n defaultMessage: 'Underline',\n })}\n >\n <Underline />\n </IconButton>\n <IconButton\n disabled={isDisabled}\n onClick={() => handleActionClick('Strikethrough', editorRef)}\n label={formatMessage({\n id: 'components.Blocks.modifiers.strikethrough',\n defaultMessage: 'Strikethrough',\n })}\n name={formatMessage({\n id: 'components.Blocks.modifiers.strikethrough',\n defaultMessage: 'Strikethrough',\n })}\n >\n <StrikeThrough />\n </IconButton>\n </IconButtonGroup>\n ),\n menu: (\n <>\n <Menu.Separator />\n <Menu.Item\n startIcon={<Bold fill=\"neutral500\" />}\n onSelect={() => handleActionClick('Bold', editorRef)}\n disabled={isDisabled}\n >\n <Flex tag=\"span\" gap={2}>\n {formatMessage({\n id: 'components.Blocks.modifiers.bold',\n defaultMessage: 'Bold',\n })}\n </Flex>\n </Menu.Item>\n <Menu.Item\n startIcon={<Italic fill=\"neutral500\" />}\n onSelect={() => handleActionClick('Italic', editorRef)}\n disabled={isDisabled}\n >\n <Flex tag=\"span\" gap={2}>\n {formatMessage({\n id: 'components.Blocks.modifiers.italic',\n defaultMessage: 'Italic',\n })}\n </Flex>\n </Menu.Item>\n <Menu.Item\n startIcon={<Underline fill=\"neutral500\" />}\n onSelect={() => handleActionClick('Underline', editorRef)}\n disabled={isDisabled}\n >\n <Flex tag=\"span\" gap={2}>\n {formatMessage({\n id: 'components.Blocks.modifiers.underline',\n defaultMessage: 'Underline',\n })}\n </Flex>\n </Menu.Item>\n <Menu.Item\n startIcon={<StrikeThrough fill=\"neutral500\" />}\n onSelect={() => handleActionClick('Strikethrough', editorRef)}\n disabled={isDisabled}\n >\n <Flex tag=\"span\" gap={2}>\n {formatMessage({\n id: 'components.Blocks.modifiers.strikethrough',\n defaultMessage: 'Strikethrough',\n })}\n </Flex>\n </Menu.Item>\n </>\n ),\n key: 'formatting-group-1',\n },\n {\n toolbar: (\n <IconButtonGroup>\n <IconButton\n disabled={isDisabled}\n onClick={() => handleActionClick('BulletList', editorRef)}\n label={formatMessage({\n id: 'components.Blocks.blocks.bulletList',\n defaultMessage: 'Bulleted list',\n })}\n name={formatMessage({\n id: 'components.Blocks.blocks.bulletList',\n defaultMessage: 'Bulleted list',\n })}\n >\n <BulletList />\n </IconButton>\n <IconButton\n disabled={isDisabled}\n onClick={() => handleActionClick('NumberList', editorRef)}\n label={formatMessage({\n id: 'components.Blocks.blocks.numberList',\n defaultMessage: 'Numbered list',\n })}\n name={formatMessage({\n id: 'components.Blocks.blocks.numberList',\n defaultMessage: 'Numbered list',\n })}\n >\n <NumberList />\n </IconButton>\n </IconButtonGroup>\n ),\n menu: (\n <>\n <Menu.Separator />\n <Menu.Item\n startIcon={<BulletList fill=\"neutral500\" />}\n onSelect={() => handleActionClick('BulletList', editorRef)}\n disabled={isDisabled}\n >\n <Flex tag=\"span\" gap={2}>\n {formatMessage({\n id: 'components.Blocks.blocks.unorderedList',\n defaultMessage: 'Bulleted list',\n })}\n </Flex>\n </Menu.Item>\n <Menu.Item\n startIcon={<NumberList fill=\"neutral500\" />}\n onSelect={() => handleActionClick('NumberList', editorRef)}\n disabled={isDisabled}\n >\n <Flex tag=\"span\" gap={2}>\n {formatMessage({\n id: 'components.Blocks.blocks.orderedList',\n defaultMessage: 'Numbered list',\n })}\n </Flex>\n </Menu.Item>\n </>\n ),\n key: 'formatting-group-2',\n },\n {\n toolbar: (\n <IconButtonGroup>\n <IconButton\n disabled={isDisabled}\n onClick={() => handleActionClick('Code', editorRef)}\n label={formatMessage({\n id: 'components.Wysiwyg.blocks.code',\n defaultMessage: 'Code',\n })}\n name={formatMessage({\n id: 'components.Wysiwyg.blocks.code',\n defaultMessage: 'Code',\n })}\n >\n <Code />\n </IconButton>\n <IconButton\n disabled={isDisabled}\n onClick={() => {\n onToggleMediaLib();\n }}\n label={formatMessage({\n id: 'components.Blocks.blocks.image',\n defaultMessage: 'Image',\n })}\n name={formatMessage({\n id: 'components.Blocks.blocks.image',\n defaultMessage: 'Image',\n })}\n >\n <Image />\n </IconButton>\n <IconButton\n disabled={isDisabled}\n onClick={() => handleActionClick('Link', editorRef)}\n label={formatMessage({\n id: 'components.Blocks.popover.link',\n defaultMessage: 'Link',\n })}\n name={formatMessage({\n id: 'components.Blocks.popover.link',\n defaultMessage: 'Link',\n })}\n >\n <Link />\n </IconButton>\n <IconButton\n disabled={isDisabled}\n onClick={() => handleActionClick('Quote', editorRef)}\n label={formatMessage({\n id: 'components.Blocks.blocks.quote',\n defaultMessage: 'Quote',\n })}\n name={formatMessage({\n id: 'components.Blocks.blocks.quote',\n defaultMessage: 'Quote',\n })}\n >\n <Quotes />\n </IconButton>\n </IconButtonGroup>\n ),\n menu: (\n <>\n <Menu.Separator />\n <Menu.Item\n startIcon={<Code fill=\"neutral500\" />}\n onSelect={() => handleActionClick('Code', editorRef)}\n disabled={isDisabled}\n >\n <Flex tag=\"span\" gap={2}>\n {formatMessage({\n id: 'components.Wysiwyg.blocks.code',\n defaultMessage: 'Code',\n })}\n </Flex>\n </Menu.Item>\n <Menu.Item\n startIcon={<Image fill=\"neutral500\" />}\n onSelect={() => {\n onToggleMediaLib();\n }}\n disabled={isDisabled}\n >\n <Flex tag=\"span\" gap={2}>\n {formatMessage({\n id: 'components.Blocks.blocks.image',\n defaultMessage: 'Image',\n })}\n </Flex>\n </Menu.Item>\n <Menu.Item\n startIcon={<Link fill=\"neutral500\" />}\n onSelect={() => handleActionClick('Link', editorRef)}\n disabled={isDisabled}\n >\n <Flex tag=\"span\" gap={2}>\n {formatMessage({\n id: 'components.Blocks.popover.link',\n defaultMessage: 'Link',\n })}\n </Flex>\n </Menu.Item>\n <Menu.Item\n startIcon={<Quotes fill=\"neutral500\" />}\n onSelect={() => handleActionClick('Quote', editorRef)}\n disabled={isDisabled}\n >\n <Flex tag=\"span\" gap={2}>\n {formatMessage({\n id: 'components.Blocks.blocks.quote',\n defaultMessage: 'Quote',\n })}\n </Flex>\n </Menu.Item>\n </>\n ),\n key: 'formatting-group-3',\n },\n ];\n\n return (\n <Flex\n padding={2}\n background=\"neutral100\"\n justifyContent=\"space-between\"\n borderRadius=\"0.4rem 0.4rem 0 0\"\n width=\"100%\"\n gap={4}\n >\n <Field.Root>\n <SingleSelect\n disabled={isDisabled}\n placeholder={formatMessage({\n id: 'components.Wysiwyg.selectOptions.title',\n defaultMessage: 'Headings',\n })}\n aria-label={formatMessage({\n id: 'components.Wysiwyg.selectOptions.title',\n defaultMessage: 'Headings',\n })}\n // @ts-expect-error – DS v2 will only allow strings.\n onChange={(value) => handleActionClick(value, editorRef)}\n size=\"S\"\n >\n <SingleSelectOption value=\"h1\" startIcon={<HeadingOne fill=\"neutral500\" />}>\n {formatMessage({\n id: 'components.Wysiwyg.selectOptions.H1',\n defaultMessage: 'Heading 1',\n })}\n </SingleSelectOption>\n <SingleSelectOption value=\"h2\" startIcon={<HeadingTwo fill=\"neutral500\" />}>\n {formatMessage({\n id: 'components.Wysiwyg.selectOptions.H2',\n defaultMessage: 'Heading 2',\n })}\n </SingleSelectOption>\n <SingleSelectOption value=\"h3\" startIcon={<HeadingThree fill=\"neutral500\" />}>\n {formatMessage({\n id: 'components.Wysiwyg.selectOptions.H3',\n defaultMessage: 'Heading 3',\n })}\n </SingleSelectOption>\n <SingleSelectOption value=\"h4\" startIcon={<HeadingFour fill=\"neutral500\" />}>\n {formatMessage({\n id: 'components.Wysiwyg.selectOptions.H4',\n defaultMessage: 'Heading 4',\n })}\n </SingleSelectOption>\n <SingleSelectOption value=\"h5\" startIcon={<HeadingFive fill=\"neutral500\" />}>\n {formatMessage({\n id: 'components.Wysiwyg.selectOptions.H5',\n defaultMessage: 'Heading 5',\n })}\n </SingleSelectOption>\n <SingleSelectOption value=\"h6\" startIcon={<HeadingSix fill=\"neutral500\" />}>\n {formatMessage({\n id: 'components.Wysiwyg.selectOptions.H6',\n defaultMessage: 'Heading 6',\n })}\n </SingleSelectOption>\n </SingleSelect>\n </Field.Root>\n <Flex width=\"100%\" justifyContent=\"space-between\" overflow=\"hidden\">\n <Flex gap={2} overflow=\"hidden\" width=\"100%\">\n <EditorToolbarObserver\n menuTriggerVariant=\"tertiary\"\n observedComponents={observedComponents}\n />\n </Flex>\n\n {onTogglePreviewMode && (\n <Button onClick={onTogglePreviewMode} variant=\"tertiary\" minWidth=\"132px\">\n {isPreviewMode\n ? formatMessage({\n id: 'components.Wysiwyg.ToggleMode.markdown-mode',\n defaultMessage: 'Markdown mode',\n })\n : formatMessage({\n id: 'components.Wysiwyg.ToggleMode.preview-mode',\n defaultMessage: 'Preview mode',\n })}\n </Button>\n )}\n </Flex>\n </Flex>\n );\n};\n\nexport { WysiwygNav };\nexport type { WysiwygNavProps };\n"],"names":["WysiwygNav","disabled","editorRef","isPreviewMode","onToggleMediaLib","onTogglePreviewMode","formatMessage","useIntl","isDisabled","handleActionClick","value","currentEditorRef","markdownHandler","quoteAndCodeHandler","listHandler","titleHandler","observedComponents","toolbar","_jsxs","IconButtonGroup","_jsx","IconButton","onClick","label","id","defaultMessage","name","Bold","Italic","Underline","StrikeThrough","menu","_Fragment","Menu","Separator","Item","startIcon","fill","onSelect","Flex","tag","gap","key","BulletList","NumberList","Code","Image","Link","Quotes","padding","background","justifyContent","borderRadius","width","Field","Root","SingleSelect","placeholder","aria-label","onChange","size","SingleSelectOption","HeadingOne","HeadingTwo","HeadingThree","HeadingFour","HeadingFive","HeadingSix","overflow","EditorToolbarObserver","menuTriggerVariant","Button","variant","minWidth"],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
require('react');
|
|
5
|
+
var strapiAdmin = require('@strapi/admin/strapi-admin');
|
|
4
6
|
var designSystem = require('@strapi/design-system');
|
|
5
7
|
var reactIntl = require('react-intl');
|
|
6
8
|
var styledComponents = require('styled-components');
|
|
@@ -25,9 +27,24 @@ const ResponsiveGridItem = /**
|
|
|
25
27
|
` : styledComponents.styled(designSystem.Grid.Item)`
|
|
26
28
|
grid-column: span 12;
|
|
27
29
|
`;
|
|
30
|
+
const panelStyles = {
|
|
31
|
+
padding: 6,
|
|
32
|
+
borderColor: 'neutral150',
|
|
33
|
+
background: 'neutral0',
|
|
34
|
+
hasRadius: true,
|
|
35
|
+
shadow: 'tableShadow'
|
|
36
|
+
};
|
|
28
37
|
const FormLayout = ({ layout, document, hasBackground = true })=>{
|
|
29
38
|
const { formatMessage } = reactIntl.useIntl();
|
|
30
|
-
const
|
|
39
|
+
const modelUid = document.schema?.uid;
|
|
40
|
+
const fieldValues = strapiAdmin.useForm('Fields', (state)=>state.values);
|
|
41
|
+
const rulesEngine = strapiAdmin.createRulesEngine();
|
|
42
|
+
const getLabel = (name, label)=>{
|
|
43
|
+
return formatMessage({
|
|
44
|
+
id: `content-manager.content-types.${modelUid}.${name}`,
|
|
45
|
+
defaultMessage: label
|
|
46
|
+
});
|
|
47
|
+
};
|
|
31
48
|
return /*#__PURE__*/ jsxRuntime.jsx(designSystem.Flex, {
|
|
32
49
|
direction: "column",
|
|
33
50
|
alignItems: "stretch",
|
|
@@ -36,13 +53,14 @@ const FormLayout = ({ layout, document, hasBackground = true })=>{
|
|
|
36
53
|
if (panel.some((row)=>row.some((field)=>field.type === 'dynamiczone'))) {
|
|
37
54
|
const [row] = panel;
|
|
38
55
|
const [field] = row;
|
|
39
|
-
const
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
56
|
+
const attribute = document.schema?.attributes[field.name];
|
|
57
|
+
const condition = attribute?.conditions?.visible;
|
|
58
|
+
if (condition) {
|
|
59
|
+
const isVisible = rulesEngine.evaluate(condition, fieldValues);
|
|
60
|
+
if (!isVisible) {
|
|
61
|
+
return null; // Skip rendering the dynamic zone if the condition is not met
|
|
62
|
+
}
|
|
63
|
+
}
|
|
46
64
|
return /*#__PURE__*/ jsxRuntime.jsx(designSystem.Grid.Root, {
|
|
47
65
|
gap: 4,
|
|
48
66
|
children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Grid.Item, {
|
|
@@ -52,34 +70,34 @@ const FormLayout = ({ layout, document, hasBackground = true })=>{
|
|
|
52
70
|
direction: "column",
|
|
53
71
|
alignItems: "stretch",
|
|
54
72
|
children: /*#__PURE__*/ jsxRuntime.jsx(InputRenderer.InputRenderer, {
|
|
55
|
-
...
|
|
73
|
+
...field,
|
|
74
|
+
label: getLabel(field.name, field.label),
|
|
56
75
|
document: document
|
|
57
76
|
})
|
|
58
77
|
})
|
|
59
78
|
}, field.name);
|
|
60
79
|
}
|
|
61
80
|
return /*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
|
|
62
|
-
...hasBackground &&
|
|
63
|
-
padding: 6,
|
|
64
|
-
borderColor: 'neutral150',
|
|
65
|
-
background: 'neutral0',
|
|
66
|
-
hasRadius: true,
|
|
67
|
-
shadow: 'tableShadow'
|
|
68
|
-
},
|
|
81
|
+
...hasBackground && panelStyles,
|
|
69
82
|
children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Flex, {
|
|
70
83
|
direction: "column",
|
|
71
84
|
alignItems: "stretch",
|
|
72
85
|
gap: 6,
|
|
73
|
-
children: panel.map((row, gridRowIndex)
|
|
86
|
+
children: panel.map((row, gridRowIndex)=>{
|
|
87
|
+
const visibleFields = row.filter(({ name })=>{
|
|
88
|
+
const attribute = document.schema?.attributes[name];
|
|
89
|
+
const condition = attribute?.conditions?.visible;
|
|
90
|
+
if (condition) {
|
|
91
|
+
return rulesEngine.evaluate(condition, fieldValues);
|
|
92
|
+
}
|
|
93
|
+
return true;
|
|
94
|
+
});
|
|
95
|
+
if (visibleFields.length === 0) {
|
|
96
|
+
return null; // Skip rendering the entire grid row
|
|
97
|
+
}
|
|
98
|
+
return /*#__PURE__*/ jsxRuntime.jsx(ResponsiveGridRoot, {
|
|
74
99
|
gap: 4,
|
|
75
|
-
children:
|
|
76
|
-
const fieldWithTranslatedLabel = {
|
|
77
|
-
...field,
|
|
78
|
-
label: formatMessage({
|
|
79
|
-
id: `content-manager.content-types.${model}.${field.name}`,
|
|
80
|
-
defaultMessage: field.label
|
|
81
|
-
})
|
|
82
|
-
};
|
|
100
|
+
children: visibleFields.map(({ size, ...field })=>{
|
|
83
101
|
return /*#__PURE__*/ jsxRuntime.jsx(ResponsiveGridItem, {
|
|
84
102
|
col: size,
|
|
85
103
|
s: 12,
|
|
@@ -87,12 +105,14 @@ const FormLayout = ({ layout, document, hasBackground = true })=>{
|
|
|
87
105
|
direction: "column",
|
|
88
106
|
alignItems: "stretch",
|
|
89
107
|
children: /*#__PURE__*/ jsxRuntime.jsx(InputRenderer.InputRenderer, {
|
|
90
|
-
...
|
|
108
|
+
...field,
|
|
109
|
+
label: getLabel(field.name, field.label),
|
|
91
110
|
document: document
|
|
92
111
|
})
|
|
93
112
|
}, field.name);
|
|
94
113
|
})
|
|
95
|
-
}, gridRowIndex)
|
|
114
|
+
}, gridRowIndex);
|
|
115
|
+
})
|
|
96
116
|
})
|
|
97
117
|
}, index);
|
|
98
118
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormLayout.js","sources":["../../../../../admin/src/pages/EditView/components/FormLayout.tsx"],"sourcesContent":["import { Box, Flex, Grid } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { EditLayout } from '../../../hooks/useDocumentLayout';\n\nimport { InputRenderer } from './InputRenderer';\n\nimport type { UseDocument } from '../../../hooks/useDocument';\n\nexport const RESPONSIVE_CONTAINER_BREAKPOINTS = {\n sm: '27.5rem', // 440px\n};\n\nexport const ResponsiveGridRoot = styled(Grid.Root)`\n container-type: inline-size;\n`;\n\nexport const ResponsiveGridItem =\n /**\n * TODO:\n * JSDOM cannot handle container queries.\n * This is a temporary workaround so that tests do not fail in the CI when jestdom throws an error\n * for failing to parse the stylesheet.\n */\n process.env.NODE_ENV !== 'test'\n ? styled(Grid.Item)<{ col: number }>`\n grid-column: span 12;\n @container (min-width: ${RESPONSIVE_CONTAINER_BREAKPOINTS.sm}) {\n ${({ col }) => col && `grid-column: span ${col};`}\n }\n `\n : styled(Grid.Item)<{ col: number }>`\n grid-column: span 12;\n `;\n\ninterface FormLayoutProps extends Pick<EditLayout, 'layout'> {\n hasBackground?: boolean;\n
|
|
1
|
+
{"version":3,"file":"FormLayout.js","sources":["../../../../../admin/src/pages/EditView/components/FormLayout.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { useForm, createRulesEngine } from '@strapi/admin/strapi-admin';\nimport { Box, BoxProps, Flex, Grid } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { EditLayout } from '../../../hooks/useDocumentLayout';\n\nimport { InputRenderer } from './InputRenderer';\n\nimport type { UseDocument } from '../../../hooks/useDocument';\n\nexport const RESPONSIVE_CONTAINER_BREAKPOINTS = {\n sm: '27.5rem', // 440px\n};\n\nexport const ResponsiveGridRoot = styled(Grid.Root)`\n container-type: inline-size;\n`;\n\nexport const ResponsiveGridItem =\n /**\n * TODO:\n * JSDOM cannot handle container queries.\n * This is a temporary workaround so that tests do not fail in the CI when jestdom throws an error\n * for failing to parse the stylesheet.\n */\n process.env.NODE_ENV !== 'test'\n ? styled(Grid.Item)<{ col: number }>`\n grid-column: span 12;\n @container (min-width: ${RESPONSIVE_CONTAINER_BREAKPOINTS.sm}) {\n ${({ col }) => col && `grid-column: span ${col};`}\n }\n `\n : styled(Grid.Item)<{ col: number }>`\n grid-column: span 12;\n `;\n\nconst panelStyles = {\n padding: 6,\n borderColor: 'neutral150',\n background: 'neutral0',\n hasRadius: true,\n shadow: 'tableShadow',\n} satisfies BoxProps;\n\ninterface FormLayoutProps extends Pick<EditLayout, 'layout'> {\n hasBackground?: boolean;\n document: ReturnType<UseDocument>;\n}\n\nconst FormLayout = ({ layout, document, hasBackground = true }: FormLayoutProps) => {\n const { formatMessage } = useIntl();\n const modelUid = document.schema?.uid;\n const fieldValues = useForm('Fields', (state) => state.values);\n const rulesEngine = createRulesEngine();\n\n const getLabel = (name: string, label: string) => {\n return formatMessage({\n id: `content-manager.content-types.${modelUid}.${name}`,\n defaultMessage: label,\n });\n };\n\n return (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n {layout.map((panel, index) => {\n if (panel.some((row) => row.some((field) => field.type === 'dynamiczone'))) {\n const [row] = panel;\n const [field] = row;\n const attribute = document.schema?.attributes[field.name];\n const condition = attribute?.conditions?.visible;\n\n if (condition) {\n const isVisible = rulesEngine.evaluate(condition, fieldValues);\n if (!isVisible) {\n return null; // Skip rendering the dynamic zone if the condition is not met\n }\n }\n\n return (\n <Grid.Root key={field.name} gap={4}>\n <Grid.Item col={12} s={12} xs={12} direction=\"column\" alignItems=\"stretch\">\n <InputRenderer\n {...field}\n label={getLabel(field.name, field.label)}\n document={document}\n />\n </Grid.Item>\n </Grid.Root>\n );\n }\n\n return (\n <Box key={index} {...(hasBackground && panelStyles)}>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n {panel.map((row, gridRowIndex) => {\n const visibleFields = row.filter(({ name }) => {\n const attribute = document.schema?.attributes[name];\n const condition = attribute?.conditions?.visible;\n\n if (condition) {\n return rulesEngine.evaluate(condition, fieldValues);\n }\n\n return true;\n });\n\n if (visibleFields.length === 0) {\n return null; // Skip rendering the entire grid row\n }\n\n return (\n <ResponsiveGridRoot key={gridRowIndex} gap={4}>\n {visibleFields.map(({ size, ...field }) => {\n return (\n <ResponsiveGridItem\n col={size}\n key={field.name}\n s={12}\n xs={12}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <InputRenderer\n {...field}\n label={getLabel(field.name, field.label)}\n document={document}\n />\n </ResponsiveGridItem>\n );\n })}\n </ResponsiveGridRoot>\n );\n })}\n </Flex>\n </Box>\n );\n })}\n </Flex>\n );\n};\n\nexport { FormLayout, FormLayoutProps };\n"],"names":["RESPONSIVE_CONTAINER_BREAKPOINTS","sm","ResponsiveGridRoot","styled","Grid","Root","ResponsiveGridItem","process","env","NODE_ENV","Item","col","panelStyles","padding","borderColor","background","hasRadius","shadow","FormLayout","layout","document","hasBackground","formatMessage","useIntl","modelUid","schema","uid","fieldValues","useForm","state","values","rulesEngine","createRulesEngine","getLabel","name","label","id","defaultMessage","_jsx","Flex","direction","alignItems","gap","map","panel","index","some","row","field","type","attribute","attributes","condition","conditions","visible","isVisible","evaluate","s","xs","InputRenderer","Box","gridRowIndex","visibleFields","filter","length","size"],"mappings":"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"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import 'react';
|
|
3
|
+
import { useForm, createRulesEngine } from '@strapi/admin/strapi-admin';
|
|
2
4
|
import { Grid, Flex, Box } from '@strapi/design-system';
|
|
3
5
|
import { useIntl } from 'react-intl';
|
|
4
6
|
import { styled } from 'styled-components';
|
|
@@ -23,9 +25,24 @@ const ResponsiveGridItem = /**
|
|
|
23
25
|
` : styled(Grid.Item)`
|
|
24
26
|
grid-column: span 12;
|
|
25
27
|
`;
|
|
28
|
+
const panelStyles = {
|
|
29
|
+
padding: 6,
|
|
30
|
+
borderColor: 'neutral150',
|
|
31
|
+
background: 'neutral0',
|
|
32
|
+
hasRadius: true,
|
|
33
|
+
shadow: 'tableShadow'
|
|
34
|
+
};
|
|
26
35
|
const FormLayout = ({ layout, document, hasBackground = true })=>{
|
|
27
36
|
const { formatMessage } = useIntl();
|
|
28
|
-
const
|
|
37
|
+
const modelUid = document.schema?.uid;
|
|
38
|
+
const fieldValues = useForm('Fields', (state)=>state.values);
|
|
39
|
+
const rulesEngine = createRulesEngine();
|
|
40
|
+
const getLabel = (name, label)=>{
|
|
41
|
+
return formatMessage({
|
|
42
|
+
id: `content-manager.content-types.${modelUid}.${name}`,
|
|
43
|
+
defaultMessage: label
|
|
44
|
+
});
|
|
45
|
+
};
|
|
29
46
|
return /*#__PURE__*/ jsx(Flex, {
|
|
30
47
|
direction: "column",
|
|
31
48
|
alignItems: "stretch",
|
|
@@ -34,13 +51,14 @@ const FormLayout = ({ layout, document, hasBackground = true })=>{
|
|
|
34
51
|
if (panel.some((row)=>row.some((field)=>field.type === 'dynamiczone'))) {
|
|
35
52
|
const [row] = panel;
|
|
36
53
|
const [field] = row;
|
|
37
|
-
const
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
54
|
+
const attribute = document.schema?.attributes[field.name];
|
|
55
|
+
const condition = attribute?.conditions?.visible;
|
|
56
|
+
if (condition) {
|
|
57
|
+
const isVisible = rulesEngine.evaluate(condition, fieldValues);
|
|
58
|
+
if (!isVisible) {
|
|
59
|
+
return null; // Skip rendering the dynamic zone if the condition is not met
|
|
60
|
+
}
|
|
61
|
+
}
|
|
44
62
|
return /*#__PURE__*/ jsx(Grid.Root, {
|
|
45
63
|
gap: 4,
|
|
46
64
|
children: /*#__PURE__*/ jsx(Grid.Item, {
|
|
@@ -50,34 +68,34 @@ const FormLayout = ({ layout, document, hasBackground = true })=>{
|
|
|
50
68
|
direction: "column",
|
|
51
69
|
alignItems: "stretch",
|
|
52
70
|
children: /*#__PURE__*/ jsx(MemoizedInputRenderer, {
|
|
53
|
-
...
|
|
71
|
+
...field,
|
|
72
|
+
label: getLabel(field.name, field.label),
|
|
54
73
|
document: document
|
|
55
74
|
})
|
|
56
75
|
})
|
|
57
76
|
}, field.name);
|
|
58
77
|
}
|
|
59
78
|
return /*#__PURE__*/ jsx(Box, {
|
|
60
|
-
...hasBackground &&
|
|
61
|
-
padding: 6,
|
|
62
|
-
borderColor: 'neutral150',
|
|
63
|
-
background: 'neutral0',
|
|
64
|
-
hasRadius: true,
|
|
65
|
-
shadow: 'tableShadow'
|
|
66
|
-
},
|
|
79
|
+
...hasBackground && panelStyles,
|
|
67
80
|
children: /*#__PURE__*/ jsx(Flex, {
|
|
68
81
|
direction: "column",
|
|
69
82
|
alignItems: "stretch",
|
|
70
83
|
gap: 6,
|
|
71
|
-
children: panel.map((row, gridRowIndex)
|
|
84
|
+
children: panel.map((row, gridRowIndex)=>{
|
|
85
|
+
const visibleFields = row.filter(({ name })=>{
|
|
86
|
+
const attribute = document.schema?.attributes[name];
|
|
87
|
+
const condition = attribute?.conditions?.visible;
|
|
88
|
+
if (condition) {
|
|
89
|
+
return rulesEngine.evaluate(condition, fieldValues);
|
|
90
|
+
}
|
|
91
|
+
return true;
|
|
92
|
+
});
|
|
93
|
+
if (visibleFields.length === 0) {
|
|
94
|
+
return null; // Skip rendering the entire grid row
|
|
95
|
+
}
|
|
96
|
+
return /*#__PURE__*/ jsx(ResponsiveGridRoot, {
|
|
72
97
|
gap: 4,
|
|
73
|
-
children:
|
|
74
|
-
const fieldWithTranslatedLabel = {
|
|
75
|
-
...field,
|
|
76
|
-
label: formatMessage({
|
|
77
|
-
id: `content-manager.content-types.${model}.${field.name}`,
|
|
78
|
-
defaultMessage: field.label
|
|
79
|
-
})
|
|
80
|
-
};
|
|
98
|
+
children: visibleFields.map(({ size, ...field })=>{
|
|
81
99
|
return /*#__PURE__*/ jsx(ResponsiveGridItem, {
|
|
82
100
|
col: size,
|
|
83
101
|
s: 12,
|
|
@@ -85,12 +103,14 @@ const FormLayout = ({ layout, document, hasBackground = true })=>{
|
|
|
85
103
|
direction: "column",
|
|
86
104
|
alignItems: "stretch",
|
|
87
105
|
children: /*#__PURE__*/ jsx(MemoizedInputRenderer, {
|
|
88
|
-
...
|
|
106
|
+
...field,
|
|
107
|
+
label: getLabel(field.name, field.label),
|
|
89
108
|
document: document
|
|
90
109
|
})
|
|
91
110
|
}, field.name);
|
|
92
111
|
})
|
|
93
|
-
}, gridRowIndex)
|
|
112
|
+
}, gridRowIndex);
|
|
113
|
+
})
|
|
94
114
|
})
|
|
95
115
|
}, index);
|
|
96
116
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormLayout.mjs","sources":["../../../../../admin/src/pages/EditView/components/FormLayout.tsx"],"sourcesContent":["import { Box, Flex, Grid } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { EditLayout } from '../../../hooks/useDocumentLayout';\n\nimport { InputRenderer } from './InputRenderer';\n\nimport type { UseDocument } from '../../../hooks/useDocument';\n\nexport const RESPONSIVE_CONTAINER_BREAKPOINTS = {\n sm: '27.5rem', // 440px\n};\n\nexport const ResponsiveGridRoot = styled(Grid.Root)`\n container-type: inline-size;\n`;\n\nexport const ResponsiveGridItem =\n /**\n * TODO:\n * JSDOM cannot handle container queries.\n * This is a temporary workaround so that tests do not fail in the CI when jestdom throws an error\n * for failing to parse the stylesheet.\n */\n process.env.NODE_ENV !== 'test'\n ? styled(Grid.Item)<{ col: number }>`\n grid-column: span 12;\n @container (min-width: ${RESPONSIVE_CONTAINER_BREAKPOINTS.sm}) {\n ${({ col }) => col && `grid-column: span ${col};`}\n }\n `\n : styled(Grid.Item)<{ col: number }>`\n grid-column: span 12;\n `;\n\ninterface FormLayoutProps extends Pick<EditLayout, 'layout'> {\n hasBackground?: boolean;\n
|
|
1
|
+
{"version":3,"file":"FormLayout.mjs","sources":["../../../../../admin/src/pages/EditView/components/FormLayout.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { useForm, createRulesEngine } from '@strapi/admin/strapi-admin';\nimport { Box, BoxProps, Flex, Grid } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { EditLayout } from '../../../hooks/useDocumentLayout';\n\nimport { InputRenderer } from './InputRenderer';\n\nimport type { UseDocument } from '../../../hooks/useDocument';\n\nexport const RESPONSIVE_CONTAINER_BREAKPOINTS = {\n sm: '27.5rem', // 440px\n};\n\nexport const ResponsiveGridRoot = styled(Grid.Root)`\n container-type: inline-size;\n`;\n\nexport const ResponsiveGridItem =\n /**\n * TODO:\n * JSDOM cannot handle container queries.\n * This is a temporary workaround so that tests do not fail in the CI when jestdom throws an error\n * for failing to parse the stylesheet.\n */\n process.env.NODE_ENV !== 'test'\n ? styled(Grid.Item)<{ col: number }>`\n grid-column: span 12;\n @container (min-width: ${RESPONSIVE_CONTAINER_BREAKPOINTS.sm}) {\n ${({ col }) => col && `grid-column: span ${col};`}\n }\n `\n : styled(Grid.Item)<{ col: number }>`\n grid-column: span 12;\n `;\n\nconst panelStyles = {\n padding: 6,\n borderColor: 'neutral150',\n background: 'neutral0',\n hasRadius: true,\n shadow: 'tableShadow',\n} satisfies BoxProps;\n\ninterface FormLayoutProps extends Pick<EditLayout, 'layout'> {\n hasBackground?: boolean;\n document: ReturnType<UseDocument>;\n}\n\nconst FormLayout = ({ layout, document, hasBackground = true }: FormLayoutProps) => {\n const { formatMessage } = useIntl();\n const modelUid = document.schema?.uid;\n const fieldValues = useForm('Fields', (state) => state.values);\n const rulesEngine = createRulesEngine();\n\n const getLabel = (name: string, label: string) => {\n return formatMessage({\n id: `content-manager.content-types.${modelUid}.${name}`,\n defaultMessage: label,\n });\n };\n\n return (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n {layout.map((panel, index) => {\n if (panel.some((row) => row.some((field) => field.type === 'dynamiczone'))) {\n const [row] = panel;\n const [field] = row;\n const attribute = document.schema?.attributes[field.name];\n const condition = attribute?.conditions?.visible;\n\n if (condition) {\n const isVisible = rulesEngine.evaluate(condition, fieldValues);\n if (!isVisible) {\n return null; // Skip rendering the dynamic zone if the condition is not met\n }\n }\n\n return (\n <Grid.Root key={field.name} gap={4}>\n <Grid.Item col={12} s={12} xs={12} direction=\"column\" alignItems=\"stretch\">\n <InputRenderer\n {...field}\n label={getLabel(field.name, field.label)}\n document={document}\n />\n </Grid.Item>\n </Grid.Root>\n );\n }\n\n return (\n <Box key={index} {...(hasBackground && panelStyles)}>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n {panel.map((row, gridRowIndex) => {\n const visibleFields = row.filter(({ name }) => {\n const attribute = document.schema?.attributes[name];\n const condition = attribute?.conditions?.visible;\n\n if (condition) {\n return rulesEngine.evaluate(condition, fieldValues);\n }\n\n return true;\n });\n\n if (visibleFields.length === 0) {\n return null; // Skip rendering the entire grid row\n }\n\n return (\n <ResponsiveGridRoot key={gridRowIndex} gap={4}>\n {visibleFields.map(({ size, ...field }) => {\n return (\n <ResponsiveGridItem\n col={size}\n key={field.name}\n s={12}\n xs={12}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <InputRenderer\n {...field}\n label={getLabel(field.name, field.label)}\n document={document}\n />\n </ResponsiveGridItem>\n );\n })}\n </ResponsiveGridRoot>\n );\n })}\n </Flex>\n </Box>\n );\n })}\n </Flex>\n );\n};\n\nexport { FormLayout, FormLayoutProps };\n"],"names":["RESPONSIVE_CONTAINER_BREAKPOINTS","sm","ResponsiveGridRoot","styled","Grid","Root","ResponsiveGridItem","process","env","NODE_ENV","Item","col","panelStyles","padding","borderColor","background","hasRadius","shadow","FormLayout","layout","document","hasBackground","formatMessage","useIntl","modelUid","schema","uid","fieldValues","useForm","state","values","rulesEngine","createRulesEngine","getLabel","name","label","id","defaultMessage","_jsx","Flex","direction","alignItems","gap","map","panel","index","some","row","field","type","attribute","attributes","condition","conditions","visible","isVisible","evaluate","s","xs","InputRenderer","Box","gridRowIndex","visibleFields","filter","length","size"],"mappings":"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"}
|
|
@@ -5,9 +5,8 @@ var React = require('react');
|
|
|
5
5
|
var strapiAdmin = require('@strapi/admin/strapi-admin');
|
|
6
6
|
var reactIntl = require('react-intl');
|
|
7
7
|
var collections = require('../../../constants/collections.js');
|
|
8
|
-
var DocumentContext = require('../../../features/DocumentContext.js');
|
|
9
8
|
var DocumentRBAC = require('../../../features/DocumentRBAC.js');
|
|
10
|
-
var
|
|
9
|
+
var useDocumentContext = require('../../../hooks/useDocumentContext.js');
|
|
11
10
|
var useDocumentLayout = require('../../../hooks/useDocumentLayout.js');
|
|
12
11
|
var useLazyComponents = require('../../../hooks/useLazyComponents.js');
|
|
13
12
|
var BlocksInput = require('./FormInputs/BlocksInput/BlocksInput.js');
|
|
@@ -45,14 +44,8 @@ var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
|
|
|
45
44
|
* the complete EditFieldLayout and will handle RBAC conditions and rendering CM specific
|
|
46
45
|
* components such as Blocks / Relations.
|
|
47
46
|
*/ const InputRenderer = ({ visible, hint: providedHint, document, ...props })=>{
|
|
48
|
-
const {
|
|
49
|
-
const
|
|
50
|
-
const { edit: { components: rootComponents } } = useDocumentLayout.useDocumentLayout(rootDocumentMeta.model);
|
|
51
|
-
const { edit: { components: relatedComponents } } = useDocumentLayout.useDocumentLayout(document.schema?.uid ?? rootModel);
|
|
52
|
-
const components = {
|
|
53
|
-
...rootComponents,
|
|
54
|
-
...relatedComponents
|
|
55
|
-
};
|
|
47
|
+
const { currentDocumentMeta } = useDocumentContext.useDocumentContext('DynamicComponent');
|
|
48
|
+
const { edit: { components } } = useDocumentLayout.useDocumentLayout(currentDocumentMeta.model);
|
|
56
49
|
const collectionType = document.schema?.kind === 'collectionType' ? 'collection-types' : 'single-types';
|
|
57
50
|
const isInDynamicZone = Field.useDynamicZone('isInDynamicZone', (state)=>state.isInDynamicZone);
|
|
58
51
|
const isFormDisabled = strapiAdmin.useForm('InputRenderer', (state)=>state.disabled);
|