@webiny/app-admin 6.6.0-alpha.0 → 6.6.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/base/Admin.js +17 -2
- package/base/Admin.js.map +1 -1
- package/base/Base/DefaultFieldRenderers.js +17 -2
- package/base/Base/DefaultFieldRenderers.js.map +1 -1
- package/base/Base/FieldRenderers/AutoCompleteRenderer.d.ts +13 -0
- package/base/Base/FieldRenderers/AutoCompleteRenderer.js +29 -0
- package/base/Base/FieldRenderers/AutoCompleteRenderer.js.map +1 -0
- package/base/Base/FieldRenderers/HorizontalTabsRenderer.d.ts +2 -2
- package/base/Base/FieldRenderers/LexicalRenderer.js +10 -6
- package/base/Base/FieldRenderers/LexicalRenderer.js.map +1 -1
- package/base/Base/FieldRenderers/MultiFilePickerRenderer.js +8 -5
- package/base/Base/FieldRenderers/MultiFilePickerRenderer.js.map +1 -1
- package/base/Base/FieldRenderers/MultiSelectRenderer.d.ts +15 -0
- package/base/Base/FieldRenderers/MultiSelectRenderer.js +31 -0
- package/base/Base/FieldRenderers/MultiSelectRenderer.js.map +1 -0
- package/base/Base/FieldRenderers/ObjectRenderer/DynamicZoneRenderer.d.ts +2 -0
- package/base/Base/FieldRenderers/ObjectRenderer/DynamicZoneRenderer.js +5 -2
- package/base/Base/FieldRenderers/ObjectRenderer/DynamicZoneRenderer.js.map +1 -1
- package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone/MultiValueDynamicZone.d.ts +11 -0
- package/base/Base/FieldRenderers/ObjectRenderer/{MultiValueDynamicZone.js → MultiValueDynamicZone/MultiValueDynamicZone.js} +65 -14
- package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone/MultiValueDynamicZone.js.map +1 -0
- package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone/MultiValueDynamicZonePresenter.d.ts +13 -0
- package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone/MultiValueDynamicZonePresenter.js +28 -0
- package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone/MultiValueDynamicZonePresenter.js.map +1 -0
- package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone/abstractions.d.ts +15 -0
- package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone/abstractions.js +5 -0
- package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone/abstractions.js.map +1 -0
- package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone/feature.d.ts +1 -0
- package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone/feature.js +11 -0
- package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone/feature.js.map +1 -0
- package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone/index.d.ts +2 -0
- package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone/index.js +2 -0
- package/base/Base/FieldRenderers/ObjectRenderer/ObjectAccordionMultipleRenderer.d.ts +1 -1
- package/base/Base/FieldRenderers/ObjectRenderer/ObjectAccordionMultipleRenderer.js +19 -3
- package/base/Base/FieldRenderers/ObjectRenderer/ObjectAccordionMultipleRenderer.js.map +1 -1
- package/base/Base/FieldRenderers/ObjectRenderer/ObjectFieldComponents.d.ts +10 -8
- package/base/Base/FieldRenderers/ObjectRenderer/ObjectFieldComponents.js +34 -3
- package/base/Base/FieldRenderers/ObjectRenderer/ObjectFieldComponents.js.map +1 -1
- package/base/Base/FieldRenderers/ObjectRenderer/SingleValueDynamicZone.d.ts +3 -2
- package/base/Base/FieldRenderers/ObjectRenderer/SingleValueDynamicZone.js +11 -5
- package/base/Base/FieldRenderers/ObjectRenderer/SingleValueDynamicZone.js.map +1 -1
- package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker.js +1 -1
- package/base/Base/FieldRenderers/ObjectRenderer/TemplatePicker.js.map +1 -1
- package/base/Base/FieldRenderers/SelectRenderer.d.ts +6 -0
- package/base/Base/FieldRenderers/SelectRenderer.js.map +1 -1
- package/base/Base/FieldRenderers/VerticalTabsRenderer.d.ts +2 -2
- package/base/Base/Menus.js +4 -4
- package/base/Base/Menus.js.map +1 -1
- package/base/createRootContainer.js +4 -2
- package/base/createRootContainer.js.map +1 -1
- package/components/Drawers/DrawerParamsContext.d.ts +6 -0
- package/components/Drawers/DrawerParamsContext.js +10 -0
- package/components/Drawers/DrawerParamsContext.js.map +1 -0
- package/components/Drawers/DrawersContext.d.ts +13 -0
- package/components/Drawers/DrawersContext.js +50 -0
- package/components/Drawers/DrawersContext.js.map +1 -0
- package/components/Drawers/useDrawers.d.ts +2 -0
- package/components/Drawers/useDrawers.js +10 -0
- package/components/Drawers/useDrawers.js.map +1 -0
- package/components/Filters/Filters.js +4 -3
- package/components/Filters/Filters.js.map +1 -1
- package/components/IconPicker/IconPickerComponent.d.ts +2 -2
- package/components/LexicalEditor/LexicalLinkForm.js +3 -0
- package/components/LexicalEditor/LexicalLinkForm.js.map +1 -1
- package/components/ListView/ListViewBulkActions.d.ts +2 -2
- package/components/ListView/ListViewContent.d.ts +2 -2
- package/components/ListView/ListViewFilters.d.ts +2 -2
- package/components/ListView/index.d.ts +6 -6
- package/components/OverlayLayout/OverlayLayout.js +4 -2
- package/components/OverlayLayout/OverlayLayout.js.map +1 -1
- package/components/OverlayLayout/components/OverlayContent.js +1 -0
- package/components/OverlayLayout/components/OverlayContent.js.map +1 -1
- package/components/RolesMultiAutocomplete/index.d.ts +4 -2
- package/components/SplitView/SplitView.js +1 -1
- package/components/SplitView/SplitView.js.map +1 -1
- package/components/Table/components/Table/TableInner.d.ts +2 -2
- package/components/TeamAutocomplete/index.d.ts +4 -2
- package/components/TeamsMultiAutocomplete/index.d.ts +4 -2
- package/components/index.d.ts +0 -1
- package/components/index.js +0 -1
- package/config/AdminConfig/Breadcrumbs.d.ts +42 -0
- package/config/AdminConfig/Breadcrumbs.js +24 -0
- package/config/AdminConfig/Breadcrumbs.js.map +1 -0
- package/config/AdminConfig/Drawer.d.ts +10 -0
- package/config/AdminConfig/Drawer.js +19 -0
- package/config/AdminConfig/Drawer.js.map +1 -0
- package/config/AdminConfig/LexicalTheme/AllowCustomColors.d.ts +5 -0
- package/config/AdminConfig/LexicalTheme/AllowCustomColors.js +18 -0
- package/config/AdminConfig/LexicalTheme/AllowCustomColors.js.map +1 -0
- package/config/AdminConfig/LexicalTheme.d.ts +2 -0
- package/config/AdminConfig/LexicalTheme.js +2 -0
- package/config/AdminConfig/LexicalTheme.js.map +1 -1
- package/config/AdminConfig.d.ts +8 -0
- package/config/AdminConfig.js +8 -1
- package/config/AdminConfig.js.map +1 -1
- package/exports/admin.d.ts +3 -0
- package/exports/admin.js +3 -0
- package/features/accessManagement/types.d.ts +3 -3
- package/features/aiChat/AiChatGateway.d.ts +30 -0
- package/features/aiChat/AiChatGateway.js +41 -0
- package/features/aiChat/AiChatGateway.js.map +1 -0
- package/features/aiChat/AiChatPresenter.d.ts +32 -0
- package/features/aiChat/AiChatPresenter.js +220 -0
- package/features/aiChat/AiChatPresenter.js.map +1 -0
- package/features/aiChat/abstractions.d.ts +124 -0
- package/features/aiChat/abstractions.js +6 -0
- package/features/aiChat/abstractions.js.map +1 -0
- package/features/aiChat/feature.d.ts +3 -0
- package/features/aiChat/feature.js +19 -0
- package/features/aiChat/feature.js.map +1 -0
- package/features/aiChat/index.d.ts +6 -0
- package/features/aiChat/index.js +3 -0
- package/features/dateFormatter/DefaultDateFormatter.d.ts +8 -0
- package/features/dateFormatter/DefaultDateFormatter.js +25 -0
- package/features/dateFormatter/DefaultDateFormatter.js.map +1 -0
- package/features/dateFormatter/abstractions.d.ts +13 -0
- package/features/dateFormatter/abstractions.js +5 -0
- package/features/dateFormatter/abstractions.js.map +1 -0
- package/features/dateFormatter/feature.d.ts +3 -0
- package/features/dateFormatter/feature.js +17 -0
- package/features/dateFormatter/feature.js.map +1 -0
- package/features/dateFormatter/index.d.ts +4 -0
- package/features/dateFormatter/index.js +4 -0
- package/features/dateFormatter/useDateFormatter.d.ts +5 -0
- package/features/dateFormatter/useDateFormatter.js +8 -0
- package/features/dateFormatter/useDateFormatter.js.map +1 -0
- package/features/featureFlags/FeatureFlagsGateway.d.ts +10 -0
- package/features/featureFlags/FeatureFlagsGateway.js +40 -0
- package/features/featureFlags/FeatureFlagsGateway.js.map +1 -0
- package/features/featureFlags/FeatureFlagsService.d.ts +16 -0
- package/features/featureFlags/FeatureFlagsService.js +64 -0
- package/features/featureFlags/FeatureFlagsService.js.map +1 -0
- package/features/featureFlags/abstractions.d.ts +19 -0
- package/features/featureFlags/abstractions.js +6 -0
- package/features/featureFlags/abstractions.js.map +1 -0
- package/features/featureFlags/feature.d.ts +3 -0
- package/features/featureFlags/feature.js +19 -0
- package/features/featureFlags/feature.js.map +1 -0
- package/features/formModel/Field.js +10 -0
- package/features/formModel/Field.js.map +1 -1
- package/features/formModel/FieldBuilder.js +1 -1
- package/features/formModel/FieldBuilder.js.map +1 -1
- package/features/formModel/FieldBuilder.test.js +4 -4
- package/features/formModel/FieldBuilder.test.js.map +1 -1
- package/features/formModel/FormErrors.d.ts +2 -2
- package/features/formModel/FormModel.test.js +50 -0
- package/features/formModel/FormModel.test.js.map +1 -1
- package/features/formModel/FormView.d.ts +8 -4
- package/features/formModel/PresenterErrors.d.ts +2 -2
- package/features/formModel/demo/FormModelDemo.d.ts +2 -2
- package/features/formModel/renderers.d.ts +1 -0
- package/features/formModel/renderers.js +1 -0
- package/features/notifications/NotificationsRenderer.d.ts +2 -2
- package/features/security/AuthenticationContext/ApiStreamClientDecorator.d.ts +22 -0
- package/features/security/AuthenticationContext/ApiStreamClientDecorator.js +32 -0
- package/features/security/AuthenticationContext/ApiStreamClientDecorator.js.map +1 -0
- package/features/security/AuthenticationContext/feature.js +2 -0
- package/features/security/AuthenticationContext/feature.js.map +1 -1
- package/features/slugify/DefaultSlugify.d.ts +8 -0
- package/features/slugify/DefaultSlugify.js +20 -0
- package/features/slugify/DefaultSlugify.js.map +1 -0
- package/features/slugify/abstractions.d.ts +12 -0
- package/features/slugify/abstractions.js +5 -0
- package/features/slugify/abstractions.js.map +1 -0
- package/features/slugify/feature.d.ts +1 -0
- package/features/slugify/feature.js +11 -0
- package/features/slugify/feature.js.map +1 -0
- package/features/slugify/index.d.ts +3 -0
- package/features/slugify/index.js +3 -0
- package/features/stringFormatter/DefaultStringFormatter.d.ts +17 -0
- package/features/stringFormatter/DefaultStringFormatter.js +19 -0
- package/features/stringFormatter/DefaultStringFormatter.js.map +1 -0
- package/features/stringFormatter/abstractions.d.ts +11 -0
- package/features/stringFormatter/abstractions.js +5 -0
- package/features/stringFormatter/abstractions.js.map +1 -0
- package/features/stringFormatter/feature.d.ts +3 -0
- package/features/stringFormatter/feature.js +19 -0
- package/features/stringFormatter/feature.js.map +1 -0
- package/features/stringFormatter/index.d.ts +4 -0
- package/features/stringFormatter/index.js +4 -0
- package/features/stringFormatter/useStringFormatter.d.ts +5 -0
- package/features/stringFormatter/useStringFormatter.js +8 -0
- package/features/stringFormatter/useStringFormatter.js.map +1 -0
- package/features/tenancy/ApiStreamClientDecorator.d.ts +16 -0
- package/features/tenancy/ApiStreamClientDecorator.js +30 -0
- package/features/tenancy/ApiStreamClientDecorator.js.map +1 -0
- package/features/tenancy/feature.js +2 -0
- package/features/tenancy/feature.js.map +1 -1
- package/features/wcp/ReactLicense.d.ts +6 -0
- package/features/wcp/ReactLicense.js +18 -0
- package/features/wcp/ReactLicense.js.map +1 -1
- package/features/wcp/WcpGateway.js +3 -0
- package/features/wcp/WcpGateway.js.map +1 -1
- package/hooks/index.d.ts +3 -0
- package/hooks/index.js +3 -0
- package/hooks/useDrawer.d.ts +9 -0
- package/hooks/useDrawer.js +19 -0
- package/hooks/useDrawer.js.map +1 -0
- package/hooks/useHotkeys.js +5 -3
- package/hooks/useHotkeys.js.map +1 -1
- package/hooks/useOpenDrawer.d.ts +7 -0
- package/hooks/useOpenDrawer.js +18 -0
- package/hooks/useOpenDrawer.js.map +1 -0
- package/hooks/useSnackbar.js.map +1 -1
- package/index.d.ts +18 -1
- package/index.js +23 -12
- package/modules/AccessManagementExtension.js +46 -22
- package/modules/AccessManagementExtension.js.map +1 -1
- package/package.json +31 -28
- package/presentation/accessManagement/SecurityPermissions.js +3 -3
- package/presentation/accessManagement/SecurityPermissions.js.map +1 -1
- package/presentation/accessManagement/apiKeys/ApiKeysPresenter.d.ts +3 -1
- package/presentation/accessManagement/apiKeys/ApiKeysPresenter.js +13 -16
- package/presentation/accessManagement/apiKeys/ApiKeysPresenter.js.map +1 -1
- package/presentation/accessManagement/apiKeys/components/ApiKeysView.d.ts +2 -2
- package/presentation/accessManagement/apiKeys/components/ApiKeysView.js +13 -7
- package/presentation/accessManagement/apiKeys/components/ApiKeysView.js.map +1 -1
- package/presentation/accessManagement/roles/RolesPresenter.d.ts +3 -1
- package/presentation/accessManagement/roles/RolesPresenter.js +11 -14
- package/presentation/accessManagement/roles/RolesPresenter.js.map +1 -1
- package/presentation/accessManagement/roles/components/RolesView.d.ts +2 -2
- package/presentation/accessManagement/roles/components/RolesView.js +10 -6
- package/presentation/accessManagement/roles/components/RolesView.js.map +1 -1
- package/presentation/accessManagement/teams/TeamsPresenter.d.ts +3 -1
- package/presentation/accessManagement/teams/TeamsPresenter.js +11 -14
- package/presentation/accessManagement/teams/TeamsPresenter.js.map +1 -1
- package/presentation/accessManagement/teams/components/TeamsView.d.ts +2 -2
- package/presentation/accessManagement/teams/components/TeamsView.js +10 -6
- package/presentation/accessManagement/teams/components/TeamsView.js.map +1 -1
- package/presentation/commandPalette/CommandPalettePresenter.d.ts +21 -0
- package/presentation/commandPalette/CommandPalettePresenter.js +91 -0
- package/presentation/commandPalette/CommandPalettePresenter.js.map +1 -0
- package/presentation/commandPalette/abstractions.d.ts +76 -0
- package/presentation/commandPalette/abstractions.js +7 -0
- package/presentation/commandPalette/abstractions.js.map +1 -0
- package/presentation/commandPalette/commands/AskAiCommand.d.ts +25 -0
- package/presentation/commandPalette/commands/AskAiCommand.js +33 -0
- package/presentation/commandPalette/commands/AskAiCommand.js.map +1 -0
- package/presentation/commandPalette/commands/CopyCurrentUrlCommand.d.ts +15 -0
- package/presentation/commandPalette/commands/CopyCurrentUrlCommand.js +33 -0
- package/presentation/commandPalette/commands/CopyCurrentUrlCommand.js.map +1 -0
- package/presentation/commandPalette/commands/SendMessageCommand.d.ts +23 -0
- package/presentation/commandPalette/commands/SendMessageCommand.js +66 -0
- package/presentation/commandPalette/commands/SendMessageCommand.js.map +1 -0
- package/presentation/commandPalette/commands/SignOutCommand.d.ts +18 -0
- package/presentation/commandPalette/commands/SignOutCommand.js +37 -0
- package/presentation/commandPalette/commands/SignOutCommand.js.map +1 -0
- package/presentation/commandPalette/commands/feature.d.ts +5 -0
- package/presentation/commandPalette/commands/feature.js +17 -0
- package/presentation/commandPalette/commands/feature.js.map +1 -0
- package/presentation/commandPalette/feature.d.ts +3 -0
- package/presentation/commandPalette/feature.js +17 -0
- package/presentation/commandPalette/feature.js.map +1 -0
- package/presentation/commandPalette/index.d.ts +3 -0
- package/presentation/commandPalette/index.js +2 -0
- package/presentation/featureFlags/FeatureFlagsProvider.d.ts +7 -0
- package/presentation/featureFlags/FeatureFlagsProvider.js +22 -0
- package/presentation/featureFlags/FeatureFlagsProvider.js.map +1 -0
- package/presentation/featureFlags/useFeatureFlags.d.ts +2 -0
- package/presentation/featureFlags/useFeatureFlags.js +17 -0
- package/presentation/featureFlags/useFeatureFlags.js.map +1 -0
- package/presentation/installation/components/SystemInstaller/SystemInstaller.d.ts +2 -2
- package/presentation/installation/components/SystemInstaller/steps/FinishSetup/handleStartUsing.js +0 -3
- package/presentation/installation/components/SystemInstaller/steps/FinishSetup/handleStartUsing.js.map +1 -1
- package/presentation/listPresenter/FolderAwareDataSource.js +4 -1
- package/presentation/listPresenter/FolderAwareDataSource.js.map +1 -1
- package/presentation/listPresenter/QueryMatcher.js +2 -2
- package/presentation/listPresenter/QueryMatcher.js.map +1 -1
- package/presentation/sortable/SortablePresenter.d.ts +23 -0
- package/presentation/sortable/SortablePresenter.js +175 -0
- package/presentation/sortable/SortablePresenter.js.map +1 -0
- package/presentation/sortable/abstractions.d.ts +24 -0
- package/presentation/sortable/abstractions.js +5 -0
- package/presentation/sortable/abstractions.js.map +1 -0
- package/presentation/sortable/feature.d.ts +1 -0
- package/presentation/sortable/feature.js +11 -0
- package/presentation/sortable/feature.js.map +1 -0
- package/presentation/sortable/index.d.ts +2 -0
- package/presentation/sortable/index.js +2 -0
- package/presentation/trashBin/components/BulkActions/DeleteItems.d.ts +2 -2
- package/presentation/trashBin/components/BulkActions/RestoreItems.d.ts +2 -2
- package/presentation/trashBin/components/TrashBinOverlay.d.ts +2 -2
- package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone.d.ts +0 -10
- package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone.js.map +0 -1
- package/base/Base/Menus/WebinyVersion.d.ts +0 -2
- package/base/Base/Menus/WebinyVersion.js +0 -23
- package/base/Base/Menus/WebinyVersion.js.map +0 -1
- package/base/WebinyVersion.d.ts +0 -2
- package/base/WebinyVersion.js +0 -23
- package/base/WebinyVersion.js.map +0 -1
- package/components/Wcp.d.ts +0 -19
- package/components/Wcp.js +0 -37
- package/components/Wcp.js.map +0 -1
package/base/Admin.js
CHANGED
|
@@ -6,36 +6,50 @@ import { createUiStateProvider } from "./providers/UiStateProvider.js";
|
|
|
6
6
|
import { createAdminUiStateProvider } from "./providers/AdminUiStateProvider.js";
|
|
7
7
|
import { createUiProviders } from "./providers/UiProviders.js";
|
|
8
8
|
import { createDialogsProvider } from "../components/Dialogs/DialogsContext.js";
|
|
9
|
+
import { createDrawersProvider } from "../components/Drawers/DrawersContext.js";
|
|
9
10
|
import { DefaultIcons, IconPickerConfigProvider } from "../components/IconPicker/config/index.js";
|
|
10
11
|
import { createRootContainer } from "./createRootContainer.js";
|
|
11
|
-
import {
|
|
12
|
+
import { FeatureFlagsProvider } from "../presentation/featureFlags/FeatureFlagsProvider.js";
|
|
12
13
|
import { createTenancyProvider } from "../presentation/tenancy/createTenancyProvider.js";
|
|
13
14
|
import { TelemetryAdminAppStart } from "./TelemetryAdminAppStart.js";
|
|
14
15
|
import { SecurityFeature } from "../features/security/SecurityFeature.js";
|
|
15
16
|
import { FormModelFeature } from "../features/formModel/feature.js";
|
|
16
17
|
import { AdminConfigPlugin, AdminConfigProvider } from "../config/AdminConfig.js";
|
|
17
18
|
import { WebinySdkFeature } from "../features/webinySdk/feature.js";
|
|
19
|
+
import { DateFormatterFeature } from "../features/dateFormatter/feature.js";
|
|
20
|
+
import { StringFormatterFeature } from "../features/stringFormatter/feature.js";
|
|
18
21
|
import { ListPresenterFeature } from "../presentation/listPresenter/index.js";
|
|
22
|
+
import { SortableFeature } from "../presentation/sortable/index.js";
|
|
19
23
|
import { NotificationsRenderer } from "../features/notifications/NotificationsRenderer.js";
|
|
20
24
|
import { ListCustomIconsFeature } from "../features/iconPicker/listCustomIcons/feature.js";
|
|
21
25
|
import { CustomIconsPresenterFeature } from "../presentation/iconPicker/customIcons/feature.js";
|
|
26
|
+
import { CommandPaletteFeature } from "../presentation/commandPalette/index.js";
|
|
27
|
+
import { AiChatFeature } from "../features/aiChat/index.js";
|
|
28
|
+
import { AdminCommandsFeature } from "../presentation/commandPalette/commands/feature.js";
|
|
22
29
|
const container = createRootContainer();
|
|
23
30
|
const Admin = ({ children, createLegacyPlugins })=>{
|
|
24
31
|
if (createLegacyPlugins) plugins.register(...createLegacyPlugins(container));
|
|
25
32
|
SecurityFeature.register(container);
|
|
33
|
+
DateFormatterFeature.register(container);
|
|
34
|
+
StringFormatterFeature.register(container);
|
|
26
35
|
FormModelFeature.register(container);
|
|
27
36
|
WebinySdkFeature.register(container);
|
|
28
37
|
ListPresenterFeature.register(container);
|
|
29
38
|
ListCustomIconsFeature.register(container);
|
|
30
39
|
CustomIconsPresenterFeature.register(container);
|
|
40
|
+
AiChatFeature.register(container);
|
|
41
|
+
CommandPaletteFeature.register(container);
|
|
42
|
+
AdminCommandsFeature.register(container);
|
|
43
|
+
SortableFeature.register(container);
|
|
31
44
|
const UIProviders = createUiProviders();
|
|
32
45
|
const UiStateProvider = createUiStateProvider();
|
|
33
46
|
const AdminUiStateProvider = createAdminUiStateProvider();
|
|
34
47
|
const DialogsProvider = createDialogsProvider();
|
|
48
|
+
const DrawersProvider = createDrawersProvider();
|
|
35
49
|
const TenancyProvider = createTenancyProvider();
|
|
36
50
|
return /*#__PURE__*/ react.createElement(DiContainerProvider, {
|
|
37
51
|
container: container
|
|
38
|
-
}, /*#__PURE__*/ react.createElement(TelemetryAdminAppStart, null), /*#__PURE__*/ react.createElement(
|
|
52
|
+
}, /*#__PURE__*/ react.createElement(TelemetryAdminAppStart, null), /*#__PURE__*/ react.createElement(FeatureFlagsProvider, null, /*#__PURE__*/ react.createElement(App, {
|
|
39
53
|
plugins: [
|
|
40
54
|
AdminConfigPlugin
|
|
41
55
|
],
|
|
@@ -45,6 +59,7 @@ const Admin = ({ children, createLegacyPlugins })=>{
|
|
|
45
59
|
UIProviders,
|
|
46
60
|
UiStateProvider,
|
|
47
61
|
DialogsProvider,
|
|
62
|
+
DrawersProvider,
|
|
48
63
|
IconPickerConfigProvider,
|
|
49
64
|
AdminUiStateProvider,
|
|
50
65
|
TenancyProvider
|
package/base/Admin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base/Admin.js","sources":["../../src/base/Admin.tsx"],"sourcesContent":["import React from \"react\";\nimport type { Container } from \"@webiny/di\";\nimport { plugins } from \"@webiny/plugins\";\nimport { App, DiContainerProvider } from \"@webiny/app\";\nimport { Base } from \"./Base.js\";\nimport { createUiStateProvider } from \"./providers/UiStateProvider.js\";\nimport { createAdminUiStateProvider } from \"./providers/AdminUiStateProvider.js\";\nimport { createUiProviders } from \"./providers/UiProviders.js\";\nimport { createDialogsProvider } from \"~/components/Dialogs/DialogsContext.js\";\nimport { DefaultIcons, IconPickerConfigProvider } from \"~/components/IconPicker/config/index.js\";\nimport { createRootContainer } from \"~/base/createRootContainer.js\";\nimport {
|
|
1
|
+
{"version":3,"file":"base/Admin.js","sources":["../../src/base/Admin.tsx"],"sourcesContent":["import React from \"react\";\nimport type { Container } from \"@webiny/di\";\nimport { plugins } from \"@webiny/plugins\";\nimport { App, DiContainerProvider } from \"@webiny/app\";\nimport { Base } from \"./Base.js\";\nimport { createUiStateProvider } from \"./providers/UiStateProvider.js\";\nimport { createAdminUiStateProvider } from \"./providers/AdminUiStateProvider.js\";\nimport { createUiProviders } from \"./providers/UiProviders.js\";\nimport { createDialogsProvider } from \"~/components/Dialogs/DialogsContext.js\";\nimport { createDrawersProvider } from \"~/components/Drawers/DrawersContext.js\";\nimport { DefaultIcons, IconPickerConfigProvider } from \"~/components/IconPicker/config/index.js\";\nimport { createRootContainer } from \"~/base/createRootContainer.js\";\nimport { FeatureFlagsProvider } from \"~/presentation/featureFlags/FeatureFlagsProvider.js\";\nimport { createTenancyProvider } from \"~/presentation/tenancy/createTenancyProvider.js\";\nimport { TelemetryAdminAppStart } from \"./TelemetryAdminAppStart.js\";\nimport { SecurityFeature } from \"~/features/security/SecurityFeature.js\";\nimport { FormModelFeature } from \"~/features/formModel/feature.js\";\nimport type { PluginCollection } from \"@webiny/plugins/types.js\";\nimport { AdminConfigPlugin, AdminConfigProvider } from \"~/config/AdminConfig.js\";\nimport { WebinySdkFeature } from \"~/features/webinySdk/feature.js\";\nimport { DateFormatterFeature } from \"~/features/dateFormatter/feature.js\";\nimport { StringFormatterFeature } from \"~/features/stringFormatter/feature.js\";\nimport { ListPresenterFeature } from \"~/presentation/listPresenter/index.js\";\nimport { SortableFeature } from \"~/presentation/sortable/index.js\";\nimport { NotificationsRenderer } from \"~/features/notifications/NotificationsRenderer.js\";\nimport { ListCustomIconsFeature } from \"~/features/iconPicker/listCustomIcons/feature.js\";\nimport { CustomIconsPresenterFeature } from \"~/presentation/iconPicker/customIcons/feature.js\";\nimport { CommandPaletteFeature } from \"~/presentation/commandPalette/index.js\";\nimport { AiChatFeature } from \"~/features/aiChat/index.js\";\nimport { AdminCommandsFeature } from \"~/presentation/commandPalette/commands/feature.js\";\n\nexport interface AdminProps {\n createLegacyPlugins?: (container: Container) => PluginCollection;\n children?: React.ReactNode;\n}\n\nconst container = createRootContainer();\n\nexport const Admin = ({ children, createLegacyPlugins }: AdminProps) => {\n if (createLegacyPlugins) {\n plugins.register(...createLegacyPlugins(container));\n }\n\n SecurityFeature.register(container);\n DateFormatterFeature.register(container);\n StringFormatterFeature.register(container);\n FormModelFeature.register(container);\n WebinySdkFeature.register(container);\n ListPresenterFeature.register(container);\n ListCustomIconsFeature.register(container);\n CustomIconsPresenterFeature.register(container);\n AiChatFeature.register(container);\n CommandPaletteFeature.register(container);\n AdminCommandsFeature.register(container);\n SortableFeature.register(container);\n\n const UIProviders = createUiProviders();\n const UiStateProvider = createUiStateProvider();\n const AdminUiStateProvider = createAdminUiStateProvider();\n const DialogsProvider = createDialogsProvider();\n const DrawersProvider = createDrawersProvider();\n const TenancyProvider = createTenancyProvider();\n\n return (\n <DiContainerProvider container={container}>\n <TelemetryAdminAppStart />\n <FeatureFlagsProvider>\n <App\n plugins={[AdminConfigPlugin]}\n routes={[]}\n providers={[\n AdminConfigProvider,\n UIProviders,\n UiStateProvider,\n DialogsProvider,\n DrawersProvider,\n IconPickerConfigProvider,\n AdminUiStateProvider,\n TenancyProvider\n ]}\n >\n <Base />\n <DefaultIcons />\n <NotificationsRenderer />\n {children}\n </App>\n </FeatureFlagsProvider>\n </DiContainerProvider>\n );\n};\n"],"names":["container","createRootContainer","Admin","children","createLegacyPlugins","plugins","SecurityFeature","DateFormatterFeature","StringFormatterFeature","FormModelFeature","WebinySdkFeature","ListPresenterFeature","ListCustomIconsFeature","CustomIconsPresenterFeature","AiChatFeature","CommandPaletteFeature","AdminCommandsFeature","SortableFeature","UIProviders","createUiProviders","UiStateProvider","createUiStateProvider","AdminUiStateProvider","createAdminUiStateProvider","DialogsProvider","createDialogsProvider","DrawersProvider","createDrawersProvider","TenancyProvider","createTenancyProvider","DiContainerProvider","TelemetryAdminAppStart","FeatureFlagsProvider","App","AdminConfigPlugin","AdminConfigProvider","IconPickerConfigProvider","Base","DefaultIcons","NotificationsRenderer"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCA,MAAMA,YAAYC;AAEX,MAAMC,QAAQ,CAAC,EAAEC,QAAQ,EAAEC,mBAAmB,EAAc;IAC/D,IAAIA,qBACAC,QAAQ,QAAQ,IAAID,oBAAoBJ;IAG5CM,gBAAgB,QAAQ,CAACN;IACzBO,qBAAqB,QAAQ,CAACP;IAC9BQ,uBAAuB,QAAQ,CAACR;IAChCS,iBAAiB,QAAQ,CAACT;IAC1BU,iBAAiB,QAAQ,CAACV;IAC1BW,qBAAqB,QAAQ,CAACX;IAC9BY,uBAAuB,QAAQ,CAACZ;IAChCa,4BAA4B,QAAQ,CAACb;IACrCc,cAAc,QAAQ,CAACd;IACvBe,sBAAsB,QAAQ,CAACf;IAC/BgB,qBAAqB,QAAQ,CAAChB;IAC9BiB,gBAAgB,QAAQ,CAACjB;IAEzB,MAAMkB,cAAcC;IACpB,MAAMC,kBAAkBC;IACxB,MAAMC,uBAAuBC;IAC7B,MAAMC,kBAAkBC;IACxB,MAAMC,kBAAkBC;IACxB,MAAMC,kBAAkBC;IAExB,OAAO,WAAP,GACI,oBAACC,qBAAmBA;QAAC,WAAW9B;qBAC5B,oBAAC+B,wBAAsBA,OAAAA,WAAAA,GACvB,oBAACC,sBAAoBA,MAAAA,WAAAA,GACjB,oBAACC,KAAGA;QACA,SAAS;YAACC;SAAkB;QAC5B,QAAQ,EAAE;QACV,WAAW;YACPC;YACAjB;YACAE;YACAI;YACAE;YACAU;YACAd;YACAM;SACH;qBAED,oBAACS,MAAIA,OAAAA,WAAAA,GACL,oBAACC,cAAYA,OAAAA,WAAAA,GACb,oBAACC,uBAAqBA,OACrBpC;AAKrB"}
|
|
@@ -30,12 +30,27 @@ import { PermissionsRenderer } from "./FieldRenderers/PermissionsRenderer.js";
|
|
|
30
30
|
import { RolesMultiSelectRenderer } from "./FieldRenderers/RolesMultiSelectRenderer.js";
|
|
31
31
|
import { ApiKeyTokenRenderer } from "./FieldRenderers/ApiKeyTokenRenderer.js";
|
|
32
32
|
import { MultiAutoCompleteRenderer } from "./FieldRenderers/MultiAutoCompleteRenderer.js";
|
|
33
|
-
|
|
33
|
+
import { AutoCompleteRenderer } from "./FieldRenderers/AutoCompleteRenderer.js";
|
|
34
|
+
import { MultiSelectRenderer } from "./FieldRenderers/MultiSelectRenderer.js";
|
|
35
|
+
import { RegisterFeature } from "../../exports/admin.js";
|
|
36
|
+
import { MultiValueDynamicZoneFeature } from "./FieldRenderers/ObjectRenderer/MultiValueDynamicZone/feature.js";
|
|
37
|
+
const DefaultFieldRenderers = ()=>/*#__PURE__*/ react.createElement(react.Fragment, null, /*#__PURE__*/ react.createElement(RegisterFeature, {
|
|
38
|
+
feature: MultiValueDynamicZoneFeature
|
|
39
|
+
}), /*#__PURE__*/ react.createElement(AdminConfig, null, /*#__PURE__*/ react.createElement(AdminConfig.Form.FieldRenderer, {
|
|
34
40
|
name: "textInput",
|
|
35
41
|
component: InputRenderer
|
|
36
42
|
}), /*#__PURE__*/ react.createElement(AdminConfig.Form.FieldRenderer, {
|
|
37
43
|
name: "textarea",
|
|
38
44
|
component: TextareaRenderer
|
|
45
|
+
}), /*#__PURE__*/ react.createElement(AdminConfig.Form.FieldRenderer, {
|
|
46
|
+
name: "select",
|
|
47
|
+
component: SelectRenderer
|
|
48
|
+
}), /*#__PURE__*/ react.createElement(AdminConfig.Form.FieldRenderer, {
|
|
49
|
+
name: "autoComplete",
|
|
50
|
+
component: AutoCompleteRenderer
|
|
51
|
+
}), /*#__PURE__*/ react.createElement(AdminConfig.Form.FieldRenderer, {
|
|
52
|
+
name: "multiSelect",
|
|
53
|
+
component: MultiSelectRenderer
|
|
39
54
|
}), /*#__PURE__*/ react.createElement(AdminConfig.Form.FieldRenderer, {
|
|
40
55
|
name: "dropdown",
|
|
41
56
|
component: SelectRenderer
|
|
@@ -120,7 +135,7 @@ const DefaultFieldRenderers = ()=>/*#__PURE__*/ react.createElement(AdminConfig,
|
|
|
120
135
|
}), /*#__PURE__*/ react.createElement(AdminConfig.Form.FieldRenderer, {
|
|
121
136
|
name: "multiAutoComplete",
|
|
122
137
|
component: MultiAutoCompleteRenderer
|
|
123
|
-
}));
|
|
138
|
+
})));
|
|
124
139
|
export { DefaultFieldRenderers };
|
|
125
140
|
|
|
126
141
|
//# sourceMappingURL=DefaultFieldRenderers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base/Base/DefaultFieldRenderers.js","sources":["../../../src/base/Base/DefaultFieldRenderers.tsx"],"sourcesContent":["import React from \"react\";\nimport { AdminConfig } from \"~/config/AdminConfig.js\";\nimport { InputRenderer } from \"~/base/Base/FieldRenderers/InputRenderer.js\";\nimport { SelectRenderer } from \"~/base/Base/FieldRenderers/SelectRenderer.js\";\nimport { ObjectRenderer } from \"~/base/Base/FieldRenderers/ObjectRenderer/ObjectRenderer.js\";\nimport { ObjectAccordionMultipleRenderer } from \"~/base/Base/FieldRenderers/ObjectRenderer/ObjectAccordionMultipleRenderer.js\";\nimport { DynamicZoneRenderer } from \"~/base/Base/FieldRenderers/ObjectRenderer/DynamicZoneRenderer.js\";\nimport { PassthroughRenderer } from \"~/base/Base/FieldRenderers/PassthroughRenderer.js\";\nimport { TextareaRenderer } from \"~/base/Base/FieldRenderers/TextareaRenderer.js\";\nimport { SwitchRenderer } from \"~/base/Base/FieldRenderers/SwitchRenderer.js\";\nimport { NumberInputRenderer } from \"~/base/Base/FieldRenderers/NumberInputRenderer.js\";\nimport { NumberInputsRenderer } from \"~/base/Base/FieldRenderers/NumberInputsRenderer.js\";\nimport { TextInputsRenderer } from \"~/base/Base/FieldRenderers/TextInputsRenderer.js\";\nimport { TextareasRenderer } from \"~/base/Base/FieldRenderers/TextareasRenderer.js\";\nimport { TagsRenderer } from \"~/base/Base/FieldRenderers/TagsRenderer.js\";\nimport { RadioButtonsRenderer } from \"~/base/Base/FieldRenderers/RadioButtonsRenderer.js\";\nimport { CheckboxesRenderer } from \"~/base/Base/FieldRenderers/CheckboxesRenderer.js\";\nimport { DateTimeRenderer } from \"~/base/Base/FieldRenderers/DateTimeRenderer.js\";\nimport { DateTimeInputsRenderer } from \"~/base/Base/FieldRenderers/DateTimeInputsRenderer.js\";\nimport { HiddenRenderer } from \"~/base/Base/FieldRenderers/HiddenRenderer.js\";\nimport { KeyValueTagsRenderer } from \"~/base/Base/FieldRenderers/ObjectRenderer/KeyValueTagsRenderer.js\";\nimport { FilePickerRenderer } from \"~/base/Base/FieldRenderers/FilePickerRenderer.js\";\nimport { FileUrlPickerRenderer } from \"~/base/Base/FieldRenderers/FileUrlPickerRenderer.js\";\nimport { MultiFilePickerRenderer } from \"~/base/Base/FieldRenderers/MultiFilePickerRenderer.js\";\nimport { CodeEditorRenderer } from \"~/base/Base/FieldRenderers/CodeEditorRenderer.js\";\nimport { LexicalRenderer } from \"~/base/Base/FieldRenderers/LexicalRenderer.js\";\nimport { LexicalEditorsRenderer } from \"~/base/Base/FieldRenderers/LexicalEditorsRenderer.js\";\nimport { PasswordInputRenderer } from \"~/base/Base/FieldRenderers/PasswordInputRenderer.js\";\nimport { PermissionsRenderer } from \"~/base/Base/FieldRenderers/PermissionsRenderer.js\";\nimport { RolesMultiSelectRenderer } from \"~/base/Base/FieldRenderers/RolesMultiSelectRenderer.js\";\nimport { ApiKeyTokenRenderer } from \"~/base/Base/FieldRenderers/ApiKeyTokenRenderer.js\";\nimport { MultiAutoCompleteRenderer } from \"~/base/Base/FieldRenderers/MultiAutoCompleteRenderer.js\";\n\nexport const DefaultFieldRenderers = () => {\n return (\n <AdminConfig>\n <AdminConfig.Form.FieldRenderer name={\"textInput\"} component={InputRenderer} />\n <AdminConfig.Form.FieldRenderer name={\"textarea\"} component={TextareaRenderer} />\n <AdminConfig.Form.FieldRenderer name={\"dropdown\"} component={SelectRenderer} />\n <AdminConfig.Form.FieldRenderer\n name={\"objectAccordionSingle\"}\n component={ObjectRenderer}\n />\n <AdminConfig.Form.FieldRenderer\n name={\"objectAccordionMultiple\"}\n component={ObjectAccordionMultipleRenderer}\n />\n <AdminConfig.Form.FieldRenderer name={\"dynamicZone\"} component={DynamicZoneRenderer} />\n <AdminConfig.Form.FieldRenderer name={\"passthrough\"} component={PassthroughRenderer} />\n <AdminConfig.Form.FieldRenderer name={\"switch\"} component={SwitchRenderer} />\n <AdminConfig.Form.FieldRenderer name={\"numberInput\"} component={NumberInputRenderer} />\n <AdminConfig.Form.FieldRenderer\n name={\"numberInputs\"}\n component={NumberInputsRenderer}\n />\n <AdminConfig.Form.FieldRenderer name={\"textInputs\"} component={TextInputsRenderer} />\n <AdminConfig.Form.FieldRenderer name={\"textareas\"} component={TextareasRenderer} />\n <AdminConfig.Form.FieldRenderer name={\"tags\"} component={TagsRenderer} />\n <AdminConfig.Form.FieldRenderer\n name={\"radioButtons\"}\n component={RadioButtonsRenderer}\n />\n <AdminConfig.Form.FieldRenderer name={\"checkboxes\"} component={CheckboxesRenderer} />\n <AdminConfig.Form.FieldRenderer name={\"dateTimeInput\"} component={DateTimeRenderer} />\n <AdminConfig.Form.FieldRenderer\n name={\"dateTimeInputs\"}\n component={DateTimeInputsRenderer}\n />\n <AdminConfig.Form.FieldRenderer name={\"hidden\"} component={HiddenRenderer} />\n <AdminConfig.Form.FieldRenderer\n name={\"keyValueTags\"}\n component={KeyValueTagsRenderer}\n />\n <AdminConfig.Form.FieldRenderer name={\"filePicker\"} component={FilePickerRenderer} />\n <AdminConfig.Form.FieldRenderer\n name={\"multiFilePicker\"}\n component={MultiFilePickerRenderer}\n />\n <AdminConfig.Form.FieldRenderer\n name={\"fileUrlPicker\"}\n component={FileUrlPickerRenderer}\n />\n <AdminConfig.Form.FieldRenderer name={\"codeEditor\"} component={CodeEditorRenderer} />\n <AdminConfig.Form.FieldRenderer name={\"lexical\"} component={LexicalRenderer} />\n <AdminConfig.Form.FieldRenderer\n name={\"lexicalEditors\"}\n component={LexicalEditorsRenderer}\n />\n <AdminConfig.Form.FieldRenderer\n name={\"passwordInput\"}\n component={PasswordInputRenderer}\n />\n <AdminConfig.Form.FieldRenderer name={\"permissions\"} component={PermissionsRenderer} />\n <AdminConfig.Form.FieldRenderer\n name={\"rolesMultiSelect\"}\n component={RolesMultiSelectRenderer}\n />\n <AdminConfig.Form.FieldRenderer name={\"apiKeyToken\"} component={ApiKeyTokenRenderer} />\n <AdminConfig.Form.FieldRenderer\n name={\"multiAutoComplete\"}\n component={MultiAutoCompleteRenderer}\n />\n </AdminConfig>\n );\n};\n"],"names":["DefaultFieldRenderers","AdminConfig","InputRenderer","TextareaRenderer","SelectRenderer","ObjectRenderer","ObjectAccordionMultipleRenderer","DynamicZoneRenderer","PassthroughRenderer","SwitchRenderer","NumberInputRenderer","NumberInputsRenderer","TextInputsRenderer","TextareasRenderer","TagsRenderer","RadioButtonsRenderer","CheckboxesRenderer","DateTimeRenderer","DateTimeInputsRenderer","HiddenRenderer","KeyValueTagsRenderer","FilePickerRenderer","MultiFilePickerRenderer","FileUrlPickerRenderer","CodeEditorRenderer","LexicalRenderer","LexicalEditorsRenderer","PasswordInputRenderer","PermissionsRenderer","RolesMultiSelectRenderer","ApiKeyTokenRenderer","MultiAutoCompleteRenderer"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCO,MAAMA,wBAAwB,IAC1B,WAAP,GACI,oBAACC,aAAWA,MAAAA,WAAAA,GACR,oBAACA,YAAY,IAAI,CAAC,aAAa;QAAC,MAAM;QAAa,WAAWC;sBAC9D,oBAACD,YAAY,IAAI,CAAC,aAAa;QAAC,MAAM;QAAY,WAAWE;sBAC7D,oBAACF,YAAY,IAAI,CAAC,aAAa;QAAC,MAAM;QAAY,WAAWG;sBAC7D,oBAACH,YAAY,IAAI,CAAC,aAAa;QAC3B,MAAM;QACN,WAAWI;sBAEf,oBAACJ,YAAY,IAAI,CAAC,aAAa;QAC3B,MAAM;QACN,WAAWK;sBAEf,oBAACL,YAAY,IAAI,CAAC,aAAa;QAAC,MAAM;QAAe,WAAWM;sBAChE,oBAACN,YAAY,IAAI,CAAC,aAAa;QAAC,MAAM;QAAe,WAAWO;sBAChE,oBAACP,YAAY,IAAI,CAAC,aAAa;QAAC,MAAM;QAAU,WAAWQ;sBAC3D,oBAACR,YAAY,IAAI,CAAC,aAAa;QAAC,MAAM;QAAe,WAAWS;sBAChE,oBAACT,YAAY,IAAI,CAAC,aAAa;QAC3B,MAAM;QACN,WAAWU;sBAEf,oBAACV,YAAY,IAAI,CAAC,aAAa;QAAC,MAAM;QAAc,WAAWW;sBAC/D,oBAACX,YAAY,IAAI,CAAC,aAAa;QAAC,MAAM;QAAa,WAAWY;sBAC9D,oBAACZ,YAAY,IAAI,CAAC,aAAa;QAAC,MAAM;QAAQ,WAAWa;sBACzD,oBAACb,YAAY,IAAI,CAAC,aAAa;QAC3B,MAAM;QACN,WAAWc;sBAEf,oBAACd,YAAY,IAAI,CAAC,aAAa;QAAC,MAAM;QAAc,WAAWe;sBAC/D,oBAACf,YAAY,IAAI,CAAC,aAAa;QAAC,MAAM;QAAiB,WAAWgB;sBAClE,oBAAChB,YAAY,IAAI,CAAC,aAAa;QAC3B,MAAM;QACN,WAAWiB;sBAEf,oBAACjB,YAAY,IAAI,CAAC,aAAa;QAAC,MAAM;QAAU,WAAWkB;sBAC3D,oBAAClB,YAAY,IAAI,CAAC,aAAa;QAC3B,MAAM;QACN,WAAWmB;sBAEf,oBAACnB,YAAY,IAAI,CAAC,aAAa;QAAC,MAAM;QAAc,WAAWoB;sBAC/D,oBAACpB,YAAY,IAAI,CAAC,aAAa;QAC3B,MAAM;QACN,WAAWqB;sBAEf,oBAACrB,YAAY,IAAI,CAAC,aAAa;QAC3B,MAAM;QACN,WAAWsB;sBAEf,oBAACtB,YAAY,IAAI,CAAC,aAAa;QAAC,MAAM;QAAc,WAAWuB;sBAC/D,oBAACvB,YAAY,IAAI,CAAC,aAAa;QAAC,MAAM;QAAW,WAAWwB;sBAC5D,oBAACxB,YAAY,IAAI,CAAC,aAAa;QAC3B,MAAM;QACN,WAAWyB;sBAEf,oBAACzB,YAAY,IAAI,CAAC,aAAa;QAC3B,MAAM;QACN,WAAW0B;sBAEf,oBAAC1B,YAAY,IAAI,CAAC,aAAa;QAAC,MAAM;QAAe,WAAW2B;sBAChE,oBAAC3B,YAAY,IAAI,CAAC,aAAa;QAC3B,MAAM;QACN,WAAW4B;sBAEf,oBAAC5B,YAAY,IAAI,CAAC,aAAa;QAAC,MAAM;QAAe,WAAW6B;sBAChE,oBAAC7B,YAAY,IAAI,CAAC,aAAa;QAC3B,MAAM;QACN,WAAW8B"}
|
|
1
|
+
{"version":3,"file":"base/Base/DefaultFieldRenderers.js","sources":["../../../src/base/Base/DefaultFieldRenderers.tsx"],"sourcesContent":["import React from \"react\";\nimport { AdminConfig } from \"~/config/AdminConfig.js\";\nimport { InputRenderer } from \"~/base/Base/FieldRenderers/InputRenderer.js\";\nimport { SelectRenderer } from \"~/base/Base/FieldRenderers/SelectRenderer.js\";\nimport { ObjectRenderer } from \"~/base/Base/FieldRenderers/ObjectRenderer/ObjectRenderer.js\";\nimport { ObjectAccordionMultipleRenderer } from \"~/base/Base/FieldRenderers/ObjectRenderer/ObjectAccordionMultipleRenderer.js\";\nimport { DynamicZoneRenderer } from \"~/base/Base/FieldRenderers/ObjectRenderer/DynamicZoneRenderer.js\";\nimport { PassthroughRenderer } from \"~/base/Base/FieldRenderers/PassthroughRenderer.js\";\nimport { TextareaRenderer } from \"~/base/Base/FieldRenderers/TextareaRenderer.js\";\nimport { SwitchRenderer } from \"~/base/Base/FieldRenderers/SwitchRenderer.js\";\nimport { NumberInputRenderer } from \"~/base/Base/FieldRenderers/NumberInputRenderer.js\";\nimport { NumberInputsRenderer } from \"~/base/Base/FieldRenderers/NumberInputsRenderer.js\";\nimport { TextInputsRenderer } from \"~/base/Base/FieldRenderers/TextInputsRenderer.js\";\nimport { TextareasRenderer } from \"~/base/Base/FieldRenderers/TextareasRenderer.js\";\nimport { TagsRenderer } from \"~/base/Base/FieldRenderers/TagsRenderer.js\";\nimport { RadioButtonsRenderer } from \"~/base/Base/FieldRenderers/RadioButtonsRenderer.js\";\nimport { CheckboxesRenderer } from \"~/base/Base/FieldRenderers/CheckboxesRenderer.js\";\nimport { DateTimeRenderer } from \"~/base/Base/FieldRenderers/DateTimeRenderer.js\";\nimport { DateTimeInputsRenderer } from \"~/base/Base/FieldRenderers/DateTimeInputsRenderer.js\";\nimport { HiddenRenderer } from \"~/base/Base/FieldRenderers/HiddenRenderer.js\";\nimport { KeyValueTagsRenderer } from \"~/base/Base/FieldRenderers/ObjectRenderer/KeyValueTagsRenderer.js\";\nimport { FilePickerRenderer } from \"~/base/Base/FieldRenderers/FilePickerRenderer.js\";\nimport { FileUrlPickerRenderer } from \"~/base/Base/FieldRenderers/FileUrlPickerRenderer.js\";\nimport { MultiFilePickerRenderer } from \"~/base/Base/FieldRenderers/MultiFilePickerRenderer.js\";\nimport { CodeEditorRenderer } from \"~/base/Base/FieldRenderers/CodeEditorRenderer.js\";\nimport { LexicalRenderer } from \"~/base/Base/FieldRenderers/LexicalRenderer.js\";\nimport { LexicalEditorsRenderer } from \"~/base/Base/FieldRenderers/LexicalEditorsRenderer.js\";\nimport { PasswordInputRenderer } from \"~/base/Base/FieldRenderers/PasswordInputRenderer.js\";\nimport { PermissionsRenderer } from \"~/base/Base/FieldRenderers/PermissionsRenderer.js\";\nimport { RolesMultiSelectRenderer } from \"~/base/Base/FieldRenderers/RolesMultiSelectRenderer.js\";\nimport { ApiKeyTokenRenderer } from \"~/base/Base/FieldRenderers/ApiKeyTokenRenderer.js\";\nimport { MultiAutoCompleteRenderer } from \"~/base/Base/FieldRenderers/MultiAutoCompleteRenderer.js\";\nimport { AutoCompleteRenderer } from \"~/base/Base/FieldRenderers/AutoCompleteRenderer.js\";\nimport { MultiSelectRenderer } from \"~/base/Base/FieldRenderers/MultiSelectRenderer.js\";\nimport { RegisterFeature } from \"~/exports/admin.js\";\nimport { MultiValueDynamicZoneFeature } from \"~/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone/feature.js\";\n\nexport const DefaultFieldRenderers = () => {\n return (\n <>\n <RegisterFeature feature={MultiValueDynamicZoneFeature} />\n <AdminConfig>\n <AdminConfig.Form.FieldRenderer name={\"textInput\"} component={InputRenderer} />\n <AdminConfig.Form.FieldRenderer name={\"textarea\"} component={TextareaRenderer} />\n <AdminConfig.Form.FieldRenderer name={\"select\"} component={SelectRenderer} />\n <AdminConfig.Form.FieldRenderer\n name={\"autoComplete\"}\n component={AutoCompleteRenderer}\n />\n <AdminConfig.Form.FieldRenderer\n name={\"multiSelect\"}\n component={MultiSelectRenderer}\n />\n {/* @deprecated \"dropdown\" is for BC only./ */}\n <AdminConfig.Form.FieldRenderer name={\"dropdown\"} component={SelectRenderer} />\n <AdminConfig.Form.FieldRenderer\n name={\"objectAccordionSingle\"}\n component={ObjectRenderer}\n />\n <AdminConfig.Form.FieldRenderer\n name={\"objectAccordionMultiple\"}\n component={ObjectAccordionMultipleRenderer}\n />\n <AdminConfig.Form.FieldRenderer\n name={\"dynamicZone\"}\n component={DynamicZoneRenderer}\n />\n <AdminConfig.Form.FieldRenderer\n name={\"passthrough\"}\n component={PassthroughRenderer}\n />\n <AdminConfig.Form.FieldRenderer name={\"switch\"} component={SwitchRenderer} />\n <AdminConfig.Form.FieldRenderer\n name={\"numberInput\"}\n component={NumberInputRenderer}\n />\n <AdminConfig.Form.FieldRenderer\n name={\"numberInputs\"}\n component={NumberInputsRenderer}\n />\n <AdminConfig.Form.FieldRenderer\n name={\"textInputs\"}\n component={TextInputsRenderer}\n />\n <AdminConfig.Form.FieldRenderer name={\"textareas\"} component={TextareasRenderer} />\n <AdminConfig.Form.FieldRenderer name={\"tags\"} component={TagsRenderer} />\n <AdminConfig.Form.FieldRenderer\n name={\"radioButtons\"}\n component={RadioButtonsRenderer}\n />\n <AdminConfig.Form.FieldRenderer\n name={\"checkboxes\"}\n component={CheckboxesRenderer}\n />\n <AdminConfig.Form.FieldRenderer\n name={\"dateTimeInput\"}\n component={DateTimeRenderer}\n />\n <AdminConfig.Form.FieldRenderer\n name={\"dateTimeInputs\"}\n component={DateTimeInputsRenderer}\n />\n <AdminConfig.Form.FieldRenderer name={\"hidden\"} component={HiddenRenderer} />\n <AdminConfig.Form.FieldRenderer\n name={\"keyValueTags\"}\n component={KeyValueTagsRenderer}\n />\n <AdminConfig.Form.FieldRenderer\n name={\"filePicker\"}\n component={FilePickerRenderer}\n />\n <AdminConfig.Form.FieldRenderer\n name={\"multiFilePicker\"}\n component={MultiFilePickerRenderer}\n />\n <AdminConfig.Form.FieldRenderer\n name={\"fileUrlPicker\"}\n component={FileUrlPickerRenderer}\n />\n <AdminConfig.Form.FieldRenderer\n name={\"codeEditor\"}\n component={CodeEditorRenderer}\n />\n <AdminConfig.Form.FieldRenderer name={\"lexical\"} component={LexicalRenderer} />\n <AdminConfig.Form.FieldRenderer\n name={\"lexicalEditors\"}\n component={LexicalEditorsRenderer}\n />\n <AdminConfig.Form.FieldRenderer\n name={\"passwordInput\"}\n component={PasswordInputRenderer}\n />\n <AdminConfig.Form.FieldRenderer\n name={\"permissions\"}\n component={PermissionsRenderer}\n />\n <AdminConfig.Form.FieldRenderer\n name={\"rolesMultiSelect\"}\n component={RolesMultiSelectRenderer}\n />\n <AdminConfig.Form.FieldRenderer\n name={\"apiKeyToken\"}\n component={ApiKeyTokenRenderer}\n />\n <AdminConfig.Form.FieldRenderer\n name={\"multiAutoComplete\"}\n component={MultiAutoCompleteRenderer}\n />\n </AdminConfig>\n </>\n );\n};\n"],"names":["DefaultFieldRenderers","RegisterFeature","MultiValueDynamicZoneFeature","AdminConfig","InputRenderer","TextareaRenderer","SelectRenderer","AutoCompleteRenderer","MultiSelectRenderer","ObjectRenderer","ObjectAccordionMultipleRenderer","DynamicZoneRenderer","PassthroughRenderer","SwitchRenderer","NumberInputRenderer","NumberInputsRenderer","TextInputsRenderer","TextareasRenderer","TagsRenderer","RadioButtonsRenderer","CheckboxesRenderer","DateTimeRenderer","DateTimeInputsRenderer","HiddenRenderer","KeyValueTagsRenderer","FilePickerRenderer","MultiFilePickerRenderer","FileUrlPickerRenderer","CodeEditorRenderer","LexicalRenderer","LexicalEditorsRenderer","PasswordInputRenderer","PermissionsRenderer","RolesMultiSelectRenderer","ApiKeyTokenRenderer","MultiAutoCompleteRenderer"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCO,MAAMA,wBAAwB,IAC1B,WAAP,GACI,wDACI,oBAACC,iBAAeA;QAAC,SAASC;sBAC1B,oBAACC,aAAWA,MAAAA,WAAAA,GACR,oBAACA,YAAY,IAAI,CAAC,aAAa;QAAC,MAAM;QAAa,WAAWC;sBAC9D,oBAACD,YAAY,IAAI,CAAC,aAAa;QAAC,MAAM;QAAY,WAAWE;sBAC7D,oBAACF,YAAY,IAAI,CAAC,aAAa;QAAC,MAAM;QAAU,WAAWG;sBAC3D,oBAACH,YAAY,IAAI,CAAC,aAAa;QAC3B,MAAM;QACN,WAAWI;sBAEf,oBAACJ,YAAY,IAAI,CAAC,aAAa;QAC3B,MAAM;QACN,WAAWK;sBAGf,oBAACL,YAAY,IAAI,CAAC,aAAa;QAAC,MAAM;QAAY,WAAWG;sBAC7D,oBAACH,YAAY,IAAI,CAAC,aAAa;QAC3B,MAAM;QACN,WAAWM;sBAEf,oBAACN,YAAY,IAAI,CAAC,aAAa;QAC3B,MAAM;QACN,WAAWO;sBAEf,oBAACP,YAAY,IAAI,CAAC,aAAa;QAC3B,MAAM;QACN,WAAWQ;sBAEf,oBAACR,YAAY,IAAI,CAAC,aAAa;QAC3B,MAAM;QACN,WAAWS;sBAEf,oBAACT,YAAY,IAAI,CAAC,aAAa;QAAC,MAAM;QAAU,WAAWU;sBAC3D,oBAACV,YAAY,IAAI,CAAC,aAAa;QAC3B,MAAM;QACN,WAAWW;sBAEf,oBAACX,YAAY,IAAI,CAAC,aAAa;QAC3B,MAAM;QACN,WAAWY;sBAEf,oBAACZ,YAAY,IAAI,CAAC,aAAa;QAC3B,MAAM;QACN,WAAWa;sBAEf,oBAACb,YAAY,IAAI,CAAC,aAAa;QAAC,MAAM;QAAa,WAAWc;sBAC9D,oBAACd,YAAY,IAAI,CAAC,aAAa;QAAC,MAAM;QAAQ,WAAWe;sBACzD,oBAACf,YAAY,IAAI,CAAC,aAAa;QAC3B,MAAM;QACN,WAAWgB;sBAEf,oBAAChB,YAAY,IAAI,CAAC,aAAa;QAC3B,MAAM;QACN,WAAWiB;sBAEf,oBAACjB,YAAY,IAAI,CAAC,aAAa;QAC3B,MAAM;QACN,WAAWkB;sBAEf,oBAAClB,YAAY,IAAI,CAAC,aAAa;QAC3B,MAAM;QACN,WAAWmB;sBAEf,oBAACnB,YAAY,IAAI,CAAC,aAAa;QAAC,MAAM;QAAU,WAAWoB;sBAC3D,oBAACpB,YAAY,IAAI,CAAC,aAAa;QAC3B,MAAM;QACN,WAAWqB;sBAEf,oBAACrB,YAAY,IAAI,CAAC,aAAa;QAC3B,MAAM;QACN,WAAWsB;sBAEf,oBAACtB,YAAY,IAAI,CAAC,aAAa;QAC3B,MAAM;QACN,WAAWuB;sBAEf,oBAACvB,YAAY,IAAI,CAAC,aAAa;QAC3B,MAAM;QACN,WAAWwB;sBAEf,oBAACxB,YAAY,IAAI,CAAC,aAAa;QAC3B,MAAM;QACN,WAAWyB;sBAEf,oBAACzB,YAAY,IAAI,CAAC,aAAa;QAAC,MAAM;QAAW,WAAW0B;sBAC5D,oBAAC1B,YAAY,IAAI,CAAC,aAAa;QAC3B,MAAM;QACN,WAAW2B;sBAEf,oBAAC3B,YAAY,IAAI,CAAC,aAAa;QAC3B,MAAM;QACN,WAAW4B;sBAEf,oBAAC5B,YAAY,IAAI,CAAC,aAAa;QAC3B,MAAM;QACN,WAAW6B;sBAEf,oBAAC7B,YAAY,IAAI,CAAC,aAAa;QAC3B,MAAM;QACN,WAAW8B;sBAEf,oBAAC9B,YAAY,IAAI,CAAC,aAAa;QAC3B,MAAM;QACN,WAAW+B;sBAEf,oBAAC/B,YAAY,IAAI,CAAC,aAAa;QAC3B,MAAM;QACN,WAAWgC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
declare module "../../../features/formModel/abstractions.js" {
|
|
3
|
+
interface IFieldRendererRegistry {
|
|
4
|
+
autoComplete: {
|
|
5
|
+
fieldType: "text" | "number";
|
|
6
|
+
options: true;
|
|
7
|
+
settings: undefined;
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
export declare const AutoCompleteRenderer: React.ComponentType<{
|
|
12
|
+
field: import("~/features/formModel/index.js").IFieldVM;
|
|
13
|
+
}>;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import react from "react";
|
|
2
|
+
import { createFieldRenderer } from "../../../features/formModel/createFieldRenderer.js";
|
|
3
|
+
import { AutoComplete } from "@webiny/admin-ui";
|
|
4
|
+
const AutoCompleteRenderer = createFieldRenderer(({ field })=>{
|
|
5
|
+
const options = field.options ?? [];
|
|
6
|
+
return /*#__PURE__*/ react.createElement(AutoComplete, {
|
|
7
|
+
label: field.label,
|
|
8
|
+
hint: field.help,
|
|
9
|
+
placeholder: field.placeholder,
|
|
10
|
+
description: field.description,
|
|
11
|
+
note: field.note,
|
|
12
|
+
value: null != field.value ? String(field.value) : "",
|
|
13
|
+
onValueChange: (value)=>{
|
|
14
|
+
field.onChange(value);
|
|
15
|
+
field.onBlur();
|
|
16
|
+
},
|
|
17
|
+
required: field.required,
|
|
18
|
+
disabled: field.disabled,
|
|
19
|
+
validation: field.validation,
|
|
20
|
+
options: options.map((opt)=>({
|
|
21
|
+
label: opt.label,
|
|
22
|
+
value: String(opt.value),
|
|
23
|
+
disabled: opt.disabled
|
|
24
|
+
}))
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
export { AutoCompleteRenderer };
|
|
28
|
+
|
|
29
|
+
//# sourceMappingURL=AutoCompleteRenderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base/Base/FieldRenderers/AutoCompleteRenderer.js","sources":["../../../../src/base/Base/FieldRenderers/AutoCompleteRenderer.tsx"],"sourcesContent":["import React from \"react\";\nimport { createFieldRenderer } from \"~/features/formModel/createFieldRenderer.js\";\nimport { AutoComplete } from \"@webiny/admin-ui\";\nimport type { IValueOption } from \"~/features/formModel/index.js\";\n\ndeclare module \"../../../features/formModel/abstractions.js\" {\n interface IFieldRendererRegistry {\n autoComplete: { fieldType: \"text\" | \"number\"; options: true; settings: undefined };\n }\n}\n\nexport const AutoCompleteRenderer = createFieldRenderer(({ field }) => {\n const options: IValueOption[] = field.options ?? [];\n\n return (\n <AutoComplete\n label={field.label}\n hint={field.help}\n placeholder={field.placeholder}\n description={field.description}\n note={field.note}\n value={field.value != null ? String(field.value) : \"\"}\n onValueChange={value => {\n field.onChange(value);\n field.onBlur();\n }}\n required={field.required}\n disabled={field.disabled}\n validation={field.validation}\n options={options.map(opt => ({\n label: opt.label,\n value: String(opt.value),\n disabled: opt.disabled\n }))}\n />\n );\n});\n"],"names":["AutoCompleteRenderer","createFieldRenderer","field","options","AutoComplete","String","value","opt"],"mappings":";;;AAWO,MAAMA,uBAAuBC,oBAAoB,CAAC,EAAEC,KAAK,EAAE;IAC9D,MAAMC,UAA0BD,MAAM,OAAO,IAAI,EAAE;IAEnD,OAAO,WAAP,GACI,oBAACE,cAAYA;QACT,OAAOF,MAAM,KAAK;QAClB,MAAMA,MAAM,IAAI;QAChB,aAAaA,MAAM,WAAW;QAC9B,aAAaA,MAAM,WAAW;QAC9B,MAAMA,MAAM,IAAI;QAChB,OAAOA,AAAe,QAAfA,MAAM,KAAK,GAAWG,OAAOH,MAAM,KAAK,IAAI;QACnD,eAAeI,CAAAA;YACXJ,MAAM,QAAQ,CAACI;YACfJ,MAAM,MAAM;QAChB;QACA,UAAUA,MAAM,QAAQ;QACxB,UAAUA,MAAM,QAAQ;QACxB,YAAYA,MAAM,UAAU;QAC5B,SAASC,QAAQ,GAAG,CAACI,CAAAA,MAAQ;gBACzB,OAAOA,IAAI,KAAK;gBAChB,OAAOF,OAAOE,IAAI,KAAK;gBACvB,UAAUA,IAAI,QAAQ;YAC1B;;AAGZ"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import type { TabsNodeRendererProps } from "../../../features/formModel/FormView.js";
|
|
3
|
-
export declare const HorizontalTabsRenderer: (({ node }: TabsNodeRendererProps) => React.JSX.Element) & {
|
|
4
|
-
|
|
3
|
+
export declare const HorizontalTabsRenderer: (({ node }: TabsNodeRendererProps) => React.JSX.Element) & React.NamedExoticComponent<TabsNodeRendererProps> & {
|
|
4
|
+
readonly type: ({ node }: TabsNodeRendererProps) => React.JSX.Element;
|
|
5
5
|
};
|
|
@@ -5,18 +5,22 @@ import { LexicalEditor } from "../../../components/LexicalEditor/LexicalEditor.j
|
|
|
5
5
|
import { FormComponentDescription, FormComponentLabel, FormComponentNote } from "@webiny/admin-ui";
|
|
6
6
|
const placeholderStyles = {
|
|
7
7
|
position: "absolute",
|
|
8
|
-
top:
|
|
9
|
-
left:
|
|
8
|
+
top: 0,
|
|
9
|
+
left: 0,
|
|
10
|
+
padding: "8px 12px",
|
|
11
|
+
marginTop: 0,
|
|
12
|
+
color: "var(--text-color-neutral-muted)"
|
|
10
13
|
};
|
|
11
14
|
const contentEditableStyles = {
|
|
12
15
|
minHeight: 200,
|
|
13
16
|
display: "block",
|
|
14
|
-
padding:
|
|
17
|
+
padding: "8px 12px"
|
|
15
18
|
};
|
|
16
19
|
const styles = {
|
|
17
|
-
backgroundColor: "
|
|
18
|
-
border: "1px solid
|
|
19
|
-
|
|
20
|
+
backgroundColor: "var(--color-neutral-base)",
|
|
21
|
+
border: "1px solid var(--border-color-neutral-muted)",
|
|
22
|
+
borderTop: "none",
|
|
23
|
+
borderRadius: "0 0 var(--radius-md) var(--radius-md)",
|
|
20
24
|
minHeight: 200,
|
|
21
25
|
maxHeight: 350
|
|
22
26
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base/Base/FieldRenderers/LexicalRenderer.js","sources":["../../../../src/base/Base/FieldRenderers/LexicalRenderer.tsx"],"sourcesContent":["import React from \"react\";\nimport { StaticToolbar } from \"@webiny/lexical-editor\";\nimport { createFieldRenderer } from \"~/features/formModel/createFieldRenderer.js\";\nimport { LexicalEditor } from \"~/components/LexicalEditor/LexicalEditor.js\";\nimport type { RichTextValueWithHtml } from \"~/components/LexicalEditor/lexicalValueWithHtml.js\";\nimport { FormComponentLabel } from \"@webiny/admin-ui\";\nimport { FormComponentDescription } from \"@webiny/admin-ui\";\nimport { FormComponentNote } from \"@webiny/admin-ui\";\n\ndeclare module \"../../../features/formModel/abstractions.js\" {\n interface IFieldRendererRegistry {\n lexical: {\n fieldType: \"lexical\";\n settings: undefined;\n };\n }\n}\n\nconst placeholderStyles: React.CSSProperties = {
|
|
1
|
+
{"version":3,"file":"base/Base/FieldRenderers/LexicalRenderer.js","sources":["../../../../src/base/Base/FieldRenderers/LexicalRenderer.tsx"],"sourcesContent":["import React from \"react\";\nimport { StaticToolbar } from \"@webiny/lexical-editor\";\nimport { createFieldRenderer } from \"~/features/formModel/createFieldRenderer.js\";\nimport { LexicalEditor } from \"~/components/LexicalEditor/LexicalEditor.js\";\nimport type { RichTextValueWithHtml } from \"~/components/LexicalEditor/lexicalValueWithHtml.js\";\nimport { FormComponentLabel } from \"@webiny/admin-ui\";\nimport { FormComponentDescription } from \"@webiny/admin-ui\";\nimport { FormComponentNote } from \"@webiny/admin-ui\";\n\ndeclare module \"../../../features/formModel/abstractions.js\" {\n interface IFieldRendererRegistry {\n lexical: {\n fieldType: \"lexical\";\n settings: undefined;\n };\n }\n}\n\n// Overlay the contentEditable: same origin + same padding as `contentEditableStyles`, and\n// neutralize the Placeholder component's default -20px margin. This makes the placeholder's\n// first line land exactly on the editor's text start.\nconst placeholderStyles: React.CSSProperties = {\n position: \"absolute\",\n top: 0,\n left: 0,\n padding: \"8px 12px\",\n marginTop: 0,\n // Font size/family come from the paragraph typography class (applied by RichTextEditor);\n // keep the placeholder muted.\n color: \"var(--text-color-neutral-muted)\"\n};\n\nconst contentEditableStyles: React.CSSProperties = {\n minHeight: 200,\n display: \"block\",\n padding: \"8px 12px\"\n};\n\nconst styles: React.CSSProperties = {\n backgroundColor: \"var(--color-neutral-base)\",\n border: \"1px solid var(--border-color-neutral-muted)\",\n // The static toolbar sits directly above and carries the top border, so the body\n // drops its top border and rounds only the bottom corners — together one seamless\n // rounded container, no internal divider (matches Figma).\n borderTop: \"none\",\n borderRadius: \"0 0 var(--radius-md) var(--radius-md)\",\n // Padding lives on the contentEditable only (avoids doubled inset).\n minHeight: 200,\n maxHeight: 350\n};\n\nexport const LexicalRenderer = createFieldRenderer<\"lexical\">(({ field }) => {\n const value = field.value as RichTextValueWithHtml | undefined;\n const toolbar = <StaticToolbar />;\n\n return (\n <>\n <FormComponentLabel text={field.label} hint={field.help} disabled={field.disabled} />\n <FormComponentDescription text={field.description} disabled={field.disabled} />\n <LexicalEditor\n placeholder={field.placeholder || \"Enter your text here...\"}\n staticToolbar={toolbar}\n placeholderStyles={placeholderStyles}\n contentEditableStyles={contentEditableStyles}\n styles={styles}\n value={value}\n onChange={value => field.onChange(value)}\n />\n {field.note ? <FormComponentNote text={field.note} disabled={field.disabled} /> : null}\n </>\n );\n});\n"],"names":["placeholderStyles","contentEditableStyles","styles","LexicalRenderer","createFieldRenderer","field","value","toolbar","StaticToolbar","FormComponentLabel","FormComponentDescription","LexicalEditor","FormComponentNote"],"mappings":";;;;;AAqBA,MAAMA,oBAAyC;IAC3C,UAAU;IACV,KAAK;IACL,MAAM;IACN,SAAS;IACT,WAAW;IAGX,OAAO;AACX;AAEA,MAAMC,wBAA6C;IAC/C,WAAW;IACX,SAAS;IACT,SAAS;AACb;AAEA,MAAMC,SAA8B;IAChC,iBAAiB;IACjB,QAAQ;IAIR,WAAW;IACX,cAAc;IAEd,WAAW;IACX,WAAW;AACf;AAEO,MAAMC,kBAAkBC,oBAA+B,CAAC,EAAEC,KAAK,EAAE;IACpE,MAAMC,QAAQD,MAAM,KAAK;IACzB,MAAME,UAAU,WAAVA,GAAU,oBAACC,eAAaA;IAE9B,OAAO,WAAP,GACI,wDACI,oBAACC,oBAAkBA;QAAC,MAAMJ,MAAM,KAAK;QAAE,MAAMA,MAAM,IAAI;QAAE,UAAUA,MAAM,QAAQ;sBACjF,oBAACK,0BAAwBA;QAAC,MAAML,MAAM,WAAW;QAAE,UAAUA,MAAM,QAAQ;sBAC3E,oBAACM,eAAaA;QACV,aAAaN,MAAM,WAAW,IAAI;QAClC,eAAeE;QACf,mBAAmBP;QACnB,uBAAuBC;QACvB,QAAQC;QACR,OAAOI;QACP,UAAUA,CAAAA,QAASD,MAAM,QAAQ,CAACC;QAErCD,MAAM,IAAI,GAAG,WAAH,GAAG,oBAACO,mBAAiBA;QAAC,MAAMP,MAAM,IAAI;QAAE,UAAUA,MAAM,QAAQ;SAAO;AAG9F"}
|
|
@@ -35,11 +35,14 @@ const MultiFilePickerRenderer = createFieldRenderer(({ field })=>{
|
|
|
35
35
|
const selectFiles = (replaceIndex = -1)=>{
|
|
36
36
|
showFileManager((files)=>{
|
|
37
37
|
const newValues = files.map(fileManagerItemToValue);
|
|
38
|
-
if (-1 === replaceIndex)
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
38
|
+
if (-1 === replaceIndex) {
|
|
39
|
+
const existingIds = new Set(currentValues.map((v)=>v.id));
|
|
40
|
+
const unique = newValues.filter((v)=>!existingIds.has(v.id));
|
|
41
|
+
field.onChange([
|
|
42
|
+
...currentValues,
|
|
43
|
+
...unique
|
|
44
|
+
]);
|
|
45
|
+
} else field.onChange([
|
|
43
46
|
...currentValues.slice(0, replaceIndex),
|
|
44
47
|
...newValues,
|
|
45
48
|
...currentValues.slice(replaceIndex + 1)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base/Base/FieldRenderers/MultiFilePickerRenderer.js","sources":["../../../../src/base/Base/FieldRenderers/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, ...
|
|
1
|
+
{"version":3,"file":"base/Base/FieldRenderers/MultiFilePickerRenderer.js","sources":["../../../../src/base/Base/FieldRenderers/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 const existingIds = new Set(currentValues.map(v => v.id));\n const unique = newValues.filter(v => !existingIds.has(v.id));\n field.onChange([...currentValues, ...unique]);\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"],"names":["toFilePickerValues","value","Array","item","fileManagerItemToValue","file","MultiFilePickerRenderer","createFieldRenderer","field","settings","values","currentValues","FileManager","showFileManager","selectFiles","replaceIndex","files","newValues","existingIds","Set","v","unique","MultiFilePicker","_","index"],"mappings":";;;;AAeA,MAAMA,qBAAqB,CAACC;IACxB,IAAI,CAACC,MAAM,OAAO,CAACD,QACf,OAAO,EAAE;IAEb,OAAOA,MACF,MAAM,CAAC,CAACE,OAAoBA,MAAM,KAClC,GAAG,CAAC,CAACA,OAAqB;YACvB,IAAIA,KAAK,EAAE;YACX,KAAKA,KAAK,GAAG;YACb,MAAMA,KAAK,IAAI;YACf,UAAUA,KAAK,QAAQ;YACvB,MAAMA,KAAK,IAAI;QACnB;AACR;AAEA,MAAMC,yBAAyB,CAACC,OAA0C;QACtE,IAAIA,KAAK,EAAE;QACX,MAAMA,KAAK,IAAI;QACf,MAAMA,KAAK,IAAI;QACf,UAAUA,KAAK,IAAI;QACnB,KAAKA,KAAK,GAAG,IAAI;QACjB,OAAOA,KAAK,KAAK;QACjB,QAAQA,KAAK,MAAM;IACvB;AAEO,MAAMC,0BAA0BC,oBAAuC,CAAC,EAAEC,KAAK,EAAE;IACpF,MAAMC,WAAWD,MAAM,gBAAgB;IACvC,MAAME,SAASV,mBAAmBQ,MAAM,KAAK;IAC7C,MAAMG,gBAAiBT,MAAM,OAAO,CAACM,MAAM,KAAK,IAAIA,MAAM,KAAK,GAAG,EAAE;IAEpE,OAAO,WAAP,GACI,oBAACI,aAAWA;QACR;QACA,QAAQH,UAAU;QAClB,QAAQA,UAAU;QAClB,KAAKA,UAAU;QACf,OAAOA,UAAU;QACjB,QAAQ,CAAC,EAAEI,eAAe,EAAE;YACxB,MAAMC,cAAc,CAACC,eAAe,EAAE;gBAClCF,gBAAgB,CAACG;oBACb,MAAMC,YAAYD,MAAM,GAAG,CAACZ;oBAC5B,IAAIW,AAAiB,OAAjBA,cAAqB;wBACrB,MAAMG,cAAc,IAAIC,IAAIR,cAAc,GAAG,CAACS,CAAAA,IAAKA,EAAE,EAAE;wBACvD,MAAMC,SAASJ,UAAU,MAAM,CAACG,CAAAA,IAAK,CAACF,YAAY,GAAG,CAACE,EAAE,EAAE;wBAC1DZ,MAAM,QAAQ,CAAC;+BAAIG;+BAAkBU;yBAAO;oBAChD,OACIb,MAAM,QAAQ,CAAC;2BACRG,cAAc,KAAK,CAAC,GAAGI;2BACvBE;2BACAN,cAAc,KAAK,CAACI,eAAe;qBACzC;gBAET;YACJ;YAEA,OAAO,WAAP,GACI,oBAACO,iBAAeA;gBACZ,OAAOd,MAAM,KAAK;gBAClB,aAAaA,MAAM,WAAW;gBAC9B,MAAMA,MAAM,IAAI;gBAChB,MAAMA,MAAM,IAAI;gBAChB,QAAQE;gBACR,MAAK;gBACL,cAAc,IAAMI;gBACpB,eAAe,CAACS,GAAGC,QAAUV,YAAYU;gBACzC,cAAc,CAACD,GAAGC;oBACdhB,MAAM,QAAQ,CAAC;2BACRG,cAAc,KAAK,CAAC,GAAGa;2BACvBb,cAAc,KAAK,CAACa,QAAQ;qBAClC;gBACL;;QAGZ;;AAGZ"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
declare module "../../../features/formModel/abstractions.js" {
|
|
3
|
+
interface IFieldRendererRegistry {
|
|
4
|
+
multiSelect: {
|
|
5
|
+
fieldType: "text" | "number";
|
|
6
|
+
options: true;
|
|
7
|
+
settings?: {
|
|
8
|
+
showSelectionCount?: boolean;
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
export declare const MultiSelectRenderer: React.ComponentType<{
|
|
14
|
+
field: import("~/features/formModel/index.js").IFieldVM;
|
|
15
|
+
}>;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import react from "react";
|
|
2
|
+
import { createFieldRenderer } from "../../../features/formModel/createFieldRenderer.js";
|
|
3
|
+
import { MultiSelect } from "@webiny/admin-ui";
|
|
4
|
+
const MultiSelectRenderer = createFieldRenderer(({ field })=>{
|
|
5
|
+
const options = field.options ?? [];
|
|
6
|
+
const value = field.value ?? [];
|
|
7
|
+
return /*#__PURE__*/ react.createElement(MultiSelect, {
|
|
8
|
+
label: field.label,
|
|
9
|
+
hint: field.help,
|
|
10
|
+
placeholder: field.placeholder,
|
|
11
|
+
description: field.description,
|
|
12
|
+
note: field.note,
|
|
13
|
+
required: field.required,
|
|
14
|
+
disabled: field.disabled,
|
|
15
|
+
validation: field.validation,
|
|
16
|
+
showSelectionCount: field.rendererSettings?.showSelectionCount,
|
|
17
|
+
options: options.map((opt)=>({
|
|
18
|
+
label: opt.label,
|
|
19
|
+
value: String(opt.value),
|
|
20
|
+
disabled: opt.disabled
|
|
21
|
+
})),
|
|
22
|
+
value: value,
|
|
23
|
+
onChange: (values)=>{
|
|
24
|
+
field.onChange(values);
|
|
25
|
+
field.onBlur();
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
export { MultiSelectRenderer };
|
|
30
|
+
|
|
31
|
+
//# sourceMappingURL=MultiSelectRenderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base/Base/FieldRenderers/MultiSelectRenderer.js","sources":["../../../../src/base/Base/FieldRenderers/MultiSelectRenderer.tsx"],"sourcesContent":["import React from \"react\";\nimport { createFieldRenderer } from \"~/features/formModel/createFieldRenderer.js\";\nimport { MultiSelect } from \"@webiny/admin-ui\";\nimport type { IValueOption } from \"~/features/formModel/index.js\";\n\ndeclare module \"../../../features/formModel/abstractions.js\" {\n interface IFieldRendererRegistry {\n multiSelect: {\n fieldType: \"text\" | \"number\";\n options: true;\n settings?: { showSelectionCount?: boolean };\n };\n }\n}\n\nexport const MultiSelectRenderer = createFieldRenderer<\"multiSelect\">(({ field }) => {\n const options: IValueOption[] = field.options ?? [];\n const value = (field.value as string[]) ?? [];\n\n return (\n <MultiSelect\n label={field.label}\n hint={field.help}\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 showSelectionCount={field.rendererSettings?.showSelectionCount}\n options={options.map(opt => ({\n label: opt.label,\n value: String(opt.value),\n disabled: opt.disabled\n }))}\n value={value}\n onChange={values => {\n field.onChange(values);\n field.onBlur();\n }}\n />\n );\n});\n"],"names":["MultiSelectRenderer","createFieldRenderer","field","options","value","MultiSelect","opt","String","values"],"mappings":";;;AAeO,MAAMA,sBAAsBC,oBAAmC,CAAC,EAAEC,KAAK,EAAE;IAC5E,MAAMC,UAA0BD,MAAM,OAAO,IAAI,EAAE;IACnD,MAAME,QAASF,MAAM,KAAK,IAAiB,EAAE;IAE7C,OAAO,WAAP,GACI,oBAACG,aAAWA;QACR,OAAOH,MAAM,KAAK;QAClB,MAAMA,MAAM,IAAI;QAChB,aAAaA,MAAM,WAAW;QAC9B,aAAaA,MAAM,WAAW;QAC9B,MAAMA,MAAM,IAAI;QAChB,UAAUA,MAAM,QAAQ;QACxB,UAAUA,MAAM,QAAQ;QACxB,YAAYA,MAAM,UAAU;QAC5B,oBAAoBA,MAAM,gBAAgB,EAAE;QAC5C,SAASC,QAAQ,GAAG,CAACG,CAAAA,MAAQ;gBACzB,OAAOA,IAAI,KAAK;gBAChB,OAAOC,OAAOD,IAAI,KAAK;gBACvB,UAAUA,IAAI,QAAQ;YAC1B;QACA,OAAOF;QACP,UAAUI,CAAAA;YACNN,MAAM,QAAQ,CAACM;YACfN,MAAM,MAAM;QAChB;;AAGZ"}
|
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
import react from "react";
|
|
2
2
|
import { createObjectFieldRenderer } from "../../../../features/formModel/createFieldRenderer.js";
|
|
3
3
|
import { SingleValueDynamicZone } from "./SingleValueDynamicZone.js";
|
|
4
|
-
import { MultiValueDynamicZone } from "./MultiValueDynamicZone.js";
|
|
4
|
+
import { MultiValueDynamicZone } from "./MultiValueDynamicZone/index.js";
|
|
5
5
|
const DynamicZoneRenderer = createObjectFieldRenderer(({ field })=>{
|
|
6
|
+
const settings = field.rendererSettings ?? {};
|
|
6
7
|
if (field.isList) return /*#__PURE__*/ react.createElement(MultiValueDynamicZone, {
|
|
7
8
|
field: field,
|
|
8
|
-
|
|
9
|
+
addItemLabel: settings.addItemLabel ?? "Add Item",
|
|
10
|
+
showContainer: false !== settings.container
|
|
9
11
|
});
|
|
10
12
|
return /*#__PURE__*/ react.createElement(SingleValueDynamicZone, {
|
|
11
13
|
field: field,
|
|
14
|
+
addItemLabel: settings.addItemLabel ?? "Add Item",
|
|
12
15
|
showContainer: field.rendererSettings?.container !== false
|
|
13
16
|
});
|
|
14
17
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base/Base/FieldRenderers/ObjectRenderer/DynamicZoneRenderer.js","sources":["../../../../../src/base/Base/FieldRenderers/ObjectRenderer/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={
|
|
1
|
+
{"version":3,"file":"base/Base/FieldRenderers/ObjectRenderer/DynamicZoneRenderer.js","sources":["../../../../../src/base/Base/FieldRenderers/ObjectRenderer/DynamicZoneRenderer.tsx"],"sourcesContent":["import React from \"react\";\nimport { createObjectFieldRenderer } from \"~/features/formModel/createFieldRenderer.js\";\nimport { SingleValueDynamicZone } from \"./SingleValueDynamicZone.js\";\nimport { MultiValueDynamicZone } from \"./MultiValueDynamicZone/index.js\";\n\ndeclare module \"../../../../features/formModel/abstractions.js\" {\n interface IFieldRendererRegistry {\n dynamicZone: {\n fieldType: \"object\";\n settings?: {\n open?: boolean;\n container?: boolean;\n addItemLabel?: string;\n };\n };\n }\n}\n\nexport const DynamicZoneRenderer = createObjectFieldRenderer<\"dynamicZone\">(({ field }) => {\n const settings = field.rendererSettings ?? {};\n\n if (field.isList) {\n return (\n <MultiValueDynamicZone\n field={field}\n addItemLabel={settings.addItemLabel ?? \"Add Item\"}\n showContainer={settings.container !== false}\n />\n );\n }\n\n return (\n <SingleValueDynamicZone\n field={field}\n addItemLabel={settings.addItemLabel ?? \"Add Item\"}\n showContainer={field.rendererSettings?.container !== false}\n />\n );\n});\n"],"names":["DynamicZoneRenderer","createObjectFieldRenderer","field","settings","MultiValueDynamicZone","SingleValueDynamicZone"],"mappings":";;;;AAkBO,MAAMA,sBAAsBC,0BAAyC,CAAC,EAAEC,KAAK,EAAE;IAClF,MAAMC,WAAWD,MAAM,gBAAgB,IAAI,CAAC;IAE5C,IAAIA,MAAM,MAAM,EACZ,OAAO,WAAP,GACI,oBAACE,uBAAqBA;QAClB,OAAOF;QACP,cAAcC,SAAS,YAAY,IAAI;QACvC,eAAeA,AAAuB,UAAvBA,SAAS,SAAS;;IAK7C,OAAO,WAAP,GACI,oBAACE,wBAAsBA;QACnB,OAAOH;QACP,cAAcC,SAAS,YAAY,IAAI;QACvC,eAAeD,MAAM,gBAAgB,EAAE,cAAc;;AAGjE"}
|
package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone/MultiValueDynamicZone.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { IObjectFieldVM } from "../../../../../features/formModel/index.js";
|
|
3
|
+
interface MultiValueDynamicZoneProps {
|
|
4
|
+
field: IObjectFieldVM;
|
|
5
|
+
addItemLabel: string;
|
|
6
|
+
showContainer?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare const MultiValueDynamicZone: (({ field, addItemLabel, showContainer }: MultiValueDynamicZoneProps) => React.JSX.Element) & React.NamedExoticComponent<MultiValueDynamicZoneProps> & {
|
|
9
|
+
readonly type: ({ field, addItemLabel, showContainer }: MultiValueDynamicZoneProps) => React.JSX.Element;
|
|
10
|
+
};
|
|
11
|
+
export {};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import react from "react";
|
|
1
|
+
import react, { useEffect, useMemo } from "react";
|
|
2
2
|
import { observer } from "mobx-react-lite";
|
|
3
|
-
import { Accordion, Button, Tooltip, useToast } from "@webiny/admin-ui";
|
|
4
|
-
import { useFeature } from "@webiny/app";
|
|
3
|
+
import { Accordion, Button, Separator, Tooltip, useToast } from "@webiny/admin-ui";
|
|
4
|
+
import { useContainer, useFeature } from "@webiny/app";
|
|
5
5
|
import { ReactComponent } from "@webiny/icons/content_copy.svg";
|
|
6
6
|
import { ReactComponent as content_paste_svg_ReactComponent } from "@webiny/icons/content_paste.svg";
|
|
7
7
|
import { ReactComponent as delete_outline_svg_ReactComponent } from "@webiny/icons/delete_outline.svg";
|
|
@@ -9,14 +9,27 @@ import { ReactComponent as library_add_svg_ReactComponent } from "@webiny/icons/
|
|
|
9
9
|
import { ReactComponent as expand_less_svg_ReactComponent } from "@webiny/icons/expand_less.svg";
|
|
10
10
|
import { ReactComponent as expand_more_svg_ReactComponent } from "@webiny/icons/expand_more.svg";
|
|
11
11
|
import { ReactComponent as horizontal_rule_svg_ReactComponent } from "@webiny/icons/horizontal_rule.svg";
|
|
12
|
-
import { TEMPLATE_DISCRIMINATOR } from "
|
|
13
|
-
import { ClipboardFeature } from "
|
|
14
|
-
import { useConfirmationDialog } from "
|
|
15
|
-
import { NestedLayout } from "
|
|
16
|
-
import { AddTemplateButton } from "
|
|
17
|
-
|
|
12
|
+
import { TEMPLATE_DISCRIMINATOR } from "../../../../../features/formModel/ObjectField.js";
|
|
13
|
+
import { ClipboardFeature } from "../../../../../features/clipboard/feature.js";
|
|
14
|
+
import { useConfirmationDialog } from "../../../../../hooks/useConfirmationDialog.js";
|
|
15
|
+
import { NestedLayout } from "../ObjectFieldComponents.js";
|
|
16
|
+
import { AddTemplateButton } from "../TemplatePicker.js";
|
|
17
|
+
import { MultiValueDynamicZonePresenter } from "./abstractions.js";
|
|
18
|
+
const MultiValueDynamicZone = observer(({ field, addItemLabel, showContainer = true })=>{
|
|
18
19
|
const toast = useToast();
|
|
19
20
|
const { clipboard } = useFeature(ClipboardFeature);
|
|
21
|
+
const container = useContainer();
|
|
22
|
+
const presenter = useMemo(()=>{
|
|
23
|
+
const p = container.resolve(MultiValueDynamicZonePresenter);
|
|
24
|
+
p.init({
|
|
25
|
+
type: `dz:${field.name}`,
|
|
26
|
+
onReorder: (from, to)=>field.moveItem(from, to)
|
|
27
|
+
});
|
|
28
|
+
return p;
|
|
29
|
+
}, []);
|
|
30
|
+
useEffect(()=>()=>presenter.dispose(), [
|
|
31
|
+
presenter
|
|
32
|
+
]);
|
|
20
33
|
const itemCount = field.items.length;
|
|
21
34
|
const clipboardItem = clipboard.item;
|
|
22
35
|
const canPaste = null !== clipboardItem && "wby.dz" === clipboardItem.type && "string" == typeof clipboardItem.data[TEMPLATE_DISCRIMINATOR] && field.availableTemplates.some((t)=>t.id === clipboardItem.data[TEMPLATE_DISCRIMINATOR]);
|
|
@@ -32,10 +45,12 @@ const MultiValueDynamicZone = observer(({ field, showContainer = true })=>{
|
|
|
32
45
|
index: index,
|
|
33
46
|
total: itemCount,
|
|
34
47
|
templates: field.availableTemplates,
|
|
35
|
-
disabled: field.disabled
|
|
48
|
+
disabled: field.disabled,
|
|
49
|
+
sortable: presenter.getItemProps(index)
|
|
36
50
|
}))) : null, !field.disabled && /*#__PURE__*/ react.createElement("div", {
|
|
37
51
|
className: "flex gap-sm items-center"
|
|
38
52
|
}, /*#__PURE__*/ react.createElement(AddTemplateButton, {
|
|
53
|
+
label: addItemLabel,
|
|
39
54
|
templates: field.availableTemplates,
|
|
40
55
|
onSelect: (template)=>field.addItem(template.id)
|
|
41
56
|
}), canPaste && /*#__PURE__*/ react.createElement(Button, {
|
|
@@ -53,7 +68,14 @@ const MultiValueDynamicZone = observer(({ field, showContainer = true })=>{
|
|
|
53
68
|
}
|
|
54
69
|
}
|
|
55
70
|
})));
|
|
56
|
-
if (!showContainer) return
|
|
71
|
+
if (!showContainer) return /*#__PURE__*/ react.createElement(react.Fragment, null, /*#__PURE__*/ react.createElement(Separator, {
|
|
72
|
+
labelPosition: "start",
|
|
73
|
+
variant: "accent"
|
|
74
|
+
}, /*#__PURE__*/ react.createElement("span", {
|
|
75
|
+
className: "text-accent-primary text-lg font-semibold"
|
|
76
|
+
}, field.label ?? "", " (", itemCount, ")")), /*#__PURE__*/ react.createElement("div", {
|
|
77
|
+
className: "mt-md"
|
|
78
|
+
}, content));
|
|
57
79
|
const label = `${field.label || ""}${itemCount ? ` (${itemCount})` : ""}`;
|
|
58
80
|
return /*#__PURE__*/ react.createElement(Accordion, {
|
|
59
81
|
background: "base",
|
|
@@ -68,7 +90,7 @@ const MultiValueDynamicZone = observer(({ field, showContainer = true })=>{
|
|
|
68
90
|
defaultOpen: true
|
|
69
91
|
}, content));
|
|
70
92
|
});
|
|
71
|
-
const TemplatedListItem = observer(({ item, index, total, templates, disabled })=>{
|
|
93
|
+
const TemplatedListItem = observer(({ item, index, total, templates, disabled, sortable })=>{
|
|
72
94
|
const toast = useToast();
|
|
73
95
|
const { clipboard } = useFeature(ClipboardFeature);
|
|
74
96
|
const { showConfirmation } = useConfirmationDialog({
|
|
@@ -125,14 +147,43 @@ const TemplatedListItem = observer(({ item, index, total, templates, disabled })
|
|
|
125
147
|
}),
|
|
126
148
|
onClick: onDelete
|
|
127
149
|
}));
|
|
128
|
-
return /*#__PURE__*/ react.createElement(
|
|
150
|
+
return /*#__PURE__*/ react.createElement("div", {
|
|
151
|
+
ref: sortable.ref,
|
|
152
|
+
"data-sortable-item": "",
|
|
153
|
+
className: "relative",
|
|
154
|
+
style: {
|
|
155
|
+
opacity: sortable.isDragging ? 0.4 : 1
|
|
156
|
+
}
|
|
157
|
+
}, "top" === sortable.closestEdge && /*#__PURE__*/ react.createElement(DropIndicator, {
|
|
158
|
+
position: "top",
|
|
159
|
+
isFirst: 0 === index
|
|
160
|
+
}), /*#__PURE__*/ react.createElement(Accordion.Item, {
|
|
129
161
|
title: title,
|
|
130
162
|
actions: disabled ? null : actions,
|
|
131
|
-
defaultOpen: false
|
|
163
|
+
defaultOpen: false,
|
|
164
|
+
draggable: !disabled,
|
|
165
|
+
dragHandleRef: sortable.handleRef
|
|
132
166
|
}, /*#__PURE__*/ react.createElement(NestedLayout, {
|
|
133
167
|
layout: item.layout
|
|
168
|
+
})), "bottom" === sortable.closestEdge && /*#__PURE__*/ react.createElement(DropIndicator, {
|
|
169
|
+
position: "bottom",
|
|
170
|
+
isLast: index === total - 1
|
|
134
171
|
}));
|
|
135
172
|
});
|
|
173
|
+
const DropIndicator = ({ position, isFirst = false, isLast = false })=>{
|
|
174
|
+
let offset = "calc(var(--spacing-md) / -2)";
|
|
175
|
+
if ("top" === position && isFirst) offset = "0px";
|
|
176
|
+
if ("bottom" === position && isLast) offset = "0px";
|
|
177
|
+
return /*#__PURE__*/ react.createElement("div", {
|
|
178
|
+
className: "absolute left-0 right-0 z-10",
|
|
179
|
+
style: {
|
|
180
|
+
[position]: offset,
|
|
181
|
+
transform: "top" === position ? "translateY(-50%)" : "translateY(50%)"
|
|
182
|
+
}
|
|
183
|
+
}, /*#__PURE__*/ react.createElement("div", {
|
|
184
|
+
className: "w-full h-[2px] bg-primary rounded-full"
|
|
185
|
+
}));
|
|
186
|
+
};
|
|
136
187
|
export { MultiValueDynamicZone };
|
|
137
188
|
|
|
138
189
|
//# sourceMappingURL=MultiValueDynamicZone.js.map
|