@payloadcms/ui 3.0.0-alpha.60 → 3.0.0-alpha.62

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 (476) hide show
  1. package/dist/@types/assets.d.js.map +1 -1
  2. package/dist/assets/index.js.map +1 -1
  3. package/dist/elements/AppHeader/index.js.map +1 -1
  4. package/dist/elements/ArrayAction/index.js.map +1 -1
  5. package/dist/elements/Autosave/index.js +4 -1
  6. package/dist/elements/Autosave/index.js.map +1 -1
  7. package/dist/elements/Banner/index.js.map +1 -1
  8. package/dist/elements/Button/index.js.map +1 -1
  9. package/dist/elements/Button/types.js.map +1 -1
  10. package/dist/elements/Card/index.js.map +1 -1
  11. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  12. package/dist/elements/CodeEditor/index.js.map +1 -1
  13. package/dist/elements/CodeEditor/types.js.map +1 -1
  14. package/dist/elements/Collapsible/index.js.map +1 -1
  15. package/dist/elements/Collapsible/provider.js.map +1 -1
  16. package/dist/elements/ColumnSelector/index.js.map +1 -1
  17. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  18. package/dist/elements/DatePicker/DatePicker.js +4 -4
  19. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  20. package/dist/elements/DatePicker/getFormattedLocale.d.ts +2 -0
  21. package/dist/elements/DatePicker/getFormattedLocale.d.ts.map +1 -0
  22. package/dist/elements/DatePicker/getFormattedLocale.js +12 -0
  23. package/dist/elements/DatePicker/getFormattedLocale.js.map +1 -0
  24. package/dist/elements/DatePicker/index.js.map +1 -1
  25. package/dist/elements/DatePicker/types.js.map +1 -1
  26. package/dist/elements/DeleteDocument/index.js.map +1 -1
  27. package/dist/elements/DeleteMany/index.js.map +1 -1
  28. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  29. package/dist/elements/DocumentControls/index.js +21 -5
  30. package/dist/elements/DocumentControls/index.js.map +1 -1
  31. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  32. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  33. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  34. package/dist/elements/DocumentFields/index.js.map +1 -1
  35. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js.map +1 -1
  36. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
  37. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
  38. package/dist/elements/DocumentHeader/Tabs/getCustomViews.js.map +1 -1
  39. package/dist/elements/DocumentHeader/Tabs/getViewConfig.js.map +1 -1
  40. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
  41. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
  42. package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
  43. package/dist/elements/DocumentHeader/index.js.map +1 -1
  44. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
  45. package/dist/elements/DraggableSortable/DraggableSortableItem/types.js.map +1 -1
  46. package/dist/elements/DraggableSortable/index.js.map +1 -1
  47. package/dist/elements/DraggableSortable/types.js.map +1 -1
  48. package/dist/elements/DraggableSortable/useDraggableSortable/index.js.map +1 -1
  49. package/dist/elements/DraggableSortable/useDraggableSortable/types.js.map +1 -1
  50. package/dist/elements/Drawer/index.js.map +1 -1
  51. package/dist/elements/Drawer/types.js.map +1 -1
  52. package/dist/elements/Drawer/useDrawerSlug.js.map +1 -1
  53. package/dist/elements/Dropzone/index.js.map +1 -1
  54. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  55. package/dist/elements/EditMany/index.js +2 -2
  56. package/dist/elements/EditMany/index.js.map +1 -1
  57. package/dist/elements/EditUpload/index.js.map +1 -1
  58. package/dist/elements/ErrorPill/index.js.map +1 -1
  59. package/dist/elements/FieldSelect/index.js.map +1 -1
  60. package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
  61. package/dist/elements/FileDetails/index.js.map +1 -1
  62. package/dist/elements/GenerateConfirmation/index.js.map +1 -1
  63. package/dist/elements/Gutter/index.js.map +1 -1
  64. package/dist/elements/Hamburger/index.js.map +1 -1
  65. package/dist/elements/HydrateClientUser/index.d.ts +3 -2
  66. package/dist/elements/HydrateClientUser/index.d.ts.map +1 -1
  67. package/dist/elements/HydrateClientUser/index.js.map +1 -1
  68. package/dist/elements/IDLabel/index.js.map +1 -1
  69. package/dist/elements/ListControls/getTextFieldsToBeSearched.js.map +1 -1
  70. package/dist/elements/ListControls/index.js +1 -1
  71. package/dist/elements/ListControls/index.js.map +1 -1
  72. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  73. package/dist/elements/ListDrawer/index.js.map +1 -1
  74. package/dist/elements/ListDrawer/types.js.map +1 -1
  75. package/dist/elements/ListSelection/index.js.map +1 -1
  76. package/dist/elements/Loading/index.js.map +1 -1
  77. package/dist/elements/LoadingOverlay/index.js.map +1 -1
  78. package/dist/elements/LoadingOverlay/reducer.js.map +1 -1
  79. package/dist/elements/LoadingOverlay/types.js.map +1 -1
  80. package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
  81. package/dist/elements/Localizer/index.js.map +1 -1
  82. package/dist/elements/Logout/index.js.map +1 -1
  83. package/dist/elements/Modal/index.js.map +1 -1
  84. package/dist/elements/Nav/NavHamburger/index.js.map +1 -1
  85. package/dist/elements/Nav/NavToggler/index.js.map +1 -1
  86. package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
  87. package/dist/elements/Nav/context.js.map +1 -1
  88. package/dist/elements/Nav/index.client.js.map +1 -1
  89. package/dist/elements/Nav/index.js.map +1 -1
  90. package/dist/elements/NavGroup/index.js.map +1 -1
  91. package/dist/elements/Pagination/ClickableArrow/index.js.map +1 -1
  92. package/dist/elements/Pagination/Page/index.js.map +1 -1
  93. package/dist/elements/Pagination/Separator/index.js.map +1 -1
  94. package/dist/elements/Pagination/index.js.map +1 -1
  95. package/dist/elements/PerPage/index.js.map +1 -1
  96. package/dist/elements/Pill/index.js.map +1 -1
  97. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  98. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  99. package/dist/elements/Popup/PopupTrigger/types.js.map +1 -1
  100. package/dist/elements/Popup/index.js.map +1 -1
  101. package/dist/elements/PreviewButton/index.js.map +1 -1
  102. package/dist/elements/PreviewButton/usePreviewURL.js.map +1 -1
  103. package/dist/elements/PreviewSizes/index.js.map +1 -1
  104. package/dist/elements/Publish/index.js +1 -1
  105. package/dist/elements/Publish/index.js.map +1 -1
  106. package/dist/elements/PublishMany/index.js.map +1 -1
  107. package/dist/elements/ReactSelect/ClearIndicator/index.js.map +1 -1
  108. package/dist/elements/ReactSelect/Control/index.js.map +1 -1
  109. package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
  110. package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -1
  111. package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
  112. package/dist/elements/ReactSelect/SingleValue/index.js.map +1 -1
  113. package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
  114. package/dist/elements/ReactSelect/index.js.map +1 -1
  115. package/dist/elements/ReactSelect/types.js.map +1 -1
  116. package/dist/elements/RenderCustomComponent/index.js.map +1 -1
  117. package/dist/elements/RenderTitle/index.js.map +1 -1
  118. package/dist/elements/Save/index.js.map +1 -1
  119. package/dist/elements/SaveDraft/index.js.map +1 -1
  120. package/dist/elements/SearchFilter/index.js.map +1 -1
  121. package/dist/elements/SelectAll/index.js.map +1 -1
  122. package/dist/elements/SelectRow/index.js.map +1 -1
  123. package/dist/elements/ShimmerEffect/index.js.map +1 -1
  124. package/dist/elements/SortColumn/index.js.map +1 -1
  125. package/dist/elements/SortComplex/index.js.map +1 -1
  126. package/dist/elements/Status/index.js.map +1 -1
  127. package/dist/elements/StayLoggedIn/index.js.map +1 -1
  128. package/dist/elements/StepNav/SetStepNav.js.map +1 -1
  129. package/dist/elements/StepNav/index.d.ts +2 -1
  130. package/dist/elements/StepNav/index.d.ts.map +1 -1
  131. package/dist/elements/StepNav/index.js.map +1 -1
  132. package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
  133. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  134. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
  135. package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
  136. package/dist/elements/Table/DefaultCell/fields/Date/index.js +5 -1
  137. package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
  138. package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
  139. package/dist/elements/Table/DefaultCell/fields/JSON/index.js +1 -1
  140. package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
  141. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  142. package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
  143. package/dist/elements/Table/DefaultCell/fields/Textarea/index.js.map +1 -1
  144. package/dist/elements/Table/DefaultCell/fields/index.js.map +1 -1
  145. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  146. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  147. package/dist/elements/Table/RelationshipProvider/reducer.js.map +1 -1
  148. package/dist/elements/Table/TableCellProvider/index.js.map +1 -1
  149. package/dist/elements/Table/index.js.map +1 -1
  150. package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
  151. package/dist/elements/TableColumns/buildColumnState.js +1 -0
  152. package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
  153. package/dist/elements/TableColumns/columnReducer.js.map +1 -1
  154. package/dist/elements/TableColumns/filterFields.js.map +1 -1
  155. package/dist/elements/TableColumns/getInitialColumns.js.map +1 -1
  156. package/dist/elements/TableColumns/index.js.map +1 -1
  157. package/dist/elements/Thumbnail/index.js.map +1 -1
  158. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  159. package/dist/elements/Tooltip/index.js.map +1 -1
  160. package/dist/elements/Translation/index.js.map +1 -1
  161. package/dist/elements/UnpublishMany/index.js.map +1 -1
  162. package/dist/elements/Upload/index.js.map +1 -1
  163. package/dist/elements/ViewDescription/index.js.map +1 -1
  164. package/dist/elements/ViewDescription/types.js.map +1 -1
  165. package/dist/elements/WhereBuilder/Condition/Date/index.js.map +1 -1
  166. package/dist/elements/WhereBuilder/Condition/Date/types.js.map +1 -1
  167. package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
  168. package/dist/elements/WhereBuilder/Condition/Number/types.js.map +1 -1
  169. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  170. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js.map +1 -1
  171. package/dist/elements/WhereBuilder/Condition/Relationship/types.js.map +1 -1
  172. package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
  173. package/dist/elements/WhereBuilder/Condition/Select/types.js.map +1 -1
  174. package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
  175. package/dist/elements/WhereBuilder/Condition/Text/types.js.map +1 -1
  176. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  177. package/dist/elements/WhereBuilder/Condition/types.js.map +1 -1
  178. package/dist/elements/WhereBuilder/field-types.js.map +1 -1
  179. package/dist/elements/WhereBuilder/index.js.map +1 -1
  180. package/dist/elements/WhereBuilder/reduceFieldMap.js.map +1 -1
  181. package/dist/elements/WhereBuilder/transformWhereQuery.js.map +1 -1
  182. package/dist/elements/WhereBuilder/types.js.map +1 -1
  183. package/dist/elements/WhereBuilder/validateWhereQuery.js.map +1 -1
  184. package/dist/elements/WindowInfo/index.js.map +1 -1
  185. package/dist/elements/withMergedProps/index.d.ts +2 -1
  186. package/dist/elements/withMergedProps/index.d.ts.map +1 -1
  187. package/dist/elements/withMergedProps/index.js +7 -1
  188. package/dist/elements/withMergedProps/index.js.map +1 -1
  189. package/dist/exports/elements.d.ts +3 -2
  190. package/dist/exports/elements.d.ts.map +1 -1
  191. package/dist/exports/elements.js +5 -2
  192. package/dist/exports/elements.js.map +1 -1
  193. package/dist/exports/fields.d.ts +2 -0
  194. package/dist/exports/fields.d.ts.map +1 -0
  195. package/dist/exports/fields.js +3 -0
  196. package/dist/exports/fields.js.map +1 -0
  197. package/dist/exports/providers.d.ts +2 -0
  198. package/dist/exports/providers.d.ts.map +1 -0
  199. package/dist/exports/providers.js +3 -0
  200. package/dist/exports/providers.js.map +1 -0
  201. package/dist/fields/Array/ArrayRow.js.map +1 -1
  202. package/dist/fields/Array/index.d.ts.map +1 -1
  203. package/dist/fields/Array/index.js +3 -2
  204. package/dist/fields/Array/index.js.map +1 -1
  205. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  206. package/dist/fields/Blocks/BlocksDrawer/BlockSearch/index.js.map +1 -1
  207. package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
  208. package/dist/fields/Blocks/RowActions.js.map +1 -1
  209. package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
  210. package/dist/fields/Blocks/index.d.ts.map +1 -1
  211. package/dist/fields/Blocks/index.js +3 -2
  212. package/dist/fields/Blocks/index.js.map +1 -1
  213. package/dist/fields/Checkbox/Input.js.map +1 -1
  214. package/dist/fields/Checkbox/index.js.map +1 -1
  215. package/dist/fields/Checkbox/types.js.map +1 -1
  216. package/dist/fields/Code/index.js.map +1 -1
  217. package/dist/fields/Collapsible/index.d.ts.map +1 -1
  218. package/dist/fields/Collapsible/index.js +27 -21
  219. package/dist/fields/Collapsible/index.js.map +1 -1
  220. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  221. package/dist/fields/DateTime/index.js.map +1 -1
  222. package/dist/fields/Email/index.js.map +1 -1
  223. package/dist/fields/Group/index.js.map +1 -1
  224. package/dist/fields/Group/provider.js.map +1 -1
  225. package/dist/fields/HiddenInput/index.d.ts +1 -1
  226. package/dist/fields/HiddenInput/index.d.ts.map +1 -1
  227. package/dist/fields/HiddenInput/index.js.map +1 -1
  228. package/dist/fields/JSON/index.d.ts +1 -0
  229. package/dist/fields/JSON/index.d.ts.map +1 -1
  230. package/dist/fields/JSON/index.js +20 -1
  231. package/dist/fields/JSON/index.js.map +1 -1
  232. package/dist/fields/Number/index.js.map +1 -1
  233. package/dist/fields/Password/index.js.map +1 -1
  234. package/dist/fields/Point/index.js.map +1 -1
  235. package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
  236. package/dist/fields/RadioGroup/index.js.map +1 -1
  237. package/dist/fields/Relationship/AddNew/index.js.map +1 -1
  238. package/dist/fields/Relationship/AddNew/types.js.map +1 -1
  239. package/dist/fields/Relationship/AddNew/useRelatedCollections.js.map +1 -1
  240. package/dist/fields/Relationship/createRelationMap.js.map +1 -1
  241. package/dist/fields/Relationship/findOptionsByValue.js.map +1 -1
  242. package/dist/fields/Relationship/index.js.map +1 -1
  243. package/dist/fields/Relationship/optionsReducer.js.map +1 -1
  244. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  245. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  246. package/dist/fields/Relationship/types.js.map +1 -1
  247. package/dist/fields/RichText/index.js.map +1 -1
  248. package/dist/fields/Row/index.js.map +1 -1
  249. package/dist/fields/Row/provider.js.map +1 -1
  250. package/dist/fields/Row/types.js.map +1 -1
  251. package/dist/fields/Select/index.js.map +1 -1
  252. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  253. package/dist/fields/Tabs/index.d.ts.map +1 -1
  254. package/dist/fields/Tabs/index.js +27 -23
  255. package/dist/fields/Tabs/index.js.map +1 -1
  256. package/dist/fields/Tabs/provider.js.map +1 -1
  257. package/dist/fields/Text/Input.js.map +1 -1
  258. package/dist/fields/Text/index.js.map +1 -1
  259. package/dist/fields/Text/types.js.map +1 -1
  260. package/dist/fields/Textarea/Input.js.map +1 -1
  261. package/dist/fields/Textarea/index.js.map +1 -1
  262. package/dist/fields/Textarea/types.js.map +1 -1
  263. package/dist/fields/UI/index.js.map +1 -1
  264. package/dist/fields/Upload/Input.js.map +1 -1
  265. package/dist/fields/Upload/index.js.map +1 -1
  266. package/dist/fields/Upload/types.js.map +1 -1
  267. package/dist/fields/index.js.map +1 -1
  268. package/dist/fields/shared/index.d.ts +1 -0
  269. package/dist/fields/shared/index.d.ts.map +1 -1
  270. package/dist/fields/shared/index.js.map +1 -1
  271. package/dist/forms/FieldDescription/index.js.map +1 -1
  272. package/dist/forms/FieldError/index.js.map +1 -1
  273. package/dist/forms/FieldLabel/index.js.map +1 -1
  274. package/dist/forms/FieldPropsProvider/index.d.ts +2 -0
  275. package/dist/forms/FieldPropsProvider/index.d.ts.map +1 -1
  276. package/dist/forms/FieldPropsProvider/index.js +5 -3
  277. package/dist/forms/FieldPropsProvider/index.js.map +1 -1
  278. package/dist/forms/Form/context.js.map +1 -1
  279. package/dist/forms/Form/createNestedFieldPath.js.map +1 -1
  280. package/dist/forms/Form/errorMessages.js.map +1 -1
  281. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  282. package/dist/forms/Form/fieldReducer.js +53 -0
  283. package/dist/forms/Form/fieldReducer.js.map +1 -1
  284. package/dist/forms/Form/getDataByPath.js.map +1 -1
  285. package/dist/forms/Form/getSiblingData.js.map +1 -1
  286. package/dist/forms/Form/index.d.ts.map +1 -1
  287. package/dist/forms/Form/index.js +3 -8
  288. package/dist/forms/Form/index.js.map +1 -1
  289. package/dist/forms/Form/initContextState.js.map +1 -1
  290. package/dist/forms/Form/mergeErrorPaths.js.map +1 -1
  291. package/dist/forms/Form/mergeServerFormState.js.map +1 -1
  292. package/dist/forms/Form/rows.js.map +1 -1
  293. package/dist/forms/Form/types.d.ts +8 -1
  294. package/dist/forms/Form/types.d.ts.map +1 -1
  295. package/dist/forms/Form/types.js.map +1 -1
  296. package/dist/forms/NullifyField/index.js.map +1 -1
  297. package/dist/forms/RenderFields/RenderField.d.ts +1 -0
  298. package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
  299. package/dist/forms/RenderFields/RenderField.js +2 -1
  300. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  301. package/dist/forms/RenderFields/index.d.ts.map +1 -1
  302. package/dist/forms/RenderFields/index.js +2 -1
  303. package/dist/forms/RenderFields/index.js.map +1 -1
  304. package/dist/forms/RenderFields/types.js.map +1 -1
  305. package/dist/forms/RowLabel/Context/index.js.map +1 -1
  306. package/dist/forms/RowLabel/index.js.map +1 -1
  307. package/dist/forms/RowLabel/types.js.map +1 -1
  308. package/dist/forms/Submit/index.js.map +1 -1
  309. package/dist/forms/WatchChildErrors/buildPathSegments.js.map +1 -1
  310. package/dist/forms/WatchChildErrors/getFieldStateFromPaths.js.map +1 -1
  311. package/dist/forms/WatchChildErrors/getNestedFieldState.js.map +1 -1
  312. package/dist/forms/WatchChildErrors/index.js.map +1 -1
  313. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js.map +1 -1
  314. package/dist/forms/buildStateFromSchema/buildStateFromSchema.spec.js.map +1 -1
  315. package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.js.map +1 -1
  316. package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.js.map +1 -1
  317. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js.map +1 -1
  318. package/dist/forms/buildStateFromSchema/getFilterOptionsQuery.js.map +1 -1
  319. package/dist/forms/buildStateFromSchema/index.js.map +1 -1
  320. package/dist/forms/buildStateFromSchema/iterateFields.js.map +1 -1
  321. package/dist/forms/useField/index.js.map +1 -1
  322. package/dist/forms/useField/types.js.map +1 -1
  323. package/dist/forms/withCondition/WatchCondition.js.map +1 -1
  324. package/dist/forms/withCondition/index.js.map +1 -1
  325. package/dist/graphics/Account/Default/index.js.map +1 -1
  326. package/dist/graphics/Account/Gravatar/index.js.map +1 -1
  327. package/dist/graphics/Account/index.js.map +1 -1
  328. package/dist/graphics/DefaultBlockImage/index.js.map +1 -1
  329. package/dist/graphics/ExternalLink/index.js.map +1 -1
  330. package/dist/graphics/File/index.js.map +1 -1
  331. package/dist/graphics/Icon/index.js.map +1 -1
  332. package/dist/graphics/Logo/index.js.map +1 -1
  333. package/dist/graphics/Search/index.js.map +1 -1
  334. package/dist/hooks/useDebounce.js.map +1 -1
  335. package/dist/hooks/useDebouncedCallback.js.map +1 -1
  336. package/dist/hooks/useDebouncedEffect.js.map +1 -1
  337. package/dist/hooks/useDelay.js.map +1 -1
  338. package/dist/hooks/useDelayedRender.js.map +1 -1
  339. package/dist/hooks/useHotkey.js.map +1 -1
  340. package/dist/hooks/useIntersect.js.map +1 -1
  341. package/dist/hooks/usePayloadAPI.js.map +1 -1
  342. package/dist/hooks/useResize.js.map +1 -1
  343. package/dist/hooks/useThrottledEffect.js.map +1 -1
  344. package/dist/hooks/useUseAsTitle.js.map +1 -1
  345. package/dist/icons/Calendar/index.js.map +1 -1
  346. package/dist/icons/Check/index.js.map +1 -1
  347. package/dist/icons/Chevron/index.js.map +1 -1
  348. package/dist/icons/CloseMenu/index.js.map +1 -1
  349. package/dist/icons/CodeBlock/index.js.map +1 -1
  350. package/dist/icons/Copy/index.js.map +1 -1
  351. package/dist/icons/DragHandle/index.js.map +1 -1
  352. package/dist/icons/Edit/index.js.map +1 -1
  353. package/dist/icons/Line/index.js.map +1 -1
  354. package/dist/icons/Link/index.js.map +1 -1
  355. package/dist/icons/LogOut/index.js.map +1 -1
  356. package/dist/icons/Menu/index.js.map +1 -1
  357. package/dist/icons/MinimizeMaximize/index.js.map +1 -1
  358. package/dist/icons/More/index.js.map +1 -1
  359. package/dist/icons/Plus/index.js.map +1 -1
  360. package/dist/icons/Search/index.js.map +1 -1
  361. package/dist/icons/Swap/index.js.map +1 -1
  362. package/dist/icons/X/index.js.map +1 -1
  363. package/dist/providers/Actions/SetViewActions/index.js.map +1 -1
  364. package/dist/providers/Actions/index.js.map +1 -1
  365. package/dist/providers/Auth/index.js.map +1 -1
  366. package/dist/providers/ClientFunction/index.js.map +1 -1
  367. package/dist/providers/ComponentMap/buildComponentMap/WithServerSideProps.d.ts +3 -0
  368. package/dist/providers/ComponentMap/buildComponentMap/WithServerSideProps.d.ts.map +1 -0
  369. package/dist/providers/ComponentMap/buildComponentMap/WithServerSideProps.js +19 -0
  370. package/dist/providers/ComponentMap/buildComponentMap/WithServerSideProps.js.map +1 -0
  371. package/dist/providers/ComponentMap/buildComponentMap/actions.d.ts +2 -1
  372. package/dist/providers/ComponentMap/buildComponentMap/actions.d.ts.map +1 -1
  373. package/dist/providers/ComponentMap/buildComponentMap/actions.js +7 -3
  374. package/dist/providers/ComponentMap/buildComponentMap/actions.js.map +1 -1
  375. package/dist/providers/ComponentMap/buildComponentMap/collections.d.ts +5 -2
  376. package/dist/providers/ComponentMap/buildComponentMap/collections.d.ts.map +1 -1
  377. package/dist/providers/ComponentMap/buildComponentMap/collections.js +36 -14
  378. package/dist/providers/ComponentMap/buildComponentMap/collections.js.map +1 -1
  379. package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts +4 -1
  380. package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts.map +1 -1
  381. package/dist/providers/ComponentMap/buildComponentMap/fields.js +75 -18
  382. package/dist/providers/ComponentMap/buildComponentMap/fields.js.map +1 -1
  383. package/dist/providers/ComponentMap/buildComponentMap/globals.d.ts +5 -2
  384. package/dist/providers/ComponentMap/buildComponentMap/globals.d.ts.map +1 -1
  385. package/dist/providers/ComponentMap/buildComponentMap/globals.js +20 -6
  386. package/dist/providers/ComponentMap/buildComponentMap/globals.js.map +1 -1
  387. package/dist/providers/ComponentMap/buildComponentMap/index.d.ts +4 -1
  388. package/dist/providers/ComponentMap/buildComponentMap/index.d.ts.map +1 -1
  389. package/dist/providers/ComponentMap/buildComponentMap/index.js +22 -4
  390. package/dist/providers/ComponentMap/buildComponentMap/index.js.map +1 -1
  391. package/dist/providers/ComponentMap/buildComponentMap/types.d.ts +2 -0
  392. package/dist/providers/ComponentMap/buildComponentMap/types.d.ts.map +1 -1
  393. package/dist/providers/ComponentMap/buildComponentMap/types.js.map +1 -1
  394. package/dist/providers/ComponentMap/index.d.ts +1 -0
  395. package/dist/providers/ComponentMap/index.d.ts.map +1 -1
  396. package/dist/providers/ComponentMap/index.js +1 -0
  397. package/dist/providers/ComponentMap/index.js.map +1 -1
  398. package/dist/providers/Config/index.js.map +1 -1
  399. package/dist/providers/DocumentEvents/index.js.map +1 -1
  400. package/dist/providers/DocumentInfo/index.js.map +1 -1
  401. package/dist/providers/DocumentInfo/types.js.map +1 -1
  402. package/dist/providers/EditDepth/index.js.map +1 -1
  403. package/dist/providers/EntityVisibility/index.js.map +1 -1
  404. package/dist/providers/FieldComponents/index.js.map +1 -1
  405. package/dist/providers/FormQueryParams/index.js.map +1 -1
  406. package/dist/providers/FormQueryParams/types.js.map +1 -1
  407. package/dist/providers/ListInfo/index.js.map +1 -1
  408. package/dist/providers/ListQuery/index.js.map +1 -1
  409. package/dist/providers/Locale/index.js +1 -1
  410. package/dist/providers/Locale/index.js.map +1 -1
  411. package/dist/providers/Operation/index.js.map +1 -1
  412. package/dist/providers/Params/index.js.map +1 -1
  413. package/dist/providers/Preferences/index.js.map +1 -1
  414. package/dist/providers/Root/index.d.ts +4 -3
  415. package/dist/providers/Root/index.d.ts.map +1 -1
  416. package/dist/providers/Root/index.js +3 -2
  417. package/dist/providers/Root/index.js.map +1 -1
  418. package/dist/providers/RouteCache/index.js.map +1 -1
  419. package/dist/providers/SearchParams/index.js.map +1 -1
  420. package/dist/providers/Selection/index.js.map +1 -1
  421. package/dist/providers/Theme/index.js.map +1 -1
  422. package/dist/providers/Translation/index.d.ts +4 -3
  423. package/dist/providers/Translation/index.d.ts.map +1 -1
  424. package/dist/providers/Translation/index.js +20 -6
  425. package/dist/providers/Translation/index.js.map +1 -1
  426. package/dist/scss/app.scss +2 -3
  427. package/dist/scss/vars.scss +0 -7
  428. package/dist/templates/Default/NavHamburger/index.js.map +1 -1
  429. package/dist/templates/Default/Wrapper/index.js.map +1 -1
  430. package/dist/templates/Default/index.js.map +1 -1
  431. package/dist/templates/Minimal/index.js.map +1 -1
  432. package/dist/utilities/api.js.map +1 -1
  433. package/dist/utilities/arraysHaveSameStrings.js.map +1 -1
  434. package/dist/utilities/buildComponentMap.js.map +1 -1
  435. package/dist/utilities/canUseDOM.js.map +1 -1
  436. package/dist/utilities/dateLocales.js.map +1 -1
  437. package/dist/utilities/findLocaleFromCode.js.map +1 -1
  438. package/dist/utilities/flattenFieldMap.js.map +1 -1
  439. package/dist/utilities/formatDate.d.ts +13 -2
  440. package/dist/utilities/formatDate.d.ts.map +1 -1
  441. package/dist/utilities/formatDate.js +4 -7
  442. package/dist/utilities/formatDate.js.map +1 -1
  443. package/dist/utilities/formatDocTitle.js +5 -1
  444. package/dist/utilities/formatDocTitle.js.map +1 -1
  445. package/dist/utilities/formatFields.js.map +1 -1
  446. package/dist/utilities/generateFieldID.js.map +1 -1
  447. package/dist/utilities/getFormState.js.map +1 -1
  448. package/dist/utilities/getOffsetTop.js.map +1 -1
  449. package/dist/utilities/getRequestLanguage.js.map +1 -1
  450. package/dist/utilities/getSupportedMonacoLocale.js.map +1 -1
  451. package/dist/utilities/groupNavItems.js.map +1 -1
  452. package/dist/utilities/reduceFieldsToValues.js.map +1 -1
  453. package/dist/utilities/scrollToID.js.map +1 -1
  454. package/dist/utilities/setsAreEqual.js.map +1 -1
  455. package/package.json +10 -10
  456. package/dist/assets/fonts/SuisseIntl-Bold.woff +0 -0
  457. package/dist/assets/fonts/SuisseIntl-Bold.woff2 +0 -0
  458. package/dist/assets/fonts/SuisseIntl-Medium.woff +0 -0
  459. package/dist/assets/fonts/SuisseIntl-Medium.woff2 +0 -0
  460. package/dist/assets/fonts/SuisseIntl-SemiBold.woff +0 -0
  461. package/dist/assets/fonts/SuisseIntl-SemiBold.woff2 +0 -0
  462. package/dist/assets/fonts/SuisseIntl.woff +0 -0
  463. package/dist/assets/fonts/SuisseIntl.woff2 +0 -0
  464. package/dist/assets/fonts/merriweather-v30-latin-900.woff +0 -0
  465. package/dist/assets/fonts/merriweather-v30-latin-900.woff2 +0 -0
  466. package/dist/assets/fonts/merriweather-v30-latin-900italic.woff +0 -0
  467. package/dist/assets/fonts/merriweather-v30-latin-900italic.woff2 +0 -0
  468. package/dist/assets/fonts/merriweather-v30-latin-italic.woff +0 -0
  469. package/dist/assets/fonts/merriweather-v30-latin-italic.woff2 +0 -0
  470. package/dist/assets/fonts/merriweather-v30-latin-regular.woff +0 -0
  471. package/dist/assets/fonts/merriweather-v30-latin-regular.woff2 +0 -0
  472. package/dist/scss/fonts.scss +0 -75
  473. package/dist/utilities/getDateLocale.d.ts +0 -7
  474. package/dist/utilities/getDateLocale.d.ts.map +0 -1
  475. package/dist/utilities/getDateLocale.js +0 -16
  476. package/dist/utilities/getDateLocale.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../src/exports/providers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAA"}
