@payloadcms/ui 3.0.0-beta.70 → 3.0.0-beta.71

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 (251) hide show
  1. package/dist/elements/ArrayAction/index.d.ts +1 -1
  2. package/dist/elements/ArrayAction/index.d.ts.map +1 -1
  3. package/dist/elements/ArrayAction/index.js +1 -1
  4. package/dist/elements/ArrayAction/index.js.map +1 -1
  5. package/dist/elements/Autosave/index.d.ts.map +1 -1
  6. package/dist/elements/Autosave/index.js +7 -1
  7. package/dist/elements/Autosave/index.js.map +1 -1
  8. package/dist/elements/Collapsible/index.d.ts +1 -1
  9. package/dist/elements/Collapsible/index.d.ts.map +1 -1
  10. package/dist/elements/Collapsible/index.js +1 -1
  11. package/dist/elements/Collapsible/index.js.map +1 -1
  12. package/dist/elements/DocumentFields/index.d.ts +1 -2
  13. package/dist/elements/DocumentFields/index.d.ts.map +1 -1
  14. package/dist/elements/DocumentFields/index.js.map +1 -1
  15. package/dist/elements/Drawer/index.d.ts.map +1 -1
  16. package/dist/elements/Drawer/index.js +3 -0
  17. package/dist/elements/Drawer/index.js.map +1 -1
  18. package/dist/elements/Drawer/index.scss +2 -1
  19. package/dist/elements/EditMany/index.d.ts +1 -2
  20. package/dist/elements/EditMany/index.d.ts.map +1 -1
  21. package/dist/elements/EditMany/index.js.map +1 -1
  22. package/dist/elements/FieldSelect/index.d.ts +1 -2
  23. package/dist/elements/FieldSelect/index.d.ts.map +1 -1
  24. package/dist/elements/FieldSelect/index.js.map +1 -1
  25. package/dist/elements/ListControls/getTextFieldsToBeSearched.d.ts +1 -1
  26. package/dist/elements/ListControls/getTextFieldsToBeSearched.d.ts.map +1 -1
  27. package/dist/elements/ListControls/getTextFieldsToBeSearched.js.map +1 -1
  28. package/dist/elements/ListControls/index.d.ts +1 -2
  29. package/dist/elements/ListControls/index.d.ts.map +1 -1
  30. package/dist/elements/ListControls/index.js.map +1 -1
  31. package/dist/elements/SortColumn/index.d.ts +2 -2
  32. package/dist/elements/SortColumn/index.d.ts.map +1 -1
  33. package/dist/elements/SortColumn/index.js.map +1 -1
  34. package/dist/elements/StepNav/types.d.ts +2 -2
  35. package/dist/elements/StepNav/types.d.ts.map +1 -1
  36. package/dist/elements/StepNav/types.js.map +1 -1
  37. package/dist/elements/Table/index.d.ts +1 -2
  38. package/dist/elements/Table/index.d.ts.map +1 -1
  39. package/dist/elements/Table/index.js.map +1 -1
  40. package/dist/elements/TableColumns/buildColumnState.d.ts +1 -2
  41. package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
  42. package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
  43. package/dist/elements/TableColumns/filterFields.d.ts +1 -1
  44. package/dist/elements/TableColumns/filterFields.d.ts.map +1 -1
  45. package/dist/elements/TableColumns/filterFields.js.map +1 -1
  46. package/dist/elements/TableColumns/getInitialColumns.d.ts +1 -1
  47. package/dist/elements/TableColumns/getInitialColumns.d.ts.map +1 -1
  48. package/dist/elements/TableColumns/getInitialColumns.js.map +1 -1
  49. package/dist/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
  50. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +7 -1
  51. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  52. package/dist/elements/WhereBuilder/reduceFieldMap.d.ts +1 -1
  53. package/dist/elements/WhereBuilder/reduceFieldMap.d.ts.map +1 -1
  54. package/dist/elements/WhereBuilder/reduceFieldMap.js +3 -3
  55. package/dist/elements/WhereBuilder/reduceFieldMap.js.map +1 -1
  56. package/dist/elements/WhereBuilder/types.d.ts +1 -2
  57. package/dist/elements/WhereBuilder/types.d.ts.map +1 -1
  58. package/dist/elements/WhereBuilder/types.js.map +1 -1
  59. package/dist/exports/client/index.d.ts +5 -6
  60. package/dist/exports/client/index.d.ts.map +1 -1
  61. package/dist/exports/client/index.js +18 -18
  62. package/dist/exports/client/index.js.map +3 -3
  63. package/dist/fields/Array/ArrayRow.d.ts +2 -3
  64. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  65. package/dist/fields/Array/ArrayRow.js.map +1 -1
  66. package/dist/fields/Array/index.d.ts +1 -14
  67. package/dist/fields/Array/index.d.ts.map +1 -1
  68. package/dist/fields/Array/index.js +3 -1
  69. package/dist/fields/Array/index.js.map +1 -1
  70. package/dist/fields/Blocks/BlockRow.d.ts +2 -3
  71. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  72. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  73. package/dist/fields/Blocks/BlocksDrawer/index.d.ts +2 -3
  74. package/dist/fields/Blocks/BlocksDrawer/index.d.ts.map +1 -1
  75. package/dist/fields/Blocks/BlocksDrawer/index.js +1 -1
  76. package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
  77. package/dist/fields/Blocks/RowActions.d.ts +2 -3
  78. package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
  79. package/dist/fields/Blocks/RowActions.js +1 -1
  80. package/dist/fields/Blocks/RowActions.js.map +1 -1
  81. package/dist/fields/Blocks/index.d.ts +1 -14
  82. package/dist/fields/Blocks/index.d.ts.map +1 -1
  83. package/dist/fields/Blocks/index.js +2 -2
  84. package/dist/fields/Blocks/index.js.map +1 -1
  85. package/dist/fields/Checkbox/Input.d.ts +1 -1
  86. package/dist/fields/Checkbox/Input.d.ts.map +1 -1
  87. package/dist/fields/Checkbox/Input.js.map +1 -1
  88. package/dist/fields/Checkbox/index.d.ts +1 -1
  89. package/dist/fields/Checkbox/index.d.ts.map +1 -1
  90. package/dist/fields/Checkbox/index.js +2 -2
  91. package/dist/fields/Checkbox/index.js.map +1 -1
  92. package/dist/fields/Code/index.d.ts +1 -9
  93. package/dist/fields/Code/index.d.ts.map +1 -1
  94. package/dist/fields/Code/index.js +2 -2
  95. package/dist/fields/Code/index.js.map +1 -1
  96. package/dist/fields/Collapsible/index.d.ts +1 -7
  97. package/dist/fields/Collapsible/index.d.ts.map +1 -1
  98. package/dist/fields/Collapsible/index.js +2 -2
  99. package/dist/fields/Collapsible/index.js.map +1 -1
  100. package/dist/fields/DateTime/index.d.ts +1 -9
  101. package/dist/fields/DateTime/index.d.ts.map +1 -1
  102. package/dist/fields/DateTime/index.js +2 -2
  103. package/dist/fields/DateTime/index.js.map +1 -1
  104. package/dist/fields/Email/index.d.ts +1 -9
  105. package/dist/fields/Email/index.d.ts.map +1 -1
  106. package/dist/fields/Email/index.js +2 -2
  107. package/dist/fields/Email/index.js.map +1 -1
  108. package/dist/fields/FieldDescription/index.d.ts +2 -2
  109. package/dist/fields/FieldDescription/index.d.ts.map +1 -1
  110. package/dist/fields/FieldDescription/index.js.map +1 -1
  111. package/dist/fields/FieldError/index.d.ts +2 -2
  112. package/dist/fields/FieldError/index.d.ts.map +1 -1
  113. package/dist/fields/FieldError/index.js.map +1 -1
  114. package/dist/fields/FieldLabel/index.d.ts +2 -2
  115. package/dist/fields/FieldLabel/index.d.ts.map +1 -1
  116. package/dist/fields/FieldLabel/index.js.map +1 -1
  117. package/dist/fields/Group/index.d.ts +2 -10
  118. package/dist/fields/Group/index.d.ts.map +1 -1
  119. package/dist/fields/Group/index.js +2 -2
  120. package/dist/fields/Group/index.js.map +1 -1
  121. package/dist/fields/Hidden/index.d.ts +2 -9
  122. package/dist/fields/Hidden/index.d.ts.map +1 -1
  123. package/dist/fields/Hidden/index.js +2 -2
  124. package/dist/fields/Hidden/index.js.map +1 -1
  125. package/dist/fields/JSON/index.d.ts +1 -9
  126. package/dist/fields/JSON/index.d.ts.map +1 -1
  127. package/dist/fields/JSON/index.js +2 -2
  128. package/dist/fields/JSON/index.js.map +1 -1
  129. package/dist/fields/Number/index.d.ts +1 -14
  130. package/dist/fields/Number/index.d.ts.map +1 -1
  131. package/dist/fields/Number/index.js +2 -2
  132. package/dist/fields/Number/index.js.map +1 -1
  133. package/dist/fields/Password/index.d.ts +1 -2
  134. package/dist/fields/Password/index.d.ts.map +1 -1
  135. package/dist/fields/Password/index.js +2 -2
  136. package/dist/fields/Password/index.js.map +1 -1
  137. package/dist/fields/Point/index.d.ts +2 -9
  138. package/dist/fields/Point/index.d.ts.map +1 -1
  139. package/dist/fields/Point/index.js +2 -2
  140. package/dist/fields/Point/index.js.map +1 -1
  141. package/dist/fields/RadioGroup/Radio/index.d.ts +2 -3
  142. package/dist/fields/RadioGroup/Radio/index.d.ts.map +1 -1
  143. package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
  144. package/dist/fields/RadioGroup/index.d.ts +1 -12
  145. package/dist/fields/RadioGroup/index.d.ts.map +1 -1
  146. package/dist/fields/RadioGroup/index.js +2 -2
  147. package/dist/fields/RadioGroup/index.js.map +1 -1
  148. package/dist/fields/Relationship/index.d.ts +1 -2
  149. package/dist/fields/Relationship/index.d.ts.map +1 -1
  150. package/dist/fields/Relationship/index.js +2 -2
  151. package/dist/fields/Relationship/index.js.map +1 -1
  152. package/dist/fields/Relationship/types.d.ts +1 -11
  153. package/dist/fields/Relationship/types.d.ts.map +1 -1
  154. package/dist/fields/Relationship/types.js.map +1 -1
  155. package/dist/fields/RichText/index.d.ts +2 -8
  156. package/dist/fields/RichText/index.d.ts.map +1 -1
  157. package/dist/fields/RichText/index.js.map +1 -1
  158. package/dist/fields/Row/index.d.ts +1 -2
  159. package/dist/fields/Row/index.d.ts.map +1 -1
  160. package/dist/fields/Row/index.js +2 -2
  161. package/dist/fields/Row/index.js.map +1 -1
  162. package/dist/fields/Row/index.scss +1 -5
  163. package/dist/fields/Select/Input.d.ts +1 -2
  164. package/dist/fields/Select/Input.d.ts.map +1 -1
  165. package/dist/fields/Select/Input.js.map +1 -1
  166. package/dist/fields/Select/index.d.ts +1 -13
  167. package/dist/fields/Select/index.d.ts.map +1 -1
  168. package/dist/fields/Select/index.js +2 -2
  169. package/dist/fields/Select/index.js.map +1 -1
  170. package/dist/fields/Tabs/Tab/index.d.ts +1 -1
  171. package/dist/fields/Tabs/Tab/index.d.ts.map +1 -1
  172. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  173. package/dist/fields/Tabs/index.d.ts +1 -9
  174. package/dist/fields/Tabs/index.d.ts.map +1 -1
  175. package/dist/fields/Tabs/index.js +24 -24
  176. package/dist/fields/Tabs/index.js.map +1 -1
  177. package/dist/fields/Text/index.d.ts +3 -2
  178. package/dist/fields/Text/index.d.ts.map +1 -1
  179. package/dist/fields/Text/index.js +2 -2
  180. package/dist/fields/Text/index.js.map +1 -1
  181. package/dist/fields/Text/types.d.ts +1 -15
  182. package/dist/fields/Text/types.d.ts.map +1 -1
  183. package/dist/fields/Text/types.js.map +1 -1
  184. package/dist/fields/Textarea/index.d.ts +3 -2
  185. package/dist/fields/Textarea/index.d.ts.map +1 -1
  186. package/dist/fields/Textarea/index.js +2 -2
  187. package/dist/fields/Textarea/index.js.map +1 -1
  188. package/dist/fields/Textarea/types.d.ts +1 -11
  189. package/dist/fields/Textarea/types.d.ts.map +1 -1
  190. package/dist/fields/Textarea/types.js.map +1 -1
  191. package/dist/fields/Upload/Input.d.ts +1 -2
  192. package/dist/fields/Upload/Input.d.ts.map +1 -1
  193. package/dist/fields/Upload/Input.js.map +1 -1
  194. package/dist/fields/Upload/index.d.ts +1 -1
  195. package/dist/fields/Upload/index.d.ts.map +1 -1
  196. package/dist/fields/Upload/index.js +2 -2
  197. package/dist/fields/Upload/index.js.map +1 -1
  198. package/dist/fields/shared/index.d.ts +1 -25
  199. package/dist/fields/shared/index.d.ts.map +1 -1
  200. package/dist/fields/shared/index.js.map +1 -1
  201. package/dist/forms/Form/createNestedFieldPath.d.ts +1 -2
  202. package/dist/forms/Form/createNestedFieldPath.d.ts.map +1 -1
  203. package/dist/forms/Form/createNestedFieldPath.js.map +1 -1
  204. package/dist/forms/RenderFields/RenderField.d.ts +4 -3
  205. package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
  206. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  207. package/dist/forms/RenderFields/types.d.ts +1 -2
  208. package/dist/forms/RenderFields/types.d.ts.map +1 -1
  209. package/dist/forms/RenderFields/types.js.map +1 -1
  210. package/dist/forms/WatchChildErrors/buildPathSegments.d.ts +1 -1
  211. package/dist/forms/WatchChildErrors/buildPathSegments.d.ts.map +1 -1
  212. package/dist/forms/WatchChildErrors/buildPathSegments.js.map +1 -1
  213. package/dist/forms/WatchChildErrors/index.d.ts +1 -1
  214. package/dist/forms/WatchChildErrors/index.d.ts.map +1 -1
  215. package/dist/forms/WatchChildErrors/index.js.map +1 -1
  216. package/dist/hooks/usePayloadAPI.d.ts.map +1 -1
  217. package/dist/hooks/usePayloadAPI.js +5 -1
  218. package/dist/hooks/usePayloadAPI.js.map +1 -1
  219. package/dist/hooks/useUseAsTitle.d.ts +1 -2
  220. package/dist/hooks/useUseAsTitle.d.ts.map +1 -1
  221. package/dist/hooks/useUseAsTitle.js.map +1 -1
  222. package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts +1 -2
  223. package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts.map +1 -1
  224. package/dist/providers/ComponentMap/buildComponentMap/fields.js +126 -95
  225. package/dist/providers/ComponentMap/buildComponentMap/fields.js.map +1 -1
  226. package/dist/providers/ComponentMap/buildComponentMap/types.d.ts +1 -56
  227. package/dist/providers/ComponentMap/buildComponentMap/types.d.ts.map +1 -1
  228. package/dist/providers/ComponentMap/buildComponentMap/types.js.map +1 -1
  229. package/dist/providers/ComponentMap/index.d.ts +2 -1
  230. package/dist/providers/ComponentMap/index.d.ts.map +1 -1
  231. package/dist/providers/ComponentMap/index.js.map +1 -1
  232. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  233. package/dist/providers/DocumentInfo/index.js +5 -1
  234. package/dist/providers/DocumentInfo/index.js.map +1 -1
  235. package/dist/styles.css +1 -1
  236. package/dist/utilities/flattenFieldMap.d.ts +1 -1
  237. package/dist/utilities/flattenFieldMap.d.ts.map +1 -1
  238. package/dist/utilities/flattenFieldMap.js.map +1 -1
  239. package/package.json +4 -4
  240. package/dist/fields/Checkbox/types.d.ts +0 -12
  241. package/dist/fields/Checkbox/types.d.ts.map +0 -1
  242. package/dist/fields/Checkbox/types.js +0 -3
  243. package/dist/fields/Checkbox/types.js.map +0 -1
  244. package/dist/fields/Row/types.d.ts +0 -12
  245. package/dist/fields/Row/types.d.ts.map +0 -1
  246. package/dist/fields/Row/types.js +0 -3
  247. package/dist/fields/Row/types.js.map +0 -1
  248. package/dist/fields/Upload/types.d.ts +0 -10
  249. package/dist/fields/Upload/types.d.ts.map +0 -1
  250. package/dist/fields/Upload/types.js +0 -3
  251. package/dist/fields/Upload/types.js.map +0 -1
