@wix/auto-patterns 1.2.0 → 1.4.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.
Files changed (86) hide show
  1. package/dist/cjs/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.js +31 -7
  2. package/dist/cjs/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.js.map +1 -1
  3. package/dist/cjs/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.js +86 -16
  4. package/dist/cjs/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.js.map +1 -1
  5. package/dist/cjs/config/ConfigFactory.js +1 -1
  6. package/dist/cjs/config/ConfigFactory.js.map +1 -1
  7. package/dist/cjs/config/cms/CmsCompositeConfig.js +76 -0
  8. package/dist/cjs/config/cms/CmsCompositeConfig.js.map +1 -0
  9. package/dist/cjs/config/cms/filterUtils.js +82 -0
  10. package/dist/cjs/config/cms/filterUtils.js.map +1 -0
  11. package/dist/cjs/config/cms/sortUtils.js +32 -0
  12. package/dist/cjs/config/cms/sortUtils.js.map +1 -0
  13. package/dist/cjs/hooks/useColumns.js +98 -19
  14. package/dist/cjs/hooks/useColumns.js.map +1 -1
  15. package/dist/cjs/hooks/useEmptyStates.js +55 -0
  16. package/dist/cjs/hooks/useEmptyStates.js.map +1 -0
  17. package/dist/cjs/hooks/useFeatures.js +10 -1
  18. package/dist/cjs/hooks/useFeatures.js.map +1 -1
  19. package/dist/cjs/hooks/useFetchData.js +23 -0
  20. package/dist/cjs/hooks/useFetchData.js.map +1 -0
  21. package/dist/cjs/hooks/useFilters.js +103 -78
  22. package/dist/cjs/hooks/useFilters.js.map +1 -1
  23. package/dist/cjs/hooks/useTableProps.js +13 -1
  24. package/dist/cjs/hooks/useTableProps.js.map +1 -1
  25. package/dist/cjs/providers/PatternsWizardOverridesContext.js +1 -1
  26. package/dist/cjs/providers/PatternsWizardOverridesContext.js.map +1 -1
  27. package/dist/cjs/types.js +1 -9
  28. package/dist/cjs/types.js.map +1 -1
  29. package/dist/esm/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.js +10 -3
  30. package/dist/esm/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.js.map +1 -1
  31. package/dist/esm/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.js +58 -13
  32. package/dist/esm/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.js.map +1 -1
  33. package/dist/esm/config/ConfigFactory.js +1 -1
  34. package/dist/esm/config/ConfigFactory.js.map +1 -1
  35. package/dist/esm/config/cms/CmsCompositeConfig.js +70 -0
  36. package/dist/esm/config/cms/CmsCompositeConfig.js.map +1 -0
  37. package/dist/esm/config/cms/filterUtils.js +79 -0
  38. package/dist/esm/config/cms/filterUtils.js.map +1 -0
  39. package/dist/esm/config/cms/sortUtils.js +29 -0
  40. package/dist/esm/config/cms/sortUtils.js.map +1 -0
  41. package/dist/esm/hooks/useColumns.js +98 -19
  42. package/dist/esm/hooks/useColumns.js.map +1 -1
  43. package/dist/esm/hooks/useEmptyStates.js +41 -0
  44. package/dist/esm/hooks/useEmptyStates.js.map +1 -0
  45. package/dist/esm/hooks/useFeatures.js +4 -2
  46. package/dist/esm/hooks/useFeatures.js.map +1 -1
  47. package/dist/esm/hooks/useFetchData.js +18 -0
  48. package/dist/esm/hooks/useFetchData.js.map +1 -0
  49. package/dist/esm/hooks/useFilters.js +101 -76
  50. package/dist/esm/hooks/useFilters.js.map +1 -1
  51. package/dist/esm/hooks/useTableProps.js +13 -1
  52. package/dist/esm/hooks/useTableProps.js.map +1 -1
  53. package/dist/esm/providers/PatternsWizardOverridesContext.js +1 -1
  54. package/dist/esm/providers/PatternsWizardOverridesContext.js.map +1 -1
  55. package/dist/esm/types.js +0 -8
  56. package/dist/esm/types.js.map +1 -1
  57. package/dist/types/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.d.ts.map +1 -1
  58. package/dist/types/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.d.ts.map +1 -1
  59. package/dist/types/config/cms/CmsCompositeConfig.d.ts +7 -0
  60. package/dist/types/config/cms/CmsCompositeConfig.d.ts.map +1 -0
  61. package/dist/types/config/cms/filterUtils.d.ts +16 -0
  62. package/dist/types/config/cms/filterUtils.d.ts.map +1 -0
  63. package/dist/types/config/cms/sortUtils.d.ts +9 -0
  64. package/dist/types/config/cms/sortUtils.d.ts.map +1 -0
  65. package/dist/types/hooks/useColumns.d.ts.map +1 -1
  66. package/dist/types/hooks/useEmptyStates.d.ts +5 -0
  67. package/dist/types/hooks/useEmptyStates.d.ts.map +1 -0
  68. package/dist/types/hooks/useFeatures.d.ts +1 -0
  69. package/dist/types/hooks/useFeatures.d.ts.map +1 -1
  70. package/dist/types/hooks/useFetchData.d.ts +4 -0
  71. package/dist/types/hooks/useFetchData.d.ts.map +1 -0
  72. package/dist/types/hooks/useFilters.d.ts +2 -1
  73. package/dist/types/hooks/useFilters.d.ts.map +1 -1
  74. package/dist/types/hooks/useTableProps.d.ts +9 -4
  75. package/dist/types/hooks/useTableProps.d.ts.map +1 -1
  76. package/dist/types/providers/PatternsWizardOverridesContext.d.ts +7 -2
  77. package/dist/types/providers/PatternsWizardOverridesContext.d.ts.map +1 -1
  78. package/dist/types/types.d.ts +88 -28
  79. package/dist/types/types.d.ts.map +1 -1
  80. package/package.json +14 -14
  81. package/dist/cjs/config/CmsCompositeConfig.js +0 -85
  82. package/dist/cjs/config/CmsCompositeConfig.js.map +0 -1
  83. package/dist/esm/config/CmsCompositeConfig.js +0 -80
  84. package/dist/esm/config/CmsCompositeConfig.js.map +0 -1
  85. package/dist/types/config/CmsCompositeConfig.d.ts +0 -6
  86. 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
