@wix/auto-patterns 1.24.0 → 1.26.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 (81) hide show
  1. package/dist/cjs/components/AutoPatternsEntityPage/EditModeEntityPage.js +10 -9
  2. package/dist/cjs/components/AutoPatternsEntityPage/EditModeEntityPage.js.map +1 -1
  3. package/dist/cjs/components/AutoPatternsEntityPage/ViewModeEntityPage.js +90 -36
  4. package/dist/cjs/components/AutoPatternsEntityPage/ViewModeEntityPage.js.map +1 -1
  5. package/dist/cjs/dataSourceAdapters/cms/cmsAdapter.js +2 -1
  6. package/dist/cjs/dataSourceAdapters/cms/cmsAdapter.js.map +1 -1
  7. package/dist/cjs/hooks/useActionCell.js +2 -1
  8. package/dist/cjs/hooks/useActionCell.js.map +1 -1
  9. package/dist/cjs/hooks/useBulkActionToolbar.js +2 -1
  10. package/dist/cjs/hooks/useBulkActionToolbar.js.map +1 -1
  11. package/dist/cjs/hooks/useCollectionPageActions.js +2 -1
  12. package/dist/cjs/hooks/useCollectionPageActions.js.map +1 -1
  13. package/dist/cjs/hooks/useEntityPageActions.js +2 -1
  14. package/dist/cjs/hooks/useEntityPageActions.js.map +1 -1
  15. package/dist/cjs/hooks/useEntityPageHeaderTexts.js +48 -9
  16. package/dist/cjs/hooks/useEntityPageHeaderTexts.js.map +1 -1
  17. package/dist/cjs/hooks/useEntityPageMoreActions.js +1 -1
  18. package/dist/cjs/hooks/useEntityPageMoreActions.js.map +1 -1
  19. package/dist/cjs/providers/ErrorContext.js +6 -3
  20. package/dist/cjs/providers/ErrorContext.js.map +1 -1
  21. package/dist/cjs/providers/PatternsWizardOverridesContext.js +1 -1
  22. package/dist/cjs/providers/PatternsWizardOverridesContext.js.map +1 -1
  23. package/dist/cjs/types/EntityPageConfig.js.map +1 -1
  24. package/dist/cjs/types/actions/actionCell.js.map +1 -1
  25. package/dist/cjs/utils/actions/types.js.map +1 -1
  26. package/dist/docs/action_cell.md +5 -4
  27. package/dist/docs/app_config_structure.md +6 -2
  28. package/dist/docs/auto-patterns-guide.md +353 -20
  29. package/dist/docs/bulk_actions.md +1 -0
  30. package/dist/docs/collection_page.md +1 -1
  31. package/dist/docs/collection_page_actions.md +1 -1
  32. package/dist/docs/custom_overrides.md +18 -6
  33. package/dist/docs/entity_page.md +294 -2
  34. package/dist/docs/index.md +8 -0
  35. package/dist/docs/installation.md +25 -2
  36. package/dist/docs/pages_configuration.md +2 -2
  37. package/dist/esm/components/AutoPatternsEntityPage/EditModeEntityPage.js +2 -1
  38. package/dist/esm/components/AutoPatternsEntityPage/EditModeEntityPage.js.map +1 -1
  39. package/dist/esm/components/AutoPatternsEntityPage/ViewModeEntityPage.js +47 -18
  40. package/dist/esm/components/AutoPatternsEntityPage/ViewModeEntityPage.js.map +1 -1
  41. package/dist/esm/dataSourceAdapters/cms/cmsAdapter.js +2 -1
  42. package/dist/esm/dataSourceAdapters/cms/cmsAdapter.js.map +1 -1
  43. package/dist/esm/hooks/useActionCell.js +2 -1
  44. package/dist/esm/hooks/useActionCell.js.map +1 -1
  45. package/dist/esm/hooks/useBulkActionToolbar.js +2 -1
  46. package/dist/esm/hooks/useBulkActionToolbar.js.map +1 -1
  47. package/dist/esm/hooks/useCollectionPageActions.js +2 -1
  48. package/dist/esm/hooks/useCollectionPageActions.js.map +1 -1
  49. package/dist/esm/hooks/useEntityPageActions.js +2 -1
  50. package/dist/esm/hooks/useEntityPageActions.js.map +1 -1
  51. package/dist/esm/hooks/useEntityPageHeaderTexts.js +48 -9
  52. package/dist/esm/hooks/useEntityPageHeaderTexts.js.map +1 -1
  53. package/dist/esm/hooks/useEntityPageMoreActions.js +1 -1
  54. package/dist/esm/hooks/useEntityPageMoreActions.js.map +1 -1
  55. package/dist/esm/providers/ErrorContext.js +4 -1
  56. package/dist/esm/providers/ErrorContext.js.map +1 -1
  57. package/dist/esm/providers/PatternsWizardOverridesContext.js.map +1 -1
  58. package/dist/esm/types/EntityPageConfig.js.map +1 -1
  59. package/dist/esm/types/actions/actionCell.js.map +1 -1
  60. package/dist/esm/utils/actions/types.js.map +1 -1
  61. package/dist/types/components/AutoPatternsEntityPage/EditModeEntityPage.d.ts.map +1 -1
  62. package/dist/types/components/AutoPatternsEntityPage/ViewModeEntityPage.d.ts.map +1 -1
  63. package/dist/types/dataSourceAdapters/cms/cmsAdapter.d.ts.map +1 -1
  64. package/dist/types/hooks/useActionCell.d.ts.map +1 -1
  65. package/dist/types/hooks/useEntityPageHeaderTexts.d.ts +10 -1
  66. package/dist/types/hooks/useEntityPageHeaderTexts.d.ts.map +1 -1
  67. package/dist/types/providers/ErrorContext.d.ts +7 -0
  68. package/dist/types/providers/ErrorContext.d.ts.map +1 -1
  69. package/dist/types/providers/PatternsWizardOverridesContext.d.ts +12 -2
  70. package/dist/types/providers/PatternsWizardOverridesContext.d.ts.map +1 -1
  71. package/dist/types/types/EntityPageConfig.d.ts +5 -1
  72. package/dist/types/types/EntityPageConfig.d.ts.map +1 -1
  73. package/dist/types/types/actions/actionCell.d.ts +7 -1
  74. package/dist/types/types/actions/actionCell.d.ts.map +1 -1
  75. package/dist/types/utils/actions/customAction.d.ts +1 -1
  76. package/dist/types/utils/actions/customAction.d.ts.map +1 -1
  77. package/dist/types/utils/actions/resolveAction.d.ts +1 -0
  78. package/dist/types/utils/actions/resolveAction.d.ts.map +1 -1
  79. package/dist/types/utils/actions/types.d.ts +1 -0
  80. package/dist/types/utils/actions/types.d.ts.map +1 -1
  81. package/package.json +17 -16
