@payloadcms/ui 3.6.1-canary.ca44922 → 3.7.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 (40) hide show
  1. package/dist/exports/client/index.js +10 -10
  2. package/dist/exports/client/index.js.map +4 -4
  3. package/dist/fields/Array/ArrayRow.d.ts +1 -0
  4. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  5. package/dist/fields/Array/ArrayRow.js +41 -36
  6. package/dist/fields/Array/ArrayRow.js.map +1 -1
  7. package/dist/fields/Array/index.d.ts.map +1 -1
  8. package/dist/fields/Array/index.js +3 -1
  9. package/dist/fields/Array/index.js.map +1 -1
  10. package/dist/fields/Blocks/BlockRow.d.ts +1 -0
  11. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  12. package/dist/fields/Blocks/BlockRow.js +45 -40
  13. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  14. package/dist/fields/Blocks/index.d.ts.map +1 -1
  15. package/dist/fields/Blocks/index.js +3 -1
  16. package/dist/fields/Blocks/index.js.map +1 -1
  17. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  18. package/dist/forms/Form/fieldReducer.js +2 -1
  19. package/dist/forms/Form/fieldReducer.js.map +1 -1
  20. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  21. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +12 -20
  22. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  23. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts.map +1 -1
  24. package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
  25. package/dist/forms/useField/index.d.ts.map +1 -1
  26. package/dist/forms/useField/index.js +0 -5
  27. package/dist/forms/useField/index.js.map +1 -1
  28. package/dist/forms/withCondition/WatchCondition.d.ts +1 -1
  29. package/dist/forms/withCondition/WatchCondition.d.ts.map +1 -1
  30. package/dist/forms/withCondition/WatchCondition.js +2 -14
  31. package/dist/forms/withCondition/WatchCondition.js.map +1 -1
  32. package/dist/hooks/useThrottledValue.d.ts +8 -0
  33. package/dist/hooks/useThrottledValue.d.ts.map +1 -0
  34. package/dist/hooks/useThrottledValue.js +21 -0
  35. package/dist/hooks/useThrottledValue.js.map +1 -0
  36. package/dist/styles.css +1 -1
  37. package/dist/views/Edit/Auth/index.d.ts.map +1 -1
  38. package/dist/views/Edit/Auth/index.js +0 -3
  39. package/dist/views/Edit/Auth/index.js.map +1 -1
  40. package/package.json +5 -5
