@wix/auto-patterns 1.9.0 → 1.11.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 (158) hide show
  1. package/dist/cjs/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.js +35 -6
  2. package/dist/cjs/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.js.map +1 -1
  3. package/dist/cjs/components/AutoPatternsEntityPage/Fields/ImageInput.js +4 -1
  4. package/dist/cjs/components/AutoPatternsEntityPage/Fields/ImageInput.js.map +1 -1
  5. package/dist/cjs/components/AutoPatternsGrid/AutoPatternsGrid.js +26 -15
  6. package/dist/cjs/components/AutoPatternsGrid/AutoPatternsGrid.js.map +1 -1
  7. package/dist/cjs/components/AutoPatternsTable/AutoPatternsTable.js +33 -15
  8. package/dist/cjs/components/AutoPatternsTable/AutoPatternsTable.js.map +1 -1
  9. package/dist/cjs/components/AutoPatternsTableGridSwitch/AutoPatternsTableGridSwitch.js +27 -0
  10. package/dist/cjs/components/AutoPatternsTableGridSwitch/AutoPatternsTableGridSwitch.js.map +1 -0
  11. package/dist/cjs/hooks/useActionCell.js +6 -3
  12. package/dist/cjs/hooks/useActionCell.js.map +1 -1
  13. package/dist/cjs/hooks/useBaseGridFeatures.js +39 -0
  14. package/dist/cjs/hooks/useBaseGridFeatures.js.map +1 -0
  15. package/dist/cjs/hooks/useBaseTableFeatures.js +44 -0
  16. package/dist/cjs/hooks/useBaseTableFeatures.js.map +1 -0
  17. package/dist/cjs/hooks/useBulkActionToolbar.js +28 -6
  18. package/dist/cjs/hooks/useBulkActionToolbar.js.map +1 -1
  19. package/dist/cjs/hooks/useCollectionPageActions.js +3 -2
  20. package/dist/cjs/hooks/useCollectionPageActions.js.map +1 -1
  21. package/dist/cjs/hooks/useColumns.js +33 -13
  22. package/dist/cjs/hooks/useColumns.js.map +1 -1
  23. package/dist/cjs/hooks/useGridFeatures.js +5 -19
  24. package/dist/cjs/hooks/useGridFeatures.js.map +1 -1
  25. package/dist/cjs/hooks/usePagePath.js +1 -1
  26. package/dist/cjs/hooks/usePagePath.js.map +1 -1
  27. package/dist/cjs/hooks/useTableFeatures.js +13 -16
  28. package/dist/cjs/hooks/useTableFeatures.js.map +1 -1
  29. package/dist/cjs/hooks/useTableGridSwitchFeatures.js +85 -0
  30. package/dist/cjs/hooks/useTableGridSwitchFeatures.js.map +1 -0
  31. package/dist/cjs/types/CollectionPageConfig.js.map +1 -1
  32. package/dist/cjs/types/actions/actionCell.js.map +1 -1
  33. package/dist/cjs/types/actions/base.js.map +1 -1
  34. package/dist/cjs/types/actions/bulkActions.js.map +1 -1
  35. package/dist/cjs/types/actions/collectionPageActions.js.map +1 -1
  36. package/dist/cjs/types/types.js.map +1 -1
  37. package/dist/cjs/utils/actions/bulkDeleteAction.js +12 -1
  38. package/dist/cjs/utils/actions/bulkDeleteAction.js.map +1 -1
  39. package/dist/cjs/utils/actions/createAction.js +12 -1
  40. package/dist/cjs/utils/actions/createAction.js.map +1 -1
  41. package/dist/cjs/utils/actions/deleteAction.js +12 -1
  42. package/dist/cjs/utils/actions/deleteAction.js.map +1 -1
  43. package/dist/cjs/utils/actions/resolveAction.js +2 -17
  44. package/dist/cjs/utils/actions/resolveAction.js.map +1 -1
  45. package/dist/cjs/utils/actions/types.js.map +1 -1
  46. package/dist/cjs/utils/actions/updateAction.js +12 -1
  47. package/dist/cjs/utils/actions/updateAction.js.map +1 -1
  48. package/dist/cjs/utils/media/getImageUrl.js +3 -0
  49. package/dist/cjs/utils/media/getImageUrl.js.map +1 -1
  50. package/dist/esm/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.js +19 -2
  51. package/dist/esm/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.js.map +1 -1
  52. package/dist/esm/components/AutoPatternsEntityPage/Fields/ImageInput.js +4 -1
  53. package/dist/esm/components/AutoPatternsEntityPage/Fields/ImageInput.js.map +1 -1
  54. package/dist/esm/components/AutoPatternsGrid/AutoPatternsGrid.js +25 -8
  55. package/dist/esm/components/AutoPatternsGrid/AutoPatternsGrid.js.map +1 -1
  56. package/dist/esm/components/AutoPatternsTable/AutoPatternsTable.js +32 -8
  57. package/dist/esm/components/AutoPatternsTable/AutoPatternsTable.js.map +1 -1
  58. package/dist/esm/components/AutoPatternsTableGridSwitch/AutoPatternsTableGridSwitch.js +14 -0
  59. package/dist/esm/components/AutoPatternsTableGridSwitch/AutoPatternsTableGridSwitch.js.map +1 -0
  60. package/dist/esm/hooks/useActionCell.js +6 -3
  61. package/dist/esm/hooks/useActionCell.js.map +1 -1
  62. package/dist/esm/hooks/useBaseGridFeatures.js +34 -0
  63. package/dist/esm/hooks/useBaseGridFeatures.js.map +1 -0
  64. package/dist/esm/hooks/useBaseTableFeatures.js +29 -0
  65. package/dist/esm/hooks/useBaseTableFeatures.js.map +1 -0
  66. package/dist/esm/hooks/useBulkActionToolbar.js +27 -5
  67. package/dist/esm/hooks/useBulkActionToolbar.js.map +1 -1
  68. package/dist/esm/hooks/useCollectionPageActions.js +4 -3
  69. package/dist/esm/hooks/useCollectionPageActions.js.map +1 -1
  70. package/dist/esm/hooks/useColumns.js +28 -14
  71. package/dist/esm/hooks/useColumns.js.map +1 -1
  72. package/dist/esm/hooks/useGridFeatures.js +5 -19
  73. package/dist/esm/hooks/useGridFeatures.js.map +1 -1
  74. package/dist/esm/hooks/usePagePath.js +1 -1
  75. package/dist/esm/hooks/usePagePath.js.map +1 -1
  76. package/dist/esm/hooks/useTableFeatures.js +14 -7
  77. package/dist/esm/hooks/useTableFeatures.js.map +1 -1
  78. package/dist/esm/hooks/useTableGridSwitchFeatures.js +83 -0
  79. package/dist/esm/hooks/useTableGridSwitchFeatures.js.map +1 -0
  80. package/dist/esm/types/CollectionPageConfig.js.map +1 -1
  81. package/dist/esm/types/actions/actionCell.js.map +1 -1
  82. package/dist/esm/types/actions/base.js.map +1 -1
  83. package/dist/esm/types/actions/bulkActions.js.map +1 -1
  84. package/dist/esm/types/actions/collectionPageActions.js.map +1 -1
  85. package/dist/esm/types/types.js.map +1 -1
  86. package/dist/esm/utils/actions/bulkDeleteAction.js +3 -1
  87. package/dist/esm/utils/actions/bulkDeleteAction.js.map +1 -1
  88. package/dist/esm/utils/actions/createAction.js +3 -1
  89. package/dist/esm/utils/actions/createAction.js.map +1 -1
  90. package/dist/esm/utils/actions/deleteAction.js +3 -1
  91. package/dist/esm/utils/actions/deleteAction.js.map +1 -1
  92. package/dist/esm/utils/actions/resolveAction.js +1 -7
  93. package/dist/esm/utils/actions/resolveAction.js.map +1 -1
  94. package/dist/esm/utils/actions/types.js.map +1 -1
  95. package/dist/esm/utils/actions/updateAction.js +3 -1
  96. package/dist/esm/utils/actions/updateAction.js.map +1 -1
  97. package/dist/esm/utils/media/getImageUrl.js +3 -0
  98. package/dist/esm/utils/media/getImageUrl.js.map +1 -1
  99. package/dist/types/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.d.ts.map +1 -1
  100. package/dist/types/components/AutoPatternsEntityPage/Fields/ImageInput.d.ts.map +1 -1
  101. package/dist/types/components/AutoPatternsGrid/AutoPatternsGrid.d.ts +2 -2
  102. package/dist/types/components/AutoPatternsGrid/AutoPatternsGrid.d.ts.map +1 -1
  103. package/dist/types/components/AutoPatternsTable/AutoPatternsTable.d.ts +2 -2
  104. package/dist/types/components/AutoPatternsTable/AutoPatternsTable.d.ts.map +1 -1
  105. package/dist/types/components/AutoPatternsTableGridSwitch/AutoPatternsTableGridSwitch.d.ts +7 -0
  106. package/dist/types/components/AutoPatternsTableGridSwitch/AutoPatternsTableGridSwitch.d.ts.map +1 -0
  107. package/dist/types/hooks/useActionCell.d.ts.map +1 -1
  108. package/dist/types/hooks/useBaseGridFeatures.d.ts +13 -0
  109. package/dist/types/hooks/useBaseGridFeatures.d.ts.map +1 -0
  110. package/dist/types/hooks/useBaseTableFeatures.d.ts +11 -0
  111. package/dist/types/hooks/useBaseTableFeatures.d.ts.map +1 -0
  112. package/dist/types/hooks/useBulkActionToolbar.d.ts.map +1 -1
  113. package/dist/types/hooks/useCollectionPageActions.d.ts.map +1 -1
  114. package/dist/types/hooks/useColumns.d.ts.map +1 -1
  115. package/dist/types/hooks/useGridFeatures.d.ts.map +1 -1
  116. package/dist/types/hooks/useTableFeatures.d.ts +8 -6
  117. package/dist/types/hooks/useTableFeatures.d.ts.map +1 -1
  118. package/dist/types/hooks/useTableGridSwitchFeatures.d.ts +25 -0
  119. package/dist/types/hooks/useTableGridSwitchFeatures.d.ts.map +1 -0
  120. package/dist/types/types/CollectionPageConfig.d.ts +5 -1
  121. package/dist/types/types/CollectionPageConfig.d.ts.map +1 -1
  122. package/dist/types/types/actions/actionCell.d.ts +2 -0
  123. package/dist/types/types/actions/actionCell.d.ts.map +1 -1
  124. package/dist/types/types/actions/base.d.ts +0 -1
  125. package/dist/types/types/actions/base.d.ts.map +1 -1
  126. package/dist/types/types/actions/bulkActions.d.ts +20 -12
  127. package/dist/types/types/actions/bulkActions.d.ts.map +1 -1
  128. package/dist/types/types/actions/collectionPageActions.d.ts +11 -1
  129. package/dist/types/types/actions/collectionPageActions.d.ts.map +1 -1
  130. package/dist/types/types/types.d.ts +1 -0
  131. package/dist/types/types/types.d.ts.map +1 -1
  132. package/dist/types/utils/actions/bulkDeleteAction.d.ts +2 -1
  133. package/dist/types/utils/actions/bulkDeleteAction.d.ts.map +1 -1
  134. package/dist/types/utils/actions/createAction.d.ts +2 -1
  135. package/dist/types/utils/actions/createAction.d.ts.map +1 -1
  136. package/dist/types/utils/actions/deleteAction.d.ts +2 -1
  137. package/dist/types/utils/actions/deleteAction.d.ts.map +1 -1
  138. package/dist/types/utils/actions/resolveAction.d.ts +1 -3
  139. package/dist/types/utils/actions/resolveAction.d.ts.map +1 -1
  140. package/dist/types/utils/actions/types.d.ts +2 -1
  141. package/dist/types/utils/actions/types.d.ts.map +1 -1
  142. package/dist/types/utils/actions/updateAction.d.ts +2 -1
  143. package/dist/types/utils/actions/updateAction.d.ts.map +1 -1
  144. package/dist/types/utils/media/getImageUrl.d.ts +1 -1
  145. package/dist/types/utils/media/getImageUrl.d.ts.map +1 -1
  146. package/package.json +4 -4
  147. package/dist/cjs/components/AutoPatternsGrid/AutoPatternsGridContent.js +0 -44
  148. package/dist/cjs/components/AutoPatternsGrid/AutoPatternsGridContent.js.map +0 -1
  149. package/dist/cjs/components/AutoPatternsTable/AutoPatternsTableContent.js +0 -54
  150. package/dist/cjs/components/AutoPatternsTable/AutoPatternsTableContent.js.map +0 -1
  151. package/dist/esm/components/AutoPatternsGrid/AutoPatternsGridContent.js +0 -32
  152. package/dist/esm/components/AutoPatternsGrid/AutoPatternsGridContent.js.map +0 -1
  153. package/dist/esm/components/AutoPatternsTable/AutoPatternsTableContent.js +0 -42
  154. package/dist/esm/components/AutoPatternsTable/AutoPatternsTableContent.js.map +0 -1
  155. package/dist/types/components/AutoPatternsGrid/AutoPatternsGridContent.d.ts +0 -7
  156. package/dist/types/components/AutoPatternsGrid/AutoPatternsGridContent.d.ts.map +0 -1
  157. package/dist/types/components/AutoPatternsTable/AutoPatternsTableContent.d.ts +0 -7
  158. package/dist/types/components/AutoPatternsTable/AutoPatternsTableContent.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_useActionsSDK","_patterns","_actions","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","useBulkActionToolbar","config","collectionId","_config$primaryAction2","_config$secondaryActi2","sdk","useActionsSDK","bulkActionToolbar","useCallback","param","_config$primaryAction","_config$secondaryActi","buildAction","actionConfig","actionToResolve","baseParams","actionParams","type","bulkDeleteAction","action","customModalAction","customAction","resolvedAction","resolveAction","icon","resolvedActionParams","prefixIcon","React","isValidElement","undefined","dataHook","id","primaryActionItems","primaryActions","items","map","filter","Boolean","secondaryActionItems","secondaryActions","sections","section","createElement","MultiBulkActionToolbar","__self","__source","fileName","lineNumber","columnNumber","length","exports"],"sources":["../../../src/hooks/useBulkActionToolbar.tsx"],"sourcesContent":["import React, { useCallback } from 'react';\nimport {\n BulkActionItemConfig,\n BulkActionsConfig,\n ResolvedAction,\n} from '../types';\nimport { useActionsSDK } from './useActionsSDK';\nimport {\n TableProps,\n MultiBulkActionToolbar,\n ActionSubitem,\n} from '@wix/patterns';\nimport {\n bulkDeleteAction,\n customAction,\n customModalAction,\n resolveAction,\n} from '../utils/actions';\n\nexport type BulkActionToolbarRenderProp = Parameters<\n NonNullable<TableProps<any, any>['bulkActionToolbar']>\n>[0];\n\nexport interface useBulkActionToolbarParams {\n config?: BulkActionsConfig;\n collectionId: string;\n}\n\nexport const useBulkActionToolbar = ({\n config,\n collectionId,\n}: useBulkActionToolbarParams) => {\n const sdk = useActionsSDK({\n collectionId,\n });\n\n const bulkActionToolbar = useCallback(\n (param: BulkActionToolbarRenderProp) => {\n const buildAction = (\n actionConfig: BulkActionItemConfig,\n ): ActionSubitem | null => {\n let actionToResolve: Partial<ResolvedAction> | null = null;\n\n const baseParams = {\n actionParams: param,\n sdk,\n };\n\n switch (actionConfig.type) {\n case 'bulkDelete':\n actionToResolve = bulkDeleteAction({\n action: actionConfig,\n ...baseParams,\n });\n break;\n\n case 'customModal':\n actionToResolve = customModalAction({\n action: actionConfig,\n ...baseParams,\n });\n break;\n\n case 'custom':\n actionToResolve = customAction({\n action: actionConfig,\n ...baseParams,\n });\n break;\n\n default:\n return null;\n }\n\n if (!actionToResolve) {\n return null;\n }\n\n const resolvedAction = resolveAction(actionConfig, actionToResolve);\n const { icon, ...resolvedActionParams } = resolvedAction;\n\n return {\n prefixIcon: React.isValidElement(icon) ? icon : undefined,\n dataHook: actionConfig.id,\n ...resolvedActionParams,\n };\n };\n\n const primaryActionItems = (config?.primaryActions?.items || [])\n .map(buildAction)\n .filter((action): action is ActionSubitem => Boolean(action));\n const secondaryActionItems = (\n config?.secondaryActions?.sections || []\n ).map((section) =>\n section.items\n .map(buildAction)\n .filter((action): action is ActionSubitem => Boolean(action)),\n );\n\n return (\n <MultiBulkActionToolbar\n primaryActionItems={primaryActionItems}\n secondaryActionItems={secondaryActionItems}\n />\n );\n },\n [config, sdk],\n );\n\n if (!config) {\n return undefined;\n }\n\n if (\n !config.primaryActions?.items.length &&\n !config.secondaryActions?.sections.length\n ) {\n return undefined;\n }\n return bulkActionToolbar;\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_useActionsSDK","_patterns","_actions","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","useBulkActionToolbar","config","collectionId","sdk","useActionsSDK","bulkActionToolbar","useCallback","param","buildAction","actionConfig","actionToResolve","baseParams","actionParams","type","bulkDeleteAction","action","customModalAction","customAction","resolvedAction","resolveAction","icon","resolvedActionParams","prefixIcon","React","isValidElement","undefined","dataHook","id","buildPrimaryActions","primaryActions","map","primaryItem","index","single","item","subItems","multi","items","filter","Boolean","length","label","primaryActionItems","secondaryActionItems","secondaryActions","sectionItems","createElement","MultiBulkActionToolbar","__self","__source","fileName","lineNumber","columnNumber","hasPrimaryActions","hasSecondaryActions","exports"],"sources":["../../../src/hooks/useBulkActionToolbar.tsx"],"sourcesContent":["import React, { useCallback } from 'react';\nimport {\n BulkActionItemConfig,\n BulkActionsConfig,\n ResolvedAction,\n} from '../types';\nimport { useActionsSDK } from './useActionsSDK';\nimport {\n TableProps,\n MultiBulkActionToolbar,\n ActionSubitem,\n} from '@wix/patterns';\nimport {\n bulkDeleteAction,\n customAction,\n customModalAction,\n resolveAction,\n} from '../utils/actions';\n\nexport type BulkActionToolbarRenderProp = Parameters<\n NonNullable<TableProps<any, any>['bulkActionToolbar']>\n>[0];\n\nexport interface useBulkActionToolbarParams {\n config?: BulkActionsConfig;\n collectionId: string;\n}\n\nexport const useBulkActionToolbar = ({\n config,\n collectionId,\n}: useBulkActionToolbarParams) => {\n const sdk = useActionsSDK({\n collectionId,\n });\n\n const bulkActionToolbar = useCallback(\n (param: BulkActionToolbarRenderProp) => {\n const buildAction = (\n actionConfig: BulkActionItemConfig,\n ): ActionSubitem | null => {\n let actionToResolve: Partial<ResolvedAction> | null = null;\n\n const baseParams = {\n actionParams: param,\n sdk,\n };\n\n switch (actionConfig.type) {\n case 'bulkDelete':\n actionToResolve = bulkDeleteAction({\n action: actionConfig,\n ...baseParams,\n });\n break;\n\n case 'customModal':\n actionToResolve = customModalAction({\n action: actionConfig,\n ...baseParams,\n });\n break;\n\n case 'custom':\n actionToResolve = customAction({\n action: actionConfig,\n ...baseParams,\n });\n break;\n\n default:\n return null;\n }\n\n if (!actionToResolve) {\n return null;\n }\n\n const resolvedAction = resolveAction(actionConfig, actionToResolve);\n const { icon, ...resolvedActionParams } = resolvedAction;\n\n return {\n prefixIcon: React.isValidElement(icon) ? icon : undefined,\n dataHook: actionConfig.id,\n ...resolvedActionParams,\n };\n };\n\n const buildPrimaryActions = (): ActionSubitem[] => {\n if (!config?.primaryActions) {\n return [];\n }\n\n return config.primaryActions\n .map((primaryItem, index) => {\n if (primaryItem.type === 'single') {\n return buildAction(primaryItem.single.item);\n }\n\n if (primaryItem.type === 'multi') {\n const subItems = primaryItem.multi.items\n .map(buildAction)\n .filter((action): action is ActionSubitem => Boolean(action));\n\n if (subItems.length === 0) {\n return null;\n }\n\n return {\n label: primaryItem.multi.label,\n subItems: [subItems],\n dataHook: `bulk-multi-action-${index}`,\n };\n }\n\n return null;\n })\n .filter((action): action is ActionSubitem => Boolean(action));\n };\n\n const primaryActionItems = buildPrimaryActions();\n const secondaryActionItems = (config?.secondaryActions || []).map(\n (sectionItems) =>\n sectionItems\n .map((a) => buildAction(a))\n .filter((action): action is ActionSubitem => Boolean(action)),\n );\n\n return (\n <MultiBulkActionToolbar\n primaryActionItems={primaryActionItems}\n secondaryActionItems={secondaryActionItems}\n />\n );\n },\n [config, sdk],\n );\n\n if (!config) {\n return undefined;\n }\n\n const hasPrimaryActions =\n config.primaryActions && config.primaryActions.length > 0;\n\n const hasSecondaryActions =\n config.secondaryActions && config.secondaryActions.length > 0;\n\n if (!hasPrimaryActions && !hasSecondaryActions) {\n return undefined;\n }\n\n return bulkActionToolbar;\n};\n"],"mappings":"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","ignoreList":[]}
@@ -24,7 +24,9 @@ const useCollectionPageActions = ({
24
24
  const buildAction = actionConfig => {
25
25
  let actionToResolve = null;
26
26
  const baseParams = {
27
- actionParams: {},
27
+ actionParams: {
28
+ collectionId: actionConfig.collection.collectionId
29
+ },
28
30
  sdk
29
31
  };
30
32
  switch (actionConfig.type) {
@@ -75,7 +77,6 @@ const useCollectionPageActions = ({
75
77
  }
76
78
  return {
77
79
  label: actions.multi.label,
78
- prefixIcon: (0, _actions.resolveIcon)(actions.multi.icon),
79
80
  subItems
80
81
  };
81
82
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_useActionsSDK","_actions","_patterns","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","useCollectionPageActions","collectionPageActions","sdk","useActionsSDK","collectionId","buildCollectionPageActions","useCallback","buildAction","actionConfig","actionToResolve","baseParams","actionParams","type","createAction","action","customModalAction","customAction","resolvedAction","resolveAction","tooltip","icon","resolvedActionProps","prefixIcon","disabledDescription","handleActionsType","actions","single","item","subItems","multi","items","map","filter","length","label","resolveIcon","primaryActions","secondaryActions","createElement","PrimaryActions","_extends2","__self","__source","fileName","lineNumber","columnNumber","undefined","SecondaryActions","useMemo","exports"],"sources":["../../../src/hooks/useCollectionPageActions.tsx"],"sourcesContent":["import React, { useCallback, useMemo } from 'react';\nimport {\n CollectionPageActionConfig,\n CollectionPageConfig,\n CollectionPagePrimaryActions,\n CollectionPageSecondaryActions,\n ResolvedAction,\n} from '../types';\nimport { useActionsSDK } from './useActionsSDK';\nimport {\n createAction,\n customAction,\n customModalAction,\n resolveAction,\n resolveIcon,\n} from '../utils/actions';\nimport { IconElement } from '@wix/design-system';\nimport { PrimaryActions, SecondaryActions } from '@wix/patterns';\n\nexport interface UseCollectionPageActionsParams {\n collectionPageActions: CollectionPageConfig['actions'];\n}\n\nexport const useCollectionPageActions = ({\n collectionPageActions,\n}: UseCollectionPageActionsParams) => {\n const sdk = useActionsSDK({\n collectionId: '',\n });\n\n const buildCollectionPageActions = useCallback(() => {\n if (!collectionPageActions) {\n return;\n }\n\n const buildAction = (actionConfig: CollectionPageActionConfig) => {\n let actionToResolve: Partial<ResolvedAction> | null = null;\n\n const baseParams = {\n actionParams: {},\n sdk,\n };\n\n switch (actionConfig.type) {\n case 'create':\n actionToResolve = createAction({\n action: actionConfig,\n ...baseParams,\n });\n break;\n\n case 'customModal':\n actionToResolve = customModalAction({\n action: actionConfig,\n ...baseParams,\n });\n break;\n\n case 'custom':\n actionToResolve = customAction({\n action: actionConfig,\n ...baseParams,\n });\n break;\n\n default:\n return null;\n }\n\n if (!actionToResolve) {\n return null;\n }\n\n const resolvedAction = resolveAction(actionConfig, actionToResolve);\n const { tooltip, icon, ...resolvedActionProps } = resolvedAction;\n\n return {\n ...resolvedActionProps,\n prefixIcon: icon as IconElement,\n disabledDescription: resolvedAction.tooltip,\n };\n };\n\n const handleActionsType = (\n actions: CollectionPagePrimaryActions | CollectionPageSecondaryActions,\n ) => {\n if (actions.type === 'single') {\n return buildAction(actions.single.item);\n }\n\n if (actions.type === 'multi') {\n const subItems = actions.multi.items\n .map(buildAction)\n .filter((action) => action !== null);\n if (!subItems.length) {\n return null;\n }\n\n return {\n label: actions.multi.label,\n prefixIcon: resolveIcon(actions.multi.icon) as IconElement,\n subItems,\n };\n }\n\n return null;\n };\n\n const primaryActions =\n collectionPageActions?.primaryActions &&\n handleActionsType(collectionPageActions.primaryActions);\n\n const secondaryActions =\n collectionPageActions?.secondaryActions &&\n handleActionsType(collectionPageActions.secondaryActions);\n\n if (!primaryActions && !secondaryActions) {\n return;\n }\n\n return {\n primaryActions: primaryActions ? (\n <PrimaryActions {...primaryActions} />\n ) : undefined,\n secondaryActions: secondaryActions ? (\n <SecondaryActions {...secondaryActions} />\n ) : undefined,\n };\n }, [collectionPageActions, sdk]);\n\n const actions = useMemo(() => {\n return {\n primaryActions: undefined,\n secondaryActions: undefined,\n };\n }, []);\n\n if (\n !collectionPageActions?.primaryActions &&\n !collectionPageActions?.secondaryActions\n ) {\n return { ...actions };\n }\n\n return buildCollectionPageActions() ?? { ...actions };\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_useActionsSDK","_actions","_patterns","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","useCollectionPageActions","collectionPageActions","sdk","useActionsSDK","collectionId","buildCollectionPageActions","useCallback","buildAction","actionConfig","actionToResolve","baseParams","actionParams","collection","type","createAction","action","customModalAction","customAction","resolvedAction","resolveAction","tooltip","icon","resolvedActionProps","prefixIcon","disabledDescription","handleActionsType","actions","single","item","subItems","multi","items","map","filter","length","label","primaryActions","secondaryActions","createElement","PrimaryActions","_extends2","__self","__source","fileName","lineNumber","columnNumber","undefined","SecondaryActions","useMemo","exports"],"sources":["../../../src/hooks/useCollectionPageActions.tsx"],"sourcesContent":["import React, { useCallback, useMemo } from 'react';\nimport {\n CollectionPageActionConfig,\n CollectionPageConfig,\n CollectionPagePrimaryActions,\n CollectionPageSecondaryActions,\n ResolvedAction,\n} from '../types';\nimport { useActionsSDK } from './useActionsSDK';\nimport {\n createAction,\n customAction,\n customModalAction,\n resolveAction,\n} from '../utils/actions';\nimport { IconElement } from '@wix/design-system';\nimport { PrimaryActions, SecondaryActions } from '@wix/patterns';\n\nexport interface UseCollectionPageActionsParams {\n collectionPageActions: CollectionPageConfig['actions'];\n}\n\nexport const useCollectionPageActions = ({\n collectionPageActions,\n}: UseCollectionPageActionsParams) => {\n const sdk = useActionsSDK({\n collectionId: '',\n });\n\n const buildCollectionPageActions = useCallback(() => {\n if (!collectionPageActions) {\n return;\n }\n\n const buildAction = (actionConfig: CollectionPageActionConfig) => {\n let actionToResolve: Partial<ResolvedAction> | null = null;\n\n const baseParams = {\n actionParams: {\n collectionId: actionConfig.collection.collectionId,\n },\n sdk,\n };\n\n switch (actionConfig.type) {\n case 'create':\n actionToResolve = createAction({\n action: actionConfig,\n ...baseParams,\n });\n break;\n\n case 'customModal':\n actionToResolve = customModalAction({\n action: actionConfig,\n ...baseParams,\n });\n break;\n\n case 'custom':\n actionToResolve = customAction({\n action: actionConfig,\n ...baseParams,\n });\n break;\n\n default:\n return null;\n }\n\n if (!actionToResolve) {\n return null;\n }\n\n const resolvedAction = resolveAction(actionConfig, actionToResolve);\n const { tooltip, icon, ...resolvedActionProps } = resolvedAction;\n\n return {\n ...resolvedActionProps,\n prefixIcon: icon as IconElement,\n disabledDescription: resolvedAction.tooltip,\n };\n };\n\n const handleActionsType = (\n actions: CollectionPagePrimaryActions | CollectionPageSecondaryActions,\n ) => {\n if (actions.type === 'single') {\n return buildAction(actions.single.item);\n }\n\n if (actions.type === 'multi') {\n const subItems = actions.multi.items\n .map(buildAction)\n .filter((action) => action !== null);\n if (!subItems.length) {\n return null;\n }\n\n return {\n label: actions.multi.label,\n subItems,\n };\n }\n\n return null;\n };\n\n const primaryActions =\n collectionPageActions?.primaryActions &&\n handleActionsType(collectionPageActions.primaryActions);\n\n const secondaryActions =\n collectionPageActions?.secondaryActions &&\n handleActionsType(collectionPageActions.secondaryActions);\n\n if (!primaryActions && !secondaryActions) {\n return;\n }\n\n return {\n primaryActions: primaryActions ? (\n <PrimaryActions {...primaryActions} />\n ) : undefined,\n secondaryActions: secondaryActions ? (\n <SecondaryActions {...secondaryActions} />\n ) : undefined,\n };\n }, [collectionPageActions, sdk]);\n\n const actions = useMemo(() => {\n return {\n primaryActions: undefined,\n secondaryActions: undefined,\n };\n }, []);\n\n if (\n !collectionPageActions?.primaryActions &&\n !collectionPageActions?.secondaryActions\n ) {\n return { ...actions };\n }\n\n return buildCollectionPageActions() ?? { ...actions };\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAQA,IAAAC,cAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAOA,IAAAG,SAAA,GAAAH,OAAA;AAAiE,IAAAI,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,SAAAP,wBAAAO,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;AAM1D,MAAMW,wBAAwB,GAAGA,CAAC;EACvCC;AAC8B,CAAC,KAAK;EACpC,MAAMC,GAAG,GAAG,IAAAC,4BAAa,EAAC;IACxBC,YAAY,EAAE;EAChB,CAAC,CAAC;EAEF,MAAMC,0BAA0B,GAAG,IAAAC,kBAAW,EAAC,MAAM;IACnD,IAAI,CAACL,qBAAqB,EAAE;MAC1B;IACF;IAEA,MAAMM,WAAW,GAAIC,YAAwC,IAAK;MAChE,IAAIC,eAA+C,GAAG,IAAI;MAE1D,MAAMC,UAAU,GAAG;QACjBC,YAAY,EAAE;UACZP,YAAY,EAAEI,YAAY,CAACI,UAAU,CAACR;QACxC,CAAC;QACDF;MACF,CAAC;MAED,QAAQM,YAAY,CAACK,IAAI;QACvB,KAAK,QAAQ;UACXJ,eAAe,GAAG,IAAAK,qBAAY,EAAC;YAC7BC,MAAM,EAAEP,YAAY;YACpB,GAAGE;UACL,CAAC,CAAC;UACF;QAEF,KAAK,aAAa;UAChBD,eAAe,GAAG,IAAAO,0BAAiB,EAAC;YAClCD,MAAM,EAAEP,YAAY;YACpB,GAAGE;UACL,CAAC,CAAC;UACF;QAEF,KAAK,QAAQ;UACXD,eAAe,GAAG,IAAAQ,qBAAY,EAAC;YAC7BF,MAAM,EAAEP,YAAY;YACpB,GAAGE;UACL,CAAC,CAAC;UACF;QAEF;UACE,OAAO,IAAI;MACf;MAEA,IAAI,CAACD,eAAe,EAAE;QACpB,OAAO,IAAI;MACb;MAEA,MAAMS,cAAc,GAAG,IAAAC,sBAAa,EAACX,YAAY,EAAEC,eAAe,CAAC;MACnE,MAAM;QAAEW,OAAO;QAAEC,IAAI;QAAE,GAAGC;MAAoB,CAAC,GAAGJ,cAAc;MAEhE,OAAO;QACL,GAAGI,mBAAmB;QACtBC,UAAU,EAAEF,IAAmB;QAC/BG,mBAAmB,EAAEN,cAAc,CAACE;MACtC,CAAC;IACH,CAAC;IAED,MAAMK,iBAAiB,GACrBC,OAAsE,IACnE;MACH,IAAIA,OAAO,CAACb,IAAI,KAAK,QAAQ,EAAE;QAC7B,OAAON,WAAW,CAACmB,OAAO,CAACC,MAAM,CAACC,IAAI,CAAC;MACzC;MAEA,IAAIF,OAAO,CAACb,IAAI,KAAK,OAAO,EAAE;QAC5B,MAAMgB,QAAQ,GAAGH,OAAO,CAACI,KAAK,CAACC,KAAK,CACjCC,GAAG,CAACzB,WAAW,CAAC,CAChB0B,MAAM,CAAElB,MAAM,IAAKA,MAAM,KAAK,IAAI,CAAC;QACtC,IAAI,CAACc,QAAQ,CAACK,MAAM,EAAE;UACpB,OAAO,IAAI;QACb;QAEA,OAAO;UACLC,KAAK,EAAET,OAAO,CAACI,KAAK,CAACK,KAAK;UAC1BN;QACF,CAAC;MACH;MAEA,OAAO,IAAI;IACb,CAAC;IAED,MAAMO,cAAc,GAClB,CAAAnC,qBAAqB,oBAArBA,qBAAqB,CAAEmC,cAAc,KACrCX,iBAAiB,CAACxB,qBAAqB,CAACmC,cAAc,CAAC;IAEzD,MAAMC,gBAAgB,GACpB,CAAApC,qBAAqB,oBAArBA,qBAAqB,CAAEoC,gBAAgB,KACvCZ,iBAAiB,CAACxB,qBAAqB,CAACoC,gBAAgB,CAAC;IAE3D,IAAI,CAACD,cAAc,IAAI,CAACC,gBAAgB,EAAE;MACxC;IACF;IAEA,OAAO;MACLD,cAAc,EAAEA,cAAc,gBAC5B/D,MAAA,CAAAa,OAAA,CAAAoD,aAAA,CAAC5D,SAAA,CAAA6D,cAAc,MAAAC,SAAA,CAAAtD,OAAA,MAAKkD,cAAc;QAAAK,MAAA;QAAAC,QAAA;UAAAC,QAAA,EAAAhE,YAAA;UAAAiE,UAAA;UAAAC,YAAA;QAAA;MAAA,EAAG,CAAC,GACpCC,SAAS;MACbT,gBAAgB,EAAEA,gBAAgB,gBAChChE,MAAA,CAAAa,OAAA,CAAAoD,aAAA,CAAC5D,SAAA,CAAAqE,gBAAgB,MAAAP,SAAA,CAAAtD,OAAA,MAAKmD,gBAAgB;QAAAI,MAAA;QAAAC,QAAA;UAAAC,QAAA,EAAAhE,YAAA;UAAAiE,UAAA;UAAAC,YAAA;QAAA;MAAA,EAAG,CAAC,GACxCC;IACN,CAAC;EACH,CAAC,EAAE,CAAC7C,qBAAqB,EAAEC,GAAG,CAAC,CAAC;EAEhC,MAAMwB,OAAO,GAAG,IAAAsB,cAAO,EAAC,MAAM;IAC5B,OAAO;MACLZ,cAAc,EAAEU,SAAS;MACzBT,gBAAgB,EAAES;IACpB,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,IACE,EAAC7C,qBAAqB,YAArBA,qBAAqB,CAAEmC,cAAc,KACtC,EAACnC,qBAAqB,YAArBA,qBAAqB,CAAEoC,gBAAgB,GACxC;IACA,OAAO;MAAE,GAAGX;IAAQ,CAAC;EACvB;EAEA,OAAOrB,0BAA0B,CAAC,CAAC,IAAI;IAAE,GAAGqB;EAAQ,CAAC;AACvD,CAAC;AAACuB,OAAA,CAAAjD,wBAAA,GAAAA,wBAAA","ignoreList":[]}
@@ -18,7 +18,8 @@ const useColumns = columns => {
18
18
  } = (0, _providers.useSchemaRegistry)();
19
19
  const overrides = (0, _providers.usePatternsWizardOverridesContext)();
20
20
  const existingColumns = columns.filter(column => {
21
- return !!fields[column.id];
21
+ var _overrides$columns;
22
+ return !!fields[column.id] || (overrides == null || (_overrides$columns = overrides.columns) == null ? void 0 : _overrides$columns[column.id]);
22
23
  });
23
24
  const createRenderer = (fieldDefinition, itemValue) => {
24
25
  if (itemValue == null) {
@@ -96,31 +97,50 @@ const useColumns = columns => {
96
97
  }
97
98
  }
98
99
  return itemValue;
100
+ case 'IMAGE':
101
+ const imageUrl = (0, _getImageUrl.getImageUrl)(itemValue);
102
+ return /*#__PURE__*/_react.default.createElement(_designSystem.Image, {
103
+ src: imageUrl,
104
+ width: "48px",
105
+ dataHook: "auto-patterns-image",
106
+ __self: void 0,
107
+ __source: {
108
+ fileName: _jsxFileName,
109
+ lineNumber: 88,
110
+ columnNumber: 11
111
+ }
112
+ });
99
113
  default:
100
114
  return itemValue;
101
115
  }
102
116
  };
103
117
  return existingColumns.map(column => {
104
- var _fieldDefinition$capa;
118
+ var _overrides$columns2, _fieldDefinition$capa;
105
119
  const fieldDefinition = fields[column.id];
106
- if (!fieldDefinition) {
120
+ if (!fieldDefinition && !(overrides != null && (_overrides$columns2 = overrides.columns) != null && _overrides$columns2[column.id])) {
107
121
  return null;
108
122
  }
109
123
  const sortable = column.sortable && (fieldDefinition == null || (_fieldDefinition$capa = fieldDefinition.capabilities) == null ? void 0 : _fieldDefinition$capa.sortable);
110
124
  const baseColumnConfig = {
111
125
  id: column.id,
112
- title: column.name || fieldDefinition.displayName,
113
- ...(column.width ? {
114
- width: column.width
115
- } : {}),
126
+ title: column.name || (fieldDefinition == null ? void 0 : fieldDefinition.displayName),
127
+ width: column.width,
116
128
  ...createSortConfiguration(column, sortable),
117
129
  ...createCustomColumnConfiguration(column),
118
- render: item => {
119
- var _overrides$columns, _overrides$columns$ca;
120
- const itemValue = (0, _lodash.get)(item, column.id);
121
- return (overrides == null || (_overrides$columns = overrides.columns) == null || (_overrides$columns$ca = _overrides$columns[(0, _lodash.camelCase)(column.id)]) == null ? void 0 : _overrides$columns$ca.call(_overrides$columns, {
122
- value: itemValue
123
- })) ?? createRenderer(fieldDefinition, itemValue);
130
+ render: row => {
131
+ var _overrides$columns3;
132
+ const itemValue = (0, _lodash.get)(row, column.id);
133
+ if (overrides != null && (_overrides$columns3 = overrides.columns) != null && _overrides$columns3[(0, _lodash.camelCase)(column.id)]) {
134
+ var _overrides$columns4, _overrides$columns4$c;
135
+ return overrides == null || (_overrides$columns4 = overrides.columns) == null || (_overrides$columns4$c = _overrides$columns4[(0, _lodash.camelCase)(column.id)]) == null ? void 0 : _overrides$columns4$c.call(_overrides$columns4, {
136
+ value: itemValue,
137
+ row
138
+ });
139
+ }
140
+ if (fieldDefinition) {
141
+ return createRenderer(fieldDefinition, itemValue);
142
+ }
143
+ return null; // Shouldn't really happen
124
144
  }
125
145
  };
126
146
  return baseColumnConfig;
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_providers","_lodash","_designSystem","_getImageUrl","_jsxFileName","useColumns","columns","fields","useSchema","getSchema","useSchemaRegistry","overrides","usePatternsWizardOverridesContext","existingColumns","filter","column","id","createRenderer","fieldDefinition","itemValue","type","Date","toLocaleDateString","date","toLocaleString","join","referenceMetadata","referencedCollectionId","refSchema","nameValue","imageValue","displayField","imageField","imageUrl","getImageUrl","default","createElement","Box","gap","verticalAlign","__self","__source","fileName","lineNumber","columnNumber","Avatar","size","name","imgProps","src","map","_fieldDefinition$capa","sortable","capabilities","baseColumnConfig","title","displayName","width","createSortConfiguration","createCustomColumnConfiguration","render","item","_overrides$columns","_overrides$columns$ca","get","camelCase","call","value","Boolean","exports","sortableColumnConfig","defaultSortOrder","sortMode","undefined","reorderDisabled","hiddenFromCustomColumnsSelection","hideable","defaultHidden"],"sources":["../../../src/hooks/useColumns.tsx"],"sourcesContent":["import React from 'react';\nimport { TableColumn } from '@wix/patterns';\nimport {\n usePatternsWizardOverridesContext,\n useSchema,\n useSchemaRegistry,\n} from '../providers';\nimport { Column, Field } from '../types';\nimport { camelCase, get } from 'lodash';\nimport { Avatar, Box } from '@wix/design-system';\nimport { getImageUrl } from '../utils/media/getImageUrl';\n\nexport const useColumns = (columns: Column[]) => {\n const { fields } = useSchema();\n const { getSchema } = useSchemaRegistry();\n const overrides = usePatternsWizardOverridesContext();\n\n const existingColumns = columns.filter((column) => {\n return !!fields[column.id];\n });\n\n const createRenderer = (fieldDefinition: Field, itemValue: any) => {\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 case 'REFERENCE':\n if (fieldDefinition.referenceMetadata && getSchema) {\n const { referencedCollectionId } = fieldDefinition.referenceMetadata;\n const refSchema = getSchema(referencedCollectionId);\n\n if (refSchema) {\n let nameValue: string | undefined;\n let imageValue: string | undefined;\n const displayField = refSchema.displayField;\n if (typeof itemValue === 'object' && itemValue !== null) {\n nameValue = itemValue[displayField] || '';\n imageValue =\n refSchema.imageField && itemValue[refSchema.imageField];\n }\n\n const imageUrl = imageValue && getImageUrl(imageValue);\n return (\n <Box gap=\"SP2\" verticalAlign=\"middle\">\n {imageUrl && (\n <Avatar\n size=\"size24\"\n name={nameValue}\n imgProps={{ src: imageUrl }}\n />\n )}\n <div>{nameValue}</div>\n </Box>\n );\n }\n }\n\n return itemValue;\n default:\n return itemValue;\n }\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 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":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_providers","_lodash","_designSystem","_getImageUrl","_jsxFileName","useColumns","columns","fields","useSchema","getSchema","useSchemaRegistry","overrides","usePatternsWizardOverridesContext","existingColumns","filter","column","_overrides$columns","id","createRenderer","fieldDefinition","itemValue","type","Date","toLocaleDateString","date","toLocaleString","join","referenceMetadata","referencedCollectionId","refSchema","nameValue","imageValue","displayField","imageField","imageUrl","getImageUrl","default","createElement","Box","gap","verticalAlign","__self","__source","fileName","lineNumber","columnNumber","Avatar","size","name","imgProps","src","Image","width","dataHook","map","_overrides$columns2","_fieldDefinition$capa","sortable","capabilities","baseColumnConfig","title","displayName","createSortConfiguration","createCustomColumnConfiguration","render","row","_overrides$columns3","get","camelCase","_overrides$columns4","_overrides$columns4$c","call","value","Boolean","exports","sortableColumnConfig","defaultSortOrder","sortMode","undefined","reorderDisabled","hiddenFromCustomColumnsSelection","hideable","defaultHidden"],"sources":["../../../src/hooks/useColumns.tsx"],"sourcesContent":["import React from 'react';\nimport { TableColumn } from '@wix/patterns';\nimport {\n usePatternsWizardOverridesContext,\n useSchema,\n useSchemaRegistry,\n} from '../providers';\nimport { Column, Field } from '../types';\nimport { camelCase, get } from 'lodash';\nimport { Avatar, Box, Image } from '@wix/design-system';\nimport { getImageUrl } from '../utils/media/getImageUrl';\n\nexport const useColumns = (columns: Column[]) => {\n const { fields } = useSchema();\n const { getSchema } = useSchemaRegistry();\n const overrides = usePatternsWizardOverridesContext();\n\n const existingColumns = columns.filter((column) => {\n return !!fields[column.id] || overrides?.columns?.[column.id];\n });\n\n const createRenderer = (fieldDefinition: Field, itemValue: any) => {\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 case 'REFERENCE':\n if (fieldDefinition.referenceMetadata && getSchema) {\n const { referencedCollectionId } = fieldDefinition.referenceMetadata;\n const refSchema = getSchema(referencedCollectionId);\n\n if (refSchema) {\n let nameValue: string | undefined;\n let imageValue: string | undefined;\n const displayField = refSchema.displayField;\n if (typeof itemValue === 'object' && itemValue !== null) {\n nameValue = itemValue[displayField] || '';\n imageValue =\n refSchema.imageField && itemValue[refSchema.imageField];\n }\n\n const imageUrl = imageValue && getImageUrl(imageValue);\n return (\n <Box gap=\"SP2\" verticalAlign=\"middle\">\n {imageUrl && (\n <Avatar\n size=\"size24\"\n name={nameValue}\n imgProps={{ src: imageUrl }}\n />\n )}\n <div>{nameValue}</div>\n </Box>\n );\n }\n }\n\n return itemValue;\n case 'IMAGE':\n const imageUrl = getImageUrl(itemValue);\n\n return (\n <Image src={imageUrl} width=\"48px\" dataHook=\"auto-patterns-image\" />\n );\n default:\n return itemValue;\n }\n };\n\n return existingColumns\n .map((column) => {\n const fieldDefinition = fields[column.id];\n if (!fieldDefinition && !overrides?.columns?.[column.id]) {\n return null;\n }\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 width: column.width,\n ...createSortConfiguration(column, sortable),\n ...createCustomColumnConfiguration(column),\n render: (row: any) => {\n const itemValue = get(row, column.id);\n\n if (overrides?.columns?.[camelCase(column.id)]) {\n return overrides?.columns?.[camelCase(column.id)]?.({\n value: itemValue,\n row,\n });\n }\n\n if (fieldDefinition) {\n return createRenderer(fieldDefinition, itemValue);\n }\n\n return null; // Shouldn't really happen\n },\n };\n\n return baseColumnConfig;\n })\n .filter(Boolean) as TableColumn<any>[];\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":[]}
@@ -6,13 +6,11 @@ var _useFetchData = require("./useFetchData");
6
6
  var _patterns = require("@wix/patterns");
7
7
  var _useCommonCollectionFeatures = require("./useCommonCollectionFeatures");
8
8
  var _useFilters = require("./useFilters");
9
- var _react = require("react");
10
9
  var _SchemaContext = require("../providers/SchemaContext");
11
10
  var _useAutoPatternsOptimisticActions = require("./useAutoPatternsOptimisticActions");
12
- var _getImageUrl = require("../utils/media/getImageUrl");
11
+ var _useBaseGridFeatures = require("./useBaseGridFeatures");
13
12
  const useGridFeatures = configuration => {
14
13
  const {
15
- item,
16
14
  collection
17
15
  } = configuration;
18
16
  const {
@@ -23,18 +21,16 @@ const useGridFeatures = configuration => {
23
21
  selectionConsistencyMode
24
22
  } = collection;
25
23
  const {
26
- titleFieldId,
27
- subtitleFieldId,
28
- imageFieldId,
24
+ renderItem,
29
25
  imagePlacement,
30
- cardContentMode: preset
31
- } = item;
26
+ preset,
27
+ visibleFieldIds
28
+ } = (0, _useBaseGridFeatures.useBaseGridFeatures)(configuration);
32
29
  const {
33
30
  filterComponent,
34
31
  filtersObject,
35
32
  filtersMapping
36
33
  } = (0, _useFilters.useFilters)(configuration.filters);
37
- const visibleFieldIds = (0, _react.useMemo)(() => [titleFieldId, subtitleFieldId, imageFieldId].filter(Boolean), [titleFieldId, subtitleFieldId, imageFieldId]);
38
34
  const {
39
35
  fetchData
40
36
  } = (0, _useFetchData.useFetchData)({
@@ -64,16 +60,6 @@ const useGridFeatures = configuration => {
64
60
  optimisticActions,
65
61
  collectionType: 'Grid'
66
62
  });
67
- const renderItem = (0, _react.useMemo)(() => gridItem => ({
68
- id: gridItem[schema.idField],
69
- title: `${gridItem[titleFieldId]}`,
70
- ...(subtitleFieldId ? {
71
- subtitle: `${gridItem[subtitleFieldId] ?? ''}`
72
- } : {}),
73
- ...(imageFieldId ? {
74
- backgroundImageUrl: (0, _getImageUrl.getImageUrl)(gridItem[imageFieldId])
75
- } : {})
76
- }), [titleFieldId, subtitleFieldId, imageFieldId, schema.idField]);
77
63
  return {
78
64
  ...commonFeatures,
79
65
  state,
@@ -1 +1 @@
1
- {"version":3,"names":["_useFetchData","require","_patterns","_useCommonCollectionFeatures","_useFilters","_react","_SchemaContext","_useAutoPatternsOptimisticActions","_getImageUrl","useGridFeatures","configuration","item","collection","collectionId","limit","persistQueryToUrl","disableAutoSelectAllCount","selectionConsistencyMode","titleFieldId","subtitleFieldId","imageFieldId","imagePlacement","cardContentMode","preset","filterComponent","filtersObject","filtersMapping","useFilters","filters","visibleFieldIds","useMemo","filter","Boolean","fetchData","useFetchData","collectionConfig","schema","useSchema","state","useGridCollection","queryName","itemKey","gridItem","idField","itemName","displayField","toExtendedFields","extendedFields","fetchErrorMessage","err","String","optimisticActions","useAutoPatternsOptimisticActions","commonFeatures","useCommonCollectionFeatures","collectionType","renderItem","id","title","subtitle","backgroundImageUrl","getImageUrl","exports"],"sources":["../../../src/hooks/useGridFeatures.tsx"],"sourcesContent":["import { GridConfig } from '../types';\nimport { useFetchData } from './useFetchData';\nimport { useGridCollection } from '@wix/patterns';\nimport { useCommonCollectionFeatures } from './useCommonCollectionFeatures';\nimport { useFilters } from './useFilters';\nimport { useMemo } from 'react';\nimport { useSchema } from '../providers/SchemaContext';\nimport { useAutoPatternsOptimisticActions } from './useAutoPatternsOptimisticActions';\nimport { getImageUrl } from '../utils/media/getImageUrl';\n\nexport const useGridFeatures = (configuration: GridConfig) => {\n const { item, collection } = configuration;\n\n const {\n collectionId,\n limit,\n persistQueryToUrl,\n disableAutoSelectAllCount,\n selectionConsistencyMode,\n } = collection;\n\n const {\n titleFieldId,\n subtitleFieldId,\n imageFieldId,\n imagePlacement,\n cardContentMode: preset,\n } = item;\n\n const { filterComponent, filtersObject, filtersMapping } = useFilters(\n configuration.filters,\n );\n\n const visibleFieldIds = useMemo(\n () =>\n [titleFieldId, subtitleFieldId, imageFieldId].filter(Boolean) as string[],\n [titleFieldId, subtitleFieldId, imageFieldId],\n );\n\n const { fetchData } = useFetchData({\n collectionConfig: configuration.collection,\n visibleFieldIds,\n filtersMapping,\n });\n const schema = useSchema();\n\n const state = useGridCollection<any>({\n queryName: `${collectionId}`,\n itemKey: (gridItem) => gridItem[schema.idField],\n itemName: (gridItem) => gridItem[schema.displayField],\n filters: filtersObject,\n toExtendedFields: (gridItem) => gridItem.extendedFields,\n fetchErrorMessage: ({ err }) => String(err),\n fetchData,\n limit,\n persistQueryToUrl,\n disableAutoSelectAllCount,\n selectionConsistencyMode,\n });\n\n const optimisticActions = useAutoPatternsOptimisticActions(\n collectionId,\n state.collection,\n );\n\n const commonFeatures = useCommonCollectionFeatures({\n ...configuration,\n optimisticActions,\n collectionType: 'Grid',\n });\n\n const renderItem = useMemo(\n () => (gridItem: any) => ({\n id: gridItem[schema.idField],\n title: `${gridItem[titleFieldId]}`,\n ...(subtitleFieldId\n ? { subtitle: `${gridItem[subtitleFieldId] ?? ''}` }\n : {}),\n ...(imageFieldId\n ? { backgroundImageUrl: getImageUrl(gridItem[imageFieldId]) }\n : {}),\n }),\n [titleFieldId, subtitleFieldId, imageFieldId, schema.idField],\n );\n\n return {\n ...commonFeatures,\n state,\n imagePlacement,\n preset,\n optimisticActions,\n renderItem,\n filters: filterComponent,\n };\n};\n"],"mappings":";;;;AACA,IAAAA,aAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,4BAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AACA,IAAAK,cAAA,GAAAL,OAAA;AACA,IAAAM,iCAAA,GAAAN,OAAA;AACA,IAAAO,YAAA,GAAAP,OAAA;AAEO,MAAMQ,eAAe,GAAIC,aAAyB,IAAK;EAC5D,MAAM;IAAEC,IAAI;IAAEC;EAAW,CAAC,GAAGF,aAAa;EAE1C,MAAM;IACJG,YAAY;IACZC,KAAK;IACLC,iBAAiB;IACjBC,yBAAyB;IACzBC;EACF,CAAC,GAAGL,UAAU;EAEd,MAAM;IACJM,YAAY;IACZC,eAAe;IACfC,YAAY;IACZC,cAAc;IACdC,eAAe,EAAEC;EACnB,CAAC,GAAGZ,IAAI;EAER,MAAM;IAAEa,eAAe;IAAEC,aAAa;IAAEC;EAAe,CAAC,GAAG,IAAAC,sBAAU,EACnEjB,aAAa,CAACkB,OAChB,CAAC;EAED,MAAMC,eAAe,GAAG,IAAAC,cAAO,EAC7B,MACE,CAACZ,YAAY,EAAEC,eAAe,EAAEC,YAAY,CAAC,CAACW,MAAM,CAACC,OAAO,CAAa,EAC3E,CAACd,YAAY,EAAEC,eAAe,EAAEC,YAAY,CAC9C,CAAC;EAED,MAAM;IAAEa;EAAU,CAAC,GAAG,IAAAC,0BAAY,EAAC;IACjCC,gBAAgB,EAAEzB,aAAa,CAACE,UAAU;IAC1CiB,eAAe;IACfH;EACF,CAAC,CAAC;EACF,MAAMU,MAAM,GAAG,IAAAC,wBAAS,EAAC,CAAC;EAE1B,MAAMC,KAAK,GAAG,IAAAC,2BAAiB,EAAM;IACnCC,SAAS,EAAE,GAAG3B,YAAY,EAAE;IAC5B4B,OAAO,EAAGC,QAAQ,IAAKA,QAAQ,CAACN,MAAM,CAACO,OAAO,CAAC;IAC/CC,QAAQ,EAAGF,QAAQ,IAAKA,QAAQ,CAACN,MAAM,CAACS,YAAY,CAAC;IACrDjB,OAAO,EAAEH,aAAa;IACtBqB,gBAAgB,EAAGJ,QAAQ,IAAKA,QAAQ,CAACK,cAAc;IACvDC,iBAAiB,EAAEA,CAAC;MAAEC;IAAI,CAAC,KAAKC,MAAM,CAACD,GAAG,CAAC;IAC3ChB,SAAS;IACTnB,KAAK;IACLC,iBAAiB;IACjBC,yBAAyB;IACzBC;EACF,CAAC,CAAC;EAEF,MAAMkC,iBAAiB,GAAG,IAAAC,kEAAgC,EACxDvC,YAAY,EACZyB,KAAK,CAAC1B,UACR,CAAC;EAED,MAAMyC,cAAc,GAAG,IAAAC,wDAA2B,EAAC;IACjD,GAAG5C,aAAa;IAChByC,iBAAiB;IACjBI,cAAc,EAAE;EAClB,CAAC,CAAC;EAEF,MAAMC,UAAU,GAAG,IAAA1B,cAAO,EACxB,MAAOY,QAAa,KAAM;IACxBe,EAAE,EAAEf,QAAQ,CAACN,MAAM,CAACO,OAAO,CAAC;IAC5Be,KAAK,EAAE,GAAGhB,QAAQ,CAACxB,YAAY,CAAC,EAAE;IAClC,IAAIC,eAAe,GACf;MAAEwC,QAAQ,EAAE,GAAGjB,QAAQ,CAACvB,eAAe,CAAC,IAAI,EAAE;IAAG,CAAC,GAClD,CAAC,CAAC,CAAC;IACP,IAAIC,YAAY,GACZ;MAAEwC,kBAAkB,EAAE,IAAAC,wBAAW,EAACnB,QAAQ,CAACtB,YAAY,CAAC;IAAE,CAAC,GAC3D,CAAC,CAAC;EACR,CAAC,CAAC,EACF,CAACF,YAAY,EAAEC,eAAe,EAAEC,YAAY,EAAEgB,MAAM,CAACO,OAAO,CAC9D,CAAC;EAED,OAAO;IACL,GAAGU,cAAc;IACjBf,KAAK;IACLjB,cAAc;IACdE,MAAM;IACN4B,iBAAiB;IACjBK,UAAU;IACV5B,OAAO,EAAEJ;EACX,CAAC;AACH,CAAC;AAACsC,OAAA,CAAArD,eAAA,GAAAA,eAAA","ignoreList":[]}
1
+ {"version":3,"names":["_useFetchData","require","_patterns","_useCommonCollectionFeatures","_useFilters","_SchemaContext","_useAutoPatternsOptimisticActions","_useBaseGridFeatures","useGridFeatures","configuration","collection","collectionId","limit","persistQueryToUrl","disableAutoSelectAllCount","selectionConsistencyMode","renderItem","imagePlacement","preset","visibleFieldIds","useBaseGridFeatures","filterComponent","filtersObject","filtersMapping","useFilters","filters","fetchData","useFetchData","collectionConfig","schema","useSchema","state","useGridCollection","queryName","itemKey","gridItem","idField","itemName","displayField","toExtendedFields","extendedFields","fetchErrorMessage","err","String","optimisticActions","useAutoPatternsOptimisticActions","commonFeatures","useCommonCollectionFeatures","collectionType","exports"],"sources":["../../../src/hooks/useGridFeatures.tsx"],"sourcesContent":["import { GridConfig } from '../types';\nimport { useFetchData } from './useFetchData';\nimport { useGridCollection } from '@wix/patterns';\nimport { useCommonCollectionFeatures } from './useCommonCollectionFeatures';\nimport { useFilters } from './useFilters';\nimport { useSchema } from '../providers/SchemaContext';\nimport { useAutoPatternsOptimisticActions } from './useAutoPatternsOptimisticActions';\nimport { useBaseGridFeatures } from './useBaseGridFeatures';\n\nexport const useGridFeatures = (configuration: GridConfig) => {\n const { collection } = configuration;\n\n const {\n collectionId,\n limit,\n persistQueryToUrl,\n disableAutoSelectAllCount,\n selectionConsistencyMode,\n } = collection;\n\n const { renderItem, imagePlacement, preset, visibleFieldIds } =\n useBaseGridFeatures(configuration);\n\n const { filterComponent, filtersObject, filtersMapping } = useFilters(\n configuration.filters,\n );\n\n const { fetchData } = useFetchData({\n collectionConfig: configuration.collection,\n visibleFieldIds,\n filtersMapping,\n });\n\n const schema = useSchema();\n\n const state = useGridCollection<any>({\n queryName: `${collectionId}`,\n itemKey: (gridItem) => gridItem[schema.idField],\n itemName: (gridItem) => gridItem[schema.displayField],\n filters: filtersObject,\n toExtendedFields: (gridItem) => gridItem.extendedFields,\n fetchErrorMessage: ({ err }) => String(err),\n fetchData,\n limit,\n persistQueryToUrl,\n disableAutoSelectAllCount,\n selectionConsistencyMode,\n });\n\n const optimisticActions = useAutoPatternsOptimisticActions(\n collectionId,\n state.collection,\n );\n\n const commonFeatures = useCommonCollectionFeatures({\n ...configuration,\n optimisticActions,\n collectionType: 'Grid',\n });\n\n return {\n ...commonFeatures,\n state,\n imagePlacement,\n preset,\n optimisticActions,\n renderItem,\n filters: filterComponent,\n };\n};\n"],"mappings":";;;;AACA,IAAAA,aAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,4BAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AACA,IAAAI,cAAA,GAAAJ,OAAA;AACA,IAAAK,iCAAA,GAAAL,OAAA;AACA,IAAAM,oBAAA,GAAAN,OAAA;AAEO,MAAMO,eAAe,GAAIC,aAAyB,IAAK;EAC5D,MAAM;IAAEC;EAAW,CAAC,GAAGD,aAAa;EAEpC,MAAM;IACJE,YAAY;IACZC,KAAK;IACLC,iBAAiB;IACjBC,yBAAyB;IACzBC;EACF,CAAC,GAAGL,UAAU;EAEd,MAAM;IAAEM,UAAU;IAAEC,cAAc;IAAEC,MAAM;IAAEC;EAAgB,CAAC,GAC3D,IAAAC,wCAAmB,EAACX,aAAa,CAAC;EAEpC,MAAM;IAAEY,eAAe;IAAEC,aAAa;IAAEC;EAAe,CAAC,GAAG,IAAAC,sBAAU,EACnEf,aAAa,CAACgB,OAChB,CAAC;EAED,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,0BAAY,EAAC;IACjCC,gBAAgB,EAAEnB,aAAa,CAACC,UAAU;IAC1CS,eAAe;IACfI;EACF,CAAC,CAAC;EAEF,MAAMM,MAAM,GAAG,IAAAC,wBAAS,EAAC,CAAC;EAE1B,MAAMC,KAAK,GAAG,IAAAC,2BAAiB,EAAM;IACnCC,SAAS,EAAE,GAAGtB,YAAY,EAAE;IAC5BuB,OAAO,EAAGC,QAAQ,IAAKA,QAAQ,CAACN,MAAM,CAACO,OAAO,CAAC;IAC/CC,QAAQ,EAAGF,QAAQ,IAAKA,QAAQ,CAACN,MAAM,CAACS,YAAY,CAAC;IACrDb,OAAO,EAAEH,aAAa;IACtBiB,gBAAgB,EAAGJ,QAAQ,IAAKA,QAAQ,CAACK,cAAc;IACvDC,iBAAiB,EAAEA,CAAC;MAAEC;IAAI,CAAC,KAAKC,MAAM,CAACD,GAAG,CAAC;IAC3ChB,SAAS;IACTd,KAAK;IACLC,iBAAiB;IACjBC,yBAAyB;IACzBC;EACF,CAAC,CAAC;EAEF,MAAM6B,iBAAiB,GAAG,IAAAC,kEAAgC,EACxDlC,YAAY,EACZoB,KAAK,CAACrB,UACR,CAAC;EAED,MAAMoC,cAAc,GAAG,IAAAC,wDAA2B,EAAC;IACjD,GAAGtC,aAAa;IAChBmC,iBAAiB;IACjBI,cAAc,EAAE;EAClB,CAAC,CAAC;EAEF,OAAO;IACL,GAAGF,cAAc;IACjBf,KAAK;IACLd,cAAc;IACdC,MAAM;IACN0B,iBAAiB;IACjB5B,UAAU;IACVS,OAAO,EAAEJ;EACX,CAAC;AACH,CAAC;AAAC4B,OAAA,CAAAzC,eAAA,GAAAA,eAAA","ignoreList":[]}
@@ -16,7 +16,7 @@ const usePagePath = configuration => {
16
16
  path = (_currentPage$collecti = currentPage.collectionPage) == null ? void 0 : _currentPage$collecti.route.path;
17
17
  break;
18
18
  case 'entityPage':
19
- path = (_currentPage$entityPa = currentPage.entityPage) == null ? void 0 : _currentPage$entityPa.route.path;
19
+ path = `${(_currentPage$entityPa = currentPage.entityPage) == null ? void 0 : _currentPage$entityPa.route.path}?`;
20
20
  break;
21
21
  default:
22
22
  path = undefined;
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","usePagePath","configuration","getPagePath","useCallback","pageId","_currentPage$collecti","_currentPage$entityPa","currentPage","pages","find","page","id","path","type","collectionPage","route","entityPage","undefined","process","env","NODE_ENV","exports"],"sources":["../../../src/hooks/usePagePath.ts"],"sourcesContent":["import { useCallback } from 'react';\nimport { AppConfig } from '../types';\n\nexport const usePagePath = (configuration: AppConfig) => {\n const getPagePath = useCallback(\n (pageId?: string) => {\n if (!pageId) {\n return '/';\n }\n\n const currentPage = configuration.pages.find(\n (page) => page.id === pageId,\n );\n\n let path;\n switch (currentPage?.type) {\n case 'collectionPage':\n path = currentPage.collectionPage?.route.path;\n break;\n case 'entityPage':\n path = currentPage.entityPage?.route.path;\n break;\n default:\n path = undefined;\n }\n\n if (process.env.NODE_ENV === 'test') {\n // in test mode we sometime override pages so we need to return the path or '/'\n return path || '/';\n }\n\n return path;\n },\n [configuration],\n );\n\n return { getPagePath };\n};\n"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGO,MAAMC,WAAW,GAAIC,aAAwB,IAAK;EACvD,MAAMC,WAAW,GAAG,IAAAC,kBAAW,EAC5BC,MAAe,IAAK;IAAA,IAAAC,qBAAA,EAAAC,qBAAA;IACnB,IAAI,CAACF,MAAM,EAAE;MACX,OAAO,GAAG;IACZ;IAEA,MAAMG,WAAW,GAAGN,aAAa,CAACO,KAAK,CAACC,IAAI,CACzCC,IAAI,IAAKA,IAAI,CAACC,EAAE,KAAKP,MACxB,CAAC;IAED,IAAIQ,IAAI;IACR,QAAQL,WAAW,oBAAXA,WAAW,CAAEM,IAAI;MACvB,KAAK,gBAAgB;QACnBD,IAAI,IAAAP,qBAAA,GAAGE,WAAW,CAACO,cAAc,qBAA1BT,qBAAA,CAA4BU,KAAK,CAACH,IAAI;QAC7C;MACF,KAAK,YAAY;QACfA,IAAI,IAAAN,qBAAA,GAAGC,WAAW,CAACS,UAAU,qBAAtBV,qBAAA,CAAwBS,KAAK,CAACH,IAAI;QACzC;MACF;QACEA,IAAI,GAAGK,SAAS;IACpB;IAEA,IAAIC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,MAAM,EAAE;MACnC;MACA,OAAOR,IAAI,IAAI,GAAG;IACpB;IAEA,OAAOA,IAAI;EACb,CAAC,EACD,CAACX,aAAa,CAChB,CAAC;EAED,OAAO;IAAEC;EAAY,CAAC;AACxB,CAAC;AAACmB,OAAA,CAAArB,WAAA,GAAAA,WAAA","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","usePagePath","configuration","getPagePath","useCallback","pageId","_currentPage$collecti","_currentPage$entityPa","currentPage","pages","find","page","id","path","type","collectionPage","route","entityPage","undefined","process","env","NODE_ENV","exports"],"sources":["../../../src/hooks/usePagePath.ts"],"sourcesContent":["import { useCallback } from 'react';\nimport { AppConfig } from '../types';\n\nexport const usePagePath = (configuration: AppConfig) => {\n const getPagePath = useCallback(\n (pageId?: string) => {\n if (!pageId) {\n return '/';\n }\n\n const currentPage = configuration.pages.find(\n (page) => page.id === pageId,\n );\n\n let path;\n switch (currentPage?.type) {\n case 'collectionPage':\n path = currentPage.collectionPage?.route.path;\n break;\n case 'entityPage':\n path = `${currentPage.entityPage?.route.path}?`;\n break;\n default:\n path = undefined;\n }\n\n if (process.env.NODE_ENV === 'test') {\n // in test mode we sometime override pages so we need to return the path or '/'\n return path || '/';\n }\n\n return path;\n },\n [configuration],\n );\n\n return { getPagePath };\n};\n"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGO,MAAMC,WAAW,GAAIC,aAAwB,IAAK;EACvD,MAAMC,WAAW,GAAG,IAAAC,kBAAW,EAC5BC,MAAe,IAAK;IAAA,IAAAC,qBAAA,EAAAC,qBAAA;IACnB,IAAI,CAACF,MAAM,EAAE;MACX,OAAO,GAAG;IACZ;IAEA,MAAMG,WAAW,GAAGN,aAAa,CAACO,KAAK,CAACC,IAAI,CACzCC,IAAI,IAAKA,IAAI,CAACC,EAAE,KAAKP,MACxB,CAAC;IAED,IAAIQ,IAAI;IACR,QAAQL,WAAW,oBAAXA,WAAW,CAAEM,IAAI;MACvB,KAAK,gBAAgB;QACnBD,IAAI,IAAAP,qBAAA,GAAGE,WAAW,CAACO,cAAc,qBAA1BT,qBAAA,CAA4BU,KAAK,CAACH,IAAI;QAC7C;MACF,KAAK,YAAY;QACfA,IAAI,GAAG,IAAAN,qBAAA,GAAGC,WAAW,CAACS,UAAU,qBAAtBV,qBAAA,CAAwBS,KAAK,CAACH,IAAI,GAAG;QAC/C;MACF;QACEA,IAAI,GAAGK,SAAS;IACpB;IAEA,IAAIC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,MAAM,EAAE;MACnC;MACA,OAAOR,IAAI,IAAI,GAAG;IACpB;IAEA,OAAOA,IAAI;EACb,CAAC,EACD,CAACX,aAAa,CAChB,CAAC;EAED,OAAO;IAAEC;EAAY,CAAC;AACxB,CAAC;AAACmB,OAAA,CAAArB,WAAA,GAAAA,WAAA","ignoreList":[]}
@@ -2,19 +2,14 @@
2
2
 
3
3
  exports.__esModule = true;
4
4
  exports.useTableFeatures = void 0;
5
- var _react = _interopRequireWildcard(require("react"));
6
- var _useColumns = require("./useColumns");
7
5
  var _useFetchData = require("./useFetchData");
8
6
  var _patterns = require("@wix/patterns");
9
7
  var _useCommonCollectionFeatures = require("./useCommonCollectionFeatures");
10
8
  var _useFilters = require("./useFilters");
11
9
  var _SchemaContext = require("../providers/SchemaContext");
12
10
  var _useAutoPatternsOptimisticActions = require("./useAutoPatternsOptimisticActions");
13
- var _jsxFileName = "/home/builduser/work/73d19ce3378ce4dd/packages/auto-patterns/dist/cjs/hooks/useTableFeatures.tsx";
14
- 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); }
15
- 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; }
11
+ var _useBaseTableFeatures = require("./useBaseTableFeatures");
16
12
  const useTableFeatures = configuration => {
17
- var _configuration$custom;
18
13
  const {
19
14
  collectionId,
20
15
  limit,
@@ -27,8 +22,14 @@ const useTableFeatures = configuration => {
27
22
  filtersObject,
28
23
  filtersMapping
29
24
  } = (0, _useFilters.useFilters)(configuration.filters);
30
- const columns = (0, _useColumns.useColumns)(configuration.columns);
31
- const visibleFieldIds = (0, _react.useMemo)(() => configuration.columns.map(column => column.id), [configuration]);
25
+ const {
26
+ customColumns,
27
+ visibleFieldIds,
28
+ columns,
29
+ onRowClick,
30
+ stickyColumns,
31
+ stickySelectionColumn
32
+ } = (0, _useBaseTableFeatures.useBaseTableFeatures)(configuration);
32
33
  const {
33
34
  fetchData
34
35
  } = (0, _useFetchData.useFetchData)({
@@ -63,14 +64,10 @@ const useTableFeatures = configuration => {
63
64
  columns,
64
65
  filters: filterComponent,
65
66
  optimisticActions,
66
- customColumns: (_configuration$custom = configuration.customColumns) != null && _configuration$custom.enabled ? /*#__PURE__*/_react.default.createElement(_patterns.CustomColumns, {
67
- __self: void 0,
68
- __source: {
69
- fileName: _jsxFileName,
70
- lineNumber: 68,
71
- columnNumber: 7
72
- }
73
- }) : undefined
67
+ customColumns,
68
+ onRowClick,
69
+ stickyColumns,
70
+ stickySelectionColumn
74
71
  };
75
72
  };
76
73
  exports.useTableFeatures = useTableFeatures;
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_useColumns","_useFetchData","_patterns","_useCommonCollectionFeatures","_useFilters","_SchemaContext","_useAutoPatternsOptimisticActions","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","useTableFeatures","configuration","_configuration$custom","collectionId","limit","persistQueryToUrl","disableAutoSelectAllCount","selectionConsistencyMode","collection","filterComponent","filtersObject","filtersMapping","useFilters","filters","columns","useColumns","visibleFieldIds","useMemo","map","column","id","fetchData","useFetchData","collectionConfig","schema","useSchema","state","useTableCollection","queryName","itemKey","item","idField","itemName","displayField","toExtendedFields","extendedFields","fetchErrorMessage","err","String","optimisticActions","useAutoPatternsOptimisticActions","commonFeatures","useCommonCollectionFeatures","customColumns","enabled","createElement","CustomColumns","__self","__source","fileName","lineNumber","columnNumber","undefined","exports"],"sources":["../../../src/hooks/useTableFeatures.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport { TableConfig } from '../types';\nimport { useColumns } from './useColumns';\nimport { useFetchData } from './useFetchData';\nimport { CustomColumns, useTableCollection } from '@wix/patterns';\nimport { useCommonCollectionFeatures } from './useCommonCollectionFeatures';\nimport { useFilters } from './useFilters';\nimport { useSchema } from '../providers/SchemaContext';\nimport { useAutoPatternsOptimisticActions } from './useAutoPatternsOptimisticActions';\n\nexport const useTableFeatures = (configuration: TableConfig) => {\n const {\n collectionId,\n limit,\n persistQueryToUrl,\n disableAutoSelectAllCount,\n selectionConsistencyMode,\n } = configuration.collection;\n\n const { filterComponent, filtersObject, filtersMapping } = useFilters(\n configuration.filters,\n );\n const columns = useColumns(configuration.columns);\n const visibleFieldIds = useMemo(\n () => configuration.columns.map((column) => column.id),\n [configuration],\n );\n\n const { fetchData } = useFetchData({\n collectionConfig: configuration.collection,\n visibleFieldIds,\n filtersMapping,\n });\n\n const schema = useSchema();\n\n const state = useTableCollection<any>({\n queryName: `${collectionId}`,\n itemKey: (item) => item[schema.idField],\n itemName: (item) => item[schema.displayField],\n filters: filtersObject,\n toExtendedFields: (item) => item.extendedFields,\n fetchErrorMessage: ({ err }) => String(err),\n fetchData,\n limit,\n persistQueryToUrl,\n disableAutoSelectAllCount,\n selectionConsistencyMode,\n });\n\n const optimisticActions = useAutoPatternsOptimisticActions(\n collectionId,\n state.collection,\n );\n\n const commonFeatures = useCommonCollectionFeatures({\n ...configuration,\n optimisticActions,\n });\n\n return {\n ...commonFeatures,\n state,\n columns,\n filters: filterComponent,\n optimisticActions,\n customColumns: configuration.customColumns?.enabled ? (\n <CustomColumns />\n ) : undefined,\n };\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_useFetchData","require","_patterns","_useCommonCollectionFeatures","_useFilters","_SchemaContext","_useAutoPatternsOptimisticActions","_useBaseTableFeatures","useTableFeatures","configuration","collectionId","limit","persistQueryToUrl","disableAutoSelectAllCount","selectionConsistencyMode","collection","filterComponent","filtersObject","filtersMapping","useFilters","filters","customColumns","visibleFieldIds","columns","onRowClick","stickyColumns","stickySelectionColumn","useBaseTableFeatures","fetchData","useFetchData","collectionConfig","schema","useSchema","state","useTableCollection","queryName","itemKey","item","idField","itemName","displayField","toExtendedFields","extendedFields","fetchErrorMessage","err","String","optimisticActions","useAutoPatternsOptimisticActions","commonFeatures","useCommonCollectionFeatures","exports"],"sources":["../../../src/hooks/useTableFeatures.tsx"],"sourcesContent":["import { TableConfig } from '../types';\nimport { useFetchData } from './useFetchData';\nimport { useTableCollection } from '@wix/patterns';\nimport { useCommonCollectionFeatures } from './useCommonCollectionFeatures';\nimport { useFilters } from './useFilters';\nimport { useSchema } from '../providers/SchemaContext';\nimport { useAutoPatternsOptimisticActions } from './useAutoPatternsOptimisticActions';\nimport { useBaseTableFeatures } from './useBaseTableFeatures';\n\nexport const useTableFeatures = (configuration: TableConfig) => {\n const {\n collectionId,\n limit,\n persistQueryToUrl,\n disableAutoSelectAllCount,\n selectionConsistencyMode,\n } = configuration.collection;\n\n const { filterComponent, filtersObject, filtersMapping } = useFilters(\n configuration.filters,\n );\n const {\n customColumns,\n visibleFieldIds,\n columns,\n onRowClick,\n stickyColumns,\n stickySelectionColumn,\n } = useBaseTableFeatures(configuration);\n\n const { fetchData } = useFetchData({\n collectionConfig: configuration.collection,\n visibleFieldIds,\n filtersMapping,\n });\n\n const schema = useSchema();\n\n const state = useTableCollection<any>({\n queryName: `${collectionId}`,\n itemKey: (item) => item[schema.idField],\n itemName: (item) => item[schema.displayField],\n filters: filtersObject,\n toExtendedFields: (item) => item.extendedFields,\n fetchErrorMessage: ({ err }) => String(err),\n fetchData,\n limit,\n persistQueryToUrl,\n disableAutoSelectAllCount,\n selectionConsistencyMode,\n });\n\n const optimisticActions = useAutoPatternsOptimisticActions(\n collectionId,\n state.collection,\n );\n\n const commonFeatures = useCommonCollectionFeatures({\n ...configuration,\n optimisticActions,\n });\n\n return {\n ...commonFeatures,\n state,\n columns,\n filters: filterComponent,\n optimisticActions,\n customColumns,\n onRowClick,\n stickyColumns,\n stickySelectionColumn,\n };\n};\n"],"mappings":";;;;AACA,IAAAA,aAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,4BAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AACA,IAAAI,cAAA,GAAAJ,OAAA;AACA,IAAAK,iCAAA,GAAAL,OAAA;AACA,IAAAM,qBAAA,GAAAN,OAAA;AAEO,MAAMO,gBAAgB,GAAIC,aAA0B,IAAK;EAC9D,MAAM;IACJC,YAAY;IACZC,KAAK;IACLC,iBAAiB;IACjBC,yBAAyB;IACzBC;EACF,CAAC,GAAGL,aAAa,CAACM,UAAU;EAE5B,MAAM;IAAEC,eAAe;IAAEC,aAAa;IAAEC;EAAe,CAAC,GAAG,IAAAC,sBAAU,EACnEV,aAAa,CAACW,OAChB,CAAC;EACD,MAAM;IACJC,aAAa;IACbC,eAAe;IACfC,OAAO;IACPC,UAAU;IACVC,aAAa;IACbC;EACF,CAAC,GAAG,IAAAC,0CAAoB,EAAClB,aAAa,CAAC;EAEvC,MAAM;IAAEmB;EAAU,CAAC,GAAG,IAAAC,0BAAY,EAAC;IACjCC,gBAAgB,EAAErB,aAAa,CAACM,UAAU;IAC1CO,eAAe;IACfJ;EACF,CAAC,CAAC;EAEF,MAAMa,MAAM,GAAG,IAAAC,wBAAS,EAAC,CAAC;EAE1B,MAAMC,KAAK,GAAG,IAAAC,4BAAkB,EAAM;IACpCC,SAAS,EAAE,GAAGzB,YAAY,EAAE;IAC5B0B,OAAO,EAAGC,IAAI,IAAKA,IAAI,CAACN,MAAM,CAACO,OAAO,CAAC;IACvCC,QAAQ,EAAGF,IAAI,IAAKA,IAAI,CAACN,MAAM,CAACS,YAAY,CAAC;IAC7CpB,OAAO,EAAEH,aAAa;IACtBwB,gBAAgB,EAAGJ,IAAI,IAAKA,IAAI,CAACK,cAAc;IAC/CC,iBAAiB,EAAEA,CAAC;MAAEC;IAAI,CAAC,KAAKC,MAAM,CAACD,GAAG,CAAC;IAC3ChB,SAAS;IACTjB,KAAK;IACLC,iBAAiB;IACjBC,yBAAyB;IACzBC;EACF,CAAC,CAAC;EAEF,MAAMgC,iBAAiB,GAAG,IAAAC,kEAAgC,EACxDrC,YAAY,EACZuB,KAAK,CAAClB,UACR,CAAC;EAED,MAAMiC,cAAc,GAAG,IAAAC,wDAA2B,EAAC;IACjD,GAAGxC,aAAa;IAChBqC;EACF,CAAC,CAAC;EAEF,OAAO;IACL,GAAGE,cAAc;IACjBf,KAAK;IACLV,OAAO;IACPH,OAAO,EAAEJ,eAAe;IACxB8B,iBAAiB;IACjBzB,aAAa;IACbG,UAAU;IACVC,aAAa;IACbC;EACF,CAAC;AACH,CAAC;AAACwB,OAAA,CAAA1C,gBAAA,GAAAA,gBAAA","ignoreList":[]}
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.useTableGridSwitchFeatures = void 0;
5
+ var _useFetchData = require("./useFetchData");
6
+ var _patterns = require("@wix/patterns");
7
+ var _useCommonCollectionFeatures = require("./useCommonCollectionFeatures");
8
+ var _useFilters = require("./useFilters");
9
+ var _SchemaContext = require("../providers/SchemaContext");
10
+ var _useAutoPatternsOptimisticActions = require("./useAutoPatternsOptimisticActions");
11
+ var _useBaseGridFeatures = require("./useBaseGridFeatures");
12
+ var _useBaseTableFeatures = require("./useBaseTableFeatures");
13
+ const useTableGridSwitchFeatures = config => {
14
+ const schema = (0, _SchemaContext.useSchema)();
15
+ const {
16
+ collectionId,
17
+ limit,
18
+ persistQueryToUrl,
19
+ disableAutoSelectAllCount,
20
+ selectionConsistencyMode
21
+ } = config.collection;
22
+ const {
23
+ filterComponent,
24
+ filtersObject,
25
+ filtersMapping
26
+ } = (0, _useFilters.useFilters)(config.filters);
27
+ const {
28
+ preset,
29
+ imagePlacement,
30
+ visibleFieldIds: gridVisibleFieldIds,
31
+ renderItem
32
+ } = (0, _useBaseGridFeatures.useBaseGridFeatures)(config);
33
+ const {
34
+ customColumns,
35
+ visibleFieldIds: tableVisibleFieldIds,
36
+ columns: tableColumns,
37
+ onRowClick,
38
+ stickyColumns,
39
+ stickySelectionColumn
40
+ } = (0, _useBaseTableFeatures.useBaseTableFeatures)(config);
41
+ const {
42
+ fetchData: tableFetchData
43
+ } = (0, _useFetchData.useFetchData)({
44
+ collectionConfig: config.collection,
45
+ visibleFieldIds: Array.from(new Set([...tableVisibleFieldIds, ...gridVisibleFieldIds])),
46
+ filtersMapping
47
+ });
48
+ const state = (0, _patterns.useTableGridSwitchCollection)({
49
+ queryName: `${collectionId}`,
50
+ itemKey: item => item[schema.idField],
51
+ itemName: item => item[schema.displayField],
52
+ filters: filtersObject,
53
+ toExtendedFields: item => item.extendedFields,
54
+ fetchErrorMessage: ({
55
+ err
56
+ }) => String(err),
57
+ fetchData: tableFetchData,
58
+ limit,
59
+ persistQueryToUrl,
60
+ disableAutoSelectAllCount,
61
+ selectionConsistencyMode
62
+ });
63
+ const optimisticActions = (0, _useAutoPatternsOptimisticActions.useAutoPatternsOptimisticActions)(collectionId, state.collection);
64
+ const commonFeatures = (0, _useCommonCollectionFeatures.useCommonCollectionFeatures)({
65
+ ...config,
66
+ optimisticActions
67
+ });
68
+ return {
69
+ ...commonFeatures,
70
+ state,
71
+ columns: tableColumns,
72
+ filters: filterComponent,
73
+ optimisticActions,
74
+ customColumns,
75
+ onRowClick,
76
+ stickyColumns,
77
+ stickySelectionColumn,
78
+ // Grid specific features
79
+ imagePlacement,
80
+ preset,
81
+ renderItem
82
+ };
83
+ };
84
+ exports.useTableGridSwitchFeatures = useTableGridSwitchFeatures;
85
+ //# sourceMappingURL=useTableGridSwitchFeatures.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_useFetchData","require","_patterns","_useCommonCollectionFeatures","_useFilters","_SchemaContext","_useAutoPatternsOptimisticActions","_useBaseGridFeatures","_useBaseTableFeatures","useTableGridSwitchFeatures","config","schema","useSchema","collectionId","limit","persistQueryToUrl","disableAutoSelectAllCount","selectionConsistencyMode","collection","filterComponent","filtersObject","filtersMapping","useFilters","filters","preset","imagePlacement","visibleFieldIds","gridVisibleFieldIds","renderItem","useBaseGridFeatures","customColumns","tableVisibleFieldIds","columns","tableColumns","onRowClick","stickyColumns","stickySelectionColumn","useBaseTableFeatures","fetchData","tableFetchData","useFetchData","collectionConfig","Array","from","Set","state","useTableGridSwitchCollection","queryName","itemKey","item","idField","itemName","displayField","toExtendedFields","extendedFields","fetchErrorMessage","err","String","optimisticActions","useAutoPatternsOptimisticActions","commonFeatures","useCommonCollectionFeatures","exports"],"sources":["../../../src/hooks/useTableGridSwitchFeatures.tsx"],"sourcesContent":["import { TableGridSwitchConfig } from '../types';\nimport { useFetchData } from './useFetchData';\nimport { useTableGridSwitchCollection } from '@wix/patterns';\nimport { useCommonCollectionFeatures } from './useCommonCollectionFeatures';\nimport { useFilters } from './useFilters';\nimport { useSchema } from '../providers/SchemaContext';\nimport { useAutoPatternsOptimisticActions } from './useAutoPatternsOptimisticActions';\nimport { useBaseGridFeatures } from './useBaseGridFeatures';\nimport { useBaseTableFeatures } from './useBaseTableFeatures';\n\nexport const useTableGridSwitchFeatures = (config: TableGridSwitchConfig) => {\n const schema = useSchema();\n\n const {\n collectionId,\n limit,\n persistQueryToUrl,\n disableAutoSelectAllCount,\n selectionConsistencyMode,\n } = config.collection;\n\n const { filterComponent, filtersObject, filtersMapping } = useFilters(\n config.filters,\n );\n\n const {\n preset,\n imagePlacement,\n visibleFieldIds: gridVisibleFieldIds,\n renderItem,\n } = useBaseGridFeatures(config);\n\n const {\n customColumns,\n visibleFieldIds: tableVisibleFieldIds,\n columns: tableColumns,\n onRowClick,\n stickyColumns,\n stickySelectionColumn,\n } = useBaseTableFeatures(config);\n\n const { fetchData: tableFetchData } = useFetchData({\n collectionConfig: config.collection,\n visibleFieldIds: Array.from(\n new Set([...tableVisibleFieldIds, ...gridVisibleFieldIds]),\n ),\n filtersMapping,\n });\n\n const state = useTableGridSwitchCollection<any>({\n queryName: `${collectionId}`,\n itemKey: (item) => item[schema.idField],\n itemName: (item) => item[schema.displayField],\n filters: filtersObject,\n toExtendedFields: (item) => item.extendedFields,\n fetchErrorMessage: ({ err }) => String(err),\n fetchData: tableFetchData,\n limit,\n persistQueryToUrl,\n disableAutoSelectAllCount,\n selectionConsistencyMode,\n });\n\n const optimisticActions = useAutoPatternsOptimisticActions(\n collectionId,\n state.collection,\n );\n\n const commonFeatures = useCommonCollectionFeatures({\n ...config,\n optimisticActions,\n });\n\n return {\n ...commonFeatures,\n state,\n columns: tableColumns,\n filters: filterComponent,\n optimisticActions,\n customColumns,\n onRowClick,\n stickyColumns,\n stickySelectionColumn,\n // Grid specific features\n imagePlacement,\n preset,\n renderItem,\n };\n};\n"],"mappings":";;;;AACA,IAAAA,aAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,4BAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AACA,IAAAI,cAAA,GAAAJ,OAAA;AACA,IAAAK,iCAAA,GAAAL,OAAA;AACA,IAAAM,oBAAA,GAAAN,OAAA;AACA,IAAAO,qBAAA,GAAAP,OAAA;AAEO,MAAMQ,0BAA0B,GAAIC,MAA6B,IAAK;EAC3E,MAAMC,MAAM,GAAG,IAAAC,wBAAS,EAAC,CAAC;EAE1B,MAAM;IACJC,YAAY;IACZC,KAAK;IACLC,iBAAiB;IACjBC,yBAAyB;IACzBC;EACF,CAAC,GAAGP,MAAM,CAACQ,UAAU;EAErB,MAAM;IAAEC,eAAe;IAAEC,aAAa;IAAEC;EAAe,CAAC,GAAG,IAAAC,sBAAU,EACnEZ,MAAM,CAACa,OACT,CAAC;EAED,MAAM;IACJC,MAAM;IACNC,cAAc;IACdC,eAAe,EAAEC,mBAAmB;IACpCC;EACF,CAAC,GAAG,IAAAC,wCAAmB,EAACnB,MAAM,CAAC;EAE/B,MAAM;IACJoB,aAAa;IACbJ,eAAe,EAAEK,oBAAoB;IACrCC,OAAO,EAAEC,YAAY;IACrBC,UAAU;IACVC,aAAa;IACbC;EACF,CAAC,GAAG,IAAAC,0CAAoB,EAAC3B,MAAM,CAAC;EAEhC,MAAM;IAAE4B,SAAS,EAAEC;EAAe,CAAC,GAAG,IAAAC,0BAAY,EAAC;IACjDC,gBAAgB,EAAE/B,MAAM,CAACQ,UAAU;IACnCQ,eAAe,EAAEgB,KAAK,CAACC,IAAI,CACzB,IAAIC,GAAG,CAAC,CAAC,GAAGb,oBAAoB,EAAE,GAAGJ,mBAAmB,CAAC,CAC3D,CAAC;IACDN;EACF,CAAC,CAAC;EAEF,MAAMwB,KAAK,GAAG,IAAAC,sCAA4B,EAAM;IAC9CC,SAAS,EAAE,GAAGlC,YAAY,EAAE;IAC5BmC,OAAO,EAAGC,IAAI,IAAKA,IAAI,CAACtC,MAAM,CAACuC,OAAO,CAAC;IACvCC,QAAQ,EAAGF,IAAI,IAAKA,IAAI,CAACtC,MAAM,CAACyC,YAAY,CAAC;IAC7C7B,OAAO,EAAEH,aAAa;IACtBiC,gBAAgB,EAAGJ,IAAI,IAAKA,IAAI,CAACK,cAAc;IAC/CC,iBAAiB,EAAEA,CAAC;MAAEC;IAAI,CAAC,KAAKC,MAAM,CAACD,GAAG,CAAC;IAC3ClB,SAAS,EAAEC,cAAc;IACzBzB,KAAK;IACLC,iBAAiB;IACjBC,yBAAyB;IACzBC;EACF,CAAC,CAAC;EAEF,MAAMyC,iBAAiB,GAAG,IAAAC,kEAAgC,EACxD9C,YAAY,EACZgC,KAAK,CAAC3B,UACR,CAAC;EAED,MAAM0C,cAAc,GAAG,IAAAC,wDAA2B,EAAC;IACjD,GAAGnD,MAAM;IACTgD;EACF,CAAC,CAAC;EAEF,OAAO;IACL,GAAGE,cAAc;IACjBf,KAAK;IACLb,OAAO,EAAEC,YAAY;IACrBV,OAAO,EAAEJ,eAAe;IACxBuC,iBAAiB;IACjB5B,aAAa;IACbI,UAAU;IACVC,aAAa;IACbC,qBAAqB;IACrB;IACAX,cAAc;IACdD,MAAM;IACNI;EACF,CAAC;AACH,CAAC;AAACkC,OAAA,CAAArD,0BAAA,GAAAA,0BAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["ComponentTypeEnum","exports"],"sources":["../../../src/types/CollectionPageConfig.ts"],"sourcesContent":["import { CollectionToolbarFiltersProps } from '@wix/patterns';\nimport { DateRangeFilterMode, DateRangeOptions } from '@wix/patterns/core';\nimport { BaseCollectionConfig } from './types';\nimport {\n ActionCellConfig,\n BulkActionsConfig,\n CollectionPagePrimaryActions,\n CollectionPageSecondaryActions,\n} from './actions';\n\nexport interface CollectionPageConfig {\n route: {\n path: string;\n };\n title: { text: string; hideTotal?: boolean };\n subtitle?: {\n text: string;\n learnMore?: {\n url: string;\n label?: string;\n };\n };\n actions?: {\n primaryActions?: CollectionPagePrimaryActions;\n secondaryActions?: CollectionPageSecondaryActions;\n };\n components: ComponentConfig[];\n}\n\nexport interface ComponentConfig {\n type: 'Table' | 'Grid' | 'TableGridSwitch';\n table?: TableConfig;\n grid?: GridConfig;\n}\n\nexport interface CollectionConfig extends BaseCollectionConfig {\n fetchData?: FetchData;\n limit?: number;\n persistQueryToUrl?: boolean;\n disableAutoSelectAllCount?: boolean;\n selectionConsistencyMode?: 'preserve' | 'clear';\n}\n\nexport interface BaseCollectionComponentConfig {\n collection: CollectionConfig;\n entityPageId?: string;\n search?: { shown?: boolean };\n toolbarTitle?: ToolbarTitle;\n actionCell?: ActionCellConfig;\n emptyState?: EmptyState;\n filters?: FiltersConfig;\n bulkActionToolbar?: BulkActionsConfig;\n}\n\nexport interface TableConfig extends BaseCollectionComponentConfig {\n columns: Column[];\n customColumns?: {\n enabled: boolean;\n };\n}\n\nexport interface GridConfig extends BaseCollectionComponentConfig {\n item: GridItem;\n}\n\nexport interface ToolbarTitle {\n title: string;\n subtitle?: {\n text: string;\n info?: {\n content: {\n text: string;\n link?: {\n url: string;\n label: string;\n };\n };\n };\n learnMore?: {\n url: string;\n label?: string;\n };\n };\n showTotal?: boolean;\n itemsLimit?: number;\n}\n\nexport interface Column {\n id: string;\n name: string;\n width?: string;\n sortable?: boolean;\n defaultSortOrder?: 'asc' | 'desc';\n sortMode?: 'asc' | 'desc';\n defaultHidden?: boolean;\n hiddenFromCustomColumnsSelection?: boolean;\n hideable?: boolean;\n reorderDisabled?: boolean;\n}\n\nexport interface GridItem {\n titleFieldId: string;\n subtitleFieldId?: string;\n imageFieldId?: string;\n cardContentMode?: 'full' | 'title' | 'empty'; // Footer is not supported in auto-patterns\n imagePlacement?: 'top' | 'side';\n}\n\nexport interface EmptyState {\n title?: string;\n subtitle?: string;\n image?: {\n id: string;\n };\n addNewCta?: {\n id?: string;\n text?: string;\n };\n customCta?: {\n id?: string;\n };\n}\n\ninterface FetchData {\n id: string;\n}\n\nexport interface FilterOption {\n value: string;\n label: string;\n}\n\nexport type FilterSelectionMode = 'single' | 'multiple';\nexport type FilterOptionType =\n | 'checkbox'\n | 'inlineCheckbox'\n | 'radio'\n | 'select';\n\nexport enum ComponentTypeEnum {\n SINGLE = 'single',\n MULTI_SELECT = 'multi-select',\n RADIO_GROUP = 'radio-group',\n NUMBER = 'number',\n DATE_RANGE = 'date-range',\n}\n\nexport interface FiltersConfig {\n items: Filter[];\n maxInlineFilters?: CollectionToolbarFiltersProps['inline'];\n panelTitle?: string;\n}\n\nexport interface BaseOptionsFilterConfig {\n selectionMode: FilterSelectionMode;\n}\n\nexport interface DateFilterConfig {\n mode?: DateRangeFilterMode;\n presets?: DateRangeOptions;\n includeTime?: boolean;\n}\n\nexport interface NumberFilterConfig {\n min?: number;\n max?: number;\n allowedDecimals?: boolean;\n}\n\nexport interface BooleanFilterConfig {\n trueLabel?: string;\n falseLabel?: string;\n}\n\nexport interface EnumFilterConfig extends BaseOptionsFilterConfig {\n options: FilterOption[];\n optionType?: FilterOptionType;\n}\n\nexport interface DynamicOptionsFilterConfig extends BaseOptionsFilterConfig {}\n\nexport interface Filter {\n id: string;\n fieldId: string;\n displayName?: string;\n sectionTitle?: string;\n openByDefault?: boolean;\n tagLabel?: string;\n numberConfig?: NumberFilterConfig;\n dateConfig?: DateFilterConfig;\n booleanConfig?: BooleanFilterConfig;\n enumConfig?: EnumFilterConfig;\n dynamicOptionsConfig?: DynamicOptionsFilterConfig;\n}\n"],"mappings":";;;;IA2IYA,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,0BAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["ComponentTypeEnum","exports"],"sources":["../../../src/types/CollectionPageConfig.ts"],"sourcesContent":["import { CollectionToolbarFiltersProps } from '@wix/patterns';\nimport { DateRangeFilterMode, DateRangeOptions } from '@wix/patterns/core';\nimport { BaseCollectionConfig } from './types';\nimport {\n ActionCellConfig,\n BulkActionsConfig,\n CollectionPagePrimaryActions,\n CollectionPageSecondaryActions,\n} from './actions';\n\nexport interface CollectionPageConfig {\n route: {\n path: string;\n };\n title: { text: string; hideTotal?: boolean };\n subtitle?: {\n text: string;\n learnMore?: {\n url: string;\n label?: string;\n };\n };\n actions?: {\n primaryActions?: CollectionPagePrimaryActions;\n secondaryActions?: CollectionPageSecondaryActions;\n };\n components: ComponentConfig[];\n}\n\nexport interface ComponentConfig {\n type: 'Table' | 'Grid' | 'TableGridSwitch';\n table?: TableConfig;\n grid?: GridConfig;\n tableGridSwitch?: TableGridSwitchConfig;\n}\n\nexport interface CollectionConfig extends BaseCollectionConfig {\n fetchData?: FetchData;\n limit?: number;\n persistQueryToUrl?: boolean;\n disableAutoSelectAllCount?: boolean;\n selectionConsistencyMode?: 'preserve' | 'clear';\n}\n\nexport interface BaseCollectionComponentConfig {\n collection: CollectionConfig;\n entityPageId?: string;\n search?: { shown?: boolean };\n toolbarTitle?: ToolbarTitle;\n actionCell?: ActionCellConfig;\n emptyState?: EmptyState;\n filters?: FiltersConfig;\n bulkActionToolbar?: BulkActionsConfig;\n}\n\nexport interface TableConfig extends BaseCollectionComponentConfig {\n columns: Column[];\n customColumns?: {\n enabled: boolean;\n };\n stickyColumns?: number;\n}\n\nexport interface GridConfig extends BaseCollectionComponentConfig {\n item: GridItem;\n}\n\nexport interface TableGridSwitchConfig extends TableConfig, GridConfig {}\n\nexport interface ToolbarTitle {\n title: string;\n subtitle?: {\n text: string;\n info?: {\n content: {\n text: string;\n link?: {\n url: string;\n label: string;\n };\n };\n };\n learnMore?: {\n url: string;\n label?: string;\n };\n };\n showTotal?: boolean;\n itemsLimit?: number;\n}\n\nexport interface Column {\n id: string;\n name: string;\n width: string;\n sortable?: boolean;\n defaultSortOrder?: 'asc' | 'desc';\n sortMode?: 'asc' | 'desc';\n defaultHidden?: boolean;\n hiddenFromCustomColumnsSelection?: boolean;\n hideable?: boolean;\n reorderDisabled?: boolean;\n}\n\nexport interface GridItem {\n titleFieldId: string;\n subtitleFieldId?: string;\n imageFieldId?: string;\n cardContentMode?: 'full' | 'title' | 'empty'; // Footer is not supported in auto-patterns\n imagePlacement?: 'top' | 'side';\n}\n\nexport interface EmptyState {\n title?: string;\n subtitle?: string;\n image?: {\n id: string;\n };\n addNewCta?: {\n id?: string;\n text?: string;\n };\n customCta?: {\n id?: string;\n };\n}\n\ninterface FetchData {\n id: string;\n}\n\nexport interface FilterOption {\n value: string;\n label: string;\n}\n\nexport type FilterSelectionMode = 'single' | 'multiple';\nexport type FilterOptionType =\n | 'checkbox'\n | 'inlineCheckbox'\n | 'radio'\n | 'select';\n\nexport enum ComponentTypeEnum {\n SINGLE = 'single',\n MULTI_SELECT = 'multi-select',\n RADIO_GROUP = 'radio-group',\n NUMBER = 'number',\n DATE_RANGE = 'date-range',\n}\n\nexport interface FiltersConfig {\n items: Filter[];\n maxInlineFilters?: CollectionToolbarFiltersProps['inline'];\n panelTitle?: string;\n}\n\nexport interface BaseOptionsFilterConfig {\n selectionMode: FilterSelectionMode;\n}\n\nexport interface DateFilterConfig {\n mode?: DateRangeFilterMode;\n presets?: DateRangeOptions;\n includeTime?: boolean;\n}\n\nexport interface NumberFilterConfig {\n min?: number;\n max?: number;\n allowedDecimals?: boolean;\n}\n\nexport interface BooleanFilterConfig {\n trueLabel?: string;\n falseLabel?: string;\n}\n\nexport interface EnumFilterConfig extends BaseOptionsFilterConfig {\n options: FilterOption[];\n optionType?: FilterOptionType;\n}\n\nexport interface DynamicOptionsFilterConfig extends BaseOptionsFilterConfig {}\n\nexport interface Filter {\n id: string;\n fieldId: string;\n displayName?: string;\n sectionTitle?: string;\n openByDefault?: boolean;\n tagLabel?: string;\n numberConfig?: NumberFilterConfig;\n dateConfig?: DateFilterConfig;\n booleanConfig?: BooleanFilterConfig;\n enumConfig?: EnumFilterConfig;\n dynamicOptionsConfig?: DynamicOptionsFilterConfig;\n}\n"],"mappings":";;;;IA+IYA,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,0BAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../../../src/types/actions/actionCell.ts"],"sourcesContent":["import {\n BaseActionParams,\n CustomActionModalProps,\n ResolvedAction,\n} from '../../exports/types';\nimport {\n CustomActionConfig,\n CustomModalActionConfig,\n DeleteActionConfig,\n UpdateActionConfig,\n} from './base';\n\nexport type ActionCellItemConfig =\n | UpdateActionConfig\n | CustomModalActionConfig\n | CustomActionConfig\n | DeleteActionConfig;\n\nexport interface ActionCellPrimaryAction {\n item: ActionCellItemConfig;\n}\n\nexport interface ActionCellSecondaryActions {\n items: ActionCellItemConfig[];\n}\n\nexport interface ActionCellConfig {\n primaryAction?: ActionCellPrimaryAction;\n secondaryActions?: ActionCellSecondaryActions;\n}\n\nexport interface ActionCellActionParams {\n item: any;\n}\n\nexport interface CustomActionCellActionParams extends BaseActionParams {\n actionParams: ActionCellActionParams;\n}\nexport type CustomActionCellActionResolver = (\n params: CustomActionCellActionParams,\n) => ResolvedAction;\n\nexport interface CustomActionCellActionModalProps\n extends CustomActionModalProps {\n actionParams: ActionCellActionParams;\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["../../../../src/types/actions/actionCell.ts"],"sourcesContent":["import {\n BaseActionParams,\n CustomActionModalProps,\n ResolvedAction,\n} from '../../exports/types';\nimport {\n CustomActionConfig,\n CustomModalActionConfig,\n DeleteActionConfig,\n UpdateActionConfig,\n} from './base';\n\nexport type ActionCellItemConfig =\n | UpdateActionConfig\n | CustomModalActionConfig\n | CustomActionConfig\n | DeleteActionConfig;\n\nexport interface ActionCellPrimaryAction {\n item: ActionCellItemConfig;\n}\n\nexport interface ActionCellSecondaryActions {\n items: ActionCellItemConfig[];\n inlineCount?: number;\n inlineAlwaysVisible?: boolean;\n}\n\nexport interface ActionCellConfig {\n primaryAction?: ActionCellPrimaryAction;\n secondaryActions?: ActionCellSecondaryActions;\n}\n\nexport interface ActionCellActionParams {\n item: any;\n}\n\nexport interface CustomActionCellActionParams extends BaseActionParams {\n actionParams: ActionCellActionParams;\n}\nexport type CustomActionCellActionResolver = (\n params: CustomActionCellActionParams,\n) => ResolvedAction;\n\nexport interface CustomActionCellActionModalProps\n extends CustomActionModalProps {\n actionParams: ActionCellActionParams;\n}\n"],"mappings":"","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../../../src/types/actions/base.ts"],"sourcesContent":["export type BaseActionItemConfig = {\n id: string;\n label?: string;\n icon?: string;\n};\n\nexport interface Feedback {\n successToast?: { text: string };\n errorToast?: { text: string };\n}\n\nexport interface BaseActionModal {\n title?: { text: string };\n actions?: {\n submit?: { text: string };\n cancel?: { text: string };\n };\n feedback?: Feedback;\n}\n\nexport interface ActionModalField {\n id: string;\n label?: string;\n}\n\nexport interface DeleteActionModal extends BaseActionModal {\n description?: { text: string };\n}\n\nexport interface BulkDeleteActionModal extends DeleteActionModal {}\n\nexport type BulkDeleteAction =\n | {\n mode: 'modal';\n modal: BulkDeleteActionModal;\n custom?: never;\n }\n | {\n mode: 'custom';\n custom: CustomAction;\n modal?: never;\n };\n\nexport type DeleteAction = {\n mode: 'modal';\n modal: DeleteActionModal;\n};\n\nexport interface BaseActionPage {\n id: string;\n}\n\nexport type CustomAction = {};\n\nexport type CustomModalAction = {\n id: string;\n};\n\nexport interface ActionModalWithFields extends BaseActionModal {\n fields: ActionModalField[];\n}\n\nexport interface UpdateActionModal extends ActionModalWithFields {}\n\nexport interface CreateActionModal extends ActionModalWithFields {}\n\nexport interface UpdateActionPage extends BaseActionPage {}\n\nexport interface CreateActionPage extends BaseActionPage {}\n\nexport type UpdateAction = {\n mode: 'page';\n page: UpdateActionPage;\n};\n\nexport type CreateAction = {\n mode: 'page';\n page: CreateActionPage;\n};\n\nexport type CreateActionConfig = BaseActionItemConfig & {\n type: 'create';\n create: CreateAction;\n};\n\nexport type UpdateActionConfig = BaseActionItemConfig & {\n type: 'update';\n update: UpdateAction;\n};\n\nexport type DeleteActionConfig = BaseActionItemConfig & {\n type: 'delete';\n delete: DeleteAction;\n};\n\nexport type BulkDeleteActionConfig = BaseActionItemConfig & {\n type: 'bulkDelete';\n bulkDelete: BulkDeleteAction;\n};\n\nexport type CustomModalActionConfig = BaseActionItemConfig & {\n type: 'customModal';\n customModal: CustomModalAction;\n};\n\nexport type CustomActionConfig = BaseActionItemConfig & {\n type: 'custom';\n custom: CustomAction;\n};\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["../../../../src/types/actions/base.ts"],"sourcesContent":["export type BaseActionItemConfig = {\n id: string;\n label?: string;\n};\n\nexport interface Feedback {\n successToast?: { text: string };\n errorToast?: { text: string };\n}\n\nexport interface BaseActionModal {\n title?: { text: string };\n actions?: {\n submit?: { text: string };\n cancel?: { text: string };\n };\n feedback?: Feedback;\n}\n\nexport interface ActionModalField {\n id: string;\n label?: string;\n}\n\nexport interface DeleteActionModal extends BaseActionModal {\n description?: { text: string };\n}\n\nexport interface BulkDeleteActionModal extends DeleteActionModal {}\n\nexport type BulkDeleteAction =\n | {\n mode: 'modal';\n modal: BulkDeleteActionModal;\n custom?: never;\n }\n | {\n mode: 'custom';\n custom: CustomAction;\n modal?: never;\n };\n\nexport type DeleteAction = {\n mode: 'modal';\n modal: DeleteActionModal;\n};\n\nexport interface BaseActionPage {\n id: string;\n}\n\nexport type CustomAction = {};\n\nexport type CustomModalAction = {\n id: string;\n};\n\nexport interface ActionModalWithFields extends BaseActionModal {\n fields: ActionModalField[];\n}\n\nexport interface UpdateActionModal extends ActionModalWithFields {}\n\nexport interface CreateActionModal extends ActionModalWithFields {}\n\nexport interface UpdateActionPage extends BaseActionPage {}\n\nexport interface CreateActionPage extends BaseActionPage {}\n\nexport type UpdateAction = {\n mode: 'page';\n page: UpdateActionPage;\n};\n\nexport type CreateAction = {\n mode: 'page';\n page: CreateActionPage;\n};\n\nexport type CreateActionConfig = BaseActionItemConfig & {\n type: 'create';\n create: CreateAction;\n};\n\nexport type UpdateActionConfig = BaseActionItemConfig & {\n type: 'update';\n update: UpdateAction;\n};\n\nexport type DeleteActionConfig = BaseActionItemConfig & {\n type: 'delete';\n delete: DeleteAction;\n};\n\nexport type BulkDeleteActionConfig = BaseActionItemConfig & {\n type: 'bulkDelete';\n bulkDelete: BulkDeleteAction;\n};\n\nexport type CustomModalActionConfig = BaseActionItemConfig & {\n type: 'customModal';\n customModal: CustomModalAction;\n};\n\nexport type CustomActionConfig = BaseActionItemConfig & {\n type: 'custom';\n custom: CustomAction;\n};\n"],"mappings":"","ignoreList":[]}