- return columns.map(column => ({
16
- id: column.id,
17
- title: column.name,
18
- ...(column.width ? {
19
- width: column.width
20
- } : {}),
21
- render: item => {
22
- var _overrides$columns, _overrides$columns$ca;
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 = (column, itemValue) => {
32
- switch (column.type) {
33
- case _types.SupportedValueTypeEnum.BOOLEAN:
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 _types.SupportedValueTypeEnum.DATE:
36
- return itemValue ? new Date(itemValue).toLocaleString() : '';
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","_types","_lodash","useColumns","page","columns","useConfig","overrides","usePatternsWizardOverridesContext","map","column","id","title","name","width","render","item","_overrides$columns","_overrides$columns$ca","itemValue","get","camelCase","call","value","createRenderer","exports","type","SupportedValueTypeEnum","BOOLEAN","DATE","Date","toLocaleString"],"sources":["../../../src/hooks/useColumns.ts"],"sourcesContent":["import { TableColumn } from '@wix/patterns';\nimport { useConfig, usePatternsWizardOverridesContext } from '../providers';\nimport { Column, SupportedValueTypeEnum } from '../types';\nimport { camelCase, get } from 'lodash';\n\nexport const useColumns = (): TableColumn<any>[] => {\n const {\n page: { columns = [] },\n } = useConfig();\n\n const overrides = usePatternsWizardOverridesContext();\n\n return columns.map((column) => ({\n id: column.id,\n title: column.name,\n ...(column.width ? { width: column.width } : {}),\n render: (item) => {\n const itemValue = get(item, column.id);\n return (\n overrides?.columns?.[camelCase(column.id)]?.({ value: itemValue }) ??\n createRenderer(column, itemValue)\n );\n },\n }));\n};\n\nconst createRenderer = (column: Column, itemValue: any): string => {\n switch (column.type) {\n case SupportedValueTypeEnum.BOOLEAN:\n return itemValue ? '✔' : '✖';\n case SupportedValueTypeEnum.DATE:\n return itemValue ? new Date(itemValue).toLocaleString() : '';\n default:\n return itemValue;\n }\n};\n"],"mappings":";;;;AACA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAEO,MAAMG,UAAU,GAAGA,CAAA,KAA0B;EAClD,MAAM;IACJC,IAAI,EAAE;MAAEC,OAAO,GAAG;IAAG;EACvB,CAAC,GAAG,IAAAC,oBAAS,EAAC,CAAC;EAEf,MAAMC,SAAS,GAAG,IAAAC,4CAAiC,EAAC,CAAC;EAErD,OAAOH,OAAO,CAACI,GAAG,CAAEC,MAAM,KAAM;IAC9BC,EAAE,EAAED,MAAM,CAACC,EAAE;IACbC,KAAK,EAAEF,MAAM,CAACG,IAAI;IAClB,IAAIH,MAAM,CAACI,KAAK,GAAG;MAAEA,KAAK,EAAEJ,MAAM,CAACI;IAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAChDC,MAAM,EAAGC,IAAI,IAAK;MAAA,IAAAC,kBAAA,EAAAC,qBAAA;MAChB,MAAMC,SAAS,GAAG,IAAAC,WAAG,EAACJ,IAAI,EAAEN,MAAM,CAACC,EAAE,CAAC;MACtC,OACE,CAAAJ,SAAS,aAAAU,kBAAA,GAATV,SAAS,CAAEF,OAAO,cAAAa,qBAAA,GAAlBD,kBAAA,CAAqB,IAAAI,iBAAS,EAACX,MAAM,CAACC,EAAE,CAAC,CAAC,qBAA1CO,qBAAA,CAAAI,IAAA,CAAAL,kBAAA,EAA6C;QAAEM,KAAK,EAAEJ;MAAU,CAAC,CAAC,KAClEK,cAAc,CAACd,MAAM,EAAES,SAAS,CAAC;IAErC;EACF,CAAC,CAAC,CAAC;AACL,CAAC;AAACM,OAAA,CAAAtB,UAAA,GAAAA,UAAA;AAEF,MAAMqB,cAAc,GAAGA,CAACd,MAAc,EAAES,SAAc,KAAa;EACjE,QAAQT,MAAM,CAACgB,IAAI;IACjB,KAAKC,6BAAsB,CAACC,OAAO;MACjC,OAAOT,SAAS,GAAG,GAAG,GAAG,GAAG;IAC9B,KAAKQ,6BAAsB,CAACE,IAAI;MAC9B,OAAOV,SAAS,GAAG,IAAIW,IAAI,CAACX,SAAS,CAAC,CAACY,cAAc,CAAC,CAAC,GAAG,EAAE;IAC9D;MACE,OAAOZ,SAAS;EACpB;AACF,CAAC","ignoreList":[]}
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":"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","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;EAAa,CAAC,GAAGH,IAAI;EACpC,MAAMI,OAAO,GAAG,IAAAC,sBAAU,EAACL,IAAI,CAAC;EAEhC,OAAO;IACLE,KAAK,EAAEA,KAAK,YAALA,KAAK,CAAEI,OAAO,gBAAGd,MAAA,CAAAe,OAAA,CAAAC,aAAA,CAACb,SAAA,CAAAc,KAAK;MAAAC,MAAA;MAAAC,QAAA;QAAAC,QAAA,EAAAd,YAAA;QAAAe,UAAA;QAAAC,YAAA;MAAA;IAAA,CAAE,CAAC,GAAGC,SAAS;IAC7CC,aAAa,EAAEb,YAAY,YAAZA,YAAY,CAAEG,OAAO,gBAAGd,MAAA,CAAAe,OAAA,CAAAC,aAAA,CAACb,SAAA,CAAAsB,aAAa;MAAAP,MAAA;MAAAC,QAAA;QAAAC,QAAA,EAAAd,YAAA;QAAAe,UAAA;QAAAC,YAAA;MAAA;IAAA,CAAE,CAAC,GAAGC,SAAS;IACpEX;EACF,CAAC;AACH,CAAC;AAACc,OAAA,CAAAnB,WAAA,GAAAA,WAAA","ignoreList":[]}
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$static, _filter$static2, _filter$static3, _filter$numberConfig, _filter$numberConfig2, _filter$numberConfig3;
17
- const key = _lodash.default.camelCase(filter.displayName);
18
- switch (filter.componentType) {
19
- case 'date-range':
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
- accordionItemProps: {
26
- label: filter.displayName
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 'number':
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
- accordionItemProps: {
96
- label: filter.displayName
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: 123,
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: 138,
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: 140,
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":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,SAAA,GAAAD,OAAA;AASA,IAAAE,UAAA,GAAAF,OAAA;AAAyC,IAAAG,YAAA;AAmBlC,MAAMC,UAAU,GAAIC,MAAkB,IAAK;EAChD,MAAM;IAAEC;EAAO,CAAC,GAAG,IAAAC,oBAAS,EAAC,CAAC;EAC9B,MAAMC,OAAO,GAAGC,cAAK,CAACC,OAAO,CAAC,MAAM;IAAA,IAAAC,eAAA;IAClC,MAAMC,WAA4B,GAAG,EAAE;IACvC,CAAAD,eAAA,GAAAN,MAAM,CAACG,OAAO,aAAdG,eAAA,CAAgBE,KAAK,CAACC,OAAO,CAAEC,MAAM,IAAK;MAAA,IAAAC,kBAAA,EAAAC,mBAAA,EAAAC,mBAAA,EAAAC,oBAAA,EAAAC,qBAAA,EAAAC,qBAAA;MACxC,MAAM;QAAEC,OAAO,EAAEC;MAAI,CAAC,GAAGR,MAAM;MAC/B,MAAMS,eAAe,GAAGlB,MAAM,CAACmB,MAAM,CAACF,GAAG,CAAC;MAC1C,IAAI,CAACC,eAAe,EAAE;QACpB;MACF;MAEA,MAAME,KAAK,GAAGX,MAAM,CAACY,WAAW,IAAIH,eAAe,CAACG,WAAW;MAC/D,MAAM;QAAEC,aAAa;QAAEC;MAAa,CAAC,GAAGd,MAAM,CAACe,kBAAkB,IAAI,CAAC,CAAC;MACvE,MAAM;QAAEC;MAAgB,CAAC,GAAGhB,MAAM;MAElC,MAAMiB,iBAAiB,GAAG;QACxBF,kBAAkB,EAAE;UAClBJ,KAAK;UACLE,aAAa;UACbC;QACF,CAAC;QACDI,gBAAgB,EAAE;UAChBP;QACF,CAAC;QACDK;MACF,CAAC;MAED,QAAQP,eAAe,CAACU,IAAI;QAC1B,KAAK,MAAM;QACX,KAAK,UAAU;UACbtB,WAAW,CAACuB,IAAI,CAAC;YACfZ,GAAG;YACHR,MAAM,EAAE,IAAAqB,yBAAe,EAAC,CAAC;YACzBC,SAAS,EAAEC,yBAAe;YAC1BC,KAAK,EAAE;cACL,GAAGP,iBAAiB;cACpBQ,IAAI,GAAAxB,kBAAA,GAAED,MAAM,CAAC0B,UAAU,qBAAjBzB,kBAAA,CAAmBwB,IAAI;cAC7BE,gBAAgB,GAAAzB,mBAAA,GAAEF,MAAM,CAAC0B,UAAU,qBAAjBxB,mBAAA,CAAmByB,gBAAgB;cACrDC,YAAY,GAAAzB,mBAAA,GAAEH,MAAM,CAAC0B,UAAU,qBAAjBvB,mBAAA,CAAmByB;YACnC;UACF,CAAC,CAAC;UAEF;QACF;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA,KAAK,QAAQ;UACX/B,WAAW,CAACuB,IAAI,CAAC;YACfZ,GAAG;YACHR,MAAM,EAAE,IAAA6B,2BAAiB,EAAC,CAAC;YAC3BP,SAAS,EAAEQ,2BAAiB;YAC5BN,KAAK,EAAE;cACL,GAAGP,iBAAiB;cACpBc,GAAG,GAAA3B,oBAAA,GAAEJ,MAAM,CAACgC,YAAY,qBAAnB5B,oBAAA,CAAqB2B,GAAG;cAC7BE,GAAG,GAAA5B,qBAAA,GAAEL,MAAM,CAACgC,YAAY,qBAAnB3B,qBAAA,CAAqB4B,GAAG;cAC7BC,OAAO,GAAA5B,qBAAA,GAAEN,MAAM,CAACgC,YAAY,qBAAnB1B,qBAAA,CAAqB4B;YAChC;UACF,CAAC,CAAC;UAEF;MACJ;IACF,CAAC,CAAC;IACF,OAAOrC,WAAW;EACpB,CAAC,EAAE,CAACP,MAAM,CAACG,OAAO,EAAEF,MAAM,CAACmB,MAAM,CAAC,CAAC;EAEnC,MAAMyB,yBAEJ,GAAGA,CAAC;IAAEnC;EAAO,CAAC,KAAK;IACnB,MAAMoC,UAAU,GAAG,IAAAC,uCAA6B,EAC9CrC,MAAM,CAACA,MAAM,EACbA,MAAM,CAACsC,cAAc,IAAI,EAC3B,CAAC;IAED,oBACEvD,MAAA,CAAAwD,OAAA,CAAAC,aAAA,CAACxC,MAAM,CAACsB,SAAS,MAAAmB,SAAA,CAAAF,OAAA;MACf/B,GAAG,EAAER,MAAM,CAACQ,GAAI;MAChBR,MAAM,EAAEA,MAAM,CAACA;IAAO,GACjBA,MAAM,CAACsC,cAAc,GAAG;MAAEF;IAAW,CAAC,GAAG,CAAC,CAAC;MAChDA,UAAU,EAAEA;IAAW,GACnBpC,MAAM,CAACwB,KAAK;MAAAkB,MAAA;MAAAC,QAAA;QAAAC,QAAA,EAAAxD,YAAA;QAAAyD,UAAA;QAAAC,YAAA;MAAA;IAAA,EACjB,CAAC;EAEN,CAAC;EAED,MAAMC,6BAA6B,GAAGrD,cAAK,CAACC,OAAO,CAGjD;IAAA,IAAAqD,gBAAA,EAAAC,gBAAA;IAAA,OAAO;MACLC,MAAM,EAAE,EAAAF,gBAAA,GAAA1D,MAAM,CAACG,OAAO,qBAAduD,gBAAA,CAAgBG,iBAAiB,KAAI,CAAC;MAC9CC,UAAU,GAAAH,gBAAA,GAAE3D,MAAM,CAACG,OAAO,qBAAdwD,gBAAA,CAAgBG;IAC9B,CAAC;EAAA,CAAC,EACF,CAAC9D,MAAM,CAACG,OAAO,CACjB,CAAC;EAED,OAAOA,OAAO,CAAC4D,MAAM,CACnB,CAACC,GAAG,EAAEtD,MAAM,KAAK;IACfsD,GAAG,CAAC7D,OAAO,CAACO,MAAM,CAACQ,GAAG,CAAC,GAAGR,MAAM,CAACA,MAAM;IACvCsD,GAAG,CAACC,UAAU,CAACnC,IAAI,CACjBpB,MAAM,CAACsC,cAAc,gBACnBvD,MAAA,CAAAwD,OAAA,CAAAC,aAAA,CAACL,yBAAyB;MAACnC,MAAM,EAAEA,MAAO;MAAA0C,MAAA;MAAAC,QAAA;QAAAC,QAAA,EAAAxD,YAAA;QAAAyD,UAAA;QAAAC,YAAA;MAAA;IAAA,CAAE,CAAC,gBAE7C/D,MAAA,CAAAwD,OAAA,CAAAC,aAAA,CAACxC,MAAM,CAACsB,SAAS,MAAAmB,SAAA,CAAAF,OAAA;MACf/B,GAAG,EAAER,MAAM,CAACQ,GAAI;MAChBR,MAAM,EAAEA,MAAM,CAACA;IAAO,GAClBA,MAAM,CAACwB,KAAK;MAAAkB,MAAA;MAAAC,QAAA;QAAAC,QAAA,EAAAxD,YAAA;QAAAyD,UAAA;QAAAC,YAAA;MAAA;IAAA,EACjB,CAEL,CAAC;IAED,OAAOQ,GAAG;EACZ,CAAC,EACD;IAAE7D,OAAO,EAAE,CAAC,CAAC;IAAE8D,UAAU,EAAE,EAAE;IAAER;EAA8B,CAC/D,CAAC;AACH,CAAC;AAACS,OAAA,CAAAnE,UAAA,GAAAA,UAAA","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
- filters
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;AAEO,MAAME,aAAa,GAAGA,CAAA,KAAM;EACjC,MAAMC,OAAO,GAAG,IAAAC,sBAAU,EAAC,CAAC;EAC5B,MAAM;IAAEC,KAAK;IAAEC,aAAa;IAAEC;EAAQ,CAAC,GAAG,IAAAC,wBAAW,EAAC,CAAC;EAEvD,OAAO;IACLL,OAAO;IACPE,KAAK;IACLC,aAAa;IACbC;EACF,CAAC;AACH,CAAC;AAACE,OAAA,CAAAP,aAAA,GAAAA,aAAA","ignoreList":[]}
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":[]}