@wix/auto-patterns 1.12.0 → 1.14.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 (64) hide show
  1. package/dist/cjs/components/AutoPatternsEntityPage/Fields/DateTime.js +0 -1
  2. package/dist/cjs/components/AutoPatternsEntityPage/Fields/DateTime.js.map +1 -1
  3. package/dist/cjs/hooks/useActionCell.js +19 -4
  4. package/dist/cjs/hooks/useActionCell.js.map +1 -1
  5. package/dist/cjs/hooks/useBulkActionToolbar.js +9 -8
  6. package/dist/cjs/hooks/useBulkActionToolbar.js.map +1 -1
  7. package/dist/cjs/hooks/useCollectionPageActions.js +8 -7
  8. package/dist/cjs/hooks/useCollectionPageActions.js.map +1 -1
  9. package/dist/cjs/hooks/useEntityPageMoreActions.js +2 -1
  10. package/dist/cjs/hooks/useEntityPageMoreActions.js.map +1 -1
  11. package/dist/cjs/hooks/useTableGridSwitchFeatures.js +1 -0
  12. package/dist/cjs/hooks/useTableGridSwitchFeatures.js.map +1 -1
  13. package/dist/cjs/types/actions/actionCell.js.map +1 -1
  14. package/dist/cjs/types/actions/base.js.map +1 -1
  15. package/dist/cjs/types/actions/bulkActions.js.map +1 -1
  16. package/dist/cjs/types/actions/collectionPageActions.js.map +1 -1
  17. package/dist/cjs/types/actions/entityPageActions.js.map +1 -1
  18. package/dist/cjs/utils/actions/groupActions.js +29 -0
  19. package/dist/cjs/utils/actions/groupActions.js.map +1 -0
  20. package/dist/cjs/utils/actions/index.js +6 -0
  21. package/dist/cjs/utils/actions/index.js.map +1 -1
  22. package/dist/esm/components/AutoPatternsEntityPage/Fields/DateTime.js +0 -1
  23. package/dist/esm/components/AutoPatternsEntityPage/Fields/DateTime.js.map +1 -1
  24. package/dist/esm/hooks/useActionCell.js +19 -4
  25. package/dist/esm/hooks/useActionCell.js.map +1 -1
  26. package/dist/esm/hooks/useBulkActionToolbar.js +9 -8
  27. package/dist/esm/hooks/useBulkActionToolbar.js.map +1 -1
  28. package/dist/esm/hooks/useCollectionPageActions.js +7 -6
  29. package/dist/esm/hooks/useCollectionPageActions.js.map +1 -1
  30. package/dist/esm/hooks/useEntityPageMoreActions.js +3 -2
  31. package/dist/esm/hooks/useEntityPageMoreActions.js.map +1 -1
  32. package/dist/esm/hooks/useTableGridSwitchFeatures.js +1 -0
  33. package/dist/esm/hooks/useTableGridSwitchFeatures.js.map +1 -1
  34. package/dist/esm/types/actions/actionCell.js.map +1 -1
  35. package/dist/esm/types/actions/base.js.map +1 -1
  36. package/dist/esm/types/actions/bulkActions.js.map +1 -1
  37. package/dist/esm/types/actions/collectionPageActions.js.map +1 -1
  38. package/dist/esm/types/actions/entityPageActions.js.map +1 -1
  39. package/dist/esm/utils/actions/groupActions.js +25 -0
  40. package/dist/esm/utils/actions/groupActions.js.map +1 -0
  41. package/dist/esm/utils/actions/index.js +1 -0
  42. package/dist/esm/utils/actions/index.js.map +1 -1
  43. package/dist/types/components/AutoPatternsEntityPage/Fields/DateTime.d.ts.map +1 -1
  44. package/dist/types/hooks/useActionCell.d.ts.map +1 -1
  45. package/dist/types/hooks/useBulkActionToolbar.d.ts.map +1 -1
  46. package/dist/types/hooks/useCollectionPageActions.d.ts.map +1 -1
  47. package/dist/types/hooks/useEntityPageMoreActions.d.ts.map +1 -1
  48. package/dist/types/hooks/useTableGridSwitchFeatures.d.ts +1 -0
  49. package/dist/types/hooks/useTableGridSwitchFeatures.d.ts.map +1 -1
  50. package/dist/types/types/actions/actionCell.d.ts +2 -2
  51. package/dist/types/types/actions/actionCell.d.ts.map +1 -1
  52. package/dist/types/types/actions/base.d.ts +3 -0
  53. package/dist/types/types/actions/base.d.ts.map +1 -1
  54. package/dist/types/types/actions/bulkActions.d.ts +12 -13
  55. package/dist/types/types/actions/bulkActions.d.ts.map +1 -1
  56. package/dist/types/types/actions/collectionPageActions.d.ts +12 -12
  57. package/dist/types/types/actions/collectionPageActions.d.ts.map +1 -1
  58. package/dist/types/types/actions/entityPageActions.d.ts +2 -3
  59. package/dist/types/types/actions/entityPageActions.d.ts.map +1 -1
  60. package/dist/types/utils/actions/groupActions.d.ts +3 -0
  61. package/dist/types/utils/actions/groupActions.d.ts.map +1 -0
  62. package/dist/types/utils/actions/index.d.ts +1 -0
  63. package/dist/types/utils/actions/index.d.ts.map +1 -1
  64. package/package.json +3 -3