@@ -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","sdk","useActionsSDK","bulkActionToolbar","useCallback","param","buildAction","actionConfig","actionToResolve","baseParams","actionParams","type","bulkDeleteAction","action","customAction","resolvedAction","resolveAction","icon","resolvedActionParams","prefixIcon","React","isValidElement","undefined","dataHook","id","buildPrimaryActions","primaryActions","map","primaryItem","index","item","actionGroups","groupActions","menu","items","subItems","group","filter","Boolean","length","label","primaryActionItems","secondaryActionItems","secondaryActions","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 resolveAction,\n groupActions,\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 '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 === 'action') {\n return buildAction(primaryItem.action.item);\n }\n\n if (primaryItem.type === 'menu') {\n const actionGroups = groupActions(primaryItem.menu.items);\n const subItems = actionGroups\n .map((group) =>\n group\n .map(buildAction)\n .filter((action): action is ActionSubitem =>\n Boolean(action),\n ),\n )\n .filter((group) => group.length > 0);\n\n if (subItems.length === 0) {\n return null;\n }\n\n return {\n label: primaryItem.menu.label,\n 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\n const secondaryActionItems = config?.secondaryActions\n ? groupActions(config.secondaryActions)\n .map((group) =>\n group\n .map(buildAction)\n .filter((action): action is ActionSubitem => Boolean(action)),\n )\n .filter((group) => group.length > 0)\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":[]}
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","customAction","hidden","resolvedAction","resolveAction","icon","resolvedActionParams","prefixIcon","React","isValidElement","undefined","dataHook","id","buildPrimaryActions","primaryActions","map","primaryItem","index","item","actionGroups","groupActions","menu","items","subItems","group","filter","Boolean","length","label","primaryActionItems","secondaryActionItems","secondaryActions","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 resolveAction,\n groupActions,\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 'custom':\n actionToResolve = customAction({\n action: actionConfig,\n ...baseParams,\n });\n break;\n\n default:\n return null;\n }\n\n if (!actionToResolve || actionToResolve.hidden) {\n return null;\n }\n\n const resolvedAction = resolveAction(actionConfig, actionToResolve);\n const { icon, hidden, ...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 === 'action') {\n return buildAction(primaryItem.action.item);\n }\n\n if (primaryItem.type === 'menu') {\n const actionGroups = groupActions(primaryItem.menu.items);\n const subItems = actionGroups\n .map((group) =>\n group\n .map(buildAction)\n .filter((action): action is ActionSubitem =>\n Boolean(action),\n ),\n )\n .filter((group) => group.length > 0);\n\n if (subItems.length === 0) {\n return null;\n }\n\n return {\n label: primaryItem.menu.label,\n 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\n const secondaryActionItems = config?.secondaryActions\n ? groupActions(config.secondaryActions)\n .map((group) =>\n group\n .map(buildAction)\n .filter((action): action is ActionSubitem => Boolean(action)),\n )\n .filter((group) => group.length > 0)\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":[]}
@@ -45,13 +45,14 @@ const useCollectionPageActions = ({
45
45
  default:
46
46
  return null;
47
47
  }
48
- if (!actionToResolve) {
48
+ if (!actionToResolve || actionToResolve.hidden) {
49
49
  return null;
50
50
  }
51
51
  const resolvedAction = (0, _actions.resolveAction)(actionConfig, actionToResolve);
52
52
  const {
53
53
  tooltip,
54
54
  icon,
55
+ hidden,
55
56
  ...resolvedActionProps
56
57
  } = resolvedAction;
57
58
  return {
@@ -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","collection","type","createAction","action","customAction","resolvedAction","resolveAction","tooltip","icon","resolvedActionProps","prefixIcon","disabledDescription","handleActionsType","actions","item","actionGroups","groupActions","menu","items","subItems","map","group","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 resolveAction,\n groupActions,\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 '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 === 'action') {\n return buildAction(actions.action.item);\n }\n\n if (actions.type === 'menu') {\n const actionGroups = groupActions(actions.menu.items);\n const subItems = actionGroups\n .map((group) =>\n group.map(buildAction).filter((action) => action !== null),\n )\n .filter((group) => group.length > 0);\n\n if (!subItems.length) {\n return null;\n }\n\n return {\n label: actions.menu.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":"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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","customAction","hidden","resolvedAction","resolveAction","tooltip","icon","resolvedActionProps","prefixIcon","disabledDescription","handleActionsType","actions","item","actionGroups","groupActions","menu","items","subItems","map","group","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 resolveAction,\n groupActions,\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 'custom':\n actionToResolve = customAction({\n action: actionConfig,\n ...baseParams,\n });\n break;\n\n default:\n return null;\n }\n\n if (!actionToResolve || actionToResolve.hidden) {\n return null;\n }\n\n const resolvedAction = resolveAction(actionConfig, actionToResolve);\n const { tooltip, icon, hidden, ...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 === 'action') {\n return buildAction(actions.action.item);\n }\n\n if (actions.type === 'menu') {\n const actionGroups = groupActions(actions.menu.items);\n const subItems = actionGroups\n .map((group) =>\n group.map(buildAction).filter((action) => action !== null),\n )\n .filter((group) => group.length > 0);\n\n if (!subItems.length) {\n return null;\n }\n\n return {\n label: actions.menu.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":"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","ignoreList":[]}
@@ -43,13 +43,14 @@ const useEntityPageActions = ({
43
43
  default:
44
44
  return null;
45
45
  }
46
- if (!actionToResolve) {
46
+ if (!actionToResolve || actionToResolve.hidden) {
47
47
  return null;
48
48
  }
49
49
  const resolvedAction = (0, _actions.resolveAction)(actionConfig, actionToResolve);
50
50
  const {
51
51
  tooltip,
52
52
  icon,
53
+ hidden,
53
54
  ...resolvedActionProps
54
55
  } = resolvedAction;
55
56
  return {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_actions","_patterns","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","useEntityPageActions","entityPageActions","entity","sdk","buildEntityPageActions","useCallback","buildAction","actionConfig","actionToResolve","baseParams","actionParams","type","createAction","action","customAction","resolvedAction","resolveAction","tooltip","icon","resolvedActionProps","prefixIcon","disabledDescription","handleActionsType","actions","item","actionGroups","groupActions","menu","items","subItems","map","group","filter","length","label","primaryActions","secondaryActions","createElement","Fragment","SecondaryActions","_extends2","__self","__source","fileName","lineNumber","columnNumber","undefined","PrimaryActions","exports"],"sources":["../../../src/hooks/useEntityPageActions.tsx"],"sourcesContent":["import React, { useCallback } from 'react';\nimport {\n ActionsSDK,\n EntityPageActionConfig,\n EntityPageConfig,\n EntityPagePrimaryActions,\n EntityPageSecondaryActions,\n ResolvedAction,\n} from '../types';\nimport {\n createAction,\n customAction,\n resolveAction,\n groupActions,\n} from '../utils/actions';\nimport { IconElement } from '@wix/design-system';\nimport { PrimaryActions, SecondaryActions } from '@wix/patterns';\n\nexport interface UseEntityPageActionsParams {\n entityPageActions: EntityPageConfig['actions'];\n entity: Record<string, any>;\n sdk: ActionsSDK;\n}\n\nexport const useEntityPageActions = ({\n entityPageActions,\n entity,\n sdk,\n}: UseEntityPageActionsParams) => {\n const buildEntityPageActions = useCallback(() => {\n if (!entityPageActions) {\n return;\n }\n\n const buildAction = (actionConfig: EntityPageActionConfig) => {\n let actionToResolve: Partial<ResolvedAction> | null = null;\n\n const baseParams = {\n actionParams: {\n entity,\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 '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: EntityPagePrimaryActions | EntityPageSecondaryActions,\n ) => {\n if (actions.type === 'action') {\n return buildAction(actions.action.item);\n }\n\n if (actions.type === 'menu') {\n const actionGroups = groupActions(actions.menu.items);\n const subItems = actionGroups\n .map((group) =>\n group.map(buildAction).filter((action) => action !== null),\n )\n .filter((group) => group.length > 0);\n\n if (!subItems.length) {\n return null;\n }\n\n return {\n label: actions.menu.label,\n subItems,\n };\n }\n\n return null;\n };\n\n const primaryActions =\n entityPageActions?.primaryActions &&\n handleActionsType(entityPageActions.primaryActions);\n\n const secondaryActions =\n entityPageActions?.secondaryActions &&\n handleActionsType(entityPageActions.secondaryActions);\n\n if (!primaryActions && !secondaryActions) {\n return;\n }\n\n return (\n <>\n {secondaryActions ? (\n <SecondaryActions {...secondaryActions} />\n ) : undefined}\n {primaryActions ? <PrimaryActions {...primaryActions} /> : undefined}\n </>\n );\n }, [entityPageActions, entity, sdk]);\n\n if (\n !entityPageActions?.primaryActions &&\n !entityPageActions?.secondaryActions\n ) {\n return null;\n }\n\n return buildEntityPageActions() ?? null;\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_actions","_patterns","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","useEntityPageActions","entityPageActions","entity","sdk","buildEntityPageActions","useCallback","buildAction","actionConfig","actionToResolve","baseParams","actionParams","type","createAction","action","customAction","hidden","resolvedAction","resolveAction","tooltip","icon","resolvedActionProps","prefixIcon","disabledDescription","handleActionsType","actions","item","actionGroups","groupActions","menu","items","subItems","map","group","filter","length","label","primaryActions","secondaryActions","createElement","Fragment","SecondaryActions","_extends2","__self","__source","fileName","lineNumber","columnNumber","undefined","PrimaryActions","exports"],"sources":["../../../src/hooks/useEntityPageActions.tsx"],"sourcesContent":["import React, { useCallback } from 'react';\nimport {\n ActionsSDK,\n EntityPageActionConfig,\n EntityPageConfig,\n EntityPagePrimaryActions,\n EntityPageSecondaryActions,\n ResolvedAction,\n} from '../types';\nimport {\n createAction,\n customAction,\n resolveAction,\n groupActions,\n} from '../utils/actions';\nimport { IconElement } from '@wix/design-system';\nimport { PrimaryActions, SecondaryActions } from '@wix/patterns';\n\nexport interface UseEntityPageActionsParams {\n entityPageActions: EntityPageConfig['actions'];\n entity: Record<string, any>;\n sdk: ActionsSDK;\n}\n\nexport const useEntityPageActions = ({\n entityPageActions,\n entity,\n sdk,\n}: UseEntityPageActionsParams) => {\n const buildEntityPageActions = useCallback(() => {\n if (!entityPageActions) {\n return;\n }\n\n const buildAction = (actionConfig: EntityPageActionConfig) => {\n let actionToResolve: Partial<ResolvedAction> | null = null;\n\n const baseParams = {\n actionParams: {\n entity,\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 'custom':\n actionToResolve = customAction({\n action: actionConfig,\n ...baseParams,\n });\n break;\n\n default:\n return null;\n }\n\n if (!actionToResolve || actionToResolve.hidden) {\n return null;\n }\n\n const resolvedAction = resolveAction(actionConfig, actionToResolve);\n const { tooltip, icon, hidden, ...resolvedActionProps } = resolvedAction;\n\n return {\n ...resolvedActionProps,\n prefixIcon: icon as IconElement,\n disabledDescription: resolvedAction.tooltip,\n };\n };\n\n const handleActionsType = (\n actions: EntityPagePrimaryActions | EntityPageSecondaryActions,\n ) => {\n if (actions.type === 'action') {\n return buildAction(actions.action.item);\n }\n\n if (actions.type === 'menu') {\n const actionGroups = groupActions(actions.menu.items);\n const subItems = actionGroups\n .map((group) =>\n group.map(buildAction).filter((action) => action !== null),\n )\n .filter((group) => group.length > 0);\n\n if (!subItems.length) {\n return null;\n }\n\n return {\n label: actions.menu.label,\n subItems,\n };\n }\n\n return null;\n };\n\n const primaryActions =\n entityPageActions?.primaryActions &&\n handleActionsType(entityPageActions.primaryActions);\n\n const secondaryActions =\n entityPageActions?.secondaryActions &&\n handleActionsType(entityPageActions.secondaryActions);\n\n if (!primaryActions && !secondaryActions) {\n return;\n }\n\n return (\n <>\n {secondaryActions ? (\n <SecondaryActions {...secondaryActions} />\n ) : undefined}\n {primaryActions ? <PrimaryActions {...primaryActions} /> : undefined}\n </>\n );\n }, [entityPageActions, entity, sdk]);\n\n if (\n !entityPageActions?.primaryActions &&\n !entityPageActions?.secondaryActions\n ) {\n return null;\n }\n\n return buildEntityPageActions() ?? null;\n};\n"],"mappings":"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","ignoreList":[]}
@@ -3,23 +3,62 @@
3
3
  exports.__esModule = true;
4
4
  exports.useEntityPageHeaderTexts = void 0;
5
5
  var _react = require("react");
6
+ var _PatternsWizardOverridesContext = require("../providers/PatternsWizardOverridesContext");
6
7
  const useEntityPageHeaderTexts = ({
7
8
  config,
8
9
  isCreateMode,
9
- entityDisplayName
10
+ isViewMode,
11
+ entityDisplayName,
12
+ entity
10
13
  }) => {
11
- const title = (0, _react.useMemo)(() => {
14
+ var _config$title2;
15
+ const overrides = (0, _PatternsWizardOverridesContext.usePatternsWizardOverridesContext)();
16
+ const titleText = (0, _react.useMemo)(() => {
12
17
  if (config.title) {
13
- return config.title;
18
+ return config.title.text;
14
19
  } else {
15
- return {
16
- text: isCreateMode ? 'Create New Item' : entityDisplayName ?? 'Edit Item'
17
- };
20
+ return isCreateMode ? 'Create New Item' : isViewMode ? entityDisplayName ?? 'View Item' : entityDisplayName ?? 'Edit Item';
18
21
  }
19
- }, [config.title, entityDisplayName, isCreateMode]);
20
- const subtitle = (0, _react.useMemo)(() => config.subtitle, [config.subtitle]);
22
+ }, [config.title, entityDisplayName, isCreateMode, isViewMode]);
23
+ const subtitle = (0, _react.useMemo)(() => {
24
+ if (!config.subtitle) {
25
+ return undefined;
26
+ }
27
+ if (entity && overrides != null && overrides.entityPageHeaderSubtitle && config.subtitle.id) {
28
+ const subtitleOverride = overrides.entityPageHeaderSubtitle[config.subtitle.id];
29
+ if (subtitleOverride) {
30
+ const overrideResult = subtitleOverride(entity);
31
+ return {
32
+ ...config.subtitle,
33
+ ...overrideResult
34
+ };
35
+ }
36
+ }
37
+ return {
38
+ ...config.subtitle,
39
+ text: config.subtitle.text ?? ''
40
+ };
41
+ }, [config.subtitle, entity, overrides == null ? void 0 : overrides.entityPageHeaderSubtitle]);
42
+ const badges = (0, _react.useMemo)(() => {
43
+ var _config$title;
44
+ if (!((_config$title = config.title) != null && _config$title.badges)) {
45
+ return undefined;
46
+ }
47
+ // If badges has an id, try to resolve it dynamically
48
+ if (entity && overrides != null && overrides.entityPageHeaderBadges && config.title.badges.id) {
49
+ const badgesOverride = overrides.entityPageHeaderBadges[config.title.badges.id];
50
+ if (badgesOverride) {
51
+ const overrideBadges = badgesOverride(entity);
52
+ return overrideBadges;
53
+ }
54
+ }
55
+ return undefined;
56
+ }, [(_config$title2 = config.title) == null ? void 0 : _config$title2.badges, entity, overrides == null ? void 0 : overrides.entityPageHeaderBadges]);
21
57
  return {
22
- title,
58
+ title: {
59
+ text: titleText,
60
+ badges
61
+ },
23
62
  subtitle
24
63
  };
25
64
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","useEntityPageHeaderTexts","config","isCreateMode","entityDisplayName","title","useMemo","text","subtitle","exports"],"sources":["../../../src/hooks/useEntityPageHeaderTexts.ts"],"sourcesContent":["import { useMemo } from 'react';\nimport { EntityPageConfig } from '../types';\n\nexport const useEntityPageHeaderTexts = ({\n config,\n isCreateMode,\n entityDisplayName,\n}: {\n config: EntityPageConfig;\n isCreateMode: boolean;\n entityDisplayName?: string;\n}) => {\n const title = useMemo(() => {\n if (config.title) {\n return config.title;\n } else {\n return {\n text: isCreateMode\n ? 'Create New Item'\n : entityDisplayName ?? 'Edit Item',\n };\n }\n }, [config.title, entityDisplayName, isCreateMode]);\n\n const subtitle = useMemo(() => config.subtitle, [config.subtitle]);\n\n return { title, subtitle };\n};\n"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGO,MAAMC,wBAAwB,GAAGA,CAAC;EACvCC,MAAM;EACNC,YAAY;EACZC;AAKF,CAAC,KAAK;EACJ,MAAMC,KAAK,GAAG,IAAAC,cAAO,EAAC,MAAM;IAC1B,IAAIJ,MAAM,CAACG,KAAK,EAAE;MAChB,OAAOH,MAAM,CAACG,KAAK;IACrB,CAAC,MAAM;MACL,OAAO;QACLE,IAAI,EAAEJ,YAAY,GACd,iBAAiB,GACjBC,iBAAiB,IAAI;MAC3B,CAAC;IACH;EACF,CAAC,EAAE,CAACF,MAAM,CAACG,KAAK,EAAED,iBAAiB,EAAED,YAAY,CAAC,CAAC;EAEnD,MAAMK,QAAQ,GAAG,IAAAF,cAAO,EAAC,MAAMJ,MAAM,CAACM,QAAQ,EAAE,CAACN,MAAM,CAACM,QAAQ,CAAC,CAAC;EAElE,OAAO;IAAEH,KAAK;IAAEG;EAAS,CAAC;AAC5B,CAAC;AAACC,OAAA,CAAAR,wBAAA,GAAAA,wBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_PatternsWizardOverridesContext","useEntityPageHeaderTexts","config","isCreateMode","isViewMode","entityDisplayName","entity","_config$title2","overrides","usePatternsWizardOverridesContext","titleText","useMemo","title","text","subtitle","undefined","entityPageHeaderSubtitle","id","subtitleOverride","overrideResult","badges","_config$title","entityPageHeaderBadges","badgesOverride","overrideBadges","exports"],"sources":["../../../src/hooks/useEntityPageHeaderTexts.ts"],"sourcesContent":["import { useMemo } from 'react';\nimport { EntityPageConfig } from '../types';\nimport { usePatternsWizardOverridesContext } from '../providers/PatternsWizardOverridesContext';\n\nexport const useEntityPageHeaderTexts = ({\n config,\n isCreateMode,\n isViewMode,\n entityDisplayName,\n entity,\n}: {\n config: EntityPageConfig;\n isCreateMode: boolean;\n isViewMode?: boolean;\n entityDisplayName?: string;\n entity?: Record<string, any>;\n}) => {\n const overrides = usePatternsWizardOverridesContext();\n\n const titleText = useMemo(() => {\n if (config.title) {\n return config.title.text;\n } else {\n return isCreateMode\n ? 'Create New Item'\n : isViewMode\n ? entityDisplayName ?? 'View Item'\n : entityDisplayName ?? 'Edit Item';\n }\n }, [config.title, entityDisplayName, isCreateMode, isViewMode]);\n\n const subtitle = useMemo(() => {\n if (!config.subtitle) {\n return undefined;\n }\n\n if (entity && overrides?.entityPageHeaderSubtitle && config.subtitle.id) {\n const subtitleOverride =\n overrides.entityPageHeaderSubtitle[config.subtitle.id];\n if (subtitleOverride) {\n const overrideResult = subtitleOverride(entity);\n return {\n ...config.subtitle,\n ...overrideResult,\n };\n }\n }\n\n return {\n ...config.subtitle,\n text: config.subtitle.text ?? '',\n };\n }, [config.subtitle, entity, overrides?.entityPageHeaderSubtitle]);\n\n const badges = useMemo(() => {\n if (!config.title?.badges) {\n return undefined;\n }\n // If badges has an id, try to resolve it dynamically\n if (entity && overrides?.entityPageHeaderBadges && config.title.badges.id) {\n const badgesOverride =\n overrides.entityPageHeaderBadges[config.title.badges.id];\n if (badgesOverride) {\n const overrideBadges = badgesOverride(entity);\n return overrideBadges;\n }\n }\n\n return undefined;\n }, [config.title?.badges, entity, overrides?.entityPageHeaderBadges]);\n\n return { title: { text: titleText, badges }, subtitle };\n};\n"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,+BAAA,GAAAD,OAAA;AAEO,MAAME,wBAAwB,GAAGA,CAAC;EACvCC,MAAM;EACNC,YAAY;EACZC,UAAU;EACVC,iBAAiB;EACjBC;AAOF,CAAC,KAAK;EAAA,IAAAC,cAAA;EACJ,MAAMC,SAAS,GAAG,IAAAC,iEAAiC,EAAC,CAAC;EAErD,MAAMC,SAAS,GAAG,IAAAC,cAAO,EAAC,MAAM;IAC9B,IAAIT,MAAM,CAACU,KAAK,EAAE;MAChB,OAAOV,MAAM,CAACU,KAAK,CAACC,IAAI;IAC1B,CAAC,MAAM;MACL,OAAOV,YAAY,GACf,iBAAiB,GACjBC,UAAU,GACVC,iBAAiB,IAAI,WAAW,GAChCA,iBAAiB,IAAI,WAAW;IACtC;EACF,CAAC,EAAE,CAACH,MAAM,CAACU,KAAK,EAAEP,iBAAiB,EAAEF,YAAY,EAAEC,UAAU,CAAC,CAAC;EAE/D,MAAMU,QAAQ,GAAG,IAAAH,cAAO,EAAC,MAAM;IAC7B,IAAI,CAACT,MAAM,CAACY,QAAQ,EAAE;MACpB,OAAOC,SAAS;IAClB;IAEA,IAAIT,MAAM,IAAIE,SAAS,YAATA,SAAS,CAAEQ,wBAAwB,IAAId,MAAM,CAACY,QAAQ,CAACG,EAAE,EAAE;MACvE,MAAMC,gBAAgB,GACpBV,SAAS,CAACQ,wBAAwB,CAACd,MAAM,CAACY,QAAQ,CAACG,EAAE,CAAC;MACxD,IAAIC,gBAAgB,EAAE;QACpB,MAAMC,cAAc,GAAGD,gBAAgB,CAACZ,MAAM,CAAC;QAC/C,OAAO;UACL,GAAGJ,MAAM,CAACY,QAAQ;UAClB,GAAGK;QACL,CAAC;MACH;IACF;IAEA,OAAO;MACL,GAAGjB,MAAM,CAACY,QAAQ;MAClBD,IAAI,EAAEX,MAAM,CAACY,QAAQ,CAACD,IAAI,IAAI;IAChC,CAAC;EACH,CAAC,EAAE,CAACX,MAAM,CAACY,QAAQ,EAAER,MAAM,EAAEE,SAAS,oBAATA,SAAS,CAAEQ,wBAAwB,CAAC,CAAC;EAElE,MAAMI,MAAM,GAAG,IAAAT,cAAO,EAAC,MAAM;IAAA,IAAAU,aAAA;IAC3B,IAAI,GAAAA,aAAA,GAACnB,MAAM,CAACU,KAAK,aAAZS,aAAA,CAAcD,MAAM,GAAE;MACzB,OAAOL,SAAS;IAClB;IACA;IACA,IAAIT,MAAM,IAAIE,SAAS,YAATA,SAAS,CAAEc,sBAAsB,IAAIpB,MAAM,CAACU,KAAK,CAACQ,MAAM,CAACH,EAAE,EAAE;MACzE,MAAMM,cAAc,GAClBf,SAAS,CAACc,sBAAsB,CAACpB,MAAM,CAACU,KAAK,CAACQ,MAAM,CAACH,EAAE,CAAC;MAC1D,IAAIM,cAAc,EAAE;QAClB,MAAMC,cAAc,GAAGD,cAAc,CAACjB,MAAM,CAAC;QAC7C,OAAOkB,cAAc;MACvB;IACF;IAEA,OAAOT,SAAS;EAClB,CAAC,EAAE,EAAAR,cAAA,GAACL,MAAM,CAACU,KAAK,qBAAZL,cAAA,CAAca,MAAM,EAAEd,MAAM,EAAEE,SAAS,oBAATA,SAAS,CAAEc,sBAAsB,CAAC,CAAC;EAErE,OAAO;IAAEV,KAAK,EAAE;MAAEC,IAAI,EAAEH,SAAS;MAAEU;IAAO,CAAC;IAAEN;EAAS,CAAC;AACzD,CAAC;AAACW,OAAA,CAAAxB,wBAAA,GAAAA,wBAAA","ignoreList":[]}
@@ -38,7 +38,7 @@ function useEntityPageMoreActions(moreActions, entity, sdk, form) {
38
38
  default:
39
39
  return null;
40
40
  }
41
- if (!actionToResolve) {
41
+ if (!actionToResolve || actionToResolve.hidden) {
42
42
  return null;
43
43
  }
44
44
  const resolved = (0, _actions.resolveAction)(actionConfig, actionToResolve);
@@ -1 +1 @@
1
- {"version":3,"names":["_actions","require","_react","useEntityPageMoreActions","moreActions","entity","sdk","form","buildEntityPageActions","useCallback","buildAction","actionConfig","actionToResolve","baseParams","actionParams","type","updateAction","action","item","customAction","resolved","resolveAction","onClick","text","label","prefixIcon","icon","disabled","actionGroups","groupActions","map","group","filter","Boolean","length"],"sources":["../../../src/hooks/useEntityPageMoreActions.ts"],"sourcesContent":["import { ActionsSDK, ResolvedAction } from '../types';\nimport {\n customAction,\n resolveAction,\n groupActions,\n updateAction,\n} from '../utils/actions';\nimport { useCallback } from 'react';\nimport { MoreActionsItem } from '@wix/patterns';\nimport { FieldValues, UseFormReturn } from '@wix/patterns/form';\nimport {\n CustomActionConfig,\n DividerActionConfig,\n UpdateActionConfig,\n} from '../types/actions/base';\n\nexport function useEntityPageMoreActions(\n moreActions:\n | (CustomActionConfig | UpdateActionConfig | DividerActionConfig)[]\n | undefined,\n entity: Record<string, any>,\n sdk: ActionsSDK,\n form?: UseFormReturn<FieldValues, any, undefined>,\n) {\n const buildEntityPageActions = useCallback(() => {\n if (!moreActions) {\n return;\n }\n\n const buildAction = (\n actionConfig: CustomActionConfig | UpdateActionConfig,\n ): MoreActionsItem | null => {\n let actionToResolve: Partial<ResolvedAction> | null = null;\n const baseParams = {\n actionParams: { entity, form },\n sdk,\n };\n\n switch (actionConfig.type) {\n case 'update':\n actionToResolve = updateAction({\n action: actionConfig,\n ...baseParams,\n actionParams: {\n ...baseParams.actionParams,\n item: entity,\n },\n });\n break;\n case 'custom':\n actionToResolve = customAction({\n action: actionConfig,\n ...baseParams,\n });\n break;\n default:\n return null;\n }\n\n if (!actionToResolve) {\n return null;\n }\n\n const resolved = resolveAction(\n actionConfig,\n actionToResolve,\n ) as ResolvedAction;\n\n return {\n onClick: resolved.onClick,\n text: resolved.label,\n prefixIcon: resolved.icon,\n disabled: resolved.disabled,\n };\n };\n\n const actionGroups = groupActions(moreActions);\n return actionGroups\n .map((group) =>\n group\n .map(buildAction)\n .filter((action): action is MoreActionsItem => Boolean(action)),\n )\n .filter((group) => group.length > 0);\n }, [moreActions, sdk, entity, form]);\n\n return buildEntityPageActions() ?? [];\n}\n"],"mappings":";;;;AACA,IAAAA,QAAA,GAAAC,OAAA;AAMA,IAAAC,MAAA,GAAAD,OAAA;AASO,SAASE,wBAAwBA,CACtCC,WAEa,EACbC,MAA2B,EAC3BC,GAAe,EACfC,IAAiD,EACjD;EACA,MAAMC,sBAAsB,GAAG,IAAAC,kBAAW,EAAC,MAAM;IAC/C,IAAI,CAACL,WAAW,EAAE;MAChB;IACF;IAEA,MAAMM,WAAW,GACfC,YAAqD,IAC1B;MAC3B,IAAIC,eAA+C,GAAG,IAAI;MAC1D,MAAMC,UAAU,GAAG;QACjBC,YAAY,EAAE;UAAET,MAAM;UAAEE;QAAK,CAAC;QAC9BD;MACF,CAAC;MAED,QAAQK,YAAY,CAACI,IAAI;QACvB,KAAK,QAAQ;UACXH,eAAe,GAAG,IAAAI,qBAAY,EAAC;YAC7BC,MAAM,EAAEN,YAAY;YACpB,GAAGE,UAAU;YACbC,YAAY,EAAE;cACZ,GAAGD,UAAU,CAACC,YAAY;cAC1BI,IAAI,EAAEb;YACR;UACF,CAAC,CAAC;UACF;QACF,KAAK,QAAQ;UACXO,eAAe,GAAG,IAAAO,qBAAY,EAAC;YAC7BF,MAAM,EAAEN,YAAY;YACpB,GAAGE;UACL,CAAC,CAAC;UACF;QACF;UACE,OAAO,IAAI;MACf;MAEA,IAAI,CAACD,eAAe,EAAE;QACpB,OAAO,IAAI;MACb;MAEA,MAAMQ,QAAQ,GAAG,IAAAC,sBAAa,EAC5BV,YAAY,EACZC,eACF,CAAmB;MAEnB,OAAO;QACLU,OAAO,EAAEF,QAAQ,CAACE,OAAO;QACzBC,IAAI,EAAEH,QAAQ,CAACI,KAAK;QACpBC,UAAU,EAAEL,QAAQ,CAACM,IAAI;QACzBC,QAAQ,EAAEP,QAAQ,CAACO;MACrB,CAAC;IACH,CAAC;IAED,MAAMC,YAAY,GAAG,IAAAC,qBAAY,EAACzB,WAAW,CAAC;IAC9C,OAAOwB,YAAY,CAChBE,GAAG,CAAEC,KAAK,IACTA,KAAK,CACFD,GAAG,CAACpB,WAAW,CAAC,CAChBsB,MAAM,CAAEf,MAAM,IAAgCgB,OAAO,CAAChB,MAAM,CAAC,CAClE,CAAC,CACAe,MAAM,CAAED,KAAK,IAAKA,KAAK,CAACG,MAAM,GAAG,CAAC,CAAC;EACxC,CAAC,EAAE,CAAC9B,WAAW,EAAEE,GAAG,EAAED,MAAM,EAAEE,IAAI,CAAC,CAAC;EAEpC,OAAOC,sBAAsB,CAAC,CAAC,IAAI,EAAE;AACvC","ignoreList":[]}
1
+ {"version":3,"names":["_actions","require","_react","useEntityPageMoreActions","moreActions","entity","sdk","form","buildEntityPageActions","useCallback","buildAction","actionConfig","actionToResolve","baseParams","actionParams","type","updateAction","action","item","customAction","hidden","resolved","resolveAction","onClick","text","label","prefixIcon","icon","disabled","actionGroups","groupActions","map","group","filter","Boolean","length"],"sources":["../../../src/hooks/useEntityPageMoreActions.ts"],"sourcesContent":["import { ActionsSDK, ResolvedAction } from '../types';\nimport {\n customAction,\n resolveAction,\n groupActions,\n updateAction,\n} from '../utils/actions';\nimport { useCallback } from 'react';\nimport { MoreActionsItem } from '@wix/patterns';\nimport { FieldValues, UseFormReturn } from '@wix/patterns/form';\nimport {\n CustomActionConfig,\n DividerActionConfig,\n UpdateActionConfig,\n} from '../types/actions/base';\n\nexport function useEntityPageMoreActions(\n moreActions:\n | (CustomActionConfig | UpdateActionConfig | DividerActionConfig)[]\n | undefined,\n entity: Record<string, any>,\n sdk: ActionsSDK,\n form?: UseFormReturn<FieldValues, any, undefined>,\n) {\n const buildEntityPageActions = useCallback(() => {\n if (!moreActions) {\n return;\n }\n\n const buildAction = (\n actionConfig: CustomActionConfig | UpdateActionConfig,\n ): MoreActionsItem | null => {\n let actionToResolve: Partial<ResolvedAction> | null = null;\n const baseParams = {\n actionParams: { entity, form },\n sdk,\n };\n\n switch (actionConfig.type) {\n case 'update':\n actionToResolve = updateAction({\n action: actionConfig,\n ...baseParams,\n actionParams: {\n ...baseParams.actionParams,\n item: entity,\n },\n });\n break;\n case 'custom':\n actionToResolve = customAction({\n action: actionConfig,\n ...baseParams,\n });\n break;\n default:\n return null;\n }\n\n if (!actionToResolve || actionToResolve.hidden) {\n return null;\n }\n\n const resolved = resolveAction(\n actionConfig,\n actionToResolve,\n ) as ResolvedAction;\n\n return {\n onClick: resolved.onClick,\n text: resolved.label,\n prefixIcon: resolved.icon,\n disabled: resolved.disabled,\n };\n };\n\n const actionGroups = groupActions(moreActions);\n return actionGroups\n .map((group) =>\n group\n .map(buildAction)\n .filter((action): action is MoreActionsItem => Boolean(action)),\n )\n .filter((group) => group.length > 0);\n }, [moreActions, sdk, entity, form]);\n\n return buildEntityPageActions() ?? [];\n}\n"],"mappings":";;;;AACA,IAAAA,QAAA,GAAAC,OAAA;AAMA,IAAAC,MAAA,GAAAD,OAAA;AASO,SAASE,wBAAwBA,CACtCC,WAEa,EACbC,MAA2B,EAC3BC,GAAe,EACfC,IAAiD,EACjD;EACA,MAAMC,sBAAsB,GAAG,IAAAC,kBAAW,EAAC,MAAM;IAC/C,IAAI,CAACL,WAAW,EAAE;MAChB;IACF;IAEA,MAAMM,WAAW,GACfC,YAAqD,IAC1B;MAC3B,IAAIC,eAA+C,GAAG,IAAI;MAC1D,MAAMC,UAAU,GAAG;QACjBC,YAAY,EAAE;UAAET,MAAM;UAAEE;QAAK,CAAC;QAC9BD;MACF,CAAC;MAED,QAAQK,YAAY,CAACI,IAAI;QACvB,KAAK,QAAQ;UACXH,eAAe,GAAG,IAAAI,qBAAY,EAAC;YAC7BC,MAAM,EAAEN,YAAY;YACpB,GAAGE,UAAU;YACbC,YAAY,EAAE;cACZ,GAAGD,UAAU,CAACC,YAAY;cAC1BI,IAAI,EAAEb;YACR;UACF,CAAC,CAAC;UACF;QACF,KAAK,QAAQ;UACXO,eAAe,GAAG,IAAAO,qBAAY,EAAC;YAC7BF,MAAM,EAAEN,YAAY;YACpB,GAAGE;UACL,CAAC,CAAC;UACF;QACF;UACE,OAAO,IAAI;MACf;MAEA,IAAI,CAACD,eAAe,IAAIA,eAAe,CAACQ,MAAM,EAAE;QAC9C,OAAO,IAAI;MACb;MAEA,MAAMC,QAAQ,GAAG,IAAAC,sBAAa,EAC5BX,YAAY,EACZC,eACF,CAAmB;MAEnB,OAAO;QACLW,OAAO,EAAEF,QAAQ,CAACE,OAAO;QACzBC,IAAI,EAAEH,QAAQ,CAACI,KAAK;QACpBC,UAAU,EAAEL,QAAQ,CAACM,IAAI;QACzBC,QAAQ,EAAEP,QAAQ,CAACO;MACrB,CAAC;IACH,CAAC;IAED,MAAMC,YAAY,GAAG,IAAAC,qBAAY,EAAC1B,WAAW,CAAC;IAC9C,OAAOyB,YAAY,CAChBE,GAAG,CAAEC,KAAK,IACTA,KAAK,CACFD,GAAG,CAACrB,WAAW,CAAC,CAChBuB,MAAM,CAAEhB,MAAM,IAAgCiB,OAAO,CAACjB,MAAM,CAAC,CAClE,CAAC,CACAgB,MAAM,CAAED,KAAK,IAAKA,KAAK,CAACG,MAAM,GAAG,CAAC,CAAC;EACxC,CAAC,EAAE,CAAC/B,WAAW,EAAEE,GAAG,EAAED,MAAM,EAAEE,IAAI,CAAC,CAAC;EAEpC,OAAOC,sBAAsB,CAAC,CAAC,IAAI,EAAE;AACvC","ignoreList":[]}
@@ -4,6 +4,7 @@ exports.__esModule = true;
4
4
  exports.useError = exports.ErrorProvider = void 0;
5
5
  var _react = _interopRequireWildcard(require("react"));
6
6
  var _patterns = require("@wix/patterns");
7
+ var _essentials = require("@wix/essentials");
7
8
  var _jsxFileName = "/home/builduser/work/73d19ce3378ce4dd/packages/auto-patterns/dist/cjs/providers/ErrorContext.tsx";
8
9
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
9
10
  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; }
@@ -29,12 +30,14 @@ const ErrorProvider = ({
29
30
  });
30
31
  }, []);
31
32
  if (errorState.hasError && errorState.error) {
33
+ const subtitle = _essentials.errorHandler.getResolvedError(errorState.error).message;
32
34
  return /*#__PURE__*/_react.default.createElement(_patterns.PageErrorState, {
33
- subtitle: errorState.error.message,
35
+ subtitle: subtitle,
36
+ dataHook: "error-page",
34
37
  __self: void 0,
35
38
  __source: {
36
39
  fileName: _jsxFileName,
37
- lineNumber: 46,
40
+ lineNumber: 57,
38
41
  columnNumber: 12
39
42
  }
40
43
  });
@@ -47,7 +50,7 @@ const ErrorProvider = ({
47
50
  __self: void 0,
48
51
  __source: {
49
52
  fileName: _jsxFileName,
50
- lineNumber: 50,
53
+ lineNumber: 61,
51
54
  columnNumber: 5
52
55
  }
53
56
  }, children);
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_patterns","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ErrorContext","createContext","undefined","ErrorProvider","children","errorState","setErrorState","useState","hasError","error","showError","useCallback","errorObj","Error","clearError","createElement","PageErrorState","subtitle","message","__self","__source","fileName","lineNumber","columnNumber","Provider","value","exports","useError","context","useContext"],"sources":["../../../src/providers/ErrorContext.tsx"],"sourcesContent":["import React, {\n createContext,\n useContext,\n useState,\n useCallback,\n ReactNode,\n} from 'react';\nimport { PageErrorState } from '@wix/patterns';\n\ninterface ErrorState {\n hasError: boolean;\n error: Error | null;\n}\n\ninterface ErrorContextType {\n showError: (error: Error) => void;\n clearError: () => void;\n}\n\nconst ErrorContext = createContext<ErrorContextType | undefined>(undefined);\n\nexport const ErrorProvider: React.FC<{ children: ReactNode }> = ({\n children,\n}) => {\n const [errorState, setErrorState] = useState<ErrorState>({\n hasError: false,\n error: null,\n });\n\n const showError = useCallback((error: Error | string) => {\n const errorObj = typeof error === 'string' ? new Error(error) : error;\n setErrorState({\n hasError: true,\n error: errorObj,\n });\n }, []);\n\n const clearError = useCallback(() => {\n setErrorState({\n hasError: false,\n error: null,\n });\n }, []);\n\n if (errorState.hasError && errorState.error) {\n return <PageErrorState subtitle={errorState.error.message} />;\n }\n\n return (\n <ErrorContext.Provider value={{ showError, clearError }}>\n {children}\n </ErrorContext.Provider>\n );\n};\n\nexport const useError = (): ErrorContextType => {\n const context = useContext(ErrorContext);\n if (!context) {\n throw new Error('useError must be used within an ErrorProvider');\n }\n return context;\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_patterns","_essentials","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ErrorContext","createContext","undefined","ErrorProvider","children","errorState","setErrorState","useState","hasError","error","showError","useCallback","errorObj","Error","clearError","subtitle","errorHandler","getResolvedError","message","createElement","PageErrorState","dataHook","__self","__source","fileName","lineNumber","columnNumber","Provider","value","exports","useError","context","useContext"],"sources":["../../../src/providers/ErrorContext.tsx"],"sourcesContent":["import React, {\n createContext,\n useContext,\n useState,\n useCallback,\n ReactNode,\n} from 'react';\nimport { PageErrorState } from '@wix/patterns';\nimport { errorHandler } from '@wix/essentials';\n\nexport interface ErrorResponse extends Error {\n details: {\n applicationError: {\n description: string;\n };\n };\n}\n\ninterface ErrorState {\n hasError: boolean;\n error: Error | null;\n}\n\ninterface ErrorContextType {\n showError: (error: Error) => void;\n clearError: () => void;\n}\n\nconst ErrorContext = createContext<ErrorContextType | undefined>(undefined);\n\nexport const ErrorProvider: React.FC<{ children: ReactNode }> = ({\n children,\n}) => {\n const [errorState, setErrorState] = useState<ErrorState>({\n hasError: false,\n error: null,\n });\n\n const showError = useCallback((error: Error | string) => {\n const errorObj = typeof error === 'string' ? new Error(error) : error;\n setErrorState({\n hasError: true,\n error: errorObj,\n });\n }, []);\n\n const clearError = useCallback(() => {\n setErrorState({\n hasError: false,\n error: null,\n });\n }, []);\n\n if (errorState.hasError && errorState.error) {\n const subtitle = errorHandler.getResolvedError(errorState.error).message;\n\n return <PageErrorState subtitle={subtitle} dataHook=\"error-page\" />;\n }\n\n return (\n <ErrorContext.Provider value={{ showError, clearError }}>\n {children}\n </ErrorContext.Provider>\n );\n};\n\nexport const useError = (): ErrorContextType => {\n const context = useContext(ErrorContext);\n if (!context) {\n throw new Error('useError must be used within an ErrorProvider');\n }\n return context;\n};\n"],"mappings":"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","ignoreList":[]}
@@ -16,7 +16,7 @@ const PatternsWizardOverridesProvider = ({
16
16
  __self: void 0,
17
17
  __source: {
18
18
  fileName: _jsxFileName,
19
- lineNumber: 45,
19
+ lineNumber: 61,
20
20
  columnNumber: 5
21
21
  }
22
22
  }, children);
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","PatternsWizardOverridesContext","createContext","undefined","PatternsWizardOverridesProvider","children","value","createElement","Provider","__self","__source","fileName","lineNumber","columnNumber","exports","usePatternsWizardOverridesContext","useContext"],"sources":["../../../src/providers/PatternsWizardOverridesContext.tsx"],"sourcesContent":["import React, { createContext, useContext, ReactNode } from 'react';\nimport {\n CustomComponentProps,\n CustomActionCellActionResolver,\n CustomEntityPageActionResolver,\n CustomBulkActionsActionResolver,\n CustomActionCollectionPageActionResolver,\n CustomActionCollectionPageActionOnRowClickResolver,\n IColumnValue,\n SchemaConfig,\n} from '../types';\n\nimport { Section } from '@wix/patterns';\n\nexport interface PatternsWizardOverridesContextProps {\n actions?: Record<\n string,\n | CustomActionCellActionResolver\n | CustomBulkActionsActionResolver\n | CustomEntityPageActionResolver\n | CustomActionCollectionPageActionResolver\n | CustomActionCollectionPageActionOnRowClickResolver\n >;\n columns?: Record<string, (props: IColumnValue<any>) => void>;\n modals?: Record<string, React.FC<any>>;\n emptyState?: Record<string, () => void>;\n components?: Record<string, React.FC<CustomComponentProps>>;\n slots?: Record<string, React.FC>;\n customDataSources?: Record<\n string,\n (collectionId: string, context: any) => Promise<SchemaConfig>\n >;\n sections?: Record<string, (item: any) => Section>;\n}\n\nconst PatternsWizardOverridesContext = createContext<\n PatternsWizardOverridesContextProps | undefined\n>(undefined);\n\nexport const PatternsWizardOverridesProvider: React.FC<{\n children: ReactNode;\n value: PatternsWizardOverridesContextProps;\n}> = ({ children, value }) => {\n return (\n <PatternsWizardOverridesContext.Provider value={value}>\n {children}\n </PatternsWizardOverridesContext.Provider>\n );\n};\n\nexport const usePatternsWizardOverridesContext = ():\n | PatternsWizardOverridesContextProps\n | undefined => {\n return useContext(PatternsWizardOverridesContext);\n};\n"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAoE,IAAAC,YAAA;AAAA,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAJ,wBAAAI,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAmCpE,MAAMW,8BAA8B,gBAAG,IAAAC,oBAAa,EAElDC,SAAS,CAAC;AAEL,MAAMC,+BAGX,GAAGA,CAAC;EAAEC,QAAQ;EAAEC;AAAM,CAAC,KAAK;EAC5B,oBACE7B,MAAA,CAAAU,OAAA,CAAAoB,aAAA,CAACN,8BAA8B,CAACO,QAAQ;IAACF,KAAK,EAAEA,KAAM;IAAAG,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAA/B,YAAA;MAAAgC,UAAA;MAAAC,YAAA;IAAA;EAAA,GACnDR,QACsC,CAAC;AAE9C,CAAC;AAACS,OAAA,CAAAV,+BAAA,GAAAA,+BAAA;AAEK,MAAMW,iCAAiC,GAAGA,CAAA,KAEhC;EACf,OAAO,IAAAC,iBAAU,EAACf,8BAA8B,CAAC;AACnD,CAAC;AAACa,OAAA,CAAAC,iCAAA,GAAAA,iCAAA","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","PatternsWizardOverridesContext","createContext","undefined","PatternsWizardOverridesProvider","children","value","createElement","Provider","__self","__source","fileName","lineNumber","columnNumber","exports","usePatternsWizardOverridesContext","useContext"],"sources":["../../../src/providers/PatternsWizardOverridesContext.tsx"],"sourcesContent":["import React, { createContext, useContext, ReactNode } from 'react';\nimport {\n CustomComponentProps,\n CustomActionCellPrimaryActionResolver,\n CustomActionCellSecondaryActionResolver,\n CustomEntityPageActionResolver,\n CustomBulkActionsActionResolver,\n CustomActionCollectionPageActionResolver,\n CustomActionCollectionPageActionOnRowClickResolver,\n IColumnValue,\n SchemaConfig,\n} from '../types';\n\nimport { Section } from '@wix/patterns';\nimport { BadgeSkin, IconElement } from '@wix/design-system';\n\nexport interface PatternsWizardOverridesContextProps {\n actions?: Record<\n string,\n | CustomActionCellPrimaryActionResolver\n | CustomActionCellSecondaryActionResolver\n | CustomBulkActionsActionResolver\n | CustomEntityPageActionResolver\n | CustomActionCollectionPageActionResolver\n | CustomActionCollectionPageActionOnRowClickResolver\n >;\n columns?: Record<string, (props: IColumnValue<any>) => void>;\n modals?: Record<string, React.FC<any>>;\n emptyState?: Record<string, () => void>;\n components?: Record<string, React.FC<CustomComponentProps>>;\n slots?: Record<string, React.FC>;\n entityPageHeaderSubtitle?: Record<\n string,\n (entity: Record<string, any>) => { text: string }\n >;\n entityPageHeaderBadges?: Record<\n string,\n (entity: Record<string, any>) => {\n text: string;\n skin?: BadgeSkin;\n prefixIcon?: IconElement;\n suffixIcon?: IconElement;\n }[]\n >;\n customDataSources?: Record<\n string,\n (collectionId: string, context: any) => Promise<SchemaConfig>\n >;\n sections?: Record<string, (item: any) => Section>;\n}\n\nconst PatternsWizardOverridesContext = createContext<\n PatternsWizardOverridesContextProps | undefined\n>(undefined);\n\nexport const PatternsWizardOverridesProvider: React.FC<{\n children: ReactNode;\n value: PatternsWizardOverridesContextProps;\n}> = ({ children, value }) => {\n return (\n <PatternsWizardOverridesContext.Provider value={value}>\n {children}\n </PatternsWizardOverridesContext.Provider>\n );\n};\n\nexport const usePatternsWizardOverridesContext = ():\n | PatternsWizardOverridesContextProps\n | undefined => {\n return useContext(PatternsWizardOverridesContext);\n};\n"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAoE,IAAAC,YAAA;AAAA,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAJ,wBAAAI,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAmDpE,MAAMW,8BAA8B,gBAAG,IAAAC,oBAAa,EAElDC,SAAS,CAAC;AAEL,MAAMC,+BAGX,GAAGA,CAAC;EAAEC,QAAQ;EAAEC;AAAM,CAAC,KAAK;EAC5B,oBACE7B,MAAA,CAAAU,OAAA,CAAAoB,aAAA,CAACN,8BAA8B,CAACO,QAAQ;IAACF,KAAK,EAAEA,KAAM;IAAAG,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAA/B,YAAA;MAAAgC,UAAA;MAAAC,YAAA;IAAA;EAAA,GACnDR,QACsC,CAAC;AAE9C,CAAC;AAACS,OAAA,CAAAV,+BAAA,GAAAA,+BAAA;AAEK,MAAMW,iCAAiC,GAAGA,CAAA,KAEhC;EACf,OAAO,IAAAC,iBAAU,EAACf,8BAA8B,CAAC;AACnD,CAAC;AAACa,OAAA,CAAAC,iCAAA,GAAAA,iCAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../../src/types/EntityPageConfig.ts"],"sourcesContent":["import { FieldValues, UseFormReturn } from '@wix/patterns/form';\nimport {\n EntityPageMoreActions,\n EntityPagePrimaryActions,\n EntityPageSecondaryActions,\n} from './actions/entityPageActions';\nimport { BaseCollectionConfig } from './types';\n\nexport type EntityPageBaseConfig = {\n route: {\n path: string;\n params: {\n id: string;\n };\n };\n title?: {\n text: string;\n };\n subtitle?: {\n text: string;\n learnMore?: {\n url: string;\n label?: string;\n };\n };\n parentPageId?: string;\n layout?: {\n main: CardLayout[];\n sidebar?: CardLayout[];\n };\n} & BaseCollectionConfig;\n\nexport type EditEntityPageConfig = EntityPageBaseConfig & {\n mode?: 'edit';\n actions?: {\n primaryActions?: never;\n secondaryActions?: never;\n moreActions?: EntityPageMoreActions;\n };\n};\n\nexport type ViewEntityPageConfig = EntityPageBaseConfig & {\n mode: 'view';\n actions?: {\n primaryActions?: EntityPagePrimaryActions;\n secondaryActions?: EntityPageSecondaryActions;\n moreActions?: EntityPageMoreActions;\n };\n};\n\nexport type EntityPageConfig = EditEntityPageConfig | ViewEntityPageConfig;\n\nexport interface CardLayout {\n type: 'card';\n card: {\n title: {\n text: string;\n };\n subtitle?: {\n text: string;\n };\n children: LayoutContent[];\n };\n}\n\nexport type LayoutContent =\n | FieldContent\n | ContainerContent\n | ComponentItemContent;\n\ninterface FieldContent {\n type: 'field';\n field: {\n span?: number;\n fieldId: string;\n };\n}\n\ninterface ContainerContent {\n type: 'container';\n container: {\n span?: number;\n children: LayoutContent[];\n };\n}\n\ninterface ComponentItemContent {\n type: 'component';\n component: {\n span?: number;\n componentId: string;\n };\n}\n\nexport interface CustomComponentProps {\n entity?: Record<string, any>;\n form?: UseFormReturn<FieldValues, any, undefined>;\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["../../../src/types/EntityPageConfig.ts"],"sourcesContent":["import { FieldValues, UseFormReturn } from '@wix/patterns/form';\nimport {\n EntityPageMoreActions,\n EntityPagePrimaryActions,\n EntityPageSecondaryActions,\n} from './actions/entityPageActions';\nimport { BaseCollectionConfig } from './types';\n\nexport type EntityPageBaseConfig = {\n route: {\n path: string;\n params: {\n id: string;\n };\n };\n title?: {\n text: string;\n badges?: {\n id: string;\n };\n };\n subtitle?: {\n text?: string;\n id?: string;\n learnMore?: {\n url: string;\n label?: string;\n };\n };\n parentPageId?: string;\n layout?: {\n main: CardLayout[];\n sidebar?: CardLayout[];\n };\n} & BaseCollectionConfig;\n\nexport type EditEntityPageConfig = EntityPageBaseConfig & {\n mode?: 'edit';\n actions?: {\n primaryActions?: never;\n secondaryActions?: never;\n moreActions?: EntityPageMoreActions;\n };\n};\n\nexport type ViewEntityPageConfig = EntityPageBaseConfig & {\n mode: 'view';\n actions?: {\n primaryActions?: EntityPagePrimaryActions;\n secondaryActions?: EntityPageSecondaryActions;\n moreActions?: EntityPageMoreActions;\n };\n};\n\nexport type EntityPageConfig = EditEntityPageConfig | ViewEntityPageConfig;\n\nexport interface CardLayout {\n type: 'card';\n card: {\n title: {\n text: string;\n };\n subtitle?: {\n text: string;\n };\n children: LayoutContent[];\n };\n}\n\nexport type LayoutContent =\n | FieldContent\n | ContainerContent\n | ComponentItemContent;\n\ninterface FieldContent {\n type: 'field';\n field: {\n span?: number;\n fieldId: string;\n };\n}\n\ninterface ContainerContent {\n type: 'container';\n container: {\n span?: number;\n children: LayoutContent[];\n };\n}\n\ninterface ComponentItemContent {\n type: 'component';\n component: {\n span?: number;\n componentId: string;\n };\n}\n\nexport interface CustomComponentProps {\n entity?: Record<string, any>;\n form?: UseFormReturn<FieldValues, any, undefined>;\n}\n"],"mappings":"","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../../../src/types/actions/actionCell.ts"],"sourcesContent":["import {\n CustomActionModalProps,\n CustomActionParams,\n ResolvedAction,\n} from '../../exports/types';\nimport {\n CustomActionConfig,\n DeleteActionConfig,\n UpdateActionConfig,\n DividerActionConfig,\n} from './base';\n\nexport type ActionCellItemConfig =\n | UpdateActionConfig\n | CustomActionConfig\n | DeleteActionConfig;\n\nexport interface ActionCellPrimaryAction {\n item: ActionCellItemConfig;\n alwaysVisible?: boolean;\n}\n\nexport interface ActionCellSecondaryActions {\n items: (ActionCellItemConfig | DividerActionConfig)[];\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 type CustomActionCellActionParams =\n CustomActionParams<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 CustomActionModalProps,\n CustomActionParams,\n ResolvedAction,\n} from '../../exports/types';\nimport {\n CustomActionConfig,\n DeleteActionConfig,\n UpdateActionConfig,\n DividerActionConfig,\n} from './base';\nimport { IconElement } from '@wix/design-system';\n\nexport type ActionCellItemConfig =\n | UpdateActionConfig\n | CustomActionConfig\n | DeleteActionConfig;\n\nexport interface ActionCellPrimaryAction {\n item: ActionCellItemConfig;\n alwaysVisible?: boolean;\n}\n\nexport interface ActionCellSecondaryActions {\n items: (ActionCellItemConfig | DividerActionConfig)[];\n inlineCount?: number;\n inlineAlwaysVisible?: boolean;\n}\n\nexport interface ActionCellConfig {\n primaryAction?: ActionCellPrimaryAction;\n secondaryActions?: ActionCellSecondaryActions;\n}\n\nexport interface ResolvedActionCellPrimaryAction\n extends Omit<ResolvedAction, 'icon'> {\n prefixIcon?: IconElement;\n suffixIcon?: IconElement;\n}\n\nexport interface ActionCellActionParams {\n item: any;\n}\n\nexport type CustomActionCellActionParams =\n CustomActionParams<ActionCellActionParams>;\n\nexport type CustomActionCellPrimaryActionResolver = (\n params: CustomActionCellActionParams,\n) => ResolvedActionCellPrimaryAction;\n\nexport type CustomActionCellSecondaryActionResolver = (\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/utils/actions/types.ts"],"sourcesContent":["import { ActionCellAPI, CollectionOptimisticActions } from '@wix/patterns';\nimport {\n UpdateActionConfig,\n CustomActionConfig,\n SchemaConfig,\n BulkDeleteActionConfig,\n DeleteActionConfig,\n CreateActionConfig,\n BaseSDK,\n} from '../../types';\nimport { IconElement } from '@wix/design-system';\n\nexport interface ResolvedAction {\n label: string;\n icon: IconElement;\n onClick: () => void;\n disabled?: boolean;\n tooltip?: string;\n skin?: string;\n}\n\nexport interface BaseContextParams {\n schema: SchemaConfig;\n}\n\nexport interface ActionsSDK extends BaseSDK {\n getSchema: (collectionId: string) => SchemaConfig | undefined;\n collectionId: string; // TODO: Why collectionId is needed here? getSchema with internal collectionId is enough\n getOptimisticActions: (\n collectionId: string,\n ) => CollectionOptimisticActions<any, any>;\n}\n\nexport interface BaseActionParams<T = Record<string, any>> {\n sdk: ActionsSDK;\n actionParams: T;\n}\n\nexport interface ActionCellBaseParams extends BaseActionParams {\n actionParams: {\n item: any;\n index: number;\n api: ActionCellAPI<any, any>;\n };\n}\n\nexport interface BulkDeleteActionParams extends BaseActionParams {\n action: BulkDeleteActionConfig;\n actionParams: {\n selectedValues: any[];\n total: number;\n };\n}\n\nexport interface DeleteActionParams extends ActionCellBaseParams {\n action: DeleteActionConfig;\n}\n\nexport interface UpdateActionParams extends BaseActionParams {\n action: UpdateActionConfig;\n}\n\nexport interface CreateActionParams extends BaseActionParams {\n action: CreateActionConfig;\n}\n\nexport interface CustomActionParams<T> extends BaseActionParams<T> {\n action: CustomActionConfig;\n}\n\nexport interface ActionModalProps {\n modalParams: Record<string, any>;\n actionParams: Record<string, any>;\n sdk: ActionsSDK;\n}\n\nexport interface CustomActionModalProps extends ActionModalProps {\n modalParams: { id: string };\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["../../../../src/utils/actions/types.ts"],"sourcesContent":["import { ActionCellAPI, CollectionOptimisticActions } from '@wix/patterns';\nimport {\n UpdateActionConfig,\n CustomActionConfig,\n SchemaConfig,\n BulkDeleteActionConfig,\n DeleteActionConfig,\n CreateActionConfig,\n BaseSDK,\n} from '../../types';\nimport { IconElement } from '@wix/design-system';\n\nexport interface ResolvedAction {\n label: string;\n icon: IconElement;\n onClick: () => void;\n disabled?: boolean;\n hidden?: boolean;\n tooltip?: string;\n skin?: string;\n}\n\nexport interface BaseContextParams {\n schema: SchemaConfig;\n}\n\nexport interface ActionsSDK extends BaseSDK {\n getSchema: (collectionId: string) => SchemaConfig | undefined;\n collectionId: string; // TODO: Why collectionId is needed here? getSchema with internal collectionId is enough\n getOptimisticActions: (\n collectionId: string,\n ) => CollectionOptimisticActions<any, any>;\n}\n\nexport interface BaseActionParams<T = Record<string, any>> {\n sdk: ActionsSDK;\n actionParams: T;\n}\n\nexport interface ActionCellBaseParams extends BaseActionParams {\n actionParams: {\n item: any;\n index: number;\n api: ActionCellAPI<any, any>;\n };\n}\n\nexport interface BulkDeleteActionParams extends BaseActionParams {\n action: BulkDeleteActionConfig;\n actionParams: {\n selectedValues: any[];\n total: number;\n };\n}\n\nexport interface DeleteActionParams extends ActionCellBaseParams {\n action: DeleteActionConfig;\n}\n\nexport interface UpdateActionParams extends BaseActionParams {\n action: UpdateActionConfig;\n}\n\nexport interface CreateActionParams extends BaseActionParams {\n action: CreateActionConfig;\n}\n\nexport interface CustomActionParams<T> extends BaseActionParams<T> {\n action: CustomActionConfig;\n}\n\nexport interface ActionModalProps {\n modalParams: Record<string, any>;\n actionParams: Record<string, any>;\n sdk: ActionsSDK;\n}\n\nexport interface CustomActionModalProps extends ActionModalProps {\n modalParams: { id: string };\n}\n"],"mappings":"","ignoreList":[]}
@@ -109,12 +109,12 @@ Custom actions execute JavaScript code that you define. These actions receive pa
109
109
 
110
110
  2. Create your action handler in `downloadPetDetails.tsx` (note: the filename and function name MUST match your action id):
111
111
  ```typescript
112
- import { CustomActionCellActionResolver } from '@wix/auto-patterns';
112
+ import { CustomActionCellSecondaryActionResolver } from '@wix/auto-patterns';
113
113
  import { Download } from '@wix/wix-ui-icons-common';
114
114
  import React from 'react';
115
115
 
116
116
  // IMPORTANT: Function name MUST match the action id in your configuration
117
- export const downloadPetDetails: CustomActionCellActionResolver = (params) => {
117
+ export const downloadPetDetails: CustomActionCellSecondaryActionResolver = (params) => {
118
118
  const { actionParams, sdk } = params;
119
119
  const { item } = actionParams;
120
120
 
@@ -190,7 +190,7 @@ Custom actions execute JavaScript code that you define. These actions receive pa
190
190
  - The action `id` in the configuration MUST exactly match the function name exported from your actions folder
191
191
  - The function name and file name should follow a consistent naming convention (e.g., camelCase)
192
192
  - The implementation must be exported as a named export (not default export)
193
- - The implementation must use the `CustomActionCellActionResolver` type
193
+ - The implementation must use either `CustomActionCellPrimaryActionResolver` or `CustomActionCellSecondaryActionResolver` type depending on your use case
194
194
 
195
195
  #### Validation Rules for Custom Actions:
196
196
 
@@ -203,9 +203,10 @@ Custom actions execute JavaScript code that you define. These actions receive pa
203
203
  - `label`: Text displayed for the action
204
204
  - `icon`: An Icon component from "@wix/wix-ui-icons-common"
205
205
  - `onClick`: Handler function for the action
206
+ - `hidden` (optional): Boolean to hide the action when true
206
207
 
207
208
  3. The implementation must:
208
- - Use the correct type: `CustomActionCellActionResolver`
209
+ - Use the correct type: `CustomActionCellPrimaryActionResolver` for primary actions (with prefixIcon/suffixIcon) or `CustomActionCellSecondaryActionResolver` for secondary actions (with icon)
209
210
  - Be exported as a named export
210
211
  - Have a filename matching the function name
211
212
 
@@ -1,6 +1,6 @@
1
1
  # AppConfig Structure
2
2
 
3
- ## ⚠️ Configuration Rules
3
+ ## Configuration Rules
4
4
 
5
5
  - **Configuration must come only from a TypeScript file** - never inline or from other sources
6
6
  - **Always use proper TypeScript typing**: `export const config: AppConfig = { ... }`
@@ -8,7 +8,7 @@
8
8
  - **After each configuration change, verify that the configuration strictly aligns with the structure described below** - any configuration entries not defined in this structure must be removed
9
9
  - **When generating config for the first time, select up to 3 columns from the schema that best represent the entity**
10
10
 
11
- ## ⚠️ Common Configuration Mistakes to Avoid
11
+ ## Common Configuration Mistakes to Avoid
12
12
 
13
13
  - Adding more than two pages
14
14
  - Mixing page types in a single configuration
@@ -314,9 +314,13 @@ export interface AppConfig {
314
314
  };
315
315
  title?: {
316
316
  text: string; // Entity page title
317
+ badges?: {
318
+ id?: string; // Optional ID that maps to a dynamic badges override function
319
+ };
317
320
  };
318
321
  subtitle?: {
319
322
  text: string; // Entity page subtitle
323
+ id?: string; // Optional ID that maps to a dynamic subtitle override function
320
324
  };
321
325
  actions?: { // Action configuration varies by mode
322
326
  // Edit mode: only moreActions supported