@wix/auto-patterns 1.1.0 → 1.2.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 (109) hide show
  1. package/dist/cjs/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.js +11 -16
  2. package/dist/cjs/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.js.map +1 -1
  3. package/dist/cjs/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.js +9 -9
  4. package/dist/cjs/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.js.map +1 -1
  5. package/dist/cjs/config/CmsCompositeConfig.js +85 -0
  6. package/dist/cjs/config/CmsCompositeConfig.js.map +1 -0
  7. package/dist/cjs/config/CompositeConfig.js +4 -0
  8. package/dist/cjs/config/CompositeConfig.js.map +1 -0
  9. package/dist/cjs/config/ConfigFactory.js +12 -0
  10. package/dist/cjs/config/ConfigFactory.js.map +1 -0
  11. package/dist/cjs/config/constants.js +9 -0
  12. package/dist/cjs/config/constants.js.map +1 -0
  13. package/dist/cjs/config/index.js +10 -0
  14. package/dist/cjs/config/index.js.map +1 -0
  15. package/dist/cjs/hooks/useColumns.js +2 -2
  16. package/dist/cjs/hooks/useColumns.js.map +1 -1
  17. package/dist/cjs/hooks/useFeatures.js +4 -4
  18. package/dist/cjs/hooks/useFeatures.js.map +1 -1
  19. package/dist/cjs/hooks/useFilters.js +89 -173
  20. package/dist/cjs/hooks/useFilters.js.map +1 -1
  21. package/dist/cjs/providers/ConfigContext.js +43 -0
  22. package/dist/cjs/providers/ConfigContext.js.map +1 -0
  23. package/dist/cjs/providers/index.js +4 -4
  24. package/dist/cjs/providers/index.js.map +1 -1
  25. package/dist/cjs/types.js.map +1 -1
  26. package/dist/esm/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.js +7 -12
  27. package/dist/esm/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.js.map +1 -1
  28. package/dist/esm/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.js +7 -7
  29. package/dist/esm/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.js.map +1 -1
  30. package/dist/esm/config/CmsCompositeConfig.js +80 -0
  31. package/dist/esm/config/CmsCompositeConfig.js.map +1 -0
  32. package/dist/esm/config/CompositeConfig.js +2 -0
  33. package/dist/esm/config/CompositeConfig.js.map +1 -0
  34. package/dist/esm/config/ConfigFactory.js +8 -0
  35. package/dist/esm/config/ConfigFactory.js.map +1 -0
  36. package/dist/esm/config/constants.js +5 -0
  37. package/dist/esm/config/constants.js.map +1 -0
  38. package/dist/esm/config/index.js +2 -0
  39. package/dist/esm/config/index.js.map +1 -0
  40. package/dist/esm/hooks/useColumns.js +3 -3
  41. package/dist/esm/hooks/useColumns.js.map +1 -1
  42. package/dist/esm/hooks/useFeatures.js +5 -5
  43. package/dist/esm/hooks/useFeatures.js.map +1 -1
  44. package/dist/esm/hooks/useFilters.js +86 -170
  45. package/dist/esm/hooks/useFilters.js.map +1 -1
  46. package/dist/esm/providers/ConfigContext.js +29 -0
  47. package/dist/esm/providers/ConfigContext.js.map +1 -0
  48. package/dist/esm/providers/index.js +1 -1
  49. package/dist/esm/providers/index.js.map +1 -1
  50. package/dist/esm/types.js.map +1 -1
  51. package/dist/types/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.d.ts +2 -3
  52. package/dist/types/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.d.ts.map +1 -1
  53. package/dist/types/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.d.ts.map +1 -1
  54. package/dist/types/config/CmsCompositeConfig.d.ts +6 -0
  55. package/dist/types/config/CmsCompositeConfig.d.ts.map +1 -0
  56. package/dist/types/config/CompositeConfig.d.ts +8 -0
  57. package/dist/types/config/CompositeConfig.d.ts.map +1 -0
  58. package/dist/types/config/ConfigFactory.d.ts +4 -0
  59. package/dist/types/config/ConfigFactory.d.ts.map +1 -0
  60. package/dist/types/config/constants.d.ts +4 -0
  61. package/dist/types/config/constants.d.ts.map +1 -0
  62. package/dist/types/config/index.d.ts +2 -0
  63. package/dist/types/config/index.d.ts.map +1 -0
  64. package/dist/types/hooks/useColumns.d.ts.map +1 -1
  65. package/dist/types/hooks/useFilters.d.ts +2 -6
  66. package/dist/types/hooks/useFilters.d.ts.map +1 -1
  67. package/dist/types/providers/ConfigContext.d.ts +11 -0
  68. package/dist/types/providers/ConfigContext.d.ts.map +1 -0
  69. package/dist/types/providers/index.d.ts +1 -1
  70. package/dist/types/providers/index.d.ts.map +1 -1
  71. package/dist/types/types.d.ts +19 -5
  72. package/dist/types/types.d.ts.map +1 -1
  73. package/package.json +2 -2
  74. package/dist/cjs/providers/PatternsWizardContext.js +0 -48
  75. package/dist/cjs/providers/PatternsWizardContext.js.map +0 -1
  76. package/dist/cjs/schemas/cms.js +0 -37
  77. package/dist/cjs/schemas/cms.js.map +0 -1
  78. package/dist/cjs/schemas/index.js +0 -10
  79. package/dist/cjs/schemas/index.js.map +0 -1
  80. package/dist/cjs/schemas/schemaHandler.js +0 -4
  81. package/dist/cjs/schemas/schemaHandler.js.map +0 -1
  82. package/dist/cjs/schemas/schemaHandlerFactory.js +0 -15
  83. package/dist/cjs/schemas/schemaHandlerFactory.js.map +0 -1
  84. package/dist/cjs/utils.js +0 -76
  85. package/dist/cjs/utils.js.map +0 -1
  86. package/dist/esm/providers/PatternsWizardContext.js +0 -34
  87. package/dist/esm/providers/PatternsWizardContext.js.map +0 -1
  88. package/dist/esm/schemas/cms.js +0 -31
  89. package/dist/esm/schemas/cms.js.map +0 -1
  90. package/dist/esm/schemas/index.js +0 -2
  91. package/dist/esm/schemas/index.js.map +0 -1
  92. package/dist/esm/schemas/schemaHandler.js +0 -2
  93. package/dist/esm/schemas/schemaHandler.js.map +0 -1
  94. package/dist/esm/schemas/schemaHandlerFactory.js +0 -10
  95. package/dist/esm/schemas/schemaHandlerFactory.js.map +0 -1
  96. package/dist/esm/utils.js +0 -33
  97. package/dist/esm/utils.js.map +0 -1
  98. package/dist/types/providers/PatternsWizardContext.d.ts +0 -17
  99. package/dist/types/providers/PatternsWizardContext.d.ts.map +0 -1
  100. package/dist/types/schemas/cms.d.ts +0 -21
  101. package/dist/types/schemas/cms.d.ts.map +0 -1
  102. package/dist/types/schemas/index.d.ts +0 -2
  103. package/dist/types/schemas/index.d.ts.map +0 -1
  104. package/dist/types/schemas/schemaHandler.d.ts +0 -7
  105. package/dist/types/schemas/schemaHandler.d.ts.map +0 -1
  106. package/dist/types/schemas/schemaHandlerFactory.d.ts +0 -4
  107. package/dist/types/schemas/schemaHandlerFactory.d.ts.map +0 -1
  108. package/dist/types/utils.d.ts +0 -5
  109. package/dist/types/utils.d.ts.map +0 -1
