@wix/auto-patterns 1.1.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. package/dist/cjs/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.js +36 -17
  2. package/dist/cjs/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.js.map +1 -1
  3. package/dist/cjs/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.js +85 -14
  4. package/dist/cjs/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.js.map +1 -1
  5. package/dist/cjs/config/CompositeConfig.js +4 -0
  6. package/dist/cjs/config/CompositeConfig.js.map +1 -0
  7. package/dist/cjs/config/ConfigFactory.js +12 -0
  8. package/dist/cjs/config/ConfigFactory.js.map +1 -0
  9. package/dist/cjs/config/cms/CmsCompositeConfig.js +75 -0
  10. package/dist/cjs/config/cms/CmsCompositeConfig.js.map +1 -0
  11. package/dist/cjs/config/cms/filterUtils.js +82 -0
  12. package/dist/cjs/config/cms/filterUtils.js.map +1 -0
  13. package/dist/cjs/config/cms/sortUtils.js +32 -0
  14. package/dist/cjs/config/cms/sortUtils.js.map +1 -0
  15. package/dist/cjs/config/constants.js +9 -0
  16. package/dist/cjs/config/constants.js.map +1 -0
  17. package/dist/cjs/config/index.js +10 -0
  18. package/dist/cjs/config/index.js.map +1 -0
  19. package/dist/cjs/hooks/useColumns.js +100 -21
  20. package/dist/cjs/hooks/useColumns.js.map +1 -1
  21. package/dist/cjs/hooks/useEmptyStates.js +55 -0
  22. package/dist/cjs/hooks/useEmptyStates.js.map +1 -0
  23. package/dist/cjs/hooks/useFeatures.js +14 -5
  24. package/dist/cjs/hooks/useFeatures.js.map +1 -1
  25. package/dist/cjs/hooks/useFetchData.js +23 -0
  26. package/dist/cjs/hooks/useFetchData.js.map +1 -0
  27. package/dist/cjs/hooks/useFilters.js +123 -182
  28. package/dist/cjs/hooks/useFilters.js.map +1 -1
  29. package/dist/cjs/hooks/useTableProps.js +13 -1
  30. package/dist/cjs/hooks/useTableProps.js.map +1 -1
  31. package/dist/cjs/providers/ConfigContext.js +43 -0
  32. package/dist/cjs/providers/ConfigContext.js.map +1 -0
  33. package/dist/cjs/providers/PatternsWizardOverridesContext.js +1 -1
  34. package/dist/cjs/providers/PatternsWizardOverridesContext.js.map +1 -1
  35. package/dist/cjs/providers/index.js +4 -4
  36. package/dist/cjs/providers/index.js.map +1 -1
  37. package/dist/cjs/types.js +1 -9
  38. package/dist/cjs/types.js.map +1 -1
  39. package/dist/esm/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.js +15 -13
  40. package/dist/esm/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.js.map +1 -1
  41. package/dist/esm/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.js +58 -12
  42. package/dist/esm/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.js.map +1 -1
  43. package/dist/esm/config/CompositeConfig.js +2 -0
  44. package/dist/esm/config/CompositeConfig.js.map +1 -0
  45. package/dist/esm/config/ConfigFactory.js +8 -0
  46. package/dist/esm/config/ConfigFactory.js.map +1 -0
  47. package/dist/esm/config/cms/CmsCompositeConfig.js +69 -0
  48. package/dist/esm/config/cms/CmsCompositeConfig.js.map +1 -0
  49. package/dist/esm/config/cms/filterUtils.js +79 -0
  50. package/dist/esm/config/cms/filterUtils.js.map +1 -0
  51. package/dist/esm/config/cms/sortUtils.js +29 -0
  52. package/dist/esm/config/cms/sortUtils.js.map +1 -0
  53. package/dist/esm/config/constants.js +5 -0
  54. package/dist/esm/config/constants.js.map +1 -0
  55. package/dist/esm/config/index.js +2 -0
  56. package/dist/esm/config/index.js.map +1 -0
  57. package/dist/esm/hooks/useColumns.js +101 -22
  58. package/dist/esm/hooks/useColumns.js.map +1 -1
  59. package/dist/esm/hooks/useEmptyStates.js +41 -0
  60. package/dist/esm/hooks/useEmptyStates.js.map +1 -0
  61. package/dist/esm/hooks/useFeatures.js +9 -7
  62. package/dist/esm/hooks/useFeatures.js.map +1 -1
  63. package/dist/esm/hooks/useFetchData.js +18 -0
  64. package/dist/esm/hooks/useFetchData.js.map +1 -0
  65. package/dist/esm/hooks/useFilters.js +121 -180
  66. package/dist/esm/hooks/useFilters.js.map +1 -1
  67. package/dist/esm/hooks/useTableProps.js +13 -1
  68. package/dist/esm/hooks/useTableProps.js.map +1 -1
  69. package/dist/esm/providers/ConfigContext.js +29 -0
  70. package/dist/esm/providers/ConfigContext.js.map +1 -0
  71. package/dist/esm/providers/PatternsWizardOverridesContext.js +1 -1
  72. package/dist/esm/providers/PatternsWizardOverridesContext.js.map +1 -1
  73. package/dist/esm/providers/index.js +1 -1
  74. package/dist/esm/providers/index.js.map +1 -1
  75. package/dist/esm/types.js +0 -8
  76. package/dist/esm/types.js.map +1 -1
  77. package/dist/types/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.d.ts +2 -3
  78. package/dist/types/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.d.ts.map +1 -1
  79. package/dist/types/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.d.ts.map +1 -1
  80. package/dist/types/config/CompositeConfig.d.ts +8 -0
  81. package/dist/types/config/CompositeConfig.d.ts.map +1 -0
  82. package/dist/types/config/ConfigFactory.d.ts +4 -0
  83. package/dist/types/config/ConfigFactory.d.ts.map +1 -0
  84. package/dist/types/config/cms/CmsCompositeConfig.d.ts +7 -0
  85. package/dist/types/config/cms/CmsCompositeConfig.d.ts.map +1 -0
  86. package/dist/types/config/cms/filterUtils.d.ts +16 -0
  87. package/dist/types/config/cms/filterUtils.d.ts.map +1 -0
  88. package/dist/types/config/cms/sortUtils.d.ts +9 -0
  89. package/dist/types/config/cms/sortUtils.d.ts.map +1 -0
  90. package/dist/types/config/constants.d.ts +4 -0
  91. package/dist/types/config/constants.d.ts.map +1 -0
  92. package/dist/types/config/index.d.ts +2 -0
  93. package/dist/types/config/index.d.ts.map +1 -0
  94. package/dist/types/hooks/useColumns.d.ts.map +1 -1
  95. package/dist/types/hooks/useEmptyStates.d.ts +5 -0
  96. package/dist/types/hooks/useEmptyStates.d.ts.map +1 -0
  97. package/dist/types/hooks/useFeatures.d.ts +1 -0
  98. package/dist/types/hooks/useFeatures.d.ts.map +1 -1
  99. package/dist/types/hooks/useFetchData.d.ts +4 -0
  100. package/dist/types/hooks/useFetchData.d.ts.map +1 -0
  101. package/dist/types/hooks/useFilters.d.ts +4 -7
  102. package/dist/types/hooks/useFilters.d.ts.map +1 -1
  103. package/dist/types/hooks/useTableProps.d.ts +9 -4
  104. package/dist/types/hooks/useTableProps.d.ts.map +1 -1
  105. package/dist/types/providers/ConfigContext.d.ts +11 -0
  106. package/dist/types/providers/ConfigContext.d.ts.map +1 -0
  107. package/dist/types/providers/PatternsWizardOverridesContext.d.ts +7 -2
  108. package/dist/types/providers/PatternsWizardOverridesContext.d.ts.map +1 -1
  109. package/dist/types/providers/index.d.ts +1 -1
  110. package/dist/types/providers/index.d.ts.map +1 -1
  111. package/dist/types/types.d.ts +106 -28
  112. package/dist/types/types.d.ts.map +1 -1
  113. package/package.json +14 -14
  114. package/dist/cjs/providers/PatternsWizardContext.js +0 -48
  115. package/dist/cjs/providers/PatternsWizardContext.js.map +0 -1
  116. package/dist/cjs/schemas/cms.js +0 -37
  117. package/dist/cjs/schemas/cms.js.map +0 -1
  118. package/dist/cjs/schemas/index.js +0 -10
  119. package/dist/cjs/schemas/index.js.map +0 -1
  120. package/dist/cjs/schemas/schemaHandler.js +0 -4
  121. package/dist/cjs/schemas/schemaHandler.js.map +0 -1
  122. package/dist/cjs/schemas/schemaHandlerFactory.js +0 -15
  123. package/dist/cjs/schemas/schemaHandlerFactory.js.map +0 -1
  124. package/dist/cjs/utils.js +0 -76
  125. package/dist/cjs/utils.js.map +0 -1
  126. package/dist/esm/providers/PatternsWizardContext.js +0 -34
  127. package/dist/esm/providers/PatternsWizardContext.js.map +0 -1
  128. package/dist/esm/schemas/cms.js +0 -31
  129. package/dist/esm/schemas/cms.js.map +0 -1
  130. package/dist/esm/schemas/index.js +0 -2
  131. package/dist/esm/schemas/index.js.map +0 -1
  132. package/dist/esm/schemas/schemaHandler.js +0 -2
  133. package/dist/esm/schemas/schemaHandler.js.map +0 -1
  134. package/dist/esm/schemas/schemaHandlerFactory.js +0 -10
  135. package/dist/esm/schemas/schemaHandlerFactory.js.map +0 -1
  136. package/dist/esm/utils.js +0 -33
  137. package/dist/esm/utils.js.map +0 -1
  138. package/dist/types/providers/PatternsWizardContext.d.ts +0 -17
  139. package/dist/types/providers/PatternsWizardContext.d.ts.map +0 -1
  140. package/dist/types/schemas/cms.d.ts +0 -21
  141. package/dist/types/schemas/cms.d.ts.map +0 -1
  142. package/dist/types/schemas/index.d.ts +0 -2
  143. package/dist/types/schemas/index.d.ts.map +0 -1
  144. package/dist/types/schemas/schemaHandler.d.ts +0 -7
  145. package/dist/types/schemas/schemaHandler.d.ts.map +0 -1
  146. package/dist/types/schemas/schemaHandlerFactory.d.ts +0 -4
  147. package/dist/types/schemas/schemaHandlerFactory.d.ts.map +0 -1
  148. package/dist/types/utils.d.ts +0 -5
  149. package/dist/types/utils.d.ts.map +0 -1
