@webiny/app-admin 6.2.0 → 6.3.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/base/Admin.js +2 -0
- package/base/Admin.js.map +1 -1
- package/base/Base/DefaultFieldRenderers.js +20 -4
- package/base/Base/DefaultFieldRenderers.js.map +1 -1
- package/base/Base/DefaultLayoutRenderers.d.ts +2 -0
- package/base/Base/DefaultLayoutRenderers.js +11 -0
- package/base/Base/DefaultLayoutRenderers.js.map +1 -0
- package/base/Base/FieldRenderers/InputRenderer.d.ts +15 -0
- package/base/Base/FieldRenderers/{TextRenderer.js → InputRenderer.js} +5 -3
- package/base/Base/FieldRenderers/InputRenderer.js.map +1 -0
- package/base/Base/FieldRenderers/ObjectRenderer/ObjectFieldComponents.d.ts +25 -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/ObjectListFlatRenderer.d.ts +21 -0
- package/base/Base/FieldRenderers/ObjectRenderer/ObjectListFlatRenderer.js +28 -0
- package/base/Base/FieldRenderers/ObjectRenderer/ObjectListFlatRenderer.js.map +1 -0
- package/base/Base/FieldRenderers/ObjectRenderer/ObjectRenderer.d.ts +17 -0
- package/base/Base/FieldRenderers/ObjectRenderer/ObjectRenderer.js +63 -0
- package/base/Base/FieldRenderers/ObjectRenderer/ObjectRenderer.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 +15 -0
- package/base/Base/FieldRenderers/PassthroughRenderer.js +29 -0
- package/base/Base/FieldRenderers/PassthroughRenderer.js.map +1 -0
- package/base/Base/FieldRenderers/SelectRenderer.d.ts +12 -2
- package/base/Base/FieldRenderers/SelectRenderer.js +4 -2
- package/base/Base/FieldRenderers/SelectRenderer.js.map +1 -1
- package/base/Base/FieldRenderers/TextareaRenderer.d.ts +17 -0
- package/base/Base/FieldRenderers/TextareaRenderer.js +25 -0
- package/base/Base/FieldRenderers/TextareaRenderer.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.js +2 -1
- package/base/Base.js.map +1 -1
- package/base/createRootContainer.js +4 -0
- package/base/createRootContainer.js.map +1 -1
- package/base/providers/UiProviders.js +0 -1
- package/base/providers/UiProviders.js.map +1 -1
- package/components/Filters/Filters.js.map +1 -1
- 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/lexicalValueFromHtml.d.ts +7 -0
- package/components/LexicalEditor/lexicalValueFromHtml.js +35 -0
- package/components/LexicalEditor/lexicalValueFromHtml.js.map +1 -0
- package/components/OverlayLayout/components/OverlayHeader.d.ts +1 -1
- package/components/OverlayLayout/components/OverlayHeader.js.map +1 -1
- package/components/SimpleForm/SimpleForm.d.ts +2 -2
- package/components/SimpleForm/SimpleForm.js.map +1 -1
- package/config/AdminConfig/Form.d.ts +1 -0
- package/config/AdminConfig/Form.js +3 -1
- package/config/AdminConfig/Form.js.map +1 -1
- 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.d.ts +4 -0
- package/config/AdminConfig.js +2 -1
- package/config/AdminConfig.js.map +1 -1
- package/exports/admin.d.ts +2 -0
- package/exports/admin.js +2 -0
- package/exports/admin.js.map +1 -1
- package/features/formModel/Field.js +4 -0
- package/features/formModel/Field.js.map +1 -1
- package/features/formModel/FieldBuilder.d.ts +18 -2
- package/features/formModel/FieldBuilder.js +57 -3
- package/features/formModel/FieldBuilder.js.map +1 -1
- package/features/formModel/FormModel.d.ts +3 -3
- package/features/formModel/FormModel.js +48 -13
- package/features/formModel/FormModel.js.map +1 -1
- package/features/formModel/FormModel.test.js +383 -0
- package/features/formModel/FormModel.test.js.map +1 -1
- package/features/formModel/FormModelFactory.d.ts +2 -2
- package/features/formModel/FormModelFactory.js.map +1 -1
- package/features/formModel/FormView.d.ts +24 -4
- package/features/formModel/FormView.js +57 -27
- package/features/formModel/FormView.js.map +1 -1
- package/features/formModel/ObjectField.d.ts +46 -0
- package/features/formModel/ObjectField.js +346 -0
- package/features/formModel/ObjectField.js.map +1 -0
- package/features/formModel/abstractions.d.ts +88 -19
- package/features/formModel/abstractions.js +8 -0
- package/features/formModel/abstractions.js.map +1 -1
- package/features/formModel/index.d.ts +7 -4
- package/features/formModel/index.js +9 -2
- package/features/formModel/index.js.map +1 -1
- package/features/formModel/renderers.d.ts +6 -0
- package/features/formModel/renderers.js +10 -0
- package/features/formModel/renderers.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/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 +19 -0
- package/features/tools/feature.js.map +1 -0
- package/features/tools/index.d.ts +2 -0
- package/features/tools/index.js +4 -0
- package/features/tools/index.js.map +1 -0
- package/features/wcp/ReactLicense.d.ts +3 -0
- package/features/wcp/ReactLicense.js +9 -0
- package/features/wcp/ReactLicense.js.map +1 -1
- package/features/wcp/WcpGateway.js +4 -0
- 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/index.d.ts +8 -3
- package/index.js +5 -2
- package/index.js.map +1 -1
- package/package.json +24 -23
- package/presentation/textToLexicalTool/TextToLexicalTool.d.ts +27 -0
- package/presentation/textToLexicalTool/TextToLexicalTool.js +25 -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 +5 -0
- package/presentation/textToLexicalTool/textToLexicalState.js +19 -0
- package/presentation/textToLexicalTool/textToLexicalState.js.map +1 -0
- package/base/Base/FieldRenderers/TextRenderer.d.ts +0 -5
- package/base/Base/FieldRenderers/TextRenderer.js.map +0 -1
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { IFieldVM } from "../../../features/formModel/index.js";
|
|
3
|
+
declare module "../../../features/formModel/abstractions.js" {
|
|
4
|
+
interface IFieldRendererRegistry {
|
|
5
|
+
textarea: {
|
|
6
|
+
fieldType: "text";
|
|
7
|
+
settings?: {
|
|
8
|
+
rows?: number;
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
export declare const TextareaRenderer: (({ field }: {
|
|
14
|
+
field: IFieldVM;
|
|
15
|
+
}) => React.JSX.Element) & {
|
|
16
|
+
displayName: string;
|
|
17
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { observer } from "mobx-react-lite";
|
|
3
|
+
import { DelayedOnChange } from "@webiny/admin-ui";
|
|
4
|
+
import { Textarea } from "@webiny/admin-ui";
|
|
5
|
+
export const TextareaRenderer = observer(({
|
|
6
|
+
field
|
|
7
|
+
}) => {
|
|
8
|
+
const settings = field.rendererSettings;
|
|
9
|
+
return /*#__PURE__*/React.createElement(DelayedOnChange, {
|
|
10
|
+
value: field.value,
|
|
11
|
+
onChange: value => field.onChange(value)
|
|
12
|
+
}, /*#__PURE__*/React.createElement(Textarea, {
|
|
13
|
+
label: field.label,
|
|
14
|
+
placeholder: field.placeholder,
|
|
15
|
+
description: field.description,
|
|
16
|
+
note: field.note,
|
|
17
|
+
required: field.required,
|
|
18
|
+
disabled: field.disabled,
|
|
19
|
+
validation: field.validation,
|
|
20
|
+
onBlur: () => field.onBlur(),
|
|
21
|
+
rows: settings?.rows ?? 5
|
|
22
|
+
}));
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
//# sourceMappingURL=TextareaRenderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","observer","DelayedOnChange","Textarea","TextareaRenderer","field","settings","rendererSettings","createElement","value","onChange","label","placeholder","description","note","required","disabled","validation","onBlur","rows"],"sources":["TextareaRenderer.tsx"],"sourcesContent":["import React from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { DelayedOnChange } from \"@webiny/admin-ui\";\nimport { Textarea } from \"@webiny/admin-ui\";\nimport type { IFieldVM } from \"~/features/formModel/index.js\";\nimport type { IFieldRendererRegistry } from \"~/features/formModel/index.js\";\n\ndeclare module \"../../../features/formModel/abstractions.js\" {\n interface IFieldRendererRegistry {\n textarea: { fieldType: \"text\"; settings?: { rows?: number } };\n }\n}\n\ntype TextareaSettings = NonNullable<IFieldRendererRegistry[\"textarea\"][\"settings\"]>;\n\nexport const TextareaRenderer = observer(({ field }: { field: IFieldVM }) => {\n const settings = field.rendererSettings as TextareaSettings | undefined;\n return (\n <DelayedOnChange value={field.value} onChange={value => field.onChange(value)}>\n <Textarea\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 rows={settings?.rows ?? 5}\n />\n </DelayedOnChange>\n );\n});\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,QAAQ,QAAQ,iBAAiB;AAC1C,SAASC,eAAe,QAAQ,kBAAkB;AAClD,SAASC,QAAQ,QAAQ,kBAAkB;AAY3C,OAAO,MAAMC,gBAAgB,GAAGH,QAAQ,CAAC,CAAC;EAAEI;AAA2B,CAAC,KAAK;EACzE,MAAMC,QAAQ,GAAGD,KAAK,CAACE,gBAAgD;EACvE,oBACIP,KAAA,CAAAQ,aAAA,CAACN,eAAe;IAACO,KAAK,EAAEJ,KAAK,CAACI,KAAM;IAACC,QAAQ,EAAED,KAAK,IAAIJ,KAAK,CAACK,QAAQ,CAACD,KAAK;EAAE,gBAC1ET,KAAA,CAAAQ,aAAA,CAACL,QAAQ;IACLQ,KAAK,EAAEN,KAAK,CAACM,KAAM;IACnBC,WAAW,EAAEP,KAAK,CAACO,WAAY;IAC/BC,WAAW,EAAER,KAAK,CAACQ,WAAY;IAC/BC,IAAI,EAAET,KAAK,CAACS,IAAK;IACjBC,QAAQ,EAAEV,KAAK,CAACU,QAAS;IACzBC,QAAQ,EAAEX,KAAK,CAACW,QAAS;IACzBC,UAAU,EAAEZ,KAAK,CAACY,UAAW;IAC7BC,MAAM,EAAEA,CAAA,KAAMb,KAAK,CAACa,MAAM,CAAC,CAAE;IAC7BC,IAAI,EAAEb,QAAQ,EAAEa,IAAI,IAAI;EAAE,CAC7B,CACY,CAAC;AAE1B,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { observer } from "mobx-react-lite";
|
|
3
|
+
import { List, Heading, Text } from "@webiny/admin-ui";
|
|
4
|
+
import { LayoutNodeRenderer } from "../../../features/formModel/FormView.js";
|
|
5
|
+
export const VerticalTabsRenderer = observer(function VerticalTabsRenderer({
|
|
6
|
+
node
|
|
7
|
+
}) {
|
|
8
|
+
const activeTab = node.tabs.find(t => t.id === node.activeTabId);
|
|
9
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
10
|
+
className: "flex flex-row flex-1 min-h-full shrink-0"
|
|
11
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
12
|
+
className: "flex flex-col",
|
|
13
|
+
style: {
|
|
14
|
+
width: 300
|
|
15
|
+
}
|
|
16
|
+
}, /*#__PURE__*/React.createElement(List, null, node.tabs.map(tab => /*#__PURE__*/React.createElement(List.Item, {
|
|
17
|
+
key: tab.id,
|
|
18
|
+
className: "fill-neutral-strong",
|
|
19
|
+
icon: tab.icon,
|
|
20
|
+
title: tab.label,
|
|
21
|
+
description: tab.description,
|
|
22
|
+
activated: tab.id === node.activeTabId,
|
|
23
|
+
onClick: () => node.setActiveTab(tab.id)
|
|
24
|
+
})))), /*#__PURE__*/React.createElement("div", {
|
|
25
|
+
className: "flex flex-col flex-1 px-md border-l border-neutral-dimmed"
|
|
26
|
+
}, activeTab && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
27
|
+
className: "p-md"
|
|
28
|
+
}, /*#__PURE__*/React.createElement(Heading, {
|
|
29
|
+
level: 4,
|
|
30
|
+
className: "text-neutral-primary"
|
|
31
|
+
}, activeTab.label), activeTab.description && /*#__PURE__*/React.createElement(Text, {
|
|
32
|
+
size: "sm"
|
|
33
|
+
}, activeTab.description)), /*#__PURE__*/React.createElement("div", {
|
|
34
|
+
className: "p-md flex flex-col gap-4"
|
|
35
|
+
}, activeTab.layout.map((childNode, index) => /*#__PURE__*/React.createElement(LayoutNodeRenderer, {
|
|
36
|
+
key: index,
|
|
37
|
+
node: childNode
|
|
38
|
+
}))))));
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
//# sourceMappingURL=VerticalTabsRenderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","observer","List","Heading","Text","LayoutNodeRenderer","VerticalTabsRenderer","node","activeTab","tabs","find","t","id","activeTabId","createElement","className","style","width","map","tab","Item","key","icon","title","label","description","activated","onClick","setActiveTab","Fragment","level","size","layout","childNode","index"],"sources":["VerticalTabsRenderer.tsx"],"sourcesContent":["import React from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { List, Heading, Text } from \"@webiny/admin-ui\";\nimport { LayoutNodeRenderer } from \"~/features/formModel/FormView.js\";\nimport type { TabsNodeRendererProps } from \"~/features/formModel/FormView.js\";\n\nexport const VerticalTabsRenderer = observer(function VerticalTabsRenderer({\n node\n}: TabsNodeRendererProps) {\n const activeTab = node.tabs.find(t => t.id === node.activeTabId);\n\n return (\n <div className={\"flex flex-row flex-1 min-h-full shrink-0\"}>\n <div className={\"flex flex-col\"} style={{ width: 300 }}>\n <List>\n {node.tabs.map(tab => (\n <List.Item\n key={tab.id}\n className={\"fill-neutral-strong\"}\n icon={tab.icon}\n title={tab.label}\n description={tab.description}\n activated={tab.id === node.activeTabId}\n onClick={() => node.setActiveTab(tab.id)}\n />\n ))}\n </List>\n </div>\n <div className={\"flex flex-col flex-1 px-md border-l border-neutral-dimmed\"}>\n {activeTab && (\n <>\n <div className={\"p-md\"}>\n <Heading level={4} className={\"text-neutral-primary\"}>\n {activeTab.label}\n </Heading>\n {activeTab.description && (\n <Text size={\"sm\"}>{activeTab.description}</Text>\n )}\n </div>\n <div className={\"p-md flex flex-col gap-4\"}>\n {activeTab.layout.map((childNode, index) => (\n <LayoutNodeRenderer key={index} node={childNode} />\n ))}\n </div>\n </>\n )}\n </div>\n </div>\n );\n});\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,QAAQ,QAAQ,iBAAiB;AAC1C,SAASC,IAAI,EAAEC,OAAO,EAAEC,IAAI,QAAQ,kBAAkB;AACtD,SAASC,kBAAkB;AAG3B,OAAO,MAAMC,oBAAoB,GAAGL,QAAQ,CAAC,SAASK,oBAAoBA,CAAC;EACvEC;AACmB,CAAC,EAAE;EACtB,MAAMC,SAAS,GAAGD,IAAI,CAACE,IAAI,CAACC,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACC,EAAE,KAAKL,IAAI,CAACM,WAAW,CAAC;EAEhE,oBACIb,KAAA,CAAAc,aAAA;IAAKC,SAAS,EAAE;EAA2C,gBACvDf,KAAA,CAAAc,aAAA;IAAKC,SAAS,EAAE,eAAgB;IAACC,KAAK,EAAE;MAAEC,KAAK,EAAE;IAAI;EAAE,gBACnDjB,KAAA,CAAAc,aAAA,CAACZ,IAAI,QACAK,IAAI,CAACE,IAAI,CAACS,GAAG,CAACC,GAAG,iBACdnB,KAAA,CAAAc,aAAA,CAACZ,IAAI,CAACkB,IAAI;IACNC,GAAG,EAAEF,GAAG,CAACP,EAAG;IACZG,SAAS,EAAE,qBAAsB;IACjCO,IAAI,EAAEH,GAAG,CAACG,IAAK;IACfC,KAAK,EAAEJ,GAAG,CAACK,KAAM;IACjBC,WAAW,EAAEN,GAAG,CAACM,WAAY;IAC7BC,SAAS,EAAEP,GAAG,CAACP,EAAE,KAAKL,IAAI,CAACM,WAAY;IACvCc,OAAO,EAAEA,CAAA,KAAMpB,IAAI,CAACqB,YAAY,CAACT,GAAG,CAACP,EAAE;EAAE,CAC5C,CACJ,CACC,CACL,CAAC,eACNZ,KAAA,CAAAc,aAAA;IAAKC,SAAS,EAAE;EAA4D,GACvEP,SAAS,iBACNR,KAAA,CAAAc,aAAA,CAAAd,KAAA,CAAA6B,QAAA,qBACI7B,KAAA,CAAAc,aAAA;IAAKC,SAAS,EAAE;EAAO,gBACnBf,KAAA,CAAAc,aAAA,CAACX,OAAO;IAAC2B,KAAK,EAAE,CAAE;IAACf,SAAS,EAAE;EAAuB,GAChDP,SAAS,CAACgB,KACN,CAAC,EACThB,SAAS,CAACiB,WAAW,iBAClBzB,KAAA,CAAAc,aAAA,CAACV,IAAI;IAAC2B,IAAI,EAAE;EAAK,GAAEvB,SAAS,CAACiB,WAAkB,CAElD,CAAC,eACNzB,KAAA,CAAAc,aAAA;IAAKC,SAAS,EAAE;EAA2B,GACtCP,SAAS,CAACwB,MAAM,CAACd,GAAG,CAAC,CAACe,SAAS,EAAEC,KAAK,kBACnClC,KAAA,CAAAc,aAAA,CAACT,kBAAkB;IAACgB,GAAG,EAAEa,KAAM;IAAC3B,IAAI,EAAE0B;EAAU,CAAE,CACrD,CACA,CACP,CAEL,CACJ,CAAC;AAEd,CAAC,CAAC","ignoreList":[]}
|
package/base/Base.js
CHANGED
|
@@ -5,8 +5,9 @@ import { Tenant } from "./Base/Tenant.js";
|
|
|
5
5
|
import { UserMenu } from "./Base/UserMenu.js";
|
|
6
6
|
import { LexicalPreset } from "./Base/LexicalPreset.js";
|
|
7
7
|
import { DefaultFieldRenderers } from "./Base/DefaultFieldRenderers.js";
|
|
8
|
+
import { DefaultLayoutRenderers } from "./Base/DefaultLayoutRenderers.js";
|
|
8
9
|
const BaseExtension = () => {
|
|
9
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Tenant, null), /*#__PURE__*/React.createElement(Menus, null), /*#__PURE__*/React.createElement(UserMenu, null), /*#__PURE__*/React.createElement(RoutesConfig, null), /*#__PURE__*/React.createElement(LexicalPreset, null), /*#__PURE__*/React.createElement(DefaultFieldRenderers, null));
|
|
10
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Tenant, null), /*#__PURE__*/React.createElement(Menus, null), /*#__PURE__*/React.createElement(UserMenu, null), /*#__PURE__*/React.createElement(RoutesConfig, null), /*#__PURE__*/React.createElement(LexicalPreset, null), /*#__PURE__*/React.createElement(DefaultFieldRenderers, null), /*#__PURE__*/React.createElement(DefaultLayoutRenderers, null));
|
|
10
11
|
};
|
|
11
12
|
export const Base = /*#__PURE__*/memo(BaseExtension);
|
|
12
13
|
|
package/base/Base.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","memo","Menus","RoutesConfig","Tenant","UserMenu","LexicalPreset","DefaultFieldRenderers","BaseExtension","createElement","Fragment","Base"],"sources":["Base.tsx"],"sourcesContent":["import React, { memo } from \"react\";\nimport { Menus } from \"./Base/Menus.js\";\nimport { RoutesConfig } from \"./Base/RoutesConfig.js\";\nimport { Tenant } from \"./Base/Tenant.js\";\nimport { UserMenu } from \"./Base/UserMenu.js\";\nimport { LexicalPreset } from \"./Base/LexicalPreset.js\";\nimport { DefaultFieldRenderers } from \"./Base/DefaultFieldRenderers.js\";\n\nconst BaseExtension = () => {\n return (\n <>\n <Tenant />\n <Menus />\n <UserMenu />\n <RoutesConfig />\n <LexicalPreset />\n <DefaultFieldRenderers />\n </>\n );\n};\n\nexport const Base = memo(BaseExtension);\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,IAAI,QAAQ,OAAO;AACnC,SAASC,KAAK;AACd,SAASC,YAAY;AACrB,SAASC,MAAM;AACf,SAASC,QAAQ;AACjB,SAASC,aAAa;AACtB,SAASC,qBAAqB;
|
|
1
|
+
{"version":3,"names":["React","memo","Menus","RoutesConfig","Tenant","UserMenu","LexicalPreset","DefaultFieldRenderers","DefaultLayoutRenderers","BaseExtension","createElement","Fragment","Base"],"sources":["Base.tsx"],"sourcesContent":["import React, { memo } from \"react\";\nimport { Menus } from \"./Base/Menus.js\";\nimport { RoutesConfig } from \"./Base/RoutesConfig.js\";\nimport { Tenant } from \"./Base/Tenant.js\";\nimport { UserMenu } from \"./Base/UserMenu.js\";\nimport { LexicalPreset } from \"./Base/LexicalPreset.js\";\nimport { DefaultFieldRenderers } from \"./Base/DefaultFieldRenderers.js\";\nimport { DefaultLayoutRenderers } from \"./Base/DefaultLayoutRenderers.js\";\n\nconst BaseExtension = () => {\n return (\n <>\n <Tenant />\n <Menus />\n <UserMenu />\n <RoutesConfig />\n <LexicalPreset />\n <DefaultFieldRenderers />\n <DefaultLayoutRenderers />\n </>\n );\n};\n\nexport const Base = memo(BaseExtension);\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,IAAI,QAAQ,OAAO;AACnC,SAASC,KAAK;AACd,SAASC,YAAY;AACrB,SAASC,MAAM;AACf,SAASC,QAAQ;AACjB,SAASC,aAAa;AACtB,SAASC,qBAAqB;AAC9B,SAASC,sBAAsB;AAE/B,MAAMC,aAAa,GAAGA,CAAA,KAAM;EACxB,oBACIT,KAAA,CAAAU,aAAA,CAAAV,KAAA,CAAAW,QAAA,qBACIX,KAAA,CAAAU,aAAA,CAACN,MAAM,MAAE,CAAC,eACVJ,KAAA,CAAAU,aAAA,CAACR,KAAK,MAAE,CAAC,eACTF,KAAA,CAAAU,aAAA,CAACL,QAAQ,MAAE,CAAC,eACZL,KAAA,CAAAU,aAAA,CAACP,YAAY,MAAE,CAAC,eAChBH,KAAA,CAAAU,aAAA,CAACJ,aAAa,MAAE,CAAC,eACjBN,KAAA,CAAAU,aAAA,CAACH,qBAAqB,MAAE,CAAC,eACzBP,KAAA,CAAAU,aAAA,CAACF,sBAAsB,MAAE,CAC3B,CAAC;AAEX,CAAC;AAED,OAAO,MAAMI,IAAI,gBAAGX,IAAI,CAACQ,aAAa,CAAC","ignoreList":[]}
|
|
@@ -14,6 +14,8 @@ import { TenancyFeature } from "../features/tenancy/feature.js";
|
|
|
14
14
|
import { SystemInstallerFeature } from "../presentation/installation/presenters/SystemInstaller/feature.js";
|
|
15
15
|
import { TelemetryFeature } from "../features/telemetry/feature.js";
|
|
16
16
|
import { ErrorOverlayNetworkErrorHandler } from "../errors/ErrorOverlayNetworkErrorHandler.js";
|
|
17
|
+
import { ToolsFeature } from "../features/tools/feature.js";
|
|
18
|
+
import { TextToLexicalToolFeature } from "../presentation/textToLexicalTool/feature.js";
|
|
17
19
|
const isUndefined = value => [undefined, "undefined"].includes(value);
|
|
18
20
|
export function createRootContainer() {
|
|
19
21
|
const container = new Container();
|
|
@@ -51,6 +53,8 @@ export function createRootContainer() {
|
|
|
51
53
|
SystemInstallerFeature.register(container);
|
|
52
54
|
TelemetryFeature.register(container);
|
|
53
55
|
container.register(ErrorOverlayNetworkErrorHandler).inSingletonScope();
|
|
56
|
+
ToolsFeature.register(container);
|
|
57
|
+
TextToLexicalToolFeature.register(container);
|
|
54
58
|
return container;
|
|
55
59
|
}
|
|
56
60
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createBrowserHistory","Container","DefaultRouteElementRegistry","RouterGateway","RouterFeature","HistoryRouterGateway","EnvConfigFeature","GraphQLClientFeature","MainGraphQLClientFeature","LocalStorageFeature","EventPublisherFeature","WcpFeature","TenancyFeature","SystemInstallerFeature","TelemetryFeature","ErrorOverlayNetworkErrorHandler","isUndefined","value","undefined","includes","createRootContainer","container","trashBinEnv","process","env","WEBINY_ADMIN_TRASH_BIN_RETENTION_PERIOD_DAYS","trashBinRetention","parseInt","deploymentId","String","WEBINY_ADMIN_DEPLOYMENT_ID","register","apiUrl","REACT_APP_API_URL","debug","WEBINY_ADMIN_DEBUG","graphqlApiUrl","REACT_APP_GRAPHQL_API_URL","telemetryEnabled","REACT_APP_WEBINY_TELEMETRY","telemetryUserId","REACT_APP_WEBINY_TELEMETRY_USER_ID","trashBinRetentionPeriodDays","wcpProjectId","REACT_APP_WEBINY_PROJECT_ID","REACT_APP_WCP_PROJECT_ID","websocketUrl","REACT_APP_WEBSOCKET_URL","history","registerInstance","inSingletonScope","batching","retry","prefix"],"sources":["createRootContainer.ts"],"sourcesContent":["import { createBrowserHistory } from \"history\";\nimport { Container } from \"@webiny/di\";\nimport { DefaultRouteElementRegistry } from \"@webiny/app/presentation/router/RouteElementRegistry.js\";\nimport { RouterGateway } from \"@webiny/app/features/router/abstractions.js\";\nimport { RouterFeature } from \"@webiny/app/features/router/feature.js\";\nimport { HistoryRouterGateway } from \"@webiny/app/features/router/HistoryRouterGateway.js\";\nimport { EnvConfigFeature } from \"@webiny/app/features/envConfig/feature.js\";\nimport { GraphQLClientFeature } from \"@webiny/app/features/graphqlClient/feature.js\";\nimport { MainGraphQLClientFeature } from \"@webiny/app/features/mainGraphQLClient/feature.js\";\nimport { LocalStorageFeature } from \"@webiny/app/features/localStorage/feature.js\";\nimport { EventPublisherFeature } from \"@webiny/app/features/eventPublisher/feature.js\";\nimport { WcpFeature } from \"~/features/wcp/feature.js\";\nimport { TenancyFeature } from \"~/features/tenancy/feature.js\";\nimport { SystemInstallerFeature } from \"~/presentation/installation/presenters/SystemInstaller/feature.js\";\nimport { TelemetryFeature } from \"~/features/telemetry/feature.js\";\nimport { ErrorOverlayNetworkErrorHandler } from \"~/errors/ErrorOverlayNetworkErrorHandler.js\";\n\nconst isUndefined = (value: any) => [undefined, \"undefined\"].includes(value);\n\nexport function createRootContainer() {\n const container = new Container();\n\n const trashBinEnv = process.env.WEBINY_ADMIN_TRASH_BIN_RETENTION_PERIOD_DAYS;\n const trashBinRetention = isUndefined(trashBinEnv) ? 60 : parseInt(trashBinEnv as string);\n const deploymentId = String(process.env.WEBINY_ADMIN_DEPLOYMENT_ID);\n\n EnvConfigFeature.register(container, {\n deploymentId,\n apiUrl: String(process.env.REACT_APP_API_URL),\n debug: process.env.WEBINY_ADMIN_DEBUG === \"true\",\n graphqlApiUrl: String(process.env.REACT_APP_GRAPHQL_API_URL),\n telemetryEnabled: process.env.REACT_APP_WEBINY_TELEMETRY === \"true\",\n telemetryUserId: process.env.REACT_APP_WEBINY_TELEMETRY_USER_ID,\n trashBinRetentionPeriodDays: trashBinRetention,\n wcpProjectId:\n process.env.REACT_APP_WEBINY_PROJECT_ID || process.env.REACT_APP_WCP_PROJECT_ID,\n websocketUrl: String(process.env.REACT_APP_WEBSOCKET_URL)\n });\n\n // Router\n const history = createBrowserHistory();\n container.registerInstance(RouterGateway, new HistoryRouterGateway(history, \"\"));\n container.register(DefaultRouteElementRegistry).inSingletonScope();\n\n RouterFeature.register(container);\n\n EventPublisherFeature.register(container);\n\n GraphQLClientFeature.register(container, { batching: true, retry: true });\n\n MainGraphQLClientFeature.register(container);\n\n LocalStorageFeature.register(container, { prefix: `webiny/${deploymentId}` });\n\n TenancyFeature.register(container);\n\n WcpFeature.register(container);\n\n SystemInstallerFeature.register(container);\n\n TelemetryFeature.register(container);\n\n container.register(ErrorOverlayNetworkErrorHandler).inSingletonScope();\n\n return container;\n}\n"],"mappings":"AAAA,SAASA,oBAAoB,QAAQ,SAAS;AAC9C,SAASC,SAAS,QAAQ,YAAY;AACtC,SAASC,2BAA2B,QAAQ,yDAAyD;AACrG,SAASC,aAAa,QAAQ,6CAA6C;AAC3E,SAASC,aAAa,QAAQ,wCAAwC;AACtE,SAASC,oBAAoB,QAAQ,qDAAqD;AAC1F,SAASC,gBAAgB,QAAQ,2CAA2C;AAC5E,SAASC,oBAAoB,QAAQ,+CAA+C;AACpF,SAASC,wBAAwB,QAAQ,mDAAmD;AAC5F,SAASC,mBAAmB,QAAQ,8CAA8C;AAClF,SAASC,qBAAqB,QAAQ,gDAAgD;AACtF,SAASC,UAAU;AACnB,SAASC,cAAc;AACvB,SAASC,sBAAsB;AAC/B,SAASC,gBAAgB;AACzB,SAASC,+BAA+B;
|
|
1
|
+
{"version":3,"names":["createBrowserHistory","Container","DefaultRouteElementRegistry","RouterGateway","RouterFeature","HistoryRouterGateway","EnvConfigFeature","GraphQLClientFeature","MainGraphQLClientFeature","LocalStorageFeature","EventPublisherFeature","WcpFeature","TenancyFeature","SystemInstallerFeature","TelemetryFeature","ErrorOverlayNetworkErrorHandler","ToolsFeature","TextToLexicalToolFeature","isUndefined","value","undefined","includes","createRootContainer","container","trashBinEnv","process","env","WEBINY_ADMIN_TRASH_BIN_RETENTION_PERIOD_DAYS","trashBinRetention","parseInt","deploymentId","String","WEBINY_ADMIN_DEPLOYMENT_ID","register","apiUrl","REACT_APP_API_URL","debug","WEBINY_ADMIN_DEBUG","graphqlApiUrl","REACT_APP_GRAPHQL_API_URL","telemetryEnabled","REACT_APP_WEBINY_TELEMETRY","telemetryUserId","REACT_APP_WEBINY_TELEMETRY_USER_ID","trashBinRetentionPeriodDays","wcpProjectId","REACT_APP_WEBINY_PROJECT_ID","REACT_APP_WCP_PROJECT_ID","websocketUrl","REACT_APP_WEBSOCKET_URL","history","registerInstance","inSingletonScope","batching","retry","prefix"],"sources":["createRootContainer.ts"],"sourcesContent":["import { createBrowserHistory } from \"history\";\nimport { Container } from \"@webiny/di\";\nimport { DefaultRouteElementRegistry } from \"@webiny/app/presentation/router/RouteElementRegistry.js\";\nimport { RouterGateway } from \"@webiny/app/features/router/abstractions.js\";\nimport { RouterFeature } from \"@webiny/app/features/router/feature.js\";\nimport { HistoryRouterGateway } from \"@webiny/app/features/router/HistoryRouterGateway.js\";\nimport { EnvConfigFeature } from \"@webiny/app/features/envConfig/feature.js\";\nimport { GraphQLClientFeature } from \"@webiny/app/features/graphqlClient/feature.js\";\nimport { MainGraphQLClientFeature } from \"@webiny/app/features/mainGraphQLClient/feature.js\";\nimport { LocalStorageFeature } from \"@webiny/app/features/localStorage/feature.js\";\nimport { EventPublisherFeature } from \"@webiny/app/features/eventPublisher/feature.js\";\nimport { WcpFeature } from \"~/features/wcp/feature.js\";\nimport { TenancyFeature } from \"~/features/tenancy/feature.js\";\nimport { SystemInstallerFeature } from \"~/presentation/installation/presenters/SystemInstaller/feature.js\";\nimport { TelemetryFeature } from \"~/features/telemetry/feature.js\";\nimport { ErrorOverlayNetworkErrorHandler } from \"~/errors/ErrorOverlayNetworkErrorHandler.js\";\nimport { ToolsFeature } from \"~/features/tools/feature.js\";\nimport { TextToLexicalToolFeature } from \"~/presentation/textToLexicalTool/feature.js\";\n\nconst isUndefined = (value: any) => [undefined, \"undefined\"].includes(value);\n\nexport function createRootContainer() {\n const container = new Container();\n\n const trashBinEnv = process.env.WEBINY_ADMIN_TRASH_BIN_RETENTION_PERIOD_DAYS;\n const trashBinRetention = isUndefined(trashBinEnv) ? 60 : parseInt(trashBinEnv as string);\n const deploymentId = String(process.env.WEBINY_ADMIN_DEPLOYMENT_ID);\n\n EnvConfigFeature.register(container, {\n deploymentId,\n apiUrl: String(process.env.REACT_APP_API_URL),\n debug: process.env.WEBINY_ADMIN_DEBUG === \"true\",\n graphqlApiUrl: String(process.env.REACT_APP_GRAPHQL_API_URL),\n telemetryEnabled: process.env.REACT_APP_WEBINY_TELEMETRY === \"true\",\n telemetryUserId: process.env.REACT_APP_WEBINY_TELEMETRY_USER_ID,\n trashBinRetentionPeriodDays: trashBinRetention,\n wcpProjectId:\n process.env.REACT_APP_WEBINY_PROJECT_ID || process.env.REACT_APP_WCP_PROJECT_ID,\n websocketUrl: String(process.env.REACT_APP_WEBSOCKET_URL)\n });\n\n // Router\n const history = createBrowserHistory();\n container.registerInstance(RouterGateway, new HistoryRouterGateway(history, \"\"));\n container.register(DefaultRouteElementRegistry).inSingletonScope();\n\n RouterFeature.register(container);\n\n EventPublisherFeature.register(container);\n\n GraphQLClientFeature.register(container, { batching: true, retry: true });\n\n MainGraphQLClientFeature.register(container);\n\n LocalStorageFeature.register(container, { prefix: `webiny/${deploymentId}` });\n\n TenancyFeature.register(container);\n\n WcpFeature.register(container);\n\n SystemInstallerFeature.register(container);\n\n TelemetryFeature.register(container);\n\n container.register(ErrorOverlayNetworkErrorHandler).inSingletonScope();\n\n ToolsFeature.register(container);\n\n TextToLexicalToolFeature.register(container);\n\n return container;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { createProvider, SimpleLink } from "@webiny/app";
|
|
3
3
|
import { AdminUiProvider } from "@webiny/admin-ui";
|
|
4
|
-
// @ts-expect-error Remove this one moduleResolution is set to `bundler`
|
|
5
4
|
import { compiler } from "markdown-to-jsx/react";
|
|
6
5
|
const options = {
|
|
7
6
|
overrides: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","createProvider","SimpleLink","AdminUiProvider","compiler","options","overrides","a","component","children","props","createElement","Object","assign","target","rel","markdownCompiler","markdown","createUiProviders","Component","UiProviders","linkComponent"],"sources":["UiProviders.tsx"],"sourcesContent":["import React from \"react\";\nimport { createProvider, SimpleLink } from \"@webiny/app\";\nimport { AdminUiProvider } from \"@webiny/admin-ui\";\
|
|
1
|
+
{"version":3,"names":["React","createProvider","SimpleLink","AdminUiProvider","compiler","options","overrides","a","component","children","props","createElement","Object","assign","target","rel","markdownCompiler","markdown","createUiProviders","Component","UiProviders","linkComponent"],"sources":["UiProviders.tsx"],"sourcesContent":["import React from \"react\";\nimport { createProvider, SimpleLink } from \"@webiny/app\";\nimport { AdminUiProvider } from \"@webiny/admin-ui\";\nimport { compiler } from \"markdown-to-jsx/react\";\n\nconst options = {\n overrides: {\n a: {\n component: ({ children, ...props }: any) => (\n <a {...props} target=\"_blank\" rel=\"noopener noreferrer\">\n {children}\n </a>\n )\n }\n }\n};\n\nconst markdownCompiler = (markdown: string) => {\n return compiler(markdown, options);\n};\n\ninterface UiProvidersProps {\n children: React.ReactNode;\n}\n\nexport const createUiProviders = () => {\n return createProvider(Component => {\n return function UiProviders({ children }: UiProvidersProps) {\n return (\n <AdminUiProvider linkComponent={SimpleLink} markdownCompiler={markdownCompiler}>\n <Component>{children}</Component>\n </AdminUiProvider>\n );\n };\n });\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,cAAc,EAAEC,UAAU,QAAQ,aAAa;AACxD,SAASC,eAAe,QAAQ,kBAAkB;AAClD,SAASC,QAAQ,QAAQ,uBAAuB;AAEhD,MAAMC,OAAO,GAAG;EACZC,SAAS,EAAE;IACPC,CAAC,EAAE;MACCC,SAAS,EAAEA,CAAC;QAAEC,QAAQ;QAAE,GAAGC;MAAW,CAAC,kBACnCV,KAAA,CAAAW,aAAA,MAAAC,MAAA,CAAAC,MAAA,KAAOH,KAAK;QAAEI,MAAM,EAAC,QAAQ;QAACC,GAAG,EAAC;MAAqB,IAClDN,QACF;IAEX;EACJ;AACJ,CAAC;AAED,MAAMO,gBAAgB,GAAIC,QAAgB,IAAK;EAC3C,OAAOb,QAAQ,CAACa,QAAQ,EAAEZ,OAAO,CAAC;AACtC,CAAC;AAMD,OAAO,MAAMa,iBAAiB,GAAGA,CAAA,KAAM;EACnC,OAAOjB,cAAc,CAACkB,SAAS,IAAI;IAC/B,OAAO,SAASC,WAAWA,CAAC;MAAEX;IAA2B,CAAC,EAAE;MACxD,oBACIT,KAAA,CAAAW,aAAA,CAACR,eAAe;QAACkB,aAAa,EAAEnB,UAAW;QAACc,gBAAgB,EAAEA;MAAiB,gBAC3EhB,KAAA,CAAAW,aAAA,CAACQ,SAAS,QAAEV,QAAoB,CACnB,CAAC;IAE1B,CAAC;EACL,CAAC,CAAC;AACN,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Separator","Form","Filters","props","show","filters","length","createElement","Fragment","className","data","onChange","map","filter","key","name","element","children"],"sources":["Filters.tsx"],"sourcesContent":["import React from \"react\";\nimport { Separator } from \"@webiny/admin-ui\";\nimport type { FormOnSubmit, FormProps, GenericFormData } from \"@webiny/form\";\nimport { Form } from \"@webiny/form\";\n\ntype Filter = {\n name: string;\n element: React.ReactElement;\n};\n\nexport type GenericFiltersData = GenericFormData;\n\nexport type FiltersOnSubmit<T extends GenericFiltersData = GenericFiltersData> = FormOnSubmit<T>;\n\nexport interface FiltersProps<T extends GenericFormData = GenericFormData
|
|
1
|
+
{"version":3,"names":["React","Separator","Form","Filters","props","show","filters","length","createElement","Fragment","className","data","onChange","map","filter","key","name","element","children"],"sources":["Filters.tsx"],"sourcesContent":["import React from \"react\";\nimport { Separator } from \"@webiny/admin-ui\";\nimport type { FormOnSubmit, FormProps, GenericFormData } from \"@webiny/form\";\nimport { Form } from \"@webiny/form\";\n\ntype Filter = {\n name: string;\n element: React.ReactElement;\n};\n\nexport type GenericFiltersData = GenericFormData;\n\nexport type FiltersOnSubmit<T extends GenericFiltersData = GenericFiltersData> = FormOnSubmit<T>;\n\nexport interface FiltersProps<T extends GenericFormData = GenericFormData> extends Pick<\n FormProps<T>,\n \"data\" | \"onChange\"\n> {\n filters: Filter[];\n show: boolean;\n children?: React.ReactNode;\n [\"data-testid\"]?: string;\n}\n\nexport const Filters = <T extends GenericFiltersData = GenericFiltersData>(\n props: FiltersProps<T>\n) => {\n if (!props.show || !props.filters.length) {\n return null;\n }\n\n return (\n <>\n <div\n className={\"w-full bg-neutral-base px-md my-sm\"}\n data-testid={props[\"data-testid\"] || \"filters-container\"}\n >\n <Form data={props.data} onChange={props.onChange}>\n {() => (\n <div className={\"w-full flex gap-sm flex-wrap\"}>\n {props.filters.map(filter => (\n <div key={filter.name}>{filter.element}</div>\n ))}\n {props.children}\n </div>\n )}\n </Form>\n </div>\n <Separator />\n </>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,SAAS,QAAQ,kBAAkB;AAE5C,SAASC,IAAI,QAAQ,cAAc;AAqBnC,OAAO,MAAMC,OAAO,GAChBC,KAAsB,IACrB;EACD,IAAI,CAACA,KAAK,CAACC,IAAI,IAAI,CAACD,KAAK,CAACE,OAAO,CAACC,MAAM,EAAE;IACtC,OAAO,IAAI;EACf;EAEA,oBACIP,KAAA,CAAAQ,aAAA,CAAAR,KAAA,CAAAS,QAAA,qBACIT,KAAA,CAAAQ,aAAA;IACIE,SAAS,EAAE,oCAAqC;IAChD,eAAaN,KAAK,CAAC,aAAa,CAAC,IAAI;EAAoB,gBAEzDJ,KAAA,CAAAQ,aAAA,CAACN,IAAI;IAACS,IAAI,EAAEP,KAAK,CAACO,IAAK;IAACC,QAAQ,EAAER,KAAK,CAACQ;EAAS,GAC5C,mBACGZ,KAAA,CAAAQ,aAAA;IAAKE,SAAS,EAAE;EAA+B,GAC1CN,KAAK,CAACE,OAAO,CAACO,GAAG,CAACC,MAAM,iBACrBd,KAAA,CAAAQ,aAAA;IAAKO,GAAG,EAAED,MAAM,CAACE;EAAK,GAAEF,MAAM,CAACG,OAAa,CAC/C,CAAC,EACDb,KAAK,CAACc,QACN,CAEP,CACL,CAAC,eACNlB,KAAA,CAAAQ,aAAA,CAACP,SAAS,MAAE,CACd,CAAC;AAEX,CAAC","ignoreList":[]}
|
|
@@ -3,7 +3,7 @@ import { type VariantProps } from "@webiny/admin-ui";
|
|
|
3
3
|
import type { Icon } from "../../../components/IconPicker/index.js";
|
|
4
4
|
declare const iconPickerCellVariants: (props?: ({
|
|
5
5
|
isActive?: boolean | null | undefined;
|
|
6
|
-
} & import("class-variance-authority/
|
|
6
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
7
7
|
interface IconPickerCellProps extends VariantProps<typeof iconPickerCellVariants> {
|
|
8
8
|
icon: Icon;
|
|
9
9
|
onIconClick: (icon: Icon) => void;
|
|
@@ -4,7 +4,7 @@ import type { Icon } from "../../../components/IconPicker/types.js";
|
|
|
4
4
|
declare const iconPickerTriggerVariants: (props?: ({
|
|
5
5
|
size?: "md" | "lg" | "xl" | null | undefined;
|
|
6
6
|
disabled?: boolean | null | undefined;
|
|
7
|
-
} & import("class-variance-authority/
|
|
7
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
8
8
|
interface IconPickerTriggerProps extends VariantProps<typeof inputVariants>, VariantProps<typeof iconPickerTriggerVariants> {
|
|
9
9
|
icon: Icon | null;
|
|
10
10
|
disabled?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","ReactComponent","EmptyIcon","ChevronDown","cn","cva","Icon","IconComponent","inputVariants","IconProvider","IconRenderer","iconPickerTriggerVariants","variants","size","md","lg","xl","disabled","true","defaultVariants","IconPickerTrigger","props","createElement","className","variant","invalid","icon","label","name"],"sources":["IconPickerTrigger.tsx"],"sourcesContent":["import React from \"react\";\nimport { ReactComponent as EmptyIcon } from \"@webiny/icons/remove.svg\";\nimport { ReactComponent as ChevronDown } from \"@webiny/icons/keyboard_arrow_down.svg\";\nimport { cn, cva, Icon as IconComponent, inputVariants, type VariantProps } from \"@webiny/admin-ui\";\nimport { IconProvider, IconRenderer } from \"~/components/IconPicker/IconRenderer.js\";\nimport type { Icon } from \"~/components/IconPicker/types.js\";\n\nconst iconPickerTriggerVariants = cva(\"cursor-pointer fill-neutral-xstrong\", {\n variants: {\n size: {\n md: \"w-3xl\",\n lg: \"w-3xl\",\n xl: \"w-[76px]\"\n },\n disabled: {\n true: \"pointer-events-none\"\n }\n },\n defaultVariants: {\n size: \"md\"\n }\n});\n\ninterface IconPickerTriggerProps\n extends VariantProps<typeof inputVariants
|
|
1
|
+
{"version":3,"names":["React","ReactComponent","EmptyIcon","ChevronDown","cn","cva","Icon","IconComponent","inputVariants","IconProvider","IconRenderer","iconPickerTriggerVariants","variants","size","md","lg","xl","disabled","true","defaultVariants","IconPickerTrigger","props","createElement","className","variant","invalid","icon","label","name"],"sources":["IconPickerTrigger.tsx"],"sourcesContent":["import React from \"react\";\nimport { ReactComponent as EmptyIcon } from \"@webiny/icons/remove.svg\";\nimport { ReactComponent as ChevronDown } from \"@webiny/icons/keyboard_arrow_down.svg\";\nimport { cn, cva, Icon as IconComponent, inputVariants, type VariantProps } from \"@webiny/admin-ui\";\nimport { IconProvider, IconRenderer } from \"~/components/IconPicker/IconRenderer.js\";\nimport type { Icon } from \"~/components/IconPicker/types.js\";\n\nconst iconPickerTriggerVariants = cva(\"cursor-pointer fill-neutral-xstrong\", {\n variants: {\n size: {\n md: \"w-3xl\",\n lg: \"w-3xl\",\n xl: \"w-[76px]\"\n },\n disabled: {\n true: \"pointer-events-none\"\n }\n },\n defaultVariants: {\n size: \"md\"\n }\n});\n\ninterface IconPickerTriggerProps\n extends VariantProps<typeof inputVariants>, VariantProps<typeof iconPickerTriggerVariants> {\n icon: Icon | null;\n disabled?: boolean;\n}\n\nconst IconPickerTrigger = (props: IconPickerTriggerProps) => {\n return (\n <div\n data-disabled={props.disabled}\n className={cn(\n inputVariants({\n size: props.size,\n variant: props.variant,\n invalid: props.invalid\n }),\n iconPickerTriggerVariants({ size: props.size, disabled: props.disabled })\n )}\n >\n <div className={\"flex items-center gap-xs\"}>\n <div>\n {props.icon ? (\n <IconProvider icon={props.icon} size={24}>\n <IconComponent icon={<IconRenderer />} label={props.icon.name} />\n </IconProvider>\n ) : (\n <IconComponent icon={<EmptyIcon />} label={\"Search icons\"} size={\"lg\"} />\n )}\n </div>\n <div>\n <IconComponent size={\"sm\"} icon={<ChevronDown />} label={\"Open list\"} />\n </div>\n </div>\n </div>\n );\n};\n\nexport { IconPickerTrigger, type IconPickerTriggerProps };\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,cAAc,IAAIC,SAAS,QAAQ,0BAA0B;AACtE,SAASD,cAAc,IAAIE,WAAW,QAAQ,uCAAuC;AACrF,SAASC,EAAE,EAAEC,GAAG,EAAEC,IAAI,IAAIC,aAAa,EAAEC,aAAa,QAA2B,kBAAkB;AACnG,SAASC,YAAY,EAAEC,YAAY;AAGnC,MAAMC,yBAAyB,GAAGN,GAAG,CAAC,qCAAqC,EAAE;EACzEO,QAAQ,EAAE;IACNC,IAAI,EAAE;MACFC,EAAE,EAAE,OAAO;MACXC,EAAE,EAAE,OAAO;MACXC,EAAE,EAAE;IACR,CAAC;IACDC,QAAQ,EAAE;MACNC,IAAI,EAAE;IACV;EACJ,CAAC;EACDC,eAAe,EAAE;IACbN,IAAI,EAAE;EACV;AACJ,CAAC,CAAC;AAQF,MAAMO,iBAAiB,GAAIC,KAA6B,IAAK;EACzD,oBACIrB,KAAA,CAAAsB,aAAA;IACI,iBAAeD,KAAK,CAACJ,QAAS;IAC9BM,SAAS,EAAEnB,EAAE,CACTI,aAAa,CAAC;MACVK,IAAI,EAAEQ,KAAK,CAACR,IAAI;MAChBW,OAAO,EAAEH,KAAK,CAACG,OAAO;MACtBC,OAAO,EAAEJ,KAAK,CAACI;IACnB,CAAC,CAAC,EACFd,yBAAyB,CAAC;MAAEE,IAAI,EAAEQ,KAAK,CAACR,IAAI;MAAEI,QAAQ,EAAEI,KAAK,CAACJ;IAAS,CAAC,CAC5E;EAAE,gBAEFjB,KAAA,CAAAsB,aAAA;IAAKC,SAAS,EAAE;EAA2B,gBACvCvB,KAAA,CAAAsB,aAAA,cACKD,KAAK,CAACK,IAAI,gBACP1B,KAAA,CAAAsB,aAAA,CAACb,YAAY;IAACiB,IAAI,EAAEL,KAAK,CAACK,IAAK;IAACb,IAAI,EAAE;EAAG,gBACrCb,KAAA,CAAAsB,aAAA,CAACf,aAAa;IAACmB,IAAI,eAAE1B,KAAA,CAAAsB,aAAA,CAACZ,YAAY,MAAE,CAAE;IAACiB,KAAK,EAAEN,KAAK,CAACK,IAAI,CAACE;EAAK,CAAE,CACtD,CAAC,gBAEf5B,KAAA,CAAAsB,aAAA,CAACf,aAAa;IAACmB,IAAI,eAAE1B,KAAA,CAAAsB,aAAA,CAACpB,SAAS,MAAE,CAAE;IAACyB,KAAK,EAAE,cAAe;IAACd,IAAI,EAAE;EAAK,CAAE,CAE3E,CAAC,eACNb,KAAA,CAAAsB,aAAA,2BACItB,KAAA,CAAAsB,aAAA,CAACf,aAAa;IAACM,IAAI,EAAE,IAAK;IAACa,IAAI,eAAE1B,KAAA,CAAAsB,aAAA,CAACnB,WAAW,MAAE,CAAE;IAACwB,KAAK,EAAE;EAAY,CAAE,CACtE,CACJ,CACJ,CAAC;AAEd,CAAC;AAED,SAASP,iBAAiB","ignoreList":[]}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import React, { useMemo, useRef } from "react";
|
|
1
|
+
import React, { useEffect, useMemo, useRef } from "react";
|
|
2
2
|
import { FileManager } from "../index.js";
|
|
3
3
|
import { RichTextEditor as BaseEditor } from "@webiny/lexical-editor";
|
|
4
4
|
import { DelayedOnChange } from "@webiny/admin-ui";
|
|
5
5
|
import { useAdminConfig } from "../../config/AdminConfig.js";
|
|
6
6
|
import { lexicalValueWithHtml } from "./lexicalValueWithHtml.js";
|
|
7
|
+
import { lexicalValueFromHtml } from "./lexicalValueFromHtml.js";
|
|
7
8
|
const imagesOnly = ["image/*"];
|
|
8
9
|
const noop = () => {};
|
|
9
10
|
export const LexicalEditor = props => {
|
|
@@ -11,6 +12,11 @@ export const LexicalEditor = props => {
|
|
|
11
12
|
lexicalTheme
|
|
12
13
|
} = useAdminConfig();
|
|
13
14
|
const configRef = useRef(undefined);
|
|
15
|
+
useEffect(() => {
|
|
16
|
+
if (configRef.current && props.value?.html && !props.value.state && props.onChange) {
|
|
17
|
+
lexicalValueFromHtml(configRef, props.onChange)(props.value.html);
|
|
18
|
+
}
|
|
19
|
+
}, [configRef.current, props.value, props.onChange]);
|
|
14
20
|
const onChange = useMemo(() => {
|
|
15
21
|
return lexicalValueWithHtml(configRef, props.onChange ?? noop);
|
|
16
22
|
}, [props.onChange]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useMemo","useRef","FileManager","RichTextEditor","BaseEditor","DelayedOnChange","useAdminConfig","lexicalValueWithHtml","imagesOnly","noop","LexicalEditor","props","lexicalTheme","configRef","undefined","
|
|
1
|
+
{"version":3,"names":["React","useEffect","useMemo","useRef","FileManager","RichTextEditor","BaseEditor","DelayedOnChange","useAdminConfig","lexicalValueWithHtml","lexicalValueFromHtml","imagesOnly","noop","LexicalEditor","props","lexicalTheme","configRef","undefined","current","value","html","state","onChange","createElement","accept","render","showFileManager","Object","assign","theme","toolbarActionPlugins","targetAction","plugin"],"sources":["LexicalEditor.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useRef } from \"react\";\nimport { FileManager } from \"~/components/index.js\";\nimport { RichTextEditor as BaseEditor } from \"@webiny/lexical-editor\";\nimport type { RichTextEditorProps } from \"@webiny/lexical-editor/types.js\";\nimport { DelayedOnChange } from \"@webiny/admin-ui\";\nimport { useAdminConfig } from \"~/config/AdminConfig.js\";\nimport { lexicalValueWithHtml, type RichTextValueWithHtml } from \"./lexicalValueWithHtml.js\";\nimport { lexicalValueFromHtml } from \"./lexicalValueFromHtml.js\";\n\nexport interface LexicalEditorProps extends Omit<\n RichTextEditorProps,\n \"value\" | \"onChange\" | \"theme\"\n> {\n value?: RichTextValueWithHtml;\n onChange?: (value: RichTextValueWithHtml) => void;\n theme?: RichTextEditorProps[\"theme\"];\n}\n\nconst imagesOnly = [\"image/*\"];\nconst noop = () => {};\n\nexport const LexicalEditor = (props: LexicalEditorProps) => {\n const { lexicalTheme } = useAdminConfig();\n const configRef = useRef<BaseEditor.InitialConfig | undefined>(undefined);\n\n useEffect(() => {\n if (configRef.current && props.value?.html && !props.value.state && props.onChange) {\n lexicalValueFromHtml(configRef, props.onChange)(props.value.html);\n }\n }, [configRef.current, props.value, props.onChange]);\n\n const onChange = useMemo(() => {\n return lexicalValueWithHtml(configRef, props.onChange ?? noop);\n }, [props.onChange]);\n\n return (\n <FileManager\n accept={imagesOnly}\n render={({ showFileManager }) => (\n <DelayedOnChange value={props.value?.state} onChange={onChange}>\n {({ value, onChange }) => (\n <BaseEditor\n {...props}\n value={value}\n onChange={onChange}\n theme={props.theme ?? lexicalTheme}\n configRef={configRef}\n toolbarActionPlugins={[\n ...(props.toolbarActionPlugins || []),\n { targetAction: \"image-action\", plugin: showFileManager }\n ]}\n />\n )}\n </DelayedOnChange>\n )}\n />\n );\n};\n\nexport namespace LexicalEditor {\n export type Props = LexicalEditorProps;\n}\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,OAAO,EAAEC,MAAM,QAAQ,OAAO;AACzD,SAASC,WAAW;AACpB,SAASC,cAAc,IAAIC,UAAU,QAAQ,wBAAwB;AAErE,SAASC,eAAe,QAAQ,kBAAkB;AAClD,SAASC,cAAc;AACvB,SAASC,oBAAoB;AAC7B,SAASC,oBAAoB;AAW7B,MAAMC,UAAU,GAAG,CAAC,SAAS,CAAC;AAC9B,MAAMC,IAAI,GAAGA,CAAA,KAAM,CAAC,CAAC;AAErB,OAAO,MAAMC,aAAa,GAAIC,KAAyB,IAAK;EACxD,MAAM;IAAEC;EAAa,CAAC,GAAGP,cAAc,CAAC,CAAC;EACzC,MAAMQ,SAAS,GAAGb,MAAM,CAAuCc,SAAS,CAAC;EAEzEhB,SAAS,CAAC,MAAM;IACZ,IAAIe,SAAS,CAACE,OAAO,IAAIJ,KAAK,CAACK,KAAK,EAAEC,IAAI,IAAI,CAACN,KAAK,CAACK,KAAK,CAACE,KAAK,IAAIP,KAAK,CAACQ,QAAQ,EAAE;MAChFZ,oBAAoB,CAACM,SAAS,EAAEF,KAAK,CAACQ,QAAQ,CAAC,CAACR,KAAK,CAACK,KAAK,CAACC,IAAI,CAAC;IACrE;EACJ,CAAC,EAAE,CAACJ,SAAS,CAACE,OAAO,EAAEJ,KAAK,CAACK,KAAK,EAAEL,KAAK,CAACQ,QAAQ,CAAC,CAAC;EAEpD,MAAMA,QAAQ,GAAGpB,OAAO,CAAC,MAAM;IAC3B,OAAOO,oBAAoB,CAACO,SAAS,EAAEF,KAAK,CAACQ,QAAQ,IAAIV,IAAI,CAAC;EAClE,CAAC,EAAE,CAACE,KAAK,CAACQ,QAAQ,CAAC,CAAC;EAEpB,oBACItB,KAAA,CAAAuB,aAAA,CAACnB,WAAW;IACRoB,MAAM,EAAEb,UAAW;IACnBc,MAAM,EAAEA,CAAC;MAAEC;IAAgB,CAAC,kBACxB1B,KAAA,CAAAuB,aAAA,CAAChB,eAAe;MAACY,KAAK,EAAEL,KAAK,CAACK,KAAK,EAAEE,KAAM;MAACC,QAAQ,EAAEA;IAAS,GAC1D,CAAC;MAAEH,KAAK;MAAEG;IAAS,CAAC,kBACjBtB,KAAA,CAAAuB,aAAA,CAACjB,UAAU,EAAAqB,MAAA,CAAAC,MAAA,KACHd,KAAK;MACTK,KAAK,EAAEA,KAAM;MACbG,QAAQ,EAAEA,QAAS;MACnBO,KAAK,EAAEf,KAAK,CAACe,KAAK,IAAId,YAAa;MACnCC,SAAS,EAAEA,SAAU;MACrBc,oBAAoB,EAAE,CAClB,IAAIhB,KAAK,CAACgB,oBAAoB,IAAI,EAAE,CAAC,EACrC;QAAEC,YAAY,EAAE,cAAc;QAAEC,MAAM,EAAEN;MAAgB,CAAC;IAC3D,EACL,CAEQ;EACnB,CACL,CAAC;AAEV,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { RichTextEditor } from "@webiny/lexical-editor";
|
|
2
|
+
export type RichTextValueWithHtml = {
|
|
3
|
+
state: string;
|
|
4
|
+
html: string;
|
|
5
|
+
};
|
|
6
|
+
export type EditorConfigRef = React.MutableRefObject<RichTextEditor.InitialConfig | undefined>;
|
|
7
|
+
export declare const lexicalValueFromHtml: (editorConfigRef: EditorConfigRef, onChange: (value: RichTextValueWithHtml) => void) => (value: string) => void;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { createHtmlToLexicalParser } from "@webiny/lexical-converter";
|
|
2
|
+
import { lexicalValueWithHtml } from "./lexicalValueWithHtml.js";
|
|
3
|
+
const parserCache = new Map();
|
|
4
|
+
const getOrCreate = editorConfigRef => {
|
|
5
|
+
if (!editorConfigRef.current) {
|
|
6
|
+
return undefined;
|
|
7
|
+
}
|
|
8
|
+
const id = editorConfigRef.current.editorId;
|
|
9
|
+
if (!parserCache.has(id)) {
|
|
10
|
+
const parser = createHtmlToLexicalParser({
|
|
11
|
+
editorConfig: {
|
|
12
|
+
nodes: editorConfigRef.current.nodes,
|
|
13
|
+
theme: editorConfigRef.current.theme
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
parserCache.set(id, parser);
|
|
17
|
+
}
|
|
18
|
+
return parserCache.get(id);
|
|
19
|
+
};
|
|
20
|
+
export const lexicalValueFromHtml = (editorConfigRef, onChange) => {
|
|
21
|
+
return value => {
|
|
22
|
+
const parser = getOrCreate(editorConfigRef);
|
|
23
|
+
if (!parser) {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
const domParser = new DOMParser();
|
|
27
|
+
const state = parser(domParser.parseFromString(value, "text/html"));
|
|
28
|
+
if (!state) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
lexicalValueWithHtml(editorConfigRef, onChange)(JSON.stringify(state));
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
//# sourceMappingURL=lexicalValueFromHtml.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createHtmlToLexicalParser","lexicalValueWithHtml","parserCache","Map","getOrCreate","editorConfigRef","current","undefined","id","editorId","has","parser","editorConfig","nodes","theme","set","get","lexicalValueFromHtml","onChange","value","domParser","DOMParser","state","parseFromString","JSON","stringify"],"sources":["lexicalValueFromHtml.ts"],"sourcesContent":["import { createHtmlToLexicalParser } from \"@webiny/lexical-converter\";\nimport { RichTextEditor } from \"@webiny/lexical-editor\";\nimport { lexicalValueWithHtml } from \"~/components/LexicalEditor/lexicalValueWithHtml.js\";\n\ntype LexicalHtmlTransformer = ReturnType<typeof createHtmlToLexicalParser>;\n\nexport type RichTextValueWithHtml = {\n state: string;\n html: string;\n};\n\nexport type EditorConfigRef = React.MutableRefObject<RichTextEditor.InitialConfig | undefined>;\n\nconst parserCache = new Map<string, LexicalHtmlTransformer>();\n\nconst getOrCreate = (editorConfigRef: EditorConfigRef) => {\n if (!editorConfigRef.current) {\n return undefined;\n }\n\n const id = editorConfigRef.current.editorId;\n\n if (!parserCache.has(id)) {\n const parser = createHtmlToLexicalParser({\n editorConfig: {\n nodes: editorConfigRef.current.nodes,\n theme: editorConfigRef.current.theme\n }\n });\n\n parserCache.set(id, parser);\n }\n\n return parserCache.get(id);\n};\n\nexport const lexicalValueFromHtml = (\n editorConfigRef: EditorConfigRef,\n onChange: (value: RichTextValueWithHtml) => void\n) => {\n return (value: string) => {\n const parser = getOrCreate(editorConfigRef);\n\n if (!parser) {\n return;\n }\n\n const domParser = new DOMParser();\n const state = parser(domParser.parseFromString(value, \"text/html\"));\n\n if (!state) {\n return;\n }\n\n lexicalValueWithHtml(editorConfigRef, onChange)(JSON.stringify(state));\n };\n};\n"],"mappings":"AAAA,SAASA,yBAAyB,QAAQ,2BAA2B;AAErE,SAASC,oBAAoB;AAW7B,MAAMC,WAAW,GAAG,IAAIC,GAAG,CAAiC,CAAC;AAE7D,MAAMC,WAAW,GAAIC,eAAgC,IAAK;EACtD,IAAI,CAACA,eAAe,CAACC,OAAO,EAAE;IAC1B,OAAOC,SAAS;EACpB;EAEA,MAAMC,EAAE,GAAGH,eAAe,CAACC,OAAO,CAACG,QAAQ;EAE3C,IAAI,CAACP,WAAW,CAACQ,GAAG,CAACF,EAAE,CAAC,EAAE;IACtB,MAAMG,MAAM,GAAGX,yBAAyB,CAAC;MACrCY,YAAY,EAAE;QACVC,KAAK,EAAER,eAAe,CAACC,OAAO,CAACO,KAAK;QACpCC,KAAK,EAAET,eAAe,CAACC,OAAO,CAACQ;MACnC;IACJ,CAAC,CAAC;IAEFZ,WAAW,CAACa,GAAG,CAACP,EAAE,EAAEG,MAAM,CAAC;EAC/B;EAEA,OAAOT,WAAW,CAACc,GAAG,CAACR,EAAE,CAAC;AAC9B,CAAC;AAED,OAAO,MAAMS,oBAAoB,GAAGA,CAChCZ,eAAgC,EAChCa,QAAgD,KAC/C;EACD,OAAQC,KAAa,IAAK;IACtB,MAAMR,MAAM,GAAGP,WAAW,CAACC,eAAe,CAAC;IAE3C,IAAI,CAACM,MAAM,EAAE;MACT;IACJ;IAEA,MAAMS,SAAS,GAAG,IAAIC,SAAS,CAAC,CAAC;IACjC,MAAMC,KAAK,GAAGX,MAAM,CAACS,SAAS,CAACG,eAAe,CAACJ,KAAK,EAAE,WAAW,CAAC,CAAC;IAEnE,IAAI,CAACG,KAAK,EAAE;MACR;IACJ;IAEArB,oBAAoB,CAACI,eAAe,EAAEa,QAAQ,CAAC,CAACM,IAAI,CAACC,SAAS,CAACH,KAAK,CAAC,CAAC;EAC1E,CAAC;AACL,CAAC","ignoreList":[]}
|
|
@@ -2,7 +2,7 @@ import React from "react";
|
|
|
2
2
|
import { type VariantProps } from "@webiny/admin-ui";
|
|
3
3
|
declare const overlayHeaderVariants: (props?: ({
|
|
4
4
|
variant?: "strong" | "default" | null | undefined;
|
|
5
|
-
} & import("class-variance-authority/
|
|
5
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
6
6
|
interface OverlayHeaderProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof overlayHeaderVariants> {
|
|
7
7
|
start?: React.ReactNode;
|
|
8
8
|
middle?: React.ReactNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","cn","cva","HeaderBar","IconButton","ReactComponent","CloseIcon","overlayHeaderVariants","variants","variant","default","strong","defaultVariants","OverlayHeader","start","middle","end","hideOverlay","className","props","buttonIconVariant","createElement","Object","assign","Fragment","size","iconSize","onClick","icon"],"sources":["OverlayHeader.tsx"],"sourcesContent":["import React from \"react\";\nimport { cn, cva, HeaderBar, IconButton, type VariantProps } from \"@webiny/admin-ui\";\nimport { ReactComponent as CloseIcon } from \"@webiny/icons/close.svg\";\n\nconst overlayHeaderVariants = cva(\"\", {\n variants: {\n variant: {\n default: \"bg-neutral-base text-neutral-base\",\n strong: \"bg-neutral-dark text-neutral-light\"\n }\n },\n defaultVariants: {\n variant: \"default\"\n }\n});\n\ninterface OverlayHeaderProps\n extends React.HTMLAttributes<HTMLDivElement
|
|
1
|
+
{"version":3,"names":["React","cn","cva","HeaderBar","IconButton","ReactComponent","CloseIcon","overlayHeaderVariants","variants","variant","default","strong","defaultVariants","OverlayHeader","start","middle","end","hideOverlay","className","props","buttonIconVariant","createElement","Object","assign","Fragment","size","iconSize","onClick","icon"],"sources":["OverlayHeader.tsx"],"sourcesContent":["import React from \"react\";\nimport { cn, cva, HeaderBar, IconButton, type VariantProps } from \"@webiny/admin-ui\";\nimport { ReactComponent as CloseIcon } from \"@webiny/icons/close.svg\";\n\nconst overlayHeaderVariants = cva(\"\", {\n variants: {\n variant: {\n default: \"bg-neutral-base text-neutral-base\",\n strong: \"bg-neutral-dark text-neutral-light\"\n }\n },\n defaultVariants: {\n variant: \"default\"\n }\n});\n\ninterface OverlayHeaderProps\n extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof overlayHeaderVariants> {\n start?: React.ReactNode;\n middle?: React.ReactNode;\n end?: React.ReactNode;\n hideOverlay?: () => void;\n}\n\nconst OverlayHeader = ({\n start,\n middle,\n end,\n hideOverlay,\n variant,\n className,\n ...props\n}: OverlayHeaderProps) => {\n const buttonIconVariant = variant === \"strong\" ? \"ghost-negative\" : \"ghost\";\n\n return (\n <HeaderBar\n start={<div className={\"pl-md\"}>{start}</div>}\n middle={middle}\n end={\n <>\n {end}\n <IconButton\n variant={buttonIconVariant}\n size={\"md\"}\n iconSize={\"lg\"}\n onClick={hideOverlay}\n icon={<CloseIcon />}\n />\n </>\n }\n className={cn(overlayHeaderVariants({ variant }), className)}\n {...props}\n />\n );\n};\n\nexport { OverlayHeader, type OverlayHeaderProps, overlayHeaderVariants };\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,EAAE,EAAEC,GAAG,EAAEC,SAAS,EAAEC,UAAU,QAA2B,kBAAkB;AACpF,SAASC,cAAc,IAAIC,SAAS,QAAQ,yBAAyB;AAErE,MAAMC,qBAAqB,GAAGL,GAAG,CAAC,EAAE,EAAE;EAClCM,QAAQ,EAAE;IACNC,OAAO,EAAE;MACLC,OAAO,EAAE,mCAAmC;MAC5CC,MAAM,EAAE;IACZ;EACJ,CAAC;EACDC,eAAe,EAAE;IACbH,OAAO,EAAE;EACb;AACJ,CAAC,CAAC;AAUF,MAAMI,aAAa,GAAGA,CAAC;EACnBC,KAAK;EACLC,MAAM;EACNC,GAAG;EACHC,WAAW;EACXR,OAAO;EACPS,SAAS;EACT,GAAGC;AACa,CAAC,KAAK;EACtB,MAAMC,iBAAiB,GAAGX,OAAO,KAAK,QAAQ,GAAG,gBAAgB,GAAG,OAAO;EAE3E,oBACIT,KAAA,CAAAqB,aAAA,CAAClB,SAAS,EAAAmB,MAAA,CAAAC,MAAA;IACNT,KAAK,eAAEd,KAAA,CAAAqB,aAAA;MAAKH,SAAS,EAAE;IAAQ,GAAEJ,KAAW,CAAE;IAC9CC,MAAM,EAAEA,MAAO;IACfC,GAAG,eACChB,KAAA,CAAAqB,aAAA,CAAArB,KAAA,CAAAwB,QAAA,QACKR,GAAG,eACJhB,KAAA,CAAAqB,aAAA,CAACjB,UAAU;MACPK,OAAO,EAAEW,iBAAkB;MAC3BK,IAAI,EAAE,IAAK;MACXC,QAAQ,EAAE,IAAK;MACfC,OAAO,EAAEV,WAAY;MACrBW,IAAI,eAAE5B,KAAA,CAAAqB,aAAA,CAACf,SAAS,MAAE;IAAE,CACvB,CACH,CACL;IACDY,SAAS,EAAEjB,EAAE,CAACM,qBAAqB,CAAC;MAAEE;IAAQ,CAAC,CAAC,EAAES,SAAS;EAAE,GACzDC,KAAK,CACZ,CAAC;AAEV,CAAC;AAED,SAASN,aAAa,EAA2BN,qBAAqB","ignoreList":[]}
|
|
@@ -2,7 +2,7 @@ import * as React from "react";
|
|
|
2
2
|
import { type VariantProps } from "@webiny/admin-ui";
|
|
3
3
|
declare const simpleFormInnerVariants: (props?: ({
|
|
4
4
|
size?: "full" | "md" | "lg" | null | undefined;
|
|
5
|
-
} & import("class-variance-authority/
|
|
5
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
6
6
|
interface SimpleFormProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof simpleFormInnerVariants> {
|
|
7
7
|
children: React.ReactNode;
|
|
8
8
|
noElevation?: boolean;
|
|
@@ -11,7 +11,7 @@ interface SimpleFormProps extends React.HTMLAttributes<HTMLDivElement>, VariantP
|
|
|
11
11
|
export declare const SimpleForm: ({ children, className, size, ...props }: SimpleFormProps) => React.JSX.Element;
|
|
12
12
|
declare const simpleFormHeaderVariants: (props?: ({
|
|
13
13
|
rounded?: boolean | null | undefined;
|
|
14
|
-
} & import("class-variance-authority/
|
|
14
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
15
15
|
interface SimpleFormHeaderProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "title">, VariantProps<typeof simpleFormHeaderVariants> {
|
|
16
16
|
title: React.ReactNode;
|
|
17
17
|
icon?: React.ReactElement<any>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","cn","cva","Grid","Heading","Icon","simpleFormInnerVariants","variants","size","md","lg","full","defaultVariants","SimpleForm","children","className","props","createElement","Object","assign","simpleFormHeaderVariants","rounded","true","SimpleFormHeader","icon","title","Column","span","Fragment","label","level","SimpleFormFooter","SimpleFormContent"],"sources":["SimpleForm.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { cn, cva, Grid, Heading, Icon, type VariantProps } from \"@webiny/admin-ui\";\n\nconst simpleFormInnerVariants = cva(\"mx-auto\", {\n variants: {\n size: {\n md: \"max-w-[640px]\",\n lg: \"max-w-[800px]\",\n full: \"max-w-full\"\n }\n },\n defaultVariants: {\n size: \"md\"\n }\n});\n\ninterface SimpleFormProps\n extends React.HTMLAttributes<HTMLDivElement
|
|
1
|
+
{"version":3,"names":["React","cn","cva","Grid","Heading","Icon","simpleFormInnerVariants","variants","size","md","lg","full","defaultVariants","SimpleForm","children","className","props","createElement","Object","assign","simpleFormHeaderVariants","rounded","true","SimpleFormHeader","icon","title","Column","span","Fragment","label","level","SimpleFormFooter","SimpleFormContent"],"sources":["SimpleForm.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { cn, cva, Grid, Heading, Icon, type VariantProps } from \"@webiny/admin-ui\";\n\nconst simpleFormInnerVariants = cva(\"mx-auto\", {\n variants: {\n size: {\n md: \"max-w-[640px]\",\n lg: \"max-w-[800px]\",\n full: \"max-w-full\"\n }\n },\n defaultVariants: {\n size: \"md\"\n }\n});\n\ninterface SimpleFormProps\n extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof simpleFormInnerVariants> {\n children: React.ReactNode;\n noElevation?: boolean;\n className?: string;\n}\n\nexport const SimpleForm = ({ children, className, size, ...props }: SimpleFormProps) => {\n return (\n <div {...props} className={cn([\"webiny-data-list\", \"mx-auto p-lg\", \"relative\"], className)}>\n <div className={cn(simpleFormInnerVariants({ size }))}>{children}</div>\n </div>\n );\n};\n\nconst simpleFormHeaderVariants = cva(\"p-md pl-lg border-sm border-neutral-dimmed-darker\", {\n variants: {\n rounded: {\n true: \"rounded-t-3xl\"\n }\n },\n defaultVariants: {\n rounded: true\n }\n});\n\ninterface SimpleFormHeaderProps\n extends\n Omit<React.HTMLAttributes<HTMLDivElement>, \"title\">,\n VariantProps<typeof simpleFormHeaderVariants> {\n title: React.ReactNode;\n icon?: React.ReactElement<any>;\n children?: React.ReactNode;\n [\"data-testid\"]?: string;\n}\n\nexport const SimpleFormHeader = ({\n children,\n icon,\n title,\n className,\n rounded,\n ...props\n}: SimpleFormHeaderProps) => {\n return (\n <div\n className={cn(simpleFormHeaderVariants({ rounded }), className)}\n data-testid={props[\"data-testid\"]}\n >\n <Grid>\n <Grid.Column span={children ? 6 : 12}>\n <>\n {icon && <Icon label={title as string} icon={icon} />}\n <Heading level={4} className={\"truncate\"}>\n {title}\n </Heading>\n </>\n </Grid.Column>\n <>{children ? <Grid.Column span={6}>{children}</Grid.Column> : null}</>\n </Grid>\n </div>\n );\n};\n\nexport interface SimpleFormFooterProps {\n children: React.ReactNode;\n className?: string;\n}\n\nexport const SimpleFormFooter = ({ children, className }: SimpleFormFooterProps) => {\n return (\n <div\n className={cn(\n \"p-lg pt-none border-sm border-t-none border-neutral-dimmed-darker rounded-b-3xl\",\n \"flex justify-end gap-sm\",\n className\n )}\n >\n {children}\n </div>\n );\n};\n\ninterface SimpleFormContentProps {\n children: React.ReactNode;\n className?: string;\n}\n\nexport const SimpleFormContent = ({ children, className }: SimpleFormContentProps) => {\n return (\n <div className={cn(\"p-lg border-sm border-y-none border-neutral-dimmed-darker\", className)}>\n {children}\n </div>\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export declare const Form: {
|
|
2
2
|
FieldRenderer: ({ name, component }: import("./FieldRenderer.js").FieldRendererProps) => import("react").JSX.Element;
|
|
3
|
+
LayoutRenderer: ({ name, component }: import("./LayoutRenderer.js").LayoutRendererProps) => import("react").JSX.Element;
|
|
3
4
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["FieldRenderer","Form"],"sources":["Form.ts"],"sourcesContent":["import { FieldRenderer } from \"./FieldRenderer.js\";\n\nexport const Form = {\n FieldRenderer\n};\n"],"mappings":"AAAA,SAASA,aAAa;
|
|
1
|
+
{"version":3,"names":["FieldRenderer","LayoutRenderer","Form"],"sources":["Form.ts"],"sourcesContent":["import { FieldRenderer } from \"./FieldRenderer.js\";\nimport { LayoutRenderer } from \"./LayoutRenderer.js\";\n\nexport const Form = {\n FieldRenderer,\n LayoutRenderer\n};\n"],"mappings":"AAAA,SAASA,aAAa;AACtB,SAASC,cAAc;AAEvB,OAAO,MAAMC,IAAI,GAAG;EAChBF,aAAa;EACbC;AACJ,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export interface LayoutRendererConfig {
|
|
3
|
+
name: string;
|
|
4
|
+
component: React.ComponentType<any>;
|
|
5
|
+
}
|
|
6
|
+
export interface LayoutRendererProps {
|
|
7
|
+
name: string;
|
|
8
|
+
component: React.ComponentType<any>;
|
|
9
|
+
}
|
|
10
|
+
export declare const LayoutRenderer: ({ name, component }: LayoutRendererProps) => React.JSX.Element;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { ConnectToProperties, Property, useIdGenerator } from "@webiny/react-properties";
|
|
3
|
+
export const LayoutRenderer = ({
|
|
4
|
+
name,
|
|
5
|
+
component
|
|
6
|
+
}) => {
|
|
7
|
+
const getId = useIdGenerator("FormLayoutRenderer");
|
|
8
|
+
return /*#__PURE__*/React.createElement(ConnectToProperties, {
|
|
9
|
+
name: "AdminConfig"
|
|
10
|
+
}, /*#__PURE__*/React.createElement(Property, {
|
|
11
|
+
id: getId(name),
|
|
12
|
+
name: "layoutRenderers",
|
|
13
|
+
array: true,
|
|
14
|
+
value: {
|
|
15
|
+
name,
|
|
16
|
+
component
|
|
17
|
+
}
|
|
18
|
+
}));
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=LayoutRenderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","ConnectToProperties","Property","useIdGenerator","LayoutRenderer","name","component","getId","createElement","id","array","value"],"sources":["LayoutRenderer.tsx"],"sourcesContent":["import React from \"react\";\nimport { ConnectToProperties, Property, useIdGenerator } from \"@webiny/react-properties\";\n\nexport interface LayoutRendererConfig {\n name: string;\n component: React.ComponentType<any>;\n}\n\nexport interface LayoutRendererProps {\n name: string;\n component: React.ComponentType<any>;\n}\n\nexport const LayoutRenderer = ({ name, component }: LayoutRendererProps) => {\n const getId = useIdGenerator(\"FormLayoutRenderer\");\n\n return (\n <ConnectToProperties name={\"AdminConfig\"}>\n <Property\n id={getId(name)}\n name={\"layoutRenderers\"}\n array={true}\n value={{ name, component }}\n />\n </ConnectToProperties>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,mBAAmB,EAAEC,QAAQ,EAAEC,cAAc,QAAQ,0BAA0B;AAYxF,OAAO,MAAMC,cAAc,GAAGA,CAAC;EAAEC,IAAI;EAAEC;AAA+B,CAAC,KAAK;EACxE,MAAMC,KAAK,GAAGJ,cAAc,CAAC,oBAAoB,CAAC;EAElD,oBACIH,KAAA,CAAAQ,aAAA,CAACP,mBAAmB;IAACI,IAAI,EAAE;EAAc,gBACrCL,KAAA,CAAAQ,aAAA,CAACN,QAAQ;IACLO,EAAE,EAAEF,KAAK,CAACF,IAAI,CAAE;IAChBA,IAAI,EAAE,iBAAkB;IACxBK,KAAK,EAAE,IAAK;IACZC,KAAK,EAAE;MAAEN,IAAI;MAAEC;IAAU;EAAE,CAC9B,CACgB,CAAC;AAE9B,CAAC","ignoreList":[]}
|
|
@@ -13,7 +13,7 @@ declare const MenuLink: ((props: SidebarMenuItemLinkProps) => React.JSX.Element
|
|
|
13
13
|
originalName: string;
|
|
14
14
|
displayName: string;
|
|
15
15
|
} & {
|
|
16
|
-
createDecorator: (decorator: import("
|
|
16
|
+
createDecorator: (decorator: import("@webiny/app").ComponentDecorator<((props: SidebarMenuItemLinkProps) => React.JSX.Element | null) & {
|
|
17
17
|
original: (props: SidebarMenuItemLinkProps) => React.JSX.Element | null;
|
|
18
18
|
originalName: string;
|
|
19
19
|
displayName: string;
|
|
@@ -33,7 +33,7 @@ declare const MenuLink: ((props: SidebarMenuItemLinkProps) => React.JSX.Element
|
|
|
33
33
|
originalName: string;
|
|
34
34
|
displayName: string;
|
|
35
35
|
} & {
|
|
36
|
-
createDecorator: (decorator: import("
|
|
36
|
+
createDecorator: (decorator: import("@webiny/app").ComponentDecorator<(({ element, ...props }: import("@webiny/admin-ui/Sidebar/components/items/SidebarMenuItemIcon").SidebarMenuItemIconProps) => React.JSX.Element | null) & {
|
|
37
37
|
original: ({ element, ...props }: import("@webiny/admin-ui/Sidebar/components/items/SidebarMenuItemIcon").SidebarMenuItemIconProps) => React.JSX.Element | null;
|
|
38
38
|
originalName: string;
|
|
39
39
|
displayName: string;
|
package/config/AdminConfig.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ import { type WidgetConfig } from "./AdminConfig/Widget.js";
|
|
|
6
6
|
import type { PermissionRendererConfig } from "../permissions/types.js";
|
|
7
7
|
import type { DialogConfig } from "./AdminConfig/Dialog.js";
|
|
8
8
|
import type { FieldRendererConfig } from "./AdminConfig/FieldRenderer.js";
|
|
9
|
+
import type { LayoutRendererConfig } from "./AdminConfig/LayoutRenderer.js";
|
|
9
10
|
import type { EditorTheme } from "@webiny/lexical-theme";
|
|
10
11
|
export declare const AdminWithConfig: (({ onProperties, children }: import("./createAdminConfig.js").WithConfigProps) => React.JSX.Element) & {
|
|
11
12
|
displayName: string;
|
|
@@ -26,6 +27,7 @@ export declare const useAdminConfig: () => {
|
|
|
26
27
|
lexicalTheme: EditorTheme;
|
|
27
28
|
dialogs: DialogConfig[];
|
|
28
29
|
fieldRenderers: FieldRendererConfig[];
|
|
30
|
+
layoutRenderers: LayoutRendererConfig[];
|
|
29
31
|
};
|
|
30
32
|
export interface PublicProps {
|
|
31
33
|
children: React.ReactNode;
|
|
@@ -477,6 +479,7 @@ export declare const AdminConfig: (({ children }: PrivateProps) => React.JSX.Ele
|
|
|
477
479
|
Dialog: ({ name, element }: import("./AdminConfig/Dialog.js").DialogProps) => React.JSX.Element;
|
|
478
480
|
Form: {
|
|
479
481
|
FieldRenderer: ({ name, component }: import("./AdminConfig/FieldRenderer.js").FieldRendererProps) => React.JSX.Element;
|
|
482
|
+
LayoutRenderer: ({ name, component }: import("./AdminConfig/LayoutRenderer.js").LayoutRendererProps) => React.JSX.Element;
|
|
480
483
|
};
|
|
481
484
|
useAdminConfig: () => {
|
|
482
485
|
menus: MenuConfig[];
|
|
@@ -492,5 +495,6 @@ export declare const AdminConfig: (({ children }: PrivateProps) => React.JSX.Ele
|
|
|
492
495
|
lexicalTheme: EditorTheme;
|
|
493
496
|
dialogs: DialogConfig[];
|
|
494
497
|
fieldRenderers: FieldRendererConfig[];
|
|
498
|
+
layoutRenderers: LayoutRendererConfig[];
|
|
495
499
|
};
|
|
496
500
|
};
|
package/config/AdminConfig.js
CHANGED
|
@@ -47,7 +47,8 @@ export const useAdminConfig = () => {
|
|
|
47
47
|
permissionRenderers: baseConfig.permissionRenderers ?? [],
|
|
48
48
|
lexicalTheme,
|
|
49
49
|
dialogs: baseConfig.dialogs ?? [],
|
|
50
|
-
fieldRenderers: baseConfig.fieldRenderers ?? []
|
|
50
|
+
fieldRenderers: baseConfig.fieldRenderers ?? [],
|
|
51
|
+
layoutRenderers: baseConfig.layoutRenderers ?? []
|
|
51
52
|
};
|
|
52
53
|
};
|
|
53
54
|
export const Public = ({
|