@@ -168,7 +168,6 @@ const DateTime = props => {
168
168
  onChange: ({
169
169
  date: newValue
170
170
  }) => {
171
- debugger;
172
171
  timeRef.current.invalid = false;
173
172
  ref.current.invalid = dateRef.current.invalid || timeRef.current.invalid;
174
173
  if (newValue) {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_designSystem","_patterns","_form","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","DateTime","props","_pageState$entity","_field$validation2","field","dataHook","inputRef","translate","container","useWixPatternsContainer","useSelector","initTask","status","pageState","useEntityPageContext","controller","useController","name","id","control","form","defaultValue","entity","rules","validate","v","_field$validation","validation","required","undefined","date","useMemo","value","d","Date","isNaN","getTime","dateStatusMessage","setDateStatusMessage","useState","timeStatusMessage","setTimeStatusMessage","ref","useRef","dateRef","timeRef","dateValue","setDateValue","getDate","timeValue","setTimeValue","useEffect","current","focus","invalid","createElement","FormField","label","displayName","__self","__source","fileName","lineNumber","columnNumber","Layout","Cell","span","DatePicker","internalRef","_internalRef$state","state","width","onChange","onValidate","validationType","newValue","format","dateWithNewDate","_value","setFullYear","getFullYear","setMonth","getMonth","setDate","toISOString","_field$validation3","dateFormat","fieldState","error","statusMessage","TimeInput","onInvalid","dateWithNewTime","setHours","getHours","setMinutes","getMinutes","setSeconds","getSeconds","setMilliseconds","getMilliseconds","_field$validation4","exports"],"sources":["../../../../../src/components/AutoPatternsEntityPage/Fields/DateTime.tsx"],"sourcesContent":["import React, { useRef, useMemo, useState, useEffect } from 'react';\nimport {\n Cell,\n DatePicker,\n FormField,\n Layout,\n TimeInput,\n} from '@wix/design-system';\nimport { BaseInputProps, BaseInputRef } from './types';\nimport {\n useWixPatternsContainer,\n useSelector,\n useEntityPageContext,\n} from '@wix/patterns';\nimport { useController } from '@wix/patterns/form';\n\nexport interface DateTimeProps extends BaseInputProps<string | null> {}\n\nexport const DateTime = (props: DateTimeProps) => {\n const { field, dataHook, inputRef } = props;\n const { translate: t, ...container } = useWixPatternsContainer();\n useSelector(() => container.initTask.status);\n const pageState = useEntityPageContext();\n\n const controller = useController({\n name: field?.id ?? '',\n control: pageState.form.control,\n defaultValue: (pageState.entity as any)?.[field?.id ?? ''],\n rules: {\n validate: (v) => {\n if (\n field?.validation?.required &&\n (v === null || v === undefined || v === '')\n ) {\n return t('cairo.fieldValidation.requiredField');\n }\n return true;\n },\n },\n });\n\n const date = useMemo(() => {\n if (!controller.field.value) {\n return undefined;\n }\n const d = new Date(controller.field.value);\n return isNaN(d.getTime()) ? undefined : d;\n }, [controller.field.value]);\n\n const [dateStatusMessage, setDateStatusMessage] = useState('');\n const [timeStatusMessage, setTimeStatusMessage] = useState('');\n\n const ref = useRef<BaseInputRef>({});\n const dateRef = useRef<BaseInputRef>({});\n const timeRef = useRef<BaseInputRef>({});\n const [dateValue, setDateValue] = useState<number | string | undefined>(\n date?.getDate(),\n );\n const [timeValue, setTimeValue] = useState<number | string | undefined>(\n date?.getTime(),\n );\n\n useEffect(() => {\n ref.current.focus = () => {\n if (dateRef.current.invalid) {\n return dateRef.current.focus?.();\n }\n\n return timeRef.current.focus?.();\n };\n\n inputRef?.(ref.current);\n }, [inputRef]);\n\n return (\n <FormField\n label={field.displayName}\n required={field.validation?.required}\n dataHook={dataHook}\n >\n <Layout>\n <Cell span={6}>\n <DatePicker\n ref={(internalRef) => {\n dateRef.current.focus = () =>\n // TODO: PR to WSR needed to expose as public API\n // @ts-expect-error\n internalRef?.state?.inputRef?.focus?.();\n }}\n width=\"100%\"\n value={date}\n // onChange is triggered only when you have valid, non-empty value. and onValidate is triggered on every change so we use onValidate\n onChange={() => {}}\n onValidate={({ validationType, value: newValue, format }) => {\n if (validationType === 'valid') {\n const dateWithNewDate = date\n ? new Date(date)\n : new Date(newValue);\n const _value = new Date(newValue);\n dateWithNewDate.setFullYear(_value.getFullYear());\n dateWithNewDate.setMonth(_value.getMonth());\n dateWithNewDate.setDate(_value.getDate());\n controller.field.onChange(dateWithNewDate.toISOString());\n setDateValue(new Date(newValue).getDate());\n setDateStatusMessage('');\n dateRef.current.invalid = false;\n } else if (validationType === 'formatError' && newValue === '') {\n if (field.validation?.required) {\n setDateStatusMessage(\n t('cairo.fieldValidation.requiredField'),\n );\n dateRef.current.invalid = true;\n } else {\n setDateStatusMessage('');\n dateRef.current.invalid = false;\n }\n setDateValue(newValue);\n if (!timeValue) {\n controller.field.onChange(null);\n }\n } else {\n setDateStatusMessage(\n t('cairo.customFields.fieldType.date.invalid.value', {\n dateFormat: format ?? '',\n }),\n );\n dateRef.current.invalid = true;\n }\n\n ref.current.invalid =\n dateRef.current.invalid || timeRef.current.invalid;\n }}\n status={\n controller.fieldState.error || dateStatusMessage\n ? 'error'\n : undefined\n }\n statusMessage={controller.fieldState.error || dateStatusMessage}\n dataHook={`datetime-date-${field.id}`}\n />\n </Cell>\n <Cell span={6}>\n <TimeInput\n ref={(internalRef) => {\n timeRef.current.focus = () => internalRef?.focus();\n }}\n dataHook={`datetime-time-${field.id}`}\n value={date ?? null}\n status={\n controller.fieldState.error || timeStatusMessage\n ? 'error'\n : undefined\n }\n statusMessage={controller.fieldState.error || timeStatusMessage}\n onInvalid={() => {\n timeRef.current.invalid = true;\n setTimeStatusMessage(\n t('cairo.customFields.fieldType.dateAndTime.invalid.value'),\n );\n ref.current.invalid =\n dateRef.current.invalid || timeRef.current.invalid;\n }}\n onChange={({ date: newValue }) => {\n debugger;\n timeRef.current.invalid = false;\n ref.current.invalid =\n dateRef.current.invalid || timeRef.current.invalid;\n\n if (newValue) {\n const dateWithNewTime = date ? new Date(date) : newValue;\n dateWithNewTime.setHours(newValue.getHours());\n dateWithNewTime.setMinutes(newValue.getMinutes());\n dateWithNewTime.setSeconds(newValue.getSeconds());\n dateWithNewTime.setMilliseconds(newValue.getMilliseconds());\n controller.field.onChange(dateWithNewTime.toISOString());\n setTimeStatusMessage('');\n setDateStatusMessage('');\n } else {\n if (!newValue) {\n setTimeValue('');\n if (field.validation?.required) {\n setTimeStatusMessage(\n t('cairo.fieldValidation.requiredField'),\n );\n timeRef.current.invalid = true;\n } else {\n setTimeStatusMessage('');\n timeRef.current.invalid = false;\n }\n if (!ref.current.invalid) {\n if (!dateValue) {\n controller.field.onChange(null);\n }\n }\n }\n }\n }}\n />\n </Cell>\n </Layout>\n </FormField>\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_designSystem","_patterns","_form","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","DateTime","props","_pageState$entity","_field$validation2","field","dataHook","inputRef","translate","container","useWixPatternsContainer","useSelector","initTask","status","pageState","useEntityPageContext","controller","useController","name","id","control","form","defaultValue","entity","rules","validate","v","_field$validation","validation","required","undefined","date","useMemo","value","d","Date","isNaN","getTime","dateStatusMessage","setDateStatusMessage","useState","timeStatusMessage","setTimeStatusMessage","ref","useRef","dateRef","timeRef","dateValue","setDateValue","getDate","timeValue","setTimeValue","useEffect","current","focus","invalid","createElement","FormField","label","displayName","__self","__source","fileName","lineNumber","columnNumber","Layout","Cell","span","DatePicker","internalRef","_internalRef$state","state","width","onChange","onValidate","validationType","newValue","format","dateWithNewDate","_value","setFullYear","getFullYear","setMonth","getMonth","setDate","toISOString","_field$validation3","dateFormat","fieldState","error","statusMessage","TimeInput","onInvalid","dateWithNewTime","setHours","getHours","setMinutes","getMinutes","setSeconds","getSeconds","setMilliseconds","getMilliseconds","_field$validation4","exports"],"sources":["../../../../../src/components/AutoPatternsEntityPage/Fields/DateTime.tsx"],"sourcesContent":["import React, { useRef, useMemo, useState, useEffect } from 'react';\nimport {\n Cell,\n DatePicker,\n FormField,\n Layout,\n TimeInput,\n} from '@wix/design-system';\nimport { BaseInputProps, BaseInputRef } from './types';\nimport {\n useWixPatternsContainer,\n useSelector,\n useEntityPageContext,\n} from '@wix/patterns';\nimport { useController } from '@wix/patterns/form';\n\nexport interface DateTimeProps extends BaseInputProps<string | null> {}\n\nexport const DateTime = (props: DateTimeProps) => {\n const { field, dataHook, inputRef } = props;\n const { translate: t, ...container } = useWixPatternsContainer();\n useSelector(() => container.initTask.status);\n const pageState = useEntityPageContext();\n\n const controller = useController({\n name: field?.id ?? '',\n control: pageState.form.control,\n defaultValue: (pageState.entity as any)?.[field?.id ?? ''],\n rules: {\n validate: (v) => {\n if (\n field?.validation?.required &&\n (v === null || v === undefined || v === '')\n ) {\n return t('cairo.fieldValidation.requiredField');\n }\n return true;\n },\n },\n });\n\n const date = useMemo(() => {\n if (!controller.field.value) {\n return undefined;\n }\n const d = new Date(controller.field.value);\n return isNaN(d.getTime()) ? undefined : d;\n }, [controller.field.value]);\n\n const [dateStatusMessage, setDateStatusMessage] = useState('');\n const [timeStatusMessage, setTimeStatusMessage] = useState('');\n\n const ref = useRef<BaseInputRef>({});\n const dateRef = useRef<BaseInputRef>({});\n const timeRef = useRef<BaseInputRef>({});\n const [dateValue, setDateValue] = useState<number | string | undefined>(\n date?.getDate(),\n );\n const [timeValue, setTimeValue] = useState<number | string | undefined>(\n date?.getTime(),\n );\n\n useEffect(() => {\n ref.current.focus = () => {\n if (dateRef.current.invalid) {\n return dateRef.current.focus?.();\n }\n\n return timeRef.current.focus?.();\n };\n\n inputRef?.(ref.current);\n }, [inputRef]);\n\n return (\n <FormField\n label={field.displayName}\n required={field.validation?.required}\n dataHook={dataHook}\n >\n <Layout>\n <Cell span={6}>\n <DatePicker\n ref={(internalRef) => {\n dateRef.current.focus = () =>\n // TODO: PR to WSR needed to expose as public API\n // @ts-expect-error\n internalRef?.state?.inputRef?.focus?.();\n }}\n width=\"100%\"\n value={date}\n // onChange is triggered only when you have valid, non-empty value. and onValidate is triggered on every change so we use onValidate\n onChange={() => {}}\n onValidate={({ validationType, value: newValue, format }) => {\n if (validationType === 'valid') {\n const dateWithNewDate = date\n ? new Date(date)\n : new Date(newValue);\n const _value = new Date(newValue);\n dateWithNewDate.setFullYear(_value.getFullYear());\n dateWithNewDate.setMonth(_value.getMonth());\n dateWithNewDate.setDate(_value.getDate());\n controller.field.onChange(dateWithNewDate.toISOString());\n setDateValue(new Date(newValue).getDate());\n setDateStatusMessage('');\n dateRef.current.invalid = false;\n } else if (validationType === 'formatError' && newValue === '') {\n if (field.validation?.required) {\n setDateStatusMessage(\n t('cairo.fieldValidation.requiredField'),\n );\n dateRef.current.invalid = true;\n } else {\n setDateStatusMessage('');\n dateRef.current.invalid = false;\n }\n setDateValue(newValue);\n if (!timeValue) {\n controller.field.onChange(null);\n }\n } else {\n setDateStatusMessage(\n t('cairo.customFields.fieldType.date.invalid.value', {\n dateFormat: format ?? '',\n }),\n );\n dateRef.current.invalid = true;\n }\n\n ref.current.invalid =\n dateRef.current.invalid || timeRef.current.invalid;\n }}\n status={\n controller.fieldState.error || dateStatusMessage\n ? 'error'\n : undefined\n }\n statusMessage={controller.fieldState.error || dateStatusMessage}\n dataHook={`datetime-date-${field.id}`}\n />\n </Cell>\n <Cell span={6}>\n <TimeInput\n ref={(internalRef) => {\n timeRef.current.focus = () => internalRef?.focus();\n }}\n dataHook={`datetime-time-${field.id}`}\n value={date ?? null}\n status={\n controller.fieldState.error || timeStatusMessage\n ? 'error'\n : undefined\n }\n statusMessage={controller.fieldState.error || timeStatusMessage}\n onInvalid={() => {\n timeRef.current.invalid = true;\n setTimeStatusMessage(\n t('cairo.customFields.fieldType.dateAndTime.invalid.value'),\n );\n ref.current.invalid =\n dateRef.current.invalid || timeRef.current.invalid;\n }}\n onChange={({ date: newValue }) => {\n timeRef.current.invalid = false;\n ref.current.invalid =\n dateRef.current.invalid || timeRef.current.invalid;\n\n if (newValue) {\n const dateWithNewTime = date ? new Date(date) : newValue;\n dateWithNewTime.setHours(newValue.getHours());\n dateWithNewTime.setMinutes(newValue.getMinutes());\n dateWithNewTime.setSeconds(newValue.getSeconds());\n dateWithNewTime.setMilliseconds(newValue.getMilliseconds());\n controller.field.onChange(dateWithNewTime.toISOString());\n setTimeStatusMessage('');\n setDateStatusMessage('');\n } else {\n if (!newValue) {\n setTimeValue('');\n if (field.validation?.required) {\n setTimeStatusMessage(\n t('cairo.fieldValidation.requiredField'),\n );\n timeRef.current.invalid = true;\n } else {\n setTimeStatusMessage('');\n timeRef.current.invalid = false;\n }\n if (!ref.current.invalid) {\n if (!dateValue) {\n controller.field.onChange(null);\n }\n }\n }\n }\n }}\n />\n </Cell>\n </Layout>\n </FormField>\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -5,6 +5,13 @@ exports.useActionCell = void 0;
5
5
  var _react = require("react");
6
6
  var _useActionsSDK = require("./useActionsSDK");
7
7
  var _actions = require("../utils/actions");
8
+ const cleanupActionsWithDividers = (actions, inlineCount) => {
9
+ const clean = a => a.filter((x, i, ar) => {
10
+ var _ar;
11
+ return (x == null ? void 0 : x.divider) !== true || i > 0 && i < ar.length - 1 && ((_ar = ar[i - 1]) == null ? void 0 : _ar.divider) !== true;
12
+ });
13
+ return !(actions != null && actions.length) || !inlineCount || inlineCount >= actions.length ? clean(actions || []) : [...clean(actions.slice(0, inlineCount)), ...clean(actions.slice(inlineCount))];
14
+ };
8
15
  const useActionCell = ({
9
16
  config,
10
17
  collectionId
@@ -13,8 +20,13 @@ const useActionCell = ({
13
20
  collectionId
14
21
  });
15
22
  const buildCellActions = (0, _react.useCallback)((item, index, api) => {
16
- var _config$primaryAction, _config$secondaryActi, _config$secondaryActi2, _config$secondaryActi3;
23
+ var _config$primaryAction, _config$secondaryActi, _config$secondaryActi2, _config$secondaryActi3, _config$secondaryActi4;
17
24
  const buildAction = actionConfig => {
25
+ if (actionConfig.type === 'divider') {
26
+ return {
27
+ divider: true
28
+ };
29
+ }
18
30
  let actionToResolve = null;
19
31
  const baseParams = {
20
32
  actionParams: {
@@ -68,9 +80,12 @@ const useActionCell = ({
68
80
  };
69
81
  };
70
82
  const primaryAction = config != null && (_config$primaryAction = config.primaryAction) != null && _config$primaryAction.item ? buildAction(config.primaryAction.item) : undefined;
71
- const secondaryActions = config != null && (_config$secondaryActi = config.secondaryActions) != null && _config$secondaryActi.items.length ? config.secondaryActions.items.map(buildAction).filter(Boolean) : [];
72
- const numOfVisibleSecondaryActions = config == null || (_config$secondaryActi2 = config.secondaryActions) == null ? void 0 : _config$secondaryActi2.inlineCount;
73
- const alwaysShowSecondaryActions = config == null || (_config$secondaryActi3 = config.secondaryActions) == null ? void 0 : _config$secondaryActi3.inlineAlwaysVisible;
83
+ const rawSecondaryActions = config != null && (_config$secondaryActi = config.secondaryActions) != null && _config$secondaryActi.items.length ? config.secondaryActions.items.map(buildAction).filter(Boolean) : [];
84
+
85
+ // Process secondary actions with inline count consideration
86
+ const secondaryActions = cleanupActionsWithDividers(rawSecondaryActions, config == null || (_config$secondaryActi2 = config.secondaryActions) == null ? void 0 : _config$secondaryActi2.inlineCount);
87
+ const numOfVisibleSecondaryActions = config == null || (_config$secondaryActi3 = config.secondaryActions) == null ? void 0 : _config$secondaryActi3.inlineCount;
88
+ const alwaysShowSecondaryActions = config == null || (_config$secondaryActi4 = config.secondaryActions) == null ? void 0 : _config$secondaryActi4.inlineAlwaysVisible;
74
89
  if (!primaryAction && !secondaryActions.length) {
75
90
  return {};
76
91
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_useActionsSDK","_actions","useActionCell","config","collectionId","sdk","useActionsSDK","buildCellActions","useCallback","item","index","api","_config$primaryAction","_config$secondaryActi","_config$secondaryActi2","_config$secondaryActi3","buildAction","actionConfig","actionToResolve","baseParams","actionParams","type","updateAction","action","deleteAction","customModalAction","customAction","resolvedAction","resolveAction","label","tooltip","resolvedActionProps","text","disabledDescription","primaryAction","undefined","secondaryActions","items","length","map","filter","Boolean","numOfVisibleSecondaryActions","inlineCount","alwaysShowSecondaryActions","inlineAlwaysVisible","exports"],"sources":["../../../src/hooks/useActionCell.ts"],"sourcesContent":["import { useCallback } from 'react';\nimport {\n ActionCellConfig,\n ActionCellItemConfig,\n ResolvedAction,\n} from '../types';\nimport { useActionsSDK } from './useActionsSDK';\nimport {\n updateAction,\n customModalAction,\n customAction,\n resolveAction,\n deleteAction,\n} from '../utils/actions';\n\nexport interface useActionCellParams {\n config?: ActionCellConfig;\n collectionId: string;\n}\n\nexport const useActionCell = ({\n config,\n collectionId,\n}: useActionCellParams) => {\n const sdk = useActionsSDK({\n collectionId,\n });\n\n const buildCellActions = useCallback(\n (item, index, api) => {\n const buildAction = (actionConfig: ActionCellItemConfig) => {\n let actionToResolve: Partial<ResolvedAction> | null = null;\n\n const baseParams = {\n actionParams: { item, index, api },\n sdk,\n };\n\n switch (actionConfig.type) {\n case 'update':\n actionToResolve = updateAction({\n action: actionConfig,\n ...baseParams,\n });\n break;\n\n case 'delete':\n actionToResolve = deleteAction({\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 { label, tooltip, ...resolvedActionProps } = resolvedAction;\n\n return {\n ...resolvedActionProps,\n text: resolvedAction.label,\n disabledDescription: resolvedAction.tooltip,\n };\n };\n\n const primaryAction = config?.primaryAction?.item\n ? buildAction(config.primaryAction.item)\n : undefined;\n\n const secondaryActions = config?.secondaryActions?.items.length\n ? config.secondaryActions.items.map(buildAction).filter(Boolean)\n : [];\n\n const numOfVisibleSecondaryActions =\n config?.secondaryActions?.inlineCount;\n const alwaysShowSecondaryActions =\n config?.secondaryActions?.inlineAlwaysVisible;\n\n if (!primaryAction && !secondaryActions.length) {\n return {};\n }\n\n return {\n ...(primaryAction ? { primaryAction } : { primaryAction: undefined }),\n ...(secondaryActions.length && { secondaryActions }),\n numOfVisibleSecondaryActions,\n alwaysShowSecondaryActions,\n };\n },\n [config, sdk],\n );\n\n return buildCellActions;\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_useActionsSDK","_actions","cleanupActionsWithDividers","actions","inlineCount","clean","a","filter","x","i","ar","_ar","divider","length","slice","useActionCell","config","collectionId","sdk","useActionsSDK","buildCellActions","useCallback","item","index","api","_config$primaryAction","_config$secondaryActi","_config$secondaryActi2","_config$secondaryActi3","_config$secondaryActi4","buildAction","actionConfig","type","actionToResolve","baseParams","actionParams","updateAction","action","deleteAction","customModalAction","customAction","resolvedAction","resolveAction","label","tooltip","resolvedActionProps","text","disabledDescription","primaryAction","undefined","rawSecondaryActions","secondaryActions","items","map","Boolean","numOfVisibleSecondaryActions","alwaysShowSecondaryActions","inlineAlwaysVisible","exports"],"sources":["../../../src/hooks/useActionCell.ts"],"sourcesContent":["import { useCallback } from 'react';\nimport {\n ActionCellConfig,\n ActionCellItemConfig,\n ResolvedAction,\n} from '../types';\nimport { useActionsSDK } from './useActionsSDK';\nimport {\n updateAction,\n customModalAction,\n customAction,\n resolveAction,\n deleteAction,\n} from '../utils/actions';\nimport { DividerActionConfig } from '../types/actions/base';\n\nexport interface useActionCellParams {\n config?: ActionCellConfig;\n collectionId: string;\n}\n\nconst cleanupActionsWithDividers = (\n actions: any[],\n inlineCount?: number,\n): any[] => {\n const clean = (a: any[]) =>\n a.filter(\n (x, i, ar) =>\n x?.divider !== true ||\n (i > 0 && i < ar.length - 1 && ar[i - 1]?.divider !== true)\n );\n return !actions?.length || !inlineCount || inlineCount >= actions.length\n ? clean(actions || [])\n : [\n ...clean(actions.slice(0, inlineCount)),\n ...clean(actions.slice(inlineCount)),\n ];\n};\n\nexport const useActionCell = ({\n config,\n collectionId,\n}: useActionCellParams) => {\n const sdk = useActionsSDK({\n collectionId,\n });\n\n const buildCellActions = useCallback(\n (item, index, api) => {\n const buildAction = (\n actionConfig: ActionCellItemConfig | DividerActionConfig,\n ) => {\n if (actionConfig.type === 'divider') {\n return { divider: true };\n }\n\n let actionToResolve: Partial<ResolvedAction> | null = null;\n\n const baseParams = {\n actionParams: { item, index, api },\n sdk,\n };\n\n switch (actionConfig.type) {\n case 'update':\n actionToResolve = updateAction({\n action: actionConfig,\n ...baseParams,\n });\n break;\n\n case 'delete':\n actionToResolve = deleteAction({\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 { label, tooltip, ...resolvedActionProps } = resolvedAction;\n\n return {\n ...resolvedActionProps,\n text: resolvedAction.label,\n disabledDescription: resolvedAction.tooltip,\n };\n };\n\n const primaryAction = config?.primaryAction?.item\n ? buildAction(config.primaryAction.item)\n : undefined;\n\n const rawSecondaryActions = config?.secondaryActions?.items.length\n ? config.secondaryActions.items.map(buildAction).filter(Boolean)\n : [];\n\n // Process secondary actions with inline count consideration\n const secondaryActions = cleanupActionsWithDividers(\n rawSecondaryActions,\n config?.secondaryActions?.inlineCount,\n );\n\n const numOfVisibleSecondaryActions =\n config?.secondaryActions?.inlineCount;\n const alwaysShowSecondaryActions =\n config?.secondaryActions?.inlineAlwaysVisible;\n\n if (!primaryAction && !secondaryActions.length) {\n return {};\n }\n\n return {\n ...(primaryAction ? { primaryAction } : { primaryAction: undefined }),\n ...(secondaryActions.length && { secondaryActions }),\n numOfVisibleSecondaryActions,\n alwaysShowSecondaryActions,\n };\n },\n [config, sdk],\n );\n\n return buildCellActions;\n};\n"],"mappings":"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","ignoreList":[]}
@@ -64,17 +64,18 @@ const useBulkActionToolbar = ({
64
64
  return [];
65
65
  }
66
66
  return config.primaryActions.map((primaryItem, index) => {
67
- if (primaryItem.type === 'single') {
68
- return buildAction(primaryItem.single.item);
67
+ if (primaryItem.type === 'action') {
68
+ return buildAction(primaryItem.action.item);
69
69
  }
70
- if (primaryItem.type === 'multi') {
71
- const subItems = primaryItem.multi.items.map(buildAction).filter(action => Boolean(action));
70
+ if (primaryItem.type === 'menu') {
71
+ const actionGroups = (0, _actions.groupActions)(primaryItem.menu.items);
72
+ const subItems = actionGroups.map(group => group.map(buildAction).filter(action => Boolean(action))).filter(group => group.length > 0);
72
73
  if (subItems.length === 0) {
73
74
  return null;
74
75
  }
75
76
  return {
76
- label: primaryItem.multi.label,
77
- subItems: [subItems],
77
+ label: primaryItem.menu.label,
78
+ subItems,
78
79
  dataHook: `bulk-multi-action-${index}`
79
80
  };
80
81
  }
@@ -82,14 +83,14 @@ const useBulkActionToolbar = ({
82
83
  }).filter(action => Boolean(action));
83
84
  };
84
85
  const primaryActionItems = buildPrimaryActions();
85
- const secondaryActionItems = ((config == null ? void 0 : config.secondaryActions) || []).map(sectionItems => sectionItems.map(a => buildAction(a)).filter(action => Boolean(action)));
86
+ const secondaryActionItems = config != null && config.secondaryActions ? (0, _actions.groupActions)(config.secondaryActions).map(group => group.map(buildAction).filter(action => Boolean(action))).filter(group => group.length > 0) : [];
86
87
  return /*#__PURE__*/_react.default.createElement(_patterns.MultiBulkActionToolbar, {
87
88
  primaryActionItems: primaryActionItems,
88
89
  secondaryActionItems: secondaryActionItems,
89
90
  __self: void 0,
90
91
  __source: {
91
92
  fileName: _jsxFileName,
92
- lineNumber: 130,
93
+ lineNumber: 142,
93
94
  columnNumber: 9
94
95
  }
95
96
  });
@@ -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","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":[]}
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","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 customModalAction,\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 '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 === '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":[]}
@@ -67,16 +67,17 @@ const useCollectionPageActions = ({
67
67
  };
68
68
  };
69
69
  const handleActionsType = actions => {
70
- if (actions.type === 'single') {
71
- return buildAction(actions.single.item);
70
+ if (actions.type === 'action') {
71
+ return buildAction(actions.action.item);
72
72
  }
73
- if (actions.type === 'multi') {
74
- const subItems = actions.multi.items.map(buildAction).filter(action => action !== null);
73
+ if (actions.type === 'menu') {
74
+ const actionGroups = (0, _actions.groupActions)(actions.menu.items);
75
+ const subItems = actionGroups.map(group => group.map(buildAction).filter(action => action !== null)).filter(group => group.length > 0);
75
76
  if (!subItems.length) {
76
77
  return null;
77
78
  }
78
79
  return {
79
- label: actions.multi.label,
80
+ label: actions.menu.label,
80
81
  subItems
81
82
  };
82
83
  }
@@ -92,7 +93,7 @@ const useCollectionPageActions = ({
92
93
  __self: void 0,
93
94
  __source: {
94
95
  fileName: _jsxFileName,
95
- lineNumber: 123,
96
+ lineNumber: 128,
96
97
  columnNumber: 9
97
98
  }
98
99
  })) : undefined,
@@ -100,7 +101,7 @@ const useCollectionPageActions = ({
100
101
  __self: void 0,
101
102
  __source: {
102
103
  fileName: _jsxFileName,
103
- lineNumber: 126,
104
+ lineNumber: 131,
104
105
  columnNumber: 9
105
106
  }
106
107
  })) : undefined
@@ -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","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":"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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","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 customModalAction,\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 '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 === '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":[]}
@@ -39,7 +39,8 @@ function useEntityPageMoreActions(moreActions, entity, sdk, form) {
39
39
  disabled: resolved.disabled
40
40
  };
41
41
  };
42
- return moreActions.map(group => group.map(buildAction).filter(Boolean));
42
+ const actionGroups = (0, _actions.groupActions)(moreActions);
43
+ return actionGroups.map(group => group.map(buildAction).filter(action => Boolean(action))).filter(group => group.length > 0);
43
44
  }, [moreActions, sdk, entity, form]);
44
45
  return buildEntityPageActions() ?? [];
45
46
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_actions","require","_react","useEntityPageMoreActions","moreActions","entity","sdk","form","buildEntityPageActions","useCallback","buildAction","actionConfig","actionToResolve","baseParams","actionParams","type","customAction","action","resolved","resolveAction","onClick","text","label","prefixIcon","icon","disabled","map","group","filter","Boolean"],"sources":["../../../src/hooks/useEntityPageMoreActions.ts"],"sourcesContent":["import { ActionsSDK, ResolvedAction } from '../types';\nimport {\n EntityPageMoreActions,\n EntityPageActionConfig,\n} from '../types/actions';\nimport { customAction, resolveAction } from '../utils/actions';\nimport { useCallback } from 'react';\nimport { MoreActionsItem } from '@wix/patterns';\nimport { FieldValues, UseFormReturn } from '@wix/patterns/form';\n\nexport function useEntityPageMoreActions(\n moreActions: EntityPageMoreActions | 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: EntityPageActionConfig,\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 '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 return (moreActions as EntityPageActionConfig[][]).map((group) =>\n group.map(buildAction).filter(Boolean),\n ) as MoreActionsItem[][];\n }, [moreActions, sdk, entity, form]);\n\n return buildEntityPageActions() ?? [];\n}\n"],"mappings":";;;;AAKA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAIO,SAASE,wBAAwBA,CACtCC,WAA8C,EAC9CC,MAA2B,EAC3BC,GAAe,EACfC,IAAgD,EAChD;EACA,MAAMC,sBAAsB,GAAG,IAAAC,kBAAW,EAAC,MAAM;IAC/C,IAAI,CAACL,WAAW,EAAE;MAChB;IACF;IAEA,MAAMM,WAAW,GACfC,YAAoC,IACT;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;UACL,CAAC,CAAC;UACF;QACF;UACE,OAAO,IAAI;MACf;MAEA,IAAI,CAACD,eAAe,EAAE;QACpB,OAAO,IAAI;MACb;MAEA,MAAMM,QAAQ,GAAG,IAAAC,sBAAa,EAC5BR,YAAY,EACZC,eACF,CAAmB;MAEnB,OAAO;QACLQ,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,OAAQrB,WAAW,CAAgCsB,GAAG,CAAEC,KAAK,IAC3DA,KAAK,CAACD,GAAG,CAAChB,WAAW,CAAC,CAACkB,MAAM,CAACC,OAAO,CACvC,CAAC;EACH,CAAC,EAAE,CAACzB,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","customAction","action","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 { EntityPageMoreActions } from '../types/actions';\nimport { customAction, resolveAction, groupActions } from '../utils/actions';\nimport { useCallback } from 'react';\nimport { MoreActionsItem } from '@wix/patterns';\nimport { FieldValues, UseFormReturn } from '@wix/patterns/form';\nimport { CustomActionConfig } from '../types/actions/base';\n\nexport function useEntityPageMoreActions(\n moreActions: EntityPageMoreActions | 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,\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 '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":";;;;AAEA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAKO,SAASE,wBAAwBA,CACtCC,WAA8C,EAC9CC,MAA2B,EAC3BC,GAAe,EACfC,IAAgD,EAChD;EACA,MAAMC,sBAAsB,GAAG,IAAAC,kBAAW,EAAC,MAAM;IAC/C,IAAI,CAACL,WAAW,EAAE;MAChB;IACF;IAEA,MAAMM,WAAW,GACfC,YAAgC,IACL;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;UACL,CAAC,CAAC;UACF;QACF;UACE,OAAO,IAAI;MACf;MAEA,IAAI,CAACD,eAAe,EAAE;QACpB,OAAO,IAAI;MACb;MAEA,MAAMM,QAAQ,GAAG,IAAAC,sBAAa,EAC5BR,YAAY,EACZC,eACF,CAAmB;MAEnB,OAAO;QACLQ,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,EAACvB,WAAW,CAAC;IAC9C,OAAOsB,YAAY,CAChBE,GAAG,CAAEC,KAAK,IACTA,KAAK,CACFD,GAAG,CAAClB,WAAW,CAAC,CAChBoB,MAAM,CAAEb,MAAM,IAAgCc,OAAO,CAACd,MAAM,CAAC,CAClE,CAAC,CACAa,MAAM,CAAED,KAAK,IAAKA,KAAK,CAACG,MAAM,GAAG,CAAC,CAAC;EACxC,CAAC,EAAE,CAAC5B,WAAW,EAAEE,GAAG,EAAED,MAAM,EAAEE,IAAI,CAAC,CAAC;EAEpC,OAAOC,sBAAsB,CAAC,CAAC,IAAI,EAAE;AACvC","ignoreList":[]}
@@ -75,6 +75,7 @@ const useTableGridSwitchFeatures = config => {
75
75
  onRowClick,
76
76
  stickyColumns,
77
77
  stickySelectionColumn,
78
+ horizontalScroll: true,
78
79
  // Grid specific features
79
80
  imagePlacement,
80
81
  preset,
@@ -1 +1 @@
1
- {"version":3,"names":["_useFetchData","require","_patterns","_useCommonCollectionFeatures","_useFilters","_SchemaContext","_useAutoPatternsOptimisticActions","_useBaseGridFeatures","_useBaseTableFeatures","useTableGridSwitchFeatures","config","schema","useSchema","collectionId","limit","reflectQueryInUrl","selectAllScope","selectionUpdateMode","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","persistQueryToUrl","disableAutoSelectAllCount","selectionConsistencyMode","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 reflectQueryInUrl,\n selectAllScope,\n selectionUpdateMode,\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: reflectQueryInUrl,\n disableAutoSelectAllCount: selectAllScope === 'page',\n selectionConsistencyMode: selectionUpdateMode,\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,cAAc;IACdC;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;IACL4C,iBAAiB,EAAE3C,iBAAiB;IACpC4C,yBAAyB,EAAE3C,cAAc,KAAK,MAAM;IACpD4C,wBAAwB,EAAE3C;EAC5B,CAAC,CAAC;EAEF,MAAM4C,iBAAiB,GAAG,IAAAC,kEAAgC,EACxDjD,YAAY,EACZgC,KAAK,CAAC3B,UACR,CAAC;EAED,MAAM6C,cAAc,GAAG,IAAAC,wDAA2B,EAAC;IACjD,GAAGtD,MAAM;IACTmD;EACF,CAAC,CAAC;EAEF,OAAO;IACL,GAAGE,cAAc;IACjBlB,KAAK;IACLb,OAAO,EAAEC,YAAY;IACrBV,OAAO,EAAEJ,eAAe;IACxB0C,iBAAiB;IACjB/B,aAAa;IACbI,UAAU;IACVC,aAAa;IACbC,qBAAqB;IACrB;IACAX,cAAc;IACdD,MAAM;IACNI;EACF,CAAC;AACH,CAAC;AAACqC,OAAA,CAAAxD,0BAAA,GAAAA,0BAAA","ignoreList":[]}
1
+ {"version":3,"names":["_useFetchData","require","_patterns","_useCommonCollectionFeatures","_useFilters","_SchemaContext","_useAutoPatternsOptimisticActions","_useBaseGridFeatures","_useBaseTableFeatures","useTableGridSwitchFeatures","config","schema","useSchema","collectionId","limit","reflectQueryInUrl","selectAllScope","selectionUpdateMode","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","persistQueryToUrl","disableAutoSelectAllCount","selectionConsistencyMode","optimisticActions","useAutoPatternsOptimisticActions","commonFeatures","useCommonCollectionFeatures","horizontalScroll","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 reflectQueryInUrl,\n selectAllScope,\n selectionUpdateMode,\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: reflectQueryInUrl,\n disableAutoSelectAllCount: selectAllScope === 'page',\n selectionConsistencyMode: selectionUpdateMode,\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 horizontalScroll: true,\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,cAAc;IACdC;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;IACL4C,iBAAiB,EAAE3C,iBAAiB;IACpC4C,yBAAyB,EAAE3C,cAAc,KAAK,MAAM;IACpD4C,wBAAwB,EAAE3C;EAC5B,CAAC,CAAC;EAEF,MAAM4C,iBAAiB,GAAG,IAAAC,kEAAgC,EACxDjD,YAAY,EACZgC,KAAK,CAAC3B,UACR,CAAC;EAED,MAAM6C,cAAc,GAAG,IAAAC,wDAA2B,EAAC;IACjD,GAAGtD,MAAM;IACTmD;EACF,CAAC,CAAC;EAEF,OAAO;IACL,GAAGE,cAAc;IACjBlB,KAAK;IACLb,OAAO,EAAEC,YAAY;IACrBV,OAAO,EAAEJ,eAAe;IACxB0C,iBAAiB;IACjB/B,aAAa;IACbI,UAAU;IACVC,aAAa;IACbC,qBAAqB;IACrB6B,gBAAgB,EAAE,IAAI;IACtB;IACAxC,cAAc;IACdD,MAAM;IACNI;EACF,CAAC;AACH,CAAC;AAACsC,OAAA,CAAAzD,0BAAA,GAAAA,0BAAA","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 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 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 CustomModalActionConfig,\n DeleteActionConfig,\n UpdateActionConfig,\n DividerActionConfig,\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 | 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 +1 @@
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":[]}
1
+ {"version":3,"names":[],"sources":["../../../../src/types/actions/base.ts"],"sourcesContent":["export type DividerActionConfig = { type: 'divider' };\n\nexport 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":[]}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../../../src/types/actions/bulkActions.ts"],"sourcesContent":["import {\n BaseActionParams,\n CustomActionModalProps,\n ResolvedAction,\n} from '../../exports/types';\nimport {\n BulkDeleteActionConfig,\n CustomActionConfig,\n CustomModalActionConfig,\n} from './base';\n\nexport type BulkActionItemConfig =\n | BulkDeleteActionConfig\n | CustomModalActionConfig\n | CustomActionConfig;\n\ntype BulkActionSingleItem = {\n type: 'single';\n single: {\n item: BulkActionItemConfig;\n };\n};\n\ntype BulkActionMultiItem = {\n type: 'multi';\n multi: {\n label: string;\n items: BulkActionItemConfig[];\n };\n};\n\nexport type BulkActionSectionItem = BulkActionItemConfig[];\n\nexport type BulkActionPrimaryItem = BulkActionSingleItem | BulkActionMultiItem;\nexport type BulkActionSecondaryItem = BulkActionSectionItem;\n\nexport interface BulkActionsConfig {\n primaryActions?: BulkActionPrimaryItem[];\n secondaryActions?: BulkActionSecondaryItem[];\n}\n\nexport interface BulkActionsActionParams {\n selectedValues: any[];\n total: number;\n}\n\nexport interface CustomBulkActionsActionParams extends BaseActionParams {\n actionParams: BulkActionsActionParams;\n}\nexport type CustomBulkActionsActionResolver = (\n params: CustomBulkActionsActionParams,\n) => ResolvedAction;\n\nexport interface CustomBulkActionsActionModalProps\n extends CustomActionModalProps {\n actionParams: BulkActionsActionParams;\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["../../../../src/types/actions/bulkActions.ts"],"sourcesContent":["import {\n BaseActionParams,\n CustomActionModalProps,\n ResolvedAction,\n} from '../../exports/types';\nimport {\n BulkDeleteActionConfig,\n CustomActionConfig,\n CustomModalActionConfig,\n DividerActionConfig,\n} from './base';\n\nexport type BulkActionItemConfig =\n | BulkDeleteActionConfig\n | CustomModalActionConfig\n | CustomActionConfig;\n\ntype BulkActionItem = {\n type: 'action';\n action: {\n item: BulkActionItemConfig;\n };\n menu?: never;\n};\n\ntype BulkActionMenu = {\n type: 'menu';\n menu: {\n label: string;\n items: (BulkActionItemConfig | DividerActionConfig)[];\n };\n action?: never;\n};\n\nexport interface BulkActionsConfig {\n primaryActions?: (BulkActionItem | BulkActionMenu)[];\n secondaryActions?: (BulkActionItemConfig | DividerActionConfig)[];\n}\n\nexport interface BulkActionsActionParams {\n selectedValues: any[];\n total: number;\n}\n\nexport interface CustomBulkActionsActionParams extends BaseActionParams {\n actionParams: BulkActionsActionParams;\n}\nexport type CustomBulkActionsActionResolver = (\n params: CustomBulkActionsActionParams,\n) => ResolvedAction;\n\nexport interface CustomBulkActionsActionModalProps\n extends CustomActionModalProps {\n actionParams: BulkActionsActionParams;\n}\n"],"mappings":"","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../../../src/types/actions/collectionPageActions.ts"],"sourcesContent":["import {\n CustomActionModalProps,\n CustomActionParams,\n ResolvedAction,\n} from '../../exports/types';\nimport {\n CreateActionConfig,\n CustomActionConfig,\n CustomModalActionConfig,\n} from './base';\n\nexport type CollectionPageActionConfig = (\n | CreateActionConfig\n | CustomModalActionConfig\n | CustomActionConfig\n) & {\n collection: {\n collectionId: string;\n entityTypeSource: 'cms';\n };\n};\n\ntype CollectionPageSingleAction = {\n type: 'single';\n single: {\n item: CollectionPageActionConfig;\n };\n multi?: never;\n};\n\ntype CollectionPageMultiAction = {\n type: 'multi';\n multi: {\n label: string;\n items: CollectionPageActionConfig[];\n };\n single?: never;\n};\n\nexport type CollectionPagePrimaryActions =\n | CollectionPageSingleAction\n | CollectionPageMultiAction;\n\nexport type CollectionPageSecondaryActions =\n | CollectionPageSingleAction\n | CollectionPageMultiAction;\n\nexport interface CollectionPageActionParams {\n collectionId: string;\n}\n\nexport type CustomActionCollectionPageActionParams =\n CustomActionParams<CollectionPageActionParams>;\n\nexport type CustomActionCollectionPageActionResolver = (\n params: CustomActionCollectionPageActionParams,\n) => ResolvedAction;\n\nexport interface CustomActionCollectionPageActionModalProps\n extends CustomActionModalProps {\n actionParams: CollectionPageActionParams;\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["../../../../src/types/actions/collectionPageActions.ts"],"sourcesContent":["import {\n CustomActionModalProps,\n CustomActionParams,\n ResolvedAction,\n} from '../../exports/types';\nimport {\n CreateActionConfig,\n CustomActionConfig,\n CustomModalActionConfig,\n DividerActionConfig,\n} from './base';\n\nexport type CollectionPageActionConfig = (\n | CreateActionConfig\n | CustomModalActionConfig\n | CustomActionConfig\n) & {\n collection: {\n collectionId: string;\n entityTypeSource: 'cms';\n };\n};\n\ntype CollectionPageAction = {\n type: 'action';\n action: {\n item: CollectionPageActionConfig;\n };\n menu?: never;\n};\n\ntype CollectionPageMenu = {\n type: 'menu';\n menu: {\n label: string;\n items: (CollectionPageActionConfig | DividerActionConfig)[];\n };\n action?: never;\n};\n\nexport type CollectionPagePrimaryActions =\n | CollectionPageAction\n | CollectionPageMenu;\n\nexport type CollectionPageSecondaryActions =\n | CollectionPageAction\n | CollectionPageMenu;\n\nexport interface CollectionPageActionParams {\n collectionId: string;\n}\n\nexport type CustomActionCollectionPageActionParams =\n CustomActionParams<CollectionPageActionParams>;\n\nexport type CustomActionCollectionPageActionResolver = (\n params: CustomActionCollectionPageActionParams,\n) => ResolvedAction;\n\nexport interface CustomActionCollectionPageActionModalProps\n extends CustomActionModalProps {\n actionParams: CollectionPageActionParams;\n}\n"],"mappings":"","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../../../src/types/actions/entityPageActions.ts"],"sourcesContent":["import { FieldValues, UseFormReturn } from '@wix/patterns/form';\nimport { CustomActionParams, ResolvedAction } from '../..';\nimport { CustomActionConfig } from './base';\n\nexport type EntityPageActionConfig = CustomActionConfig;\n\nexport type EntityPageMoreActions = EntityPageActionConfig[][];\n\nexport interface EntityPageMoreActionsActionParams {\n entity: any;\n form: UseFormReturn<FieldValues, any, undefined>;\n}\n\nexport type CustomEntityPageMoreActionsActionParams =\n CustomActionParams<EntityPageMoreActionsActionParams>;\n\nexport type CustomEntityPageMoreActionsActionResolver = (\n params: CustomEntityPageMoreActionsActionParams,\n) => ResolvedAction;\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["../../../../src/types/actions/entityPageActions.ts"],"sourcesContent":["import { FieldValues, UseFormReturn } from '@wix/patterns/form';\nimport { CustomActionParams, ResolvedAction } from '../..';\nimport { CustomActionConfig, DividerActionConfig } from './base';\n\nexport type EntityPageMoreActions = (\n | CustomActionConfig\n | DividerActionConfig\n)[];\n\nexport interface EntityPageMoreActionsActionParams {\n entity: any;\n form: UseFormReturn<FieldValues, any, undefined>;\n}\n\nexport type CustomEntityPageMoreActionsActionParams =\n CustomActionParams<EntityPageMoreActionsActionParams>;\n\nexport type CustomEntityPageMoreActionsActionResolver = (\n params: CustomEntityPageMoreActionsActionParams,\n) => ResolvedAction;\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.groupActions = groupActions;
5
+ function isDivider(item) {
6
+ return item.type === 'divider';
7
+ }
8
+ function groupActions(actions) {
9
+ if (!actions || actions.length === 0) {
10
+ return [];
11
+ }
12
+ const groups = [];
13
+ let currentGroup = [];
14
+ for (const item of actions) {
15
+ if (isDivider(item)) {
16
+ if (currentGroup.length > 0) {
17
+ groups.push(currentGroup);
18
+ currentGroup = [];
19
+ }
20
+ } else {
21
+ currentGroup.push(item);
22
+ }
23
+ }
24
+ if (currentGroup.length > 0) {
25
+ groups.push(currentGroup);
26
+ }
27
+ return groups;
28
+ }
29
+ //# sourceMappingURL=groupActions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["isDivider","item","type","groupActions","actions","length","groups","currentGroup","push"],"sources":["../../../../src/utils/actions/groupActions.ts"],"sourcesContent":["import { DividerActionConfig } from '../../types/actions/base';\n\nfunction isDivider<T>(\n item: T | DividerActionConfig,\n): item is DividerActionConfig {\n return (item as DividerActionConfig).type === 'divider';\n}\n\nexport function groupActions<T>(actions: (T | DividerActionConfig)[]): T[][] {\n if (!actions || actions.length === 0) {\n return [];\n }\n\n const groups: T[][] = [];\n let currentGroup: T[] = [];\n\n for (const item of actions) {\n if (isDivider(item)) {\n if (currentGroup.length > 0) {\n groups.push(currentGroup);\n currentGroup = [];\n }\n } else {\n currentGroup.push(item as T);\n }\n }\n\n if (currentGroup.length > 0) {\n groups.push(currentGroup);\n }\n\n return groups;\n}\n"],"mappings":";;;;AAEA,SAASA,SAASA,CAChBC,IAA6B,EACA;EAC7B,OAAQA,IAAI,CAAyBC,IAAI,KAAK,SAAS;AACzD;AAEO,SAASC,YAAYA,CAAIC,OAAoC,EAAS;EAC3E,IAAI,CAACA,OAAO,IAAIA,OAAO,CAACC,MAAM,KAAK,CAAC,EAAE;IACpC,OAAO,EAAE;EACX;EAEA,MAAMC,MAAa,GAAG,EAAE;EACxB,IAAIC,YAAiB,GAAG,EAAE;EAE1B,KAAK,MAAMN,IAAI,IAAIG,OAAO,EAAE;IAC1B,IAAIJ,SAAS,CAACC,IAAI,CAAC,EAAE;MACnB,IAAIM,YAAY,CAACF,MAAM,GAAG,CAAC,EAAE;QAC3BC,MAAM,CAACE,IAAI,CAACD,YAAY,CAAC;QACzBA,YAAY,GAAG,EAAE;MACnB;IACF,CAAC,MAAM;MACLA,YAAY,CAACC,IAAI,CAACP,IAAS,CAAC;IAC9B;EACF;EAEA,IAAIM,YAAY,CAACF,MAAM,GAAG,CAAC,EAAE;IAC3BC,MAAM,CAACE,IAAI,CAACD,YAAY,CAAC;EAC3B;EAEA,OAAOD,MAAM;AACf","ignoreList":[]}
@@ -43,4 +43,10 @@ Object.keys(_createAction).forEach(function (key) {
43
43
  if (key in exports && exports[key] === _createAction[key]) return;
44
44
  exports[key] = _createAction[key];
45
45
  });
46
+ var _groupActions = require("./groupActions");
47
+ Object.keys(_groupActions).forEach(function (key) {
48
+ if (key === "default" || key === "__esModule") return;
49
+ if (key in exports && exports[key] === _groupActions[key]) return;
50
+ exports[key] = _groupActions[key];
51
+ });
46
52
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_resolveAction","require","Object","keys","forEach","key","exports","_bulkDeleteAction","_updateAction","_deleteAction","_customAction","_customModalAction","_createAction"],"sources":["../../../../src/utils/actions/index.ts"],"sourcesContent":["export * from './resolveAction';\nexport * from './bulkDeleteAction';\nexport * from './updateAction';\nexport * from './deleteAction';\nexport * from './customAction';\nexport * from './customModalAction';\nexport * from './customAction';\nexport * from './createAction';\n"],"mappings":";;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,cAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,cAAA,CAAAK,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAL,cAAA,CAAAK,GAAA;AAAA;AACA,IAAAE,iBAAA,GAAAN,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAI,iBAAA,EAAAH,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAE,iBAAA,CAAAF,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAE,iBAAA,CAAAF,GAAA;AAAA;AACA,IAAAG,aAAA,GAAAP,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAK,aAAA,EAAAJ,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAG,aAAA,CAAAH,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAG,aAAA,CAAAH,GAAA;AAAA;AACA,IAAAI,aAAA,GAAAR,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAM,aAAA,EAAAL,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAI,aAAA,CAAAJ,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAI,aAAA,CAAAJ,GAAA;AAAA;AACA,IAAAK,aAAA,GAAAT,OAAA;AAEAC,MAAA,CAAAC,IAAA,CAAAO,aAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,aAAA,CAAAL,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAK,aAAA,CAAAL,GAAA;AAAA;AADA,IAAAM,kBAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,kBAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,kBAAA,CAAAN,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAM,kBAAA,CAAAN,GAAA;AAAA;AAEA,IAAAO,aAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,aAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,aAAA,CAAAP,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAO,aAAA,CAAAP,GAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["_resolveAction","require","Object","keys","forEach","key","exports","_bulkDeleteAction","_updateAction","_deleteAction","_customAction","_customModalAction","_createAction","_groupActions"],"sources":["../../../../src/utils/actions/index.ts"],"sourcesContent":["export * from './resolveAction';\nexport * from './bulkDeleteAction';\nexport * from './updateAction';\nexport * from './deleteAction';\nexport * from './customAction';\nexport * from './customModalAction';\nexport * from './customAction';\nexport * from './createAction';\nexport * from './groupActions';\n"],"mappings":";;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,cAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,cAAA,CAAAK,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAL,cAAA,CAAAK,GAAA;AAAA;AACA,IAAAE,iBAAA,GAAAN,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAI,iBAAA,EAAAH,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAE,iBAAA,CAAAF,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAE,iBAAA,CAAAF,GAAA;AAAA;AACA,IAAAG,aAAA,GAAAP,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAK,aAAA,EAAAJ,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAG,aAAA,CAAAH,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAG,aAAA,CAAAH,GAAA;AAAA;AACA,IAAAI,aAAA,GAAAR,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAM,aAAA,EAAAL,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAI,aAAA,CAAAJ,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAI,aAAA,CAAAJ,GAAA;AAAA;AACA,IAAAK,aAAA,GAAAT,OAAA;AAEAC,MAAA,CAAAC,IAAA,CAAAO,aAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,aAAA,CAAAL,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAK,aAAA,CAAAL,GAAA;AAAA;AADA,IAAAM,kBAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,kBAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,kBAAA,CAAAN,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAM,kBAAA,CAAAN,GAAA;AAAA;AAEA,IAAAO,aAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,aAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,aAAA,CAAAP,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAO,aAAA,CAAAP,GAAA;AAAA;AACA,IAAAQ,aAAA,GAAAZ,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAU,aAAA,EAAAT,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAQ,aAAA,CAAAR,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAQ,aAAA,CAAAR,GAAA;AAAA","ignoreList":[]}
@@ -132,7 +132,6 @@ export const DateTime = props => {
132
132
  let {
133
133
  date: newValue
134
134
  } = _ref2;
135
- debugger;
136
135
  timeRef.current.invalid = false;
137
136
  ref.current.invalid = dateRef.current.invalid || timeRef.current.invalid;
138
137
  if (newValue) {