@@ -10,6 +10,7 @@ type ArrayRowProps = {
10
10
  readonly fields: ClientField[];
11
11
  readonly forceRender?: boolean;
12
12
  readonly hasMaxRows?: boolean;
13
+ readonly isLoading?: boolean;
13
14
  readonly isSortable?: boolean;
14
15
  readonly labels: Partial<ArrayField['labels']>;
15
16
  readonly moveRow: (fromIndex: number, toIndex: number) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"ArrayRow.d.ts","sourceRoot":"","sources":["../../../src/fields/Array/ArrayRow.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAGtF,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,gEAAgE,CAAA;AAShH,OAAO,cAAc,CAAA;AAIrB,KAAK,aAAa,GAAG;IACnB,QAAQ,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAC3D,QAAQ,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACzC,QAAQ,CAAC,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACjD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,CAAA;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC9C,QAAQ,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9D,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,WAAW,EAAE,yBAAyB,CAAA;IAC/C,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9C,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAA;IACjB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,KAAK,IAAI,CAAA;CAClE,GAAG,0BAA0B,CAAA;AAE9B,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CA8G5C,CAAA"}
1
+ {"version":3,"file":"ArrayRow.d.ts","sourceRoot":"","sources":["../../../src/fields/Array/ArrayRow.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAGtF,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,gEAAgE,CAAA;AAUhH,OAAO,cAAc,CAAA;AAKrB,KAAK,aAAa,GAAG;IACnB,QAAQ,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAC3D,QAAQ,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACzC,QAAQ,CAAC,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACjD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,CAAA;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC9C,QAAQ,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9D,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,WAAW,EAAE,yBAAyB,CAAA;IAC/C,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9C,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAA;IACjB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,KAAK,IAAI,CAAA;CAClE,GAAG,0BAA0B,CAAA;AAE9B,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAqH5C,CAAA"}
@@ -7,14 +7,16 @@ import React from 'react';
7
7
  import { ArrayAction } from '../../elements/ArrayAction/index.js';
8
8
  import { Collapsible } from '../../elements/Collapsible/index.js';
9
9
  import { ErrorPill } from '../../elements/ErrorPill/index.js';
10
+ import { ShimmerEffect } from '../../elements/ShimmerEffect/index.js';
10
11
  import { useFormSubmitted } from '../../forms/Form/context.js';
11
12
  import { RenderFields } from '../../forms/RenderFields/index.js';
12
13
  import { RowLabel } from '../../forms/RowLabel/index.js';
13
- import { useTranslation } from '../../providers/Translation/index.js';
14
+ import { useThrottledValue } from '../../hooks/useThrottledValue.js';
14
15
  import './index.scss';
16
+ import { useTranslation } from '../../providers/Translation/index.js';
15
17
  const baseClass = 'array-field';
16
18
  export const ArrayRow = t0 => {
17
- const $ = _c(41);
19
+ const $ = _c(42);
18
20
  const {
19
21
  addRow,
20
22
  attributes,
@@ -25,6 +27,7 @@ export const ArrayRow = t0 => {
25
27
  forceRender: t1,
26
28
  hasMaxRows,
27
29
  isDragging,
30
+ isLoading: isLoadingFromProps,
28
31
  isSortable,
29
32
  labels,
30
33
  listeners,
@@ -44,6 +47,7 @@ export const ArrayRow = t0 => {
44
47
  transition
45
48
  } = t0;
46
49
  const forceRender = t1 === undefined ? false : t1;
50
+ const isLoading = useThrottledValue(isLoadingFromProps, 500);
47
51
  const {
48
52
  i18n
49
53
  } = useTranslation();
@@ -63,29 +67,29 @@ export const ArrayRow = t0 => {
63
67
  const t4 = `${parentPath.split(".").join("-")}-row-${rowIndex}`;
64
68
  const t5 = isDragging ? 1 : undefined;
65
69
  let t6;
66
- if ($[2] !== CustomRowLabel || $[3] !== addRow || $[4] !== attributes || $[5] !== classNames || $[6] !== duplicateRow || $[7] !== errorCount || $[8] !== fallbackLabel || $[9] !== fieldHasErrors || $[10] !== fields || $[11] !== forceRender || $[12] !== hasMaxRows || $[13] !== i18n || $[14] !== isSortable || $[15] !== listeners || $[16] !== moveRow || $[17] !== parentPath || $[18] !== path || $[19] !== permissions || $[20] !== readOnly || $[21] !== removeRow || $[22] !== row.collapsed || $[23] !== row.id || $[24] !== rowCount || $[25] !== rowIndex || $[26] !== schemaPath || $[27] !== setCollapse || $[28] !== setNodeRef || $[29] !== t4 || $[30] !== t5 || $[31] !== transform || $[32] !== transition) {
70
+ if ($[2] !== CustomRowLabel || $[3] !== addRow || $[4] !== attributes || $[5] !== classNames || $[6] !== duplicateRow || $[7] !== errorCount || $[8] !== fallbackLabel || $[9] !== fieldHasErrors || $[10] !== fields || $[11] !== forceRender || $[12] !== hasMaxRows || $[13] !== i18n || $[14] !== isLoading || $[15] !== isSortable || $[16] !== listeners || $[17] !== moveRow || $[18] !== parentPath || $[19] !== path || $[20] !== permissions || $[21] !== readOnly || $[22] !== removeRow || $[23] !== row.collapsed || $[24] !== row.id || $[25] !== rowCount || $[26] !== rowIndex || $[27] !== schemaPath || $[28] !== setCollapse || $[29] !== setNodeRef || $[30] !== t4 || $[31] !== t5 || $[32] !== transform || $[33] !== transition) {
67
71
  let t7;
68
- if ($[34] !== errorCount || $[35] !== fieldHasErrors || $[36] !== i18n) {
72
+ if ($[35] !== errorCount || $[36] !== fieldHasErrors || $[37] !== i18n) {
69
73
  t7 = fieldHasErrors && _jsx(ErrorPill, {
70
74
  count: errorCount,
71
75
  i18n,
72
76
  withMessage: true
73
77
  });
74
- $[34] = errorCount;
75
- $[35] = fieldHasErrors;
76
- $[36] = i18n;
77
- $[37] = t7;
78
+ $[35] = errorCount;
79
+ $[36] = fieldHasErrors;
80
+ $[37] = i18n;
81
+ $[38] = t7;
78
82
  } else {
79
- t7 = $[37];
83
+ t7 = $[38];
80
84
  }
81
85
  let t8;
82
- if ($[38] !== row.id || $[39] !== setCollapse) {
86
+ if ($[39] !== row.id || $[40] !== setCollapse) {
83
87
  t8 = collapsed => setCollapse(row.id, collapsed);
84
- $[38] = row.id;
85
- $[39] = setCollapse;
86
- $[40] = t8;
88
+ $[39] = row.id;
89
+ $[40] = setCollapse;
90
+ $[41] = t8;
87
91
  } else {
88
- t8 = $[40];
92
+ t8 = $[41];
89
93
  }
90
94
  t6 = _jsx("div", {
91
95
  id: t4,
@@ -124,7 +128,7 @@ export const ArrayRow = t0 => {
124
128
  }),
125
129
  isCollapsed: row.collapsed,
126
130
  onToggle: t8,
127
- children: _jsx(RenderFields, {
131
+ children: isLoading ? _jsx(ShimmerEffect, {}) : _jsx(RenderFields, {
128
132
  className: `${baseClass}__fields`,
129
133
  fields,
130
134
  forceRender,
@@ -149,28 +153,29 @@ export const ArrayRow = t0 => {
149
153
  $[11] = forceRender;
150
154
  $[12] = hasMaxRows;
151
155
  $[13] = i18n;
152
- $[14] = isSortable;
153
- $[15] = listeners;
154
- $[16] = moveRow;
155
- $[17] = parentPath;
156
- $[18] = path;
157
- $[19] = permissions;
158
- $[20] = readOnly;
159
- $[21] = removeRow;
160
- $[22] = row.collapsed;
161
- $[23] = row.id;
162
- $[24] = rowCount;
163
- $[25] = rowIndex;
164
- $[26] = schemaPath;
165
- $[27] = setCollapse;
166
- $[28] = setNodeRef;
167
- $[29] = t4;
168
- $[30] = t5;
169
- $[31] = transform;
170
- $[32] = transition;
171
- $[33] = t6;
156
+ $[14] = isLoading;
157
+ $[15] = isSortable;
158
+ $[16] = listeners;
159
+ $[17] = moveRow;
160
+ $[18] = parentPath;
161
+ $[19] = path;
162
+ $[20] = permissions;
163
+ $[21] = readOnly;
164
+ $[22] = removeRow;
165
+ $[23] = row.collapsed;
166
+ $[24] = row.id;
167
+ $[25] = rowCount;
168
+ $[26] = rowIndex;
169
+ $[27] = schemaPath;
170
+ $[28] = setCollapse;
171
+ $[29] = setNodeRef;
172
+ $[30] = t4;
173
+ $[31] = t5;
174
+ $[32] = transform;
175
+ $[33] = transition;
176
+ $[34] = t6;
172
177
  } else {
173
- t6 = $[33];
178
+ t6 = $[34];
174
179
  }
175
180
  return t6;
176
181
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ArrayRow.js","names":["c","_c","getTranslation","React","ArrayAction","Collapsible","ErrorPill","useFormSubmitted","RenderFields","RowLabel","useTranslation","baseClass","ArrayRow","t0","$","addRow","attributes","CustomRowLabel","duplicateRow","errorCount","fields","forceRender","t1","hasMaxRows","isDragging","isSortable","labels","listeners","moveRow","parentPath","path","permissions","readOnly","removeRow","row","rowCount","rowIndex","schemaPath","setCollapse","setNodeRef","transform","transition","undefined","i18n","hasSubmitted","fallbackLabel","singular","String","padStart","fieldHasErrors","t2","t3","filter","Boolean","classNames","join","t4","split","t5","t6","collapsed","id","t7","_jsx","count","withMessage","t8","ref","style","zIndex","children","actions","index","className","collapsibleStyle","dragHandleProps","header","_jsxs","CustomComponent","label","rowNumber","onToggle","margins","parentIndexPath","parentSchemaPath"],"sources":["../../../src/fields/Array/ArrayRow.tsx"],"sourcesContent":["'use client'\nimport type { ArrayField, ClientField, Row, SanitizedFieldPermissions } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport type { UseDraggableSortableReturn } from '../../elements/DraggableSortable/useDraggableSortable/types.js'\n\nimport { ArrayAction } from '../../elements/ArrayAction/index.js'\nimport { Collapsible } from '../../elements/Collapsible/index.js'\nimport { ErrorPill } from '../../elements/ErrorPill/index.js'\nimport { useFormSubmitted } from '../../forms/Form/context.js'\nimport { RenderFields } from '../../forms/RenderFields/index.js'\nimport { RowLabel } from '../../forms/RowLabel/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'array-field'\n\ntype ArrayRowProps = {\n readonly addRow: (rowIndex: number) => Promise<void> | void\n readonly CustomRowLabel?: React.ReactNode\n readonly duplicateRow: (rowIndex: number) => void\n readonly errorCount: number\n readonly fields: ClientField[]\n readonly forceRender?: boolean\n readonly hasMaxRows?: boolean\n readonly isSortable?: boolean\n readonly labels: Partial<ArrayField['labels']>\n readonly moveRow: (fromIndex: number, toIndex: number) => void\n readonly parentPath: string\n readonly path: string\n readonly permissions: SanitizedFieldPermissions\n readonly readOnly?: boolean\n readonly removeRow: (rowIndex: number) => void\n readonly row: Row\n readonly rowCount: number\n readonly rowIndex: number\n readonly schemaPath: string\n readonly setCollapse: (rowID: string, collapsed: boolean) => void\n} & UseDraggableSortableReturn\n\nexport const ArrayRow: React.FC<ArrayRowProps> = ({\n addRow,\n attributes,\n CustomRowLabel,\n duplicateRow,\n errorCount,\n fields,\n forceRender = false,\n hasMaxRows,\n isDragging,\n isSortable,\n labels,\n listeners,\n moveRow,\n parentPath,\n path,\n permissions,\n readOnly,\n removeRow,\n row,\n rowCount,\n rowIndex,\n schemaPath,\n setCollapse,\n setNodeRef,\n transform,\n transition,\n}) => {\n const { i18n } = useTranslation()\n const hasSubmitted = useFormSubmitted()\n\n const fallbackLabel = `${getTranslation(labels.singular, i18n)} ${String(rowIndex + 1).padStart(\n 2,\n '0',\n )}`\n\n const fieldHasErrors = errorCount > 0 && hasSubmitted\n\n const classNames = [\n `${baseClass}__row`,\n fieldHasErrors ? `${baseClass}__row--has-errors` : `${baseClass}__row--no-errors`,\n ]\n .filter(Boolean)\n .join(' ')\n\n return (\n <div\n id={`${parentPath.split('.').join('-')}-row-${rowIndex}`}\n key={`${parentPath}-row-${row.id}`}\n ref={setNodeRef}\n style={{\n transform,\n transition,\n zIndex: isDragging ? 1 : undefined,\n }}\n >\n <Collapsible\n actions={\n !readOnly ? (\n <ArrayAction\n addRow={addRow}\n duplicateRow={duplicateRow}\n hasMaxRows={hasMaxRows}\n index={rowIndex}\n isSortable={isSortable}\n moveRow={moveRow}\n removeRow={removeRow}\n rowCount={rowCount}\n />\n ) : undefined\n }\n className={classNames}\n collapsibleStyle={fieldHasErrors ? 'error' : 'default'}\n dragHandleProps={\n isSortable\n ? {\n id: row.id,\n attributes,\n listeners,\n }\n : undefined\n }\n header={\n <div className={`${baseClass}__row-header`}>\n <RowLabel\n CustomComponent={CustomRowLabel}\n label={fallbackLabel}\n path={path}\n rowNumber={rowIndex}\n />\n {fieldHasErrors && <ErrorPill count={errorCount} i18n={i18n} withMessage />}\n </div>\n }\n isCollapsed={row.collapsed}\n onToggle={(collapsed) => setCollapse(row.id, collapsed)}\n >\n <RenderFields\n className={`${baseClass}__fields`}\n fields={fields}\n forceRender={forceRender}\n margins=\"small\"\n parentIndexPath=\"\"\n parentPath={path}\n parentSchemaPath={schemaPath}\n permissions={permissions === true ? permissions : permissions?.fields}\n readOnly={readOnly}\n />\n </Collapsible>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ArrayRow.js","names":["c","_c","getTranslation","React","ArrayAction","Collapsible","ErrorPill","ShimmerEffect","useFormSubmitted","RenderFields","RowLabel","useThrottledValue","useTranslation","baseClass","ArrayRow","t0","$","addRow","attributes","CustomRowLabel","duplicateRow","errorCount","fields","forceRender","t1","hasMaxRows","isDragging","isLoading","isLoadingFromProps","isSortable","labels","listeners","moveRow","parentPath","path","permissions","readOnly","removeRow","row","rowCount","rowIndex","schemaPath","setCollapse","setNodeRef","transform","transition","undefined","i18n","hasSubmitted","fallbackLabel","singular","String","padStart","fieldHasErrors","t2","t3","filter","Boolean","classNames","join","t4","split","t5","t6","collapsed","id","t7","_jsx","count","withMessage","t8","ref","style","zIndex","children","actions","index","className","collapsibleStyle","dragHandleProps","header","_jsxs","CustomComponent","label","rowNumber","onToggle","margins","parentIndexPath","parentSchemaPath"],"sources":["../../../src/fields/Array/ArrayRow.tsx"],"sourcesContent":["'use client'\nimport type { ArrayField, ClientField, Row, SanitizedFieldPermissions } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport type { UseDraggableSortableReturn } from '../../elements/DraggableSortable/useDraggableSortable/types.js'\n\nimport { ArrayAction } from '../../elements/ArrayAction/index.js'\nimport { Collapsible } from '../../elements/Collapsible/index.js'\nimport { ErrorPill } from '../../elements/ErrorPill/index.js'\nimport { ShimmerEffect } from '../../elements/ShimmerEffect/index.js'\nimport { useFormSubmitted } from '../../forms/Form/context.js'\nimport { RenderFields } from '../../forms/RenderFields/index.js'\nimport { RowLabel } from '../../forms/RowLabel/index.js'\nimport { useThrottledValue } from '../../hooks/useThrottledValue.js'\nimport './index.scss'\nimport { useTranslation } from '../../providers/Translation/index.js'\n\nconst baseClass = 'array-field'\n\ntype ArrayRowProps = {\n readonly addRow: (rowIndex: number) => Promise<void> | void\n readonly CustomRowLabel?: React.ReactNode\n readonly duplicateRow: (rowIndex: number) => void\n readonly errorCount: number\n readonly fields: ClientField[]\n readonly forceRender?: boolean\n readonly hasMaxRows?: boolean\n readonly isLoading?: boolean\n readonly isSortable?: boolean\n readonly labels: Partial<ArrayField['labels']>\n readonly moveRow: (fromIndex: number, toIndex: number) => void\n readonly parentPath: string\n readonly path: string\n readonly permissions: SanitizedFieldPermissions\n readonly readOnly?: boolean\n readonly removeRow: (rowIndex: number) => void\n readonly row: Row\n readonly rowCount: number\n readonly rowIndex: number\n readonly schemaPath: string\n readonly setCollapse: (rowID: string, collapsed: boolean) => void\n} & UseDraggableSortableReturn\n\nexport const ArrayRow: React.FC<ArrayRowProps> = ({\n addRow,\n attributes,\n CustomRowLabel,\n duplicateRow,\n errorCount,\n fields,\n forceRender = false,\n hasMaxRows,\n isDragging,\n isLoading: isLoadingFromProps,\n isSortable,\n labels,\n listeners,\n moveRow,\n parentPath,\n path,\n permissions,\n readOnly,\n removeRow,\n row,\n rowCount,\n rowIndex,\n schemaPath,\n setCollapse,\n setNodeRef,\n transform,\n transition,\n}) => {\n const isLoading = useThrottledValue(isLoadingFromProps, 500)\n\n const { i18n } = useTranslation()\n const hasSubmitted = useFormSubmitted()\n\n const fallbackLabel = `${getTranslation(labels.singular, i18n)} ${String(rowIndex + 1).padStart(\n 2,\n '0',\n )}`\n\n const fieldHasErrors = errorCount > 0 && hasSubmitted\n\n const classNames = [\n `${baseClass}__row`,\n fieldHasErrors ? `${baseClass}__row--has-errors` : `${baseClass}__row--no-errors`,\n ]\n .filter(Boolean)\n .join(' ')\n\n return (\n <div\n id={`${parentPath.split('.').join('-')}-row-${rowIndex}`}\n key={`${parentPath}-row-${row.id}`}\n ref={setNodeRef}\n style={{\n transform,\n transition,\n zIndex: isDragging ? 1 : undefined,\n }}\n >\n <Collapsible\n actions={\n !readOnly ? (\n <ArrayAction\n addRow={addRow}\n duplicateRow={duplicateRow}\n hasMaxRows={hasMaxRows}\n index={rowIndex}\n isSortable={isSortable}\n moveRow={moveRow}\n removeRow={removeRow}\n rowCount={rowCount}\n />\n ) : undefined\n }\n className={classNames}\n collapsibleStyle={fieldHasErrors ? 'error' : 'default'}\n dragHandleProps={\n isSortable\n ? {\n id: row.id,\n attributes,\n listeners,\n }\n : undefined\n }\n header={\n <div className={`${baseClass}__row-header`}>\n <RowLabel\n CustomComponent={CustomRowLabel}\n label={fallbackLabel}\n path={path}\n rowNumber={rowIndex}\n />\n {fieldHasErrors && <ErrorPill count={errorCount} i18n={i18n} withMessage />}\n </div>\n }\n isCollapsed={row.collapsed}\n onToggle={(collapsed) => setCollapse(row.id, collapsed)}\n >\n {isLoading ? (\n <ShimmerEffect />\n ) : (\n <RenderFields\n className={`${baseClass}__fields`}\n fields={fields}\n forceRender={forceRender}\n margins=\"small\"\n parentIndexPath=\"\"\n parentPath={path}\n parentSchemaPath={schemaPath}\n permissions={permissions === true ? permissions : permissions?.fields}\n readOnly={readOnly}\n />\n )}\n </Collapsible>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Array/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,yBAAyB,EAG1B,MAAM,SAAS,CAAA;AAGhB,OAAO,KAAsB,MAAM,OAAO,CAAA;AAuB1C,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,mBAAmB,EAAE,yBAgUjC,CAAA;AAED,eAAO,MAAM,UAAU;;;;+EAAqC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Array/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,yBAAyB,EAG1B,MAAM,SAAS,CAAA;AAGhB,OAAO,KAAsB,MAAM,OAAO,CAAA;AAuB1C,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,mBAAmB,EAAE,yBAiUjC,CAAA;AAED,eAAO,MAAM,UAAU;;;;+EAAqC,CAAA"}
@@ -441,7 +441,8 @@ export const ArrayFieldComponent = props => {
441
441
  },
442
442
  children: [rowsData.map((rowData, i) => {
443
443
  const {
444
- id: rowID_0
444
+ id: rowID_0,
445
+ isLoading
445
446
  } = rowData;
446
447
  const rowPath = `${path}.${i}`;
447
448
  const rowErrorCount = errorPaths?.filter(errorPath => errorPath.startsWith(rowPath + ".")).length;
@@ -457,6 +458,7 @@ export const ArrayFieldComponent = props => {
457
458
  fields,
458
459
  forceRender,
459
460
  hasMaxRows,
461
+ isLoading,
460
462
  isSortable,
461
463
  labels,
462
464
  moveRow,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","getTranslation","React","useCallback","Banner","Button","DraggableSortableItem","DraggableSortable","ErrorPill","RenderCustomComponent","FieldDescription","FieldError","FieldLabel","useForm","useFormSubmitted","extractRowsAndCollapsedIDs","toggleAllRows","NullifyLocaleField","useField","withCondition","useConfig","useDocumentInfo","useLocale","useTranslation","scrollToID","fieldBaseClass","ArrayRow","baseClass","ArrayFieldComponent","props","$","field","t0","forceRender","t1","path","permissions","readOnly","schemaPath","schemaPathFromProps","validate","name","admin","t2","fields","label","localized","maxRows","minRows","minRowsProp","required","t3","undefined","className","description","isSortable","t4","setDocFieldPreferences","addFieldRow","dispatchFields","setModified","submitted","code","locale","i18n","t","config","t5","localization","t6","bb0","fallback","defaultLocale","editingDefaultLocale","t7","p","labels","plural","singular","getLabels","t8","value","options","memoizedValidate","t9","hasRows","customComponents","t10","errorPaths","rows","t11","showError","valid","value_0","t12","AfterInput","BeforeInput","Description","Error","Label","RowLabels","t13","rowsData","t14","rowIndex","setTimeout","addRow","t15","rowIndex_0","type","duplicateRow","t16","rowIndex_1","removeRow","t17","moveFromIndex","moveToIndex","moveRow","t18","collapsed","collapsedIDs","updatedRows","toggleCollapseAll","t19","rowID","collapsed_0","collapsedIDs_0","updatedRows_0","setCollapse","hasMaxRows","length","fieldErrorCount","fieldHasErrors","showRequired","showMinRows","t20","t21","filter","Boolean","t22","_jsx","CustomComponent","Fallback","t23","count","withMessage","_jsxs","join","id","replace","children","as","onClick","fieldValue","ids","map","_temp","onDragEnd","t24","moveFromIndex_0","moveToIndex_0","rowData","i","rowID_0","rowPath","rowErrorCount","errorPath","startsWith","disabled","draggableSortableItemProps","CustomRowLabel","errorCount","parentPath","row","rowCount","Fragment","buttonStyle","icon","iconPosition","iconStyle","ArrayField"],"sources":["../../../src/fields/Array/index.tsx"],"sourcesContent":["'use client'\nimport type {\n ArrayFieldClientComponent,\n ArrayFieldClientProps,\n ArrayField as ArrayFieldType,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback } from 'react'\n\nimport { Banner } from '../../elements/Banner/index.js'\nimport { Button } from '../../elements/Button/index.js'\nimport { DraggableSortableItem } from '../../elements/DraggableSortable/DraggableSortableItem/index.js'\nimport { DraggableSortable } from '../../elements/DraggableSortable/index.js'\nimport { ErrorPill } from '../../elements/ErrorPill/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { FieldDescription } from '../../fields/FieldDescription/index.js'\nimport { FieldError } from '../../fields/FieldError/index.js'\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { useForm, useFormSubmitted } from '../../forms/Form/context.js'\nimport { extractRowsAndCollapsedIDs, toggleAllRows } from '../../forms/Form/rowHelpers.js'\nimport { NullifyLocaleField } from '../../forms/NullifyField/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { scrollToID } from '../../utilities/scrollToID.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { ArrayRow } from './ArrayRow.js'\nimport './index.scss'\n\nconst baseClass = 'array-field'\n\nexport const ArrayFieldComponent: ArrayFieldClientComponent = (props) => {\n const {\n field: {\n name,\n admin: { className, description, isSortable = true } = {},\n fields,\n label,\n localized,\n maxRows,\n minRows: minRowsProp,\n required,\n },\n forceRender = false,\n path,\n permissions,\n readOnly,\n schemaPath: schemaPathFromProps,\n validate,\n } = props\n\n const schemaPath = schemaPathFromProps ?? name\n\n const minRows = (minRowsProp ?? required) ? 1 : 0\n\n const { setDocFieldPreferences } = useDocumentInfo()\n const { addFieldRow, dispatchFields, setModified } = useForm()\n const submitted = useFormSubmitted()\n const { code: locale } = useLocale()\n const { i18n, t } = useTranslation()\n\n const {\n config: { localization },\n } = useConfig()\n\n const editingDefaultLocale = (() => {\n if (localization && localization.fallback) {\n const defaultLocale = localization.defaultLocale || 'en'\n return locale === defaultLocale\n }\n\n return true\n })()\n\n // Handle labeling for Arrays, Global Arrays, and Blocks\n const getLabels = (p: ArrayFieldClientProps): Partial<ArrayFieldType['labels']> => {\n if ('labels' in p && p?.labels) {\n return p.labels\n }\n\n if ('labels' in p.field && p.field.labels) {\n return { plural: p.field.labels?.plural, singular: p.field.labels?.singular }\n }\n\n if ('label' in p.field && p.field.label) {\n return { plural: undefined, singular: p.field.label }\n }\n\n return { plural: t('general:rows'), singular: t('general:row') }\n }\n\n const labels = getLabels(props)\n\n const memoizedValidate = useCallback(\n (value, options) => {\n // alternative locales can be null\n if (!editingDefaultLocale && value === null) {\n return true\n }\n\n if (typeof validate === 'function') {\n return validate(value, { ...options, maxRows, minRows, required })\n }\n },\n [maxRows, minRows, required, validate, editingDefaultLocale],\n )\n\n const {\n customComponents: { AfterInput, BeforeInput, Description, Error, Label, RowLabels } = {},\n errorPaths,\n rows: rowsData = [],\n showError,\n valid,\n value,\n } = useField<number>({\n hasRows: true,\n path,\n validate: memoizedValidate,\n })\n\n const addRow = useCallback(\n (rowIndex: number) => {\n addFieldRow({\n path,\n rowIndex,\n schemaPath,\n })\n\n setTimeout(() => {\n scrollToID(`${path}-row-${rowIndex}`)\n }, 0)\n },\n [addFieldRow, path, schemaPath],\n )\n\n const duplicateRow = useCallback(\n (rowIndex: number) => {\n dispatchFields({ type: 'DUPLICATE_ROW', path, rowIndex })\n\n setModified(true)\n\n setTimeout(() => {\n scrollToID(`${path}-row-${rowIndex}`)\n }, 0)\n },\n [dispatchFields, path, setModified],\n )\n\n const removeRow = useCallback(\n (rowIndex: number) => {\n dispatchFields({ type: 'REMOVE_ROW', path, rowIndex })\n setModified(true)\n },\n [dispatchFields, path, setModified],\n )\n\n const moveRow = useCallback(\n (moveFromIndex: number, moveToIndex: number) => {\n dispatchFields({ type: 'MOVE_ROW', moveFromIndex, moveToIndex, path })\n setModified(true)\n },\n [dispatchFields, path, setModified],\n )\n\n const toggleCollapseAll = useCallback(\n (collapsed: boolean) => {\n const { collapsedIDs, updatedRows } = toggleAllRows({\n collapsed,\n rows: rowsData,\n })\n setDocFieldPreferences(path, { collapsed: collapsedIDs })\n dispatchFields({ type: 'SET_ALL_ROWS_COLLAPSED', path, updatedRows })\n },\n [dispatchFields, path, rowsData, setDocFieldPreferences],\n )\n\n const setCollapse = useCallback(\n (rowID: string, collapsed: boolean) => {\n const { collapsedIDs, updatedRows } = extractRowsAndCollapsedIDs({\n collapsed,\n rowID,\n rows: rowsData,\n })\n\n dispatchFields({ type: 'SET_ROW_COLLAPSED', path, updatedRows })\n setDocFieldPreferences(path, { collapsed: collapsedIDs })\n },\n [dispatchFields, path, rowsData, setDocFieldPreferences],\n )\n\n const hasMaxRows = maxRows && rowsData.length >= maxRows\n\n const fieldErrorCount = errorPaths.length\n const fieldHasErrors = submitted && errorPaths.length > 0\n\n const showRequired = readOnly && rowsData.length === 0\n const showMinRows = rowsData.length < minRows || (required && rowsData.length === 0)\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n fieldHasErrors ? `${baseClass}--has-error` : `${baseClass}--has-no-error`,\n ]\n .filter(Boolean)\n .join(' ')}\n id={`field-${path.replace(/\\./g, '__')}`}\n >\n {showError && (\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError path={path} showError={showError} />}\n />\n )}\n <header className={`${baseClass}__header`}>\n <div className={`${baseClass}__header-wrap`}>\n <div className={`${baseClass}__header-content`}>\n <h3 className={`${baseClass}__title`}>\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <FieldLabel\n as=\"span\"\n label={label}\n localized={localized}\n path={path}\n required={required}\n />\n }\n />\n </h3>\n {fieldHasErrors && fieldErrorCount > 0 && (\n <ErrorPill count={fieldErrorCount} i18n={i18n} withMessage />\n )}\n </div>\n {rowsData?.length > 0 && (\n <ul className={`${baseClass}__header-actions`}>\n <li>\n <button\n className={`${baseClass}__header-action`}\n onClick={() => toggleCollapseAll(true)}\n type=\"button\"\n >\n {t('fields:collapseAll')}\n </button>\n </li>\n <li>\n <button\n className={`${baseClass}__header-action`}\n onClick={() => toggleCollapseAll(false)}\n type=\"button\"\n >\n {t('fields:showAll')}\n </button>\n </li>\n </ul>\n )}\n </div>\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </header>\n <NullifyLocaleField fieldValue={value} localized={localized} path={path} />\n {BeforeInput}\n {(rowsData?.length > 0 || (!valid && (showRequired || showMinRows))) && (\n <DraggableSortable\n className={`${baseClass}__draggable-rows`}\n ids={rowsData.map((row) => row.id)}\n onDragEnd={({ moveFromIndex, moveToIndex }) => moveRow(moveFromIndex, moveToIndex)}\n >\n {rowsData.map((rowData, i) => {\n const { id: rowID } = rowData\n\n const rowPath = `${path}.${i}`\n\n const rowErrorCount = errorPaths?.filter((errorPath) =>\n errorPath.startsWith(rowPath + '.'),\n ).length\n\n return (\n <DraggableSortableItem disabled={readOnly || !isSortable} id={rowID} key={rowID}>\n {(draggableSortableItemProps) => (\n <ArrayRow\n {...draggableSortableItemProps}\n addRow={addRow}\n CustomRowLabel={RowLabels?.[i]}\n duplicateRow={duplicateRow}\n errorCount={rowErrorCount}\n fields={fields}\n forceRender={forceRender}\n hasMaxRows={hasMaxRows}\n isSortable={isSortable}\n labels={labels}\n moveRow={moveRow}\n parentPath={path}\n path={rowPath}\n permissions={permissions}\n readOnly={readOnly}\n removeRow={removeRow}\n row={rowData}\n rowCount={rowsData?.length}\n rowIndex={i}\n schemaPath={schemaPath}\n setCollapse={setCollapse}\n />\n )}\n </DraggableSortableItem>\n )\n })}\n {!valid && (\n <React.Fragment>\n {showRequired && (\n <Banner>\n {t('validation:fieldHasNo', { label: getTranslation(labels.plural, i18n) })}\n </Banner>\n )}\n {showMinRows && (\n <Banner type=\"error\">\n {t('validation:requiresAtLeast', {\n count: minRows,\n label:\n getTranslation(minRows > 1 ? labels.plural : labels.singular, i18n) ||\n t(minRows > 1 ? 'general:rows' : 'general:row'),\n })}\n </Banner>\n )}\n </React.Fragment>\n )}\n </DraggableSortable>\n )}\n {!hasMaxRows && (\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__add-row`}\n disabled={readOnly}\n icon=\"plus\"\n iconPosition=\"left\"\n iconStyle=\"with-border\"\n onClick={() => {\n void addRow(value || 0)\n }}\n >\n {t('fields:addLabel', { label: getTranslation(labels.singular, i18n) })}\n </Button>\n )}\n {AfterInput}\n </div>\n )\n}\n\nexport const ArrayField = withCondition(ArrayFieldComponent)\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","getTranslation","React","useCallback","Banner","Button","DraggableSortableItem","DraggableSortable","ErrorPill","RenderCustomComponent","FieldDescription","FieldError","FieldLabel","useForm","useFormSubmitted","extractRowsAndCollapsedIDs","toggleAllRows","NullifyLocaleField","useField","withCondition","useConfig","useDocumentInfo","useLocale","useTranslation","scrollToID","fieldBaseClass","ArrayRow","baseClass","ArrayFieldComponent","props","$","field","t0","forceRender","t1","path","permissions","readOnly","schemaPath","schemaPathFromProps","validate","name","admin","t2","fields","label","localized","maxRows","minRows","minRowsProp","required","t3","undefined","className","description","isSortable","t4","setDocFieldPreferences","addFieldRow","dispatchFields","setModified","submitted","code","locale","i18n","t","config","t5","localization","t6","bb0","fallback","defaultLocale","editingDefaultLocale","t7","p","labels","plural","singular","getLabels","t8","value","options","memoizedValidate","t9","hasRows","customComponents","t10","errorPaths","rows","t11","showError","valid","value_0","t12","AfterInput","BeforeInput","Description","Error","Label","RowLabels","t13","rowsData","t14","rowIndex","setTimeout","addRow","t15","rowIndex_0","type","duplicateRow","t16","rowIndex_1","removeRow","t17","moveFromIndex","moveToIndex","moveRow","t18","collapsed","collapsedIDs","updatedRows","toggleCollapseAll","t19","rowID","collapsed_0","collapsedIDs_0","updatedRows_0","setCollapse","hasMaxRows","length","fieldErrorCount","fieldHasErrors","showRequired","showMinRows","t20","t21","filter","Boolean","t22","_jsx","CustomComponent","Fallback","t23","count","withMessage","_jsxs","join","id","replace","children","as","onClick","fieldValue","ids","map","_temp","onDragEnd","t24","moveFromIndex_0","moveToIndex_0","rowData","i","rowID_0","isLoading","rowPath","rowErrorCount","errorPath","startsWith","disabled","draggableSortableItemProps","CustomRowLabel","errorCount","parentPath","row","rowCount","Fragment","buttonStyle","icon","iconPosition","iconStyle","ArrayField"],"sources":["../../../src/fields/Array/index.tsx"],"sourcesContent":["'use client'\nimport type {\n ArrayFieldClientComponent,\n ArrayFieldClientProps,\n ArrayField as ArrayFieldType,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback } from 'react'\n\nimport { Banner } from '../../elements/Banner/index.js'\nimport { Button } from '../../elements/Button/index.js'\nimport { DraggableSortableItem } from '../../elements/DraggableSortable/DraggableSortableItem/index.js'\nimport { DraggableSortable } from '../../elements/DraggableSortable/index.js'\nimport { ErrorPill } from '../../elements/ErrorPill/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { FieldDescription } from '../../fields/FieldDescription/index.js'\nimport { FieldError } from '../../fields/FieldError/index.js'\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { useForm, useFormSubmitted } from '../../forms/Form/context.js'\nimport { extractRowsAndCollapsedIDs, toggleAllRows } from '../../forms/Form/rowHelpers.js'\nimport { NullifyLocaleField } from '../../forms/NullifyField/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { scrollToID } from '../../utilities/scrollToID.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { ArrayRow } from './ArrayRow.js'\nimport './index.scss'\n\nconst baseClass = 'array-field'\n\nexport const ArrayFieldComponent: ArrayFieldClientComponent = (props) => {\n const {\n field: {\n name,\n admin: { className, description, isSortable = true } = {},\n fields,\n label,\n localized,\n maxRows,\n minRows: minRowsProp,\n required,\n },\n forceRender = false,\n path,\n permissions,\n readOnly,\n schemaPath: schemaPathFromProps,\n validate,\n } = props\n\n const schemaPath = schemaPathFromProps ?? name\n\n const minRows = (minRowsProp ?? required) ? 1 : 0\n\n const { setDocFieldPreferences } = useDocumentInfo()\n const { addFieldRow, dispatchFields, setModified } = useForm()\n const submitted = useFormSubmitted()\n const { code: locale } = useLocale()\n const { i18n, t } = useTranslation()\n\n const {\n config: { localization },\n } = useConfig()\n\n const editingDefaultLocale = (() => {\n if (localization && localization.fallback) {\n const defaultLocale = localization.defaultLocale || 'en'\n return locale === defaultLocale\n }\n\n return true\n })()\n\n // Handle labeling for Arrays, Global Arrays, and Blocks\n const getLabels = (p: ArrayFieldClientProps): Partial<ArrayFieldType['labels']> => {\n if ('labels' in p && p?.labels) {\n return p.labels\n }\n\n if ('labels' in p.field && p.field.labels) {\n return { plural: p.field.labels?.plural, singular: p.field.labels?.singular }\n }\n\n if ('label' in p.field && p.field.label) {\n return { plural: undefined, singular: p.field.label }\n }\n\n return { plural: t('general:rows'), singular: t('general:row') }\n }\n\n const labels = getLabels(props)\n\n const memoizedValidate = useCallback(\n (value, options) => {\n // alternative locales can be null\n if (!editingDefaultLocale && value === null) {\n return true\n }\n\n if (typeof validate === 'function') {\n return validate(value, { ...options, maxRows, minRows, required })\n }\n },\n [maxRows, minRows, required, validate, editingDefaultLocale],\n )\n\n const {\n customComponents: { AfterInput, BeforeInput, Description, Error, Label, RowLabels } = {},\n errorPaths,\n rows: rowsData = [],\n showError,\n valid,\n value,\n } = useField<number>({\n hasRows: true,\n path,\n validate: memoizedValidate,\n })\n\n const addRow = useCallback(\n (rowIndex: number) => {\n addFieldRow({\n path,\n rowIndex,\n schemaPath,\n })\n\n setTimeout(() => {\n scrollToID(`${path}-row-${rowIndex}`)\n }, 0)\n },\n [addFieldRow, path, schemaPath],\n )\n\n const duplicateRow = useCallback(\n (rowIndex: number) => {\n dispatchFields({ type: 'DUPLICATE_ROW', path, rowIndex })\n\n setModified(true)\n\n setTimeout(() => {\n scrollToID(`${path}-row-${rowIndex}`)\n }, 0)\n },\n [dispatchFields, path, setModified],\n )\n\n const removeRow = useCallback(\n (rowIndex: number) => {\n dispatchFields({ type: 'REMOVE_ROW', path, rowIndex })\n setModified(true)\n },\n [dispatchFields, path, setModified],\n )\n\n const moveRow = useCallback(\n (moveFromIndex: number, moveToIndex: number) => {\n dispatchFields({ type: 'MOVE_ROW', moveFromIndex, moveToIndex, path })\n setModified(true)\n },\n [dispatchFields, path, setModified],\n )\n\n const toggleCollapseAll = useCallback(\n (collapsed: boolean) => {\n const { collapsedIDs, updatedRows } = toggleAllRows({\n collapsed,\n rows: rowsData,\n })\n setDocFieldPreferences(path, { collapsed: collapsedIDs })\n dispatchFields({ type: 'SET_ALL_ROWS_COLLAPSED', path, updatedRows })\n },\n [dispatchFields, path, rowsData, setDocFieldPreferences],\n )\n\n const setCollapse = useCallback(\n (rowID: string, collapsed: boolean) => {\n const { collapsedIDs, updatedRows } = extractRowsAndCollapsedIDs({\n collapsed,\n rowID,\n rows: rowsData,\n })\n\n dispatchFields({ type: 'SET_ROW_COLLAPSED', path, updatedRows })\n setDocFieldPreferences(path, { collapsed: collapsedIDs })\n },\n [dispatchFields, path, rowsData, setDocFieldPreferences],\n )\n\n const hasMaxRows = maxRows && rowsData.length >= maxRows\n\n const fieldErrorCount = errorPaths.length\n const fieldHasErrors = submitted && errorPaths.length > 0\n\n const showRequired = readOnly && rowsData.length === 0\n const showMinRows = rowsData.length < minRows || (required && rowsData.length === 0)\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n fieldHasErrors ? `${baseClass}--has-error` : `${baseClass}--has-no-error`,\n ]\n .filter(Boolean)\n .join(' ')}\n id={`field-${path.replace(/\\./g, '__')}`}\n >\n {showError && (\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError path={path} showError={showError} />}\n />\n )}\n <header className={`${baseClass}__header`}>\n <div className={`${baseClass}__header-wrap`}>\n <div className={`${baseClass}__header-content`}>\n <h3 className={`${baseClass}__title`}>\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <FieldLabel\n as=\"span\"\n label={label}\n localized={localized}\n path={path}\n required={required}\n />\n }\n />\n </h3>\n {fieldHasErrors && fieldErrorCount > 0 && (\n <ErrorPill count={fieldErrorCount} i18n={i18n} withMessage />\n )}\n </div>\n {rowsData?.length > 0 && (\n <ul className={`${baseClass}__header-actions`}>\n <li>\n <button\n className={`${baseClass}__header-action`}\n onClick={() => toggleCollapseAll(true)}\n type=\"button\"\n >\n {t('fields:collapseAll')}\n </button>\n </li>\n <li>\n <button\n className={`${baseClass}__header-action`}\n onClick={() => toggleCollapseAll(false)}\n type=\"button\"\n >\n {t('fields:showAll')}\n </button>\n </li>\n </ul>\n )}\n </div>\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </header>\n <NullifyLocaleField fieldValue={value} localized={localized} path={path} />\n {BeforeInput}\n {(rowsData?.length > 0 || (!valid && (showRequired || showMinRows))) && (\n <DraggableSortable\n className={`${baseClass}__draggable-rows`}\n ids={rowsData.map((row) => row.id)}\n onDragEnd={({ moveFromIndex, moveToIndex }) => moveRow(moveFromIndex, moveToIndex)}\n >\n {rowsData.map((rowData, i) => {\n const { id: rowID, isLoading } = rowData\n\n const rowPath = `${path}.${i}`\n\n const rowErrorCount = errorPaths?.filter((errorPath) =>\n errorPath.startsWith(rowPath + '.'),\n ).length\n\n return (\n <DraggableSortableItem disabled={readOnly || !isSortable} id={rowID} key={rowID}>\n {(draggableSortableItemProps) => (\n <ArrayRow\n {...draggableSortableItemProps}\n addRow={addRow}\n CustomRowLabel={RowLabels?.[i]}\n duplicateRow={duplicateRow}\n errorCount={rowErrorCount}\n fields={fields}\n forceRender={forceRender}\n hasMaxRows={hasMaxRows}\n isLoading={isLoading}\n isSortable={isSortable}\n labels={labels}\n moveRow={moveRow}\n parentPath={path}\n path={rowPath}\n permissions={permissions}\n readOnly={readOnly}\n removeRow={removeRow}\n row={rowData}\n rowCount={rowsData?.length}\n rowIndex={i}\n schemaPath={schemaPath}\n setCollapse={setCollapse}\n />\n )}\n </DraggableSortableItem>\n )\n })}\n {!valid && (\n <React.Fragment>\n {showRequired && (\n <Banner>\n {t('validation:fieldHasNo', { label: getTranslation(labels.plural, i18n) })}\n </Banner>\n )}\n {showMinRows && (\n <Banner type=\"error\">\n {t('validation:requiresAtLeast', {\n count: minRows,\n label:\n getTranslation(minRows > 1 ? labels.plural : labels.singular, i18n) ||\n t(minRows > 1 ? 'general:rows' : 'general:row'),\n })}\n </Banner>\n )}\n </React.Fragment>\n )}\n </DraggableSortable>\n )}\n {!hasMaxRows && (\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__add-row`}\n disabled={readOnly}\n icon=\"plus\"\n iconPosition=\"left\"\n iconStyle=\"with-border\"\n onClick={() => {\n void addRow(value || 0)\n }}\n >\n {t('fields:addLabel', { label: getTranslation(labels.singular, i18n) })}\n </Button>\n )}\n {AfterInput}\n </div>\n )\n}\n\nexport const ArrayField = withCondition(ArrayFieldComponent)\n"],"mappings":"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","ignoreList":[]}
@@ -9,6 +9,7 @@ type BlocksFieldProps = {
9
9
  errorCount: number;
10
10
  fields: ClientField[];
11
11
  hasMaxRows?: boolean;
12
+ isLoading?: boolean;
12
13
  isSortable?: boolean;
13
14
  Label?: React.ReactNode;
14
15
  labels: Labels;
@@ -1 +1 @@
1
- {"version":3,"file":"BlockRow.d.ts","sourceRoot":"","sources":["../../../src/fields/Blocks/BlockRow.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,MAAM,EACN,GAAG,EACH,yBAAyB,EAE1B,MAAM,SAAS,CAAA;AAGhB,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,gEAAgE,CAAA;AAchH,KAAK,gBAAgB,GAAG;IACtB,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACrE,KAAK,EAAE,WAAW,CAAA;IAClB,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACxC,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACvB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IACrD,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,yBAAyB,CAAA;IACtC,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACrC,GAAG,EAAE,GAAG,CAAA;IACR,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,KAAK,IAAI,CAAA;CACtD,GAAG,0BAA0B,CAAA;AAE9B,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA6H/C,CAAA"}
1
+ {"version":3,"file":"BlockRow.d.ts","sourceRoot":"","sources":["../../../src/fields/Blocks/BlockRow.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAG/F,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,gEAAgE,CAAA;AAgBhH,KAAK,gBAAgB,GAAG;IACtB,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACrE,KAAK,EAAE,WAAW,CAAA;IAClB,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACxC,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACvB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IACrD,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,yBAAyB,CAAA;IACtC,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACrC,GAAG,EAAE,GAAG,CAAA;IACR,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,KAAK,IAAI,CAAA;CACtD,GAAG,0BAA0B,CAAA;AAE9B,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAoI/C,CAAA"}
@@ -7,14 +7,16 @@ import React from 'react';
7
7
  import { Collapsible } from '../../elements/Collapsible/index.js';
8
8
  import { ErrorPill } from '../../elements/ErrorPill/index.js';
9
9
  import { Pill } from '../../elements/Pill/index.js';
10
+ import { ShimmerEffect } from '../../elements/ShimmerEffect/index.js';
10
11
  import { useFormSubmitted } from '../../forms/Form/context.js';
11
12
  import { RenderFields } from '../../forms/RenderFields/index.js';
13
+ import { useThrottledValue } from '../../hooks/useThrottledValue.js';
12
14
  import { useTranslation } from '../../providers/Translation/index.js';
13
15
  import { RowActions } from './RowActions.js';
14
16
  import { SectionTitle } from './SectionTitle/index.js';
15
17
  const baseClass = 'blocks-field';
16
18
  export const BlockRow = t0 => {
17
- const $ = _c(47);
19
+ const $ = _c(48);
18
20
  const {
19
21
  addRow,
20
22
  attributes,
@@ -24,6 +26,7 @@ export const BlockRow = t0 => {
24
26
  errorCount,
25
27
  fields,
26
28
  hasMaxRows,
29
+ isLoading: isLoadingFromProps,
27
30
  isSortable,
28
31
  Label,
29
32
  labels,
@@ -42,6 +45,7 @@ export const BlockRow = t0 => {
42
45
  setNodeRef,
43
46
  transform
44
47
  } = t0;
48
+ const isLoading = useThrottledValue(isLoadingFromProps, 500);
45
49
  const {
46
50
  i18n
47
51
  } = useTranslation();
@@ -70,9 +74,9 @@ export const BlockRow = t0 => {
70
74
  }
71
75
  const t3 = `${parentPath?.split(".").join("-")}-row-${rowIndex}`;
72
76
  let t4;
73
- if ($[2] !== Label || $[3] !== addRow || $[4] !== attributes || $[5] !== block || $[6] !== blockPermissions || $[7] !== blocks || $[8] !== classNames || $[9] !== duplicateRow || $[10] !== errorCount || $[11] !== fieldHasErrors || $[12] !== fields || $[13] !== hasMaxRows || $[14] !== i18n || $[15] !== isSortable || $[16] !== labels || $[17] !== listeners || $[18] !== moveRow || $[19] !== parentPath || $[20] !== path || $[21] !== readOnly || $[22] !== removeRow || $[23] !== row.blockType || $[24] !== row.collapsed || $[25] !== row.id || $[26] !== rowCount || $[27] !== rowIndex || $[28] !== schemaPath || $[29] !== setCollapse || $[30] !== setNodeRef || $[31] !== t3 || $[32] !== transform) {
77
+ if ($[2] !== Label || $[3] !== addRow || $[4] !== attributes || $[5] !== block || $[6] !== blockPermissions || $[7] !== blocks || $[8] !== classNames || $[9] !== duplicateRow || $[10] !== errorCount || $[11] !== fieldHasErrors || $[12] !== fields || $[13] !== hasMaxRows || $[14] !== i18n || $[15] !== isLoading || $[16] !== isSortable || $[17] !== labels || $[18] !== listeners || $[19] !== moveRow || $[20] !== parentPath || $[21] !== path || $[22] !== readOnly || $[23] !== removeRow || $[24] !== row.blockType || $[25] !== row.collapsed || $[26] !== row.id || $[27] !== rowCount || $[28] !== rowIndex || $[29] !== schemaPath || $[30] !== setCollapse || $[31] !== setNodeRef || $[32] !== t3 || $[33] !== transform) {
74
78
  let t5;
75
- if ($[34] !== Label || $[35] !== block || $[36] !== errorCount || $[37] !== fieldHasErrors || $[38] !== i18n || $[39] !== path || $[40] !== readOnly || $[41] !== row.blockType || $[42] !== rowIndex) {
79
+ if ($[35] !== Label || $[36] !== block || $[37] !== errorCount || $[38] !== fieldHasErrors || $[39] !== i18n || $[40] !== path || $[41] !== readOnly || $[42] !== row.blockType || $[43] !== rowIndex) {
76
80
  t5 = Label || _jsxs("div", {
77
81
  className: `${baseClass}__block-header`,
78
82
  children: [_jsx("span", {
@@ -91,27 +95,27 @@ export const BlockRow = t0 => {
91
95
  withMessage: true
92
96
  })]
93
97
  });
94
- $[34] = Label;
95
- $[35] = block;
96
- $[36] = errorCount;
97
- $[37] = fieldHasErrors;
98
- $[38] = i18n;
99
- $[39] = path;
100
- $[40] = readOnly;
101
- $[41] = row.blockType;
102
- $[42] = rowIndex;
103
- $[43] = t5;
98
+ $[35] = Label;
99
+ $[36] = block;
100
+ $[37] = errorCount;
101
+ $[38] = fieldHasErrors;
102
+ $[39] = i18n;
103
+ $[40] = path;
104
+ $[41] = readOnly;
105
+ $[42] = row.blockType;
106
+ $[43] = rowIndex;
107
+ $[44] = t5;
104
108
  } else {
105
- t5 = $[43];
109
+ t5 = $[44];
106
110
  }
107
111
  let t6;
108
- if ($[44] !== row.id || $[45] !== setCollapse) {
112
+ if ($[45] !== row.id || $[46] !== setCollapse) {
109
113
  t6 = collapsed => setCollapse(row.id, collapsed);
110
- $[44] = row.id;
111
- $[45] = setCollapse;
112
- $[46] = t6;
114
+ $[45] = row.id;
115
+ $[46] = setCollapse;
116
+ $[47] = t6;
113
117
  } else {
114
- t6 = $[46];
118
+ t6 = $[47];
115
119
  }
116
120
  t4 = _jsx("div", {
117
121
  id: t3,
@@ -144,7 +148,7 @@ export const BlockRow = t0 => {
144
148
  header: t5,
145
149
  isCollapsed: row.collapsed,
146
150
  onToggle: t6,
147
- children: _jsx(RenderFields, {
151
+ children: isLoading ? _jsx(ShimmerEffect, {}) : _jsx(RenderFields, {
148
152
  className: `${baseClass}__fields`,
149
153
  fields,
150
154
  margins: "small",
@@ -169,27 +173,28 @@ export const BlockRow = t0 => {
169
173
  $[12] = fields;
170
174
  $[13] = hasMaxRows;
171
175
  $[14] = i18n;
172
- $[15] = isSortable;
173
- $[16] = labels;
174
- $[17] = listeners;
175
- $[18] = moveRow;
176
- $[19] = parentPath;
177
- $[20] = path;
178
- $[21] = readOnly;
179
- $[22] = removeRow;
180
- $[23] = row.blockType;
181
- $[24] = row.collapsed;
182
- $[25] = row.id;
183
- $[26] = rowCount;
184
- $[27] = rowIndex;
185
- $[28] = schemaPath;
186
- $[29] = setCollapse;
187
- $[30] = setNodeRef;
188
- $[31] = t3;
189
- $[32] = transform;
190
- $[33] = t4;
176
+ $[15] = isLoading;
177
+ $[16] = isSortable;
178
+ $[17] = labels;
179
+ $[18] = listeners;
180
+ $[19] = moveRow;
181
+ $[20] = parentPath;
182
+ $[21] = path;
183
+ $[22] = readOnly;
184
+ $[23] = removeRow;
185
+ $[24] = row.blockType;
186
+ $[25] = row.collapsed;
187
+ $[26] = row.id;
188
+ $[27] = rowCount;
189
+ $[28] = rowIndex;
190
+ $[29] = schemaPath;
191
+ $[30] = setCollapse;
192
+ $[31] = setNodeRef;
193
+ $[32] = t3;
194
+ $[33] = transform;
195
+ $[34] = t4;
191
196
  } else {
192
- t4 = $[33];
197
+ t4 = $[34];
193
198
  }
194
199
  return t4;
195
200
  };
@@ -1 +1 @@
1
- {"version":3,"file":"BlockRow.js","names":["c","_c","getTranslation","React","Collapsible","ErrorPill","Pill","useFormSubmitted","RenderFields","useTranslation","RowActions","SectionTitle","baseClass","BlockRow","t0","$","addRow","attributes","block","blocks","duplicateRow","errorCount","fields","hasMaxRows","isSortable","Label","labels","listeners","moveRow","parentPath","path","permissions","readOnly","removeRow","row","rowCount","rowIndex","schemaPath","setCollapse","setNodeRef","transform","i18n","hasSubmitted","fieldHasErrors","t1","t2","filter","Boolean","classNames","join","blockPermissions","permissionsBlockSpecific","slug","t3","split","t4","blockType","collapsed","id","t5","_jsxs","className","children","_jsx","String","padStart","pillStyle","singular","count","withMessage","t6","ref","style","actions","collapsibleStyle","dragHandleProps","undefined","header","onToggle","margins","parentIndexPath","parentSchemaPath"],"sources":["../../../src/fields/Blocks/BlockRow.tsx"],"sourcesContent":["'use client'\nimport type {\n ClientBlock,\n ClientField,\n Labels,\n Row,\n SanitizedFieldPermissions,\n SanitizedFieldsPermissions,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport type { UseDraggableSortableReturn } from '../../elements/DraggableSortable/useDraggableSortable/types.js'\nimport type { RenderFieldsProps } from '../../forms/RenderFields/types.js'\n\nimport { Collapsible } from '../../elements/Collapsible/index.js'\nimport { ErrorPill } from '../../elements/ErrorPill/index.js'\nimport { Pill } from '../../elements/Pill/index.js'\nimport { useFormSubmitted } from '../../forms/Form/context.js'\nimport { RenderFields } from '../../forms/RenderFields/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { RowActions } from './RowActions.js'\nimport { SectionTitle } from './SectionTitle/index.js'\n\nconst baseClass = 'blocks-field'\n\ntype BlocksFieldProps = {\n addRow: (rowIndex: number, blockType: string) => Promise<void> | void\n block: ClientBlock\n blocks: ClientBlock[]\n duplicateRow: (rowIndex: number) => void\n errorCount: number\n fields: ClientField[]\n hasMaxRows?: boolean\n isSortable?: boolean\n Label?: React.ReactNode\n labels: Labels\n moveRow: (fromIndex: number, toIndex: number) => void\n parentPath: string\n path: string\n permissions: SanitizedFieldPermissions\n readOnly: boolean\n removeRow: (rowIndex: number) => void\n row: Row\n rowCount: number\n rowIndex: number\n schemaPath: string\n setCollapse: (id: string, collapsed: boolean) => void\n} & UseDraggableSortableReturn\n\nexport const BlockRow: React.FC<BlocksFieldProps> = ({\n addRow,\n attributes,\n block,\n blocks,\n duplicateRow,\n errorCount,\n fields,\n hasMaxRows,\n isSortable,\n Label,\n labels,\n listeners,\n moveRow,\n parentPath,\n path,\n permissions,\n readOnly,\n removeRow,\n row,\n rowCount,\n rowIndex,\n schemaPath,\n setCollapse,\n setNodeRef,\n transform,\n}) => {\n const { i18n } = useTranslation()\n const hasSubmitted = useFormSubmitted()\n\n const fieldHasErrors = hasSubmitted && errorCount > 0\n\n const classNames = [\n `${baseClass}__row`,\n fieldHasErrors ? `${baseClass}__row--has-errors` : `${baseClass}__row--no-errors`,\n ]\n .filter(Boolean)\n .join(' ')\n\n let blockPermissions: RenderFieldsProps['permissions'] = undefined\n\n if (permissions === true) {\n blockPermissions = true\n } else {\n const permissionsBlockSpecific = permissions?.blocks?.[block.slug]\n if (permissionsBlockSpecific === true) {\n blockPermissions = true\n } else {\n blockPermissions = permissionsBlockSpecific?.fields\n }\n }\n\n return (\n <div\n id={`${parentPath?.split('.').join('-')}-row-${rowIndex}`}\n key={`${parentPath}-row-${rowIndex}`}\n ref={setNodeRef}\n style={{\n transform,\n }}\n >\n <Collapsible\n actions={\n !readOnly ? (\n <RowActions\n addRow={addRow}\n blocks={blocks}\n blockType={row.blockType}\n duplicateRow={duplicateRow}\n fields={block.fields}\n hasMaxRows={hasMaxRows}\n isSortable={isSortable}\n labels={labels}\n moveRow={moveRow}\n removeRow={removeRow}\n rowCount={rowCount}\n rowIndex={rowIndex}\n />\n ) : undefined\n }\n className={classNames}\n collapsibleStyle={fieldHasErrors ? 'error' : 'default'}\n dragHandleProps={\n isSortable\n ? {\n id: row.id,\n attributes,\n listeners,\n }\n : undefined\n }\n header={\n Label || (\n <div className={`${baseClass}__block-header`}>\n <span className={`${baseClass}__block-number`}>\n {String(rowIndex + 1).padStart(2, '0')}\n </span>\n <Pill\n className={`${baseClass}__block-pill ${baseClass}__block-pill-${row.blockType}`}\n pillStyle=\"white\"\n >\n {getTranslation(block.labels.singular, i18n)}\n </Pill>\n <SectionTitle path={`${path}.blockName`} readOnly={readOnly} />\n {fieldHasErrors && <ErrorPill count={errorCount} i18n={i18n} withMessage />}\n </div>\n )\n }\n isCollapsed={row.collapsed}\n key={row.id}\n onToggle={(collapsed) => setCollapse(row.id, collapsed)}\n >\n <RenderFields\n className={`${baseClass}__fields`}\n fields={fields}\n margins=\"small\"\n parentIndexPath=\"\"\n parentPath={path}\n parentSchemaPath={schemaPath}\n permissions={blockPermissions}\n readOnly={readOnly}\n />\n </Collapsible>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"BlockRow.js","names":["c","_c","getTranslation","React","Collapsible","ErrorPill","Pill","ShimmerEffect","useFormSubmitted","RenderFields","useThrottledValue","useTranslation","RowActions","SectionTitle","baseClass","BlockRow","t0","$","addRow","attributes","block","blocks","duplicateRow","errorCount","fields","hasMaxRows","isLoading","isLoadingFromProps","isSortable","Label","labels","listeners","moveRow","parentPath","path","permissions","readOnly","removeRow","row","rowCount","rowIndex","schemaPath","setCollapse","setNodeRef","transform","i18n","hasSubmitted","fieldHasErrors","t1","t2","filter","Boolean","classNames","join","blockPermissions","permissionsBlockSpecific","slug","t3","split","t4","blockType","collapsed","id","t5","_jsxs","className","children","_jsx","String","padStart","pillStyle","singular","count","withMessage","t6","ref","style","actions","collapsibleStyle","dragHandleProps","undefined","header","onToggle","margins","parentIndexPath","parentSchemaPath"],"sources":["../../../src/fields/Blocks/BlockRow.tsx"],"sourcesContent":["'use client'\nimport type { ClientBlock, ClientField, Labels, Row, SanitizedFieldPermissions } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport type { UseDraggableSortableReturn } from '../../elements/DraggableSortable/useDraggableSortable/types.js'\nimport type { RenderFieldsProps } from '../../forms/RenderFields/types.js'\n\nimport { Collapsible } from '../../elements/Collapsible/index.js'\nimport { ErrorPill } from '../../elements/ErrorPill/index.js'\nimport { Pill } from '../../elements/Pill/index.js'\nimport { ShimmerEffect } from '../../elements/ShimmerEffect/index.js'\nimport { useFormSubmitted } from '../../forms/Form/context.js'\nimport { RenderFields } from '../../forms/RenderFields/index.js'\nimport { useThrottledValue } from '../../hooks/useThrottledValue.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { RowActions } from './RowActions.js'\nimport { SectionTitle } from './SectionTitle/index.js'\n\nconst baseClass = 'blocks-field'\n\ntype BlocksFieldProps = {\n addRow: (rowIndex: number, blockType: string) => Promise<void> | void\n block: ClientBlock\n blocks: ClientBlock[]\n duplicateRow: (rowIndex: number) => void\n errorCount: number\n fields: ClientField[]\n hasMaxRows?: boolean\n isLoading?: boolean\n isSortable?: boolean\n Label?: React.ReactNode\n labels: Labels\n moveRow: (fromIndex: number, toIndex: number) => void\n parentPath: string\n path: string\n permissions: SanitizedFieldPermissions\n readOnly: boolean\n removeRow: (rowIndex: number) => void\n row: Row\n rowCount: number\n rowIndex: number\n schemaPath: string\n setCollapse: (id: string, collapsed: boolean) => void\n} & UseDraggableSortableReturn\n\nexport const BlockRow: React.FC<BlocksFieldProps> = ({\n addRow,\n attributes,\n block,\n blocks,\n duplicateRow,\n errorCount,\n fields,\n hasMaxRows,\n isLoading: isLoadingFromProps,\n isSortable,\n Label,\n labels,\n listeners,\n moveRow,\n parentPath,\n path,\n permissions,\n readOnly,\n removeRow,\n row,\n rowCount,\n rowIndex,\n schemaPath,\n setCollapse,\n setNodeRef,\n transform,\n}) => {\n const isLoading = useThrottledValue(isLoadingFromProps, 500)\n\n const { i18n } = useTranslation()\n const hasSubmitted = useFormSubmitted()\n\n const fieldHasErrors = hasSubmitted && errorCount > 0\n\n const classNames = [\n `${baseClass}__row`,\n fieldHasErrors ? `${baseClass}__row--has-errors` : `${baseClass}__row--no-errors`,\n ]\n .filter(Boolean)\n .join(' ')\n\n let blockPermissions: RenderFieldsProps['permissions'] = undefined\n\n if (permissions === true) {\n blockPermissions = true\n } else {\n const permissionsBlockSpecific = permissions?.blocks?.[block.slug]\n if (permissionsBlockSpecific === true) {\n blockPermissions = true\n } else {\n blockPermissions = permissionsBlockSpecific?.fields\n }\n }\n\n return (\n <div\n id={`${parentPath?.split('.').join('-')}-row-${rowIndex}`}\n key={`${parentPath}-row-${rowIndex}`}\n ref={setNodeRef}\n style={{\n transform,\n }}\n >\n <Collapsible\n actions={\n !readOnly ? (\n <RowActions\n addRow={addRow}\n blocks={blocks}\n blockType={row.blockType}\n duplicateRow={duplicateRow}\n fields={block.fields}\n hasMaxRows={hasMaxRows}\n isSortable={isSortable}\n labels={labels}\n moveRow={moveRow}\n removeRow={removeRow}\n rowCount={rowCount}\n rowIndex={rowIndex}\n />\n ) : undefined\n }\n className={classNames}\n collapsibleStyle={fieldHasErrors ? 'error' : 'default'}\n dragHandleProps={\n isSortable\n ? {\n id: row.id,\n attributes,\n listeners,\n }\n : undefined\n }\n header={\n Label || (\n <div className={`${baseClass}__block-header`}>\n <span className={`${baseClass}__block-number`}>\n {String(rowIndex + 1).padStart(2, '0')}\n </span>\n <Pill\n className={`${baseClass}__block-pill ${baseClass}__block-pill-${row.blockType}`}\n pillStyle=\"white\"\n >\n {getTranslation(block.labels.singular, i18n)}\n </Pill>\n <SectionTitle path={`${path}.blockName`} readOnly={readOnly} />\n {fieldHasErrors && <ErrorPill count={errorCount} i18n={i18n} withMessage />}\n </div>\n )\n }\n isCollapsed={row.collapsed}\n key={row.id}\n onToggle={(collapsed) => setCollapse(row.id, collapsed)}\n >\n {isLoading ? (\n <ShimmerEffect />\n ) : (\n <RenderFields\n className={`${baseClass}__fields`}\n fields={fields}\n margins=\"small\"\n parentIndexPath=\"\"\n parentPath={path}\n parentSchemaPath={schemaPath}\n permissions={blockPermissions}\n readOnly={readOnly}\n />\n )}\n </Collapsible>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Blocks/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAgC,MAAM,OAAO,CAAA;AA0BpD,OAAO,cAAc,CAAA;AAwUrB,eAAO,MAAM,WAAW;;;;+EAAsC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Blocks/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAgC,MAAM,OAAO,CAAA;AA0BpD,OAAO,cAAc,CAAA;AAyUrB,eAAO,MAAM,WAAW;;;;+EAAsC,CAAA"}
@@ -417,7 +417,8 @@ const BlocksFieldComponent = props => {
417
417
  },
418
418
  children: [rows.map((row_0, i) => {
419
419
  const {
420
- blockType: blockType_0
420
+ blockType: blockType_0,
421
+ isLoading
421
422
  } = row_0;
422
423
  const blockConfig = blocks.find(block => block.slug === blockType_0);
423
424
  if (blockConfig) {
@@ -435,6 +436,7 @@ const BlocksFieldComponent = props => {
435
436
  errorCount: rowErrorCount,
436
437
  fields: blockConfig.fields,
437
438
  hasMaxRows,
439
+ isLoading,
438
440
  isSortable,
439
441
  Label,
440
442
  labels,