@@ -0,0 +1,3 @@
1
+ export { SetViewActions } from '../providers/Actions/SetViewActions/index.js';
2
+
3
+ //# sourceMappingURL=providers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/exports/providers.ts"],"sourcesContent":["export { SetViewActions } from '../providers/Actions/SetViewActions/index.js'\n"],"names":["SetViewActions"],"rangeMappings":"","mappings":"AAAA,SAASA,cAAc,QAAQ,+CAA8C"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/Array/ArrayRow.tsx"],"sourcesContent":["import type { FieldPermissions } from 'payload/auth'\nimport type { ArrayField, Row } from 'payload/types'\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 = UseDraggableSortableReturn & {\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 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}\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 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 moveRow={moveRow}\n removeRow={removeRow}\n rowCount={rowCount}\n />\n ) : undefined\n }\n className={classNames}\n collapsibleStyle={fieldHasErrors ? 'error' : 'default'}\n dragHandleProps={{\n id: row.id,\n attributes,\n listeners,\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","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","key","ref","style","actions","index","undefined","className","collapsibleStyle","dragHandleProps","header","RowLabelComponent","rowLabel","rowNumber","count","withMessage","isCollapsed","collapsed","onToggle","margins","fields"],"mappings":"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;AAGrE,MAAMC,YAAY;AAwBlB,OAAO,MAAMC,WAAoC,CAAC,EAChDC,cAAc,EACdC,MAAM,EACNC,UAAU,EACVC,YAAY,EACZC,UAAU,EACVC,QAAQ,EACRC,cAAc,KAAK,EACnBC,UAAU,EACVC,SAAS,EACTC,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,GAAG3B;IACjB,MAAM4B,eAAe/B;IAErB,MAAMgC,gBAAgB,CAAC,EAAErC,eAAeoB,OAAOkB,QAAQ,EAAEH,MAAM,CAAC,EAAEI,OAAOT,WAAW,GAAGU,QAAQ,CAC7F,GACA,KACA,CAAC;IAEH,MAAMC,iBAAiB1B,aAAa,KAAKqB;IAEzC,MAAMM,aAAa;QACjB,CAAC,EAAEjC,UAAU,KAAK,CAAC;QACnBgC,iBAAiB,CAAC,EAAEhC,UAAU,iBAAiB,CAAC,GAAG,CAAC,EAAEA,UAAU,gBAAgB,CAAC;KAClF,CACEkC,MAAM,CAACC,SACPC,IAAI,CAAC;IAER,qBACE,oBAACC;QACCC,IAAI,CAAC,EAAEvB,WAAWwB,KAAK,CAAC,KAAKH,IAAI,CAAC,KAAK,KAAK,EAAEf,SAAS,CAAC;QACxDmB,KAAK,CAAC,EAAEzB,WAAW,KAAK,EAAEI,IAAImB,EAAE,CAAC,CAAC;QAClCG,KAAKjB;QACLkB,OAAO;YACLjB;QACF;qBAEA,oBAAC/B;QACCiD,SACE,CAAC1B,yBACC,oBAACxB;YACCU,QAAQA;YACRE,cAAcA;YACdI,YAAYA;YACZmC,OAAOvB;YACPR,SAASA;YACTK,WAAWA;YACXE,UAAUA;aAEVyB;QAENC,WAAWb;QACXc,kBAAkBf,iBAAiB,UAAU;QAC7CgB,iBAAiB;YACfV,IAAInB,IAAImB,EAAE;YACVlC;YACAQ;QACF;QACAqC,sBACE,oBAACZ;YAAIS,WAAW,CAAC,EAAE9C,UAAU,YAAY,CAAC;yBACxC,oBAACF;YACCoD,mBAAmBhD;YACnBwB,MAAMA;YACNZ,MAAMA;YACNqC,UAAUvB;YACVwB,WAAW/B,WAAW;YAEvBW,gCAAkB,oBAACrC;YAAU0D,OAAO/C;YAAYoB,MAAMA;YAAM4B,aAAAA;;QAGjEC,aAAapC,IAAIqC,SAAS;QAC1BC,UAAU,CAACD,YAAcjC,YAAYJ,IAAImB,EAAE,EAAEkB;qBAE7C,oBAAC3D;QACCiD,WAAW,CAAC,EAAE9C,UAAU,QAAQ,CAAC;QACjCO,UAAUA;QACVC,aAAaA;QACbE,WAAWA;QACXgD,SAAQ;QACR5C,MAAMA;QACNE,aAAaA,aAAa2C;QAC1B1C,UAAUA;QACVK,YAAYA;;AAKtB,EAAC"}
1
+ {"version":3,"sources":["../../../src/fields/Array/ArrayRow.tsx"],"sourcesContent":["import type { FieldPermissions } from 'payload/auth'\nimport type { ArrayField, Row } from 'payload/types'\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 = UseDraggableSortableReturn & {\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 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}\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 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 moveRow={moveRow}\n removeRow={removeRow}\n rowCount={rowCount}\n />\n ) : undefined\n }\n className={classNames}\n collapsibleStyle={fieldHasErrors ? 'error' : 'default'}\n dragHandleProps={{\n id: row.id,\n attributes,\n listeners,\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","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","key","ref","style","actions","index","undefined","className","collapsibleStyle","dragHandleProps","header","RowLabelComponent","rowLabel","rowNumber","count","withMessage","isCollapsed","collapsed","onToggle","margins","fields"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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;AAGrE,MAAMC,YAAY;AAwBlB,OAAO,MAAMC,WAAoC,CAAC,EAChDC,cAAc,EACdC,MAAM,EACNC,UAAU,EACVC,YAAY,EACZC,UAAU,EACVC,QAAQ,EACRC,cAAc,KAAK,EACnBC,UAAU,EACVC,SAAS,EACTC,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,GAAG3B;IACjB,MAAM4B,eAAe/B;IAErB,MAAMgC,gBAAgB,CAAC,EAAErC,eAAeoB,OAAOkB,QAAQ,EAAEH,MAAM,CAAC,EAAEI,OAAOT,WAAW,GAAGU,QAAQ,CAC7F,GACA,KACA,CAAC;IAEH,MAAMC,iBAAiB1B,aAAa,KAAKqB;IAEzC,MAAMM,aAAa;QACjB,CAAC,EAAEjC,UAAU,KAAK,CAAC;QACnBgC,iBAAiB,CAAC,EAAEhC,UAAU,iBAAiB,CAAC,GAAG,CAAC,EAAEA,UAAU,gBAAgB,CAAC;KAClF,CACEkC,MAAM,CAACC,SACPC,IAAI,CAAC;IAER,qBACE,oBAACC;QACCC,IAAI,CAAC,EAAEvB,WAAWwB,KAAK,CAAC,KAAKH,IAAI,CAAC,KAAK,KAAK,EAAEf,SAAS,CAAC;QACxDmB,KAAK,CAAC,EAAEzB,WAAW,KAAK,EAAEI,IAAImB,EAAE,CAAC,CAAC;QAClCG,KAAKjB;QACLkB,OAAO;YACLjB;QACF;qBAEA,oBAAC/B;QACCiD,SACE,CAAC1B,yBACC,oBAACxB;YACCU,QAAQA;YACRE,cAAcA;YACdI,YAAYA;YACZmC,OAAOvB;YACPR,SAASA;YACTK,WAAWA;YACXE,UAAUA;aAEVyB;QAENC,WAAWb;QACXc,kBAAkBf,iBAAiB,UAAU;QAC7CgB,iBAAiB;YACfV,IAAInB,IAAImB,EAAE;YACVlC;YACAQ;QACF;QACAqC,sBACE,oBAACZ;YAAIS,WAAW,CAAC,EAAE9C,UAAU,YAAY,CAAC;yBACxC,oBAACF;YACCoD,mBAAmBhD;YACnBwB,MAAMA;YACNZ,MAAMA;YACNqC,UAAUvB;YACVwB,WAAW/B,WAAW;YAEvBW,gCAAkB,oBAACrC;YAAU0D,OAAO/C;YAAYoB,MAAMA;YAAM4B,aAAAA;;QAGjEC,aAAapC,IAAIqC,SAAS;QAC1BC,UAAU,CAACD,YAAcjC,YAAYJ,IAAImB,EAAE,EAAEkB;qBAE7C,oBAAC3D;QACCiD,WAAW,CAAC,EAAE9C,UAAU,QAAQ,CAAC;QACjCO,UAAUA;QACVC,aAAaA;QACbE,WAAWA;QACXgD,SAAQ;QACR5C,MAAMA;QACNE,aAAaA,aAAa2C;QAC1B1C,UAAUA;QACVK,YAAYA;;AAKtB,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Array/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,KAAK,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,eAAe,CAAA;AAQjE,OAAO,KAAsB,MAAM,OAAO,CAAA;AAE1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yDAAyD,CAAA;AACvF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAiBvD,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG;IAC5C,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAChC,QAAQ,EAAE,QAAQ,CAAA;IAClB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;IAC1B,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,WAAW,EAAE,gBAAgB,CAAA;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAqRjD,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,gBAAgB,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,KAAK,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,eAAe,CAAA;AAQjE,OAAO,KAAsB,MAAM,OAAO,CAAA;AAE1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yDAAyD,CAAA;AACvF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAiBvD,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG;IAC5C,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAChC,QAAQ,EAAE,QAAQ,CAAA;IAClB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;IAC1B,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,WAAW,EAAE,gBAAgB,CAAA;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAsRjD,CAAA;AAED,eAAO,MAAM,UAAU,2BAA6B,CAAA"}
@@ -23,9 +23,10 @@ import { fieldBaseClass } from '../shared/index.js';
23
23
  import { ArrayRow } from './ArrayRow.js';
24
24
  const baseClass = 'array-field';
25
25
  export const _ArrayField = (props)=>{
26
- const { name, CustomDescription, CustomError, CustomLabel, CustomRowLabel, className, descriptionProps, errorProps, fieldMap, forceRender = false, label, labelProps, localized, maxRows, minRows, path: pathFromProps, permissions, readOnly: readOnlyFromProps, required, validate } = props;
26
+ const { name, CustomDescription, CustomError, CustomLabel, CustomRowLabel, className, descriptionProps, errorProps, fieldMap, forceRender = false, label, labelProps, localized, maxRows, minRows: minRowsProp, path: pathFromProps, permissions, readOnly: readOnlyFromProps, required, validate } = props;
27
27
  const { indexPath, readOnly: readOnlyFromContext } = useFieldProps();
28
28
  const readOnly = readOnlyFromProps || readOnlyFromContext;
29
+ const minRows = minRowsProp ?? required ? 1 : 0;
29
30
  const { setDocFieldPreferences } = useDocumentInfo();
30
31
  const { addFieldRow, dispatchFields, setModified } = useForm();
31
32
  const submitted = useFormSubmitted();
@@ -252,7 +253,7 @@ export const _ArrayField = (props)=>{
252
253
  type: "error"
253
254
  }, t('validation:requiresAtLeast', {
254
255
  count: minRows,
255
- label: getTranslation(minRows ? labels.plural : labels.singular, i18n) || t(minRows > 1 ? 'general:row' : 'general:rows')
256
+ label: getTranslation(minRows > 1 ? labels.plural : labels.singular, i18n) || t(minRows > 1 ? 'general:row' : 'general:rows')
256
257
  })))), !readOnly && !hasMaxRows && /*#__PURE__*/ React.createElement(Button, {
257
258
  buttonStyle: "icon-label",
258
259
  className: `${baseClass}__add-row`,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/Array/index.tsx"],"sourcesContent":["'use client'\nimport type { FieldPermissions } from 'payload/auth'\nimport type { FieldBase } from 'payload/types'\nimport type { ArrayField as ArrayFieldType } from 'payload/types'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { FieldDescription } from '@payloadcms/ui/forms/FieldDescription'\nimport { FieldError } from '@payloadcms/ui/forms/FieldError'\nimport { FieldLabel } from '@payloadcms/ui/forms/FieldLabel'\nimport { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider'\nimport { withCondition } from '@payloadcms/ui/forms/withCondition'\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 { useForm, useFormSubmitted } from '../../forms/Form/context.js'\nimport { NullifyLocaleField } from '../../forms/NullifyField/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { scrollToID } from '../../utilities/scrollToID.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { ArrayRow } from './ArrayRow.js'\nimport './index.scss'\n\nconst baseClass = 'array-field'\n\nexport type ArrayFieldProps = FormFieldBase & {\n CustomRowLabel?: React.ReactNode\n fieldMap: FieldMap\n forceRender?: boolean\n label?: FieldBase['label']\n labels?: ArrayFieldType['labels']\n maxRows?: ArrayFieldType['maxRows']\n minRows?: ArrayFieldType['minRows']\n name?: string\n permissions: FieldPermissions\n width?: string\n}\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 label,\n labelProps,\n localized,\n maxRows,\n minRows,\n path: pathFromProps,\n permissions,\n readOnly: readOnlyFromProps,\n required,\n validate,\n } = props\n\n const { indexPath, readOnly: readOnlyFromContext } = useFieldProps()\n const readOnly = readOnlyFromProps || readOnlyFromContext\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) => {\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 { path: pathFromContext } = useFieldProps()\n\n const {\n errorPaths,\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 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 = readOnly && 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 && (\n <div className={`${baseClass}__error-wrap`}>\n <FieldError CustomError={CustomError} path={path} {...(errorProps || {})} />\n </div>\n )}\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={readOnly} 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 labels={labels}\n moveRow={moveRow}\n path={path}\n permissions={permissions}\n readOnly={readOnly}\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 ? labels.plural : labels.singular, i18n) ||\n t(minRows > 1 ? 'general:row' : 'general:rows'),\n })}\n </Banner>\n )}\n </React.Fragment>\n )}\n </DraggableSortable>\n )}\n {!readOnly && !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","FieldDescription","FieldError","FieldLabel","useFieldProps","withCondition","React","useCallback","Banner","Button","DraggableSortableItem","DraggableSortable","ErrorPill","useForm","useFormSubmitted","NullifyLocaleField","useField","useConfig","useDocumentInfo","useLocale","useTranslation","scrollToID","fieldBaseClass","ArrayRow","baseClass","_ArrayField","props","name","CustomDescription","CustomError","CustomLabel","CustomRowLabel","className","descriptionProps","errorProps","fieldMap","forceRender","label","labelProps","localized","maxRows","minRows","path","pathFromProps","permissions","readOnly","readOnlyFromProps","required","validate","indexPath","readOnlyFromContext","setDocFieldPreferences","addFieldRow","dispatchFields","setModified","submitted","code","locale","i18n","t","localization","editingDefaultLocale","fallback","defaultLocale","getLabels","p","labels","plural","undefined","singular","memoizedValidate","value","options","pathFromContext","errorPaths","rows","schemaPath","showError","valid","hasRows","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","disabled","key","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 { FieldPermissions } from 'payload/auth'\nimport type { FieldBase } from 'payload/types'\nimport type { ArrayField as ArrayFieldType } from 'payload/types'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { FieldDescription } from '@payloadcms/ui/forms/FieldDescription'\nimport { FieldError } from '@payloadcms/ui/forms/FieldError'\nimport { FieldLabel } from '@payloadcms/ui/forms/FieldLabel'\nimport { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider'\nimport { withCondition } from '@payloadcms/ui/forms/withCondition'\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 { useForm, useFormSubmitted } from '../../forms/Form/context.js'\nimport { NullifyLocaleField } from '../../forms/NullifyField/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { scrollToID } from '../../utilities/scrollToID.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { ArrayRow } from './ArrayRow.js'\nimport './index.scss'\n\nconst baseClass = 'array-field'\n\nexport type ArrayFieldProps = FormFieldBase & {\n CustomRowLabel?: React.ReactNode\n fieldMap: FieldMap\n forceRender?: boolean\n label?: FieldBase['label']\n labels?: ArrayFieldType['labels']\n maxRows?: ArrayFieldType['maxRows']\n minRows?: ArrayFieldType['minRows']\n name?: string\n permissions: FieldPermissions\n width?: string\n}\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 label,\n labelProps,\n localized,\n maxRows,\n minRows: minRowsProp,\n path: pathFromProps,\n permissions,\n readOnly: readOnlyFromProps,\n required,\n validate,\n } = props\n\n const { indexPath, readOnly: readOnlyFromContext } = useFieldProps()\n const readOnly = readOnlyFromProps || readOnlyFromContext\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) => {\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 { path: pathFromContext } = useFieldProps()\n\n const {\n errorPaths,\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 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 = readOnly && 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 && (\n <div className={`${baseClass}__error-wrap`}>\n <FieldError CustomError={CustomError} path={path} {...(errorProps || {})} />\n </div>\n )}\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={readOnly} 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 labels={labels}\n moveRow={moveRow}\n path={path}\n permissions={permissions}\n readOnly={readOnly}\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:row' : 'general:rows'),\n })}\n </Banner>\n )}\n </React.Fragment>\n )}\n </DraggableSortable>\n )}\n {!readOnly && !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","FieldDescription","FieldError","FieldLabel","useFieldProps","withCondition","React","useCallback","Banner","Button","DraggableSortableItem","DraggableSortable","ErrorPill","useForm","useFormSubmitted","NullifyLocaleField","useField","useConfig","useDocumentInfo","useLocale","useTranslation","scrollToID","fieldBaseClass","ArrayRow","baseClass","_ArrayField","props","name","CustomDescription","CustomError","CustomLabel","CustomRowLabel","className","descriptionProps","errorProps","fieldMap","forceRender","label","labelProps","localized","maxRows","minRows","minRowsProp","path","pathFromProps","permissions","readOnly","readOnlyFromProps","required","validate","indexPath","readOnlyFromContext","setDocFieldPreferences","addFieldRow","dispatchFields","setModified","submitted","code","locale","i18n","t","localization","editingDefaultLocale","fallback","defaultLocale","getLabels","p","labels","plural","undefined","singular","memoizedValidate","value","options","pathFromContext","errorPaths","rows","schemaPath","showError","valid","hasRows","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","disabled","key","draggableSortableItemProps","errorCount","rowCount","Fragment","buttonStyle","icon","iconPosition","iconStyle","ArrayField"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/Blocks/BlockRow.tsx"],"sourcesContent":["'use client'\nimport type { FieldPermissions } from 'payload/auth'\nimport type { Labels, Row } from 'payload/types'\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 = UseDraggableSortableReturn & {\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 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}\n\nexport const BlockRow: React.FC<BlockFieldProps> = ({\n addRow,\n attributes,\n block,\n blocks,\n duplicateRow,\n errorCount,\n forceRender,\n hasMaxRows,\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 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 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 id: row.id,\n attributes,\n listeners,\n }}\n header={\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 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","labels","listeners","moveRow","path","parentPath","permissions","readOnly","removeRow","row","rowCount","rowIndex","schemaPath","setCollapse","setNodeRef","transform","i18n","hasSubmitted","fieldHasErrors","classNames","filter","Boolean","join","div","id","split","key","ref","style","actions","blockType","fieldMap","undefined","className","collapsibleStyle","dragHandleProps","header","span","String","padStart","pillStyle","singular","count","withMessage","isCollapsed","collapsed","onToggle","margins","slug","fields"],"mappings":"AAAA;AAIA,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;AAwBlB,OAAO,MAAMC,WAAsC,CAAC,EAClDC,MAAM,EACNC,UAAU,EACVC,KAAK,EACLC,MAAM,EACNC,YAAY,EACZC,UAAU,EACVC,WAAW,EACXC,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,eAAe/B;IAErB,MAAMgC,iBAAiBD,gBAAgBnB,aAAa;IAEpD,MAAMqB,aAAa;QACjB,CAAC,EAAE5B,UAAU,KAAK,CAAC;QACnB2B,iBAAiB,CAAC,EAAE3B,UAAU,iBAAiB,CAAC,GAAG,CAAC,EAAEA,UAAU,gBAAgB,CAAC;KAClF,CACE6B,MAAM,CAACC,SACPC,IAAI,CAAC;IAER,qBACE,oBAACC;QACCC,IAAI,CAAC,EAAEnB,WAAWoB,KAAK,CAAC,KAAKH,IAAI,CAAC,KAAK,KAAK,EAAEX,SAAS,CAAC;QACxDe,KAAK,CAAC,EAAErB,WAAW,KAAK,EAAEM,SAAS,CAAC;QACpCgB,KAAKb;QACLc,OAAO;YACLb;QACF;qBAEA,oBAAChC;QACC8C,SACE,CAACtB,yBACC,oBAAClB;YACCI,QAAQA;YACRqC,WAAWrB,IAAIqB,SAAS;YACxBlC,QAAQA;YACRC,cAAcA;YACdkC,UAAUpC,MAAMoC,QAAQ;YACxB/B,YAAYA;YACZC,QAAQA;YACRE,SAASA;YACTK,WAAWA;YACXE,UAAUA;YACVC,UAAUA;aAEVqB;QAENC,WAAWd;QACXe,kBAAkBhB,iBAAiB,UAAU;QAC7CiB,iBAAiB;YACfX,IAAIf,IAAIe,EAAE;YACV9B;YACAQ;QACF;QACAkC,sBACE,oBAACb;YAAIU,WAAW,CAAC,EAAE1C,UAAU,cAAc,CAAC;yBAC1C,oBAAC8C;YAAKJ,WAAW,CAAC,EAAE1C,UAAU,cAAc,CAAC;WAC1C+C,OAAO3B,WAAW,GAAG4B,QAAQ,CAAC,GAAG,qBAEpC,oBAACtD;YACCgD,WAAW,CAAC,EAAE1C,UAAU,aAAa,EAAEA,UAAU,aAAa,EAAEkB,IAAIqB,SAAS,CAAC,CAAC;YAC/EU,WAAU;WAET3D,eAAec,MAAMM,MAAM,CAACwC,QAAQ,EAAEzB,sBAEzC,oBAAC1B;YAAac,MAAM,CAAC,EAAEA,KAAK,UAAU,CAAC;YAAEG,UAAUA;YAClDW,gCAAkB,oBAAClC;YAAU0D,OAAO5C;YAAYkB,MAAMA;YAAM2B,aAAAA;;QAGjEC,aAAanC,IAAIoC,SAAS;QAC1BnB,KAAKjB,IAAIe,EAAE;QACXsB,UAAU,CAACD,YAAchC,YAAYJ,IAAIe,EAAE,EAAEqB;qBAE7C,oBAAC1D;QACC8C,WAAW,CAAC,EAAE1C,UAAU,QAAQ,CAAC;QACjCwC,UAAUpC,MAAMoC,QAAQ;QACxBhC,aAAaA;QACbgD,SAAQ;QACR3C,MAAMA;QACNE,aAAaA,aAAaV,QAAQ,CAACD,MAAMqD,IAAI,CAAC,EAAEC;QAChD1C,UAAUA;QACVK,YAAY,CAAC,EAAEA,WAAW,CAAC,EAAEjB,MAAMqD,IAAI,CAAC,CAAC;;AAKnD,EAAC"}
1
+ {"version":3,"sources":["../../../src/fields/Blocks/BlockRow.tsx"],"sourcesContent":["'use client'\nimport type { FieldPermissions } from 'payload/auth'\nimport type { Labels, Row } from 'payload/types'\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 = UseDraggableSortableReturn & {\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 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}\n\nexport const BlockRow: React.FC<BlockFieldProps> = ({\n addRow,\n attributes,\n block,\n blocks,\n duplicateRow,\n errorCount,\n forceRender,\n hasMaxRows,\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 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 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 id: row.id,\n attributes,\n listeners,\n }}\n header={\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 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","labels","listeners","moveRow","path","parentPath","permissions","readOnly","removeRow","row","rowCount","rowIndex","schemaPath","setCollapse","setNodeRef","transform","i18n","hasSubmitted","fieldHasErrors","classNames","filter","Boolean","join","div","id","split","key","ref","style","actions","blockType","fieldMap","undefined","className","collapsibleStyle","dragHandleProps","header","span","String","padStart","pillStyle","singular","count","withMessage","isCollapsed","collapsed","onToggle","margins","slug","fields"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/fields/Blocks/BlocksDrawer/BlockSearch/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport { Search } from '../../../../graphics/Search/index.js'\nimport { useTranslation } from '../../../../providers/Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'block-search'\n\nexport const BlockSearch: React.FC<{ setSearchTerm: (term: string) => void }> = (props) => {\n const { setSearchTerm } = props\n const { t } = useTranslation()\n\n const handleChange = (e) => {\n setSearchTerm(e.target.value)\n }\n\n return (\n <div className={baseClass}>\n <input\n className={`${baseClass}__input`}\n onChange={handleChange}\n placeholder={t('fields:searchForBlock')}\n />\n <Search />\n </div>\n )\n}\n"],"names":["React","Search","useTranslation","baseClass","BlockSearch","props","setSearchTerm","t","handleChange","e","target","value","div","className","input","onChange","placeholder"],"mappings":"AAAA,OAAOA,WAAW,QAAO;AAEzB,SAASC,MAAM,QAAQ,uCAAsC;AAC7D,SAASC,cAAc,QAAQ,6CAA4C;AAG3E,MAAMC,YAAY;AAElB,OAAO,MAAMC,cAAmE,CAACC;IAC/E,MAAM,EAAEC,aAAa,EAAE,GAAGD;IAC1B,MAAM,EAAEE,CAAC,EAAE,GAAGL;IAEd,MAAMM,eAAe,CAACC;QACpBH,cAAcG,EAAEC,MAAM,CAACC,KAAK;IAC9B;IAEA,qBACE,oBAACC;QAAIC,WAAWV;qBACd,oBAACW;QACCD,WAAW,CAAC,EAAEV,UAAU,OAAO,CAAC;QAChCY,UAAUP;QACVQ,aAAaT,EAAE;sBAEjB,oBAACN;AAGP,EAAC"}
1
+ {"version":3,"sources":["../../../../../src/fields/Blocks/BlocksDrawer/BlockSearch/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport { Search } from '../../../../graphics/Search/index.js'\nimport { useTranslation } from '../../../../providers/Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'block-search'\n\nexport const BlockSearch: React.FC<{ setSearchTerm: (term: string) => void }> = (props) => {\n const { setSearchTerm } = props\n const { t } = useTranslation()\n\n const handleChange = (e) => {\n setSearchTerm(e.target.value)\n }\n\n return (\n <div className={baseClass}>\n <input\n className={`${baseClass}__input`}\n onChange={handleChange}\n placeholder={t('fields:searchForBlock')}\n />\n <Search />\n </div>\n )\n}\n"],"names":["React","Search","useTranslation","baseClass","BlockSearch","props","setSearchTerm","t","handleChange","e","target","value","div","className","input","onChange","placeholder"],"rangeMappings":";;;;;;;;;;;;;;;;;","mappings":"AAAA,OAAOA,WAAW,QAAO;AAEzB,SAASC,MAAM,QAAQ,uCAAsC;AAC7D,SAASC,cAAc,QAAQ,6CAA4C;AAG3E,MAAMC,YAAY;AAElB,OAAO,MAAMC,cAAmE,CAACC;IAC/E,MAAM,EAAEC,aAAa,EAAE,GAAGD;IAC1B,MAAM,EAAEE,CAAC,EAAE,GAAGL;IAEd,MAAMM,eAAe,CAACC;QACpBH,cAAcG,EAAEC,MAAM,CAACC,KAAK;IAC9B;IAEA,qBACE,oBAACC;QAAIC,WAAWV;qBACd,oBAACW;QACCD,WAAW,CAAC,EAAEV,UAAU,OAAO,CAAC;QAChCY,UAAUP;QACVQ,aAAaT,EAAE;sBAEjB,oBAACN;AAGP,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/fields/Blocks/BlocksDrawer/index.tsx"],"sourcesContent":["'use client'\nimport type { I18n } from '@payloadcms/translations'\nimport type { Labels } from 'payload/types'\n\nimport * as facelessUIImport 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: I18n) => {\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 const { useModal } = facelessUIImport\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":["facelessUIImport","getTranslation","React","useEffect","useState","Drawer","ThumbnailCard","DefaultBlockImage","useTranslation","BlockSearch","baseClass","getBlockLabel","block","i18n","labels","singular","toLowerCase","BlocksDrawer","props","addRow","addRowIndex","blocks","drawerSlug","useModal","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","key","alignLabel","onClick","thumbnail","img","alt","src"],"mappings":"AAAA;AAIA,YAAYA,sBAAsB,qBAAoB;AACtD,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;AAWpD,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;IAC5D,MAAM,EAAEK,QAAQ,EAAE,GAAGvB;IAErB,MAAM,CAACwB,YAAYC,cAAc,GAAGrB,SAAS;IAC7C,MAAM,CAACsB,gBAAgBC,kBAAkB,GAAGvB,SAASiB;IACrD,MAAM,EAAEO,UAAU,EAAEC,WAAW,EAAE,GAAGN;IACpC,MAAM,EAAEV,IAAI,EAAEiB,CAAC,EAAE,GAAGtB;IAEpBL,UAAU;QACR,IAAI,CAAC0B,aAAa;YAChBJ,cAAc;QAChB;IACF,GAAG;QAACI;KAAY;IAEhB1B,UAAU;QACR,MAAM4B,kBAAkBP,WAAWR,WAAW;QAE9C,MAAMgB,iBAAiBX,QAAQY,OAAO,CAACC,eAAetB;YACpD,MAAMuB,aAAaxB,cAAcC,OAAOC;YACxC,IAAIsB,WAAWC,QAAQ,CAACL,kBAAkBG,cAAcG,IAAI,CAACzB;YAC7D,OAAOsB;QACT,GAAG,EAAE;QAELP,kBAAkBK;IACpB,GAAG;QAACR;QAAYH;QAAQR;KAAK;IAE7B,qBACE,oBAACR;QACCiC,MAAMhB;QACNiB,OAAOT,EAAE,mBAAmB;YAAEU,OAAOvC,eAAea,OAAOC,QAAQ,EAAEF;QAAM;qBAE3E,oBAACJ;QAAYgB,eAAeA;sBAC5B,oBAACgB;QAAIC,WAAW,CAAC,EAAEhC,UAAU,gBAAgB,CAAC;qBAC5C,oBAACiC;QAAGD,WAAW,CAAC,EAAEhC,UAAU,QAAQ,CAAC;OAClCgB,gBAAgBkB,IAAI,CAAChC,OAAOiC;QAC3B,MAAM,EAAEP,IAAI,EAAEQ,YAAY,EAAEC,QAAQ,EAAEjC,QAAQkC,WAAW,EAAE,GAAGpC;QAE9D,qBACE,oBAACqC;YAAGP,WAAW,CAAC,EAAEhC,UAAU,OAAO,CAAC;YAAEwC,KAAKL;yBACzC,oBAACvC;YACC6C,YAAW;YACXX,OAAOvC,eAAe+C,aAAajC,UAAUF;YAC7CuC,SAAS;gBACPjC,OAAOC,aAAakB;gBACpBV,WAAWN;YACb;YACA+B,WACEN,yBACE,oBAACO;gBAAIC,KAAKT;gBAAcU,KAAKT;+BAE7B,oBAACN;gBAAIC,WAAW,CAAC,EAAEhC,UAAU,eAAe,CAAC;6BAC3C,oBAACH;;IAOf;AAKV,EAAC"}
1
+ {"version":3,"sources":["../../../../src/fields/Blocks/BlocksDrawer/index.tsx"],"sourcesContent":["'use client'\nimport type { I18n } from '@payloadcms/translations'\nimport type { Labels } from 'payload/types'\n\nimport * as facelessUIImport 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: I18n) => {\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 const { useModal } = facelessUIImport\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":["facelessUIImport","getTranslation","React","useEffect","useState","Drawer","ThumbnailCard","DefaultBlockImage","useTranslation","BlockSearch","baseClass","getBlockLabel","block","i18n","labels","singular","toLowerCase","BlocksDrawer","props","addRow","addRowIndex","blocks","drawerSlug","useModal","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","key","alignLabel","onClick","thumbnail","img","alt","src"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AAIA,YAAYA,sBAAsB,qBAAoB;AACtD,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;AAWpD,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;IAC5D,MAAM,EAAEK,QAAQ,EAAE,GAAGvB;IAErB,MAAM,CAACwB,YAAYC,cAAc,GAAGrB,SAAS;IAC7C,MAAM,CAACsB,gBAAgBC,kBAAkB,GAAGvB,SAASiB;IACrD,MAAM,EAAEO,UAAU,EAAEC,WAAW,EAAE,GAAGN;IACpC,MAAM,EAAEV,IAAI,EAAEiB,CAAC,EAAE,GAAGtB;IAEpBL,UAAU;QACR,IAAI,CAAC0B,aAAa;YAChBJ,cAAc;QAChB;IACF,GAAG;QAACI;KAAY;IAEhB1B,UAAU;QACR,MAAM4B,kBAAkBP,WAAWR,WAAW;QAE9C,MAAMgB,iBAAiBX,QAAQY,OAAO,CAACC,eAAetB;YACpD,MAAMuB,aAAaxB,cAAcC,OAAOC;YACxC,IAAIsB,WAAWC,QAAQ,CAACL,kBAAkBG,cAAcG,IAAI,CAACzB;YAC7D,OAAOsB;QACT,GAAG,EAAE;QAELP,kBAAkBK;IACpB,GAAG;QAACR;QAAYH;QAAQR;KAAK;IAE7B,qBACE,oBAACR;QACCiC,MAAMhB;QACNiB,OAAOT,EAAE,mBAAmB;YAAEU,OAAOvC,eAAea,OAAOC,QAAQ,EAAEF;QAAM;qBAE3E,oBAACJ;QAAYgB,eAAeA;sBAC5B,oBAACgB;QAAIC,WAAW,CAAC,EAAEhC,UAAU,gBAAgB,CAAC;qBAC5C,oBAACiC;QAAGD,WAAW,CAAC,EAAEhC,UAAU,QAAQ,CAAC;OAClCgB,gBAAgBkB,IAAI,CAAChC,OAAOiC;QAC3B,MAAM,EAAEP,IAAI,EAAEQ,YAAY,EAAEC,QAAQ,EAAEjC,QAAQkC,WAAW,EAAE,GAAGpC;QAE9D,qBACE,oBAACqC;YAAGP,WAAW,CAAC,EAAEhC,UAAU,OAAO,CAAC;YAAEwC,KAAKL;yBACzC,oBAACvC;YACC6C,YAAW;YACXX,OAAOvC,eAAe+C,aAAajC,UAAUF;YAC7CuC,SAAS;gBACPjC,OAAOC,aAAakB;gBACpBV,WAAWN;YACb;YACA+B,WACEN,yBACE,oBAACO;gBAAIC,KAAKT;gBAAcU,KAAKT;+BAE7B,oBAACN;gBAAIC,WAAW,CAAC,EAAEhC,UAAU,eAAe,CAAC;6BAC3C,oBAACH;;IAOf;AAKV,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/Blocks/RowActions.tsx"],"sourcesContent":["'use client'\nimport type { Labels } from 'payload/types'\n\nimport * as facelessUIImport 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 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 labels,\n moveRow,\n removeRow,\n rowCount,\n rowIndex,\n } = props\n const { useModal } = facelessUIImport\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 moveRow={moveRow}\n removeRow={removeRow}\n rowCount={rowCount}\n />\n </React.Fragment>\n )\n}\n"],"names":["facelessUIImport","React","ArrayAction","useDrawerSlug","BlocksDrawer","RowActions","props","addRow","blockType","blocks","duplicateRow","hasMaxRows","labels","moveRow","removeRow","rowCount","rowIndex","useModal","closeModal","openModal","drawerSlug","indexToAdd","setIndexToAdd","useState","Fragment","_","rowBlockType","addRowIndex","index"],"mappings":"AAAA;AAGA,YAAYA,sBAAsB,qBAAoB;AACtD,OAAOC,WAAW,QAAO;AAOzB,SAASC,WAAW,QAAQ,sCAAqC;AACjE,SAASC,aAAa,QAAQ,yCAAwC;AACtE,SAASC,YAAY,QAAQ,0BAAyB;AAEtD,OAAO,MAAMC,aAYR,CAACC;IACJ,MAAM,EACJC,MAAM,EACNC,SAAS,EACTC,MAAM,EACNC,YAAY,EACZC,UAAU,EACVC,MAAM,EACNC,OAAO,EACPC,SAAS,EACTC,QAAQ,EACRC,QAAQ,EACT,GAAGV;IACJ,MAAM,EAAEW,QAAQ,EAAE,GAAGjB;IAErB,MAAM,EAAEkB,UAAU,EAAEC,SAAS,EAAE,GAAGF;IAClC,MAAMG,aAAajB,cAAc;IAEjC,MAAM,CAACkB,YAAYC,cAAc,GAAGrB,MAAMsB,QAAQ,CAAgB;IAElE,qBACE,oBAACtB,MAAMuB,QAAQ,sBACb,oBAACpB;QACCG,QAAQ,CAACkB,GAAGC;YACV,IAAI,OAAOnB,WAAW,YAAY;gBAChCA,OAAOc,YAAYK;YACrB;YACAR,WAAWE;QACb;QACAO,aAAaX;QACbP,QAAQA;QACRW,YAAYA;QACZR,QAAQA;sBAEV,oBAACV;QACCK,QAAQ,CAACqB;YACPN,cAAcM;YACdT,UAAUC;QACZ;QACAV,cAAc,IAAMA,aAAaM,UAAUR;QAC3CG,YAAYA;QACZiB,OAAOZ;QACPH,SAASA;QACTC,WAAWA;QACXC,UAAUA;;AAIlB,EAAC"}
1
+ {"version":3,"sources":["../../../src/fields/Blocks/RowActions.tsx"],"sourcesContent":["'use client'\nimport type { Labels } from 'payload/types'\n\nimport * as facelessUIImport 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 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 labels,\n moveRow,\n removeRow,\n rowCount,\n rowIndex,\n } = props\n const { useModal } = facelessUIImport\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 moveRow={moveRow}\n removeRow={removeRow}\n rowCount={rowCount}\n />\n </React.Fragment>\n )\n}\n"],"names":["facelessUIImport","React","ArrayAction","useDrawerSlug","BlocksDrawer","RowActions","props","addRow","blockType","blocks","duplicateRow","hasMaxRows","labels","moveRow","removeRow","rowCount","rowIndex","useModal","closeModal","openModal","drawerSlug","indexToAdd","setIndexToAdd","useState","Fragment","_","rowBlockType","addRowIndex","index"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AAGA,YAAYA,sBAAsB,qBAAoB;AACtD,OAAOC,WAAW,QAAO;AAOzB,SAASC,WAAW,QAAQ,sCAAqC;AACjE,SAASC,aAAa,QAAQ,yCAAwC;AACtE,SAASC,YAAY,QAAQ,0BAAyB;AAEtD,OAAO,MAAMC,aAYR,CAACC;IACJ,MAAM,EACJC,MAAM,EACNC,SAAS,EACTC,MAAM,EACNC,YAAY,EACZC,UAAU,EACVC,MAAM,EACNC,OAAO,EACPC,SAAS,EACTC,QAAQ,EACRC,QAAQ,EACT,GAAGV;IACJ,MAAM,EAAEW,QAAQ,EAAE,GAAGjB;IAErB,MAAM,EAAEkB,UAAU,EAAEC,SAAS,EAAE,GAAGF;IAClC,MAAMG,aAAajB,cAAc;IAEjC,MAAM,CAACkB,YAAYC,cAAc,GAAGrB,MAAMsB,QAAQ,CAAgB;IAElE,qBACE,oBAACtB,MAAMuB,QAAQ,sBACb,oBAACpB;QACCG,QAAQ,CAACkB,GAAGC;YACV,IAAI,OAAOnB,WAAW,YAAY;gBAChCA,OAAOc,YAAYK;YACrB;YACAR,WAAWE;QACb;QACAO,aAAaX;QACbP,QAAQA;QACRW,YAAYA;QACZR,QAAQA;sBAEV,oBAACV;QACCK,QAAQ,CAACqB;YACPN,cAAcM;YACdT,UAAUC;QACZ;QACAV,cAAc,IAAMA,aAAaM,UAAUR;QAC3CG,YAAYA;QACZiB,OAAOZ;QACPH,SAASA;QACTC,WAAWA;QACXC,UAAUA;;AAIlB,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/fields/Blocks/SectionTitle/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport { useField } from '../../../forms/useField/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'section-title'\n\nexport type Props = {\n customOnChange?: (e: React.ChangeEvent<HTMLInputElement>) => void\n customValue?: string\n path: string\n readOnly: boolean\n}\n\n/**\n * An input field representing the block's `blockName` property - responsible for reading and saving the `blockName`\n * property from/into the provided path.\n */\nexport const SectionTitle: React.FC<Props> = (props) => {\n const { customOnChange, customValue, path, readOnly } = props\n\n const { setValue, value } = useField({ path })\n const { t } = useTranslation()\n\n const classes = [baseClass].filter(Boolean).join(' ')\n\n const onChange =\n customOnChange ||\n ((e) => {\n e.stopPropagation()\n e.preventDefault()\n setValue(e.target.value)\n })\n\n return (\n <div className={classes} data-value={customValue || value}>\n <input\n className={`${baseClass}__input`}\n id={path}\n name={path}\n onChange={onChange}\n placeholder={t('general:untitled')}\n readOnly={readOnly}\n type=\"text\"\n value={customValue || (value as string) || ''}\n />\n </div>\n )\n}\n"],"names":["React","useField","useTranslation","baseClass","SectionTitle","props","customOnChange","customValue","path","readOnly","setValue","value","t","classes","filter","Boolean","join","onChange","e","stopPropagation","preventDefault","target","div","className","data-value","input","id","name","placeholder","type"],"mappings":"AAAA,OAAOA,WAAW,QAAO;AAEzB,SAASC,QAAQ,QAAQ,mCAAkC;AAC3D,SAASC,cAAc,QAAQ,0CAAyC;AAGxE,MAAMC,YAAY;AASlB;;;CAGC,GACD,OAAO,MAAMC,eAAgC,CAACC;IAC5C,MAAM,EAAEC,cAAc,EAAEC,WAAW,EAAEC,IAAI,EAAEC,QAAQ,EAAE,GAAGJ;IAExD,MAAM,EAAEK,QAAQ,EAAEC,KAAK,EAAE,GAAGV,SAAS;QAAEO;IAAK;IAC5C,MAAM,EAAEI,CAAC,EAAE,GAAGV;IAEd,MAAMW,UAAU;QAACV;KAAU,CAACW,MAAM,CAACC,SAASC,IAAI,CAAC;IAEjD,MAAMC,WACJX,kBACC,CAAA,CAACY;QACAA,EAAEC,eAAe;QACjBD,EAAEE,cAAc;QAChBV,SAASQ,EAAEG,MAAM,CAACV,KAAK;IACzB,CAAA;IAEF,qBACE,oBAACW;QAAIC,WAAWV;QAASW,cAAYjB,eAAeI;qBAClD,oBAACc;QACCF,WAAW,CAAC,EAAEpB,UAAU,OAAO,CAAC;QAChCuB,IAAIlB;QACJmB,MAAMnB;QACNS,UAAUA;QACVW,aAAahB,EAAE;QACfH,UAAUA;QACVoB,MAAK;QACLlB,OAAOJ,eAAgBI,SAAoB;;AAInD,EAAC"}
1
+ {"version":3,"sources":["../../../../src/fields/Blocks/SectionTitle/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport { useField } from '../../../forms/useField/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'section-title'\n\nexport type Props = {\n customOnChange?: (e: React.ChangeEvent<HTMLInputElement>) => void\n customValue?: string\n path: string\n readOnly: boolean\n}\n\n/**\n * An input field representing the block's `blockName` property - responsible for reading and saving the `blockName`\n * property from/into the provided path.\n */\nexport const SectionTitle: React.FC<Props> = (props) => {\n const { customOnChange, customValue, path, readOnly } = props\n\n const { setValue, value } = useField({ path })\n const { t } = useTranslation()\n\n const classes = [baseClass].filter(Boolean).join(' ')\n\n const onChange =\n customOnChange ||\n ((e) => {\n e.stopPropagation()\n e.preventDefault()\n setValue(e.target.value)\n })\n\n return (\n <div className={classes} data-value={customValue || value}>\n <input\n className={`${baseClass}__input`}\n id={path}\n name={path}\n onChange={onChange}\n placeholder={t('general:untitled')}\n readOnly={readOnly}\n type=\"text\"\n value={customValue || (value as string) || ''}\n />\n </div>\n )\n}\n"],"names":["React","useField","useTranslation","baseClass","SectionTitle","props","customOnChange","customValue","path","readOnly","setValue","value","t","classes","filter","Boolean","join","onChange","e","stopPropagation","preventDefault","target","div","className","data-value","input","id","name","placeholder","type"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,OAAOA,WAAW,QAAO;AAEzB,SAASC,QAAQ,QAAQ,mCAAkC;AAC3D,SAASC,cAAc,QAAQ,0CAAyC;AAGxE,MAAMC,YAAY;AASlB;;;CAGC,GACD,OAAO,MAAMC,eAAgC,CAACC;IAC5C,MAAM,EAAEC,cAAc,EAAEC,WAAW,EAAEC,IAAI,EAAEC,QAAQ,EAAE,GAAGJ;IAExD,MAAM,EAAEK,QAAQ,EAAEC,KAAK,EAAE,GAAGV,SAAS;QAAEO;IAAK;IAC5C,MAAM,EAAEI,CAAC,EAAE,GAAGV;IAEd,MAAMW,UAAU;QAACV;KAAU,CAACW,MAAM,CAACC,SAASC,IAAI,CAAC;IAEjD,MAAMC,WACJX,kBACC,CAAA,CAACY;QACAA,EAAEC,eAAe;QACjBD,EAAEE,cAAc;QAChBV,SAASQ,EAAEG,MAAM,CAACV,KAAK;IACzB,CAAA;IAEF,qBACE,oBAACW;QAAIC,WAAWV;QAASW,cAAYjB,eAAeI;qBAClD,oBAACc;QACCF,WAAW,CAAC,EAAEpB,UAAU,OAAO,CAAC;QAChCuB,IAAIlB;QACJmB,MAAMnB;QACNS,UAAUA;QACVW,aAAahB,EAAE;QACfH,UAAUA;QACVoB,MAAK;QACLlB,OAAOJ,eAAgBI,SAAoB;;AAInD,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Blocks/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAgC,MAAM,OAAO,CAAA;AAoBpD,OAAO,cAAc,CAAA;AAIrB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAQ1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yDAAyD,CAAA;AAC3F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAEvD,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG;IAC7C,MAAM,CAAC,EAAE,YAAY,EAAE,CAAA;IACvB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;IAC1B,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,WAAW,EAAE,gBAAgB,CAAA;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAsTD,eAAO,MAAM,WAAW,4BAA8B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Blocks/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAgC,MAAM,OAAO,CAAA;AAoBpD,OAAO,cAAc,CAAA;AAIrB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAQ1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yDAAyD,CAAA;AAC3F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAEvD,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG;IAC7C,MAAM,CAAC,EAAE,YAAY,EAAE,CAAA;IACvB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;IAC1B,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,WAAW,EAAE,gBAAgB,CAAA;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAoTD,eAAO,MAAM,WAAW,4BAA8B,CAAA"}
@@ -27,9 +27,10 @@ import { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider';
27
27
  import { withCondition } from '@payloadcms/ui/forms/withCondition';
28
28
  const _BlocksField = (props)=>{
29
29
  const { i18n, t } = useTranslation();
30
- const { name, CustomDescription, CustomError, CustomLabel, blocks, className, descriptionProps, errorProps, forceRender = false, label, labelProps, labels: labelsFromProps, localized, maxRows, minRows, path: pathFromProps, readOnly: readOnlyFromProps, required, validate } = props;
30
+ const { name, CustomDescription, CustomError, CustomLabel, blocks, className, descriptionProps, errorProps, forceRender = false, label, labelProps, labels: labelsFromProps, localized, maxRows, minRows: minRowsProp, path: pathFromProps, readOnly: readOnlyFromProps, required, validate } = props;
31
31
  const { indexPath, readOnly: readOnlyFromContext } = useFieldProps();
32
32
  const readOnly = readOnlyFromProps || readOnlyFromContext;
33
+ const minRows = minRowsProp ?? required ? 1 : 0;
33
34
  const { setDocFieldPreferences } = useDocumentInfo();
34
35
  const { addFieldRow, dispatchFields, setModified } = useForm();
35
36
  const { code: locale } = useLocale();
@@ -252,7 +253,7 @@ const _BlocksField = (props)=>{
252
253
  type: "error"
253
254
  }, t('validation:requiresAtLeast', {
254
255
  count: minRows,
255
- label: getTranslation(minRows === 1 || typeof minRows === 'undefined' ? labels.singular : labels.plural, i18n)
256
+ label: getTranslation(minRows > 1 ? labels.plural : labels.singular, i18n) || t(minRows > 1 ? 'general:row' : 'general:rows')
256
257
  })), showRequired && /*#__PURE__*/ React.createElement(Banner, null, t('validation:fieldHasNo', {
257
258
  label: getTranslation(labels.plural, i18n)
258
259
  })))), !readOnly && !hasMaxRows && /*#__PURE__*/ React.createElement(Fragment, null, /*#__PURE__*/ React.createElement(DrawerToggler, {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/Blocks/index.tsx"],"sourcesContent":["'use client'\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 { useForm, useFormSubmitted } from '../../forms/Form/context.js'\nimport { NullifyLocaleField } from '../../forms/NullifyField/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { scrollToID } from '../../utilities/scrollToID.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { BlockRow } from './BlockRow.js'\nimport { BlocksDrawer } from './BlocksDrawer/index.js'\nimport './index.scss'\n\nconst baseClass = 'blocks-field'\n\nimport type { FieldPermissions } from 'payload/auth'\nimport type { BlockField, FieldBase } from 'payload/types'\n\nimport { FieldDescription } from '@payloadcms/ui/forms/FieldDescription'\nimport { FieldError } from '@payloadcms/ui/forms/FieldError'\nimport { FieldLabel } from '@payloadcms/ui/forms/FieldLabel'\nimport { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider'\nimport { withCondition } from '@payloadcms/ui/forms/withCondition'\n\nimport type { ReducedBlock } from '../../providers/ComponentMap/buildComponentMap/types.js'\nimport type { FormFieldBase } from '../shared/index.js'\n\nexport type BlocksFieldProps = FormFieldBase & {\n blocks?: ReducedBlock[]\n forceRender?: boolean\n label?: FieldBase['label']\n labels?: BlockField['labels']\n maxRows?: number\n minRows?: number\n name?: string\n permissions: FieldPermissions\n slug?: string\n width?: string\n}\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 label,\n labelProps,\n labels: labelsFromProps,\n localized,\n maxRows,\n minRows,\n path: pathFromProps,\n readOnly: readOnlyFromProps,\n required,\n validate,\n } = props\n\n const { indexPath, readOnly: readOnlyFromContext } = useFieldProps()\n const readOnly = readOnlyFromProps || readOnlyFromContext\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 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 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 = readOnly && 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 && (\n <div className={`${baseClass}__error-wrap`}>\n <FieldError CustomError={CustomError} path={path} {...(errorProps || {})} />\n </div>\n )}\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={readOnly} 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 labels={labels}\n moveRow={moveRow}\n path={path}\n permissions={permissions}\n readOnly={readOnly}\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: getTranslation(\n minRows === 1 || typeof minRows === 'undefined'\n ? labels.singular\n : labels.plural,\n i18n,\n ),\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 {!readOnly && !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","useForm","useFormSubmitted","NullifyLocaleField","useField","useConfig","useDocumentInfo","useLocale","useTranslation","scrollToID","fieldBaseClass","BlockRow","BlocksDrawer","baseClass","FieldDescription","FieldError","FieldLabel","useFieldProps","withCondition","_BlocksField","props","i18n","t","name","CustomDescription","CustomError","CustomLabel","blocks","className","descriptionProps","errorProps","forceRender","label","labelProps","labels","labelsFromProps","localized","maxRows","minRows","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","permissions","rows","schemaPath","showError","valid","hasRows","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","disabled","key","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 { 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 { useForm, useFormSubmitted } from '../../forms/Form/context.js'\nimport { NullifyLocaleField } from '../../forms/NullifyField/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { scrollToID } from '../../utilities/scrollToID.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { BlockRow } from './BlockRow.js'\nimport { BlocksDrawer } from './BlocksDrawer/index.js'\nimport './index.scss'\n\nconst baseClass = 'blocks-field'\n\nimport type { FieldPermissions } from 'payload/auth'\nimport type { BlockField, FieldBase } from 'payload/types'\n\nimport { FieldDescription } from '@payloadcms/ui/forms/FieldDescription'\nimport { FieldError } from '@payloadcms/ui/forms/FieldError'\nimport { FieldLabel } from '@payloadcms/ui/forms/FieldLabel'\nimport { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider'\nimport { withCondition } from '@payloadcms/ui/forms/withCondition'\n\nimport type { ReducedBlock } from '../../providers/ComponentMap/buildComponentMap/types.js'\nimport type { FormFieldBase } from '../shared/index.js'\n\nexport type BlocksFieldProps = FormFieldBase & {\n blocks?: ReducedBlock[]\n forceRender?: boolean\n label?: FieldBase['label']\n labels?: BlockField['labels']\n maxRows?: number\n minRows?: number\n name?: string\n permissions: FieldPermissions\n slug?: string\n width?: string\n}\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 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 readOnly = readOnlyFromProps || readOnlyFromContext\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 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 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 = readOnly && 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 && (\n <div className={`${baseClass}__error-wrap`}>\n <FieldError CustomError={CustomError} path={path} {...(errorProps || {})} />\n </div>\n )}\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={readOnly} 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 labels={labels}\n moveRow={moveRow}\n path={path}\n permissions={permissions}\n readOnly={readOnly}\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 {!readOnly && !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","useForm","useFormSubmitted","NullifyLocaleField","useField","useConfig","useDocumentInfo","useLocale","useTranslation","scrollToID","fieldBaseClass","BlockRow","BlocksDrawer","baseClass","FieldDescription","FieldError","FieldLabel","useFieldProps","withCondition","_BlocksField","props","i18n","t","name","CustomDescription","CustomError","CustomLabel","blocks","className","descriptionProps","errorProps","forceRender","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","permissions","rows","schemaPath","showError","valid","hasRows","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","disabled","key","draggableSortableItemProps","errorCount","rowCount","buttonStyle","el","icon","iconPosition","iconStyle","addRowIndex","BlocksField"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/Checkbox/Input.tsx"],"sourcesContent":["'use client'\nimport type { FieldBase, LabelProps } from 'payload/types'\n\nimport { FieldLabel } from '@payloadcms/ui/forms/FieldLabel'\nimport React from 'react'\n\nimport { Check } from '../../icons/Check/index.js'\nimport { Line } from '../../icons/Line/index.js'\n\ntype Props = {\n AfterInput?: React.ReactNode\n BeforeInput?: React.ReactNode\n CustomLabel?: React.ReactNode\n checked?: boolean\n className?: string\n id?: string\n inputRef?: React.RefObject<HTMLInputElement>\n label?: FieldBase['label']\n labelProps?: LabelProps\n name?: string\n onToggle: (event: React.ChangeEvent<HTMLInputElement>) => void\n partialChecked?: boolean\n readOnly?: boolean\n required?: boolean\n}\n\nexport const inputBaseClass = 'checkbox-input'\n\nexport const CheckboxInput: React.FC<Props> = ({\n id,\n name,\n AfterInput,\n BeforeInput,\n CustomLabel,\n checked,\n className,\n inputRef,\n label,\n labelProps,\n onToggle,\n partialChecked,\n readOnly,\n required,\n}) => {\n return (\n <div\n className={[\n className,\n inputBaseClass,\n checked && `${inputBaseClass}--checked`,\n readOnly && `${inputBaseClass}--read-only`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <div className={`${inputBaseClass}__input`}>\n {BeforeInput}\n <input\n aria-label=\"\"\n defaultChecked={Boolean(checked)}\n disabled={readOnly}\n id={id}\n name={name}\n onInput={onToggle}\n ref={inputRef}\n required={required}\n type=\"checkbox\"\n />\n <span\n className={[`${inputBaseClass}__icon`, !checked && partialChecked ? 'check' : 'partial']\n .filter(Boolean)\n .join(' ')}\n >\n {checked && <Check />}\n {!checked && partialChecked && <Line />}\n </span>\n {AfterInput}\n </div>\n <FieldLabel\n CustomLabel={CustomLabel}\n label={label}\n required={required}\n {...(labelProps || {})}\n />\n </div>\n )\n}\n"],"names":["FieldLabel","React","Check","Line","inputBaseClass","CheckboxInput","id","name","AfterInput","BeforeInput","CustomLabel","checked","className","inputRef","label","labelProps","onToggle","partialChecked","readOnly","required","div","filter","Boolean","join","input","aria-label","defaultChecked","disabled","onInput","ref","type","span"],"mappings":"AAAA;AAGA,SAASA,UAAU,QAAQ,kCAAiC;AAC5D,OAAOC,WAAW,QAAO;AAEzB,SAASC,KAAK,QAAQ,6BAA4B;AAClD,SAASC,IAAI,QAAQ,4BAA2B;AAmBhD,OAAO,MAAMC,iBAAiB,iBAAgB;AAE9C,OAAO,MAAMC,gBAAiC,CAAC,EAC7CC,EAAE,EACFC,IAAI,EACJC,UAAU,EACVC,WAAW,EACXC,WAAW,EACXC,OAAO,EACPC,SAAS,EACTC,QAAQ,EACRC,KAAK,EACLC,UAAU,EACVC,QAAQ,EACRC,cAAc,EACdC,QAAQ,EACRC,QAAQ,EACT;IACC,qBACE,oBAACC;QACCR,WAAW;YACTA;YACAR;YACAO,WAAW,CAAC,EAAEP,eAAe,SAAS,CAAC;YACvCc,YAAY,CAAC,EAAEd,eAAe,WAAW,CAAC;SAC3C,CACEiB,MAAM,CAACC,SACPC,IAAI,CAAC;qBAER,oBAACH;QAAIR,WAAW,CAAC,EAAER,eAAe,OAAO,CAAC;OACvCK,2BACD,oBAACe;QACCC,cAAW;QACXC,gBAAgBJ,QAAQX;QACxBgB,UAAUT;QACVZ,IAAIA;QACJC,MAAMA;QACNqB,SAASZ;QACTa,KAAKhB;QACLM,UAAUA;QACVW,MAAK;sBAEP,oBAACC;QACCnB,WAAW;YAAC,CAAC,EAAER,eAAe,MAAM,CAAC;YAAE,CAACO,WAAWM,iBAAiB,UAAU;SAAU,CACrFI,MAAM,CAACC,SACPC,IAAI,CAAC;OAEPZ,yBAAW,oBAACT,cACZ,CAACS,WAAWM,gCAAkB,oBAACd,cAEjCK,2BAEH,oBAACR;QACCU,aAAaA;QACbI,OAAOA;QACPK,UAAUA;QACT,GAAIJ,cAAc,CAAC,CAAC;;AAI7B,EAAC"}
1
+ {"version":3,"sources":["../../../src/fields/Checkbox/Input.tsx"],"sourcesContent":["'use client'\nimport type { FieldBase, LabelProps } from 'payload/types'\n\nimport { FieldLabel } from '@payloadcms/ui/forms/FieldLabel'\nimport React from 'react'\n\nimport { Check } from '../../icons/Check/index.js'\nimport { Line } from '../../icons/Line/index.js'\n\ntype Props = {\n AfterInput?: React.ReactNode\n BeforeInput?: React.ReactNode\n CustomLabel?: React.ReactNode\n checked?: boolean\n className?: string\n id?: string\n inputRef?: React.RefObject<HTMLInputElement>\n label?: FieldBase['label']\n labelProps?: LabelProps\n name?: string\n onToggle: (event: React.ChangeEvent<HTMLInputElement>) => void\n partialChecked?: boolean\n readOnly?: boolean\n required?: boolean\n}\n\nexport const inputBaseClass = 'checkbox-input'\n\nexport const CheckboxInput: React.FC<Props> = ({\n id,\n name,\n AfterInput,\n BeforeInput,\n CustomLabel,\n checked,\n className,\n inputRef,\n label,\n labelProps,\n onToggle,\n partialChecked,\n readOnly,\n required,\n}) => {\n return (\n <div\n className={[\n className,\n inputBaseClass,\n checked && `${inputBaseClass}--checked`,\n readOnly && `${inputBaseClass}--read-only`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <div className={`${inputBaseClass}__input`}>\n {BeforeInput}\n <input\n aria-label=\"\"\n defaultChecked={Boolean(checked)}\n disabled={readOnly}\n id={id}\n name={name}\n onInput={onToggle}\n ref={inputRef}\n required={required}\n type=\"checkbox\"\n />\n <span\n className={[`${inputBaseClass}__icon`, !checked && partialChecked ? 'check' : 'partial']\n .filter(Boolean)\n .join(' ')}\n >\n {checked && <Check />}\n {!checked && partialChecked && <Line />}\n </span>\n {AfterInput}\n </div>\n <FieldLabel\n CustomLabel={CustomLabel}\n label={label}\n required={required}\n {...(labelProps || {})}\n />\n </div>\n )\n}\n"],"names":["FieldLabel","React","Check","Line","inputBaseClass","CheckboxInput","id","name","AfterInput","BeforeInput","CustomLabel","checked","className","inputRef","label","labelProps","onToggle","partialChecked","readOnly","required","div","filter","Boolean","join","input","aria-label","defaultChecked","disabled","onInput","ref","type","span"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AAGA,SAASA,UAAU,QAAQ,kCAAiC;AAC5D,OAAOC,WAAW,QAAO;AAEzB,SAASC,KAAK,QAAQ,6BAA4B;AAClD,SAASC,IAAI,QAAQ,4BAA2B;AAmBhD,OAAO,MAAMC,iBAAiB,iBAAgB;AAE9C,OAAO,MAAMC,gBAAiC,CAAC,EAC7CC,EAAE,EACFC,IAAI,EACJC,UAAU,EACVC,WAAW,EACXC,WAAW,EACXC,OAAO,EACPC,SAAS,EACTC,QAAQ,EACRC,KAAK,EACLC,UAAU,EACVC,QAAQ,EACRC,cAAc,EACdC,QAAQ,EACRC,QAAQ,EACT;IACC,qBACE,oBAACC;QACCR,WAAW;YACTA;YACAR;YACAO,WAAW,CAAC,EAAEP,eAAe,SAAS,CAAC;YACvCc,YAAY,CAAC,EAAEd,eAAe,WAAW,CAAC;SAC3C,CACEiB,MAAM,CAACC,SACPC,IAAI,CAAC;qBAER,oBAACH;QAAIR,WAAW,CAAC,EAAER,eAAe,OAAO,CAAC;OACvCK,2BACD,oBAACe;QACCC,cAAW;QACXC,gBAAgBJ,QAAQX;QACxBgB,UAAUT;QACVZ,IAAIA;QACJC,MAAMA;QACNqB,SAASZ;QACTa,KAAKhB;QACLM,UAAUA;QACVW,MAAK;sBAEP,oBAACC;QACCnB,WAAW;YAAC,CAAC,EAAER,eAAe,MAAM,CAAC;YAAE,CAACO,WAAWM,iBAAiB,UAAU;SAAU,CACrFI,MAAM,CAACC,SACPC,IAAI,CAAC;OAEPZ,yBAAW,oBAACT,cACZ,CAACS,WAAWM,gCAAkB,oBAACd,cAEjCK,2BAEH,oBAACR;QACCU,aAAaA;QACbI,OAAOA;QACPK,UAAUA;QACT,GAAIJ,cAAc,CAAC,CAAC;;AAI7B,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/Checkbox/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientValidate } from 'payload/types'\n\nimport { FieldDescription } from '@payloadcms/ui/forms/FieldDescription'\nimport { FieldError } from '@payloadcms/ui/forms/FieldError'\nimport { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider'\nimport React, { useCallback } from 'react'\n\nimport type { CheckboxFieldProps } from './types.js'\n\nimport { useForm } from '../../forms/Form/context.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { generateFieldID } from '../../utilities/generateFieldID.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { CheckboxInput } from './Input.js'\nimport './index.scss'\n\nconst baseClass = 'checkbox'\n\nexport { CheckboxFieldProps, CheckboxInput }\n\nconst CheckboxField: React.FC<CheckboxFieldProps> = (props) => {\n const {\n id,\n name,\n AfterInput,\n BeforeInput,\n CustomDescription,\n CustomError,\n CustomLabel,\n checked: checkedFromProps,\n className,\n descriptionProps,\n disableFormData,\n errorProps,\n label,\n labelProps,\n onChange: onChangeFromProps,\n partialChecked,\n path: pathFromProps,\n readOnly: readOnlyFromProps,\n required,\n style,\n validate,\n width,\n } = props\n\n const { uuid } = useForm()\n\n const memoizedValidate: ClientValidate = useCallback(\n (value, options) => {\n if (typeof validate === 'function') {\n return validate(value, { ...options, required })\n }\n },\n [validate, required],\n )\n\n const { path: pathFromContext, readOnly: readOnlyFromContext } = useFieldProps()\n const readOnly = readOnlyFromProps || readOnlyFromContext\n\n const { path, setValue, showError, value } = useField({\n disableFormData,\n path: pathFromContext || pathFromProps || name,\n validate: memoizedValidate,\n })\n\n const onToggle = useCallback(() => {\n if (!readOnly) {\n setValue(!value)\n if (typeof onChangeFromProps === 'function') onChangeFromProps(!value)\n }\n }, [onChangeFromProps, readOnly, setValue, value])\n\n const checked = checkedFromProps || Boolean(value)\n\n const fieldID = id || generateFieldID(path, uuid)\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n showError && 'error',\n className,\n value && `${baseClass}--checked`,\n readOnly && `${baseClass}--read-only`,\n ]\n .filter(Boolean)\n .join(' ')}\n style={{\n ...style,\n width,\n }}\n >\n <div className={`${baseClass}__error-wrap`}>\n <FieldError CustomError={CustomError} path={path} {...(errorProps || {})} />\n </div>\n <CheckboxInput\n AfterInput={AfterInput}\n BeforeInput={BeforeInput}\n CustomLabel={CustomLabel}\n checked={checked}\n id={fieldID}\n inputRef={null}\n label={label}\n labelProps={labelProps}\n name={path}\n onToggle={onToggle}\n partialChecked={partialChecked}\n readOnly={readOnly}\n required={required}\n />\n {CustomDescription !== undefined ? (\n CustomDescription\n ) : (\n <FieldDescription {...(descriptionProps || {})} />\n )}\n </div>\n )\n}\n\nexport const Checkbox = withCondition(CheckboxField)\n"],"names":["FieldDescription","FieldError","useFieldProps","React","useCallback","useForm","useField","withCondition","generateFieldID","fieldBaseClass","CheckboxInput","baseClass","CheckboxField","props","id","name","AfterInput","BeforeInput","CustomDescription","CustomError","CustomLabel","checked","checkedFromProps","className","descriptionProps","disableFormData","errorProps","label","labelProps","onChange","onChangeFromProps","partialChecked","path","pathFromProps","readOnly","readOnlyFromProps","required","style","validate","width","uuid","memoizedValidate","value","options","pathFromContext","readOnlyFromContext","setValue","showError","onToggle","Boolean","fieldID","div","filter","join","inputRef","undefined","Checkbox"],"mappings":"AAAA;AAGA,SAASA,gBAAgB,QAAQ,wCAAuC;AACxE,SAASC,UAAU,QAAQ,kCAAiC;AAC5D,SAASC,aAAa,QAAQ,0CAAyC;AACvE,OAAOC,SAASC,WAAW,QAAQ,QAAO;AAI1C,SAASC,OAAO,QAAQ,8BAA6B;AACrD,SAASC,QAAQ,QAAQ,gCAA+B;AACxD,SAASC,aAAa,QAAQ,qCAAoC;AAClE,SAASC,eAAe,QAAQ,qCAAoC;AACpE,SAASC,cAAc,QAAQ,qBAAoB;AACnD,SAASC,aAAa,QAAQ,aAAY;AAG1C,MAAMC,YAAY;AAElB,SAA6BD,aAAa,GAAE;AAE5C,MAAME,gBAA8C,CAACC;IACnD,MAAM,EACJC,EAAE,EACFC,IAAI,EACJC,UAAU,EACVC,WAAW,EACXC,iBAAiB,EACjBC,WAAW,EACXC,WAAW,EACXC,SAASC,gBAAgB,EACzBC,SAAS,EACTC,gBAAgB,EAChBC,eAAe,EACfC,UAAU,EACVC,KAAK,EACLC,UAAU,EACVC,UAAUC,iBAAiB,EAC3BC,cAAc,EACdC,MAAMC,aAAa,EACnBC,UAAUC,iBAAiB,EAC3BC,QAAQ,EACRC,KAAK,EACLC,QAAQ,EACRC,KAAK,EACN,GAAG1B;IAEJ,MAAM,EAAE2B,IAAI,EAAE,GAAGnC;IAEjB,MAAMoC,mBAAmCrC,YACvC,CAACsC,OAAOC;QACN,IAAI,OAAOL,aAAa,YAAY;YAClC,OAAOA,SAASI,OAAO;gBAAE,GAAGC,OAAO;gBAAEP;YAAS;QAChD;IACF,GACA;QAACE;QAAUF;KAAS;IAGtB,MAAM,EAAEJ,MAAMY,eAAe,EAAEV,UAAUW,mBAAmB,EAAE,GAAG3C;IACjE,MAAMgC,WAAWC,qBAAqBU;IAEtC,MAAM,EAAEb,IAAI,EAAEc,QAAQ,EAAEC,SAAS,EAAEL,KAAK,EAAE,GAAGpC,SAAS;QACpDmB;QACAO,MAAMY,mBAAmBX,iBAAiBlB;QAC1CuB,UAAUG;IACZ;IAEA,MAAMO,WAAW5C,YAAY;QAC3B,IAAI,CAAC8B,UAAU;YACbY,SAAS,CAACJ;YACV,IAAI,OAAOZ,sBAAsB,YAAYA,kBAAkB,CAACY;QAClE;IACF,GAAG;QAACZ;QAAmBI;QAAUY;QAAUJ;KAAM;IAEjD,MAAMrB,UAAUC,oBAAoB2B,QAAQP;IAE5C,MAAMQ,UAAUpC,MAAMN,gBAAgBwB,MAAMQ;IAE5C,qBACE,oBAACW;QACC5B,WAAW;YACTd;YACAE;YACAoC,aAAa;YACbxB;YACAmB,SAAS,CAAC,EAAE/B,UAAU,SAAS,CAAC;YAChCuB,YAAY,CAAC,EAAEvB,UAAU,WAAW,CAAC;SACtC,CACEyC,MAAM,CAACH,SACPI,IAAI,CAAC;QACRhB,OAAO;YACL,GAAGA,KAAK;YACRE;QACF;qBAEA,oBAACY;QAAI5B,WAAW,CAAC,EAAEZ,UAAU,YAAY,CAAC;qBACxC,oBAACV;QAAWkB,aAAaA;QAAaa,MAAMA;QAAO,GAAIN,cAAc,CAAC,CAAC;uBAEzE,oBAAChB;QACCM,YAAYA;QACZC,aAAaA;QACbG,aAAaA;QACbC,SAASA;QACTP,IAAIoC;QACJI,UAAU;QACV3B,OAAOA;QACPC,YAAYA;QACZb,MAAMiB;QACNgB,UAAUA;QACVjB,gBAAgBA;QAChBG,UAAUA;QACVE,UAAUA;QAEXlB,sBAAsBqC,YACrBrC,kCAEA,oBAAClB,kBAAsBwB,oBAAoB,CAAC;AAIpD;AAEA,OAAO,MAAMgC,WAAWjD,cAAcK,eAAc"}
1
+ {"version":3,"sources":["../../../src/fields/Checkbox/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientValidate } from 'payload/types'\n\nimport { FieldDescription } from '@payloadcms/ui/forms/FieldDescription'\nimport { FieldError } from '@payloadcms/ui/forms/FieldError'\nimport { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider'\nimport React, { useCallback } from 'react'\n\nimport type { CheckboxFieldProps } from './types.js'\n\nimport { useForm } from '../../forms/Form/context.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { generateFieldID } from '../../utilities/generateFieldID.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { CheckboxInput } from './Input.js'\nimport './index.scss'\n\nconst baseClass = 'checkbox'\n\nexport { CheckboxFieldProps, CheckboxInput }\n\nconst CheckboxField: React.FC<CheckboxFieldProps> = (props) => {\n const {\n id,\n name,\n AfterInput,\n BeforeInput,\n CustomDescription,\n CustomError,\n CustomLabel,\n checked: checkedFromProps,\n className,\n descriptionProps,\n disableFormData,\n errorProps,\n label,\n labelProps,\n onChange: onChangeFromProps,\n partialChecked,\n path: pathFromProps,\n readOnly: readOnlyFromProps,\n required,\n style,\n validate,\n width,\n } = props\n\n const { uuid } = useForm()\n\n const memoizedValidate: ClientValidate = useCallback(\n (value, options) => {\n if (typeof validate === 'function') {\n return validate(value, { ...options, required })\n }\n },\n [validate, required],\n )\n\n const { path: pathFromContext, readOnly: readOnlyFromContext } = useFieldProps()\n const readOnly = readOnlyFromProps || readOnlyFromContext\n\n const { path, setValue, showError, value } = useField({\n disableFormData,\n path: pathFromContext || pathFromProps || name,\n validate: memoizedValidate,\n })\n\n const onToggle = useCallback(() => {\n if (!readOnly) {\n setValue(!value)\n if (typeof onChangeFromProps === 'function') onChangeFromProps(!value)\n }\n }, [onChangeFromProps, readOnly, setValue, value])\n\n const checked = checkedFromProps || Boolean(value)\n\n const fieldID = id || generateFieldID(path, uuid)\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n showError && 'error',\n className,\n value && `${baseClass}--checked`,\n readOnly && `${baseClass}--read-only`,\n ]\n .filter(Boolean)\n .join(' ')}\n style={{\n ...style,\n width,\n }}\n >\n <div className={`${baseClass}__error-wrap`}>\n <FieldError CustomError={CustomError} path={path} {...(errorProps || {})} />\n </div>\n <CheckboxInput\n AfterInput={AfterInput}\n BeforeInput={BeforeInput}\n CustomLabel={CustomLabel}\n checked={checked}\n id={fieldID}\n inputRef={null}\n label={label}\n labelProps={labelProps}\n name={path}\n onToggle={onToggle}\n partialChecked={partialChecked}\n readOnly={readOnly}\n required={required}\n />\n {CustomDescription !== undefined ? (\n CustomDescription\n ) : (\n <FieldDescription {...(descriptionProps || {})} />\n )}\n </div>\n )\n}\n\nexport const Checkbox = withCondition(CheckboxField)\n"],"names":["FieldDescription","FieldError","useFieldProps","React","useCallback","useForm","useField","withCondition","generateFieldID","fieldBaseClass","CheckboxInput","baseClass","CheckboxField","props","id","name","AfterInput","BeforeInput","CustomDescription","CustomError","CustomLabel","checked","checkedFromProps","className","descriptionProps","disableFormData","errorProps","label","labelProps","onChange","onChangeFromProps","partialChecked","path","pathFromProps","readOnly","readOnlyFromProps","required","style","validate","width","uuid","memoizedValidate","value","options","pathFromContext","readOnlyFromContext","setValue","showError","onToggle","Boolean","fieldID","div","filter","join","inputRef","undefined","Checkbox"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AAGA,SAASA,gBAAgB,QAAQ,wCAAuC;AACxE,SAASC,UAAU,QAAQ,kCAAiC;AAC5D,SAASC,aAAa,QAAQ,0CAAyC;AACvE,OAAOC,SAASC,WAAW,QAAQ,QAAO;AAI1C,SAASC,OAAO,QAAQ,8BAA6B;AACrD,SAASC,QAAQ,QAAQ,gCAA+B;AACxD,SAASC,aAAa,QAAQ,qCAAoC;AAClE,SAASC,eAAe,QAAQ,qCAAoC;AACpE,SAASC,cAAc,QAAQ,qBAAoB;AACnD,SAASC,aAAa,QAAQ,aAAY;AAG1C,MAAMC,YAAY;AAElB,SAA6BD,aAAa,GAAE;AAE5C,MAAME,gBAA8C,CAACC;IACnD,MAAM,EACJC,EAAE,EACFC,IAAI,EACJC,UAAU,EACVC,WAAW,EACXC,iBAAiB,EACjBC,WAAW,EACXC,WAAW,EACXC,SAASC,gBAAgB,EACzBC,SAAS,EACTC,gBAAgB,EAChBC,eAAe,EACfC,UAAU,EACVC,KAAK,EACLC,UAAU,EACVC,UAAUC,iBAAiB,EAC3BC,cAAc,EACdC,MAAMC,aAAa,EACnBC,UAAUC,iBAAiB,EAC3BC,QAAQ,EACRC,KAAK,EACLC,QAAQ,EACRC,KAAK,EACN,GAAG1B;IAEJ,MAAM,EAAE2B,IAAI,EAAE,GAAGnC;IAEjB,MAAMoC,mBAAmCrC,YACvC,CAACsC,OAAOC;QACN,IAAI,OAAOL,aAAa,YAAY;YAClC,OAAOA,SAASI,OAAO;gBAAE,GAAGC,OAAO;gBAAEP;YAAS;QAChD;IACF,GACA;QAACE;QAAUF;KAAS;IAGtB,MAAM,EAAEJ,MAAMY,eAAe,EAAEV,UAAUW,mBAAmB,EAAE,GAAG3C;IACjE,MAAMgC,WAAWC,qBAAqBU;IAEtC,MAAM,EAAEb,IAAI,EAAEc,QAAQ,EAAEC,SAAS,EAAEL,KAAK,EAAE,GAAGpC,SAAS;QACpDmB;QACAO,MAAMY,mBAAmBX,iBAAiBlB;QAC1CuB,UAAUG;IACZ;IAEA,MAAMO,WAAW5C,YAAY;QAC3B,IAAI,CAAC8B,UAAU;YACbY,SAAS,CAACJ;YACV,IAAI,OAAOZ,sBAAsB,YAAYA,kBAAkB,CAACY;QAClE;IACF,GAAG;QAACZ;QAAmBI;QAAUY;QAAUJ;KAAM;IAEjD,MAAMrB,UAAUC,oBAAoB2B,QAAQP;IAE5C,MAAMQ,UAAUpC,MAAMN,gBAAgBwB,MAAMQ;IAE5C,qBACE,oBAACW;QACC5B,WAAW;YACTd;YACAE;YACAoC,aAAa;YACbxB;YACAmB,SAAS,CAAC,EAAE/B,UAAU,SAAS,CAAC;YAChCuB,YAAY,CAAC,EAAEvB,UAAU,WAAW,CAAC;SACtC,CACEyC,MAAM,CAACH,SACPI,IAAI,CAAC;QACRhB,OAAO;YACL,GAAGA,KAAK;YACRE;QACF;qBAEA,oBAACY;QAAI5B,WAAW,CAAC,EAAEZ,UAAU,YAAY,CAAC;qBACxC,oBAACV;QAAWkB,aAAaA;QAAaa,MAAMA;QAAO,GAAIN,cAAc,CAAC,CAAC;uBAEzE,oBAAChB;QACCM,YAAYA;QACZC,aAAaA;QACbG,aAAaA;QACbC,SAASA;QACTP,IAAIoC;QACJI,UAAU;QACV3B,OAAOA;QACPC,YAAYA;QACZb,MAAMiB;QACNgB,UAAUA;QACVjB,gBAAgBA;QAChBG,UAAUA;QACVE,UAAUA;QAEXlB,sBAAsBqC,YACrBrC,kCAEA,oBAAClB,kBAAsBwB,oBAAoB,CAAC;AAIpD;AAEA,OAAO,MAAMgC,WAAWjD,cAAcK,eAAc"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/Checkbox/types.ts"],"sourcesContent":["import type { FieldBase } from 'payload/types'\n\nimport type { FormFieldBase } from '../shared/index.js'\n\nexport type CheckboxFieldProps = FormFieldBase & {\n checked?: boolean\n disableFormData?: boolean\n id?: string\n label?: FieldBase['label']\n name?: string\n onChange?: (val: boolean) => void\n partialChecked?: boolean\n path?: string\n width?: string\n}\n"],"names":[],"mappings":"AAIA,WAUC"}
1
+ {"version":3,"sources":["../../../src/fields/Checkbox/types.ts"],"sourcesContent":["import type { FieldBase } from 'payload/types'\n\nimport type { FormFieldBase } from '../shared/index.js'\n\nexport type CheckboxFieldProps = FormFieldBase & {\n checked?: boolean\n disableFormData?: boolean\n id?: string\n label?: FieldBase['label']\n name?: string\n onChange?: (val: boolean) => void\n partialChecked?: boolean\n path?: string\n width?: string\n}\n"],"names":[],"rangeMappings":"","mappings":"AAIA,WAUC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/Code/index.tsx"],"sourcesContent":["/* eslint-disable react/destructuring-assignment */\n'use client'\nimport type { CodeField as CodeFieldType, FieldBase } from 'payload/types'\n\nimport { FieldDescription } from '@payloadcms/ui/forms/FieldDescription'\nimport { FieldError } from '@payloadcms/ui/forms/FieldError'\nimport { FieldLabel } from '@payloadcms/ui/forms/FieldLabel'\nimport { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider'\nimport React, { useCallback } from 'react'\n\nimport type { FormFieldBase } from '../shared/index.js'\n\nimport { CodeEditor } from '../../elements/CodeEditor/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nexport type CodeFieldProps = FormFieldBase & {\n editorOptions?: CodeFieldType['admin']['editorOptions']\n label?: FieldBase['label']\n language?: CodeFieldType['admin']['language']\n name?: string\n path?: string\n width: string\n}\n\nconst prismToMonacoLanguageMap = {\n js: 'javascript',\n ts: 'typescript',\n}\n\nconst baseClass = 'code-field'\n\nconst CodeField: React.FC<CodeFieldProps> = (props) => {\n const {\n name,\n AfterInput,\n BeforeInput,\n CustomDescription,\n CustomError,\n CustomLabel,\n className,\n descriptionProps,\n editorOptions = {},\n errorProps,\n label,\n labelProps,\n language = 'javascript',\n path: pathFromProps,\n readOnly: readOnlyFromProps,\n required,\n style,\n validate,\n width,\n } = props\n\n const memoizedValidate = useCallback(\n (value, options) => {\n if (typeof validate === 'function') {\n return validate(value, { ...options, required })\n }\n },\n [validate, required],\n )\n\n const { path: pathFromContext, readOnly: readOnlyFromContext } = useFieldProps()\n const readOnly = readOnlyFromProps || readOnlyFromContext\n\n const { path, setValue, showError, value } = useField({\n path: pathFromContext || pathFromProps || name,\n validate: memoizedValidate,\n })\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n showError && 'error',\n readOnly && 'read-only',\n ]\n .filter(Boolean)\n .join(' ')}\n style={{\n ...style,\n width,\n }}\n >\n <FieldError CustomError={CustomError} path={path} {...(errorProps || {})} />\n <FieldLabel\n CustomLabel={CustomLabel}\n label={label}\n required={required}\n {...(labelProps || {})}\n />\n <div>\n {BeforeInput}\n <CodeEditor\n defaultLanguage={prismToMonacoLanguageMap[language] || language}\n onChange={readOnly ? () => null : (val) => setValue(val)}\n options={editorOptions}\n readOnly={readOnly}\n value={(value as string) || ''}\n />\n {AfterInput}\n </div>\n {CustomDescription ? CustomDescription : <FieldDescription {...(descriptionProps || {})} />}\n </div>\n )\n}\n\nexport const Code = withCondition(CodeField)\n"],"names":["FieldDescription","FieldError","FieldLabel","useFieldProps","React","useCallback","CodeEditor","useField","withCondition","fieldBaseClass","prismToMonacoLanguageMap","js","ts","baseClass","CodeField","props","name","AfterInput","BeforeInput","CustomDescription","CustomError","CustomLabel","className","descriptionProps","editorOptions","errorProps","label","labelProps","language","path","pathFromProps","readOnly","readOnlyFromProps","required","style","validate","width","memoizedValidate","value","options","pathFromContext","readOnlyFromContext","setValue","showError","div","filter","Boolean","join","defaultLanguage","onChange","val","Code"],"mappings":"AAAA,iDAAiD,GACjD;AAGA,SAASA,gBAAgB,QAAQ,wCAAuC;AACxE,SAASC,UAAU,QAAQ,kCAAiC;AAC5D,SAASC,UAAU,QAAQ,kCAAiC;AAC5D,SAASC,aAAa,QAAQ,0CAAyC;AACvE,OAAOC,SAASC,WAAW,QAAQ,QAAO;AAI1C,SAASC,UAAU,QAAQ,qCAAoC;AAC/D,SAASC,QAAQ,QAAQ,gCAA+B;AACxD,SAASC,aAAa,QAAQ,qCAAoC;AAClE,SAASC,cAAc,QAAQ,qBAAoB;AAYnD,MAAMC,2BAA2B;IAC/BC,IAAI;IACJC,IAAI;AACN;AAEA,MAAMC,YAAY;AAElB,MAAMC,YAAsC,CAACC;IAC3C,MAAM,EACJC,IAAI,EACJC,UAAU,EACVC,WAAW,EACXC,iBAAiB,EACjBC,WAAW,EACXC,WAAW,EACXC,SAAS,EACTC,gBAAgB,EAChBC,gBAAgB,CAAC,CAAC,EAClBC,UAAU,EACVC,KAAK,EACLC,UAAU,EACVC,WAAW,YAAY,EACvBC,MAAMC,aAAa,EACnBC,UAAUC,iBAAiB,EAC3BC,QAAQ,EACRC,KAAK,EACLC,QAAQ,EACRC,KAAK,EACN,GAAGrB;IAEJ,MAAMsB,mBAAmBhC,YACvB,CAACiC,OAAOC;QACN,IAAI,OAAOJ,aAAa,YAAY;YAClC,OAAOA,SAASG,OAAO;gBAAE,GAAGC,OAAO;gBAAEN;YAAS;QAChD;IACF,GACA;QAACE;QAAUF;KAAS;IAGtB,MAAM,EAAEJ,MAAMW,eAAe,EAAET,UAAUU,mBAAmB,EAAE,GAAGtC;IACjE,MAAM4B,WAAWC,qBAAqBS;IAEtC,MAAM,EAAEZ,IAAI,EAAEa,QAAQ,EAAEC,SAAS,EAAEL,KAAK,EAAE,GAAG/B,SAAS;QACpDsB,MAAMW,mBAAmBV,iBAAiBd;QAC1CmB,UAAUE;IACZ;IAEA,qBACE,oBAACO;QACCtB,WAAW;YACTb;YACAI;YACAS;YACAqB,aAAa;YACbZ,YAAY;SACb,CACEc,MAAM,CAACC,SACPC,IAAI,CAAC;QACRb,OAAO;YACL,GAAGA,KAAK;YACRE;QACF;qBAEA,oBAACnC;QAAWmB,aAAaA;QAAaS,MAAMA;QAAO,GAAIJ,cAAc,CAAC,CAAC;sBACvE,oBAACvB;QACCmB,aAAaA;QACbK,OAAOA;QACPO,UAAUA;QACT,GAAIN,cAAc,CAAC,CAAC;sBAEvB,oBAACiB,aACE1B,2BACD,oBAACZ;QACC0C,iBAAiBtC,wBAAwB,CAACkB,SAAS,IAAIA;QACvDqB,UAAUlB,WAAW,IAAM,OAAO,CAACmB,MAAQR,SAASQ;QACpDX,SAASf;QACTO,UAAUA;QACVO,OAAO,AAACA,SAAoB;QAE7BrB,aAEFE,oBAAoBA,kCAAoB,oBAACnB,kBAAsBuB,oBAAoB,CAAC;AAG3F;AAEA,OAAO,MAAM4B,OAAO3C,cAAcM,WAAU"}
1
+ {"version":3,"sources":["../../../src/fields/Code/index.tsx"],"sourcesContent":["/* eslint-disable react/destructuring-assignment */\n'use client'\nimport type { CodeField as CodeFieldType, FieldBase } from 'payload/types'\n\nimport { FieldDescription } from '@payloadcms/ui/forms/FieldDescription'\nimport { FieldError } from '@payloadcms/ui/forms/FieldError'\nimport { FieldLabel } from '@payloadcms/ui/forms/FieldLabel'\nimport { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider'\nimport React, { useCallback } from 'react'\n\nimport type { FormFieldBase } from '../shared/index.js'\n\nimport { CodeEditor } from '../../elements/CodeEditor/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nexport type CodeFieldProps = FormFieldBase & {\n editorOptions?: CodeFieldType['admin']['editorOptions']\n label?: FieldBase['label']\n language?: CodeFieldType['admin']['language']\n name?: string\n path?: string\n width: string\n}\n\nconst prismToMonacoLanguageMap = {\n js: 'javascript',\n ts: 'typescript',\n}\n\nconst baseClass = 'code-field'\n\nconst CodeField: React.FC<CodeFieldProps> = (props) => {\n const {\n name,\n AfterInput,\n BeforeInput,\n CustomDescription,\n CustomError,\n CustomLabel,\n className,\n descriptionProps,\n editorOptions = {},\n errorProps,\n label,\n labelProps,\n language = 'javascript',\n path: pathFromProps,\n readOnly: readOnlyFromProps,\n required,\n style,\n validate,\n width,\n } = props\n\n const memoizedValidate = useCallback(\n (value, options) => {\n if (typeof validate === 'function') {\n return validate(value, { ...options, required })\n }\n },\n [validate, required],\n )\n\n const { path: pathFromContext, readOnly: readOnlyFromContext } = useFieldProps()\n const readOnly = readOnlyFromProps || readOnlyFromContext\n\n const { path, setValue, showError, value } = useField({\n path: pathFromContext || pathFromProps || name,\n validate: memoizedValidate,\n })\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n showError && 'error',\n readOnly && 'read-only',\n ]\n .filter(Boolean)\n .join(' ')}\n style={{\n ...style,\n width,\n }}\n >\n <FieldError CustomError={CustomError} path={path} {...(errorProps || {})} />\n <FieldLabel\n CustomLabel={CustomLabel}\n label={label}\n required={required}\n {...(labelProps || {})}\n />\n <div>\n {BeforeInput}\n <CodeEditor\n defaultLanguage={prismToMonacoLanguageMap[language] || language}\n onChange={readOnly ? () => null : (val) => setValue(val)}\n options={editorOptions}\n readOnly={readOnly}\n value={(value as string) || ''}\n />\n {AfterInput}\n </div>\n {CustomDescription ? CustomDescription : <FieldDescription {...(descriptionProps || {})} />}\n </div>\n )\n}\n\nexport const Code = withCondition(CodeField)\n"],"names":["FieldDescription","FieldError","FieldLabel","useFieldProps","React","useCallback","CodeEditor","useField","withCondition","fieldBaseClass","prismToMonacoLanguageMap","js","ts","baseClass","CodeField","props","name","AfterInput","BeforeInput","CustomDescription","CustomError","CustomLabel","className","descriptionProps","editorOptions","errorProps","label","labelProps","language","path","pathFromProps","readOnly","readOnlyFromProps","required","style","validate","width","memoizedValidate","value","options","pathFromContext","readOnlyFromContext","setValue","showError","div","filter","Boolean","join","defaultLanguage","onChange","val","Code"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,iDAAiD,GACjD;AAGA,SAASA,gBAAgB,QAAQ,wCAAuC;AACxE,SAASC,UAAU,QAAQ,kCAAiC;AAC5D,SAASC,UAAU,QAAQ,kCAAiC;AAC5D,SAASC,aAAa,QAAQ,0CAAyC;AACvE,OAAOC,SAASC,WAAW,QAAQ,QAAO;AAI1C,SAASC,UAAU,QAAQ,qCAAoC;AAC/D,SAASC,QAAQ,QAAQ,gCAA+B;AACxD,SAASC,aAAa,QAAQ,qCAAoC;AAClE,SAASC,cAAc,QAAQ,qBAAoB;AAYnD,MAAMC,2BAA2B;IAC/BC,IAAI;IACJC,IAAI;AACN;AAEA,MAAMC,YAAY;AAElB,MAAMC,YAAsC,CAACC;IAC3C,MAAM,EACJC,IAAI,EACJC,UAAU,EACVC,WAAW,EACXC,iBAAiB,EACjBC,WAAW,EACXC,WAAW,EACXC,SAAS,EACTC,gBAAgB,EAChBC,gBAAgB,CAAC,CAAC,EAClBC,UAAU,EACVC,KAAK,EACLC,UAAU,EACVC,WAAW,YAAY,EACvBC,MAAMC,aAAa,EACnBC,UAAUC,iBAAiB,EAC3BC,QAAQ,EACRC,KAAK,EACLC,QAAQ,EACRC,KAAK,EACN,GAAGrB;IAEJ,MAAMsB,mBAAmBhC,YACvB,CAACiC,OAAOC;QACN,IAAI,OAAOJ,aAAa,YAAY;YAClC,OAAOA,SAASG,OAAO;gBAAE,GAAGC,OAAO;gBAAEN;YAAS;QAChD;IACF,GACA;QAACE;QAAUF;KAAS;IAGtB,MAAM,EAAEJ,MAAMW,eAAe,EAAET,UAAUU,mBAAmB,EAAE,GAAGtC;IACjE,MAAM4B,WAAWC,qBAAqBS;IAEtC,MAAM,EAAEZ,IAAI,EAAEa,QAAQ,EAAEC,SAAS,EAAEL,KAAK,EAAE,GAAG/B,SAAS;QACpDsB,MAAMW,mBAAmBV,iBAAiBd;QAC1CmB,UAAUE;IACZ;IAEA,qBACE,oBAACO;QACCtB,WAAW;YACTb;YACAI;YACAS;YACAqB,aAAa;YACbZ,YAAY;SACb,CACEc,MAAM,CAACC,SACPC,IAAI,CAAC;QACRb,OAAO;YACL,GAAGA,KAAK;YACRE;QACF;qBAEA,oBAACnC;QAAWmB,aAAaA;QAAaS,MAAMA;QAAO,GAAIJ,cAAc,CAAC,CAAC;sBACvE,oBAACvB;QACCmB,aAAaA;QACbK,OAAOA;QACPO,UAAUA;QACT,GAAIN,cAAc,CAAC,CAAC;sBAEvB,oBAACiB,aACE1B,2BACD,oBAACZ;QACC0C,iBAAiBtC,wBAAwB,CAACkB,SAAS,IAAIA;QACvDqB,UAAUlB,WAAW,IAAM,OAAO,CAACmB,MAAQR,SAASQ;QACpDX,SAASf;QACTO,UAAUA;QACVO,OAAO,AAACA,SAAoB;QAE7BrB,aAEFE,oBAAoBA,kCAAoB,oBAACnB,kBAAsBuB,oBAAoB,CAAC;AAG3F;AAEA,OAAO,MAAM4B,OAAO3C,cAAcM,WAAU"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Collapsible/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAuB,SAAS,EAAE,MAAM,eAAe,CAAA;AAEnE,OAAO,KAAqD,MAAM,OAAO,CAAA;AAazE,OAAO,cAAc,CAAA;AAIrB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAIpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yDAAyD,CAAA;AACvF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAEvD,MAAM,MAAM,qBAAqB,GAAG,aAAa,GAAG;IAClD,QAAQ,EAAE,QAAQ,CAAA;IAClB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;IAC1B,WAAW,EAAE,gBAAgB,CAAA;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAkID,eAAO,MAAM,WAAW,iCAAkC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Collapsible/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAuB,SAAS,EAAE,MAAM,eAAe,CAAA;AAEnE,OAAO,KAAqD,MAAM,OAAO,CAAA;AAazE,OAAO,cAAc,CAAA;AAIrB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAIpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yDAAyD,CAAA;AACvF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAEvD,MAAM,MAAM,qBAAqB,GAAG,aAAa,GAAG;IAClD,QAAQ,EAAE,QAAQ,CAAA;IAClB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;IAC1B,WAAW,EAAE,gBAAgB,CAAA;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAyID,eAAO,MAAM,WAAW,iCAAkC,CAAA"}