@@ -5,188 +5,123 @@ 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
- var _types = require("../types");
10
8
  var _patterns = require("@wix/patterns");
9
+ var _providers = require("../providers");
11
10
  var _jsxFileName = "/home/builduser/work/73d19ce3378ce4dd/packages/auto-patterns/dist/cjs/hooks/useFilters.tsx";
12
11
  const useFilters = config => {
13
- var _config$filters;
14
- const filters = [];
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':
20
- filters.push({
21
- key,
22
- filter: (0, _patterns.dateRangeFilter)(),
23
- component: _patterns.DateRangeFilter,
24
- props: {
25
- accordionItemProps: {
26
- label: filter.displayName
27
- }
28
- },
29
- query: (acc, values) => {
30
- if (values[key]) {
31
- if (values[key].from) {
32
- acc.$and.push({
33
- [filter.id]: {
34
- $gte: values[key].from.toISOString()
35
- }
36
- });
37
- }
38
- if (values[key].to) {
39
- acc.$and.push({
40
- [filter.id]: {
41
- $lte: values[key].to.toISOString()
42
- }
43
- });
44
- }
45
- }
46
- return acc;
47
- }
48
- });
49
- break;
50
- case 'multi-select':
51
- filters.push({
52
- key,
53
- filter: (0, _patterns.idNameArrayFilter)(),
54
- component: _patterns.MultiSelectCheckboxFilter,
55
- collectionData: ((_filter$static = filter.static) == null ? void 0 : _filter$static.values.map(value => {
56
- return {
57
- id: value.id,
58
- name: value.value
59
- };
60
- })) ?? [],
61
- props: {
62
- accordionItemProps: {
63
- label: filter.displayName
64
- },
65
- popoverProps: {
66
- appendTo: 'window'
67
- }
68
- },
69
- query: (acc, values) => {
70
- if (values[key]) {
71
- acc.$and.push({
72
- [filter.id]: {
73
- $in: values[key].map(item => item.id)
74
- }
75
- });
76
- }
77
- return acc;
78
- }
79
- });
80
- break;
81
- case 'single':
82
- filters.push({
83
- key,
84
- filter: (0, _patterns.idNameArrayFilter)(),
85
- component: _patterns.SingleSelectFilter,
86
- collectionData: ((_filter$static2 = filter.static) == null ? void 0 : _filter$static2.values.map(value => {
87
- return {
88
- id: value.id,
89
- name: value.value
90
- };
91
- })) ?? [],
92
- props: {
93
- placeholder: `Select ${filter.displayName}`,
94
- accordionItemProps: {
95
- label: filter.displayName
96
- }
97
- },
98
- query: (acc, values) => {
99
- if (values[key]) {
100
- if (filter.definition.type === _types.SupportedValueTypeEnum.BOOLEAN) {
101
- acc.$and.push({
102
- [filter.id]: {
103
- $eq: values[key].map(item => item.id === 'true' ? true : false)
104
- }
105
- });
106
- } else {
107
- acc.$and.push({
108
- [filter.id]: {
109
- $in: values[key].map(item => item.id)
110
- }
111
- });
112
- }
113
- }
114
- return acc;
115
- }
116
- });
117
- break;
118
- case 'radio-group':
119
- filters.push({
120
- key,
121
- filter: (0, _patterns.idNameArrayFilter)(),
122
- component: _patterns.RadioGroupFilter,
123
- props: {
124
- accordionItemProps: {
125
- label: filter.displayName
126
- },
127
- data: ((_filter$static3 = filter.static) == null ? void 0 : _filter$static3.values.map(value => {
128
- return {
129
- id: value.id,
130
- name: value.value
131
- };
132
- })) ?? []
133
- },
134
- query: (acc, values) => {
135
- if (values[key]) {
136
- if (filter.definition.type === _types.SupportedValueTypeEnum.BOOLEAN) {
137
- acc.$and.push({
138
- [filter.id]: {
139
- $eq: values[key].map(item => item.id === 'true' ? true : false)
140
- }
141
- });
142
- } else {
143
- acc.$and.push({
144
- [filter.id]: {
145
- $in: values[key].map(item => item.id)
146
- }
147
- });
148
- }
12
+ const {
13
+ schema
14
+ } = (0, _providers.useConfig)();
15
+ const filters = _react.default.useMemo(() => {
16
+ var _config$filters;
17
+ const currFilters = [];
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':
49
+ currFilters.push({
50
+ key,
51
+ filter: (0, _patterns.dateRangeFilter)(),
52
+ component: _patterns.DateRangeFilter,
53
+ props: {
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
149
58
  }
150
- return acc;
151
- }
152
- });
153
- break;
154
- case 'number':
155
- filters.push({
156
- key,
157
- filter: (0, _patterns.numberRangeFilter)(),
158
- component: _patterns.NumberRangeFilter,
159
- props: {
160
- accordionItemProps: {
161
- label: filter.displayName
162
- },
163
- min: ((_filter$numberConfig = filter.numberConfig) == null ? void 0 : _filter$numberConfig.min) ?? 0,
164
- max: ((_filter$numberConfig2 = filter.numberConfig) == null ? void 0 : _filter$numberConfig2.max) ?? 100,
165
- decimal: (_filter$numberConfig3 = filter.numberConfig) == null ? void 0 : _filter$numberConfig3.decimal
166
- },
167
- query: (acc, values) => {
168
- if (values[key]) {
169
- if (values[key].from) {
170
- acc.$and.push({
171
- [filter.id]: {
172
- $gte: values[key].from
173
- }
174
- });
175
- }
176
- if (values[key].to) {
177
- acc.$and.push({
178
- [filter.id]: {
179
- $lte: values[key].to
180
- }
181
- });
182
- }
59
+ });
60
+ break;
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':
109
+ currFilters.push({
110
+ key,
111
+ filter: (0, _patterns.numberRangeFilter)(),
112
+ component: _patterns.NumberRangeFilter,
113
+ props: {
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,
117
+ decimal: (_filter$numberConfig3 = filter.numberConfig) == null ? void 0 : _filter$numberConfig3.decimal
183
118
  }
184
- return acc;
185
- }
186
- });
187
- break;
188
- }
189
- });
119
+ });
120
+ break;
121
+ }
122
+ });
123
+ return currFilters;
124
+ }, [config.filters, schema.fields]);
190
125
  const FilterCollectionComponent = ({
191
126
  filter
192
127
  }) => {
@@ -202,20 +137,26 @@ const useFilters = config => {
202
137
  __self: void 0,
203
138
  __source: {
204
139
  fileName: _jsxFileName,
205
- lineNumber: 218,
140
+ lineNumber: 149,
206
141
  columnNumber: 7
207
142
  }
208
143
  }));
