@wix/auto-patterns 1.2.0 → 1.3.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/dist/cjs/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.js +31 -7
- package/dist/cjs/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.js.map +1 -1
- package/dist/cjs/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.js +83 -12
- package/dist/cjs/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.js.map +1 -1
- package/dist/cjs/config/ConfigFactory.js +1 -1
- package/dist/cjs/config/ConfigFactory.js.map +1 -1
- package/dist/cjs/config/cms/CmsCompositeConfig.js +75 -0
- package/dist/cjs/config/cms/CmsCompositeConfig.js.map +1 -0
- package/dist/cjs/config/cms/filterUtils.js +82 -0
- package/dist/cjs/config/cms/filterUtils.js.map +1 -0
- package/dist/cjs/config/cms/sortUtils.js +32 -0
- package/dist/cjs/config/cms/sortUtils.js.map +1 -0
- package/dist/cjs/hooks/useColumns.js +98 -19
- package/dist/cjs/hooks/useColumns.js.map +1 -1
- package/dist/cjs/hooks/useEmptyStates.js +55 -0
- package/dist/cjs/hooks/useEmptyStates.js.map +1 -0
- package/dist/cjs/hooks/useFeatures.js +10 -1
- package/dist/cjs/hooks/useFeatures.js.map +1 -1
- package/dist/cjs/hooks/useFetchData.js +23 -0
- package/dist/cjs/hooks/useFetchData.js.map +1 -0
- package/dist/cjs/hooks/useFilters.js +103 -78
- package/dist/cjs/hooks/useFilters.js.map +1 -1
- package/dist/cjs/hooks/useTableProps.js +13 -1
- package/dist/cjs/hooks/useTableProps.js.map +1 -1
- package/dist/cjs/providers/PatternsWizardOverridesContext.js +1 -1
- package/dist/cjs/providers/PatternsWizardOverridesContext.js.map +1 -1
- package/dist/cjs/types.js +1 -9
- package/dist/cjs/types.js.map +1 -1
- package/dist/esm/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.js +10 -3
- package/dist/esm/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.js.map +1 -1
- package/dist/esm/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.js +55 -9
- package/dist/esm/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.js.map +1 -1
- package/dist/esm/config/ConfigFactory.js +1 -1
- package/dist/esm/config/ConfigFactory.js.map +1 -1
- package/dist/esm/config/cms/CmsCompositeConfig.js +69 -0
- package/dist/esm/config/cms/CmsCompositeConfig.js.map +1 -0
- package/dist/esm/config/cms/filterUtils.js +79 -0
- package/dist/esm/config/cms/filterUtils.js.map +1 -0
- package/dist/esm/config/cms/sortUtils.js +29 -0
- package/dist/esm/config/cms/sortUtils.js.map +1 -0
- package/dist/esm/hooks/useColumns.js +98 -19
- package/dist/esm/hooks/useColumns.js.map +1 -1
- package/dist/esm/hooks/useEmptyStates.js +41 -0
- package/dist/esm/hooks/useEmptyStates.js.map +1 -0
- package/dist/esm/hooks/useFeatures.js +4 -2
- package/dist/esm/hooks/useFeatures.js.map +1 -1
- package/dist/esm/hooks/useFetchData.js +18 -0
- package/dist/esm/hooks/useFetchData.js.map +1 -0
- package/dist/esm/hooks/useFilters.js +101 -76
- package/dist/esm/hooks/useFilters.js.map +1 -1
- package/dist/esm/hooks/useTableProps.js +13 -1
- package/dist/esm/hooks/useTableProps.js.map +1 -1
- package/dist/esm/providers/PatternsWizardOverridesContext.js +1 -1
- package/dist/esm/providers/PatternsWizardOverridesContext.js.map +1 -1
- package/dist/esm/types.js +0 -8
- package/dist/esm/types.js.map +1 -1
- package/dist/types/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.d.ts.map +1 -1
- package/dist/types/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.d.ts.map +1 -1
- package/dist/types/config/cms/CmsCompositeConfig.d.ts +7 -0
- package/dist/types/config/cms/CmsCompositeConfig.d.ts.map +1 -0
- package/dist/types/config/cms/filterUtils.d.ts +16 -0
- package/dist/types/config/cms/filterUtils.d.ts.map +1 -0
- package/dist/types/config/cms/sortUtils.d.ts +9 -0
- package/dist/types/config/cms/sortUtils.d.ts.map +1 -0
- package/dist/types/hooks/useColumns.d.ts.map +1 -1
- package/dist/types/hooks/useEmptyStates.d.ts +5 -0
- package/dist/types/hooks/useEmptyStates.d.ts.map +1 -0
- package/dist/types/hooks/useFeatures.d.ts +1 -0
- package/dist/types/hooks/useFeatures.d.ts.map +1 -1
- package/dist/types/hooks/useFetchData.d.ts +4 -0
- package/dist/types/hooks/useFetchData.d.ts.map +1 -0
- package/dist/types/hooks/useFilters.d.ts +2 -1
- package/dist/types/hooks/useFilters.d.ts.map +1 -1
- package/dist/types/hooks/useTableProps.d.ts +9 -4
- package/dist/types/hooks/useTableProps.d.ts.map +1 -1
- package/dist/types/providers/PatternsWizardOverridesContext.d.ts +7 -2
- package/dist/types/providers/PatternsWizardOverridesContext.d.ts.map +1 -1
- package/dist/types/types.d.ts +87 -23
- package/dist/types/types.d.ts.map +1 -1
- package/package.json +14 -14
- package/dist/cjs/config/CmsCompositeConfig.js +0 -85
- package/dist/cjs/config/CmsCompositeConfig.js.map +0 -1
- package/dist/esm/config/CmsCompositeConfig.js +0 -80
- package/dist/esm/config/CmsCompositeConfig.js.map +0 -1
- package/dist/types/config/CmsCompositeConfig.d.ts +0 -6
- package/dist/types/config/CmsCompositeConfig.d.ts.map +0 -1
|
@@ -3,39 +3,118 @@
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
4
|
exports.useColumns = void 0;
|
|
5
5
|
var _providers = require("../providers");
|
|
6
|
-
var _types = require("../types");
|
|
7
6
|
var _lodash = require("lodash");
|
|
8
7
|
const useColumns = () => {
|
|
9
8
|
const {
|
|
10
9
|
page: {
|
|
11
10
|
columns = []
|
|
11
|
+
},
|
|
12
|
+
schema: {
|
|
13
|
+
fields
|
|
12
14
|
}
|
|
13
15
|
} = (0, _providers.useConfig)();
|
|
14
16
|
const overrides = (0, _providers.usePatternsWizardOverridesContext)();
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
const itemValue = (0, _lodash.get)(item, column.id);
|
|
24
|
-
return (overrides == null || (_overrides$columns = overrides.columns) == null || (_overrides$columns$ca = _overrides$columns[(0, _lodash.camelCase)(column.id)]) == null ? void 0 : _overrides$columns$ca.call(_overrides$columns, {
|
|
25
|
-
value: itemValue
|
|
26
|
-
})) ?? createRenderer(column, itemValue);
|
|
17
|
+
const existingColumns = columns.filter(column => {
|
|
18
|
+
return !!fields[column.id];
|
|
19
|
+
});
|
|
20
|
+
return existingColumns.map(column => {
|
|
21
|
+
var _fieldDefinition$capa;
|
|
22
|
+
const fieldDefinition = fields[column.id];
|
|
23
|
+
if (!fieldDefinition) {
|
|
24
|
+
return null;
|
|
27
25
|
}
|
|
28
|
-
|
|
26
|
+
const sortable = column.sortable && (fieldDefinition == null || (_fieldDefinition$capa = fieldDefinition.capabilities) == null ? void 0 : _fieldDefinition$capa.sortable);
|
|
27
|
+
const baseColumnConfig = {
|
|
28
|
+
id: column.id,
|
|
29
|
+
title: column.name || fieldDefinition.displayName,
|
|
30
|
+
...(column.width ? {
|
|
31
|
+
width: column.width
|
|
32
|
+
} : {}),
|
|
33
|
+
...createSortConfiguration(column, sortable),
|
|
34
|
+
...createCustomColumnConfiguration(column),
|
|
35
|
+
render: item => {
|
|
36
|
+
var _overrides$columns, _overrides$columns$ca;
|
|
37
|
+
const itemValue = (0, _lodash.get)(item, column.id);
|
|
38
|
+
return (overrides == null || (_overrides$columns = overrides.columns) == null || (_overrides$columns$ca = _overrides$columns[(0, _lodash.camelCase)(column.id)]) == null ? void 0 : _overrides$columns$ca.call(_overrides$columns, {
|
|
39
|
+
value: itemValue
|
|
40
|
+
})) ?? createRenderer(fieldDefinition, itemValue);
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
return baseColumnConfig;
|
|
44
|
+
}).filter(Boolean);
|
|
29
45
|
};
|
|
30
46
|
exports.useColumns = useColumns;
|
|
31
|
-
const createRenderer = (
|
|
32
|
-
|
|
33
|
-
|
|
47
|
+
const createRenderer = (fieldDefinition, itemValue) => {
|
|
48
|
+
if (itemValue == null) {
|
|
49
|
+
return '';
|
|
50
|
+
}
|
|
51
|
+
switch (fieldDefinition.type) {
|
|
52
|
+
case 'BOOLEAN':
|
|
34
53
|
return itemValue ? '✔' : '✖';
|
|
35
|
-
case
|
|
36
|
-
|
|
54
|
+
case 'DATE':
|
|
55
|
+
if (itemValue instanceof Date) {
|
|
56
|
+
return itemValue.toLocaleDateString();
|
|
57
|
+
}
|
|
58
|
+
if (typeof itemValue === 'string') {
|
|
59
|
+
const date = new Date(itemValue);
|
|
60
|
+
return date.toLocaleDateString();
|
|
61
|
+
}
|
|
62
|
+
return itemValue;
|
|
63
|
+
case 'DATETIME':
|
|
64
|
+
if (itemValue instanceof Date) {
|
|
65
|
+
return itemValue.toLocaleString();
|
|
66
|
+
}
|
|
67
|
+
if (typeof itemValue === 'string') {
|
|
68
|
+
const date = new Date(itemValue);
|
|
69
|
+
return date.toLocaleString();
|
|
70
|
+
}
|
|
71
|
+
return itemValue;
|
|
72
|
+
case 'ARRAY':
|
|
73
|
+
// We assume that the array contains strings
|
|
74
|
+
// If the array contains objects, we need to handle it differently
|
|
75
|
+
return itemValue.join(', ');
|
|
37
76
|
default:
|
|
38
77
|
return itemValue;
|
|
39
78
|
}
|
|
40
79
|
};
|
|
80
|
+
const createSortConfiguration = (column, sortable) => {
|
|
81
|
+
if (!sortable) {
|
|
82
|
+
return {};
|
|
83
|
+
}
|
|
84
|
+
const sortableColumnConfig = {
|
|
85
|
+
sortable,
|
|
86
|
+
defaultSortOrder: column.defaultSortOrder
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
// default sort mode is ['asc', 'desc', undefined]
|
|
90
|
+
// so if sort mode is 'desc' -> we want to override the default
|
|
91
|
+
// and set it to ['desc', 'asc', undefined]
|
|
92
|
+
if (column.sortMode && column.sortMode === 'desc') {
|
|
93
|
+
return {
|
|
94
|
+
...sortableColumnConfig,
|
|
95
|
+
sortMode: ['desc', 'asc', undefined]
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
return {
|
|
99
|
+
...sortableColumnConfig
|
|
100
|
+
};
|
|
101
|
+
};
|
|
102
|
+
const createCustomColumnConfiguration = column => {
|
|
103
|
+
const reorderDisabled = !!column.reorderDisabled;
|
|
104
|
+
if (column.hiddenFromCustomColumnsSelection) {
|
|
105
|
+
return {
|
|
106
|
+
hiddenFromCustomColumnsSelection: true
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
if (column.hideable === false) {
|
|
110
|
+
return {
|
|
111
|
+
hideable: false,
|
|
112
|
+
reorderDisabled
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
return {
|
|
116
|
+
defaultHidden: !!column.defaultHidden,
|
|
117
|
+
reorderDisabled
|
|
118
|
+
};
|
|
119
|
+
};
|
|
41
120
|
//# sourceMappingURL=useColumns.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_providers","require","
|
|
1
|
+
{"version":3,"names":["_providers","require","_lodash","useColumns","page","columns","schema","fields","useConfig","overrides","usePatternsWizardOverridesContext","existingColumns","filter","column","id","map","_fieldDefinition$capa","fieldDefinition","sortable","capabilities","baseColumnConfig","title","name","displayName","width","createSortConfiguration","createCustomColumnConfiguration","render","item","_overrides$columns","_overrides$columns$ca","itemValue","get","camelCase","call","value","createRenderer","Boolean","exports","type","Date","toLocaleDateString","date","toLocaleString","join","sortableColumnConfig","defaultSortOrder","sortMode","undefined","reorderDisabled","hiddenFromCustomColumnsSelection","hideable","defaultHidden"],"sources":["../../../src/hooks/useColumns.ts"],"sourcesContent":["import { TableColumn } from '@wix/patterns';\nimport { useConfig, usePatternsWizardOverridesContext } from '../providers';\nimport { Column, Field } from '../types';\nimport { camelCase, get } from 'lodash';\n\nexport const useColumns = (): TableColumn<any>[] => {\n const {\n page: { columns = [] },\n schema: { fields },\n } = useConfig();\n\n const overrides = usePatternsWizardOverridesContext();\n\n const existingColumns = columns.filter((column) => {\n return !!fields[column.id];\n });\n\n return existingColumns\n .map((column) => {\n const fieldDefinition = fields[column.id];\n if (!fieldDefinition) {\n return null;\n }\n const sortable =\n column.sortable && fieldDefinition?.capabilities?.sortable;\n\n const baseColumnConfig = {\n id: column.id,\n title: column.name || fieldDefinition.displayName,\n ...(column.width ? { width: column.width } : {}),\n ...createSortConfiguration(column, sortable),\n ...createCustomColumnConfiguration(column),\n render: (item: any) => {\n const itemValue = get(item, column.id);\n return (\n overrides?.columns?.[camelCase(column.id)]?.({\n value: itemValue,\n }) ?? createRenderer(fieldDefinition, itemValue)\n );\n },\n };\n\n return baseColumnConfig;\n })\n .filter(Boolean) as TableColumn<any>[];\n};\n\nconst createRenderer = (fieldDefinition: Field, itemValue: any): string => {\n if (itemValue == null) {\n return '';\n }\n\n switch (fieldDefinition.type) {\n case 'BOOLEAN':\n return itemValue ? '✔' : '✖';\n case 'DATE':\n if (itemValue instanceof Date) {\n return itemValue.toLocaleDateString();\n }\n if (typeof itemValue === 'string') {\n const date = new Date(itemValue);\n return date.toLocaleDateString();\n }\n return itemValue;\n case 'DATETIME':\n if (itemValue instanceof Date) {\n return itemValue.toLocaleString();\n }\n if (typeof itemValue === 'string') {\n const date = new Date(itemValue);\n return date.toLocaleString();\n }\n return itemValue;\n case 'ARRAY':\n // We assume that the array contains strings\n // If the array contains objects, we need to handle it differently\n return itemValue.join(', ');\n default:\n return itemValue;\n }\n};\n\nconst createSortConfiguration = (\n column: Column,\n sortable?: boolean,\n): Partial<TableColumn<any>> => {\n if (!sortable) {\n return {};\n }\n const sortableColumnConfig = {\n sortable,\n defaultSortOrder: column.defaultSortOrder,\n };\n\n // default sort mode is ['asc', 'desc', undefined]\n // so if sort mode is 'desc' -> we want to override the default\n // and set it to ['desc', 'asc', undefined]\n if (column.sortMode && column.sortMode === 'desc') {\n return {\n ...sortableColumnConfig,\n sortMode: ['desc', 'asc', undefined],\n };\n }\n return {\n ...sortableColumnConfig,\n };\n};\n\nconst createCustomColumnConfiguration = (\n column: Column,\n): Partial<TableColumn<any>> => {\n const reorderDisabled = !!column.reorderDisabled;\n\n if (column.hiddenFromCustomColumnsSelection) {\n return { hiddenFromCustomColumnsSelection: true };\n }\n if (column.hideable === false) {\n return {\n hideable: false,\n reorderDisabled,\n };\n }\n return {\n defaultHidden: !!column.defaultHidden,\n reorderDisabled,\n };\n};\n"],"mappings":";;;;AACA,IAAAA,UAAA,GAAAC,OAAA;AAEA,IAAAC,OAAA,GAAAD,OAAA;AAEO,MAAME,UAAU,GAAGA,CAAA,KAA0B;EAClD,MAAM;IACJC,IAAI,EAAE;MAAEC,OAAO,GAAG;IAAG,CAAC;IACtBC,MAAM,EAAE;MAAEC;IAAO;EACnB,CAAC,GAAG,IAAAC,oBAAS,EAAC,CAAC;EAEf,MAAMC,SAAS,GAAG,IAAAC,4CAAiC,EAAC,CAAC;EAErD,MAAMC,eAAe,GAAGN,OAAO,CAACO,MAAM,CAAEC,MAAM,IAAK;IACjD,OAAO,CAAC,CAACN,MAAM,CAACM,MAAM,CAACC,EAAE,CAAC;EAC5B,CAAC,CAAC;EAEF,OAAOH,eAAe,CACnBI,GAAG,CAAEF,MAAM,IAAK;IAAA,IAAAG,qBAAA;IACf,MAAMC,eAAe,GAAGV,MAAM,CAACM,MAAM,CAACC,EAAE,CAAC;IACzC,IAAI,CAACG,eAAe,EAAE;MACpB,OAAO,IAAI;IACb;IACA,MAAMC,QAAQ,GACZL,MAAM,CAACK,QAAQ,KAAID,eAAe,aAAAD,qBAAA,GAAfC,eAAe,CAAEE,YAAY,qBAA7BH,qBAAA,CAA+BE,QAAQ;IAE5D,MAAME,gBAAgB,GAAG;MACvBN,EAAE,EAAED,MAAM,CAACC,EAAE;MACbO,KAAK,EAAER,MAAM,CAACS,IAAI,IAAIL,eAAe,CAACM,WAAW;MACjD,IAAIV,MAAM,CAACW,KAAK,GAAG;QAAEA,KAAK,EAAEX,MAAM,CAACW;MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;MAChD,GAAGC,uBAAuB,CAACZ,MAAM,EAAEK,QAAQ,CAAC;MAC5C,GAAGQ,+BAA+B,CAACb,MAAM,CAAC;MAC1Cc,MAAM,EAAGC,IAAS,IAAK;QAAA,IAAAC,kBAAA,EAAAC,qBAAA;QACrB,MAAMC,SAAS,GAAG,IAAAC,WAAG,EAACJ,IAAI,EAAEf,MAAM,CAACC,EAAE,CAAC;QACtC,OACE,CAAAL,SAAS,aAAAoB,kBAAA,GAATpB,SAAS,CAAEJ,OAAO,cAAAyB,qBAAA,GAAlBD,kBAAA,CAAqB,IAAAI,iBAAS,EAACpB,MAAM,CAACC,EAAE,CAAC,CAAC,qBAA1CgB,qBAAA,CAAAI,IAAA,CAAAL,kBAAA,EAA6C;UAC3CM,KAAK,EAAEJ;QACT,CAAC,CAAC,KAAIK,cAAc,CAACnB,eAAe,EAAEc,SAAS,CAAC;MAEpD;IACF,CAAC;IAED,OAAOX,gBAAgB;EACzB,CAAC,CAAC,CACDR,MAAM,CAACyB,OAAO,CAAC;AACpB,CAAC;AAACC,OAAA,CAAAnC,UAAA,GAAAA,UAAA;AAEF,MAAMiC,cAAc,GAAGA,CAACnB,eAAsB,EAAEc,SAAc,KAAa;EACzE,IAAIA,SAAS,IAAI,IAAI,EAAE;IACrB,OAAO,EAAE;EACX;EAEA,QAAQd,eAAe,CAACsB,IAAI;IAC1B,KAAK,SAAS;MACZ,OAAOR,SAAS,GAAG,GAAG,GAAG,GAAG;IAC9B,KAAK,MAAM;MACT,IAAIA,SAAS,YAAYS,IAAI,EAAE;QAC7B,OAAOT,SAAS,CAACU,kBAAkB,CAAC,CAAC;MACvC;MACA,IAAI,OAAOV,SAAS,KAAK,QAAQ,EAAE;QACjC,MAAMW,IAAI,GAAG,IAAIF,IAAI,CAACT,SAAS,CAAC;QAChC,OAAOW,IAAI,CAACD,kBAAkB,CAAC,CAAC;MAClC;MACA,OAAOV,SAAS;IAClB,KAAK,UAAU;MACb,IAAIA,SAAS,YAAYS,IAAI,EAAE;QAC7B,OAAOT,SAAS,CAACY,cAAc,CAAC,CAAC;MACnC;MACA,IAAI,OAAOZ,SAAS,KAAK,QAAQ,EAAE;QACjC,MAAMW,IAAI,GAAG,IAAIF,IAAI,CAACT,SAAS,CAAC;QAChC,OAAOW,IAAI,CAACC,cAAc,CAAC,CAAC;MAC9B;MACA,OAAOZ,SAAS;IAClB,KAAK,OAAO;MACV;MACA;MACA,OAAOA,SAAS,CAACa,IAAI,CAAC,IAAI,CAAC;IAC7B;MACE,OAAOb,SAAS;EACpB;AACF,CAAC;AAED,MAAMN,uBAAuB,GAAGA,CAC9BZ,MAAc,EACdK,QAAkB,KACY;EAC9B,IAAI,CAACA,QAAQ,EAAE;IACb,OAAO,CAAC,CAAC;EACX;EACA,MAAM2B,oBAAoB,GAAG;IAC3B3B,QAAQ;IACR4B,gBAAgB,EAAEjC,MAAM,CAACiC;EAC3B,CAAC;;EAED;EACA;EACA;EACA,IAAIjC,MAAM,CAACkC,QAAQ,IAAIlC,MAAM,CAACkC,QAAQ,KAAK,MAAM,EAAE;IACjD,OAAO;MACL,GAAGF,oBAAoB;MACvBE,QAAQ,EAAE,CAAC,MAAM,EAAE,KAAK,EAAEC,SAAS;IACrC,CAAC;EACH;EACA,OAAO;IACL,GAAGH;EACL,CAAC;AACH,CAAC;AAED,MAAMnB,+BAA+B,GACnCb,MAAc,IACgB;EAC9B,MAAMoC,eAAe,GAAG,CAAC,CAACpC,MAAM,CAACoC,eAAe;EAEhD,IAAIpC,MAAM,CAACqC,gCAAgC,EAAE;IAC3C,OAAO;MAAEA,gCAAgC,EAAE;IAAK,CAAC;EACnD;EACA,IAAIrC,MAAM,CAACsC,QAAQ,KAAK,KAAK,EAAE;IAC7B,OAAO;MACLA,QAAQ,EAAE,KAAK;MACfF;IACF,CAAC;EACH;EACA,OAAO;IACLG,aAAa,EAAE,CAAC,CAACvC,MAAM,CAACuC,aAAa;IACrCH;EACF,CAAC;AACH,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
exports.__esModule = true;
|
|
5
|
+
exports.useEmptyStates = void 0;
|
|
6
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _patterns = require("@wix/patterns");
|
|
9
|
+
var _providers = require("../providers");
|
|
10
|
+
var _jsxFileName = "/home/builduser/work/73d19ce3378ce4dd/packages/auto-patterns/dist/cjs/hooks/useEmptyStates.tsx";
|
|
11
|
+
const useEmptyStates = () => {
|
|
12
|
+
var _emptyState$addNewCta, _overrides$emptyState, _emptyState$addNewCta2, _emptyState$addNewCta3, _emptyState$addNewCta4, _emptyState$customCta, _overrides$emptyState2, _emptyState$customCta2, _emptyState$image, _overrides$emptyState3, _emptyState$image2;
|
|
13
|
+
const {
|
|
14
|
+
page: {
|
|
15
|
+
emptyState = undefined
|
|
16
|
+
}
|
|
17
|
+
} = (0, _providers.useConfig)();
|
|
18
|
+
const {
|
|
19
|
+
title,
|
|
20
|
+
subtitle
|
|
21
|
+
} = emptyState || {};
|
|
22
|
+
const overrides = (0, _providers.usePatternsWizardOverridesContext)();
|
|
23
|
+
const onClick = emptyState != null && (_emptyState$addNewCta = emptyState.addNewCta) != null && _emptyState$addNewCta.id ? overrides == null || (_overrides$emptyState = overrides.emptyState) == null ? void 0 : _overrides$emptyState[emptyState == null || (_emptyState$addNewCta2 = emptyState.addNewCta) == null ? void 0 : _emptyState$addNewCta2.id] : undefined;
|
|
24
|
+
const addNewCta = onClick ? {
|
|
25
|
+
addNewCta: {
|
|
26
|
+
...(emptyState != null && (_emptyState$addNewCta3 = emptyState.addNewCta) != null && _emptyState$addNewCta3.text ? {
|
|
27
|
+
text: emptyState == null || (_emptyState$addNewCta4 = emptyState.addNewCta) == null ? void 0 : _emptyState$addNewCta4.text
|
|
28
|
+
} : {}),
|
|
29
|
+
onClick
|
|
30
|
+
}
|
|
31
|
+
} : {};
|
|
32
|
+
const _customCta = emptyState != null && (_emptyState$customCta = emptyState.customCta) != null && _emptyState$customCta.id ? overrides == null || (_overrides$emptyState2 = overrides.emptyState) == null ? void 0 : _overrides$emptyState2[emptyState == null || (_emptyState$customCta2 = emptyState.customCta) == null ? void 0 : _emptyState$customCta2.id] : undefined;
|
|
33
|
+
const customCta = _customCta ? {
|
|
34
|
+
customCta: _customCta()
|
|
35
|
+
} : {};
|
|
36
|
+
const _image = emptyState != null && (_emptyState$image = emptyState.image) != null && _emptyState$image.id ? overrides == null || (_overrides$emptyState3 = overrides.emptyState) == null ? void 0 : _overrides$emptyState3[emptyState == null || (_emptyState$image2 = emptyState.image) == null ? void 0 : _emptyState$image2.id] : undefined;
|
|
37
|
+
const image = _image ? {
|
|
38
|
+
image: _image()
|
|
39
|
+
} : {};
|
|
40
|
+
return {
|
|
41
|
+
emptyState: /*#__PURE__*/_react.default.createElement(_patterns.CollectionEmptyState, (0, _extends2.default)({
|
|
42
|
+
title: title,
|
|
43
|
+
subtitle: subtitle
|
|
44
|
+
}, addNewCta, customCta, image, {
|
|
45
|
+
__self: void 0,
|
|
46
|
+
__source: {
|
|
47
|
+
fileName: _jsxFileName,
|
|
48
|
+
lineNumber: 49,
|
|
49
|
+
columnNumber: 7
|
|
50
|
+
}
|
|
51
|
+
}))
|
|
52
|
+
};
|
|
53
|
+
};
|
|
54
|
+
exports.useEmptyStates = useEmptyStates;
|
|
55
|
+
//# sourceMappingURL=useEmptyStates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_patterns","_providers","_jsxFileName","useEmptyStates","_emptyState$addNewCta","_overrides$emptyState","_emptyState$addNewCta2","_emptyState$addNewCta3","_emptyState$addNewCta4","_emptyState$customCta","_overrides$emptyState2","_emptyState$customCta2","_emptyState$image","_overrides$emptyState3","_emptyState$image2","page","emptyState","undefined","useConfig","title","subtitle","overrides","usePatternsWizardOverridesContext","onClick","addNewCta","id","text","_customCta","customCta","_image","image","default","createElement","CollectionEmptyState","_extends2","__self","__source","fileName","lineNumber","columnNumber","exports"],"sources":["../../../src/hooks/useEmptyStates.tsx"],"sourcesContent":["import React from 'react';\nimport { CollectionEmptyState } from '@wix/patterns';\nimport { useConfig, usePatternsWizardOverridesContext } from '../providers';\n\nexport const useEmptyStates = () => {\n const {\n page: { emptyState = undefined },\n } = useConfig();\n const { title, subtitle } = emptyState || {};\n\n const overrides = usePatternsWizardOverridesContext();\n\n const onClick = emptyState?.addNewCta?.id\n ? overrides?.emptyState?.[emptyState?.addNewCta?.id]\n : undefined;\n const addNewCta = onClick\n ? {\n addNewCta: {\n ...(emptyState?.addNewCta?.text\n ? { text: emptyState?.addNewCta?.text }\n : {}),\n onClick,\n },\n }\n : {};\n\n const _customCta = emptyState?.customCta?.id\n ? overrides?.emptyState?.[emptyState?.customCta?.id]\n : undefined;\n\n const customCta = _customCta\n ? {\n customCta: _customCta(),\n }\n : {};\n\n const _image = emptyState?.image?.id\n ? overrides?.emptyState?.[emptyState?.image?.id]\n : undefined;\n\n const image = _image\n ? {\n image: _image(),\n }\n : {};\n\n return {\n emptyState: (\n <CollectionEmptyState\n title={title}\n subtitle={subtitle}\n {...addNewCta}\n {...customCta}\n {...image}\n />\n ),\n };\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AAA4E,IAAAG,YAAA;AAErE,MAAMC,cAAc,GAAGA,CAAA,KAAM;EAAA,IAAAC,qBAAA,EAAAC,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,iBAAA,EAAAC,sBAAA,EAAAC,kBAAA;EAClC,MAAM;IACJC,IAAI,EAAE;MAAEC,UAAU,GAAGC;IAAU;EACjC,CAAC,GAAG,IAAAC,oBAAS,EAAC,CAAC;EACf,MAAM;IAAEC,KAAK;IAAEC;EAAS,CAAC,GAAGJ,UAAU,IAAI,CAAC,CAAC;EAE5C,MAAMK,SAAS,GAAG,IAAAC,4CAAiC,EAAC,CAAC;EAErD,MAAMC,OAAO,GAAGP,UAAU,aAAAZ,qBAAA,GAAVY,UAAU,CAAEQ,SAAS,aAArBpB,qBAAA,CAAuBqB,EAAE,GACrCJ,SAAS,aAAAhB,qBAAA,GAATgB,SAAS,CAAEL,UAAU,qBAArBX,qBAAA,CAAwBW,UAAU,aAAAV,sBAAA,GAAVU,UAAU,CAAEQ,SAAS,qBAArBlB,sBAAA,CAAuBmB,EAAE,CAAC,GAClDR,SAAS;EACb,MAAMO,SAAS,GAAGD,OAAO,GACrB;IACEC,SAAS,EAAE;MACT,IAAIR,UAAU,aAAAT,sBAAA,GAAVS,UAAU,CAAEQ,SAAS,aAArBjB,sBAAA,CAAuBmB,IAAI,GAC3B;QAAEA,IAAI,EAAEV,UAAU,aAAAR,sBAAA,GAAVQ,UAAU,CAAEQ,SAAS,qBAArBhB,sBAAA,CAAuBkB;MAAK,CAAC,GACrC,CAAC,CAAC,CAAC;MACPH;IACF;EACF,CAAC,GACD,CAAC,CAAC;EAEN,MAAMI,UAAU,GAAGX,UAAU,aAAAP,qBAAA,GAAVO,UAAU,CAAEY,SAAS,aAArBnB,qBAAA,CAAuBgB,EAAE,GACxCJ,SAAS,aAAAX,sBAAA,GAATW,SAAS,CAAEL,UAAU,qBAArBN,sBAAA,CAAwBM,UAAU,aAAAL,sBAAA,GAAVK,UAAU,CAAEY,SAAS,qBAArBjB,sBAAA,CAAuBc,EAAE,CAAC,GAClDR,SAAS;EAEb,MAAMW,SAAS,GAAGD,UAAU,GACxB;IACEC,SAAS,EAAED,UAAU,CAAC;EACxB,CAAC,GACD,CAAC,CAAC;EAEN,MAAME,MAAM,GAAGb,UAAU,aAAAJ,iBAAA,GAAVI,UAAU,CAAEc,KAAK,aAAjBlB,iBAAA,CAAmBa,EAAE,GAChCJ,SAAS,aAAAR,sBAAA,GAATQ,SAAS,CAAEL,UAAU,qBAArBH,sBAAA,CAAwBG,UAAU,aAAAF,kBAAA,GAAVE,UAAU,CAAEc,KAAK,qBAAjBhB,kBAAA,CAAmBW,EAAE,CAAC,GAC9CR,SAAS;EAEb,MAAMa,KAAK,GAAGD,MAAM,GAChB;IACEC,KAAK,EAAED,MAAM,CAAC;EAChB,CAAC,GACD,CAAC,CAAC;EAEN,OAAO;IACLb,UAAU,eACRnB,MAAA,CAAAkC,OAAA,CAAAC,aAAA,CAAChC,SAAA,CAAAiC,oBAAoB,MAAAC,SAAA,CAAAH,OAAA;MACnBZ,KAAK,EAAEA,KAAM;MACbC,QAAQ,EAAEA;IAAS,GACfI,SAAS,EACTI,SAAS,EACTE,KAAK;MAAAK,MAAA;MAAAC,QAAA;QAAAC,QAAA,EAAAnC,YAAA;QAAAoC,UAAA;QAAAC,YAAA;MAAA;IAAA,EACV;EAEL,CAAC;AACH,CAAC;AAACC,OAAA,CAAArC,cAAA,GAAAA,cAAA","ignoreList":[]}
|
|
@@ -14,7 +14,8 @@ const useFeatures = () => {
|
|
|
14
14
|
} = (0, _providers.useConfig)();
|
|
15
15
|
const {
|
|
16
16
|
views,
|
|
17
|
-
customFields
|
|
17
|
+
customFields,
|
|
18
|
+
customColumns
|
|
18
19
|
} = page;
|
|
19
20
|
const filters = (0, _useFilters.useFilters)(page);
|
|
20
21
|
return {
|
|
@@ -34,6 +35,14 @@ const useFeatures = () => {
|
|
|
34
35
|
columnNumber: 44
|
|
35
36
|
}
|
|
36
37
|
}) : undefined,
|
|
38
|
+
customColumns: customColumns != null && customColumns.enabled ? /*#__PURE__*/_react.default.createElement(_patterns.CustomColumns, {
|
|
39
|
+
__self: void 0,
|
|
40
|
+
__source: {
|
|
41
|
+
fileName: _jsxFileName,
|
|
42
|
+
lineNumber: 14,
|
|
43
|
+
columnNumber: 45
|
|
44
|
+
}
|
|
45
|
+
}) : undefined,
|
|
37
46
|
filters
|
|
38
47
|
};
|
|
39
48
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_patterns","_providers","_useFilters","_jsxFileName","useFeatures","page","useConfig","views","customFields","filters","useFilters","enabled","default","createElement","Views","__self","__source","fileName","lineNumber","columnNumber","undefined","dataExtension","DataExtension","exports"],"sources":["../../../src/hooks/useFeatures.tsx"],"sourcesContent":["import React from 'react';\nimport { Views, DataExtension } from '@wix/patterns';\nimport { useConfig } from '../providers';\nimport { useFilters } from './useFilters';\n\nexport const useFeatures = () => {\n const { page } = useConfig();\n const { views, customFields } = page;\n const filters = useFilters(page);\n\n return {\n views: views?.enabled ? <Views /> : undefined,\n dataExtension: customFields?.enabled ? <DataExtension /> : undefined,\n filters,\n };\n};\n"],"mappings":";;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AAA0C,IAAAI,YAAA;AAEnC,MAAMC,WAAW,GAAGA,CAAA,KAAM;EAC/B,MAAM;IAAEC;EAAK,CAAC,GAAG,IAAAC,oBAAS,EAAC,CAAC;EAC5B,MAAM;IAAEC,KAAK;IAAEC;
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_patterns","_providers","_useFilters","_jsxFileName","useFeatures","page","useConfig","views","customFields","customColumns","filters","useFilters","enabled","default","createElement","Views","__self","__source","fileName","lineNumber","columnNumber","undefined","dataExtension","DataExtension","CustomColumns","exports"],"sources":["../../../src/hooks/useFeatures.tsx"],"sourcesContent":["import React from 'react';\nimport { Views, DataExtension, CustomColumns } from '@wix/patterns';\nimport { useConfig } from '../providers';\nimport { useFilters } from './useFilters';\n\nexport const useFeatures = () => {\n const { page } = useConfig();\n const { views, customFields, customColumns } = page;\n const filters = useFilters(page);\n\n return {\n views: views?.enabled ? <Views /> : undefined,\n dataExtension: customFields?.enabled ? <DataExtension /> : undefined,\n customColumns: customColumns?.enabled ? <CustomColumns /> : undefined,\n filters,\n };\n};\n"],"mappings":";;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AAA0C,IAAAI,YAAA;AAEnC,MAAMC,WAAW,GAAGA,CAAA,KAAM;EAC/B,MAAM;IAAEC;EAAK,CAAC,GAAG,IAAAC,oBAAS,EAAC,CAAC;EAC5B,MAAM;IAAEC,KAAK;IAAEC,YAAY;IAAEC;EAAc,CAAC,GAAGJ,IAAI;EACnD,MAAMK,OAAO,GAAG,IAAAC,sBAAU,EAACN,IAAI,CAAC;EAEhC,OAAO;IACLE,KAAK,EAAEA,KAAK,YAALA,KAAK,CAAEK,OAAO,gBAAGf,MAAA,CAAAgB,OAAA,CAAAC,aAAA,CAACd,SAAA,CAAAe,KAAK;MAAAC,MAAA;MAAAC,QAAA;QAAAC,QAAA,EAAAf,YAAA;QAAAgB,UAAA;QAAAC,YAAA;MAAA;IAAA,CAAE,CAAC,GAAGC,SAAS;IAC7CC,aAAa,EAAEd,YAAY,YAAZA,YAAY,CAAEI,OAAO,gBAAGf,MAAA,CAAAgB,OAAA,CAAAC,aAAA,CAACd,SAAA,CAAAuB,aAAa;MAAAP,MAAA;MAAAC,QAAA;QAAAC,QAAA,EAAAf,YAAA;QAAAgB,UAAA;QAAAC,YAAA;MAAA;IAAA,CAAE,CAAC,GAAGC,SAAS;IACpEZ,aAAa,EAAEA,aAAa,YAAbA,aAAa,CAAEG,OAAO,gBAAGf,MAAA,CAAAgB,OAAA,CAAAC,aAAA,CAACd,SAAA,CAAAwB,aAAa;MAAAR,MAAA;MAAAC,QAAA;QAAAC,QAAA,EAAAf,YAAA;QAAAgB,UAAA;QAAAC,YAAA;MAAA;IAAA,CAAE,CAAC,GAAGC,SAAS;IACrEX;EACF,CAAC;AACH,CAAC;AAACe,OAAA,CAAArB,WAAA,GAAAA,WAAA","ignoreList":[]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.useFetchData = void 0;
|
|
5
|
+
var _providers = require("../providers");
|
|
6
|
+
const useFetchData = () => {
|
|
7
|
+
var _overrides$fetchData;
|
|
8
|
+
const {
|
|
9
|
+
page: {
|
|
10
|
+
fetchData: fetchDataOverride = undefined
|
|
11
|
+
},
|
|
12
|
+
collection: {
|
|
13
|
+
fetchData: defaultFetchData
|
|
14
|
+
}
|
|
15
|
+
} = (0, _providers.useConfig)();
|
|
16
|
+
const overrides = (0, _providers.usePatternsWizardOverridesContext)();
|
|
17
|
+
const fetchData = fetchDataOverride != null && fetchDataOverride.id ? (overrides == null || (_overrides$fetchData = overrides.fetchData) == null ? void 0 : _overrides$fetchData[fetchDataOverride.id]) ?? defaultFetchData : defaultFetchData;
|
|
18
|
+
return {
|
|
19
|
+
fetchData
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
exports.useFetchData = useFetchData;
|
|
23
|
+
//# sourceMappingURL=useFetchData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_providers","require","useFetchData","_overrides$fetchData","page","fetchData","fetchDataOverride","undefined","collection","defaultFetchData","useConfig","overrides","usePatternsWizardOverridesContext","id","exports"],"sources":["../../../src/hooks/useFetchData.tsx"],"sourcesContent":["import { useConfig, usePatternsWizardOverridesContext } from '../providers';\n\nexport const useFetchData = () => {\n const {\n page: { fetchData: fetchDataOverride = undefined },\n collection: { fetchData: defaultFetchData },\n } = useConfig();\n\n const overrides = usePatternsWizardOverridesContext();\n\n const fetchData = fetchDataOverride?.id\n ? overrides?.fetchData?.[fetchDataOverride.id] ?? defaultFetchData\n : defaultFetchData;\n\n return {\n fetchData,\n };\n};\n"],"mappings":";;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAEO,MAAMC,YAAY,GAAGA,CAAA,KAAM;EAAA,IAAAC,oBAAA;EAChC,MAAM;IACJC,IAAI,EAAE;MAAEC,SAAS,EAAEC,iBAAiB,GAAGC;IAAU,CAAC;IAClDC,UAAU,EAAE;MAAEH,SAAS,EAAEI;IAAiB;EAC5C,CAAC,GAAG,IAAAC,oBAAS,EAAC,CAAC;EAEf,MAAMC,SAAS,GAAG,IAAAC,4CAAiC,EAAC,CAAC;EAErD,MAAMP,SAAS,GAAGC,iBAAiB,YAAjBA,iBAAiB,CAAEO,EAAE,GACnC,CAAAF,SAAS,aAAAR,oBAAA,GAATQ,SAAS,CAAEN,SAAS,qBAApBF,oBAAA,CAAuBG,iBAAiB,CAACO,EAAE,CAAC,KAAIJ,gBAAgB,GAChEA,gBAAgB;EAEpB,OAAO;IACLJ;EACF,CAAC;AACH,CAAC;AAACS,OAAA,CAAAZ,YAAA,GAAAA,YAAA","ignoreList":[]}
|
|
@@ -5,98 +5,115 @@ exports.__esModule = true;
|
|
|
5
5
|
exports.useFilters = void 0;
|
|
6
6
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
7
7
|
var _react = _interopRequireDefault(require("react"));
|
|
8
|
-
var _lodash = _interopRequireDefault(require("lodash"));
|
|
9
8
|
var _patterns = require("@wix/patterns");
|
|
9
|
+
var _providers = require("../providers");
|
|
10
10
|
var _jsxFileName = "/home/builduser/work/73d19ce3378ce4dd/packages/auto-patterns/dist/cjs/hooks/useFilters.tsx";
|
|
11
11
|
const useFilters = config => {
|
|
12
|
+
const {
|
|
13
|
+
schema
|
|
14
|
+
} = (0, _providers.useConfig)();
|
|
12
15
|
const filters = _react.default.useMemo(() => {
|
|
13
16
|
var _config$filters;
|
|
14
17
|
const currFilters = [];
|
|
15
|
-
(_config$filters = config.filters) == null || _config$filters.forEach(filter => {
|
|
16
|
-
var _filter$
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
(_config$filters = config.filters) == null || _config$filters.items.forEach(filter => {
|
|
19
|
+
var _filter$dateConfig, _filter$dateConfig2, _filter$dateConfig3, _filter$numberConfig, _filter$numberConfig2, _filter$numberConfig3;
|
|
20
|
+
const {
|
|
21
|
+
fieldId: key
|
|
22
|
+
} = filter;
|
|
23
|
+
const fieldDefinition = schema.fields[key];
|
|
24
|
+
if (!fieldDefinition) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
const label = filter.displayName || fieldDefinition.displayName;
|
|
28
|
+
const {
|
|
29
|
+
initiallyOpen,
|
|
30
|
+
sectionTitle
|
|
31
|
+
} = filter.accordionItemProps || {};
|
|
32
|
+
const {
|
|
33
|
+
toolbarTagProps
|
|
34
|
+
} = filter;
|
|
35
|
+
const commonFilterProps = {
|
|
36
|
+
accordionItemProps: {
|
|
37
|
+
label,
|
|
38
|
+
initiallyOpen,
|
|
39
|
+
sectionTitle
|
|
40
|
+
},
|
|
41
|
+
toolbarItemProps: {
|
|
42
|
+
label
|
|
43
|
+
},
|
|
44
|
+
toolbarTagProps
|
|
45
|
+
};
|
|
46
|
+
switch (fieldDefinition.type) {
|
|
47
|
+
case 'DATE':
|
|
48
|
+
case 'DATETIME':
|
|
20
49
|
currFilters.push({
|
|
21
50
|
key,
|
|
22
51
|
filter: (0, _patterns.dateRangeFilter)(),
|
|
23
52
|
component: _patterns.DateRangeFilter,
|
|
24
53
|
props: {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
});
|
|
30
|
-
break;
|
|
31
|
-
case 'multi-select':
|
|
32
|
-
currFilters.push({
|
|
33
|
-
key,
|
|
34
|
-
filter: (0, _patterns.idNameArrayFilter)(),
|
|
35
|
-
component: _patterns.MultiSelectCheckboxFilter,
|
|
36
|
-
collectionData: ((_filter$static = filter.static) == null ? void 0 : _filter$static.values.map(value => {
|
|
37
|
-
return {
|
|
38
|
-
id: value.id,
|
|
39
|
-
name: value.value
|
|
40
|
-
};
|
|
41
|
-
})) ?? [],
|
|
42
|
-
props: {
|
|
43
|
-
accordionItemProps: {
|
|
44
|
-
label: filter.displayName
|
|
45
|
-
},
|
|
46
|
-
popoverProps: {
|
|
47
|
-
appendTo: 'window'
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
});
|
|
51
|
-
break;
|
|
52
|
-
case 'single':
|
|
53
|
-
currFilters.push({
|
|
54
|
-
key,
|
|
55
|
-
filter: (0, _patterns.idNameArrayFilter)(),
|
|
56
|
-
component: _patterns.SingleSelectFilter,
|
|
57
|
-
collectionData: ((_filter$static2 = filter.static) == null ? void 0 : _filter$static2.values.map(value => {
|
|
58
|
-
return {
|
|
59
|
-
id: value.id,
|
|
60
|
-
name: value.value
|
|
61
|
-
};
|
|
62
|
-
})) ?? [],
|
|
63
|
-
props: {
|
|
64
|
-
placeholder: `Select ${filter.displayName}`,
|
|
65
|
-
accordionItemProps: {
|
|
66
|
-
label: filter.displayName
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
});
|
|
70
|
-
break;
|
|
71
|
-
case 'radio-group':
|
|
72
|
-
currFilters.push({
|
|
73
|
-
key,
|
|
74
|
-
filter: (0, _patterns.idNameArrayFilter)(),
|
|
75
|
-
component: _patterns.RadioGroupFilter,
|
|
76
|
-
props: {
|
|
77
|
-
accordionItemProps: {
|
|
78
|
-
label: filter.displayName
|
|
79
|
-
},
|
|
80
|
-
data: ((_filter$static3 = filter.static) == null ? void 0 : _filter$static3.values.map(value => {
|
|
81
|
-
return {
|
|
82
|
-
id: value.id,
|
|
83
|
-
name: value.value
|
|
84
|
-
};
|
|
85
|
-
})) ?? []
|
|
54
|
+
...commonFilterProps,
|
|
55
|
+
mode: (_filter$dateConfig = filter.dateConfig) == null ? void 0 : _filter$dateConfig.mode,
|
|
56
|
+
dateRangeOptions: (_filter$dateConfig2 = filter.dateConfig) == null ? void 0 : _filter$dateConfig2.dateRangeOptions,
|
|
57
|
+
filterByTime: (_filter$dateConfig3 = filter.dateConfig) == null ? void 0 : _filter$dateConfig3.filterByTime
|
|
86
58
|
}
|
|
87
59
|
});
|
|
88
60
|
break;
|
|
89
|
-
case '
|
|
61
|
+
// case 'multi-select':
|
|
62
|
+
// currFilters.push({
|
|
63
|
+
// key,
|
|
64
|
+
// filter: idNameArrayFilter(),
|
|
65
|
+
// component: MultiSelectCheckboxFilter,
|
|
66
|
+
// collectionData:
|
|
67
|
+
// filter.static?.values.map((value) => {
|
|
68
|
+
// return { id: value.id, name: value.value };
|
|
69
|
+
// }) ?? [],
|
|
70
|
+
// props: {
|
|
71
|
+
// accordionItemProps: { label: filter.displayName },
|
|
72
|
+
// popoverProps: { appendTo: 'window' },
|
|
73
|
+
// },
|
|
74
|
+
// });
|
|
75
|
+
|
|
76
|
+
// break;
|
|
77
|
+
// case 'single':
|
|
78
|
+
// currFilters.push({
|
|
79
|
+
// key,
|
|
80
|
+
// filter: idNameArrayFilter(),
|
|
81
|
+
// component: SingleSelectFilter,
|
|
82
|
+
// collectionData:
|
|
83
|
+
// filter.static?.values.map((value) => {
|
|
84
|
+
// return { id: value.id, name: value.value };
|
|
85
|
+
// }) ?? [],
|
|
86
|
+
// props: {
|
|
87
|
+
// placeholder: `Select ${filter.displayName}`,
|
|
88
|
+
// accordionItemProps: { label: filter.displayName },
|
|
89
|
+
// },
|
|
90
|
+
// });
|
|
91
|
+
|
|
92
|
+
// break;
|
|
93
|
+
// case 'radio-group':
|
|
94
|
+
// currFilters.push({
|
|
95
|
+
// key,
|
|
96
|
+
// filter: idNameArrayFilter(),
|
|
97
|
+
// component: RadioGroupFilter,
|
|
98
|
+
// props: {
|
|
99
|
+
// accordionItemProps: { label: filter.displayName },
|
|
100
|
+
// data:
|
|
101
|
+
// filter.static?.values.map((value) => {
|
|
102
|
+
// return { id: value.id, name: value.value };
|
|
103
|
+
// }) ?? [],
|
|
104
|
+
// },
|
|
105
|
+
// });
|
|
106
|
+
|
|
107
|
+
// break;
|
|
108
|
+
case 'NUMBER':
|
|
90
109
|
currFilters.push({
|
|
91
110
|
key,
|
|
92
111
|
filter: (0, _patterns.numberRangeFilter)(),
|
|
93
112
|
component: _patterns.NumberRangeFilter,
|
|
94
113
|
props: {
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
min: ((_filter$numberConfig = filter.numberConfig) == null ? void 0 : _filter$numberConfig.min) ?? 0,
|
|
99
|
-
max: ((_filter$numberConfig2 = filter.numberConfig) == null ? void 0 : _filter$numberConfig2.max) ?? 100,
|
|
114
|
+
...commonFilterProps,
|
|
115
|
+
min: (_filter$numberConfig = filter.numberConfig) == null ? void 0 : _filter$numberConfig.min,
|
|
116
|
+
max: (_filter$numberConfig2 = filter.numberConfig) == null ? void 0 : _filter$numberConfig2.max,
|
|
100
117
|
decimal: (_filter$numberConfig3 = filter.numberConfig) == null ? void 0 : _filter$numberConfig3.decimal
|
|
101
118
|
}
|
|
102
119
|
});
|
|
@@ -104,7 +121,7 @@ const useFilters = config => {
|
|
|
104
121
|
}
|
|
105
122
|
});
|
|
106
123
|
return currFilters;
|
|
107
|
-
}, [config.filters]);
|
|
124
|
+
}, [config.filters, schema.fields]);
|
|
108
125
|
const FilterCollectionComponent = ({
|
|
109
126
|
filter
|
|
110
127
|
}) => {
|
|
@@ -120,11 +137,18 @@ const useFilters = config => {
|
|
|
120
137
|
__self: void 0,
|
|
121
138
|
__source: {
|
|
122
139
|
fileName: _jsxFileName,
|
|
123
|
-
lineNumber:
|
|
140
|
+
lineNumber: 149,
|
|
124
141
|
columnNumber: 7
|
|
125
142
|
}
|
|
126
143
|
}));
|
|
127
144
|
};
|
|
145
|
+
const collectionToolbarFiltersProps = _react.default.useMemo(() => {
|
|
146
|
+
var _config$filters2, _config$filters3;
|
|
147
|
+
return {
|
|
148
|
+
inline: ((_config$filters2 = config.filters) == null ? void 0 : _config$filters2.maxToolbarFilters) || 0,
|
|
149
|
+
panelTitle: (_config$filters3 = config.filters) == null ? void 0 : _config$filters3.panelTitle
|
|
150
|
+
};
|
|
151
|
+
}, [config.filters]);
|
|
128
152
|
return filters.reduce((acc, filter) => {
|
|
129
153
|
acc.filters[filter.key] = filter.filter;
|
|
130
154
|
acc.components.push(filter.collectionData ? /*#__PURE__*/_react.default.createElement(FilterCollectionComponent, {
|
|
@@ -132,7 +156,7 @@ const useFilters = config => {
|
|
|
132
156
|
__self: void 0,
|
|
133
157
|
__source: {
|
|
134
158
|
fileName: _jsxFileName,
|
|
135
|
-
lineNumber:
|
|
159
|
+
lineNumber: 174,
|
|
136
160
|
columnNumber: 11
|
|
137
161
|
}
|
|
138
162
|
}) : /*#__PURE__*/_react.default.createElement(filter.component, (0, _extends2.default)({
|
|
@@ -142,14 +166,15 @@ const useFilters = config => {
|
|
|
142
166
|
__self: void 0,
|
|
143
167
|
__source: {
|
|
144
168
|
fileName: _jsxFileName,
|
|
145
|
-
lineNumber:
|
|
169
|
+
lineNumber: 176,
|
|
146
170
|
columnNumber: 11
|
|
147
171
|
}
|
|
148
172
|
})));
|
|
149
173
|
return acc;
|
|
150
174
|
}, {
|
|
151
175
|
filters: {},
|
|
152
|
-
components: []
|
|
176
|
+
components: [],
|
|
177
|
+
collectionToolbarFiltersProps
|
|
153
178
|
});
|
|
154
179
|
};
|
|
155
180
|
exports.useFilters = useFilters;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_lodash","_patterns","_jsxFileName","useFilters","config","filters","React","useMemo","_config$filters","currFilters","forEach","filter","_filter$static","_filter$static2","_filter$static3","_filter$numberConfig","_filter$numberConfig2","_filter$numberConfig3","key","_","camelCase","displayName","componentType","push","dateRangeFilter","component","DateRangeFilter","props","accordionItemProps","label","idNameArrayFilter","MultiSelectCheckboxFilter","collectionData","static","values","map","value","id","name","popoverProps","appendTo","SingleSelectFilter","placeholder","RadioGroupFilter","data","numberRangeFilter","NumberRangeFilter","min","numberConfig","max","decimal","FilterCollectionComponent","collection","useStaticListFilterCollection","default","createElement","_extends2","__self","__source","fileName","lineNumber","columnNumber","reduce","acc","components","exports"],"sources":["../../../src/hooks/useFilters.tsx"],"sourcesContent":["import React from 'react';\nimport _ from 'lodash';\nimport { PageConfig } from '../types';\nimport {\n DateRangeFilter,\n dateRangeFilter,\n Filter,\n idNameArrayFilter,\n MultiSelectCheckboxFilter,\n NumberRangeFilter,\n numberRangeFilter,\n RadioGroupFilter,\n SingleSelectFilter,\n useStaticListFilterCollection,\n} from '@wix/patterns';\n\nexport interface FilterOptions {\n key: string;\n filter: Filter<any>;\n component: React.ElementType;\n collectionData?: { id: string; name: string }[];\n props: Record<string, any>;\n}\n\nexport interface ReturnValue {\n filters: { [key: string]: Filter<any> };\n components: React.JSX.Element[];\n}\n\nexport const useFilters = (config: PageConfig) => {\n const filters = React.useMemo(() => {\n const currFilters: FilterOptions[] = [];\n config.filters?.forEach((filter) => {\n const key = _.camelCase(filter.displayName);\n\n switch (filter.componentType) {\n case 'date-range':\n currFilters.push({\n key,\n filter: dateRangeFilter(),\n component: DateRangeFilter,\n props: {\n accordionItemProps: { label: filter.displayName },\n },\n });\n\n break;\n case 'multi-select':\n currFilters.push({\n key,\n filter: idNameArrayFilter(),\n component: MultiSelectCheckboxFilter,\n collectionData:\n filter.static?.values.map((value) => {\n return { id: value.id, name: value.value };\n }) ?? [],\n props: {\n accordionItemProps: { label: filter.displayName },\n popoverProps: { appendTo: 'window' },\n },\n });\n\n break;\n case 'single':\n currFilters.push({\n key,\n filter: idNameArrayFilter(),\n component: SingleSelectFilter,\n collectionData:\n filter.static?.values.map((value) => {\n return { id: value.id, name: value.value };\n }) ?? [],\n props: {\n placeholder: `Select ${filter.displayName}`,\n accordionItemProps: { label: filter.displayName },\n },\n });\n\n break;\n case 'radio-group':\n currFilters.push({\n key,\n filter: idNameArrayFilter(),\n component: RadioGroupFilter,\n props: {\n accordionItemProps: { label: filter.displayName },\n data:\n filter.static?.values.map((value) => {\n return { id: value.id, name: value.value };\n }) ?? [],\n },\n });\n\n break;\n case 'number':\n currFilters.push({\n key,\n filter: numberRangeFilter(),\n component: NumberRangeFilter,\n props: {\n accordionItemProps: { label: filter.displayName },\n min: filter.numberConfig?.min ?? 0,\n max: filter.numberConfig?.max ?? 100,\n decimal: filter.numberConfig?.decimal,\n },\n });\n\n break;\n }\n });\n return currFilters;\n }, [config.filters]);\n\n const FilterCollectionComponent: React.FC<{\n filter: FilterOptions;\n }> = ({ filter }) => {\n const collection = useStaticListFilterCollection(\n filter.filter,\n filter.collectionData ?? [],\n );\n\n return (\n <filter.component\n key={filter.key}\n filter={filter.filter}\n {...(filter.collectionData ? { collection } : {})}\n collection={collection}\n {...filter.props}\n />\n );\n };\n\n return filters.reduce<ReturnValue>(\n (acc, filter) => {\n acc.filters[filter.key] = filter.filter;\n acc.components.push(\n filter.collectionData ? (\n <FilterCollectionComponent filter={filter} />\n ) : (\n <filter.component\n key={filter.key}\n filter={filter.filter}\n {...filter.props}\n />\n ),\n );\n\n return acc;\n },\n { filters: {}, components: [] },\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_patterns","_providers","_jsxFileName","useFilters","config","schema","useConfig","filters","React","useMemo","_config$filters","currFilters","items","forEach","filter","_filter$dateConfig","_filter$dateConfig2","_filter$dateConfig3","_filter$numberConfig","_filter$numberConfig2","_filter$numberConfig3","fieldId","key","fieldDefinition","fields","label","displayName","initiallyOpen","sectionTitle","accordionItemProps","toolbarTagProps","commonFilterProps","toolbarItemProps","type","push","dateRangeFilter","component","DateRangeFilter","props","mode","dateConfig","dateRangeOptions","filterByTime","numberRangeFilter","NumberRangeFilter","min","numberConfig","max","decimal","FilterCollectionComponent","collection","useStaticListFilterCollection","collectionData","default","createElement","_extends2","__self","__source","fileName","lineNumber","columnNumber","collectionToolbarFiltersProps","_config$filters2","_config$filters3","inline","maxToolbarFilters","panelTitle","reduce","acc","components","exports"],"sources":["../../../src/hooks/useFilters.tsx"],"sourcesContent":["import React from 'react';\nimport { PageConfig } from '../types';\nimport {\n CollectionToolbarFiltersProps,\n DateRangeFilter,\n dateRangeFilter,\n Filter,\n NumberRangeFilter,\n numberRangeFilter,\n useStaticListFilterCollection,\n} from '@wix/patterns';\nimport { useConfig } from '../providers';\n\nexport interface FilterOptions {\n key: string;\n filter: Filter<any>;\n component: React.ElementType;\n collectionData?: { id: string; name: string }[];\n props: Record<string, any>;\n}\n\nexport interface ReturnValue {\n filters: { [key: string]: Filter<any> };\n components: React.JSX.Element[];\n collectionToolbarFiltersProps: Pick<\n CollectionToolbarFiltersProps,\n 'inline' | 'panelTitle' | 'useNewFilters'\n >;\n}\n\nexport const useFilters = (config: PageConfig) => {\n const { schema } = useConfig();\n const filters = React.useMemo(() => {\n const currFilters: FilterOptions[] = [];\n config.filters?.items.forEach((filter) => {\n const { fieldId: key } = filter;\n const fieldDefinition = schema.fields[key];\n if (!fieldDefinition) {\n return;\n }\n\n const label = filter.displayName || fieldDefinition.displayName;\n const { initiallyOpen, sectionTitle } = filter.accordionItemProps || {};\n const { toolbarTagProps } = filter;\n\n const commonFilterProps = {\n accordionItemProps: {\n label,\n initiallyOpen,\n sectionTitle,\n },\n toolbarItemProps: {\n label,\n },\n toolbarTagProps,\n };\n\n switch (fieldDefinition.type) {\n case 'DATE':\n case 'DATETIME':\n currFilters.push({\n key,\n filter: dateRangeFilter(),\n component: DateRangeFilter,\n props: {\n ...commonFilterProps,\n mode: filter.dateConfig?.mode,\n dateRangeOptions: filter.dateConfig?.dateRangeOptions,\n filterByTime: filter.dateConfig?.filterByTime,\n },\n });\n\n break;\n // case 'multi-select':\n // currFilters.push({\n // key,\n // filter: idNameArrayFilter(),\n // component: MultiSelectCheckboxFilter,\n // collectionData:\n // filter.static?.values.map((value) => {\n // return { id: value.id, name: value.value };\n // }) ?? [],\n // props: {\n // accordionItemProps: { label: filter.displayName },\n // popoverProps: { appendTo: 'window' },\n // },\n // });\n\n // break;\n // case 'single':\n // currFilters.push({\n // key,\n // filter: idNameArrayFilter(),\n // component: SingleSelectFilter,\n // collectionData:\n // filter.static?.values.map((value) => {\n // return { id: value.id, name: value.value };\n // }) ?? [],\n // props: {\n // placeholder: `Select ${filter.displayName}`,\n // accordionItemProps: { label: filter.displayName },\n // },\n // });\n\n // break;\n // case 'radio-group':\n // currFilters.push({\n // key,\n // filter: idNameArrayFilter(),\n // component: RadioGroupFilter,\n // props: {\n // accordionItemProps: { label: filter.displayName },\n // data:\n // filter.static?.values.map((value) => {\n // return { id: value.id, name: value.value };\n // }) ?? [],\n // },\n // });\n\n // break;\n case 'NUMBER':\n currFilters.push({\n key,\n filter: numberRangeFilter(),\n component: NumberRangeFilter,\n props: {\n ...commonFilterProps,\n min: filter.numberConfig?.min,\n max: filter.numberConfig?.max,\n decimal: filter.numberConfig?.decimal,\n },\n });\n\n break;\n }\n });\n return currFilters;\n }, [config.filters, schema.fields]);\n\n const FilterCollectionComponent: React.FC<{\n filter: FilterOptions;\n }> = ({ filter }) => {\n const collection = useStaticListFilterCollection(\n filter.filter,\n filter.collectionData ?? [],\n );\n\n return (\n <filter.component\n key={filter.key}\n filter={filter.filter}\n {...(filter.collectionData ? { collection } : {})}\n collection={collection}\n {...filter.props}\n />\n );\n };\n\n const collectionToolbarFiltersProps = React.useMemo<\n Pick<CollectionToolbarFiltersProps, 'inline' | 'panelTitle'>\n >(\n () => ({\n inline: config.filters?.maxToolbarFilters || 0,\n panelTitle: config.filters?.panelTitle,\n }),\n [config.filters],\n );\n\n return filters.reduce<ReturnValue>(\n (acc, filter) => {\n acc.filters[filter.key] = filter.filter;\n acc.components.push(\n filter.collectionData ? (\n <FilterCollectionComponent filter={filter} />\n ) : (\n <filter.component\n key={filter.key}\n filter={filter.filter}\n {...filter.props}\n />\n ),\n );\n\n return acc;\n },\n { filters: {}, components: [], collectionToolbarFiltersProps },\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,18 +4,30 @@ exports.__esModule = true;
|
|
|
4
4
|
exports.useTableProps = void 0;
|
|
5
5
|
var _useColumns = require("./useColumns");
|
|
6
6
|
var _useFeatures = require("./useFeatures");
|
|
7
|
+
var _useEmptyStates = require("./useEmptyStates");
|
|
8
|
+
var _useFetchData = require("./useFetchData");
|
|
7
9
|
const useTableProps = () => {
|
|
8
10
|
const columns = (0, _useColumns.useColumns)();
|
|
9
11
|
const {
|
|
10
12
|
views,
|
|
11
13
|
dataExtension,
|
|
14
|
+
customColumns,
|
|
12
15
|
filters
|
|
13
16
|
} = (0, _useFeatures.useFeatures)();
|
|
17
|
+
const {
|
|
18
|
+
emptyState
|
|
19
|
+
} = (0, _useEmptyStates.useEmptyStates)();
|
|
20
|
+
const {
|
|
21
|
+
fetchData
|
|
22
|
+
} = (0, _useFetchData.useFetchData)();
|
|
14
23
|
return {
|
|
15
24
|
columns,
|
|
16
25
|
views,
|
|
17
26
|
dataExtension,
|
|
18
|
-
|
|
27
|
+
customColumns,
|
|
28
|
+
filters,
|
|
29
|
+
emptyState,
|
|
30
|
+
fetchData
|
|
19
31
|
};
|
|
20
32
|
};
|
|
21
33
|
exports.useTableProps = useTableProps;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_useColumns","require","_useFeatures","useTableProps","columns","useColumns","views","dataExtension","filters","useFeatures","exports"],"sources":["../../../src/hooks/useTableProps.ts"],"sourcesContent":["import { useColumns } from './useColumns';\nimport { useFeatures } from './useFeatures';\n\nexport const useTableProps = () => {\n const columns = useColumns();\n const { views, dataExtension, filters } = useFeatures();\n\n return {\n columns,\n views,\n dataExtension,\n filters,\n };\n};\n"],"mappings":";;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;
|
|
1
|
+
{"version":3,"names":["_useColumns","require","_useFeatures","_useEmptyStates","_useFetchData","useTableProps","columns","useColumns","views","dataExtension","customColumns","filters","useFeatures","emptyState","useEmptyStates","fetchData","useFetchData","exports"],"sources":["../../../src/hooks/useTableProps.ts"],"sourcesContent":["import { useColumns } from './useColumns';\nimport { useFeatures } from './useFeatures';\nimport { useEmptyStates } from './useEmptyStates';\nimport { useFetchData } from './useFetchData';\nimport { ReturnValue } from './useFilters';\nimport { CollectionConfig, TableColumn } from '@wix/patterns';\n\nexport const useTableProps = (): {\n columns: TableColumn<any>[];\n views?: JSX.Element;\n dataExtension?: JSX.Element;\n filters: ReturnValue;\n emptyState: JSX.Element;\n customColumns?: JSX.Element;\n fetchData: CollectionConfig<any, any>['fetchData'];\n} => {\n const columns = useColumns();\n const { views, dataExtension, customColumns, filters } = useFeatures();\n const { emptyState } = useEmptyStates();\n const { fetchData } = useFetchData();\n\n return {\n columns,\n views,\n dataExtension,\n customColumns,\n filters,\n emptyState,\n fetchData,\n };\n};\n"],"mappings":";;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,eAAA,GAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AAIO,MAAMI,aAAa,GAAGA,CAAA,KAQxB;EACH,MAAMC,OAAO,GAAG,IAAAC,sBAAU,EAAC,CAAC;EAC5B,MAAM;IAAEC,KAAK;IAAEC,aAAa;IAAEC,aAAa;IAAEC;EAAQ,CAAC,GAAG,IAAAC,wBAAW,EAAC,CAAC;EACtE,MAAM;IAAEC;EAAW,CAAC,GAAG,IAAAC,8BAAc,EAAC,CAAC;EACvC,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,0BAAY,EAAC,CAAC;EAEpC,OAAO;IACLV,OAAO;IACPE,KAAK;IACLC,aAAa;IACbC,aAAa;IACbC,OAAO;IACPE,UAAU;IACVE;EACF,CAAC;AACH,CAAC;AAACE,OAAA,CAAAZ,aAAA,GAAAA,aAAA","ignoreList":[]}
|