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