@webiny/app-admin 0.0.0-unstable.9f53ea597d → 0.0.0-unstable.a4f3e4ea8b
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 +5 -0
- package/base/Admin.js.map +1 -1
- package/base/Base/DefaultFieldRenderers.js +4 -0
- 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/LexicalRenderer.js +10 -6
- package/base/Base/FieldRenderers/LexicalRenderer.js.map +1 -1
- package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone/MultiValueDynamicZone.js +20 -3
- package/base/Base/FieldRenderers/ObjectRenderer/MultiValueDynamicZone/MultiValueDynamicZone.js.map +1 -1
- package/base/Base/FieldRenderers/ObjectRenderer/ObjectAccordionMultipleRenderer.js +11 -2
- package/base/Base/FieldRenderers/ObjectRenderer/ObjectAccordionMultipleRenderer.js.map +1 -1
- package/base/Base/FieldRenderers/ObjectRenderer/ObjectFieldComponents.js +2 -1
- package/base/Base/FieldRenderers/ObjectRenderer/ObjectFieldComponents.js.map +1 -1
- package/base/Base/FieldRenderers/ObjectRenderer/ObjectRenderer.js +11 -2
- package/base/Base/FieldRenderers/ObjectRenderer/ObjectRenderer.js.map +1 -1
- package/base/Base/FieldRenderers/ObjectRenderer/SingleValueDynamicZone.js +17 -2
- package/base/Base/FieldRenderers/ObjectRenderer/SingleValueDynamicZone.js.map +1 -1
- package/base/Base/FieldRenderers/RadioButtonsRenderer.js +3 -2
- package/base/Base/FieldRenderers/RadioButtonsRenderer.js.map +1 -1
- package/base/Base/FieldRenderers/SelectRenderer.js +3 -2
- package/base/Base/FieldRenderers/SelectRenderer.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/LexicalEditor/LexicalLinkForm.js +3 -0
- package/components/LexicalEditor/LexicalLinkForm.js.map +1 -1
- package/components/Wcp.d.ts +0 -2
- package/components/Wcp.js +1 -6
- package/components/Wcp.js.map +1 -1
- 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.d.ts +4 -0
- package/config/AdminConfig.js +3 -0
- package/config/AdminConfig.js.map +1 -1
- 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/formatUtcOffset.d.ts +1 -0
- package/features/dateFormatter/formatUtcOffset.js +11 -0
- package/features/dateFormatter/formatUtcOffset.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/formModel/Field.d.ts +1 -0
- package/features/formModel/Field.js +17 -0
- package/features/formModel/Field.js.map +1 -1
- package/features/formModel/FocusManager.js +10 -3
- package/features/formModel/FocusManager.js.map +1 -1
- package/features/formModel/FormModel.js +7 -9
- package/features/formModel/FormModel.js.map +1 -1
- package/features/formModel/FormModel.test.js +244 -0
- package/features/formModel/FormModel.test.js.map +1 -1
- package/features/formModel/ObjectField.d.ts +1 -0
- package/features/formModel/ObjectField.js +25 -0
- package/features/formModel/ObjectField.js.map +1 -1
- package/features/formModel/abstractions.d.ts +2 -0
- package/features/formModel/abstractions.js.map +1 -1
- package/features/formModel/createFieldRenderer.d.ts +42 -0
- package/features/formModel/createFieldRenderer.js +34 -10
- package/features/formModel/createFieldRenderer.js.map +1 -1
- package/features/formModel/hasSubtreeFocusRequest.d.ts +12 -0
- package/features/formModel/hasSubtreeFocusRequest.js +15 -0
- package/features/formModel/hasSubtreeFocusRequest.js.map +1 -0
- package/features/formModel/index.d.ts +1 -0
- package/features/formModel/index.js +1 -0
- package/features/formModel/renderers.d.ts +1 -0
- package/features/formModel/renderers.js +1 -0
- package/features/wcp/ReactLicense.d.ts +0 -1
- package/features/wcp/ReactLicense.js +0 -3
- package/features/wcp/ReactLicense.js.map +1 -1
- package/features/wcp/WcpGateway.js +0 -3
- 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/useOpenDrawer.d.ts +7 -0
- package/hooks/useOpenDrawer.js +18 -0
- package/hooks/useOpenDrawer.js.map +1 -0
- package/index.d.ts +5 -0
- package/index.js +12 -8
- package/package.json +19 -19
|
@@ -1,21 +1,45 @@
|
|
|
1
|
-
import react, { useEffect, useRef } from "react";
|
|
1
|
+
import react, { useEffect, useRef, useState } from "react";
|
|
2
2
|
import { observer } from "mobx-react-lite";
|
|
3
|
+
import { makeDecoratable } from "@webiny/react-composition";
|
|
4
|
+
const FormFieldWrapper = makeDecoratable("FormFieldWrapper", ({ children })=>/*#__PURE__*/ react.createElement(react.Fragment, null, children));
|
|
5
|
+
const FOCUS_HIGHLIGHT_MS = 1800;
|
|
3
6
|
const ScrollOnFocus = observer(({ field, children })=>{
|
|
4
7
|
const ref = useRef(null);
|
|
8
|
+
const [highlighted, setHighlighted] = useState(false);
|
|
9
|
+
const highlightTimer = useRef(null);
|
|
5
10
|
useEffect(()=>{
|
|
6
|
-
if (field.focusRequested && ref.current)
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
11
|
+
if (field.focusRequested && ref.current) {
|
|
12
|
+
setTimeout(()=>{
|
|
13
|
+
ref.current?.scrollIntoView({
|
|
14
|
+
behavior: "smooth",
|
|
15
|
+
block: "center"
|
|
16
|
+
});
|
|
17
|
+
}, 150);
|
|
18
|
+
setHighlighted(true);
|
|
19
|
+
if (highlightTimer.current) window.clearTimeout(highlightTimer.current);
|
|
20
|
+
highlightTimer.current = window.setTimeout(()=>setHighlighted(false), FOCUS_HIGHLIGHT_MS);
|
|
21
|
+
}
|
|
12
22
|
field.clearFocusRequest();
|
|
13
23
|
}, [
|
|
14
24
|
field.focusRequested
|
|
15
25
|
]);
|
|
26
|
+
useEffect(()=>()=>{
|
|
27
|
+
if (highlightTimer.current) window.clearTimeout(highlightTimer.current);
|
|
28
|
+
}, []);
|
|
16
29
|
return /*#__PURE__*/ react.createElement("div", {
|
|
17
|
-
ref: ref
|
|
18
|
-
|
|
30
|
+
ref: ref,
|
|
31
|
+
"data-field-path": field.qualifiedName,
|
|
32
|
+
style: {
|
|
33
|
+
padding: 6,
|
|
34
|
+
margin: -6,
|
|
35
|
+
borderRadius: 8,
|
|
36
|
+
transition: "box-shadow .35s ease, background-color .35s ease",
|
|
37
|
+
boxShadow: highlighted ? "0 0 0 2px var(--color-primary)" : void 0,
|
|
38
|
+
backgroundColor: highlighted ? "var(--color-primary-100)" : void 0
|
|
39
|
+
}
|
|
40
|
+
}, /*#__PURE__*/ react.createElement(FormFieldWrapper, {
|
|
41
|
+
field: field
|
|
42
|
+
}, children));
|
|
19
43
|
});
|
|
20
44
|
function createFieldRenderer(render) {
|
|
21
45
|
const Inner = observer(render);
|
|
@@ -33,6 +57,6 @@ function createObjectFieldRenderer(render) {
|
|
|
33
57
|
};
|
|
34
58
|
return observer(Wrapped);
|
|
35
59
|
}
|
|
36
|
-
export { createFieldRenderer, createObjectFieldRenderer };
|
|
60
|
+
export { FormFieldWrapper, createFieldRenderer, createObjectFieldRenderer };
|
|
37
61
|
|
|
38
62
|
//# sourceMappingURL=createFieldRenderer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"features/formModel/createFieldRenderer.js","sources":["../../../src/features/formModel/createFieldRenderer.tsx"],"sourcesContent":["import React, { useEffect, useRef } from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport type { IFieldVM, IObjectFieldVM, FieldRendererSettings } from \"./abstractions.js\";\n\ntype RendererField<TName extends string> = IFieldVM & {\n rendererSettings: FieldRendererSettings<TName>;\n};\n\ntype ObjectRendererField<TName extends string> = IObjectFieldVM & {\n rendererSettings: FieldRendererSettings<TName>;\n};\n\ntype FieldRendererFn<TName extends string> = (props: {\n field: RendererField<TName>;\n}) => React.ReactNode;\n\nconst ScrollOnFocus = observer(\n ({ field, children }: { field: IFieldVM; children: React.ReactNode }) => {\n const ref = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (field.focusRequested && ref.current) {\n setTimeout(() => {\n ref.current?.scrollIntoView({ behavior: \"smooth\", block: \"center\" });\n }, 150);\n }\n field.clearFocusRequest();\n }, [field.focusRequested]);\n\n return <div
|
|
1
|
+
{"version":3,"file":"features/formModel/createFieldRenderer.js","sources":["../../../src/features/formModel/createFieldRenderer.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { makeDecoratable } from \"@webiny/react-composition\";\nimport type { IFieldVM, IObjectFieldVM, FieldRendererSettings } from \"./abstractions.js\";\n\n/**\n * Decoratable wrapper rendered around every leaf field's content. Features can decorate it to\n * inject per-field UI (e.g. a comment marker) keyed on `field.qualifiedName`, without forking\n * the form. By default it renders the field content unchanged.\n */\nexport const FormFieldWrapper = makeDecoratable(\n \"FormFieldWrapper\",\n ({ children }: { field: IFieldVM; children?: React.ReactNode }) => {\n return <>{children}</>;\n }\n);\n\ntype RendererField<TName extends string> = IFieldVM & {\n rendererSettings: FieldRendererSettings<TName>;\n};\n\ntype ObjectRendererField<TName extends string> = IObjectFieldVM & {\n rendererSettings: FieldRendererSettings<TName>;\n};\n\ntype FieldRendererFn<TName extends string> = (props: {\n field: RendererField<TName>;\n}) => React.ReactNode;\n\n// How long the field stays visually highlighted after focus lands, so the user's eye is drawn\n// to where \"jump to field\" (a comment locator, a form error) scrolled to.\nconst FOCUS_HIGHLIGHT_MS = 1800;\n\nconst ScrollOnFocus = observer(\n ({ field, children }: { field: IFieldVM; children: React.ReactNode }) => {\n const ref = useRef<HTMLDivElement>(null);\n const [highlighted, setHighlighted] = useState(false);\n const highlightTimer = useRef<number | null>(null);\n\n useEffect(() => {\n if (field.focusRequested && ref.current) {\n setTimeout(() => {\n ref.current?.scrollIntoView({ behavior: \"smooth\", block: \"center\" });\n }, 150);\n // Flash a highlight ring so it's obvious where focus landed. The timer is kept in a\n // ref (not tied to the effect cleanup) so clearing the focus request below — which\n // re-runs this effect — doesn't cut the highlight short.\n setHighlighted(true);\n if (highlightTimer.current) {\n window.clearTimeout(highlightTimer.current);\n }\n highlightTimer.current = window.setTimeout(\n () => setHighlighted(false),\n FOCUS_HIGHLIGHT_MS\n );\n }\n field.clearFocusRequest();\n }, [field.focusRequested]);\n\n useEffect(() => {\n return () => {\n if (highlightTimer.current) {\n window.clearTimeout(highlightTimer.current);\n }\n };\n }, []);\n\n return (\n <div\n ref={ref}\n data-field-path={field.qualifiedName}\n style={{\n // Padding gives the highlight ring/tint breathing room from the field content;\n // the matching negative margin keeps the field's layout position unchanged.\n padding: 6,\n margin: -6,\n borderRadius: 8,\n transition: \"box-shadow .35s ease, background-color .35s ease\",\n boxShadow: highlighted ? \"0 0 0 2px var(--color-primary)\" : undefined,\n backgroundColor: highlighted ? \"var(--color-primary-100)\" : undefined\n }}\n >\n <FormFieldWrapper field={field}>{children}</FormFieldWrapper>\n </div>\n );\n }\n);\n\nexport function createFieldRenderer<TName extends string = string>(\n render: FieldRendererFn<TName>\n): React.ComponentType<{ field: IFieldVM }> {\n const Inner = observer(render as FieldRendererFn<string>) as unknown as React.ComponentType<{\n field: IFieldVM;\n }>;\n\n const Wrapper = observer(({ field }: { field: IFieldVM }) => (\n <ScrollOnFocus field={field}>\n <Inner field={field} />\n </ScrollOnFocus>\n ));\n\n return Wrapper as unknown as React.ComponentType<{ field: IFieldVM }>;\n}\n\nexport function createObjectFieldRenderer<TName extends string = string>(\n render: (props: { field: ObjectRendererField<TName> }) => React.ReactNode\n): React.ComponentType<{ field: IFieldVM }> {\n const Wrapped = (props: { field: IFieldVM }) => {\n if (props.field.type !== \"object\") {\n return null;\n }\n return (render as (p: { field: IFieldVM }) => React.ReactNode)(props);\n };\n return observer(Wrapped) as unknown as React.ComponentType<{ field: IFieldVM }>;\n}\n"],"names":["FormFieldWrapper","makeDecoratable","children","FOCUS_HIGHLIGHT_MS","ScrollOnFocus","observer","field","ref","useRef","highlighted","setHighlighted","useState","highlightTimer","useEffect","setTimeout","window","undefined","createFieldRenderer","render","Inner","Wrapper","createObjectFieldRenderer","Wrapped","props"],"mappings":";;;AAUO,MAAMA,mBAAmBC,gBAC5B,oBACA,CAAC,EAAEC,QAAQ,EAAmD,GACnD,WAAP,GAAO,0CAAGA;AAkBlB,MAAMC,qBAAqB;AAE3B,MAAMC,gBAAgBC,SAClB,CAAC,EAAEC,KAAK,EAAEJ,QAAQ,EAAkD;IAChE,MAAMK,MAAMC,OAAuB;IACnC,MAAM,CAACC,aAAaC,eAAe,GAAGC,SAAS;IAC/C,MAAMC,iBAAiBJ,OAAsB;IAE7CK,UAAU;QACN,IAAIP,MAAM,cAAc,IAAIC,IAAI,OAAO,EAAE;YACrCO,WAAW;gBACPP,IAAI,OAAO,EAAE,eAAe;oBAAE,UAAU;oBAAU,OAAO;gBAAS;YACtE,GAAG;YAIHG,eAAe;YACf,IAAIE,eAAe,OAAO,EACtBG,OAAO,YAAY,CAACH,eAAe,OAAO;YAE9CA,eAAe,OAAO,GAAGG,OAAO,UAAU,CACtC,IAAML,eAAe,QACrBP;QAER;QACAG,MAAM,iBAAiB;IAC3B,GAAG;QAACA,MAAM,cAAc;KAAC;IAEzBO,UAAU,IACC;YACH,IAAID,eAAe,OAAO,EACtBG,OAAO,YAAY,CAACH,eAAe,OAAO;QAElD,GACD,EAAE;IAEL,OAAO,WAAP,GACI,oBAAC;QACG,KAAKL;QACL,mBAAiBD,MAAM,aAAa;QACpC,OAAO;YAGH,SAAS;YACT,QAAQ;YACR,cAAc;YACd,YAAY;YACZ,WAAWG,cAAc,mCAAmCO;YAC5D,iBAAiBP,cAAc,6BAA6BO;QAChE;qBAEA,oBAAChB,kBAAgBA;QAAC,OAAOM;OAAQJ;AAG7C;AAGG,SAASe,oBACZC,MAA8B;IAE9B,MAAMC,QAAQd,SAASa;IAIvB,MAAME,UAAUf,SAAS,CAAC,EAAEC,KAAK,EAAuB,iBACpD,oBAACF,eAAaA;YAAC,OAAOE;yBAClB,oBAACa,OAAAA;YAAM,OAAOb;;IAItB,OAAOc;AACX;AAEO,SAASC,0BACZH,MAAyE;IAEzE,MAAMI,UAAU,CAACC;QACb,IAAIA,AAAqB,aAArBA,MAAM,KAAK,CAAC,IAAI,EAChB,OAAO;QAEX,OAAQL,OAAuDK;IACnE;IACA,OAAOlB,SAASiB;AACpB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { IFieldVM } from "../../features/formModel/abstractions.js";
|
|
2
|
+
/**
|
|
3
|
+
* Reactively checks whether any field in `fields`, or (recursively) any child
|
|
4
|
+
* of a nested object field, currently has `focusRequested === true`.
|
|
5
|
+
*
|
|
6
|
+
* Reads the `focusRequested` observable on every visited field so that callers
|
|
7
|
+
* wrapped in a mobx `observer` re-render (and can force-open their accordion /
|
|
8
|
+
* dynamic-zone container) when a focus request lands anywhere in the subtree.
|
|
9
|
+
* This lets "jump to field" cascade open collapsed ancestors top-down, even
|
|
10
|
+
* for fields nested several levels deep inside repeatable/list objects.
|
|
11
|
+
*/
|
|
12
|
+
export declare const hasSubtreeFocusRequest: (fields: IFieldVM[]) => boolean;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
const hasSubtreeFocusRequest = (fields)=>{
|
|
2
|
+
for (const field of fields){
|
|
3
|
+
if (field.focusRequested) return true;
|
|
4
|
+
if ("object" === field.type) {
|
|
5
|
+
const objectField = field;
|
|
6
|
+
if (objectField.isList) {
|
|
7
|
+
for (const item of objectField.items)if (hasSubtreeFocusRequest(item.fields)) return true;
|
|
8
|
+
} else if (hasSubtreeFocusRequest(objectField.fields)) return true;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
return false;
|
|
12
|
+
};
|
|
13
|
+
export { hasSubtreeFocusRequest };
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=hasSubtreeFocusRequest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/formModel/hasSubtreeFocusRequest.js","sources":["../../../src/features/formModel/hasSubtreeFocusRequest.ts"],"sourcesContent":["import type { IFieldVM, IObjectFieldVM } from \"~/features/formModel/abstractions.js\";\n\n/**\n * Reactively checks whether any field in `fields`, or (recursively) any child\n * of a nested object field, currently has `focusRequested === true`.\n *\n * Reads the `focusRequested` observable on every visited field so that callers\n * wrapped in a mobx `observer` re-render (and can force-open their accordion /\n * dynamic-zone container) when a focus request lands anywhere in the subtree.\n * This lets \"jump to field\" cascade open collapsed ancestors top-down, even\n * for fields nested several levels deep inside repeatable/list objects.\n */\nexport const hasSubtreeFocusRequest = (fields: IFieldVM[]): boolean => {\n for (const field of fields) {\n // Read the observable first so this stays reactive even when a shallow\n // match short-circuits later fields.\n if (field.focusRequested) {\n return true;\n }\n\n if (field.type === \"object\") {\n const objectField = field as IObjectFieldVM;\n if (objectField.isList) {\n for (const item of objectField.items) {\n if (hasSubtreeFocusRequest(item.fields)) {\n return true;\n }\n }\n } else if (hasSubtreeFocusRequest(objectField.fields)) {\n return true;\n }\n }\n }\n\n return false;\n};\n"],"names":["hasSubtreeFocusRequest","fields","field","objectField","item"],"mappings":"AAYO,MAAMA,yBAAyB,CAACC;IACnC,KAAK,MAAMC,SAASD,OAAQ;QAGxB,IAAIC,MAAM,cAAc,EACpB,OAAO;QAGX,IAAIA,AAAe,aAAfA,MAAM,IAAI,EAAe;YACzB,MAAMC,cAAcD;YACpB,IAAIC,YAAY,MAAM,EAClB;gBAAA,KAAK,MAAMC,QAAQD,YAAY,KAAK,CAChC,IAAIH,uBAAuBI,KAAK,MAAM,GAClC,OAAO;YAEf,OACG,IAAIJ,uBAAuBG,YAAY,MAAM,GAChD,OAAO;QAEf;IACJ;IAEA,OAAO;AACX"}
|
|
@@ -15,6 +15,7 @@ export { TextFieldType, TextFieldBuilder, NumberFieldType, NumberFieldBuilder, B
|
|
|
15
15
|
export { ObjectField, isObjectField } from "./ObjectField.js";
|
|
16
16
|
export { ConditionRuleEvaluator } from "./ConditionRuleEvaluator.js";
|
|
17
17
|
export { createFieldRenderer, createObjectFieldRenderer } from "./createFieldRenderer.js";
|
|
18
|
+
export { hasSubtreeFocusRequest } from "./hasSubtreeFocusRequest.js";
|
|
18
19
|
export { FormErrors } from "./FormErrors.js";
|
|
19
20
|
export { PresenterErrors } from "./PresenterErrors.js";
|
|
20
21
|
export { FormView, LayoutNodeRenderer, useFormViewRenderers } from "./FormView.js";
|
|
@@ -14,6 +14,7 @@ export { BooleanFieldBuilder, BooleanFieldType, DateTimeFieldBuilder, DateTimeFi
|
|
|
14
14
|
export { ObjectField, isObjectField } from "./ObjectField.js";
|
|
15
15
|
export { ConditionRuleEvaluator } from "./ConditionRuleEvaluator.js";
|
|
16
16
|
export { createFieldRenderer, createObjectFieldRenderer } from "./createFieldRenderer.js";
|
|
17
|
+
export { hasSubtreeFocusRequest } from "./hasSubtreeFocusRequest.js";
|
|
17
18
|
export { FormErrors } from "./FormErrors.js";
|
|
18
19
|
export { PresenterErrors } from "./PresenterErrors.js";
|
|
19
20
|
export { FormView, LayoutNodeRenderer, useFormViewRenderers } from "./FormView.js";
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import "../../base/Base/FieldRenderers/InputRenderer.js";
|
|
2
2
|
import "../../base/Base/FieldRenderers/SelectRenderer.js";
|
|
3
|
+
import "../../base/Base/FieldRenderers/AutoCompleteRenderer.js";
|
|
3
4
|
import "../../base/Base/FieldRenderers/ObjectRenderer/ObjectRenderer.js";
|
|
4
5
|
import "../../base/Base/FieldRenderers/ObjectRenderer/ObjectAccordionMultipleRenderer.js";
|
|
5
6
|
import "../../base/Base/FieldRenderers/ObjectRenderer/DynamicZoneRenderer.js";
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import "../../base/Base/FieldRenderers/InputRenderer.js";
|
|
2
2
|
import "../../base/Base/FieldRenderers/SelectRenderer.js";
|
|
3
|
+
import "../../base/Base/FieldRenderers/AutoCompleteRenderer.js";
|
|
3
4
|
import "../../base/Base/FieldRenderers/ObjectRenderer/ObjectRenderer.js";
|
|
4
5
|
import "../../base/Base/FieldRenderers/ObjectRenderer/ObjectAccordionMultipleRenderer.js";
|
|
5
6
|
import "../../base/Base/FieldRenderers/ObjectRenderer/DynamicZoneRenderer.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"features/wcp/ReactLicense.js","sources":["../../../src/features/wcp/ReactLicense.ts"],"sourcesContent":["import type { DecryptedWcpProjectLicense, ILicense, WcpProject } from \"@webiny/wcp/types.js\";\nimport type { WCP_FEATURE_LABEL } from \"@webiny/wcp\";\n\nexport class ReactLicense implements ILicense {\n private readonly license: ILicense;\n\n constructor(license: ILicense) {\n this.license = license;\n }\n\n getProject(): WcpProject | null {\n return this.license.getProject();\n }\n\n canUseAacl(): boolean {\n return this.license.canUseAacl();\n }\n\n canUseAuditLogs(): boolean {\n return this.license.canUseAuditLogs();\n }\n\n canUseFeature(featureId: keyof typeof WCP_FEATURE_LABEL): boolean {\n return this.license.canUseFeature(featureId);\n }\n\n canUseFileManagerThreatDetection(): boolean {\n return this.license.canUseFileManagerThreatDetection();\n }\n\n canUseFolderLevelPermissions(): boolean {\n return this.license.canUseFolderLevelPermissions();\n }\n\n canUseHcmsFieldPermissions(): boolean {\n return this.license.canUseHcmsFieldPermissions();\n }\n\n canUsePrivateFiles(): boolean {\n return this.license.canUsePrivateFiles();\n }\n\n canUseRecordLocking(): boolean {\n return this.license.canUseRecordLocking();\n }\n\n canUseTeams(): boolean {\n return this.license.canUseTeams();\n }\n\n getRawLicense(): DecryptedWcpProjectLicense | null {\n return this.license.getRawLicense();\n }\n\n public canUseWorkflows(): boolean {\n return this.license.canUseWorkflows();\n }\n\n canUseAiImageEnrichment(): boolean {\n return this.license.canUseAiImageEnrichment();\n }\n\n canUseAiPageGeneration(): boolean {\n return this.license.canUseAiPageGeneration();\n }\n\n canUseAiPageTranslation(): boolean {\n return this.license.canUseAiPageTranslation();\n }\n\n canUseAiLexicalGeneration(): boolean {\n return this.license.canUseAiLexicalGeneration();\n }\n\n canUseAiEntryGeneration(): boolean {\n return this.license.canUseAiEntryGeneration();\n }\n\n canUseAiEntryComparison(): boolean {\n return this.license.canUseAiEntryComparison();\n }\n\n canUseAiEntryTranslation(): boolean {\n return this.license.canUseAiEntryTranslation();\n }\n\n
|
|
1
|
+
{"version":3,"file":"features/wcp/ReactLicense.js","sources":["../../../src/features/wcp/ReactLicense.ts"],"sourcesContent":["import type { DecryptedWcpProjectLicense, ILicense, WcpProject } from \"@webiny/wcp/types.js\";\nimport type { WCP_FEATURE_LABEL } from \"@webiny/wcp\";\n\nexport class ReactLicense implements ILicense {\n private readonly license: ILicense;\n\n constructor(license: ILicense) {\n this.license = license;\n }\n\n getProject(): WcpProject | null {\n return this.license.getProject();\n }\n\n canUseAacl(): boolean {\n return this.license.canUseAacl();\n }\n\n canUseAuditLogs(): boolean {\n return this.license.canUseAuditLogs();\n }\n\n canUseFeature(featureId: keyof typeof WCP_FEATURE_LABEL): boolean {\n return this.license.canUseFeature(featureId);\n }\n\n canUseFileManagerThreatDetection(): boolean {\n return this.license.canUseFileManagerThreatDetection();\n }\n\n canUseFolderLevelPermissions(): boolean {\n return this.license.canUseFolderLevelPermissions();\n }\n\n canUseHcmsFieldPermissions(): boolean {\n return this.license.canUseHcmsFieldPermissions();\n }\n\n canUsePrivateFiles(): boolean {\n return this.license.canUsePrivateFiles();\n }\n\n canUseRecordLocking(): boolean {\n return this.license.canUseRecordLocking();\n }\n\n canUseTeams(): boolean {\n return this.license.canUseTeams();\n }\n\n getRawLicense(): DecryptedWcpProjectLicense | null {\n return this.license.getRawLicense();\n }\n\n public canUseWorkflows(): boolean {\n return this.license.canUseWorkflows();\n }\n\n canUseAiImageEnrichment(): boolean {\n return this.license.canUseAiImageEnrichment();\n }\n\n canUseAiPageGeneration(): boolean {\n return this.license.canUseAiPageGeneration();\n }\n\n canUseAiPageTranslation(): boolean {\n return this.license.canUseAiPageTranslation();\n }\n\n canUseAiLexicalGeneration(): boolean {\n return this.license.canUseAiLexicalGeneration();\n }\n\n canUseAiEntryGeneration(): boolean {\n return this.license.canUseAiEntryGeneration();\n }\n\n canUseAiEntryComparison(): boolean {\n return this.license.canUseAiEntryComparison();\n }\n\n canUseAiEntryTranslation(): boolean {\n return this.license.canUseAiEntryTranslation();\n }\n\n toDto(): DecryptedWcpProjectLicense | null {\n return this.license.toDto();\n }\n}\n"],"names":["ReactLicense","license","featureId"],"mappings":"AAGO,MAAMA;IAGT,YAAYC,OAAiB,CAAE;QAC3B,IAAI,CAAC,OAAO,GAAGA;IACnB;IAEA,aAAgC;QAC5B,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU;IAClC;IAEA,aAAsB;QAClB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU;IAClC;IAEA,kBAA2B;QACvB,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe;IACvC;IAEA,cAAcC,SAAyC,EAAW;QAC9D,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAACA;IACtC;IAEA,mCAA4C;QACxC,OAAO,IAAI,CAAC,OAAO,CAAC,gCAAgC;IACxD;IAEA,+BAAwC;QACpC,OAAO,IAAI,CAAC,OAAO,CAAC,4BAA4B;IACpD;IAEA,6BAAsC;QAClC,OAAO,IAAI,CAAC,OAAO,CAAC,0BAA0B;IAClD;IAEA,qBAA8B;QAC1B,OAAO,IAAI,CAAC,OAAO,CAAC,kBAAkB;IAC1C;IAEA,sBAA+B;QAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,mBAAmB;IAC3C;IAEA,cAAuB;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW;IACnC;IAEA,gBAAmD;QAC/C,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa;IACrC;IAEO,kBAA2B;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe;IACvC;IAEA,0BAAmC;QAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,uBAAuB;IAC/C;IAEA,yBAAkC;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,sBAAsB;IAC9C;IAEA,0BAAmC;QAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,uBAAuB;IAC/C;IAEA,4BAAqC;QACjC,OAAO,IAAI,CAAC,OAAO,CAAC,yBAAyB;IACjD;IAEA,0BAAmC;QAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,uBAAuB;IAC/C;IAEA,0BAAmC;QAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,uBAAuB;IAC/C;IAEA,2BAAoC;QAChC,OAAO,IAAI,CAAC,OAAO,CAAC,wBAAwB;IAChD;IAEA,QAA2C;QACvC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK;IAC7B;AACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"features/wcp/WcpGateway.js","sources":["../../../src/features/wcp/WcpGateway.ts"],"sourcesContent":["import { createImplementation } from \"@webiny/di\";\nimport { WcpGateway as WcpGatewayAbstraction } from \"./abstractions.js\";\nimport { MainGraphQLClient } from \"@webiny/app/features/mainGraphQLClient/index.js\";\nimport type { GetWcpProjectResponse, WcpProjectData } from \"./types.js\";\n\nconst GET_WCP_PROJECT = /* GraphQL */ `\n query GetWcpProject {\n wcp {\n getProject {\n data {\n orgId\n projectId\n package {\n features {\n seats {\n enabled\n options\n }\n multiTenancy {\n enabled\n options\n }\n advancedPublishingWorkflow {\n enabled\n }\n advancedAccessControlLayer {\n enabled\n options\n }\n auditLogs {\n enabled\n }\n recordLocking {\n enabled\n }\n fileManager {\n enabled\n options\n }\n aiPowerups {\n enabled\n options\n }\n
|
|
1
|
+
{"version":3,"file":"features/wcp/WcpGateway.js","sources":["../../../src/features/wcp/WcpGateway.ts"],"sourcesContent":["import { createImplementation } from \"@webiny/di\";\nimport { WcpGateway as WcpGatewayAbstraction } from \"./abstractions.js\";\nimport { MainGraphQLClient } from \"@webiny/app/features/mainGraphQLClient/index.js\";\nimport type { GetWcpProjectResponse, WcpProjectData } from \"./types.js\";\n\nconst GET_WCP_PROJECT = /* GraphQL */ `\n query GetWcpProject {\n wcp {\n getProject {\n data {\n orgId\n projectId\n package {\n features {\n seats {\n enabled\n options\n }\n multiTenancy {\n enabled\n options\n }\n advancedPublishingWorkflow {\n enabled\n }\n advancedAccessControlLayer {\n enabled\n options\n }\n auditLogs {\n enabled\n }\n recordLocking {\n enabled\n }\n fileManager {\n enabled\n options\n }\n aiPowerups {\n enabled\n options\n }\n }\n }\n }\n error {\n message\n code\n data\n }\n }\n }\n }\n`;\n\nclass WcpGraphQLGateway implements WcpGatewayAbstraction.Interface {\n constructor(private client: MainGraphQLClient.Interface) {}\n\n async fetchProject(): Promise<WcpProjectData | null> {\n const response = await this.client.execute<GetWcpProjectResponse>({\n query: GET_WCP_PROJECT,\n headers: {\n \"x-tenant\": \"root\"\n }\n });\n\n if (response.wcp.getProject.error) {\n throw new Error(response.wcp.getProject.error.message);\n }\n\n return response.wcp.getProject.data;\n }\n}\n\nexport const WcpGateway = createImplementation({\n abstraction: WcpGatewayAbstraction,\n implementation: WcpGraphQLGateway,\n dependencies: [MainGraphQLClient]\n});\n"],"names":["GET_WCP_PROJECT","WcpGraphQLGateway","client","response","Error","WcpGateway","createImplementation","WcpGatewayAbstraction","MainGraphQLClient"],"mappings":";;;AAKA,MAAMA,kBAAgC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiDvC,CAAC;AAED,MAAMC;IACF,YAAoBC,MAAmC,CAAE;aAArCA,MAAM,GAANA;IAAsC;IAE1D,MAAM,eAA+C;QACjD,MAAMC,WAAW,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAwB;YAC9D,OAAOH;YACP,SAAS;gBACL,YAAY;YAChB;QACJ;QAEA,IAAIG,SAAS,GAAG,CAAC,UAAU,CAAC,KAAK,EAC7B,MAAM,IAAIC,MAAMD,SAAS,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO;QAGzD,OAAOA,SAAS,GAAG,CAAC,UAAU,CAAC,IAAI;IACvC;AACJ;AAEO,MAAME,wBAAaC,qBAAqB;IAC3C,aAAaC;IACb,gBAAgBN;IAChB,cAAc;QAACO;KAAkB;AACrC"}
|
package/hooks/index.d.ts
CHANGED
|
@@ -3,6 +3,9 @@ export * from "./useConfirmationDialog.js";
|
|
|
3
3
|
export * from "./useDialog.js";
|
|
4
4
|
export * from "./useOpenDialog.js";
|
|
5
5
|
export * from "../components/Dialogs/useDialogs.js";
|
|
6
|
+
export * from "./useDrawer.js";
|
|
7
|
+
export * from "./useOpenDrawer.js";
|
|
8
|
+
export * from "../components/Drawers/useDrawers.js";
|
|
6
9
|
export * from "./useSnackbar.js";
|
|
7
10
|
export * from "./useKeyHandler.js";
|
|
8
11
|
export * from "./useShiftKey.js";
|
package/hooks/index.js
CHANGED
|
@@ -3,6 +3,9 @@ export * from "./useConfirmationDialog.js";
|
|
|
3
3
|
export * from "./useDialog.js";
|
|
4
4
|
export * from "./useOpenDialog.js";
|
|
5
5
|
export * from "../components/Dialogs/useDialogs.js";
|
|
6
|
+
export * from "./useDrawer.js";
|
|
7
|
+
export * from "./useOpenDrawer.js";
|
|
8
|
+
export * from "../components/Drawers/useDrawers.js";
|
|
6
9
|
export * from "./useSnackbar.js";
|
|
7
10
|
export * from "./useKeyHandler.js";
|
|
8
11
|
export * from "./useShiftKey.js";
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { z } from "zod";
|
|
2
|
+
export declare function useDrawer<T extends z.ZodTypeAny>(schema: T): {
|
|
3
|
+
params: z.infer<T>;
|
|
4
|
+
closeDrawer: () => void;
|
|
5
|
+
};
|
|
6
|
+
export declare function useDrawer(): {
|
|
7
|
+
params: Record<string, unknown>;
|
|
8
|
+
closeDrawer: () => void;
|
|
9
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { useMemo } from "react";
|
|
2
|
+
import { useDrawerParamsContext } from "../components/Drawers/DrawerParamsContext.js";
|
|
3
|
+
function useDrawer(schema) {
|
|
4
|
+
const { params: rawParams, closeDrawer } = useDrawerParamsContext();
|
|
5
|
+
const params = useMemo(()=>{
|
|
6
|
+
if (schema) return schema.parse(rawParams);
|
|
7
|
+
return rawParams;
|
|
8
|
+
}, [
|
|
9
|
+
rawParams,
|
|
10
|
+
schema
|
|
11
|
+
]);
|
|
12
|
+
return {
|
|
13
|
+
params,
|
|
14
|
+
closeDrawer
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
export { useDrawer };
|
|
18
|
+
|
|
19
|
+
//# sourceMappingURL=useDrawer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hooks/useDrawer.js","sources":["../../src/hooks/useDrawer.ts"],"sourcesContent":["import { useMemo } from \"react\";\nimport type { z } from \"zod\";\nimport { useDrawerParamsContext } from \"~/components/Drawers/DrawerParamsContext.js\";\n\nexport function useDrawer<T extends z.ZodTypeAny>(\n schema: T\n): { params: z.infer<T>; closeDrawer: () => void };\nexport function useDrawer(): { params: Record<string, unknown>; closeDrawer: () => void };\nexport function useDrawer(schema?: z.ZodTypeAny) {\n const { params: rawParams, closeDrawer } = useDrawerParamsContext();\n\n const params = useMemo(() => {\n if (schema) {\n return schema.parse(rawParams);\n }\n return rawParams;\n }, [rawParams, schema]);\n\n return { params, closeDrawer };\n}\n"],"names":["useDrawer","schema","rawParams","closeDrawer","useDrawerParamsContext","params","useMemo"],"mappings":";;AAQO,SAASA,UAAUC,MAAqB;IAC3C,MAAM,EAAE,QAAQC,SAAS,EAAEC,WAAW,EAAE,GAAGC;IAE3C,MAAMC,SAASC,QAAQ;QACnB,IAAIL,QACA,OAAOA,OAAO,KAAK,CAACC;QAExB,OAAOA;IACX,GAAG;QAACA;QAAWD;KAAO;IAEtB,OAAO;QAAEI;QAAQF;IAAY;AACjC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { z } from "zod";
|
|
2
|
+
export declare function useOpenDrawer<T extends z.ZodTypeAny>(schema: T): {
|
|
3
|
+
openDrawer: (name: string, params: z.infer<T>) => void;
|
|
4
|
+
};
|
|
5
|
+
export declare function useOpenDrawer(): {
|
|
6
|
+
openDrawer: (name: string, params?: Record<string, unknown>) => void;
|
|
7
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { useCallback } from "react";
|
|
2
|
+
import { useDrawers } from "../components/Drawers/useDrawers.js";
|
|
3
|
+
function useOpenDrawer(schema) {
|
|
4
|
+
const { openNamedDrawer } = useDrawers();
|
|
5
|
+
const openDrawer = useCallback((name, params = {})=>{
|
|
6
|
+
if (schema) schema.parse(params);
|
|
7
|
+
openNamedDrawer(name, params);
|
|
8
|
+
}, [
|
|
9
|
+
openNamedDrawer,
|
|
10
|
+
schema
|
|
11
|
+
]);
|
|
12
|
+
return {
|
|
13
|
+
openDrawer
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
export { useOpenDrawer };
|
|
17
|
+
|
|
18
|
+
//# sourceMappingURL=useOpenDrawer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hooks/useOpenDrawer.js","sources":["../../src/hooks/useOpenDrawer.ts"],"sourcesContent":["import { useCallback } from \"react\";\nimport type { z } from \"zod\";\nimport { useDrawers } from \"~/components/Drawers/useDrawers.js\";\n\nexport function useOpenDrawer<T extends z.ZodTypeAny>(\n schema: T\n): { openDrawer: (name: string, params: z.infer<T>) => void };\nexport function useOpenDrawer(): {\n openDrawer: (name: string, params?: Record<string, unknown>) => void;\n};\nexport function useOpenDrawer(schema?: z.ZodTypeAny) {\n const { openNamedDrawer } = useDrawers();\n\n const openDrawer = useCallback(\n (name: string, params: Record<string, unknown> = {}) => {\n if (schema) {\n schema.parse(params);\n }\n openNamedDrawer(name, params);\n },\n [openNamedDrawer, schema]\n );\n\n return { openDrawer };\n}\n"],"names":["useOpenDrawer","schema","openNamedDrawer","useDrawers","openDrawer","useCallback","name","params"],"mappings":";;AAUO,SAASA,cAAcC,MAAqB;IAC/C,MAAM,EAAEC,eAAe,EAAE,GAAGC;IAE5B,MAAMC,aAAaC,YACf,CAACC,MAAcC,SAAkC,CAAC,CAAC;QAC/C,IAAIN,QACAA,OAAO,KAAK,CAACM;QAEjBL,gBAAgBI,MAAMC;IAC1B,GACA;QAACL;QAAiBD;KAAO;IAG7B,OAAO;QAAEG;IAAW;AACxB"}
|
package/index.d.ts
CHANGED
|
@@ -35,6 +35,11 @@ export { BuildParamsFeature } from "./features/buildParams/feature.js";
|
|
|
35
35
|
export { ToolsFeature } from "./features/tools/feature.js";
|
|
36
36
|
export { Tool, ToolRegistry, ToolPipelineRunner } from "./features/tools/abstractions.js";
|
|
37
37
|
export type { ITool, IToolRegistry, IToolPipelineRunner } from "./features/tools/abstractions.js";
|
|
38
|
+
export { DateFormatter } from "./features/dateFormatter/abstractions.js";
|
|
39
|
+
export type { IDateFormatter, FormattableDate } from "./features/dateFormatter/abstractions.js";
|
|
40
|
+
export { DateFormatterFeature } from "./features/dateFormatter/feature.js";
|
|
41
|
+
export { useDateFormatter } from "./features/dateFormatter/useDateFormatter.js";
|
|
42
|
+
export { formatUtcOffset } from "./features/dateFormatter/formatUtcOffset.js";
|
|
38
43
|
export * from "./hooks/index.js";
|
|
39
44
|
export { useWcp } from "./presentation/wcp/useWcp.js";
|
|
40
45
|
export { useTenantContext } from "./presentation/tenancy/useTenantContext.js";
|
package/index.js
CHANGED
|
@@ -16,6 +16,10 @@ import "./base/Base/FieldRenderers/PassthroughRenderer.js";
|
|
|
16
16
|
import "./base/Base/FieldRenderers/HiddenRenderer.js";
|
|
17
17
|
import "./base/Base/FieldRenderers/DateTimeInputsRenderer.js";
|
|
18
18
|
import "./base/Base/FieldRenderers/DateTimeRenderer.js";
|
|
19
|
+
import "./base/Base/FieldRenderers/CheckboxesRenderer.js";
|
|
20
|
+
import "./base/Base/FieldRenderers/RadioButtonsRenderer.js";
|
|
21
|
+
import "./base/Base/FieldRenderers/TagsRenderer.js";
|
|
22
|
+
import "./base/Base/FieldRenderers/TextareasRenderer.js";
|
|
19
23
|
import "./features/formModel/renderers.js";
|
|
20
24
|
import "./features/formModel/fieldTypes/TextFieldType.js";
|
|
21
25
|
import "./features/formModel/fieldTypes/NumberFieldType.js";
|
|
@@ -25,18 +29,14 @@ import "./features/formModel/fieldTypes/FileFieldType.js";
|
|
|
25
29
|
import "./features/formModel/fieldTypes/FileUrlFieldType.js";
|
|
26
30
|
import "./features/formModel/fieldTypes/ObjectFieldType.js";
|
|
27
31
|
import "./features/formModel/fieldTypes/LexicalFieldType.js";
|
|
28
|
-
import "./base/Base/FieldRenderers/CheckboxesRenderer.js";
|
|
29
|
-
import "./base/Base/FieldRenderers/RadioButtonsRenderer.js";
|
|
30
|
-
import "./base/Base/FieldRenderers/TagsRenderer.js";
|
|
31
|
-
import "./base/Base/FieldRenderers/TextareasRenderer.js";
|
|
32
32
|
import "./base/Base/FieldRenderers/TextInputsRenderer.js";
|
|
33
33
|
import "./base/Base/FieldRenderers/NumberInputsRenderer.js";
|
|
34
|
+
import "./base/Base/FieldRenderers/NumberInputRenderer.js";
|
|
35
|
+
import "./base/Base/FieldRenderers/SwitchRenderer.js";
|
|
36
|
+
import "./base/Base/FieldRenderers/TextareaRenderer.js";
|
|
37
|
+
import "./base/Base/FieldRenderers/MultiSelectRenderer.js";
|
|
34
38
|
import "./base/Base/FieldRenderers/InputRenderer.js";
|
|
35
39
|
import "./base/Base/FieldRenderers/SelectRenderer.js";
|
|
36
|
-
import "./base/Base/FieldRenderers/MultiSelectRenderer.js";
|
|
37
|
-
import "./base/Base/FieldRenderers/TextareaRenderer.js";
|
|
38
|
-
import "./base/Base/FieldRenderers/SwitchRenderer.js";
|
|
39
|
-
import "./base/Base/FieldRenderers/NumberInputRenderer.js";
|
|
40
40
|
export * from "@webiny/app";
|
|
41
41
|
export * from "./base/ui/Tags.js";
|
|
42
42
|
export * from "./base/ui/Layout.js";
|
|
@@ -66,6 +66,10 @@ export { SystemInstallerProvider } from "./presentation/installation/components/
|
|
|
66
66
|
export { BuildParamsFeature } from "./features/buildParams/feature.js";
|
|
67
67
|
export { ToolsFeature } from "./features/tools/feature.js";
|
|
68
68
|
export { Tool, ToolPipelineRunner, ToolRegistry } from "./features/tools/abstractions.js";
|
|
69
|
+
export { DateFormatter } from "./features/dateFormatter/abstractions.js";
|
|
70
|
+
export { DateFormatterFeature } from "./features/dateFormatter/feature.js";
|
|
71
|
+
export { useDateFormatter } from "./features/dateFormatter/useDateFormatter.js";
|
|
72
|
+
export { formatUtcOffset } from "./features/dateFormatter/formatUtcOffset.js";
|
|
69
73
|
export { useWcp } from "./presentation/wcp/useWcp.js";
|
|
70
74
|
export { useTenantContext } from "./presentation/tenancy/useTenantContext.js";
|
|
71
75
|
export { useIdentity } from "./presentation/security/hooks/useIdentity.js";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webiny/app-admin",
|
|
3
|
-
"version": "0.0.0-unstable.
|
|
3
|
+
"version": "0.0.0-unstable.a4f3e4ea8b",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./index.js",
|
|
@@ -26,24 +26,24 @@
|
|
|
26
26
|
"@iconify/json": "2.2.503",
|
|
27
27
|
"@lexical/utils": "0.48.0",
|
|
28
28
|
"@types/react": "18.3.31",
|
|
29
|
-
"@webiny/admin-ui": "0.0.0-unstable.
|
|
30
|
-
"@webiny/app": "0.0.0-unstable.
|
|
29
|
+
"@webiny/admin-ui": "0.0.0-unstable.a4f3e4ea8b",
|
|
30
|
+
"@webiny/app": "0.0.0-unstable.a4f3e4ea8b",
|
|
31
31
|
"@webiny/di": "1.0.2",
|
|
32
|
-
"@webiny/feature": "0.0.0-unstable.
|
|
33
|
-
"@webiny/form": "0.0.0-unstable.
|
|
34
|
-
"@webiny/icons": "0.0.0-unstable.
|
|
35
|
-
"@webiny/lexical-converter": "0.0.0-unstable.
|
|
36
|
-
"@webiny/lexical-editor": "0.0.0-unstable.
|
|
37
|
-
"@webiny/lexical-nodes": "0.0.0-unstable.
|
|
38
|
-
"@webiny/lexical-theme": "0.0.0-unstable.
|
|
39
|
-
"@webiny/plugins": "0.0.0-unstable.
|
|
40
|
-
"@webiny/react-composition": "0.0.0-unstable.
|
|
41
|
-
"@webiny/react-properties": "0.0.0-unstable.
|
|
42
|
-
"@webiny/sdk": "0.0.0-unstable.
|
|
43
|
-
"@webiny/telemetry": "0.0.0-unstable.
|
|
44
|
-
"@webiny/utils": "0.0.0-unstable.
|
|
45
|
-
"@webiny/validation": "0.0.0-unstable.
|
|
46
|
-
"@webiny/wcp": "0.0.0-unstable.
|
|
32
|
+
"@webiny/feature": "0.0.0-unstable.a4f3e4ea8b",
|
|
33
|
+
"@webiny/form": "0.0.0-unstable.a4f3e4ea8b",
|
|
34
|
+
"@webiny/icons": "0.0.0-unstable.a4f3e4ea8b",
|
|
35
|
+
"@webiny/lexical-converter": "0.0.0-unstable.a4f3e4ea8b",
|
|
36
|
+
"@webiny/lexical-editor": "0.0.0-unstable.a4f3e4ea8b",
|
|
37
|
+
"@webiny/lexical-nodes": "0.0.0-unstable.a4f3e4ea8b",
|
|
38
|
+
"@webiny/lexical-theme": "0.0.0-unstable.a4f3e4ea8b",
|
|
39
|
+
"@webiny/plugins": "0.0.0-unstable.a4f3e4ea8b",
|
|
40
|
+
"@webiny/react-composition": "0.0.0-unstable.a4f3e4ea8b",
|
|
41
|
+
"@webiny/react-properties": "0.0.0-unstable.a4f3e4ea8b",
|
|
42
|
+
"@webiny/sdk": "0.0.0-unstable.a4f3e4ea8b",
|
|
43
|
+
"@webiny/telemetry": "0.0.0-unstable.a4f3e4ea8b",
|
|
44
|
+
"@webiny/utils": "0.0.0-unstable.a4f3e4ea8b",
|
|
45
|
+
"@webiny/validation": "0.0.0-unstable.a4f3e4ea8b",
|
|
46
|
+
"@webiny/wcp": "0.0.0-unstable.a4f3e4ea8b",
|
|
47
47
|
"apollo-cache": "1.3.5",
|
|
48
48
|
"apollo-client": "2.6.10",
|
|
49
49
|
"apollo-link": "1.2.14",
|
|
@@ -83,7 +83,7 @@
|
|
|
83
83
|
"@types/react-transition-group": "4.4.12",
|
|
84
84
|
"@types/store": "2.0.5",
|
|
85
85
|
"@types/tinycolor2": "1.4.6",
|
|
86
|
-
"@webiny/build-tools": "0.0.0-unstable.
|
|
86
|
+
"@webiny/build-tools": "0.0.0-unstable.a4f3e4ea8b",
|
|
87
87
|
"rimraf": "6.1.3",
|
|
88
88
|
"typescript": "7.0.2",
|
|
89
89
|
"vitest": "4.1.10"
|