209
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]);
210
152
  return filters.reduce((acc, filter) => {
211
153
  acc.filters[filter.key] = filter.filter;
212
- acc.queries.push(filter.query);
213
154
  acc.components.push(filter.collectionData ? /*#__PURE__*/_react.default.createElement(FilterCollectionComponent, {
214
155
  filter: filter,
215
156
  __self: void 0,
216
157
  __source: {
217
158
  fileName: _jsxFileName,
218
- lineNumber: 234,
159
+ lineNumber: 174,
219
160
  columnNumber: 11
220
161
  }
221
162
  }) : /*#__PURE__*/_react.default.createElement(filter.component, (0, _extends2.default)({
@@ -225,7 +166,7 @@ const useFilters = config => {
225
166
  __self: void 0,
226
167
  __source: {
227
168
  fileName: _jsxFileName,
228
- lineNumber: 236,
169
+ lineNumber: 176,
229
170
  columnNumber: 11
230
171
  }
231
172
  })));
@@ -233,7 +174,7 @@ const useFilters = config => {
233
174
  }, {
234
175
  filters: {},
235
176
  components: [],
236
- queries: []
177
+ collectionToolbarFiltersProps
237
178
  });
238
179
  };
239
180
  exports.useFilters = useFilters;
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_lodash","_types","_patterns","_jsxFileName","useFilters","config","_config$filters","filters","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","query","acc","values","from","$and","id","$gte","toISOString","to","$lte","idNameArrayFilter","MultiSelectCheckboxFilter","collectionData","static","map","value","name","popoverProps","appendTo","$in","item","SingleSelectFilter","placeholder","definition","type","SupportedValueTypeEnum","BOOLEAN","$eq","RadioGroupFilter","data","numberRangeFilter","NumberRangeFilter","min","numberConfig","max","decimal","FilterCollectionComponent","collection","useStaticListFilterCollection","default","createElement","_extends2","__self","__source","fileName","lineNumber","columnNumber","reduce","queries","components","exports"],"sources":["../../../src/hooks/useFilters.tsx"],"sourcesContent":["import React from 'react';\nimport _ from 'lodash';\nimport { ProjectConfig, SupportedValueTypeEnum } 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 query: (\n acc: { $and: Record<string, any> },\n values: Record<string, any>,\n ) => Record<string, 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 queries: FilterOptions['query'][];\n}\n\nexport const useFilters = (config: ProjectConfig) => {\n const filters: FilterOptions[] = [];\n\n config.filters?.forEach((filter) => {\n const key = _.camelCase(filter.displayName);\n\n switch (filter.componentType) {\n case 'date-range':\n filters.push({\n key,\n filter: dateRangeFilter(),\n component: DateRangeFilter,\n props: {\n accordionItemProps: { label: filter.displayName },\n },\n query: (acc, values) => {\n if (values[key]) {\n if (values[key].from) {\n acc.$and.push({\n [filter.id]: {\n $gte: values[key].from.toISOString(),\n },\n });\n }\n\n if (values[key].to) {\n acc.$and.push({\n [filter.id]: {\n $lte: values[key].to.toISOString(),\n },\n });\n }\n }\n\n return acc;\n },\n });\n\n break;\n case 'multi-select':\n filters.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 query: (acc, values) => {\n if (values[key]) {\n acc.$and.push({\n [filter.id]: {\n $in: values[key].map((item: any) => item.id),\n },\n });\n }\n\n return acc;\n },\n });\n\n break;\n case 'single':\n filters.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 query: (acc, values) => {\n if (values[key]) {\n if (filter.definition.type === SupportedValueTypeEnum.BOOLEAN) {\n acc.$and.push({\n [filter.id]: {\n $eq: values[key].map((item: any) =>\n item.id === 'true' ? true : false,\n ),\n },\n });\n } else {\n acc.$and.push({\n [filter.id]: {\n $in: values[key].map((item: any) => item.id),\n },\n });\n }\n }\n return acc;\n },\n });\n\n break;\n case 'radio-group':\n filters.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 query: (acc, values) => {\n if (values[key]) {\n if (filter.definition.type === SupportedValueTypeEnum.BOOLEAN) {\n acc.$and.push({\n [filter.id]: {\n $eq: values[key].map((item: any) =>\n item.id === 'true' ? true : false,\n ),\n },\n });\n } else {\n acc.$and.push({\n [filter.id]: {\n $in: values[key].map((item: any) => item.id),\n },\n });\n }\n }\n return acc;\n },\n });\n\n break;\n case 'number':\n filters.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 query: (acc, values) => {\n if (values[key]) {\n if (values[key].from) {\n acc.$and.push({\n [filter.id]: {\n $gte: values[key].from,\n },\n });\n }\n\n if (values[key].to) {\n acc.$and.push({\n [filter.id]: {\n $lte: values[key].to,\n },\n });\n }\n }\n return acc;\n },\n });\n\n break;\n }\n });\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.queries.push(filter.query);\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: [], queries: [] },\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_patterns","_providers","_jsxFileName","useFilters","config","schema","useConfig","filters","React","useMemo","_config$filters","currFilters","items","forEach","filter","_filter$dateConfig","_filter$dateConfig2","_filter$dateConfig3","_filter$numberConfig","_filter$numberConfig2","_filter$numberConfig3","fieldId","key","fieldDefinition","fields","label","displayName","initiallyOpen","sectionTitle","accordionItemProps","toolbarTagProps","commonFilterProps","toolbarItemProps","type","push","dateRangeFilter","component","DateRangeFilter","props","mode","dateConfig","dateRangeOptions","filterByTime","numberRangeFilter","NumberRangeFilter","min","numberConfig","max","decimal","FilterCollectionComponent","collection","useStaticListFilterCollection","collectionData","default","createElement","_extends2","__self","__source","fileName","lineNumber","columnNumber","collectionToolbarFiltersProps","_config$filters2","_config$filters3","inline","maxToolbarFilters","panelTitle","reduce","acc","components","exports"],"sources":["../../../src/hooks/useFilters.tsx"],"sourcesContent":["import React from 'react';\nimport { PageConfig } from '../types';\nimport {\n CollectionToolbarFiltersProps,\n DateRangeFilter,\n dateRangeFilter,\n Filter,\n NumberRangeFilter,\n numberRangeFilter,\n useStaticListFilterCollection,\n} from '@wix/patterns';\nimport { useConfig } from '../providers';\n\nexport interface FilterOptions {\n key: string;\n filter: Filter<any>;\n component: React.ElementType;\n collectionData?: { id: string; name: string }[];\n props: Record<string, any>;\n}\n\nexport interface ReturnValue {\n filters: { [key: string]: Filter<any> };\n components: React.JSX.Element[];\n collectionToolbarFiltersProps: Pick<\n CollectionToolbarFiltersProps,\n 'inline' | 'panelTitle' | 'useNewFilters'\n >;\n}\n\nexport const useFilters = (config: PageConfig) => {\n const { schema } = useConfig();\n const filters = React.useMemo(() => {\n const currFilters: FilterOptions[] = [];\n config.filters?.items.forEach((filter) => {\n const { fieldId: key } = filter;\n const fieldDefinition = schema.fields[key];\n if (!fieldDefinition) {\n return;\n }\n\n const label = filter.displayName || fieldDefinition.displayName;\n const { initiallyOpen, sectionTitle } = filter.accordionItemProps || {};\n const { toolbarTagProps } = filter;\n\n const commonFilterProps = {\n accordionItemProps: {\n label,\n initiallyOpen,\n sectionTitle,\n },\n toolbarItemProps: {\n label,\n },\n toolbarTagProps,\n };\n\n switch (fieldDefinition.type) {\n case 'DATE':\n case 'DATETIME':\n currFilters.push({\n key,\n filter: dateRangeFilter(),\n component: DateRangeFilter,\n props: {\n ...commonFilterProps,\n mode: filter.dateConfig?.mode,\n dateRangeOptions: filter.dateConfig?.dateRangeOptions,\n filterByTime: filter.dateConfig?.filterByTime,\n },\n });\n\n break;\n // case 'multi-select':\n // currFilters.push({\n // key,\n // filter: idNameArrayFilter(),\n // component: MultiSelectCheckboxFilter,\n // collectionData:\n // filter.static?.values.map((value) => {\n // return { id: value.id, name: value.value };\n // }) ?? [],\n // props: {\n // accordionItemProps: { label: filter.displayName },\n // popoverProps: { appendTo: 'window' },\n // },\n // });\n\n // break;\n // case 'single':\n // currFilters.push({\n // key,\n // filter: idNameArrayFilter(),\n // component: SingleSelectFilter,\n // collectionData:\n // filter.static?.values.map((value) => {\n // return { id: value.id, name: value.value };\n // }) ?? [],\n // props: {\n // placeholder: `Select ${filter.displayName}`,\n // accordionItemProps: { label: filter.displayName },\n // },\n // });\n\n // break;\n // case 'radio-group':\n // currFilters.push({\n // key,\n // filter: idNameArrayFilter(),\n // component: RadioGroupFilter,\n // props: {\n // accordionItemProps: { label: filter.displayName },\n // data:\n // filter.static?.values.map((value) => {\n // return { id: value.id, name: value.value };\n // }) ?? [],\n // },\n // });\n\n // break;\n case 'NUMBER':\n currFilters.push({\n key,\n filter: numberRangeFilter(),\n component: NumberRangeFilter,\n props: {\n ...commonFilterProps,\n min: filter.numberConfig?.min,\n max: filter.numberConfig?.max,\n decimal: filter.numberConfig?.decimal,\n },\n });\n\n break;\n }\n });\n return currFilters;\n }, [config.filters, schema.fields]);\n\n const FilterCollectionComponent: React.FC<{\n filter: FilterOptions;\n }> = ({ filter }) => {\n const collection = useStaticListFilterCollection(\n filter.filter,\n filter.collectionData ?? [],\n );\n\n return (\n <filter.component\n key={filter.key}\n filter={filter.filter}\n {...(filter.collectionData ? { collection } : {})}\n collection={collection}\n {...filter.props}\n />\n );\n };\n\n const collectionToolbarFiltersProps = React.useMemo<\n Pick<CollectionToolbarFiltersProps, 'inline' | 'panelTitle'>\n >(\n () => ({\n inline: config.filters?.maxToolbarFilters || 0,\n panelTitle: config.filters?.panelTitle,\n }),\n [config.filters],\n );\n\n return filters.reduce<ReturnValue>(\n (acc, filter) => {\n acc.filters[filter.key] = filter.filter;\n acc.components.push(\n filter.collectionData ? (\n <FilterCollectionComponent filter={filter} />\n ) : (\n <filter.component\n key={filter.key}\n filter={filter.filter}\n {...filter.props}\n />\n ),\n );\n\n return acc;\n },\n { filters: {}, components: [], collectionToolbarFiltersProps },\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -4,18 +4,30 @@ exports.__esModule = true;
4
4
  exports.useTableProps = void 0;
5
5
  var _useColumns = require("./useColumns");
6
6
  var _useFeatures = require("./useFeatures");
7
+ var _useEmptyStates = require("./useEmptyStates");
8
+ var _useFetchData = require("./useFetchData");
7
9
  const useTableProps = () => {
8
10
  const columns = (0, _useColumns.useColumns)();
9
11
  const {
10
12
  views,
11
13
  dataExtension,
14
+ customColumns,
12
15
  filters
13
16
  } = (0, _useFeatures.useFeatures)();
17
+ const {
18
+ emptyState
19
+ } = (0, _useEmptyStates.useEmptyStates)();
20
+ const {
21
+ fetchData
22
+ } = (0, _useFetchData.useFetchData)();
14
23
  return {
15
24
  columns,
16
25
  views,
17
26
  dataExtension,
18
- 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":[]}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.useConfig = exports.ConfigProvider = void 0;
5
+ var _react = _interopRequireWildcard(require("react"));
6
+ var _ConfigFactory = require("../config/ConfigFactory");
7
+ var _jsxFileName = "/home/builduser/work/73d19ce3378ce4dd/packages/auto-patterns/dist/cjs/providers/ConfigContext.tsx";
8
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
9
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
10
+ const ConfigContext = /*#__PURE__*/(0, _react.createContext)(null);
11
+ const ConfigProvider = ({
12
+ page,
13
+ children
14
+ }) => {
15
+ const [config, setConfig] = (0, _react.useState)(null);
16
+ (0, _react.useEffect)(() => {
17
+ (0, _ConfigFactory.getCompositeConfig)(page).then(setConfig).catch(error => {
18
+ console.error('Error fetching config:', error);
19
+ });
20
+ }, [page]);
21
+ if (!config) {
22
+ return null;
23
+ }
24
+ return /*#__PURE__*/_react.default.createElement(ConfigContext.Provider, {
25
+ value: config,
26
+ __self: void 0,
27
+ __source: {
28
+ fileName: _jsxFileName,
29
+ lineNumber: 35,
30
+ columnNumber: 5
31
+ }
32
+ }, children);
33
+ };
34
+ exports.ConfigProvider = ConfigProvider;
35
+ const useConfig = () => {
36
+ const context = (0, _react.useContext)(ConfigContext);
37
+ if (!context) {
38
+ throw new Error('useConfig must be used within a ConfigProvider');
39
+ }
40
+ return context;
41
+ };
42
+ exports.useConfig = useConfig;
43
+ //# sourceMappingURL=ConfigContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_ConfigFactory","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ConfigContext","createContext","ConfigProvider","page","children","config","setConfig","useState","useEffect","getCompositeConfig","then","catch","error","console","createElement","Provider","value","__self","__source","fileName","lineNumber","columnNumber","exports","useConfig","context","useContext","Error"],"sources":["../../../src/providers/ConfigContext.tsx"],"sourcesContent":["import React, {\n createContext,\n useContext,\n useEffect,\n useState,\n ReactNode,\n} from 'react';\nimport { PageConfig } from '../types';\nimport { CompositeConfig } from '../config/CompositeConfig';\nimport { getCompositeConfig } from '../config/ConfigFactory';\n\nconst ConfigContext = createContext<CompositeConfig | null>(null);\n\ninterface ConfigProviderProps {\n page: PageConfig;\n children: ReactNode;\n}\n\nexport const ConfigProvider = ({ page, children }: ConfigProviderProps) => {\n const [config, setConfig] = useState<CompositeConfig | null>(null);\n\n useEffect(() => {\n getCompositeConfig(page)\n .then(setConfig)\n .catch((error) => {\n console.error('Error fetching config:', error);\n });\n }, [page]);\n\n if (!config) {\n return null;\n }\n\n return (\n <ConfigContext.Provider value={config}>{children}</ConfigContext.Provider>\n );\n};\n\nexport const useConfig = (): CompositeConfig => {\n const context = useContext(ConfigContext);\n if (!context) {\n throw new Error('useConfig must be used within a ConfigProvider');\n }\n return context;\n};\n"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AASA,IAAAC,cAAA,GAAAD,OAAA;AAA6D,IAAAE,YAAA;AAAA,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAL,wBAAAK,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAE7D,MAAMW,aAAa,gBAAG,IAAAC,oBAAa,EAAyB,IAAI,CAAC;AAO1D,MAAMC,cAAc,GAAGA,CAAC;EAAEC,IAAI;EAAEC;AAA8B,CAAC,KAAK;EACzE,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAG,IAAAC,eAAQ,EAAyB,IAAI,CAAC;EAElE,IAAAC,gBAAS,EAAC,MAAM;IACd,IAAAC,iCAAkB,EAACN,IAAI,CAAC,CACrBO,IAAI,CAACJ,SAAS,CAAC,CACfK,KAAK,CAAEC,KAAK,IAAK;MAChBC,OAAO,CAACD,KAAK,CAAC,wBAAwB,EAAEA,KAAK,CAAC;IAChD,CAAC,CAAC;EACN,CAAC,EAAE,CAACT,IAAI,CAAC,CAAC;EAEV,IAAI,CAACE,MAAM,EAAE;IACX,OAAO,IAAI;EACb;EAEA,oBACE9B,MAAA,CAAAW,OAAA,CAAA4B,aAAA,CAACd,aAAa,CAACe,QAAQ;IAACC,KAAK,EAAEX,MAAO;IAAAY,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAxC,YAAA;MAAAyC,UAAA;MAAAC,YAAA;IAAA;EAAA,GAAEjB,QAAiC,CAAC;AAE9E,CAAC;AAACkB,OAAA,CAAApB,cAAA,GAAAA,cAAA;AAEK,MAAMqB,SAAS,GAAGA,CAAA,KAAuB;EAC9C,MAAMC,OAAO,GAAG,IAAAC,iBAAU,EAACzB,aAAa,CAAC;EACzC,IAAI,CAACwB,OAAO,EAAE;IACZ,MAAM,IAAIE,KAAK,CAAC,gDAAgD,CAAC;EACnE;EACA,OAAOF,OAAO;AAChB,CAAC;AAACF,OAAA,CAAAC,SAAA,GAAAA,SAAA","ignoreList":[]}
@@ -16,7 +16,7 @@ const PatternsWizardOverridesProvider = ({
16
16
  __self: void 0,
17
17
  __source: {
18
18
  fileName: _jsxFileName,
19
- lineNumber: 19,
19
+ lineNumber: 29,
20
20
  columnNumber: 5
21
21
  }
22
22
  }, children);
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","PatternsWizardOverridesContext","createContext","undefined","PatternsWizardOverridesProvider","children","value","createElement","Provider","__self","__source","fileName","lineNumber","columnNumber","exports","usePatternsWizardOverridesContext","useContext"],"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,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAoE,IAAAC,YAAA;AAAA,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAJ,wBAAAI,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AASpE,MAAMW,8BAA8B,gBAAG,IAAAC,oBAAa,EAElDC,SAAS,CAAC;AAEL,MAAMC,+BAGX,GAAGA,CAAC;EAAEC,QAAQ;EAAEC;AAAM,CAAC,KAAK;EAC5B,oBACE7B,MAAA,CAAAU,OAAA,CAAAoB,aAAA,CAACN,8BAA8B,CAACO,QAAQ;IAACF,KAAK,EAAEA,KAAM;IAAAG,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAA/B,YAAA;MAAAgC,UAAA;MAAAC,YAAA;IAAA;EAAA,GACnDR,QACsC,CAAC;AAE9C,CAAC;AAACS,OAAA,CAAAV,+BAAA,GAAAA,+BAAA;AAEK,MAAMW,iCAAiC,GAAGA,CAAA,KAEhC;EACf,OAAO,IAAAC,iBAAU,EAACf,8BAA8B,CAAC;AACnD,CAAC;AAACa,OAAA,CAAAC,iCAAA,GAAAA,iCAAA","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","PatternsWizardOverridesContext","createContext","undefined","PatternsWizardOverridesProvider","children","value","createElement","Provider","__self","__source","fileName","lineNumber","columnNumber","exports","usePatternsWizardOverridesContext","useContext"],"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,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAoE,IAAAC,YAAA;AAAA,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAJ,wBAAAI,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAmBpE,MAAMW,8BAA8B,gBAAG,IAAAC,oBAAa,EAElDC,SAAS,CAAC;AAEL,MAAMC,+BAGX,GAAGA,CAAC;EAAEC,QAAQ;EAAEC;AAAM,CAAC,KAAK;EAC5B,oBACE7B,MAAA,CAAAU,OAAA,CAAAoB,aAAA,CAACN,8BAA8B,CAACO,QAAQ;IAACF,KAAK,EAAEA,KAAM;IAAAG,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAA/B,YAAA;MAAAgC,UAAA;MAAAC,YAAA;IAAA;EAAA,GACnDR,QACsC,CAAC;AAE9C,CAAC;AAACS,OAAA,CAAAV,+BAAA,GAAAA,+BAAA;AAEK,MAAMW,iCAAiC,GAAGA,CAAA,KAEhC;EACf,OAAO,IAAAC,iBAAU,EAACf,8BAA8B,CAAC;AACnD,CAAC;AAACa,OAAA,CAAAC,iCAAA,GAAAA,iCAAA","ignoreList":[]}
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- var _PatternsWizardContext = require("./PatternsWizardContext");
5
- Object.keys(_PatternsWizardContext).forEach(function (key) {
4
+ var _ConfigContext = require("./ConfigContext");
5
+ Object.keys(_ConfigContext).forEach(function (key) {
6
6
  if (key === "default" || key === "__esModule") return;
7
- if (key in exports && exports[key] === _PatternsWizardContext[key]) return;
8
- exports[key] = _PatternsWizardContext[key];
7
+ if (key in exports && exports[key] === _ConfigContext[key]) return;
8
+ exports[key] = _ConfigContext[key];
9
9
  });
10
10
  var _PatternsWizardOverridesContext = require("./PatternsWizardOverridesContext");
11
11
  Object.keys(_PatternsWizardOverridesContext).forEach(function (key) {
@@ -1 +1 @@
1
- {"version":3,"names":["_PatternsWizardContext","require","Object","keys","forEach","key","exports","_PatternsWizardOverridesContext"],"sources":["../../../src/providers/index.ts"],"sourcesContent":["export * from './PatternsWizardContext';\nexport * from './PatternsWizardOverridesContext';\n"],"mappings":";;;AAAA,IAAAA,sBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,sBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,sBAAA,CAAAK,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAL,sBAAA,CAAAK,GAAA;AAAA;AACA,IAAAE,+BAAA,GAAAN,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAI,+BAAA,EAAAH,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAE,+BAAA,CAAAF,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAE,+BAAA,CAAAF,GAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["_ConfigContext","require","Object","keys","forEach","key","exports","_PatternsWizardOverridesContext"],"sources":["../../../src/providers/index.ts"],"sourcesContent":["export * from './ConfigContext';\nexport * from './PatternsWizardOverridesContext';\n"],"mappings":";;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,cAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,cAAA,CAAAK,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAL,cAAA,CAAAK,GAAA;AAAA;AACA,IAAAE,+BAAA,GAAAN,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAI,+BAAA,EAAAH,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAE,+BAAA,CAAAF,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAE,+BAAA,CAAAF,GAAA;AAAA","ignoreList":[]}
package/dist/cjs/types.js CHANGED
@@ -1,21 +1,13 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.SupportedValueTypeEnum = exports.ComponentTypeEnum = exports.CollectionTypeEnum = void 0;
4
+ exports.ComponentTypeEnum = exports.CollectionTypeEnum = void 0;
5
5
  let CollectionTypeEnum = exports.CollectionTypeEnum = /*#__PURE__*/function (CollectionTypeEnum) {
6
6
  CollectionTypeEnum["TABLE"] = "Table";
7
7
  CollectionTypeEnum["GRID"] = "Grid";
8
8
  CollectionTypeEnum["TABLE_GRID_SWITCH"] = "TableGridSwitch";
9
9
  return CollectionTypeEnum;
10
10
  }({});
11
- let SupportedValueTypeEnum = exports.SupportedValueTypeEnum = /*#__PURE__*/function (SupportedValueTypeEnum) {
12
- SupportedValueTypeEnum["STRING"] = "STRING";
13
- SupportedValueTypeEnum["NUMBER"] = "NUMBER";
14
- SupportedValueTypeEnum["BOOLEAN"] = "BOOLEAN";
15
- SupportedValueTypeEnum["DATE"] = "DATE";
16
- SupportedValueTypeEnum["ENUM"] = "ENUM";
17
- return SupportedValueTypeEnum;
18
- }({});
19
11
  let ComponentTypeEnum = exports.ComponentTypeEnum = /*#__PURE__*/function (ComponentTypeEnum) {
20
12
  ComponentTypeEnum["SINGLE"] = "single";
21
13
  ComponentTypeEnum["MULTI_SELECT"] = "multi-select";
@@ -1 +1 @@
1
- {"version":3,"names":["CollectionTypeEnum","exports","SupportedValueTypeEnum","ComponentTypeEnum"],"sources":["../../src/types.ts"],"sourcesContent":["export enum CollectionTypeEnum {\n TABLE = 'Table',\n GRID = 'Grid',\n TABLE_GRID_SWITCH = 'TableGridSwitch',\n}\n\nexport enum SupportedValueTypeEnum {\n STRING = 'STRING',\n NUMBER = 'NUMBER',\n BOOLEAN = 'BOOLEAN',\n DATE = 'DATE',\n ENUM = 'ENUM',\n}\n\nexport interface Column {\n id: string;\n name: string;\n type: SupportedValueTypeEnum;\n width?: string;\n}\n\nexport interface FilterValue {\n id: string;\n value: string;\n system?: boolean;\n deletable?: boolean;\n}\n\nexport enum ComponentTypeEnum {\n SINGLE = 'single',\n MULTI_SELECT = 'multi-select',\n RADIO_GROUP = 'radio-group',\n NUMBER = 'number',\n DATE_RANGE = 'date-range',\n}\n\nexport interface FieldDefinition {\n id: string;\n name: string;\n description?: string;\n path: string;\n type?: SupportedValueTypeEnum;\n schemaName?: string;\n enums?: string[];\n}\n\nexport interface Filter {\n id: string;\n displayName: string;\n componentType: ComponentTypeEnum;\n definition: FieldDefinition;\n numberConfig?: {\n min?: number;\n max?: number;\n decimal?: boolean;\n };\n static?: {\n values: FilterValue[];\n };\n}\n\nexport interface CollectionConfig {\n type: CollectionTypeEnum;\n grid?: GridCollectionConfig;\n}\n\nexport interface GridCollectionConfig {\n renderItem: {\n title: string;\n subtitle?: string;\n primaryActionProps?: {\n label: string;\n // onClick: () => void;\n };\n secondaryActionProps?: {\n label: string;\n // onClick: () => void;\n };\n };\n imagePlacement?: 'top' | 'side';\n renderAddItem?: boolean;\n sections?: {\n title: string;\n action?: {\n label: string;\n // onClick: () => void;\n };\n };\n dragAndDrop?: boolean;\n}\n\ninterface Action {\n id: string;\n text: string;\n icon: string;\n}\nexport interface ProjectConfig {\n pageTitle: string;\n pageSubtitle: string;\n viewType: string;\n collectionId: string;\n entityTypeSource: EntityTypeSource;\n entityId: string;\n entityName: string;\n columns: Column[];\n collectionConfig: CollectionConfig;\n entitySchemaName: string;\n filters?: Filter[];\n actions?: Action[];\n views?: {\n enabled: boolean;\n };\n customFields?: {\n enabled: boolean;\n };\n optimisticActions?: {\n enabled: boolean;\n };\n}\n\nexport interface ProjectDTO {\n key: string;\n id: string;\n userId: string;\n createdAt: Date;\n updatedAt: Date;\n config: ProjectConfig;\n}\n\nexport interface PatternsWizardBaseProps {\n configuration: ProjectConfig;\n}\n\nexport type EntityProps = { [key: string]: any };\n\nexport interface IMenuItem<T extends EntityProps = {}> {\n item: T;\n}\nexport interface IColumnValue<T> {\n value: T;\n}\n\nexport type EntityTypeSource = 'cms';\n\nexport interface Field {\n id: string;\n type: string;\n}\n\n// TODO: fill this out\nexport interface SchemaConfig {\n fields: Field[];\n}\n"],"mappings":";;;;IAAYA,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,0BAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAA,OAAlBA,kBAAkB;AAAA;AAAA,IAMlBE,sBAAsB,GAAAD,OAAA,CAAAC,sBAAA,0BAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAA,OAAtBA,sBAAsB;AAAA;AAAA,IAsBtBC,iBAAiB,GAAAF,OAAA,CAAAE,iBAAA,0BAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA,OAyH7B","ignoreList":[]}
1
+ {"version":3,"names":["CollectionTypeEnum","exports","ComponentTypeEnum"],"sources":["../../src/types.ts"],"sourcesContent":["import {\n CollectionToolbarFiltersProps,\n PrimaryActions,\n SecondaryActions,\n} from '@wix/patterns';\nimport { DateRangeFilterMode, DateRangeOptions } from '@wix/patterns/core';\n\nexport enum CollectionTypeEnum {\n TABLE = 'Table',\n GRID = 'Grid',\n TABLE_GRID_SWITCH = 'TableGridSwitch',\n}\n\nexport type PatternsColumnType =\n | 'STRING'\n | 'NUMBER'\n | 'BOOLEAN'\n | 'DATE'\n | 'DATETIME'\n | 'ARRAY'\n | 'ENUM';\n\nexport interface Column {\n id: string;\n name: string;\n width?: string;\n sortable?: boolean;\n defaultSortOrder?: 'asc' | 'desc';\n sortMode?: 'asc' | 'desc';\n defaultHidden?: boolean;\n hiddenFromCustomColumnsSelection?: boolean;\n hideable?: boolean;\n reorderDisabled?: boolean;\n}\n\nexport interface EmptyState {\n title?: string;\n subtitle?: string;\n image?: {\n id: string;\n };\n addNewCta?: {\n id?: string;\n text?: string;\n };\n customCta?: {\n id?: string;\n };\n}\n\nexport interface FetchData {\n id: string;\n}\n\nexport interface FilterValue {\n id: string;\n value: string;\n system?: boolean;\n deletable?: boolean;\n}\n\nexport enum ComponentTypeEnum {\n SINGLE = 'single',\n MULTI_SELECT = 'multi-select',\n RADIO_GROUP = 'radio-group',\n NUMBER = 'number',\n DATE_RANGE = 'date-range',\n}\n\nexport interface FiltersConfig {\n items: Filter[];\n maxToolbarFilters?: CollectionToolbarFiltersProps['inline'];\n panelTitle?: string;\n}\n\nexport interface Filter {\n fieldId: string;\n displayName?: string;\n accordionItemProps?: {\n initiallyOpen?: boolean;\n sectionTitle?: string;\n };\n toolbarTagProps?: {\n label: string;\n };\n componentType?: ComponentTypeEnum;\n numberConfig?: {\n min?: number;\n max?: number;\n decimal?: boolean;\n };\n dateConfig?: {\n mode?: DateRangeFilterMode;\n dateRangeOptions?: DateRangeOptions;\n filterByTime?: boolean;\n };\n static?: {\n values: FilterValue[];\n };\n}\n\nexport interface CollectionConfig {\n type: CollectionTypeEnum;\n grid?: GridCollectionConfig;\n}\n\nexport interface GridCollectionConfig {\n renderItem: {\n title: string;\n subtitle?: string;\n primaryActionProps?: {\n label: string;\n // onClick: () => void;\n };\n secondaryActionProps?: {\n label: string;\n // onClick: () => void;\n };\n };\n imagePlacement?: 'top' | 'side';\n renderAddItem?: boolean;\n sections?: {\n title: string;\n action?: {\n label: string;\n // onClick: () => void;\n };\n };\n dragAndDrop?: boolean;\n}\n\ninterface Action {\n id: string;\n text: string;\n icon: string;\n}\n\ninterface ToolbarTitle {\n title: string;\n subtitle?: {\n text: string;\n info?: {\n content: {\n text: string;\n link?: {\n url: string;\n label: string;\n };\n };\n };\n learnMore?: {\n url: string;\n label?: string;\n };\n };\n showTotal?: boolean;\n itemsLimit?: number;\n}\n\nexport interface PageConfig {\n pageTitle: { text: string; hideTotal?: boolean };\n pageSubtitle?: {\n text: string;\n learnMore?: {\n url: string;\n label?: string;\n };\n };\n search?: { shown?: boolean };\n toolbarTitle?: ToolbarTitle;\n limit?: number;\n persistQueryToUrl?: boolean;\n disableAutoSelectAllCount?: boolean;\n selectionConsistencyMode?: 'preserve' | 'clear';\n viewType: string;\n collectionId: string;\n entityTypeSource: EntityTypeSource;\n entityId: string;\n entityName: string;\n columns: Column[];\n collectionConfig: CollectionConfig;\n entitySchemaName: string;\n filters?: FiltersConfig;\n actions?: Action[];\n emptyState?: EmptyState;\n fetchData?: FetchData;\n views?: {\n enabled: boolean;\n };\n customFields?: {\n enabled: boolean;\n };\n customColumns?: {\n enabled: boolean;\n };\n optimisticActions?: {\n enabled: boolean;\n };\n}\n\nexport interface ProjectDTO {\n key: string;\n id: string;\n userId: string;\n createdAt: Date;\n updatedAt: Date;\n config: PageConfig;\n}\n\nexport interface PatternsWizardBaseProps {\n configuration: PageConfig;\n}\n\nexport type EntityProps = { [key: string]: any };\n\nexport interface IMenuItem<T extends EntityProps = {}> {\n item: T;\n}\nexport interface IColumnValue<T> {\n value: T;\n}\n\nexport type EntityTypeSource = 'cms';\n\nexport type QueryOperator =\n | 'CONTAINS'\n | 'ENDS_WITH'\n | 'EQ'\n | 'EXISTS'\n | 'GT'\n | 'GTE'\n | 'HAS_ALL'\n | 'HAS_SOME'\n | 'LT'\n | 'LTE'\n | 'NE'\n | 'STARTS_WITH'\n | 'URLIZED';\n\nexport interface Field {\n id: string;\n displayName: string;\n type: PatternsColumnType;\n capabilities: {\n supportedQueryOperators: QueryOperator[];\n sortable: boolean;\n };\n}\n\n// TODO: fill this out\nexport interface SchemaConfig {\n fields: Record<string, Field | undefined>;\n}\n\nexport type PagePrimaryActionProps = React.ComponentProps<\n typeof PrimaryActions\n>;\n\nexport type PageSecondaryActionProps = React.ComponentProps<\n typeof SecondaryActions\n>;\n"],"mappings":";;;;IAOYA,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,0BAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAA,OAAlBA,kBAAkB;AAAA;AAAA,IAsDlBE,iBAAiB,GAAAD,OAAA,CAAAC,iBAAA,0BAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA,OA4L7B","ignoreList":[]}