@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
@@ -1,36 +1,115 @@
1
1
  import { useConfig, usePatternsWizardOverridesContext } from '../providers';
2
- import { SupportedValueTypeEnum } from '../types';
3
2
  import { camelCase, get } from 'lodash';
4
3
  export const useColumns = () => {
5
4
  const {
6
5
  page: {
7
6
  columns = []
7
+ },
8
+ schema: {
9
+ fields
8
10
  }
9
11
  } = useConfig();
10
12
  const overrides = usePatternsWizardOverridesContext();
11
- return columns.map(column => ({
12
- id: column.id,
13
- title: column.name,
14
- ...(column.width ? {
15
- width: column.width
16
- } : {}),
17
- render: item => {
18
- var _overrides$columns, _overrides$columns$ca;
19
- const itemValue = get(item, column.id);
20
- return (overrides == null || (_overrides$columns = overrides.columns) == null || (_overrides$columns$ca = _overrides$columns[camelCase(column.id)]) == null ? void 0 : _overrides$columns$ca.call(_overrides$columns, {
21
- value: itemValue
22
- })) ?? createRenderer(column, itemValue);
13
+ const existingColumns = columns.filter(column => {
14
+ return !!fields[column.id];
15
+ });
16
+ return existingColumns.map(column => {
17
+ var _fieldDefinition$capa;
18
+ const fieldDefinition = fields[column.id];
19
+ if (!fieldDefinition) {
20
+ return null;
23
21
  }
24
- }));
22
+ const sortable = column.sortable && (fieldDefinition == null || (_fieldDefinition$capa = fieldDefinition.capabilities) == null ? void 0 : _fieldDefinition$capa.sortable);
23
+ const baseColumnConfig = {
24
+ id: column.id,
25
+ title: column.name || fieldDefinition.displayName,
26
+ ...(column.width ? {
27
+ width: column.width
28
+ } : {}),
29
+ ...createSortConfiguration(column, sortable),
30
+ ...createCustomColumnConfiguration(column),
31
+ render: item => {
32
+ var _overrides$columns, _overrides$columns$ca;
33
+ const itemValue = get(item, column.id);
34
+ return (overrides == null || (_overrides$columns = overrides.columns) == null || (_overrides$columns$ca = _overrides$columns[camelCase(column.id)]) == null ? void 0 : _overrides$columns$ca.call(_overrides$columns, {
35
+ value: itemValue
36
+ })) ?? createRenderer(fieldDefinition, itemValue);
37
+ }
38
+ };
39
+ return baseColumnConfig;
40
+ }).filter(Boolean);
25
41
  };
26
- const createRenderer = (column, itemValue) => {
27
- switch (column.type) {
28
- case SupportedValueTypeEnum.BOOLEAN:
42
+ const createRenderer = (fieldDefinition, itemValue) => {
43
+ if (itemValue == null) {
44
+ return '';
45
+ }
46
+ switch (fieldDefinition.type) {
47
+ case 'BOOLEAN':
29
48
  return itemValue ? '✔' : '✖';
30
- case SupportedValueTypeEnum.DATE:
31
- return itemValue ? new Date(itemValue).toLocaleString() : '';
49
+ case 'DATE':
50
+ if (itemValue instanceof Date) {
51
+ return itemValue.toLocaleDateString();
52
+ }
53
+ if (typeof itemValue === 'string') {
54
+ const date = new Date(itemValue);
55
+ return date.toLocaleDateString();
56
+ }
57
+ return itemValue;
58
+ case 'DATETIME':
59
+ if (itemValue instanceof Date) {
60
+ return itemValue.toLocaleString();
61
+ }
62
+ if (typeof itemValue === 'string') {
63
+ const date = new Date(itemValue);
64
+ return date.toLocaleString();
65
+ }
66
+ return itemValue;
67
+ case 'ARRAY':
68
+ // We assume that the array contains strings
69
+ // If the array contains objects, we need to handle it differently
70
+ return itemValue.join(', ');
32
71
  default:
33
72
  return itemValue;
34
73
  }
35
74
  };
75
+ const createSortConfiguration = (column, sortable) => {
76
+ if (!sortable) {
77
+ return {};
78
+ }
79
+ const sortableColumnConfig = {
80
+ sortable,
81
+ defaultSortOrder: column.defaultSortOrder
82
+ };
83
+
84
+ // default sort mode is ['asc', 'desc', undefined]
85
+ // so if sort mode is 'desc' -> we want to override the default
86
+ // and set it to ['desc', 'asc', undefined]
87
+ if (column.sortMode && column.sortMode === 'desc') {
88
+ return {
89
+ ...sortableColumnConfig,
90
+ sortMode: ['desc', 'asc', undefined]
91
+ };
92
+ }
93
+ return {
94
+ ...sortableColumnConfig
95
+ };
96
+ };
97
+ const createCustomColumnConfiguration = column => {
98
+ const reorderDisabled = !!column.reorderDisabled;
99
+ if (column.hiddenFromCustomColumnsSelection) {
100
+ return {
101
+ hiddenFromCustomColumnsSelection: true
102
+ };
103
+ }
104
+ if (column.hideable === false) {
105
+ return {
106
+ hideable: false,
107
+ reorderDisabled
108
+ };
109
+ }
110
+ return {
111
+ defaultHidden: !!column.defaultHidden,
112
+ reorderDisabled
113
+ };
114
+ };
36
115
  //# sourceMappingURL=useColumns.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useConfig","usePatternsWizardOverridesContext","SupportedValueTypeEnum","camelCase","get","useColumns","page","columns","overrides","map","column","id","title","name","width","render","item","_overrides$columns","_overrides$columns$ca","itemValue","call","value","createRenderer","type","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,SAASA,SAAS,EAAEC,iCAAiC,QAAQ,cAAc;AAC3E,SAAiBC,sBAAsB,QAAQ,UAAU;AACzD,SAASC,SAAS,EAAEC,GAAG,QAAQ,QAAQ;AAEvC,OAAO,MAAMC,UAAU,GAAGA,CAAA,KAA0B;EAClD,MAAM;IACJC,IAAI,EAAE;MAAEC,OAAO,GAAG;IAAG;EACvB,CAAC,GAAGP,SAAS,CAAC,CAAC;EAEf,MAAMQ,SAAS,GAAGP,iCAAiC,CAAC,CAAC;EAErD,OAAOM,OAAO,CAACE,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,GAAGf,GAAG,CAACY,IAAI,EAAEN,MAAM,CAACC,EAAE,CAAC;MACtC,OACE,CAAAH,SAAS,aAAAS,kBAAA,GAATT,SAAS,CAAED,OAAO,cAAAW,qBAAA,GAAlBD,kBAAA,CAAqBd,SAAS,CAACO,MAAM,CAACC,EAAE,CAAC,CAAC,qBAA1CO,qBAAA,CAAAE,IAAA,CAAAH,kBAAA,EAA6C;QAAEI,KAAK,EAAEF;MAAU,CAAC,CAAC,KAClEG,cAAc,CAACZ,MAAM,EAAES,SAAS,CAAC;IAErC;EACF,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAMG,cAAc,GAAGA,CAACZ,MAAc,EAAES,SAAc,KAAa;EACjE,QAAQT,MAAM,CAACa,IAAI;IACjB,KAAKrB,sBAAsB,CAACsB,OAAO;MACjC,OAAOL,SAAS,GAAG,GAAG,GAAG,GAAG;IAC9B,KAAKjB,sBAAsB,CAACuB,IAAI;MAC9B,OAAON,SAAS,GAAG,IAAIO,IAAI,CAACP,SAAS,CAAC,CAACQ,cAAc,CAAC,CAAC,GAAG,EAAE;IAC9D;MACE,OAAOR,SAAS;EACpB;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useConfig","usePatternsWizardOverridesContext","camelCase","get","useColumns","page","columns","schema","fields","overrides","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","call","value","createRenderer","Boolean","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,41 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import React from 'react';
3
+ import { CollectionEmptyState } from '@wix/patterns';
4
+ import { useConfig, usePatternsWizardOverridesContext } from '../providers';
5
+ export const useEmptyStates = () => {
6
+ var _emptyState$addNewCta, _overrides$emptyState, _emptyState$addNewCta2, _emptyState$addNewCta3, _emptyState$addNewCta4, _emptyState$customCta, _overrides$emptyState2, _emptyState$customCta2, _emptyState$image, _overrides$emptyState3, _emptyState$image2;
7
+ const {
8
+ page: {
9
+ emptyState = undefined
10
+ }
11
+ } = useConfig();
12
+ const {
13
+ title,
14
+ subtitle
15
+ } = emptyState || {};
16
+ const overrides = usePatternsWizardOverridesContext();
17
+ 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;
18
+ const addNewCta = onClick ? {
19
+ addNewCta: {
20
+ ...(emptyState != null && (_emptyState$addNewCta3 = emptyState.addNewCta) != null && _emptyState$addNewCta3.text ? {
21
+ text: emptyState == null || (_emptyState$addNewCta4 = emptyState.addNewCta) == null ? void 0 : _emptyState$addNewCta4.text
22
+ } : {}),
23
+ onClick
24
+ }
25
+ } : {};
26
+ 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;
27
+ const customCta = _customCta ? {
28
+ customCta: _customCta()
29
+ } : {};
30
+ 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;
31
+ const image = _image ? {
32
+ image: _image()
33
+ } : {};
34
+ return {
35
+ emptyState: /*#__PURE__*/React.createElement(CollectionEmptyState, _extends({
36
+ title: title,
37
+ subtitle: subtitle
38
+ }, addNewCta, customCta, image))
39
+ };
40
+ };
41
+ //# sourceMappingURL=useEmptyStates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","CollectionEmptyState","useConfig","usePatternsWizardOverridesContext","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","title","subtitle","overrides","onClick","addNewCta","id","text","_customCta","customCta","_image","image","createElement","_extends"],"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,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,oBAAoB,QAAQ,eAAe;AACpD,SAASC,SAAS,EAAEC,iCAAiC,QAAQ,cAAc;AAE3E,OAAO,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,GAAGhB,SAAS,CAAC,CAAC;EACf,MAAM;IAAEiB,KAAK;IAAEC;EAAS,CAAC,GAAGH,UAAU,IAAI,CAAC,CAAC;EAE5C,MAAMI,SAAS,GAAGlB,iCAAiC,CAAC,CAAC;EAErD,MAAMmB,OAAO,GAAGL,UAAU,aAAAZ,qBAAA,GAAVY,UAAU,CAAEM,SAAS,aAArBlB,qBAAA,CAAuBmB,EAAE,GACrCH,SAAS,aAAAf,qBAAA,GAATe,SAAS,CAAEJ,UAAU,qBAArBX,qBAAA,CAAwBW,UAAU,aAAAV,sBAAA,GAAVU,UAAU,CAAEM,SAAS,qBAArBhB,sBAAA,CAAuBiB,EAAE,CAAC,GAClDN,SAAS;EACb,MAAMK,SAAS,GAAGD,OAAO,GACrB;IACEC,SAAS,EAAE;MACT,IAAIN,UAAU,aAAAT,sBAAA,GAAVS,UAAU,CAAEM,SAAS,aAArBf,sBAAA,CAAuBiB,IAAI,GAC3B;QAAEA,IAAI,EAAER,UAAU,aAAAR,sBAAA,GAAVQ,UAAU,CAAEM,SAAS,qBAArBd,sBAAA,CAAuBgB;MAAK,CAAC,GACrC,CAAC,CAAC,CAAC;MACPH;IACF;EACF,CAAC,GACD,CAAC,CAAC;EAEN,MAAMI,UAAU,GAAGT,UAAU,aAAAP,qBAAA,GAAVO,UAAU,CAAEU,SAAS,aAArBjB,qBAAA,CAAuBc,EAAE,GACxCH,SAAS,aAAAV,sBAAA,GAATU,SAAS,CAAEJ,UAAU,qBAArBN,sBAAA,CAAwBM,UAAU,aAAAL,sBAAA,GAAVK,UAAU,CAAEU,SAAS,qBAArBf,sBAAA,CAAuBY,EAAE,CAAC,GAClDN,SAAS;EAEb,MAAMS,SAAS,GAAGD,UAAU,GACxB;IACEC,SAAS,EAAED,UAAU,CAAC;EACxB,CAAC,GACD,CAAC,CAAC;EAEN,MAAME,MAAM,GAAGX,UAAU,aAAAJ,iBAAA,GAAVI,UAAU,CAAEY,KAAK,aAAjBhB,iBAAA,CAAmBW,EAAE,GAChCH,SAAS,aAAAP,sBAAA,GAATO,SAAS,CAAEJ,UAAU,qBAArBH,sBAAA,CAAwBG,UAAU,aAAAF,kBAAA,GAAVE,UAAU,CAAEY,KAAK,qBAAjBd,kBAAA,CAAmBS,EAAE,CAAC,GAC9CN,SAAS;EAEb,MAAMW,KAAK,GAAGD,MAAM,GAChB;IACEC,KAAK,EAAED,MAAM,CAAC;EAChB,CAAC,GACD,CAAC,CAAC;EAEN,OAAO;IACLX,UAAU,eACRjB,KAAA,CAAA8B,aAAA,CAAC7B,oBAAoB,EAAA8B,QAAA;MACnBZ,KAAK,EAAEA,KAAM;MACbC,QAAQ,EAAEA;IAAS,GACfG,SAAS,EACTI,SAAS,EACTE,KAAK,CACV;EAEL,CAAC;AACH,CAAC","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { Views, DataExtension } from '@wix/patterns';
2
+ import { Views, DataExtension, CustomColumns } from '@wix/patterns';
3
3
  import { useConfig } from '../providers';
4
4
  import { useFilters } from './useFilters';
5
5
  export const useFeatures = () => {
@@ -8,12 +8,14 @@ export const useFeatures = () => {
8
8
  } = useConfig();
9
9
  const {
10
10
  views,
11
- customFields
11
+ customFields,
12
+ customColumns
12
13
  } = page;
13
14
  const filters = useFilters(page);
14
15
  return {
15
16
  views: views != null && views.enabled ? /*#__PURE__*/React.createElement(Views, null) : undefined,
16
17
  dataExtension: customFields != null && customFields.enabled ? /*#__PURE__*/React.createElement(DataExtension, null) : undefined,
18
+ customColumns: customColumns != null && customColumns.enabled ? /*#__PURE__*/React.createElement(CustomColumns, null) : undefined,
17
19
  filters
18
20
  };
19
21
  };
@@ -1 +1 @@
1
- {"version":3,"names":["React","Views","DataExtension","useConfig","useFilters","useFeatures","page","views","customFields","filters","enabled","createElement","undefined","dataExtension"],"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,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,KAAK,EAAEC,aAAa,QAAQ,eAAe;AACpD,SAASC,SAAS,QAAQ,cAAc;AACxC,SAASC,UAAU,QAAQ,cAAc;AAEzC,OAAO,MAAMC,WAAW,GAAGA,CAAA,KAAM;EAC/B,MAAM;IAAEC;EAAK,CAAC,GAAGH,SAAS,CAAC,CAAC;EAC5B,MAAM;IAAEI,KAAK;IAAEC;EAAa,CAAC,GAAGF,IAAI;EACpC,MAAMG,OAAO,GAAGL,UAAU,CAACE,IAAI,CAAC;EAEhC,OAAO;IACLC,KAAK,EAAEA,KAAK,YAALA,KAAK,CAAEG,OAAO,gBAAGV,KAAA,CAAAW,aAAA,CAACV,KAAK,MAAE,CAAC,GAAGW,SAAS;IAC7CC,aAAa,EAAEL,YAAY,YAAZA,YAAY,CAAEE,OAAO,gBAAGV,KAAA,CAAAW,aAAA,CAACT,aAAa,MAAE,CAAC,GAAGU,SAAS;IACpEH;EACF,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","Views","DataExtension","CustomColumns","useConfig","useFilters","useFeatures","page","views","customFields","customColumns","filters","enabled","createElement","undefined","dataExtension"],"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,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,KAAK,EAAEC,aAAa,EAAEC,aAAa,QAAQ,eAAe;AACnE,SAASC,SAAS,QAAQ,cAAc;AACxC,SAASC,UAAU,QAAQ,cAAc;AAEzC,OAAO,MAAMC,WAAW,GAAGA,CAAA,KAAM;EAC/B,MAAM;IAAEC;EAAK,CAAC,GAAGH,SAAS,CAAC,CAAC;EAC5B,MAAM;IAAEI,KAAK;IAAEC,YAAY;IAAEC;EAAc,CAAC,GAAGH,IAAI;EACnD,MAAMI,OAAO,GAAGN,UAAU,CAACE,IAAI,CAAC;EAEhC,OAAO;IACLC,KAAK,EAAEA,KAAK,YAALA,KAAK,CAAEI,OAAO,gBAAGZ,KAAA,CAAAa,aAAA,CAACZ,KAAK,MAAE,CAAC,GAAGa,SAAS;IAC7CC,aAAa,EAAEN,YAAY,YAAZA,YAAY,CAAEG,OAAO,gBAAGZ,KAAA,CAAAa,aAAA,CAACX,aAAa,MAAE,CAAC,GAAGY,SAAS;IACpEJ,aAAa,EAAEA,aAAa,YAAbA,aAAa,CAAEE,OAAO,gBAAGZ,KAAA,CAAAa,aAAA,CAACV,aAAa,MAAE,CAAC,GAAGW,SAAS;IACrEH;EACF,CAAC;AACH,CAAC","ignoreList":[]}
@@ -0,0 +1,18 @@
1
+ import { useConfig, usePatternsWizardOverridesContext } from '../providers';
2
+ export const useFetchData = () => {
3
+ var _overrides$fetchData;
4
+ const {
5
+ page: {
6
+ fetchData: fetchDataOverride = undefined
7
+ },
8
+ collection: {
9
+ fetchData: defaultFetchData
10
+ }
11
+ } = useConfig();
12
+ const overrides = usePatternsWizardOverridesContext();
13
+ const fetchData = fetchDataOverride != null && fetchDataOverride.id ? (overrides == null || (_overrides$fetchData = overrides.fetchData) == null ? void 0 : _overrides$fetchData[fetchDataOverride.id]) ?? defaultFetchData : defaultFetchData;
14
+ return {
15
+ fetchData
16
+ };
17
+ };
18
+ //# sourceMappingURL=useFetchData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useConfig","usePatternsWizardOverridesContext","useFetchData","_overrides$fetchData","page","fetchData","fetchDataOverride","undefined","collection","defaultFetchData","overrides","id"],"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,SAASA,SAAS,EAAEC,iCAAiC,QAAQ,cAAc;AAE3E,OAAO,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,GAAGT,SAAS,CAAC,CAAC;EAEf,MAAMU,SAAS,GAAGT,iCAAiC,CAAC,CAAC;EAErD,MAAMI,SAAS,GAAGC,iBAAiB,YAAjBA,iBAAiB,CAAEK,EAAE,GACnC,CAAAD,SAAS,aAAAP,oBAAA,GAATO,SAAS,CAAEL,SAAS,qBAApBF,oBAAA,CAAuBG,iBAAiB,CAACK,EAAE,CAAC,KAAIF,gBAAgB,GAChEA,gBAAgB;EAEpB,OAAO;IACLJ;EACF,CAAC;AACH,CAAC","ignoreList":[]}
@@ -1,96 +1,113 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import React from 'react';
3
- import _ from 'lodash';
4
- import { DateRangeFilter, dateRangeFilter, idNameArrayFilter, MultiSelectCheckboxFilter, NumberRangeFilter, numberRangeFilter, RadioGroupFilter, SingleSelectFilter, useStaticListFilterCollection } from '@wix/patterns';
3
+ import { DateRangeFilter, dateRangeFilter, NumberRangeFilter, numberRangeFilter, useStaticListFilterCollection } from '@wix/patterns';
4
+ import { useConfig } from '../providers';
5
5
  export const useFilters = config => {
6
+ const {
7
+ schema
8
+ } = useConfig();
6
9
  const filters = React.useMemo(() => {
7
10
  var _config$filters;
8
11
  const currFilters = [];
9
- (_config$filters = config.filters) == null || _config$filters.forEach(filter => {
10
- var _filter$static, _filter$static2, _filter$static3, _filter$numberConfig, _filter$numberConfig2, _filter$numberConfig3;
11
- const key = _.camelCase(filter.displayName);
12
- switch (filter.componentType) {
13
- case 'date-range':
12
+ (_config$filters = config.filters) == null || _config$filters.items.forEach(filter => {
13
+ var _filter$dateConfig, _filter$dateConfig2, _filter$dateConfig3, _filter$numberConfig, _filter$numberConfig2, _filter$numberConfig3;
14
+ const {
15
+ fieldId: key
16
+ } = filter;
17
+ const fieldDefinition = schema.fields[key];
18
+ if (!fieldDefinition) {
19
+ return;
20
+ }
21
+ const label = filter.displayName || fieldDefinition.displayName;
22
+ const {
23
+ initiallyOpen,
24
+ sectionTitle
25
+ } = filter.accordionItemProps || {};
26
+ const {
27
+ toolbarTagProps
28
+ } = filter;
29
+ const commonFilterProps = {
30
+ accordionItemProps: {
31
+ label,
32
+ initiallyOpen,
33
+ sectionTitle
34
+ },
35
+ toolbarItemProps: {
36
+ label
37
+ },
38
+ toolbarTagProps
39
+ };
40
+ switch (fieldDefinition.type) {
41
+ case 'DATE':
42
+ case 'DATETIME':
14
43
  currFilters.push({
15
44
  key,
16
45
  filter: dateRangeFilter(),
17
46
  component: DateRangeFilter,
18
47
  props: {
19
- accordionItemProps: {
20
- label: filter.displayName
21
- }
48
+ ...commonFilterProps,
49
+ mode: (_filter$dateConfig = filter.dateConfig) == null ? void 0 : _filter$dateConfig.mode,
50
+ dateRangeOptions: (_filter$dateConfig2 = filter.dateConfig) == null ? void 0 : _filter$dateConfig2.dateRangeOptions,
51
+ filterByTime: (_filter$dateConfig3 = filter.dateConfig) == null ? void 0 : _filter$dateConfig3.filterByTime
22
52
  }
23
53
  });
24
54
  break;
25
- case 'multi-select':
26
- currFilters.push({
27
- key,
28
- filter: idNameArrayFilter(),
29
- component: MultiSelectCheckboxFilter,
30
- collectionData: ((_filter$static = filter.static) == null ? void 0 : _filter$static.values.map(value => {
31
- return {
32
- id: value.id,
33
- name: value.value
34
- };
35
- })) ?? [],
36
- props: {
37
- accordionItemProps: {
38
- label: filter.displayName
39
- },
40
- popoverProps: {
41
- appendTo: 'window'
42
- }
43
- }
44
- });
45
- break;
46
- case 'single':
47
- currFilters.push({
48
- key,
49
- filter: idNameArrayFilter(),
50
- component: SingleSelectFilter,
51
- collectionData: ((_filter$static2 = filter.static) == null ? void 0 : _filter$static2.values.map(value => {
52
- return {
53
- id: value.id,
54
- name: value.value
55
- };
56
- })) ?? [],
57
- props: {
58
- placeholder: `Select ${filter.displayName}`,
59
- accordionItemProps: {
60
- label: filter.displayName
61
- }
62
- }
63
- });
64
- break;
65
- case 'radio-group':
66
- currFilters.push({
67
- key,
68
- filter: idNameArrayFilter(),
69
- component: RadioGroupFilter,
70
- props: {
71
- accordionItemProps: {
72
- label: filter.displayName
73
- },
74
- data: ((_filter$static3 = filter.static) == null ? void 0 : _filter$static3.values.map(value => {
75
- return {
76
- id: value.id,
77
- name: value.value
78
- };
79
- })) ?? []
80
- }
81
- });
82
- break;
83
- case 'number':
55
+ // case 'multi-select':
56
+ // currFilters.push({
57
+ // key,
58
+ // filter: idNameArrayFilter(),
59
+ // component: MultiSelectCheckboxFilter,
60
+ // collectionData:
61
+ // filter.static?.values.map((value) => {
62
+ // return { id: value.id, name: value.value };
63
+ // }) ?? [],
64
+ // props: {
65
+ // accordionItemProps: { label: filter.displayName },
66
+ // popoverProps: { appendTo: 'window' },
67
+ // },
68
+ // });
69
+
70
+ // break;
71
+ // case 'single':
72
+ // currFilters.push({
73
+ // key,
74
+ // filter: idNameArrayFilter(),
75
+ // component: SingleSelectFilter,
76
+ // collectionData:
77
+ // filter.static?.values.map((value) => {
78
+ // return { id: value.id, name: value.value };
79
+ // }) ?? [],
80
+ // props: {
81
+ // placeholder: `Select ${filter.displayName}`,
82
+ // accordionItemProps: { label: filter.displayName },
83
+ // },
84
+ // });
85
+
86
+ // break;
87
+ // case 'radio-group':
88
+ // currFilters.push({
89
+ // key,
90
+ // filter: idNameArrayFilter(),
91
+ // component: RadioGroupFilter,
92
+ // props: {
93
+ // accordionItemProps: { label: filter.displayName },
94
+ // data:
95
+ // filter.static?.values.map((value) => {
96
+ // return { id: value.id, name: value.value };
97
+ // }) ?? [],
98
+ // },
99
+ // });
100
+
101
+ // break;
102
+ case 'NUMBER':
84
103
  currFilters.push({
85
104
  key,
86
105
  filter: numberRangeFilter(),
87
106
  component: NumberRangeFilter,
88
107
  props: {
89
- accordionItemProps: {
90
- label: filter.displayName
91
- },
92
- min: ((_filter$numberConfig = filter.numberConfig) == null ? void 0 : _filter$numberConfig.min) ?? 0,
93
- max: ((_filter$numberConfig2 = filter.numberConfig) == null ? void 0 : _filter$numberConfig2.max) ?? 100,
108
+ ...commonFilterProps,
109
+ min: (_filter$numberConfig = filter.numberConfig) == null ? void 0 : _filter$numberConfig.min,
110
+ max: (_filter$numberConfig2 = filter.numberConfig) == null ? void 0 : _filter$numberConfig2.max,
94
111
  decimal: (_filter$numberConfig3 = filter.numberConfig) == null ? void 0 : _filter$numberConfig3.decimal
95
112
  }
96
113
  });
@@ -98,7 +115,7 @@ export const useFilters = config => {
98
115
  }
99
116
  });
100
117
  return currFilters;
101
- }, [config.filters]);
118
+ }, [config.filters, schema.fields]);
102
119
  const FilterCollectionComponent = _ref => {
103
120
  let {
104
121
  filter
@@ -113,6 +130,13 @@ export const useFilters = config => {
113
130
  collection: collection
114
131
  }, filter.props));
115
132
  };
133
+ const collectionToolbarFiltersProps = React.useMemo(() => {
134
+ var _config$filters2, _config$filters3;
135
+ return {
136
+ inline: ((_config$filters2 = config.filters) == null ? void 0 : _config$filters2.maxToolbarFilters) || 0,
137
+ panelTitle: (_config$filters3 = config.filters) == null ? void 0 : _config$filters3.panelTitle
138
+ };
139
+ }, [config.filters]);
116
140
  return filters.reduce((acc, filter) => {
117
141
  acc.filters[filter.key] = filter.filter;
118
142
  acc.components.push(filter.collectionData ? /*#__PURE__*/React.createElement(FilterCollectionComponent, {
@@ -124,7 +148,8 @@ export const useFilters = config => {
124
148
  return acc;
125
149
  }, {
126
150
  filters: {},
127
- components: []
151
+ components: [],
152
+ collectionToolbarFiltersProps
128
153
  });
129
154
  };
130
155
  //# sourceMappingURL=useFilters.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","_","DateRangeFilter","dateRangeFilter","idNameArrayFilter","MultiSelectCheckboxFilter","NumberRangeFilter","numberRangeFilter","RadioGroupFilter","SingleSelectFilter","useStaticListFilterCollection","useFilters","config","filters","useMemo","_config$filters","currFilters","forEach","filter","_filter$static","_filter$static2","_filter$static3","_filter$numberConfig","_filter$numberConfig2","_filter$numberConfig3","key","camelCase","displayName","componentType","push","component","props","accordionItemProps","label","collectionData","static","values","map","value","id","name","popoverProps","appendTo","placeholder","data","min","numberConfig","max","decimal","FilterCollectionComponent","_ref","collection","createElement","_extends","reduce","acc","components"],"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","DateRangeFilter","dateRangeFilter","NumberRangeFilter","numberRangeFilter","useStaticListFilterCollection","useConfig","useFilters","config","schema","filters","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","component","props","mode","dateConfig","dateRangeOptions","filterByTime","min","numberConfig","max","decimal","FilterCollectionComponent","_ref","collection","collectionData","createElement","_extends","collectionToolbarFiltersProps","_config$filters2","_config$filters3","inline","maxToolbarFilters","panelTitle","reduce","acc","components"],"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":[]}
@@ -1,17 +1,29 @@
1
1
  import { useColumns } from './useColumns';
2
2
  import { useFeatures } from './useFeatures';
3
+ import { useEmptyStates } from './useEmptyStates';
4
+ import { useFetchData } from './useFetchData';
3
5
  export const useTableProps = () => {
4
6
  const columns = useColumns();
5
7
  const {
6
8
  views,
7
9
  dataExtension,
10
+ customColumns,
8
11
  filters
9
12
  } = useFeatures();
13
+ const {
14
+ emptyState
15
+ } = useEmptyStates();
16
+ const {
17
+ fetchData
18
+ } = useFetchData();
10
19
  return {
11
20
  columns,
12
21
  views,
13
22
  dataExtension,
14
- filters
23
+ customColumns,
24
+ filters,
25
+ emptyState,
26
+ fetchData
15
27
  };
16
28
  };
17
29
  //# sourceMappingURL=useTableProps.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useColumns","useFeatures","useTableProps","columns","views","dataExtension","filters"],"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,SAASA,UAAU,QAAQ,cAAc;AACzC,SAASC,WAAW,QAAQ,eAAe;AAE3C,OAAO,MAAMC,aAAa,GAAGA,CAAA,KAAM;EACjC,MAAMC,OAAO,GAAGH,UAAU,CAAC,CAAC;EAC5B,MAAM;IAAEI,KAAK;IAAEC,aAAa;IAAEC;EAAQ,CAAC,GAAGL,WAAW,CAAC,CAAC;EAEvD,OAAO;IACLE,OAAO;IACPC,KAAK;IACLC,aAAa;IACbC;EACF,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useColumns","useFeatures","useEmptyStates","useFetchData","useTableProps","columns","views","dataExtension","customColumns","filters","emptyState","fetchData"],"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,SAASA,UAAU,QAAQ,cAAc;AACzC,SAASC,WAAW,QAAQ,eAAe;AAC3C,SAASC,cAAc,QAAQ,kBAAkB;AACjD,SAASC,YAAY,QAAQ,gBAAgB;AAI7C,OAAO,MAAMC,aAAa,GAAGA,CAAA,KAQxB;EACH,MAAMC,OAAO,GAAGL,UAAU,CAAC,CAAC;EAC5B,MAAM;IAAEM,KAAK;IAAEC,aAAa;IAAEC,aAAa;IAAEC;EAAQ,CAAC,GAAGR,WAAW,CAAC,CAAC;EACtE,MAAM;IAAES;EAAW,CAAC,GAAGR,cAAc,CAAC,CAAC;EACvC,MAAM;IAAES;EAAU,CAAC,GAAGR,YAAY,CAAC,CAAC;EAEpC,OAAO;IACLE,OAAO;IACPC,KAAK;IACLC,aAAa;IACbC,aAAa;IACbC,OAAO;IACPC,UAAU;IACVC;EACF,CAAC;AACH,CAAC","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import React, { createContext, useContext } from 'react';
1
+ import React, { createContext, useContext } from "react";
2
2
  const PatternsWizardOverridesContext = /*#__PURE__*/createContext(undefined);
3
3
  export const PatternsWizardOverridesProvider = _ref => {
4
4
  let {
@@ -1 +1 @@
1
- {"version":3,"names":["React","createContext","useContext","PatternsWizardOverridesContext","undefined","PatternsWizardOverridesProvider","_ref","children","value","createElement","Provider","usePatternsWizardOverridesContext"],"sources":["../../../src/providers/PatternsWizardOverridesContext.tsx"],"sourcesContent":["import React, { createContext, useContext, ReactNode } from 'react';\nimport { IColumnValue, IMenuItem } from '../types';\n\nexport interface PatternsWizardOverridesContextProps {\n actions?: Record<string, (props: IMenuItem<any>) => void>;\n columns?: Record<string, (props: IColumnValue<any>) => void>;\n HeaderAddon?: React.FC;\n}\n\nconst PatternsWizardOverridesContext = createContext<\n PatternsWizardOverridesContextProps | undefined\n>(undefined);\n\nexport const PatternsWizardOverridesProvider: React.FC<{\n children: ReactNode;\n value: PatternsWizardOverridesContextProps;\n}> = ({ children, value }) => {\n return (\n <PatternsWizardOverridesContext.Provider value={value}>\n {children}\n </PatternsWizardOverridesContext.Provider>\n );\n};\n\nexport const usePatternsWizardOverridesContext = ():\n | PatternsWizardOverridesContextProps\n | undefined => {\n return useContext(PatternsWizardOverridesContext);\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,aAAa,EAAEC,UAAU,QAAmB,OAAO;AASnE,MAAMC,8BAA8B,gBAAGF,aAAa,CAElDG,SAAS,CAAC;AAEZ,OAAO,MAAMC,+BAGX,GAAGC,IAAA,IAAyB;EAAA,IAAxB;IAAEC,QAAQ;IAAEC;EAAM,CAAC,GAAAF,IAAA;EACvB,oBACEN,KAAA,CAAAS,aAAA,CAACN,8BAA8B,CAACO,QAAQ;IAACF,KAAK,EAAEA;EAAM,GACnDD,QACsC,CAAC;AAE9C,CAAC;AAED,OAAO,MAAMI,iCAAiC,GAAGA,CAAA,KAEhC;EACf,OAAOT,UAAU,CAACC,8BAA8B,CAAC;AACnD,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","createContext","useContext","PatternsWizardOverridesContext","undefined","PatternsWizardOverridesProvider","_ref","children","value","createElement","Provider","usePatternsWizardOverridesContext"],"sources":["../../../src/providers/PatternsWizardOverridesContext.tsx"],"sourcesContent":["import React, { createContext, useContext, ReactNode } from \"react\";\nimport {\n IColumnValue,\n IMenuItem,\n PagePrimaryActionProps,\n PageSecondaryActionProps,\n} from \"../types\";\nimport { CollectionConfig } from '@wix/patterns';\n\nexport interface PatternsWizardOverridesContextProps {\n actions?: Record<string, (props: IMenuItem<any>) => void>;\n columns?: Record<string, (props: IColumnValue<any>) => void>;\n HeaderAddon?: React.FC;\n emptyState?: Record<string, () => void>;\n usePagePrimaryAction?: () => PagePrimaryActionProps;\n usePageSecondaryAction?: () => PageSecondaryActionProps;\n fetchData?: Record<string, CollectionConfig<any, any>['fetchData']>;\n}\n\nconst PatternsWizardOverridesContext = createContext<\n PatternsWizardOverridesContextProps | undefined\n>(undefined);\n\nexport const PatternsWizardOverridesProvider: React.FC<{\n children: ReactNode;\n value: PatternsWizardOverridesContextProps;\n}> = ({ children, value }) => {\n return (\n <PatternsWizardOverridesContext.Provider value={value}>\n {children}\n </PatternsWizardOverridesContext.Provider>\n );\n};\n\nexport const usePatternsWizardOverridesContext = ():\n | PatternsWizardOverridesContextProps\n | undefined => {\n return useContext(PatternsWizardOverridesContext);\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,aAAa,EAAEC,UAAU,QAAmB,OAAO;AAmBnE,MAAMC,8BAA8B,gBAAGF,aAAa,CAElDG,SAAS,CAAC;AAEZ,OAAO,MAAMC,+BAGX,GAAGC,IAAA,IAAyB;EAAA,IAAxB;IAAEC,QAAQ;IAAEC;EAAM,CAAC,GAAAF,IAAA;EACvB,oBACEN,KAAA,CAAAS,aAAA,CAACN,8BAA8B,CAACO,QAAQ;IAACF,KAAK,EAAEA;EAAM,GACnDD,QACsC,CAAC;AAE9C,CAAC;AAED,OAAO,MAAMI,iCAAiC,GAAGA,CAAA,KAEhC;EACf,OAAOT,UAAU,CAACC,8BAA8B,CAAC;AACnD,CAAC","ignoreList":[]}