@webiny/react-properties 0.0.0-unstable.78f581c1d2 → 0.0.0-unstable.7be00a75a9
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/DevToolsSection.d.ts +40 -0
- package/DevToolsSection.js +54 -0
- package/DevToolsSection.js.map +1 -0
- package/Properties.d.ts +60 -0
- package/Properties.js +130 -191
- package/Properties.js.map +1 -1
- package/PropertyPriority.d.ts +8 -0
- package/PropertyPriority.js +11 -0
- package/PropertyPriority.js.map +1 -0
- package/README.md +7 -61
- package/createConfigurableComponent.d.ts +15 -0
- package/createConfigurableComponent.js +67 -0
- package/createConfigurableComponent.js.map +1 -0
- package/domain/PropertyStore.d.ts +51 -0
- package/domain/PropertyStore.js +154 -0
- package/domain/PropertyStore.js.map +1 -0
- package/domain/index.d.ts +1 -0
- package/domain/index.js +1 -0
- package/index.d.ts +7 -0
- package/index.js +7 -31
- package/package.json +19 -17
- package/useDebugConfig.d.ts +32 -0
- package/useDebugConfig.js +45 -0
- package/useDebugConfig.js.map +1 -0
- package/useIdGenerator.d.ts +1 -0
- package/useIdGenerator.js +23 -0
- package/useIdGenerator.js.map +1 -0
- package/utils.d.ts +3 -0
- package/utils.js +42 -48
- package/utils.js.map +1 -1
- package/__tests__/cases/dashboard/App.d.ts +0 -23
- package/__tests__/cases/dashboard/dashboard.test.d.ts +0 -1
- package/__tests__/cases/pbEditorSettings/PbEditorSettingsView.d.ts +0 -21
- package/__tests__/cases/pbEditorSettings/createConfigurableView.d.ts +0 -9
- package/__tests__/cases/pbEditorSettings/pbEditorSettings.test.d.ts +0 -1
- package/__tests__/properties.test.d.ts +0 -1
- package/__tests__/setupEnv.d.ts +0 -1
- package/__tests__/utils.d.ts +0 -2
- package/index.js.map +0 -1
- package/src/Properties.d.ts +0 -38
- package/src/index.d.ts +0 -2
- package/src/utils.d.ts +0 -3
package/utils.js
CHANGED
|
@@ -1,54 +1,48 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
14
|
-
|
|
15
|
-
var _objectSpread3 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
16
|
-
|
|
17
|
-
var _nanoid = require("nanoid");
|
|
18
|
-
|
|
19
|
-
var nanoid = (0, _nanoid.customAlphabet)("1234567890abcdef", 6);
|
|
20
|
-
|
|
1
|
+
import { customAlphabet } from "nanoid";
|
|
2
|
+
const nanoid = customAlphabet("1234567890abcdef");
|
|
3
|
+
const sortPropertiesToTheTop = (a, b)=>{
|
|
4
|
+
if (a.$isFirst && b.$isFirst) return -1;
|
|
5
|
+
return Number(b.$isFirst) - Number(a.$isFirst);
|
|
6
|
+
};
|
|
7
|
+
const sortPropertiesToTheBottom = (a, b)=>{
|
|
8
|
+
if (a.$isLast && b.$isLast) return 1;
|
|
9
|
+
return Number(a.$isLast) - Number(b.$isLast);
|
|
10
|
+
};
|
|
11
|
+
const sortProperties = (properties)=>properties.sort(sortPropertiesToTheTop).sort(sortPropertiesToTheBottom);
|
|
21
12
|
function buildRoots(roots, properties) {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
13
|
+
const sortedRoots = sortProperties(roots);
|
|
14
|
+
const obj = sortedRoots.reduce((acc, item)=>{
|
|
15
|
+
const isArray = true === item.array || sortedRoots.filter((r)=>r.name === item.name).length > 1;
|
|
16
|
+
return {
|
|
17
|
+
...acc,
|
|
18
|
+
[item.name]: isArray ? [] : {}
|
|
19
|
+
};
|
|
20
|
+
}, {});
|
|
21
|
+
sortedRoots.forEach((root)=>{
|
|
22
|
+
const isArray = true === root.array || Array.isArray(obj[root.name]);
|
|
23
|
+
if (void 0 !== root.value) {
|
|
24
|
+
obj[root.name] = isArray ? [
|
|
25
|
+
...obj[root.name],
|
|
26
|
+
root.value
|
|
27
|
+
] : root.value;
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
const nextRoots = properties.filter((p)=>p.parent === root.id);
|
|
31
|
+
const value = buildRoots(nextRoots, properties);
|
|
32
|
+
obj[root.name] = isArray ? [
|
|
33
|
+
...obj[root.name],
|
|
34
|
+
value
|
|
35
|
+
] : value;
|
|
38
36
|
});
|
|
39
|
-
|
|
40
|
-
obj[root.name] = isArray ? [].concat((0, _toConsumableArray2.default)(obj[root.name]), [value]) : value;
|
|
41
|
-
});
|
|
42
|
-
return obj;
|
|
37
|
+
return obj;
|
|
43
38
|
}
|
|
44
|
-
|
|
45
39
|
function toObject(properties) {
|
|
46
|
-
|
|
47
|
-
return
|
|
48
|
-
|
|
49
|
-
|
|
40
|
+
const roots = properties.filter((prop)=>"" === prop.parent);
|
|
41
|
+
return buildRoots(roots, properties);
|
|
42
|
+
}
|
|
43
|
+
function getUniqueId(length = 12) {
|
|
44
|
+
return nanoid(length);
|
|
50
45
|
}
|
|
46
|
+
export { getUniqueId, toObject };
|
|
51
47
|
|
|
52
|
-
|
|
53
|
-
return nanoid();
|
|
54
|
-
}
|
|
48
|
+
//# sourceMappingURL=utils.js.map
|
package/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../src/utils.ts"],"sourcesContent":["import { customAlphabet } from \"nanoid\";\nconst nanoid = customAlphabet(\"1234567890abcdef\");\nimport type { Property } from \"./Properties.js\";\n\nconst sortPropertiesToTheTop = (a: Property, b: Property) => {\n if (a.$isFirst && b.$isFirst) {\n return -1;\n }\n\n return Number(b.$isFirst) - Number(a.$isFirst);\n};\n\nconst sortPropertiesToTheBottom = (a: Property, b: Property) => {\n if (a.$isLast && b.$isLast) {\n return 1;\n }\n\n return Number(a.$isLast) - Number(b.$isLast);\n};\n\nconst sortProperties = (properties: Property[]) => {\n return properties.sort(sortPropertiesToTheTop).sort(sortPropertiesToTheBottom);\n};\n\nfunction buildRoots(roots: Property[], properties: Property[]) {\n const sortedRoots = sortProperties(roots);\n const obj: Record<string, unknown> = sortedRoots.reduce((acc, item) => {\n const isArray =\n item.array === true || sortedRoots.filter(r => r.name === item.name).length > 1;\n return { ...acc, [item.name]: isArray ? [] : {} };\n }, {});\n\n sortedRoots.forEach(root => {\n const isArray = root.array === true || Array.isArray(obj[root.name]);\n if (root.value !== undefined) {\n obj[root.name] = isArray ? [...(obj[root.name] as Array<any>), root.value] : root.value;\n return;\n }\n\n const nextRoots = properties.filter(p => p.parent === root.id);\n const value = buildRoots(nextRoots, properties);\n obj[root.name] = isArray ? [...(obj[root.name] as Property[]), value] : value;\n });\n\n return obj;\n}\n\nexport function toObject<T = unknown>(properties: Property[]): T {\n const roots = properties.filter(prop => prop.parent === \"\");\n return buildRoots(roots, properties) as T;\n}\n\nexport function getUniqueId(length = 12) {\n return nanoid(length);\n}\n"],"names":["nanoid","customAlphabet","sortPropertiesToTheTop","a","b","Number","sortPropertiesToTheBottom","sortProperties","properties","buildRoots","roots","sortedRoots","obj","acc","item","isArray","r","root","Array","undefined","nextRoots","p","value","toObject","prop","getUniqueId","length"],"mappings":";AACA,MAAMA,SAASC,eAAe;AAG9B,MAAMC,yBAAyB,CAACC,GAAaC;IACzC,IAAID,EAAE,QAAQ,IAAIC,EAAE,QAAQ,EACxB,OAAO;IAGX,OAAOC,OAAOD,EAAE,QAAQ,IAAIC,OAAOF,EAAE,QAAQ;AACjD;AAEA,MAAMG,4BAA4B,CAACH,GAAaC;IAC5C,IAAID,EAAE,OAAO,IAAIC,EAAE,OAAO,EACtB,OAAO;IAGX,OAAOC,OAAOF,EAAE,OAAO,IAAIE,OAAOD,EAAE,OAAO;AAC/C;AAEA,MAAMG,iBAAiB,CAACC,aACbA,WAAW,IAAI,CAACN,wBAAwB,IAAI,CAACI;AAGxD,SAASG,WAAWC,KAAiB,EAAEF,UAAsB;IACzD,MAAMG,cAAcJ,eAAeG;IACnC,MAAME,MAA+BD,YAAY,MAAM,CAAC,CAACE,KAAKC;QAC1D,MAAMC,UACFD,AAAe,SAAfA,KAAK,KAAK,IAAaH,YAAY,MAAM,CAACK,CAAAA,IAAKA,EAAE,IAAI,KAAKF,KAAK,IAAI,EAAE,MAAM,GAAG;QAClF,OAAO;YAAE,GAAGD,GAAG;YAAE,CAACC,KAAK,IAAI,CAAC,EAAEC,UAAU,EAAE,GAAG,CAAC;QAAE;IACpD,GAAG,CAAC;IAEJJ,YAAY,OAAO,CAACM,CAAAA;QAChB,MAAMF,UAAUE,AAAe,SAAfA,KAAK,KAAK,IAAaC,MAAM,OAAO,CAACN,GAAG,CAACK,KAAK,IAAI,CAAC;QACnE,IAAIA,AAAeE,WAAfF,KAAK,KAAK,EAAgB;YAC1BL,GAAG,CAACK,KAAK,IAAI,CAAC,GAAGF,UAAU;mBAAKH,GAAG,CAACK,KAAK,IAAI,CAAC;gBAAiBA,KAAK,KAAK;aAAC,GAAGA,KAAK,KAAK;YACvF;QACJ;QAEA,MAAMG,YAAYZ,WAAW,MAAM,CAACa,CAAAA,IAAKA,EAAE,MAAM,KAAKJ,KAAK,EAAE;QAC7D,MAAMK,QAAQb,WAAWW,WAAWZ;QACpCI,GAAG,CAACK,KAAK,IAAI,CAAC,GAAGF,UAAU;eAAKH,GAAG,CAACK,KAAK,IAAI,CAAC;YAAiBK;SAAM,GAAGA;IAC5E;IAEA,OAAOV;AACX;AAEO,SAASW,SAAsBf,UAAsB;IACxD,MAAME,QAAQF,WAAW,MAAM,CAACgB,CAAAA,OAAQA,AAAgB,OAAhBA,KAAK,MAAM;IACnD,OAAOf,WAAWC,OAAOF;AAC7B;AAEO,SAASiB,YAAYC,SAAS,EAAE;IACnC,OAAO1B,OAAO0B;AAClB"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
import { Property } from "../../../src/index";
|
|
3
|
-
interface AddWidgetProps {
|
|
4
|
-
name: string;
|
|
5
|
-
type: string;
|
|
6
|
-
}
|
|
7
|
-
declare const AddWidget: <T extends Record<string, unknown>>(props: T & AddWidgetProps) => JSX.Element;
|
|
8
|
-
export interface CardWidget extends Record<string, unknown> {
|
|
9
|
-
title: string;
|
|
10
|
-
description: string;
|
|
11
|
-
button: React.ReactElement;
|
|
12
|
-
}
|
|
13
|
-
interface DashboardConfig extends React.FC<unknown> {
|
|
14
|
-
AddWidget: typeof AddWidget;
|
|
15
|
-
DashboardRenderer: typeof DashboardRenderer;
|
|
16
|
-
}
|
|
17
|
-
export declare const DashboardConfig: DashboardConfig;
|
|
18
|
-
declare const DashboardRenderer: import("@webiny/react-composition").ComposableFC<unknown>;
|
|
19
|
-
interface DashboardViewProps {
|
|
20
|
-
onProperties(properties: Property[]): void;
|
|
21
|
-
}
|
|
22
|
-
export declare const App: React.FC<DashboardViewProps>;
|
|
23
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
interface SettingsGroupProps {
|
|
3
|
-
name: string;
|
|
4
|
-
title?: string;
|
|
5
|
-
icon?: string;
|
|
6
|
-
remove?: boolean;
|
|
7
|
-
replace?: string;
|
|
8
|
-
}
|
|
9
|
-
interface FormFieldProps extends Record<string, unknown> {
|
|
10
|
-
name: string;
|
|
11
|
-
component?: string;
|
|
12
|
-
after?: string;
|
|
13
|
-
remove?: boolean;
|
|
14
|
-
replace?: string;
|
|
15
|
-
}
|
|
16
|
-
declare const PageSettingsView: React.FC<import("./createConfigurableView").ViewProps>;
|
|
17
|
-
declare const PageSettingsConfig: React.FC<{}> & {
|
|
18
|
-
FormField: React.FC<FormFieldProps>;
|
|
19
|
-
SettingsGroup: React.FC<SettingsGroupProps>;
|
|
20
|
-
};
|
|
21
|
-
export { PageSettingsView, PageSettingsConfig };
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
import { Property } from "../../../src/index";
|
|
3
|
-
export interface ViewProps {
|
|
4
|
-
onProperties?(properties: Property[]): void;
|
|
5
|
-
}
|
|
6
|
-
export declare function createConfigurableView(name: string): {
|
|
7
|
-
View: React.FC<ViewProps>;
|
|
8
|
-
Config: React.FC<{}>;
|
|
9
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/__tests__/setupEnv.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
declare const randomFillSync: any;
|
package/__tests__/utils.d.ts
DELETED
package/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./utils\";\nexport * from \"./Properties\";\n"],"mappings":";;;;;;AAAA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AACA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
|
package/src/Properties.d.ts
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
export interface Property {
|
|
3
|
-
id: string;
|
|
4
|
-
parent: string;
|
|
5
|
-
name: string;
|
|
6
|
-
value: unknown;
|
|
7
|
-
array?: boolean;
|
|
8
|
-
}
|
|
9
|
-
interface AddPropertyOptions {
|
|
10
|
-
after?: string;
|
|
11
|
-
before?: string;
|
|
12
|
-
}
|
|
13
|
-
interface PropertiesContext {
|
|
14
|
-
properties: Property[];
|
|
15
|
-
getObject<T = unknown>(): T;
|
|
16
|
-
addProperty(property: Property, options?: AddPropertyOptions): void;
|
|
17
|
-
removeProperty(id: string): void;
|
|
18
|
-
replaceProperty(id: string, property: Property): void;
|
|
19
|
-
}
|
|
20
|
-
declare const PropertiesContext: React.Context<PropertiesContext | undefined>;
|
|
21
|
-
interface PropertiesProps {
|
|
22
|
-
onChange?(properties: Property[]): void;
|
|
23
|
-
}
|
|
24
|
-
export declare const Properties: React.FC<PropertiesProps>;
|
|
25
|
-
export declare function useProperties(): PropertiesContext;
|
|
26
|
-
interface PropertyProps {
|
|
27
|
-
id?: string;
|
|
28
|
-
name: string;
|
|
29
|
-
value?: unknown;
|
|
30
|
-
array?: boolean;
|
|
31
|
-
after?: string;
|
|
32
|
-
before?: string;
|
|
33
|
-
replace?: string;
|
|
34
|
-
remove?: boolean;
|
|
35
|
-
}
|
|
36
|
-
export declare function useParentProperty(): Property | undefined;
|
|
37
|
-
export declare const Property: React.FC<PropertyProps>;
|
|
38
|
-
export {};
|
package/src/index.d.ts
DELETED
package/src/utils.d.ts
DELETED