@@ -6,187 +6,105 @@ exports.useFilters = void 0;
6
6
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
7
7
  var _react = _interopRequireDefault(require("react"));
8
8
  var _lodash = _interopRequireDefault(require("lodash"));
9
- var _types = require("../types");
10
9
  var _patterns = require("@wix/patterns");
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
- });
12
+ const filters = _react.default.useMemo(() => {
13
+ var _config$filters;
14
+ const currFilters = [];
15
+ (_config$filters = config.filters) == null || _config$filters.forEach(filter => {
16
+ var _filter$static, _filter$static2, _filter$static3, _filter$numberConfig, _filter$numberConfig2, _filter$numberConfig3;
17
+ const key = _lodash.default.camelCase(filter.displayName);
18
+ switch (filter.componentType) {
19
+ case 'date-range':
20
+ currFilters.push({
21
+ key,
22
+ filter: (0, _patterns.dateRangeFilter)(),
23
+ component: _patterns.DateRangeFilter,
24
+ props: {
25
+ accordionItemProps: {
26
+ label: filter.displayName
44
27
  }
45
28
  }
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
- });
29
+ });
30
+ break;
31
+ case 'multi-select':
32
+ currFilters.push({
33
+ key,
34
+ filter: (0, _patterns.idNameArrayFilter)(),
35
+ component: _patterns.MultiSelectCheckboxFilter,
36
+ collectionData: ((_filter$static = filter.static) == null ? void 0 : _filter$static.values.map(value => {
37
+ return {
38
+ id: value.id,
39
+ name: value.value
40
+ };
41
+ })) ?? [],
42
+ props: {
43
+ accordionItemProps: {
44
+ label: filter.displayName
45
+ },
46
+ popoverProps: {
47
+ appendTo: 'window'
112
48
  }
113
49
  }
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 => {
50
+ });
51
+ break;
52
+ case 'single':
53
+ currFilters.push({
54
+ key,
55
+ filter: (0, _patterns.idNameArrayFilter)(),
56
+ component: _patterns.SingleSelectFilter,
57
+ collectionData: ((_filter$static2 = filter.static) == null ? void 0 : _filter$static2.values.map(value => {
128
58
  return {
129
59
  id: value.id,
130
60
  name: value.value
131
61
  };
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
- });
62
+ })) ?? [],
63
+ props: {
64
+ placeholder: `Select ${filter.displayName}`,
65
+ accordionItemProps: {
66
+ label: filter.displayName
148
67
  }
149
68
  }
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
- }
69
+ });
70
+ break;
71
+ case 'radio-group':
72
+ currFilters.push({
73
+ key,
74
+ filter: (0, _patterns.idNameArrayFilter)(),
75
+ component: _patterns.RadioGroupFilter,
76
+ props: {
77
+ accordionItemProps: {
78
+ label: filter.displayName
79
+ },
80
+ data: ((_filter$static3 = filter.static) == null ? void 0 : _filter$static3.values.map(value => {
81
+ return {
82
+ id: value.id,
83
+ name: value.value
84
+ };
85
+ })) ?? []
183
86
  }
184
- return acc;
185
- }
186
- });
187
- break;
188
- }
189
- });
87
+ });
88
+ break;
89
+ case 'number':
90
+ currFilters.push({
91
+ key,
92
+ filter: (0, _patterns.numberRangeFilter)(),
93
+ component: _patterns.NumberRangeFilter,
94
+ props: {
95
+ accordionItemProps: {
96
+ label: filter.displayName
97
+ },
98
+ min: ((_filter$numberConfig = filter.numberConfig) == null ? void 0 : _filter$numberConfig.min) ?? 0,
99
+ max: ((_filter$numberConfig2 = filter.numberConfig) == null ? void 0 : _filter$numberConfig2.max) ?? 100,
100
+ decimal: (_filter$numberConfig3 = filter.numberConfig) == null ? void 0 : _filter$numberConfig3.decimal
101
+ }
102
+ });
103
+ break;
104
+ }
105
+ });
106
+ return currFilters;
107
+ }, [config.filters]);
190
108
  const FilterCollectionComponent = ({
191
109
  filter
192
110
  }) => {
@@ -202,20 +120,19 @@ const useFilters = config => {
202
120
  __self: void 0,
203
121
  __source: {
204
122
  fileName: _jsxFileName,
205
- lineNumber: 218,
123
+ lineNumber: 123,
206
124
  columnNumber: 7
207
125
  }
208
126
  }));