@@ -1,11 +1,10 @@
1
- import type { ArrayField, FieldPermissions, Row } from 'payload';
1
+ import type { ArrayField, FieldMap, FieldPermissions, Row } from 'payload';
2
2
  import React from 'react';
3
3
  import type { UseDraggableSortableReturn } from '../../elements/DraggableSortable/useDraggableSortable/types.js';
4
- import type { FieldMap } from '../../providers/ComponentMap/buildComponentMap/types.js';
5
4
  import './index.scss';
6
5
  type ArrayRowProps = {
7
6
  CustomRowLabel?: React.ReactNode;
8
- addRow: (rowIndex: number) => void;
7
+ addRow: (rowIndex: number) => Promise<void> | void;
9
8
  duplicateRow: (rowIndex: number) => void;
10
9
  errorCount: number;
11
10
  fieldMap: FieldMap;
@@ -1 +1 @@
1
- {"version":3,"file":"ArrayRow.d.ts","sourceRoot":"","sources":["../../../src/fields/Array/ArrayRow.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,SAAS,CAAA;AAGhE,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,gEAAgE,CAAA;AAChH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yDAAyD,CAAA;AASvF,OAAO,cAAc,CAAA;AAIrB,KAAK,aAAa,GAAG;IACnB,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAChC,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACxC,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,QAAQ,CAAA;IAClB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAA;IAC5B,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IACrD,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,gBAAgB,CAAA;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,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,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,KAAK,IAAI,CAAA;CACzD,GAAG,0BAA0B,CAAA;AAE9B,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CA4G5C,CAAA"}
1
+ {"version":3,"file":"ArrayRow.d.ts","sourceRoot":"","sources":["../../../src/fields/Array/ArrayRow.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,SAAS,CAAA;AAG1E,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,gEAAgE,CAAA;AAShH,OAAO,cAAc,CAAA;AAIrB,KAAK,aAAa,GAAG;IACnB,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAChC,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAClD,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACxC,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,QAAQ,CAAA;IAClB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAA;IAC5B,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IACrD,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,gBAAgB,CAAA;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,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,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,KAAK,IAAI,CAAA;CACzD,GAAG,0BAA0B,CAAA;AAE9B,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CA4G5C,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/Array/ArrayRow.tsx"],"sourcesContent":["'use client'\nimport type { ArrayField, FieldPermissions, Row } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport type { UseDraggableSortableReturn } from '../../elements/DraggableSortable/useDraggableSortable/types.js'\nimport type { FieldMap } from '../../providers/ComponentMap/buildComponentMap/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 CustomRowLabel?: React.ReactNode\n addRow: (rowIndex: number) => void\n duplicateRow: (rowIndex: number) => void\n errorCount: number\n fieldMap: FieldMap\n forceRender?: boolean\n hasMaxRows?: boolean\n indexPath: string\n isSortable?: boolean\n labels: ArrayField['labels']\n moveRow: (fromIndex: number, toIndex: number) => void\n path: string\n permissions: FieldPermissions\n readOnly?: boolean\n removeRow: (rowIndex: number) => void\n row: Row\n rowCount: number\n rowIndex: number\n schemaPath: string\n setCollapse: (rowID: string, collapsed: boolean) => void\n} & UseDraggableSortableReturn\n\nexport const ArrayRow: React.FC<ArrayRowProps> = ({\n CustomRowLabel,\n addRow,\n attributes,\n duplicateRow,\n errorCount,\n fieldMap,\n forceRender = false,\n hasMaxRows,\n indexPath,\n isSortable,\n labels,\n listeners,\n moveRow,\n path: parentPath,\n permissions,\n readOnly,\n removeRow,\n row,\n rowCount,\n rowIndex,\n schemaPath,\n setCollapse,\n setNodeRef,\n transform,\n}) => {\n const path = `${parentPath}.${rowIndex}`\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 }}\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 RowLabelComponent={CustomRowLabel}\n i18n={i18n}\n path={path}\n rowLabel={fallbackLabel}\n rowNumber={rowIndex + 1}\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 fieldMap={fieldMap}\n forceRender={forceRender}\n indexPath={indexPath}\n margins=\"small\"\n path={path}\n permissions={permissions?.fields}\n readOnly={readOnly}\n schemaPath={schemaPath}\n />\n </Collapsible>\n </div>\n )\n}\n"],"names":["getTranslation","React","ArrayAction","Collapsible","ErrorPill","useFormSubmitted","RenderFields","RowLabel","useTranslation","baseClass","ArrayRow","CustomRowLabel","addRow","attributes","duplicateRow","errorCount","fieldMap","forceRender","hasMaxRows","indexPath","isSortable","labels","listeners","moveRow","path","parentPath","permissions","readOnly","removeRow","row","rowCount","rowIndex","schemaPath","setCollapse","setNodeRef","transform","i18n","hasSubmitted","fallbackLabel","singular","String","padStart","fieldHasErrors","classNames","filter","Boolean","join","div","id","split","ref","style","actions","index","undefined","className","collapsibleStyle","dragHandleProps","header","RowLabelComponent","rowLabel","rowNumber","count","withMessage","isCollapsed","collapsed","onToggle","margins","fields"],"mappings":"AAAA;;AAGA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,WAAW,QAAO;AAKzB,SAASC,WAAW,QAAQ,sCAAqC;AACjE,SAASC,WAAW,QAAQ,sCAAqC;AACjE,SAASC,SAAS,QAAQ,oCAAmC;AAC7D,SAASC,gBAAgB,QAAQ,8BAA6B;AAC9D,SAASC,YAAY,QAAQ,oCAAmC;AAChE,SAASC,QAAQ,QAAQ,gCAA+B;AACxD,SAASC,cAAc,QAAQ,uCAAsC;AACrE,OAAO,eAAc;AAErB,MAAMC,YAAY;AAyBlB,OAAO,MAAMC,WAAoC,CAAC,EAChDC,cAAc,EACdC,MAAM,EACNC,UAAU,EACVC,YAAY,EACZC,UAAU,EACVC,QAAQ,EACRC,cAAc,KAAK,EACnBC,UAAU,EACVC,SAAS,EACTC,UAAU,EACVC,MAAM,EACNC,SAAS,EACTC,OAAO,EACPC,MAAMC,UAAU,EAChBC,WAAW,EACXC,QAAQ,EACRC,SAAS,EACTC,GAAG,EACHC,QAAQ,EACRC,QAAQ,EACRC,UAAU,EACVC,WAAW,EACXC,UAAU,EACVC,SAAS,EACV;IACC,MAAMX,OAAO,CAAC,EAAEC,WAAW,CAAC,EAAEM,SAAS,CAAC;IACxC,MAAM,EAAEK,IAAI,EAAE,GAAG5B;IACjB,MAAM6B,eAAehC;IAErB,MAAMiC,gBAAgB,CAAC,EAAEtC,eAAeqB,OAAOkB,QAAQ,EAAEH,MAAM,CAAC,EAAEI,OAAOT,WAAW,GAAGU,QAAQ,CAC7F,GACA,KACA,CAAC;IAEH,MAAMC,iBAAiB3B,aAAa,KAAKsB;IAEzC,MAAMM,aAAa;QACjB,CAAC,EAAElC,UAAU,KAAK,CAAC;QACnBiC,iBAAiB,CAAC,EAAEjC,UAAU,iBAAiB,CAAC,GAAG,CAAC,EAAEA,UAAU,gBAAgB,CAAC;KAClF,CACEmC,MAAM,CAACC,SACPC,IAAI,CAAC;IAER,qBACE,KAACC;QACCC,IAAI,CAAC,EAAEvB,WAAWwB,KAAK,CAAC,KAAKH,IAAI,CAAC,KAAK,KAAK,EAAEf,SAAS,CAAC;QAExDmB,KAAKhB;QACLiB,OAAO;YACLhB;QACF;kBAEA,cAAA,KAAChC;YACCiD,SACE,CAACzB,yBACC,KAACzB;gBACCU,QAAQA;gBACRE,cAAcA;gBACdI,YAAYA;gBACZmC,OAAOtB;gBACPX,YAAYA;gBACZG,SAASA;gBACTK,WAAWA;gBACXE,UAAUA;iBAEVwB;YAENC,WAAWZ;YACXa,kBAAkBd,iBAAiB,UAAU;YAC7Ce,iBACErC,aACI;gBACE4B,IAAInB,IAAImB,EAAE;gBACVnC;gBACAS;YACF,IACAgC;YAENI,sBACE,MAACX;gBAAIQ,WAAW,CAAC,EAAE9C,UAAU,YAAY,CAAC;;kCACxC,KAACF;wBACCoD,mBAAmBhD;wBACnByB,MAAMA;wBACNZ,MAAMA;wBACNoC,UAAUtB;wBACVuB,WAAW9B,WAAW;;oBAEvBW,gCAAkB,KAACtC;wBAAU0D,OAAO/C;wBAAYqB,MAAMA;wBAAM2B,WAAW;;;;YAG5EC,aAAanC,IAAIoC,SAAS;YAC1BC,UAAU,CAACD,YAAchC,YAAYJ,IAAImB,EAAE,EAAEiB;sBAE7C,cAAA,KAAC3D;gBACCiD,WAAW,CAAC,EAAE9C,UAAU,QAAQ,CAAC;gBACjCO,UAAUA;gBACVC,aAAaA;gBACbE,WAAWA;gBACXgD,SAAQ;gBACR3C,MAAMA;gBACNE,aAAaA,aAAa0C;gBAC1BzC,UAAUA;gBACVK,YAAYA;;;OAxDX,CAAC,EAAEP,WAAW,KAAK,EAAEI,IAAImB,EAAE,CAAC,CAAC;AA6DxC,EAAC"}
1
+ {"version":3,"sources":["../../../src/fields/Array/ArrayRow.tsx"],"sourcesContent":["'use client'\nimport type { ArrayField, FieldMap, FieldPermissions, Row } 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 CustomRowLabel?: React.ReactNode\n addRow: (rowIndex: number) => Promise<void> | void\n duplicateRow: (rowIndex: number) => void\n errorCount: number\n fieldMap: FieldMap\n forceRender?: boolean\n hasMaxRows?: boolean\n indexPath: string\n isSortable?: boolean\n labels: ArrayField['labels']\n moveRow: (fromIndex: number, toIndex: number) => void\n path: string\n permissions: FieldPermissions\n readOnly?: boolean\n removeRow: (rowIndex: number) => void\n row: Row\n rowCount: number\n rowIndex: number\n schemaPath: string\n setCollapse: (rowID: string, collapsed: boolean) => void\n} & UseDraggableSortableReturn\n\nexport const ArrayRow: React.FC<ArrayRowProps> = ({\n CustomRowLabel,\n addRow,\n attributes,\n duplicateRow,\n errorCount,\n fieldMap,\n forceRender = false,\n hasMaxRows,\n indexPath,\n isSortable,\n labels,\n listeners,\n moveRow,\n path: parentPath,\n permissions,\n readOnly,\n removeRow,\n row,\n rowCount,\n rowIndex,\n schemaPath,\n setCollapse,\n setNodeRef,\n transform,\n}) => {\n const path = `${parentPath}.${rowIndex}`\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 }}\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 RowLabelComponent={CustomRowLabel}\n i18n={i18n}\n path={path}\n rowLabel={fallbackLabel}\n rowNumber={rowIndex + 1}\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 fieldMap={fieldMap}\n forceRender={forceRender}\n indexPath={indexPath}\n margins=\"small\"\n path={path}\n permissions={permissions?.fields}\n readOnly={readOnly}\n schemaPath={schemaPath}\n />\n </Collapsible>\n </div>\n )\n}\n"],"names":["getTranslation","React","ArrayAction","Collapsible","ErrorPill","useFormSubmitted","RenderFields","RowLabel","useTranslation","baseClass","ArrayRow","CustomRowLabel","addRow","attributes","duplicateRow","errorCount","fieldMap","forceRender","hasMaxRows","indexPath","isSortable","labels","listeners","moveRow","path","parentPath","permissions","readOnly","removeRow","row","rowCount","rowIndex","schemaPath","setCollapse","setNodeRef","transform","i18n","hasSubmitted","fallbackLabel","singular","String","padStart","fieldHasErrors","classNames","filter","Boolean","join","div","id","split","ref","style","actions","index","undefined","className","collapsibleStyle","dragHandleProps","header","RowLabelComponent","rowLabel","rowNumber","count","withMessage","isCollapsed","collapsed","onToggle","margins","fields"],"mappings":"AAAA;;AAGA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,WAAW,QAAO;AAIzB,SAASC,WAAW,QAAQ,sCAAqC;AACjE,SAASC,WAAW,QAAQ,sCAAqC;AACjE,SAASC,SAAS,QAAQ,oCAAmC;AAC7D,SAASC,gBAAgB,QAAQ,8BAA6B;AAC9D,SAASC,YAAY,QAAQ,oCAAmC;AAChE,SAASC,QAAQ,QAAQ,gCAA+B;AACxD,SAASC,cAAc,QAAQ,uCAAsC;AACrE,OAAO,eAAc;AAErB,MAAMC,YAAY;AAyBlB,OAAO,MAAMC,WAAoC,CAAC,EAChDC,cAAc,EACdC,MAAM,EACNC,UAAU,EACVC,YAAY,EACZC,UAAU,EACVC,QAAQ,EACRC,cAAc,KAAK,EACnBC,UAAU,EACVC,SAAS,EACTC,UAAU,EACVC,MAAM,EACNC,SAAS,EACTC,OAAO,EACPC,MAAMC,UAAU,EAChBC,WAAW,EACXC,QAAQ,EACRC,SAAS,EACTC,GAAG,EACHC,QAAQ,EACRC,QAAQ,EACRC,UAAU,EACVC,WAAW,EACXC,UAAU,EACVC,SAAS,EACV;IACC,MAAMX,OAAO,CAAC,EAAEC,WAAW,CAAC,EAAEM,SAAS,CAAC;IACxC,MAAM,EAAEK,IAAI,EAAE,GAAG5B;IACjB,MAAM6B,eAAehC;IAErB,MAAMiC,gBAAgB,CAAC,EAAEtC,eAAeqB,OAAOkB,QAAQ,EAAEH,MAAM,CAAC,EAAEI,OAAOT,WAAW,GAAGU,QAAQ,CAC7F,GACA,KACA,CAAC;IAEH,MAAMC,iBAAiB3B,aAAa,KAAKsB;IAEzC,MAAMM,aAAa;QACjB,CAAC,EAAElC,UAAU,KAAK,CAAC;QACnBiC,iBAAiB,CAAC,EAAEjC,UAAU,iBAAiB,CAAC,GAAG,CAAC,EAAEA,UAAU,gBAAgB,CAAC;KAClF,CACEmC,MAAM,CAACC,SACPC,IAAI,CAAC;IAER,qBACE,KAACC;QACCC,IAAI,CAAC,EAAEvB,WAAWwB,KAAK,CAAC,KAAKH,IAAI,CAAC,KAAK,KAAK,EAAEf,SAAS,CAAC;QAExDmB,KAAKhB;QACLiB,OAAO;YACLhB;QACF;kBAEA,cAAA,KAAChC;YACCiD,SACE,CAACzB,yBACC,KAACzB;gBACCU,QAAQA;gBACRE,cAAcA;gBACdI,YAAYA;gBACZmC,OAAOtB;gBACPX,YAAYA;gBACZG,SAASA;gBACTK,WAAWA;gBACXE,UAAUA;iBAEVwB;YAENC,WAAWZ;YACXa,kBAAkBd,iBAAiB,UAAU;YAC7Ce,iBACErC,aACI;gBACE4B,IAAInB,IAAImB,EAAE;gBACVnC;gBACAS;YACF,IACAgC;YAENI,sBACE,MAACX;gBAAIQ,WAAW,CAAC,EAAE9C,UAAU,YAAY,CAAC;;kCACxC,KAACF;wBACCoD,mBAAmBhD;wBACnByB,MAAMA;wBACNZ,MAAMA;wBACNoC,UAAUtB;wBACVuB,WAAW9B,WAAW;;oBAEvBW,gCAAkB,KAACtC;wBAAU0D,OAAO/C;wBAAYqB,MAAMA;wBAAM2B,WAAW;;;;YAG5EC,aAAanC,IAAIoC,SAAS;YAC1BC,UAAU,CAACD,YAAchC,YAAYJ,IAAImB,EAAE,EAAEiB;sBAE7C,cAAA,KAAC3D;gBACCiD,WAAW,CAAC,EAAE9C,UAAU,QAAQ,CAAC;gBACjCO,UAAUA;gBACVC,aAAaA;gBACbE,WAAWA;gBACXgD,SAAQ;gBACR3C,MAAMA;gBACNE,aAAaA,aAAa0C;gBAC1BzC,UAAUA;gBACVK,YAAYA;;;OAxDX,CAAC,EAAEP,WAAW,KAAK,EAAEI,IAAImB,EAAE,CAAC,CAAC;AA6DxC,EAAC"}
@@ -1,19 +1,6 @@
1
- import type { ArrayField as ArrayFieldType } from 'payload';
1
+ import type { ArrayFieldProps } from 'payload';
2
2
  import React from 'react';
3
- import type { FieldMap } from '../../providers/ComponentMap/buildComponentMap/types.js';
4
- import type { FormFieldBase } from '../shared/index.js';
5
3
  import './index.scss';
6
- export type ArrayFieldProps = {
7
- CustomRowLabel?: React.ReactNode;
8
- fieldMap: FieldMap;
9
- forceRender?: boolean;
10
- isSortable?: boolean;
11
- labels?: ArrayFieldType['labels'];
12
- maxRows?: ArrayFieldType['maxRows'];
13
- minRows?: ArrayFieldType['minRows'];
14
- name?: string;
15
- width?: string;
16
- } & FormFieldBase;
17
4
  export declare const _ArrayField: React.FC<ArrayFieldProps>;
18
5
  export declare const ArrayField: React.FC<ArrayFieldProps>;
19
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Array/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,SAAS,CAAA;AAG3D,OAAO,KAAsB,MAAM,OAAO,CAAA;AAE1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yDAAyD,CAAA;AACvF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAsBvD,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,eAAe,GAAG;IAC5B,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAChC,QAAQ,EAAE,QAAQ,CAAA;IAClB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,MAAM,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAA;IACjC,OAAO,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC,CAAA;IACnC,OAAO,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC,CAAA;IACnC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,GAAG,aAAa,CAAA;AAEjB,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAyRjD,CAAA;AAED,eAAO,MAAM,UAAU,2BAA6B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Array/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAgC,MAAM,SAAS,CAAA;AAG5E,OAAO,KAAsB,MAAM,OAAO,CAAA;AAsB1C,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA4RjD,CAAA;AAED,eAAO,MAAM,UAAU,2BAA6B,CAAA"}
@@ -300,7 +300,9 @@ export const _ArrayField = (props)=>{
300
300
  icon: "plus",
301
301
  iconPosition: "left",
302
302
  iconStyle: "with-border",
303
- onClick: ()=>addRow(value || 0),
303
+ onClick: ()=>{
304
+ void addRow(value || 0);
305
+ },
304
306
  children: t('fields:addLabel', {
305
307
  label: getTranslation(labels.singular, i18n)
306
308
  })
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/Array/index.tsx"],"sourcesContent":["'use client'\nimport type { ArrayField as ArrayFieldType } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback } from 'react'\n\nimport type { FieldMap } from '../../providers/ComponentMap/buildComponentMap/types.js'\nimport type { FormFieldBase } from '../shared/index.js'\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 { useFieldProps } from '../../forms/FieldPropsProvider/index.js'\nimport { useForm, useFormSubmitted } from '../../forms/Form/context.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 { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldError } from '../FieldError/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { ArrayRow } from './ArrayRow.js'\nimport './index.scss'\n\nconst baseClass = 'array-field'\n\nexport type ArrayFieldProps = {\n CustomRowLabel?: React.ReactNode\n fieldMap: FieldMap\n forceRender?: boolean\n isSortable?: boolean\n labels?: ArrayFieldType['labels']\n maxRows?: ArrayFieldType['maxRows']\n minRows?: ArrayFieldType['minRows']\n name?: string\n width?: string\n} & FormFieldBase\n\nexport const _ArrayField: React.FC<ArrayFieldProps> = (props) => {\n const {\n name,\n CustomDescription,\n CustomError,\n CustomLabel,\n CustomRowLabel,\n className,\n descriptionProps,\n errorProps,\n fieldMap,\n forceRender = false,\n isSortable = true,\n label,\n labelProps,\n localized,\n maxRows,\n minRows: minRowsProp,\n path: pathFromProps,\n readOnly: readOnlyFromProps,\n required,\n validate,\n } = props\n\n const {\n indexPath,\n path: pathFromContext,\n permissions,\n readOnly: readOnlyFromContext,\n } = useFieldProps()\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 const { localization } = 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: ArrayFieldProps): ArrayFieldType['labels'] => {\n if ('labels' in p && p?.labels) return p.labels\n if ('label' in p && p?.label) return { plural: undefined, singular: p?.label }\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 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 errorPaths,\n formInitializing,\n formProcessing,\n path,\n rows = [],\n schemaPath,\n showError,\n valid,\n value,\n } = useField<number>({\n hasRows: true,\n path: pathFromContext ?? pathFromProps ?? name,\n validate: memoizedValidate,\n })\n\n const disabled = readOnlyFromProps || readOnlyFromContext || formProcessing || formInitializing\n\n const addRow = useCallback(\n async (rowIndex: number) => {\n await addFieldRow({ path, rowIndex, schemaPath })\n setModified(true)\n\n setTimeout(() => {\n scrollToID(`${path}-row-${rowIndex + 1}`)\n }, 0)\n },\n [addFieldRow, path, setModified, schemaPath],\n )\n\n const duplicateRow = useCallback(\n (rowIndex: number) => {\n dispatchFields({ type: 'DUPLICATE_ROW', path, rowIndex })\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 dispatchFields({ type: 'SET_ALL_ROWS_COLLAPSED', collapsed, path, setDocFieldPreferences })\n },\n [dispatchFields, path, setDocFieldPreferences],\n )\n\n const setCollapse = useCallback(\n (rowID: string, collapsed: boolean) => {\n dispatchFields({ type: 'SET_ROW_COLLAPSED', collapsed, path, rowID, setDocFieldPreferences })\n },\n [dispatchFields, path, setDocFieldPreferences],\n )\n\n const hasMaxRows = maxRows && rows.length >= maxRows\n\n const fieldErrorCount = errorPaths.length\n const fieldHasErrors = submitted && errorPaths.length > 0\n\n const showRequired = disabled && rows.length === 0\n const showMinRows = rows.length < minRows || (required && rows.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 && <FieldError CustomError={CustomError} path={path} {...(errorProps || {})} />}\n <header className={`${baseClass}__header`}>\n <div className={`${baseClass}__header-wrap`}>\n <div className={`${baseClass}__header-content`}>\n <h3 className={`${baseClass}__title`}>\n <FieldLabel\n CustomLabel={CustomLabel}\n as=\"span\"\n label={label}\n required={required}\n unstyled\n {...(labelProps || {})}\n />\n </h3>\n {fieldHasErrors && fieldErrorCount > 0 && (\n <ErrorPill count={fieldErrorCount} i18n={i18n} withMessage />\n )}\n </div>\n {rows.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 <FieldDescription CustomDescription={CustomDescription} {...(descriptionProps || {})} />\n </header>\n <NullifyLocaleField fieldValue={value} localized={localized} path={path} />\n {(rows.length > 0 || (!valid && (showRequired || showMinRows))) && (\n <DraggableSortable\n className={`${baseClass}__draggable-rows`}\n ids={rows.map((row) => row.id)}\n onDragEnd={({ moveFromIndex, moveToIndex }) => moveRow(moveFromIndex, moveToIndex)}\n >\n {rows.map((row, i) => {\n const rowErrorCount = errorPaths?.filter((errorPath) =>\n errorPath.startsWith(`${path}.${i}.`),\n ).length\n return (\n <DraggableSortableItem disabled={disabled || !isSortable} id={row.id} key={row.id}>\n {(draggableSortableItemProps) => (\n <ArrayRow\n {...draggableSortableItemProps}\n CustomRowLabel={CustomRowLabel}\n addRow={addRow}\n duplicateRow={duplicateRow}\n errorCount={rowErrorCount}\n fieldMap={fieldMap}\n forceRender={forceRender}\n hasMaxRows={hasMaxRows}\n indexPath={indexPath}\n isSortable={isSortable}\n labels={labels}\n moveRow={moveRow}\n path={path}\n permissions={permissions}\n readOnly={disabled}\n removeRow={removeRow}\n row={row}\n rowCount={rows.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 {!disabled && !hasMaxRows && (\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__add-row`}\n icon=\"plus\"\n iconPosition=\"left\"\n iconStyle=\"with-border\"\n onClick={() => addRow(value || 0)}\n >\n {t('fields:addLabel', { label: getTranslation(labels.singular, i18n) })}\n </Button>\n )}\n </div>\n )\n}\n\nexport const ArrayField = withCondition(_ArrayField)\n"],"names":["getTranslation","React","useCallback","Banner","Button","DraggableSortableItem","DraggableSortable","ErrorPill","useFieldProps","useForm","useFormSubmitted","NullifyLocaleField","useField","withCondition","useConfig","useDocumentInfo","useLocale","useTranslation","scrollToID","FieldDescription","FieldError","FieldLabel","fieldBaseClass","ArrayRow","baseClass","_ArrayField","props","name","CustomDescription","CustomError","CustomLabel","CustomRowLabel","className","descriptionProps","errorProps","fieldMap","forceRender","isSortable","label","labelProps","localized","maxRows","minRows","minRowsProp","path","pathFromProps","readOnly","readOnlyFromProps","required","validate","indexPath","pathFromContext","permissions","readOnlyFromContext","setDocFieldPreferences","addFieldRow","dispatchFields","setModified","submitted","code","locale","i18n","t","localization","editingDefaultLocale","fallback","defaultLocale","getLabels","p","labels","plural","undefined","singular","memoizedValidate","value","options","errorPaths","formInitializing","formProcessing","rows","schemaPath","showError","valid","hasRows","disabled","addRow","rowIndex","setTimeout","duplicateRow","type","removeRow","moveRow","moveFromIndex","moveToIndex","toggleCollapseAll","collapsed","setCollapse","rowID","hasMaxRows","length","fieldErrorCount","fieldHasErrors","showRequired","showMinRows","div","filter","Boolean","join","id","replace","header","h3","as","unstyled","count","withMessage","ul","li","button","onClick","fieldValue","ids","map","row","onDragEnd","i","rowErrorCount","errorPath","startsWith","draggableSortableItemProps","errorCount","rowCount","Fragment","buttonStyle","icon","iconPosition","iconStyle","ArrayField"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/fields/Array/index.tsx"],"sourcesContent":["'use client'\nimport type { ArrayFieldProps, ArrayField as ArrayFieldType } 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 { useFieldProps } from '../../forms/FieldPropsProvider/index.js'\nimport { useForm, useFormSubmitted } from '../../forms/Form/context.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 { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldError } from '../FieldError/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { ArrayRow } from './ArrayRow.js'\nimport './index.scss'\n\nconst baseClass = 'array-field'\n\nexport const _ArrayField: React.FC<ArrayFieldProps> = (props) => {\n const {\n name,\n CustomDescription,\n CustomError,\n CustomLabel,\n CustomRowLabel,\n className,\n descriptionProps,\n errorProps,\n fieldMap,\n forceRender = false,\n isSortable = true,\n label,\n labelProps,\n localized,\n maxRows,\n minRows: minRowsProp,\n path: pathFromProps,\n readOnly: readOnlyFromProps,\n required,\n validate,\n } = props\n\n const {\n indexPath,\n path: pathFromContext,\n permissions,\n readOnly: readOnlyFromContext,\n } = useFieldProps()\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 const { localization } = 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: ArrayFieldProps): ArrayFieldType['labels'] => {\n if ('labels' in p && p?.labels) return p.labels\n if ('label' in p && p?.label) return { plural: undefined, singular: p?.label }\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 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 errorPaths,\n formInitializing,\n formProcessing,\n path,\n rows = [],\n schemaPath,\n showError,\n valid,\n value,\n } = useField<number>({\n hasRows: true,\n path: pathFromContext ?? pathFromProps ?? name,\n validate: memoizedValidate,\n })\n\n const disabled = readOnlyFromProps || readOnlyFromContext || formProcessing || formInitializing\n\n const addRow = useCallback(\n async (rowIndex: number): Promise<void> => {\n await addFieldRow({ path, rowIndex, schemaPath })\n setModified(true)\n\n setTimeout(() => {\n scrollToID(`${path}-row-${rowIndex + 1}`)\n }, 0)\n },\n [addFieldRow, path, setModified, schemaPath],\n )\n\n const duplicateRow = useCallback(\n (rowIndex: number) => {\n dispatchFields({ type: 'DUPLICATE_ROW', path, rowIndex })\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 dispatchFields({ type: 'SET_ALL_ROWS_COLLAPSED', collapsed, path, setDocFieldPreferences })\n },\n [dispatchFields, path, setDocFieldPreferences],\n )\n\n const setCollapse = useCallback(\n (rowID: string, collapsed: boolean) => {\n dispatchFields({ type: 'SET_ROW_COLLAPSED', collapsed, path, rowID, setDocFieldPreferences })\n },\n [dispatchFields, path, setDocFieldPreferences],\n )\n\n const hasMaxRows = maxRows && rows.length >= maxRows\n\n const fieldErrorCount = errorPaths.length\n const fieldHasErrors = submitted && errorPaths.length > 0\n\n const showRequired = disabled && rows.length === 0\n const showMinRows = rows.length < minRows || (required && rows.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 && <FieldError CustomError={CustomError} path={path} {...(errorProps || {})} />}\n <header className={`${baseClass}__header`}>\n <div className={`${baseClass}__header-wrap`}>\n <div className={`${baseClass}__header-content`}>\n <h3 className={`${baseClass}__title`}>\n <FieldLabel\n CustomLabel={CustomLabel}\n as=\"span\"\n label={label}\n required={required}\n unstyled\n {...(labelProps || {})}\n />\n </h3>\n {fieldHasErrors && fieldErrorCount > 0 && (\n <ErrorPill count={fieldErrorCount} i18n={i18n} withMessage />\n )}\n </div>\n {rows.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 <FieldDescription CustomDescription={CustomDescription} {...(descriptionProps || {})} />\n </header>\n <NullifyLocaleField fieldValue={value} localized={localized} path={path} />\n {(rows.length > 0 || (!valid && (showRequired || showMinRows))) && (\n <DraggableSortable\n className={`${baseClass}__draggable-rows`}\n ids={rows.map((row) => row.id)}\n onDragEnd={({ moveFromIndex, moveToIndex }) => moveRow(moveFromIndex, moveToIndex)}\n >\n {rows.map((row, i) => {\n const rowErrorCount = errorPaths?.filter((errorPath) =>\n errorPath.startsWith(`${path}.${i}.`),\n ).length\n return (\n <DraggableSortableItem disabled={disabled || !isSortable} id={row.id} key={row.id}>\n {(draggableSortableItemProps) => (\n <ArrayRow\n {...draggableSortableItemProps}\n CustomRowLabel={CustomRowLabel}\n addRow={addRow}\n duplicateRow={duplicateRow}\n errorCount={rowErrorCount}\n fieldMap={fieldMap}\n forceRender={forceRender}\n hasMaxRows={hasMaxRows}\n indexPath={indexPath}\n isSortable={isSortable}\n labels={labels}\n moveRow={moveRow}\n path={path}\n permissions={permissions}\n readOnly={disabled}\n removeRow={removeRow}\n row={row}\n rowCount={rows.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 {!disabled && !hasMaxRows && (\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__add-row`}\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 </div>\n )\n}\n\nexport const ArrayField = withCondition(_ArrayField)\n"],"names":["getTranslation","React","useCallback","Banner","Button","DraggableSortableItem","DraggableSortable","ErrorPill","useFieldProps","useForm","useFormSubmitted","NullifyLocaleField","useField","withCondition","useConfig","useDocumentInfo","useLocale","useTranslation","scrollToID","FieldDescription","FieldError","FieldLabel","fieldBaseClass","ArrayRow","baseClass","_ArrayField","props","name","CustomDescription","CustomError","CustomLabel","CustomRowLabel","className","descriptionProps","errorProps","fieldMap","forceRender","isSortable","label","labelProps","localized","maxRows","minRows","minRowsProp","path","pathFromProps","readOnly","readOnlyFromProps","required","validate","indexPath","pathFromContext","permissions","readOnlyFromContext","setDocFieldPreferences","addFieldRow","dispatchFields","setModified","submitted","code","locale","i18n","t","localization","editingDefaultLocale","fallback","defaultLocale","getLabels","p","labels","plural","undefined","singular","memoizedValidate","value","options","errorPaths","formInitializing","formProcessing","rows","schemaPath","showError","valid","hasRows","disabled","addRow","rowIndex","setTimeout","duplicateRow","type","removeRow","moveRow","moveFromIndex","moveToIndex","toggleCollapseAll","collapsed","setCollapse","rowID","hasMaxRows","length","fieldErrorCount","fieldHasErrors","showRequired","showMinRows","div","filter","Boolean","join","id","replace","header","h3","as","unstyled","count","withMessage","ul","li","button","onClick","fieldValue","ids","map","row","onDragEnd","i","rowErrorCount","errorPath","startsWith","draggableSortableItemProps","errorCount","rowCount","Fragment","buttonStyle","icon","iconPosition","iconStyle","ArrayField"],"mappings":"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"}
@@ -1,9 +1,8 @@
1
- import type { FieldPermissions, Labels, Row } from 'payload';
1
+ import type { FieldPermissions, Labels, ReducedBlock, Row } from 'payload';
2
2
  import React from 'react';
