@webiny/app-headless-cms 5.33.5 → 5.34.0-beta.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/HeadlessCMS.js +4 -0
- package/HeadlessCMS.js.map +1 -1
- package/admin/components/ContentEntryForm/ContentEntryForm.js +35 -32
- package/admin/components/ContentEntryForm/ContentEntryForm.js.map +1 -1
- package/admin/components/ContentEntryForm/Fields.d.ts +2 -2
- package/admin/components/ContentEntryForm/Fields.js.map +1 -1
- package/admin/components/ContentEntryForm/Label.js +1 -1
- package/admin/components/ContentEntryForm/Label.js.map +1 -1
- package/admin/components/ContentEntryForm/RenderFieldElement.d.ts +2 -2
- package/admin/components/ContentEntryForm/RenderFieldElement.js +6 -2
- package/admin/components/ContentEntryForm/RenderFieldElement.js.map +1 -1
- package/admin/components/ContentEntryForm/functions/getValue.d.ts +2 -2
- package/admin/components/ContentEntryForm/functions/getValue.js.map +1 -1
- package/admin/components/ContentEntryForm/functions/setValue.d.ts +2 -2
- package/admin/components/ContentEntryForm/functions/setValue.js.map +1 -1
- package/admin/components/ContentEntryForm/useBind.d.ts +2 -2
- package/admin/components/ContentEntryForm/useBind.js +11 -8
- package/admin/components/ContentEntryForm/useBind.js.map +1 -1
- package/admin/components/ContentEntryForm/useContentEntryForm.d.ts +1 -2
- package/admin/components/ContentEntryForm/useContentEntryForm.js +187 -147
- package/admin/components/ContentEntryForm/useContentEntryForm.js.map +1 -1
- package/admin/components/ContentModelEditor/{Context.d.ts → ContentModelEditorProvider.d.ts} +10 -4
- package/admin/components/ContentModelEditor/{Context.js → ContentModelEditorProvider.js} +60 -116
- package/admin/components/ContentModelEditor/ContentModelEditorProvider.js.map +1 -0
- package/admin/components/ContentModelEditor/Editor.js +5 -5
- package/admin/components/ContentModelEditor/Editor.js.map +1 -1
- package/admin/components/ContentModelEditor/FieldsSidebar.js.map +1 -1
- package/admin/components/ContentModelEditor/PreviewTab.js +3 -3
- package/admin/components/ContentModelEditor/PreviewTab.js.map +1 -1
- package/admin/components/ContentModelEditor/index.d.ts +2 -0
- package/admin/components/ContentModelEditor/index.js +31 -0
- package/admin/components/ContentModelEditor/index.js.map +1 -0
- package/admin/components/ContentModelEditor/useModelEditor.d.ts +1 -0
- package/admin/components/ContentModelEditor/{useContentModelEditor.js → useModelEditor.js} +4 -4
- package/admin/components/ContentModelEditor/useModelEditor.js.map +1 -0
- package/admin/{views/contentModelGroups → components}/DelayedOnChange.d.ts +0 -0
- package/admin/{views/contentModelGroups → components}/DelayedOnChange.js +0 -0
- package/admin/{views/contentModelGroups → components}/DelayedOnChange.js.map +0 -0
- package/admin/components/Dialog.d.ts +4 -0
- package/admin/components/Dialog.js +32 -0
- package/admin/components/Dialog.js.map +1 -0
- package/admin/components/DropZone/Center.d.ts +2 -1
- package/admin/components/DropZone/Center.js +38 -44
- package/admin/components/DropZone/Center.js.map +1 -1
- package/admin/components/Droppable.d.ts +1 -0
- package/admin/components/Droppable.js +12 -1
- package/admin/components/Droppable.js.map +1 -1
- package/admin/components/FieldEditor/EditFieldDialog/AppearanceTab.d.ts +2 -8
- package/admin/components/FieldEditor/EditFieldDialog/AppearanceTab.js +20 -9
- package/admin/components/FieldEditor/EditFieldDialog/AppearanceTab.js.map +1 -1
- package/admin/components/FieldEditor/EditFieldDialog/GeneralTab.d.ts +2 -9
- package/admin/components/FieldEditor/EditFieldDialog/GeneralTab.js +35 -21
- package/admin/components/FieldEditor/EditFieldDialog/GeneralTab.js.map +1 -1
- package/admin/components/FieldEditor/EditFieldDialog/PredefinedValues.d.ts +2 -9
- package/admin/components/FieldEditor/EditFieldDialog/PredefinedValues.js +14 -12
- package/admin/components/FieldEditor/EditFieldDialog/PredefinedValues.js.map +1 -1
- package/admin/components/FieldEditor/EditFieldDialog/ValidationsSection.d.ts +10 -0
- package/admin/components/FieldEditor/EditFieldDialog/ValidationsSection.js +42 -0
- package/admin/components/FieldEditor/EditFieldDialog/ValidationsSection.js.map +1 -0
- package/admin/components/FieldEditor/EditFieldDialog/ValidatorsList.d.ts +8 -0
- package/admin/components/FieldEditor/EditFieldDialog/ValidatorsList.js +227 -0
- package/admin/components/FieldEditor/EditFieldDialog/ValidatorsList.js.map +1 -0
- package/admin/components/FieldEditor/EditFieldDialog/getValidators.d.ts +13 -0
- package/admin/components/FieldEditor/EditFieldDialog/getValidators.js +115 -0
- package/admin/components/FieldEditor/EditFieldDialog/getValidators.js.map +1 -0
- package/admin/components/FieldEditor/EditFieldDialog.d.ts +3 -3
- package/admin/components/FieldEditor/EditFieldDialog.js +117 -260
- package/admin/components/FieldEditor/EditFieldDialog.js.map +1 -1
- package/admin/components/FieldEditor/Field.d.ts +5 -5
- package/admin/components/FieldEditor/Field.js +17 -14
- package/admin/components/FieldEditor/Field.js.map +1 -1
- package/admin/components/FieldEditor/FieldEditor.d.ts +4 -4
- package/admin/components/FieldEditor/FieldEditor.js +85 -31
- package/admin/components/FieldEditor/FieldEditor.js.map +1 -1
- package/admin/components/FieldEditor/FieldEditorContext.d.ts +16 -16
- package/admin/components/FieldEditor/FieldEditorContext.js +18 -18
- package/admin/components/FieldEditor/FieldEditorContext.js.map +1 -1
- package/admin/components/FieldEditor/Styled.js +4 -13
- package/admin/components/FieldEditor/Styled.js.map +1 -1
- package/admin/components/FieldEditor/index.d.ts +1 -1
- package/admin/components/FieldEditor/index.js +3 -3
- package/admin/components/FieldEditor/index.js.map +1 -1
- package/admin/components/FieldEditor/useModelFieldEditor.d.ts +2 -0
- package/admin/components/FieldEditor/useModelFieldEditor.js +20 -0
- package/admin/components/FieldEditor/useModelFieldEditor.js.map +1 -0
- package/admin/components/FieldEditor/utils/deleteField.d.ts +2 -2
- package/admin/components/FieldEditor/utils/deleteField.js.map +1 -1
- package/admin/components/FieldEditor/utils/getFieldPosition.d.ts +2 -2
- package/admin/components/FieldEditor/utils/getFieldPosition.js.map +1 -1
- package/admin/components/FieldEditor/utils/moveField.d.ts +3 -3
- package/admin/components/FieldEditor/utils/moveField.js.map +1 -1
- package/admin/components/IconPicker.d.ts +7 -0
- package/admin/{views/contentModelGroups → components}/IconPicker.js +34 -31
- package/admin/components/IconPicker.js.map +1 -0
- package/admin/components/ModelFieldProvider/ModelFieldContext.d.ts +36 -0
- package/admin/components/ModelFieldProvider/ModelFieldContext.js +24 -0
- package/admin/components/ModelFieldProvider/ModelFieldContext.js.map +1 -0
- package/admin/components/ModelFieldProvider/index.d.ts +2 -0
- package/admin/components/ModelFieldProvider/index.js +31 -0
- package/admin/components/ModelFieldProvider/index.js.map +1 -0
- package/admin/components/ModelFieldProvider/useModelField.d.ts +35 -0
- package/admin/components/ModelFieldProvider/useModelField.js +42 -0
- package/admin/components/ModelFieldProvider/useModelField.js.map +1 -0
- package/admin/components/ModelProvider/ModelContext.d.ts +9 -0
- package/admin/components/ModelProvider/ModelContext.js +24 -0
- package/admin/components/ModelProvider/ModelContext.js.map +1 -0
- package/admin/components/ModelProvider/index.d.ts +2 -0
- package/admin/components/ModelProvider/index.js +31 -0
- package/admin/components/ModelProvider/index.js.map +1 -0
- package/admin/components/ModelProvider/useModel.d.ts +9 -0
- package/admin/components/ModelProvider/useModel.js +25 -0
- package/admin/components/ModelProvider/useModel.js.map +1 -0
- package/admin/constants/statusLabels.js +2 -4
- package/admin/constants/statusLabels.js.map +1 -1
- package/admin/graphql/contentEntries.d.ts +2 -29
- package/admin/graphql/contentEntries.js +28 -42
- package/admin/graphql/contentEntries.js.map +1 -1
- package/admin/graphql/contentModels.d.ts +1 -1
- package/admin/graphql/contentModels.js +2 -2
- package/admin/graphql/contentModels.js.map +1 -1
- package/admin/graphql/createFieldsList.d.ts +7 -2
- package/admin/graphql/createFieldsList.js +5 -1
- package/admin/graphql/createFieldsList.js.map +1 -1
- package/admin/hooks/index.d.ts +5 -0
- package/admin/hooks/index.js +47 -2
- package/admin/hooks/index.js.map +1 -1
- package/admin/hooks/usePermission.d.ts +0 -2
- package/admin/hooks/usePermission.js +5 -37
- package/admin/hooks/usePermission.js.map +1 -1
- package/admin/menus/NothingToShowElement.js +4 -1
- package/admin/menus/NothingToShowElement.js.map +1 -1
- package/admin/plugins/arrayUtils.d.ts +12 -0
- package/admin/plugins/arrayUtils.js +53 -0
- package/admin/plugins/arrayUtils.js.map +1 -0
- package/admin/plugins/editor/defaultBar/CreateContentButton.js +4 -4
- package/admin/plugins/editor/defaultBar/CreateContentButton.js.map +1 -1
- package/admin/plugins/editor/defaultBar/FormSettings/FormSettings.js +5 -5
- package/admin/plugins/editor/defaultBar/FormSettings/FormSettings.js.map +1 -1
- package/admin/plugins/editor/defaultBar/Name/Name.js +4 -4
- package/admin/plugins/editor/defaultBar/Name/Name.js.map +1 -1
- package/admin/plugins/editor/defaultBar/SaveContentModelButton.js +3 -3
- package/admin/plugins/editor/defaultBar/SaveContentModelButton.js.map +1 -1
- package/admin/plugins/editor/formSettings/components/GeneralSettings.js +9 -1
- package/admin/plugins/editor/formSettings/components/GeneralSettings.js.map +1 -1
- package/admin/plugins/fieldRenderers/DynamicSection.d.ts +3 -3
- package/admin/plugins/fieldRenderers/DynamicSection.js.map +1 -1
- package/admin/plugins/fieldRenderers/dateTime/DateOnly.d.ts +2 -2
- package/admin/plugins/fieldRenderers/dateTime/DateOnly.js.map +1 -1
- package/admin/plugins/fieldRenderers/dateTime/DateTimeWithTimezone.d.ts +2 -2
- package/admin/plugins/fieldRenderers/dateTime/DateTimeWithTimezone.js.map +1 -1
- package/admin/plugins/fieldRenderers/dateTime/DateTimeWithoutTimezone.d.ts +2 -2
- package/admin/plugins/fieldRenderers/dateTime/DateTimeWithoutTimezone.js.map +1 -1
- package/admin/plugins/fieldRenderers/dateTime/Input.d.ts +2 -2
- package/admin/plugins/fieldRenderers/dateTime/Input.js.map +1 -1
- package/admin/plugins/fieldRenderers/dateTime/utils.d.ts +2 -2
- package/admin/plugins/fieldRenderers/dateTime/utils.js.map +1 -1
- package/admin/plugins/fieldRenderers/dynamicZone/AddTemplate.d.ts +12 -0
- package/admin/plugins/fieldRenderers/dynamicZone/AddTemplate.js +107 -0
- package/admin/plugins/fieldRenderers/dynamicZone/AddTemplate.js.map +1 -0
- package/admin/plugins/fieldRenderers/dynamicZone/MultiValueDynamicZone.d.ts +11 -0
- package/admin/plugins/fieldRenderers/dynamicZone/MultiValueDynamicZone.js +139 -0
- package/admin/plugins/fieldRenderers/dynamicZone/MultiValueDynamicZone.js.map +1 -0
- package/admin/plugins/fieldRenderers/dynamicZone/SingleValueDynamicZone.d.ts +11 -0
- package/admin/plugins/fieldRenderers/dynamicZone/SingleValueDynamicZone.js +68 -0
- package/admin/plugins/fieldRenderers/dynamicZone/SingleValueDynamicZone.js.map +1 -0
- package/admin/plugins/fieldRenderers/dynamicZone/TemplateCard.d.ts +8 -0
- package/admin/plugins/fieldRenderers/dynamicZone/TemplateCard.js +63 -0
- package/admin/plugins/fieldRenderers/dynamicZone/TemplateCard.js.map +1 -0
- package/admin/plugins/fieldRenderers/dynamicZone/TemplateGallery.d.ts +8 -0
- package/admin/plugins/fieldRenderers/dynamicZone/TemplateGallery.js +53 -0
- package/admin/plugins/fieldRenderers/dynamicZone/TemplateGallery.js.map +1 -0
- package/admin/plugins/fieldRenderers/dynamicZone/TemplateIcon.d.ts +6 -0
- package/admin/plugins/fieldRenderers/dynamicZone/TemplateIcon.js +22 -0
- package/admin/plugins/fieldRenderers/dynamicZone/TemplateIcon.js.map +1 -0
- package/admin/plugins/fieldRenderers/dynamicZone/dynamicZoneRenderer.d.ts +2 -0
- package/admin/plugins/fieldRenderers/dynamicZone/dynamicZoneRenderer.js +66 -0
- package/admin/plugins/fieldRenderers/dynamicZone/dynamicZoneRenderer.js.map +1 -0
- package/admin/plugins/fieldRenderers/file/fileFields.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/components/ContentEntriesAutocomplete.d.ts +2 -2
- package/admin/plugins/fieldRenderers/ref/components/ContentEntriesAutocomplete.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/components/ContentEntriesMultiAutoComplete.d.ts +2 -2
- package/admin/plugins/fieldRenderers/ref/components/ContentEntriesMultiAutoComplete.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/components/NewRefEntryFormDialog.js +10 -9
- package/admin/plugins/fieldRenderers/ref/components/NewRefEntryFormDialog.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/components/useReference.d.ts +2 -2
- package/admin/plugins/fieldRenderers/ref/components/useReference.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/components/useReferences.d.ts +2 -2
- package/admin/plugins/fieldRenderers/ref/components/useReferences.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntry.d.ts +2 -2
- package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntry.js +15 -14
- package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntry.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/refInputs.js.map +1 -1
- package/admin/plugins/fieldRenderers/richText/richTextInput.js.map +1 -1
- package/admin/plugins/fieldRenderers/richText/richTextInputs.js.map +1 -1
- package/admin/plugins/fieldValidators/date/createDateInputField.d.ts +2 -2
- package/admin/plugins/fieldValidators/date/createDateInputField.js.map +1 -1
- package/admin/plugins/fieldValidators/dateGte.d.ts +2 -2
- package/admin/plugins/fieldValidators/dateGte.js +79 -23
- package/admin/plugins/fieldValidators/dateGte.js.map +1 -1
- package/admin/plugins/fieldValidators/dateLte.d.ts +2 -2
- package/admin/plugins/fieldValidators/dateLte.js +79 -23
- package/admin/plugins/fieldValidators/dateLte.js.map +1 -1
- package/admin/plugins/fieldValidators/dynamicZone.d.ts +2 -0
- package/admin/plugins/fieldValidators/dynamicZone.js +215 -0
- package/admin/plugins/fieldValidators/dynamicZone.js.map +1 -0
- package/admin/plugins/fieldValidators/gte.d.ts +2 -2
- package/admin/plugins/fieldValidators/gte.js +44 -5
- package/admin/plugins/fieldValidators/gte.js.map +1 -1
- package/admin/plugins/fieldValidators/in.d.ts +2 -2
- package/admin/plugins/fieldValidators/in.js +44 -5
- package/admin/plugins/fieldValidators/in.js.map +1 -1
- package/admin/plugins/fieldValidators/lte.d.ts +2 -2
- package/admin/plugins/fieldValidators/lte.js +44 -5
- package/admin/plugins/fieldValidators/lte.js.map +1 -1
- package/admin/plugins/fieldValidators/maxLength.d.ts +2 -2
- package/admin/plugins/fieldValidators/maxLength.js +55 -6
- package/admin/plugins/fieldValidators/maxLength.js.map +1 -1
- package/admin/plugins/fieldValidators/minLength.d.ts +2 -2
- package/admin/plugins/fieldValidators/minLength.js +55 -6
- package/admin/plugins/fieldValidators/minLength.js.map +1 -1
- package/admin/plugins/fieldValidators/pattern.d.ts +2 -2
- package/admin/plugins/fieldValidators/pattern.js +129 -60
- package/admin/plugins/fieldValidators/pattern.js.map +1 -1
- package/admin/plugins/fieldValidators/patternPlugins/email.d.ts +2 -2
- package/admin/plugins/fieldValidators/patternPlugins/email.js +6 -4
- package/admin/plugins/fieldValidators/patternPlugins/email.js.map +1 -1
- package/admin/plugins/fieldValidators/patternPlugins/lowerCase.d.ts +2 -2
- package/admin/plugins/fieldValidators/patternPlugins/lowerCase.js +5 -3
- package/admin/plugins/fieldValidators/patternPlugins/lowerCase.js.map +1 -1
- package/admin/plugins/fieldValidators/patternPlugins/lowerCaseSpace.d.ts +2 -2
- package/admin/plugins/fieldValidators/patternPlugins/lowerCaseSpace.js +5 -3
- package/admin/plugins/fieldValidators/patternPlugins/lowerCaseSpace.js.map +1 -1
- package/admin/plugins/fieldValidators/patternPlugins/upperCase.d.ts +2 -2
- package/admin/plugins/fieldValidators/patternPlugins/upperCase.js +5 -3
- package/admin/plugins/fieldValidators/patternPlugins/upperCase.js.map +1 -1
- package/admin/plugins/fieldValidators/patternPlugins/upperCaseSpace.d.ts +2 -2
- package/admin/plugins/fieldValidators/patternPlugins/upperCaseSpace.js +5 -3
- package/admin/plugins/fieldValidators/patternPlugins/upperCaseSpace.js.map +1 -1
- package/admin/plugins/fieldValidators/patternPlugins/url.d.ts +2 -2
- package/admin/plugins/fieldValidators/patternPlugins/url.js +5 -3
- package/admin/plugins/fieldValidators/patternPlugins/url.js.map +1 -1
- package/admin/plugins/fieldValidators/required.d.ts +2 -2
- package/admin/plugins/fieldValidators/required.js +8 -2
- package/admin/plugins/fieldValidators/required.js.map +1 -1
- package/admin/plugins/fieldValidators/unique.d.ts +2 -2
- package/admin/plugins/fieldValidators/unique.js +30 -2
- package/admin/plugins/fieldValidators/unique.js.map +1 -1
- package/admin/plugins/fields/PredefinedValuesDynamicFieldset.d.ts +1 -2
- package/admin/plugins/fields/PredefinedValuesDynamicFieldset.js +25 -26
- package/admin/plugins/fields/PredefinedValuesDynamicFieldset.js.map +1 -1
- package/admin/plugins/fields/boolean.d.ts +2 -2
- package/admin/plugins/fields/boolean.js +6 -5
- package/admin/plugins/fields/boolean.js.map +1 -1
- package/admin/plugins/fields/dateTime.d.ts +2 -2
- package/admin/plugins/fields/dateTime.js +58 -48
- package/admin/plugins/fields/dateTime.js.map +1 -1
- package/admin/plugins/fields/dynamicZone/AddTemplate.d.ts +11 -0
- package/admin/plugins/fields/dynamicZone/AddTemplate.js +114 -0
- package/admin/plugins/fields/dynamicZone/AddTemplate.js.map +1 -0
- package/admin/plugins/fields/dynamicZone/DynamicZone.d.ts +2 -0
- package/admin/plugins/fields/dynamicZone/DynamicZone.js +82 -0
- package/admin/plugins/fields/dynamicZone/DynamicZone.js.map +1 -0
- package/admin/plugins/fields/dynamicZone/DynamicZoneTemplate.d.ts +11 -0
- package/admin/plugins/fields/dynamicZone/DynamicZoneTemplate.js +127 -0
- package/admin/plugins/fields/dynamicZone/DynamicZoneTemplate.js.map +1 -0
- package/admin/plugins/fields/dynamicZone/TemplateDialog.d.ts +9 -0
- package/admin/plugins/fields/dynamicZone/TemplateDialog.js +174 -0
- package/admin/plugins/fields/dynamicZone/TemplateDialog.js.map +1 -0
- package/admin/plugins/fields/dynamicZone/commonValidators.d.ts +2 -0
- package/admin/plugins/fields/dynamicZone/commonValidators.js +26 -0
- package/admin/plugins/fields/dynamicZone/commonValidators.js.map +1 -0
- package/admin/plugins/fields/dynamicZone.d.ts +2 -0
- package/admin/plugins/fields/dynamicZone.js +97 -0
- package/admin/plugins/fields/dynamicZone.js.map +1 -0
- package/admin/plugins/fields/file.d.ts +2 -2
- package/admin/plugins/fields/file.js +6 -5
- package/admin/plugins/fields/file.js.map +1 -1
- package/admin/plugins/fields/longText.d.ts +2 -2
- package/admin/plugins/fields/longText.js +4 -3
- package/admin/plugins/fields/longText.js.map +1 -1
- package/admin/plugins/fields/number.d.ts +2 -2
- package/admin/plugins/fields/number.js +6 -5
- package/admin/plugins/fields/number.js.map +1 -1
- package/admin/plugins/fields/object/ObjectFields.d.ts +2 -2
- package/admin/plugins/fields/object/ObjectFields.js +3 -3
- package/admin/plugins/fields/object/ObjectFields.js.map +1 -1
- package/admin/plugins/fields/object.d.ts +2 -2
- package/admin/plugins/fields/object.js +9 -4
- package/admin/plugins/fields/object.js.map +1 -1
- package/admin/plugins/fields/ref.d.ts +2 -2
- package/admin/plugins/fields/ref.js +108 -100
- package/admin/plugins/fields/ref.js.map +1 -1
- package/admin/plugins/fields/richText.d.ts +2 -2
- package/admin/plugins/fields/richText.js +6 -5
- package/admin/plugins/fields/richText.js.map +1 -1
- package/admin/plugins/fields/text.d.ts +2 -2
- package/admin/plugins/fields/text.js +4 -3
- package/admin/plugins/fields/text.js.map +1 -1
- package/admin/plugins/index.d.ts +28 -1
- package/admin/plugins/permissionRenderer/CmsPermissions.js +2 -7
- package/admin/plugins/permissionRenderer/CmsPermissions.js.map +1 -1
- package/admin/plugins/permissionRenderer/components/ContentEntryPermission.js +11 -17
- package/admin/plugins/permissionRenderer/components/ContentEntryPermission.js.map +1 -1
- package/admin/plugins/transformers/dateTransformer.d.ts +1 -2
- package/admin/plugins/transformers/dateTransformer.js +3 -3
- package/admin/plugins/transformers/dateTransformer.js.map +1 -1
- package/admin/plugins/transformers/dynamicZoneTransformer.d.ts +2 -0
- package/admin/plugins/transformers/dynamicZoneTransformer.js +45 -0
- package/admin/plugins/transformers/dynamicZoneTransformer.js.map +1 -0
- package/admin/plugins/transformers/index.js +5 -5
- package/admin/plugins/transformers/index.js.map +1 -1
- package/admin/plugins/transformers/numberTransformer.d.ts +1 -2
- package/admin/plugins/transformers/numberTransformer.js +3 -3
- package/admin/plugins/transformers/numberTransformer.js.map +1 -1
- package/admin/views/contentEntries/ContentEntries.js +6 -2
- package/admin/views/contentEntries/ContentEntries.js.map +1 -1
- package/admin/views/contentEntries/ContentEntriesContext.d.ts +4 -4
- package/admin/views/contentEntries/ContentEntriesContext.js +1 -9
- package/admin/views/contentEntries/ContentEntriesContext.js.map +1 -1
- package/admin/views/contentEntries/ContentEntriesList.js +23 -8
- package/admin/views/contentEntries/ContentEntriesList.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/ContentEntryContext.js +19 -4
- package/admin/views/contentEntries/ContentEntry/ContentEntryContext.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/RevisionListItem.js +60 -60
- package/admin/views/contentEntries/ContentEntry/RevisionListItem.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/cache.js +5 -1
- package/admin/views/contentEntries/ContentEntry/cache.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/header/requestChanges/RequestChanges.d.ts +1 -1
- package/admin/views/contentEntries/ContentEntry/header/requestChanges/RequestChanges.js +3 -80
- package/admin/views/contentEntries/ContentEntry/header/requestChanges/RequestChanges.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/header/requestReview/RequestReview.d.ts +1 -1
- package/admin/views/contentEntries/ContentEntry/header/requestReview/RequestReview.js +3 -84
- package/admin/views/contentEntries/ContentEntry/header/requestReview/RequestReview.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/prepareFormData.d.ts +2 -2
- package/admin/views/contentEntries/ContentEntry/prepareFormData.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/useRevision.d.ts +0 -8
- package/admin/views/contentEntries/ContentEntry/useRevision.js +10 -122
- package/admin/views/contentEntries/ContentEntry/useRevision.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry.js +0 -2
- package/admin/views/contentEntries/ContentEntry.js.map +1 -1
- package/admin/views/contentEntries/experiment/ContentEntriesModule.d.ts +2 -2
- package/admin/views/contentEntries/experiment/ContentEntriesModule.js +27 -14
- package/admin/views/contentEntries/experiment/ContentEntriesModule.js.map +1 -1
- package/admin/views/contentEntries/hooks/useContentEntries.js +7 -1
- package/admin/views/contentEntries/hooks/useContentEntries.js.map +1 -1
- package/admin/views/contentEntries/hooks/useContentEntriesList.d.ts +1 -1
- package/admin/views/contentEntries/hooks/useContentEntriesList.js.map +1 -1
- package/admin/views/contentModelGroups/ContentModelGroupsForm.js +2 -2
- package/admin/views/contentModelGroups/ContentModelGroupsForm.js.map +1 -1
- package/admin/views/contentModels/CloneContentModelDialog.js +4 -17
- package/admin/views/contentModels/CloneContentModelDialog.js.map +1 -1
- package/admin/views/contentModels/ContentModelEditor.js +2 -2
- package/admin/views/contentModels/ContentModelEditor.js.map +1 -1
- package/admin/views/contentModels/NewContentModelDialog.js +5 -17
- package/admin/views/contentModels/NewContentModelDialog.js.map +1 -1
- package/admin/viewsGraphql.js +1 -1
- package/admin/viewsGraphql.js.map +1 -1
- package/allPlugins.d.ts +34 -0
- package/allPlugins.js +95 -0
- package/allPlugins.js.map +1 -0
- package/index.d.ts +1 -0
- package/index.js +15 -1
- package/index.js.map +1 -1
- package/package.json +29 -29
- package/{types.d.ts → types/index.d.ts} +59 -176
- package/types/index.js +44 -0
- package/types/index.js.map +1 -0
- package/types/model.d.ts +83 -0
- package/{types.js → types/model.js} +0 -0
- package/types/model.js.map +1 -0
- package/types/shared.d.ts +5 -0
- package/types/shared.js +5 -0
- package/types/shared.js.map +1 -0
- package/types/validation.d.ts +70 -0
- package/types/validation.js +5 -0
- package/types/validation.js.map +1 -0
- package/utils/CmsModelFieldValidatorConfigAdapter.d.ts +15 -0
- package/utils/CmsModelFieldValidatorConfigAdapter.js +91 -0
- package/utils/CmsModelFieldValidatorConfigAdapter.js.map +1 -0
- package/utils/createTypeName.d.ts +1 -0
- package/utils/createTypeName.js +18 -0
- package/utils/createTypeName.js.map +1 -0
- package/utils/createValidators.d.ts +3 -0
- package/{admin/components/ContentEntryForm/functions → utils}/createValidators.js +37 -16
- package/utils/createValidators.js.map +1 -0
- package/utils/getFetchPolicy.d.ts +6 -0
- package/utils/getFetchPolicy.js +19 -0
- package/utils/getFetchPolicy.js.map +1 -0
- package/utils/getModelTitleFieldId.d.ts +2 -0
- package/utils/getModelTitleFieldId.js +16 -0
- package/utils/getModelTitleFieldId.js.map +1 -0
- package/admin/components/ContentEntryForm/functions/createValidators.d.ts +0 -3
- package/admin/components/ContentEntryForm/functions/createValidators.js.map +0 -1
- package/admin/components/ContentModelEditor/Context.js.map +0 -1
- package/admin/components/ContentModelEditor/useContentModelEditor.d.ts +0 -1
- package/admin/components/ContentModelEditor/useContentModelEditor.js.map +0 -1
- package/admin/components/FieldEditor/EditFieldDialog/ValidatorsTab.d.ts +0 -15
- package/admin/components/FieldEditor/EditFieldDialog/ValidatorsTab.js +0 -148
- package/admin/components/FieldEditor/EditFieldDialog/ValidatorsTab.js.map +0 -1
- package/admin/components/FieldEditor/useFieldEditor.d.ts +0 -1
- package/admin/components/FieldEditor/useFieldEditor.js +0 -14
- package/admin/components/FieldEditor/useFieldEditor.js.map +0 -1
- package/admin/plugins/validators/dateGte.d.ts +0 -3
- package/admin/plugins/validators/dateGte.js +0 -68
- package/admin/plugins/validators/dateGte.js.map +0 -1
- package/admin/plugins/validators/dateLte.d.ts +0 -3
- package/admin/plugins/validators/dateLte.js +0 -68
- package/admin/plugins/validators/dateLte.js.map +0 -1
- package/admin/plugins/validators/gte.d.ts +0 -3
- package/admin/plugins/validators/gte.js +0 -57
- package/admin/plugins/validators/gte.js.map +0 -1
- package/admin/plugins/validators/in.d.ts +0 -3
- package/admin/plugins/validators/in.js +0 -57
- package/admin/plugins/validators/in.js.map +0 -1
- package/admin/plugins/validators/lte.d.ts +0 -3
- package/admin/plugins/validators/lte.js +0 -57
- package/admin/plugins/validators/lte.js.map +0 -1
- package/admin/plugins/validators/maxLength.d.ts +0 -3
- package/admin/plugins/validators/maxLength.js +0 -57
- package/admin/plugins/validators/maxLength.js.map +0 -1
- package/admin/plugins/validators/minLength.d.ts +0 -3
- package/admin/plugins/validators/minLength.js +0 -57
- package/admin/plugins/validators/minLength.js.map +0 -1
- package/admin/plugins/validators/pattern.d.ts +0 -3
- package/admin/plugins/validators/pattern.js +0 -77
- package/admin/plugins/validators/pattern.js.map +0 -1
- package/admin/plugins/validators/patternPlugins/email.d.ts +0 -3
- package/admin/plugins/validators/patternPlugins/email.js +0 -17
- package/admin/plugins/validators/patternPlugins/email.js.map +0 -1
- package/admin/plugins/validators/patternPlugins/lowerCase.d.ts +0 -3
- package/admin/plugins/validators/patternPlugins/lowerCase.js +0 -17
- package/admin/plugins/validators/patternPlugins/lowerCase.js.map +0 -1
- package/admin/plugins/validators/patternPlugins/lowerCaseSpace.d.ts +0 -3
- package/admin/plugins/validators/patternPlugins/lowerCaseSpace.js +0 -17
- package/admin/plugins/validators/patternPlugins/lowerCaseSpace.js.map +0 -1
- package/admin/plugins/validators/patternPlugins/upperCase.d.ts +0 -3
- package/admin/plugins/validators/patternPlugins/upperCase.js +0 -17
- package/admin/plugins/validators/patternPlugins/upperCase.js.map +0 -1
- package/admin/plugins/validators/patternPlugins/upperCaseSpace.d.ts +0 -3
- package/admin/plugins/validators/patternPlugins/upperCaseSpace.js +0 -17
- package/admin/plugins/validators/patternPlugins/upperCaseSpace.js.map +0 -1
- package/admin/plugins/validators/patternPlugins/url.d.ts +0 -3
- package/admin/plugins/validators/patternPlugins/url.js +0 -17
- package/admin/plugins/validators/patternPlugins/url.js.map +0 -1
- package/admin/plugins/validators/required.d.ts +0 -3
- package/admin/plugins/validators/required.js +0 -21
- package/admin/plugins/validators/required.js.map +0 -1
- package/admin/plugins/validators/timeGte.d.ts +0 -3
- package/admin/plugins/validators/timeGte.js +0 -59
- package/admin/plugins/validators/timeGte.js.map +0 -1
- package/admin/plugins/validators/timeLte.d.ts +0 -3
- package/admin/plugins/validators/timeLte.js +0 -59
- package/admin/plugins/validators/timeLte.js.map +0 -1
- package/admin/plugins/validators/unique.d.ts +0 -7
- package/admin/plugins/validators/unique.js +0 -50
- package/admin/plugins/validators/unique.js.map +0 -1
- package/admin/views/contentEntries/ContentEntry/header/requestChanges/rule-24px.svg +0 -1
- package/admin/views/contentEntries/ContentEntry/header/requestReview/emoji_people-24px.svg +0 -1
- package/admin/views/contentModelGroups/IconPicker.d.ts +0 -8
- package/admin/views/contentModelGroups/IconPicker.js.map +0 -1
- package/types.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["parseDateTime","value","date","time","includes","split","console","error","DateTimeWithoutTimezone","field","bind","trailingIcon","initialValue","getDefaultFieldValue","Date","getCurrentDate","getCurrentLocalTime","bindValue","useEffect","onChange","cellSize","label"],"sources":["DateTimeWithoutTimezone.tsx"],"sourcesContent":["import React, { useEffect } from \"react\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport {\n getCurrentDate,\n getCurrentLocalTime,\n getDefaultFieldValue,\n RemoveFieldButton\n} from \"./utils\";\nimport { Input } from \"./Input\";\nimport {
|
|
1
|
+
{"version":3,"names":["parseDateTime","value","date","time","includes","split","console","error","DateTimeWithoutTimezone","field","bind","trailingIcon","initialValue","getDefaultFieldValue","Date","getCurrentDate","getCurrentLocalTime","bindValue","useEffect","onChange","cellSize","label"],"sources":["DateTimeWithoutTimezone.tsx"],"sourcesContent":["import React, { useEffect } from \"react\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport {\n getCurrentDate,\n getCurrentLocalTime,\n getDefaultFieldValue,\n RemoveFieldButton\n} from \"./utils\";\nimport { Input } from \"./Input\";\nimport { CmsModelField } from \"~/types\";\nimport { BindComponentRenderProp } from \"@webiny/form\";\n\ninterface State {\n date: string;\n time: string;\n}\n\nconst parseDateTime = (value?: string): State => {\n if (!value) {\n return {\n date: \"\",\n time: \"\"\n };\n }\n if (value.includes(\"T\")) {\n const [date, time] = value.split(\".\")[0].split(\"T\");\n return {\n date,\n time\n };\n }\n const [date, time] = value.split(\" \");\n if (!date || !time) {\n console.error(`Could not extract date and time from \"${value}\".`);\n\n return {\n date: \"\",\n time: \"\"\n };\n }\n return {\n date,\n time\n };\n};\n\nexport interface DateTimeWithoutTimezoneProps {\n bind: BindComponentRenderProp;\n trailingIcon?: any;\n field: CmsModelField;\n}\nexport const DateTimeWithoutTimezone: React.FC<DateTimeWithoutTimezoneProps> = ({\n field,\n bind,\n trailingIcon\n}) => {\n // \"2020-05-18 09:00:00\"\n const initialValue = getDefaultFieldValue(field, bind, () => {\n const date = new Date();\n return `${getCurrentDate(date)} ${getCurrentLocalTime(date)}`;\n });\n\n const { date, time } = parseDateTime(initialValue);\n\n const bindValue = bind.value || \"\";\n\n useEffect(() => {\n if (!date || !time || bindValue === initialValue) {\n return;\n }\n bind.onChange(initialValue);\n }, [bindValue]);\n\n const cellSize = trailingIcon ? 5 : 6;\n\n return (\n <Grid>\n <Cell span={6}>\n <Input\n bind={{\n ...bind,\n value: date,\n onChange: async value => {\n if (!value) {\n if (!bind.value) {\n return;\n }\n return bind.onChange(\"\");\n }\n return bind.onChange(`${value} ${time || getCurrentLocalTime()}`);\n }\n }}\n field={{\n ...field,\n label: `${field.label} date`\n }}\n type={\"date\"}\n />\n </Cell>\n <Cell span={cellSize}>\n <Input\n bind={{\n ...bind,\n value: time,\n onChange: async value => {\n if (!value) {\n if (!bind.value) {\n return;\n }\n return bind.onChange(\"\");\n }\n return bind.onChange(`${date || getCurrentDate()} ${value}`);\n }\n }}\n field={{\n ...field,\n label: `${field.label} time`\n }}\n type={\"time\"}\n step={5}\n />\n </Cell>\n <RemoveFieldButton trailingIcon={trailingIcon} />\n </Grid>\n );\n};\n"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import {
|
|
2
|
+
import { CmsModelField } from "../../../../types";
|
|
3
3
|
import { BindComponentRenderProp } from "@webiny/form";
|
|
4
4
|
export interface TrailingIcon {
|
|
5
5
|
icon: React.ReactNode;
|
|
@@ -9,7 +9,7 @@ export interface InputProps {
|
|
|
9
9
|
step?: number;
|
|
10
10
|
type?: string;
|
|
11
11
|
bind: BindComponentRenderProp;
|
|
12
|
-
field:
|
|
12
|
+
field: CmsModelField;
|
|
13
13
|
trailingIcon?: TrailingIcon;
|
|
14
14
|
}
|
|
15
15
|
export declare const Input: React.FC<InputProps>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Input","bind","props","value","type","parseFloat","onChange","field","label","placeholderText","helpText","trailingIcon"],"sources":["Input.tsx"],"sourcesContent":["import * as React from \"react\";\nimport {
|
|
1
|
+
{"version":3,"names":["Input","bind","props","value","type","parseFloat","onChange","field","label","placeholderText","helpText","trailingIcon"],"sources":["Input.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { CmsModelField } from \"~/types\";\nimport { BindComponentRenderProp } from \"@webiny/form\";\nimport { Input as UiInput } from \"@webiny/ui/Input\";\n\nexport interface TrailingIcon {\n icon: React.ReactNode;\n onClick: any;\n}\n\nexport interface InputProps {\n step?: number;\n type?: string;\n bind: BindComponentRenderProp;\n field: CmsModelField;\n trailingIcon?: TrailingIcon;\n}\n\nexport const Input: React.FC<InputProps> = ({ bind, ...props }) => {\n return (\n <UiInput\n {...props}\n {...bind}\n onChange={value => {\n if (props.type === \"number\") {\n value = parseFloat(value);\n }\n return bind.onChange(value);\n }}\n label={props.field.label}\n placeholder={props.field.placeholderText}\n description={props.field.helpText}\n type={props.type}\n trailingIcon={props.trailingIcon}\n data-testid={`fr.input.${props.field.label}`}\n />\n );\n};\n"],"mappings":";;;;;;;;;;;;;AAAA;;AAGA;;;;AAeO,IAAMA,KAA2B,GAAG,SAA9BA,KAA8B,OAAwB;EAAA,IAArBC,IAAqB,QAArBA,IAAqB;EAAA,IAAZC,KAAY;EAC/D,oBACI,oBAAC,YAAD,oBACQA,KADR,EAEQD,IAFR;IAGI,QAAQ,EAAE,kBAAAE,KAAK,EAAI;MACf,IAAID,KAAK,CAACE,IAAN,KAAe,QAAnB,EAA6B;QACzBD,KAAK,GAAGE,UAAU,CAACF,KAAD,CAAlB;MACH;;MACD,OAAOF,IAAI,CAACK,QAAL,CAAcH,KAAd,CAAP;IACH,CARL;IASI,KAAK,EAAED,KAAK,CAACK,KAAN,CAAYC,KATvB;IAUI,WAAW,EAAEN,KAAK,CAACK,KAAN,CAAYE,eAV7B;IAWI,WAAW,EAAEP,KAAK,CAACK,KAAN,CAAYG,QAX7B;IAYI,IAAI,EAAER,KAAK,CAACE,IAZhB;IAaI,YAAY,EAAEF,KAAK,CAACS,YAbxB;IAcI,kCAAyBT,KAAK,CAACK,KAAN,CAAYC,KAArC;EAdJ,GADJ;AAkBH,CAnBM"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import {
|
|
2
|
+
import { CmsModelField } from "../../../../types";
|
|
3
3
|
export declare const UTC_TIMEZONES: {
|
|
4
4
|
value: string;
|
|
5
5
|
label: string;
|
|
6
6
|
}[];
|
|
7
7
|
export declare const DEFAULT_TIMEZONE = "+01:00";
|
|
8
|
-
export declare const getDefaultFieldValue: (field:
|
|
8
|
+
export declare const getDefaultFieldValue: (field: CmsModelField, bind: {
|
|
9
9
|
value: string | null | undefined;
|
|
10
10
|
}, getCurrent: () => string) => string;
|
|
11
11
|
export declare const getCurrentTimeZone: (date?: Date) => string | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["UTC_TIMEZONES","value","label","DEFAULT_TIMEZONE","getDefaultFieldValue","field","bind","getCurrent","def","settings","defaultSetValue","getCurrentTimeZone","date","Date","toTimeString","matches","match","timezone","slice","getCurrentLocalTime","split","time","getCurrentDate","year","String","getFullYear","padStart","month","getMonth","day","getDate","deleteIconStyles","css","width","height","color","RemoveFieldButton","trailingIcon","onClick","icon"],"sources":["utils.tsx"],"sourcesContent":["import React from \"react\";\nimport { css } from \"emotion\";\nimport { Cell } from \"@webiny/ui/Grid\";\nimport { IconButton } from \"@webiny/ui/Button\";\nimport { CmsEditorField } from \"~/types\";\n\nexport const UTC_TIMEZONES = [\n {\n value: \"-12:00\",\n label: \"UTC-12:00\"\n },\n {\n value: \"-11:00\",\n label: \"UTC-11:00\"\n },\n {\n value: \"-10:00\",\n label: \"UTC-10:00\"\n },\n {\n value: \"-09:30\",\n label: \"UTC-09:30\"\n },\n {\n value: \"-09:00\",\n label: \"UTC-09:00\"\n },\n {\n value: \"-08:00\",\n label: \"UTC-08:00\"\n },\n {\n value: \"-07:00\",\n label: \"UTC-07:00\"\n },\n {\n value: \"-06:00\",\n label: \"UTC-06:00\"\n },\n {\n value: \"-05:00\",\n label: \"UTC-05:00\"\n },\n {\n value: \"-04:30\",\n label: \"UTC-04:30\"\n },\n {\n value: \"-04:00\",\n label: \"UTC-04:00\"\n },\n {\n value: \"-03:30\",\n label: \"UTC-03:30\"\n },\n {\n value: \"-03:00\",\n label: \"UTC-03:00\"\n },\n {\n value: \"-02:00\",\n label: \"UTC-02:00\"\n },\n {\n value: \"-01:00\",\n label: \"UTC-01:00\"\n },\n {\n value: \"+00:00\",\n label: \"UTC+00:00\"\n },\n {\n value: \"+01:00\",\n label: \"UTC+01:00\"\n },\n {\n value: \"+02:00\",\n label: \"UTC+02:00\"\n },\n {\n value: \"+03:00\",\n label: \"UTC+03:00\"\n },\n {\n value: \"+03:30\",\n label: \"UTC+03:30\"\n },\n {\n value: \"+04:00\",\n label: \"UTC+04:00\"\n },\n {\n value: \"+04:30\",\n label: \"UTC+04:30\"\n },\n {\n value: \"+05:30\",\n label: \"UTC+05:30\"\n },\n {\n value: \"+05:45\",\n label: \"UTC+05:45\"\n },\n {\n value: \"+06:00\",\n label: \"UTC+06:00\"\n },\n {\n value: \"+06:30\",\n label: \"UTC+06:30\"\n },\n {\n value: \"+07:00\",\n label: \"UTC+07:00\"\n },\n {\n value: \"+08:00\",\n label: \"UTC+08:00\"\n },\n {\n value: \"+08:45\",\n label: \"UTC+08:45\"\n },\n {\n value: \"+09:00\",\n label: \"UTC+09:00\"\n },\n {\n value: \"+09:30\",\n label: \"UTC+09:30\"\n },\n {\n value: \"+10:00\",\n label: \"UTC+10:00\"\n },\n {\n value: \"+10:30\",\n label: \"UTC+10:30\"\n },\n {\n value: \"+11:00\",\n label: \"UTC+11:00\"\n },\n {\n value: \"+11:30\",\n label: \"UTC+11:30\"\n },\n {\n value: \"+12:00\",\n label: \"UTC+12:00\"\n },\n {\n value: \"+12:45\",\n label: \"UTC+12:45\"\n },\n {\n value: \"+13:00\",\n label: \"UTC+13:00\"\n },\n {\n value: \"+14:00\",\n label: \"UTC+14:00\"\n }\n];\n\nexport const DEFAULT_TIMEZONE = \"+01:00\";\n\nexport const getDefaultFieldValue = (\n field: CmsEditorField,\n bind: {\n value: string | null | undefined;\n },\n getCurrent: () => string\n): string => {\n const def = field.settings ? field.settings.defaultSetValue || \"null\" : \"null\";\n if (bind.value || def !== \"current\") {\n return bind.value || \"\";\n }\n return getCurrent();\n};\n\nexport const getCurrentTimeZone = (date?: Date): string | null => {\n if (!date) {\n date = new Date();\n }\n const value = date.toTimeString();\n\n const matches = value.match(/GMT([+-][0-9]{4})/);\n if (!matches) {\n return null;\n }\n const timezone = matches[1];\n return `${timezone.slice(0, 3)}:${timezone.slice(3)}`;\n};\n\nexport const getCurrentLocalTime = (date?: Date): string => {\n if (!date) {\n date = new Date();\n }\n const value = date.toTimeString();\n\n const [time] = value.split(\" \");\n if (!time || time.match(/^([0-9]{2}):([0-9]{2}):([0-9]{2})$/) === null) {\n return \"00:00:00\";\n }\n return time;\n};\n\nexport const getCurrentDate = (date?: Date): string => {\n if (!date) {\n date = new Date();\n }\n const year = String(date.getFullYear()).padStart(4, \"0\");\n const month = String(date.getMonth() + 1).padStart(2, \"0\");\n const day = String(date.getDate()).padStart(2, \"0\");\n\n return `${year}-${month}-${day}`;\n};\n\nconst deleteIconStyles = css({\n width: \"100% !important\",\n height: \"100% !important\",\n color: \"var(--mdc-theme-text-secondary-on-background) !important\"\n});\n\ninterface RemoveFieldButtonProps {\n // TODO @ts-refactor figure out correct trailing icon type\n // @ts-ignore\n trailingIcon: any;\n}\nexport const RemoveFieldButton: React.FC<RemoveFieldButtonProps> = ({ trailingIcon }) => {\n if (!trailingIcon) {\n return null;\n }\n return (\n <Cell span={1}>\n <IconButton\n className={deleteIconStyles}\n onClick={trailingIcon.onClick}\n icon={trailingIcon.icon}\n />\n </Cell>\n );\n};\n"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAGO,IAAMA,aAAa,GAAG,CACzB;EACIC,KAAK,EAAE,QADX;EAEIC,KAAK,EAAE;AAFX,CADyB,EAKzB;EACID,KAAK,EAAE,QADX;EAEIC,KAAK,EAAE;AAFX,CALyB,EASzB;EACID,KAAK,EAAE,QADX;EAEIC,KAAK,EAAE;AAFX,CATyB,EAazB;EACID,KAAK,EAAE,QADX;EAEIC,KAAK,EAAE;AAFX,CAbyB,EAiBzB;EACID,KAAK,EAAE,QADX;EAEIC,KAAK,EAAE;AAFX,CAjByB,EAqBzB;EACID,KAAK,EAAE,QADX;EAEIC,KAAK,EAAE;AAFX,CArByB,EAyBzB;EACID,KAAK,EAAE,QADX;EAEIC,KAAK,EAAE;AAFX,CAzByB,EA6BzB;EACID,KAAK,EAAE,QADX;EAEIC,KAAK,EAAE;AAFX,CA7ByB,EAiCzB;EACID,KAAK,EAAE,QADX;EAEIC,KAAK,EAAE;AAFX,CAjCyB,EAqCzB;EACID,KAAK,EAAE,QADX;EAEIC,KAAK,EAAE;AAFX,CArCyB,EAyCzB;EACID,KAAK,EAAE,QADX;EAEIC,KAAK,EAAE;AAFX,CAzCyB,EA6CzB;EACID,KAAK,EAAE,QADX;EAEIC,KAAK,EAAE;AAFX,CA7CyB,EAiDzB;EACID,KAAK,EAAE,QADX;EAEIC,KAAK,EAAE;AAFX,CAjDyB,EAqDzB;EACID,KAAK,EAAE,QADX;EAEIC,KAAK,EAAE;AAFX,CArDyB,EAyDzB;EACID,KAAK,EAAE,QADX;EAEIC,KAAK,EAAE;AAFX,CAzDyB,EA6DzB;EACID,KAAK,EAAE,QADX;EAEIC,KAAK,EAAE;AAFX,CA7DyB,EAiEzB;EACID,KAAK,EAAE,QADX;EAEIC,KAAK,EAAE;AAFX,CAjEyB,EAqEzB;EACID,KAAK,EAAE,QADX;EAEIC,KAAK,EAAE;AAFX,CArEyB,EAyEzB;EACID,KAAK,EAAE,QADX;EAEIC,KAAK,EAAE;AAFX,CAzEyB,EA6EzB;EACID,KAAK,EAAE,QADX;EAEIC,KAAK,EAAE;AAFX,CA7EyB,EAiFzB;EACID,KAAK,EAAE,QADX;EAEIC,KAAK,EAAE;AAFX,CAjFyB,EAqFzB;EACID,KAAK,EAAE,QADX;EAEIC,KAAK,EAAE;AAFX,CArFyB,EAyFzB;EACID,KAAK,EAAE,QADX;EAEIC,KAAK,EAAE;AAFX,CAzFyB,EA6FzB;EACID,KAAK,EAAE,QADX;EAEIC,KAAK,EAAE;AAFX,CA7FyB,EAiGzB;EACID,KAAK,EAAE,QADX;EAEIC,KAAK,EAAE;AAFX,CAjGyB,EAqGzB;EACID,KAAK,EAAE,QADX;EAEIC,KAAK,EAAE;AAFX,CArGyB,EAyGzB;EACID,KAAK,EAAE,QADX;EAEIC,KAAK,EAAE;AAFX,CAzGyB,EA6GzB;EACID,KAAK,EAAE,QADX;EAEIC,KAAK,EAAE;AAFX,CA7GyB,EAiHzB;EACID,KAAK,EAAE,QADX;EAEIC,KAAK,EAAE;AAFX,CAjHyB,EAqHzB;EACID,KAAK,EAAE,QADX;EAEIC,KAAK,EAAE;AAFX,CArHyB,EAyHzB;EACID,KAAK,EAAE,QADX;EAEIC,KAAK,EAAE;AAFX,CAzHyB,EA6HzB;EACID,KAAK,EAAE,QADX;EAEIC,KAAK,EAAE;AAFX,CA7HyB,EAiIzB;EACID,KAAK,EAAE,QADX;EAEIC,KAAK,EAAE;AAFX,CAjIyB,EAqIzB;EACID,KAAK,EAAE,QADX;EAEIC,KAAK,EAAE;AAFX,CArIyB,EAyIzB;EACID,KAAK,EAAE,QADX;EAEIC,KAAK,EAAE;AAFX,CAzIyB,EA6IzB;EACID,KAAK,EAAE,QADX;EAEIC,KAAK,EAAE;AAFX,CA7IyB,EAiJzB;EACID,KAAK,EAAE,QADX;EAEIC,KAAK,EAAE;AAFX,CAjJyB,EAqJzB;EACID,KAAK,EAAE,QADX;EAEIC,KAAK,EAAE;AAFX,CArJyB,EAyJzB;EACID,KAAK,EAAE,QADX;EAEIC,KAAK,EAAE;AAFX,CAzJyB,CAAtB;;AA+JA,IAAMC,gBAAgB,GAAG,QAAzB;;;AAEA,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAuB,CAChCC,KADgC,EAEhCC,IAFgC,EAKhCC,UALgC,EAMvB;EACT,IAAMC,GAAG,GAAGH,KAAK,CAACI,QAAN,GAAiBJ,KAAK,CAACI,QAAN,CAAeC,eAAf,IAAkC,MAAnD,GAA4D,MAAxE;;EACA,IAAIJ,IAAI,CAACL,KAAL,IAAcO,GAAG,KAAK,SAA1B,EAAqC;IACjC,OAAOF,IAAI,CAACL,KAAL,IAAc,EAArB;EACH;;EACD,OAAOM,UAAU,EAAjB;AACH,CAZM;;;;AAcA,IAAMI,kBAAkB,GAAG,SAArBA,kBAAqB,CAACC,IAAD,EAAgC;EAC9D,IAAI,CAACA,IAAL,EAAW;IACPA,IAAI,GAAG,IAAIC,IAAJ,EAAP;EACH;;EACD,IAAMZ,KAAK,GAAGW,IAAI,CAACE,YAAL,EAAd;EAEA,IAAMC,OAAO,GAAGd,KAAK,CAACe,KAAN,CAAY,mBAAZ,CAAhB;;EACA,IAAI,CAACD,OAAL,EAAc;IACV,OAAO,IAAP;EACH;;EACD,IAAME,QAAQ,GAAGF,OAAO,CAAC,CAAD,CAAxB;EACA,iBAAUE,QAAQ,CAACC,KAAT,CAAe,CAAf,EAAkB,CAAlB,CAAV,cAAkCD,QAAQ,CAACC,KAAT,CAAe,CAAf,CAAlC;AACH,CAZM;;;;AAcA,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACP,IAAD,EAAyB;EACxD,IAAI,CAACA,IAAL,EAAW;IACPA,IAAI,GAAG,IAAIC,IAAJ,EAAP;EACH;;EACD,IAAMZ,KAAK,GAAGW,IAAI,CAACE,YAAL,EAAd;;EAEA,mBAAeb,KAAK,CAACmB,KAAN,CAAY,GAAZ,CAAf;EAAA;EAAA,IAAOC,IAAP;;EACA,IAAI,CAACA,IAAD,IAASA,IAAI,CAACL,KAAL,CAAW,oCAAX,MAAqD,IAAlE,EAAwE;IACpE,OAAO,UAAP;EACH;;EACD,OAAOK,IAAP;AACH,CAXM;;;;AAaA,IAAMC,cAAc,GAAG,SAAjBA,cAAiB,CAACV,IAAD,EAAyB;EACnD,IAAI,CAACA,IAAL,EAAW;IACPA,IAAI,GAAG,IAAIC,IAAJ,EAAP;EACH;;EACD,IAAMU,IAAI,GAAGC,MAAM,CAACZ,IAAI,CAACa,WAAL,EAAD,CAAN,CAA2BC,QAA3B,CAAoC,CAApC,EAAuC,GAAvC,CAAb;EACA,IAAMC,KAAK,GAAGH,MAAM,CAACZ,IAAI,CAACgB,QAAL,KAAkB,CAAnB,CAAN,CAA4BF,QAA5B,CAAqC,CAArC,EAAwC,GAAxC,CAAd;EACA,IAAMG,GAAG,GAAGL,MAAM,CAACZ,IAAI,CAACkB,OAAL,EAAD,CAAN,CAAuBJ,QAAvB,CAAgC,CAAhC,EAAmC,GAAnC,CAAZ;EAEA,iBAAUH,IAAV,cAAkBI,KAAlB,cAA2BE,GAA3B;AACH,CATM;;;AAWP,IAAME,gBAAgB,gBAAG,IAAAC,YAAA,EAAI;EACzBC,KAAK,EAAE,iBADkB;EAEzBC,MAAM,EAAE,iBAFiB;EAGzBC,KAAK,EAAE;AAHkB,CAAJ,4BAAzB;;AAWO,IAAMC,iBAAmD,GAAG,SAAtDA,iBAAsD,OAAsB;EAAA,IAAnBC,YAAmB,QAAnBA,YAAmB;;EACrF,IAAI,CAACA,YAAL,EAAmB;IACf,OAAO,IAAP;EACH;;EACD,oBACI,6BAAC,UAAD;IAAM,IAAI,EAAE;EAAZ,gBACI,6BAAC,kBAAD;IACI,SAAS,EAAEN,gBADf;IAEI,OAAO,EAAEM,YAAY,CAACC,OAF1B;IAGI,IAAI,EAAED,YAAY,CAACE;EAHvB,EADJ,CADJ;AASH,CAbM"}
|
|
1
|
+
{"version":3,"names":["UTC_TIMEZONES","value","label","DEFAULT_TIMEZONE","getDefaultFieldValue","field","bind","getCurrent","def","settings","defaultSetValue","getCurrentTimeZone","date","Date","toTimeString","matches","match","timezone","slice","getCurrentLocalTime","split","time","getCurrentDate","year","String","getFullYear","padStart","month","getMonth","day","getDate","deleteIconStyles","css","width","height","color","RemoveFieldButton","trailingIcon","onClick","icon"],"sources":["utils.tsx"],"sourcesContent":["import React from \"react\";\nimport { css } from \"emotion\";\nimport { Cell } from \"@webiny/ui/Grid\";\nimport { IconButton } from \"@webiny/ui/Button\";\nimport { CmsModelField } from \"~/types\";\n\nexport const UTC_TIMEZONES = [\n {\n value: \"-12:00\",\n label: \"UTC-12:00\"\n },\n {\n value: \"-11:00\",\n label: \"UTC-11:00\"\n },\n {\n value: \"-10:00\",\n label: \"UTC-10:00\"\n },\n {\n value: \"-09:30\",\n label: \"UTC-09:30\"\n },\n {\n value: \"-09:00\",\n label: \"UTC-09:00\"\n },\n {\n value: \"-08:00\",\n label: \"UTC-08:00\"\n },\n {\n value: \"-07:00\",\n label: \"UTC-07:00\"\n },\n {\n value: \"-06:00\",\n label: \"UTC-06:00\"\n },\n {\n value: \"-05:00\",\n label: \"UTC-05:00\"\n },\n {\n value: \"-04:30\",\n label: \"UTC-04:30\"\n },\n {\n value: \"-04:00\",\n label: \"UTC-04:00\"\n },\n {\n value: \"-03:30\",\n label: \"UTC-03:30\"\n },\n {\n value: \"-03:00\",\n label: \"UTC-03:00\"\n },\n {\n value: \"-02:00\",\n label: \"UTC-02:00\"\n },\n {\n value: \"-01:00\",\n label: \"UTC-01:00\"\n },\n {\n value: \"+00:00\",\n label: \"UTC+00:00\"\n },\n {\n value: \"+01:00\",\n label: \"UTC+01:00\"\n },\n {\n value: \"+02:00\",\n label: \"UTC+02:00\"\n },\n {\n value: \"+03:00\",\n label: \"UTC+03:00\"\n },\n {\n value: \"+03:30\",\n label: \"UTC+03:30\"\n },\n {\n value: \"+04:00\",\n label: \"UTC+04:00\"\n },\n {\n value: \"+04:30\",\n label: \"UTC+04:30\"\n },\n {\n value: \"+05:30\",\n label: \"UTC+05:30\"\n },\n {\n value: \"+05:45\",\n label: \"UTC+05:45\"\n },\n {\n value: \"+06:00\",\n label: \"UTC+06:00\"\n },\n {\n value: \"+06:30\",\n label: \"UTC+06:30\"\n },\n {\n value: \"+07:00\",\n label: \"UTC+07:00\"\n },\n {\n value: \"+08:00\",\n label: \"UTC+08:00\"\n },\n {\n value: \"+08:45\",\n label: \"UTC+08:45\"\n },\n {\n value: \"+09:00\",\n label: \"UTC+09:00\"\n },\n {\n value: \"+09:30\",\n label: \"UTC+09:30\"\n },\n {\n value: \"+10:00\",\n label: \"UTC+10:00\"\n },\n {\n value: \"+10:30\",\n label: \"UTC+10:30\"\n },\n {\n value: \"+11:00\",\n label: \"UTC+11:00\"\n },\n {\n value: \"+11:30\",\n label: \"UTC+11:30\"\n },\n {\n value: \"+12:00\",\n label: \"UTC+12:00\"\n },\n {\n value: \"+12:45\",\n label: \"UTC+12:45\"\n },\n {\n value: \"+13:00\",\n label: \"UTC+13:00\"\n },\n {\n value: \"+14:00\",\n label: \"UTC+14:00\"\n }\n];\n\nexport const DEFAULT_TIMEZONE = \"+01:00\";\n\nexport const getDefaultFieldValue = (\n field: CmsModelField,\n bind: {\n value: string | null | undefined;\n },\n getCurrent: () => string\n): string => {\n const def = field.settings ? field.settings.defaultSetValue || \"null\" : \"null\";\n if (bind.value || def !== \"current\") {\n return bind.value || \"\";\n }\n return getCurrent();\n};\n\nexport const getCurrentTimeZone = (date?: Date): string | null => {\n if (!date) {\n date = new Date();\n }\n const value = date.toTimeString();\n\n const matches = value.match(/GMT([+-][0-9]{4})/);\n if (!matches) {\n return null;\n }\n const timezone = matches[1];\n return `${timezone.slice(0, 3)}:${timezone.slice(3)}`;\n};\n\nexport const getCurrentLocalTime = (date?: Date): string => {\n if (!date) {\n date = new Date();\n }\n const value = date.toTimeString();\n\n const [time] = value.split(\" \");\n if (!time || time.match(/^([0-9]{2}):([0-9]{2}):([0-9]{2})$/) === null) {\n return \"00:00:00\";\n }\n return time;\n};\n\nexport const getCurrentDate = (date?: Date): string => {\n if (!date) {\n date = new Date();\n }\n const year = String(date.getFullYear()).padStart(4, \"0\");\n const month = String(date.getMonth() + 1).padStart(2, \"0\");\n const day = String(date.getDate()).padStart(2, \"0\");\n\n return `${year}-${month}-${day}`;\n};\n\nconst deleteIconStyles = css({\n width: \"100% !important\",\n height: \"100% !important\",\n color: \"var(--mdc-theme-text-secondary-on-background) !important\"\n});\n\ninterface RemoveFieldButtonProps {\n // TODO @ts-refactor figure out correct trailing icon type\n // @ts-ignore\n trailingIcon: any;\n}\nexport const RemoveFieldButton: React.FC<RemoveFieldButtonProps> = ({ trailingIcon }) => {\n if (!trailingIcon) {\n return null;\n }\n return (\n <Cell span={1}>\n <IconButton\n className={deleteIconStyles}\n onClick={trailingIcon.onClick}\n icon={trailingIcon.icon}\n />\n </Cell>\n );\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { CmsDynamicZoneTemplate } from "../../../../types";
|
|
3
|
+
interface UseAddTemplateParams {
|
|
4
|
+
onTemplate: (template: CmsDynamicZoneTemplate) => void;
|
|
5
|
+
}
|
|
6
|
+
interface AddTemplateProps {
|
|
7
|
+
label?: string;
|
|
8
|
+
onTemplate: UseAddTemplateParams["onTemplate"];
|
|
9
|
+
}
|
|
10
|
+
export declare const AddTemplateButton: (props: AddTemplateProps) => JSX.Element;
|
|
11
|
+
export declare const AddTemplateIcon: (props: AddTemplateProps) => JSX.Element;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
|
+
|
|
5
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports.AddTemplateIcon = exports.AddTemplateButton = void 0;
|
|
11
|
+
|
|
12
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
|
+
|
|
14
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
15
|
+
|
|
16
|
+
var _styled = _interopRequireDefault(require("@emotion/styled"));
|
|
17
|
+
|
|
18
|
+
var _info = require("@material-design-icons/svg/outlined/info.svg");
|
|
19
|
+
|
|
20
|
+
var _add_circle_outline = require("@material-design-icons/svg/round/add_circle_outline.svg");
|
|
21
|
+
|
|
22
|
+
var _Typography = require("@webiny/ui/Typography");
|
|
23
|
+
|
|
24
|
+
var _TemplateGallery = require("./TemplateGallery");
|
|
25
|
+
|
|
26
|
+
var _Button = require("@webiny/ui/Button");
|
|
27
|
+
|
|
28
|
+
var AddIconContainer = /*#__PURE__*/(0, _styled.default)("div", {
|
|
29
|
+
label: "AddIconContainer",
|
|
30
|
+
target: "e4w4vi60"
|
|
31
|
+
})("text-align:center;padding-top:3px;");
|
|
32
|
+
var AddButtonContainer = /*#__PURE__*/(0, _styled.default)("div", {
|
|
33
|
+
label: "AddButtonContainer",
|
|
34
|
+
target: "e4w4vi61"
|
|
35
|
+
})("text-align:center;margin-top:20px;:first-of-type{margin-top:0;}");
|
|
36
|
+
var Info = /*#__PURE__*/(0, _styled.default)("div", {
|
|
37
|
+
label: "Info",
|
|
38
|
+
target: "e4w4vi62"
|
|
39
|
+
})("display:flex;justify-content:center;align-items:center;margin-top:5px;> svg{width:20px;margin-right:5px;}");
|
|
40
|
+
|
|
41
|
+
function useAddTemplate(params) {
|
|
42
|
+
var _useState = (0, _react.useState)(false),
|
|
43
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
44
|
+
showGallery = _useState2[0],
|
|
45
|
+
setShowGallery = _useState2[1];
|
|
46
|
+
|
|
47
|
+
var browseTemplates = function browseTemplates() {
|
|
48
|
+
setShowGallery(true);
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
var onTemplate = function onTemplate(template) {
|
|
52
|
+
params.onTemplate(template);
|
|
53
|
+
onGalleryClose();
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
var onGalleryClose = function onGalleryClose() {
|
|
57
|
+
setShowGallery(false);
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
return {
|
|
61
|
+
showGallery: showGallery,
|
|
62
|
+
browseTemplates: browseTemplates,
|
|
63
|
+
onTemplate: onTemplate,
|
|
64
|
+
onGalleryClose: onGalleryClose
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
var AddTemplateButton = function AddTemplateButton(props) {
|
|
69
|
+
var _useAddTemplate = useAddTemplate({
|
|
70
|
+
onTemplate: props.onTemplate
|
|
71
|
+
}),
|
|
72
|
+
showGallery = _useAddTemplate.showGallery,
|
|
73
|
+
onTemplate = _useAddTemplate.onTemplate,
|
|
74
|
+
browseTemplates = _useAddTemplate.browseTemplates,
|
|
75
|
+
onGalleryClose = _useAddTemplate.onGalleryClose;
|
|
76
|
+
|
|
77
|
+
return /*#__PURE__*/_react.default.createElement(AddButtonContainer, null, showGallery ? /*#__PURE__*/_react.default.createElement(_TemplateGallery.TemplateGallery, {
|
|
78
|
+
onTemplate: onTemplate,
|
|
79
|
+
onClose: onGalleryClose
|
|
80
|
+
}) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Button.ButtonSecondary, {
|
|
81
|
+
onClick: browseTemplates
|
|
82
|
+
}, "+ Add a template"), /*#__PURE__*/_react.default.createElement(Info, null, /*#__PURE__*/_react.default.createElement(_info.ReactComponent, null), /*#__PURE__*/_react.default.createElement(_Typography.Typography, {
|
|
83
|
+
use: "caption"
|
|
84
|
+
}, "Click here to learn how templates and dynamic zones work"))));
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
exports.AddTemplateButton = AddTemplateButton;
|
|
88
|
+
|
|
89
|
+
var AddTemplateIcon = function AddTemplateIcon(props) {
|
|
90
|
+
var _useAddTemplate2 = useAddTemplate({
|
|
91
|
+
onTemplate: props.onTemplate
|
|
92
|
+
}),
|
|
93
|
+
showGallery = _useAddTemplate2.showGallery,
|
|
94
|
+
onTemplate = _useAddTemplate2.onTemplate,
|
|
95
|
+
browseTemplates = _useAddTemplate2.browseTemplates,
|
|
96
|
+
onGalleryClose = _useAddTemplate2.onGalleryClose;
|
|
97
|
+
|
|
98
|
+
return /*#__PURE__*/_react.default.createElement(AddIconContainer, null, showGallery ? /*#__PURE__*/_react.default.createElement(_TemplateGallery.TemplateGallery, {
|
|
99
|
+
onTemplate: onTemplate,
|
|
100
|
+
onClose: onGalleryClose
|
|
101
|
+
}) : /*#__PURE__*/_react.default.createElement(_Button.IconButton, {
|
|
102
|
+
onClick: browseTemplates,
|
|
103
|
+
icon: /*#__PURE__*/_react.default.createElement(_add_circle_outline.ReactComponent, null)
|
|
104
|
+
}));
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
exports.AddTemplateIcon = AddTemplateIcon;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["AddIconContainer","styled","AddButtonContainer","Info","useAddTemplate","params","useState","showGallery","setShowGallery","browseTemplates","onTemplate","template","onGalleryClose","AddTemplateButton","props","AddTemplateIcon"],"sources":["AddTemplate.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport styled from \"@emotion/styled\";\nimport { ReactComponent as InfoIcon } from \"@material-design-icons/svg/outlined/info.svg\";\nimport { ReactComponent as AddIcon } from \"@material-design-icons/svg/round/add_circle_outline.svg\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport { CmsDynamicZoneTemplate } from \"~/types\";\nimport { TemplateGallery } from \"./TemplateGallery\";\nimport { IconButton, ButtonSecondary } from \"@webiny/ui/Button\";\n\nconst AddIconContainer = styled.div`\n text-align: center;\n padding-top: 3px;\n`;\n\nconst AddButtonContainer = styled.div`\n text-align: center;\n margin-top: 20px;\n :first-of-type {\n margin-top: 0;\n }\n`;\n\nconst Info = styled.div`\n display: flex;\n justify-content: center;\n align-items: center;\n margin-top: 5px;\n > svg {\n width: 20px;\n margin-right: 5px;\n }\n`;\n\ninterface UseAddTemplateParams {\n onTemplate: (template: CmsDynamicZoneTemplate) => void;\n}\n\nfunction useAddTemplate(params: UseAddTemplateParams) {\n const [showGallery, setShowGallery] = useState(false);\n\n const browseTemplates = () => {\n setShowGallery(true);\n };\n\n const onTemplate = (template: CmsDynamicZoneTemplate) => {\n params.onTemplate(template);\n onGalleryClose();\n };\n\n const onGalleryClose = () => {\n setShowGallery(false);\n };\n\n return {\n showGallery,\n browseTemplates,\n onTemplate,\n onGalleryClose\n };\n}\n\ninterface AddTemplateProps {\n label?: string;\n onTemplate: UseAddTemplateParams[\"onTemplate\"];\n}\n\nexport const AddTemplateButton = (props: AddTemplateProps) => {\n const { showGallery, onTemplate, browseTemplates, onGalleryClose } = useAddTemplate({\n onTemplate: props.onTemplate\n });\n\n return (\n <AddButtonContainer>\n {showGallery ? (\n <TemplateGallery onTemplate={onTemplate} onClose={onGalleryClose} />\n ) : (\n <>\n <ButtonSecondary onClick={browseTemplates}>+ Add a template</ButtonSecondary>\n <Info>\n <InfoIcon />\n <Typography use={\"caption\"}>\n Click here to learn how templates and dynamic zones work\n </Typography>\n </Info>\n </>\n )}\n </AddButtonContainer>\n );\n};\n\nexport const AddTemplateIcon = (props: AddTemplateProps) => {\n const { showGallery, onTemplate, browseTemplates, onGalleryClose } = useAddTemplate({\n onTemplate: props.onTemplate\n });\n\n return (\n <AddIconContainer>\n {showGallery ? (\n <TemplateGallery onTemplate={onTemplate} onClose={onGalleryClose} />\n ) : (\n <IconButton onClick={browseTemplates} icon={<AddIcon />} />\n )}\n </AddIconContainer>\n );\n};\n"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AAEA,IAAMA,gBAAgB,oBAAGC,eAAH;EAAA;EAAA;AAAA,wCAAtB;AAKA,IAAMC,kBAAkB,oBAAGD,eAAH;EAAA;EAAA;AAAA,qEAAxB;AAQA,IAAME,IAAI,oBAAGF,eAAH;EAAA;EAAA;AAAA,+GAAV;;AAeA,SAASG,cAAT,CAAwBC,MAAxB,EAAsD;EAClD,gBAAsC,IAAAC,eAAA,EAAS,KAAT,CAAtC;EAAA;EAAA,IAAOC,WAAP;EAAA,IAAoBC,cAApB;;EAEA,IAAMC,eAAe,GAAG,SAAlBA,eAAkB,GAAM;IAC1BD,cAAc,CAAC,IAAD,CAAd;EACH,CAFD;;EAIA,IAAME,UAAU,GAAG,SAAbA,UAAa,CAACC,QAAD,EAAsC;IACrDN,MAAM,CAACK,UAAP,CAAkBC,QAAlB;IACAC,cAAc;EACjB,CAHD;;EAKA,IAAMA,cAAc,GAAG,SAAjBA,cAAiB,GAAM;IACzBJ,cAAc,CAAC,KAAD,CAAd;EACH,CAFD;;EAIA,OAAO;IACHD,WAAW,EAAXA,WADG;IAEHE,eAAe,EAAfA,eAFG;IAGHC,UAAU,EAAVA,UAHG;IAIHE,cAAc,EAAdA;EAJG,CAAP;AAMH;;AAOM,IAAMC,iBAAiB,GAAG,SAApBA,iBAAoB,CAACC,KAAD,EAA6B;EAC1D,sBAAqEV,cAAc,CAAC;IAChFM,UAAU,EAAEI,KAAK,CAACJ;EAD8D,CAAD,CAAnF;EAAA,IAAQH,WAAR,mBAAQA,WAAR;EAAA,IAAqBG,UAArB,mBAAqBA,UAArB;EAAA,IAAiCD,eAAjC,mBAAiCA,eAAjC;EAAA,IAAkDG,cAAlD,mBAAkDA,cAAlD;;EAIA,oBACI,6BAAC,kBAAD,QACKL,WAAW,gBACR,6BAAC,gCAAD;IAAiB,UAAU,EAAEG,UAA7B;IAAyC,OAAO,EAAEE;EAAlD,EADQ,gBAGR,yEACI,6BAAC,uBAAD;IAAiB,OAAO,EAAEH;EAA1B,sBADJ,eAEI,6BAAC,IAAD,qBACI,6BAAC,oBAAD,OADJ,eAEI,6BAAC,sBAAD;IAAY,GAAG,EAAE;EAAjB,8DAFJ,CAFJ,CAJR,CADJ;AAiBH,CAtBM;;;;AAwBA,IAAMM,eAAe,GAAG,SAAlBA,eAAkB,CAACD,KAAD,EAA6B;EACxD,uBAAqEV,cAAc,CAAC;IAChFM,UAAU,EAAEI,KAAK,CAACJ;EAD8D,CAAD,CAAnF;EAAA,IAAQH,WAAR,oBAAQA,WAAR;EAAA,IAAqBG,UAArB,oBAAqBA,UAArB;EAAA,IAAiCD,eAAjC,oBAAiCA,eAAjC;EAAA,IAAkDG,cAAlD,oBAAkDA,cAAlD;;EAIA,oBACI,6BAAC,gBAAD,QACKL,WAAW,gBACR,6BAAC,gCAAD;IAAiB,UAAU,EAAEG,UAA7B;IAAyC,OAAO,EAAEE;EAAlD,EADQ,gBAGR,6BAAC,kBAAD;IAAY,OAAO,EAAEH,eAArB;IAAsC,IAAI,eAAE,6BAAC,kCAAD;EAA5C,EAJR,CADJ;AASH,CAdM"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { BindComponentRenderProp, CmsEditorFieldRendererProps, CmsModel, CmsModelField } from "../../../../types";
|
|
3
|
+
declare type GetBind = CmsEditorFieldRendererProps["getBind"];
|
|
4
|
+
interface MultiValueDynamicZoneProps {
|
|
5
|
+
field: CmsModelField;
|
|
6
|
+
bind: BindComponentRenderProp;
|
|
7
|
+
contentModel: CmsModel;
|
|
8
|
+
getBind: GetBind;
|
|
9
|
+
}
|
|
10
|
+
export declare const MultiValueDynamicZone: ({ bind, getBind, contentModel }: MultiValueDynamicZoneProps) => JSX.Element;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.MultiValueDynamicZone = void 0;
|
|
9
|
+
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
|
|
12
|
+
var _styled = _interopRequireDefault(require("@emotion/styled"));
|
|
13
|
+
|
|
14
|
+
var _cloneDeep = _interopRequireDefault(require("lodash/cloneDeep"));
|
|
15
|
+
|
|
16
|
+
var _Accordion = require("@webiny/ui/Accordion");
|
|
17
|
+
|
|
18
|
+
var _delete_outline = require("@material-design-icons/svg/outlined/delete_outline.svg");
|
|
19
|
+
|
|
20
|
+
var _library_add = require("@material-design-icons/svg/outlined/library_add.svg");
|
|
21
|
+
|
|
22
|
+
var _expand_less = require("@material-design-icons/svg/round/expand_less.svg");
|
|
23
|
+
|
|
24
|
+
var _expand_more = require("@material-design-icons/svg/round/expand_more.svg");
|
|
25
|
+
|
|
26
|
+
var _AddTemplate = require("./AddTemplate");
|
|
27
|
+
|
|
28
|
+
var _TemplateIcon = require("./TemplateIcon");
|
|
29
|
+
|
|
30
|
+
var _hooks = require("../../../hooks");
|
|
31
|
+
|
|
32
|
+
var _Fields = require("../../../components/ContentEntryForm/Fields");
|
|
33
|
+
|
|
34
|
+
var BottomMargin = /*#__PURE__*/(0, _styled.default)("div", {
|
|
35
|
+
label: "BottomMargin",
|
|
36
|
+
target: "e1mhu37c0"
|
|
37
|
+
})("margin-bottom:20px;");
|
|
38
|
+
|
|
39
|
+
var TemplateValueForm = function TemplateValueForm(_ref) {
|
|
40
|
+
var _field$settings;
|
|
41
|
+
|
|
42
|
+
var value = _ref.value,
|
|
43
|
+
contentModel = _ref.contentModel,
|
|
44
|
+
Bind = _ref.Bind,
|
|
45
|
+
isLast = _ref.isLast,
|
|
46
|
+
isFirst = _ref.isFirst,
|
|
47
|
+
onMoveUp = _ref.onMoveUp,
|
|
48
|
+
onMoveDown = _ref.onMoveDown,
|
|
49
|
+
onDelete = _ref.onDelete,
|
|
50
|
+
onClone = _ref.onClone;
|
|
51
|
+
|
|
52
|
+
var _useModelField = (0, _hooks.useModelField)(),
|
|
53
|
+
field = _useModelField.field;
|
|
54
|
+
|
|
55
|
+
var templates = ((_field$settings = field.settings) === null || _field$settings === void 0 ? void 0 : _field$settings.templates) || [];
|
|
56
|
+
var template = templates.find(function (tpl) {
|
|
57
|
+
return tpl.id === value._templateId;
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
if (!template) {
|
|
61
|
+
return null;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
return /*#__PURE__*/_react.default.createElement(_Accordion.AccordionItem, {
|
|
65
|
+
title: template.name,
|
|
66
|
+
description: template.description,
|
|
67
|
+
icon: /*#__PURE__*/_react.default.createElement(_TemplateIcon.TemplateIcon, {
|
|
68
|
+
icon: template.icon
|
|
69
|
+
}),
|
|
70
|
+
actions: /*#__PURE__*/_react.default.createElement(_Accordion.AccordionItem.Actions, null, /*#__PURE__*/_react.default.createElement(_Accordion.AccordionItem.Action, {
|
|
71
|
+
icon: /*#__PURE__*/_react.default.createElement(_expand_less.ReactComponent, null),
|
|
72
|
+
onClick: onMoveUp,
|
|
73
|
+
disabled: isFirst
|
|
74
|
+
}), /*#__PURE__*/_react.default.createElement(_Accordion.AccordionItem.Action, {
|
|
75
|
+
icon: /*#__PURE__*/_react.default.createElement(_expand_more.ReactComponent, null),
|
|
76
|
+
onClick: onMoveDown,
|
|
77
|
+
disabled: isLast
|
|
78
|
+
}), /*#__PURE__*/_react.default.createElement(_Accordion.AccordionItem.Divider, null), /*#__PURE__*/_react.default.createElement(_Accordion.AccordionItem.Action, {
|
|
79
|
+
icon: /*#__PURE__*/_react.default.createElement(_library_add.ReactComponent, null),
|
|
80
|
+
onClick: onClone
|
|
81
|
+
}), /*#__PURE__*/_react.default.createElement(_Accordion.AccordionItem.Action, {
|
|
82
|
+
icon: /*#__PURE__*/_react.default.createElement(_delete_outline.ReactComponent, null),
|
|
83
|
+
onClick: onDelete
|
|
84
|
+
}))
|
|
85
|
+
}, /*#__PURE__*/_react.default.createElement(_Fields.Fields, {
|
|
86
|
+
fields: template.fields,
|
|
87
|
+
layout: template.layout || [],
|
|
88
|
+
contentModel: contentModel,
|
|
89
|
+
Bind: Bind
|
|
90
|
+
}));
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
var MultiValueDynamicZone = function MultiValueDynamicZone(_ref2) {
|
|
94
|
+
var bind = _ref2.bind,
|
|
95
|
+
getBind = _ref2.getBind,
|
|
96
|
+
contentModel = _ref2.contentModel;
|
|
97
|
+
|
|
98
|
+
var onTemplate = function onTemplate(template) {
|
|
99
|
+
bind.appendValue({
|
|
100
|
+
_templateId: template.id
|
|
101
|
+
});
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
var cloneValue = function cloneValue(index) {
|
|
105
|
+
var newValue = (0, _cloneDeep.default)(bind.value[index]);
|
|
106
|
+
bind.appendValue(newValue, index + 1);
|
|
107
|
+
};
|
|
108
|
+
|
|
109
|
+
var values = bind.value || [];
|
|
110
|
+
var hasValues = values.length > 0;
|
|
111
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, hasValues ? /*#__PURE__*/_react.default.createElement(_Accordion.Accordion, null, values.map(function (value, index) {
|
|
112
|
+
return /*#__PURE__*/_react.default.createElement(TemplateValueForm, {
|
|
113
|
+
key: index,
|
|
114
|
+
value: value,
|
|
115
|
+
contentModel: contentModel,
|
|
116
|
+
Bind: getBind(index),
|
|
117
|
+
isFirst: index === 0,
|
|
118
|
+
isLast: index === values.length - 1,
|
|
119
|
+
onMoveUp: function onMoveUp() {
|
|
120
|
+
return bind.moveValueUp(index);
|
|
121
|
+
},
|
|
122
|
+
onMoveDown: function onMoveDown() {
|
|
123
|
+
return bind.moveValueDown(index);
|
|
124
|
+
},
|
|
125
|
+
onDelete: function onDelete() {
|
|
126
|
+
return bind.removeValue(index);
|
|
127
|
+
},
|
|
128
|
+
onClone: function onClone() {
|
|
129
|
+
return cloneValue(index);
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
})) : null, hasValues ? /*#__PURE__*/_react.default.createElement(_AddTemplate.AddTemplateIcon, {
|
|
133
|
+
onTemplate: onTemplate
|
|
134
|
+
}) : /*#__PURE__*/_react.default.createElement(BottomMargin, null, /*#__PURE__*/_react.default.createElement(_AddTemplate.AddTemplateButton, {
|
|
135
|
+
onTemplate: onTemplate
|
|
136
|
+
})));
|
|
137
|
+
};
|
|
138
|
+
|
|
139
|
+
exports.MultiValueDynamicZone = MultiValueDynamicZone;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["BottomMargin","styled","TemplateValueForm","value","contentModel","Bind","isLast","isFirst","onMoveUp","onMoveDown","onDelete","onClone","useModelField","field","templates","settings","template","find","tpl","id","_templateId","name","description","icon","fields","layout","MultiValueDynamicZone","bind","getBind","onTemplate","appendValue","cloneValue","index","newValue","cloneDeep","values","hasValues","length","map","moveValueUp","moveValueDown","removeValue"],"sources":["MultiValueDynamicZone.tsx"],"sourcesContent":["import React from \"react\";\nimport styled from \"@emotion/styled\";\nimport cloneDeep from \"lodash/cloneDeep\";\nimport { Accordion, AccordionItem } from \"@webiny/ui/Accordion\";\nimport { ReactComponent as DeleteIcon } from \"@material-design-icons/svg/outlined/delete_outline.svg\";\nimport { ReactComponent as CloneIcon } from \"@material-design-icons/svg/outlined/library_add.svg\";\nimport { ReactComponent as ArrowUpIcon } from \"@material-design-icons/svg/round/expand_less.svg\";\nimport { ReactComponent as ArrowDownIcon } from \"@material-design-icons/svg/round/expand_more.svg\";\nimport { AddTemplateButton, AddTemplateIcon } from \"./AddTemplate\";\nimport { TemplateIcon } from \"./TemplateIcon\";\nimport { useModelField } from \"~/admin/hooks\";\nimport { Fields } from \"~/admin/components/ContentEntryForm/Fields\";\nimport {\n BindComponent,\n BindComponentRenderProp,\n CmsDynamicZoneTemplate,\n CmsEditorFieldRendererProps,\n CmsModel,\n CmsModelField\n} from \"~/types\";\n\nconst BottomMargin = styled.div`\n margin-bottom: 20px;\n`;\n\ntype GetBind = CmsEditorFieldRendererProps[\"getBind\"];\n\ninterface TemplateValue {\n _templateId: string;\n [key: string]: any;\n}\n\ninterface TemplateValueFormProps {\n value: TemplateValue;\n contentModel: CmsModel;\n Bind: BindComponent;\n isFirst: boolean;\n isLast: boolean;\n onMoveUp: () => void;\n onMoveDown: () => void;\n onDelete: () => void;\n onClone: () => void;\n}\n\nconst TemplateValueForm = ({\n value,\n contentModel,\n Bind,\n isLast,\n isFirst,\n onMoveUp,\n onMoveDown,\n onDelete,\n onClone\n}: TemplateValueFormProps) => {\n const { field } = useModelField();\n const templates = field.settings?.templates || [];\n\n const template: CmsDynamicZoneTemplate | undefined = templates.find(\n tpl => tpl.id === value._templateId\n );\n\n if (!template) {\n return null;\n }\n\n return (\n <AccordionItem\n title={template.name}\n description={template.description}\n icon={<TemplateIcon icon={template.icon} />}\n actions={\n <AccordionItem.Actions>\n <AccordionItem.Action\n icon={<ArrowUpIcon />}\n onClick={onMoveUp}\n disabled={isFirst}\n />\n <AccordionItem.Action\n icon={<ArrowDownIcon />}\n onClick={onMoveDown}\n disabled={isLast}\n />\n <AccordionItem.Divider />\n <AccordionItem.Action icon={<CloneIcon />} onClick={onClone} />\n <AccordionItem.Action icon={<DeleteIcon />} onClick={onDelete} />\n </AccordionItem.Actions>\n }\n >\n <Fields\n fields={template.fields}\n layout={template.layout || []}\n contentModel={contentModel}\n Bind={Bind}\n />\n </AccordionItem>\n );\n};\n\ninterface MultiValueDynamicZoneProps {\n field: CmsModelField;\n bind: BindComponentRenderProp;\n contentModel: CmsModel;\n getBind: GetBind;\n}\n\nexport const MultiValueDynamicZone = ({\n bind,\n getBind,\n contentModel\n}: MultiValueDynamicZoneProps) => {\n const onTemplate = (template: CmsDynamicZoneTemplate) => {\n bind.appendValue({ _templateId: template.id });\n };\n\n const cloneValue = (index: number) => {\n const newValue = cloneDeep(bind.value[index]);\n bind.appendValue(newValue, index + 1);\n };\n\n const values: TemplateValue[] = bind.value || [];\n const hasValues = values.length > 0;\n\n return (\n <>\n {hasValues ? (\n <Accordion>\n {values.map((value, index) => (\n <TemplateValueForm\n key={index}\n value={value}\n contentModel={contentModel}\n Bind={getBind(index)}\n isFirst={index === 0}\n isLast={index === values.length - 1}\n onMoveUp={() => bind.moveValueUp(index)}\n onMoveDown={() => bind.moveValueDown(index)}\n onDelete={() => bind.removeValue(index)}\n onClone={() => cloneValue(index)}\n />\n ))}\n </Accordion>\n ) : null}\n {hasValues ? (\n <AddTemplateIcon onTemplate={onTemplate} />\n ) : (\n <BottomMargin>\n <AddTemplateButton onTemplate={onTemplate} />\n </BottomMargin>\n )}\n </>\n );\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { BindComponentRenderProp, CmsEditorFieldRendererProps, CmsModel, CmsModelField } from "../../../../types";
|
|
3
|
+
declare type GetBind = CmsEditorFieldRendererProps["getBind"];
|
|
4
|
+
interface SingleValueDynamicZoneProps {
|
|
5
|
+
field: CmsModelField;
|
|
6
|
+
bind: BindComponentRenderProp;
|
|
7
|
+
contentModel: CmsModel;
|
|
8
|
+
getBind: GetBind;
|
|
9
|
+
}
|
|
10
|
+
export declare const SingleValueDynamicZone: ({ field, bind, contentModel, getBind }: SingleValueDynamicZoneProps) => JSX.Element;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.SingleValueDynamicZone = void 0;
|
|
9
|
+
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
|
|
12
|
+
var _delete_outline = require("@material-design-icons/svg/outlined/delete_outline.svg");
|
|
13
|
+
|
|
14
|
+
var _Accordion = require("@webiny/ui/Accordion");
|
|
15
|
+
|
|
16
|
+
var _Fields = require("../../../components/ContentEntryForm/Fields");
|
|
17
|
+
|
|
18
|
+
var _AddTemplate = require("./AddTemplate");
|
|
19
|
+
|
|
20
|
+
var _TemplateIcon = require("./TemplateIcon");
|
|
21
|
+
|
|
22
|
+
var SingleValueDynamicZone = function SingleValueDynamicZone(_ref) {
|
|
23
|
+
var _field$settings;
|
|
24
|
+
|
|
25
|
+
var field = _ref.field,
|
|
26
|
+
bind = _ref.bind,
|
|
27
|
+
contentModel = _ref.contentModel,
|
|
28
|
+
getBind = _ref.getBind;
|
|
29
|
+
|
|
30
|
+
var onTemplate = function onTemplate(template) {
|
|
31
|
+
bind.onChange({
|
|
32
|
+
_templateId: template.id
|
|
33
|
+
});
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
var templates = ((_field$settings = field.settings) === null || _field$settings === void 0 ? void 0 : _field$settings.templates) || [];
|
|
37
|
+
var template = bind.value ? templates.find(function (tpl) {
|
|
38
|
+
return tpl.id === bind.value._templateId;
|
|
39
|
+
}) : undefined;
|
|
40
|
+
var Bind = getBind();
|
|
41
|
+
|
|
42
|
+
var unsetValue = function unsetValue() {
|
|
43
|
+
bind.onChange(null);
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, template ? /*#__PURE__*/_react.default.createElement(_Accordion.Accordion, null, /*#__PURE__*/_react.default.createElement(_Accordion.AccordionItem, {
|
|
47
|
+
title: template.name,
|
|
48
|
+
description: template.description,
|
|
49
|
+
icon: /*#__PURE__*/_react.default.createElement(_TemplateIcon.TemplateIcon, {
|
|
50
|
+
icon: template.icon
|
|
51
|
+
}),
|
|
52
|
+
open: true,
|
|
53
|
+
interactive: false,
|
|
54
|
+
actions: /*#__PURE__*/_react.default.createElement(_Accordion.AccordionItem.Actions, null, /*#__PURE__*/_react.default.createElement(_Accordion.AccordionItem.Action, {
|
|
55
|
+
icon: /*#__PURE__*/_react.default.createElement(_delete_outline.ReactComponent, null),
|
|
56
|
+
onClick: unsetValue
|
|
57
|
+
}))
|
|
58
|
+
}, /*#__PURE__*/_react.default.createElement(_Fields.Fields, {
|
|
59
|
+
fields: template.fields,
|
|
60
|
+
layout: template.layout || [],
|
|
61
|
+
contentModel: contentModel,
|
|
62
|
+
Bind: Bind
|
|
63
|
+
}))) : null, bind.value ? null : /*#__PURE__*/_react.default.createElement(_AddTemplate.AddTemplateButton, {
|
|
64
|
+
onTemplate: onTemplate
|
|
65
|
+
}));
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
exports.SingleValueDynamicZone = SingleValueDynamicZone;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["SingleValueDynamicZone","field","bind","contentModel","getBind","onTemplate","template","onChange","_templateId","id","templates","settings","value","find","tpl","undefined","Bind","unsetValue","name","description","icon","fields","layout"],"sources":["SingleValueDynamicZone.tsx"],"sourcesContent":["import React from \"react\";\nimport { ReactComponent as DeleteIcon } from \"@material-design-icons/svg/outlined/delete_outline.svg\";\nimport { Accordion, AccordionItem } from \"@webiny/ui/Accordion\";\nimport { Fields } from \"~/admin/components/ContentEntryForm/Fields\";\nimport { AddTemplateButton } from \"./AddTemplate\";\nimport { TemplateIcon } from \"~/admin/plugins/fieldRenderers/dynamicZone/TemplateIcon\";\nimport {\n BindComponentRenderProp,\n CmsDynamicZoneTemplate,\n CmsEditorFieldRendererProps,\n CmsModel,\n CmsModelField\n} from \"~/types\";\n\ntype GetBind = CmsEditorFieldRendererProps[\"getBind\"];\n\ninterface SingleValueDynamicZoneProps {\n field: CmsModelField;\n bind: BindComponentRenderProp;\n contentModel: CmsModel;\n getBind: GetBind;\n}\n\nexport const SingleValueDynamicZone = ({\n field,\n bind,\n contentModel,\n getBind\n}: SingleValueDynamicZoneProps) => {\n const onTemplate = (template: CmsDynamicZoneTemplate) => {\n bind.onChange({ _templateId: template.id });\n };\n\n const templates = field.settings?.templates || [];\n\n const template: CmsDynamicZoneTemplate | undefined = bind.value\n ? templates.find(tpl => tpl.id === bind.value._templateId)\n : undefined;\n\n const Bind = getBind();\n\n const unsetValue = () => {\n bind.onChange(null);\n };\n\n return (\n <>\n {template ? (\n <Accordion>\n <AccordionItem\n title={template.name}\n description={template.description}\n icon={<TemplateIcon icon={template.icon} />}\n open={true}\n interactive={false}\n actions={\n <AccordionItem.Actions>\n <AccordionItem.Action icon={<DeleteIcon />} onClick={unsetValue} />\n </AccordionItem.Actions>\n }\n >\n <Fields\n fields={template.fields}\n layout={template.layout || []}\n contentModel={contentModel}\n Bind={Bind}\n />\n </AccordionItem>\n </Accordion>\n ) : null}\n {bind.value ? null : <AddTemplateButton onTemplate={onTemplate} />}\n </>\n );\n};\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAkBO,IAAMA,sBAAsB,GAAG,SAAzBA,sBAAyB,OAKH;EAAA;;EAAA,IAJ/BC,KAI+B,QAJ/BA,KAI+B;EAAA,IAH/BC,IAG+B,QAH/BA,IAG+B;EAAA,IAF/BC,YAE+B,QAF/BA,YAE+B;EAAA,IAD/BC,OAC+B,QAD/BA,OAC+B;;EAC/B,IAAMC,UAAU,GAAG,SAAbA,UAAa,CAACC,QAAD,EAAsC;IACrDJ,IAAI,CAACK,QAAL,CAAc;MAAEC,WAAW,EAAEF,QAAQ,CAACG;IAAxB,CAAd;EACH,CAFD;;EAIA,IAAMC,SAAS,GAAG,oBAAAT,KAAK,CAACU,QAAN,oEAAgBD,SAAhB,KAA6B,EAA/C;EAEA,IAAMJ,QAA4C,GAAGJ,IAAI,CAACU,KAAL,GAC/CF,SAAS,CAACG,IAAV,CAAe,UAAAC,GAAG;IAAA,OAAIA,GAAG,CAACL,EAAJ,KAAWP,IAAI,CAACU,KAAL,CAAWJ,WAA1B;EAAA,CAAlB,CAD+C,GAE/CO,SAFN;EAIA,IAAMC,IAAI,GAAGZ,OAAO,EAApB;;EAEA,IAAMa,UAAU,GAAG,SAAbA,UAAa,GAAM;IACrBf,IAAI,CAACK,QAAL,CAAc,IAAd;EACH,CAFD;;EAIA,oBACI,4DACKD,QAAQ,gBACL,6BAAC,oBAAD,qBACI,6BAAC,wBAAD;IACI,KAAK,EAAEA,QAAQ,CAACY,IADpB;IAEI,WAAW,EAAEZ,QAAQ,CAACa,WAF1B;IAGI,IAAI,eAAE,6BAAC,0BAAD;MAAc,IAAI,EAAEb,QAAQ,CAACc;IAA7B,EAHV;IAII,IAAI,EAAE,IAJV;IAKI,WAAW,EAAE,KALjB;IAMI,OAAO,eACH,6BAAC,wBAAD,CAAe,OAAf,qBACI,6BAAC,wBAAD,CAAe,MAAf;MAAsB,IAAI,eAAE,6BAAC,8BAAD,OAA5B;MAA4C,OAAO,EAAEH;IAArD,EADJ;EAPR,gBAYI,6BAAC,cAAD;IACI,MAAM,EAAEX,QAAQ,CAACe,MADrB;IAEI,MAAM,EAAEf,QAAQ,CAACgB,MAAT,IAAmB,EAF/B;IAGI,YAAY,EAAEnB,YAHlB;IAII,IAAI,EAAEa;EAJV,EAZJ,CADJ,CADK,GAsBL,IAvBR,EAwBKd,IAAI,CAACU,KAAL,GAAa,IAAb,gBAAoB,6BAAC,8BAAD;IAAmB,UAAU,EAAEP;EAA/B,EAxBzB,CADJ;AA4BH,CAlDM"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { CmsDynamicZoneTemplate } from "../../../../types";
|
|
3
|
+
interface TemplateCardProps {
|
|
4
|
+
template: CmsDynamicZoneTemplate;
|
|
5
|
+
onTemplate: (template: CmsDynamicZoneTemplate) => void;
|
|
6
|
+
}
|
|
7
|
+
export declare const TemplateCard: ({ template, onTemplate }: TemplateCardProps) => JSX.Element;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.TemplateCard = void 0;
|
|
9
|
+
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
|
|
12
|
+
var _styled = _interopRequireDefault(require("@emotion/styled"));
|
|
13
|
+
|
|
14
|
+
var _Typography = require("@webiny/ui/Typography");
|
|
15
|
+
|
|
16
|
+
var _Button = require("@webiny/ui/Button");
|
|
17
|
+
|
|
18
|
+
var _TemplateIcon = require("./TemplateIcon");
|
|
19
|
+
|
|
20
|
+
var CardContainer = /*#__PURE__*/(0, _styled.default)("div", {
|
|
21
|
+
label: "CardContainer",
|
|
22
|
+
target: "e8hs6u70"
|
|
23
|
+
})("display:flex;flex-direction:column;width:170px;height:200px;margin:5px;border:1px solid var(--mdc-theme-background);");
|
|
24
|
+
var CardIcon = /*#__PURE__*/(0, _styled.default)("div", {
|
|
25
|
+
label: "CardIcon",
|
|
26
|
+
target: "e8hs6u71"
|
|
27
|
+
})("text-align:center;padding:25px;font-size:1.5rem;background-color:var(--mdc-theme-background);");
|
|
28
|
+
var CardBody = /*#__PURE__*/(0, _styled.default)("div", {
|
|
29
|
+
label: "CardBody",
|
|
30
|
+
target: "e8hs6u72"
|
|
31
|
+
})("display:flex;flex-direction:column;flex:1;padding:10px;text-align:left;");
|
|
32
|
+
var CardTitle = /*#__PURE__*/(0, _styled.default)(_Typography.Typography, {
|
|
33
|
+
label: "CardTitle",
|
|
34
|
+
target: "e8hs6u73"
|
|
35
|
+
})("margin-bottom:10px;");
|
|
36
|
+
var CardDescription = /*#__PURE__*/(0, _styled.default)(_Typography.Typography, {
|
|
37
|
+
label: "CardDescription",
|
|
38
|
+
target: "e8hs6u74"
|
|
39
|
+
})("text-overflow:ellipsis;margin-bottom:10px;white-space:nowrap;overflow:hidden;");
|
|
40
|
+
var CardButton = /*#__PURE__*/(0, _styled.default)(_Button.ButtonSecondary, {
|
|
41
|
+
label: "CardButton",
|
|
42
|
+
target: "e8hs6u75"
|
|
43
|
+
})("font-size:0.7rem;line-height:100%;margin-top:auto;");
|
|
44
|
+
|
|
45
|
+
var TemplateCard = function TemplateCard(_ref) {
|
|
46
|
+
var template = _ref.template,
|
|
47
|
+
onTemplate = _ref.onTemplate;
|
|
48
|
+
return /*#__PURE__*/_react.default.createElement(CardContainer, null, /*#__PURE__*/_react.default.createElement(CardIcon, null, /*#__PURE__*/_react.default.createElement(_TemplateIcon.TemplateIcon, {
|
|
49
|
+
icon: template.icon
|
|
50
|
+
})), /*#__PURE__*/_react.default.createElement(CardBody, null, /*#__PURE__*/_react.default.createElement(CardTitle, {
|
|
51
|
+
tag: "p",
|
|
52
|
+
use: "subtitle2"
|
|
53
|
+
}, template.name), /*#__PURE__*/_react.default.createElement(CardDescription, {
|
|
54
|
+
tag: "p",
|
|
55
|
+
use: "body2"
|
|
56
|
+
}, template.description), /*#__PURE__*/_react.default.createElement(CardButton, {
|
|
57
|
+
onClick: function onClick() {
|
|
58
|
+
return onTemplate(template);
|
|
59
|
+
}
|
|
60
|
+
}, "+ Insert Template")));
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
exports.TemplateCard = TemplateCard;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["CardContainer","styled","CardIcon","CardBody","CardTitle","Typography","CardDescription","CardButton","ButtonSecondary","TemplateCard","template","onTemplate","icon","name","description"],"sources":["TemplateCard.tsx"],"sourcesContent":["import React from \"react\";\nimport styled from \"@emotion/styled\";\n\nimport { Typography } from \"@webiny/ui/Typography\";\nimport { CmsDynamicZoneTemplate } from \"~/types\";\nimport { ButtonSecondary } from \"@webiny/ui/Button\";\nimport { TemplateIcon } from \"~/admin/plugins/fieldRenderers/dynamicZone/TemplateIcon\";\n\nconst CardContainer = styled.div`\n display: flex;\n flex-direction: column;\n width: 170px;\n height: 200px;\n margin: 5px;\n border: 1px solid var(--mdc-theme-background);\n`;\n\nconst CardIcon = styled.div`\n text-align: center;\n padding: 25px;\n font-size: 1.5rem;\n background-color: var(--mdc-theme-background);\n`;\n\nconst CardBody = styled.div`\n display: flex;\n flex-direction: column;\n flex: 1;\n padding: 10px;\n text-align: left;\n`;\n\nconst CardTitle = styled(Typography)`\n margin-bottom: 10px;\n`;\n\nconst CardDescription = styled(Typography)`\n text-overflow: ellipsis;\n margin-bottom: 10px;\n white-space: nowrap;\n overflow: hidden;\n`;\n\nconst CardButton = styled(ButtonSecondary)`\n font-size: 0.7rem;\n line-height: 100%;\n margin-top: auto;\n`;\n\ninterface TemplateCardProps {\n template: CmsDynamicZoneTemplate;\n onTemplate: (template: CmsDynamicZoneTemplate) => void;\n}\n\nexport const TemplateCard = ({ template, onTemplate }: TemplateCardProps) => {\n return (\n <CardContainer>\n <CardIcon>\n <TemplateIcon icon={template.icon} />\n </CardIcon>\n <CardBody>\n <CardTitle tag={\"p\"} use={\"subtitle2\"}>\n {template.name}\n </CardTitle>\n <CardDescription tag={\"p\"} use={\"body2\"}>\n {template.description}\n </CardDescription>\n <CardButton onClick={() => onTemplate(template)}>+ Insert Template</CardButton>\n </CardBody>\n </CardContainer>\n );\n};\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEA;;AAEA;;AACA;;AAEA,IAAMA,aAAa,oBAAGC,eAAH;EAAA;EAAA;AAAA,0HAAnB;AASA,IAAMC,QAAQ,oBAAGD,eAAH;EAAA;EAAA;AAAA,mGAAd;AAOA,IAAME,QAAQ,oBAAGF,eAAH;EAAA;EAAA;AAAA,6EAAd;AAQA,IAAMG,SAAS,oBAAGH,eAAH,EAAUI,sBAAV;EAAA;EAAA;AAAA,yBAAf;AAIA,IAAMC,eAAe,oBAAGL,eAAH,EAAUI,sBAAV;EAAA;EAAA;AAAA,mFAArB;AAOA,IAAME,UAAU,oBAAGN,eAAH,EAAUO,uBAAV;EAAA;EAAA;AAAA,wDAAhB;;AAWO,IAAMC,YAAY,GAAG,SAAfA,YAAe,OAAiD;EAAA,IAA9CC,QAA8C,QAA9CA,QAA8C;EAAA,IAApCC,UAAoC,QAApCA,UAAoC;EACzE,oBACI,6BAAC,aAAD,qBACI,6BAAC,QAAD,qBACI,6BAAC,0BAAD;IAAc,IAAI,EAAED,QAAQ,CAACE;EAA7B,EADJ,CADJ,eAII,6BAAC,QAAD,qBACI,6BAAC,SAAD;IAAW,GAAG,EAAE,GAAhB;IAAqB,GAAG,EAAE;EAA1B,GACKF,QAAQ,CAACG,IADd,CADJ,eAII,6BAAC,eAAD;IAAiB,GAAG,EAAE,GAAtB;IAA2B,GAAG,EAAE;EAAhC,GACKH,QAAQ,CAACI,WADd,CAJJ,eAOI,6BAAC,UAAD;IAAY,OAAO,EAAE;MAAA,OAAMH,UAAU,CAACD,QAAD,CAAhB;IAAA;EAArB,uBAPJ,CAJJ,CADJ;AAgBH,CAjBM"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { CmsDynamicZoneTemplate } from "../../../../types";
|
|
3
|
+
interface TemplateGalleryProps {
|
|
4
|
+
onTemplate: (template: CmsDynamicZoneTemplate) => void;
|
|
5
|
+
onClose: () => void;
|
|
6
|
+
}
|
|
7
|
+
export declare const TemplateGallery: ({ onTemplate, onClose }: TemplateGalleryProps) => JSX.Element;
|
|
8
|
+
export {};
|