@webiny/app-admin 0.0.0-unstable.e622468070 → 0.0.0-unstable.e6f0dc8ca7
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/base/Admin.js +7 -1
- package/base/Admin.js.map +1 -1
- package/base/Base/DefaultFieldRenderers.d.ts +2 -0
- package/base/Base/DefaultFieldRenderers.js +99 -0
- package/base/Base/DefaultFieldRenderers.js.map +1 -0
- package/base/Base/DefaultLayoutRenderers.d.ts +2 -0
- package/base/Base/DefaultLayoutRenderers.js +15 -0
- package/base/Base/DefaultLayoutRenderers.js.map +1 -0
- package/base/Base/FieldRenderers/CheckboxesRenderer.d.ts +13 -0
- package/base/Base/FieldRenderers/CheckboxesRenderer.js +28 -0
- package/base/Base/FieldRenderers/CheckboxesRenderer.js.map +1 -0
- package/base/Base/FieldRenderers/CodeEditorRenderer.d.ts +15 -0
- package/base/Base/FieldRenderers/CodeEditorRenderer.js +17 -0
- package/base/Base/FieldRenderers/CodeEditorRenderer.js.map +1 -0
- package/base/Base/FieldRenderers/DateTimeInputsRenderer.d.ts +17 -0
- package/base/Base/FieldRenderers/DateTimeInputsRenderer.js +66 -0
- package/base/Base/FieldRenderers/DateTimeInputsRenderer.js.map +1 -0
- package/base/Base/FieldRenderers/DateTimeRenderer.d.ts +21 -0
- package/base/Base/FieldRenderers/DateTimeRenderer.js +46 -0
- package/base/Base/FieldRenderers/DateTimeRenderer.js.map +1 -0
- package/base/Base/FieldRenderers/FilePickerRenderer.d.ts +13 -0
- package/base/Base/FieldRenderers/FilePickerRenderer.js +51 -0
- package/base/Base/FieldRenderers/FilePickerRenderer.js.map +1 -0
- package/base/Base/FieldRenderers/FileUrlPickerRenderer.d.ts +12 -0
- package/base/Base/FieldRenderers/FileUrlPickerRenderer.js +25 -0
- package/base/Base/FieldRenderers/FileUrlPickerRenderer.js.map +1 -0
- package/base/Base/FieldRenderers/HiddenRenderer.d.ts +12 -0
- package/base/Base/FieldRenderers/HiddenRenderer.js +5 -0
- package/base/Base/FieldRenderers/HiddenRenderer.js.map +1 -0
- package/base/Base/FieldRenderers/HorizontalTabsRenderer.d.ts +5 -0
- package/base/Base/FieldRenderers/HorizontalTabsRenderer.js +27 -0
- package/base/Base/FieldRenderers/HorizontalTabsRenderer.js.map +1 -0
- package/base/Base/FieldRenderers/InputRenderer.d.ts +12 -0
- package/base/Base/FieldRenderers/InputRenderer.js +23 -0
- package/base/Base/FieldRenderers/InputRenderer.js.map +1 -0
- package/base/Base/FieldRenderers/MultiFilePickerRenderer.d.ts +13 -0
- package/base/Base/FieldRenderers/MultiFilePickerRenderer.js +68 -0
- package/base/Base/FieldRenderers/MultiFilePickerRenderer.js.map +1 -0
- package/base/Base/FieldRenderers/NumberInputRenderer.d.ts +12 -0
- package/base/Base/FieldRenderers/NumberInputRenderer.js +23 -0
- package/base/Base/FieldRenderers/NumberInputRenderer.js.map +1 -0
- package/base/Base/FieldRenderers/NumberInputsRenderer.d.ts +14 -0
- package/base/Base/FieldRenderers/NumberInputsRenderer.js +49 -0
- package/base/Base/FieldRenderers/NumberInputsRenderer.js.map +1 -0
- package/base/Base/FieldRenderers/ObjectRenderer/DynamicZoneRenderer.d.ts +14 -0
- package/base/Base/FieldRenderers/ObjectRenderer/DynamicZoneRenderer.js +20 -0
- package/base/Base/FieldRenderers/ObjectRenderer/DynamicZoneRenderer.js.map +1 -0
- package/base/Base/FieldRenderers/ObjectRenderer/KeyValueTagsRenderer.d.ts +14 -0
- package/base/Base/FieldRenderers/ObjectRenderer/KeyValueTagsRenderer.js +65 -0
- package/base/Base/FieldRenderers/ObjectRenderer/KeyValueTagsRenderer.js.map +1 -0
- package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone.d.ts +10 -0
- package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone.js +109 -0
- package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone.js.map +1 -0
- package/base/Base/FieldRenderers/ObjectRenderer/ObjectAccordionMultipleRenderer.d.ts +17 -0
- package/base/Base/FieldRenderers/ObjectRenderer/ObjectAccordionMultipleRenderer.js +55 -0
- package/base/Base/FieldRenderers/ObjectRenderer/ObjectAccordionMultipleRenderer.js.map +1 -0
- package/base/Base/FieldRenderers/ObjectRenderer/ObjectFieldComponents.d.ts +28 -0
- package/base/Base/FieldRenderers/ObjectRenderer/ObjectFieldComponents.js +89 -0
- package/base/Base/FieldRenderers/ObjectRenderer/ObjectFieldComponents.js.map +1 -0
- package/base/Base/FieldRenderers/ObjectRenderer/ObjectRenderer.d.ts +14 -0
- package/base/Base/FieldRenderers/ObjectRenderer/ObjectRenderer.js +20 -0
- package/base/Base/FieldRenderers/ObjectRenderer/ObjectRenderer.js.map +1 -0
- package/base/Base/FieldRenderers/ObjectRenderer/SingleValueDynamicZone.d.ts +10 -0
- package/base/Base/FieldRenderers/ObjectRenderer/SingleValueDynamicZone.js +64 -0
- package/base/Base/FieldRenderers/ObjectRenderer/SingleValueDynamicZone.js.map +1 -0
- package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker.d.ts +10 -0
- package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker.js +85 -0
- package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker.js.map +1 -0
- package/base/Base/FieldRenderers/ObjectRenderer/resolveItemTitle.d.ts +4 -0
- package/base/Base/FieldRenderers/ObjectRenderer/resolveItemTitle.js +22 -0
- package/base/Base/FieldRenderers/ObjectRenderer/resolveItemTitle.js.map +1 -0
- package/base/Base/FieldRenderers/PassthroughRenderer.d.ts +12 -0
- package/base/Base/FieldRenderers/PassthroughRenderer.js +15 -0
- package/base/Base/FieldRenderers/PassthroughRenderer.js.map +1 -0
- package/base/Base/FieldRenderers/RadioButtonsRenderer.d.ts +13 -0
- package/base/Base/FieldRenderers/RadioButtonsRenderer.js +27 -0
- package/base/Base/FieldRenderers/RadioButtonsRenderer.js.map +1 -0
- package/base/Base/FieldRenderers/SelectRenderer.d.ts +13 -0
- package/base/Base/FieldRenderers/SelectRenderer.js +29 -0
- package/base/Base/FieldRenderers/SelectRenderer.js.map +1 -0
- package/base/Base/FieldRenderers/SwitchRenderer.d.ts +12 -0
- package/base/Base/FieldRenderers/SwitchRenderer.js +19 -0
- package/base/Base/FieldRenderers/SwitchRenderer.js.map +1 -0
- package/base/Base/FieldRenderers/TagsRenderer.d.ts +12 -0
- package/base/Base/FieldRenderers/TagsRenderer.js +21 -0
- package/base/Base/FieldRenderers/TagsRenderer.js.map +1 -0
- package/base/Base/FieldRenderers/TextInputsRenderer.d.ts +14 -0
- package/base/Base/FieldRenderers/TextInputsRenderer.js +48 -0
- package/base/Base/FieldRenderers/TextInputsRenderer.js.map +1 -0
- package/base/Base/FieldRenderers/TextareaRenderer.d.ts +14 -0
- package/base/Base/FieldRenderers/TextareaRenderer.js +24 -0
- package/base/Base/FieldRenderers/TextareaRenderer.js.map +1 -0
- package/base/Base/FieldRenderers/TextareasRenderer.d.ts +14 -0
- package/base/Base/FieldRenderers/TextareasRenderer.js +51 -0
- package/base/Base/FieldRenderers/TextareasRenderer.js.map +1 -0
- package/base/Base/FieldRenderers/VerticalTabsRenderer.d.ts +5 -0
- package/base/Base/FieldRenderers/VerticalTabsRenderer.js +41 -0
- package/base/Base/FieldRenderers/VerticalTabsRenderer.js.map +1 -0
- package/base/Base/LexicalPreset.js +4 -5
- package/base/Base/LexicalPreset.js.map +1 -1
- package/base/Base/Menus.js +32 -74
- package/base/Base/Menus.js.map +1 -1
- package/base/Base/RoutesConfig.js +6 -0
- package/base/Base/RoutesConfig.js.map +1 -1
- package/base/Base.js +3 -2
- package/base/Base.js.map +1 -1
- package/base/createRootContainer.js +7 -1
- package/base/createRootContainer.js.map +1 -1
- package/base/providers/UiProviders.js +19 -1
- package/base/providers/UiProviders.js.map +1 -1
- package/base/ui/Brand.d.ts +6 -6
- package/base/ui/Dashboard.d.ts +6 -6
- package/base/ui/FileManager.d.ts +6 -6
- package/base/ui/Layout.d.ts +6 -6
- package/base/ui/LoginScreen.d.ts +12 -12
- package/base/ui/Logo.d.ts +6 -6
- package/base/ui/Navigation.d.ts +6 -6
- package/base/ui/NotFound.d.ts +6 -6
- package/base/ui/TenantSelector.d.ts +6 -6
- package/base/ui/UserMenu/UserMenu.d.ts +6 -6
- package/base/ui/UserMenu/UserMenuHandle.d.ts +6 -6
- package/base/ui/UserMenu/UserMenuItem.d.ts +12 -12
- package/base/ui/UserMenu/UserMenuLink.d.ts +12 -12
- package/base/ui/UserMenu/UserMenuSeparator.d.ts +6 -6
- package/base/ui/UserMenu.d.ts +12 -12
- package/components/DeveloperMode/DeveloperMode.d.ts +11 -0
- package/components/DeveloperMode/DeveloperMode.js +17 -0
- package/components/DeveloperMode/DeveloperMode.js.map +1 -0
- package/components/DeveloperMode/index.d.ts +2 -0
- package/components/DeveloperMode/index.js +3 -0
- package/components/DeveloperMode/index.js.map +1 -0
- package/components/Dialogs/Dialog.d.ts +3 -2
- package/components/Dialogs/Dialog.js +8 -6
- package/components/Dialogs/Dialog.js.map +1 -1
- package/components/Dialogs/DialogParamsContext.d.ts +6 -0
- package/components/Dialogs/DialogParamsContext.js +11 -0
- package/components/Dialogs/DialogParamsContext.js.map +1 -0
- package/components/Dialogs/DialogsContext.d.ts +8 -5
- package/components/Dialogs/DialogsContext.js +34 -4
- package/components/Dialogs/DialogsContext.js.map +1 -1
- package/components/Filters/Filters.js.map +1 -1
- package/components/FloatingActionButton.js +2 -2
- package/components/FloatingActionButton.js.map +1 -1
- package/components/IconPicker/IconRenderer.d.ts +6 -6
- package/components/IconPicker/components/IconPickerCell.d.ts +1 -1
- package/components/IconPicker/components/IconPickerTrigger.d.ts +1 -1
- package/components/IconPicker/components/IconPickerTrigger.js.map +1 -1
- package/components/LexicalEditor/LexicalEditor.js +7 -1
- package/components/LexicalEditor/LexicalEditor.js.map +1 -1
- package/components/LexicalEditor/LexicalLinkForm.d.ts +6 -0
- package/components/LexicalEditor/LexicalLinkForm.js +94 -0
- package/components/LexicalEditor/LexicalLinkForm.js.map +1 -0
- package/components/LexicalEditor/index.d.ts +1 -0
- package/components/LexicalEditor/index.js +1 -0
- package/components/LexicalEditor/index.js.map +1 -1
- package/components/LexicalEditor/lexicalValueFromHtml.d.ts +7 -0
- package/components/LexicalEditor/lexicalValueFromHtml.js +35 -0
- package/components/LexicalEditor/lexicalValueFromHtml.js.map +1 -0
- package/components/OptionsMenu/OptionsMenu.d.ts +6 -0
- package/components/OptionsMenu/OptionsMenu.js +3 -3
- package/components/OptionsMenu/OptionsMenu.js.map +1 -1
- package/components/OverlayLayout/components/OverlayHeader.d.ts +1 -1
- package/components/OverlayLayout/components/OverlayHeader.js.map +1 -1
- package/components/OverlayLayout/components/OverlayRoot.js +3 -0
- package/components/OverlayLayout/components/OverlayRoot.js.map +1 -1
- package/components/Permissions/Permissions.d.ts +1 -3
- package/components/Permissions/Permissions.js +37 -31
- package/components/Permissions/Permissions.js.map +1 -1
- package/components/Permissions/StyledComponents.js +9 -3
- package/components/Permissions/StyledComponents.js.map +1 -1
- package/components/RegisterFeature.js +5 -5
- package/components/RegisterFeature.js.map +1 -1
- package/components/RoleAutocomplete/index.d.ts +5 -3
- package/components/RoleAutocomplete/index.js +15 -6
- package/components/RoleAutocomplete/index.js.map +1 -1
- package/components/RolesMultiAutocomplete/index.d.ts +5 -3
- package/components/RolesMultiAutocomplete/index.js +15 -7
- package/components/RolesMultiAutocomplete/index.js.map +1 -1
- package/components/SimpleForm/SimpleForm.d.ts +3 -3
- package/components/SimpleForm/SimpleForm.js +1 -0
- package/components/SimpleForm/SimpleForm.js.map +1 -1
- package/components/SimpleUI/InputField.js +25 -46
- package/components/SimpleUI/InputField.js.map +1 -1
- package/components/SingleImageUpload.d.ts +1 -1
- package/components/SingleImageUpload.js.map +1 -1
- package/components/TeamAutocomplete/index.d.ts +5 -3
- package/components/TeamAutocomplete/index.js +15 -6
- package/components/TeamAutocomplete/index.js.map +1 -1
- package/components/TeamsMultiAutocomplete/index.d.ts +5 -3
- package/components/TeamsMultiAutocomplete/index.js +15 -7
- package/components/TeamsMultiAutocomplete/index.js.map +1 -1
- package/components/Wcp.d.ts +4 -0
- package/components/Wcp.js +15 -1
- package/components/Wcp.js.map +1 -1
- package/components/index.d.ts +5 -5
- package/components/index.js +4 -5
- package/components/index.js.map +1 -1
- package/config/AdminConfig/Dialog.d.ts +10 -0
- package/config/AdminConfig/Dialog.js +21 -0
- package/config/AdminConfig/Dialog.js.map +1 -0
- package/config/AdminConfig/FieldRenderer.d.ts +11 -0
- package/config/AdminConfig/FieldRenderer.js +21 -0
- package/config/AdminConfig/FieldRenderer.js.map +1 -0
- package/config/AdminConfig/Form.d.ts +4 -0
- package/config/AdminConfig/Form.js +8 -0
- package/config/AdminConfig/Form.js.map +1 -0
- package/config/AdminConfig/LayoutRenderer.d.ts +10 -0
- package/config/AdminConfig/LayoutRenderer.js +21 -0
- package/config/AdminConfig/LayoutRenderer.js.map +1 -0
- package/config/AdminConfig/Menu/MenuLink.d.ts +2 -2
- package/config/AdminConfig/Security.d.ts +3 -0
- package/config/AdminConfig/Security.js +6 -0
- package/config/AdminConfig/Security.js.map +1 -0
- package/config/AdminConfig/SecurityPermissions.d.ts +17 -0
- package/config/AdminConfig/SecurityPermissions.js +31 -0
- package/config/AdminConfig/SecurityPermissions.js.map +1 -0
- package/config/AdminConfig.d.ts +22 -1
- package/config/AdminConfig.js +16 -4
- package/config/AdminConfig.js.map +1 -1
- package/domain/Identity.js +1 -1
- package/domain/Identity.js.map +1 -1
- package/exports/admin/build-params.d.ts +4 -0
- package/exports/admin/build-params.js +7 -0
- package/exports/admin/build-params.js.map +1 -0
- package/exports/admin/form.d.ts +16 -0
- package/exports/admin/form.js +20 -0
- package/exports/admin/form.js.map +1 -0
- package/exports/admin/security.d.ts +6 -0
- package/exports/admin/security.js +5 -0
- package/exports/admin/security.js.map +1 -1
- package/exports/admin/ui.d.ts +5 -0
- package/exports/admin/ui.js +5 -0
- package/exports/admin/ui.js.map +1 -1
- package/exports/admin.d.ts +6 -0
- package/exports/admin.js +6 -0
- package/exports/admin.js.map +1 -1
- package/features/buildParams/feature.d.ts +1 -1
- package/features/buildParams/feature.js +4 -0
- package/features/buildParams/feature.js.map +1 -1
- package/features/formModel/ConditionRuleEvaluator.d.ts +9 -0
- package/features/formModel/ConditionRuleEvaluator.js +56 -0
- package/features/formModel/ConditionRuleEvaluator.js.map +1 -0
- package/features/formModel/Field.d.ts +99 -0
- package/features/formModel/Field.js +433 -0
- package/features/formModel/Field.js.map +1 -0
- package/features/formModel/FieldBuilder.d.ts +44 -0
- package/features/formModel/FieldBuilder.js +182 -0
- package/features/formModel/FieldBuilder.js.map +1 -0
- package/features/formModel/FieldBuilder.test.d.ts +1 -0
- package/features/formModel/FieldBuilder.test.js +220 -0
- package/features/formModel/FieldBuilder.test.js.map +1 -0
- package/features/formModel/FieldBuilderRegistry.d.ts +4 -0
- package/features/formModel/FieldBuilderRegistry.js +31 -0
- package/features/formModel/FieldBuilderRegistry.js.map +1 -0
- package/features/formModel/FocusManager.d.ts +14 -0
- package/features/formModel/FocusManager.js +109 -0
- package/features/formModel/FocusManager.js.map +1 -0
- package/features/formModel/FormErrors.d.ts +9 -0
- package/features/formModel/FormErrors.js +38 -0
- package/features/formModel/FormErrors.js.map +1 -0
- package/features/formModel/FormModel.d.ts +59 -0
- package/features/formModel/FormModel.js +461 -0
- package/features/formModel/FormModel.js.map +1 -0
- package/features/formModel/FormModel.test.d.ts +1 -0
- package/features/formModel/FormModel.test.js +3374 -0
- package/features/formModel/FormModel.test.js.map +1 -0
- package/features/formModel/FormModelFactory.d.ts +11 -0
- package/features/formModel/FormModelFactory.js +23 -0
- package/features/formModel/FormModelFactory.js.map +1 -0
- package/features/formModel/FormView.d.ts +46 -0
- package/features/formModel/FormView.js +234 -0
- package/features/formModel/FormView.js.map +1 -0
- package/features/formModel/LayoutBuilderFactory.d.ts +61 -0
- package/features/formModel/LayoutBuilderFactory.js +386 -0
- package/features/formModel/LayoutBuilderFactory.js.map +1 -0
- package/features/formModel/LayoutMutator.d.ts +11 -0
- package/features/formModel/LayoutMutator.js +136 -0
- package/features/formModel/LayoutMutator.js.map +1 -0
- package/features/formModel/LayoutResolver.d.ts +26 -0
- package/features/formModel/LayoutResolver.js +239 -0
- package/features/formModel/LayoutResolver.js.map +1 -0
- package/features/formModel/ObjectField.d.ts +97 -0
- package/features/formModel/ObjectField.js +763 -0
- package/features/formModel/ObjectField.js.map +1 -0
- package/features/formModel/PresenterErrors.d.ts +9 -0
- package/features/formModel/PresenterErrors.js +36 -0
- package/features/formModel/PresenterErrors.js.map +1 -0
- package/features/formModel/Rules.test.d.ts +1 -0
- package/features/formModel/Rules.test.js +289 -0
- package/features/formModel/Rules.test.js.map +1 -0
- package/features/formModel/abstractions.d.ts +715 -0
- package/features/formModel/abstractions.js +117 -0
- package/features/formModel/abstractions.js.map +1 -0
- package/features/formModel/createFieldRenderer.d.ts +20 -0
- package/features/formModel/createFieldRenderer.js +44 -0
- package/features/formModel/createFieldRenderer.js.map +1 -0
- package/features/formModel/demo/FieldRenderersDemoPresenter.d.ts +18 -0
- package/features/formModel/demo/FieldRenderersDemoPresenter.js +225 -0
- package/features/formModel/demo/FieldRenderersDemoPresenter.js.map +1 -0
- package/features/formModel/demo/FormModelDemo.d.ts +4 -0
- package/features/formModel/demo/FormModelDemo.js +234 -0
- package/features/formModel/demo/FormModelDemo.js.map +1 -0
- package/features/formModel/demo/FormModelDemoPresenter.d.ts +22 -0
- package/features/formModel/demo/FormModelDemoPresenter.js +121 -0
- package/features/formModel/demo/FormModelDemoPresenter.js.map +1 -0
- package/features/formModel/demo/FormModelPhase11Presenter.d.ts +25 -0
- package/features/formModel/demo/FormModelPhase11Presenter.js +104 -0
- package/features/formModel/demo/FormModelPhase11Presenter.js.map +1 -0
- package/features/formModel/demo/FormModelPhase8c1Presenter.d.ts +23 -0
- package/features/formModel/demo/FormModelPhase8c1Presenter.js +62 -0
- package/features/formModel/demo/FormModelPhase8c1Presenter.js.map +1 -0
- package/features/formModel/feature.d.ts +3 -0
- package/features/formModel/feature.js +28 -0
- package/features/formModel/feature.js.map +1 -0
- package/features/formModel/fieldTypes/BooleanFieldType.d.ts +19 -0
- package/features/formModel/fieldTypes/BooleanFieldType.js +23 -0
- package/features/formModel/fieldTypes/BooleanFieldType.js.map +1 -0
- package/features/formModel/fieldTypes/DateTimeFieldType.d.ts +173 -0
- package/features/formModel/fieldTypes/DateTimeFieldType.js +369 -0
- package/features/formModel/fieldTypes/DateTimeFieldType.js.map +1 -0
- package/features/formModel/fieldTypes/FileFieldType.d.ts +29 -0
- package/features/formModel/fieldTypes/FileFieldType.js +55 -0
- package/features/formModel/fieldTypes/FileFieldType.js.map +1 -0
- package/features/formModel/fieldTypes/FileUrlFieldType.d.ts +18 -0
- package/features/formModel/fieldTypes/FileUrlFieldType.js +20 -0
- package/features/formModel/fieldTypes/FileUrlFieldType.js.map +1 -0
- package/features/formModel/fieldTypes/NumberFieldType.d.ts +19 -0
- package/features/formModel/fieldTypes/NumberFieldType.js +27 -0
- package/features/formModel/fieldTypes/NumberFieldType.js.map +1 -0
- package/features/formModel/fieldTypes/ObjectFieldType.d.ts +34 -0
- package/features/formModel/fieldTypes/ObjectFieldType.js +109 -0
- package/features/formModel/fieldTypes/ObjectFieldType.js.map +1 -0
- package/features/formModel/fieldTypes/TextFieldType.d.ts +18 -0
- package/features/formModel/fieldTypes/TextFieldType.js +20 -0
- package/features/formModel/fieldTypes/TextFieldType.js.map +1 -0
- package/features/formModel/fieldTypes/index.d.ts +7 -0
- package/features/formModel/fieldTypes/index.js +9 -0
- package/features/formModel/fieldTypes/index.js.map +1 -0
- package/features/formModel/index.d.ts +24 -0
- package/features/formModel/index.js +42 -0
- package/features/formModel/index.js.map +1 -0
- package/features/formModel/renderers.d.ts +20 -0
- package/features/formModel/renderers.js +24 -0
- package/features/formModel/renderers.js.map +1 -0
- package/features/formModel/useFieldRenderers.d.ts +2 -0
- package/features/formModel/useFieldRenderers.js +19 -0
- package/features/formModel/useFieldRenderers.js.map +1 -0
- package/features/formModel/useLayoutRenderers.d.ts +2 -0
- package/features/formModel/useLayoutRenderers.js +19 -0
- package/features/formModel/useLayoutRenderers.js.map +1 -0
- package/features/security/LogIn/LogInGateway.d.ts +2 -2
- package/features/security/LogIn/LogInGateway.js +2 -2
- package/features/security/LogIn/LogInGateway.js.map +1 -1
- package/features/tools/LexicalContext/LexicalContext.d.ts +14 -0
- package/features/tools/LexicalContext/LexicalContext.js +22 -0
- package/features/tools/LexicalContext/LexicalContext.js.map +1 -0
- package/features/tools/LexicalContext/abstractions.d.ts +11 -0
- package/features/tools/LexicalContext/abstractions.js +4 -0
- package/features/tools/LexicalContext/abstractions.js.map +1 -0
- package/features/tools/LexicalContext/index.d.ts +2 -0
- package/features/tools/LexicalContext/index.js +3 -0
- package/features/tools/LexicalContext/index.js.map +1 -0
- package/features/tools/ToolPipelineRunner.d.ts +10 -0
- package/features/tools/ToolPipelineRunner.js +33 -0
- package/features/tools/ToolPipelineRunner.js.map +1 -0
- package/features/tools/ToolRegistry.d.ts +12 -0
- package/features/tools/ToolRegistry.js +29 -0
- package/features/tools/ToolRegistry.js.map +1 -0
- package/features/tools/abstractions.d.ts +28 -0
- package/features/tools/abstractions.js +6 -0
- package/features/tools/abstractions.js.map +1 -0
- package/features/tools/feature.d.ts +4 -0
- package/features/tools/feature.js +21 -0
- package/features/tools/feature.js.map +1 -0
- package/features/tools/index.d.ts +3 -0
- package/features/tools/index.js +5 -0
- package/features/tools/index.js.map +1 -0
- package/features/wcp/ReactLicense.d.ts +4 -0
- package/features/wcp/ReactLicense.js +12 -0
- package/features/wcp/ReactLicense.js.map +1 -1
- package/features/wcp/WcpGateway.d.ts +2 -2
- package/features/wcp/WcpGateway.js +6 -2
- package/features/wcp/WcpGateway.js.map +1 -1
- package/features/webinySdk/WebinySdk.d.ts +11 -0
- package/features/webinySdk/WebinySdk.js +27 -0
- package/features/webinySdk/WebinySdk.js.map +1 -0
- package/features/webinySdk/abstractions.d.ts +6 -0
- package/features/webinySdk/abstractions.js +8 -0
- package/features/webinySdk/abstractions.js.map +1 -0
- package/features/webinySdk/feature.d.ts +3 -0
- package/features/webinySdk/feature.js +16 -0
- package/features/webinySdk/feature.js.map +1 -0
- package/features/webinySdk/index.d.ts +2 -0
- package/features/webinySdk/index.js +4 -0
- package/features/webinySdk/index.js.map +1 -0
- package/hooks/index.d.ts +2 -0
- package/hooks/index.js +2 -0
- package/hooks/index.js.map +1 -1
- package/hooks/useConfirmationDialog.d.ts +1 -1
- package/hooks/useConfirmationDialog.js +5 -4
- package/hooks/useConfirmationDialog.js.map +1 -1
- package/hooks/useDialog.d.ts +9 -29
- package/hooks/useDialog.js +16 -24
- package/hooks/useDialog.js.map +1 -1
- package/hooks/useHotkeys.d.ts +9 -0
- package/hooks/useHotkeys.js +99 -0
- package/hooks/useHotkeys.js.map +1 -0
- package/hooks/useKeyHandler.js +1 -1
- package/hooks/useKeyHandler.js.map +1 -1
- package/hooks/useModKey.js +1 -1
- package/hooks/useModKey.js.map +1 -1
- package/hooks/useOpenDialog.d.ts +7 -0
- package/hooks/useOpenDialog.js +18 -0
- package/hooks/useOpenDialog.js.map +1 -0
- package/hooks/useShiftKey.js +1 -1
- package/hooks/useShiftKey.js.map +1 -1
- package/index.d.ts +22 -1
- package/index.js +23 -3
- package/index.js.map +1 -1
- package/package.json +47 -47
- package/permissions/PermissionRenderer.d.ts +6 -0
- package/permissions/PermissionRenderer.js +219 -0
- package/permissions/PermissionRenderer.js.map +1 -0
- package/permissions/PermissionValueContext.d.ts +11 -0
- package/permissions/PermissionValueContext.js +23 -0
- package/permissions/PermissionValueContext.js.map +1 -0
- package/permissions/createHasPermission.d.ts +4 -0
- package/permissions/createHasPermission.js +47 -0
- package/permissions/createHasPermission.js.map +1 -0
- package/permissions/createPermissionSchema.d.ts +2 -0
- package/permissions/createPermissionSchema.js +8 -0
- package/permissions/createPermissionSchema.js.map +1 -0
- package/permissions/createPermissions.d.ts +6 -0
- package/permissions/createPermissions.js +201 -0
- package/permissions/createPermissions.js.map +1 -0
- package/permissions/createPermissions.test.d.ts +1 -0
- package/permissions/createPermissions.test.js +177 -0
- package/permissions/createPermissions.test.js.map +1 -0
- package/permissions/index.d.ts +9 -0
- package/permissions/index.js +9 -0
- package/permissions/index.js.map +1 -0
- package/permissions/types.d.ts +267 -0
- package/permissions/types.js +3 -0
- package/permissions/types.js.map +1 -0
- package/permissions/usePermissionForm.d.ts +17 -0
- package/permissions/usePermissionForm.js +256 -0
- package/permissions/usePermissionForm.js.map +1 -0
- package/permissions/usePermissions.d.ts +4 -0
- package/permissions/usePermissions.js +9 -0
- package/permissions/usePermissions.js.map +1 -0
- package/presentation/buildParams/useBuildParams.d.ts +1 -0
- package/presentation/buildParams/useBuildParams.js +7 -0
- package/presentation/buildParams/useBuildParams.js.map +1 -0
- package/presentation/installation/components/SystemInstaller/steps/AdminUserStep/createPasswordValidator.js +1 -1
- package/presentation/installation/components/SystemInstaller/steps/AdminUserStep/createPasswordValidator.js.map +1 -1
- package/presentation/installation/presenters/SystemInstaller/SystemInstallerGateway.d.ts +2 -2
- package/presentation/installation/presenters/SystemInstaller/SystemInstallerGateway.js +2 -2
- package/presentation/installation/presenters/SystemInstaller/SystemInstallerGateway.js.map +1 -1
- package/presentation/lexicalContext/useLexicalContext.d.ts +3 -0
- package/presentation/lexicalContext/useLexicalContext.js +14 -0
- package/presentation/lexicalContext/useLexicalContext.js.map +1 -0
- package/presentation/textToLexicalTool/TextToLexicalTool.d.ts +30 -0
- package/presentation/textToLexicalTool/TextToLexicalTool.js +29 -0
- package/presentation/textToLexicalTool/TextToLexicalTool.js.map +1 -0
- package/presentation/textToLexicalTool/feature.d.ts +1 -0
- package/presentation/textToLexicalTool/feature.js +10 -0
- package/presentation/textToLexicalTool/feature.js.map +1 -0
- package/presentation/textToLexicalTool/textToLexicalState.d.ts +6 -0
- package/presentation/textToLexicalTool/textToLexicalState.js +31 -0
- package/presentation/textToLexicalTool/textToLexicalState.js.map +1 -0
- package/presentation/wcp/WcpProvider.js +8 -1
- package/presentation/wcp/WcpProvider.js.map +1 -1
- package/routes.d.ts +1 -0
- package/routes.js +4 -0
- package/routes.js.map +1 -1
- package/types.d.ts +0 -7
- package/types.js.map +1 -1
- package/base/Base/LexicalPreset/LinkEditForm.d.ts +0 -6
- package/base/Base/LexicalPreset/LinkEditForm.js +0 -63
- package/base/Base/LexicalPreset/LinkEditForm.js.map +0 -1
- package/components/FloatingPanel.d.ts +0 -13
- package/components/FloatingPanel.js +0 -94
- package/components/FloatingPanel.js.map +0 -1
- package/components/NavigationPrompt.d.ts +0 -27
- package/components/NavigationPrompt.js +0 -39
- package/components/NavigationPrompt.js.map +0 -1
- package/components/StateInspector.d.ts +0 -8
- package/components/StateInspector.js +0 -36
- package/components/StateInspector.js.map +0 -1
- package/exports/admin/buildParams.d.ts +0 -1
- package/exports/admin/buildParams.js +0 -3
- package/exports/admin/buildParams.js.map +0 -1
- package/extensions/AdminBuildParam.d.ts +0 -11
- package/extensions/AdminBuildParam.js +0 -184
- package/extensions/AdminBuildParam.js.map +0 -1
- package/extensions/AdminExtension.d.ts +0 -11
- package/extensions/AdminExtension.js +0 -105
- package/extensions/AdminExtension.js.map +0 -1
- package/extensions/index.d.ts +0 -23
- package/extensions/index.js +0 -7
- package/extensions/index.js.map +0 -1
- package/plugins/PermissionRendererPlugin.d.ts +0 -22
- package/plugins/PermissionRendererPlugin.js +0 -19
- package/plugins/PermissionRendererPlugin.js.map +0 -1
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { IFieldVM } from "../../../features/formModel/index.js";
|
|
2
|
+
declare module "../../../features/formModel/abstractions.js" {
|
|
3
|
+
interface IFieldRendererRegistry {
|
|
4
|
+
hidden: {
|
|
5
|
+
fieldType: string;
|
|
6
|
+
settings: undefined;
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
export declare const HiddenRenderer: (_props: {
|
|
11
|
+
field: IFieldVM;
|
|
12
|
+
}) => null;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["HiddenRenderer","_props"],"sources":["HiddenRenderer.tsx"],"sourcesContent":["import React from \"react\";\nimport type { IFieldVM } from \"~/features/formModel/index.js\";\n\ndeclare module \"../../../features/formModel/abstractions.js\" {\n interface IFieldRendererRegistry {\n hidden: { fieldType: string; settings: undefined };\n }\n}\n\nexport const HiddenRenderer = (_props: { field: IFieldVM }) => {\n return null;\n};\n"],"mappings":"AASA,OAAO,MAAMA,cAAc,GAAIC,MAA2B,IAAK;EAC3D,OAAO,IAAI;AACf,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { observer } from "mobx-react-lite";
|
|
3
|
+
import { Tabs } from "@webiny/admin-ui";
|
|
4
|
+
import { LayoutNodeRenderer, renderTabIcon } from "../../../features/formModel/FormView.js";
|
|
5
|
+
export const HorizontalTabsRenderer = observer(function HorizontalTabsRenderer({
|
|
6
|
+
node
|
|
7
|
+
}) {
|
|
8
|
+
return /*#__PURE__*/React.createElement(Tabs, {
|
|
9
|
+
value: node.activeTabId,
|
|
10
|
+
onValueChange: id => node.setActiveTab(id),
|
|
11
|
+
tabs: node.tabs.map(tab => /*#__PURE__*/React.createElement(Tabs.Tab, {
|
|
12
|
+
key: tab.id,
|
|
13
|
+
value: tab.id,
|
|
14
|
+
icon: renderTabIcon(tab.icon),
|
|
15
|
+
trigger: tab.label,
|
|
16
|
+
disabled: tab.disabled,
|
|
17
|
+
content: /*#__PURE__*/React.createElement("div", {
|
|
18
|
+
className: "flex flex-col gap-4 mt-md"
|
|
19
|
+
}, tab.layout.map((childNode, index) => /*#__PURE__*/React.createElement(LayoutNodeRenderer, {
|
|
20
|
+
key: index,
|
|
21
|
+
node: childNode
|
|
22
|
+
})))
|
|
23
|
+
}))
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
//# sourceMappingURL=HorizontalTabsRenderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","observer","Tabs","LayoutNodeRenderer","renderTabIcon","HorizontalTabsRenderer","node","createElement","value","activeTabId","onValueChange","id","setActiveTab","tabs","map","tab","Tab","key","icon","trigger","label","disabled","content","className","layout","childNode","index"],"sources":["HorizontalTabsRenderer.tsx"],"sourcesContent":["import React from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { Tabs } from \"@webiny/admin-ui\";\nimport { LayoutNodeRenderer, renderTabIcon } from \"~/features/formModel/FormView.js\";\nimport type { TabsNodeRendererProps } from \"~/features/formModel/FormView.js\";\n\nexport const HorizontalTabsRenderer = observer(function HorizontalTabsRenderer({\n node\n}: TabsNodeRendererProps) {\n return (\n <Tabs\n value={node.activeTabId}\n onValueChange={id => node.setActiveTab(id)}\n tabs={node.tabs.map(tab => (\n <Tabs.Tab\n key={tab.id}\n value={tab.id}\n icon={renderTabIcon(tab.icon)}\n trigger={tab.label}\n disabled={tab.disabled}\n content={\n <div className={\"flex flex-col gap-4 mt-md\"}>\n {tab.layout.map((childNode, index) => (\n <LayoutNodeRenderer key={index} node={childNode} />\n ))}\n </div>\n }\n />\n ))}\n />\n );\n});\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,QAAQ,QAAQ,iBAAiB;AAC1C,SAASC,IAAI,QAAQ,kBAAkB;AACvC,SAASC,kBAAkB,EAAEC,aAAa;AAG1C,OAAO,MAAMC,sBAAsB,GAAGJ,QAAQ,CAAC,SAASI,sBAAsBA,CAAC;EAC3EC;AACmB,CAAC,EAAE;EACtB,oBACIN,KAAA,CAAAO,aAAA,CAACL,IAAI;IACDM,KAAK,EAAEF,IAAI,CAACG,WAAY;IACxBC,aAAa,EAAEC,EAAE,IAAIL,IAAI,CAACM,YAAY,CAACD,EAAE,CAAE;IAC3CE,IAAI,EAAEP,IAAI,CAACO,IAAI,CAACC,GAAG,CAACC,GAAG,iBACnBf,KAAA,CAAAO,aAAA,CAACL,IAAI,CAACc,GAAG;MACLC,GAAG,EAAEF,GAAG,CAACJ,EAAG;MACZH,KAAK,EAAEO,GAAG,CAACJ,EAAG;MACdO,IAAI,EAAEd,aAAa,CAACW,GAAG,CAACG,IAAI,CAAE;MAC9BC,OAAO,EAAEJ,GAAG,CAACK,KAAM;MACnBC,QAAQ,EAAEN,GAAG,CAACM,QAAS;MACvBC,OAAO,eACHtB,KAAA,CAAAO,aAAA;QAAKgB,SAAS,EAAE;MAA4B,GACvCR,GAAG,CAACS,MAAM,CAACV,GAAG,CAAC,CAACW,SAAS,EAAEC,KAAK,kBAC7B1B,KAAA,CAAAO,aAAA,CAACJ,kBAAkB;QAACc,GAAG,EAAES,KAAM;QAACpB,IAAI,EAAEmB;MAAU,CAAE,CACrD,CACA;IACR,CACJ,CACJ;EAAE,CACN,CAAC;AAEV,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
declare module "../../../features/formModel/abstractions.js" {
|
|
3
|
+
interface IFieldRendererRegistry {
|
|
4
|
+
textInput: {
|
|
5
|
+
fieldType: "text";
|
|
6
|
+
settings: undefined;
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
export declare const InputRenderer: React.ComponentType<{
|
|
11
|
+
field: import("../../..").IFieldVM;
|
|
12
|
+
}>;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { createFieldRenderer } from "../../../features/formModel/createFieldRenderer.js";
|
|
3
|
+
import { Input } from "@webiny/admin-ui";
|
|
4
|
+
import { DelayedOnChange } from "@webiny/admin-ui";
|
|
5
|
+
export const InputRenderer = createFieldRenderer(({
|
|
6
|
+
field
|
|
7
|
+
}) => {
|
|
8
|
+
return /*#__PURE__*/React.createElement(DelayedOnChange, {
|
|
9
|
+
value: field.value,
|
|
10
|
+
onChange: value => field.onChange(value)
|
|
11
|
+
}, /*#__PURE__*/React.createElement(Input, {
|
|
12
|
+
label: field.label,
|
|
13
|
+
placeholder: field.placeholder,
|
|
14
|
+
description: field.description,
|
|
15
|
+
note: field.note,
|
|
16
|
+
required: field.required,
|
|
17
|
+
disabled: field.disabled,
|
|
18
|
+
validation: field.validation,
|
|
19
|
+
onBlur: () => field.onBlur()
|
|
20
|
+
}));
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
//# sourceMappingURL=InputRenderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","createFieldRenderer","Input","DelayedOnChange","InputRenderer","field","createElement","value","onChange","label","placeholder","description","note","required","disabled","validation","onBlur"],"sources":["InputRenderer.tsx"],"sourcesContent":["import React from \"react\";\nimport { createFieldRenderer } from \"~/features/formModel/createFieldRenderer.js\";\nimport { Input } from \"@webiny/admin-ui\";\nimport { DelayedOnChange } from \"@webiny/admin-ui\";\n\ndeclare module \"../../../features/formModel/abstractions.js\" {\n interface IFieldRendererRegistry {\n textInput: { fieldType: \"text\"; settings: undefined };\n }\n}\n\nexport const InputRenderer = createFieldRenderer(({ field }) => {\n return (\n <DelayedOnChange value={field.value} onChange={value => field.onChange(value)}>\n <Input\n label={field.label}\n placeholder={field.placeholder}\n description={field.description}\n note={field.note}\n required={field.required}\n disabled={field.disabled}\n validation={field.validation}\n onBlur={() => field.onBlur()}\n />\n </DelayedOnChange>\n );\n});\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,mBAAmB;AAC5B,SAASC,KAAK,QAAQ,kBAAkB;AACxC,SAASC,eAAe,QAAQ,kBAAkB;AAQlD,OAAO,MAAMC,aAAa,GAAGH,mBAAmB,CAAC,CAAC;EAAEI;AAAM,CAAC,KAAK;EAC5D,oBACIL,KAAA,CAAAM,aAAA,CAACH,eAAe;IAACI,KAAK,EAAEF,KAAK,CAACE,KAAM;IAACC,QAAQ,EAAED,KAAK,IAAIF,KAAK,CAACG,QAAQ,CAACD,KAAK;EAAE,gBAC1EP,KAAA,CAAAM,aAAA,CAACJ,KAAK;IACFO,KAAK,EAAEJ,KAAK,CAACI,KAAM;IACnBC,WAAW,EAAEL,KAAK,CAACK,WAAY;IAC/BC,WAAW,EAAEN,KAAK,CAACM,WAAY;IAC/BC,IAAI,EAAEP,KAAK,CAACO,IAAK;IACjBC,QAAQ,EAAER,KAAK,CAACQ,QAAS;IACzBC,QAAQ,EAAET,KAAK,CAACS,QAAS;IACzBC,UAAU,EAAEV,KAAK,CAACU,UAAW;IAC7BC,MAAM,EAAEA,CAAA,KAAMX,KAAK,CAACW,MAAM,CAAC;EAAE,CAChC,CACY,CAAC;AAE1B,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { FileFieldSettings } from "../../../features/formModel/fieldTypes/FileFieldType.js";
|
|
3
|
+
declare module "../../../features/formModel/abstractions.js" {
|
|
4
|
+
interface IFieldRendererRegistry {
|
|
5
|
+
multiFilePicker: {
|
|
6
|
+
fieldType: "file";
|
|
7
|
+
settings: FileFieldSettings;
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
export declare const MultiFilePickerRenderer: React.ComponentType<{
|
|
12
|
+
field: import("~/features/formModel/abstractions.js").IFieldVM;
|
|
13
|
+
}>;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { createFieldRenderer } from "../../../features/formModel/createFieldRenderer.js";
|
|
3
|
+
import { FileManager } from "../../ui/FileManager.js";
|
|
4
|
+
import { MultiFilePicker } from "@webiny/admin-ui";
|
|
5
|
+
const toFilePickerValues = value => {
|
|
6
|
+
if (!Array.isArray(value)) {
|
|
7
|
+
return [];
|
|
8
|
+
}
|
|
9
|
+
return value.filter(item => item?.src).map(item => ({
|
|
10
|
+
id: item.id,
|
|
11
|
+
url: item.src,
|
|
12
|
+
name: item.name,
|
|
13
|
+
mimeType: item.mimeType,
|
|
14
|
+
size: item.size
|
|
15
|
+
}));
|
|
16
|
+
};
|
|
17
|
+
const fileManagerItemToValue = file => ({
|
|
18
|
+
id: file.id,
|
|
19
|
+
name: file.name,
|
|
20
|
+
size: file.size,
|
|
21
|
+
mimeType: file.type,
|
|
22
|
+
src: file.src || "",
|
|
23
|
+
width: file.width,
|
|
24
|
+
height: file.height
|
|
25
|
+
});
|
|
26
|
+
export const MultiFilePickerRenderer = createFieldRenderer(({
|
|
27
|
+
field
|
|
28
|
+
}) => {
|
|
29
|
+
const settings = field.rendererSettings;
|
|
30
|
+
const values = toFilePickerValues(field.value);
|
|
31
|
+
const currentValues = Array.isArray(field.value) ? field.value : [];
|
|
32
|
+
return /*#__PURE__*/React.createElement(FileManager, {
|
|
33
|
+
multiple: true,
|
|
34
|
+
images: settings?.images,
|
|
35
|
+
accept: settings?.accept,
|
|
36
|
+
own: settings?.own,
|
|
37
|
+
scope: settings?.scope,
|
|
38
|
+
render: ({
|
|
39
|
+
showFileManager
|
|
40
|
+
}) => {
|
|
41
|
+
const selectFiles = (replaceIndex = -1) => {
|
|
42
|
+
showFileManager(files => {
|
|
43
|
+
const newValues = files.map(fileManagerItemToValue);
|
|
44
|
+
if (replaceIndex === -1) {
|
|
45
|
+
field.onChange([...currentValues, ...newValues]);
|
|
46
|
+
} else {
|
|
47
|
+
field.onChange([...currentValues.slice(0, replaceIndex), ...newValues, ...currentValues.slice(replaceIndex + 1)]);
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
};
|
|
51
|
+
return /*#__PURE__*/React.createElement(MultiFilePicker, {
|
|
52
|
+
label: field.label,
|
|
53
|
+
description: field.description,
|
|
54
|
+
note: field.note,
|
|
55
|
+
hint: field.help,
|
|
56
|
+
values: values,
|
|
57
|
+
type: "compact",
|
|
58
|
+
onSelectItem: () => selectFiles(),
|
|
59
|
+
onReplaceItem: (_, index) => selectFiles(index),
|
|
60
|
+
onRemoveItem: (_, index) => {
|
|
61
|
+
field.onChange([...currentValues.slice(0, index), ...currentValues.slice(index + 1)]);
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
//# sourceMappingURL=MultiFilePickerRenderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","createFieldRenderer","FileManager","MultiFilePicker","toFilePickerValues","value","Array","isArray","filter","item","src","map","id","url","name","mimeType","size","fileManagerItemToValue","file","type","width","height","MultiFilePickerRenderer","field","settings","rendererSettings","values","currentValues","createElement","multiple","images","accept","own","scope","render","showFileManager","selectFiles","replaceIndex","files","newValues","onChange","slice","label","description","note","hint","help","onSelectItem","onReplaceItem","_","index","onRemoveItem"],"sources":["MultiFilePickerRenderer.tsx"],"sourcesContent":["import React from \"react\";\nimport { createFieldRenderer } from \"~/features/formModel/createFieldRenderer.js\";\nimport { FileManager } from \"~/base/ui/FileManager.js\";\nimport type { FileManagerFileItem } from \"~/base/ui/FileManager.js\";\nimport { MultiFilePicker } from \"@webiny/admin-ui\";\nimport type { FileItemDto } from \"@webiny/admin-ui\";\nimport type { FileValue } from \"~/features/formModel/abstractions.js\";\nimport type { FileFieldSettings } from \"~/features/formModel/fieldTypes/FileFieldType.js\";\n\ndeclare module \"../../../features/formModel/abstractions.js\" {\n interface IFieldRendererRegistry {\n multiFilePicker: { fieldType: \"file\"; settings: FileFieldSettings };\n }\n}\n\nconst toFilePickerValues = (value: unknown): FileItemDto[] => {\n if (!Array.isArray(value)) {\n return [];\n }\n return value\n .filter((item: FileValue) => item?.src)\n .map((item: FileValue) => ({\n id: item.id,\n url: item.src,\n name: item.name,\n mimeType: item.mimeType,\n size: item.size\n }));\n};\n\nconst fileManagerItemToValue = (file: FileManagerFileItem): FileValue => ({\n id: file.id,\n name: file.name,\n size: file.size,\n mimeType: file.type,\n src: file.src || \"\",\n width: file.width,\n height: file.height\n});\n\nexport const MultiFilePickerRenderer = createFieldRenderer<\"multiFilePicker\">(({ field }) => {\n const settings = field.rendererSettings as FileFieldSettings | undefined;\n const values = toFilePickerValues(field.value);\n const currentValues = (Array.isArray(field.value) ? field.value : []) as FileValue[];\n\n return (\n <FileManager\n multiple\n images={settings?.images}\n accept={settings?.accept}\n own={settings?.own}\n scope={settings?.scope}\n render={({ showFileManager }) => {\n const selectFiles = (replaceIndex = -1) => {\n showFileManager((files: FileManagerFileItem[]) => {\n const newValues = files.map(fileManagerItemToValue);\n if (replaceIndex === -1) {\n field.onChange([...currentValues, ...newValues]);\n } else {\n field.onChange([\n ...currentValues.slice(0, replaceIndex),\n ...newValues,\n ...currentValues.slice(replaceIndex + 1)\n ]);\n }\n });\n };\n\n return (\n <MultiFilePicker\n label={field.label}\n description={field.description}\n note={field.note}\n hint={field.help}\n values={values}\n type=\"compact\"\n onSelectItem={() => selectFiles()}\n onReplaceItem={(_, index) => selectFiles(index)}\n onRemoveItem={(_, index) => {\n field.onChange([\n ...currentValues.slice(0, index),\n ...currentValues.slice(index + 1)\n ]);\n }}\n />\n );\n }}\n />\n );\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
declare module "../../../features/formModel/abstractions.js" {
|
|
3
|
+
interface IFieldRendererRegistry {
|
|
4
|
+
numberInput: {
|
|
5
|
+
fieldType: "number";
|
|
6
|
+
settings: undefined;
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
export declare const NumberInputRenderer: React.ComponentType<{
|
|
11
|
+
field: import("../../..").IFieldVM;
|
|
12
|
+
}>;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { createFieldRenderer } from "../../../features/formModel/createFieldRenderer.js";
|
|
3
|
+
import { DelayedOnChange, Input } from "@webiny/admin-ui";
|
|
4
|
+
export const NumberInputRenderer = createFieldRenderer(({
|
|
5
|
+
field
|
|
6
|
+
}) => {
|
|
7
|
+
return /*#__PURE__*/React.createElement(DelayedOnChange, {
|
|
8
|
+
value: field.value,
|
|
9
|
+
onChange: value => field.onChange(value)
|
|
10
|
+
}, /*#__PURE__*/React.createElement(Input, {
|
|
11
|
+
label: field.label,
|
|
12
|
+
placeholder: field.placeholder,
|
|
13
|
+
description: field.description,
|
|
14
|
+
note: field.note,
|
|
15
|
+
required: field.required,
|
|
16
|
+
disabled: field.disabled,
|
|
17
|
+
validation: field.validation,
|
|
18
|
+
onBlur: () => field.onBlur(),
|
|
19
|
+
type: "number"
|
|
20
|
+
}));
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
//# sourceMappingURL=NumberInputRenderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","createFieldRenderer","DelayedOnChange","Input","NumberInputRenderer","field","createElement","value","onChange","label","placeholder","description","note","required","disabled","validation","onBlur","type"],"sources":["NumberInputRenderer.tsx"],"sourcesContent":["import React from \"react\";\nimport { createFieldRenderer } from \"~/features/formModel/createFieldRenderer.js\";\nimport { DelayedOnChange, Input } from \"@webiny/admin-ui\";\n\ndeclare module \"../../../features/formModel/abstractions.js\" {\n interface IFieldRendererRegistry {\n numberInput: { fieldType: \"number\"; settings: undefined };\n }\n}\n\nexport const NumberInputRenderer = createFieldRenderer(({ field }) => {\n return (\n <DelayedOnChange value={field.value} onChange={value => field.onChange(value)}>\n <Input\n label={field.label}\n placeholder={field.placeholder}\n description={field.description}\n note={field.note}\n required={field.required}\n disabled={field.disabled}\n validation={field.validation}\n onBlur={() => field.onBlur()}\n type=\"number\"\n />\n </DelayedOnChange>\n );\n});\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,mBAAmB;AAC5B,SAASC,eAAe,EAAEC,KAAK,QAAQ,kBAAkB;AAQzD,OAAO,MAAMC,mBAAmB,GAAGH,mBAAmB,CAAC,CAAC;EAAEI;AAAM,CAAC,KAAK;EAClE,oBACIL,KAAA,CAAAM,aAAA,CAACJ,eAAe;IAACK,KAAK,EAAEF,KAAK,CAACE,KAAM;IAACC,QAAQ,EAAED,KAAK,IAAIF,KAAK,CAACG,QAAQ,CAACD,KAAK;EAAE,gBAC1EP,KAAA,CAAAM,aAAA,CAACH,KAAK;IACFM,KAAK,EAAEJ,KAAK,CAACI,KAAM;IACnBC,WAAW,EAAEL,KAAK,CAACK,WAAY;IAC/BC,WAAW,EAAEN,KAAK,CAACM,WAAY;IAC/BC,IAAI,EAAEP,KAAK,CAACO,IAAK;IACjBC,QAAQ,EAAER,KAAK,CAACQ,QAAS;IACzBC,QAAQ,EAAET,KAAK,CAACS,QAAS;IACzBC,UAAU,EAAEV,KAAK,CAACU,UAAW;IAC7BC,MAAM,EAAEA,CAAA,KAAMX,KAAK,CAACW,MAAM,CAAC,CAAE;IAC7BC,IAAI,EAAC;EAAQ,CAChB,CACY,CAAC;AAE1B,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
declare module "../../../features/formModel/abstractions.js" {
|
|
3
|
+
interface IFieldRendererRegistry {
|
|
4
|
+
numberInputs: {
|
|
5
|
+
fieldType: "number";
|
|
6
|
+
settings?: {
|
|
7
|
+
addItemLabel?: string;
|
|
8
|
+
};
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
export declare const NumberInputsRenderer: React.ComponentType<{
|
|
13
|
+
field: import("../../..").IFieldVM;
|
|
14
|
+
}>;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { createFieldRenderer } from "../../../features/formModel/createFieldRenderer.js";
|
|
3
|
+
import { ReactComponent as DeleteIcon } from "@webiny/icons/delete.svg";
|
|
4
|
+
import { ReactComponent as AddIcon } from "@webiny/icons/add.svg";
|
|
5
|
+
import { Button, DelayedOnChange, FormComponentDescription, Icon, Input, Separator } from "@webiny/admin-ui";
|
|
6
|
+
export const NumberInputsRenderer = createFieldRenderer(({
|
|
7
|
+
field
|
|
8
|
+
}) => {
|
|
9
|
+
const values = Array.isArray(field.value) ? field.value : [];
|
|
10
|
+
const updateAt = (index, val) => {
|
|
11
|
+
const next = [...values];
|
|
12
|
+
next[index] = val;
|
|
13
|
+
field.onChange(next);
|
|
14
|
+
};
|
|
15
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
16
|
+
className: "flex flex-col gap-sm"
|
|
17
|
+
}, /*#__PURE__*/React.createElement(Separator, {
|
|
18
|
+
labelPosition: "start",
|
|
19
|
+
variant: "accent"
|
|
20
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
21
|
+
className: "text-accent-primary text-lg font-semibold"
|
|
22
|
+
}, `${field.label ?? ""} ${values.length ? `(${values.length})` : ""}`)), field.description && /*#__PURE__*/React.createElement(FormComponentDescription, {
|
|
23
|
+
text: field.description
|
|
24
|
+
}), values.map((val, index) => /*#__PURE__*/React.createElement(DelayedOnChange, {
|
|
25
|
+
key: index,
|
|
26
|
+
value: val,
|
|
27
|
+
onChange: value => updateAt(index, value)
|
|
28
|
+
}, /*#__PURE__*/React.createElement(Input, {
|
|
29
|
+
disabled: field.disabled,
|
|
30
|
+
label: `Value ${index + 1}`,
|
|
31
|
+
placeholder: field.placeholder,
|
|
32
|
+
type: "number",
|
|
33
|
+
onEnter: () => field.addItem(""),
|
|
34
|
+
endIcon: /*#__PURE__*/React.createElement(Icon, {
|
|
35
|
+
icon: /*#__PURE__*/React.createElement(DeleteIcon, null),
|
|
36
|
+
label: "Delete",
|
|
37
|
+
onClick: () => field.removeItem(index),
|
|
38
|
+
className: "cursor-pointer"
|
|
39
|
+
})
|
|
40
|
+
}))), /*#__PURE__*/React.createElement(Button, {
|
|
41
|
+
disabled: field.disabled,
|
|
42
|
+
variant: "tertiary",
|
|
43
|
+
icon: /*#__PURE__*/React.createElement(AddIcon, null),
|
|
44
|
+
text: field.rendererSettings?.addItemLabel ?? "Add Value",
|
|
45
|
+
onClick: () => field.addItem("")
|
|
46
|
+
}));
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
//# sourceMappingURL=NumberInputsRenderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","createFieldRenderer","ReactComponent","DeleteIcon","AddIcon","Button","DelayedOnChange","FormComponentDescription","Icon","Input","Separator","NumberInputsRenderer","field","values","Array","isArray","value","updateAt","index","val","next","onChange","createElement","className","labelPosition","variant","label","length","description","text","map","key","disabled","placeholder","type","onEnter","addItem","endIcon","icon","onClick","removeItem","rendererSettings","addItemLabel"],"sources":["NumberInputsRenderer.tsx"],"sourcesContent":["import React from \"react\";\nimport { createFieldRenderer } from \"~/features/formModel/createFieldRenderer.js\";\nimport { ReactComponent as DeleteIcon } from \"@webiny/icons/delete.svg\";\nimport { ReactComponent as AddIcon } from \"@webiny/icons/add.svg\";\nimport {\n Button,\n DelayedOnChange,\n FormComponentDescription,\n Icon,\n Input,\n Separator\n} from \"@webiny/admin-ui\";\n\ndeclare module \"../../../features/formModel/abstractions.js\" {\n interface IFieldRendererRegistry {\n numberInputs: { fieldType: \"number\"; settings?: { addItemLabel?: string } };\n }\n}\n\nexport const NumberInputsRenderer = createFieldRenderer<\"numberInputs\">(({ field }) => {\n const values = Array.isArray(field.value) ? field.value : [];\n\n const updateAt = (index: number, val: unknown) => {\n const next = [...values];\n next[index] = val as number;\n field.onChange(next);\n };\n\n return (\n <div className={\"flex flex-col gap-sm\"}>\n <Separator labelPosition={\"start\"} variant={\"accent\"}>\n <span className={\"text-accent-primary text-lg font-semibold\"}>\n {`${field.label ?? \"\"} ${values.length ? `(${values.length})` : \"\"}`}\n </span>\n </Separator>\n {field.description && <FormComponentDescription text={field.description} />}\n {values.map((val, index) => (\n <DelayedOnChange key={index} value={val} onChange={value => updateAt(index, value)}>\n <Input\n disabled={field.disabled}\n label={`Value ${index + 1}`}\n placeholder={field.placeholder}\n type=\"number\"\n onEnter={() => field.addItem(\"\")}\n endIcon={\n <Icon\n icon={<DeleteIcon />}\n label={\"Delete\"}\n onClick={() => field.removeItem(index)}\n className={\"cursor-pointer\"}\n />\n }\n />\n </DelayedOnChange>\n ))}\n <Button\n disabled={field.disabled}\n variant={\"tertiary\"}\n icon={<AddIcon />}\n text={field.rendererSettings?.addItemLabel ?? \"Add Value\"}\n onClick={() => field.addItem(\"\")}\n />\n </div>\n );\n});\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,mBAAmB;AAC5B,SAASC,cAAc,IAAIC,UAAU,QAAQ,0BAA0B;AACvE,SAASD,cAAc,IAAIE,OAAO,QAAQ,uBAAuB;AACjE,SACIC,MAAM,EACNC,eAAe,EACfC,wBAAwB,EACxBC,IAAI,EACJC,KAAK,EACLC,SAAS,QACN,kBAAkB;AAQzB,OAAO,MAAMC,oBAAoB,GAAGV,mBAAmB,CAAiB,CAAC;EAAEW;AAAM,CAAC,KAAK;EACnF,MAAMC,MAAM,GAAGC,KAAK,CAACC,OAAO,CAACH,KAAK,CAACI,KAAK,CAAC,GAAGJ,KAAK,CAACI,KAAK,GAAG,EAAE;EAE5D,MAAMC,QAAQ,GAAGA,CAACC,KAAa,EAAEC,GAAY,KAAK;IAC9C,MAAMC,IAAI,GAAG,CAAC,GAAGP,MAAM,CAAC;IACxBO,IAAI,CAACF,KAAK,CAAC,GAAGC,GAAa;IAC3BP,KAAK,CAACS,QAAQ,CAACD,IAAI,CAAC;EACxB,CAAC;EAED,oBACIpB,KAAA,CAAAsB,aAAA;IAAKC,SAAS,EAAE;EAAuB,gBACnCvB,KAAA,CAAAsB,aAAA,CAACZ,SAAS;IAACc,aAAa,EAAE,OAAQ;IAACC,OAAO,EAAE;EAAS,gBACjDzB,KAAA,CAAAsB,aAAA;IAAMC,SAAS,EAAE;EAA4C,GACxD,GAAGX,KAAK,CAACc,KAAK,IAAI,EAAE,IAAIb,MAAM,CAACc,MAAM,GAAG,IAAId,MAAM,CAACc,MAAM,GAAG,GAAG,EAAE,EAChE,CACC,CAAC,EACXf,KAAK,CAACgB,WAAW,iBAAI5B,KAAA,CAAAsB,aAAA,CAACf,wBAAwB;IAACsB,IAAI,EAAEjB,KAAK,CAACgB;EAAY,CAAE,CAAC,EAC1Ef,MAAM,CAACiB,GAAG,CAAC,CAACX,GAAG,EAAED,KAAK,kBACnBlB,KAAA,CAAAsB,aAAA,CAAChB,eAAe;IAACyB,GAAG,EAAEb,KAAM;IAACF,KAAK,EAAEG,GAAI;IAACE,QAAQ,EAAEL,KAAK,IAAIC,QAAQ,CAACC,KAAK,EAAEF,KAAK;EAAE,gBAC/EhB,KAAA,CAAAsB,aAAA,CAACb,KAAK;IACFuB,QAAQ,EAAEpB,KAAK,CAACoB,QAAS;IACzBN,KAAK,EAAE,SAASR,KAAK,GAAG,CAAC,EAAG;IAC5Be,WAAW,EAAErB,KAAK,CAACqB,WAAY;IAC/BC,IAAI,EAAC,QAAQ;IACbC,OAAO,EAAEA,CAAA,KAAMvB,KAAK,CAACwB,OAAO,CAAC,EAAE,CAAE;IACjCC,OAAO,eACHrC,KAAA,CAAAsB,aAAA,CAACd,IAAI;MACD8B,IAAI,eAAEtC,KAAA,CAAAsB,aAAA,CAACnB,UAAU,MAAE,CAAE;MACrBuB,KAAK,EAAE,QAAS;MAChBa,OAAO,EAAEA,CAAA,KAAM3B,KAAK,CAAC4B,UAAU,CAACtB,KAAK,CAAE;MACvCK,SAAS,EAAE;IAAiB,CAC/B;EACJ,CACJ,CACY,CACpB,CAAC,eACFvB,KAAA,CAAAsB,aAAA,CAACjB,MAAM;IACH2B,QAAQ,EAAEpB,KAAK,CAACoB,QAAS;IACzBP,OAAO,EAAE,UAAW;IACpBa,IAAI,eAAEtC,KAAA,CAAAsB,aAAA,CAAClB,OAAO,MAAE,CAAE;IAClByB,IAAI,EAAEjB,KAAK,CAAC6B,gBAAgB,EAAEC,YAAY,IAAI,WAAY;IAC1DH,OAAO,EAAEA,CAAA,KAAM3B,KAAK,CAACwB,OAAO,CAAC,EAAE;EAAE,CACpC,CACA,CAAC;AAEd,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
declare module "../../../../features/formModel/abstractions.js" {
|
|
3
|
+
interface IFieldRendererRegistry {
|
|
4
|
+
dynamicZone: {
|
|
5
|
+
fieldType: "object";
|
|
6
|
+
settings?: {
|
|
7
|
+
container?: boolean;
|
|
8
|
+
};
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
export declare const DynamicZoneRenderer: React.ComponentType<{
|
|
13
|
+
field: import("../../../../index.js").IFieldVM;
|
|
14
|
+
}>;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { createObjectFieldRenderer } from "../../../../features/formModel/createFieldRenderer.js";
|
|
3
|
+
import { SingleValueDynamicZone } from "./SingleValueDynamicZone.js";
|
|
4
|
+
import { MultiValueDynamicZone } from "./MultiValueDynamicZone.js";
|
|
5
|
+
export const DynamicZoneRenderer = createObjectFieldRenderer(({
|
|
6
|
+
field
|
|
7
|
+
}) => {
|
|
8
|
+
if (field.isList) {
|
|
9
|
+
return /*#__PURE__*/React.createElement(MultiValueDynamicZone, {
|
|
10
|
+
field: field,
|
|
11
|
+
showContainer: field.rendererSettings?.container !== false
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
return /*#__PURE__*/React.createElement(SingleValueDynamicZone, {
|
|
15
|
+
field: field,
|
|
16
|
+
showContainer: field.rendererSettings?.container !== false
|
|
17
|
+
});
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
//# sourceMappingURL=DynamicZoneRenderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","createObjectFieldRenderer","SingleValueDynamicZone","MultiValueDynamicZone","DynamicZoneRenderer","field","isList","createElement","showContainer","rendererSettings","container"],"sources":["DynamicZoneRenderer.tsx"],"sourcesContent":["import React from \"react\";\nimport { createObjectFieldRenderer } from \"~/features/formModel/createFieldRenderer.js\";\nimport { SingleValueDynamicZone } from \"./SingleValueDynamicZone.js\";\nimport { MultiValueDynamicZone } from \"./MultiValueDynamicZone.js\";\n\ndeclare module \"../../../../features/formModel/abstractions.js\" {\n interface IFieldRendererRegistry {\n dynamicZone: {\n fieldType: \"object\";\n settings?: {\n container?: boolean;\n };\n };\n }\n}\n\nexport const DynamicZoneRenderer = createObjectFieldRenderer<\"dynamicZone\">(({ field }) => {\n if (field.isList) {\n return (\n <MultiValueDynamicZone\n field={field}\n showContainer={field.rendererSettings?.container !== false}\n />\n );\n }\n\n return (\n <SingleValueDynamicZone\n field={field}\n showContainer={field.rendererSettings?.container !== false}\n />\n );\n});\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,yBAAyB;AAClC,SAASC,sBAAsB;AAC/B,SAASC,qBAAqB;AAa9B,OAAO,MAAMC,mBAAmB,GAAGH,yBAAyB,CAAgB,CAAC;EAAEI;AAAM,CAAC,KAAK;EACvF,IAAIA,KAAK,CAACC,MAAM,EAAE;IACd,oBACIN,KAAA,CAAAO,aAAA,CAACJ,qBAAqB;MAClBE,KAAK,EAAEA,KAAM;MACbG,aAAa,EAAEH,KAAK,CAACI,gBAAgB,EAAEC,SAAS,KAAK;IAAM,CAC9D,CAAC;EAEV;EAEA,oBACIV,KAAA,CAAAO,aAAA,CAACL,sBAAsB;IACnBG,KAAK,EAAEA,KAAM;IACbG,aAAa,EAAEH,KAAK,CAACI,gBAAgB,EAAEC,SAAS,KAAK;EAAM,CAC9D,CAAC;AAEV,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
declare module "../../../../features/formModel/abstractions.js" {
|
|
3
|
+
interface IFieldRendererRegistry {
|
|
4
|
+
keyValueTags: {
|
|
5
|
+
fieldType: "object";
|
|
6
|
+
settings?: {
|
|
7
|
+
addItemLabel?: string;
|
|
8
|
+
};
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
export declare const KeyValueTagsRenderer: React.ComponentType<{
|
|
13
|
+
field: import("~/features/formModel/index.js").IFieldVM;
|
|
14
|
+
}>;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { observer } from "mobx-react-lite";
|
|
3
|
+
import { ReactComponent as AddIcon } from "@webiny/icons/add.svg";
|
|
4
|
+
import { ReactComponent as DeleteIcon } from "@webiny/icons/delete.svg";
|
|
5
|
+
import { Button, FormComponentDescription, FormComponentLabel, IconButton } from "@webiny/admin-ui";
|
|
6
|
+
import { createObjectFieldRenderer } from "../../../../features/formModel/createFieldRenderer.js";
|
|
7
|
+
import { NestedLayout } from "./ObjectFieldComponents.js";
|
|
8
|
+
export const KeyValueTagsRenderer = createObjectFieldRenderer(({
|
|
9
|
+
field
|
|
10
|
+
}) => {
|
|
11
|
+
if (!field.isList) {
|
|
12
|
+
return null;
|
|
13
|
+
}
|
|
14
|
+
return /*#__PURE__*/React.createElement(KeyValueTagsList, {
|
|
15
|
+
field: field
|
|
16
|
+
});
|
|
17
|
+
});
|
|
18
|
+
const KeyValueTagsList = createObjectFieldRenderer(({
|
|
19
|
+
field
|
|
20
|
+
}) => {
|
|
21
|
+
const settings = field.rendererSettings;
|
|
22
|
+
const hasItems = field.items.length > 0;
|
|
23
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, field.label && /*#__PURE__*/React.createElement(FormComponentLabel, {
|
|
24
|
+
text: field.label
|
|
25
|
+
}), field.description && /*#__PURE__*/React.createElement(FormComponentDescription, {
|
|
26
|
+
text: field.description
|
|
27
|
+
}), hasItems ? /*#__PURE__*/React.createElement("div", {
|
|
28
|
+
className: "flex flex-col gap-md"
|
|
29
|
+
}, field.items.map(item => /*#__PURE__*/React.createElement(TagRow, {
|
|
30
|
+
key: item.key,
|
|
31
|
+
item: item,
|
|
32
|
+
disabled: field.disabled
|
|
33
|
+
}))) : null, !field.disabled ? /*#__PURE__*/React.createElement("div", {
|
|
34
|
+
className: "mt-md"
|
|
35
|
+
}, /*#__PURE__*/React.createElement(Button, {
|
|
36
|
+
onClick: () => field.addItem(),
|
|
37
|
+
text: settings?.addItemLabel ?? "Add tag",
|
|
38
|
+
variant: "secondary",
|
|
39
|
+
size: "sm",
|
|
40
|
+
icon: /*#__PURE__*/React.createElement(AddIcon, null)
|
|
41
|
+
})) : null);
|
|
42
|
+
});
|
|
43
|
+
const TagRow = observer(({
|
|
44
|
+
item,
|
|
45
|
+
disabled
|
|
46
|
+
}) => {
|
|
47
|
+
const inlineLayout = [{
|
|
48
|
+
type: "row",
|
|
49
|
+
fields: item.fields
|
|
50
|
+
}];
|
|
51
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
52
|
+
className: "flex items-center gap-sm"
|
|
53
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
54
|
+
className: "flex-1 gap-md"
|
|
55
|
+
}, /*#__PURE__*/React.createElement(NestedLayout, {
|
|
56
|
+
layout: inlineLayout
|
|
57
|
+
})), !disabled && /*#__PURE__*/React.createElement(IconButton, {
|
|
58
|
+
variant: "ghost",
|
|
59
|
+
size: "lg",
|
|
60
|
+
icon: /*#__PURE__*/React.createElement(DeleteIcon, null),
|
|
61
|
+
onClick: () => item.remove()
|
|
62
|
+
}));
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
//# sourceMappingURL=KeyValueTagsRenderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","observer","ReactComponent","AddIcon","DeleteIcon","Button","FormComponentDescription","FormComponentLabel","IconButton","createObjectFieldRenderer","NestedLayout","KeyValueTagsRenderer","field","isList","createElement","KeyValueTagsList","settings","rendererSettings","hasItems","items","length","Fragment","label","text","description","className","map","item","TagRow","key","disabled","onClick","addItem","addItemLabel","variant","size","icon","inlineLayout","type","fields","layout","remove"],"sources":["KeyValueTagsRenderer.tsx"],"sourcesContent":["import React from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { ReactComponent as AddIcon } from \"@webiny/icons/add.svg\";\nimport { ReactComponent as DeleteIcon } from \"@webiny/icons/delete.svg\";\nimport { Button, FormComponentDescription, FormComponentLabel, IconButton } from \"@webiny/admin-ui\";\nimport { createObjectFieldRenderer } from \"~/features/formModel/createFieldRenderer.js\";\nimport type { IObjectFieldItemVM } from \"~/features/formModel/index.js\";\nimport { NestedLayout } from \"./ObjectFieldComponents.js\";\n\ndeclare module \"../../../../features/formModel/abstractions.js\" {\n interface IFieldRendererRegistry {\n keyValueTags: {\n fieldType: \"object\";\n settings?: { addItemLabel?: string };\n };\n }\n}\n\nexport const KeyValueTagsRenderer = createObjectFieldRenderer(({ field }) => {\n if (!field.isList) {\n return null;\n }\n\n return <KeyValueTagsList field={field} />;\n});\n\nconst KeyValueTagsList = createObjectFieldRenderer<\"keyValueTags\">(({ field }) => {\n const settings = field.rendererSettings;\n\n const hasItems = field.items.length > 0;\n\n return (\n <>\n {field.label && <FormComponentLabel text={field.label} />}\n {field.description && <FormComponentDescription text={field.description} />}\n {hasItems ? (\n <div className={\"flex flex-col gap-md\"}>\n {field.items.map(item => (\n <TagRow key={item.key} item={item} disabled={field.disabled} />\n ))}\n </div>\n ) : null}\n {!field.disabled ? (\n <div className={\"mt-md\"}>\n <Button\n onClick={() => field.addItem()}\n text={settings?.addItemLabel ?? \"Add tag\"}\n variant={\"secondary\"}\n size={\"sm\"}\n icon={<AddIcon />}\n />\n </div>\n ) : null}\n </>\n );\n});\n\nconst TagRow = observer(({ item, disabled }: { item: IObjectFieldItemVM; disabled: boolean }) => {\n const inlineLayout = [{ type: \"row\" as const, fields: item.fields }];\n\n return (\n <div className={\"flex items-center gap-sm\"}>\n <div className={\"flex-1 gap-md\"}>\n <NestedLayout layout={inlineLayout} />\n </div>\n {!disabled && (\n <IconButton\n variant={\"ghost\"}\n size={\"lg\"}\n icon={<DeleteIcon />}\n onClick={() => item.remove()}\n />\n )}\n </div>\n );\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { IObjectFieldVM } from "../../../../features/formModel/index.js";
|
|
3
|
+
interface MultiValueDynamicZoneProps {
|
|
4
|
+
field: IObjectFieldVM;
|
|
5
|
+
showContainer?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export declare const MultiValueDynamicZone: (({ field, showContainer }: MultiValueDynamicZoneProps) => React.JSX.Element) & {
|
|
8
|
+
displayName: string;
|
|
9
|
+
};
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { observer } from "mobx-react-lite";
|
|
3
|
+
import { Accordion, Tooltip } from "@webiny/admin-ui";
|
|
4
|
+
import { ReactComponent as DeleteIcon } from "@webiny/icons/delete_outline.svg";
|
|
5
|
+
import { ReactComponent as CloneIcon } from "@webiny/icons/library_add.svg";
|
|
6
|
+
import { ReactComponent as ArrowUpIcon } from "@webiny/icons/expand_less.svg";
|
|
7
|
+
import { ReactComponent as ArrowDownIcon } from "@webiny/icons/expand_more.svg";
|
|
8
|
+
import { ReactComponent as HorizontalRuleIcon } from "@webiny/icons/horizontal_rule.svg";
|
|
9
|
+
import { useConfirmationDialog } from "../../../../hooks/useConfirmationDialog.js";
|
|
10
|
+
import { NestedLayout } from "./ObjectFieldComponents.js";
|
|
11
|
+
import { AddTemplateButton } from "./TemplatePicker.js";
|
|
12
|
+
export const MultiValueDynamicZone = observer(({
|
|
13
|
+
field,
|
|
14
|
+
showContainer = true
|
|
15
|
+
}) => {
|
|
16
|
+
const itemCount = field.items.length;
|
|
17
|
+
const content = /*#__PURE__*/React.createElement("div", {
|
|
18
|
+
className: "flex flex-col gap-lg"
|
|
19
|
+
}, itemCount > 0 ? /*#__PURE__*/React.createElement(Accordion, {
|
|
20
|
+
background: "base",
|
|
21
|
+
variant: "container",
|
|
22
|
+
className: "gap-md flex flex-col"
|
|
23
|
+
}, field.items.map((item, index) => /*#__PURE__*/React.createElement(TemplatedListItem, {
|
|
24
|
+
key: item.key,
|
|
25
|
+
item: item,
|
|
26
|
+
index: index,
|
|
27
|
+
total: itemCount,
|
|
28
|
+
templates: field.availableTemplates,
|
|
29
|
+
disabled: field.disabled
|
|
30
|
+
}))) : null, !field.disabled && /*#__PURE__*/React.createElement(AddTemplateButton, {
|
|
31
|
+
templates: field.availableTemplates,
|
|
32
|
+
onSelect: template => field.addItem(template.id)
|
|
33
|
+
}));
|
|
34
|
+
if (!showContainer) {
|
|
35
|
+
return content;
|
|
36
|
+
}
|
|
37
|
+
const label = `${field.label || ""}${itemCount ? ` (${itemCount})` : ""}`;
|
|
38
|
+
return /*#__PURE__*/React.createElement(Accordion, {
|
|
39
|
+
background: "base",
|
|
40
|
+
variant: "container"
|
|
41
|
+
}, /*#__PURE__*/React.createElement(Accordion.Item, {
|
|
42
|
+
icon: /*#__PURE__*/React.createElement(Accordion.Item.Icon, {
|
|
43
|
+
color: "accent",
|
|
44
|
+
label: "Dynamic Zone",
|
|
45
|
+
icon: /*#__PURE__*/React.createElement(HorizontalRuleIcon, null)
|
|
46
|
+
}),
|
|
47
|
+
title: label,
|
|
48
|
+
defaultOpen: true
|
|
49
|
+
}, content));
|
|
50
|
+
});
|
|
51
|
+
const TemplatedListItem = observer(({
|
|
52
|
+
item,
|
|
53
|
+
index,
|
|
54
|
+
total,
|
|
55
|
+
templates,
|
|
56
|
+
disabled
|
|
57
|
+
}) => {
|
|
58
|
+
const {
|
|
59
|
+
showConfirmation
|
|
60
|
+
} = useConfirmationDialog({
|
|
61
|
+
title: "Delete item",
|
|
62
|
+
message: "Are you sure you want to delete this item? This action is not reversible.",
|
|
63
|
+
acceptLabel: "Yes, I'm sure!",
|
|
64
|
+
cancelLabel: "No, leave it."
|
|
65
|
+
});
|
|
66
|
+
const template = templates.find(t => t.id === item.templateId);
|
|
67
|
+
const title = template?.label || `Item #${index + 1}`;
|
|
68
|
+
const onDelete = () => {
|
|
69
|
+
showConfirmation(() => {
|
|
70
|
+
item.remove();
|
|
71
|
+
});
|
|
72
|
+
};
|
|
73
|
+
const actions = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Accordion.Item.Action, {
|
|
74
|
+
icon: /*#__PURE__*/React.createElement(Tooltip, {
|
|
75
|
+
trigger: /*#__PURE__*/React.createElement(ArrowUpIcon, null),
|
|
76
|
+
content: "Move up"
|
|
77
|
+
}),
|
|
78
|
+
onClick: item.moveUp,
|
|
79
|
+
disabled: index === 0
|
|
80
|
+
}), /*#__PURE__*/React.createElement(Accordion.Item.Action, {
|
|
81
|
+
icon: /*#__PURE__*/React.createElement(Tooltip, {
|
|
82
|
+
trigger: /*#__PURE__*/React.createElement(ArrowDownIcon, null),
|
|
83
|
+
content: "Move down"
|
|
84
|
+
}),
|
|
85
|
+
onClick: item.moveDown,
|
|
86
|
+
disabled: index === total - 1
|
|
87
|
+
}), /*#__PURE__*/React.createElement(Accordion.Item.Action.Separator, null), /*#__PURE__*/React.createElement(Accordion.Item.Action, {
|
|
88
|
+
icon: /*#__PURE__*/React.createElement(Tooltip, {
|
|
89
|
+
trigger: /*#__PURE__*/React.createElement(CloneIcon, null),
|
|
90
|
+
content: "Duplicate"
|
|
91
|
+
}),
|
|
92
|
+
onClick: item.duplicate
|
|
93
|
+
}), /*#__PURE__*/React.createElement(Accordion.Item.Action, {
|
|
94
|
+
icon: /*#__PURE__*/React.createElement(Tooltip, {
|
|
95
|
+
trigger: /*#__PURE__*/React.createElement(DeleteIcon, null),
|
|
96
|
+
content: "Delete"
|
|
97
|
+
}),
|
|
98
|
+
onClick: onDelete
|
|
99
|
+
}));
|
|
100
|
+
return /*#__PURE__*/React.createElement(Accordion.Item, {
|
|
101
|
+
title: title,
|
|
102
|
+
actions: disabled ? null : actions,
|
|
103
|
+
defaultOpen: false
|
|
104
|
+
}, /*#__PURE__*/React.createElement(NestedLayout, {
|
|
105
|
+
layout: item.layout
|
|
106
|
+
}));
|
|
107
|
+
});
|
|
108
|
+
|
|
109
|
+
//# sourceMappingURL=MultiValueDynamicZone.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","observer","Accordion","Tooltip","ReactComponent","DeleteIcon","CloneIcon","ArrowUpIcon","ArrowDownIcon","HorizontalRuleIcon","useConfirmationDialog","NestedLayout","AddTemplateButton","MultiValueDynamicZone","field","showContainer","itemCount","items","length","content","createElement","className","background","variant","map","item","index","TemplatedListItem","key","total","templates","availableTemplates","disabled","onSelect","template","addItem","id","label","Item","icon","Icon","color","title","defaultOpen","showConfirmation","message","acceptLabel","cancelLabel","find","t","templateId","onDelete","remove","actions","Fragment","Action","trigger","onClick","moveUp","moveDown","Separator","duplicate","layout"],"sources":["MultiValueDynamicZone.tsx"],"sourcesContent":["import React from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { Accordion, Tooltip } from \"@webiny/admin-ui\";\nimport { ReactComponent as DeleteIcon } from \"@webiny/icons/delete_outline.svg\";\nimport { ReactComponent as CloneIcon } from \"@webiny/icons/library_add.svg\";\nimport { ReactComponent as ArrowUpIcon } from \"@webiny/icons/expand_less.svg\";\nimport { ReactComponent as ArrowDownIcon } from \"@webiny/icons/expand_more.svg\";\nimport { ReactComponent as HorizontalRuleIcon } from \"@webiny/icons/horizontal_rule.svg\";\nimport type { IObjectFieldItemVM, IObjectFieldVM } from \"~/features/formModel/index.js\";\nimport { useConfirmationDialog } from \"~/hooks/useConfirmationDialog.js\";\nimport { NestedLayout } from \"./ObjectFieldComponents.js\";\nimport { AddTemplateButton } from \"./TemplatePicker.js\";\n\ninterface MultiValueDynamicZoneProps {\n field: IObjectFieldVM;\n showContainer?: boolean;\n}\n\nexport const MultiValueDynamicZone = observer(\n ({ field, showContainer = true }: MultiValueDynamicZoneProps) => {\n const itemCount = field.items.length;\n\n const content = (\n <div className={\"flex flex-col gap-lg\"}>\n {itemCount > 0 ? (\n <Accordion\n background={\"base\"}\n variant={\"container\"}\n className={\"gap-md flex flex-col\"}\n >\n {field.items.map((item, index) => (\n <TemplatedListItem\n key={item.key}\n item={item}\n index={index}\n total={itemCount}\n templates={field.availableTemplates}\n disabled={field.disabled}\n />\n ))}\n </Accordion>\n ) : null}\n {!field.disabled && (\n <AddTemplateButton\n templates={field.availableTemplates}\n onSelect={template => field.addItem(template.id)}\n />\n )}\n </div>\n );\n\n if (!showContainer) {\n return content;\n }\n\n const label = `${field.label || \"\"}${itemCount ? ` (${itemCount})` : \"\"}`;\n\n return (\n <Accordion background={\"base\"} variant={\"container\"}>\n <Accordion.Item\n icon={\n <Accordion.Item.Icon\n color={\"accent\"}\n label={\"Dynamic Zone\"}\n icon={<HorizontalRuleIcon />}\n />\n }\n title={label}\n defaultOpen={true}\n >\n {content}\n </Accordion.Item>\n </Accordion>\n );\n }\n);\n\ninterface TemplatedListItemProps {\n item: IObjectFieldItemVM;\n index: number;\n total: number;\n templates: { id: string; label: string }[];\n disabled: boolean;\n}\n\nconst TemplatedListItem = observer(\n ({ item, index, total, templates, disabled }: TemplatedListItemProps) => {\n const { showConfirmation } = useConfirmationDialog({\n title: \"Delete item\",\n message: \"Are you sure you want to delete this item? This action is not reversible.\",\n acceptLabel: \"Yes, I'm sure!\",\n cancelLabel: \"No, leave it.\"\n });\n\n const template = templates.find(t => t.id === item.templateId);\n const title = template?.label || `Item #${index + 1}`;\n\n const onDelete = () => {\n showConfirmation(() => {\n item.remove();\n });\n };\n\n const actions = (\n <>\n <Accordion.Item.Action\n icon={<Tooltip trigger={<ArrowUpIcon />} content={\"Move up\"} />}\n onClick={item.moveUp}\n disabled={index === 0}\n />\n <Accordion.Item.Action\n icon={<Tooltip trigger={<ArrowDownIcon />} content={\"Move down\"} />}\n onClick={item.moveDown}\n disabled={index === total - 1}\n />\n <Accordion.Item.Action.Separator />\n <Accordion.Item.Action\n icon={<Tooltip trigger={<CloneIcon />} content={\"Duplicate\"} />}\n onClick={item.duplicate}\n />\n <Accordion.Item.Action\n icon={<Tooltip trigger={<DeleteIcon />} content={\"Delete\"} />}\n onClick={onDelete}\n />\n </>\n );\n\n return (\n <Accordion.Item title={title} actions={disabled ? null : actions} defaultOpen={false}>\n <NestedLayout layout={item.layout} />\n </Accordion.Item>\n );\n }\n);\n"],"mappings":"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","ignoreList":[]}
|