@progress/kendo-react-pivotgrid 9.0.0-develop.2 → 9.0.0-develop.4
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/PivotGrid.js +1 -1
- package/PivotGrid.mjs +15 -15
- package/README.md +25 -23
- package/components/AxesEditor.mjs +29 -22
- package/components/AxisEditor.mjs +104 -78
- package/components/AxisFilterFieldsEditor.mjs +104 -116
- package/components/Cell.mjs +1 -4
- package/components/Column.mjs +1 -4
- package/components/Configurator.mjs +80 -88
- package/components/ConfiguratorButton.mjs +8 -13
- package/components/ConfiguratorEditor.mjs +50 -19
- package/components/Container.mjs +30 -25
- package/components/FieldsEditor.js +1 -1
- package/components/FieldsEditor.mjs +56 -54
- package/components/HeaderCell.mjs +55 -50
- package/components/Row.mjs +2 -8
- package/dist/cdn/js/kendo-react-pivotgrid.js +1 -1
- package/hooks/useExpansion.js +1 -1
- package/hooks/usePivotConfiguratorEditor.mjs +1 -6
- package/hooks/usePivotLocalDataService.mjs +17 -10
- package/hooks/usePivotOLAPService.js +1 -1
- package/hooks/usePivotOLAPService.mjs +22 -22
- package/package-metadata.mjs +1 -1
- package/package.json +9 -9
- package/shared/PivotGridConfiguratorEditorStateContext.mjs +13 -15
- package/utils/index.js +1 -1
- package/utils/index.mjs +14 -16
|
@@ -5,4 +5,4 @@
|
|
|
5
5
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
|
-
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const H=require("react"),d=require("@progress/kendo-pivotgrid-common"),$=require("@progress/kendo-react-common");function B(e){const l=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const i in e)if(i!=="default"){const h=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(l,i,h.get?h:{enumerable:!0,get:()=>e[i]})}}return l.default=e,Object.freeze(l)}const m=B(H),y=e=>{const[l,i]=m.useState(!0),[h,O]=m.useState({data:[],columns:[],rows:[]}),[q,v]=m.useState([]),[f,b]=m.useState(e.defaultColumnAxes||[]),[x,A]=m.useState(e.defaultRowAxes||[]),[p,N]=m.useState(e.defaultMeasureAxes||[]),[S,U]=m.useState(e.defaultSort||[]),[g,D]=m.useState(e.defaultFilter||[]),C=t=>{A(t.value)},P=t=>{b(t.value)},M=t=>{N(t.value)},E=t=>{U(t.value)},I=t=>{D(t.value)};m.useEffect(()=>{i(!0);const t={connection:{catalog:e.catalog,cube:e.cube},columnAxes:f.slice(),rowAxes:x.slice(),measureAxes:p,sort:S,filter:g};setTimeout(()=>{d.fetchData({url:e.url},$.clone(t)).then(d.createDataState).then(o=>{O(o),i(!1)})})},[f,x,p,g,S,e.cube,e.catalog,e.url]),m.useEffect(()=>{i(!0);const t={connection:{catalog:e.catalog,cube:e.cube},restrictions:{catalogName:e.catalog,cubeName:e.cube},command:"schemaDimensions"};d.fetchDiscover({url:e.url},t).then(o=>{d.addKPI(o),v(o),i(!1)})},[e.catalog,e.cube,e.url]);const w=(t=[],o)=>{for(let n=0;n<t.length;n++){const c=t[n];if(String(c.name)===String(o.name))return c}return null},F=(t=[],o)=>{for(let n=0;n<t.length;n++){const c=t[n];if(c.uniqueName===o.uniqueName)return c;
|
|
8
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const H=require("react"),d=require("@progress/kendo-pivotgrid-common"),$=require("@progress/kendo-react-common");function B(e){const l=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const i in e)if(i!=="default"){const h=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(l,i,h.get?h:{enumerable:!0,get:()=>e[i]})}}return l.default=e,Object.freeze(l)}const m=B(H),y=e=>{const[l,i]=m.useState(!0),[h,O]=m.useState({data:[],columns:[],rows:[]}),[q,v]=m.useState([]),[f,b]=m.useState(e.defaultColumnAxes||[]),[x,A]=m.useState(e.defaultRowAxes||[]),[p,N]=m.useState(e.defaultMeasureAxes||[]),[S,U]=m.useState(e.defaultSort||[]),[g,D]=m.useState(e.defaultFilter||[]),C=t=>{A(t.value)},P=t=>{b(t.value)},M=t=>{N(t.value)},E=t=>{U(t.value)},I=t=>{D(t.value)};m.useEffect(()=>{i(!0);const t={connection:{catalog:e.catalog,cube:e.cube},columnAxes:f.slice(),rowAxes:x.slice(),measureAxes:p,sort:S,filter:g};setTimeout(()=>{d.fetchData({url:e.url},$.clone(t)).then(d.createDataState).then(o=>{O(o),i(!1)})})},[f,x,p,g,S,e.cube,e.catalog,e.url]),m.useEffect(()=>{i(!0);const t={connection:{catalog:e.catalog,cube:e.cube},restrictions:{catalogName:e.catalog,cubeName:e.cube},command:"schemaDimensions"};d.fetchDiscover({url:e.url},t).then(o=>{d.addKPI(o),v(o),i(!1)})},[e.catalog,e.cube,e.url]);const w=(t=[],o)=>{for(let n=0;n<t.length;n++){const c=t[n];if(String(c.name)===String(o.name))return c}return null},F=(t=[],o)=>{for(let n=0;n<t.length;n++){const c=t[n];if(c.uniqueName===o.uniqueName)return c;const a=F(c.children,o);if(a!==null)return a}return null},L=async t=>{let o,n,c,a,s,u;t.name&&(o="schemaMembers",a=`${String(t.name)}.[(ALL)]`);const r={connection:{catalog:e.catalog,cube:e.cube},restrictions:{catalogName:e.catalog,cubeName:e.cube,hierarchyUniqueName:c,dimensionUniqueName:n,levelUniqueName:a,memberUniqueName:s,treeOp:u},command:o};return d.fetchDiscover({url:e.url},r)},R=async t=>{let o,n,c,a,s,u;t.uniqueName&&(o="schemaMembers",s=t.uniqueName.replace(/\&/g,"&"),u=1);const r={connection:{catalog:e.catalog,cube:e.cube},restrictions:{catalogName:e.catalog,cubeName:e.cube,hierarchyUniqueName:c,dimensionUniqueName:n,levelUniqueName:a,memberUniqueName:s,treeOp:u},command:o};return d.fetchDiscover({url:e.url},r)},K=async t=>{let o,n,c,a,s,u;t.type===2?o="schemaMeasures":t.dimensionUniqueName?(o="schemaLevels",c=t.uniqueName):(o="schemaHierarchies",n=t.uniqueName);const r={connection:{catalog:e.catalog,cube:e.cube},restrictions:{catalogName:e.catalog,cubeName:e.cube,hierarchyUniqueName:c,dimensionUniqueName:n,levelUniqueName:a,memberUniqueName:s,treeOp:u},command:o};return d.fetchDiscover({url:e.url},r)},j=async()=>{const t={connection:{catalog:e.catalog,cube:e.cube},restrictions:{catalogName:e.catalog,cubeName:e.cube},command:"schemaKPIs"};return d.fetchDiscover({url:e.url},t)},k=async t=>{const o=q.slice(),n=F(o,t.value);if(n&&n.uniqueName==="[KPIs]"){const c=J(await j());n.children=c}else if(n&&n.type==="kpi")n.children=d.buildKPIMeasures(n);else if(n&&!n.children){const c=await K(n);n.children=c}v(o)},T=async t=>{if(!t)return;const o={rowAxes:[x,A],columnAxes:[f,b],measureAxes:[p,N]},[n,c]=o[t.target.props.axes],a=n.slice(),s=w(a,t.target.props.dataItem);if(s&&!s.fields){const u=await L(s);s.fields=u,c(a)}},_=async t=>{if(!t)return;const o={rowAxes:[x,A],columnAxes:[f,b],measureAxes:[p,N]},[n,c]=o[t.target.props.axes],a=n.slice(),s=w(a,t.target.props.dataItem);if(s){const u=(s.fields||[]).slice(),r=F(u,t.value);if(r&&(!r.children||!r.children.length)){const z=await R(r);r.children=z,s.fields=u,c(a)}}};return{pivotProps:{rowAxes:x,columnAxes:f,data:h.data,rows:h.rows,columns:h.columns,onRowAxesChange:C,onColumnAxesChange:P},configuratorProps:{sort:S,onSortChange:E,filter:g,onFilterChange:I,data:q,rowAxes:x,columnAxes:f,measureAxes:p,onRowAxesChange:C,onColumnAxesChange:P,onMeasureAxesChange:M,onFieldsEditorFieldExpand:k,onAxisFilterFieldExpand:_,onAxisFilterFieldsExpandChange:T},state:{loading:l}}},G=e=>{const l=y(e);return e.children(l)},J=e=>{for(let l=0,i=e.length;l<i;l++)e[l].uniqueName=e[l].name,e[l].type="kpi";return e};exports.PivotOLAPService=G;exports.usePivotOLAPService=y;
|
|
@@ -68,14 +68,14 @@ const Q = (e) => {
|
|
|
68
68
|
const a = t[n];
|
|
69
69
|
if (a.uniqueName === o.uniqueName)
|
|
70
70
|
return a;
|
|
71
|
-
|
|
72
|
-
if (
|
|
73
|
-
return
|
|
71
|
+
const c = S(a.children, o);
|
|
72
|
+
if (c !== null)
|
|
73
|
+
return c;
|
|
74
74
|
}
|
|
75
75
|
return null;
|
|
76
76
|
}, L = async (t) => {
|
|
77
|
-
let o, n, a,
|
|
78
|
-
t.name && (o = "schemaMembers",
|
|
77
|
+
let o, n, a, c, l, s;
|
|
78
|
+
t.name && (o = "schemaMembers", c = `${String(t.name)}.[(ALL)]`);
|
|
79
79
|
const i = {
|
|
80
80
|
connection: {
|
|
81
81
|
catalog: e.catalog,
|
|
@@ -86,16 +86,16 @@ const Q = (e) => {
|
|
|
86
86
|
cubeName: e.cube,
|
|
87
87
|
hierarchyUniqueName: a,
|
|
88
88
|
dimensionUniqueName: n,
|
|
89
|
-
levelUniqueName:
|
|
90
|
-
memberUniqueName:
|
|
89
|
+
levelUniqueName: c,
|
|
90
|
+
memberUniqueName: l,
|
|
91
91
|
treeOp: s
|
|
92
92
|
},
|
|
93
93
|
command: o
|
|
94
94
|
};
|
|
95
95
|
return f({ url: e.url }, i);
|
|
96
96
|
}, R = async (t) => {
|
|
97
|
-
let o, n, a,
|
|
98
|
-
t.uniqueName && (o = "schemaMembers",
|
|
97
|
+
let o, n, a, c, l, s;
|
|
98
|
+
t.uniqueName && (o = "schemaMembers", l = t.uniqueName.replace(/\&/g, "&"), s = 1);
|
|
99
99
|
const i = {
|
|
100
100
|
connection: {
|
|
101
101
|
catalog: e.catalog,
|
|
@@ -106,15 +106,15 @@ const Q = (e) => {
|
|
|
106
106
|
cubeName: e.cube,
|
|
107
107
|
hierarchyUniqueName: a,
|
|
108
108
|
dimensionUniqueName: n,
|
|
109
|
-
levelUniqueName:
|
|
110
|
-
memberUniqueName:
|
|
109
|
+
levelUniqueName: c,
|
|
110
|
+
memberUniqueName: l,
|
|
111
111
|
treeOp: s
|
|
112
112
|
},
|
|
113
113
|
command: o
|
|
114
114
|
};
|
|
115
115
|
return f({ url: e.url }, i);
|
|
116
116
|
}, D = async (t) => {
|
|
117
|
-
let o, n, a,
|
|
117
|
+
let o, n, a, c, l, s;
|
|
118
118
|
t.type === 2 ? o = "schemaMeasures" : t.dimensionUniqueName ? (o = "schemaLevels", a = t.uniqueName) : (o = "schemaHierarchies", n = t.uniqueName);
|
|
119
119
|
const i = {
|
|
120
120
|
connection: {
|
|
@@ -126,8 +126,8 @@ const Q = (e) => {
|
|
|
126
126
|
cubeName: e.cube,
|
|
127
127
|
hierarchyUniqueName: a,
|
|
128
128
|
dimensionUniqueName: n,
|
|
129
|
-
levelUniqueName:
|
|
130
|
-
memberUniqueName:
|
|
129
|
+
levelUniqueName: c,
|
|
130
|
+
memberUniqueName: l,
|
|
131
131
|
treeOp: s
|
|
132
132
|
},
|
|
133
133
|
command: o
|
|
@@ -165,10 +165,10 @@ const Q = (e) => {
|
|
|
165
165
|
rowAxes: [h, b],
|
|
166
166
|
columnAxes: [d, A],
|
|
167
167
|
measureAxes: [x, N]
|
|
168
|
-
}, [n, a] = o[t.target.props.axes],
|
|
169
|
-
if (
|
|
170
|
-
const s = await L(
|
|
171
|
-
|
|
168
|
+
}, [n, a] = o[t.target.props.axes], c = n.slice(), l = P(c, t.target.props.dataItem);
|
|
169
|
+
if (l && !l.fields) {
|
|
170
|
+
const s = await L(l);
|
|
171
|
+
l.fields = s, a(c);
|
|
172
172
|
}
|
|
173
173
|
}, H = async (t) => {
|
|
174
174
|
if (!t)
|
|
@@ -177,12 +177,12 @@ const Q = (e) => {
|
|
|
177
177
|
rowAxes: [h, b],
|
|
178
178
|
columnAxes: [d, A],
|
|
179
179
|
measureAxes: [x, N]
|
|
180
|
-
}, [n, a] = o[t.target.props.axes],
|
|
181
|
-
if (
|
|
182
|
-
const s = (
|
|
180
|
+
}, [n, a] = o[t.target.props.axes], c = n.slice(), l = P(c, t.target.props.dataItem);
|
|
181
|
+
if (l) {
|
|
182
|
+
const s = (l.fields || []).slice(), i = S(s, t.value);
|
|
183
183
|
if (i && (!i.children || !i.children.length)) {
|
|
184
184
|
const T = await R(i);
|
|
185
|
-
i.children = T,
|
|
185
|
+
i.children = T, l.fields = s, a(c);
|
|
186
186
|
}
|
|
187
187
|
}
|
|
188
188
|
};
|
package/package-metadata.mjs
CHANGED
|
@@ -10,7 +10,7 @@ const e = {
|
|
|
10
10
|
name: "@progress/kendo-react-pivotgrid",
|
|
11
11
|
productName: "KendoReact",
|
|
12
12
|
productCodes: ["KENDOUIREACT", "KENDOUICOMPLETE"],
|
|
13
|
-
publishDate:
|
|
13
|
+
publishDate: 1729499694,
|
|
14
14
|
version: "",
|
|
15
15
|
licensingDocsUrl: "https://www.telerik.com/kendo-react-ui/components/my-license/"
|
|
16
16
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@progress/kendo-react-pivotgrid",
|
|
3
|
-
"version": "9.0.0-develop.
|
|
3
|
+
"version": "9.0.0-develop.4",
|
|
4
4
|
"description": "React PivotGrid (also called Pivot Table) can be data-bound to an OLAP service and customized extensively. KendoReact PivotGrid package",
|
|
5
5
|
"author": "Progress",
|
|
6
6
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
@@ -25,14 +25,14 @@
|
|
|
25
25
|
"@progress/kendo-data-query": "^1.5.5",
|
|
26
26
|
"@progress/kendo-licensing": "^1.3.4",
|
|
27
27
|
"@progress/kendo-pivotgrid-common": "0.6.0",
|
|
28
|
-
"@progress/kendo-react-buttons": "9.0.0-develop.
|
|
29
|
-
"@progress/kendo-react-common": "9.0.0-develop.
|
|
30
|
-
"@progress/kendo-react-data-tools": "9.0.0-develop.
|
|
31
|
-
"@progress/kendo-react-form": "9.0.0-develop.
|
|
32
|
-
"@progress/kendo-react-indicators": "9.0.0-develop.
|
|
33
|
-
"@progress/kendo-react-intl": "9.0.0-develop.
|
|
34
|
-
"@progress/kendo-react-labels": "9.0.0-develop.
|
|
35
|
-
"@progress/kendo-react-treeview": "9.0.0-develop.
|
|
28
|
+
"@progress/kendo-react-buttons": "9.0.0-develop.4",
|
|
29
|
+
"@progress/kendo-react-common": "9.0.0-develop.4",
|
|
30
|
+
"@progress/kendo-react-data-tools": "9.0.0-develop.4",
|
|
31
|
+
"@progress/kendo-react-form": "9.0.0-develop.4",
|
|
32
|
+
"@progress/kendo-react-indicators": "9.0.0-develop.4",
|
|
33
|
+
"@progress/kendo-react-intl": "9.0.0-develop.4",
|
|
34
|
+
"@progress/kendo-react-labels": "9.0.0-develop.4",
|
|
35
|
+
"@progress/kendo-react-treeview": "9.0.0-develop.4",
|
|
36
36
|
"@progress/kendo-svg-icons": "^3.0.0",
|
|
37
37
|
"react": "^16.8.2 || ^17.0.0 || ^18.0.0",
|
|
38
38
|
"react-dom": "^16.8.2 || ^17.0.0 || ^18.0.0"
|
|
@@ -8,21 +8,19 @@
|
|
|
8
8
|
"use client";
|
|
9
9
|
import * as o from "react";
|
|
10
10
|
import { noop as e } from "@progress/kendo-react-common";
|
|
11
|
-
const r = o.createContext(
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
]
|
|
25
|
-
);
|
|
11
|
+
const r = o.createContext([
|
|
12
|
+
{
|
|
13
|
+
expanded: [],
|
|
14
|
+
rowAxes: [],
|
|
15
|
+
columnAxes: [],
|
|
16
|
+
measureAxes: [],
|
|
17
|
+
dragItem: null,
|
|
18
|
+
dropZone: null,
|
|
19
|
+
dropDirection: null,
|
|
20
|
+
dropTarget: null
|
|
21
|
+
},
|
|
22
|
+
e
|
|
23
|
+
]);
|
|
26
24
|
export {
|
|
27
25
|
r as PivotGridConfiguratorEditorStateContext
|
|
28
26
|
};
|
package/utils/index.js
CHANGED
|
@@ -5,4 +5,4 @@
|
|
|
5
5
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
|
-
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
8
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("@progress/kendo-pivotgrid-common"),g=(e,t,r)=>{const n=JSON.parse(JSON.stringify(e||[])),a=JSON.parse(JSON.stringify(t||[])),o=JSON.parse(JSON.stringify(r||[])),s=c.toTree(n),[,u,d]=c.toRows(s),f=c.toTree(a),[,p,,m]=c.toColumns(f);return c.toData(o,p,u,m,d)},h=(e=[],t={},r=null)=>e.map(n=>{const a={dataItem:n};return Object.keys(t).forEach(o=>{a[o]=t[o](a,r)}),a}),i=(e=[])=>{let t=[...e];return(e||[]).forEach(r=>{t=t.concat(i(r.children))}),t},y=(e=[])=>{const t=new Set;return e.forEach(r=>{t.add(String(r.name))}),Array.from(t)},l=(e=[])=>`${e.join(",")}`,O=(e,t)=>`${l(e.map(r=>r.name))}|${l(t.map(r=>r.name))}`,S=(e,t,r)=>{if(!e)return;let n=0,a;const o=e.length;let s;for(;n<o;n++)s=e[n].operator,s===r&&e[n].field===t&&(a=e[n]);return a},F=(e,t,r)=>{if(!e)return[];let n=0;const a=[],o=e.length;let s;for(;n<o;n++)s=e[n].operator,(!r&&s!=="in"||s===r)&&e[n].field===t&&a.push(e[n]);return a},N=(e,t)=>e.uniqueName===t.uniqueName;exports.compareFields=N;exports.dataCells=g;exports.extractDefaultFields=y;exports.findFilter=S;exports.findFilters=F;exports.flatMap=i;exports.generateDataKey=O;exports.generateKey=l;exports.recursiveMap=h;
|
package/utils/index.mjs
CHANGED
|
@@ -8,18 +8,12 @@
|
|
|
8
8
|
"use client";
|
|
9
9
|
import { toTree as c, toRows as f, toColumns as h, toData as g } from "@progress/kendo-pivotgrid-common";
|
|
10
10
|
const S = (e, t, r) => {
|
|
11
|
-
const n = JSON.parse(JSON.stringify(e || [])), o = JSON.parse(JSON.stringify(t || [])),
|
|
12
|
-
return g(
|
|
13
|
-
a,
|
|
14
|
-
d,
|
|
15
|
-
u,
|
|
16
|
-
m,
|
|
17
|
-
i
|
|
18
|
-
);
|
|
11
|
+
const n = JSON.parse(JSON.stringify(e || [])), o = JSON.parse(JSON.stringify(t || [])), s = JSON.parse(JSON.stringify(r || [])), a = c(n), [, u, i] = f(a), p = c(o), [, d, , m] = h(p);
|
|
12
|
+
return g(s, d, u, m, i);
|
|
19
13
|
}, w = (e = [], t = {}, r = null) => e.map((n) => {
|
|
20
14
|
const o = { dataItem: n };
|
|
21
|
-
return Object.keys(t).forEach((
|
|
22
|
-
o[
|
|
15
|
+
return Object.keys(t).forEach((s) => {
|
|
16
|
+
o[s] = t[s](o, r);
|
|
23
17
|
}), o;
|
|
24
18
|
}), O = (e = []) => {
|
|
25
19
|
let t = [...e];
|
|
@@ -34,16 +28,20 @@ const S = (e, t, r) => {
|
|
|
34
28
|
}, l = (e = []) => `${e.join(",")}`, J = (e, t) => `${l(e.map((r) => r.name))}|${l(t.map((r) => r.name))}`, D = (e, t, r) => {
|
|
35
29
|
if (!e)
|
|
36
30
|
return;
|
|
37
|
-
let n = 0, o
|
|
38
|
-
|
|
39
|
-
|
|
31
|
+
let n = 0, o;
|
|
32
|
+
const s = e.length;
|
|
33
|
+
let a;
|
|
34
|
+
for (; n < s; n++)
|
|
35
|
+
a = e[n].operator, a === r && e[n].field === t && (o = e[n]);
|
|
40
36
|
return o;
|
|
41
37
|
}, x = (e, t, r) => {
|
|
42
38
|
if (!e)
|
|
43
39
|
return [];
|
|
44
|
-
let n = 0
|
|
45
|
-
|
|
46
|
-
|
|
40
|
+
let n = 0;
|
|
41
|
+
const o = [], s = e.length;
|
|
42
|
+
let a;
|
|
43
|
+
for (; n < s; n++)
|
|
44
|
+
a = e[n].operator, (!r && a !== "in" || a === r) && e[n].field === t && o.push(e[n]);
|
|
47
45
|
return o;
|
|
48
46
|
}, F = (e, t) => e.uniqueName === t.uniqueName;
|
|
49
47
|
export {
|