@strapi/content-type-builder 5.37.1 → 5.38.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/components/AIChat/Chat.js.map +1 -1
- package/dist/admin/components/AIChat/Chat.mjs +2 -2
- package/dist/admin/components/AIChat/Chat.mjs.map +1 -1
- package/dist/admin/components/AIChat/FeedbackModal.js.map +1 -1
- package/dist/admin/components/AIChat/FeedbackModal.mjs +1 -1
- package/dist/admin/components/AIChat/FeedbackModal.mjs.map +1 -1
- package/dist/admin/components/AIChat/UploadCodeModal.js.map +1 -1
- package/dist/admin/components/AIChat/UploadCodeModal.mjs +1 -1
- package/dist/admin/components/AIChat/UploadCodeModal.mjs.map +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/Alert.js.map +1 -1
- package/dist/admin/components/AIChat/components/Alert.mjs.map +1 -1
- package/dist/admin/components/AIChat/components/AnimatedBox.js.map +1 -1
- package/dist/admin/components/AIChat/components/AnimatedBox.mjs.map +1 -1
- package/dist/admin/components/AIChat/components/Attachments/AttachmentPreview.js.map +1 -1
- package/dist/admin/components/AIChat/components/Attachments/AttachmentPreview.mjs.map +1 -1
- package/dist/admin/components/AIChat/components/Attachments/components/Attachment.js.map +1 -1
- package/dist/admin/components/AIChat/components/Attachments/components/Attachment.mjs +1 -1
- package/dist/admin/components/AIChat/components/Attachments/components/Attachment.mjs.map +1 -1
- package/dist/admin/components/AIChat/components/Base64Image.js.map +1 -1
- package/dist/admin/components/AIChat/components/Base64Image.mjs.map +1 -1
- package/dist/admin/components/AIChat/components/Collapsible.js.map +1 -1
- package/dist/admin/components/AIChat/components/Collapsible.mjs.map +1 -1
- package/dist/admin/components/AIChat/components/Dropzone.js +2 -6
- package/dist/admin/components/AIChat/components/Dropzone.js.map +1 -1
- package/dist/admin/components/AIChat/components/Dropzone.mjs +3 -7
- package/dist/admin/components/AIChat/components/Dropzone.mjs.map +1 -1
- package/dist/admin/components/AIChat/components/FloatingPanel.js.map +1 -1
- package/dist/admin/components/AIChat/components/FloatingPanel.mjs +1 -1
- package/dist/admin/components/AIChat/components/FloatingPanel.mjs.map +1 -1
- package/dist/admin/components/AIChat/components/FullScreenImage.js.map +1 -1
- package/dist/admin/components/AIChat/components/FullScreenImage.mjs.map +1 -1
- package/dist/admin/components/AIChat/components/ImagePreview.js.map +1 -1
- package/dist/admin/components/AIChat/components/ImagePreview.mjs +1 -1
- package/dist/admin/components/AIChat/components/ImagePreview.mjs.map +1 -1
- package/dist/admin/components/AIChat/components/Input.js +1 -5
- package/dist/admin/components/AIChat/components/Input.js.map +1 -1
- package/dist/admin/components/AIChat/components/Input.mjs +4 -7
- package/dist/admin/components/AIChat/components/Input.mjs.map +1 -1
- package/dist/admin/components/AIChat/components/Messages/Marker.js.map +1 -1
- package/dist/admin/components/AIChat/components/Messages/Marker.mjs +2 -2
- package/dist/admin/components/AIChat/components/Messages/Marker.mjs.map +1 -1
- package/dist/admin/components/AIChat/components/Messages/Message.js.map +1 -1
- package/dist/admin/components/AIChat/components/Messages/Message.mjs +1 -1
- package/dist/admin/components/AIChat/components/Messages/Message.mjs.map +1 -1
- package/dist/admin/components/AIChat/components/ResizableTextArea.js.map +1 -1
- package/dist/admin/components/AIChat/components/ResizableTextArea.mjs.map +1 -1
- package/dist/admin/components/AIChat/components/SimpleMenu.js.map +1 -1
- package/dist/admin/components/AIChat/components/SimpleMenu.mjs.map +1 -1
- package/dist/admin/components/AIChat/components/StepModal.js.map +1 -1
- package/dist/admin/components/AIChat/components/StepModal.mjs.map +1 -1
- package/dist/admin/components/AIChat/components/animations.js.map +1 -1
- package/dist/admin/components/AIChat/components/animations.mjs.map +1 -1
- package/dist/admin/components/AIChat/components/icons/FigmaIcon.js.map +1 -1
- package/dist/admin/components/AIChat/components/icons/FigmaIcon.mjs.map +1 -1
- package/dist/admin/components/AIChat/components/icons/StopIcon.js.map +1 -1
- package/dist/admin/components/AIChat/components/icons/StopIcon.mjs.map +1 -1
- package/dist/admin/components/AIChat/hooks/useAIFetch.js.map +1 -1
- package/dist/admin/components/AIChat/hooks/useAIFetch.mjs.map +1 -1
- package/dist/admin/components/AIChat/hooks/useAttachments.js.map +1 -1
- package/dist/admin/components/AIChat/hooks/useAttachments.mjs.map +1 -1
- package/dist/admin/components/AIChat/hooks/useChatTitle.js.map +1 -1
- package/dist/admin/components/AIChat/hooks/useChatTitle.mjs.map +1 -1
- package/dist/admin/components/AIChat/hooks/useCodeUpload.js.map +1 -1
- package/dist/admin/components/AIChat/hooks/useCodeUpload.mjs.map +1 -1
- package/dist/admin/components/AIChat/hooks/useFeedback.js.map +1 -1
- package/dist/admin/components/AIChat/hooks/useFeedback.mjs.map +1 -1
- package/dist/admin/components/AIChat/hooks/useFigmaUpload.js.map +1 -1
- package/dist/admin/components/AIChat/hooks/useFigmaUpload.mjs.map +1 -1
- package/dist/admin/components/AIChat/hooks/useLastSeenSchemas.js.map +1 -1
- package/dist/admin/components/AIChat/hooks/useLastSeenSchemas.mjs.map +1 -1
- package/dist/admin/components/AIChat/hooks/useTranslations.js.map +1 -1
- package/dist/admin/components/AIChat/hooks/useTranslations.mjs.map +1 -1
- package/dist/admin/components/AIChat/lib/aiClient.js.map +1 -1
- package/dist/admin/components/AIChat/lib/aiClient.mjs.map +1 -1
- package/dist/admin/components/AIChat/lib/constants.js.map +1 -1
- package/dist/admin/components/AIChat/lib/constants.mjs.map +1 -1
- package/dist/admin/components/AIChat/lib/misc.js.map +1 -1
- package/dist/admin/components/AIChat/lib/misc.mjs.map +1 -1
- package/dist/admin/components/AIChat/lib/transforms/schemas/fromCTB.js.map +1 -1
- package/dist/admin/components/AIChat/lib/transforms/schemas/fromCTB.mjs.map +1 -1
- package/dist/admin/components/AIChat/lib/transforms/schemas/toCTB.js.map +1 -1
- package/dist/admin/components/AIChat/lib/transforms/schemas/toCTB.mjs.map +1 -1
- package/dist/admin/components/AIChat/providers/ChatProvider.js.map +1 -1
- package/dist/admin/components/AIChat/providers/ChatProvider.mjs.map +1 -1
- package/dist/admin/components/AIChat/providers/SchemaProvider.js.map +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/ApplyConditionButton.js.map +1 -1
- package/dist/admin/components/ApplyConditionButton.mjs.map +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/AttributeOptions/AttributeList.js.map +1 -1
- package/dist/admin/components/AttributeOptions/AttributeList.mjs.map +1 -1
- package/dist/admin/components/AttributeOptions/AttributeOption.js.map +1 -1
- package/dist/admin/components/AttributeOptions/AttributeOption.mjs.map +1 -1
- package/dist/admin/components/AttributeOptions/AttributeOptions.js.map +1 -1
- package/dist/admin/components/AttributeOptions/AttributeOptions.mjs.map +1 -1
- package/dist/admin/components/AttributeOptions/CustomFieldOption.js.map +1 -1
- package/dist/admin/components/AttributeOptions/CustomFieldOption.mjs.map +1 -1
- package/dist/admin/components/AttributeOptions/CustomFieldsList.js.map +1 -1
- package/dist/admin/components/AttributeOptions/CustomFieldsList.mjs.map +1 -1
- package/dist/admin/components/AttributeOptions/EmptyAttributes.js.map +1 -1
- package/dist/admin/components/AttributeOptions/EmptyAttributes.mjs.map +1 -1
- package/dist/admin/components/AttributeOptions/OptionBoxWrapper.js.map +1 -1
- package/dist/admin/components/AttributeOptions/OptionBoxWrapper.mjs.map +1 -1
- package/dist/admin/components/AttributeRow.js.map +1 -1
- package/dist/admin/components/AttributeRow.mjs +1 -1
- package/dist/admin/components/AttributeRow.mjs.map +1 -1
- package/dist/admin/components/AutoReloadOverlayBlocker.js.map +1 -1
- package/dist/admin/components/AutoReloadOverlayBlocker.mjs.map +1 -1
- package/dist/admin/components/BooleanDefaultValueSelect.js.map +1 -1
- 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/CTBSessionProvider.js.map +1 -1
- package/dist/admin/components/CTBSession/CTBSessionProvider.mjs.map +1 -1
- package/dist/admin/components/CTBSession/sessionContext.js.map +1 -1
- package/dist/admin/components/CTBSession/sessionContext.mjs.map +1 -1
- package/dist/admin/components/CTBSession/useCTBSession.js.map +1 -1
- package/dist/admin/components/CTBSession/useCTBSession.mjs.map +1 -1
- package/dist/admin/components/CTBSession/useCTBTracking.js.map +1 -1
- package/dist/admin/components/CTBSession/useCTBTracking.mjs.map +1 -1
- package/dist/admin/components/CheckboxWithNumberField.js.map +1 -1
- 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 +1 -1
- package/dist/admin/components/ComponentCard/ComponentCard.mjs.map +1 -1
- package/dist/admin/components/ComponentCard/ComponentIcon/ComponentIcon.js.map +1 -1
- package/dist/admin/components/ComponentCard/ComponentIcon/ComponentIcon.mjs.map +1 -1
- package/dist/admin/components/ComponentList.js.map +1 -1
- package/dist/admin/components/ComponentList.mjs.map +1 -1
- package/dist/admin/components/ComponentRow.js.map +1 -1
- package/dist/admin/components/ComponentRow.mjs.map +1 -1
- package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.js.map +1 -1
- package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.mjs +2 -2
- package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.mjs.map +1 -1
- package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.js.map +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.map +1 -1
- 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 +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.map +1 -1
- package/dist/admin/components/DataManager/DataManagerProvider.mjs +1 -1
- package/dist/admin/components/DataManager/DataManagerProvider.mjs.map +1 -1
- package/dist/admin/components/DataManager/reducer.js.map +1 -1
- package/dist/admin/components/DataManager/reducer.mjs.map +1 -1
- package/dist/admin/components/DataManager/undoRedo.js.map +1 -1
- package/dist/admin/components/DataManager/undoRedo.mjs.map +1 -1
- package/dist/admin/components/DataManager/useDataManager.js.map +1 -1
- package/dist/admin/components/DataManager/useDataManager.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/cleanData.js.map +1 -1
- package/dist/admin/components/DataManager/utils/cleanData.mjs.map +1 -1
- package/dist/admin/components/DataManager/utils/retrieveComponentsThatHaveComponents.js.map +1 -1
- package/dist/admin/components/DataManager/utils/retrieveComponentsThatHaveComponents.mjs.map +1 -1
- package/dist/admin/components/DataManager/utils/retrieveNestedComponents.js.map +1 -1
- package/dist/admin/components/DataManager/utils/retrieveNestedComponents.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/DisplayedType.js.map +1 -1
- package/dist/admin/components/DisplayedType.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 +1 -1
- package/dist/admin/components/DynamicZoneList.mjs.map +1 -1
- package/dist/admin/components/ExitPrompt.js.map +1 -1
- package/dist/admin/components/ExitPrompt.mjs.map +1 -1
- package/dist/admin/components/Footers.js.map +1 -1
- package/dist/admin/components/Footers.mjs +2 -2
- package/dist/admin/components/Footers.mjs.map +1 -1
- package/dist/admin/components/FormModal/FormModal.js.map +1 -1
- package/dist/admin/components/FormModal/FormModal.mjs +1 -1
- package/dist/admin/components/FormModal/FormModal.mjs.map +1 -1
- package/dist/admin/components/FormModal/attributes/ConditionForm.js.map +1 -1
- package/dist/admin/components/FormModal/attributes/ConditionForm.mjs.map +1 -1
- package/dist/admin/components/FormModal/attributes/advancedForm.js.map +1 -1
- package/dist/admin/components/FormModal/attributes/advancedForm.mjs.map +1 -1
- package/dist/admin/components/FormModal/attributes/attributeOptions.js.map +1 -1
- package/dist/admin/components/FormModal/attributes/attributeOptions.mjs.map +1 -1
- package/dist/admin/components/FormModal/attributes/baseForm.js.map +1 -1
- package/dist/admin/components/FormModal/attributes/baseForm.mjs.map +1 -1
- package/dist/admin/components/FormModal/attributes/commonBaseForm.js.map +1 -1
- package/dist/admin/components/FormModal/attributes/commonBaseForm.mjs.map +1 -1
- package/dist/admin/components/FormModal/attributes/form.js.map +1 -1
- package/dist/admin/components/FormModal/attributes/form.mjs.map +1 -1
- package/dist/admin/components/FormModal/attributes/nameField.js.map +1 -1
- package/dist/admin/components/FormModal/attributes/nameField.mjs.map +1 -1
- package/dist/admin/components/FormModal/attributes/types.js.map +1 -1
- package/dist/admin/components/FormModal/attributes/types.mjs +1 -1
- package/dist/admin/components/FormModal/attributes/types.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/componentField.js.map +1 -1
- package/dist/admin/components/FormModal/component/componentField.mjs.map +1 -1
- package/dist/admin/components/FormModal/component/componentForm.js.map +1 -1
- package/dist/admin/components/FormModal/component/componentForm.mjs.map +1 -1
- package/dist/admin/components/FormModal/component/createComponentSchema.js.map +1 -1
- package/dist/admin/components/FormModal/component/createComponentSchema.mjs.map +1 -1
- package/dist/admin/components/FormModal/contentType/contentTypeForm.js.map +1 -1
- package/dist/admin/components/FormModal/contentType/contentTypeForm.mjs.map +1 -1
- package/dist/admin/components/FormModal/contentType/createContentTypeSchema.js.map +1 -1
- package/dist/admin/components/FormModal/contentType/createContentTypeSchema.mjs.map +1 -1
- package/dist/admin/components/FormModal/dynamiczoneForm.js.map +1 -1
- package/dist/admin/components/FormModal/dynamiczoneForm.mjs.map +1 -1
- package/dist/admin/components/FormModal/forms/forms.js.map +1 -1
- package/dist/admin/components/FormModal/forms/forms.mjs.map +1 -1
- package/dist/admin/components/FormModal/forms/utils/addItemsToFormSection.js.map +1 -1
- package/dist/admin/components/FormModal/forms/utils/addItemsToFormSection.mjs.map +1 -1
- package/dist/admin/components/FormModal/forms/utils/createCollectionName.js.map +1 -1
- package/dist/admin/components/FormModal/forms/utils/createCollectionName.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.map +1 -1
- package/dist/admin/components/FormModal/reducer.mjs.map +1 -1
- package/dist/admin/components/FormModal/utils/canEditContentType.js.map +1 -1
- package/dist/admin/components/FormModal/utils/canEditContentType.mjs.map +1 -1
- package/dist/admin/components/FormModal/utils/createUid.js.map +1 -1
- package/dist/admin/components/FormModal/utils/createUid.mjs.map +1 -1
- package/dist/admin/components/FormModal/utils/customFieldDefaultOptionsReducer.js.map +1 -1
- package/dist/admin/components/FormModal/utils/customFieldDefaultOptionsReducer.mjs.map +1 -1
- package/dist/admin/components/FormModal/utils/getAttributesToDisplay.js.map +1 -1
- package/dist/admin/components/FormModal/utils/getAttributesToDisplay.mjs.map +1 -1
- package/dist/admin/components/FormModal/utils/getFormInputNames.js.map +1 -1
- package/dist/admin/components/FormModal/utils/getFormInputNames.mjs.map +1 -1
- package/dist/admin/components/FormModal/utils/relations.js.map +1 -1
- package/dist/admin/components/FormModal/utils/relations.mjs.map +1 -1
- package/dist/admin/components/FormModalEndActions.js.map +1 -1
- package/dist/admin/components/FormModalEndActions.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.map +1 -1
- package/dist/admin/components/FormModalNavigation/FormModalNavigationProvider.mjs.map +1 -1
- package/dist/admin/components/FormModalNavigation/useFormModalNavigation.js.map +1 -1
- package/dist/admin/components/FormModalNavigation/useFormModalNavigation.mjs.map +1 -1
- package/dist/admin/components/FormModalSubHeader.js.map +1 -1
- package/dist/admin/components/FormModalSubHeader.mjs.map +1 -1
- package/dist/admin/components/GenericInputs.js +1 -5
- package/dist/admin/components/GenericInputs.js.map +1 -1
- package/dist/admin/components/GenericInputs.mjs +1 -5
- 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 +1 -1
- package/dist/admin/components/IconPicker/IconPicker.mjs.map +1 -1
- package/dist/admin/components/IconPicker/constants.js.map +1 -1
- package/dist/admin/components/IconPicker/constants.mjs.map +1 -1
- package/dist/admin/components/List.js.map +1 -1
- package/dist/admin/components/List.mjs +1 -1
- package/dist/admin/components/List.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.map +1 -1
- package/dist/admin/components/Relation/Relation.mjs.map +1 -1
- package/dist/admin/components/Relation/RelationField/RelationField.js.map +1 -1
- package/dist/admin/components/Relation/RelationField/RelationField.mjs.map +1 -1
- package/dist/admin/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.js.map +1 -1
- package/dist/admin/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.mjs.map +1 -1
- package/dist/admin/components/Relation/RelationNaturePicker/Components.js.map +1 -1
- package/dist/admin/components/Relation/RelationNaturePicker/Components.mjs.map +1 -1
- package/dist/admin/components/Relation/RelationNaturePicker/RelationNaturePicker.js.map +1 -1
- package/dist/admin/components/Relation/RelationNaturePicker/RelationNaturePicker.mjs +1 -1
- package/dist/admin/components/Relation/RelationNaturePicker/RelationNaturePicker.mjs.map +1 -1
- package/dist/admin/components/SelectCategory.js.map +1 -1
- package/dist/admin/components/SelectCategory.mjs.map +1 -1
- package/dist/admin/components/SelectComponent.js.map +1 -1
- package/dist/admin/components/SelectComponent.mjs.map +1 -1
- package/dist/admin/components/SelectComponents.js.map +1 -1
- package/dist/admin/components/SelectComponents.mjs.map +1 -1
- package/dist/admin/components/SelectDateType.js.map +1 -1
- package/dist/admin/components/SelectDateType.mjs.map +1 -1
- package/dist/admin/components/SelectNumber.js.map +1 -1
- package/dist/admin/components/SelectNumber.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/Status.js.map +1 -1
- package/dist/admin/components/Status.mjs.map +1 -1
- package/dist/admin/components/TabForm.js.map +1 -1
- package/dist/admin/components/TabForm.mjs.map +1 -1
- package/dist/admin/components/TextareaEnum.js.map +1 -1
- package/dist/admin/components/TextareaEnum.mjs.map +1 -1
- package/dist/admin/constants.js.map +1 -1
- package/dist/admin/constants.mjs.map +1 -1
- package/dist/admin/icons/Curve.js.map +1 -1
- package/dist/admin/icons/Curve.mjs.map +1 -1
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs.map +1 -1
- package/dist/admin/pages/App/index.js.map +1 -1
- package/dist/admin/pages/App/index.mjs.map +1 -1
- package/dist/admin/pages/ListView/EmptyState.js.map +1 -1
- package/dist/admin/pages/ListView/EmptyState.mjs +1 -1
- package/dist/admin/pages/ListView/EmptyState.mjs.map +1 -1
- package/dist/admin/pages/ListView/LinkToCMSettingsView.js.map +1 -1
- package/dist/admin/pages/ListView/LinkToCMSettingsView.mjs.map +1 -1
- package/dist/admin/pages/ListView/ListView.js.map +1 -1
- package/dist/admin/pages/ListView/ListView.mjs +1 -1
- package/dist/admin/pages/ListView/ListView.mjs.map +1 -1
- package/dist/admin/reducers.js +4 -4
- package/dist/admin/reducers.js.map +1 -1
- package/dist/admin/reducers.mjs +4 -4
- package/dist/admin/reducers.mjs.map +1 -1
- package/dist/admin/utils/conditions.js.map +1 -1
- package/dist/admin/utils/conditions.mjs.map +1 -1
- package/dist/admin/utils/findAttribute.js.map +1 -1
- package/dist/admin/utils/findAttribute.mjs.map +1 -1
- package/dist/admin/utils/formAPI.js.map +1 -1
- package/dist/admin/utils/formAPI.mjs.map +1 -1
- package/dist/admin/utils/getAttributeDisplayedType.js.map +1 -1
- package/dist/admin/utils/getAttributeDisplayedType.mjs.map +1 -1
- package/dist/admin/utils/getMaxDepth.js.map +1 -1
- package/dist/admin/utils/getMaxDepth.mjs.map +1 -1
- package/dist/admin/utils/getRelationType.js.map +1 -1
- package/dist/admin/utils/getRelationType.mjs.map +1 -1
- package/dist/admin/utils/getTrad.js.map +1 -1
- package/dist/admin/utils/getTrad.mjs.map +1 -1
- package/dist/admin/utils/getYupInnerErrors.js.map +1 -1
- package/dist/admin/utils/getYupInnerErrors.mjs.map +1 -1
- package/dist/admin/utils/isAllowedContentTypesForRelations.js.map +1 -1
- package/dist/admin/utils/isAllowedContentTypesForRelations.mjs.map +1 -1
- package/dist/admin/utils/makeUnique.js.map +1 -1
- package/dist/admin/utils/makeUnique.mjs.map +1 -1
- package/dist/admin/utils/nameToSlug.js.map +1 -1
- package/dist/admin/utils/nameToSlug.mjs.map +1 -1
- package/dist/admin/utils/parseDateValue.js.map +1 -1
- package/dist/admin/utils/parseDateValue.mjs.map +1 -1
- package/dist/admin/utils/prefixPluginTranslations.js.map +1 -1
- package/dist/admin/utils/prefixPluginTranslations.mjs.map +1 -1
- package/dist/admin/utils/timeFormat.js.map +1 -1
- package/dist/admin/utils/timeFormat.mjs.map +1 -1
- package/dist/admin/utils/toRegressedEnumValue.js.map +1 -1
- package/dist/admin/utils/toRegressedEnumValue.mjs.map +1 -1
- package/dist/server/bootstrap.js.map +1 -1
- package/dist/server/bootstrap.mjs.map +1 -1
- package/dist/server/config.js.map +1 -1
- package/dist/server/config.mjs.map +1 -1
- package/dist/server/controllers/builder.js.map +1 -1
- package/dist/server/controllers/builder.mjs.map +1 -1
- package/dist/server/controllers/component-categories.js.map +1 -1
- package/dist/server/controllers/component-categories.mjs.map +1 -1
- package/dist/server/controllers/components.js.map +1 -1
- package/dist/server/controllers/components.mjs +1 -1
- package/dist/server/controllers/components.mjs.map +1 -1
- package/dist/server/controllers/content-types.js.map +1 -1
- package/dist/server/controllers/content-types.mjs +1 -1
- package/dist/server/controllers/content-types.mjs.map +1 -1
- package/dist/server/controllers/index.js.map +1 -1
- package/dist/server/controllers/index.mjs.map +1 -1
- package/dist/server/controllers/schema.js.map +1 -1
- package/dist/server/controllers/schema.mjs.map +1 -1
- package/dist/server/controllers/validation/common.js.map +1 -1
- package/dist/server/controllers/validation/common.mjs.map +1 -1
- package/dist/server/controllers/validation/component-category.js.map +1 -1
- package/dist/server/controllers/validation/component-category.mjs.map +1 -1
- package/dist/server/controllers/validation/component.js.map +1 -1
- package/dist/server/controllers/validation/component.mjs +1 -1
- package/dist/server/controllers/validation/component.mjs.map +1 -1
- package/dist/server/controllers/validation/content-type.js.map +1 -1
- package/dist/server/controllers/validation/content-type.mjs.map +1 -1
- package/dist/server/controllers/validation/data-transform.js.map +1 -1
- package/dist/server/controllers/validation/data-transform.mjs.map +1 -1
- package/dist/server/controllers/validation/model-schema.js.map +1 -1
- package/dist/server/controllers/validation/model-schema.mjs.map +1 -1
- package/dist/server/controllers/validation/relations.js.map +1 -1
- package/dist/server/controllers/validation/relations.mjs.map +1 -1
- package/dist/server/controllers/validation/schema.js.map +1 -1
- package/dist/server/controllers/validation/schema.mjs +1 -1
- package/dist/server/controllers/validation/schema.mjs.map +1 -1
- package/dist/server/controllers/validation/types.js +0 -1
- package/dist/server/controllers/validation/types.js.map +1 -1
- package/dist/server/controllers/validation/types.mjs +1 -2
- package/dist/server/controllers/validation/types.mjs.map +1 -1
- package/dist/server/index.js +8 -8
- package/dist/server/middlewares/is-development-mode.js.map +1 -1
- package/dist/server/middlewares/is-development-mode.mjs.map +1 -1
- package/dist/server/register.js.map +1 -1
- package/dist/server/register.mjs.map +1 -1
- package/dist/server/routes/admin.js.map +1 -1
- package/dist/server/routes/admin.mjs.map +1 -1
- package/dist/server/routes/content-api.js.map +1 -1
- package/dist/server/routes/content-api.mjs.map +1 -1
- package/dist/server/routes/index.js.map +1 -1
- package/dist/server/routes/index.mjs.map +1 -1
- package/dist/server/services/api-handler.js.map +1 -1
- package/dist/server/services/api-handler.mjs.map +1 -1
- package/dist/server/services/builder.js.map +1 -1
- package/dist/server/services/builder.mjs.map +1 -1
- package/dist/server/services/component-categories.js.map +1 -1
- package/dist/server/services/component-categories.mjs +1 -1
- package/dist/server/services/component-categories.mjs.map +1 -1
- package/dist/server/services/components.js.map +1 -1
- package/dist/server/services/components.mjs +1 -1
- package/dist/server/services/components.mjs.map +1 -1
- package/dist/server/services/constants.js.map +1 -1
- package/dist/server/services/constants.mjs.map +1 -1
- package/dist/server/services/content-types.js.map +1 -1
- package/dist/server/services/content-types.mjs +1 -1
- package/dist/server/services/content-types.mjs.map +1 -1
- package/dist/server/services/index.js.map +1 -1
- package/dist/server/services/index.mjs.map +1 -1
- package/dist/server/services/schema-builder/component-builder.js.map +1 -1
- package/dist/server/services/schema-builder/component-builder.mjs +1 -1
- package/dist/server/services/schema-builder/component-builder.mjs.map +1 -1
- package/dist/server/services/schema-builder/content-type-builder.js.map +1 -1
- package/dist/server/services/schema-builder/content-type-builder.mjs +2 -2
- package/dist/server/services/schema-builder/content-type-builder.mjs.map +1 -1
- package/dist/server/services/schema-builder/index.js.map +1 -1
- package/dist/server/services/schema-builder/index.mjs +3 -3
- package/dist/server/services/schema-builder/index.mjs.map +1 -1
- package/dist/server/services/schema-builder/schema-handler.js.map +1 -1
- package/dist/server/services/schema-builder/schema-handler.mjs.map +1 -1
- package/dist/server/services/schema.js.map +1 -1
- package/dist/server/services/schema.mjs +1 -1
- package/dist/server/services/schema.mjs.map +1 -1
- package/dist/server/utils/attributes.js.map +1 -1
- package/dist/server/utils/attributes.mjs.map +1 -1
- package/dist/server/utils/index.js.map +1 -1
- package/dist/server/utils/index.mjs.map +1 -1
- package/dist/server/utils/typeguards.js.map +1 -1
- package/dist/server/utils/typeguards.mjs.map +1 -1
- package/package.json +7 -7
|
@@ -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":";;;;;;;;;AAgBA,8CACaA,MAAAA,OAAAA,GAAU,CAAC,EACtBC,IAAI,EACJC,UAAU,EACVC,iBAAiB,EACjBC,YAAY,EACZC,QAAQ,EACK,GAAA;IACb,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;IAE1B,qBACEC,cAAA,CAAAC,mBAAA,EAAA;kBACGR,IAAKS,CAAAA,GAAG,CAAC,CAACC,OAASC,EAAAA,YAAAA,GAAAA;;AAElB,YAAA,IAAID,OAAQE,CAAAA,KAAK,CAACC,MAAM,KAAK,CAAG,EAAA;gBAC9B,OAAO,IAAA;AACT;AACA,YAAA,qBACEC,eAACC,CAAAA,gBAAAA,EAAAA;;oBACEL,OAAQM,CAAAA,YAAY,kBACnBT,cAACQ,CAAAA,gBAAAA,EAAAA;wBAAIE,aAAe,EAAA,CAAA;AAClB,wBAAA,QAAA,gBAAAV,cAACW,CAAAA,uBAAAA,EAAAA;4BAAWC,OAAQ,EAAA,OAAA;4BAAQC,GAAI,EAAA,IAAA;AAC7Bf,4BAAAA,QAAAA,EAAAA,aAAAA,CAAcK,QAAQM,YAAY;;;oBAIxCN,OAAQW,CAAAA,SAAS,kBAChBd,cAACW,CAAAA,uBAAAA,EAAAA;wBAAWC,OAAQ,EAAA,IAAA;wBAAKG,SAAU,EAAA,YAAA;AAChCjB,wBAAAA,QAAAA,EAAAA,aAAAA,CAAcK,QAAQW,SAAS;;AAIpC,kCAAAd,cAAA,CAACgB,kBAAKC,IAAI,EAAA;wBAACC,GAAK,EAAA,CAAA;AACbf,wBAAAA,QAAAA,EAAAA,OAAAA,CAAQE,KAAK,CAACH,GAAG,CAAC,CAACiB,KAAYC,EAAAA,CAAAA,GAAAA;AAC9B,4BAAA,MAAMC,GAAM,GAAA,CAAA,EAAGjB,YAAa,CAAA,CAAC,EAAEgB,CAAG,CAAA,CAAA;AAElC;;AAEC,oBACD,MAAME,KAAQC,GAAAA,GAAAA,CAAI3B,YAAcuB,EAAAA,KAAAA,CAAMK,IAAI,EAAEC,SAAAA,CAAAA;;;;;;;;4BAS5C,MAAMC,iBAAAA,GAAoBC,MAAOC,CAAAA,IAAI,CAAClC,UAAAA,CAAAA,CAAYmC,IAAI,CAAC,CAACR,GAAAA,GAAQA,GAAQF,KAAAA,KAAAA,CAAMK,IAAI,CAAA;;4BAGlF,MAAMM,OAAAA,GAAUJ,oBACZhC,UAAU,CAACgC,kBAAkB,CAACK,EAAE,GAChCR,GAAAA,CACE7B,UACA,EAAA;AACKyB,gCAAAA,GAAAA,KAAAA,CAAMK,IAAI,CACVQ,KAAK,CAAC,IACP;;;;;iCAKCC,MAAM,CAAC,CAACZ,GAAAA,GAAgBA,GAAQ,KAAA,mBAAA,CAAA;AACnC,gCAAA;6BACD,EACD,IAAA,CAAA;4BAGN,IAAIF,KAAAA,CAAMe,IAAI,KAAK,WAAa,EAAA;gCAC9B,qBACElC,cAAA,CAACgB,kBAAKmB,IAAI,EAAA;oCACRC,GAAKjB,EAAAA,KAAAA,CAAMkB,IAAI,IAAI,CAAA;oCACnBC,EAAI,EAAA,EAAA;oCAEJC,SAAU,EAAA,QAAA;oCACVC,UAAW,EAAA,SAAA;AAEX,oCAAA,QAAA,gBAAAxC,cAACyC,CAAAA,KAAAA,EAAAA,EAAAA;AAJItB,iCAAAA,EAAAA,KAAAA,CAAMK,IAAI,IAAIH,GAAAA,CAAAA;AAOzB;;4BAGA,IAAIF,KAAAA,CAAMe,IAAI,KAAK,gBAAkB,EAAA;AACnC,gCAAA,MAAMQ,gBAAmBnB,GAAAA,GAAAA,CAAI3B,YAAcuB,EAAAA,KAAAA,CAAMK,IAAI,CAAA;;AAGrD,gCAAA,MAAMmB,qBACJhD,GAAAA,iBAAAA,CAAkBiD,iBAAiB,EAAEC,cAAc,EAAE;gCAEvD,IAAI,CAAClD,iBAAkBiD,CAAAA,iBAAiB,EAAE;AACxCE,oCAAAA,OAAAA,CAAQC,IAAI,CAAC,yDAAA,CAAA;oCACb,OAAO,IAAA;AACT;;AAGA,gCAAA,MAAMC,eAAkBC,GAAAA,sCAAAA,CACtBN,qBACA/C,EAAAA,YAAAA,CAAa4B,IAAI,CAAA;AAGnB,gCAAA,MAAM0B,kBAAkBpD,aAAc,CAAA;oCACpCiC,EAAI,EAAA,oCAAA;oCACJoB,cACE,EAAA;AACJ,iCAAA,CAAA;gCAEA,qBACEnD,cAAA,CAACgB,kBAAKmB,IAAI,EAAA;oCACRC,GAAKjB,EAAAA,KAAAA,CAAMkB,IAAI,IAAI,EAAA;oCACnBC,EAAI,EAAA,EAAA;oCAEJC,SAAU,EAAA,QAAA;oCACVC,UAAW,EAAA,SAAA;8CAEV,CAACE,gBAAAA,IAAoBf,OAAOC,IAAI,CAACc,kBAAkBpC,MAAM,KAAK,kBAC7DC,eAACC,CAAAA,gBAAAA,EAAAA;;AACEkC,4CAAAA,gBAAAA,IAAoBf,OAAOC,IAAI,CAACc,kBAAkBpC,MAAM,GAAG,mBAC1DN,cAACW,CAAAA,uBAAAA,EAAAA;gDAAWC,OAAQ,EAAA,OAAA;gDAAQG,SAAU,EAAA,YAAA;gDAAaqC,YAAc,EAAA,CAAA;AAC9DC,gDAAAA,QAAAA,EAAAA,0BAAAA,CACCX,kBACAM,eACArD,EAAAA,iBAAAA,CAAkB2D,aAAa,IAAI1D,aAAa4B,IAAI;;0DAI1DxB,cAACuD,CAAAA,oBAAAA,EAAAA;gDAAQC,KAAON,EAAAA,eAAAA;AACd,gDAAA,QAAA,gBAAAlD,cAACyD,CAAAA,mBAAAA,EAAAA;oDACCC,SACEhB,EAAAA,gBAAAA,IAAoBf,OAAOC,IAAI,CAACc,kBAAkBpC,MAAM,GAAG,IAAI,CAAI,GAAA,CAAA;oDAErEqD,SAAW,EAAA,IAAA;oDACX/C,OAAQ,EAAA,WAAA;oDACRgD,OAAS,EAAA,IAAA;wDACP/D,QAAS,CAAA;4DACPgE,MAAQ,EAAA;AACNrC,gEAAAA,IAAAA,EAAML,MAAMK,IAAI;gEAChBF,KAAO,EAAA;oEAAEwC,OAAS,EAAA;wEAAE,IAAM,EAAA;AAAC,4EAAA;gFAAEC,GAAK,EAAA;AAAG,6EAAA;AAAG,4EAAA;AAAG;AAAC;AAAE;AAChD;AACF,yDAAA,CAAA;AACF,qDAAA;AACAC,oDAAAA,SAAAA,gBAAWhE,cAACiE,CAAAA,MAAAA,EAAAA;wDAAKC,aAAW,EAAA,IAAA;AAAC,wDAAA,QAAA,EAAA;;oDAC7BC,QAAUnB,EAAAA,eAAAA,CAAgB1C,MAAM,KAAK,CAAA;8DAEpCR,aAAc,CAAA;wDACbiC,EAAI,EAAA,gCAAA;wDACJoB,cAAgB,EAAA;AAClB,qDAAA;;;;uDAKNnD,cAACoE,CAAAA,0BAAAA,EAAAA;AACE,wCAAA,GAAGjD,KAAK;AACR,wCAAA,GAAGxB,iBAAiB;wCACrB0E,KAAOvC,EAAAA,OAAAA;wCACPjC,QAAUA,EAAAA,QAAAA;wCACVyB,KAAOA,EAAAA,KAAAA;AACPgD,wCAAAA,SAAAA,EAAWlD,CAAM,KAAA,CAAA;AACjBkC,wCAAAA,aAAAA,EAAe1D,aAAa4B,IAAI;wCAChC+C,eAAiBvB,EAAAA,eAAAA;wCACjBwB,QAAU,EAAA,IAAA;4CACR3E,QAAS,CAAA;gDACPgE,MAAQ,EAAA;AACNrC,oDAAAA,IAAAA,EAAML,MAAMK;AACd;AACF,6CAAA,CAAA;AACF;;AAxDCL,iCAAAA,EAAAA,KAAAA,CAAMK,IAAI,IAAIH,GAAAA,CAAAA;AA6DzB;;4BAGA,qBACErB,cAAA,CAACgB,kBAAKmB,IAAI,EAAA;gCACRC,GAAKjB,EAAAA,KAAAA,CAAMkB,IAAI,IAAI,CAAA;gCACnBC,EAAI,EAAA,EAAA;gCAEJC,SAAU,EAAA,QAAA;gCACVC,UAAW,EAAA,SAAA;AAEX,gCAAA,QAAA,gBAAAxC,cAACoE,CAAAA,0BAAAA,EAAAA;AACE,oCAAA,GAAGjD,KAAK;AACR,oCAAA,GAAGxB,iBAAiB;oCACrB0E,KAAOvC,EAAAA,OAAAA;oCACPjC,QAAUA,EAAAA,QAAAA;oCACVyB,KAAOA,EAAAA,KAAAA;AACPgD,oCAAAA,SAAAA,EAAWlD,CAAM,KAAA;;AAVdD,6BAAAA,EAAAA,KAAAA,CAAMK,IAAI,IAAIH,GAAAA,CAAAA;AAczB,yBAAA;;;AAhLMjB,aAAAA,EAAAA,YAAAA,CAAAA;AAoLd,SAAA;;AAGN;;;;"}
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TabForm.mjs","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.mjs","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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextareaEnum.js","sources":["../../../admin/src/components/TextareaEnum.tsx"],"sourcesContent":["import { ReactNode, ChangeEvent } from 'react';\n\nimport { Field, Textarea } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport type { IntlLabel } from '../types';\n\ninterface TextareaEnumProps {\n description?: IntlLabel | null;\n disabled?: boolean;\n error?: string;\n intlLabel: IntlLabel;\n labelAction?: ReactNode;\n name: string;\n onChange: (value: { target: { name: string; value: string | string[] } }) => void;\n placeholder?: IntlLabel | null;\n value: string | string[] | undefined;\n}\n\nexport const TextareaEnum = ({\n description = null,\n disabled = false,\n error = '',\n intlLabel,\n labelAction,\n name,\n onChange,\n placeholder = null,\n value = '',\n}: TextareaEnumProps) => {\n const { formatMessage } = useIntl();\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 const formattedPlaceholder = placeholder\n ? formatMessage(\n { id: placeholder.id, defaultMessage: placeholder.defaultMessage },\n { ...placeholder.values }\n )\n : '';\n\n const inputValue = Array.isArray(value) ? value.join('\\n') : '';\n\n const handleChange = (e: ChangeEvent<HTMLTextAreaElement>) => {\n const arrayValue = e.target.value.split('\\n');\n\n onChange({ target: { name, value: arrayValue } });\n };\n\n return (\n <Field.Root error={errorMessage} hint={hint} name={name}>\n <Field.Label action={labelAction}>{label}</Field.Label>\n <Textarea\n disabled={disabled}\n onChange={handleChange}\n placeholder={formattedPlaceholder}\n value={inputValue}\n />\n <Field.Error />\n <Field.Hint />\n </Field.Root>\n );\n};\n"],"names":["TextareaEnum","description","disabled","error","intlLabel","labelAction","name","onChange","placeholder","value","formatMessage","useIntl","errorMessage","id","defaultMessage","hint","values","label","formattedPlaceholder","inputValue","Array","isArray","join","handleChange","e","arrayValue","target","split","_jsxs","Field","Root","_jsx","Label","action","Textarea","Error","Hint"],"mappings":";;;;;;AAmBO,MAAMA,
|
|
1
|
+
{"version":3,"file":"TextareaEnum.js","sources":["../../../admin/src/components/TextareaEnum.tsx"],"sourcesContent":["import { ReactNode, ChangeEvent } from 'react';\n\nimport { Field, Textarea } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport type { IntlLabel } from '../types';\n\ninterface TextareaEnumProps {\n description?: IntlLabel | null;\n disabled?: boolean;\n error?: string;\n intlLabel: IntlLabel;\n labelAction?: ReactNode;\n name: string;\n onChange: (value: { target: { name: string; value: string | string[] } }) => void;\n placeholder?: IntlLabel | null;\n value: string | string[] | undefined;\n}\n\nexport const TextareaEnum = ({\n description = null,\n disabled = false,\n error = '',\n intlLabel,\n labelAction,\n name,\n onChange,\n placeholder = null,\n value = '',\n}: TextareaEnumProps) => {\n const { formatMessage } = useIntl();\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 const formattedPlaceholder = placeholder\n ? formatMessage(\n { id: placeholder.id, defaultMessage: placeholder.defaultMessage },\n { ...placeholder.values }\n )\n : '';\n\n const inputValue = Array.isArray(value) ? value.join('\\n') : '';\n\n const handleChange = (e: ChangeEvent<HTMLTextAreaElement>) => {\n const arrayValue = e.target.value.split('\\n');\n\n onChange({ target: { name, value: arrayValue } });\n };\n\n return (\n <Field.Root error={errorMessage} hint={hint} name={name}>\n <Field.Label action={labelAction}>{label}</Field.Label>\n <Textarea\n disabled={disabled}\n onChange={handleChange}\n placeholder={formattedPlaceholder}\n value={inputValue}\n />\n <Field.Error />\n <Field.Hint />\n </Field.Root>\n );\n};\n"],"names":["TextareaEnum","description","disabled","error","intlLabel","labelAction","name","onChange","placeholder","value","formatMessage","useIntl","errorMessage","id","defaultMessage","hint","values","label","formattedPlaceholder","inputValue","Array","isArray","join","handleChange","e","arrayValue","target","split","_jsxs","Field","Root","_jsx","Label","action","Textarea","Error","Hint"],"mappings":";;;;;;AAmBO,MAAMA,YAAAA,GAAe,CAAC,EAC3BC,WAAAA,GAAc,IAAI,EAClBC,QAAAA,GAAW,KAAK,EAChBC,KAAAA,GAAQ,EAAE,EACVC,SAAS,EACTC,WAAW,EACXC,IAAI,EACJC,QAAQ,EACRC,WAAAA,GAAc,IAAI,EAClBC,KAAAA,GAAQ,EAAE,EACQ,GAAA;IAClB,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;IAC1B,MAAMC,YAAAA,GAAeT,QAAQO,aAAAA,CAAc;QAAEG,EAAAA,EAAIV,KAAAA;QAAOW,cAAAA,EAAgBX;KAAM,CAAA,GAAK,EAAA;IACnF,MAAMY,IAAAA,GAAOd,cACTS,aAAAA,CACE;AAAEG,QAAAA,EAAAA,EAAIZ,YAAYY,EAAE;AAAEC,QAAAA,cAAAA,EAAgBb,YAAYa;KAAe,EACjE;AAAE,QAAA,GAAGb,YAAYe;KAAO,CAAA,GAE1B,EAAA;AACJ,IAAA,MAAMC,QAAQP,aAAAA,CAAcN,SAAAA,CAAAA;IAC5B,MAAMc,oBAAAA,GAAuBV,cACzBE,aAAAA,CACE;AAAEG,QAAAA,EAAAA,EAAIL,YAAYK,EAAE;AAAEC,QAAAA,cAAAA,EAAgBN,YAAYM;KAAe,EACjE;AAAE,QAAA,GAAGN,YAAYQ;KAAO,CAAA,GAE1B,EAAA;IAEJ,MAAMG,UAAAA,GAAaC,MAAMC,OAAO,CAACZ,SAASA,KAAAA,CAAMa,IAAI,CAAC,IAAA,CAAA,GAAQ,EAAA;AAE7D,IAAA,MAAMC,eAAe,CAACC,CAAAA,GAAAA;AACpB,QAAA,MAAMC,aAAaD,CAAAA,CAAEE,MAAM,CAACjB,KAAK,CAACkB,KAAK,CAAC,IAAA,CAAA;QAExCpB,QAAAA,CAAS;YAAEmB,MAAAA,EAAQ;AAAEpB,gBAAAA,IAAAA;gBAAMG,KAAAA,EAAOgB;AAAW;AAAE,SAAA,CAAA;AACjD,IAAA,CAAA;IAEA,qBACEG,eAAA,CAACC,mBAAMC,IAAI,EAAA;QAAC3B,KAAAA,EAAOS,YAAAA;QAAcG,IAAAA,EAAMA,IAAAA;QAAMT,IAAAA,EAAMA,IAAAA;;AACjD,0BAAAyB,cAAA,CAACF,mBAAMG,KAAK,EAAA;gBAACC,MAAAA,EAAQ5B,WAAAA;AAAcY,gBAAAA,QAAAA,EAAAA;;0BACnCc,cAAA,CAACG,qBAAAA,EAAAA;gBACChC,QAAAA,EAAUA,QAAAA;gBACVK,QAAAA,EAAUgB,YAAAA;gBACVf,WAAAA,EAAaU,oBAAAA;gBACbT,KAAAA,EAAOU;;AAET,0BAAAY,cAAA,CAACF,mBAAMM,KAAK,EAAA,EAAA,CAAA;AACZ,0BAAAJ,cAAA,CAACF,mBAAMO,IAAI,EAAA,EAAA;;;AAGjB;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextareaEnum.mjs","sources":["../../../admin/src/components/TextareaEnum.tsx"],"sourcesContent":["import { ReactNode, ChangeEvent } from 'react';\n\nimport { Field, Textarea } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport type { IntlLabel } from '../types';\n\ninterface TextareaEnumProps {\n description?: IntlLabel | null;\n disabled?: boolean;\n error?: string;\n intlLabel: IntlLabel;\n labelAction?: ReactNode;\n name: string;\n onChange: (value: { target: { name: string; value: string | string[] } }) => void;\n placeholder?: IntlLabel | null;\n value: string | string[] | undefined;\n}\n\nexport const TextareaEnum = ({\n description = null,\n disabled = false,\n error = '',\n intlLabel,\n labelAction,\n name,\n onChange,\n placeholder = null,\n value = '',\n}: TextareaEnumProps) => {\n const { formatMessage } = useIntl();\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 const formattedPlaceholder = placeholder\n ? formatMessage(\n { id: placeholder.id, defaultMessage: placeholder.defaultMessage },\n { ...placeholder.values }\n )\n : '';\n\n const inputValue = Array.isArray(value) ? value.join('\\n') : '';\n\n const handleChange = (e: ChangeEvent<HTMLTextAreaElement>) => {\n const arrayValue = e.target.value.split('\\n');\n\n onChange({ target: { name, value: arrayValue } });\n };\n\n return (\n <Field.Root error={errorMessage} hint={hint} name={name}>\n <Field.Label action={labelAction}>{label}</Field.Label>\n <Textarea\n disabled={disabled}\n onChange={handleChange}\n placeholder={formattedPlaceholder}\n value={inputValue}\n />\n <Field.Error />\n <Field.Hint />\n </Field.Root>\n );\n};\n"],"names":["TextareaEnum","description","disabled","error","intlLabel","labelAction","name","onChange","placeholder","value","formatMessage","useIntl","errorMessage","id","defaultMessage","hint","values","label","formattedPlaceholder","inputValue","Array","isArray","join","handleChange","e","arrayValue","target","split","_jsxs","Field","Root","_jsx","Label","action","Textarea","Error","Hint"],"mappings":";;;;AAmBO,MAAMA,
|
|
1
|
+
{"version":3,"file":"TextareaEnum.mjs","sources":["../../../admin/src/components/TextareaEnum.tsx"],"sourcesContent":["import { ReactNode, ChangeEvent } from 'react';\n\nimport { Field, Textarea } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport type { IntlLabel } from '../types';\n\ninterface TextareaEnumProps {\n description?: IntlLabel | null;\n disabled?: boolean;\n error?: string;\n intlLabel: IntlLabel;\n labelAction?: ReactNode;\n name: string;\n onChange: (value: { target: { name: string; value: string | string[] } }) => void;\n placeholder?: IntlLabel | null;\n value: string | string[] | undefined;\n}\n\nexport const TextareaEnum = ({\n description = null,\n disabled = false,\n error = '',\n intlLabel,\n labelAction,\n name,\n onChange,\n placeholder = null,\n value = '',\n}: TextareaEnumProps) => {\n const { formatMessage } = useIntl();\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 const formattedPlaceholder = placeholder\n ? formatMessage(\n { id: placeholder.id, defaultMessage: placeholder.defaultMessage },\n { ...placeholder.values }\n )\n : '';\n\n const inputValue = Array.isArray(value) ? value.join('\\n') : '';\n\n const handleChange = (e: ChangeEvent<HTMLTextAreaElement>) => {\n const arrayValue = e.target.value.split('\\n');\n\n onChange({ target: { name, value: arrayValue } });\n };\n\n return (\n <Field.Root error={errorMessage} hint={hint} name={name}>\n <Field.Label action={labelAction}>{label}</Field.Label>\n <Textarea\n disabled={disabled}\n onChange={handleChange}\n placeholder={formattedPlaceholder}\n value={inputValue}\n />\n <Field.Error />\n <Field.Hint />\n </Field.Root>\n );\n};\n"],"names":["TextareaEnum","description","disabled","error","intlLabel","labelAction","name","onChange","placeholder","value","formatMessage","useIntl","errorMessage","id","defaultMessage","hint","values","label","formattedPlaceholder","inputValue","Array","isArray","join","handleChange","e","arrayValue","target","split","_jsxs","Field","Root","_jsx","Label","action","Textarea","Error","Hint"],"mappings":";;;;AAmBO,MAAMA,YAAAA,GAAe,CAAC,EAC3BC,WAAAA,GAAc,IAAI,EAClBC,QAAAA,GAAW,KAAK,EAChBC,KAAAA,GAAQ,EAAE,EACVC,SAAS,EACTC,WAAW,EACXC,IAAI,EACJC,QAAQ,EACRC,WAAAA,GAAc,IAAI,EAClBC,KAAAA,GAAQ,EAAE,EACQ,GAAA;IAClB,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;IAC1B,MAAMC,YAAAA,GAAeT,QAAQO,aAAAA,CAAc;QAAEG,EAAAA,EAAIV,KAAAA;QAAOW,cAAAA,EAAgBX;KAAM,CAAA,GAAK,EAAA;IACnF,MAAMY,IAAAA,GAAOd,cACTS,aAAAA,CACE;AAAEG,QAAAA,EAAAA,EAAIZ,YAAYY,EAAE;AAAEC,QAAAA,cAAAA,EAAgBb,YAAYa;KAAe,EACjE;AAAE,QAAA,GAAGb,YAAYe;KAAO,CAAA,GAE1B,EAAA;AACJ,IAAA,MAAMC,QAAQP,aAAAA,CAAcN,SAAAA,CAAAA;IAC5B,MAAMc,oBAAAA,GAAuBV,cACzBE,aAAAA,CACE;AAAEG,QAAAA,EAAAA,EAAIL,YAAYK,EAAE;AAAEC,QAAAA,cAAAA,EAAgBN,YAAYM;KAAe,EACjE;AAAE,QAAA,GAAGN,YAAYQ;KAAO,CAAA,GAE1B,EAAA;IAEJ,MAAMG,UAAAA,GAAaC,MAAMC,OAAO,CAACZ,SAASA,KAAAA,CAAMa,IAAI,CAAC,IAAA,CAAA,GAAQ,EAAA;AAE7D,IAAA,MAAMC,eAAe,CAACC,CAAAA,GAAAA;AACpB,QAAA,MAAMC,aAAaD,CAAAA,CAAEE,MAAM,CAACjB,KAAK,CAACkB,KAAK,CAAC,IAAA,CAAA;QAExCpB,QAAAA,CAAS;YAAEmB,MAAAA,EAAQ;AAAEpB,gBAAAA,IAAAA;gBAAMG,KAAAA,EAAOgB;AAAW;AAAE,SAAA,CAAA;AACjD,IAAA,CAAA;IAEA,qBACEG,IAAA,CAACC,MAAMC,IAAI,EAAA;QAAC3B,KAAAA,EAAOS,YAAAA;QAAcG,IAAAA,EAAMA,IAAAA;QAAMT,IAAAA,EAAMA,IAAAA;;AACjD,0BAAAyB,GAAA,CAACF,MAAMG,KAAK,EAAA;gBAACC,MAAAA,EAAQ5B,WAAAA;AAAcY,gBAAAA,QAAAA,EAAAA;;0BACnCc,GAAA,CAACG,QAAAA,EAAAA;gBACChC,QAAAA,EAAUA,QAAAA;gBACVK,QAAAA,EAAUgB,YAAAA;gBACVf,WAAAA,EAAaU,oBAAAA;gBACbT,KAAAA,EAAOU;;AAET,0BAAAY,GAAA,CAACF,MAAMM,KAAK,EAAA,EAAA,CAAA;AACZ,0BAAAJ,GAAA,CAACF,MAAMO,IAAI,EAAA,EAAA;;;AAGjB;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sources":["../../admin/src/constants.ts"],"sourcesContent":["export const PERMISSIONS = {\n // This permission regards the main component (App) and is used to tell\n // If the plugin link should be displayed in the menu\n // And also if the plugin is accessible. This use case is found when a user types the url of the\n // plugin directly in the browser\n main: [{ action: 'plugin::content-type-builder.read', subject: null }],\n};\n\nexport const MAX_COMPONENT_DEPTH = 6;\n"],"names":["PERMISSIONS","main","action","subject","MAX_COMPONENT_DEPTH"],"mappings":";;MAAaA,
|
|
1
|
+
{"version":3,"file":"constants.js","sources":["../../admin/src/constants.ts"],"sourcesContent":["export const PERMISSIONS = {\n // This permission regards the main component (App) and is used to tell\n // If the plugin link should be displayed in the menu\n // And also if the plugin is accessible. This use case is found when a user types the url of the\n // plugin directly in the browser\n main: [{ action: 'plugin::content-type-builder.read', subject: null }],\n};\n\nexport const MAX_COMPONENT_DEPTH = 6;\n"],"names":["PERMISSIONS","main","action","subject","MAX_COMPONENT_DEPTH"],"mappings":";;MAAaA,WAAAA,GAAc;;;;;IAKzBC,IAAAA,EAAM;AAAC,QAAA;YAAEC,MAAAA,EAAQ,mCAAA;YAAqCC,OAAAA,EAAS;AAAK;AAAE;AACxE;AAEO,MAAMC,sBAAsB;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.mjs","sources":["../../admin/src/constants.ts"],"sourcesContent":["export const PERMISSIONS = {\n // This permission regards the main component (App) and is used to tell\n // If the plugin link should be displayed in the menu\n // And also if the plugin is accessible. This use case is found when a user types the url of the\n // plugin directly in the browser\n main: [{ action: 'plugin::content-type-builder.read', subject: null }],\n};\n\nexport const MAX_COMPONENT_DEPTH = 6;\n"],"names":["PERMISSIONS","main","action","subject","MAX_COMPONENT_DEPTH"],"mappings":"MAAaA,
|
|
1
|
+
{"version":3,"file":"constants.mjs","sources":["../../admin/src/constants.ts"],"sourcesContent":["export const PERMISSIONS = {\n // This permission regards the main component (App) and is used to tell\n // If the plugin link should be displayed in the menu\n // And also if the plugin is accessible. This use case is found when a user types the url of the\n // plugin directly in the browser\n main: [{ action: 'plugin::content-type-builder.read', subject: null }],\n};\n\nexport const MAX_COMPONENT_DEPTH = 6;\n"],"names":["PERMISSIONS","main","action","subject","MAX_COMPONENT_DEPTH"],"mappings":"MAAaA,WAAAA,GAAc;;;;;IAKzBC,IAAAA,EAAM;AAAC,QAAA;YAAEC,MAAAA,EAAQ,mCAAA;YAAqCC,OAAAA,EAAS;AAAK;AAAE;AACxE;AAEO,MAAMC,sBAAsB;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Curve.js","sources":["../../../admin/src/icons/Curve.tsx"],"sourcesContent":["import { Box } from '@strapi/design-system';\nimport { styled, type DefaultTheme } from 'styled-components';\n\nconst StyledBox = styled(Box)<CurveProps>`\n position: absolute;\n left: -3.4rem;\n top: 0px;\n\n &:before {\n content: '';\n width: 0.4rem;\n height: 1.2rem;\n background: ${({ theme, color }) => theme.colors[color!]};\n display: block;\n }\n`;\n\nconst Svg = styled.svg<CurveProps>`\n position: relative;\n flex-shrink: 0;\n transform: translate(-0.5px, -1px);\n\n * {\n fill: ${({ theme, color }) => theme.colors[color!]};\n }\n`;\n\ninterface CurveProps {\n color: keyof DefaultTheme['colors'];\n}\n\nexport const Curve = (props: CurveProps) => (\n <StyledBox {...props}>\n <Svg\n width=\"20\"\n height=\"23\"\n viewBox=\"0 0 20 23\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M7.02477 14.7513C8.65865 17.0594 11.6046 18.6059 17.5596 18.8856C18.6836 18.9384 19.5976 19.8435 19.5976 20.9688V20.9688C19.5976 22.0941 18.6841 23.0125 17.5599 22.9643C10.9409 22.6805 6.454 20.9387 3.75496 17.1258C0.937988 13.1464 0.486328 7.39309 0.486328 0.593262H4.50974C4.50974 7.54693 5.06394 11.9813 7.02477 14.7513Z\"\n />\n </Svg>\n </StyledBox>\n);\n"],"names":["StyledBox","styled","Box","theme","color","colors","Svg","svg","Curve","props","_jsx","width","height","viewBox","fill","xmlns","path","fillRule","clipRule","d"],"mappings":";;;;;;AAGA,MAAMA,SAAAA,GAAYC,
|
|
1
|
+
{"version":3,"file":"Curve.js","sources":["../../../admin/src/icons/Curve.tsx"],"sourcesContent":["import { Box } from '@strapi/design-system';\nimport { styled, type DefaultTheme } from 'styled-components';\n\nconst StyledBox = styled(Box)<CurveProps>`\n position: absolute;\n left: -3.4rem;\n top: 0px;\n\n &:before {\n content: '';\n width: 0.4rem;\n height: 1.2rem;\n background: ${({ theme, color }) => theme.colors[color!]};\n display: block;\n }\n`;\n\nconst Svg = styled.svg<CurveProps>`\n position: relative;\n flex-shrink: 0;\n transform: translate(-0.5px, -1px);\n\n * {\n fill: ${({ theme, color }) => theme.colors[color!]};\n }\n`;\n\ninterface CurveProps {\n color: keyof DefaultTheme['colors'];\n}\n\nexport const Curve = (props: CurveProps) => (\n <StyledBox {...props}>\n <Svg\n width=\"20\"\n height=\"23\"\n viewBox=\"0 0 20 23\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M7.02477 14.7513C8.65865 17.0594 11.6046 18.6059 17.5596 18.8856C18.6836 18.9384 19.5976 19.8435 19.5976 20.9688V20.9688C19.5976 22.0941 18.6841 23.0125 17.5599 22.9643C10.9409 22.6805 6.454 20.9387 3.75496 17.1258C0.937988 13.1464 0.486328 7.39309 0.486328 0.593262H4.50974C4.50974 7.54693 5.06394 11.9813 7.02477 14.7513Z\"\n />\n </Svg>\n </StyledBox>\n);\n"],"names":["StyledBox","styled","Box","theme","color","colors","Svg","svg","Curve","props","_jsx","width","height","viewBox","fill","xmlns","path","fillRule","clipRule","d"],"mappings":";;;;;;AAGA,MAAMA,SAAAA,GAAYC,uBAAAA,CAAOC,gBAAAA,CAAgB;;;;;;;;;gBASzB,EAAE,CAAC,EAAEC,KAAK,EAAEC,KAAK,EAAE,GAAKD,KAAAA,CAAME,MAAM,CAACD,KAAAA,CAAO,CAAC;;;AAG7D,CAAC;AAED,MAAME,GAAAA,GAAML,uBAAAA,CAAOM,GAAe;;;;;;UAMxB,EAAE,CAAC,EAAEJ,KAAK,EAAEC,KAAK,EAAE,GAAKD,KAAAA,CAAME,MAAM,CAACD,KAAAA,CAAO,CAAC;;AAEvD,CAAC;AAMM,MAAMI,KAAAA,GAAQ,CAACC,KAAAA,iBACpBC,cAAA,CAACV,SAAAA,EAAAA;AAAW,QAAA,GAAGS,KAAK;AAClB,QAAA,QAAA,gBAAAC,cAAA,CAACJ,GAAAA,EAAAA;YACCK,KAAAA,EAAM,IAAA;YACNC,MAAAA,EAAO,IAAA;YACPC,OAAAA,EAAQ,WAAA;YACRC,IAAAA,EAAK,MAAA;YACLC,KAAAA,EAAM,4BAAA;AACL,YAAA,GAAGN,KAAK;AAET,YAAA,QAAA,gBAAAC,cAAA,CAACM,MAAAA,EAAAA;gBACCC,QAAAA,EAAS,SAAA;gBACTC,QAAAA,EAAS,SAAA;gBACTC,CAAAA,EAAE;;;AAIR,KAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Curve.mjs","sources":["../../../admin/src/icons/Curve.tsx"],"sourcesContent":["import { Box } from '@strapi/design-system';\nimport { styled, type DefaultTheme } from 'styled-components';\n\nconst StyledBox = styled(Box)<CurveProps>`\n position: absolute;\n left: -3.4rem;\n top: 0px;\n\n &:before {\n content: '';\n width: 0.4rem;\n height: 1.2rem;\n background: ${({ theme, color }) => theme.colors[color!]};\n display: block;\n }\n`;\n\nconst Svg = styled.svg<CurveProps>`\n position: relative;\n flex-shrink: 0;\n transform: translate(-0.5px, -1px);\n\n * {\n fill: ${({ theme, color }) => theme.colors[color!]};\n }\n`;\n\ninterface CurveProps {\n color: keyof DefaultTheme['colors'];\n}\n\nexport const Curve = (props: CurveProps) => (\n <StyledBox {...props}>\n <Svg\n width=\"20\"\n height=\"23\"\n viewBox=\"0 0 20 23\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M7.02477 14.7513C8.65865 17.0594 11.6046 18.6059 17.5596 18.8856C18.6836 18.9384 19.5976 19.8435 19.5976 20.9688V20.9688C19.5976 22.0941 18.6841 23.0125 17.5599 22.9643C10.9409 22.6805 6.454 20.9387 3.75496 17.1258C0.937988 13.1464 0.486328 7.39309 0.486328 0.593262H4.50974C4.50974 7.54693 5.06394 11.9813 7.02477 14.7513Z\"\n />\n </Svg>\n </StyledBox>\n);\n"],"names":["StyledBox","styled","Box","theme","color","colors","Svg","svg","Curve","props","_jsx","width","height","viewBox","fill","xmlns","path","fillRule","clipRule","d"],"mappings":";;;;AAGA,MAAMA,SAAAA,GAAYC,
|
|
1
|
+
{"version":3,"file":"Curve.mjs","sources":["../../../admin/src/icons/Curve.tsx"],"sourcesContent":["import { Box } from '@strapi/design-system';\nimport { styled, type DefaultTheme } from 'styled-components';\n\nconst StyledBox = styled(Box)<CurveProps>`\n position: absolute;\n left: -3.4rem;\n top: 0px;\n\n &:before {\n content: '';\n width: 0.4rem;\n height: 1.2rem;\n background: ${({ theme, color }) => theme.colors[color!]};\n display: block;\n }\n`;\n\nconst Svg = styled.svg<CurveProps>`\n position: relative;\n flex-shrink: 0;\n transform: translate(-0.5px, -1px);\n\n * {\n fill: ${({ theme, color }) => theme.colors[color!]};\n }\n`;\n\ninterface CurveProps {\n color: keyof DefaultTheme['colors'];\n}\n\nexport const Curve = (props: CurveProps) => (\n <StyledBox {...props}>\n <Svg\n width=\"20\"\n height=\"23\"\n viewBox=\"0 0 20 23\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M7.02477 14.7513C8.65865 17.0594 11.6046 18.6059 17.5596 18.8856C18.6836 18.9384 19.5976 19.8435 19.5976 20.9688V20.9688C19.5976 22.0941 18.6841 23.0125 17.5599 22.9643C10.9409 22.6805 6.454 20.9387 3.75496 17.1258C0.937988 13.1464 0.486328 7.39309 0.486328 0.593262H4.50974C4.50974 7.54693 5.06394 11.9813 7.02477 14.7513Z\"\n />\n </Svg>\n </StyledBox>\n);\n"],"names":["StyledBox","styled","Box","theme","color","colors","Svg","svg","Curve","props","_jsx","width","height","viewBox","fill","xmlns","path","fillRule","clipRule","d"],"mappings":";;;;AAGA,MAAMA,SAAAA,GAAYC,MAAAA,CAAOC,GAAAA,CAAgB;;;;;;;;;gBASzB,EAAE,CAAC,EAAEC,KAAK,EAAEC,KAAK,EAAE,GAAKD,KAAAA,CAAME,MAAM,CAACD,KAAAA,CAAO,CAAC;;;AAG7D,CAAC;AAED,MAAME,GAAAA,GAAML,MAAAA,CAAOM,GAAe;;;;;;UAMxB,EAAE,CAAC,EAAEJ,KAAK,EAAEC,KAAK,EAAE,GAAKD,KAAAA,CAAME,MAAM,CAACD,KAAAA,CAAO,CAAC;;AAEvD,CAAC;AAMM,MAAMI,KAAAA,GAAQ,CAACC,KAAAA,iBACpBC,GAAA,CAACV,SAAAA,EAAAA;AAAW,QAAA,GAAGS,KAAK;AAClB,QAAA,QAAA,gBAAAC,GAAA,CAACJ,GAAAA,EAAAA;YACCK,KAAAA,EAAM,IAAA;YACNC,MAAAA,EAAO,IAAA;YACPC,OAAAA,EAAQ,WAAA;YACRC,IAAAA,EAAK,MAAA;YACLC,KAAAA,EAAM,4BAAA;AACL,YAAA,GAAGN,KAAK;AAET,YAAA,QAAA,gBAAAC,GAAA,CAACM,MAAAA,EAAAA;gBACCC,QAAAA,EAAS,SAAA;gBACTC,QAAAA,EAAS,SAAA;gBACTC,CAAAA,EAAE;;;AAIR,KAAA;;;;"}
|
package/dist/admin/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../admin/src/index.ts"],"sourcesContent":["import { Layout } from '@strapi/icons';\n\nimport { PERMISSIONS } from './constants';\nimport { pluginId } from './pluginId';\nimport { reducers } from './reducers';\nimport { formsAPI } from './utils/formAPI';\nimport { prefixPluginTranslations } from './utils/prefixPluginTranslations';\n\nimport type { StrapiApp } from '@strapi/admin/strapi-admin';\n\n// eslint-disable-next-line import/no-default-export\nexport default {\n register(app: StrapiApp) {\n app.addReducers(reducers);\n app.addMenuLink({\n to: `plugins/${pluginId}`,\n icon: Layout,\n intlLabel: {\n id: `${pluginId}.plugin.name`,\n defaultMessage: 'Content-Type Builder',\n },\n permissions: PERMISSIONS.main,\n Component: () => import('./pages/App'),\n position: 5,\n });\n\n app.registerPlugin({\n id: pluginId,\n name: pluginId,\n // Internal APIs exposed by the CTB for the other plugins to use\n apis: {\n forms: formsAPI,\n },\n });\n },\n bootstrap() {},\n async registerTrads({ locales }: { locales: string[] }) {\n const importedTrads = await Promise.all(\n locales.map((locale) => {\n return import(`./translations/${locale}.json`)\n .then(({ default: data }) => {\n return {\n data: prefixPluginTranslations(data, pluginId),\n locale,\n };\n })\n .catch(() => {\n return {\n data: {},\n locale,\n };\n });\n })\n );\n\n return Promise.resolve(importedTrads);\n },\n};\n\nexport * from './exports';\n"],"names":["register","app","addReducers","reducers","addMenuLink","to","pluginId","icon","Layout","intlLabel","id","defaultMessage","permissions","PERMISSIONS","main","Component","position","registerPlugin","name","apis","forms","formsAPI","bootstrap","registerTrads","locales","importedTrads","Promise","all","map","locale","then","default","data","prefixPluginTranslations","catch","resolve"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA;AACA,YAAe;AACbA,IAAAA,QAAAA,CAAAA,CAASC,GAAc,EAAA;AACrBA,QAAAA,GAAAA,CAAIC,WAAW,CAACC,iBAAAA,CAAAA;AAChBF,QAAAA,GAAAA,CAAIG,WAAW,CAAC;YACdC,EAAI,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../admin/src/index.ts"],"sourcesContent":["import { Layout } from '@strapi/icons';\n\nimport { PERMISSIONS } from './constants';\nimport { pluginId } from './pluginId';\nimport { reducers } from './reducers';\nimport { formsAPI } from './utils/formAPI';\nimport { prefixPluginTranslations } from './utils/prefixPluginTranslations';\n\nimport type { StrapiApp } from '@strapi/admin/strapi-admin';\n\n// eslint-disable-next-line import/no-default-export\nexport default {\n register(app: StrapiApp) {\n app.addReducers(reducers);\n app.addMenuLink({\n to: `plugins/${pluginId}`,\n icon: Layout,\n intlLabel: {\n id: `${pluginId}.plugin.name`,\n defaultMessage: 'Content-Type Builder',\n },\n permissions: PERMISSIONS.main,\n Component: () => import('./pages/App'),\n position: 5,\n });\n\n app.registerPlugin({\n id: pluginId,\n name: pluginId,\n // Internal APIs exposed by the CTB for the other plugins to use\n apis: {\n forms: formsAPI,\n },\n });\n },\n bootstrap() {},\n async registerTrads({ locales }: { locales: string[] }) {\n const importedTrads = await Promise.all(\n locales.map((locale) => {\n return import(`./translations/${locale}.json`)\n .then(({ default: data }) => {\n return {\n data: prefixPluginTranslations(data, pluginId),\n locale,\n };\n })\n .catch(() => {\n return {\n data: {},\n locale,\n };\n });\n })\n );\n\n return Promise.resolve(importedTrads);\n },\n};\n\nexport * from './exports';\n"],"names":["register","app","addReducers","reducers","addMenuLink","to","pluginId","icon","Layout","intlLabel","id","defaultMessage","permissions","PERMISSIONS","main","Component","position","registerPlugin","name","apis","forms","formsAPI","bootstrap","registerTrads","locales","importedTrads","Promise","all","map","locale","then","default","data","prefixPluginTranslations","catch","resolve"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA;AACA,YAAe;AACbA,IAAAA,QAAAA,CAAAA,CAASC,GAAc,EAAA;AACrBA,QAAAA,GAAAA,CAAIC,WAAW,CAACC,iBAAAA,CAAAA;AAChBF,QAAAA,GAAAA,CAAIG,WAAW,CAAC;YACdC,EAAAA,EAAI,CAAC,QAAQ,EAAEC,iBAAAA,CAAAA,CAAU;YACzBC,IAAAA,EAAMC,YAAAA;YACNC,SAAAA,EAAW;gBACTC,EAAAA,EAAI,CAAA,EAAGJ,iBAAAA,CAAS,YAAY,CAAC;gBAC7BK,cAAAA,EAAgB;AAClB,aAAA;AACAC,YAAAA,WAAAA,EAAaC,sBAAYC,IAAI;YAC7BC,SAAAA,EAAW,IAAM,8FAAO,sBAAA,MAAA;YACxBC,QAAAA,EAAU;AACZ,SAAA,CAAA;AAEAf,QAAAA,GAAAA,CAAIgB,cAAc,CAAC;YACjBP,EAAAA,EAAIJ,iBAAAA;YACJY,IAAAA,EAAMZ,iBAAAA;;YAENa,IAAAA,EAAM;gBACJC,KAAAA,EAAOC;AACT;AACF,SAAA,CAAA;AACF,IAAA,CAAA;IACAC,SAAAA,CAAAA,GAAAA,CAAa,CAAA;IACb,MAAMC,aAAAA,CAAAA,CAAc,EAAEC,OAAO,EAAyB,EAAA;QACpD,MAAMC,aAAAA,GAAgB,MAAMC,OAAAA,CAAQC,GAAG,CACrCH,OAAAA,CAAQI,GAAG,CAAC,CAACC,MAAAA,GAAAA;AACX,YAAA,OAAO,iCAAM,CAAC,CAAC,eAAe,EAAEA,MAAAA,CAAO,KAAK,CAAC,CAAA,CAC1CC,IAAI,CAAC,CAAC,EAAEC,OAAAA,EAASC,IAAI,EAAE,GAAA;gBACtB,OAAO;AACLA,oBAAAA,IAAAA,EAAMC,kDAAyBD,IAAAA,EAAM1B,iBAAAA,CAAAA;AACrCuB,oBAAAA;AACF,iBAAA;AACF,YAAA,CAAA,CAAA,CACCK,KAAK,CAAC,IAAA;gBACL,OAAO;AACLF,oBAAAA,IAAAA,EAAM,EAAC;AACPH,oBAAAA;AACF,iBAAA;AACF,YAAA,CAAA,CAAA;AACJ,QAAA,CAAA,CAAA,CAAA;QAGF,OAAOH,OAAAA,CAAQS,OAAO,CAACV,aAAAA,CAAAA;AACzB,IAAA;AACF,CAAA;;;;;;"}
|
package/dist/admin/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../admin/src/index.ts"],"sourcesContent":["import { Layout } from '@strapi/icons';\n\nimport { PERMISSIONS } from './constants';\nimport { pluginId } from './pluginId';\nimport { reducers } from './reducers';\nimport { formsAPI } from './utils/formAPI';\nimport { prefixPluginTranslations } from './utils/prefixPluginTranslations';\n\nimport type { StrapiApp } from '@strapi/admin/strapi-admin';\n\n// eslint-disable-next-line import/no-default-export\nexport default {\n register(app: StrapiApp) {\n app.addReducers(reducers);\n app.addMenuLink({\n to: `plugins/${pluginId}`,\n icon: Layout,\n intlLabel: {\n id: `${pluginId}.plugin.name`,\n defaultMessage: 'Content-Type Builder',\n },\n permissions: PERMISSIONS.main,\n Component: () => import('./pages/App'),\n position: 5,\n });\n\n app.registerPlugin({\n id: pluginId,\n name: pluginId,\n // Internal APIs exposed by the CTB for the other plugins to use\n apis: {\n forms: formsAPI,\n },\n });\n },\n bootstrap() {},\n async registerTrads({ locales }: { locales: string[] }) {\n const importedTrads = await Promise.all(\n locales.map((locale) => {\n return import(`./translations/${locale}.json`)\n .then(({ default: data }) => {\n return {\n data: prefixPluginTranslations(data, pluginId),\n locale,\n };\n })\n .catch(() => {\n return {\n data: {},\n locale,\n };\n });\n })\n );\n\n return Promise.resolve(importedTrads);\n },\n};\n\nexport * from './exports';\n"],"names":["register","app","addReducers","reducers","addMenuLink","to","pluginId","icon","Layout","intlLabel","id","defaultMessage","permissions","PERMISSIONS","main","Component","position","registerPlugin","name","apis","forms","formsAPI","bootstrap","registerTrads","locales","importedTrads","Promise","all","map","locale","then","default","data","prefixPluginTranslations","catch","resolve"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA;AACA,YAAe;AACbA,IAAAA,QAAAA,CAAAA,CAASC,GAAc,EAAA;AACrBA,QAAAA,GAAAA,CAAIC,WAAW,CAACC,QAAAA,CAAAA;AAChBF,QAAAA,GAAAA,CAAIG,WAAW,CAAC;YACdC,EAAI,
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../admin/src/index.ts"],"sourcesContent":["import { Layout } from '@strapi/icons';\n\nimport { PERMISSIONS } from './constants';\nimport { pluginId } from './pluginId';\nimport { reducers } from './reducers';\nimport { formsAPI } from './utils/formAPI';\nimport { prefixPluginTranslations } from './utils/prefixPluginTranslations';\n\nimport type { StrapiApp } from '@strapi/admin/strapi-admin';\n\n// eslint-disable-next-line import/no-default-export\nexport default {\n register(app: StrapiApp) {\n app.addReducers(reducers);\n app.addMenuLink({\n to: `plugins/${pluginId}`,\n icon: Layout,\n intlLabel: {\n id: `${pluginId}.plugin.name`,\n defaultMessage: 'Content-Type Builder',\n },\n permissions: PERMISSIONS.main,\n Component: () => import('./pages/App'),\n position: 5,\n });\n\n app.registerPlugin({\n id: pluginId,\n name: pluginId,\n // Internal APIs exposed by the CTB for the other plugins to use\n apis: {\n forms: formsAPI,\n },\n });\n },\n bootstrap() {},\n async registerTrads({ locales }: { locales: string[] }) {\n const importedTrads = await Promise.all(\n locales.map((locale) => {\n return import(`./translations/${locale}.json`)\n .then(({ default: data }) => {\n return {\n data: prefixPluginTranslations(data, pluginId),\n locale,\n };\n })\n .catch(() => {\n return {\n data: {},\n locale,\n };\n });\n })\n );\n\n return Promise.resolve(importedTrads);\n },\n};\n\nexport * from './exports';\n"],"names":["register","app","addReducers","reducers","addMenuLink","to","pluginId","icon","Layout","intlLabel","id","defaultMessage","permissions","PERMISSIONS","main","Component","position","registerPlugin","name","apis","forms","formsAPI","bootstrap","registerTrads","locales","importedTrads","Promise","all","map","locale","then","default","data","prefixPluginTranslations","catch","resolve"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA;AACA,YAAe;AACbA,IAAAA,QAAAA,CAAAA,CAASC,GAAc,EAAA;AACrBA,QAAAA,GAAAA,CAAIC,WAAW,CAACC,QAAAA,CAAAA;AAChBF,QAAAA,GAAAA,CAAIG,WAAW,CAAC;YACdC,EAAAA,EAAI,CAAC,QAAQ,EAAEC,QAAAA,CAAAA,CAAU;YACzBC,IAAAA,EAAMC,MAAAA;YACNC,SAAAA,EAAW;gBACTC,EAAAA,EAAI,CAAA,EAAGJ,QAAAA,CAAS,YAAY,CAAC;gBAC7BK,cAAAA,EAAgB;AAClB,aAAA;AACAC,YAAAA,WAAAA,EAAaC,YAAYC,IAAI;YAC7BC,SAAAA,EAAW,IAAM,OAAO,uBAAA,CAAA;YACxBC,QAAAA,EAAU;AACZ,SAAA,CAAA;AAEAf,QAAAA,GAAAA,CAAIgB,cAAc,CAAC;YACjBP,EAAAA,EAAIJ,QAAAA;YACJY,IAAAA,EAAMZ,QAAAA;;YAENa,IAAAA,EAAM;gBACJC,KAAAA,EAAOC;AACT;AACF,SAAA,CAAA;AACF,IAAA,CAAA;IACAC,SAAAA,CAAAA,GAAAA,CAAa,CAAA;IACb,MAAMC,aAAAA,CAAAA,CAAc,EAAEC,OAAO,EAAyB,EAAA;QACpD,MAAMC,aAAAA,GAAgB,MAAMC,OAAAA,CAAQC,GAAG,CACrCH,OAAAA,CAAQI,GAAG,CAAC,CAACC,MAAAA,GAAAA;AACX,YAAA,OAAO,iCAAM,CAAC,CAAC,eAAe,EAAEA,MAAAA,CAAO,KAAK,CAAC,CAAA,CAC1CC,IAAI,CAAC,CAAC,EAAEC,OAAAA,EAASC,IAAI,EAAE,GAAA;gBACtB,OAAO;AACLA,oBAAAA,IAAAA,EAAMC,yBAAyBD,IAAAA,EAAM1B,QAAAA,CAAAA;AACrCuB,oBAAAA;AACF,iBAAA;AACF,YAAA,CAAA,CAAA,CACCK,KAAK,CAAC,IAAA;gBACL,OAAO;AACLF,oBAAAA,IAAAA,EAAM,EAAC;AACPH,oBAAAA;AACF,iBAAA;AACF,YAAA,CAAA,CAAA;AACJ,QAAA,CAAA,CAAA,CAAA;QAGF,OAAOH,OAAAA,CAAQS,OAAO,CAACV,aAAAA,CAAAA;AACzB,IAAA;AACF,CAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../admin/src/pages/App/index.tsx"],"sourcesContent":["/* eslint-disable import/no-default-export */\n/* eslint-disable check-file/filename-naming-convention */\n/* eslint-disable check-file/no-index */\nimport { lazy, Suspense, useEffect } from 'react';\n\nimport { Page, Layouts, useAppInfo, useGuidedTour } from '@strapi/admin/strapi-admin';\nimport { useAIAvailability } from '@strapi/admin/strapi-admin/ee';\nimport { useIntl } from 'react-intl';\nimport { Route, Routes } from 'react-router-dom';\n\nimport { Chat } from '../../components/AIChat/Chat';\nimport { prefetchAIToken } from '../../components/AIChat/lib/aiClient';\nimport { ChatProvider } from '../../components/AIChat/providers/ChatProvider';\nimport { AutoReloadOverlayBlockerProvider } from '../../components/AutoReloadOverlayBlocker';\nimport { ContentTypeBuilderNav } from '../../components/ContentTypeBuilderNav/ContentTypeBuilderNav';\nimport { CTBSessionProvider } from '../../components/CTBSession/CTBSessionProvider';\nimport DataManagerProvider from '../../components/DataManager/DataManagerProvider';\nimport { ExitPrompt } from '../../components/ExitPrompt';\nimport { FormModal } from '../../components/FormModal/FormModal';\nimport { FormModalNavigationProvider } from '../../components/FormModalNavigation/FormModalNavigationProvider';\nimport { PERMISSIONS } from '../../constants';\nimport { pluginId } from '../../pluginId';\nimport { EmptyState } from '../ListView/EmptyState';\n\nconst ListView = lazy(() => import('../ListView/ListView'));\n\nconst App = () => {\n const { formatMessage } = useIntl();\n const title = formatMessage({\n id: `${pluginId}.plugin.name`,\n defaultMessage: 'Content Types Builder',\n });\n\n const autoReload = useAppInfo('DataManagerProvider', (state) => state.autoReload);\n const isAIEnabled = useAIAvailability();\n const state = useGuidedTour('ContentTypeBuilderApp', (s) => s.state);\n const dispatch = useGuidedTour('ContentTypeBuilderApp', (s) => s.dispatch);\n\n // Prefetch AI token on initial load\n useEffect(() => {\n prefetchAIToken();\n }, []);\n\n // Set tour type based on AI availability when the app loads\n useEffect(() => {\n const tourType = isAIEnabled ? 'ContentTypeBuilderAI' : 'ContentTypeBuilderNoAI';\n const currentTourType = state.tours.contentTypeBuilder.tourType;\n\n if (currentTourType !== tourType) {\n dispatch({\n type: 'set_tour_type',\n payload: { tourName: 'contentTypeBuilder', tourType },\n });\n }\n }, [isAIEnabled, state.tours.contentTypeBuilder.tourType, dispatch]);\n\n return (\n <Page.Protect permissions={PERMISSIONS.main}>\n <Page.Title>{title}</Page.Title>\n <AutoReloadOverlayBlockerProvider>\n <CTBSessionProvider>\n <FormModalNavigationProvider>\n <DataManagerProvider>\n <ExitPrompt />\n <ChatProvider>\n <>\n {autoReload && <FormModal />}\n <Layouts.Root sideNav={<ContentTypeBuilderNav />}>\n <Suspense fallback={<Page.Loading />}>\n <Routes>\n <Route path=\"content-types/create-content-type\" element={<EmptyState />} />\n <Route path=\"content-types/:contentTypeUid\" element={<ListView />} />\n <Route\n path={`component-categories/:categoryUid/:componentUid`}\n element={<ListView />}\n />\n <Route path=\"*\" element={<ListView />} />\n </Routes>\n </Suspense>\n </Layouts.Root>\n <Chat />\n </>\n </ChatProvider>\n </DataManagerProvider>\n </FormModalNavigationProvider>\n </CTBSessionProvider>\n </AutoReloadOverlayBlockerProvider>\n </Page.Protect>\n );\n};\n\nexport default App;\n"],"names":["ListView","lazy","App","formatMessage","useIntl","title","id","pluginId","defaultMessage","autoReload","useAppInfo","state","isAIEnabled","useAIAvailability","useGuidedTour","s","dispatch","useEffect","prefetchAIToken","tourType","currentTourType","tours","contentTypeBuilder","type","payload","tourName","_jsxs","Page","Protect","permissions","PERMISSIONS","main","_jsx","Title","AutoReloadOverlayBlockerProvider","CTBSessionProvider","FormModalNavigationProvider","DataManagerProvider","ExitPrompt","ChatProvider","_Fragment","FormModal","Layouts","Root","sideNav","ContentTypeBuilderNav","Suspense","fallback","Loading","Routes","Route","path","element","EmptyState","Chat"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAwBA,MAAMA,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../admin/src/pages/App/index.tsx"],"sourcesContent":["/* eslint-disable import/no-default-export */\n/* eslint-disable check-file/filename-naming-convention */\n/* eslint-disable check-file/no-index */\nimport { lazy, Suspense, useEffect } from 'react';\n\nimport { Page, Layouts, useAppInfo, useGuidedTour } from '@strapi/admin/strapi-admin';\nimport { useAIAvailability } from '@strapi/admin/strapi-admin/ee';\nimport { useIntl } from 'react-intl';\nimport { Route, Routes } from 'react-router-dom';\n\nimport { Chat } from '../../components/AIChat/Chat';\nimport { prefetchAIToken } from '../../components/AIChat/lib/aiClient';\nimport { ChatProvider } from '../../components/AIChat/providers/ChatProvider';\nimport { AutoReloadOverlayBlockerProvider } from '../../components/AutoReloadOverlayBlocker';\nimport { ContentTypeBuilderNav } from '../../components/ContentTypeBuilderNav/ContentTypeBuilderNav';\nimport { CTBSessionProvider } from '../../components/CTBSession/CTBSessionProvider';\nimport DataManagerProvider from '../../components/DataManager/DataManagerProvider';\nimport { ExitPrompt } from '../../components/ExitPrompt';\nimport { FormModal } from '../../components/FormModal/FormModal';\nimport { FormModalNavigationProvider } from '../../components/FormModalNavigation/FormModalNavigationProvider';\nimport { PERMISSIONS } from '../../constants';\nimport { pluginId } from '../../pluginId';\nimport { EmptyState } from '../ListView/EmptyState';\n\nconst ListView = lazy(() => import('../ListView/ListView'));\n\nconst App = () => {\n const { formatMessage } = useIntl();\n const title = formatMessage({\n id: `${pluginId}.plugin.name`,\n defaultMessage: 'Content Types Builder',\n });\n\n const autoReload = useAppInfo('DataManagerProvider', (state) => state.autoReload);\n const isAIEnabled = useAIAvailability();\n const state = useGuidedTour('ContentTypeBuilderApp', (s) => s.state);\n const dispatch = useGuidedTour('ContentTypeBuilderApp', (s) => s.dispatch);\n\n // Prefetch AI token on initial load\n useEffect(() => {\n prefetchAIToken();\n }, []);\n\n // Set tour type based on AI availability when the app loads\n useEffect(() => {\n const tourType = isAIEnabled ? 'ContentTypeBuilderAI' : 'ContentTypeBuilderNoAI';\n const currentTourType = state.tours.contentTypeBuilder.tourType;\n\n if (currentTourType !== tourType) {\n dispatch({\n type: 'set_tour_type',\n payload: { tourName: 'contentTypeBuilder', tourType },\n });\n }\n }, [isAIEnabled, state.tours.contentTypeBuilder.tourType, dispatch]);\n\n return (\n <Page.Protect permissions={PERMISSIONS.main}>\n <Page.Title>{title}</Page.Title>\n <AutoReloadOverlayBlockerProvider>\n <CTBSessionProvider>\n <FormModalNavigationProvider>\n <DataManagerProvider>\n <ExitPrompt />\n <ChatProvider>\n <>\n {autoReload && <FormModal />}\n <Layouts.Root sideNav={<ContentTypeBuilderNav />}>\n <Suspense fallback={<Page.Loading />}>\n <Routes>\n <Route path=\"content-types/create-content-type\" element={<EmptyState />} />\n <Route path=\"content-types/:contentTypeUid\" element={<ListView />} />\n <Route\n path={`component-categories/:categoryUid/:componentUid`}\n element={<ListView />}\n />\n <Route path=\"*\" element={<ListView />} />\n </Routes>\n </Suspense>\n </Layouts.Root>\n <Chat />\n </>\n </ChatProvider>\n </DataManagerProvider>\n </FormModalNavigationProvider>\n </CTBSessionProvider>\n </AutoReloadOverlayBlockerProvider>\n </Page.Protect>\n );\n};\n\nexport default App;\n"],"names":["ListView","lazy","App","formatMessage","useIntl","title","id","pluginId","defaultMessage","autoReload","useAppInfo","state","isAIEnabled","useAIAvailability","useGuidedTour","s","dispatch","useEffect","prefetchAIToken","tourType","currentTourType","tours","contentTypeBuilder","type","payload","tourName","_jsxs","Page","Protect","permissions","PERMISSIONS","main","_jsx","Title","AutoReloadOverlayBlockerProvider","CTBSessionProvider","FormModalNavigationProvider","DataManagerProvider","ExitPrompt","ChatProvider","_Fragment","FormModal","Layouts","Root","sideNav","ContentTypeBuilderNav","Suspense","fallback","Loading","Routes","Route","path","element","EmptyState","Chat"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../admin/src/pages/App/index.tsx"],"sourcesContent":["/* eslint-disable import/no-default-export */\n/* eslint-disable check-file/filename-naming-convention */\n/* eslint-disable check-file/no-index */\nimport { lazy, Suspense, useEffect } from 'react';\n\nimport { Page, Layouts, useAppInfo, useGuidedTour } from '@strapi/admin/strapi-admin';\nimport { useAIAvailability } from '@strapi/admin/strapi-admin/ee';\nimport { useIntl } from 'react-intl';\nimport { Route, Routes } from 'react-router-dom';\n\nimport { Chat } from '../../components/AIChat/Chat';\nimport { prefetchAIToken } from '../../components/AIChat/lib/aiClient';\nimport { ChatProvider } from '../../components/AIChat/providers/ChatProvider';\nimport { AutoReloadOverlayBlockerProvider } from '../../components/AutoReloadOverlayBlocker';\nimport { ContentTypeBuilderNav } from '../../components/ContentTypeBuilderNav/ContentTypeBuilderNav';\nimport { CTBSessionProvider } from '../../components/CTBSession/CTBSessionProvider';\nimport DataManagerProvider from '../../components/DataManager/DataManagerProvider';\nimport { ExitPrompt } from '../../components/ExitPrompt';\nimport { FormModal } from '../../components/FormModal/FormModal';\nimport { FormModalNavigationProvider } from '../../components/FormModalNavigation/FormModalNavigationProvider';\nimport { PERMISSIONS } from '../../constants';\nimport { pluginId } from '../../pluginId';\nimport { EmptyState } from '../ListView/EmptyState';\n\nconst ListView = lazy(() => import('../ListView/ListView'));\n\nconst App = () => {\n const { formatMessage } = useIntl();\n const title = formatMessage({\n id: `${pluginId}.plugin.name`,\n defaultMessage: 'Content Types Builder',\n });\n\n const autoReload = useAppInfo('DataManagerProvider', (state) => state.autoReload);\n const isAIEnabled = useAIAvailability();\n const state = useGuidedTour('ContentTypeBuilderApp', (s) => s.state);\n const dispatch = useGuidedTour('ContentTypeBuilderApp', (s) => s.dispatch);\n\n // Prefetch AI token on initial load\n useEffect(() => {\n prefetchAIToken();\n }, []);\n\n // Set tour type based on AI availability when the app loads\n useEffect(() => {\n const tourType = isAIEnabled ? 'ContentTypeBuilderAI' : 'ContentTypeBuilderNoAI';\n const currentTourType = state.tours.contentTypeBuilder.tourType;\n\n if (currentTourType !== tourType) {\n dispatch({\n type: 'set_tour_type',\n payload: { tourName: 'contentTypeBuilder', tourType },\n });\n }\n }, [isAIEnabled, state.tours.contentTypeBuilder.tourType, dispatch]);\n\n return (\n <Page.Protect permissions={PERMISSIONS.main}>\n <Page.Title>{title}</Page.Title>\n <AutoReloadOverlayBlockerProvider>\n <CTBSessionProvider>\n <FormModalNavigationProvider>\n <DataManagerProvider>\n <ExitPrompt />\n <ChatProvider>\n <>\n {autoReload && <FormModal />}\n <Layouts.Root sideNav={<ContentTypeBuilderNav />}>\n <Suspense fallback={<Page.Loading />}>\n <Routes>\n <Route path=\"content-types/create-content-type\" element={<EmptyState />} />\n <Route path=\"content-types/:contentTypeUid\" element={<ListView />} />\n <Route\n path={`component-categories/:categoryUid/:componentUid`}\n element={<ListView />}\n />\n <Route path=\"*\" element={<ListView />} />\n </Routes>\n </Suspense>\n </Layouts.Root>\n <Chat />\n </>\n </ChatProvider>\n </DataManagerProvider>\n </FormModalNavigationProvider>\n </CTBSessionProvider>\n </AutoReloadOverlayBlockerProvider>\n </Page.Protect>\n );\n};\n\nexport default App;\n"],"names":["ListView","lazy","App","formatMessage","useIntl","title","id","pluginId","defaultMessage","autoReload","useAppInfo","state","isAIEnabled","useAIAvailability","useGuidedTour","s","dispatch","useEffect","prefetchAIToken","tourType","currentTourType","tours","contentTypeBuilder","type","payload","tourName","_jsxs","Page","Protect","permissions","PERMISSIONS","main","_jsx","Title","AutoReloadOverlayBlockerProvider","CTBSessionProvider","FormModalNavigationProvider","DataManagerProvider","ExitPrompt","ChatProvider","_Fragment","FormModal","Layouts","Root","sideNav","ContentTypeBuilderNav","Suspense","fallback","Loading","Routes","Route","path","element","EmptyState","Chat"],"mappings":";;;;;;;;;;;;;;;;;;;;AAwBA,MAAMA,
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../admin/src/pages/App/index.tsx"],"sourcesContent":["/* eslint-disable import/no-default-export */\n/* eslint-disable check-file/filename-naming-convention */\n/* eslint-disable check-file/no-index */\nimport { lazy, Suspense, useEffect } from 'react';\n\nimport { Page, Layouts, useAppInfo, useGuidedTour } from '@strapi/admin/strapi-admin';\nimport { useAIAvailability } from '@strapi/admin/strapi-admin/ee';\nimport { useIntl } from 'react-intl';\nimport { Route, Routes } from 'react-router-dom';\n\nimport { Chat } from '../../components/AIChat/Chat';\nimport { prefetchAIToken } from '../../components/AIChat/lib/aiClient';\nimport { ChatProvider } from '../../components/AIChat/providers/ChatProvider';\nimport { AutoReloadOverlayBlockerProvider } from '../../components/AutoReloadOverlayBlocker';\nimport { ContentTypeBuilderNav } from '../../components/ContentTypeBuilderNav/ContentTypeBuilderNav';\nimport { CTBSessionProvider } from '../../components/CTBSession/CTBSessionProvider';\nimport DataManagerProvider from '../../components/DataManager/DataManagerProvider';\nimport { ExitPrompt } from '../../components/ExitPrompt';\nimport { FormModal } from '../../components/FormModal/FormModal';\nimport { FormModalNavigationProvider } from '../../components/FormModalNavigation/FormModalNavigationProvider';\nimport { PERMISSIONS } from '../../constants';\nimport { pluginId } from '../../pluginId';\nimport { EmptyState } from '../ListView/EmptyState';\n\nconst ListView = lazy(() => import('../ListView/ListView'));\n\nconst App = () => {\n const { formatMessage } = useIntl();\n const title = formatMessage({\n id: `${pluginId}.plugin.name`,\n defaultMessage: 'Content Types Builder',\n });\n\n const autoReload = useAppInfo('DataManagerProvider', (state) => state.autoReload);\n const isAIEnabled = useAIAvailability();\n const state = useGuidedTour('ContentTypeBuilderApp', (s) => s.state);\n const dispatch = useGuidedTour('ContentTypeBuilderApp', (s) => s.dispatch);\n\n // Prefetch AI token on initial load\n useEffect(() => {\n prefetchAIToken();\n }, []);\n\n // Set tour type based on AI availability when the app loads\n useEffect(() => {\n const tourType = isAIEnabled ? 'ContentTypeBuilderAI' : 'ContentTypeBuilderNoAI';\n const currentTourType = state.tours.contentTypeBuilder.tourType;\n\n if (currentTourType !== tourType) {\n dispatch({\n type: 'set_tour_type',\n payload: { tourName: 'contentTypeBuilder', tourType },\n });\n }\n }, [isAIEnabled, state.tours.contentTypeBuilder.tourType, dispatch]);\n\n return (\n <Page.Protect permissions={PERMISSIONS.main}>\n <Page.Title>{title}</Page.Title>\n <AutoReloadOverlayBlockerProvider>\n <CTBSessionProvider>\n <FormModalNavigationProvider>\n <DataManagerProvider>\n <ExitPrompt />\n <ChatProvider>\n <>\n {autoReload && <FormModal />}\n <Layouts.Root sideNav={<ContentTypeBuilderNav />}>\n <Suspense fallback={<Page.Loading />}>\n <Routes>\n <Route path=\"content-types/create-content-type\" element={<EmptyState />} />\n <Route path=\"content-types/:contentTypeUid\" element={<ListView />} />\n <Route\n path={`component-categories/:categoryUid/:componentUid`}\n element={<ListView />}\n />\n <Route path=\"*\" element={<ListView />} />\n </Routes>\n </Suspense>\n </Layouts.Root>\n <Chat />\n </>\n </ChatProvider>\n </DataManagerProvider>\n </FormModalNavigationProvider>\n </CTBSessionProvider>\n </AutoReloadOverlayBlockerProvider>\n </Page.Protect>\n );\n};\n\nexport default App;\n"],"names":["ListView","lazy","App","formatMessage","useIntl","title","id","pluginId","defaultMessage","autoReload","useAppInfo","state","isAIEnabled","useAIAvailability","useGuidedTour","s","dispatch","useEffect","prefetchAIToken","tourType","currentTourType","tours","contentTypeBuilder","type","payload","tourName","_jsxs","Page","Protect","permissions","PERMISSIONS","main","_jsx","Title","AutoReloadOverlayBlockerProvider","CTBSessionProvider","FormModalNavigationProvider","DataManagerProvider","ExitPrompt","ChatProvider","_Fragment","FormModal","Layouts","Root","sideNav","ContentTypeBuilderNav","Suspense","fallback","Loading","Routes","Route","path","element","EmptyState","Chat"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmptyState.js","sources":["../../../../admin/src/pages/ListView/EmptyState.tsx"],"sourcesContent":["import { tours } from '@strapi/admin/strapi-admin';\nimport { Button, Box, Flex, Typography } from '@strapi/design-system';\nimport { Sparkle, Paperclip } from '@strapi/icons';\nimport { EmptyDocuments } from '@strapi/icons/symbols';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { FigmaIcon } from '../../components/AIChat/components/icons/FigmaIcon';\nimport { useStrapiChat } from '../../components/AIChat/providers/ChatProvider';\nimport { useUploadProjectToChat } from '../../components/AIChat/UploadCodeModal';\nimport { useUploadFigmaToChat } from '../../components/AIChat/UploadFigmaModal';\nimport { getTrad } from '../../utils/getTrad';\n\n// Styled container that implements responsive behavior\nconst ResponsiveContainer = styled(Flex)`\n @container (max-width: 200px) {\n .hide-on-small {\n display: none;\n }\n }\n container-type: inline-size;\n`;\n\nexport const EmptyState = () => {\n const { formatMessage } = useIntl();\n\n const pluginName = formatMessage({\n id: getTrad('table.content.create-first-content-type.title'),\n defaultMessage: 'No content types',\n });\n\n const { isChatEnabled, openChat } = useStrapiChat();\n const { openCodeUpload } = useUploadProjectToChat();\n const { openFigmaUpload } = useUploadFigmaToChat();\n\n return (\n <ResponsiveContainer\n justifyContent=\"center\"\n height=\"100%\"\n width={'400px'}\n maxWidth=\"90%\"\n margin=\"auto\"\n direction=\"column\"\n gap={6}\n >\n <EmptyDocuments width=\"160px\" height=\"88px\" />\n <tours.contentTypeBuilder.Introduction>\n {/* Invisible Anchor */}\n <Box />\n </tours.contentTypeBuilder.Introduction>\n <Flex gap={2} alignItems=\"center\" direction=\"column\">\n <Typography variant=\"beta\" textAlign=\"center\">\n {pluginName}\n </Typography>\n <Typography variant=\"omega\" textAlign=\"center\" textColor=\"neutral600\">\n {formatMessage({\n id: getTrad('table.content.create-first-content-type.description'),\n defaultMessage:\n 'Create collection types, single types and components in order to build your schema.',\n })}\n </Typography>\n </Flex>\n\n {/* Chat is not available on small screens either way */}\n {isChatEnabled && (\n <Flex gap={2} direction=\"column\" className=\"hide-on-small\">\n <Button\n startIcon={<FigmaIcon />}\n variant=\"tertiary\"\n onClick={() => openFigmaUpload(true)}\n >\n {formatMessage({\n id: getTrad('table.content.create-first-content-type.import-figma'),\n defaultMessage: 'Import from Figma',\n })}\n </Button>\n <Button startIcon={<Paperclip />} variant=\"tertiary\" onClick={() => openCodeUpload(true)}>\n {formatMessage({\n id: getTrad('table.content.create-first-content-type.import-code'),\n defaultMessage: 'Import from computer',\n })}\n </Button>\n <Button startIcon={<Sparkle />} variant=\"tertiary\" onClick={openChat}>\n {formatMessage({\n id: getTrad('table.content.create-first-content-type.start-with-prompt'),\n defaultMessage: 'Start with a prompt',\n })}\n </Button>\n </Flex>\n )}\n </ResponsiveContainer>\n );\n};\n"],"names":["ResponsiveContainer","styled","Flex","EmptyState","formatMessage","useIntl","pluginName","id","getTrad","defaultMessage","isChatEnabled","openChat","useStrapiChat","openCodeUpload","useUploadProjectToChat","openFigmaUpload","useUploadFigmaToChat","_jsxs","justifyContent","height","width","maxWidth","margin","direction","gap","_jsx","EmptyDocuments","tours","contentTypeBuilder","Introduction","Box","alignItems","Typography","variant","textAlign","textColor","className","Button","startIcon","FigmaIcon","onClick","Paperclip","Sparkle"],"mappings":";;;;;;;;;;;;;;;AAaA;AACA,MAAMA,mBAAAA,GAAsBC,
|
|
1
|
+
{"version":3,"file":"EmptyState.js","sources":["../../../../admin/src/pages/ListView/EmptyState.tsx"],"sourcesContent":["import { tours } from '@strapi/admin/strapi-admin';\nimport { Button, Box, Flex, Typography } from '@strapi/design-system';\nimport { Sparkle, Paperclip } from '@strapi/icons';\nimport { EmptyDocuments } from '@strapi/icons/symbols';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { FigmaIcon } from '../../components/AIChat/components/icons/FigmaIcon';\nimport { useStrapiChat } from '../../components/AIChat/providers/ChatProvider';\nimport { useUploadProjectToChat } from '../../components/AIChat/UploadCodeModal';\nimport { useUploadFigmaToChat } from '../../components/AIChat/UploadFigmaModal';\nimport { getTrad } from '../../utils/getTrad';\n\n// Styled container that implements responsive behavior\nconst ResponsiveContainer = styled(Flex)`\n @container (max-width: 200px) {\n .hide-on-small {\n display: none;\n }\n }\n container-type: inline-size;\n`;\n\nexport const EmptyState = () => {\n const { formatMessage } = useIntl();\n\n const pluginName = formatMessage({\n id: getTrad('table.content.create-first-content-type.title'),\n defaultMessage: 'No content types',\n });\n\n const { isChatEnabled, openChat } = useStrapiChat();\n const { openCodeUpload } = useUploadProjectToChat();\n const { openFigmaUpload } = useUploadFigmaToChat();\n\n return (\n <ResponsiveContainer\n justifyContent=\"center\"\n height=\"100%\"\n width={'400px'}\n maxWidth=\"90%\"\n margin=\"auto\"\n direction=\"column\"\n gap={6}\n >\n <EmptyDocuments width=\"160px\" height=\"88px\" />\n <tours.contentTypeBuilder.Introduction>\n {/* Invisible Anchor */}\n <Box />\n </tours.contentTypeBuilder.Introduction>\n <Flex gap={2} alignItems=\"center\" direction=\"column\">\n <Typography variant=\"beta\" textAlign=\"center\">\n {pluginName}\n </Typography>\n <Typography variant=\"omega\" textAlign=\"center\" textColor=\"neutral600\">\n {formatMessage({\n id: getTrad('table.content.create-first-content-type.description'),\n defaultMessage:\n 'Create collection types, single types and components in order to build your schema.',\n })}\n </Typography>\n </Flex>\n\n {/* Chat is not available on small screens either way */}\n {isChatEnabled && (\n <Flex gap={2} direction=\"column\" className=\"hide-on-small\">\n <Button\n startIcon={<FigmaIcon />}\n variant=\"tertiary\"\n onClick={() => openFigmaUpload(true)}\n >\n {formatMessage({\n id: getTrad('table.content.create-first-content-type.import-figma'),\n defaultMessage: 'Import from Figma',\n })}\n </Button>\n <Button startIcon={<Paperclip />} variant=\"tertiary\" onClick={() => openCodeUpload(true)}>\n {formatMessage({\n id: getTrad('table.content.create-first-content-type.import-code'),\n defaultMessage: 'Import from computer',\n })}\n </Button>\n <Button startIcon={<Sparkle />} variant=\"tertiary\" onClick={openChat}>\n {formatMessage({\n id: getTrad('table.content.create-first-content-type.start-with-prompt'),\n defaultMessage: 'Start with a prompt',\n })}\n </Button>\n </Flex>\n )}\n </ResponsiveContainer>\n );\n};\n"],"names":["ResponsiveContainer","styled","Flex","EmptyState","formatMessage","useIntl","pluginName","id","getTrad","defaultMessage","isChatEnabled","openChat","useStrapiChat","openCodeUpload","useUploadProjectToChat","openFigmaUpload","useUploadFigmaToChat","_jsxs","justifyContent","height","width","maxWidth","margin","direction","gap","_jsx","EmptyDocuments","tours","contentTypeBuilder","Introduction","Box","alignItems","Typography","variant","textAlign","textColor","className","Button","startIcon","FigmaIcon","onClick","Paperclip","Sparkle"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { tours } from '@strapi/admin/strapi-admin';
|
|
3
|
-
import {
|
|
3
|
+
import { Box, Flex, Typography, Button } from '@strapi/design-system';
|
|
4
4
|
import { Paperclip, Sparkle } from '@strapi/icons';
|
|
5
5
|
import { EmptyDocuments } from '@strapi/icons/symbols';
|
|
6
6
|
import { useIntl } from 'react-intl';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmptyState.mjs","sources":["../../../../admin/src/pages/ListView/EmptyState.tsx"],"sourcesContent":["import { tours } from '@strapi/admin/strapi-admin';\nimport { Button, Box, Flex, Typography } from '@strapi/design-system';\nimport { Sparkle, Paperclip } from '@strapi/icons';\nimport { EmptyDocuments } from '@strapi/icons/symbols';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { FigmaIcon } from '../../components/AIChat/components/icons/FigmaIcon';\nimport { useStrapiChat } from '../../components/AIChat/providers/ChatProvider';\nimport { useUploadProjectToChat } from '../../components/AIChat/UploadCodeModal';\nimport { useUploadFigmaToChat } from '../../components/AIChat/UploadFigmaModal';\nimport { getTrad } from '../../utils/getTrad';\n\n// Styled container that implements responsive behavior\nconst ResponsiveContainer = styled(Flex)`\n @container (max-width: 200px) {\n .hide-on-small {\n display: none;\n }\n }\n container-type: inline-size;\n`;\n\nexport const EmptyState = () => {\n const { formatMessage } = useIntl();\n\n const pluginName = formatMessage({\n id: getTrad('table.content.create-first-content-type.title'),\n defaultMessage: 'No content types',\n });\n\n const { isChatEnabled, openChat } = useStrapiChat();\n const { openCodeUpload } = useUploadProjectToChat();\n const { openFigmaUpload } = useUploadFigmaToChat();\n\n return (\n <ResponsiveContainer\n justifyContent=\"center\"\n height=\"100%\"\n width={'400px'}\n maxWidth=\"90%\"\n margin=\"auto\"\n direction=\"column\"\n gap={6}\n >\n <EmptyDocuments width=\"160px\" height=\"88px\" />\n <tours.contentTypeBuilder.Introduction>\n {/* Invisible Anchor */}\n <Box />\n </tours.contentTypeBuilder.Introduction>\n <Flex gap={2} alignItems=\"center\" direction=\"column\">\n <Typography variant=\"beta\" textAlign=\"center\">\n {pluginName}\n </Typography>\n <Typography variant=\"omega\" textAlign=\"center\" textColor=\"neutral600\">\n {formatMessage({\n id: getTrad('table.content.create-first-content-type.description'),\n defaultMessage:\n 'Create collection types, single types and components in order to build your schema.',\n })}\n </Typography>\n </Flex>\n\n {/* Chat is not available on small screens either way */}\n {isChatEnabled && (\n <Flex gap={2} direction=\"column\" className=\"hide-on-small\">\n <Button\n startIcon={<FigmaIcon />}\n variant=\"tertiary\"\n onClick={() => openFigmaUpload(true)}\n >\n {formatMessage({\n id: getTrad('table.content.create-first-content-type.import-figma'),\n defaultMessage: 'Import from Figma',\n })}\n </Button>\n <Button startIcon={<Paperclip />} variant=\"tertiary\" onClick={() => openCodeUpload(true)}>\n {formatMessage({\n id: getTrad('table.content.create-first-content-type.import-code'),\n defaultMessage: 'Import from computer',\n })}\n </Button>\n <Button startIcon={<Sparkle />} variant=\"tertiary\" onClick={openChat}>\n {formatMessage({\n id: getTrad('table.content.create-first-content-type.start-with-prompt'),\n defaultMessage: 'Start with a prompt',\n })}\n </Button>\n </Flex>\n )}\n </ResponsiveContainer>\n );\n};\n"],"names":["ResponsiveContainer","styled","Flex","EmptyState","formatMessage","useIntl","pluginName","id","getTrad","defaultMessage","isChatEnabled","openChat","useStrapiChat","openCodeUpload","useUploadProjectToChat","openFigmaUpload","useUploadFigmaToChat","_jsxs","justifyContent","height","width","maxWidth","margin","direction","gap","_jsx","EmptyDocuments","tours","contentTypeBuilder","Introduction","Box","alignItems","Typography","variant","textAlign","textColor","className","Button","startIcon","FigmaIcon","onClick","Paperclip","Sparkle"],"mappings":";;;;;;;;;;;;;AAaA;AACA,MAAMA,mBAAAA,GAAsBC,
|
|
1
|
+
{"version":3,"file":"EmptyState.mjs","sources":["../../../../admin/src/pages/ListView/EmptyState.tsx"],"sourcesContent":["import { tours } from '@strapi/admin/strapi-admin';\nimport { Button, Box, Flex, Typography } from '@strapi/design-system';\nimport { Sparkle, Paperclip } from '@strapi/icons';\nimport { EmptyDocuments } from '@strapi/icons/symbols';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { FigmaIcon } from '../../components/AIChat/components/icons/FigmaIcon';\nimport { useStrapiChat } from '../../components/AIChat/providers/ChatProvider';\nimport { useUploadProjectToChat } from '../../components/AIChat/UploadCodeModal';\nimport { useUploadFigmaToChat } from '../../components/AIChat/UploadFigmaModal';\nimport { getTrad } from '../../utils/getTrad';\n\n// Styled container that implements responsive behavior\nconst ResponsiveContainer = styled(Flex)`\n @container (max-width: 200px) {\n .hide-on-small {\n display: none;\n }\n }\n container-type: inline-size;\n`;\n\nexport const EmptyState = () => {\n const { formatMessage } = useIntl();\n\n const pluginName = formatMessage({\n id: getTrad('table.content.create-first-content-type.title'),\n defaultMessage: 'No content types',\n });\n\n const { isChatEnabled, openChat } = useStrapiChat();\n const { openCodeUpload } = useUploadProjectToChat();\n const { openFigmaUpload } = useUploadFigmaToChat();\n\n return (\n <ResponsiveContainer\n justifyContent=\"center\"\n height=\"100%\"\n width={'400px'}\n maxWidth=\"90%\"\n margin=\"auto\"\n direction=\"column\"\n gap={6}\n >\n <EmptyDocuments width=\"160px\" height=\"88px\" />\n <tours.contentTypeBuilder.Introduction>\n {/* Invisible Anchor */}\n <Box />\n </tours.contentTypeBuilder.Introduction>\n <Flex gap={2} alignItems=\"center\" direction=\"column\">\n <Typography variant=\"beta\" textAlign=\"center\">\n {pluginName}\n </Typography>\n <Typography variant=\"omega\" textAlign=\"center\" textColor=\"neutral600\">\n {formatMessage({\n id: getTrad('table.content.create-first-content-type.description'),\n defaultMessage:\n 'Create collection types, single types and components in order to build your schema.',\n })}\n </Typography>\n </Flex>\n\n {/* Chat is not available on small screens either way */}\n {isChatEnabled && (\n <Flex gap={2} direction=\"column\" className=\"hide-on-small\">\n <Button\n startIcon={<FigmaIcon />}\n variant=\"tertiary\"\n onClick={() => openFigmaUpload(true)}\n >\n {formatMessage({\n id: getTrad('table.content.create-first-content-type.import-figma'),\n defaultMessage: 'Import from Figma',\n })}\n </Button>\n <Button startIcon={<Paperclip />} variant=\"tertiary\" onClick={() => openCodeUpload(true)}>\n {formatMessage({\n id: getTrad('table.content.create-first-content-type.import-code'),\n defaultMessage: 'Import from computer',\n })}\n </Button>\n <Button startIcon={<Sparkle />} variant=\"tertiary\" onClick={openChat}>\n {formatMessage({\n id: getTrad('table.content.create-first-content-type.start-with-prompt'),\n defaultMessage: 'Start with a prompt',\n })}\n </Button>\n </Flex>\n )}\n </ResponsiveContainer>\n );\n};\n"],"names":["ResponsiveContainer","styled","Flex","EmptyState","formatMessage","useIntl","pluginName","id","getTrad","defaultMessage","isChatEnabled","openChat","useStrapiChat","openCodeUpload","useUploadProjectToChat","openFigmaUpload","useUploadFigmaToChat","_jsxs","justifyContent","height","width","maxWidth","margin","direction","gap","_jsx","EmptyDocuments","tours","contentTypeBuilder","Introduction","Box","alignItems","Typography","variant","textAlign","textColor","className","Button","startIcon","FigmaIcon","onClick","Paperclip","Sparkle"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinkToCMSettingsView.js","sources":["../../../../admin/src/pages/ListView/LinkToCMSettingsView.tsx"],"sourcesContent":["import { memo } from 'react';\n\nimport { type Permission, useRBAC } from '@strapi/admin/strapi-admin';\nimport { Button } from '@strapi/design-system';\nimport { ListPlus } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { useNavigate } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport type { Component, ContentType } from '../../types';\n\nconst cmPermissions: Record<string, Permission[]> = {\n collectionTypesConfigurations: [\n {\n action: 'plugin::content-manager.collection-types.configure-view',\n subject: null,\n },\n ],\n componentsConfigurations: [\n {\n action: 'plugin::content-manager.components.configure-layout',\n subject: null,\n },\n ],\n singleTypesConfigurations: [\n {\n action: 'plugin::content-manager.single-types.configure-view',\n subject: null,\n },\n ],\n};\n\nconst getPermission = (type: Component | ContentType) => {\n if (type.modelType === 'contentType') {\n if (type.kind === 'singleType') {\n return cmPermissions.singleTypesConfigurations;\n }\n\n return cmPermissions.collectionTypesConfigurations;\n }\n\n return cmPermissions.componentsConfigurations;\n};\n\ninterface LinkToCMSettingsViewProps {\n disabled: boolean;\n type: Component | ContentType;\n}\n\nconst getLink = (type: Component | ContentType) => {\n switch (type.modelType) {\n case 'contentType':\n switch (type.kind) {\n case 'singleType':\n return `/content-manager/single-types/${type.uid}/configurations/edit`;\n case 'collectionType':\n return `/content-manager/collection-types/${type.uid}/configurations/edit`;\n }\n case 'component':\n return `/content-manager/components/${type.uid}/configurations/edit`;\n }\n};\n\nconst StyledButton = styled(Button)`\n white-space: nowrap;\n`;\n\nexport const LinkToCMSettingsView = memo(({ disabled, type }: LinkToCMSettingsViewProps) => {\n const { formatMessage } = useIntl();\n const navigate = useNavigate();\n const permissionsToApply = getPermission(type);\n\n const label = formatMessage({\n id: 'content-type-builder.form.button.configure-view',\n defaultMessage: 'Configure the view',\n });\n\n const handleClick = () => {\n if (disabled) {\n return false;\n }\n\n const link = getLink(type);\n\n navigate(link);\n\n return false;\n };\n\n const { isLoading, allowedActions } = useRBAC(permissionsToApply);\n\n if (isLoading) {\n return null;\n }\n\n if (!allowedActions.canConfigureView && !allowedActions.canConfigureLayout) {\n return null;\n }\n\n return (\n <StyledButton\n startIcon={<ListPlus />}\n variant=\"tertiary\"\n onClick={handleClick}\n disabled={disabled}\n >\n {label}\n </StyledButton>\n );\n});\n"],"names":["cmPermissions","collectionTypesConfigurations","action","subject","componentsConfigurations","singleTypesConfigurations","getPermission","type","modelType","kind","getLink","uid","StyledButton","styled","Button","LinkToCMSettingsView","memo","disabled","formatMessage","useIntl","navigate","useNavigate","permissionsToApply","label","id","defaultMessage","handleClick","link","isLoading","allowedActions","useRBAC","canConfigureView","canConfigureLayout","_jsx","startIcon","ListPlus","variant","onClick"],"mappings":";;;;;;;;;;;AAWA,MAAMA,
|
|
1
|
+
{"version":3,"file":"LinkToCMSettingsView.js","sources":["../../../../admin/src/pages/ListView/LinkToCMSettingsView.tsx"],"sourcesContent":["import { memo } from 'react';\n\nimport { type Permission, useRBAC } from '@strapi/admin/strapi-admin';\nimport { Button } from '@strapi/design-system';\nimport { ListPlus } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { useNavigate } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport type { Component, ContentType } from '../../types';\n\nconst cmPermissions: Record<string, Permission[]> = {\n collectionTypesConfigurations: [\n {\n action: 'plugin::content-manager.collection-types.configure-view',\n subject: null,\n },\n ],\n componentsConfigurations: [\n {\n action: 'plugin::content-manager.components.configure-layout',\n subject: null,\n },\n ],\n singleTypesConfigurations: [\n {\n action: 'plugin::content-manager.single-types.configure-view',\n subject: null,\n },\n ],\n};\n\nconst getPermission = (type: Component | ContentType) => {\n if (type.modelType === 'contentType') {\n if (type.kind === 'singleType') {\n return cmPermissions.singleTypesConfigurations;\n }\n\n return cmPermissions.collectionTypesConfigurations;\n }\n\n return cmPermissions.componentsConfigurations;\n};\n\ninterface LinkToCMSettingsViewProps {\n disabled: boolean;\n type: Component | ContentType;\n}\n\nconst getLink = (type: Component | ContentType) => {\n switch (type.modelType) {\n case 'contentType':\n switch (type.kind) {\n case 'singleType':\n return `/content-manager/single-types/${type.uid}/configurations/edit`;\n case 'collectionType':\n return `/content-manager/collection-types/${type.uid}/configurations/edit`;\n }\n case 'component':\n return `/content-manager/components/${type.uid}/configurations/edit`;\n }\n};\n\nconst StyledButton = styled(Button)`\n white-space: nowrap;\n`;\n\nexport const LinkToCMSettingsView = memo(({ disabled, type }: LinkToCMSettingsViewProps) => {\n const { formatMessage } = useIntl();\n const navigate = useNavigate();\n const permissionsToApply = getPermission(type);\n\n const label = formatMessage({\n id: 'content-type-builder.form.button.configure-view',\n defaultMessage: 'Configure the view',\n });\n\n const handleClick = () => {\n if (disabled) {\n return false;\n }\n\n const link = getLink(type);\n\n navigate(link);\n\n return false;\n };\n\n const { isLoading, allowedActions } = useRBAC(permissionsToApply);\n\n if (isLoading) {\n return null;\n }\n\n if (!allowedActions.canConfigureView && !allowedActions.canConfigureLayout) {\n return null;\n }\n\n return (\n <StyledButton\n startIcon={<ListPlus />}\n variant=\"tertiary\"\n onClick={handleClick}\n disabled={disabled}\n >\n {label}\n </StyledButton>\n );\n});\n"],"names":["cmPermissions","collectionTypesConfigurations","action","subject","componentsConfigurations","singleTypesConfigurations","getPermission","type","modelType","kind","getLink","uid","StyledButton","styled","Button","LinkToCMSettingsView","memo","disabled","formatMessage","useIntl","navigate","useNavigate","permissionsToApply","label","id","defaultMessage","handleClick","link","isLoading","allowedActions","useRBAC","canConfigureView","canConfigureLayout","_jsx","startIcon","ListPlus","variant","onClick"],"mappings":";;;;;;;;;;;AAWA,MAAMA,aAAAA,GAA8C;IAClDC,6BAAAA,EAA+B;AAC7B,QAAA;YACEC,MAAAA,EAAQ,yDAAA;YACRC,OAAAA,EAAS;AACX;AACD,KAAA;IACDC,wBAAAA,EAA0B;AACxB,QAAA;YACEF,MAAAA,EAAQ,qDAAA;YACRC,OAAAA,EAAS;AACX;AACD,KAAA;IACDE,yBAAAA,EAA2B;AACzB,QAAA;YACEH,MAAAA,EAAQ,qDAAA;YACRC,OAAAA,EAAS;AACX;AACD;AACH,CAAA;AAEA,MAAMG,gBAAgB,CAACC,IAAAA,GAAAA;IACrB,IAAIA,IAAAA,CAAKC,SAAS,KAAK,aAAA,EAAe;QACpC,IAAID,IAAAA,CAAKE,IAAI,KAAK,YAAA,EAAc;AAC9B,YAAA,OAAOT,cAAcK,yBAAyB;AAChD,QAAA;AAEA,QAAA,OAAOL,cAAcC,6BAA6B;AACpD,IAAA;AAEA,IAAA,OAAOD,cAAcI,wBAAwB;AAC/C,CAAA;AAOA,MAAMM,UAAU,CAACH,IAAAA,GAAAA;AACf,IAAA,OAAQA,KAAKC,SAAS;QACpB,KAAK,aAAA;AACH,YAAA,OAAQD,KAAKE,IAAI;gBACf,KAAK,YAAA;AACH,oBAAA,OAAO,CAAC,8BAA8B,EAAEF,KAAKI,GAAG,CAAC,oBAAoB,CAAC;gBACxE,KAAK,gBAAA;AACH,oBAAA,OAAO,CAAC,kCAAkC,EAAEJ,KAAKI,GAAG,CAAC,oBAAoB,CAAC;AAC9E;QACF,KAAK,WAAA;AACH,YAAA,OAAO,CAAC,4BAA4B,EAAEJ,KAAKI,GAAG,CAAC,oBAAoB,CAAC;AACxE;AACF,CAAA;AAEA,MAAMC,YAAAA,GAAeC,uBAAAA,CAAOC,mBAAAA,CAAO;;AAEnC,CAAC;AAEM,MAAMC,qCAAuBC,UAAAA,CAAK,CAAC,EAAEC,QAAQ,EAAEV,IAAI,EAA6B,GAAA;IACrF,MAAM,EAAEW,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;AAC1B,IAAA,MAAMC,QAAAA,GAAWC,0BAAAA,EAAAA;AACjB,IAAA,MAAMC,qBAAqBhB,aAAAA,CAAcC,IAAAA,CAAAA;AAEzC,IAAA,MAAMgB,QAAQL,aAAAA,CAAc;QAC1BM,EAAAA,EAAI,iDAAA;QACJC,cAAAA,EAAgB;AAClB,KAAA,CAAA;AAEA,IAAA,MAAMC,WAAAA,GAAc,IAAA;AAClB,QAAA,IAAIT,QAAAA,EAAU;YACZ,OAAO,KAAA;AACT,QAAA;AAEA,QAAA,MAAMU,OAAOjB,OAAAA,CAAQH,IAAAA,CAAAA;QAErBa,QAAAA,CAASO,IAAAA,CAAAA;QAET,OAAO,KAAA;AACT,IAAA,CAAA;AAEA,IAAA,MAAM,EAAEC,SAAS,EAAEC,cAAc,EAAE,GAAGC,mBAAAA,CAAQR,kBAAAA,CAAAA;AAE9C,IAAA,IAAIM,SAAAA,EAAW;QACb,OAAO,IAAA;AACT,IAAA;AAEA,IAAA,IAAI,CAACC,cAAAA,CAAeE,gBAAgB,IAAI,CAACF,cAAAA,CAAeG,kBAAkB,EAAE;QAC1E,OAAO,IAAA;AACT,IAAA;AAEA,IAAA,qBACEC,cAAA,CAACrB,YAAAA,EAAAA;AACCsB,QAAAA,SAAAA,gBAAWD,cAAA,CAACE,cAAAA,EAAAA,EAAAA,CAAAA;QACZC,OAAAA,EAAQ,UAAA;QACRC,OAAAA,EAASX,WAAAA;QACTT,QAAAA,EAAUA,QAAAA;AAETM,QAAAA,QAAAA,EAAAA;;AAGP,CAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinkToCMSettingsView.mjs","sources":["../../../../admin/src/pages/ListView/LinkToCMSettingsView.tsx"],"sourcesContent":["import { memo } from 'react';\n\nimport { type Permission, useRBAC } from '@strapi/admin/strapi-admin';\nimport { Button } from '@strapi/design-system';\nimport { ListPlus } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { useNavigate } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport type { Component, ContentType } from '../../types';\n\nconst cmPermissions: Record<string, Permission[]> = {\n collectionTypesConfigurations: [\n {\n action: 'plugin::content-manager.collection-types.configure-view',\n subject: null,\n },\n ],\n componentsConfigurations: [\n {\n action: 'plugin::content-manager.components.configure-layout',\n subject: null,\n },\n ],\n singleTypesConfigurations: [\n {\n action: 'plugin::content-manager.single-types.configure-view',\n subject: null,\n },\n ],\n};\n\nconst getPermission = (type: Component | ContentType) => {\n if (type.modelType === 'contentType') {\n if (type.kind === 'singleType') {\n return cmPermissions.singleTypesConfigurations;\n }\n\n return cmPermissions.collectionTypesConfigurations;\n }\n\n return cmPermissions.componentsConfigurations;\n};\n\ninterface LinkToCMSettingsViewProps {\n disabled: boolean;\n type: Component | ContentType;\n}\n\nconst getLink = (type: Component | ContentType) => {\n switch (type.modelType) {\n case 'contentType':\n switch (type.kind) {\n case 'singleType':\n return `/content-manager/single-types/${type.uid}/configurations/edit`;\n case 'collectionType':\n return `/content-manager/collection-types/${type.uid}/configurations/edit`;\n }\n case 'component':\n return `/content-manager/components/${type.uid}/configurations/edit`;\n }\n};\n\nconst StyledButton = styled(Button)`\n white-space: nowrap;\n`;\n\nexport const LinkToCMSettingsView = memo(({ disabled, type }: LinkToCMSettingsViewProps) => {\n const { formatMessage } = useIntl();\n const navigate = useNavigate();\n const permissionsToApply = getPermission(type);\n\n const label = formatMessage({\n id: 'content-type-builder.form.button.configure-view',\n defaultMessage: 'Configure the view',\n });\n\n const handleClick = () => {\n if (disabled) {\n return false;\n }\n\n const link = getLink(type);\n\n navigate(link);\n\n return false;\n };\n\n const { isLoading, allowedActions } = useRBAC(permissionsToApply);\n\n if (isLoading) {\n return null;\n }\n\n if (!allowedActions.canConfigureView && !allowedActions.canConfigureLayout) {\n return null;\n }\n\n return (\n <StyledButton\n startIcon={<ListPlus />}\n variant=\"tertiary\"\n onClick={handleClick}\n disabled={disabled}\n >\n {label}\n </StyledButton>\n );\n});\n"],"names":["cmPermissions","collectionTypesConfigurations","action","subject","componentsConfigurations","singleTypesConfigurations","getPermission","type","modelType","kind","getLink","uid","StyledButton","styled","Button","LinkToCMSettingsView","memo","disabled","formatMessage","useIntl","navigate","useNavigate","permissionsToApply","label","id","defaultMessage","handleClick","link","isLoading","allowedActions","useRBAC","canConfigureView","canConfigureLayout","_jsx","startIcon","ListPlus","variant","onClick"],"mappings":";;;;;;;;;AAWA,MAAMA,
|
|
1
|
+
{"version":3,"file":"LinkToCMSettingsView.mjs","sources":["../../../../admin/src/pages/ListView/LinkToCMSettingsView.tsx"],"sourcesContent":["import { memo } from 'react';\n\nimport { type Permission, useRBAC } from '@strapi/admin/strapi-admin';\nimport { Button } from '@strapi/design-system';\nimport { ListPlus } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { useNavigate } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport type { Component, ContentType } from '../../types';\n\nconst cmPermissions: Record<string, Permission[]> = {\n collectionTypesConfigurations: [\n {\n action: 'plugin::content-manager.collection-types.configure-view',\n subject: null,\n },\n ],\n componentsConfigurations: [\n {\n action: 'plugin::content-manager.components.configure-layout',\n subject: null,\n },\n ],\n singleTypesConfigurations: [\n {\n action: 'plugin::content-manager.single-types.configure-view',\n subject: null,\n },\n ],\n};\n\nconst getPermission = (type: Component | ContentType) => {\n if (type.modelType === 'contentType') {\n if (type.kind === 'singleType') {\n return cmPermissions.singleTypesConfigurations;\n }\n\n return cmPermissions.collectionTypesConfigurations;\n }\n\n return cmPermissions.componentsConfigurations;\n};\n\ninterface LinkToCMSettingsViewProps {\n disabled: boolean;\n type: Component | ContentType;\n}\n\nconst getLink = (type: Component | ContentType) => {\n switch (type.modelType) {\n case 'contentType':\n switch (type.kind) {\n case 'singleType':\n return `/content-manager/single-types/${type.uid}/configurations/edit`;\n case 'collectionType':\n return `/content-manager/collection-types/${type.uid}/configurations/edit`;\n }\n case 'component':\n return `/content-manager/components/${type.uid}/configurations/edit`;\n }\n};\n\nconst StyledButton = styled(Button)`\n white-space: nowrap;\n`;\n\nexport const LinkToCMSettingsView = memo(({ disabled, type }: LinkToCMSettingsViewProps) => {\n const { formatMessage } = useIntl();\n const navigate = useNavigate();\n const permissionsToApply = getPermission(type);\n\n const label = formatMessage({\n id: 'content-type-builder.form.button.configure-view',\n defaultMessage: 'Configure the view',\n });\n\n const handleClick = () => {\n if (disabled) {\n return false;\n }\n\n const link = getLink(type);\n\n navigate(link);\n\n return false;\n };\n\n const { isLoading, allowedActions } = useRBAC(permissionsToApply);\n\n if (isLoading) {\n return null;\n }\n\n if (!allowedActions.canConfigureView && !allowedActions.canConfigureLayout) {\n return null;\n }\n\n return (\n <StyledButton\n startIcon={<ListPlus />}\n variant=\"tertiary\"\n onClick={handleClick}\n disabled={disabled}\n >\n {label}\n </StyledButton>\n );\n});\n"],"names":["cmPermissions","collectionTypesConfigurations","action","subject","componentsConfigurations","singleTypesConfigurations","getPermission","type","modelType","kind","getLink","uid","StyledButton","styled","Button","LinkToCMSettingsView","memo","disabled","formatMessage","useIntl","navigate","useNavigate","permissionsToApply","label","id","defaultMessage","handleClick","link","isLoading","allowedActions","useRBAC","canConfigureView","canConfigureLayout","_jsx","startIcon","ListPlus","variant","onClick"],"mappings":";;;;;;;;;AAWA,MAAMA,aAAAA,GAA8C;IAClDC,6BAAAA,EAA+B;AAC7B,QAAA;YACEC,MAAAA,EAAQ,yDAAA;YACRC,OAAAA,EAAS;AACX;AACD,KAAA;IACDC,wBAAAA,EAA0B;AACxB,QAAA;YACEF,MAAAA,EAAQ,qDAAA;YACRC,OAAAA,EAAS;AACX;AACD,KAAA;IACDE,yBAAAA,EAA2B;AACzB,QAAA;YACEH,MAAAA,EAAQ,qDAAA;YACRC,OAAAA,EAAS;AACX;AACD;AACH,CAAA;AAEA,MAAMG,gBAAgB,CAACC,IAAAA,GAAAA;IACrB,IAAIA,IAAAA,CAAKC,SAAS,KAAK,aAAA,EAAe;QACpC,IAAID,IAAAA,CAAKE,IAAI,KAAK,YAAA,EAAc;AAC9B,YAAA,OAAOT,cAAcK,yBAAyB;AAChD,QAAA;AAEA,QAAA,OAAOL,cAAcC,6BAA6B;AACpD,IAAA;AAEA,IAAA,OAAOD,cAAcI,wBAAwB;AAC/C,CAAA;AAOA,MAAMM,UAAU,CAACH,IAAAA,GAAAA;AACf,IAAA,OAAQA,KAAKC,SAAS;QACpB,KAAK,aAAA;AACH,YAAA,OAAQD,KAAKE,IAAI;gBACf,KAAK,YAAA;AACH,oBAAA,OAAO,CAAC,8BAA8B,EAAEF,KAAKI,GAAG,CAAC,oBAAoB,CAAC;gBACxE,KAAK,gBAAA;AACH,oBAAA,OAAO,CAAC,kCAAkC,EAAEJ,KAAKI,GAAG,CAAC,oBAAoB,CAAC;AAC9E;QACF,KAAK,WAAA;AACH,YAAA,OAAO,CAAC,4BAA4B,EAAEJ,KAAKI,GAAG,CAAC,oBAAoB,CAAC;AACxE;AACF,CAAA;AAEA,MAAMC,YAAAA,GAAeC,MAAAA,CAAOC,MAAAA,CAAO;;AAEnC,CAAC;AAEM,MAAMC,qCAAuBC,IAAAA,CAAK,CAAC,EAAEC,QAAQ,EAAEV,IAAI,EAA6B,GAAA;IACrF,MAAM,EAAEW,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAC1B,IAAA,MAAMC,QAAAA,GAAWC,WAAAA,EAAAA;AACjB,IAAA,MAAMC,qBAAqBhB,aAAAA,CAAcC,IAAAA,CAAAA;AAEzC,IAAA,MAAMgB,QAAQL,aAAAA,CAAc;QAC1BM,EAAAA,EAAI,iDAAA;QACJC,cAAAA,EAAgB;AAClB,KAAA,CAAA;AAEA,IAAA,MAAMC,WAAAA,GAAc,IAAA;AAClB,QAAA,IAAIT,QAAAA,EAAU;YACZ,OAAO,KAAA;AACT,QAAA;AAEA,QAAA,MAAMU,OAAOjB,OAAAA,CAAQH,IAAAA,CAAAA;QAErBa,QAAAA,CAASO,IAAAA,CAAAA;QAET,OAAO,KAAA;AACT,IAAA,CAAA;AAEA,IAAA,MAAM,EAAEC,SAAS,EAAEC,cAAc,EAAE,GAAGC,OAAAA,CAAQR,kBAAAA,CAAAA;AAE9C,IAAA,IAAIM,SAAAA,EAAW;QACb,OAAO,IAAA;AACT,IAAA;AAEA,IAAA,IAAI,CAACC,cAAAA,CAAeE,gBAAgB,IAAI,CAACF,cAAAA,CAAeG,kBAAkB,EAAE;QAC1E,OAAO,IAAA;AACT,IAAA;AAEA,IAAA,qBACEC,GAAA,CAACrB,YAAAA,EAAAA;AACCsB,QAAAA,SAAAA,gBAAWD,GAAA,CAACE,QAAAA,EAAAA,EAAAA,CAAAA;QACZC,OAAAA,EAAQ,UAAA;QACRC,OAAAA,EAASX,WAAAA;QACTT,QAAAA,EAAUA,QAAAA;AAETM,QAAAA,QAAAA,EAAAA;;AAGP,CAAA;;;;"}
|