@strapi/content-type-builder 5.49.0 → 5.50.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/components/AIChat/Chat.js +2 -4
- package/dist/admin/components/AIChat/Chat.js.map +1 -1
- package/dist/admin/components/AIChat/Chat.mjs +2 -4
- package/dist/admin/components/AIChat/Chat.mjs.map +1 -1
- package/dist/admin/components/AIChat/UploadFigmaModal.js +1 -1
- package/dist/admin/components/AIChat/UploadFigmaModal.js.map +1 -1
- package/dist/admin/components/AIChat/UploadFigmaModal.mjs +1 -1
- package/dist/admin/components/AIChat/UploadFigmaModal.mjs.map +1 -1
- package/dist/admin/components/AIChat/components/Messages/Message.js +8 -3
- package/dist/admin/components/AIChat/components/Messages/Message.js.map +1 -1
- package/dist/admin/components/AIChat/components/Messages/Message.mjs +8 -3
- package/dist/admin/components/AIChat/components/Messages/Message.mjs.map +1 -1
- package/dist/admin/components/AIChat/lib/aiClient.js +8 -2
- package/dist/admin/components/AIChat/lib/aiClient.js.map +1 -1
- package/dist/admin/components/AIChat/lib/aiClient.mjs +8 -2
- package/dist/admin/components/AIChat/lib/aiClient.mjs.map +1 -1
- package/dist/admin/components/AIChat/lib/transforms/schemas/fromCTB.js +0 -3
- package/dist/admin/components/AIChat/lib/transforms/schemas/fromCTB.js.map +1 -1
- package/dist/admin/components/AIChat/lib/transforms/schemas/fromCTB.mjs +0 -3
- package/dist/admin/components/AIChat/lib/transforms/schemas/fromCTB.mjs.map +1 -1
- package/dist/admin/components/AIChat/lib/transforms/schemas/toCTB.js +9 -7
- package/dist/admin/components/AIChat/lib/transforms/schemas/toCTB.js.map +1 -1
- package/dist/admin/components/AIChat/lib/transforms/schemas/toCTB.mjs +9 -7
- package/dist/admin/components/AIChat/lib/transforms/schemas/toCTB.mjs.map +1 -1
- package/dist/admin/components/AIChat/providers/SchemaProvider.js +1 -1
- package/dist/admin/components/AIChat/providers/SchemaProvider.js.map +1 -1
- package/dist/admin/components/AIChat/providers/SchemaProvider.mjs +1 -1
- package/dist/admin/components/AIChat/providers/SchemaProvider.mjs.map +1 -1
- package/dist/admin/components/AllowedTypesSelect.js.map +1 -1
- package/dist/admin/components/AllowedTypesSelect.mjs.map +1 -1
- package/dist/admin/components/AttributeIcon.js +1 -1
- package/dist/admin/components/AttributeIcon.js.map +1 -1
- package/dist/admin/components/AttributeIcon.mjs +1 -1
- package/dist/admin/components/AttributeIcon.mjs.map +1 -1
- package/dist/admin/components/BooleanDefaultValueSelect.js +3 -2
- package/dist/admin/components/BooleanDefaultValueSelect.js.map +1 -1
- package/dist/admin/components/BooleanDefaultValueSelect.mjs +3 -2
- package/dist/admin/components/BooleanDefaultValueSelect.mjs.map +1 -1
- package/dist/admin/components/BooleanRadioGroup.js.map +1 -1
- package/dist/admin/components/BooleanRadioGroup.mjs.map +1 -1
- package/dist/admin/components/CTBSession/useCTBTracking.js +3 -3
- package/dist/admin/components/CTBSession/useCTBTracking.js.map +1 -1
- package/dist/admin/components/CTBSession/useCTBTracking.mjs +3 -3
- package/dist/admin/components/CTBSession/useCTBTracking.mjs.map +1 -1
- package/dist/admin/components/CheckboxWithNumberField.js +3 -2
- package/dist/admin/components/CheckboxWithNumberField.js.map +1 -1
- package/dist/admin/components/CheckboxWithNumberField.mjs +3 -2
- package/dist/admin/components/CheckboxWithNumberField.mjs.map +1 -1
- package/dist/admin/components/ComponentCard/ComponentCard.js.map +1 -1
- package/dist/admin/components/ComponentCard/ComponentCard.mjs.map +1 -1
- package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.js +160 -162
- package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.js.map +1 -1
- package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.mjs +160 -162
- package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.mjs.map +1 -1
- package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.js +1 -1
- package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.js.map +1 -1
- package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.mjs +1 -1
- package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.mjs.map +1 -1
- package/dist/admin/components/ContentTypeRadioGroup.js.map +1 -1
- package/dist/admin/components/ContentTypeRadioGroup.mjs.map +1 -1
- package/dist/admin/components/CustomRadioGroup/CustomRadioGroup.js +6 -5
- package/dist/admin/components/CustomRadioGroup/CustomRadioGroup.js.map +1 -1
- package/dist/admin/components/CustomRadioGroup/CustomRadioGroup.mjs +6 -5
- package/dist/admin/components/CustomRadioGroup/CustomRadioGroup.mjs.map +1 -1
- package/dist/admin/components/CustomRadioGroup/Styles.js.map +1 -1
- package/dist/admin/components/CustomRadioGroup/Styles.mjs.map +1 -1
- package/dist/admin/components/DataManager/DataManagerContext.js.map +1 -1
- package/dist/admin/components/DataManager/DataManagerContext.mjs.map +1 -1
- package/dist/admin/components/DataManager/DataManagerProvider.js +16 -4
- package/dist/admin/components/DataManager/DataManagerProvider.js.map +1 -1
- package/dist/admin/components/DataManager/DataManagerProvider.mjs +16 -4
- package/dist/admin/components/DataManager/DataManagerProvider.mjs.map +1 -1
- package/dist/admin/components/DataManager/reducer.js +2 -2
- package/dist/admin/components/DataManager/reducer.js.map +1 -1
- package/dist/admin/components/DataManager/reducer.mjs +2 -2
- package/dist/admin/components/DataManager/reducer.mjs.map +1 -1
- package/dist/admin/components/DataManager/useServerRestartWatcher.js.map +1 -1
- package/dist/admin/components/DataManager/useServerRestartWatcher.mjs.map +1 -1
- package/dist/admin/components/DataManager/utils/retrieveSpecificInfoFromComponents.js.map +1 -1
- package/dist/admin/components/DataManager/utils/retrieveSpecificInfoFromComponents.mjs.map +1 -1
- package/dist/admin/components/DraftAndPublishToggle.js.map +1 -1
- package/dist/admin/components/DraftAndPublishToggle.mjs.map +1 -1
- package/dist/admin/components/DynamicZoneList.js.map +1 -1
- package/dist/admin/components/DynamicZoneList.mjs.map +1 -1
- package/dist/admin/components/FormModal/FormModal.js +91 -71
- package/dist/admin/components/FormModal/FormModal.js.map +1 -1
- package/dist/admin/components/FormModal/FormModal.mjs +91 -70
- package/dist/admin/components/FormModal/FormModal.mjs.map +1 -1
- package/dist/admin/components/FormModal/attributes/ConditionForm.js +20 -17
- package/dist/admin/components/FormModal/attributes/ConditionForm.js.map +1 -1
- package/dist/admin/components/FormModal/attributes/ConditionForm.mjs +20 -17
- package/dist/admin/components/FormModal/attributes/ConditionForm.mjs.map +1 -1
- package/dist/admin/components/FormModal/attributes/validation/common.js.map +1 -1
- package/dist/admin/components/FormModal/attributes/validation/common.mjs.map +1 -1
- package/dist/admin/components/FormModal/component/createComponentSchema.js +1 -1
- package/dist/admin/components/FormModal/component/createComponentSchema.js.map +1 -1
- package/dist/admin/components/FormModal/component/createComponentSchema.mjs +1 -1
- package/dist/admin/components/FormModal/component/createComponentSchema.mjs.map +1 -1
- package/dist/admin/components/FormModal/forms/forms.js +4 -6
- package/dist/admin/components/FormModal/forms/forms.js.map +1 -1
- package/dist/admin/components/FormModal/forms/forms.mjs +4 -6
- package/dist/admin/components/FormModal/forms/forms.mjs.map +1 -1
- package/dist/admin/components/FormModal/forms/utils/getUsedAttributeNames.js.map +1 -1
- package/dist/admin/components/FormModal/forms/utils/getUsedAttributeNames.mjs.map +1 -1
- package/dist/admin/components/FormModal/reducer.js +9 -6
- package/dist/admin/components/FormModal/reducer.js.map +1 -1
- package/dist/admin/components/FormModal/reducer.mjs +9 -6
- package/dist/admin/components/FormModal/reducer.mjs.map +1 -1
- package/dist/admin/components/FormModal/utils/customFieldDefaultOptionsReducer.js +3 -3
- package/dist/admin/components/FormModal/utils/customFieldDefaultOptionsReducer.js.map +1 -1
- package/dist/admin/components/FormModal/utils/customFieldDefaultOptionsReducer.mjs +3 -3
- package/dist/admin/components/FormModal/utils/customFieldDefaultOptionsReducer.mjs.map +1 -1
- package/dist/admin/components/FormModal/utils/getFormInputNames.js +1 -1
- package/dist/admin/components/FormModal/utils/getFormInputNames.js.map +1 -1
- package/dist/admin/components/FormModal/utils/getFormInputNames.mjs +1 -1
- package/dist/admin/components/FormModal/utils/getFormInputNames.mjs.map +1 -1
- package/dist/admin/components/FormModal/utils/relations.js +2 -2
- package/dist/admin/components/FormModal/utils/relations.js.map +1 -1
- package/dist/admin/components/FormModal/utils/relations.mjs +2 -2
- package/dist/admin/components/FormModal/utils/relations.mjs.map +1 -1
- package/dist/admin/components/FormModalHeader.js.map +1 -1
- package/dist/admin/components/FormModalHeader.mjs.map +1 -1
- package/dist/admin/components/FormModalNavigation/FormModalNavigationContext.js.map +1 -1
- package/dist/admin/components/FormModalNavigation/FormModalNavigationContext.mjs.map +1 -1
- package/dist/admin/components/FormModalNavigation/FormModalNavigationProvider.js +13 -13
- package/dist/admin/components/FormModalNavigation/FormModalNavigationProvider.js.map +1 -1
- package/dist/admin/components/FormModalNavigation/FormModalNavigationProvider.mjs +13 -13
- package/dist/admin/components/FormModalNavigation/FormModalNavigationProvider.mjs.map +1 -1
- package/dist/admin/components/GenericInputs.js +24 -12
- package/dist/admin/components/GenericInputs.js.map +1 -1
- package/dist/admin/components/GenericInputs.mjs +24 -12
- package/dist/admin/components/GenericInputs.mjs.map +1 -1
- package/dist/admin/components/IconPicker/IconPicker.js.map +1 -1
- package/dist/admin/components/IconPicker/IconPicker.mjs.map +1 -1
- package/dist/admin/components/PluralName.js.map +1 -1
- package/dist/admin/components/PluralName.mjs.map +1 -1
- package/dist/admin/components/Relation/Relation.js +3 -3
- package/dist/admin/components/Relation/Relation.js.map +1 -1
- package/dist/admin/components/Relation/Relation.mjs +3 -3
- package/dist/admin/components/Relation/Relation.mjs.map +1 -1
- package/dist/admin/components/Relation/RelationField/RelationField.js +1 -1
- package/dist/admin/components/Relation/RelationField/RelationField.js.map +1 -1
- package/dist/admin/components/Relation/RelationField/RelationField.mjs +1 -1
- package/dist/admin/components/Relation/RelationField/RelationField.mjs.map +1 -1
- package/dist/admin/components/SelectCategory.js +6 -0
- package/dist/admin/components/SelectCategory.js.map +1 -1
- package/dist/admin/components/SelectCategory.mjs +6 -0
- package/dist/admin/components/SelectCategory.mjs.map +1 -1
- package/dist/admin/components/SelectComponent.js +1 -1
- package/dist/admin/components/SelectComponent.js.map +1 -1
- package/dist/admin/components/SelectComponent.mjs +1 -1
- package/dist/admin/components/SelectComponent.mjs.map +1 -1
- package/dist/admin/components/SingularName.js.map +1 -1
- package/dist/admin/components/SingularName.mjs.map +1 -1
- package/dist/admin/components/TabForm.js +50 -51
- package/dist/admin/components/TabForm.js.map +1 -1
- package/dist/admin/components/TabForm.mjs +51 -52
- package/dist/admin/components/TabForm.mjs.map +1 -1
- package/dist/admin/src/components/AIChat/components/AnimatedBox.d.ts +4 -5
- package/dist/admin/src/components/AIChat/components/Attachments/AttachmentPreview.d.ts +1 -1
- package/dist/admin/src/components/AIChat/components/Dropzone.d.ts +0 -1
- package/dist/admin/src/components/AIChat/components/FloatingPanel.d.ts +0 -1
- package/dist/admin/src/components/AIChat/components/Input.d.ts +2 -3
- package/dist/admin/src/components/AIChat/components/Messages/Message.d.ts +1 -2
- package/dist/admin/src/components/AIChat/components/ResizableTextArea.d.ts +0 -1
- package/dist/admin/src/components/AIChat/components/SimpleMenu.d.ts +9 -9
- package/dist/admin/src/components/AIChat/components/icons/FigmaIcon.d.ts +0 -1
- package/dist/admin/src/components/AIChat/components/icons/StopIcon.d.ts +0 -1
- package/dist/admin/src/components/AIChat/hooks/useAIFetch.d.ts +5 -5
- package/dist/admin/src/components/AIChat/lib/aiClient.d.ts +1 -1
- package/dist/admin/src/components/AIChat/lib/transforms/schemas/fromCTB.d.ts +6 -2
- package/dist/admin/src/components/AIChat/lib/transforms/schemas/toCTB.d.ts +1 -1
- package/dist/admin/src/components/AIChat/lib/types/schema.d.ts +5 -5
- package/dist/admin/src/components/AllowedTypesSelect.d.ts +3 -3
- package/dist/admin/src/components/AttributeOptions/OptionBoxWrapper.d.ts +2 -3
- package/dist/admin/src/components/AttributeRow.d.ts +7 -8
- package/dist/admin/src/components/BooleanDefaultValueSelect.d.ts +3 -3
- package/dist/admin/src/components/BooleanRadioGroup.d.ts +2 -2
- package/dist/admin/src/components/CTBSession/sessionContext.d.ts +0 -1
- package/dist/admin/src/components/CTBSession/useCTBTracking.d.ts +1 -1
- package/dist/admin/src/components/CheckboxWithNumberField.d.ts +6 -4
- package/dist/admin/src/components/ComponentRow.d.ts +6 -7
- package/dist/admin/src/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.d.ts +0 -1
- package/dist/admin/src/components/ContentTypeRadioGroup.d.ts +3 -2
- package/dist/admin/src/components/CustomRadioGroup/CustomRadioGroup.d.ts +3 -2
- package/dist/admin/src/components/CustomRadioGroup/Styles.d.ts +3 -4
- package/dist/admin/src/components/DataManager/DataManagerContext.d.ts +13 -12
- package/dist/admin/src/components/DataManager/reducer.d.ts +16 -12
- package/dist/admin/src/components/DataManager/utils/cleanData.d.ts +64 -64
- package/dist/admin/src/components/DataManager/utils/formatSchemas.d.ts +9 -3
- package/dist/admin/src/components/DataManager/utils/retrieveSpecificInfoFromComponents.d.ts +2 -1
- package/dist/admin/src/components/DraftAndPublishToggle.d.ts +1 -6
- package/dist/admin/src/components/DynamicZoneList.d.ts +2 -2
- package/dist/admin/src/components/FormModal/attributes/ConditionForm.d.ts +3 -2
- package/dist/admin/src/components/FormModal/attributes/form.d.ts +3 -3
- package/dist/admin/src/components/FormModal/attributes/validation/common.d.ts +4 -2
- package/dist/admin/src/components/FormModal/forms/forms.d.ts +61 -28
- package/dist/admin/src/components/FormModal/forms/utils/getUsedAttributeNames.d.ts +12 -2
- package/dist/admin/src/components/FormModal/reducer.d.ts +104 -32
- package/dist/admin/src/components/FormModal/utils/customFieldDefaultOptionsReducer.d.ts +11 -1
- package/dist/admin/src/components/FormModal/utils/getFormInputNames.d.ts +8 -1
- package/dist/admin/src/components/FormModal/utils/relations.d.ts +2 -2
- package/dist/admin/src/components/FormModalHeader.d.ts +5 -8
- package/dist/admin/src/components/FormModalNavigation/FormModalNavigationContext.d.ts +2 -2
- package/dist/admin/src/components/FormModalNavigation/FormModalNavigationProvider.d.ts +17 -2
- package/dist/admin/src/components/GenericInputs.d.ts +12 -7
- package/dist/admin/src/components/IconPicker/IconPicker.d.ts +2 -7
- package/dist/admin/src/components/List.d.ts +2 -3
- package/dist/admin/src/components/PluralName.d.ts +6 -14
- package/dist/admin/src/components/Relation/Relation.d.ts +12 -3
- package/dist/admin/src/components/Relation/RelationField/RelationField.d.ts +3 -2
- package/dist/admin/src/components/Relation/RelationNaturePicker/Components.d.ts +6 -7
- package/dist/admin/src/components/SelectCategory.d.ts +3 -12
- package/dist/admin/src/components/SelectComponent.d.ts +8 -7
- package/dist/admin/src/components/SingularName.d.ts +5 -8
- package/dist/admin/src/components/TabForm.d.ts +38 -7
- package/dist/admin/src/pages/ListView/LinkToCMSettingsView.d.ts +0 -1
- package/dist/admin/src/types.d.ts +20 -12
- package/dist/admin/src/utils/conditions.d.ts +13 -4
- package/dist/admin/src/utils/formAPI.d.ts +38 -33
- package/dist/admin/src/utils/getRelationType.d.ts +1 -1
- package/dist/admin/src/utils/isAllowedContentTypesForRelations.d.ts +1 -1
- package/dist/admin/src/utils/parseNumberInputValue.d.ts +1 -0
- package/dist/admin/translations/en.json.js +1 -0
- package/dist/admin/translations/en.json.js.map +1 -1
- package/dist/admin/translations/en.json.mjs +1 -0
- package/dist/admin/translations/en.json.mjs.map +1 -1
- package/dist/admin/translations/ja.json.js +109 -50
- package/dist/admin/translations/ja.json.js.map +1 -1
- package/dist/admin/translations/ja.json.mjs +109 -50
- package/dist/admin/translations/ja.json.mjs.map +1 -1
- package/dist/admin/utils/conditions.js +38 -28
- package/dist/admin/utils/conditions.js.map +1 -1
- package/dist/admin/utils/conditions.mjs +37 -28
- package/dist/admin/utils/conditions.mjs.map +1 -1
- package/dist/admin/utils/formAPI.js +9 -6
- package/dist/admin/utils/formAPI.js.map +1 -1
- package/dist/admin/utils/formAPI.mjs +9 -6
- package/dist/admin/utils/formAPI.mjs.map +1 -1
- package/dist/admin/utils/getRelationType.js +3 -0
- package/dist/admin/utils/getRelationType.js.map +1 -1
- package/dist/admin/utils/getRelationType.mjs +3 -0
- package/dist/admin/utils/getRelationType.mjs.map +1 -1
- package/dist/admin/utils/getYupInnerErrors.js +6 -4
- package/dist/admin/utils/getYupInnerErrors.js.map +1 -1
- package/dist/admin/utils/getYupInnerErrors.mjs +6 -4
- package/dist/admin/utils/getYupInnerErrors.mjs.map +1 -1
- package/dist/admin/utils/parseNumberInputValue.js +15 -0
- package/dist/admin/utils/parseNumberInputValue.js.map +1 -0
- package/dist/admin/utils/parseNumberInputValue.mjs +13 -0
- package/dist/admin/utils/parseNumberInputValue.mjs.map +1 -0
- package/dist/server/controllers/validation/common.js +1 -1
- package/dist/server/controllers/validation/common.js.map +1 -1
- package/dist/server/controllers/validation/common.mjs +1 -1
- package/dist/server/controllers/validation/common.mjs.map +1 -1
- package/dist/server/controllers/validation/relations.js +1 -1
- package/dist/server/controllers/validation/relations.js.map +1 -1
- package/dist/server/controllers/validation/relations.mjs +1 -1
- package/dist/server/controllers/validation/relations.mjs.map +1 -1
- package/dist/server/controllers/validation/types.js +4 -3
- package/dist/server/controllers/validation/types.js.map +1 -1
- package/dist/server/controllers/validation/types.mjs +4 -3
- package/dist/server/controllers/validation/types.mjs.map +1 -1
- package/dist/server/src/bootstrap.d.ts.map +1 -1
- package/dist/server/src/controllers/validation/common.d.ts.map +1 -1
- package/dist/server/src/controllers/validation/component-category.d.ts +1 -1
- package/dist/server/src/controllers/validation/component.d.ts +1 -1
- package/dist/server/src/controllers/validation/component.d.ts.map +1 -1
- package/dist/server/src/controllers/validation/content-type.d.ts +1 -1
- package/dist/server/src/controllers/validation/content-type.d.ts.map +1 -1
- package/dist/server/src/controllers/validation/data-transform.d.ts.map +1 -1
- package/dist/server/src/controllers/validation/model-schema.d.ts +1 -1
- package/dist/server/src/controllers/validation/model-schema.d.ts.map +1 -1
- package/dist/server/src/controllers/validation/relations.d.ts.map +1 -1
- package/dist/server/src/controllers/validation/schema.d.ts +1 -1
- package/dist/server/src/controllers/validation/types.d.ts.map +1 -1
- package/dist/server/src/middlewares/is-development-mode.d.ts.map +1 -1
- package/dist/server/src/register.d.ts.map +1 -1
- package/dist/server/src/services/builder.d.ts.map +1 -1
- package/dist/server/src/services/component-categories.d.ts.map +1 -1
- package/dist/server/src/services/components.d.ts.map +1 -1
- package/dist/server/src/services/content-types.d.ts +1 -1
- package/dist/server/src/services/content-types.d.ts.map +1 -1
- package/dist/server/src/services/schema-builder/component-builder.d.ts +12 -12
- package/dist/server/src/services/schema-builder/component-builder.d.ts.map +1 -1
- package/dist/server/src/services/schema-builder/content-type-builder.d.ts +14 -14
- package/dist/server/src/services/schema-builder/content-type-builder.d.ts.map +1 -1
- package/dist/server/src/services/schema-builder/index.d.ts +27 -27
- package/dist/server/src/services/schema-builder/index.d.ts.map +1 -1
- package/dist/server/src/services/schema-builder/schema-handler.d.ts +12 -12
- package/dist/server/src/services/schema-builder/schema-handler.d.ts.map +1 -1
- package/dist/server/src/services/schema.d.ts +66 -66
- package/dist/server/src/services/schema.d.ts.map +1 -1
- package/dist/server/src/utils/attributes.d.ts +2 -2
- package/dist/server/src/utils/attributes.d.ts.map +1 -1
- package/dist/server/src/utils/helpers.d.ts.map +1 -1
- package/dist/server/src/utils/typeguards.d.ts.map +1 -1
- package/package.json +13 -9
|
@@ -14,6 +14,9 @@ const SelectCategory = ({ error = null, intlLabel, name, onChange, value = undef
|
|
|
14
14
|
}) : '';
|
|
15
15
|
const label = formatMessage(intlLabel);
|
|
16
16
|
const handleChange = (value)=>{
|
|
17
|
+
if (value === undefined) {
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
17
20
|
onChange({
|
|
18
21
|
target: {
|
|
19
22
|
name,
|
|
@@ -23,6 +26,9 @@ const SelectCategory = ({ error = null, intlLabel, name, onChange, value = undef
|
|
|
23
26
|
});
|
|
24
27
|
};
|
|
25
28
|
const handleCreateOption = (value)=>{
|
|
29
|
+
if (value === undefined) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
26
32
|
setCategories((prev)=>[
|
|
27
33
|
...prev,
|
|
28
34
|
value
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectCategory.mjs","sources":["../../../admin/src/components/SelectCategory.tsx"],"sourcesContent":["import { useState } from 'react';\n\nimport { ComboboxOption, Combobox, Field } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { useDataManager } from './DataManager/useDataManager';\n\ninterface SelectCategoryProps {\n error?: string | null;\n intlLabel:
|
|
1
|
+
{"version":3,"file":"SelectCategory.mjs","sources":["../../../admin/src/components/SelectCategory.tsx"],"sourcesContent":["import { useState } from 'react';\n\nimport { ComboboxOption, Combobox, Field } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { useDataManager } from './DataManager/useDataManager';\n\nimport type { FormChangeHandler, IntlLabel } from '../types';\n\ninterface SelectCategoryProps {\n error?: string | null;\n intlLabel: IntlLabel;\n name: string;\n onChange: FormChangeHandler<string, 'select-category'>;\n value?: string;\n isCreating?: boolean;\n dynamicZoneTarget?: string | null;\n}\n\nexport const SelectCategory = ({\n error = null,\n intlLabel,\n name,\n onChange,\n value = undefined,\n isCreating,\n dynamicZoneTarget,\n}: SelectCategoryProps) => {\n const { formatMessage } = useIntl();\n const { allComponentsCategories } = useDataManager();\n const [categories, setCategories] = useState(allComponentsCategories);\n\n const errorMessage = error ? formatMessage({ id: error, defaultMessage: error }) : '';\n const label = formatMessage(intlLabel);\n\n const handleChange = (value?: string) => {\n if (value === undefined) {\n return;\n }\n\n onChange({ target: { name, value, type: 'select-category' } });\n };\n\n const handleCreateOption = (value?: string) => {\n if (value === undefined) {\n return;\n }\n\n setCategories((prev) => [...prev, value]);\n handleChange(value);\n };\n\n return (\n <Field.Root error={errorMessage} name={name}>\n <Field.Label>{label}</Field.Label>\n <Combobox\n // TODO: re-enable category edits, renaming categories of already existing components currently breaks other functionality\n // See https://github.com/strapi/strapi/issues/20356\n disabled={!isCreating && !dynamicZoneTarget}\n onChange={handleChange}\n onCreateOption={handleCreateOption}\n value={value}\n creatable\n >\n {categories.map((category) => (\n <ComboboxOption key={category} value={category}>\n {category}\n </ComboboxOption>\n ))}\n </Combobox>\n <Field.Error />\n </Field.Root>\n );\n};\n"],"names":["SelectCategory","error","intlLabel","name","onChange","value","undefined","isCreating","dynamicZoneTarget","formatMessage","useIntl","allComponentsCategories","useDataManager","categories","setCategories","useState","errorMessage","id","defaultMessage","label","handleChange","target","type","handleCreateOption","prev","_jsxs","Field","Root","_jsx","Label","Combobox","disabled","onCreateOption","creatable","map","category","ComboboxOption","Error"],"mappings":";;;;;;MAmBaA,cAAAA,GAAiB,CAAC,EAC7BC,KAAAA,GAAQ,IAAI,EACZC,SAAS,EACTC,IAAI,EACJC,QAAQ,EACRC,KAAAA,GAAQC,SAAS,EACjBC,UAAU,EACVC,iBAAiB,EACG,GAAA;IACpB,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;IAC1B,MAAM,EAAEC,uBAAuB,EAAE,GAAGC,cAAAA,EAAAA;AACpC,IAAA,MAAM,CAACC,UAAAA,EAAYC,aAAAA,CAAc,GAAGC,QAAAA,CAASJ,uBAAAA,CAAAA;IAE7C,MAAMK,YAAAA,GAAef,QAAQQ,aAAAA,CAAc;QAAEQ,EAAAA,EAAIhB,KAAAA;QAAOiB,cAAAA,EAAgBjB;KAAM,CAAA,GAAK,EAAA;AACnF,IAAA,MAAMkB,QAAQV,aAAAA,CAAcP,SAAAA,CAAAA;AAE5B,IAAA,MAAMkB,eAAe,CAACf,KAAAA,GAAAA;AACpB,QAAA,IAAIA,UAAUC,SAAAA,EAAW;AACvB,YAAA;AACF,QAAA;QAEAF,QAAAA,CAAS;YAAEiB,MAAAA,EAAQ;AAAElB,gBAAAA,IAAAA;AAAME,gBAAAA,KAAAA;gBAAOiB,IAAAA,EAAM;AAAkB;AAAE,SAAA,CAAA;AAC9D,IAAA,CAAA;AAEA,IAAA,MAAMC,qBAAqB,CAAClB,KAAAA,GAAAA;AAC1B,QAAA,IAAIA,UAAUC,SAAAA,EAAW;AACvB,YAAA;AACF,QAAA;AAEAQ,QAAAA,aAAAA,CAAc,CAACU,IAAAA,GAAS;AAAIA,gBAAAA,GAAAA,IAAAA;AAAMnB,gBAAAA;AAAM,aAAA,CAAA;QACxCe,YAAAA,CAAaf,KAAAA,CAAAA;AACf,IAAA,CAAA;IAEA,qBACEoB,IAAA,CAACC,MAAMC,IAAI,EAAA;QAAC1B,KAAAA,EAAOe,YAAAA;QAAcb,IAAAA,EAAMA,IAAAA;;AACrC,0BAAAyB,GAAA,CAACF,MAAMG,KAAK,EAAA;AAAEV,gBAAAA,QAAAA,EAAAA;;0BACdS,GAAA,CAACE,QAAAA,EAAAA;;;gBAGCC,QAAAA,EAAU,CAACxB,cAAc,CAACC,iBAAAA;gBAC1BJ,QAAAA,EAAUgB,YAAAA;gBACVY,cAAAA,EAAgBT,kBAAAA;gBAChBlB,KAAAA,EAAOA,KAAAA;gBACP4B,SAAS,EAAA,IAAA;AAERpB,gBAAAA,QAAAA,EAAAA,UAAAA,CAAWqB,GAAG,CAAC,CAACC,QAAAA,iBACfP,GAAA,CAACQ,cAAAA,EAAAA;wBAA8B/B,KAAAA,EAAO8B,QAAAA;AACnCA,wBAAAA,QAAAA,EAAAA;AADkBA,qBAAAA,EAAAA,QAAAA,CAAAA;;AAKzB,0BAAAP,GAAA,CAACF,MAAMW,KAAK,EAAA,EAAA;;;AAGlB;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectComponent.js","sources":["../../../admin/src/components/SelectComponent.tsx"],"sourcesContent":["import { SingleSelectOption, SingleSelect, Field } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { MAX_COMPONENT_DEPTH } from '../constants';\nimport { getChildrenMaxDepth, getComponentDepth } from '../utils/getMaxDepth';\n\nimport { useDataManager } from './DataManager/useDataManager';\n\nimport type { Internal } from '@strapi/types';\ninterface Option {\n uid:
|
|
1
|
+
{"version":3,"file":"SelectComponent.js","sources":["../../../admin/src/components/SelectComponent.tsx"],"sourcesContent":["import { SingleSelectOption, SingleSelect, Field } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { MAX_COMPONENT_DEPTH } from '../constants';\nimport { getChildrenMaxDepth, getComponentDepth } from '../utils/getMaxDepth';\n\nimport { useDataManager } from './DataManager/useDataManager';\n\nimport type { FormChangeHandler, IntlLabel } from '../types';\nimport type { Internal } from '@strapi/types';\ninterface Option {\n uid: Internal.UID.Component;\n label?: string;\n categoryName?: string;\n}\n\ntype ComponentToCreate = {\n displayName?: string;\n category?: string;\n};\n\ninterface SelectComponentProps {\n componentToCreate?: ComponentToCreate | null;\n error?: string | null;\n intlLabel: IntlLabel;\n isAddingAComponentToAnotherComponent: boolean;\n isCreating: boolean;\n isCreatingComponentWhileAddingAField: boolean;\n name: string;\n onChange: FormChangeHandler<string, 'select-category'>;\n targetUid: Internal.UID.Schema;\n value: string;\n forTarget: string;\n}\n\nexport const SelectComponent = ({\n error = null,\n intlLabel,\n isAddingAComponentToAnotherComponent,\n isCreating,\n isCreatingComponentWhileAddingAField,\n componentToCreate,\n name,\n onChange,\n targetUid,\n forTarget,\n value,\n}: SelectComponentProps) => {\n const { formatMessage } = useIntl();\n const errorMessage = error ? formatMessage({ id: error, defaultMessage: error }) : '';\n const label = formatMessage(intlLabel);\n\n const {\n componentsGroupedByCategory,\n componentsThatHaveOtherComponentInTheirAttributes,\n nestedComponents,\n } = useDataManager();\n\n const isTargetAComponent = forTarget === 'component';\n\n let options: Option[] = Object.entries(componentsGroupedByCategory).reduce(\n (acc: Option[], current) => {\n const [categoryName, components] = current;\n const compos = components.map((component) => {\n return {\n uid: component.uid,\n label: component.info.displayName,\n categoryName,\n };\n });\n\n return [...acc, ...compos];\n },\n []\n );\n\n if (isAddingAComponentToAnotherComponent) {\n options = options.filter(({ uid }) => {\n const maxDepth = getChildrenMaxDepth(uid, componentsThatHaveOtherComponentInTheirAttributes);\n const componentDepth = getComponentDepth(targetUid, nestedComponents);\n const totalDepth = maxDepth + componentDepth;\n return totalDepth <= MAX_COMPONENT_DEPTH;\n });\n }\n\n if (isTargetAComponent) {\n options = options.filter((option) => {\n return option.uid !== targetUid;\n });\n }\n\n if (isCreatingComponentWhileAddingAField) {\n options = [\n {\n uid: value as Internal.UID.Component,\n label: componentToCreate?.displayName,\n categoryName: componentToCreate?.category,\n },\n ];\n }\n\n return (\n <Field.Root error={errorMessage} name={name}>\n <Field.Label>{label}</Field.Label>\n <SingleSelect\n disabled={isCreatingComponentWhileAddingAField || !isCreating}\n onChange={(value: string | number) => {\n onChange({ target: { name, value: value.toString(), type: 'select-category' } });\n }}\n value={value || ''}\n >\n {options.map((option) => {\n return (\n <SingleSelectOption key={option.uid} value={option.uid}>\n {`${option.categoryName} - ${option.label}`}\n </SingleSelectOption>\n );\n })}\n </SingleSelect>\n <Field.Error />\n </Field.Root>\n );\n};\n"],"names":["SelectComponent","error","intlLabel","isAddingAComponentToAnotherComponent","isCreating","isCreatingComponentWhileAddingAField","componentToCreate","name","onChange","targetUid","forTarget","value","formatMessage","useIntl","errorMessage","id","defaultMessage","label","componentsGroupedByCategory","componentsThatHaveOtherComponentInTheirAttributes","nestedComponents","useDataManager","isTargetAComponent","options","Object","entries","reduce","acc","current","categoryName","components","compos","map","component","uid","info","displayName","filter","maxDepth","getChildrenMaxDepth","componentDepth","getComponentDepth","totalDepth","MAX_COMPONENT_DEPTH","option","category","_jsxs","Field","Root","_jsx","Label","SingleSelect","disabled","target","toString","type","SingleSelectOption","Error"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectComponent.mjs","sources":["../../../admin/src/components/SelectComponent.tsx"],"sourcesContent":["import { SingleSelectOption, SingleSelect, Field } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { MAX_COMPONENT_DEPTH } from '../constants';\nimport { getChildrenMaxDepth, getComponentDepth } from '../utils/getMaxDepth';\n\nimport { useDataManager } from './DataManager/useDataManager';\n\nimport type { Internal } from '@strapi/types';\ninterface Option {\n uid:
|
|
1
|
+
{"version":3,"file":"SelectComponent.mjs","sources":["../../../admin/src/components/SelectComponent.tsx"],"sourcesContent":["import { SingleSelectOption, SingleSelect, Field } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { MAX_COMPONENT_DEPTH } from '../constants';\nimport { getChildrenMaxDepth, getComponentDepth } from '../utils/getMaxDepth';\n\nimport { useDataManager } from './DataManager/useDataManager';\n\nimport type { FormChangeHandler, IntlLabel } from '../types';\nimport type { Internal } from '@strapi/types';\ninterface Option {\n uid: Internal.UID.Component;\n label?: string;\n categoryName?: string;\n}\n\ntype ComponentToCreate = {\n displayName?: string;\n category?: string;\n};\n\ninterface SelectComponentProps {\n componentToCreate?: ComponentToCreate | null;\n error?: string | null;\n intlLabel: IntlLabel;\n isAddingAComponentToAnotherComponent: boolean;\n isCreating: boolean;\n isCreatingComponentWhileAddingAField: boolean;\n name: string;\n onChange: FormChangeHandler<string, 'select-category'>;\n targetUid: Internal.UID.Schema;\n value: string;\n forTarget: string;\n}\n\nexport const SelectComponent = ({\n error = null,\n intlLabel,\n isAddingAComponentToAnotherComponent,\n isCreating,\n isCreatingComponentWhileAddingAField,\n componentToCreate,\n name,\n onChange,\n targetUid,\n forTarget,\n value,\n}: SelectComponentProps) => {\n const { formatMessage } = useIntl();\n const errorMessage = error ? formatMessage({ id: error, defaultMessage: error }) : '';\n const label = formatMessage(intlLabel);\n\n const {\n componentsGroupedByCategory,\n componentsThatHaveOtherComponentInTheirAttributes,\n nestedComponents,\n } = useDataManager();\n\n const isTargetAComponent = forTarget === 'component';\n\n let options: Option[] = Object.entries(componentsGroupedByCategory).reduce(\n (acc: Option[], current) => {\n const [categoryName, components] = current;\n const compos = components.map((component) => {\n return {\n uid: component.uid,\n label: component.info.displayName,\n categoryName,\n };\n });\n\n return [...acc, ...compos];\n },\n []\n );\n\n if (isAddingAComponentToAnotherComponent) {\n options = options.filter(({ uid }) => {\n const maxDepth = getChildrenMaxDepth(uid, componentsThatHaveOtherComponentInTheirAttributes);\n const componentDepth = getComponentDepth(targetUid, nestedComponents);\n const totalDepth = maxDepth + componentDepth;\n return totalDepth <= MAX_COMPONENT_DEPTH;\n });\n }\n\n if (isTargetAComponent) {\n options = options.filter((option) => {\n return option.uid !== targetUid;\n });\n }\n\n if (isCreatingComponentWhileAddingAField) {\n options = [\n {\n uid: value as Internal.UID.Component,\n label: componentToCreate?.displayName,\n categoryName: componentToCreate?.category,\n },\n ];\n }\n\n return (\n <Field.Root error={errorMessage} name={name}>\n <Field.Label>{label}</Field.Label>\n <SingleSelect\n disabled={isCreatingComponentWhileAddingAField || !isCreating}\n onChange={(value: string | number) => {\n onChange({ target: { name, value: value.toString(), type: 'select-category' } });\n }}\n value={value || ''}\n >\n {options.map((option) => {\n return (\n <SingleSelectOption key={option.uid} value={option.uid}>\n {`${option.categoryName} - ${option.label}`}\n </SingleSelectOption>\n );\n })}\n </SingleSelect>\n <Field.Error />\n </Field.Root>\n );\n};\n"],"names":["SelectComponent","error","intlLabel","isAddingAComponentToAnotherComponent","isCreating","isCreatingComponentWhileAddingAField","componentToCreate","name","onChange","targetUid","forTarget","value","formatMessage","useIntl","errorMessage","id","defaultMessage","label","componentsGroupedByCategory","componentsThatHaveOtherComponentInTheirAttributes","nestedComponents","useDataManager","isTargetAComponent","options","Object","entries","reduce","acc","current","categoryName","components","compos","map","component","uid","info","displayName","filter","maxDepth","getChildrenMaxDepth","componentDepth","getComponentDepth","totalDepth","MAX_COMPONENT_DEPTH","option","category","_jsxs","Field","Root","_jsx","Label","SingleSelect","disabled","target","toString","type","SingleSelectOption","Error"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SingularName.js","sources":["../../../admin/src/components/SingularName.tsx"],"sourcesContent":["import { useEffect, useRef } from 'react';\n\nimport { Field, TextInput } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { nameToSlug } from '../utils/nameToSlug';\n\nimport type { IntlLabel } from '../types';\n\ninterface SingularNameProps {\n description?: IntlLabel | null;\n error?: string | null;\n intlLabel: IntlLabel;\n modifiedData:
|
|
1
|
+
{"version":3,"file":"SingularName.js","sources":["../../../admin/src/components/SingularName.tsx"],"sourcesContent":["import { useEffect, useRef } from 'react';\n\nimport { Field, TextInput } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { nameToSlug } from '../utils/nameToSlug';\n\nimport type { FormChangeHandler, IntlLabel } from '../types';\n\ninterface SingularNameProps {\n description?: IntlLabel | null;\n error?: string | null;\n intlLabel: IntlLabel;\n modifiedData: { displayName?: string };\n name: string;\n onChange: FormChangeHandler<string>;\n value?: string | null;\n}\n\nexport const SingularName = ({\n description = null,\n error = null,\n intlLabel,\n modifiedData,\n name,\n onChange,\n value = null,\n}: SingularNameProps) => {\n const { formatMessage } = useIntl();\n const onChangeRef = useRef(onChange);\n const previousValue = useRef(value);\n const previousDisplayName = useRef(modifiedData?.displayName || '');\n const displayName = modifiedData?.displayName || '';\n\n useEffect(() => {\n if (displayName && displayName !== previousDisplayName.current) {\n const newValue = nameToSlug(displayName);\n onChangeRef.current({ target: { name, value: newValue } });\n previousValue.current = newValue;\n previousDisplayName.current = displayName;\n } else if (!displayName) {\n onChangeRef.current({ target: { name, value: '' } });\n previousValue.current = '';\n previousDisplayName.current = '';\n }\n }, [displayName, name, value]);\n\n const errorMessage = error ? formatMessage({ id: error, defaultMessage: error }) : '';\n const hint = description\n ? formatMessage(\n { id: description.id, defaultMessage: description.defaultMessage },\n { ...description.values }\n )\n : '';\n const label = formatMessage(intlLabel);\n\n return (\n <Field.Root error={errorMessage} hint={hint} name={name}>\n <Field.Label>{label}</Field.Label>\n <TextInput onChange={onChange} value={value || ''} type=\"text\" />\n <Field.Error />\n <Field.Hint />\n </Field.Root>\n );\n};\n"],"names":["SingularName","description","error","intlLabel","modifiedData","name","onChange","value","formatMessage","useIntl","onChangeRef","useRef","previousValue","previousDisplayName","displayName","useEffect","current","newValue","nameToSlug","target","errorMessage","id","defaultMessage","hint","values","label","_jsxs","Field","Root","_jsx","Label","TextInput","type","Error","Hint"],"mappings":";;;;;;;;AAmBO,MAAMA,eAAe,CAAC,EAC3BC,cAAc,IAAI,EAClBC,QAAQ,IAAI,EACZC,SAAS,EACTC,YAAY,EACZC,IAAI,EACJC,QAAQ,EACRC,KAAAA,GAAQ,IAAI,EACM,GAAA;IAClB,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;AAC1B,IAAA,MAAMC,cAAcC,YAAAA,CAAOL,QAAAA,CAAAA;AAC3B,IAAA,MAAMM,gBAAgBD,YAAAA,CAAOJ,KAAAA,CAAAA;IAC7B,MAAMM,mBAAAA,GAAsBF,YAAAA,CAAOP,YAAAA,EAAcU,WAAAA,IAAe,EAAA,CAAA;IAChE,MAAMA,WAAAA,GAAcV,cAAcU,WAAAA,IAAe,EAAA;IAEjDC,eAAAA,CAAU,IAAA;AACR,QAAA,IAAID,WAAAA,IAAeA,WAAAA,KAAgBD,mBAAAA,CAAoBG,OAAO,EAAE;AAC9D,YAAA,MAAMC,WAAWC,qBAAAA,CAAWJ,WAAAA,CAAAA;AAC5BJ,YAAAA,WAAAA,CAAYM,OAAO,CAAC;gBAAEG,MAAAA,EAAQ;AAAEd,oBAAAA,IAAAA;oBAAME,KAAAA,EAAOU;AAAS;AAAE,aAAA,CAAA;AACxDL,YAAAA,aAAAA,CAAcI,OAAO,GAAGC,QAAAA;AACxBJ,YAAAA,mBAAAA,CAAoBG,OAAO,GAAGF,WAAAA;QAChC,CAAA,MAAO,IAAI,CAACA,WAAAA,EAAa;AACvBJ,YAAAA,WAAAA,CAAYM,OAAO,CAAC;gBAAEG,MAAAA,EAAQ;AAAEd,oBAAAA,IAAAA;oBAAME,KAAAA,EAAO;AAAG;AAAE,aAAA,CAAA;AAClDK,YAAAA,aAAAA,CAAcI,OAAO,GAAG,EAAA;AACxBH,YAAAA,mBAAAA,CAAoBG,OAAO,GAAG,EAAA;AAChC,QAAA;IACF,CAAA,EAAG;AAACF,QAAAA,WAAAA;AAAaT,QAAAA,IAAAA;AAAME,QAAAA;AAAM,KAAA,CAAA;IAE7B,MAAMa,YAAAA,GAAelB,QAAQM,aAAAA,CAAc;QAAEa,EAAAA,EAAInB,KAAAA;QAAOoB,cAAAA,EAAgBpB;KAAM,CAAA,GAAK,EAAA;IACnF,MAAMqB,IAAAA,GAAOtB,cACTO,aAAAA,CACE;AAAEa,QAAAA,EAAAA,EAAIpB,YAAYoB,EAAE;AAAEC,QAAAA,cAAAA,EAAgBrB,YAAYqB;KAAe,EACjE;AAAE,QAAA,GAAGrB,YAAYuB;KAAO,CAAA,GAE1B,EAAA;AACJ,IAAA,MAAMC,QAAQjB,aAAAA,CAAcL,SAAAA,CAAAA;IAE5B,qBACEuB,eAAA,CAACC,mBAAMC,IAAI,EAAA;QAAC1B,KAAAA,EAAOkB,YAAAA;QAAcG,IAAAA,EAAMA,IAAAA;QAAMlB,IAAAA,EAAMA,IAAAA;;AACjD,0BAAAwB,cAAA,CAACF,mBAAMG,KAAK,EAAA;AAAEL,gBAAAA,QAAAA,EAAAA;;0BACdI,cAAA,CAACE,sBAAAA,EAAAA;gBAAUzB,QAAAA,EAAUA,QAAAA;AAAUC,gBAAAA,KAAAA,EAAOA,KAAAA,IAAS,EAAA;gBAAIyB,IAAAA,EAAK;;AACxD,0BAAAH,cAAA,CAACF,mBAAMM,KAAK,EAAA,EAAA,CAAA;AACZ,0BAAAJ,cAAA,CAACF,mBAAMO,IAAI,EAAA,EAAA;;;AAGjB;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SingularName.mjs","sources":["../../../admin/src/components/SingularName.tsx"],"sourcesContent":["import { useEffect, useRef } from 'react';\n\nimport { Field, TextInput } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { nameToSlug } from '../utils/nameToSlug';\n\nimport type { IntlLabel } from '../types';\n\ninterface SingularNameProps {\n description?: IntlLabel | null;\n error?: string | null;\n intlLabel: IntlLabel;\n modifiedData:
|
|
1
|
+
{"version":3,"file":"SingularName.mjs","sources":["../../../admin/src/components/SingularName.tsx"],"sourcesContent":["import { useEffect, useRef } from 'react';\n\nimport { Field, TextInput } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { nameToSlug } from '../utils/nameToSlug';\n\nimport type { FormChangeHandler, IntlLabel } from '../types';\n\ninterface SingularNameProps {\n description?: IntlLabel | null;\n error?: string | null;\n intlLabel: IntlLabel;\n modifiedData: { displayName?: string };\n name: string;\n onChange: FormChangeHandler<string>;\n value?: string | null;\n}\n\nexport const SingularName = ({\n description = null,\n error = null,\n intlLabel,\n modifiedData,\n name,\n onChange,\n value = null,\n}: SingularNameProps) => {\n const { formatMessage } = useIntl();\n const onChangeRef = useRef(onChange);\n const previousValue = useRef(value);\n const previousDisplayName = useRef(modifiedData?.displayName || '');\n const displayName = modifiedData?.displayName || '';\n\n useEffect(() => {\n if (displayName && displayName !== previousDisplayName.current) {\n const newValue = nameToSlug(displayName);\n onChangeRef.current({ target: { name, value: newValue } });\n previousValue.current = newValue;\n previousDisplayName.current = displayName;\n } else if (!displayName) {\n onChangeRef.current({ target: { name, value: '' } });\n previousValue.current = '';\n previousDisplayName.current = '';\n }\n }, [displayName, name, value]);\n\n const errorMessage = error ? formatMessage({ id: error, defaultMessage: error }) : '';\n const hint = description\n ? formatMessage(\n { id: description.id, defaultMessage: description.defaultMessage },\n { ...description.values }\n )\n : '';\n const label = formatMessage(intlLabel);\n\n return (\n <Field.Root error={errorMessage} hint={hint} name={name}>\n <Field.Label>{label}</Field.Label>\n <TextInput onChange={onChange} value={value || ''} type=\"text\" />\n <Field.Error />\n <Field.Hint />\n </Field.Root>\n );\n};\n"],"names":["SingularName","description","error","intlLabel","modifiedData","name","onChange","value","formatMessage","useIntl","onChangeRef","useRef","previousValue","previousDisplayName","displayName","useEffect","current","newValue","nameToSlug","target","errorMessage","id","defaultMessage","hint","values","label","_jsxs","Field","Root","_jsx","Label","TextInput","type","Error","Hint"],"mappings":";;;;;;AAmBO,MAAMA,eAAe,CAAC,EAC3BC,cAAc,IAAI,EAClBC,QAAQ,IAAI,EACZC,SAAS,EACTC,YAAY,EACZC,IAAI,EACJC,QAAQ,EACRC,KAAAA,GAAQ,IAAI,EACM,GAAA;IAClB,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAC1B,IAAA,MAAMC,cAAcC,MAAAA,CAAOL,QAAAA,CAAAA;AAC3B,IAAA,MAAMM,gBAAgBD,MAAAA,CAAOJ,KAAAA,CAAAA;IAC7B,MAAMM,mBAAAA,GAAsBF,MAAAA,CAAOP,YAAAA,EAAcU,WAAAA,IAAe,EAAA,CAAA;IAChE,MAAMA,WAAAA,GAAcV,cAAcU,WAAAA,IAAe,EAAA;IAEjDC,SAAAA,CAAU,IAAA;AACR,QAAA,IAAID,WAAAA,IAAeA,WAAAA,KAAgBD,mBAAAA,CAAoBG,OAAO,EAAE;AAC9D,YAAA,MAAMC,WAAWC,UAAAA,CAAWJ,WAAAA,CAAAA;AAC5BJ,YAAAA,WAAAA,CAAYM,OAAO,CAAC;gBAAEG,MAAAA,EAAQ;AAAEd,oBAAAA,IAAAA;oBAAME,KAAAA,EAAOU;AAAS;AAAE,aAAA,CAAA;AACxDL,YAAAA,aAAAA,CAAcI,OAAO,GAAGC,QAAAA;AACxBJ,YAAAA,mBAAAA,CAAoBG,OAAO,GAAGF,WAAAA;QAChC,CAAA,MAAO,IAAI,CAACA,WAAAA,EAAa;AACvBJ,YAAAA,WAAAA,CAAYM,OAAO,CAAC;gBAAEG,MAAAA,EAAQ;AAAEd,oBAAAA,IAAAA;oBAAME,KAAAA,EAAO;AAAG;AAAE,aAAA,CAAA;AAClDK,YAAAA,aAAAA,CAAcI,OAAO,GAAG,EAAA;AACxBH,YAAAA,mBAAAA,CAAoBG,OAAO,GAAG,EAAA;AAChC,QAAA;IACF,CAAA,EAAG;AAACF,QAAAA,WAAAA;AAAaT,QAAAA,IAAAA;AAAME,QAAAA;AAAM,KAAA,CAAA;IAE7B,MAAMa,YAAAA,GAAelB,QAAQM,aAAAA,CAAc;QAAEa,EAAAA,EAAInB,KAAAA;QAAOoB,cAAAA,EAAgBpB;KAAM,CAAA,GAAK,EAAA;IACnF,MAAMqB,IAAAA,GAAOtB,cACTO,aAAAA,CACE;AAAEa,QAAAA,EAAAA,EAAIpB,YAAYoB,EAAE;AAAEC,QAAAA,cAAAA,EAAgBrB,YAAYqB;KAAe,EACjE;AAAE,QAAA,GAAGrB,YAAYuB;KAAO,CAAA,GAE1B,EAAA;AACJ,IAAA,MAAMC,QAAQjB,aAAAA,CAAcL,SAAAA,CAAAA;IAE5B,qBACEuB,IAAA,CAACC,MAAMC,IAAI,EAAA;QAAC1B,KAAAA,EAAOkB,YAAAA;QAAcG,IAAAA,EAAMA,IAAAA;QAAMlB,IAAAA,EAAMA,IAAAA;;AACjD,0BAAAwB,GAAA,CAACF,MAAMG,KAAK,EAAA;AAAEL,gBAAAA,QAAAA,EAAAA;;0BACdI,GAAA,CAACE,SAAAA,EAAAA;gBAAUzB,QAAAA,EAAUA,QAAAA;AAAUC,gBAAAA,KAAAA,EAAOA,KAAAA,IAAS,EAAA;gBAAIyB,IAAAA,EAAK;;AACxD,0BAAAH,GAAA,CAACF,MAAMM,KAAK,EAAA,EAAA,CAAA;AACZ,0BAAAJ,GAAA,CAACF,MAAMO,IAAI,EAAA,EAAA;;;AAGjB;;;;"}
|
|
@@ -13,6 +13,7 @@ var get__default = /*#__PURE__*/_interopDefault(get);
|
|
|
13
13
|
|
|
14
14
|
/* eslint-disable react/no-array-index-key */ const TabForm = ({ form, formErrors, genericInputProps, modifiedData, onChange })=>{
|
|
15
15
|
const { formatMessage } = reactIntl.useIntl();
|
|
16
|
+
const sharedInputProps = genericInputProps;
|
|
16
17
|
return /*#__PURE__*/ jsxRuntime.jsx(jsxRuntime.Fragment, {
|
|
17
18
|
children: form.map((section, sectionIndex)=>{
|
|
18
19
|
// Don't display an empty section
|
|
@@ -38,6 +39,10 @@ var get__default = /*#__PURE__*/_interopDefault(get);
|
|
|
38
39
|
gap: 4,
|
|
39
40
|
children: section.items.map((input, i)=>{
|
|
40
41
|
const key = `${sectionIndex}.${i}`;
|
|
42
|
+
const intlLabel = input.intlLabel ?? {
|
|
43
|
+
id: input.name,
|
|
44
|
+
defaultMessage: input.name
|
|
45
|
+
};
|
|
41
46
|
/**
|
|
42
47
|
* Use undefined as the default value because not every input wants a string e.g. Date pickers
|
|
43
48
|
*/ const value = get__default.default(modifiedData, input.name, undefined);
|
|
@@ -50,7 +55,7 @@ var get__default = /*#__PURE__*/_interopDefault(get);
|
|
|
50
55
|
// NOTE: this is a hack
|
|
51
56
|
const pluginOptionError = Object.keys(formErrors).find((key)=>key === input.name);
|
|
52
57
|
// Retrieve the error for a specific input
|
|
53
|
-
const errorId = pluginOptionError ? formErrors[pluginOptionError]
|
|
58
|
+
const errorId = pluginOptionError ? formErrors[pluginOptionError]?.id : get__default.default(formErrors, [
|
|
54
59
|
...input.name.split('.')// The filter here is used when creating a component
|
|
55
60
|
// in the component step 1 modal
|
|
56
61
|
// Since the component info is stored in the
|
|
@@ -61,80 +66,73 @@ var get__default = /*#__PURE__*/_interopDefault(get);
|
|
|
61
66
|
], null);
|
|
62
67
|
if (input.type === 'pushRight') {
|
|
63
68
|
return /*#__PURE__*/ jsxRuntime.jsx(designSystem.Grid.Item, {
|
|
64
|
-
col: input.size
|
|
69
|
+
col: input.size ?? 6,
|
|
65
70
|
xs: 12,
|
|
66
71
|
direction: "column",
|
|
67
72
|
alignItems: "stretch",
|
|
68
73
|
children: /*#__PURE__*/ jsxRuntime.jsx("div", {})
|
|
69
|
-
}, input.name
|
|
74
|
+
}, input.name ?? key);
|
|
70
75
|
}
|
|
71
76
|
// Special handling for 'condition-form'
|
|
72
77
|
if (input.type === 'condition-form') {
|
|
73
78
|
const currentCondition = get__default.default(modifiedData, input.name);
|
|
74
79
|
// Get all attributes from the content type schema
|
|
75
|
-
const contentTypeAttributes =
|
|
76
|
-
if (!
|
|
80
|
+
const contentTypeAttributes = sharedInputProps.contentTypeSchema?.attributes ?? [];
|
|
81
|
+
if (!sharedInputProps.contentTypeSchema) {
|
|
77
82
|
console.warn('contentTypeSchema is undefined, skipping condition form');
|
|
78
83
|
return null;
|
|
79
84
|
}
|
|
80
85
|
// Filter for boolean and enumeration fields only, excluding the current field
|
|
81
|
-
const availableFields = conditions.getAvailableConditionFields(contentTypeAttributes, modifiedData.name);
|
|
86
|
+
const availableFields = conditions.getAvailableConditionFields(contentTypeAttributes, modifiedData.name ?? '');
|
|
82
87
|
const noFieldsMessage = formatMessage({
|
|
83
88
|
id: 'form.attribute.condition.no-fields',
|
|
84
89
|
defaultMessage: 'No boolean or enumeration fields available to set conditions on.'
|
|
85
90
|
});
|
|
86
91
|
return /*#__PURE__*/ jsxRuntime.jsx(designSystem.Grid.Item, {
|
|
87
|
-
col: input.size
|
|
92
|
+
col: input.size ?? 12,
|
|
88
93
|
xs: 12,
|
|
89
94
|
direction: "column",
|
|
90
95
|
alignItems: "stretch",
|
|
91
|
-
children:
|
|
92
|
-
children:
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
visible: {
|
|
111
|
-
'==': [
|
|
112
|
-
{
|
|
113
|
-
var: ''
|
|
114
|
-
},
|
|
115
|
-
''
|
|
116
|
-
]
|
|
117
|
-
}
|
|
96
|
+
children: currentCondition === null || currentCondition === undefined || Object.keys(currentCondition).length === 0 ? /*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
|
|
97
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Tooltip, {
|
|
98
|
+
label: noFieldsMessage,
|
|
99
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Button, {
|
|
100
|
+
marginTop: 4,
|
|
101
|
+
fullWidth: true,
|
|
102
|
+
variant: "secondary",
|
|
103
|
+
onClick: ()=>{
|
|
104
|
+
onChange({
|
|
105
|
+
target: {
|
|
106
|
+
name: input.name,
|
|
107
|
+
value: {
|
|
108
|
+
visible: {
|
|
109
|
+
'==': [
|
|
110
|
+
{
|
|
111
|
+
var: ''
|
|
112
|
+
},
|
|
113
|
+
''
|
|
114
|
+
]
|
|
118
115
|
}
|
|
119
116
|
}
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
},
|
|
120
|
+
startIcon: /*#__PURE__*/ jsxRuntime.jsx("span", {
|
|
121
|
+
"aria-hidden": true,
|
|
122
|
+
children: "+"
|
|
123
|
+
}),
|
|
124
|
+
disabled: availableFields.length === 0,
|
|
125
|
+
children: formatMessage({
|
|
126
|
+
id: 'form.attribute.condition.apply',
|
|
127
|
+
defaultMessage: 'Apply condition'
|
|
131
128
|
})
|
|
132
129
|
})
|
|
133
|
-
|
|
130
|
+
})
|
|
134
131
|
}) : /*#__PURE__*/ jsxRuntime.jsx(GenericInputs.GenericInput, {
|
|
135
132
|
...input,
|
|
136
|
-
...
|
|
133
|
+
...sharedInputProps,
|
|
137
134
|
error: errorId,
|
|
135
|
+
intlLabel: intlLabel,
|
|
138
136
|
onChange: onChange,
|
|
139
137
|
value: value,
|
|
140
138
|
autoFocus: i === 0,
|
|
@@ -148,23 +146,24 @@ var get__default = /*#__PURE__*/_interopDefault(get);
|
|
|
148
146
|
});
|
|
149
147
|
}
|
|
150
148
|
})
|
|
151
|
-
}, input.name
|
|
149
|
+
}, input.name ?? key);
|
|
152
150
|
}
|
|
153
151
|
// Default rendering for all other input types
|
|
154
152
|
return /*#__PURE__*/ jsxRuntime.jsx(designSystem.Grid.Item, {
|
|
155
|
-
col: input.size
|
|
153
|
+
col: input.size ?? 6,
|
|
156
154
|
xs: 12,
|
|
157
155
|
direction: "column",
|
|
158
156
|
alignItems: "stretch",
|
|
159
157
|
children: /*#__PURE__*/ jsxRuntime.jsx(GenericInputs.GenericInput, {
|
|
160
158
|
...input,
|
|
161
|
-
...
|
|
159
|
+
...sharedInputProps,
|
|
162
160
|
error: errorId,
|
|
161
|
+
intlLabel: intlLabel,
|
|
163
162
|
onChange: onChange,
|
|
164
163
|
value: value,
|
|
165
164
|
autoFocus: i === 0
|
|
166
165
|
})
|
|
167
|
-
}, input.name
|
|
166
|
+
}, input.name ?? key);
|
|
168
167
|
})
|
|
169
168
|
})
|
|
170
169
|
]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TabForm.js","sources":["../../../admin/src/components/TabForm.tsx"],"sourcesContent":["import { Box, Grid, Typography, Button, Tooltip } from '@strapi/design-system';\nimport get from 'lodash/get';\nimport { useIntl } from 'react-intl';\n\nimport { formatCondition, getAvailableConditionFields } from '../utils/conditions';\n\nimport { GenericInput } from './GenericInputs';\n\ninterface TabFormProps {\n form: Array<Record<string, any>>;\n formErrors: Record<string, any>;\n genericInputProps: Record<string, any>;\n modifiedData: Record<string, any>;\n onChange: (value: any) => void;\n}\n\n/* eslint-disable react/no-array-index-key */\nexport const TabForm = ({\n form,\n formErrors,\n genericInputProps,\n modifiedData,\n onChange,\n}: TabFormProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <>\n {form.map((section, sectionIndex) => {\n // Don't display an empty section\n if (section.items.length === 0) {\n return null;\n }\n return (\n <Box key={sectionIndex}>\n {section.sectionTitle && (\n <Box paddingBottom={4}>\n <Typography variant=\"delta\" tag=\"h3\">\n {formatMessage(section.sectionTitle)}\n </Typography>\n </Box>\n )}\n {section.intlLabel && (\n <Typography variant=\"pi\" textColor=\"neutral600\">\n {formatMessage(section.intlLabel)}\n </Typography>\n )}\n\n <Grid.Root gap={4}>\n {section.items.map((input: any, i: number) => {\n const key = `${sectionIndex}.${i}`;\n\n /**\n * Use undefined as the default value because not every input wants a string e.g. Date pickers\n */\n const value = get(modifiedData, input.name, undefined);\n\n // When extending the yup schema of an existing field (like in https://github.com/strapi/strapi/blob/293ff3b8f9559236609d123a2774e3be05ce8274/packages/strapi-plugin-i18n/admin/src/index.js#L52)\n // and triggering a yup validation error in the UI (missing a required field for example)\n // We got an object that looks like: formErrors = { \"pluginOptions.i18n.localized\": {...} }\n // In order to deal with this error, we can't rely on lodash.get to resolve this key\n // - lodash will try to access {pluginOptions: {i18n: {localized: true}}})\n // - and we just want to access { \"pluginOptions.i18n.localized\": {...} }\n // NOTE: this is a hack\n const pluginOptionError = Object.keys(formErrors).find((key) => key === input.name);\n\n // Retrieve the error for a specific input\n const errorId = pluginOptionError\n ? formErrors[pluginOptionError].id\n : get(\n formErrors,\n [\n ...input.name\n .split('.')\n // The filter here is used when creating a component\n // in the component step 1 modal\n // Since the component info is stored in the\n // componentToCreate object we can access the error\n // By removing the key\n .filter((key: string) => key !== 'componentToCreate'),\n 'id',\n ],\n null\n );\n\n if (input.type === 'pushRight') {\n return (\n <Grid.Item\n col={input.size || 6}\n xs={12}\n key={input.name || key}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <div />\n </Grid.Item>\n );\n }\n\n // Special handling for 'condition-form'\n if (input.type === 'condition-form') {\n const currentCondition = get(modifiedData, input.name);\n\n // Get all attributes from the content type schema\n const contentTypeAttributes =\n genericInputProps.contentTypeSchema?.attributes || [];\n\n if (!genericInputProps.contentTypeSchema) {\n console.warn('contentTypeSchema is undefined, skipping condition form');\n return null;\n }\n\n // Filter for boolean and enumeration fields only, excluding the current field\n const availableFields = getAvailableConditionFields(\n contentTypeAttributes,\n modifiedData.name\n );\n\n const noFieldsMessage = formatMessage({\n id: 'form.attribute.condition.no-fields',\n defaultMessage:\n 'No boolean or enumeration fields available to set conditions on.',\n });\n\n return (\n <Grid.Item\n col={input.size || 12}\n xs={12}\n key={input.name || key}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n {!currentCondition || Object.keys(currentCondition).length === 0 ? (\n <Box>\n {currentCondition && Object.keys(currentCondition).length > 0 && (\n <Typography variant=\"sigma\" textColor=\"neutral800\" marginBottom={2}>\n {formatCondition(\n currentCondition,\n availableFields,\n genericInputProps.attributeName || modifiedData.name\n )}\n </Typography>\n )}\n <Tooltip label={noFieldsMessage}>\n <Button\n marginTop={\n currentCondition && Object.keys(currentCondition).length > 0 ? 0 : 4\n }\n fullWidth={true}\n variant=\"secondary\"\n onClick={() => {\n onChange({\n target: {\n name: input.name,\n value: { visible: { '==': [{ var: '' }, ''] } },\n },\n });\n }}\n startIcon={<span aria-hidden>+</span>}\n disabled={availableFields.length === 0}\n >\n {formatMessage({\n id: 'form.attribute.condition.apply',\n defaultMessage: 'Apply condition',\n })}\n </Button>\n </Tooltip>\n </Box>\n ) : (\n <GenericInput\n {...input}\n {...genericInputProps}\n error={errorId}\n onChange={onChange}\n value={value}\n autoFocus={i === 0}\n attributeName={modifiedData.name}\n conditionFields={availableFields}\n onDelete={() => {\n onChange({\n target: {\n name: input.name,\n },\n });\n }}\n />\n )}\n </Grid.Item>\n );\n }\n\n // Default rendering for all other input types\n return (\n <Grid.Item\n col={input.size || 6}\n xs={12}\n key={input.name || key}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <GenericInput\n {...input}\n {...genericInputProps}\n error={errorId}\n onChange={onChange}\n value={value}\n autoFocus={i === 0}\n />\n </Grid.Item>\n );\n })}\n </Grid.Root>\n </Box>\n );\n })}\n </>\n );\n};\n"],"names":["TabForm","form","formErrors","genericInputProps","modifiedData","onChange","formatMessage","useIntl","_jsx","_Fragment","map","section","sectionIndex","items","length","_jsxs","Box","sectionTitle","paddingBottom","Typography","variant","tag","intlLabel","textColor","Grid","Root","gap","input","i","key","value","get","name","undefined","pluginOptionError","Object","keys","find","errorId","id","split","filter","type","Item","col","size","xs","direction","alignItems","div","currentCondition","contentTypeAttributes","contentTypeSchema","attributes","console","warn","availableFields","getAvailableConditionFields","noFieldsMessage","defaultMessage","marginBottom","formatCondition","attributeName","Tooltip","label","Button","marginTop","fullWidth","onClick","target","visible","var","startIcon","span","aria-hidden","disabled","GenericInput","error","autoFocus","conditionFields","onDelete"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TabForm.js","sources":["../../../admin/src/components/TabForm.tsx"],"sourcesContent":["import { Box, Grid, Typography, Button, Tooltip } from '@strapi/design-system';\nimport get from 'lodash/get';\nimport { useIntl } from 'react-intl';\n\nimport { getAvailableConditionFields } from '../utils/conditions';\n\nimport { GenericInput } from './GenericInputs';\n\nimport type { AnyAttribute, AttributeConditions, IntlLabel } from '../types';\n\ntype FormInput = Partial<React.ComponentProps<typeof GenericInput>> & {\n name: string;\n type: string;\n size?: number;\n};\n\ntype FormSection = {\n sectionTitle?: IntlLabel | null;\n intlLabel?: IntlLabel;\n items: FormInput[];\n};\n\ntype FormError = {\n id?: string;\n};\n\ntype GenericInputProps = Record<string, unknown> & {\n attributeName?: string;\n contentTypeSchema?: {\n attributes?: AnyAttribute[];\n };\n};\n\ntype ModifiedData = Record<string, unknown> & {\n name?: string;\n};\n\ntype TabFormChangeHandler = (value: {\n target: {\n name: string;\n value?: unknown;\n type?: string;\n };\n}) => void;\n\ntype TabFormProps = {\n form: FormSection[];\n formErrors: Record<string, FormError>;\n genericInputProps: GenericInputProps;\n modifiedData: ModifiedData;\n onChange: TabFormChangeHandler;\n};\n\n/* eslint-disable react/no-array-index-key */\nexport const TabForm = ({\n form,\n formErrors,\n genericInputProps,\n modifiedData,\n onChange,\n}: TabFormProps) => {\n const { formatMessage } = useIntl();\n const sharedInputProps = genericInputProps as Partial<React.ComponentProps<typeof GenericInput>> &\n GenericInputProps;\n\n return (\n <>\n {form.map((section, sectionIndex) => {\n // Don't display an empty section\n if (section.items.length === 0) {\n return null;\n }\n return (\n <Box key={sectionIndex}>\n {section.sectionTitle && (\n <Box paddingBottom={4}>\n <Typography variant=\"delta\" tag=\"h3\">\n {formatMessage(section.sectionTitle)}\n </Typography>\n </Box>\n )}\n {section.intlLabel && (\n <Typography variant=\"pi\" textColor=\"neutral600\">\n {formatMessage(section.intlLabel)}\n </Typography>\n )}\n\n <Grid.Root gap={4}>\n {section.items.map((input, i) => {\n const key = `${sectionIndex}.${i}`;\n const intlLabel = input.intlLabel ?? {\n id: input.name,\n defaultMessage: input.name,\n };\n\n /**\n * Use undefined as the default value because not every input wants a string e.g. Date pickers\n */\n const value = get(modifiedData, input.name, undefined);\n\n // When extending the yup schema of an existing field (like in https://github.com/strapi/strapi/blob/293ff3b8f9559236609d123a2774e3be05ce8274/packages/strapi-plugin-i18n/admin/src/index.js#L52)\n // and triggering a yup validation error in the UI (missing a required field for example)\n // We got an object that looks like: formErrors = { \"pluginOptions.i18n.localized\": {...} }\n // In order to deal with this error, we can't rely on lodash.get to resolve this key\n // - lodash will try to access {pluginOptions: {i18n: {localized: true}}})\n // - and we just want to access { \"pluginOptions.i18n.localized\": {...} }\n // NOTE: this is a hack\n const pluginOptionError = Object.keys(formErrors).find((key) => key === input.name);\n\n // Retrieve the error for a specific input\n const errorId = pluginOptionError\n ? formErrors[pluginOptionError]?.id\n : get(\n formErrors,\n [\n ...input.name\n .split('.')\n // The filter here is used when creating a component\n // in the component step 1 modal\n // Since the component info is stored in the\n // componentToCreate object we can access the error\n // By removing the key\n .filter((key: string) => key !== 'componentToCreate'),\n 'id',\n ],\n null\n );\n\n if (input.type === 'pushRight') {\n return (\n <Grid.Item\n col={input.size ?? 6}\n xs={12}\n key={input.name ?? key}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <div />\n </Grid.Item>\n );\n }\n\n // Special handling for 'condition-form'\n if (input.type === 'condition-form') {\n const currentCondition = get(modifiedData, input.name) as\n | AttributeConditions\n | null\n | undefined;\n\n // Get all attributes from the content type schema\n const contentTypeAttributes =\n sharedInputProps.contentTypeSchema?.attributes ?? [];\n\n if (!sharedInputProps.contentTypeSchema) {\n console.warn('contentTypeSchema is undefined, skipping condition form');\n return null;\n }\n\n // Filter for boolean and enumeration fields only, excluding the current field\n const availableFields = getAvailableConditionFields(\n contentTypeAttributes,\n modifiedData.name ?? ''\n );\n\n const noFieldsMessage = formatMessage({\n id: 'form.attribute.condition.no-fields',\n defaultMessage:\n 'No boolean or enumeration fields available to set conditions on.',\n });\n\n return (\n <Grid.Item\n col={input.size ?? 12}\n xs={12}\n key={input.name ?? key}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n {currentCondition === null ||\n currentCondition === undefined ||\n Object.keys(currentCondition).length === 0 ? (\n <Box>\n <Tooltip label={noFieldsMessage}>\n <Button\n marginTop={4}\n fullWidth={true}\n variant=\"secondary\"\n onClick={() => {\n onChange({\n target: {\n name: input.name,\n value: { visible: { '==': [{ var: '' }, ''] } },\n },\n });\n }}\n startIcon={<span aria-hidden>+</span>}\n disabled={availableFields.length === 0}\n >\n {formatMessage({\n id: 'form.attribute.condition.apply',\n defaultMessage: 'Apply condition',\n })}\n </Button>\n </Tooltip>\n </Box>\n ) : (\n <GenericInput\n {...input}\n {...sharedInputProps}\n error={errorId}\n intlLabel={intlLabel}\n onChange={onChange}\n value={value}\n autoFocus={i === 0}\n attributeName={modifiedData.name}\n conditionFields={availableFields}\n onDelete={() => {\n onChange({\n target: {\n name: input.name,\n },\n });\n }}\n />\n )}\n </Grid.Item>\n );\n }\n\n // Default rendering for all other input types\n return (\n <Grid.Item\n col={input.size ?? 6}\n xs={12}\n key={input.name ?? key}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <GenericInput\n {...input}\n {...sharedInputProps}\n error={errorId}\n intlLabel={intlLabel}\n onChange={onChange}\n value={value}\n autoFocus={i === 0}\n />\n </Grid.Item>\n );\n })}\n </Grid.Root>\n </Box>\n );\n })}\n </>\n );\n};\n"],"names":["TabForm","form","formErrors","genericInputProps","modifiedData","onChange","formatMessage","useIntl","sharedInputProps","_jsx","_Fragment","map","section","sectionIndex","items","length","_jsxs","Box","sectionTitle","paddingBottom","Typography","variant","tag","intlLabel","textColor","Grid","Root","gap","input","i","key","id","name","defaultMessage","value","get","undefined","pluginOptionError","Object","keys","find","errorId","split","filter","type","Item","col","size","xs","direction","alignItems","div","currentCondition","contentTypeAttributes","contentTypeSchema","attributes","console","warn","availableFields","getAvailableConditionFields","noFieldsMessage","Tooltip","label","Button","marginTop","fullWidth","onClick","target","visible","var","startIcon","span","aria-hidden","disabled","GenericInput","error","autoFocus","attributeName","conditionFields","onDelete"],"mappings":"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"}
|