3
3
  import type { UseDraggableSortableReturn } from '../../elements/DraggableSortable/useDraggableSortable/types.js';
4
- import type { ReducedBlock } from '../../providers/ComponentMap/buildComponentMap/types.js';
5
4
  type BlockFieldProps = {
6
- addRow: (rowIndex: number, blockType: string) => void;
5
+ addRow: (rowIndex: number, blockType: string) => Promise<void> | void;
7
6
  block: ReducedBlock;
8
7
  blocks: ReducedBlock[];
9
8
  duplicateRow: (rowIndex: number) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"BlockRow.d.ts","sourceRoot":"","sources":["../../../src/fields/Blocks/BlockRow.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,SAAS,CAAA;AAG5D,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,gEAAgE,CAAA;AAChH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yDAAyD,CAAA;AAa3F,KAAK,eAAe,GAAG;IACrB,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;IACrD,KAAK,EAAE,YAAY,CAAA;IACnB,MAAM,EAAE,YAAY,EAAE,CAAA;IACtB,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACxC,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IACrD,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,gBAAgB,CAAA;IAC7B,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,eAAe,CAmH9C,CAAA"}
1
+ {"version":3,"file":"BlockRow.d.ts","sourceRoot":"","sources":["../../../src/fields/Blocks/BlockRow.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,SAAS,CAAA;AAG1E,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,gEAAgE,CAAA;AAahH,KAAK,eAAe,GAAG;IACrB,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACrE,KAAK,EAAE,YAAY,CAAA;IACnB,MAAM,EAAE,YAAY,EAAE,CAAA;IACtB,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACxC,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IACrD,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,gBAAgB,CAAA;IAC7B,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,eAAe,CAmH9C,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/Blocks/BlockRow.tsx"],"sourcesContent":["'use client'\nimport type { FieldPermissions, Labels, Row } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport type { UseDraggableSortableReturn } from '../../elements/DraggableSortable/useDraggableSortable/types.js'\nimport type { ReducedBlock } from '../../providers/ComponentMap/buildComponentMap/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 BlockFieldProps = {\n addRow: (rowIndex: number, blockType: string) => void\n block: ReducedBlock\n blocks: ReducedBlock[]\n duplicateRow: (rowIndex: number) => void\n errorCount: number\n forceRender?: boolean\n hasMaxRows?: boolean\n indexPath: string\n isSortable?: boolean\n labels: Labels\n moveRow: (fromIndex: number, toIndex: number) => void\n path: string\n permissions: FieldPermissions\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<BlockFieldProps> = ({\n addRow,\n attributes,\n block,\n blocks,\n duplicateRow,\n errorCount,\n forceRender,\n hasMaxRows,\n isSortable,\n labels,\n listeners,\n moveRow,\n path: parentPath,\n permissions,\n readOnly,\n removeRow,\n row,\n rowCount,\n rowIndex,\n schemaPath,\n setCollapse,\n setNodeRef,\n transform,\n}) => {\n const path = `${parentPath}.${rowIndex}`\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 const LabelComponent = block?.LabelComponent\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 blockType={row.blockType}\n blocks={blocks}\n duplicateRow={duplicateRow}\n fieldMap={block.fieldMap}\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 LabelComponent ? (\n <LabelComponent blockKind={'block'} formData={row} />\n ) : (\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 fieldMap={block.fieldMap}\n forceRender={forceRender}\n margins=\"small\"\n path={path}\n permissions={permissions?.blocks?.[block.slug]?.fields}\n readOnly={readOnly}\n schemaPath={`${schemaPath}.${block.slug}`}\n />\n </Collapsible>\n </div>\n )\n}\n"],"names":["getTranslation","React","Collapsible","ErrorPill","Pill","useFormSubmitted","RenderFields","useTranslation","RowActions","SectionTitle","baseClass","BlockRow","addRow","attributes","block","blocks","duplicateRow","errorCount","forceRender","hasMaxRows","isSortable","labels","listeners","moveRow","path","parentPath","permissions","readOnly","removeRow","row","rowCount","rowIndex","schemaPath","setCollapse","setNodeRef","transform","i18n","hasSubmitted","fieldHasErrors","classNames","filter","Boolean","join","LabelComponent","div","id","split","ref","style","actions","blockType","fieldMap","undefined","className","collapsibleStyle","dragHandleProps","header","blockKind","formData","span","String","padStart","pillStyle","singular","count","withMessage","isCollapsed","collapsed","onToggle","margins","slug","fields"],"mappings":"AAAA;;AAGA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,WAAW,QAAO;AAKzB,SAASC,WAAW,QAAQ,sCAAqC;AACjE,SAASC,SAAS,QAAQ,oCAAmC;AAC7D,SAASC,IAAI,QAAQ,+BAA8B;AACnD,SAASC,gBAAgB,QAAQ,8BAA6B;AAC9D,SAASC,YAAY,QAAQ,oCAAmC;AAChE,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,UAAU,QAAQ,kBAAiB;AAC5C,SAASC,YAAY,QAAQ,0BAAyB;AAEtD,MAAMC,YAAY;AAyBlB,OAAO,MAAMC,WAAsC,CAAC,EAClDC,MAAM,EACNC,UAAU,EACVC,KAAK,EACLC,MAAM,EACNC,YAAY,EACZC,UAAU,EACVC,WAAW,EACXC,UAAU,EACVC,UAAU,EACVC,MAAM,EACNC,SAAS,EACTC,OAAO,EACPC,MAAMC,UAAU,EAChBC,WAAW,EACXC,QAAQ,EACRC,SAAS,EACTC,GAAG,EACHC,QAAQ,EACRC,QAAQ,EACRC,UAAU,EACVC,WAAW,EACXC,UAAU,EACVC,SAAS,EACV;IACC,MAAMX,OAAO,CAAC,EAAEC,WAAW,CAAC,EAAEM,SAAS,CAAC;IACxC,MAAM,EAAEK,IAAI,EAAE,GAAG7B;IACjB,MAAM8B,eAAehC;IAErB,MAAMiC,iBAAiBD,gBAAgBpB,aAAa;IAEpD,MAAMsB,aAAa;QACjB,CAAC,EAAE7B,UAAU,KAAK,CAAC;QACnB4B,iBAAiB,CAAC,EAAE5B,UAAU,iBAAiB,CAAC,GAAG,CAAC,EAAEA,UAAU,gBAAgB,CAAC;KAClF,CACE8B,MAAM,CAACC,SACPC,IAAI,CAAC;IAER,MAAMC,iBAAiB7B,OAAO6B;IAE9B,qBACE,KAACC;QACCC,IAAI,CAAC,EAAEpB,WAAWqB,KAAK,CAAC,KAAKJ,IAAI,CAAC,KAAK,KAAK,EAAEX,SAAS,CAAC;QAExDgB,KAAKb;QACLc,OAAO;YACLb;QACF;kBAEA,cAAA,KAACjC;YACC+C,SACE,CAACtB,yBACC,KAACnB;gBACCI,QAAQA;gBACRsC,WAAWrB,IAAIqB,SAAS;gBACxBnC,QAAQA;gBACRC,cAAcA;gBACdmC,UAAUrC,MAAMqC,QAAQ;gBACxBhC,YAAYA;gBACZC,YAAYA;gBACZC,QAAQA;gBACRE,SAASA;gBACTK,WAAWA;gBACXE,UAAUA;gBACVC,UAAUA;iBAEVqB;YAENC,WAAWd;YACXe,kBAAkBhB,iBAAiB,UAAU;YAC7CiB,iBACEnC,aACI;gBACEyB,IAAIhB,IAAIgB,EAAE;gBACVhC;gBACAS;YACF,IACA8B;YAENI,QACEb,+BACE,KAACA;gBAAec,WAAW;gBAASC,UAAU7B;+BAE9C,MAACe;gBAAIS,WAAW,CAAC,EAAE3C,UAAU,cAAc,CAAC;;kCAC1C,KAACiD;wBAAKN,WAAW,CAAC,EAAE3C,UAAU,cAAc,CAAC;kCAC1CkD,OAAO7B,WAAW,GAAG8B,QAAQ,CAAC,GAAG;;kCAEpC,KAACzD;wBACCiD,WAAW,CAAC,EAAE3C,UAAU,aAAa,EAAEA,UAAU,aAAa,EAAEmB,IAAIqB,SAAS,CAAC,CAAC;wBAC/EY,WAAU;kCAET9D,eAAec,MAAMO,MAAM,CAAC0C,QAAQ,EAAE3B;;kCAEzC,KAAC3B;wBAAae,MAAM,CAAC,EAAEA,KAAK,UAAU,CAAC;wBAAEG,UAAUA;;oBAClDW,gCAAkB,KAACnC;wBAAU6D,OAAO/C;wBAAYmB,MAAMA;wBAAM6B,WAAW;;;;YAI9EC,aAAarC,IAAIsC,SAAS;YAE1BC,UAAU,CAACD,YAAclC,YAAYJ,IAAIgB,EAAE,EAAEsB;sBAE7C,cAAA,KAAC7D;gBACC+C,WAAW,CAAC,EAAE3C,UAAU,QAAQ,CAAC;gBACjCyC,UAAUrC,MAAMqC,QAAQ;gBACxBjC,aAAaA;gBACbmD,SAAQ;gBACR7C,MAAMA;gBACNE,aAAaA,aAAaX,QAAQ,CAACD,MAAMwD,IAAI,CAAC,EAAEC;gBAChD5C,UAAUA;gBACVK,YAAY,CAAC,EAAEA,WAAW,CAAC,EAAElB,MAAMwD,IAAI,CAAC,CAAC;;WAXtCzC,IAAIgB,EAAE;OAxDR,CAAC,EAAEpB,WAAW,KAAK,EAAEM,SAAS,CAAC;AAwE1C,EAAC"}
1
+ {"version":3,"sources":["../../../src/fields/Blocks/BlockRow.tsx"],"sourcesContent":["'use client'\nimport type { FieldPermissions, Labels, ReducedBlock, Row } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport type { UseDraggableSortableReturn } from '../../elements/DraggableSortable/useDraggableSortable/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 BlockFieldProps = {\n addRow: (rowIndex: number, blockType: string) => Promise<void> | void\n block: ReducedBlock\n blocks: ReducedBlock[]\n duplicateRow: (rowIndex: number) => void\n errorCount: number\n forceRender?: boolean\n hasMaxRows?: boolean\n indexPath: string\n isSortable?: boolean\n labels: Labels\n moveRow: (fromIndex: number, toIndex: number) => void\n path: string\n permissions: FieldPermissions\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<BlockFieldProps> = ({\n addRow,\n attributes,\n block,\n blocks,\n duplicateRow,\n errorCount,\n forceRender,\n hasMaxRows,\n isSortable,\n labels,\n listeners,\n moveRow,\n path: parentPath,\n permissions,\n readOnly,\n removeRow,\n row,\n rowCount,\n rowIndex,\n schemaPath,\n setCollapse,\n setNodeRef,\n transform,\n}) => {\n const path = `${parentPath}.${rowIndex}`\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 const LabelComponent = block?.LabelComponent\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 blockType={row.blockType}\n blocks={blocks}\n duplicateRow={duplicateRow}\n fieldMap={block.fieldMap}\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 LabelComponent ? (\n <LabelComponent blockKind={'block'} formData={row} />\n ) : (\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 fieldMap={block.fieldMap}\n forceRender={forceRender}\n margins=\"small\"\n path={path}\n permissions={permissions?.blocks?.[block.slug]?.fields}\n readOnly={readOnly}\n schemaPath={`${schemaPath}.${block.slug}`}\n />\n </Collapsible>\n </div>\n )\n}\n"],"names":["getTranslation","React","Collapsible","ErrorPill","Pill","useFormSubmitted","RenderFields","useTranslation","RowActions","SectionTitle","baseClass","BlockRow","addRow","attributes","block","blocks","duplicateRow","errorCount","forceRender","hasMaxRows","isSortable","labels","listeners","moveRow","path","parentPath","permissions","readOnly","removeRow","row","rowCount","rowIndex","schemaPath","setCollapse","setNodeRef","transform","i18n","hasSubmitted","fieldHasErrors","classNames","filter","Boolean","join","LabelComponent","div","id","split","ref","style","actions","blockType","fieldMap","undefined","className","collapsibleStyle","dragHandleProps","header","blockKind","formData","span","String","padStart","pillStyle","singular","count","withMessage","isCollapsed","collapsed","onToggle","margins","slug","fields"],"mappings":"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"}
@@ -1,9 +1,8 @@
1
- import type { Labels } from 'payload';
1
+ import type { Labels, ReducedBlock } from 'payload';
2
2
  import React from 'react';
3
- import type { ReducedBlock } from '../../../providers/ComponentMap/buildComponentMap/types.js';
4
3
  import './index.scss';
5
4
  export type Props = {
6
- addRow: (index: number, blockType?: string) => void;
5
+ addRow: (index: number, blockType?: string) => Promise<void> | void;
7
6
  addRowIndex: number;
8
7
  blocks: ReducedBlock[];
9
8
  drawerSlug: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/fields/Blocks/BlocksDrawer/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAIrC,OAAO,KAA8B,MAAM,OAAO,CAAA;AAElD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4DAA4D,CAAA;AAO9F,OAAO,cAAc,CAAA;AAErB,MAAM,MAAM,KAAK,GAAG;IAClB,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IACnD,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,YAAY,EAAE,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAYD,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA+DxC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/fields/Blocks/BlocksDrawer/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAInD,OAAO,KAA8B,MAAM,OAAO,CAAA;AAOlD,OAAO,cAAc,CAAA;AAErB,MAAM,MAAM,KAAK,GAAG;IAClB,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACnE,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,YAAY,EAAE,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAYD,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA+DxC,CAAA"}
@@ -64,7 +64,7 @@ export const BlocksDrawer = (props)=>{
64
64
  alignLabel: "center",
65
65
  label: getTranslation(blockLabels?.singular, i18n),
66
66
  onClick: ()=>{
67
- addRow(addRowIndex, slug);
67
+ void addRow(addRowIndex, slug);
68
68
  closeModal(drawerSlug);
69
69
  },
70
70
  thumbnail: imageURL ? /*#__PURE__*/ _jsx("img", {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/fields/Blocks/BlocksDrawer/index.tsx"],"sourcesContent":["'use client'\nimport type { I18nClient } from '@payloadcms/translations'\nimport type { Labels } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useEffect, useState } from 'react'\n\nimport type { ReducedBlock } from '../../../providers/ComponentMap/buildComponentMap/types.js'\n\nimport { Drawer } from '../../../elements/Drawer/index.js'\nimport { ThumbnailCard } from '../../../elements/ThumbnailCard/index.js'\nimport { DefaultBlockImage } from '../../../graphics/DefaultBlockImage/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { BlockSearch } from './BlockSearch/index.js'\nimport './index.scss'\n\nexport type Props = {\n addRow: (index: number, blockType?: string) => void\n addRowIndex: number\n blocks: ReducedBlock[]\n drawerSlug: string\n labels: Labels\n}\n\nconst baseClass = 'blocks-drawer'\n\nconst getBlockLabel = (block: ReducedBlock, i18n: I18nClient) => {\n if (typeof block.labels.singular === 'string') return block.labels.singular.toLowerCase()\n if (typeof block.labels.singular === 'object') {\n return getTranslation(block.labels.singular, i18n).toLowerCase()\n }\n return ''\n}\n\nexport const BlocksDrawer: React.FC<Props> = (props) => {\n const { addRow, addRowIndex, blocks, drawerSlug, labels } = props\n\n const [searchTerm, setSearchTerm] = useState('')\n const [filteredBlocks, setFilteredBlocks] = useState(blocks)\n const { closeModal, isModalOpen } = useModal()\n const { i18n, t } = useTranslation()\n\n useEffect(() => {\n if (!isModalOpen) {\n setSearchTerm('')\n }\n }, [isModalOpen])\n\n useEffect(() => {\n const searchTermToUse = searchTerm.toLowerCase()\n\n const matchingBlocks = blocks?.reduce((matchedBlocks, block) => {\n const blockLabel = getBlockLabel(block, i18n)\n if (blockLabel.includes(searchTermToUse)) matchedBlocks.push(block)\n return matchedBlocks\n }, [])\n\n setFilteredBlocks(matchingBlocks)\n }, [searchTerm, blocks, i18n])\n\n return (\n <Drawer\n slug={drawerSlug}\n title={t('fields:addLabel', { label: getTranslation(labels.singular, i18n) })}\n >\n <BlockSearch setSearchTerm={setSearchTerm} />\n <div className={`${baseClass}__blocks-wrapper`}>\n <ul className={`${baseClass}__blocks`}>\n {filteredBlocks?.map((block, index) => {\n const { slug, imageAltText, imageURL, labels: blockLabels } = block\n\n return (\n <li className={`${baseClass}__block`} key={index}>\n <ThumbnailCard\n alignLabel=\"center\"\n label={getTranslation(blockLabels?.singular, i18n)}\n onClick={() => {\n addRow(addRowIndex, slug)\n closeModal(drawerSlug)\n }}\n thumbnail={\n imageURL ? (\n <img alt={imageAltText} src={imageURL} />\n ) : (\n <div className={`${baseClass}__default-image`}>\n <DefaultBlockImage />\n </div>\n )\n }\n />\n </li>\n )\n })}\n </ul>\n </div>\n </Drawer>\n )\n}\n"],"names":["useModal","getTranslation","React","useEffect","useState","Drawer","ThumbnailCard","DefaultBlockImage","useTranslation","BlockSearch","baseClass","getBlockLabel","block","i18n","labels","singular","toLowerCase","BlocksDrawer","props","addRow","addRowIndex","blocks","drawerSlug","searchTerm","setSearchTerm","filteredBlocks","setFilteredBlocks","closeModal","isModalOpen","t","searchTermToUse","matchingBlocks","reduce","matchedBlocks","blockLabel","includes","push","slug","title","label","div","className","ul","map","index","imageAltText","imageURL","blockLabels","li","alignLabel","onClick","thumbnail","img","alt","src"],"mappings":"AAAA;;AAIA,SAASA,QAAQ,QAAQ,qBAAoB;AAC7C,SAASC,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,SAASC,SAAS,EAAEC,QAAQ,QAAQ,QAAO;AAIlD,SAASC,MAAM,QAAQ,oCAAmC;AAC1D,SAASC,aAAa,QAAQ,2CAA0C;AACxE,SAASC,iBAAiB,QAAQ,+CAA8C;AAChF,SAASC,cAAc,QAAQ,0CAAyC;AACxE,SAASC,WAAW,QAAQ,yBAAwB;AACpD,OAAO,eAAc;AAUrB,MAAMC,YAAY;AAElB,MAAMC,gBAAgB,CAACC,OAAqBC;IAC1C,IAAI,OAAOD,MAAME,MAAM,CAACC,QAAQ,KAAK,UAAU,OAAOH,MAAME,MAAM,CAACC,QAAQ,CAACC,WAAW;IACvF,IAAI,OAAOJ,MAAME,MAAM,CAACC,QAAQ,KAAK,UAAU;QAC7C,OAAOd,eAAeW,MAAME,MAAM,CAACC,QAAQ,EAAEF,MAAMG,WAAW;IAChE;IACA,OAAO;AACT;AAEA,OAAO,MAAMC,eAAgC,CAACC;IAC5C,MAAM,EAAEC,MAAM,EAAEC,WAAW,EAAEC,MAAM,EAAEC,UAAU,EAAER,MAAM,EAAE,GAAGI;IAE5D,MAAM,CAACK,YAAYC,cAAc,GAAGpB,SAAS;IAC7C,MAAM,CAACqB,gBAAgBC,kBAAkB,GAAGtB,SAASiB;IACrD,MAAM,EAAEM,UAAU,EAAEC,WAAW,EAAE,GAAG5B;IACpC,MAAM,EAAEa,IAAI,EAAEgB,CAAC,EAAE,GAAGrB;IAEpBL,UAAU;QACR,IAAI,CAACyB,aAAa;YAChBJ,cAAc;QAChB;IACF,GAAG;QAACI;KAAY;IAEhBzB,UAAU;QACR,MAAM2B,kBAAkBP,WAAWP,WAAW;QAE9C,MAAMe,iBAAiBV,QAAQW,OAAO,CAACC,eAAerB;YACpD,MAAMsB,aAAavB,cAAcC,OAAOC;YACxC,IAAIqB,WAAWC,QAAQ,CAACL,kBAAkBG,cAAcG,IAAI,CAACxB;YAC7D,OAAOqB;QACT,GAAG,EAAE;QAELP,kBAAkBK;IACpB,GAAG;QAACR;QAAYF;QAAQR;KAAK;IAE7B,qBACE,MAACR;QACCgC,MAAMf;QACNgB,OAAOT,EAAE,mBAAmB;YAAEU,OAAOtC,eAAea,OAAOC,QAAQ,EAAEF;QAAM;;0BAE3E,KAACJ;gBAAYe,eAAeA;;0BAC5B,KAACgB;gBAAIC,WAAW,CAAC,EAAE/B,UAAU,gBAAgB,CAAC;0BAC5C,cAAA,KAACgC;oBAAGD,WAAW,CAAC,EAAE/B,UAAU,QAAQ,CAAC;8BAClCe,gBAAgBkB,IAAI,CAAC/B,OAAOgC;wBAC3B,MAAM,EAAEP,IAAI,EAAEQ,YAAY,EAAEC,QAAQ,EAAEhC,QAAQiC,WAAW,EAAE,GAAGnC;wBAE9D,qBACE,KAACoC;4BAAGP,WAAW,CAAC,EAAE/B,UAAU,OAAO,CAAC;sCAClC,cAAA,KAACJ;gCACC2C,YAAW;gCACXV,OAAOtC,eAAe8C,aAAahC,UAAUF;gCAC7CqC,SAAS;oCACP/B,OAAOC,aAAaiB;oCACpBV,WAAWL;gCACb;gCACA6B,WACEL,yBACE,KAACM;oCAAIC,KAAKR;oCAAcS,KAAKR;mDAE7B,KAACN;oCAAIC,WAAW,CAAC,EAAE/B,UAAU,eAAe,CAAC;8CAC3C,cAAA,KAACH;;;2BAbgCqC;oBAoB/C;;;;;AAKV,EAAC"}
1
+ {"version":3,"sources":["../../../../src/fields/Blocks/BlocksDrawer/index.tsx"],"sourcesContent":["'use client'\nimport type { I18nClient } from '@payloadcms/translations'\nimport type { Labels, ReducedBlock } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useEffect, useState } from 'react'\n\nimport { Drawer } from '../../../elements/Drawer/index.js'\nimport { ThumbnailCard } from '../../../elements/ThumbnailCard/index.js'\nimport { DefaultBlockImage } from '../../../graphics/DefaultBlockImage/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { BlockSearch } from './BlockSearch/index.js'\nimport './index.scss'\n\nexport type Props = {\n addRow: (index: number, blockType?: string) => Promise<void> | void\n addRowIndex: number\n blocks: ReducedBlock[]\n drawerSlug: string\n labels: Labels\n}\n\nconst baseClass = 'blocks-drawer'\n\nconst getBlockLabel = (block: ReducedBlock, i18n: I18nClient) => {\n if (typeof block.labels.singular === 'string') return block.labels.singular.toLowerCase()\n if (typeof block.labels.singular === 'object') {\n return getTranslation(block.labels.singular, i18n).toLowerCase()\n }\n return ''\n}\n\nexport const BlocksDrawer: React.FC<Props> = (props) => {\n const { addRow, addRowIndex, blocks, drawerSlug, labels } = props\n\n const [searchTerm, setSearchTerm] = useState('')\n const [filteredBlocks, setFilteredBlocks] = useState(blocks)\n const { closeModal, isModalOpen } = useModal()\n const { i18n, t } = useTranslation()\n\n useEffect(() => {\n if (!isModalOpen) {\n setSearchTerm('')\n }\n }, [isModalOpen])\n\n useEffect(() => {\n const searchTermToUse = searchTerm.toLowerCase()\n\n const matchingBlocks = blocks?.reduce((matchedBlocks, block) => {\n const blockLabel = getBlockLabel(block, i18n)\n if (blockLabel.includes(searchTermToUse)) matchedBlocks.push(block)\n return matchedBlocks\n }, [])\n\n setFilteredBlocks(matchingBlocks)\n }, [searchTerm, blocks, i18n])\n\n return (\n <Drawer\n slug={drawerSlug}\n title={t('fields:addLabel', { label: getTranslation(labels.singular, i18n) })}\n >\n <BlockSearch setSearchTerm={setSearchTerm} />\n <div className={`${baseClass}__blocks-wrapper`}>\n <ul className={`${baseClass}__blocks`}>\n {filteredBlocks?.map((block, index) => {\n const { slug, imageAltText, imageURL, labels: blockLabels } = block\n\n return (\n <li className={`${baseClass}__block`} key={index}>\n <ThumbnailCard\n alignLabel=\"center\"\n label={getTranslation(blockLabels?.singular, i18n)}\n onClick={() => {\n void addRow(addRowIndex, slug)\n closeModal(drawerSlug)\n }}\n thumbnail={\n imageURL ? (\n <img alt={imageAltText} src={imageURL} />\n ) : (\n <div className={`${baseClass}__default-image`}>\n <DefaultBlockImage />\n </div>\n )\n }\n />\n </li>\n )\n })}\n </ul>\n </div>\n </Drawer>\n )\n}\n"],"names":["useModal","getTranslation","React","useEffect","useState","Drawer","ThumbnailCard","DefaultBlockImage","useTranslation","BlockSearch","baseClass","getBlockLabel","block","i18n","labels","singular","toLowerCase","BlocksDrawer","props","addRow","addRowIndex","blocks","drawerSlug","searchTerm","setSearchTerm","filteredBlocks","setFilteredBlocks","closeModal","isModalOpen","t","searchTermToUse","matchingBlocks","reduce","matchedBlocks","blockLabel","includes","push","slug","title","label","div","className","ul","map","index","imageAltText","imageURL","blockLabels","li","alignLabel","onClick","thumbnail","img","alt","src"],"mappings":"AAAA;;AAIA,SAASA,QAAQ,QAAQ,qBAAoB;AAC7C,SAASC,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,SAASC,SAAS,EAAEC,QAAQ,QAAQ,QAAO;AAElD,SAASC,MAAM,QAAQ,oCAAmC;AAC1D,SAASC,aAAa,QAAQ,2CAA0C;AACxE,SAASC,iBAAiB,QAAQ,+CAA8C;AAChF,SAASC,cAAc,QAAQ,0CAAyC;AACxE,SAASC,WAAW,QAAQ,yBAAwB;AACpD,OAAO,eAAc;AAUrB,MAAMC,YAAY;AAElB,MAAMC,gBAAgB,CAACC,OAAqBC;IAC1C,IAAI,OAAOD,MAAME,MAAM,CAACC,QAAQ,KAAK,UAAU,OAAOH,MAAME,MAAM,CAACC,QAAQ,CAACC,WAAW;IACvF,IAAI,OAAOJ,MAAME,MAAM,CAACC,QAAQ,KAAK,UAAU;QAC7C,OAAOd,eAAeW,MAAME,MAAM,CAACC,QAAQ,EAAEF,MAAMG,WAAW;IAChE;IACA,OAAO;AACT;AAEA,OAAO,MAAMC,eAAgC,CAACC;IAC5C,MAAM,EAAEC,MAAM,EAAEC,WAAW,EAAEC,MAAM,EAAEC,UAAU,EAAER,MAAM,EAAE,GAAGI;IAE5D,MAAM,CAACK,YAAYC,cAAc,GAAGpB,SAAS;IAC7C,MAAM,CAACqB,gBAAgBC,kBAAkB,GAAGtB,SAASiB;IACrD,MAAM,EAAEM,UAAU,EAAEC,WAAW,EAAE,GAAG5B;IACpC,MAAM,EAAEa,IAAI,EAAEgB,CAAC,EAAE,GAAGrB;IAEpBL,UAAU;QACR,IAAI,CAACyB,aAAa;YAChBJ,cAAc;QAChB;IACF,GAAG;QAACI;KAAY;IAEhBzB,UAAU;QACR,MAAM2B,kBAAkBP,WAAWP,WAAW;QAE9C,MAAMe,iBAAiBV,QAAQW,OAAO,CAACC,eAAerB;YACpD,MAAMsB,aAAavB,cAAcC,OAAOC;YACxC,IAAIqB,WAAWC,QAAQ,CAACL,kBAAkBG,cAAcG,IAAI,CAACxB;YAC7D,OAAOqB;QACT,GAAG,EAAE;QAELP,kBAAkBK;IACpB,GAAG;QAACR;QAAYF;QAAQR;KAAK;IAE7B,qBACE,MAACR;QACCgC,MAAMf;QACNgB,OAAOT,EAAE,mBAAmB;YAAEU,OAAOtC,eAAea,OAAOC,QAAQ,EAAEF;QAAM;;0BAE3E,KAACJ;gBAAYe,eAAeA;;0BAC5B,KAACgB;gBAAIC,WAAW,CAAC,EAAE/B,UAAU,gBAAgB,CAAC;0BAC5C,cAAA,KAACgC;oBAAGD,WAAW,CAAC,EAAE/B,UAAU,QAAQ,CAAC;8BAClCe,gBAAgBkB,IAAI,CAAC/B,OAAOgC;wBAC3B,MAAM,EAAEP,IAAI,EAAEQ,YAAY,EAAEC,QAAQ,EAAEhC,QAAQiC,WAAW,EAAE,GAAGnC;wBAE9D,qBACE,KAACoC;4BAAGP,WAAW,CAAC,EAAE/B,UAAU,OAAO,CAAC;sCAClC,cAAA,KAACJ;gCACC2C,YAAW;gCACXV,OAAOtC,eAAe8C,aAAahC,UAAUF;gCAC7CqC,SAAS;oCACP,KAAK/B,OAAOC,aAAaiB;oCACzBV,WAAWL;gCACb;gCACA6B,WACEL,yBACE,KAACM;oCAAIC,KAAKR;oCAAcS,KAAKR;mDAE7B,KAACN;oCAAIC,WAAW,CAAC,EAAE/B,UAAU,eAAe,CAAC;8CAC3C,cAAA,KAACH;;;2BAbgCqC;oBAoB/C;;;;;AAKV,EAAC"}
@@ -1,8 +1,7 @@
1
- import type { Labels } from 'payload';
1
+ import type { FieldMap, Labels, ReducedBlock } from 'payload';
2
2
  import React from 'react';
3
- import type { FieldMap, ReducedBlock } from '../../providers/ComponentMap/buildComponentMap/types.js';
4
3
  export declare const RowActions: React.FC<{
5
- addRow: (rowIndex: number, blockType: string) => void;
4
+ addRow: (rowIndex: number, blockType: string) => Promise<void> | void;
6
5
  blockType: string;
7
6
  blocks: ReducedBlock[];
8
7
  duplicateRow: (rowIndex: number, blockType: string) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"RowActions.d.ts","sourceRoot":"","sources":["../../../src/fields/Blocks/RowActions.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAGrC,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EACV,QAAQ,EACR,YAAY,EACb,MAAM,yDAAyD,CAAA;AAMhE,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC;IAChC,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;IACrD,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,YAAY,EAAE,CAAA;IACtB,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;IAC3D,QAAQ,EAAE,QAAQ,CAAA;IAClB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IACrD,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACrC,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAiDA,CAAA"}
1
+ {"version":3,"file":"RowActions.d.ts","sourceRoot":"","sources":["../../../src/fields/Blocks/RowActions.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAG7D,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC;IAChC,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACrE,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,YAAY,EAAE,CAAA;IACtB,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;IAC3D,QAAQ,EAAE,QAAQ,CAAA;IAClB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IACrD,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACrC,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAiDA,CAAA"}
@@ -15,7 +15,7 @@ export const RowActions = (props)=>{
15
15
  /*#__PURE__*/ _jsx(BlocksDrawer, {
16
16
  addRow: (_, rowBlockType)=>{
17
17
  if (typeof addRow === 'function') {
18
- addRow(indexToAdd, rowBlockType);
18
+ void addRow(indexToAdd, rowBlockType);
19
19
  }
20
20
  closeModal(drawerSlug);
21
21
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/Blocks/RowActions.tsx"],"sourcesContent":["'use client'\nimport type { Labels } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport React from 'react'\n\nimport type {\n FieldMap,\n ReducedBlock,\n} from '../../providers/ComponentMap/buildComponentMap/types.js'\n\nimport { ArrayAction } from '../../elements/ArrayAction/index.js'\nimport { useDrawerSlug } from '../../elements/Drawer/useDrawerSlug.js'\nimport { BlocksDrawer } from './BlocksDrawer/index.js'\n\nexport const RowActions: React.FC<{\n addRow: (rowIndex: number, blockType: string) => void\n blockType: string\n blocks: ReducedBlock[]\n duplicateRow: (rowIndex: number, blockType: string) => void\n fieldMap: FieldMap\n hasMaxRows?: boolean\n isSortable?: boolean\n labels: Labels\n moveRow: (fromIndex: number, toIndex: number) => void\n removeRow: (rowIndex: number) => void\n rowCount: number\n rowIndex: number\n}> = (props) => {\n const {\n addRow,\n blockType,\n blocks,\n duplicateRow,\n hasMaxRows,\n isSortable,\n labels,\n moveRow,\n removeRow,\n rowCount,\n rowIndex,\n } = props\n\n const { closeModal, openModal } = useModal()\n const drawerSlug = useDrawerSlug('blocks-drawer')\n\n const [indexToAdd, setIndexToAdd] = React.useState<null | number>(null)\n\n return (\n <React.Fragment>\n <BlocksDrawer\n addRow={(_, rowBlockType) => {\n if (typeof addRow === 'function') {\n addRow(indexToAdd, rowBlockType)\n }\n closeModal(drawerSlug)\n }}\n addRowIndex={rowIndex}\n blocks={blocks}\n drawerSlug={drawerSlug}\n labels={labels}\n />\n <ArrayAction\n addRow={(index) => {\n setIndexToAdd(index)\n openModal(drawerSlug)\n }}\n duplicateRow={() => duplicateRow(rowIndex, blockType)}\n hasMaxRows={hasMaxRows}\n index={rowIndex}\n isSortable={isSortable}\n moveRow={moveRow}\n removeRow={removeRow}\n rowCount={rowCount}\n />\n </React.Fragment>\n )\n}\n"],"names":["useModal","React","ArrayAction","useDrawerSlug","BlocksDrawer","RowActions","props","addRow","blockType","blocks","duplicateRow","hasMaxRows","isSortable","labels","moveRow","removeRow","rowCount","rowIndex","closeModal","openModal","drawerSlug","indexToAdd","setIndexToAdd","useState","Fragment","_","rowBlockType","addRowIndex","index"],"mappings":"AAAA;;AAGA,SAASA,QAAQ,QAAQ,qBAAoB;AAC7C,OAAOC,WAAW,QAAO;AAOzB,SAASC,WAAW,QAAQ,sCAAqC;AACjE,SAASC,aAAa,QAAQ,yCAAwC;AACtE,SAASC,YAAY,QAAQ,0BAAyB;AAEtD,OAAO,MAAMC,aAaR,CAACC;IACJ,MAAM,EACJC,MAAM,EACNC,SAAS,EACTC,MAAM,EACNC,YAAY,EACZC,UAAU,EACVC,UAAU,EACVC,MAAM,EACNC,OAAO,EACPC,SAAS,EACTC,QAAQ,EACRC,QAAQ,EACT,GAAGX;IAEJ,MAAM,EAAEY,UAAU,EAAEC,SAAS,EAAE,GAAGnB;IAClC,MAAMoB,aAAajB,cAAc;IAEjC,MAAM,CAACkB,YAAYC,cAAc,GAAGrB,MAAMsB,QAAQ,CAAgB;IAElE,qBACE,MAACtB,MAAMuB,QAAQ;;0BACb,KAACpB;gBACCG,QAAQ,CAACkB,GAAGC;oBACV,IAAI,OAAOnB,WAAW,YAAY;wBAChCA,OAAOc,YAAYK;oBACrB;oBACAR,WAAWE;gBACb;gBACAO,aAAaV;gBACbR,QAAQA;gBACRW,YAAYA;gBACZP,QAAQA;;0BAEV,KAACX;gBACCK,QAAQ,CAACqB;oBACPN,cAAcM;oBACdT,UAAUC;gBACZ;gBACAV,cAAc,IAAMA,aAAaO,UAAUT;gBAC3CG,YAAYA;gBACZiB,OAAOX;gBACPL,YAAYA;gBACZE,SAASA;gBACTC,WAAWA;gBACXC,UAAUA;;;;AAIlB,EAAC"}
1
+ {"version":3,"sources":["../../../src/fields/Blocks/RowActions.tsx"],"sourcesContent":["'use client'\nimport type { FieldMap, Labels, ReducedBlock } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport React from 'react'\n\nimport { ArrayAction } from '../../elements/ArrayAction/index.js'\nimport { useDrawerSlug } from '../../elements/Drawer/useDrawerSlug.js'\nimport { BlocksDrawer } from './BlocksDrawer/index.js'\n\nexport const RowActions: React.FC<{\n addRow: (rowIndex: number, blockType: string) => Promise<void> | void\n blockType: string\n blocks: ReducedBlock[]\n duplicateRow: (rowIndex: number, blockType: string) => void\n fieldMap: FieldMap\n hasMaxRows?: boolean\n isSortable?: boolean\n labels: Labels\n moveRow: (fromIndex: number, toIndex: number) => void\n removeRow: (rowIndex: number) => void\n rowCount: number\n rowIndex: number\n}> = (props) => {\n const {\n addRow,\n blockType,\n blocks,\n duplicateRow,\n hasMaxRows,\n isSortable,\n labels,\n moveRow,\n removeRow,\n rowCount,\n rowIndex,\n } = props\n\n const { closeModal, openModal } = useModal()\n const drawerSlug = useDrawerSlug('blocks-drawer')\n\n const [indexToAdd, setIndexToAdd] = React.useState<null | number>(null)\n\n return (\n <React.Fragment>\n <BlocksDrawer\n addRow={(_, rowBlockType) => {\n if (typeof addRow === 'function') {\n void addRow(indexToAdd, rowBlockType)\n }\n closeModal(drawerSlug)\n }}\n addRowIndex={rowIndex}\n blocks={blocks}\n drawerSlug={drawerSlug}\n labels={labels}\n />\n <ArrayAction\n addRow={(index) => {\n setIndexToAdd(index)\n openModal(drawerSlug)\n }}\n duplicateRow={() => duplicateRow(rowIndex, blockType)}\n hasMaxRows={hasMaxRows}\n index={rowIndex}\n isSortable={isSortable}\n moveRow={moveRow}\n removeRow={removeRow}\n rowCount={rowCount}\n />\n </React.Fragment>\n )\n}\n"],"names":["useModal","React","ArrayAction","useDrawerSlug","BlocksDrawer","RowActions","props","addRow","blockType","blocks","duplicateRow","hasMaxRows","isSortable","labels","moveRow","removeRow","rowCount","rowIndex","closeModal","openModal","drawerSlug","indexToAdd","setIndexToAdd","useState","Fragment","_","rowBlockType","addRowIndex","index"],"mappings":"AAAA;;AAGA,SAASA,QAAQ,QAAQ,qBAAoB;AAC7C,OAAOC,WAAW,QAAO;AAEzB,SAASC,WAAW,QAAQ,sCAAqC;AACjE,SAASC,aAAa,QAAQ,yCAAwC;AACtE,SAASC,YAAY,QAAQ,0BAAyB;AAEtD,OAAO,MAAMC,aAaR,CAACC;IACJ,MAAM,EACJC,MAAM,EACNC,SAAS,EACTC,MAAM,EACNC,YAAY,EACZC,UAAU,EACVC,UAAU,EACVC,MAAM,EACNC,OAAO,EACPC,SAAS,EACTC,QAAQ,EACRC,QAAQ,EACT,GAAGX;IAEJ,MAAM,EAAEY,UAAU,EAAEC,SAAS,EAAE,GAAGnB;IAClC,MAAMoB,aAAajB,cAAc;IAEjC,MAAM,CAACkB,YAAYC,cAAc,GAAGrB,MAAMsB,QAAQ,CAAgB;IAElE,qBACE,MAACtB,MAAMuB,QAAQ;;0BACb,KAACpB;gBACCG,QAAQ,CAACkB,GAAGC;oBACV,IAAI,OAAOnB,WAAW,YAAY;wBAChC,KAAKA,OAAOc,YAAYK;oBAC1B;oBACAR,WAAWE;gBACb;gBACAO,aAAaV;gBACbR,QAAQA;gBACRW,YAAYA;gBACZP,QAAQA;;0BAEV,KAACX;gBACCK,QAAQ,CAACqB;oBACPN,cAAcM;oBACdT,UAAUC;gBACZ;gBACAV,cAAc,IAAMA,aAAaO,UAAUT;gBAC3CG,YAAYA;gBACZiB,OAAOX;gBACPL,YAAYA;gBACZE,SAASA;gBACTC,WAAWA;gBACXC,UAAUA;;;;AAIlB,EAAC"}
@@ -1,18 +1,5 @@
1
- import type { BlockField } from 'payload';
1
+ import type { BlocksFieldProps } from 'payload';
2
2
  import React from 'react';
3
- import type { ReducedBlock } from '../../providers/ComponentMap/buildComponentMap/types.js';
4
- import type { FormFieldBase } from '../shared/index.js';
5
3
  import './index.scss';
6
- export type BlocksFieldProps = {
7
- blocks?: ReducedBlock[];
8
- forceRender?: boolean;
9
- isSortable?: boolean;
10
- labels?: BlockField['labels'];
11
- maxRows?: number;
12
- minRows?: number;
13
- name?: string;
14
- slug?: string;
15
- width?: string;
16
- } & FormFieldBase;
17
4
  export declare const BlocksField: React.FC<BlocksFieldProps>;
18
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Blocks/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAGzC,OAAO,KAAgC,MAAM,OAAO,CAAA;AAEpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yDAAyD,CAAA;AAC3F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAyBvD,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,CAAC,EAAE,YAAY,EAAE,CAAA;IACvB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,MAAM,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAA;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,GAAG,aAAa,CAAA;AAqTjB,eAAO,MAAM,WAAW,4BAA8B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Blocks/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAG/C,OAAO,KAAgC,MAAM,OAAO,CAAA;AAyBpD,OAAO,cAAc,CAAA;AAuTrB,eAAO,MAAM,WAAW,4BAAsC,CAAA"}
@@ -27,7 +27,7 @@ import { BlockRow } from './BlockRow.js';
27
27
  import { BlocksDrawer } from './BlocksDrawer/index.js';
28
28
  import './index.scss';
29
29
  const baseClass = 'blocks-field';
30
- const _BlocksField = (props)=>{
30
+ const BlocksFieldComponent = (props)=>{
31
31
  const { i18n, t } = useTranslation();
32
32
  const { name, CustomDescription, CustomError, CustomLabel, blocks, className, descriptionProps, errorProps, forceRender = false, isSortable = true, label, labelProps, labels: labelsFromProps, localized, maxRows, minRows: minRowsProp, path: pathFromProps, readOnly: readOnlyFromProps, required, validate } = props;
33
33
  const { indexPath, readOnly: readOnlyFromContext } = useFieldProps();
@@ -326,6 +326,6 @@ const _BlocksField = (props)=>{
326
326
  ]
327
327
  });
328
328
  };
329
- export const BlocksField = withCondition(_BlocksField);
329
+ export const BlocksField = withCondition(BlocksFieldComponent);
330
330
 
331
331
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/Blocks/index.tsx"],"sourcesContent":["'use client'\nimport type { BlockField } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { Fragment, useCallback } from 'react'\n\nimport type { ReducedBlock } from '../../providers/ComponentMap/buildComponentMap/types.js'\nimport type { FormFieldBase } from '../shared/index.js'\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 { DrawerToggler } from '../../elements/Drawer/index.js'\nimport { useDrawerSlug } from '../../elements/Drawer/useDrawerSlug.js'\nimport { ErrorPill } from '../../elements/ErrorPill/index.js'\nimport { useFieldProps } from '../../forms/FieldPropsProvider/index.js'\nimport { useForm, useFormSubmitted } from '../../forms/Form/context.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 { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldError } from '../FieldError/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { BlockRow } from './BlockRow.js'\nimport { BlocksDrawer } from './BlocksDrawer/index.js'\nimport './index.scss'\n\nconst baseClass = 'blocks-field'\n\nexport type BlocksFieldProps = {\n blocks?: ReducedBlock[]\n forceRender?: boolean\n isSortable?: boolean\n labels?: BlockField['labels']\n maxRows?: number\n minRows?: number\n name?: string\n slug?: string\n width?: string\n} & FormFieldBase\n\nconst _BlocksField: React.FC<BlocksFieldProps> = (props) => {\n const { i18n, t } = useTranslation()\n\n const {\n name,\n CustomDescription,\n CustomError,\n CustomLabel,\n blocks,\n className,\n descriptionProps,\n errorProps,\n forceRender = false,\n isSortable = true,\n label,\n labelProps,\n labels: labelsFromProps,\n localized,\n maxRows,\n minRows: minRowsProp,\n path: pathFromProps,\n readOnly: readOnlyFromProps,\n required,\n validate,\n } = props\n\n const { indexPath, readOnly: readOnlyFromContext } = useFieldProps()\n const minRows = minRowsProp ?? required ? 1 : 0\n\n const { setDocFieldPreferences } = useDocumentInfo()\n const { addFieldRow, dispatchFields, setModified } = useForm()\n const { code: locale } = useLocale()\n const { localization } = useConfig()\n const drawerSlug = useDrawerSlug('blocks-drawer')\n const submitted = useFormSubmitted()\n\n const labels = {\n plural: t('fields:blocks'),\n singular: t('fields:block'),\n ...labelsFromProps,\n }\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 const memoizedValidate = useCallback(\n (value, options) => {\n // alternative locales can be null\n if (!editingDefaultLocale && value === null) {\n return true\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 { path: pathFromContext } = useFieldProps()\n\n const {\n errorPaths,\n formInitializing,\n formProcessing,\n path,\n permissions,\n rows = [],\n schemaPath,\n showError,\n valid,\n value,\n } = useField<number>({\n hasRows: true,\n path: pathFromContext ?? pathFromProps ?? name,\n validate: memoizedValidate,\n })\n\n const disabled = readOnlyFromProps || readOnlyFromContext || formProcessing || formInitializing\n\n const addRow = useCallback(\n async (rowIndex: number, blockType: string) => {\n await addFieldRow({\n data: { blockType },\n path,\n rowIndex,\n schemaPath: `${schemaPath}.${blockType}`,\n })\n setModified(true)\n\n setTimeout(() => {\n scrollToID(`${path}-row-${rowIndex + 1}`)\n }, 0)\n },\n [addFieldRow, path, setModified, schemaPath],\n )\n\n const duplicateRow = useCallback(\n (rowIndex: number) => {\n dispatchFields({ type: 'DUPLICATE_ROW', path, rowIndex })\n setModified(true)\n\n setTimeout(() => {\n scrollToID(`${path}-row-${rowIndex + 1}`)\n }, 0)\n },\n [dispatchFields, path, setModified],\n )\n\n const removeRow = useCallback(\n (rowIndex: number) => {\n dispatchFields({\n type: 'REMOVE_ROW',\n path,\n rowIndex,\n })\n\n setModified(true)\n },\n [path, dispatchFields, 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 dispatchFields({ type: 'SET_ALL_ROWS_COLLAPSED', collapsed, path, setDocFieldPreferences })\n },\n [dispatchFields, path, setDocFieldPreferences],\n )\n\n const setCollapse = useCallback(\n (rowID: string, collapsed: boolean) => {\n dispatchFields({ type: 'SET_ROW_COLLAPSED', collapsed, path, rowID, setDocFieldPreferences })\n },\n [dispatchFields, path, setDocFieldPreferences],\n )\n\n const hasMaxRows = maxRows && rows.length >= maxRows\n\n const fieldErrorCount = errorPaths.length\n const fieldHasErrors = submitted && fieldErrorCount + (valid ? 0 : 1) > 0\n\n const showMinRows = rows.length < minRows || (required && rows.length === 0)\n const showRequired = disabled && rows.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 && <FieldError CustomError={CustomError} path={path} {...(errorProps || {})} />}\n <header className={`${baseClass}__header`}>\n <div className={`${baseClass}__header-wrap`}>\n <div className={`${baseClass}__heading-with-error`}>\n <h3>\n <FieldLabel\n CustomLabel={CustomLabel}\n as=\"span\"\n label={label}\n required={required}\n unstyled\n {...(labelProps || {})}\n />\n </h3>\n {fieldHasErrors && fieldErrorCount > 0 && (\n <ErrorPill count={fieldErrorCount} i18n={i18n} withMessage />\n )}\n </div>\n {rows.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 <FieldDescription CustomDescription={CustomDescription} {...(descriptionProps || {})} />\n </header>\n <NullifyLocaleField fieldValue={value} localized={localized} path={path} />\n {(rows.length > 0 || (!valid && (showRequired || showMinRows))) && (\n <DraggableSortable\n className={`${baseClass}__rows`}\n ids={rows.map((row) => row.id)}\n onDragEnd={({ moveFromIndex, moveToIndex }) => moveRow(moveFromIndex, moveToIndex)}\n >\n {rows.map((row, i) => {\n const { blockType } = row\n const blockToRender = blocks.find((block) => block.slug === blockType)\n\n if (blockToRender) {\n const rowErrorCount = errorPaths.filter((errorPath) =>\n errorPath.startsWith(`${path}.${i}`),\n ).length\n return (\n <DraggableSortableItem disabled={disabled || !isSortable} id={row.id} key={row.id}>\n {(draggableSortableItemProps) => (\n <BlockRow\n {...draggableSortableItemProps}\n addRow={addRow}\n block={blockToRender}\n blocks={blocks}\n duplicateRow={duplicateRow}\n errorCount={rowErrorCount}\n forceRender={forceRender}\n hasMaxRows={hasMaxRows}\n indexPath={indexPath}\n isSortable={isSortable}\n labels={labels}\n moveRow={moveRow}\n path={path}\n permissions={permissions}\n readOnly={disabled}\n removeRow={removeRow}\n row={row}\n rowCount={rows.length}\n rowIndex={i}\n schemaPath={schemaPath}\n setCollapse={setCollapse}\n />\n )}\n </DraggableSortableItem>\n )\n }\n\n return null\n })}\n {!editingDefaultLocale && (\n <React.Fragment>\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:row' : 'general:rows'),\n })}\n </Banner>\n )}\n {showRequired && (\n <Banner>\n {t('validation:fieldHasNo', { label: getTranslation(labels.plural, i18n) })}\n </Banner>\n )}\n </React.Fragment>\n )}\n </DraggableSortable>\n )}\n {!disabled && !hasMaxRows && (\n <Fragment>\n <DrawerToggler className={`${baseClass}__drawer-toggler`} slug={drawerSlug}>\n <Button\n buttonStyle=\"icon-label\"\n el=\"span\"\n icon=\"plus\"\n iconPosition=\"left\"\n iconStyle=\"with-border\"\n >\n {t('fields:addLabel', { label: getTranslation(labels.singular, i18n) })}\n </Button>\n </DrawerToggler>\n <BlocksDrawer\n addRow={addRow}\n addRowIndex={rows?.length || 0}\n blocks={blocks}\n drawerSlug={drawerSlug}\n labels={labels}\n />\n </Fragment>\n )}\n </div>\n )\n}\n\nexport const BlocksField = withCondition(_BlocksField)\n"],"names":["getTranslation","React","Fragment","useCallback","Banner","Button","DraggableSortableItem","DraggableSortable","DrawerToggler","useDrawerSlug","ErrorPill","useFieldProps","useForm","useFormSubmitted","NullifyLocaleField","useField","withCondition","useConfig","useDocumentInfo","useLocale","useTranslation","scrollToID","FieldDescription","FieldError","FieldLabel","fieldBaseClass","BlockRow","BlocksDrawer","baseClass","_BlocksField","props","i18n","t","name","CustomDescription","CustomError","CustomLabel","blocks","className","descriptionProps","errorProps","forceRender","isSortable","label","labelProps","labels","labelsFromProps","localized","maxRows","minRows","minRowsProp","path","pathFromProps","readOnly","readOnlyFromProps","required","validate","indexPath","readOnlyFromContext","setDocFieldPreferences","addFieldRow","dispatchFields","setModified","code","locale","localization","drawerSlug","submitted","plural","singular","editingDefaultLocale","fallback","defaultLocale","memoizedValidate","value","options","pathFromContext","errorPaths","formInitializing","formProcessing","permissions","rows","schemaPath","showError","valid","hasRows","disabled","addRow","rowIndex","blockType","data","setTimeout","duplicateRow","type","removeRow","moveRow","moveFromIndex","moveToIndex","toggleCollapseAll","collapsed","setCollapse","rowID","hasMaxRows","length","fieldErrorCount","fieldHasErrors","showMinRows","showRequired","div","filter","Boolean","join","id","replace","header","h3","as","unstyled","count","withMessage","ul","li","button","onClick","fieldValue","ids","map","row","onDragEnd","i","blockToRender","find","block","slug","rowErrorCount","errorPath","startsWith","draggableSortableItemProps","errorCount","rowCount","buttonStyle","el","icon","iconPosition","iconStyle","addRowIndex","BlocksField"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/fields/Blocks/index.tsx"],"sourcesContent":["'use client'\nimport type { BlocksFieldProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { Fragment, 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 { DrawerToggler } from '../../elements/Drawer/index.js'\nimport { useDrawerSlug } from '../../elements/Drawer/useDrawerSlug.js'\nimport { ErrorPill } from '../../elements/ErrorPill/index.js'\nimport { useFieldProps } from '../../forms/FieldPropsProvider/index.js'\nimport { useForm, useFormSubmitted } from '../../forms/Form/context.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 { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldError } from '../FieldError/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { BlockRow } from './BlockRow.js'\nimport { BlocksDrawer } from './BlocksDrawer/index.js'\nimport './index.scss'\n\nconst baseClass = 'blocks-field'\n\nconst BlocksFieldComponent: React.FC<BlocksFieldProps> = (props) => {\n const { i18n, t } = useTranslation()\n\n const {\n name,\n CustomDescription,\n CustomError,\n CustomLabel,\n blocks,\n className,\n descriptionProps,\n errorProps,\n forceRender = false,\n isSortable = true,\n label,\n labelProps,\n labels: labelsFromProps,\n localized,\n maxRows,\n minRows: minRowsProp,\n path: pathFromProps,\n readOnly: readOnlyFromProps,\n required,\n validate,\n } = props\n\n const { indexPath, readOnly: readOnlyFromContext } = useFieldProps()\n const minRows = minRowsProp ?? required ? 1 : 0\n\n const { setDocFieldPreferences } = useDocumentInfo()\n const { addFieldRow, dispatchFields, setModified } = useForm()\n const { code: locale } = useLocale()\n const { localization } = useConfig()\n const drawerSlug = useDrawerSlug('blocks-drawer')\n const submitted = useFormSubmitted()\n\n const labels = {\n plural: t('fields:blocks'),\n singular: t('fields:block'),\n ...labelsFromProps,\n }\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 const memoizedValidate = useCallback(\n (value, options) => {\n // alternative locales can be null\n if (!editingDefaultLocale && value === null) {\n return true\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 { path: pathFromContext } = useFieldProps()\n\n const {\n errorPaths,\n formInitializing,\n formProcessing,\n path,\n permissions,\n rows = [],\n schemaPath,\n showError,\n valid,\n value,\n } = useField<number>({\n hasRows: true,\n path: pathFromContext ?? pathFromProps ?? name,\n validate: memoizedValidate,\n })\n\n const disabled = readOnlyFromProps || readOnlyFromContext || formProcessing || formInitializing\n\n const addRow = useCallback(\n async (rowIndex: number, blockType: string): Promise<void> => {\n await addFieldRow({\n data: { blockType },\n path,\n rowIndex,\n schemaPath: `${schemaPath}.${blockType}`,\n })\n setModified(true)\n\n setTimeout(() => {\n scrollToID(`${path}-row-${rowIndex + 1}`)\n }, 0)\n },\n [addFieldRow, path, setModified, schemaPath],\n )\n\n const duplicateRow = useCallback(\n (rowIndex: number) => {\n dispatchFields({ type: 'DUPLICATE_ROW', path, rowIndex })\n setModified(true)\n\n setTimeout(() => {\n scrollToID(`${path}-row-${rowIndex + 1}`)\n }, 0)\n },\n [dispatchFields, path, setModified],\n )\n\n const removeRow = useCallback(\n (rowIndex: number) => {\n dispatchFields({\n type: 'REMOVE_ROW',\n path,\n rowIndex,\n })\n\n setModified(true)\n },\n [path, dispatchFields, 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 dispatchFields({ type: 'SET_ALL_ROWS_COLLAPSED', collapsed, path, setDocFieldPreferences })\n },\n [dispatchFields, path, setDocFieldPreferences],\n )\n\n const setCollapse = useCallback(\n (rowID: string, collapsed: boolean) => {\n dispatchFields({ type: 'SET_ROW_COLLAPSED', collapsed, path, rowID, setDocFieldPreferences })\n },\n [dispatchFields, path, setDocFieldPreferences],\n )\n\n const hasMaxRows = maxRows && rows.length >= maxRows\n\n const fieldErrorCount = errorPaths.length\n const fieldHasErrors = submitted && fieldErrorCount + (valid ? 0 : 1) > 0\n\n const showMinRows = rows.length < minRows || (required && rows.length === 0)\n const showRequired = disabled && rows.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 && <FieldError CustomError={CustomError} path={path} {...(errorProps || {})} />}\n <header className={`${baseClass}__header`}>\n <div className={`${baseClass}__header-wrap`}>\n <div className={`${baseClass}__heading-with-error`}>\n <h3>\n <FieldLabel\n CustomLabel={CustomLabel}\n as=\"span\"\n label={label}\n required={required}\n unstyled\n {...(labelProps || {})}\n />\n </h3>\n {fieldHasErrors && fieldErrorCount > 0 && (\n <ErrorPill count={fieldErrorCount} i18n={i18n} withMessage />\n )}\n </div>\n {rows.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 <FieldDescription CustomDescription={CustomDescription} {...(descriptionProps || {})} />\n </header>\n <NullifyLocaleField fieldValue={value} localized={localized} path={path} />\n {(rows.length > 0 || (!valid && (showRequired || showMinRows))) && (\n <DraggableSortable\n className={`${baseClass}__rows`}\n ids={rows.map((row) => row.id)}\n onDragEnd={({ moveFromIndex, moveToIndex }) => moveRow(moveFromIndex, moveToIndex)}\n >\n {rows.map((row, i) => {\n const { blockType } = row\n const blockToRender = blocks.find((block) => block.slug === blockType)\n\n if (blockToRender) {\n const rowErrorCount = errorPaths.filter((errorPath) =>\n errorPath.startsWith(`${path}.${i}`),\n ).length\n return (\n <DraggableSortableItem disabled={disabled || !isSortable} id={row.id} key={row.id}>\n {(draggableSortableItemProps) => (\n <BlockRow\n {...draggableSortableItemProps}\n addRow={addRow}\n block={blockToRender}\n blocks={blocks}\n duplicateRow={duplicateRow}\n errorCount={rowErrorCount}\n forceRender={forceRender}\n hasMaxRows={hasMaxRows}\n indexPath={indexPath}\n isSortable={isSortable}\n labels={labels}\n moveRow={moveRow}\n path={path}\n permissions={permissions}\n readOnly={disabled}\n removeRow={removeRow}\n row={row}\n rowCount={rows.length}\n rowIndex={i}\n schemaPath={schemaPath}\n setCollapse={setCollapse}\n />\n )}\n </DraggableSortableItem>\n )\n }\n\n return null\n })}\n {!editingDefaultLocale && (\n <React.Fragment>\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:row' : 'general:rows'),\n })}\n </Banner>\n )}\n {showRequired && (\n <Banner>\n {t('validation:fieldHasNo', { label: getTranslation(labels.plural, i18n) })}\n </Banner>\n )}\n </React.Fragment>\n )}\n </DraggableSortable>\n )}\n {!disabled && !hasMaxRows && (\n <Fragment>\n <DrawerToggler className={`${baseClass}__drawer-toggler`} slug={drawerSlug}>\n <Button\n buttonStyle=\"icon-label\"\n el=\"span\"\n icon=\"plus\"\n iconPosition=\"left\"\n iconStyle=\"with-border\"\n >\n {t('fields:addLabel', { label: getTranslation(labels.singular, i18n) })}\n </Button>\n </DrawerToggler>\n <BlocksDrawer\n addRow={addRow}\n addRowIndex={rows?.length || 0}\n blocks={blocks}\n drawerSlug={drawerSlug}\n labels={labels}\n />\n </Fragment>\n )}\n </div>\n )\n}\n\nexport const BlocksField = withCondition(BlocksFieldComponent)\n"],"names":["getTranslation","React","Fragment","useCallback","Banner","Button","DraggableSortableItem","DraggableSortable","DrawerToggler","useDrawerSlug","ErrorPill","useFieldProps","useForm","useFormSubmitted","NullifyLocaleField","useField","withCondition","useConfig","useDocumentInfo","useLocale","useTranslation","scrollToID","FieldDescription","FieldError","FieldLabel","fieldBaseClass","BlockRow","BlocksDrawer","baseClass","BlocksFieldComponent","props","i18n","t","name","CustomDescription","CustomError","CustomLabel","blocks","className","descriptionProps","errorProps","forceRender","isSortable","label","labelProps","labels","labelsFromProps","localized","maxRows","minRows","minRowsProp","path","pathFromProps","readOnly","readOnlyFromProps","required","validate","indexPath","readOnlyFromContext","setDocFieldPreferences","addFieldRow","dispatchFields","setModified","code","locale","localization","drawerSlug","submitted","plural","singular","editingDefaultLocale","fallback","defaultLocale","memoizedValidate","value","options","pathFromContext","errorPaths","formInitializing","formProcessing","permissions","rows","schemaPath","showError","valid","hasRows","disabled","addRow","rowIndex","blockType","data","setTimeout","duplicateRow","type","removeRow","moveRow","moveFromIndex","moveToIndex","toggleCollapseAll","collapsed","setCollapse","rowID","hasMaxRows","length","fieldErrorCount","fieldHasErrors","showMinRows","showRequired","div","filter","Boolean","join","id","replace","header","h3","as","unstyled","count","withMessage","ul","li","button","onClick","fieldValue","ids","map","row","onDragEnd","i","blockToRender","find","block","slug","rowErrorCount","errorPath","startsWith","draggableSortableItemProps","errorCount","rowCount","buttonStyle","el","icon","iconPosition","iconStyle","addRowIndex","BlocksField"],"mappings":"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"}
@@ -8,7 +8,7 @@ export type CheckboxInputProps = {
8
8
  className?: string;
9
9
  id?: string;
10
10
  inputRef?: React.RefObject<HTMLInputElement | null>;
11
- label?: LabelProps['label'];
11
+ label?: LabelProps<'checkbox'>['label'];
12
12
  labelProps?: SanitizedLabelProps;
13
13
  name?: string;
14
14
  onToggle: (event: React.ChangeEvent<HTMLInputElement>) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../src/fields/Checkbox/Input.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAE9D,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC5B,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAA;IACnD,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAA;IAC3B,UAAU,CAAC,EAAE,mBAAmB,CAAA;IAChC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAA;IAC9D,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,eAAO,MAAM,cAAc,mBAAmB,CAAA;AAE9C,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA2DtD,CAAA"}
1
+ {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../src/fields/Checkbox/Input.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAE9D,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC5B,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAA;IACnD,KAAK,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAA;IACvC,UAAU,CAAC,EAAE,mBAAmB,CAAA;IAChC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAA;IAC9D,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,eAAO,MAAM,cAAc,mBAAmB,CAAA;AAE9C,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA2DtD,CAAA"}