@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":"AutoReloadOverlayBlocker.js","sources":["../../../admin/src/components/AutoReloadOverlayBlocker.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Flex, Typography, Link } from '@strapi/design-system';\nimport { Clock, ArrowClockwise } from '@strapi/icons';\nimport { createPortal } from 'react-dom';\nimport { MessageDescriptor, useIntl } from 'react-intl';\nimport { styled, keyframes } from 'styled-components';\n\n/**\n * TODO: realistically a lot of this logic is isolated to the `core/admin` package.\n * However, we want to expose the `useAutoReloadOverlayBlocker` hook to the plugins.\n *\n * Therefore, in V5 we should move this logic back to the `core/admin` package & export\n * the hook from that package and re-export here. For now, let's keep it all together\n * because it's easier to diagnose and we're not using a million refs because we don't\n * understand what's going on.\n */\nexport interface AutoReloadOverlayBlockerConfig {\n title?: string;\n description?: string;\n icon?: 'reload' | 'time';\n}\n\n/* -------------------------------------------------------------------------------------------------\n * Context\n * -----------------------------------------------------------------------------------------------*/\n\nexport interface AutoReloadOverlayBlockerContextValue {\n lockAppWithAutoreload: (config?: AutoReloadOverlayBlockerConfig) => void;\n unlockAppWithAutoreload: () => void;\n}\n\nconst AutoReloadOverlayBlockerContext = React.createContext<AutoReloadOverlayBlockerContextValue>({\n lockAppWithAutoreload: () => {},\n unlockAppWithAutoreload: () => {},\n});\n\n/* -------------------------------------------------------------------------------------------------\n * Provider\n * -----------------------------------------------------------------------------------------------*/\n\nexport interface AutoReloadOverlayBlockerProviderProps {\n children: React.ReactNode;\n}\n\nconst MAX_ELAPSED_TIME = 300 * 1000;\n\nconst AutoReloadOverlayBlockerProvider = ({ children }: AutoReloadOverlayBlockerProviderProps) => {\n const [isOpen, setIsOpen] = React.useState(false);\n const [config, setConfig] = React.useState<AutoReloadOverlayBlockerConfig>({});\n const [failed, setFailed] = React.useState(false);\n\n const lockAppWithAutoreload = React.useCallback((config: AutoReloadOverlayBlockerConfig = {}) => {\n setIsOpen(true);\n setConfig(config);\n }, []);\n\n const unlockAppWithAutoreload = React.useCallback(() => {\n setIsOpen(false);\n setConfig({});\n }, []);\n\n // eslint-disable-next-line consistent-return\n React.useEffect(() => {\n if (isOpen) {\n const timeout = setTimeout(() => {\n setFailed(true);\n }, MAX_ELAPSED_TIME);\n\n return () => {\n clearTimeout(timeout);\n };\n }\n }, [isOpen]);\n\n let displayedIcon = config?.icon || 'reload';\n\n let description = {\n id: config?.description || 'components.OverlayBlocker.description',\n defaultMessage:\n \"You're using a feature that needs the server to restart. The page will reload automatically.\",\n };\n\n let title = {\n id: config?.title || 'components.OverlayBlocker.title',\n defaultMessage: 'Waiting for restart',\n };\n\n if (failed) {\n displayedIcon = 'time';\n\n description = {\n id: 'components.OverlayBlocker.description.serverError',\n defaultMessage: 'The server should have restarted, please check your logs in the terminal.',\n };\n\n title = {\n id: 'components.OverlayBlocker.title.serverError',\n defaultMessage: 'The restart is taking longer than expected',\n };\n }\n\n const autoReloadValue = React.useMemo(\n () => ({\n lockAppWithAutoreload,\n unlockAppWithAutoreload,\n }),\n [lockAppWithAutoreload, unlockAppWithAutoreload]\n );\n\n return (\n <AutoReloadOverlayBlockerContext.Provider value={autoReloadValue}>\n <Blocker\n displayedIcon={displayedIcon}\n isOpen={isOpen}\n description={description}\n title={title}\n />\n {children}\n </AutoReloadOverlayBlockerContext.Provider>\n );\n};\n\ninterface BlockerProps {\n displayedIcon: string;\n description: MessageDescriptor;\n isOpen: boolean;\n title: MessageDescriptor;\n}\n\nconst Blocker = ({ displayedIcon, description, title, isOpen }: BlockerProps) => {\n const { formatMessage } = useIntl();\n\n // eslint-disable-next-line no-undef\n return isOpen && globalThis?.document?.body\n ? createPortal(\n <Overlay id=\"autoReloadOverlayBlocker\" direction=\"column\" alignItems=\"center\" gap={6}>\n <Flex direction=\"column\" alignItems=\"center\" gap={2}>\n <Typography tag=\"h1\" variant=\"alpha\">\n {formatMessage(title)}\n </Typography>\n <Typography tag=\"h2\" textColor=\"neutral600\" fontSize={4} fontWeight=\"regular\">\n {formatMessage(description)}\n </Typography>\n </Flex>\n {displayedIcon === 'reload' && (\n <IconBox padding={6} background=\"primary100\" borderColor=\"primary200\">\n <LoaderReload width=\"4rem\" height=\"4rem\" />\n </IconBox>\n )}\n {displayedIcon === 'time' && (\n <IconBox padding={6} background=\"primary100\" borderColor=\"primary200\">\n <Clock width=\"4rem\" height=\"4rem\" />\n </IconBox>\n )}\n <Box marginTop={2}>\n <Link href=\"https://docs.strapi.io\" isExternal>\n {formatMessage({\n id: 'global.documentation',\n defaultMessage: 'Read the documentation',\n })}\n </Link>\n </Box>\n </Overlay>,\n // eslint-disable-next-line no-undef\n globalThis.document.body\n )\n : null;\n};\n\nconst rotation = keyframes`\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(359deg);\n }\n `;\n\nconst LoaderReload = styled(ArrowClockwise)`\n animation: ${rotation} 1s infinite linear;\n`;\n\nconst Overlay = styled(Flex)`\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n /* TODO: set this up in the theme for consistence z-index values */\n z-index: 1140;\n padding-top: 16rem;\n\n & > * {\n position: relative;\n z-index: 1;\n }\n\n &:before {\n content: '';\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: ${({ theme }) => theme.colors.neutral0};\n opacity: 0.9;\n }\n`;\n\nconst IconBox = styled(Box)`\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n svg {\n > path {\n fill: ${({ theme }) => theme.colors.primary600} !important;\n }\n }\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * Hook\n * -----------------------------------------------------------------------------------------------*/\n\nconst useAutoReloadOverlayBlocker = () => React.useContext(AutoReloadOverlayBlockerContext);\n\nexport { AutoReloadOverlayBlockerProvider, useAutoReloadOverlayBlocker };\n"],"names":["AutoReloadOverlayBlockerContext","React","createContext","lockAppWithAutoreload","unlockAppWithAutoreload","MAX_ELAPSED_TIME","AutoReloadOverlayBlockerProvider","children","isOpen","setIsOpen","useState","config","setConfig","failed","setFailed","useCallback","useEffect","timeout","setTimeout","clearTimeout","displayedIcon","icon","description","id","defaultMessage","title","autoReloadValue","useMemo","_jsxs","Provider","value","_jsx","Blocker","formatMessage","useIntl","globalThis","document","body","createPortal","Overlay","direction","alignItems","gap","Flex","Typography","tag","variant","textColor","fontSize","fontWeight","IconBox","padding","background","borderColor","LoaderReload","width","height","Clock","Box","marginTop","Link","href","isExternal","rotation","keyframes","styled","ArrowClockwise","theme","colors","neutral0","primary600","useAutoReloadOverlayBlocker","useContext"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AutoReloadOverlayBlocker.js","sources":["../../../admin/src/components/AutoReloadOverlayBlocker.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Flex, Typography, Link } from '@strapi/design-system';\nimport { Clock, ArrowClockwise } from '@strapi/icons';\nimport { createPortal } from 'react-dom';\nimport { MessageDescriptor, useIntl } from 'react-intl';\nimport { styled, keyframes } from 'styled-components';\n\n/**\n * TODO: realistically a lot of this logic is isolated to the `core/admin` package.\n * However, we want to expose the `useAutoReloadOverlayBlocker` hook to the plugins.\n *\n * Therefore, in V5 we should move this logic back to the `core/admin` package & export\n * the hook from that package and re-export here. For now, let's keep it all together\n * because it's easier to diagnose and we're not using a million refs because we don't\n * understand what's going on.\n */\nexport interface AutoReloadOverlayBlockerConfig {\n title?: string;\n description?: string;\n icon?: 'reload' | 'time';\n}\n\n/* -------------------------------------------------------------------------------------------------\n * Context\n * -----------------------------------------------------------------------------------------------*/\n\nexport interface AutoReloadOverlayBlockerContextValue {\n lockAppWithAutoreload: (config?: AutoReloadOverlayBlockerConfig) => void;\n unlockAppWithAutoreload: () => void;\n}\n\nconst AutoReloadOverlayBlockerContext = React.createContext<AutoReloadOverlayBlockerContextValue>({\n lockAppWithAutoreload: () => {},\n unlockAppWithAutoreload: () => {},\n});\n\n/* -------------------------------------------------------------------------------------------------\n * Provider\n * -----------------------------------------------------------------------------------------------*/\n\nexport interface AutoReloadOverlayBlockerProviderProps {\n children: React.ReactNode;\n}\n\nconst MAX_ELAPSED_TIME = 300 * 1000;\n\nconst AutoReloadOverlayBlockerProvider = ({ children }: AutoReloadOverlayBlockerProviderProps) => {\n const [isOpen, setIsOpen] = React.useState(false);\n const [config, setConfig] = React.useState<AutoReloadOverlayBlockerConfig>({});\n const [failed, setFailed] = React.useState(false);\n\n const lockAppWithAutoreload = React.useCallback((config: AutoReloadOverlayBlockerConfig = {}) => {\n setIsOpen(true);\n setConfig(config);\n }, []);\n\n const unlockAppWithAutoreload = React.useCallback(() => {\n setIsOpen(false);\n setConfig({});\n }, []);\n\n // eslint-disable-next-line consistent-return\n React.useEffect(() => {\n if (isOpen) {\n const timeout = setTimeout(() => {\n setFailed(true);\n }, MAX_ELAPSED_TIME);\n\n return () => {\n clearTimeout(timeout);\n };\n }\n }, [isOpen]);\n\n let displayedIcon = config?.icon || 'reload';\n\n let description = {\n id: config?.description || 'components.OverlayBlocker.description',\n defaultMessage:\n \"You're using a feature that needs the server to restart. The page will reload automatically.\",\n };\n\n let title = {\n id: config?.title || 'components.OverlayBlocker.title',\n defaultMessage: 'Waiting for restart',\n };\n\n if (failed) {\n displayedIcon = 'time';\n\n description = {\n id: 'components.OverlayBlocker.description.serverError',\n defaultMessage: 'The server should have restarted, please check your logs in the terminal.',\n };\n\n title = {\n id: 'components.OverlayBlocker.title.serverError',\n defaultMessage: 'The restart is taking longer than expected',\n };\n }\n\n const autoReloadValue = React.useMemo(\n () => ({\n lockAppWithAutoreload,\n unlockAppWithAutoreload,\n }),\n [lockAppWithAutoreload, unlockAppWithAutoreload]\n );\n\n return (\n <AutoReloadOverlayBlockerContext.Provider value={autoReloadValue}>\n <Blocker\n displayedIcon={displayedIcon}\n isOpen={isOpen}\n description={description}\n title={title}\n />\n {children}\n </AutoReloadOverlayBlockerContext.Provider>\n );\n};\n\ninterface BlockerProps {\n displayedIcon: string;\n description: MessageDescriptor;\n isOpen: boolean;\n title: MessageDescriptor;\n}\n\nconst Blocker = ({ displayedIcon, description, title, isOpen }: BlockerProps) => {\n const { formatMessage } = useIntl();\n\n // eslint-disable-next-line no-undef\n return isOpen && globalThis?.document?.body\n ? createPortal(\n <Overlay id=\"autoReloadOverlayBlocker\" direction=\"column\" alignItems=\"center\" gap={6}>\n <Flex direction=\"column\" alignItems=\"center\" gap={2}>\n <Typography tag=\"h1\" variant=\"alpha\">\n {formatMessage(title)}\n </Typography>\n <Typography tag=\"h2\" textColor=\"neutral600\" fontSize={4} fontWeight=\"regular\">\n {formatMessage(description)}\n </Typography>\n </Flex>\n {displayedIcon === 'reload' && (\n <IconBox padding={6} background=\"primary100\" borderColor=\"primary200\">\n <LoaderReload width=\"4rem\" height=\"4rem\" />\n </IconBox>\n )}\n {displayedIcon === 'time' && (\n <IconBox padding={6} background=\"primary100\" borderColor=\"primary200\">\n <Clock width=\"4rem\" height=\"4rem\" />\n </IconBox>\n )}\n <Box marginTop={2}>\n <Link href=\"https://docs.strapi.io\" isExternal>\n {formatMessage({\n id: 'global.documentation',\n defaultMessage: 'Read the documentation',\n })}\n </Link>\n </Box>\n </Overlay>,\n // eslint-disable-next-line no-undef\n globalThis.document.body\n )\n : null;\n};\n\nconst rotation = keyframes`\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(359deg);\n }\n `;\n\nconst LoaderReload = styled(ArrowClockwise)`\n animation: ${rotation} 1s infinite linear;\n`;\n\nconst Overlay = styled(Flex)`\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n /* TODO: set this up in the theme for consistence z-index values */\n z-index: 1140;\n padding-top: 16rem;\n\n & > * {\n position: relative;\n z-index: 1;\n }\n\n &:before {\n content: '';\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: ${({ theme }) => theme.colors.neutral0};\n opacity: 0.9;\n }\n`;\n\nconst IconBox = styled(Box)`\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n svg {\n > path {\n fill: ${({ theme }) => theme.colors.primary600} !important;\n }\n }\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * Hook\n * -----------------------------------------------------------------------------------------------*/\n\nconst useAutoReloadOverlayBlocker = () => React.useContext(AutoReloadOverlayBlockerContext);\n\nexport { AutoReloadOverlayBlockerProvider, useAutoReloadOverlayBlocker };\n"],"names":["AutoReloadOverlayBlockerContext","React","createContext","lockAppWithAutoreload","unlockAppWithAutoreload","MAX_ELAPSED_TIME","AutoReloadOverlayBlockerProvider","children","isOpen","setIsOpen","useState","config","setConfig","failed","setFailed","useCallback","useEffect","timeout","setTimeout","clearTimeout","displayedIcon","icon","description","id","defaultMessage","title","autoReloadValue","useMemo","_jsxs","Provider","value","_jsx","Blocker","formatMessage","useIntl","globalThis","document","body","createPortal","Overlay","direction","alignItems","gap","Flex","Typography","tag","variant","textColor","fontSize","fontWeight","IconBox","padding","background","borderColor","LoaderReload","width","height","Clock","Box","marginTop","Link","href","isExternal","rotation","keyframes","styled","ArrowClockwise","theme","colors","neutral0","primary600","useAutoReloadOverlayBlocker","useContext"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AutoReloadOverlayBlocker.mjs","sources":["../../../admin/src/components/AutoReloadOverlayBlocker.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Flex, Typography, Link } from '@strapi/design-system';\nimport { Clock, ArrowClockwise } from '@strapi/icons';\nimport { createPortal } from 'react-dom';\nimport { MessageDescriptor, useIntl } from 'react-intl';\nimport { styled, keyframes } from 'styled-components';\n\n/**\n * TODO: realistically a lot of this logic is isolated to the `core/admin` package.\n * However, we want to expose the `useAutoReloadOverlayBlocker` hook to the plugins.\n *\n * Therefore, in V5 we should move this logic back to the `core/admin` package & export\n * the hook from that package and re-export here. For now, let's keep it all together\n * because it's easier to diagnose and we're not using a million refs because we don't\n * understand what's going on.\n */\nexport interface AutoReloadOverlayBlockerConfig {\n title?: string;\n description?: string;\n icon?: 'reload' | 'time';\n}\n\n/* -------------------------------------------------------------------------------------------------\n * Context\n * -----------------------------------------------------------------------------------------------*/\n\nexport interface AutoReloadOverlayBlockerContextValue {\n lockAppWithAutoreload: (config?: AutoReloadOverlayBlockerConfig) => void;\n unlockAppWithAutoreload: () => void;\n}\n\nconst AutoReloadOverlayBlockerContext = React.createContext<AutoReloadOverlayBlockerContextValue>({\n lockAppWithAutoreload: () => {},\n unlockAppWithAutoreload: () => {},\n});\n\n/* -------------------------------------------------------------------------------------------------\n * Provider\n * -----------------------------------------------------------------------------------------------*/\n\nexport interface AutoReloadOverlayBlockerProviderProps {\n children: React.ReactNode;\n}\n\nconst MAX_ELAPSED_TIME = 300 * 1000;\n\nconst AutoReloadOverlayBlockerProvider = ({ children }: AutoReloadOverlayBlockerProviderProps) => {\n const [isOpen, setIsOpen] = React.useState(false);\n const [config, setConfig] = React.useState<AutoReloadOverlayBlockerConfig>({});\n const [failed, setFailed] = React.useState(false);\n\n const lockAppWithAutoreload = React.useCallback((config: AutoReloadOverlayBlockerConfig = {}) => {\n setIsOpen(true);\n setConfig(config);\n }, []);\n\n const unlockAppWithAutoreload = React.useCallback(() => {\n setIsOpen(false);\n setConfig({});\n }, []);\n\n // eslint-disable-next-line consistent-return\n React.useEffect(() => {\n if (isOpen) {\n const timeout = setTimeout(() => {\n setFailed(true);\n }, MAX_ELAPSED_TIME);\n\n return () => {\n clearTimeout(timeout);\n };\n }\n }, [isOpen]);\n\n let displayedIcon = config?.icon || 'reload';\n\n let description = {\n id: config?.description || 'components.OverlayBlocker.description',\n defaultMessage:\n \"You're using a feature that needs the server to restart. The page will reload automatically.\",\n };\n\n let title = {\n id: config?.title || 'components.OverlayBlocker.title',\n defaultMessage: 'Waiting for restart',\n };\n\n if (failed) {\n displayedIcon = 'time';\n\n description = {\n id: 'components.OverlayBlocker.description.serverError',\n defaultMessage: 'The server should have restarted, please check your logs in the terminal.',\n };\n\n title = {\n id: 'components.OverlayBlocker.title.serverError',\n defaultMessage: 'The restart is taking longer than expected',\n };\n }\n\n const autoReloadValue = React.useMemo(\n () => ({\n lockAppWithAutoreload,\n unlockAppWithAutoreload,\n }),\n [lockAppWithAutoreload, unlockAppWithAutoreload]\n );\n\n return (\n <AutoReloadOverlayBlockerContext.Provider value={autoReloadValue}>\n <Blocker\n displayedIcon={displayedIcon}\n isOpen={isOpen}\n description={description}\n title={title}\n />\n {children}\n </AutoReloadOverlayBlockerContext.Provider>\n );\n};\n\ninterface BlockerProps {\n displayedIcon: string;\n description: MessageDescriptor;\n isOpen: boolean;\n title: MessageDescriptor;\n}\n\nconst Blocker = ({ displayedIcon, description, title, isOpen }: BlockerProps) => {\n const { formatMessage } = useIntl();\n\n // eslint-disable-next-line no-undef\n return isOpen && globalThis?.document?.body\n ? createPortal(\n <Overlay id=\"autoReloadOverlayBlocker\" direction=\"column\" alignItems=\"center\" gap={6}>\n <Flex direction=\"column\" alignItems=\"center\" gap={2}>\n <Typography tag=\"h1\" variant=\"alpha\">\n {formatMessage(title)}\n </Typography>\n <Typography tag=\"h2\" textColor=\"neutral600\" fontSize={4} fontWeight=\"regular\">\n {formatMessage(description)}\n </Typography>\n </Flex>\n {displayedIcon === 'reload' && (\n <IconBox padding={6} background=\"primary100\" borderColor=\"primary200\">\n <LoaderReload width=\"4rem\" height=\"4rem\" />\n </IconBox>\n )}\n {displayedIcon === 'time' && (\n <IconBox padding={6} background=\"primary100\" borderColor=\"primary200\">\n <Clock width=\"4rem\" height=\"4rem\" />\n </IconBox>\n )}\n <Box marginTop={2}>\n <Link href=\"https://docs.strapi.io\" isExternal>\n {formatMessage({\n id: 'global.documentation',\n defaultMessage: 'Read the documentation',\n })}\n </Link>\n </Box>\n </Overlay>,\n // eslint-disable-next-line no-undef\n globalThis.document.body\n )\n : null;\n};\n\nconst rotation = keyframes`\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(359deg);\n }\n `;\n\nconst LoaderReload = styled(ArrowClockwise)`\n animation: ${rotation} 1s infinite linear;\n`;\n\nconst Overlay = styled(Flex)`\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n /* TODO: set this up in the theme for consistence z-index values */\n z-index: 1140;\n padding-top: 16rem;\n\n & > * {\n position: relative;\n z-index: 1;\n }\n\n &:before {\n content: '';\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: ${({ theme }) => theme.colors.neutral0};\n opacity: 0.9;\n }\n`;\n\nconst IconBox = styled(Box)`\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n svg {\n > path {\n fill: ${({ theme }) => theme.colors.primary600} !important;\n }\n }\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * Hook\n * -----------------------------------------------------------------------------------------------*/\n\nconst useAutoReloadOverlayBlocker = () => React.useContext(AutoReloadOverlayBlockerContext);\n\nexport { AutoReloadOverlayBlockerProvider, useAutoReloadOverlayBlocker };\n"],"names":["AutoReloadOverlayBlockerContext","React","createContext","lockAppWithAutoreload","unlockAppWithAutoreload","MAX_ELAPSED_TIME","AutoReloadOverlayBlockerProvider","children","isOpen","setIsOpen","useState","config","setConfig","failed","setFailed","useCallback","useEffect","timeout","setTimeout","clearTimeout","displayedIcon","icon","description","id","defaultMessage","title","autoReloadValue","useMemo","_jsxs","Provider","value","_jsx","Blocker","formatMessage","useIntl","globalThis","document","body","createPortal","Overlay","direction","alignItems","gap","Flex","Typography","tag","variant","textColor","fontSize","fontWeight","IconBox","padding","background","borderColor","LoaderReload","width","height","Clock","Box","marginTop","Link","href","isExternal","rotation","keyframes","styled","ArrowClockwise","theme","colors","neutral0","primary600","useAutoReloadOverlayBlocker","useContext"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AutoReloadOverlayBlocker.mjs","sources":["../../../admin/src/components/AutoReloadOverlayBlocker.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Flex, Typography, Link } from '@strapi/design-system';\nimport { Clock, ArrowClockwise } from '@strapi/icons';\nimport { createPortal } from 'react-dom';\nimport { MessageDescriptor, useIntl } from 'react-intl';\nimport { styled, keyframes } from 'styled-components';\n\n/**\n * TODO: realistically a lot of this logic is isolated to the `core/admin` package.\n * However, we want to expose the `useAutoReloadOverlayBlocker` hook to the plugins.\n *\n * Therefore, in V5 we should move this logic back to the `core/admin` package & export\n * the hook from that package and re-export here. For now, let's keep it all together\n * because it's easier to diagnose and we're not using a million refs because we don't\n * understand what's going on.\n */\nexport interface AutoReloadOverlayBlockerConfig {\n title?: string;\n description?: string;\n icon?: 'reload' | 'time';\n}\n\n/* -------------------------------------------------------------------------------------------------\n * Context\n * -----------------------------------------------------------------------------------------------*/\n\nexport interface AutoReloadOverlayBlockerContextValue {\n lockAppWithAutoreload: (config?: AutoReloadOverlayBlockerConfig) => void;\n unlockAppWithAutoreload: () => void;\n}\n\nconst AutoReloadOverlayBlockerContext = React.createContext<AutoReloadOverlayBlockerContextValue>({\n lockAppWithAutoreload: () => {},\n unlockAppWithAutoreload: () => {},\n});\n\n/* -------------------------------------------------------------------------------------------------\n * Provider\n * -----------------------------------------------------------------------------------------------*/\n\nexport interface AutoReloadOverlayBlockerProviderProps {\n children: React.ReactNode;\n}\n\nconst MAX_ELAPSED_TIME = 300 * 1000;\n\nconst AutoReloadOverlayBlockerProvider = ({ children }: AutoReloadOverlayBlockerProviderProps) => {\n const [isOpen, setIsOpen] = React.useState(false);\n const [config, setConfig] = React.useState<AutoReloadOverlayBlockerConfig>({});\n const [failed, setFailed] = React.useState(false);\n\n const lockAppWithAutoreload = React.useCallback((config: AutoReloadOverlayBlockerConfig = {}) => {\n setIsOpen(true);\n setConfig(config);\n }, []);\n\n const unlockAppWithAutoreload = React.useCallback(() => {\n setIsOpen(false);\n setConfig({});\n }, []);\n\n // eslint-disable-next-line consistent-return\n React.useEffect(() => {\n if (isOpen) {\n const timeout = setTimeout(() => {\n setFailed(true);\n }, MAX_ELAPSED_TIME);\n\n return () => {\n clearTimeout(timeout);\n };\n }\n }, [isOpen]);\n\n let displayedIcon = config?.icon || 'reload';\n\n let description = {\n id: config?.description || 'components.OverlayBlocker.description',\n defaultMessage:\n \"You're using a feature that needs the server to restart. The page will reload automatically.\",\n };\n\n let title = {\n id: config?.title || 'components.OverlayBlocker.title',\n defaultMessage: 'Waiting for restart',\n };\n\n if (failed) {\n displayedIcon = 'time';\n\n description = {\n id: 'components.OverlayBlocker.description.serverError',\n defaultMessage: 'The server should have restarted, please check your logs in the terminal.',\n };\n\n title = {\n id: 'components.OverlayBlocker.title.serverError',\n defaultMessage: 'The restart is taking longer than expected',\n };\n }\n\n const autoReloadValue = React.useMemo(\n () => ({\n lockAppWithAutoreload,\n unlockAppWithAutoreload,\n }),\n [lockAppWithAutoreload, unlockAppWithAutoreload]\n );\n\n return (\n <AutoReloadOverlayBlockerContext.Provider value={autoReloadValue}>\n <Blocker\n displayedIcon={displayedIcon}\n isOpen={isOpen}\n description={description}\n title={title}\n />\n {children}\n </AutoReloadOverlayBlockerContext.Provider>\n );\n};\n\ninterface BlockerProps {\n displayedIcon: string;\n description: MessageDescriptor;\n isOpen: boolean;\n title: MessageDescriptor;\n}\n\nconst Blocker = ({ displayedIcon, description, title, isOpen }: BlockerProps) => {\n const { formatMessage } = useIntl();\n\n // eslint-disable-next-line no-undef\n return isOpen && globalThis?.document?.body\n ? createPortal(\n <Overlay id=\"autoReloadOverlayBlocker\" direction=\"column\" alignItems=\"center\" gap={6}>\n <Flex direction=\"column\" alignItems=\"center\" gap={2}>\n <Typography tag=\"h1\" variant=\"alpha\">\n {formatMessage(title)}\n </Typography>\n <Typography tag=\"h2\" textColor=\"neutral600\" fontSize={4} fontWeight=\"regular\">\n {formatMessage(description)}\n </Typography>\n </Flex>\n {displayedIcon === 'reload' && (\n <IconBox padding={6} background=\"primary100\" borderColor=\"primary200\">\n <LoaderReload width=\"4rem\" height=\"4rem\" />\n </IconBox>\n )}\n {displayedIcon === 'time' && (\n <IconBox padding={6} background=\"primary100\" borderColor=\"primary200\">\n <Clock width=\"4rem\" height=\"4rem\" />\n </IconBox>\n )}\n <Box marginTop={2}>\n <Link href=\"https://docs.strapi.io\" isExternal>\n {formatMessage({\n id: 'global.documentation',\n defaultMessage: 'Read the documentation',\n })}\n </Link>\n </Box>\n </Overlay>,\n // eslint-disable-next-line no-undef\n globalThis.document.body\n )\n : null;\n};\n\nconst rotation = keyframes`\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(359deg);\n }\n `;\n\nconst LoaderReload = styled(ArrowClockwise)`\n animation: ${rotation} 1s infinite linear;\n`;\n\nconst Overlay = styled(Flex)`\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n /* TODO: set this up in the theme for consistence z-index values */\n z-index: 1140;\n padding-top: 16rem;\n\n & > * {\n position: relative;\n z-index: 1;\n }\n\n &:before {\n content: '';\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: ${({ theme }) => theme.colors.neutral0};\n opacity: 0.9;\n }\n`;\n\nconst IconBox = styled(Box)`\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n svg {\n > path {\n fill: ${({ theme }) => theme.colors.primary600} !important;\n }\n }\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * Hook\n * -----------------------------------------------------------------------------------------------*/\n\nconst useAutoReloadOverlayBlocker = () => React.useContext(AutoReloadOverlayBlockerContext);\n\nexport { AutoReloadOverlayBlockerProvider, useAutoReloadOverlayBlocker };\n"],"names":["AutoReloadOverlayBlockerContext","React","createContext","lockAppWithAutoreload","unlockAppWithAutoreload","MAX_ELAPSED_TIME","AutoReloadOverlayBlockerProvider","children","isOpen","setIsOpen","useState","config","setConfig","failed","setFailed","useCallback","useEffect","timeout","setTimeout","clearTimeout","displayedIcon","icon","description","id","defaultMessage","title","autoReloadValue","useMemo","_jsxs","Provider","value","_jsx","Blocker","formatMessage","useIntl","globalThis","document","body","createPortal","Overlay","direction","alignItems","gap","Flex","Typography","tag","variant","textColor","fontSize","fontWeight","IconBox","padding","background","borderColor","LoaderReload","width","height","Clock","Box","marginTop","Link","href","isExternal","rotation","keyframes","styled","ArrowClockwise","theme","colors","neutral0","primary600","useAutoReloadOverlayBlocker","useContext"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BooleanDefaultValueSelect.js","sources":["../../../admin/src/components/BooleanDefaultValueSelect.tsx"],"sourcesContent":["import { Field, SingleSelect, SingleSelectOption } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { IntlLabel } from '../types';\n\ninterface Metadata {\n intlLabel: IntlLabel;\n disabled?: boolean;\n hidden?: boolean;\n}\n\ninterface Option {\n metadatas: Metadata;\n key: string | number;\n value: string | number;\n}\n\ninterface BooleanDefaultValueSelectProps {\n intlLabel: IntlLabel;\n name: string;\n onChange: (value: any) => void;\n options: Option[];\n value?: any;\n}\n\nexport const BooleanDefaultValueSelect = ({\n intlLabel,\n name,\n options,\n onChange,\n value = null,\n}: BooleanDefaultValueSelectProps) => {\n const { formatMessage } = useIntl();\n const label = intlLabel.id\n ? formatMessage(\n { id: intlLabel.id, defaultMessage: intlLabel.defaultMessage },\n { ...intlLabel.values }\n )\n : name;\n\n const handleChange = (value: any) => {\n let nextValue: boolean | string = '';\n\n if (value === 'true') {\n nextValue = true;\n }\n\n if (value === 'false') {\n nextValue = false;\n }\n\n onChange({ target: { name, value: nextValue, type: 'select-default-boolean' } });\n };\n\n return (\n <Field.Root name={name}>\n <Field.Label>{label}</Field.Label>\n <SingleSelect onChange={handleChange} value={(value === null ? '' : value).toString()}>\n {options.map(({ metadatas: { intlLabel, disabled, hidden }, key, value }) => {\n return (\n <SingleSelectOption key={key} value={value} disabled={disabled} hidden={hidden}>\n {/* No need to translate the options */}\n {intlLabel.defaultMessage}\n </SingleSelectOption>\n );\n })}\n </SingleSelect>\n </Field.Root>\n );\n};\n"],"names":["BooleanDefaultValueSelect","intlLabel","name","options","onChange","value","formatMessage","useIntl","label","id","defaultMessage","values","handleChange","nextValue","target","type","_jsxs","Field","Root","_jsx","Label","SingleSelect","toString","map","metadatas","disabled","hidden","key","SingleSelectOption"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"BooleanDefaultValueSelect.js","sources":["../../../admin/src/components/BooleanDefaultValueSelect.tsx"],"sourcesContent":["import { Field, SingleSelect, SingleSelectOption } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { IntlLabel } from '../types';\n\ninterface Metadata {\n intlLabel: IntlLabel;\n disabled?: boolean;\n hidden?: boolean;\n}\n\ninterface Option {\n metadatas: Metadata;\n key: string | number;\n value: string | number;\n}\n\ninterface BooleanDefaultValueSelectProps {\n intlLabel: IntlLabel;\n name: string;\n onChange: (value: any) => void;\n options: Option[];\n value?: any;\n}\n\nexport const BooleanDefaultValueSelect = ({\n intlLabel,\n name,\n options,\n onChange,\n value = null,\n}: BooleanDefaultValueSelectProps) => {\n const { formatMessage } = useIntl();\n const label = intlLabel.id\n ? formatMessage(\n { id: intlLabel.id, defaultMessage: intlLabel.defaultMessage },\n { ...intlLabel.values }\n )\n : name;\n\n const handleChange = (value: any) => {\n let nextValue: boolean | string = '';\n\n if (value === 'true') {\n nextValue = true;\n }\n\n if (value === 'false') {\n nextValue = false;\n }\n\n onChange({ target: { name, value: nextValue, type: 'select-default-boolean' } });\n };\n\n return (\n <Field.Root name={name}>\n <Field.Label>{label}</Field.Label>\n <SingleSelect onChange={handleChange} value={(value === null ? '' : value).toString()}>\n {options.map(({ metadatas: { intlLabel, disabled, hidden }, key, value }) => {\n return (\n <SingleSelectOption key={key} value={value} disabled={disabled} hidden={hidden}>\n {/* No need to translate the options */}\n {intlLabel.defaultMessage}\n </SingleSelectOption>\n );\n })}\n </SingleSelect>\n </Field.Root>\n );\n};\n"],"names":["BooleanDefaultValueSelect","intlLabel","name","options","onChange","value","formatMessage","useIntl","label","id","defaultMessage","values","handleChange","nextValue","target","type","_jsxs","Field","Root","_jsx","Label","SingleSelect","toString","map","metadatas","disabled","hidden","key","SingleSelectOption"],"mappings":";;;;;;AAyBO,MAAMA,yBAAAA,GAA4B,CAAC,EACxCC,SAAS,EACTC,IAAI,EACJC,OAAO,EACPC,QAAQ,EACRC,KAAAA,GAAQ,IAAI,EACmB,GAAA;IAC/B,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;AAC1B,IAAA,MAAMC,KAAAA,GAAQP,SAAAA,CAAUQ,EAAE,GACtBH,aAAAA,CACE;AAAEG,QAAAA,EAAAA,EAAIR,UAAUQ,EAAE;AAAEC,QAAAA,cAAAA,EAAgBT,UAAUS;KAAe,EAC7D;AAAE,QAAA,GAAGT,UAAUU;KAAO,CAAA,GAExBT,IAAAA;AAEJ,IAAA,MAAMU,eAAe,CAACP,KAAAA,GAAAA;AACpB,QAAA,IAAIQ,SAAAA,GAA8B,EAAA;AAElC,QAAA,IAAIR,UAAU,MAAA,EAAQ;YACpBQ,SAAAA,GAAY,IAAA;AACd,QAAA;AAEA,QAAA,IAAIR,UAAU,OAAA,EAAS;YACrBQ,SAAAA,GAAY,KAAA;AACd,QAAA;QAEAT,QAAAA,CAAS;YAAEU,MAAAA,EAAQ;AAAEZ,gBAAAA,IAAAA;gBAAMG,KAAAA,EAAOQ,SAAAA;gBAAWE,IAAAA,EAAM;AAAyB;AAAE,SAAA,CAAA;AAChF,IAAA,CAAA;IAEA,qBACEC,eAAA,CAACC,mBAAMC,IAAI,EAAA;QAAChB,IAAAA,EAAMA,IAAAA;;AAChB,0BAAAiB,cAAA,CAACF,mBAAMG,KAAK,EAAA;AAAEZ,gBAAAA,QAAAA,EAAAA;;0BACdW,cAAA,CAACE,yBAAAA,EAAAA;gBAAajB,QAAAA,EAAUQ,YAAAA;AAAcP,gBAAAA,KAAAA,EAAO,CAACA,KAAAA,KAAU,OAAO,EAAA,GAAKA,KAAI,EAAGiB,QAAQ,EAAA;AAChFnB,gBAAAA,QAAAA,EAAAA,OAAAA,CAAQoB,GAAG,CAAC,CAAC,EAAEC,SAAAA,EAAW,EAAEvB,SAAS,EAAEwB,QAAQ,EAAEC,MAAM,EAAE,EAAEC,GAAG,EAAEtB,KAAK,EAAE,GAAA;AACtE,oBAAA,qBACEc,cAAA,CAACS,+BAAAA,EAAAA;wBAA6BvB,KAAAA,EAAOA,KAAAA;wBAAOoB,QAAAA,EAAUA,QAAAA;wBAAUC,MAAAA,EAAQA,MAAAA;AAErEzB,wBAAAA,QAAAA,EAAAA,SAAAA,CAAUS;AAFYiB,qBAAAA,EAAAA,GAAAA,CAAAA;AAK7B,gBAAA,CAAA;;;;AAIR;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BooleanDefaultValueSelect.mjs","sources":["../../../admin/src/components/BooleanDefaultValueSelect.tsx"],"sourcesContent":["import { Field, SingleSelect, SingleSelectOption } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { IntlLabel } from '../types';\n\ninterface Metadata {\n intlLabel: IntlLabel;\n disabled?: boolean;\n hidden?: boolean;\n}\n\ninterface Option {\n metadatas: Metadata;\n key: string | number;\n value: string | number;\n}\n\ninterface BooleanDefaultValueSelectProps {\n intlLabel: IntlLabel;\n name: string;\n onChange: (value: any) => void;\n options: Option[];\n value?: any;\n}\n\nexport const BooleanDefaultValueSelect = ({\n intlLabel,\n name,\n options,\n onChange,\n value = null,\n}: BooleanDefaultValueSelectProps) => {\n const { formatMessage } = useIntl();\n const label = intlLabel.id\n ? formatMessage(\n { id: intlLabel.id, defaultMessage: intlLabel.defaultMessage },\n { ...intlLabel.values }\n )\n : name;\n\n const handleChange = (value: any) => {\n let nextValue: boolean | string = '';\n\n if (value === 'true') {\n nextValue = true;\n }\n\n if (value === 'false') {\n nextValue = false;\n }\n\n onChange({ target: { name, value: nextValue, type: 'select-default-boolean' } });\n };\n\n return (\n <Field.Root name={name}>\n <Field.Label>{label}</Field.Label>\n <SingleSelect onChange={handleChange} value={(value === null ? '' : value).toString()}>\n {options.map(({ metadatas: { intlLabel, disabled, hidden }, key, value }) => {\n return (\n <SingleSelectOption key={key} value={value} disabled={disabled} hidden={hidden}>\n {/* No need to translate the options */}\n {intlLabel.defaultMessage}\n </SingleSelectOption>\n );\n })}\n </SingleSelect>\n </Field.Root>\n );\n};\n"],"names":["BooleanDefaultValueSelect","intlLabel","name","options","onChange","value","formatMessage","useIntl","label","id","defaultMessage","values","handleChange","nextValue","target","type","_jsxs","Field","Root","_jsx","Label","SingleSelect","toString","map","metadatas","disabled","hidden","key","SingleSelectOption"],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"BooleanDefaultValueSelect.mjs","sources":["../../../admin/src/components/BooleanDefaultValueSelect.tsx"],"sourcesContent":["import { Field, SingleSelect, SingleSelectOption } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { IntlLabel } from '../types';\n\ninterface Metadata {\n intlLabel: IntlLabel;\n disabled?: boolean;\n hidden?: boolean;\n}\n\ninterface Option {\n metadatas: Metadata;\n key: string | number;\n value: string | number;\n}\n\ninterface BooleanDefaultValueSelectProps {\n intlLabel: IntlLabel;\n name: string;\n onChange: (value: any) => void;\n options: Option[];\n value?: any;\n}\n\nexport const BooleanDefaultValueSelect = ({\n intlLabel,\n name,\n options,\n onChange,\n value = null,\n}: BooleanDefaultValueSelectProps) => {\n const { formatMessage } = useIntl();\n const label = intlLabel.id\n ? formatMessage(\n { id: intlLabel.id, defaultMessage: intlLabel.defaultMessage },\n { ...intlLabel.values }\n )\n : name;\n\n const handleChange = (value: any) => {\n let nextValue: boolean | string = '';\n\n if (value === 'true') {\n nextValue = true;\n }\n\n if (value === 'false') {\n nextValue = false;\n }\n\n onChange({ target: { name, value: nextValue, type: 'select-default-boolean' } });\n };\n\n return (\n <Field.Root name={name}>\n <Field.Label>{label}</Field.Label>\n <SingleSelect onChange={handleChange} value={(value === null ? '' : value).toString()}>\n {options.map(({ metadatas: { intlLabel, disabled, hidden }, key, value }) => {\n return (\n <SingleSelectOption key={key} value={value} disabled={disabled} hidden={hidden}>\n {/* No need to translate the options */}\n {intlLabel.defaultMessage}\n </SingleSelectOption>\n );\n })}\n </SingleSelect>\n </Field.Root>\n );\n};\n"],"names":["BooleanDefaultValueSelect","intlLabel","name","options","onChange","value","formatMessage","useIntl","label","id","defaultMessage","values","handleChange","nextValue","target","type","_jsxs","Field","Root","_jsx","Label","SingleSelect","toString","map","metadatas","disabled","hidden","key","SingleSelectOption"],"mappings":";;;;AAyBO,MAAMA,yBAAAA,GAA4B,CAAC,EACxCC,SAAS,EACTC,IAAI,EACJC,OAAO,EACPC,QAAQ,EACRC,KAAAA,GAAQ,IAAI,EACmB,GAAA;IAC/B,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAC1B,IAAA,MAAMC,KAAAA,GAAQP,SAAAA,CAAUQ,EAAE,GACtBH,aAAAA,CACE;AAAEG,QAAAA,EAAAA,EAAIR,UAAUQ,EAAE;AAAEC,QAAAA,cAAAA,EAAgBT,UAAUS;KAAe,EAC7D;AAAE,QAAA,GAAGT,UAAUU;KAAO,CAAA,GAExBT,IAAAA;AAEJ,IAAA,MAAMU,eAAe,CAACP,KAAAA,GAAAA;AACpB,QAAA,IAAIQ,SAAAA,GAA8B,EAAA;AAElC,QAAA,IAAIR,UAAU,MAAA,EAAQ;YACpBQ,SAAAA,GAAY,IAAA;AACd,QAAA;AAEA,QAAA,IAAIR,UAAU,OAAA,EAAS;YACrBQ,SAAAA,GAAY,KAAA;AACd,QAAA;QAEAT,QAAAA,CAAS;YAAEU,MAAAA,EAAQ;AAAEZ,gBAAAA,IAAAA;gBAAMG,KAAAA,EAAOQ,SAAAA;gBAAWE,IAAAA,EAAM;AAAyB;AAAE,SAAA,CAAA;AAChF,IAAA,CAAA;IAEA,qBACEC,IAAA,CAACC,MAAMC,IAAI,EAAA;QAAChB,IAAAA,EAAMA,IAAAA;;AAChB,0BAAAiB,GAAA,CAACF,MAAMG,KAAK,EAAA;AAAEZ,gBAAAA,QAAAA,EAAAA;;0BACdW,GAAA,CAACE,YAAAA,EAAAA;gBAAajB,QAAAA,EAAUQ,YAAAA;AAAcP,gBAAAA,KAAAA,EAAO,CAACA,KAAAA,KAAU,OAAO,EAAA,GAAKA,KAAI,EAAGiB,QAAQ,EAAA;AAChFnB,gBAAAA,QAAAA,EAAAA,OAAAA,CAAQoB,GAAG,CAAC,CAAC,EAAEC,SAAAA,EAAW,EAAEvB,SAAS,EAAEwB,QAAQ,EAAEC,MAAM,EAAE,EAAEC,GAAG,EAAEtB,KAAK,EAAE,GAAA;AACtE,oBAAA,qBACEc,GAAA,CAACS,kBAAAA,EAAAA;wBAA6BvB,KAAAA,EAAOA,KAAAA;wBAAOoB,QAAAA,EAAUA,QAAAA;wBAAUC,MAAAA,EAAQA,MAAAA;AAErEzB,wBAAAA,QAAAA,EAAAA,SAAAA,CAAUS;AAFYiB,qBAAAA,EAAAA,GAAAA,CAAAA;AAK7B,gBAAA,CAAA;;;;AAIR;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BooleanRadioGroup.js","sources":["../../../admin/src/components/BooleanRadioGroup.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { IntlLabel } from '../types';\n\nimport { CustomRadioGroup } from './CustomRadioGroup';\n\ninterface BooleanRadioGroupProps {\n intlLabel: IntlLabel;\n name: string;\n onChange: (value: any) => void;\n}\n\nexport const BooleanRadioGroup = ({\n onChange,\n name,\n intlLabel,\n ...rest\n}: BooleanRadioGroupProps) => {\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const checked = e.target.value !== 'false';\n\n onChange({ target: { name, value: checked, type: 'boolean-radio-group' } });\n };\n\n return <CustomRadioGroup {...rest} name={name} onChange={handleChange} intlLabel={intlLabel} />;\n};\n"],"names":["BooleanRadioGroup","onChange","name","intlLabel","rest","handleChange","e","checked","target","value","type","_jsx","CustomRadioGroup"],"mappings":";;;;;;AAYO,MAAMA,
|
|
1
|
+
{"version":3,"file":"BooleanRadioGroup.js","sources":["../../../admin/src/components/BooleanRadioGroup.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { IntlLabel } from '../types';\n\nimport { CustomRadioGroup } from './CustomRadioGroup';\n\ninterface BooleanRadioGroupProps {\n intlLabel: IntlLabel;\n name: string;\n onChange: (value: any) => void;\n}\n\nexport const BooleanRadioGroup = ({\n onChange,\n name,\n intlLabel,\n ...rest\n}: BooleanRadioGroupProps) => {\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const checked = e.target.value !== 'false';\n\n onChange({ target: { name, value: checked, type: 'boolean-radio-group' } });\n };\n\n return <CustomRadioGroup {...rest} name={name} onChange={handleChange} intlLabel={intlLabel} />;\n};\n"],"names":["BooleanRadioGroup","onChange","name","intlLabel","rest","handleChange","e","checked","target","value","type","_jsx","CustomRadioGroup"],"mappings":";;;;;;AAYO,MAAMA,iBAAAA,GAAoB,CAAC,EAChCC,QAAQ,EACRC,IAAI,EACJC,SAAS,EACT,GAAGC,IAAAA,EACoB,GAAA;AACvB,IAAA,MAAMC,eAAe,CAACC,CAAAA,GAAAA;AACpB,QAAA,MAAMC,OAAAA,GAAUD,CAAAA,CAAEE,MAAM,CAACC,KAAK,KAAK,OAAA;QAEnCR,QAAAA,CAAS;YAAEO,MAAAA,EAAQ;AAAEN,gBAAAA,IAAAA;gBAAMO,KAAAA,EAAOF,OAAAA;gBAASG,IAAAA,EAAM;AAAsB;AAAE,SAAA,CAAA;AAC3E,IAAA,CAAA;AAEA,IAAA,qBAAOC,cAAA,CAACC,iCAAAA,EAAAA;AAAkB,QAAA,GAAGR,IAAI;QAAEF,IAAAA,EAAMA,IAAAA;QAAMD,QAAAA,EAAUI,YAAAA;QAAcF,SAAAA,EAAWA;;AACpF;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BooleanRadioGroup.mjs","sources":["../../../admin/src/components/BooleanRadioGroup.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { IntlLabel } from '../types';\n\nimport { CustomRadioGroup } from './CustomRadioGroup';\n\ninterface BooleanRadioGroupProps {\n intlLabel: IntlLabel;\n name: string;\n onChange: (value: any) => void;\n}\n\nexport const BooleanRadioGroup = ({\n onChange,\n name,\n intlLabel,\n ...rest\n}: BooleanRadioGroupProps) => {\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const checked = e.target.value !== 'false';\n\n onChange({ target: { name, value: checked, type: 'boolean-radio-group' } });\n };\n\n return <CustomRadioGroup {...rest} name={name} onChange={handleChange} intlLabel={intlLabel} />;\n};\n"],"names":["BooleanRadioGroup","onChange","name","intlLabel","rest","handleChange","e","checked","target","value","type","_jsx","CustomRadioGroup"],"mappings":";;;;AAYO,MAAMA,
|
|
1
|
+
{"version":3,"file":"BooleanRadioGroup.mjs","sources":["../../../admin/src/components/BooleanRadioGroup.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { IntlLabel } from '../types';\n\nimport { CustomRadioGroup } from './CustomRadioGroup';\n\ninterface BooleanRadioGroupProps {\n intlLabel: IntlLabel;\n name: string;\n onChange: (value: any) => void;\n}\n\nexport const BooleanRadioGroup = ({\n onChange,\n name,\n intlLabel,\n ...rest\n}: BooleanRadioGroupProps) => {\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const checked = e.target.value !== 'false';\n\n onChange({ target: { name, value: checked, type: 'boolean-radio-group' } });\n };\n\n return <CustomRadioGroup {...rest} name={name} onChange={handleChange} intlLabel={intlLabel} />;\n};\n"],"names":["BooleanRadioGroup","onChange","name","intlLabel","rest","handleChange","e","checked","target","value","type","_jsx","CustomRadioGroup"],"mappings":";;;;AAYO,MAAMA,iBAAAA,GAAoB,CAAC,EAChCC,QAAQ,EACRC,IAAI,EACJC,SAAS,EACT,GAAGC,IAAAA,EACoB,GAAA;AACvB,IAAA,MAAMC,eAAe,CAACC,CAAAA,GAAAA;AACpB,QAAA,MAAMC,OAAAA,GAAUD,CAAAA,CAAEE,MAAM,CAACC,KAAK,KAAK,OAAA;QAEnCR,QAAAA,CAAS;YAAEO,MAAAA,EAAQ;AAAEN,gBAAAA,IAAAA;gBAAMO,KAAAA,EAAOF,OAAAA;gBAASG,IAAAA,EAAM;AAAsB;AAAE,SAAA,CAAA;AAC3E,IAAA,CAAA;AAEA,IAAA,qBAAOC,GAAA,CAACC,gBAAAA,EAAAA;AAAkB,QAAA,GAAGR,IAAI;QAAEF,IAAAA,EAAMA,IAAAA;QAAMD,QAAAA,EAAUI,YAAAA;QAAcF,SAAAA,EAAWA;;AACpF;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CTBSessionProvider.js","sources":["../../../../admin/src/components/CTBSession/CTBSessionProvider.tsx"],"sourcesContent":["import { useState, useCallback, useMemo, type ReactNode } from 'react';\n\nimport { CTBSessionContext } from './sessionContext';\n\ninterface CTBSessionProviderProps {\n children: ReactNode;\n}\n\n/**\n * Generates a unique session identifier for CTB tracking\n * Uses crypto.randomUUID() for guaranteed uniqueness and readability\n *\n * @returns Session ID in format: ctb-{uuid}\n */\nexport const generateSessionId = (): string | undefined => {\n if (crypto.randomUUID) {\n return `ctb-${crypto.randomUUID()}`;\n }\n};\n\n/**\n * Provider for CTB session tracking context.\n *\n * This provider should wrap components that need to track CTB events with session IDs.\n * It manages the session ID lifecycle and provides methods to regenerate it when needed.\n *\n * Usage:\n * ```tsx\n * <CTBSessionProvider>\n * {children}\n * </CTBSessionProvider>\n * ```\n */\nexport const CTBSessionProvider = ({ children }: CTBSessionProviderProps) => {\n const [sessionId, setSessionId] = useState(() => generateSessionId());\n\n const regenerateSessionId = useCallback(() => {\n setSessionId(generateSessionId());\n }, []);\n\n const value = useMemo(\n () => ({\n sessionId,\n regenerateSessionId,\n }),\n [sessionId, regenerateSessionId]\n );\n\n return <CTBSessionContext.Provider value={value}>{children}</CTBSessionContext.Provider>;\n};\n"],"names":["generateSessionId","crypto","randomUUID","CTBSessionProvider","children","sessionId","setSessionId","useState","regenerateSessionId","useCallback","value","useMemo","_jsx","CTBSessionContext","Provider"],"mappings":";;;;;;AAQA;;;;;UAMaA,
|
|
1
|
+
{"version":3,"file":"CTBSessionProvider.js","sources":["../../../../admin/src/components/CTBSession/CTBSessionProvider.tsx"],"sourcesContent":["import { useState, useCallback, useMemo, type ReactNode } from 'react';\n\nimport { CTBSessionContext } from './sessionContext';\n\ninterface CTBSessionProviderProps {\n children: ReactNode;\n}\n\n/**\n * Generates a unique session identifier for CTB tracking\n * Uses crypto.randomUUID() for guaranteed uniqueness and readability\n *\n * @returns Session ID in format: ctb-{uuid}\n */\nexport const generateSessionId = (): string | undefined => {\n if (crypto.randomUUID) {\n return `ctb-${crypto.randomUUID()}`;\n }\n};\n\n/**\n * Provider for CTB session tracking context.\n *\n * This provider should wrap components that need to track CTB events with session IDs.\n * It manages the session ID lifecycle and provides methods to regenerate it when needed.\n *\n * Usage:\n * ```tsx\n * <CTBSessionProvider>\n * {children}\n * </CTBSessionProvider>\n * ```\n */\nexport const CTBSessionProvider = ({ children }: CTBSessionProviderProps) => {\n const [sessionId, setSessionId] = useState(() => generateSessionId());\n\n const regenerateSessionId = useCallback(() => {\n setSessionId(generateSessionId());\n }, []);\n\n const value = useMemo(\n () => ({\n sessionId,\n regenerateSessionId,\n }),\n [sessionId, regenerateSessionId]\n );\n\n return <CTBSessionContext.Provider value={value}>{children}</CTBSessionContext.Provider>;\n};\n"],"names":["generateSessionId","crypto","randomUUID","CTBSessionProvider","children","sessionId","setSessionId","useState","regenerateSessionId","useCallback","value","useMemo","_jsx","CTBSessionContext","Provider"],"mappings":";;;;;;AAQA;;;;;UAMaA,iBAAAA,GAAoB,IAAA;IAC/B,IAAIC,MAAAA,CAAOC,UAAU,EAAE;AACrB,QAAA,OAAO,CAAC,IAAI,EAAED,MAAAA,CAAOC,UAAU,EAAA,CAAA,CAAI;AACrC,IAAA;AACF;AAEA;;;;;;;;;;;;AAYC,IACM,MAAMC,kBAAAA,GAAqB,CAAC,EAAEC,QAAQ,EAA2B,GAAA;AACtE,IAAA,MAAM,CAACC,SAAAA,EAAWC,YAAAA,CAAa,GAAGC,eAAS,IAAMP,iBAAAA,EAAAA,CAAAA;AAEjD,IAAA,MAAMQ,sBAAsBC,iBAAAA,CAAY,IAAA;QACtCH,YAAAA,CAAaN,iBAAAA,EAAAA,CAAAA;AACf,IAAA,CAAA,EAAG,EAAE,CAAA;IAEL,MAAMU,KAAAA,GAAQC,aAAAA,CACZ,KAAO;AACLN,YAAAA,SAAAA;AACAG,YAAAA;AACF,SAAA,CAAA,EACA;AAACH,QAAAA,SAAAA;AAAWG,QAAAA;AAAoB,KAAA,CAAA;IAGlC,qBAAOI,cAAA,CAACC,iCAAkBC,QAAQ,EAAA;QAACJ,KAAAA,EAAOA,KAAAA;AAAQN,QAAAA,QAAAA,EAAAA;;AACpD;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CTBSessionProvider.mjs","sources":["../../../../admin/src/components/CTBSession/CTBSessionProvider.tsx"],"sourcesContent":["import { useState, useCallback, useMemo, type ReactNode } from 'react';\n\nimport { CTBSessionContext } from './sessionContext';\n\ninterface CTBSessionProviderProps {\n children: ReactNode;\n}\n\n/**\n * Generates a unique session identifier for CTB tracking\n * Uses crypto.randomUUID() for guaranteed uniqueness and readability\n *\n * @returns Session ID in format: ctb-{uuid}\n */\nexport const generateSessionId = (): string | undefined => {\n if (crypto.randomUUID) {\n return `ctb-${crypto.randomUUID()}`;\n }\n};\n\n/**\n * Provider for CTB session tracking context.\n *\n * This provider should wrap components that need to track CTB events with session IDs.\n * It manages the session ID lifecycle and provides methods to regenerate it when needed.\n *\n * Usage:\n * ```tsx\n * <CTBSessionProvider>\n * {children}\n * </CTBSessionProvider>\n * ```\n */\nexport const CTBSessionProvider = ({ children }: CTBSessionProviderProps) => {\n const [sessionId, setSessionId] = useState(() => generateSessionId());\n\n const regenerateSessionId = useCallback(() => {\n setSessionId(generateSessionId());\n }, []);\n\n const value = useMemo(\n () => ({\n sessionId,\n regenerateSessionId,\n }),\n [sessionId, regenerateSessionId]\n );\n\n return <CTBSessionContext.Provider value={value}>{children}</CTBSessionContext.Provider>;\n};\n"],"names":["generateSessionId","crypto","randomUUID","CTBSessionProvider","children","sessionId","setSessionId","useState","regenerateSessionId","useCallback","value","useMemo","_jsx","CTBSessionContext","Provider"],"mappings":";;;;AAQA;;;;;UAMaA,
|
|
1
|
+
{"version":3,"file":"CTBSessionProvider.mjs","sources":["../../../../admin/src/components/CTBSession/CTBSessionProvider.tsx"],"sourcesContent":["import { useState, useCallback, useMemo, type ReactNode } from 'react';\n\nimport { CTBSessionContext } from './sessionContext';\n\ninterface CTBSessionProviderProps {\n children: ReactNode;\n}\n\n/**\n * Generates a unique session identifier for CTB tracking\n * Uses crypto.randomUUID() for guaranteed uniqueness and readability\n *\n * @returns Session ID in format: ctb-{uuid}\n */\nexport const generateSessionId = (): string | undefined => {\n if (crypto.randomUUID) {\n return `ctb-${crypto.randomUUID()}`;\n }\n};\n\n/**\n * Provider for CTB session tracking context.\n *\n * This provider should wrap components that need to track CTB events with session IDs.\n * It manages the session ID lifecycle and provides methods to regenerate it when needed.\n *\n * Usage:\n * ```tsx\n * <CTBSessionProvider>\n * {children}\n * </CTBSessionProvider>\n * ```\n */\nexport const CTBSessionProvider = ({ children }: CTBSessionProviderProps) => {\n const [sessionId, setSessionId] = useState(() => generateSessionId());\n\n const regenerateSessionId = useCallback(() => {\n setSessionId(generateSessionId());\n }, []);\n\n const value = useMemo(\n () => ({\n sessionId,\n regenerateSessionId,\n }),\n [sessionId, regenerateSessionId]\n );\n\n return <CTBSessionContext.Provider value={value}>{children}</CTBSessionContext.Provider>;\n};\n"],"names":["generateSessionId","crypto","randomUUID","CTBSessionProvider","children","sessionId","setSessionId","useState","regenerateSessionId","useCallback","value","useMemo","_jsx","CTBSessionContext","Provider"],"mappings":";;;;AAQA;;;;;UAMaA,iBAAAA,GAAoB,IAAA;IAC/B,IAAIC,MAAAA,CAAOC,UAAU,EAAE;AACrB,QAAA,OAAO,CAAC,IAAI,EAAED,MAAAA,CAAOC,UAAU,EAAA,CAAA,CAAI;AACrC,IAAA;AACF;AAEA;;;;;;;;;;;;AAYC,IACM,MAAMC,kBAAAA,GAAqB,CAAC,EAAEC,QAAQ,EAA2B,GAAA;AACtE,IAAA,MAAM,CAACC,SAAAA,EAAWC,YAAAA,CAAa,GAAGC,SAAS,IAAMP,iBAAAA,EAAAA,CAAAA;AAEjD,IAAA,MAAMQ,sBAAsBC,WAAAA,CAAY,IAAA;QACtCH,YAAAA,CAAaN,iBAAAA,EAAAA,CAAAA;AACf,IAAA,CAAA,EAAG,EAAE,CAAA;IAEL,MAAMU,KAAAA,GAAQC,OAAAA,CACZ,KAAO;AACLN,YAAAA,SAAAA;AACAG,YAAAA;AACF,SAAA,CAAA,EACA;AAACH,QAAAA,SAAAA;AAAWG,QAAAA;AAAoB,KAAA,CAAA;IAGlC,qBAAOI,GAAA,CAACC,kBAAkBC,QAAQ,EAAA;QAACJ,KAAAA,EAAOA,KAAAA;AAAQN,QAAAA,QAAAA,EAAAA;;AACpD;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessionContext.js","sources":["../../../../admin/src/components/CTBSession/sessionContext.ts"],"sourcesContent":["import { createContext } from 'react';\n\n/**\n * Context for managing CTB (Content Type Builder) session tracking.\n *\n * Session Lifecycle:\n * - Created: When CTBSessionProvider mounts\n * - Regenerated: After server restart, when navigating back to CTB from another page\n * - Used: Automatically attached to all CTB tracking events\n *\n * The session ID groups related tracking events together to understand user workflows\n * within a single CTB session.\n */\nexport interface CTBSessionContextValue {\n /**\n * Unique identifier for the current CTB session\n * Format: ctb-{uuid}\n */\n sessionId: string | undefined;\n\n /**\n * Generates and sets a new session ID\n * Called when starting a new CTB session (e.g., after navigation or server restart)\n */\n regenerateSessionId: () => void;\n}\n\nexport const CTBSessionContext = createContext<CTBSessionContextValue | null>(null);\n"],"names":["CTBSessionContext","createContext"],"mappings":";;;;AA2BO,MAAMA,
|
|
1
|
+
{"version":3,"file":"sessionContext.js","sources":["../../../../admin/src/components/CTBSession/sessionContext.ts"],"sourcesContent":["import { createContext } from 'react';\n\n/**\n * Context for managing CTB (Content Type Builder) session tracking.\n *\n * Session Lifecycle:\n * - Created: When CTBSessionProvider mounts\n * - Regenerated: After server restart, when navigating back to CTB from another page\n * - Used: Automatically attached to all CTB tracking events\n *\n * The session ID groups related tracking events together to understand user workflows\n * within a single CTB session.\n */\nexport interface CTBSessionContextValue {\n /**\n * Unique identifier for the current CTB session\n * Format: ctb-{uuid}\n */\n sessionId: string | undefined;\n\n /**\n * Generates and sets a new session ID\n * Called when starting a new CTB session (e.g., after navigation or server restart)\n */\n regenerateSessionId: () => void;\n}\n\nexport const CTBSessionContext = createContext<CTBSessionContextValue | null>(null);\n"],"names":["CTBSessionContext","createContext"],"mappings":";;;;AA2BO,MAAMA,iBAAAA,GAAoBC,mBAAAA,CAA6C,IAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessionContext.mjs","sources":["../../../../admin/src/components/CTBSession/sessionContext.ts"],"sourcesContent":["import { createContext } from 'react';\n\n/**\n * Context for managing CTB (Content Type Builder) session tracking.\n *\n * Session Lifecycle:\n * - Created: When CTBSessionProvider mounts\n * - Regenerated: After server restart, when navigating back to CTB from another page\n * - Used: Automatically attached to all CTB tracking events\n *\n * The session ID groups related tracking events together to understand user workflows\n * within a single CTB session.\n */\nexport interface CTBSessionContextValue {\n /**\n * Unique identifier for the current CTB session\n * Format: ctb-{uuid}\n */\n sessionId: string | undefined;\n\n /**\n * Generates and sets a new session ID\n * Called when starting a new CTB session (e.g., after navigation or server restart)\n */\n regenerateSessionId: () => void;\n}\n\nexport const CTBSessionContext = createContext<CTBSessionContextValue | null>(null);\n"],"names":["CTBSessionContext","createContext"],"mappings":";;AA2BO,MAAMA,
|
|
1
|
+
{"version":3,"file":"sessionContext.mjs","sources":["../../../../admin/src/components/CTBSession/sessionContext.ts"],"sourcesContent":["import { createContext } from 'react';\n\n/**\n * Context for managing CTB (Content Type Builder) session tracking.\n *\n * Session Lifecycle:\n * - Created: When CTBSessionProvider mounts\n * - Regenerated: After server restart, when navigating back to CTB from another page\n * - Used: Automatically attached to all CTB tracking events\n *\n * The session ID groups related tracking events together to understand user workflows\n * within a single CTB session.\n */\nexport interface CTBSessionContextValue {\n /**\n * Unique identifier for the current CTB session\n * Format: ctb-{uuid}\n */\n sessionId: string | undefined;\n\n /**\n * Generates and sets a new session ID\n * Called when starting a new CTB session (e.g., after navigation or server restart)\n */\n regenerateSessionId: () => void;\n}\n\nexport const CTBSessionContext = createContext<CTBSessionContextValue | null>(null);\n"],"names":["CTBSessionContext","createContext"],"mappings":";;AA2BO,MAAMA,iBAAAA,GAAoBC,aAAAA,CAA6C,IAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCTBSession.js","sources":["../../../../admin/src/components/CTBSession/useCTBSession.ts"],"sourcesContent":["import { useContext } from 'react';\n\nimport { CTBSessionContext } from './sessionContext';\n\n/**\n * Hook to access the current CTB session context.\n *\n * @throws Error if used outside of CTBSessionProvider\n * @returns The CTB session context containing sessionId and regenerateSessionId\n *\n * @example\n * ```tsx\n * const { sessionId, regenerateSessionId } = useCTBSession();\n * ```\n */\nexport const useCTBSession = () => {\n const context = useContext(CTBSessionContext);\n\n if (!context) {\n throw new Error('useCTBSession must be used within a CTBSessionProvider');\n }\n\n return context;\n};\n"],"names":["useCTBSession","context","useContext","CTBSessionContext","Error"],"mappings":";;;;;AAIA;;;;;;;;;;UAWaA,
|
|
1
|
+
{"version":3,"file":"useCTBSession.js","sources":["../../../../admin/src/components/CTBSession/useCTBSession.ts"],"sourcesContent":["import { useContext } from 'react';\n\nimport { CTBSessionContext } from './sessionContext';\n\n/**\n * Hook to access the current CTB session context.\n *\n * @throws Error if used outside of CTBSessionProvider\n * @returns The CTB session context containing sessionId and regenerateSessionId\n *\n * @example\n * ```tsx\n * const { sessionId, regenerateSessionId } = useCTBSession();\n * ```\n */\nexport const useCTBSession = () => {\n const context = useContext(CTBSessionContext);\n\n if (!context) {\n throw new Error('useCTBSession must be used within a CTBSessionProvider');\n }\n\n return context;\n};\n"],"names":["useCTBSession","context","useContext","CTBSessionContext","Error"],"mappings":";;;;;AAIA;;;;;;;;;;UAWaA,aAAAA,GAAgB,IAAA;AAC3B,IAAA,MAAMC,UAAUC,gBAAAA,CAAWC,gCAAAA,CAAAA;AAE3B,IAAA,IAAI,CAACF,OAAAA,EAAS;AACZ,QAAA,MAAM,IAAIG,KAAAA,CAAM,wDAAA,CAAA;AAClB,IAAA;IAEA,OAAOH,OAAAA;AACT;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCTBSession.mjs","sources":["../../../../admin/src/components/CTBSession/useCTBSession.ts"],"sourcesContent":["import { useContext } from 'react';\n\nimport { CTBSessionContext } from './sessionContext';\n\n/**\n * Hook to access the current CTB session context.\n *\n * @throws Error if used outside of CTBSessionProvider\n * @returns The CTB session context containing sessionId and regenerateSessionId\n *\n * @example\n * ```tsx\n * const { sessionId, regenerateSessionId } = useCTBSession();\n * ```\n */\nexport const useCTBSession = () => {\n const context = useContext(CTBSessionContext);\n\n if (!context) {\n throw new Error('useCTBSession must be used within a CTBSessionProvider');\n }\n\n return context;\n};\n"],"names":["useCTBSession","context","useContext","CTBSessionContext","Error"],"mappings":";;;AAIA;;;;;;;;;;UAWaA,
|
|
1
|
+
{"version":3,"file":"useCTBSession.mjs","sources":["../../../../admin/src/components/CTBSession/useCTBSession.ts"],"sourcesContent":["import { useContext } from 'react';\n\nimport { CTBSessionContext } from './sessionContext';\n\n/**\n * Hook to access the current CTB session context.\n *\n * @throws Error if used outside of CTBSessionProvider\n * @returns The CTB session context containing sessionId and regenerateSessionId\n *\n * @example\n * ```tsx\n * const { sessionId, regenerateSessionId } = useCTBSession();\n * ```\n */\nexport const useCTBSession = () => {\n const context = useContext(CTBSessionContext);\n\n if (!context) {\n throw new Error('useCTBSession must be used within a CTBSessionProvider');\n }\n\n return context;\n};\n"],"names":["useCTBSession","context","useContext","CTBSessionContext","Error"],"mappings":";;;AAIA;;;;;;;;;;UAWaA,aAAAA,GAAgB,IAAA;AAC3B,IAAA,MAAMC,UAAUC,UAAAA,CAAWC,iBAAAA,CAAAA;AAE3B,IAAA,IAAI,CAACF,OAAAA,EAAS;AACZ,QAAA,MAAM,IAAIG,KAAAA,CAAM,wDAAA,CAAA;AAClB,IAAA;IAEA,OAAOH,OAAAA;AACT;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCTBTracking.js","sources":["../../../../admin/src/components/CTBSession/useCTBTracking.ts"],"sourcesContent":["import { useCallback } from 'react';\n\nimport { useTracking } from '@strapi/admin/strapi-admin';\n\nimport { useCTBSession } from './useCTBSession';\n\n/**\n * Hook that provides tracking functionality with automatic CTB session ID inclusion.\n * This version accepts arbitrary event names (string) to allow feature-specific\n * events that are not yet declared in the central tracking typings.\n *\n * Note: this intentionally relaxes TypeScript restrictions so callers can\n * emit new tracking event names without needing to update the upstream\n * tracking type definitions. The session ID is merged into the properties\n * object before forwarding to the original tracking implementation.\n */\nexport const useCTBTracking = () => {\n const { trackUsage: originalTrackUsage } = useTracking();\n const { sessionId } = useCTBSession();\n\n const trackUsage = useCallback(\n (event: string, properties?: Record<string, unknown>) => {\n const enhancedProperties = {\n ...(properties ?? {}),\n ctbSessionId: sessionId,\n };\n\n // Forward to original implementation. Casts are necessary because\n // originalTrackUsage has strict overloads for known event names.\n return (originalTrackUsage as any)(event, enhancedProperties as any);\n },\n [originalTrackUsage, sessionId]\n );\n\n return { trackUsage };\n};\n"],"names":["useCTBTracking","trackUsage","originalTrackUsage","useTracking","sessionId","useCTBSession","useCallback","event","properties","enhancedProperties","ctbSessionId"],"mappings":";;;;;;AAMA;;;;;;;;;UAUaA,
|
|
1
|
+
{"version":3,"file":"useCTBTracking.js","sources":["../../../../admin/src/components/CTBSession/useCTBTracking.ts"],"sourcesContent":["import { useCallback } from 'react';\n\nimport { useTracking } from '@strapi/admin/strapi-admin';\n\nimport { useCTBSession } from './useCTBSession';\n\n/**\n * Hook that provides tracking functionality with automatic CTB session ID inclusion.\n * This version accepts arbitrary event names (string) to allow feature-specific\n * events that are not yet declared in the central tracking typings.\n *\n * Note: this intentionally relaxes TypeScript restrictions so callers can\n * emit new tracking event names without needing to update the upstream\n * tracking type definitions. The session ID is merged into the properties\n * object before forwarding to the original tracking implementation.\n */\nexport const useCTBTracking = () => {\n const { trackUsage: originalTrackUsage } = useTracking();\n const { sessionId } = useCTBSession();\n\n const trackUsage = useCallback(\n (event: string, properties?: Record<string, unknown>) => {\n const enhancedProperties = {\n ...(properties ?? {}),\n ctbSessionId: sessionId,\n };\n\n // Forward to original implementation. Casts are necessary because\n // originalTrackUsage has strict overloads for known event names.\n return (originalTrackUsage as any)(event, enhancedProperties as any);\n },\n [originalTrackUsage, sessionId]\n );\n\n return { trackUsage };\n};\n"],"names":["useCTBTracking","trackUsage","originalTrackUsage","useTracking","sessionId","useCTBSession","useCallback","event","properties","enhancedProperties","ctbSessionId"],"mappings":";;;;;;AAMA;;;;;;;;;UAUaA,cAAAA,GAAiB,IAAA;AAC5B,IAAA,MAAM,EAAEC,UAAAA,EAAYC,kBAAkB,EAAE,GAAGC,uBAAAA,EAAAA;IAC3C,MAAM,EAAEC,SAAS,EAAE,GAAGC,2BAAAA,EAAAA;IAEtB,MAAMJ,UAAAA,GAAaK,iBAAAA,CACjB,CAACC,KAAAA,EAAeC,UAAAA,GAAAA;AACd,QAAA,MAAMC,kBAAAA,GAAqB;YACzB,GAAID,UAAAA,IAAc,EAAE;YACpBE,YAAAA,EAAcN;AAChB,SAAA;;;QAIA,OAAQF,mBAA2BK,KAAAA,EAAOE,kBAAAA,CAAAA;IAC5C,CAAA,EACA;AAACP,QAAAA,kBAAAA;AAAoBE,QAAAA;AAAU,KAAA,CAAA;IAGjC,OAAO;AAAEH,QAAAA;AAAW,KAAA;AACtB;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCTBTracking.mjs","sources":["../../../../admin/src/components/CTBSession/useCTBTracking.ts"],"sourcesContent":["import { useCallback } from 'react';\n\nimport { useTracking } from '@strapi/admin/strapi-admin';\n\nimport { useCTBSession } from './useCTBSession';\n\n/**\n * Hook that provides tracking functionality with automatic CTB session ID inclusion.\n * This version accepts arbitrary event names (string) to allow feature-specific\n * events that are not yet declared in the central tracking typings.\n *\n * Note: this intentionally relaxes TypeScript restrictions so callers can\n * emit new tracking event names without needing to update the upstream\n * tracking type definitions. The session ID is merged into the properties\n * object before forwarding to the original tracking implementation.\n */\nexport const useCTBTracking = () => {\n const { trackUsage: originalTrackUsage } = useTracking();\n const { sessionId } = useCTBSession();\n\n const trackUsage = useCallback(\n (event: string, properties?: Record<string, unknown>) => {\n const enhancedProperties = {\n ...(properties ?? {}),\n ctbSessionId: sessionId,\n };\n\n // Forward to original implementation. Casts are necessary because\n // originalTrackUsage has strict overloads for known event names.\n return (originalTrackUsage as any)(event, enhancedProperties as any);\n },\n [originalTrackUsage, sessionId]\n );\n\n return { trackUsage };\n};\n"],"names":["useCTBTracking","trackUsage","originalTrackUsage","useTracking","sessionId","useCTBSession","useCallback","event","properties","enhancedProperties","ctbSessionId"],"mappings":";;;;AAMA;;;;;;;;;UAUaA,
|
|
1
|
+
{"version":3,"file":"useCTBTracking.mjs","sources":["../../../../admin/src/components/CTBSession/useCTBTracking.ts"],"sourcesContent":["import { useCallback } from 'react';\n\nimport { useTracking } from '@strapi/admin/strapi-admin';\n\nimport { useCTBSession } from './useCTBSession';\n\n/**\n * Hook that provides tracking functionality with automatic CTB session ID inclusion.\n * This version accepts arbitrary event names (string) to allow feature-specific\n * events that are not yet declared in the central tracking typings.\n *\n * Note: this intentionally relaxes TypeScript restrictions so callers can\n * emit new tracking event names without needing to update the upstream\n * tracking type definitions. The session ID is merged into the properties\n * object before forwarding to the original tracking implementation.\n */\nexport const useCTBTracking = () => {\n const { trackUsage: originalTrackUsage } = useTracking();\n const { sessionId } = useCTBSession();\n\n const trackUsage = useCallback(\n (event: string, properties?: Record<string, unknown>) => {\n const enhancedProperties = {\n ...(properties ?? {}),\n ctbSessionId: sessionId,\n };\n\n // Forward to original implementation. Casts are necessary because\n // originalTrackUsage has strict overloads for known event names.\n return (originalTrackUsage as any)(event, enhancedProperties as any);\n },\n [originalTrackUsage, sessionId]\n );\n\n return { trackUsage };\n};\n"],"names":["useCTBTracking","trackUsage","originalTrackUsage","useTracking","sessionId","useCTBSession","useCallback","event","properties","enhancedProperties","ctbSessionId"],"mappings":";;;;AAMA;;;;;;;;;UAUaA,cAAAA,GAAiB,IAAA;AAC5B,IAAA,MAAM,EAAEC,UAAAA,EAAYC,kBAAkB,EAAE,GAAGC,WAAAA,EAAAA;IAC3C,MAAM,EAAEC,SAAS,EAAE,GAAGC,aAAAA,EAAAA;IAEtB,MAAMJ,UAAAA,GAAaK,WAAAA,CACjB,CAACC,KAAAA,EAAeC,UAAAA,GAAAA;AACd,QAAA,MAAMC,kBAAAA,GAAqB;YACzB,GAAID,UAAAA,IAAc,EAAE;YACpBE,YAAAA,EAAcN;AAChB,SAAA;;;QAIA,OAAQF,mBAA2BK,KAAAA,EAAOE,kBAAAA,CAAAA;IAC5C,CAAA,EACA;AAACP,QAAAA,kBAAAA;AAAoBE,QAAAA;AAAU,KAAA,CAAA;IAGjC,OAAO;AAAEH,QAAAA;AAAW,KAAA;AACtB;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckboxWithNumberField.js","sources":["../../../admin/src/components/CheckboxWithNumberField.tsx"],"sourcesContent":["import { Box, Checkbox, Field, Flex, NumberInput, TextInput } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { IntlLabel } from '../types';\n\ninterface CheckboxWithNumberFieldProps {\n error?: string;\n intlLabel: IntlLabel;\n modifiedData: Record<string, any>;\n name: string;\n onChange: (value: any) => void;\n value?: any;\n}\n\nexport const CheckboxWithNumberField = ({\n error,\n intlLabel,\n modifiedData,\n name,\n onChange,\n value = null,\n}: CheckboxWithNumberFieldProps) => {\n const { formatMessage } = useIntl();\n const label = intlLabel.id\n ? formatMessage(\n { id: intlLabel.id, defaultMessage: intlLabel.defaultMessage },\n { ...intlLabel.values }\n )\n : name;\n\n const type = modifiedData.type === 'biginteger' ? 'text' : 'number';\n\n const disabled = !modifiedData.type;\n const errorMessage = error ? formatMessage({ id: error, defaultMessage: error }) : '';\n\n return (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={2}>\n <Checkbox\n id={name}\n name={name}\n onCheckedChange={(value) => {\n const initValue = type === 'text' ? '0' : 0;\n const nextValue = value ? initValue : null;\n\n onChange({ target: { name, value: nextValue } });\n }}\n checked={value !== null}\n >\n {label}\n </Checkbox>\n {value !== null && (\n <Box paddingLeft={6} style={{ maxWidth: '200px' }}>\n {type === 'text' ? (\n <Field.Root error={errorMessage} name={name}>\n <TextInput\n aria-label={label}\n disabled={disabled}\n onChange={onChange}\n value={value === null ? '' : value}\n type=\"text\"\n />\n <Field.Error />\n </Field.Root>\n ) : (\n <Field.Root error={errorMessage} name={name}>\n <NumberInput\n aria-label={label}\n disabled={disabled}\n onValueChange={(value: any) => {\n onChange({ target: { name, value: value ?? 0, type } });\n }}\n value={value || 0}\n />\n <Field.Error />\n </Field.Root>\n )}\n </Box>\n )}\n </Flex>\n );\n};\n"],"names":["CheckboxWithNumberField","error","intlLabel","modifiedData","name","onChange","value","formatMessage","useIntl","label","id","defaultMessage","values","type","disabled","errorMessage","_jsxs","Flex","direction","alignItems","gap","_jsx","Checkbox","onCheckedChange","initValue","nextValue","target","checked","Box","paddingLeft","style","maxWidth","Field","Root","TextInput","aria-label","Error","NumberInput","onValueChange"],"mappings":";;;;;;MAcaA,
|
|
1
|
+
{"version":3,"file":"CheckboxWithNumberField.js","sources":["../../../admin/src/components/CheckboxWithNumberField.tsx"],"sourcesContent":["import { Box, Checkbox, Field, Flex, NumberInput, TextInput } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { IntlLabel } from '../types';\n\ninterface CheckboxWithNumberFieldProps {\n error?: string;\n intlLabel: IntlLabel;\n modifiedData: Record<string, any>;\n name: string;\n onChange: (value: any) => void;\n value?: any;\n}\n\nexport const CheckboxWithNumberField = ({\n error,\n intlLabel,\n modifiedData,\n name,\n onChange,\n value = null,\n}: CheckboxWithNumberFieldProps) => {\n const { formatMessage } = useIntl();\n const label = intlLabel.id\n ? formatMessage(\n { id: intlLabel.id, defaultMessage: intlLabel.defaultMessage },\n { ...intlLabel.values }\n )\n : name;\n\n const type = modifiedData.type === 'biginteger' ? 'text' : 'number';\n\n const disabled = !modifiedData.type;\n const errorMessage = error ? formatMessage({ id: error, defaultMessage: error }) : '';\n\n return (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={2}>\n <Checkbox\n id={name}\n name={name}\n onCheckedChange={(value) => {\n const initValue = type === 'text' ? '0' : 0;\n const nextValue = value ? initValue : null;\n\n onChange({ target: { name, value: nextValue } });\n }}\n checked={value !== null}\n >\n {label}\n </Checkbox>\n {value !== null && (\n <Box paddingLeft={6} style={{ maxWidth: '200px' }}>\n {type === 'text' ? (\n <Field.Root error={errorMessage} name={name}>\n <TextInput\n aria-label={label}\n disabled={disabled}\n onChange={onChange}\n value={value === null ? '' : value}\n type=\"text\"\n />\n <Field.Error />\n </Field.Root>\n ) : (\n <Field.Root error={errorMessage} name={name}>\n <NumberInput\n aria-label={label}\n disabled={disabled}\n onValueChange={(value: any) => {\n onChange({ target: { name, value: value ?? 0, type } });\n }}\n value={value || 0}\n />\n <Field.Error />\n </Field.Root>\n )}\n </Box>\n )}\n </Flex>\n );\n};\n"],"names":["CheckboxWithNumberField","error","intlLabel","modifiedData","name","onChange","value","formatMessage","useIntl","label","id","defaultMessage","values","type","disabled","errorMessage","_jsxs","Flex","direction","alignItems","gap","_jsx","Checkbox","onCheckedChange","initValue","nextValue","target","checked","Box","paddingLeft","style","maxWidth","Field","Root","TextInput","aria-label","Error","NumberInput","onValueChange"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckboxWithNumberField.mjs","sources":["../../../admin/src/components/CheckboxWithNumberField.tsx"],"sourcesContent":["import { Box, Checkbox, Field, Flex, NumberInput, TextInput } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { IntlLabel } from '../types';\n\ninterface CheckboxWithNumberFieldProps {\n error?: string;\n intlLabel: IntlLabel;\n modifiedData: Record<string, any>;\n name: string;\n onChange: (value: any) => void;\n value?: any;\n}\n\nexport const CheckboxWithNumberField = ({\n error,\n intlLabel,\n modifiedData,\n name,\n onChange,\n value = null,\n}: CheckboxWithNumberFieldProps) => {\n const { formatMessage } = useIntl();\n const label = intlLabel.id\n ? formatMessage(\n { id: intlLabel.id, defaultMessage: intlLabel.defaultMessage },\n { ...intlLabel.values }\n )\n : name;\n\n const type = modifiedData.type === 'biginteger' ? 'text' : 'number';\n\n const disabled = !modifiedData.type;\n const errorMessage = error ? formatMessage({ id: error, defaultMessage: error }) : '';\n\n return (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={2}>\n <Checkbox\n id={name}\n name={name}\n onCheckedChange={(value) => {\n const initValue = type === 'text' ? '0' : 0;\n const nextValue = value ? initValue : null;\n\n onChange({ target: { name, value: nextValue } });\n }}\n checked={value !== null}\n >\n {label}\n </Checkbox>\n {value !== null && (\n <Box paddingLeft={6} style={{ maxWidth: '200px' }}>\n {type === 'text' ? (\n <Field.Root error={errorMessage} name={name}>\n <TextInput\n aria-label={label}\n disabled={disabled}\n onChange={onChange}\n value={value === null ? '' : value}\n type=\"text\"\n />\n <Field.Error />\n </Field.Root>\n ) : (\n <Field.Root error={errorMessage} name={name}>\n <NumberInput\n aria-label={label}\n disabled={disabled}\n onValueChange={(value: any) => {\n onChange({ target: { name, value: value ?? 0, type } });\n }}\n value={value || 0}\n />\n <Field.Error />\n </Field.Root>\n )}\n </Box>\n )}\n </Flex>\n );\n};\n"],"names":["CheckboxWithNumberField","error","intlLabel","modifiedData","name","onChange","value","formatMessage","useIntl","label","id","defaultMessage","values","type","disabled","errorMessage","_jsxs","Flex","direction","alignItems","gap","_jsx","Checkbox","onCheckedChange","initValue","nextValue","target","checked","Box","paddingLeft","style","maxWidth","Field","Root","TextInput","aria-label","Error","NumberInput","onValueChange"],"mappings":";;;;MAcaA,
|
|
1
|
+
{"version":3,"file":"CheckboxWithNumberField.mjs","sources":["../../../admin/src/components/CheckboxWithNumberField.tsx"],"sourcesContent":["import { Box, Checkbox, Field, Flex, NumberInput, TextInput } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { IntlLabel } from '../types';\n\ninterface CheckboxWithNumberFieldProps {\n error?: string;\n intlLabel: IntlLabel;\n modifiedData: Record<string, any>;\n name: string;\n onChange: (value: any) => void;\n value?: any;\n}\n\nexport const CheckboxWithNumberField = ({\n error,\n intlLabel,\n modifiedData,\n name,\n onChange,\n value = null,\n}: CheckboxWithNumberFieldProps) => {\n const { formatMessage } = useIntl();\n const label = intlLabel.id\n ? formatMessage(\n { id: intlLabel.id, defaultMessage: intlLabel.defaultMessage },\n { ...intlLabel.values }\n )\n : name;\n\n const type = modifiedData.type === 'biginteger' ? 'text' : 'number';\n\n const disabled = !modifiedData.type;\n const errorMessage = error ? formatMessage({ id: error, defaultMessage: error }) : '';\n\n return (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={2}>\n <Checkbox\n id={name}\n name={name}\n onCheckedChange={(value) => {\n const initValue = type === 'text' ? '0' : 0;\n const nextValue = value ? initValue : null;\n\n onChange({ target: { name, value: nextValue } });\n }}\n checked={value !== null}\n >\n {label}\n </Checkbox>\n {value !== null && (\n <Box paddingLeft={6} style={{ maxWidth: '200px' }}>\n {type === 'text' ? (\n <Field.Root error={errorMessage} name={name}>\n <TextInput\n aria-label={label}\n disabled={disabled}\n onChange={onChange}\n value={value === null ? '' : value}\n type=\"text\"\n />\n <Field.Error />\n </Field.Root>\n ) : (\n <Field.Root error={errorMessage} name={name}>\n <NumberInput\n aria-label={label}\n disabled={disabled}\n onValueChange={(value: any) => {\n onChange({ target: { name, value: value ?? 0, type } });\n }}\n value={value || 0}\n />\n <Field.Error />\n </Field.Root>\n )}\n </Box>\n )}\n </Flex>\n );\n};\n"],"names":["CheckboxWithNumberField","error","intlLabel","modifiedData","name","onChange","value","formatMessage","useIntl","label","id","defaultMessage","values","type","disabled","errorMessage","_jsxs","Flex","direction","alignItems","gap","_jsx","Checkbox","onCheckedChange","initValue","nextValue","target","checked","Box","paddingLeft","style","maxWidth","Field","Root","TextInput","aria-label","Error","NumberInput","onValueChange"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComponentCard.js","sources":["../../../../admin/src/components/ComponentCard/ComponentCard.tsx"],"sourcesContent":["import { Box, Flex, Typography } from '@strapi/design-system';\nimport { Cross } from '@strapi/icons';\nimport get from 'lodash/get';\nimport { styled } from 'styled-components';\n\nimport { useDataManager } from '../DataManager/useDataManager';\n\nimport { ComponentIcon } from './ComponentIcon';\n\nimport type { Internal, Struct } from '@strapi/types';\n\ninterface ComponentCardProps {\n component: string;\n dzName: string;\n index: number;\n isActive?: boolean;\n isInDevelopmentMode?: boolean;\n onClick?: () => void;\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n disabled?: boolean;\n}\n\nconst CloseButton = styled(Box)`\n position: absolute;\n display: none;\n top: 5px;\n right: 0.8rem;\n\n svg {\n width: 1rem;\n height: 1rem;\n\n path {\n fill: ${({ theme }) => theme.colors.primary600};\n }\n }\n`;\n\nconst ComponentBox = styled(Flex)`\n width: 14rem;\n height: 8rem;\n position: relative;\n border: 1px solid ${({ theme }) => theme.colors.neutral200};\n background: ${({ theme }) => theme.colors.neutral100};\n border-radius: ${({ theme }) => theme.borderRadius};\n max-width: 100%;\n\n &.active,\n &:focus,\n &:hover {\n border: 1px solid ${({ theme }) => theme.colors.primary200};\n background: ${({ theme }) => theme.colors.primary100};\n color: ${({ theme }) => theme.colors.primary600};\n\n ${CloseButton} {\n display: block;\n }\n\n /* > ComponentIcon */\n > div:first-child {\n background: ${({ theme }) => theme.colors.primary200};\n color: ${({ theme }) => theme.colors.primary600};\n\n svg {\n path {\n fill: ${({ theme }) => theme.colors.primary600};\n }\n }\n }\n }\n`;\n\nexport const ComponentCard = ({\n component,\n dzName,\n index,\n isActive = false,\n isInDevelopmentMode = false,\n onClick,\n forTarget,\n targetUid,\n disabled,\n}: ComponentCardProps) => {\n const { components, removeComponentFromDynamicZone } = useDataManager();\n const type = get(components, component);\n const { icon, displayName } = type?.info || {};\n\n const onClose = (e: any) => {\n e.stopPropagation();\n removeComponentFromDynamicZone({\n forTarget,\n targetUid,\n dzName,\n componentToRemoveIndex: index,\n });\n };\n\n return (\n <ComponentBox\n alignItems=\"center\"\n direction=\"column\"\n className={isActive ? 'active' : ''}\n borderRadius=\"borderRadius\"\n justifyContent=\"center\"\n paddingLeft={4}\n paddingRight={4}\n shrink={0}\n onClick={onClick}\n role=\"tab\"\n tabIndex={isActive ? 0 : -1}\n cursor=\"pointer\"\n aria-selected={isActive}\n aria-controls={`dz-${dzName}-panel-${index}`}\n id={`dz-${dzName}-tab-${index}`}\n >\n <ComponentIcon icon={icon} isActive={isActive} />\n\n <Box marginTop={1} maxWidth=\"100%\">\n <Typography variant=\"pi\" fontWeight=\"bold\" ellipsis>\n {displayName}\n </Typography>\n </Box>\n\n {isInDevelopmentMode && !disabled && (\n <CloseButton cursor=\"pointer\" tag=\"button\" onClick={onClose}>\n <Cross />\n </CloseButton>\n )}\n </ComponentBox>\n );\n};\n"],"names":["CloseButton","styled","Box","theme","colors","primary600","ComponentBox","Flex","neutral200","neutral100","borderRadius","primary200","primary100","ComponentCard","component","dzName","index","isActive","isInDevelopmentMode","onClick","forTarget","targetUid","disabled","components","removeComponentFromDynamicZone","useDataManager","type","get","icon","displayName","info","onClose","e","stopPropagation","componentToRemoveIndex","_jsxs","alignItems","direction","className","justifyContent","paddingLeft","paddingRight","shrink","role","tabIndex","cursor","aria-selected","aria-controls","id","_jsx","ComponentIcon","marginTop","maxWidth","Typography","variant","fontWeight","ellipsis","tag","Cross"],"mappings":";;;;;;;;;;AAuBA,MAAMA,WAAAA,GAAcC,
|
|
1
|
+
{"version":3,"file":"ComponentCard.js","sources":["../../../../admin/src/components/ComponentCard/ComponentCard.tsx"],"sourcesContent":["import { Box, Flex, Typography } from '@strapi/design-system';\nimport { Cross } from '@strapi/icons';\nimport get from 'lodash/get';\nimport { styled } from 'styled-components';\n\nimport { useDataManager } from '../DataManager/useDataManager';\n\nimport { ComponentIcon } from './ComponentIcon';\n\nimport type { Internal, Struct } from '@strapi/types';\n\ninterface ComponentCardProps {\n component: string;\n dzName: string;\n index: number;\n isActive?: boolean;\n isInDevelopmentMode?: boolean;\n onClick?: () => void;\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n disabled?: boolean;\n}\n\nconst CloseButton = styled(Box)`\n position: absolute;\n display: none;\n top: 5px;\n right: 0.8rem;\n\n svg {\n width: 1rem;\n height: 1rem;\n\n path {\n fill: ${({ theme }) => theme.colors.primary600};\n }\n }\n`;\n\nconst ComponentBox = styled(Flex)`\n width: 14rem;\n height: 8rem;\n position: relative;\n border: 1px solid ${({ theme }) => theme.colors.neutral200};\n background: ${({ theme }) => theme.colors.neutral100};\n border-radius: ${({ theme }) => theme.borderRadius};\n max-width: 100%;\n\n &.active,\n &:focus,\n &:hover {\n border: 1px solid ${({ theme }) => theme.colors.primary200};\n background: ${({ theme }) => theme.colors.primary100};\n color: ${({ theme }) => theme.colors.primary600};\n\n ${CloseButton} {\n display: block;\n }\n\n /* > ComponentIcon */\n > div:first-child {\n background: ${({ theme }) => theme.colors.primary200};\n color: ${({ theme }) => theme.colors.primary600};\n\n svg {\n path {\n fill: ${({ theme }) => theme.colors.primary600};\n }\n }\n }\n }\n`;\n\nexport const ComponentCard = ({\n component,\n dzName,\n index,\n isActive = false,\n isInDevelopmentMode = false,\n onClick,\n forTarget,\n targetUid,\n disabled,\n}: ComponentCardProps) => {\n const { components, removeComponentFromDynamicZone } = useDataManager();\n const type = get(components, component);\n const { icon, displayName } = type?.info || {};\n\n const onClose = (e: any) => {\n e.stopPropagation();\n removeComponentFromDynamicZone({\n forTarget,\n targetUid,\n dzName,\n componentToRemoveIndex: index,\n });\n };\n\n return (\n <ComponentBox\n alignItems=\"center\"\n direction=\"column\"\n className={isActive ? 'active' : ''}\n borderRadius=\"borderRadius\"\n justifyContent=\"center\"\n paddingLeft={4}\n paddingRight={4}\n shrink={0}\n onClick={onClick}\n role=\"tab\"\n tabIndex={isActive ? 0 : -1}\n cursor=\"pointer\"\n aria-selected={isActive}\n aria-controls={`dz-${dzName}-panel-${index}`}\n id={`dz-${dzName}-tab-${index}`}\n >\n <ComponentIcon icon={icon} isActive={isActive} />\n\n <Box marginTop={1} maxWidth=\"100%\">\n <Typography variant=\"pi\" fontWeight=\"bold\" ellipsis>\n {displayName}\n </Typography>\n </Box>\n\n {isInDevelopmentMode && !disabled && (\n <CloseButton cursor=\"pointer\" tag=\"button\" onClick={onClose}>\n <Cross />\n </CloseButton>\n )}\n </ComponentBox>\n );\n};\n"],"names":["CloseButton","styled","Box","theme","colors","primary600","ComponentBox","Flex","neutral200","neutral100","borderRadius","primary200","primary100","ComponentCard","component","dzName","index","isActive","isInDevelopmentMode","onClick","forTarget","targetUid","disabled","components","removeComponentFromDynamicZone","useDataManager","type","get","icon","displayName","info","onClose","e","stopPropagation","componentToRemoveIndex","_jsxs","alignItems","direction","className","justifyContent","paddingLeft","paddingRight","shrink","role","tabIndex","cursor","aria-selected","aria-controls","id","_jsx","ComponentIcon","marginTop","maxWidth","Typography","variant","fontWeight","ellipsis","tag","Cross"],"mappings":";;;;;;;;;;AAuBA,MAAMA,WAAAA,GAAcC,uBAAAA,CAAOC,gBAAAA,CAAI;;;;;;;;;;;YAWnB,EAAE,CAAC,EAAEC,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACC,UAAU,CAAC;;;AAGrD,CAAC;AAED,MAAMC,YAAAA,GAAeL,uBAAAA,CAAOM,iBAAAA,CAAK;;;;oBAIb,EAAE,CAAC,EAAEJ,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACI,UAAU,CAAC;cAC/C,EAAE,CAAC,EAAEL,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACK,UAAU,CAAC;AACtC,iBAAA,EAAE,CAAC,EAAEN,KAAK,EAAE,GAAKA,KAAAA,CAAMO,YAAY,CAAC;;;;;;sBAM/B,EAAE,CAAC,EAAEP,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACO,UAAU,CAAC;gBAC/C,EAAE,CAAC,EAAER,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACQ,UAAU,CAAC;WAC9C,EAAE,CAAC,EAAET,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACC,UAAU,CAAC;;AAEhD,IAAA,EAAEL,WAAAA,CAAY;;;;;;kBAMA,EAAE,CAAC,EAAEG,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACO,UAAU,CAAC;aAC9C,EAAE,CAAC,EAAER,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACC,UAAU,CAAC;;;;gBAItC,EAAE,CAAC,EAAEF,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACC,UAAU,CAAC;;;;;AAKzD,CAAC;AAEM,MAAMQ,gBAAgB,CAAC,EAC5BC,SAAS,EACTC,MAAM,EACNC,KAAK,EACLC,QAAAA,GAAW,KAAK,EAChBC,mBAAAA,GAAsB,KAAK,EAC3BC,OAAO,EACPC,SAAS,EACTC,SAAS,EACTC,QAAQ,EACW,GAAA;AACnB,IAAA,MAAM,EAAEC,UAAU,EAAEC,8BAA8B,EAAE,GAAGC,6BAAAA,EAAAA;IACvD,MAAMC,IAAAA,GAAOC,IAAIJ,UAAAA,EAAYT,SAAAA,CAAAA;IAC7B,MAAM,EAAEc,IAAI,EAAEC,WAAW,EAAE,GAAGH,IAAAA,EAAMI,QAAQ,EAAC;AAE7C,IAAA,MAAMC,UAAU,CAACC,CAAAA,GAAAA;AACfA,QAAAA,CAAAA,CAAEC,eAAe,EAAA;QACjBT,8BAAAA,CAA+B;AAC7BJ,YAAAA,SAAAA;AACAC,YAAAA,SAAAA;AACAN,YAAAA,MAAAA;YACAmB,sBAAAA,EAAwBlB;AAC1B,SAAA,CAAA;AACF,IAAA,CAAA;AAEA,IAAA,qBACEmB,eAAA,CAAC7B,YAAAA,EAAAA;QACC8B,UAAAA,EAAW,QAAA;QACXC,SAAAA,EAAU,QAAA;AACVC,QAAAA,SAAAA,EAAWrB,WAAW,QAAA,GAAW,EAAA;QACjCP,YAAAA,EAAa,cAAA;QACb6B,cAAAA,EAAe,QAAA;QACfC,WAAAA,EAAa,CAAA;QACbC,YAAAA,EAAc,CAAA;QACdC,MAAAA,EAAQ,CAAA;QACRvB,OAAAA,EAASA,OAAAA;QACTwB,IAAAA,EAAK,KAAA;QACLC,QAAAA,EAAU3B,QAAAA,GAAW,IAAI,EAAC;QAC1B4B,MAAAA,EAAO,SAAA;QACPC,eAAAA,EAAe7B,QAAAA;AACf8B,QAAAA,eAAAA,EAAe,CAAC,GAAG,EAAEhC,MAAAA,CAAO,OAAO,EAAEC,KAAAA,CAAAA,CAAO;AAC5CgC,QAAAA,EAAAA,EAAI,CAAC,GAAG,EAAEjC,MAAAA,CAAO,KAAK,EAAEC,KAAAA,CAAAA,CAAO;;0BAE/BiC,cAAA,CAACC,2BAAAA,EAAAA;gBAActB,IAAAA,EAAMA,IAAAA;gBAAMX,QAAAA,EAAUA;;0BAErCgC,cAAA,CAAC/C,gBAAAA,EAAAA;gBAAIiD,SAAAA,EAAW,CAAA;gBAAGC,QAAAA,EAAS,MAAA;AAC1B,gBAAA,QAAA,gBAAAH,cAAA,CAACI,uBAAAA,EAAAA;oBAAWC,OAAAA,EAAQ,IAAA;oBAAKC,UAAAA,EAAW,MAAA;oBAAOC,QAAQ,EAAA,IAAA;AAChD3B,oBAAAA,QAAAA,EAAAA;;;YAIJX,mBAAAA,IAAuB,CAACI,0BACvB2B,cAAA,CAACjD,WAAAA,EAAAA;gBAAY6C,MAAAA,EAAO,SAAA;gBAAUY,GAAAA,EAAI,QAAA;gBAAStC,OAAAA,EAASY,OAAAA;AAClD,gBAAA,QAAA,gBAAAkB,cAAA,CAACS,WAAAA,EAAAA,EAAAA;;;;AAKX;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
-
import { Box,
|
|
2
|
+
import { Box, Typography, Flex } from '@strapi/design-system';
|
|
3
3
|
import { Cross } from '@strapi/icons';
|
|
4
4
|
import get from 'lodash/get';
|
|
5
5
|
import { styled } from 'styled-components';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComponentCard.mjs","sources":["../../../../admin/src/components/ComponentCard/ComponentCard.tsx"],"sourcesContent":["import { Box, Flex, Typography } from '@strapi/design-system';\nimport { Cross } from '@strapi/icons';\nimport get from 'lodash/get';\nimport { styled } from 'styled-components';\n\nimport { useDataManager } from '../DataManager/useDataManager';\n\nimport { ComponentIcon } from './ComponentIcon';\n\nimport type { Internal, Struct } from '@strapi/types';\n\ninterface ComponentCardProps {\n component: string;\n dzName: string;\n index: number;\n isActive?: boolean;\n isInDevelopmentMode?: boolean;\n onClick?: () => void;\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n disabled?: boolean;\n}\n\nconst CloseButton = styled(Box)`\n position: absolute;\n display: none;\n top: 5px;\n right: 0.8rem;\n\n svg {\n width: 1rem;\n height: 1rem;\n\n path {\n fill: ${({ theme }) => theme.colors.primary600};\n }\n }\n`;\n\nconst ComponentBox = styled(Flex)`\n width: 14rem;\n height: 8rem;\n position: relative;\n border: 1px solid ${({ theme }) => theme.colors.neutral200};\n background: ${({ theme }) => theme.colors.neutral100};\n border-radius: ${({ theme }) => theme.borderRadius};\n max-width: 100%;\n\n &.active,\n &:focus,\n &:hover {\n border: 1px solid ${({ theme }) => theme.colors.primary200};\n background: ${({ theme }) => theme.colors.primary100};\n color: ${({ theme }) => theme.colors.primary600};\n\n ${CloseButton} {\n display: block;\n }\n\n /* > ComponentIcon */\n > div:first-child {\n background: ${({ theme }) => theme.colors.primary200};\n color: ${({ theme }) => theme.colors.primary600};\n\n svg {\n path {\n fill: ${({ theme }) => theme.colors.primary600};\n }\n }\n }\n }\n`;\n\nexport const ComponentCard = ({\n component,\n dzName,\n index,\n isActive = false,\n isInDevelopmentMode = false,\n onClick,\n forTarget,\n targetUid,\n disabled,\n}: ComponentCardProps) => {\n const { components, removeComponentFromDynamicZone } = useDataManager();\n const type = get(components, component);\n const { icon, displayName } = type?.info || {};\n\n const onClose = (e: any) => {\n e.stopPropagation();\n removeComponentFromDynamicZone({\n forTarget,\n targetUid,\n dzName,\n componentToRemoveIndex: index,\n });\n };\n\n return (\n <ComponentBox\n alignItems=\"center\"\n direction=\"column\"\n className={isActive ? 'active' : ''}\n borderRadius=\"borderRadius\"\n justifyContent=\"center\"\n paddingLeft={4}\n paddingRight={4}\n shrink={0}\n onClick={onClick}\n role=\"tab\"\n tabIndex={isActive ? 0 : -1}\n cursor=\"pointer\"\n aria-selected={isActive}\n aria-controls={`dz-${dzName}-panel-${index}`}\n id={`dz-${dzName}-tab-${index}`}\n >\n <ComponentIcon icon={icon} isActive={isActive} />\n\n <Box marginTop={1} maxWidth=\"100%\">\n <Typography variant=\"pi\" fontWeight=\"bold\" ellipsis>\n {displayName}\n </Typography>\n </Box>\n\n {isInDevelopmentMode && !disabled && (\n <CloseButton cursor=\"pointer\" tag=\"button\" onClick={onClose}>\n <Cross />\n </CloseButton>\n )}\n </ComponentBox>\n );\n};\n"],"names":["CloseButton","styled","Box","theme","colors","primary600","ComponentBox","Flex","neutral200","neutral100","borderRadius","primary200","primary100","ComponentCard","component","dzName","index","isActive","isInDevelopmentMode","onClick","forTarget","targetUid","disabled","components","removeComponentFromDynamicZone","useDataManager","type","get","icon","displayName","info","onClose","e","stopPropagation","componentToRemoveIndex","_jsxs","alignItems","direction","className","justifyContent","paddingLeft","paddingRight","shrink","role","tabIndex","cursor","aria-selected","aria-controls","id","_jsx","ComponentIcon","marginTop","maxWidth","Typography","variant","fontWeight","ellipsis","tag","Cross"],"mappings":";;;;;;;;AAuBA,MAAMA,WAAAA,GAAcC,
|
|
1
|
+
{"version":3,"file":"ComponentCard.mjs","sources":["../../../../admin/src/components/ComponentCard/ComponentCard.tsx"],"sourcesContent":["import { Box, Flex, Typography } from '@strapi/design-system';\nimport { Cross } from '@strapi/icons';\nimport get from 'lodash/get';\nimport { styled } from 'styled-components';\n\nimport { useDataManager } from '../DataManager/useDataManager';\n\nimport { ComponentIcon } from './ComponentIcon';\n\nimport type { Internal, Struct } from '@strapi/types';\n\ninterface ComponentCardProps {\n component: string;\n dzName: string;\n index: number;\n isActive?: boolean;\n isInDevelopmentMode?: boolean;\n onClick?: () => void;\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n disabled?: boolean;\n}\n\nconst CloseButton = styled(Box)`\n position: absolute;\n display: none;\n top: 5px;\n right: 0.8rem;\n\n svg {\n width: 1rem;\n height: 1rem;\n\n path {\n fill: ${({ theme }) => theme.colors.primary600};\n }\n }\n`;\n\nconst ComponentBox = styled(Flex)`\n width: 14rem;\n height: 8rem;\n position: relative;\n border: 1px solid ${({ theme }) => theme.colors.neutral200};\n background: ${({ theme }) => theme.colors.neutral100};\n border-radius: ${({ theme }) => theme.borderRadius};\n max-width: 100%;\n\n &.active,\n &:focus,\n &:hover {\n border: 1px solid ${({ theme }) => theme.colors.primary200};\n background: ${({ theme }) => theme.colors.primary100};\n color: ${({ theme }) => theme.colors.primary600};\n\n ${CloseButton} {\n display: block;\n }\n\n /* > ComponentIcon */\n > div:first-child {\n background: ${({ theme }) => theme.colors.primary200};\n color: ${({ theme }) => theme.colors.primary600};\n\n svg {\n path {\n fill: ${({ theme }) => theme.colors.primary600};\n }\n }\n }\n }\n`;\n\nexport const ComponentCard = ({\n component,\n dzName,\n index,\n isActive = false,\n isInDevelopmentMode = false,\n onClick,\n forTarget,\n targetUid,\n disabled,\n}: ComponentCardProps) => {\n const { components, removeComponentFromDynamicZone } = useDataManager();\n const type = get(components, component);\n const { icon, displayName } = type?.info || {};\n\n const onClose = (e: any) => {\n e.stopPropagation();\n removeComponentFromDynamicZone({\n forTarget,\n targetUid,\n dzName,\n componentToRemoveIndex: index,\n });\n };\n\n return (\n <ComponentBox\n alignItems=\"center\"\n direction=\"column\"\n className={isActive ? 'active' : ''}\n borderRadius=\"borderRadius\"\n justifyContent=\"center\"\n paddingLeft={4}\n paddingRight={4}\n shrink={0}\n onClick={onClick}\n role=\"tab\"\n tabIndex={isActive ? 0 : -1}\n cursor=\"pointer\"\n aria-selected={isActive}\n aria-controls={`dz-${dzName}-panel-${index}`}\n id={`dz-${dzName}-tab-${index}`}\n >\n <ComponentIcon icon={icon} isActive={isActive} />\n\n <Box marginTop={1} maxWidth=\"100%\">\n <Typography variant=\"pi\" fontWeight=\"bold\" ellipsis>\n {displayName}\n </Typography>\n </Box>\n\n {isInDevelopmentMode && !disabled && (\n <CloseButton cursor=\"pointer\" tag=\"button\" onClick={onClose}>\n <Cross />\n </CloseButton>\n )}\n </ComponentBox>\n );\n};\n"],"names":["CloseButton","styled","Box","theme","colors","primary600","ComponentBox","Flex","neutral200","neutral100","borderRadius","primary200","primary100","ComponentCard","component","dzName","index","isActive","isInDevelopmentMode","onClick","forTarget","targetUid","disabled","components","removeComponentFromDynamicZone","useDataManager","type","get","icon","displayName","info","onClose","e","stopPropagation","componentToRemoveIndex","_jsxs","alignItems","direction","className","justifyContent","paddingLeft","paddingRight","shrink","role","tabIndex","cursor","aria-selected","aria-controls","id","_jsx","ComponentIcon","marginTop","maxWidth","Typography","variant","fontWeight","ellipsis","tag","Cross"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComponentIcon.js","sources":["../../../../../admin/src/components/ComponentCard/ComponentIcon/ComponentIcon.tsx"],"sourcesContent":["import { Flex } from '@strapi/design-system';\n\nimport { COMPONENT_ICONS } from '../../IconPicker/constants';\n\ninterface ComponentIconProps {\n isActive?: boolean;\n icon?: keyof typeof COMPONENT_ICONS;\n}\n\nexport const ComponentIcon = ({ isActive = false, icon = 'dashboard' }: ComponentIconProps) => {\n const Icon = COMPONENT_ICONS[icon] || COMPONENT_ICONS.dashboard;\n\n return (\n <Flex\n alignItems=\"center\"\n background={isActive ? 'primary200' : 'neutral200'}\n justifyContent=\"center\"\n height={8}\n width={8}\n borderRadius=\"50%\"\n >\n <Icon height=\"2rem\" width=\"2rem\" />\n </Flex>\n );\n};\n"],"names":["ComponentIcon","isActive","icon","Icon","COMPONENT_ICONS","dashboard","_jsx","Flex","alignItems","background","justifyContent","height","width","borderRadius"],"mappings":";;;;;;AASO,MAAMA,gBAAgB,CAAC,EAAEC,WAAW,KAAK,EAAEC,
|
|
1
|
+
{"version":3,"file":"ComponentIcon.js","sources":["../../../../../admin/src/components/ComponentCard/ComponentIcon/ComponentIcon.tsx"],"sourcesContent":["import { Flex } from '@strapi/design-system';\n\nimport { COMPONENT_ICONS } from '../../IconPicker/constants';\n\ninterface ComponentIconProps {\n isActive?: boolean;\n icon?: keyof typeof COMPONENT_ICONS;\n}\n\nexport const ComponentIcon = ({ isActive = false, icon = 'dashboard' }: ComponentIconProps) => {\n const Icon = COMPONENT_ICONS[icon] || COMPONENT_ICONS.dashboard;\n\n return (\n <Flex\n alignItems=\"center\"\n background={isActive ? 'primary200' : 'neutral200'}\n justifyContent=\"center\"\n height={8}\n width={8}\n borderRadius=\"50%\"\n >\n <Icon height=\"2rem\" width=\"2rem\" />\n </Flex>\n );\n};\n"],"names":["ComponentIcon","isActive","icon","Icon","COMPONENT_ICONS","dashboard","_jsx","Flex","alignItems","background","justifyContent","height","width","borderRadius"],"mappings":";;;;;;AASO,MAAMA,gBAAgB,CAAC,EAAEC,WAAW,KAAK,EAAEC,IAAAA,GAAO,WAAW,EAAsB,GAAA;AACxF,IAAA,MAAMC,OAAOC,yBAAe,CAACF,IAAAA,CAAK,IAAIE,0BAAgBC,SAAS;AAE/D,IAAA,qBACEC,cAAA,CAACC,iBAAAA,EAAAA;QACCC,UAAAA,EAAW,QAAA;AACXC,QAAAA,UAAAA,EAAYR,WAAW,YAAA,GAAe,YAAA;QACtCS,cAAAA,EAAe,QAAA;QACfC,MAAAA,EAAQ,CAAA;QACRC,KAAAA,EAAO,CAAA;QACPC,YAAAA,EAAa,KAAA;AAEb,QAAA,QAAA,gBAAAP,cAAA,CAACH,IAAAA,EAAAA;YAAKQ,MAAAA,EAAO,MAAA;YAAOC,KAAAA,EAAM;;;AAGhC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComponentIcon.mjs","sources":["../../../../../admin/src/components/ComponentCard/ComponentIcon/ComponentIcon.tsx"],"sourcesContent":["import { Flex } from '@strapi/design-system';\n\nimport { COMPONENT_ICONS } from '../../IconPicker/constants';\n\ninterface ComponentIconProps {\n isActive?: boolean;\n icon?: keyof typeof COMPONENT_ICONS;\n}\n\nexport const ComponentIcon = ({ isActive = false, icon = 'dashboard' }: ComponentIconProps) => {\n const Icon = COMPONENT_ICONS[icon] || COMPONENT_ICONS.dashboard;\n\n return (\n <Flex\n alignItems=\"center\"\n background={isActive ? 'primary200' : 'neutral200'}\n justifyContent=\"center\"\n height={8}\n width={8}\n borderRadius=\"50%\"\n >\n <Icon height=\"2rem\" width=\"2rem\" />\n </Flex>\n );\n};\n"],"names":["ComponentIcon","isActive","icon","Icon","COMPONENT_ICONS","dashboard","_jsx","Flex","alignItems","background","justifyContent","height","width","borderRadius"],"mappings":";;;;AASO,MAAMA,gBAAgB,CAAC,EAAEC,WAAW,KAAK,EAAEC,
|
|
1
|
+
{"version":3,"file":"ComponentIcon.mjs","sources":["../../../../../admin/src/components/ComponentCard/ComponentIcon/ComponentIcon.tsx"],"sourcesContent":["import { Flex } from '@strapi/design-system';\n\nimport { COMPONENT_ICONS } from '../../IconPicker/constants';\n\ninterface ComponentIconProps {\n isActive?: boolean;\n icon?: keyof typeof COMPONENT_ICONS;\n}\n\nexport const ComponentIcon = ({ isActive = false, icon = 'dashboard' }: ComponentIconProps) => {\n const Icon = COMPONENT_ICONS[icon] || COMPONENT_ICONS.dashboard;\n\n return (\n <Flex\n alignItems=\"center\"\n background={isActive ? 'primary200' : 'neutral200'}\n justifyContent=\"center\"\n height={8}\n width={8}\n borderRadius=\"50%\"\n >\n <Icon height=\"2rem\" width=\"2rem\" />\n </Flex>\n );\n};\n"],"names":["ComponentIcon","isActive","icon","Icon","COMPONENT_ICONS","dashboard","_jsx","Flex","alignItems","background","justifyContent","height","width","borderRadius"],"mappings":";;;;AASO,MAAMA,gBAAgB,CAAC,EAAEC,WAAW,KAAK,EAAEC,IAAAA,GAAO,WAAW,EAAsB,GAAA;AACxF,IAAA,MAAMC,OAAOC,eAAe,CAACF,IAAAA,CAAK,IAAIE,gBAAgBC,SAAS;AAE/D,IAAA,qBACEC,GAAA,CAACC,IAAAA,EAAAA;QACCC,UAAAA,EAAW,QAAA;AACXC,QAAAA,UAAAA,EAAYR,WAAW,YAAA,GAAe,YAAA;QACtCS,cAAAA,EAAe,QAAA;QACfC,MAAAA,EAAQ,CAAA;QACRC,KAAAA,EAAO,CAAA;QACPC,YAAAA,EAAa,KAAA;AAEb,QAAA,QAAA,gBAAAP,GAAA,CAACH,IAAAA,EAAAA;YAAKQ,MAAAA,EAAO,MAAA;YAAOC,KAAAA,EAAM;;;AAGhC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComponentList.js","sources":["../../../admin/src/components/ComponentList.tsx"],"sourcesContent":["import get from 'lodash/get';\n\nimport { ComponentRow } from './ComponentRow';\nimport { useDataManager } from './DataManager/useDataManager';\nimport { List } from './List';\n\nimport type { UID } from '@strapi/types';\n\ninterface ComponentListProps {\n component: UID.Component;\n firstLoopComponentUid?: UID.Component | null;\n isFromDynamicZone?: boolean;\n}\n\nexport const ComponentList = ({\n component,\n isFromDynamicZone = false,\n firstLoopComponentUid,\n}: ComponentListProps) => {\n const { components } = useDataManager();\n const type = get(components, component);\n\n if (!type) return;\n\n return (\n <ComponentRow $isChildOfDynamicZone={isFromDynamicZone} className=\"component-row\">\n <List\n type={type}\n firstLoopComponentUid={firstLoopComponentUid || component}\n isFromDynamicZone={isFromDynamicZone}\n isSub\n secondLoopComponentUid={firstLoopComponentUid ? component : null}\n />\n </ComponentRow>\n );\n};\n"],"names":["ComponentList","component","isFromDynamicZone","firstLoopComponentUid","components","useDataManager","type","get","_jsx","ComponentRow","$isChildOfDynamicZone","className","List","isSub","secondLoopComponentUid"],"mappings":";;;;;;;;AAcO,MAAMA,
|
|
1
|
+
{"version":3,"file":"ComponentList.js","sources":["../../../admin/src/components/ComponentList.tsx"],"sourcesContent":["import get from 'lodash/get';\n\nimport { ComponentRow } from './ComponentRow';\nimport { useDataManager } from './DataManager/useDataManager';\nimport { List } from './List';\n\nimport type { UID } from '@strapi/types';\n\ninterface ComponentListProps {\n component: UID.Component;\n firstLoopComponentUid?: UID.Component | null;\n isFromDynamicZone?: boolean;\n}\n\nexport const ComponentList = ({\n component,\n isFromDynamicZone = false,\n firstLoopComponentUid,\n}: ComponentListProps) => {\n const { components } = useDataManager();\n const type = get(components, component);\n\n if (!type) return;\n\n return (\n <ComponentRow $isChildOfDynamicZone={isFromDynamicZone} className=\"component-row\">\n <List\n type={type}\n firstLoopComponentUid={firstLoopComponentUid || component}\n isFromDynamicZone={isFromDynamicZone}\n isSub\n secondLoopComponentUid={firstLoopComponentUid ? component : null}\n />\n </ComponentRow>\n );\n};\n"],"names":["ComponentList","component","isFromDynamicZone","firstLoopComponentUid","components","useDataManager","type","get","_jsx","ComponentRow","$isChildOfDynamicZone","className","List","isSub","secondLoopComponentUid"],"mappings":";;;;;;;;AAcO,MAAMA,aAAAA,GAAgB,CAAC,EAC5BC,SAAS,EACTC,iBAAAA,GAAoB,KAAK,EACzBC,qBAAqB,EACF,GAAA;IACnB,MAAM,EAAEC,UAAU,EAAE,GAAGC,6BAAAA,EAAAA;IACvB,MAAMC,IAAAA,GAAOC,IAAIH,UAAAA,EAAYH,SAAAA,CAAAA;AAE7B,IAAA,IAAI,CAACK,IAAAA,EAAM;AAEX,IAAA,qBACEE,cAAA,CAACC,yBAAAA,EAAAA;QAAaC,qBAAAA,EAAuBR,iBAAAA;QAAmBS,SAAAA,EAAU,eAAA;AAChE,QAAA,QAAA,gBAAAH,cAAA,CAACI,SAAAA,EAAAA;YACCN,IAAAA,EAAMA,IAAAA;AACNH,YAAAA,qBAAAA,EAAuBA,qBAAAA,IAAyBF,SAAAA;YAChDC,iBAAAA,EAAmBA,iBAAAA;YACnBW,KAAK,EAAA,IAAA;AACLC,YAAAA,sBAAAA,EAAwBX,wBAAwBF,SAAAA,GAAY;;;AAIpE;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComponentList.mjs","sources":["../../../admin/src/components/ComponentList.tsx"],"sourcesContent":["import get from 'lodash/get';\n\nimport { ComponentRow } from './ComponentRow';\nimport { useDataManager } from './DataManager/useDataManager';\nimport { List } from './List';\n\nimport type { UID } from '@strapi/types';\n\ninterface ComponentListProps {\n component: UID.Component;\n firstLoopComponentUid?: UID.Component | null;\n isFromDynamicZone?: boolean;\n}\n\nexport const ComponentList = ({\n component,\n isFromDynamicZone = false,\n firstLoopComponentUid,\n}: ComponentListProps) => {\n const { components } = useDataManager();\n const type = get(components, component);\n\n if (!type) return;\n\n return (\n <ComponentRow $isChildOfDynamicZone={isFromDynamicZone} className=\"component-row\">\n <List\n type={type}\n firstLoopComponentUid={firstLoopComponentUid || component}\n isFromDynamicZone={isFromDynamicZone}\n isSub\n secondLoopComponentUid={firstLoopComponentUid ? component : null}\n />\n </ComponentRow>\n );\n};\n"],"names":["ComponentList","component","isFromDynamicZone","firstLoopComponentUid","components","useDataManager","type","get","_jsx","ComponentRow","$isChildOfDynamicZone","className","List","isSub","secondLoopComponentUid"],"mappings":";;;;;;AAcO,MAAMA,
|
|
1
|
+
{"version":3,"file":"ComponentList.mjs","sources":["../../../admin/src/components/ComponentList.tsx"],"sourcesContent":["import get from 'lodash/get';\n\nimport { ComponentRow } from './ComponentRow';\nimport { useDataManager } from './DataManager/useDataManager';\nimport { List } from './List';\n\nimport type { UID } from '@strapi/types';\n\ninterface ComponentListProps {\n component: UID.Component;\n firstLoopComponentUid?: UID.Component | null;\n isFromDynamicZone?: boolean;\n}\n\nexport const ComponentList = ({\n component,\n isFromDynamicZone = false,\n firstLoopComponentUid,\n}: ComponentListProps) => {\n const { components } = useDataManager();\n const type = get(components, component);\n\n if (!type) return;\n\n return (\n <ComponentRow $isChildOfDynamicZone={isFromDynamicZone} className=\"component-row\">\n <List\n type={type}\n firstLoopComponentUid={firstLoopComponentUid || component}\n isFromDynamicZone={isFromDynamicZone}\n isSub\n secondLoopComponentUid={firstLoopComponentUid ? component : null}\n />\n </ComponentRow>\n );\n};\n"],"names":["ComponentList","component","isFromDynamicZone","firstLoopComponentUid","components","useDataManager","type","get","_jsx","ComponentRow","$isChildOfDynamicZone","className","List","isSub","secondLoopComponentUid"],"mappings":";;;;;;AAcO,MAAMA,aAAAA,GAAgB,CAAC,EAC5BC,SAAS,EACTC,iBAAAA,GAAoB,KAAK,EACzBC,qBAAqB,EACF,GAAA;IACnB,MAAM,EAAEC,UAAU,EAAE,GAAGC,cAAAA,EAAAA;IACvB,MAAMC,IAAAA,GAAOC,IAAIH,UAAAA,EAAYH,SAAAA,CAAAA;AAE7B,IAAA,IAAI,CAACK,IAAAA,EAAM;AAEX,IAAA,qBACEE,GAAA,CAACC,YAAAA,EAAAA;QAAaC,qBAAAA,EAAuBR,iBAAAA;QAAmBS,SAAAA,EAAU,eAAA;AAChE,QAAA,QAAA,gBAAAH,GAAA,CAACI,IAAAA,EAAAA;YACCN,IAAAA,EAAMA,IAAAA;AACNH,YAAAA,qBAAAA,EAAuBA,qBAAAA,IAAyBF,SAAAA;YAChDC,iBAAAA,EAAmBA,iBAAAA;YACnBW,KAAK,EAAA,IAAA;AACLC,YAAAA,sBAAAA,EAAwBX,wBAAwBF,SAAAA,GAAY;;;AAIpE;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComponentRow.js","sources":["../../../admin/src/components/ComponentRow.tsx"],"sourcesContent":["import { Box } from '@strapi/design-system';\nimport { styled } from 'styled-components';\n\nexport const ComponentRow = styled(Box)<{\n $isFromDynamicZone?: boolean;\n $isChildOfDynamicZone?: boolean;\n}>`\n &.component-row,\n &.dynamiczone-row {\n position: relative;\n\n > ul:first-of-type {\n padding: 0 0 0 104px;\n position: relative;\n\n &::before {\n content: '';\n width: 0.4rem;\n height: ${({ $isFromDynamicZone }) =>\n $isFromDynamicZone ? 'calc(100% - 65px)' : 'calc(100%)'};\n position: absolute;\n left: 7rem;\n border-radius: 4px;\n\n ${({ $isFromDynamicZone, $isChildOfDynamicZone, theme }) => {\n if ($isChildOfDynamicZone) {\n return `background-color: ${theme.colors.primary200};`;\n }\n\n if ($isFromDynamicZone) {\n return `background-color: ${theme.colors.primary200};`;\n }\n\n return `background: ${theme.colors.neutral150};`;\n }}\n }\n }\n }\n\n &.dynamiczone-row > ul:first-of-type {\n padding: 0;\n }\n`;\n"],"names":["ComponentRow","styled","Box","$isFromDynamicZone","$isChildOfDynamicZone","theme","colors","primary200","neutral150"],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"ComponentRow.js","sources":["../../../admin/src/components/ComponentRow.tsx"],"sourcesContent":["import { Box } from '@strapi/design-system';\nimport { styled } from 'styled-components';\n\nexport const ComponentRow = styled(Box)<{\n $isFromDynamicZone?: boolean;\n $isChildOfDynamicZone?: boolean;\n}>`\n &.component-row,\n &.dynamiczone-row {\n position: relative;\n\n > ul:first-of-type {\n padding: 0 0 0 104px;\n position: relative;\n\n &::before {\n content: '';\n width: 0.4rem;\n height: ${({ $isFromDynamicZone }) =>\n $isFromDynamicZone ? 'calc(100% - 65px)' : 'calc(100%)'};\n position: absolute;\n left: 7rem;\n border-radius: 4px;\n\n ${({ $isFromDynamicZone, $isChildOfDynamicZone, theme }) => {\n if ($isChildOfDynamicZone) {\n return `background-color: ${theme.colors.primary200};`;\n }\n\n if ($isFromDynamicZone) {\n return `background-color: ${theme.colors.primary200};`;\n }\n\n return `background: ${theme.colors.neutral150};`;\n }}\n }\n }\n }\n\n &.dynamiczone-row > ul:first-of-type {\n padding: 0;\n }\n`;\n"],"names":["ComponentRow","styled","Box","$isFromDynamicZone","$isChildOfDynamicZone","theme","colors","primary200","neutral150"],"mappings":";;;;;AAGO,MAAMA,YAAAA,GAAeC,uBAAAA,CAAOC,gBAAAA,CAGjC;;;;;;;;;;;;AAYc,gBAAA,EAAE,CAAC,EAAEC,kBAAkB,EAAE,GAC/BA,kBAAAA,GAAqB,sBAAsB,YAAA,CAAa;;;;;AAK1D,QAAA,EAAE,CAAC,EAAEA,kBAAkB,EAAEC,qBAAqB,EAAEC,KAAK,EAAE,GAAA;AACrD,IAAA,IAAID,qBAAAA,EAAuB;QACzB,OAAO,CAAC,kBAAkB,EAAEC,KAAAA,CAAMC,MAAM,CAACC,UAAU,CAAC,CAAC,CAAC;AACxD,IAAA;AAEA,IAAA,IAAIJ,kBAAAA,EAAoB;QACtB,OAAO,CAAC,kBAAkB,EAAEE,KAAAA,CAAMC,MAAM,CAACC,UAAU,CAAC,CAAC,CAAC;AACxD,IAAA;IAEA,OAAO,CAAC,YAAY,EAAEF,KAAAA,CAAMC,MAAM,CAACE,UAAU,CAAC,CAAC,CAAC;AAClD,CAAA;;;;;;;;AAQR;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComponentRow.mjs","sources":["../../../admin/src/components/ComponentRow.tsx"],"sourcesContent":["import { Box } from '@strapi/design-system';\nimport { styled } from 'styled-components';\n\nexport const ComponentRow = styled(Box)<{\n $isFromDynamicZone?: boolean;\n $isChildOfDynamicZone?: boolean;\n}>`\n &.component-row,\n &.dynamiczone-row {\n position: relative;\n\n > ul:first-of-type {\n padding: 0 0 0 104px;\n position: relative;\n\n &::before {\n content: '';\n width: 0.4rem;\n height: ${({ $isFromDynamicZone }) =>\n $isFromDynamicZone ? 'calc(100% - 65px)' : 'calc(100%)'};\n position: absolute;\n left: 7rem;\n border-radius: 4px;\n\n ${({ $isFromDynamicZone, $isChildOfDynamicZone, theme }) => {\n if ($isChildOfDynamicZone) {\n return `background-color: ${theme.colors.primary200};`;\n }\n\n if ($isFromDynamicZone) {\n return `background-color: ${theme.colors.primary200};`;\n }\n\n return `background: ${theme.colors.neutral150};`;\n }}\n }\n }\n }\n\n &.dynamiczone-row > ul:first-of-type {\n padding: 0;\n }\n`;\n"],"names":["ComponentRow","styled","Box","$isFromDynamicZone","$isChildOfDynamicZone","theme","colors","primary200","neutral150"],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"ComponentRow.mjs","sources":["../../../admin/src/components/ComponentRow.tsx"],"sourcesContent":["import { Box } from '@strapi/design-system';\nimport { styled } from 'styled-components';\n\nexport const ComponentRow = styled(Box)<{\n $isFromDynamicZone?: boolean;\n $isChildOfDynamicZone?: boolean;\n}>`\n &.component-row,\n &.dynamiczone-row {\n position: relative;\n\n > ul:first-of-type {\n padding: 0 0 0 104px;\n position: relative;\n\n &::before {\n content: '';\n width: 0.4rem;\n height: ${({ $isFromDynamicZone }) =>\n $isFromDynamicZone ? 'calc(100% - 65px)' : 'calc(100%)'};\n position: absolute;\n left: 7rem;\n border-radius: 4px;\n\n ${({ $isFromDynamicZone, $isChildOfDynamicZone, theme }) => {\n if ($isChildOfDynamicZone) {\n return `background-color: ${theme.colors.primary200};`;\n }\n\n if ($isFromDynamicZone) {\n return `background-color: ${theme.colors.primary200};`;\n }\n\n return `background: ${theme.colors.neutral150};`;\n }}\n }\n }\n }\n\n &.dynamiczone-row > ul:first-of-type {\n padding: 0;\n }\n`;\n"],"names":["ComponentRow","styled","Box","$isFromDynamicZone","$isChildOfDynamicZone","theme","colors","primary200","neutral150"],"mappings":";;;AAGO,MAAMA,YAAAA,GAAeC,MAAAA,CAAOC,GAAAA,CAGjC;;;;;;;;;;;;AAYc,gBAAA,EAAE,CAAC,EAAEC,kBAAkB,EAAE,GAC/BA,kBAAAA,GAAqB,sBAAsB,YAAA,CAAa;;;;;AAK1D,QAAA,EAAE,CAAC,EAAEA,kBAAkB,EAAEC,qBAAqB,EAAEC,KAAK,EAAE,GAAA;AACrD,IAAA,IAAID,qBAAAA,EAAuB;QACzB,OAAO,CAAC,kBAAkB,EAAEC,KAAAA,CAAMC,MAAM,CAACC,UAAU,CAAC,CAAC,CAAC;AACxD,IAAA;AAEA,IAAA,IAAIJ,kBAAAA,EAAoB;QACtB,OAAO,CAAC,kBAAkB,EAAEE,KAAAA,CAAMC,MAAM,CAACC,UAAU,CAAC,CAAC,CAAC;AACxD,IAAA;IAEA,OAAO,CAAC,YAAY,EAAEF,KAAAA,CAAMC,MAAM,CAACE,UAAU,CAAC,CAAC,CAAC;AAClD,CAAA;;;;;;;;AAQR;;;;"}
|