209
127
  };
210
128
  return filters.reduce((acc, filter) => {
211
129
  acc.filters[filter.key] = filter.filter;
212
- acc.queries.push(filter.query);
213
130
  acc.components.push(filter.collectionData ? /*#__PURE__*/_react.default.createElement(FilterCollectionComponent, {
214
131
  filter: filter,
215
132
  __self: void 0,
216
133
  __source: {
217
134
  fileName: _jsxFileName,
218
- lineNumber: 234,
135
+ lineNumber: 138,
219
136
  columnNumber: 11
220
137
  }
221
138
  }) : /*#__PURE__*/_react.default.createElement(filter.component, (0, _extends2.default)({
@@ -225,15 +142,14 @@ const useFilters = config => {
225
142
  __self: void 0,
226
143
  __source: {
227
144
  fileName: _jsxFileName,
228
- lineNumber: 236,
145
+ lineNumber: 140,
229
146
  columnNumber: 11
230
147
  }
231
148
  })));
232
149
  return acc;
233
150
  }, {
234
151
  filters: {},
235
- components: [],
236
- queries: []
152
+ components: []
237
153
  });
238
154
  };
239
155
  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","_lodash","_patterns","_jsxFileName","useFilters","config","filters","React","useMemo","_config$filters","currFilters","forEach","filter","_filter$static","_filter$static2","_filter$static3","_filter$numberConfig","_filter$numberConfig2","_filter$numberConfig3","key","_","camelCase","displayName","componentType","push","dateRangeFilter","component","DateRangeFilter","props","accordionItemProps","label","idNameArrayFilter","MultiSelectCheckboxFilter","collectionData","static","values","map","value","id","name","popoverProps","appendTo","SingleSelectFilter","placeholder","RadioGroupFilter","data","numberRangeFilter","NumberRangeFilter","min","numberConfig","max","decimal","FilterCollectionComponent","collection","useStaticListFilterCollection","default","createElement","_extends2","__self","__source","fileName","lineNumber","columnNumber","reduce","acc","components","exports"],"sources":["../../../src/hooks/useFilters.tsx"],"sourcesContent":["import React from 'react';\nimport _ from 'lodash';\nimport { PageConfig } from '../types';\nimport {\n DateRangeFilter,\n dateRangeFilter,\n Filter,\n idNameArrayFilter,\n MultiSelectCheckboxFilter,\n NumberRangeFilter,\n numberRangeFilter,\n RadioGroupFilter,\n SingleSelectFilter,\n useStaticListFilterCollection,\n} from '@wix/patterns';\n\nexport interface FilterOptions {\n key: string;\n filter: Filter<any>;\n component: React.ElementType;\n collectionData?: { id: string; name: string }[];\n props: Record<string, any>;\n}\n\nexport interface ReturnValue {\n filters: { [key: string]: Filter<any> };\n components: React.JSX.Element[];\n}\n\nexport const useFilters = (config: PageConfig) => {\n const filters = React.useMemo(() => {\n const currFilters: FilterOptions[] = [];\n config.filters?.forEach((filter) => {\n const key = _.camelCase(filter.displayName);\n\n switch (filter.componentType) {\n case 'date-range':\n currFilters.push({\n key,\n filter: dateRangeFilter(),\n component: DateRangeFilter,\n props: {\n accordionItemProps: { label: filter.displayName },\n },\n });\n\n break;\n case 'multi-select':\n currFilters.push({\n key,\n filter: idNameArrayFilter(),\n component: MultiSelectCheckboxFilter,\n collectionData:\n filter.static?.values.map((value) => {\n return { id: value.id, name: value.value };\n }) ?? [],\n props: {\n accordionItemProps: { label: filter.displayName },\n popoverProps: { appendTo: 'window' },\n },\n });\n\n break;\n case 'single':\n currFilters.push({\n key,\n filter: idNameArrayFilter(),\n component: SingleSelectFilter,\n collectionData:\n filter.static?.values.map((value) => {\n return { id: value.id, name: value.value };\n }) ?? [],\n props: {\n placeholder: `Select ${filter.displayName}`,\n accordionItemProps: { label: filter.displayName },\n },\n });\n\n break;\n case 'radio-group':\n currFilters.push({\n key,\n filter: idNameArrayFilter(),\n component: RadioGroupFilter,\n props: {\n accordionItemProps: { label: filter.displayName },\n data:\n filter.static?.values.map((value) => {\n return { id: value.id, name: value.value };\n }) ?? [],\n },\n });\n\n break;\n case 'number':\n currFilters.push({\n key,\n filter: numberRangeFilter(),\n component: NumberRangeFilter,\n props: {\n accordionItemProps: { label: filter.displayName },\n min: filter.numberConfig?.min ?? 0,\n max: filter.numberConfig?.max ?? 100,\n decimal: filter.numberConfig?.decimal,\n },\n });\n\n break;\n }\n });\n return currFilters;\n }, [config.filters]);\n\n const FilterCollectionComponent: React.FC<{\n filter: FilterOptions;\n }> = ({ filter }) => {\n const collection = useStaticListFilterCollection(\n filter.filter,\n filter.collectionData ?? [],\n );\n\n return (\n <filter.component\n key={filter.key}\n filter={filter.filter}\n {...(filter.collectionData ? { collection } : {})}\n collection={collection}\n {...filter.props}\n />\n );\n };\n\n return filters.reduce<ReturnValue>(\n (acc, filter) => {\n acc.filters[filter.key] = filter.filter;\n acc.components.push(\n filter.collectionData ? (\n <FilterCollectionComponent filter={filter} />\n ) : (\n <filter.component\n key={filter.key}\n filter={filter.filter}\n {...filter.props}\n />\n ),\n );\n\n return acc;\n },\n { filters: {}, components: [] },\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -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":[]}
@@ -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":[]}
@@ -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","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 PageConfig {\n pageTitle: { text: string; hideTotal?: boolean };\n pageSubtitle?: {\n text: string;\n learnMore?: {\n url: string;\n label?: string;\n };\n };\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: 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 type: string;\n capabilities: {\n supportedQueryOperators: QueryOperator[];\n sortable: boolean;\n };\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,OAkJ7B","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { CollectionPage } from '@wix/patterns/page';
3
3
  import { AutoPatternsCollectionPageContent } from '../AutoPatternsCollectionPageContent';
4
- import { PatternsWizardProvider, usePatternsWizardOverridesContext } from '../../providers';
4
+ import { usePatternsWizardOverridesContext, ConfigProvider } from '../../providers';
5
5
  export const AutoPatternsCollectionPage = _ref => {
6
6
  let {
7
7
  configuration
@@ -11,19 +11,14 @@ export const AutoPatternsCollectionPage = _ref => {
11
11
  pageSubtitle
12
12
  } = configuration;
13
13
  const context = usePatternsWizardOverridesContext();
14
- return /*#__PURE__*/React.createElement(PatternsWizardProvider, {
15
- value: {
16
- configuration
17
- }
14
+ return /*#__PURE__*/React.createElement(ConfigProvider, {
15
+ page: configuration
18
16
  }, /*#__PURE__*/React.createElement(CollectionPage, {
19
- height: "100vh"
17
+ height: "100vh",
18
+ dataHook: "auto-patterns-page"
20
19
  }, /*#__PURE__*/React.createElement(CollectionPage.Header, {
21
- title: {
22
- text: pageTitle
23
- },
24
- subtitle: {
25
- text: pageSubtitle
26
- }
20
+ title: pageTitle,
21
+ subtitle: pageSubtitle
27
22
  }), /*#__PURE__*/React.createElement(CollectionPage.Content, null, context != null && context.HeaderAddon ? /*#__PURE__*/React.createElement(context.HeaderAddon, null) : null, /*#__PURE__*/React.createElement(AutoPatternsCollectionPageContent, null))));
28
23
  };
29
24
  //# sourceMappingURL=AutoPatternsCollectionPage.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","CollectionPage","AutoPatternsCollectionPageContent","PatternsWizardProvider","usePatternsWizardOverridesContext","AutoPatternsCollectionPage","_ref","configuration","pageTitle","pageSubtitle","context","createElement","value","height","Header","title","text","subtitle","Content","HeaderAddon"],"sources":["../../../../src/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.tsx"],"sourcesContent":["import React from 'react';\nimport { CollectionPage } from '@wix/patterns/page';\nimport { AutoPatternsCollectionPageContent } from '../AutoPatternsCollectionPageContent';\nimport {\n PatternsWizardProvider,\n usePatternsWizardOverridesContext,\n} from '../../providers';\nimport { SchemaConfig, ProjectConfig } from '../../types';\n\nexport interface AutoPatternsCollectionPageProps {\n configuration: ProjectConfig;\n schema?: SchemaConfig;\n}\n\nexport const AutoPatternsCollectionPage: React.FC<\n AutoPatternsCollectionPageProps\n> = ({ configuration }) => {\n const { pageTitle, pageSubtitle } = configuration;\n const context = usePatternsWizardOverridesContext();\n return (\n <PatternsWizardProvider value={{ configuration }}>\n <CollectionPage height=\"100vh\">\n <CollectionPage.Header\n title={{ text: pageTitle }}\n subtitle={{ text: pageSubtitle }}\n />\n <CollectionPage.Content>\n {context?.HeaderAddon ? <context.HeaderAddon /> : null}\n <AutoPatternsCollectionPageContent />\n </CollectionPage.Content>\n </CollectionPage>\n </PatternsWizardProvider>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,cAAc,QAAQ,oBAAoB;AACnD,SAASC,iCAAiC,QAAQ,sCAAsC;AACxF,SACEC,sBAAsB,EACtBC,iCAAiC,QAC5B,iBAAiB;AAQxB,OAAO,MAAMC,0BAEZ,GAAGC,IAAA,IAAuB;EAAA,IAAtB;IAAEC;EAAc,CAAC,GAAAD,IAAA;EACpB,MAAM;IAAEE,SAAS;IAAEC;EAAa,CAAC,GAAGF,aAAa;EACjD,MAAMG,OAAO,GAAGN,iCAAiC,CAAC,CAAC;EACnD,oBACEJ,KAAA,CAAAW,aAAA,CAACR,sBAAsB;IAACS,KAAK,EAAE;MAAEL;IAAc;EAAE,gBAC/CP,KAAA,CAAAW,aAAA,CAACV,cAAc;IAACY,MAAM,EAAC;EAAO,gBAC5Bb,KAAA,CAAAW,aAAA,CAACV,cAAc,CAACa,MAAM;IACpBC,KAAK,EAAE;MAAEC,IAAI,EAAER;IAAU,CAAE;IAC3BS,QAAQ,EAAE;MAAED,IAAI,EAAEP;IAAa;EAAE,CAClC,CAAC,eACFT,KAAA,CAAAW,aAAA,CAACV,cAAc,CAACiB,OAAO,QACpBR,OAAO,YAAPA,OAAO,CAAES,WAAW,gBAAGnB,KAAA,CAAAW,aAAA,CAACD,OAAO,CAACS,WAAW,MAAE,CAAC,GAAG,IAAI,eACtDnB,KAAA,CAAAW,aAAA,CAACT,iCAAiC,MAAE,CACd,CACV,CACM,CAAC;AAE7B,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","CollectionPage","AutoPatternsCollectionPageContent","usePatternsWizardOverridesContext","ConfigProvider","AutoPatternsCollectionPage","_ref","configuration","pageTitle","pageSubtitle","context","createElement","page","height","dataHook","Header","title","subtitle","Content","HeaderAddon"],"sources":["../../../../src/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.tsx"],"sourcesContent":["import React from 'react';\nimport { CollectionPage } from '@wix/patterns/page';\nimport { AutoPatternsCollectionPageContent } from '../AutoPatternsCollectionPageContent';\nimport {\n usePatternsWizardOverridesContext,\n ConfigProvider,\n} from '../../providers';\nimport { PageConfig } from '../../types';\n\nexport interface AutoPatternsCollectionPageProps {\n configuration: PageConfig;\n}\n\nexport const AutoPatternsCollectionPage: React.FC<\n AutoPatternsCollectionPageProps\n> = ({ configuration }) => {\n const { pageTitle, pageSubtitle } = configuration;\n const context = usePatternsWizardOverridesContext();\n return (\n <ConfigProvider page={configuration}>\n <CollectionPage height=\"100vh\" dataHook=\"auto-patterns-page\">\n <CollectionPage.Header title={pageTitle} subtitle={pageSubtitle} />\n <CollectionPage.Content>\n {context?.HeaderAddon ? <context.HeaderAddon /> : null}\n <AutoPatternsCollectionPageContent />\n </CollectionPage.Content>\n </CollectionPage>\n </ConfigProvider>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,cAAc,QAAQ,oBAAoB;AACnD,SAASC,iCAAiC,QAAQ,sCAAsC;AACxF,SACEC,iCAAiC,EACjCC,cAAc,QACT,iBAAiB;AAOxB,OAAO,MAAMC,0BAEZ,GAAGC,IAAA,IAAuB;EAAA,IAAtB;IAAEC;EAAc,CAAC,GAAAD,IAAA;EACpB,MAAM;IAAEE,SAAS;IAAEC;EAAa,CAAC,GAAGF,aAAa;EACjD,MAAMG,OAAO,GAAGP,iCAAiC,CAAC,CAAC;EACnD,oBACEH,KAAA,CAAAW,aAAA,CAACP,cAAc;IAACQ,IAAI,EAAEL;EAAc,gBAClCP,KAAA,CAAAW,aAAA,CAACV,cAAc;IAACY,MAAM,EAAC,OAAO;IAACC,QAAQ,EAAC;EAAoB,gBAC1Dd,KAAA,CAAAW,aAAA,CAACV,cAAc,CAACc,MAAM;IAACC,KAAK,EAAER,SAAU;IAACS,QAAQ,EAAER;EAAa,CAAE,CAAC,eACnET,KAAA,CAAAW,aAAA,CAACV,cAAc,CAACiB,OAAO,QACpBR,OAAO,YAAPA,OAAO,CAAES,WAAW,gBAAGnB,KAAA,CAAAW,aAAA,CAACD,OAAO,CAACS,WAAW,MAAE,CAAC,GAAG,IAAI,eACtDnB,KAAA,CAAAW,aAAA,CAACT,iCAAiC,MAAE,CACd,CACV,CACF,CAAC;AAErB,CAAC","ignoreList":[]}
@@ -1,20 +1,20 @@
1
1
  import React from 'react';
2
2
  import { CollectionToolbarFilters, Table, useTableCollection } from '@wix/patterns';
3
3
  import { useTableProps } from '../../hooks';
4
- import { usePatternsWizardContext, usePatternsWizardOverridesContext } from '../../providers';
4
+ import { usePatternsWizardOverridesContext, useConfig } from '../../providers';
5
5
  import { Edit } from '@wix/wix-ui-icons-common';
6
6
  export const AutoPatternsCollectionPageContent = () => {
7
- const wizardContext = usePatternsWizardContext();
7
+ const config = useConfig();
8
8
  const {
9
- schemaHandler,
10
- configuration: {
9
+ page: {
11
10
  pageTitle,
12
11
  collectionId,
13
12
  entityId,
14
13
  entityName,
15
14
  actions: secondaryActions = []
16
- }
17
- } = wizardContext;
15
+ },
16
+ collection
17
+ } = config;
18
18
  const context = usePatternsWizardOverridesContext();
19
19
  const {
20
20
  columns,
@@ -37,7 +37,7 @@ export const AutoPatternsCollectionPageContent = () => {
37
37
  } = _ref;
38
38
  return String(err);
39
39
  },
40
- ...schemaHandler.getCollectionConfig()
40
+ ...collection
41
41
  });
42
42
  const secondaryActionComponents = React.useMemo(() => {
43
43
  if (secondaryActions.length === 0) {
@@ -1 +1 @@
1
- {"version":3,"names":["React","CollectionToolbarFilters","Table","useTableCollection","useTableProps","usePatternsWizardContext","usePatternsWizardOverridesContext","Edit","AutoPatternsCollectionPageContent","wizardContext","schemaHandler","configuration","pageTitle","collectionId","entityId","entityName","actions","secondaryActions","context","columns","views","dataExtension","filters","components","tableState","queryName","itemKey","item","itemName","toExtendedFields","extendedFields","fetchErrorMessage","_ref","err","String","getCollectionConfig","secondaryActionComponents","useMemo","length","undefined","map","action","icon","createElement","text","onClick","_context$actions","_context$actions$acti","id","call","dataHook","state","actionCell"],"sources":["../../../../src/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.tsx"],"sourcesContent":["import React from 'react';\nimport {\n CollectionToolbarFilters,\n Table,\n useTableCollection,\n} from '@wix/patterns';\nimport { useTableProps } from '../../hooks';\nimport {\n usePatternsWizardContext,\n usePatternsWizardOverridesContext,\n} from '../../providers';\nimport { Edit } from '@wix/wix-ui-icons-common';\n\nexport const AutoPatternsCollectionPageContent: React.FC = () => {\n const wizardContext = usePatternsWizardContext();\n const {\n schemaHandler,\n configuration: {\n pageTitle,\n collectionId,\n entityId,\n entityName,\n actions: secondaryActions = [],\n },\n } = wizardContext;\n\n const context = usePatternsWizardOverridesContext();\n\n const {\n columns,\n views,\n dataExtension,\n filters: { filters, components },\n } = useTableProps();\n\n const tableState = useTableCollection<any>({\n queryName: `${collectionId}-${pageTitle}`,\n itemKey: (item) => item[`${entityId}`],\n itemName: (item) => item[`${entityName}`],\n filters,\n toExtendedFields: (item) => item.extendedFields,\n fetchErrorMessage: ({ err }) => String(err),\n ...schemaHandler.getCollectionConfig(),\n });\n\n const secondaryActionComponents = React.useMemo(() => {\n if (secondaryActions.length === 0) {\n return undefined;\n }\n\n return secondaryActions.map((action) => (item: any) => ({\n icon: <Edit />,\n text: action.text,\n onClick: () => {\n context?.actions?.[action.id]?.({ item });\n },\n }));\n }, [secondaryActions, context?.actions]);\n\n return (\n <Table\n dataHook=\"auto-patterns-table\"\n state={tableState}\n columns={columns}\n views={views}\n dataExtension={dataExtension}\n actionCell={(item) => ({\n secondaryActions: secondaryActionComponents?.map((action) =>\n action(item),\n ),\n })}\n filters={\n components.length > 0 ? (\n <CollectionToolbarFilters>{components}</CollectionToolbarFilters>\n ) : undefined\n }\n />\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SACEC,wBAAwB,EACxBC,KAAK,EACLC,kBAAkB,QACb,eAAe;AACtB,SAASC,aAAa,QAAQ,aAAa;AAC3C,SACEC,wBAAwB,EACxBC,iCAAiC,QAC5B,iBAAiB;AACxB,SAASC,IAAI,QAAQ,0BAA0B;AAE/C,OAAO,MAAMC,iCAA2C,GAAGA,CAAA,KAAM;EAC/D,MAAMC,aAAa,GAAGJ,wBAAwB,CAAC,CAAC;EAChD,MAAM;IACJK,aAAa;IACbC,aAAa,EAAE;MACbC,SAAS;MACTC,YAAY;MACZC,QAAQ;MACRC,UAAU;MACVC,OAAO,EAAEC,gBAAgB,GAAG;IAC9B;EACF,CAAC,GAAGR,aAAa;EAEjB,MAAMS,OAAO,GAAGZ,iCAAiC,CAAC,CAAC;EAEnD,MAAM;IACJa,OAAO;IACPC,KAAK;IACLC,aAAa;IACbC,OAAO,EAAE;MAAEA,OAAO;MAAEC;IAAW;EACjC,CAAC,GAAGnB,aAAa,CAAC,CAAC;EAEnB,MAAMoB,UAAU,GAAGrB,kBAAkB,CAAM;IACzCsB,SAAS,EAAE,GAAGZ,YAAY,IAAID,SAAS,EAAE;IACzCc,OAAO,EAAGC,IAAI,IAAKA,IAAI,CAAC,GAAGb,QAAQ,EAAE,CAAC;IACtCc,QAAQ,EAAGD,IAAI,IAAKA,IAAI,CAAC,GAAGZ,UAAU,EAAE,CAAC;IACzCO,OAAO;IACPO,gBAAgB,EAAGF,IAAI,IAAKA,IAAI,CAACG,cAAc;IAC/CC,iBAAiB,EAAEC,IAAA;MAAA,IAAC;QAAEC;MAAI,CAAC,GAAAD,IAAA;MAAA,OAAKE,MAAM,CAACD,GAAG,CAAC;IAAA;IAC3C,GAAGvB,aAAa,CAACyB,mBAAmB,CAAC;EACvC,CAAC,CAAC;EAEF,MAAMC,yBAAyB,GAAGpC,KAAK,CAACqC,OAAO,CAAC,MAAM;IACpD,IAAIpB,gBAAgB,CAACqB,MAAM,KAAK,CAAC,EAAE;MACjC,OAAOC,SAAS;IAClB;IAEA,OAAOtB,gBAAgB,CAACuB,GAAG,CAAEC,MAAM,IAAMd,IAAS,KAAM;MACtDe,IAAI,eAAE1C,KAAA,CAAA2C,aAAA,CAACpC,IAAI,MAAE,CAAC;MACdqC,IAAI,EAAEH,MAAM,CAACG,IAAI;MACjBC,OAAO,EAAEA,CAAA,KAAM;QAAA,IAAAC,gBAAA,EAAAC,qBAAA;QACb7B,OAAO,aAAA4B,gBAAA,GAAP5B,OAAO,CAAEF,OAAO,cAAA+B,qBAAA,GAAhBD,gBAAA,CAAmBL,MAAM,CAACO,EAAE,CAAC,aAA7BD,qBAAA,CAAAE,IAAA,CAAAH,gBAAA,EAAgC;UAAEnB;QAAK,CAAC,CAAC;MAC3C;IACF,CAAC,CAAC,CAAC;EACL,CAAC,EAAE,CAACV,gBAAgB,EAAEC,OAAO,oBAAPA,OAAO,CAAEF,OAAO,CAAC,CAAC;EAExC,oBACEhB,KAAA,CAAA2C,aAAA,CAACzC,KAAK;IACJgD,QAAQ,EAAC,qBAAqB;IAC9BC,KAAK,EAAE3B,UAAW;IAClBL,OAAO,EAAEA,OAAQ;IACjBC,KAAK,EAAEA,KAAM;IACbC,aAAa,EAAEA,aAAc;IAC7B+B,UAAU,EAAGzB,IAAI,KAAM;MACrBV,gBAAgB,EAAEmB,yBAAyB,oBAAzBA,yBAAyB,CAAEI,GAAG,CAAEC,MAAM,IACtDA,MAAM,CAACd,IAAI,CACb;IACF,CAAC,CAAE;IACHL,OAAO,EACLC,UAAU,CAACe,MAAM,GAAG,CAAC,gBACnBtC,KAAA,CAAA2C,aAAA,CAAC1C,wBAAwB,QAAEsB,UAAqC,CAAC,GAC/DgB;EACL,CACF,CAAC;AAEN,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","CollectionToolbarFilters","Table","useTableCollection","useTableProps","usePatternsWizardOverridesContext","useConfig","Edit","AutoPatternsCollectionPageContent","config","page","pageTitle","collectionId","entityId","entityName","actions","secondaryActions","collection","context","columns","views","dataExtension","filters","components","tableState","queryName","itemKey","item","itemName","toExtendedFields","extendedFields","fetchErrorMessage","_ref","err","String","secondaryActionComponents","useMemo","length","undefined","map","action","icon","createElement","text","onClick","_context$actions","_context$actions$acti","id","call","dataHook","state","actionCell"],"sources":["../../../../src/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.tsx"],"sourcesContent":["import React from 'react';\nimport {\n CollectionToolbarFilters,\n Table,\n useTableCollection,\n} from '@wix/patterns';\nimport { useTableProps } from '../../hooks';\nimport { usePatternsWizardOverridesContext, useConfig } from '../../providers';\nimport { Edit } from '@wix/wix-ui-icons-common';\n\nexport const AutoPatternsCollectionPageContent: React.FC = () => {\n const config = useConfig();\n\n const {\n page: {\n pageTitle,\n collectionId,\n entityId,\n entityName,\n actions: secondaryActions = [],\n },\n collection,\n } = config;\n\n const context = usePatternsWizardOverridesContext();\n\n const {\n columns,\n views,\n dataExtension,\n filters: { filters, components },\n } = useTableProps();\n\n const tableState = useTableCollection<any>({\n queryName: `${collectionId}-${pageTitle}`,\n itemKey: (item) => item[`${entityId}`],\n itemName: (item) => item[`${entityName}`],\n filters,\n toExtendedFields: (item) => item.extendedFields,\n fetchErrorMessage: ({ err }) => String(err),\n ...collection,\n });\n\n const secondaryActionComponents = React.useMemo(() => {\n if (secondaryActions.length === 0) {\n return undefined;\n }\n\n return secondaryActions.map((action) => (item: any) => ({\n icon: <Edit />,\n text: action.text,\n onClick: () => {\n context?.actions?.[action.id]?.({ item });\n },\n }));\n }, [secondaryActions, context?.actions]);\n\n return (\n <Table\n dataHook=\"auto-patterns-table\"\n state={tableState}\n columns={columns}\n views={views}\n dataExtension={dataExtension}\n actionCell={(item) => ({\n secondaryActions: secondaryActionComponents?.map((action) =>\n action(item),\n ),\n })}\n filters={\n components.length > 0 ? (\n <CollectionToolbarFilters>{components}</CollectionToolbarFilters>\n ) : undefined\n }\n />\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SACEC,wBAAwB,EACxBC,KAAK,EACLC,kBAAkB,QACb,eAAe;AACtB,SAASC,aAAa,QAAQ,aAAa;AAC3C,SAASC,iCAAiC,EAAEC,SAAS,QAAQ,iBAAiB;AAC9E,SAASC,IAAI,QAAQ,0BAA0B;AAE/C,OAAO,MAAMC,iCAA2C,GAAGA,CAAA,KAAM;EAC/D,MAAMC,MAAM,GAAGH,SAAS,CAAC,CAAC;EAE1B,MAAM;IACJI,IAAI,EAAE;MACJC,SAAS;MACTC,YAAY;MACZC,QAAQ;MACRC,UAAU;MACVC,OAAO,EAAEC,gBAAgB,GAAG;IAC9B,CAAC;IACDC;EACF,CAAC,GAAGR,MAAM;EAEV,MAAMS,OAAO,GAAGb,iCAAiC,CAAC,CAAC;EAEnD,MAAM;IACJc,OAAO;IACPC,KAAK;IACLC,aAAa;IACbC,OAAO,EAAE;MAAEA,OAAO;MAAEC;IAAW;EACjC,CAAC,GAAGnB,aAAa,CAAC,CAAC;EAEnB,MAAMoB,UAAU,GAAGrB,kBAAkB,CAAM;IACzCsB,SAAS,EAAE,GAAGb,YAAY,IAAID,SAAS,EAAE;IACzCe,OAAO,EAAGC,IAAI,IAAKA,IAAI,CAAC,GAAGd,QAAQ,EAAE,CAAC;IACtCe,QAAQ,EAAGD,IAAI,IAAKA,IAAI,CAAC,GAAGb,UAAU,EAAE,CAAC;IACzCQ,OAAO;IACPO,gBAAgB,EAAGF,IAAI,IAAKA,IAAI,CAACG,cAAc;IAC/CC,iBAAiB,EAAEC,IAAA;MAAA,IAAC;QAAEC;MAAI,CAAC,GAAAD,IAAA;MAAA,OAAKE,MAAM,CAACD,GAAG,CAAC;IAAA;IAC3C,GAAGhB;EACL,CAAC,CAAC;EAEF,MAAMkB,yBAAyB,GAAGnC,KAAK,CAACoC,OAAO,CAAC,MAAM;IACpD,IAAIpB,gBAAgB,CAACqB,MAAM,KAAK,CAAC,EAAE;MACjC,OAAOC,SAAS;IAClB;IAEA,OAAOtB,gBAAgB,CAACuB,GAAG,CAAEC,MAAM,IAAMb,IAAS,KAAM;MACtDc,IAAI,eAAEzC,KAAA,CAAA0C,aAAA,CAACnC,IAAI,MAAE,CAAC;MACdoC,IAAI,EAAEH,MAAM,CAACG,IAAI;MACjBC,OAAO,EAAEA,CAAA,KAAM;QAAA,IAAAC,gBAAA,EAAAC,qBAAA;QACb5B,OAAO,aAAA2B,gBAAA,GAAP3B,OAAO,CAAEH,OAAO,cAAA+B,qBAAA,GAAhBD,gBAAA,CAAmBL,MAAM,CAACO,EAAE,CAAC,aAA7BD,qBAAA,CAAAE,IAAA,CAAAH,gBAAA,EAAgC;UAAElB;QAAK,CAAC,CAAC;MAC3C;IACF,CAAC,CAAC,CAAC;EACL,CAAC,EAAE,CAACX,gBAAgB,EAAEE,OAAO,oBAAPA,OAAO,CAAEH,OAAO,CAAC,CAAC;EAExC,oBACEf,KAAA,CAAA0C,aAAA,CAACxC,KAAK;IACJ+C,QAAQ,EAAC,qBAAqB;IAC9BC,KAAK,EAAE1B,UAAW;IAClBL,OAAO,EAAEA,OAAQ;IACjBC,KAAK,EAAEA,KAAM;IACbC,aAAa,EAAEA,aAAc;IAC7B8B,UAAU,EAAGxB,IAAI,KAAM;MACrBX,gBAAgB,EAAEmB,yBAAyB,oBAAzBA,yBAAyB,CAAEI,GAAG,CAAEC,MAAM,IACtDA,MAAM,CAACb,IAAI,CACb;IACF,CAAC,CAAE;IACHL,OAAO,EACLC,UAAU,CAACc,MAAM,GAAG,CAAC,gBACnBrC,KAAA,CAAA0C,aAAA,CAACzC,wBAAwB,QAAEsB,UAAqC,CAAC,GAC/De;EACL,CACF,CAAC;AAEN,CAAC","ignoreList":[]}