@payloadcms/ui 3.29.0-internal.3471e81 → 3.29.0-internal.37e46b5

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 (473) hide show
  1. package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
  2. package/dist/elements/BulkUpload/EditForm/index.js +8 -5
  3. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  4. package/dist/elements/BulkUpload/FormsManager/index.js +2 -2
  5. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  6. package/dist/elements/BulkUpload/index.d.ts.map +1 -1
  7. package/dist/elements/BulkUpload/index.js +4 -2
  8. package/dist/elements/BulkUpload/index.js.map +1 -1
  9. package/dist/elements/Collapsible/provider.d.ts.map +1 -1
  10. package/dist/elements/Collapsible/provider.js +5 -3
  11. package/dist/elements/Collapsible/provider.js.map +1 -1
  12. package/dist/elements/ColumnSelector/index.js +1 -1
  13. package/dist/elements/ColumnSelector/index.js.map +1 -1
  14. package/dist/elements/ColumnSelector/index.scss +3 -2
  15. package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
  16. package/dist/elements/DeleteDocument/index.js +2 -1
  17. package/dist/elements/DeleteDocument/index.js.map +1 -1
  18. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  19. package/dist/elements/DeleteMany/index.js +1 -1
  20. package/dist/elements/DeleteMany/index.js.map +1 -1
  21. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  22. package/dist/elements/DocumentDrawer/DrawerContent.js +1 -2
  23. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  24. package/dist/elements/DocumentDrawer/Provider.d.ts.map +1 -1
  25. package/dist/elements/DocumentDrawer/Provider.js +3 -3
  26. package/dist/elements/DocumentDrawer/Provider.js.map +1 -1
  27. package/dist/elements/DocumentDrawer/types.d.ts +0 -4
  28. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  29. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  30. package/dist/elements/DocumentFields/index.d.ts.map +1 -1
  31. package/dist/elements/DocumentFields/index.js +5 -1
  32. package/dist/elements/DocumentFields/index.js.map +1 -1
  33. package/dist/elements/Drawer/index.d.ts.map +1 -1
  34. package/dist/elements/Drawer/index.js +5 -3
  35. package/dist/elements/Drawer/index.js.map +1 -1
  36. package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
  37. package/dist/elements/EditMany/DrawerContent.js +2 -2
  38. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  39. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts.map +1 -1
  40. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +1 -2
  41. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
  42. package/dist/elements/ListControls/index.d.ts +24 -1
  43. package/dist/elements/ListControls/index.d.ts.map +1 -1
  44. package/dist/elements/ListControls/index.js +86 -115
  45. package/dist/elements/ListControls/index.js.map +1 -1
  46. package/dist/elements/ListControls/index.scss +9 -5
  47. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  48. package/dist/elements/ListDrawer/DrawerContent.js +2 -4
  49. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  50. package/dist/elements/ListDrawer/Provider.js +3 -3
  51. package/dist/elements/ListDrawer/Provider.js.map +1 -1
  52. package/dist/elements/ListDrawer/types.d.ts +2 -3
  53. package/dist/elements/ListDrawer/types.d.ts.map +1 -1
  54. package/dist/elements/ListDrawer/types.js.map +1 -1
  55. package/dist/elements/LoadingOverlay/index.js +3 -3
  56. package/dist/elements/LoadingOverlay/index.js.map +1 -1
  57. package/dist/elements/Nav/context.d.ts.map +1 -1
  58. package/dist/elements/Nav/context.js +4 -2
  59. package/dist/elements/Nav/context.js.map +1 -1
  60. package/dist/elements/Pill/index.d.ts +1 -1
  61. package/dist/elements/Pill/index.d.ts.map +1 -1
  62. package/dist/elements/Pill/index.js +0 -2
  63. package/dist/elements/Pill/index.js.map +1 -1
  64. package/dist/elements/Pill/index.scss +6 -29
  65. package/dist/elements/Popup/PopupButtonList/index.d.ts +1 -1
  66. package/dist/elements/Popup/PopupButtonList/index.d.ts.map +1 -1
  67. package/dist/elements/Popup/PopupButtonList/index.js +0 -1
  68. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  69. package/dist/elements/Popup/index.d.ts.map +1 -1
  70. package/dist/elements/Popup/index.js +1 -1
  71. package/dist/elements/Popup/index.js.map +1 -1
  72. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.d.ts +1 -2
  73. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.d.ts.map +1 -1
  74. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js +1 -4
  75. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js.map +1 -1
  76. package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts.map +1 -1
  77. package/dist/elements/PublishButton/ScheduleDrawer/index.js +3 -3
  78. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  79. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js +1 -1
  80. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -1
  81. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  82. package/dist/elements/RelationshipTable/index.js +4 -3
  83. package/dist/elements/RelationshipTable/index.js.map +1 -1
  84. package/dist/elements/StepNav/context.d.ts.map +1 -1
  85. package/dist/elements/StepNav/context.js +5 -3
  86. package/dist/elements/StepNav/context.js.map +1 -1
  87. package/dist/elements/Table/DefaultCell/fields/File/index.d.ts.map +1 -1
  88. package/dist/elements/Table/DefaultCell/fields/File/index.js +1 -24
  89. package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
  90. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  91. package/dist/elements/Table/DefaultCell/index.js +25 -32
  92. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  93. package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
  94. package/dist/elements/Table/RelationshipProvider/index.js +5 -3
  95. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  96. package/dist/elements/TableColumns/RenderDefaultCell/index.d.ts.map +1 -0
  97. package/dist/{providers → elements}/TableColumns/RenderDefaultCell/index.js +6 -4
  98. package/dist/elements/TableColumns/RenderDefaultCell/index.js.map +1 -0
  99. package/dist/{providers → elements}/TableColumns/buildColumnState.d.ts +1 -1
  100. package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -0
  101. package/dist/{providers → elements}/TableColumns/buildColumnState.js +2 -9
  102. package/dist/elements/TableColumns/buildColumnState.js.map +1 -0
  103. package/dist/{providers → elements}/TableColumns/buildPolymorphicColumnState.d.ts +1 -1
  104. package/dist/elements/TableColumns/buildPolymorphicColumnState.d.ts.map +1 -0
  105. package/dist/{providers → elements}/TableColumns/buildPolymorphicColumnState.js +1 -1
  106. package/dist/elements/TableColumns/buildPolymorphicColumnState.js.map +1 -0
  107. package/dist/elements/TableColumns/context.d.ts.map +1 -0
  108. package/dist/elements/TableColumns/context.js +4 -0
  109. package/dist/elements/TableColumns/context.js.map +1 -0
  110. package/dist/elements/TableColumns/filterFields.d.ts.map +1 -0
  111. package/dist/elements/TableColumns/filterFields.js.map +1 -0
  112. package/dist/elements/TableColumns/getInitialColumns.d.ts.map +1 -0
  113. package/dist/elements/TableColumns/getInitialColumns.js.map +1 -0
  114. package/dist/elements/TableColumns/index.d.ts.map +1 -0
  115. package/dist/{providers → elements}/TableColumns/index.js +3 -5
  116. package/dist/elements/TableColumns/index.js.map +1 -0
  117. package/dist/{providers → elements}/TableColumns/types.d.ts +1 -1
  118. package/dist/elements/TableColumns/types.d.ts.map +1 -0
  119. package/dist/elements/TableColumns/types.js.map +1 -0
  120. package/dist/elements/Thumbnail/index.js +22 -24
  121. package/dist/elements/Thumbnail/index.js.map +1 -1
  122. package/dist/elements/Toasts/fieldErrors.d.ts.map +1 -1
  123. package/dist/elements/Toasts/fieldErrors.js +2 -2
  124. package/dist/elements/Toasts/fieldErrors.js.map +1 -1
  125. package/dist/elements/Upload/index.d.ts.map +1 -1
  126. package/dist/elements/Upload/index.js +52 -8
  127. package/dist/elements/Upload/index.js.map +1 -1
  128. package/dist/elements/Upload/index.scss +1 -0
  129. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  130. package/dist/elements/WhereBuilder/Condition/index.js +1 -1
  131. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  132. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  133. package/dist/elements/WhereBuilder/index.js +15 -18
  134. package/dist/elements/WhereBuilder/index.js.map +1 -1
  135. package/dist/elements/WhereBuilder/transformWhereQuery.d.ts +8 -0
  136. package/dist/elements/WhereBuilder/transformWhereQuery.d.ts.map +1 -0
  137. package/dist/elements/WhereBuilder/transformWhereQuery.js +45 -0
  138. package/dist/elements/WhereBuilder/transformWhereQuery.js.map +1 -0
  139. package/dist/elements/WhereBuilder/validateWhereQuery.d.ts +4 -0
  140. package/dist/elements/WhereBuilder/validateWhereQuery.d.ts.map +1 -0
  141. package/dist/elements/WhereBuilder/validateWhereQuery.js +36 -0
  142. package/dist/elements/WhereBuilder/validateWhereQuery.js.map +1 -0
  143. package/dist/exports/client/{DatePicker-DMHV2M2L.js → CodeEditor-TQ5ADFPC.js} +2 -2
  144. package/dist/exports/client/{CodeEditor-J4IKAVAK.js → DatePicker-HHQ6TPOW.js} +2 -2
  145. package/dist/exports/client/{chunk-3AA2TJQ5.js → chunk-IMEQ6NKQ.js} +2 -2
  146. package/dist/exports/client/{chunk-3AA2TJQ5.js.map → chunk-IMEQ6NKQ.js.map} +3 -3
  147. package/dist/exports/client/{chunk-PKQOCWZD.js → chunk-LMYT7O7U.js} +2 -2
  148. package/dist/exports/client/{chunk-PKQOCWZD.js.map → chunk-LMYT7O7U.js.map} +3 -3
  149. package/dist/exports/client/index.d.ts +3 -7
  150. package/dist/exports/client/index.d.ts.map +1 -1
  151. package/dist/exports/client/index.js +23 -23
  152. package/dist/exports/client/index.js.map +4 -4
  153. package/dist/exports/shared/index.d.ts +3 -8
  154. package/dist/exports/shared/index.d.ts.map +1 -1
  155. package/dist/exports/shared/index.js +2 -2
  156. package/dist/exports/shared/index.js.map +4 -4
  157. package/dist/fields/Array/index.d.ts.map +1 -1
  158. package/dist/fields/Array/index.js +3 -4
  159. package/dist/fields/Array/index.js.map +1 -1
  160. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  161. package/dist/fields/Blocks/BlockRow.js +20 -26
  162. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  163. package/dist/fields/Blocks/index.d.ts.map +1 -1
  164. package/dist/fields/Blocks/index.js +4 -5
  165. package/dist/fields/Blocks/index.js.map +1 -1
  166. package/dist/fields/Checkbox/index.d.ts +1 -1
  167. package/dist/fields/Checkbox/index.d.ts.map +1 -1
  168. package/dist/fields/Checkbox/index.js +3 -4
  169. package/dist/fields/Checkbox/index.js.map +1 -1
  170. package/dist/fields/Code/index.d.ts.map +1 -1
  171. package/dist/fields/Code/index.js +3 -4
  172. package/dist/fields/Code/index.js.map +1 -1
  173. package/dist/fields/Collapsible/index.d.ts.map +1 -1
  174. package/dist/fields/Collapsible/index.js +2 -3
  175. package/dist/fields/Collapsible/index.js.map +1 -1
  176. package/dist/fields/ConfirmPassword/index.js +11 -13
  177. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  178. package/dist/fields/DateTime/index.d.ts.map +1 -1
  179. package/dist/fields/DateTime/index.js +4 -5
  180. package/dist/fields/DateTime/index.js.map +1 -1
  181. package/dist/fields/Email/index.d.ts.map +1 -1
  182. package/dist/fields/Email/index.js +2 -3
  183. package/dist/fields/Email/index.js.map +1 -1
  184. package/dist/fields/Group/index.d.ts.map +1 -1
  185. package/dist/fields/Group/index.js.map +1 -1
  186. package/dist/fields/Group/provider.d.ts.map +1 -1
  187. package/dist/fields/Group/provider.js +5 -3
  188. package/dist/fields/Group/provider.js.map +1 -1
  189. package/dist/fields/JSON/index.d.ts.map +1 -1
  190. package/dist/fields/JSON/index.js +4 -5
  191. package/dist/fields/JSON/index.js.map +1 -1
  192. package/dist/fields/Number/index.d.ts.map +1 -1
  193. package/dist/fields/Number/index.js +5 -6
  194. package/dist/fields/Number/index.js.map +1 -1
  195. package/dist/fields/Password/index.d.ts.map +1 -1
  196. package/dist/fields/Password/index.js +4 -2
  197. package/dist/fields/Password/index.js.map +1 -1
  198. package/dist/fields/Point/index.d.ts.map +1 -1
  199. package/dist/fields/Point/index.js +3 -4
  200. package/dist/fields/Point/index.js.map +1 -1
  201. package/dist/fields/RadioGroup/index.d.ts.map +1 -1
  202. package/dist/fields/RadioGroup/index.js +3 -4
  203. package/dist/fields/RadioGroup/index.js.map +1 -1
  204. package/dist/fields/Relationship/index.d.ts.map +1 -1
  205. package/dist/fields/Relationship/index.js +4 -5
  206. package/dist/fields/Relationship/index.js.map +1 -1
  207. package/dist/fields/Row/provider.d.ts.map +1 -1
  208. package/dist/fields/Row/provider.js +5 -3
  209. package/dist/fields/Row/provider.js.map +1 -1
  210. package/dist/fields/Select/index.d.ts.map +1 -1
  211. package/dist/fields/Select/index.js +3 -4
  212. package/dist/fields/Select/index.js.map +1 -1
  213. package/dist/fields/Tabs/Tab/index.d.ts +0 -1
  214. package/dist/fields/Tabs/Tab/index.d.ts.map +1 -1
  215. package/dist/fields/Tabs/Tab/index.js +25 -29
  216. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  217. package/dist/fields/Tabs/Tab/index.scss +0 -4
  218. package/dist/fields/Tabs/index.d.ts +1 -1
  219. package/dist/fields/Tabs/index.d.ts.map +1 -1
  220. package/dist/fields/Tabs/index.js +194 -285
  221. package/dist/fields/Tabs/index.js.map +1 -1
  222. package/dist/fields/Tabs/index.scss +0 -8
  223. package/dist/fields/Tabs/provider.d.ts.map +1 -1
  224. package/dist/fields/Tabs/provider.js +5 -3
  225. package/dist/fields/Tabs/provider.js.map +1 -1
  226. package/dist/fields/Text/index.d.ts.map +1 -1
  227. package/dist/fields/Text/index.js +3 -4
  228. package/dist/fields/Text/index.js.map +1 -1
  229. package/dist/fields/Textarea/index.d.ts.map +1 -1
  230. package/dist/fields/Textarea/index.js +1 -2
  231. package/dist/fields/Textarea/index.js.map +1 -1
  232. package/dist/fields/Upload/index.d.ts.map +1 -1
  233. package/dist/fields/Upload/index.js +1 -2
  234. package/dist/fields/Upload/index.js.map +1 -1
  235. package/dist/forms/Form/context.d.ts.map +1 -1
  236. package/dist/forms/Form/context.js +25 -9
  237. package/dist/forms/Form/context.js.map +1 -1
  238. package/dist/forms/Form/index.d.ts.map +1 -1
  239. package/dist/forms/Form/index.js +8 -8
  240. package/dist/forms/Form/index.js.map +1 -1
  241. package/dist/forms/RowLabel/Context/index.d.ts.map +1 -1
  242. package/dist/forms/RowLabel/Context/index.js +2 -2
  243. package/dist/forms/RowLabel/Context/index.js.map +1 -1
  244. package/dist/forms/RowLabel/index.d.ts.map +1 -1
  245. package/dist/forms/RowLabel/index.js +2 -2
  246. package/dist/forms/RowLabel/index.js.map +1 -1
  247. package/dist/forms/RowLabel/types.d.ts +1 -1
  248. package/dist/forms/RowLabel/types.d.ts.map +1 -1
  249. package/dist/forms/RowLabel/types.js.map +1 -1
  250. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts +1 -3
  251. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  252. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +1 -45
  253. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  254. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.d.ts +2 -4
  255. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.d.ts.map +1 -1
  256. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.js +0 -4
  257. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.js.map +1 -1
  258. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.d.ts +2 -4
  259. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.d.ts.map +1 -1
  260. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.js +0 -4
  261. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.js.map +1 -1
  262. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts +2 -4
  263. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts.map +1 -1
  264. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js +2 -41
  265. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js.map +1 -1
  266. package/dist/forms/fieldSchemasToFormState/index.d.ts +2 -4
  267. package/dist/forms/fieldSchemasToFormState/index.d.ts.map +1 -1
  268. package/dist/forms/fieldSchemasToFormState/index.js +0 -6
  269. package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
  270. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts +2 -4
  271. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts.map +1 -1
  272. package/dist/forms/fieldSchemasToFormState/iterateFields.js +0 -16
  273. package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
  274. package/dist/forms/useField/index.d.ts.map +1 -1
  275. package/dist/forms/useField/index.js +67 -70
  276. package/dist/forms/useField/index.js.map +1 -1
  277. package/dist/forms/useField/types.d.ts +0 -1
  278. package/dist/forms/useField/types.d.ts.map +1 -1
  279. package/dist/forms/useField/types.js.map +1 -1
  280. package/dist/hooks/useQueues.js +3 -3
  281. package/dist/hooks/useQueues.js.map +1 -1
  282. package/dist/icons/Chevron/index.d.ts +0 -1
  283. package/dist/icons/Chevron/index.d.ts.map +1 -1
  284. package/dist/icons/Chevron/index.js +0 -2
  285. package/dist/icons/Chevron/index.js.map +1 -1
  286. package/dist/icons/Dots/index.d.ts +0 -2
  287. package/dist/icons/Dots/index.d.ts.map +1 -1
  288. package/dist/icons/Dots/index.js +2 -5
  289. package/dist/icons/Dots/index.js.map +1 -1
  290. package/dist/icons/Dots/index.scss +0 -14
  291. package/dist/providers/Actions/index.d.ts.map +1 -1
  292. package/dist/providers/Actions/index.js +5 -3
  293. package/dist/providers/Actions/index.js.map +1 -1
  294. package/dist/providers/Auth/index.d.ts.map +1 -1
  295. package/dist/providers/Auth/index.js +5 -3
  296. package/dist/providers/Auth/index.js.map +1 -1
  297. package/dist/providers/ClientFunction/index.d.ts.map +1 -1
  298. package/dist/providers/ClientFunction/index.js +4 -4
  299. package/dist/providers/ClientFunction/index.js.map +1 -1
  300. package/dist/providers/Config/index.d.ts.map +1 -1
  301. package/dist/providers/Config/index.js +5 -3
  302. package/dist/providers/Config/index.js.map +1 -1
  303. package/dist/providers/DocumentEvents/index.d.ts.map +1 -1
  304. package/dist/providers/DocumentEvents/index.js +5 -3
  305. package/dist/providers/DocumentEvents/index.js.map +1 -1
  306. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  307. package/dist/providers/DocumentInfo/index.js +5 -3
  308. package/dist/providers/DocumentInfo/index.js.map +1 -1
  309. package/dist/providers/DocumentInfo/types.d.ts +0 -1
  310. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  311. package/dist/providers/DocumentInfo/types.js.map +1 -1
  312. package/dist/providers/EditDepth/index.d.ts.map +1 -1
  313. package/dist/providers/EditDepth/index.js +5 -3
  314. package/dist/providers/EditDepth/index.js.map +1 -1
  315. package/dist/providers/EntityVisibility/index.d.ts.map +1 -1
  316. package/dist/providers/EntityVisibility/index.js +5 -3
  317. package/dist/providers/EntityVisibility/index.js.map +1 -1
  318. package/dist/providers/ListQuery/context.d.ts +0 -2
  319. package/dist/providers/ListQuery/context.d.ts.map +1 -1
  320. package/dist/providers/ListQuery/context.js +2 -4
  321. package/dist/providers/ListQuery/context.js.map +1 -1
  322. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  323. package/dist/providers/ListQuery/index.js +14 -30
  324. package/dist/providers/ListQuery/index.js.map +1 -1
  325. package/dist/providers/ListQuery/types.d.ts +3 -6
  326. package/dist/providers/ListQuery/types.d.ts.map +1 -1
  327. package/dist/providers/ListQuery/types.js.map +1 -1
  328. package/dist/providers/Locale/index.d.ts.map +1 -1
  329. package/dist/providers/Locale/index.js +9 -5
  330. package/dist/providers/Locale/index.js.map +1 -1
  331. package/dist/providers/Operation/index.d.ts.map +1 -1
  332. package/dist/providers/Operation/index.js +5 -3
  333. package/dist/providers/Operation/index.js.map +1 -1
  334. package/dist/providers/Params/index.d.ts.map +1 -1
  335. package/dist/providers/Params/index.js +5 -3
  336. package/dist/providers/Params/index.js.map +1 -1
  337. package/dist/providers/Preferences/index.d.ts.map +1 -1
  338. package/dist/providers/Preferences/index.js +5 -3
  339. package/dist/providers/Preferences/index.js.map +1 -1
  340. package/dist/providers/RouteCache/index.d.ts.map +1 -1
  341. package/dist/providers/RouteCache/index.js +5 -3
  342. package/dist/providers/RouteCache/index.js.map +1 -1
  343. package/dist/providers/RouteTransition/index.d.ts.map +1 -1
  344. package/dist/providers/RouteTransition/index.js +4 -2
  345. package/dist/providers/RouteTransition/index.js.map +1 -1
  346. package/dist/providers/SearchParams/index.d.ts.map +1 -1
  347. package/dist/providers/SearchParams/index.js +5 -3
  348. package/dist/providers/SearchParams/index.js.map +1 -1
  349. package/dist/providers/Selection/index.d.ts.map +1 -1
  350. package/dist/providers/Selection/index.js +5 -3
  351. package/dist/providers/Selection/index.js.map +1 -1
  352. package/dist/providers/ServerFunctions/index.d.ts +0 -1
  353. package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
  354. package/dist/providers/ServerFunctions/index.js +2 -2
  355. package/dist/providers/ServerFunctions/index.js.map +1 -1
  356. package/dist/providers/Theme/index.d.ts.map +1 -1
  357. package/dist/providers/Theme/index.js +5 -3
  358. package/dist/providers/Theme/index.js.map +1 -1
  359. package/dist/providers/Translation/index.d.ts.map +1 -1
  360. package/dist/providers/Translation/index.js +5 -3
  361. package/dist/providers/Translation/index.js.map +1 -1
  362. package/dist/providers/UploadControls/index.d.ts +12 -0
  363. package/dist/providers/UploadControls/index.d.ts.map +1 -0
  364. package/dist/providers/UploadControls/index.js +41 -0
  365. package/dist/providers/UploadControls/index.js.map +1 -0
  366. package/dist/providers/UploadEdits/index.d.ts.map +1 -1
  367. package/dist/providers/UploadEdits/index.js +4 -2
  368. package/dist/providers/UploadEdits/index.js.map +1 -1
  369. package/dist/providers/UploadHandlers/index.d.ts.map +1 -1
  370. package/dist/providers/UploadHandlers/index.js +3 -3
  371. package/dist/providers/UploadHandlers/index.js.map +1 -1
  372. package/dist/styles.css +1 -1
  373. package/dist/utilities/buildFormState.d.ts.map +1 -1
  374. package/dist/utilities/buildFormState.js +1 -5
  375. package/dist/utilities/buildFormState.js.map +1 -1
  376. package/dist/utilities/mergeListSearchAndWhere.d.ts +10 -0
  377. package/dist/utilities/mergeListSearchAndWhere.d.ts.map +1 -0
  378. package/dist/utilities/mergeListSearchAndWhere.js +47 -0
  379. package/dist/utilities/mergeListSearchAndWhere.js.map +1 -0
  380. package/dist/utilities/renderTable.js +4 -4
  381. package/dist/utilities/renderTable.js.map +1 -1
  382. package/dist/utilities/upsertPreferences.d.ts +2 -7
  383. package/dist/utilities/upsertPreferences.d.ts.map +1 -1
  384. package/dist/utilities/upsertPreferences.js +5 -11
  385. package/dist/utilities/upsertPreferences.js.map +1 -1
  386. package/dist/views/Edit/index.d.ts.map +1 -1
  387. package/dist/views/Edit/index.js +10 -8
  388. package/dist/views/Edit/index.js.map +1 -1
  389. package/dist/views/List/index.d.ts.map +1 -1
  390. package/dist/views/List/index.js +1 -7
  391. package/dist/views/List/index.js.map +1 -1
  392. package/package.json +4 -4
  393. package/dist/elements/ListControls/ActiveQueryPreset/index.d.ts +0 -8
  394. package/dist/elements/ListControls/ActiveQueryPreset/index.d.ts.map +0 -1
  395. package/dist/elements/ListControls/ActiveQueryPreset/index.js +0 -102
  396. package/dist/elements/ListControls/ActiveQueryPreset/index.js.map +0 -1
  397. package/dist/elements/ListControls/ActiveQueryPreset/index.scss +0 -21
  398. package/dist/elements/ListControls/types.d.ts +0 -28
  399. package/dist/elements/ListControls/types.d.ts.map +0 -1
  400. package/dist/elements/ListControls/types.js.map +0 -1
  401. package/dist/elements/ListControls/useQueryPresets.d.ts +0 -17
  402. package/dist/elements/ListControls/useQueryPresets.d.ts.map +0 -1
  403. package/dist/elements/ListControls/useQueryPresets.js +0 -259
  404. package/dist/elements/ListControls/useQueryPresets.js.map +0 -1
  405. package/dist/elements/Popup/PopupDivider/index.d.ts +0 -4
  406. package/dist/elements/Popup/PopupDivider/index.d.ts.map +0 -1
  407. package/dist/elements/Popup/PopupDivider/index.js +0 -10
  408. package/dist/elements/Popup/PopupDivider/index.js.map +0 -1
  409. package/dist/elements/Popup/PopupDivider/index.scss +0 -10
  410. package/dist/elements/QueryPresets/cells/AccessCell/index.d.ts +0 -4
  411. package/dist/elements/QueryPresets/cells/AccessCell/index.d.ts.map +0 -1
  412. package/dist/elements/QueryPresets/cells/AccessCell/index.js +0 -25
  413. package/dist/elements/QueryPresets/cells/AccessCell/index.js.map +0 -1
  414. package/dist/elements/QueryPresets/cells/ColumnsCell/index.d.ts +0 -4
  415. package/dist/elements/QueryPresets/cells/ColumnsCell/index.d.ts.map +0 -1
  416. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js +0 -11
  417. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js.map +0 -1
  418. package/dist/elements/QueryPresets/cells/WhereCell/index.d.ts +0 -4
  419. package/dist/elements/QueryPresets/cells/WhereCell/index.d.ts.map +0 -1
  420. package/dist/elements/QueryPresets/cells/WhereCell/index.js +0 -23
  421. package/dist/elements/QueryPresets/cells/WhereCell/index.js.map +0 -1
  422. package/dist/elements/QueryPresets/fields/ColumnsField/index.d.ts +0 -4
  423. package/dist/elements/QueryPresets/fields/ColumnsField/index.d.ts.map +0 -1
  424. package/dist/elements/QueryPresets/fields/ColumnsField/index.js +0 -64
  425. package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +0 -1
  426. package/dist/elements/QueryPresets/fields/ColumnsField/index.scss +0 -28
  427. package/dist/elements/QueryPresets/fields/WhereField/index.d.ts +0 -4
  428. package/dist/elements/QueryPresets/fields/WhereField/index.d.ts.map +0 -1
  429. package/dist/elements/QueryPresets/fields/WhereField/index.js +0 -118
  430. package/dist/elements/QueryPresets/fields/WhereField/index.js.map +0 -1
  431. package/dist/elements/QueryPresets/fields/WhereField/index.scss +0 -23
  432. package/dist/icons/People/index.d.ts +0 -6
  433. package/dist/icons/People/index.d.ts.map +0 -1
  434. package/dist/icons/People/index.js +0 -18
  435. package/dist/icons/People/index.js.map +0 -1
  436. package/dist/icons/People/index.scss +0 -11
  437. package/dist/providers/TableColumns/RenderDefaultCell/index.d.ts.map +0 -1
  438. package/dist/providers/TableColumns/RenderDefaultCell/index.js.map +0 -1
  439. package/dist/providers/TableColumns/buildColumnState.d.ts.map +0 -1
  440. package/dist/providers/TableColumns/buildColumnState.js.map +0 -1
  441. package/dist/providers/TableColumns/buildPolymorphicColumnState.d.ts.map +0 -1
  442. package/dist/providers/TableColumns/buildPolymorphicColumnState.js.map +0 -1
  443. package/dist/providers/TableColumns/context.d.ts.map +0 -1
  444. package/dist/providers/TableColumns/context.js +0 -4
  445. package/dist/providers/TableColumns/context.js.map +0 -1
  446. package/dist/providers/TableColumns/filterFields.d.ts.map +0 -1
  447. package/dist/providers/TableColumns/filterFields.js.map +0 -1
  448. package/dist/providers/TableColumns/getInitialColumns.d.ts.map +0 -1
  449. package/dist/providers/TableColumns/getInitialColumns.js.map +0 -1
  450. package/dist/providers/TableColumns/index.d.ts.map +0 -1
  451. package/dist/providers/TableColumns/index.js.map +0 -1
  452. package/dist/providers/TableColumns/types.d.ts.map +0 -1
  453. package/dist/providers/TableColumns/types.js +0 -2
  454. package/dist/providers/TableColumns/types.js.map +0 -1
  455. package/dist/utilities/getDisplayedFieldValue.d.ts +0 -13
  456. package/dist/utilities/getDisplayedFieldValue.d.ts.map +0 -1
  457. package/dist/utilities/getDisplayedFieldValue.js +0 -28
  458. package/dist/utilities/getDisplayedFieldValue.js.map +0 -1
  459. package/dist/utilities/hasOptionLabelJSXElement.d.ts +0 -3
  460. package/dist/utilities/hasOptionLabelJSXElement.d.ts.map +0 -1
  461. package/dist/utilities/hasOptionLabelJSXElement.js +0 -15
  462. package/dist/utilities/hasOptionLabelJSXElement.js.map +0 -1
  463. /package/dist/{providers → elements}/TableColumns/RenderDefaultCell/index.d.ts +0 -0
  464. /package/dist/{providers → elements}/TableColumns/RenderDefaultCell/index.scss +0 -0
  465. /package/dist/{providers → elements}/TableColumns/context.d.ts +0 -0
  466. /package/dist/{providers → elements}/TableColumns/filterFields.d.ts +0 -0
  467. /package/dist/{providers → elements}/TableColumns/filterFields.js +0 -0
  468. /package/dist/{providers → elements}/TableColumns/getInitialColumns.d.ts +0 -0
  469. /package/dist/{providers → elements}/TableColumns/getInitialColumns.js +0 -0
  470. /package/dist/{providers → elements}/TableColumns/index.d.ts +0 -0
  471. /package/dist/elements/{ListControls → TableColumns}/types.js +0 -0
  472. /package/dist/exports/client/{CodeEditor-J4IKAVAK.js.map → CodeEditor-TQ5ADFPC.js.map} +0 -0
  473. /package/dist/exports/client/{DatePicker-DMHV2M2L.js.map → DatePicker-HHQ6TPOW.js.map} +0 -0
@@ -11,9 +11,9 @@ import { FieldLabel } from '../FieldLabel/index.js';
11
11
  import { fieldBaseClass } from '../shared/index.js';
12
12
  import './index.scss';
13
13
  export const ConfirmPasswordField = props => {
14
- const $ = _c(12);
14
+ const $ = _c(11);
15
15
  const {
16
- disabled: disabledFromProps,
16
+ disabled,
17
17
  path: t0
18
18
  } = props;
19
19
  const path = t0 === undefined ? "confirm-password" : t0;
@@ -32,7 +32,6 @@ export const ConfirmPasswordField = props => {
32
32
  t1 = $[1];
33
33
  }
34
34
  const {
35
- disabled,
36
35
  setValue,
37
36
  showError,
38
37
  value: value_0
@@ -48,7 +47,7 @@ export const ConfirmPasswordField = props => {
48
47
  }
49
48
  const t4 = t3.join(" ");
50
49
  let t5;
51
- if ($[4] !== disabled || $[5] !== disabledFromProps || $[6] !== path || $[7] !== setValue || $[8] !== t || $[9] !== t4 || $[10] !== value_0) {
50
+ if ($[4] !== disabled || $[5] !== path || $[6] !== setValue || $[7] !== t || $[8] !== t4 || $[9] !== value_0) {
52
51
  t5 = _jsxs("div", {
53
52
  className: t4,
54
53
  children: [_jsx(FieldLabel, {
@@ -62,7 +61,7 @@ export const ConfirmPasswordField = props => {
62
61
  }), _jsx("input", {
63
62
  "aria-label": t("authentication:confirmPassword"),
64
63
  autoComplete: "off",
65
- disabled: !!(disabled || disabledFromProps),
64
+ disabled: !!disabled,
66
65
  id: "field-confirm-password",
67
66
  name: "confirm-password",
68
67
  onChange: setValue,
@@ -72,15 +71,14 @@ export const ConfirmPasswordField = props => {
72
71
  })]
73
72
  });
74
73
  $[4] = disabled;
75
- $[5] = disabledFromProps;
76
- $[6] = path;
77
- $[7] = setValue;
78
- $[8] = t;
79
- $[9] = t4;
80
- $[10] = value_0;
81
- $[11] = t5;
74
+ $[5] = path;
75
+ $[6] = setValue;
76
+ $[7] = t;
77
+ $[8] = t4;
78
+ $[9] = value_0;
79
+ $[10] = t5;
82
80
  } else {
83
- t5 = $[11];
81
+ t5 = $[10];
84
82
  }
85
83
  return t5;
86
84
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","confirmPassword","React","useField","useTranslation","FieldError","FieldLabel","fieldBaseClass","ConfirmPasswordField","props","$","disabled","disabledFromProps","path","t0","undefined","t","t1","validate","_temp","setValue","showError","value","value_0","t2","t3","filter","Boolean","t4","join","t5","_jsxs","className","children","_jsx","htmlFor","label","required","autoComplete","id","name","onChange","type","options"],"sources":["../../../src/fields/ConfirmPassword/index.tsx"],"sourcesContent":["'use client'\n\nimport { confirmPassword } from 'payload/shared'\nimport React from 'react'\n\nimport { useField } from '../../forms/useField/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { FieldError } from '../FieldError/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nexport type ConfirmPasswordFieldProps = {\n readonly disabled?: boolean\n readonly path?: string\n}\n\nexport const ConfirmPasswordField: React.FC<ConfirmPasswordFieldProps> = (props) => {\n const { disabled: disabledFromProps, path = 'confirm-password' } = props\n const { t } = useTranslation()\n\n const { disabled, setValue, showError, value } = useField({\n path,\n validate: (value, options) => {\n return confirmPassword(value, {\n name: 'confirm-password',\n type: 'text',\n required: true,\n ...options,\n })\n },\n })\n\n return (\n <div\n className={[fieldBaseClass, 'confirm-password', showError && 'error']\n .filter(Boolean)\n .join(' ')}\n >\n <FieldLabel\n htmlFor=\"field-confirm-password\"\n label={t('authentication:confirmPassword')}\n required\n />\n <div className={`${fieldBaseClass}__wrap`}>\n <FieldError path={path} />\n <input\n aria-label={t('authentication:confirmPassword')}\n autoComplete=\"off\"\n disabled={!!(disabled || disabledFromProps)}\n id=\"field-confirm-password\"\n name=\"confirm-password\"\n onChange={setValue}\n type=\"password\"\n value={(value as string) || ''}\n />\n </div>\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAEA,SAASC,eAAe,QAAQ;AAChC,OAAOC,KAAA,MAAW;AAElB,SAASC,QAAQ,QAAQ;AACzB,SAASC,cAAc,QAAQ;AAC/B,SAASC,UAAU,QAAQ;AAC3B,SAASC,UAAU,QAAQ;AAC3B,SAASC,cAAc,QAAQ;AAC/B,OAAO;AAOP,OAAO,MAAMC,oBAAA,GAA4DC,KAAA;EAAA,MAAAC,CAAA,GAAAV,EAAA;EACvE;IAAAW,QAAA,EAAAC,iBAAA;IAAAC,IAAA,EAAAC;EAAA,IAAmEL,KAAA;EAA9B,MAAAI,IAAA,GAAAC,EAAyB,KAAAC,SAAA,GAAlB,kBAAkB,GAAzBD,EAAyB;EAC9D;IAAAE;EAAA,IAAcZ,cAAA;EAAA,IAAAa,EAAA;EAAA,IAAAP,CAAA,QAAAG,IAAA;IAE4CI,EAAA;MAAAJ,IAAA;MAAAK,QAAA,EAAAC;IAAA;IAU1DT,CAAA,MAAAG,IAAA;IAAAH,CAAA,MAAAO,EAAA;EAAA;IAAAA,EAAA,GAAAP,CAAA;EAAA;EAVA;IAAAC,QAAA;IAAAS,QAAA;IAAAC,SAAA;IAAAC,KAAA,EAAAC;EAAA,IAAiDpB,QAAA,CAASc,EAU1D;EAIoD,MAAAO,EAAA,GAAAH,SAAA,IAAa;EAAA,IAAAI,EAAA;EAAA,IAAAf,CAAA,QAAAc,EAAA;IAAlDC,EAAA,IAAAlB,cAAA,EAAiB,oBAAoBiB,EAAa,EAAAE,MAAA,CAAAC,OACnD;IAAAjB,CAAA,MAAAc,EAAA;IAAAd,CAAA,MAAAe,EAAA;EAAA;IAAAA,EAAA,GAAAf,CAAA;EAAA;EADC,MAAAkB,EAAA,GAAAH,EACD,CAAAI,IAAA,CACF;EAAA,IAAAC,EAAA;EAAA,IAAApB,CAAA,QAAAC,QAAA,IAAAD,CAAA,QAAAE,iBAAA,IAAAF,CAAA,QAAAG,IAAA,IAAAH,CAAA,QAAAU,QAAA,IAAAV,CAAA,QAAAM,CAAA,IAAAN,CAAA,QAAAkB,EAAA,IAAAlB,CAAA,SAAAa,OAAA;IAHVO,EAAA,GAAAC,KAAA,CAAC;MAAAC,SAAA,EACYJ,EAEH;MAAAK,QAAA,GAERC,IAAA,CAAA5B,UAAA;QAAA6B,OAAA,EACU;QAAAC,KAAA,EACDpB,CAAA,CAAE;QAAAqB,QAAA;MAAA,C,GAGXN,KAAA,CAAC;QAAAC,SAAA,EAAe,GAAAzB,cAAA,QAAyB;QAAA0B,QAAA,GACvCC,IAAA,CAAA7B,UAAA;UAAAQ;QAAA,C,GACAqB,IAAA,CAAC;UAAA,cACalB,CAAA,CAAE;UAAAsB,YAAA,EACD;UAAA3B,QAAA,KACAA,QAAA,IAAYC,iBAAgB;UAAA2B,EAAA,EACtC;UAAAC,IAAA,EACE;UAAAC,QAAA,EACKrB,QAAA;UAAAsB,IAAA,EACL;UAAApB,KAAA,EACEA,OAAC,IAAoB;QAAA,C;;;;;;;;;;;;;;SApBlCQ,E;CAyBJ;AA1CyE,SAAAX,MAAAG,KAAA,EAAAqB,OAAA;EAAA,OAO5D1C,eAAA,CAAgBqB,KAAA;IAAAkB,IAAA,EACf;IAAAE,IAAA,EACA;IAAAL,QAAA;IAAA,GAEHM;EAAO,CACZ;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","confirmPassword","React","useField","useTranslation","FieldError","FieldLabel","fieldBaseClass","ConfirmPasswordField","props","$","disabled","path","t0","undefined","t","t1","validate","_temp","setValue","showError","value","value_0","t2","t3","filter","Boolean","t4","join","t5","_jsxs","className","children","_jsx","htmlFor","label","required","autoComplete","id","name","onChange","type","options"],"sources":["../../../src/fields/ConfirmPassword/index.tsx"],"sourcesContent":["'use client'\n\nimport { confirmPassword } from 'payload/shared'\nimport React from 'react'\n\nimport { useField } from '../../forms/useField/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { FieldError } from '../FieldError/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nexport type ConfirmPasswordFieldProps = {\n readonly disabled?: boolean\n readonly path?: string\n}\n\nexport const ConfirmPasswordField: React.FC<ConfirmPasswordFieldProps> = (props) => {\n const { disabled, path = 'confirm-password' } = props\n const { t } = useTranslation()\n\n const { setValue, showError, value } = useField({\n path,\n validate: (value, options) => {\n return confirmPassword(value, {\n name: 'confirm-password',\n type: 'text',\n required: true,\n ...options,\n })\n },\n })\n\n return (\n <div\n className={[fieldBaseClass, 'confirm-password', showError && 'error']\n .filter(Boolean)\n .join(' ')}\n >\n <FieldLabel\n htmlFor=\"field-confirm-password\"\n label={t('authentication:confirmPassword')}\n required\n />\n <div className={`${fieldBaseClass}__wrap`}>\n <FieldError path={path} />\n <input\n aria-label={t('authentication:confirmPassword')}\n autoComplete=\"off\"\n disabled={!!disabled}\n id=\"field-confirm-password\"\n name=\"confirm-password\"\n onChange={setValue}\n type=\"password\"\n value={(value as string) || ''}\n />\n </div>\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAEA,SAASC,eAAe,QAAQ;AAChC,OAAOC,KAAA,MAAW;AAElB,SAASC,QAAQ,QAAQ;AACzB,SAASC,cAAc,QAAQ;AAC/B,SAASC,UAAU,QAAQ;AAC3B,SAASC,UAAU,QAAQ;AAC3B,SAASC,cAAc,QAAQ;AAC/B,OAAO;AAOP,OAAO,MAAMC,oBAAA,GAA4DC,KAAA;EAAA,MAAAC,CAAA,GAAAV,EAAA;EACvE;IAAAW,QAAA;IAAAC,IAAA,EAAAC;EAAA,IAAgDJ,KAAA;EAA9B,MAAAG,IAAA,GAAAC,EAAyB,KAAAC,SAAA,GAAlB,kBAAkB,GAAzBD,EAAyB;EAC3C;IAAAE;EAAA,IAAcX,cAAA;EAAA,IAAAY,EAAA;EAAA,IAAAN,CAAA,QAAAE,IAAA;IAEkCI,EAAA;MAAAJ,IAAA;MAAAK,QAAA,EAAAC;IAAA;IAUhDR,CAAA,MAAAE,IAAA;IAAAF,CAAA,MAAAM,EAAA;EAAA;IAAAA,EAAA,GAAAN,CAAA;EAAA;EAVA;IAAAS,QAAA;IAAAC,SAAA;IAAAC,KAAA,EAAAC;EAAA,IAAuCnB,QAAA,CAASa,EAUhD;EAIoD,MAAAO,EAAA,GAAAH,SAAA,IAAa;EAAA,IAAAI,EAAA;EAAA,IAAAd,CAAA,QAAAa,EAAA;IAAlDC,EAAA,IAAAjB,cAAA,EAAiB,oBAAoBgB,EAAa,EAAAE,MAAA,CAAAC,OACnD;IAAAhB,CAAA,MAAAa,EAAA;IAAAb,CAAA,MAAAc,EAAA;EAAA;IAAAA,EAAA,GAAAd,CAAA;EAAA;EADC,MAAAiB,EAAA,GAAAH,EACD,CAAAI,IAAA,CACF;EAAA,IAAAC,EAAA;EAAA,IAAAnB,CAAA,QAAAC,QAAA,IAAAD,CAAA,QAAAE,IAAA,IAAAF,CAAA,QAAAS,QAAA,IAAAT,CAAA,QAAAK,CAAA,IAAAL,CAAA,QAAAiB,EAAA,IAAAjB,CAAA,QAAAY,OAAA;IAHVO,EAAA,GAAAC,KAAA,CAAC;MAAAC,SAAA,EACYJ,EAEH;MAAAK,QAAA,GAERC,IAAA,CAAA3B,UAAA;QAAA4B,OAAA,EACU;QAAAC,KAAA,EACDpB,CAAA,CAAE;QAAAqB,QAAA;MAAA,C,GAGXN,KAAA,CAAC;QAAAC,SAAA,EAAe,GAAAxB,cAAA,QAAyB;QAAAyB,QAAA,GACvCC,IAAA,CAAA5B,UAAA;UAAAO;QAAA,C,GACAqB,IAAA,CAAC;UAAA,cACalB,CAAA,CAAE;UAAAsB,YAAA,EACD;UAAA1B,QAAA,IACDA,QAAA;UAAA2B,EAAA,EACT;UAAAC,IAAA,EACE;UAAAC,QAAA,EACKrB,QAAA;UAAAsB,IAAA,EACL;UAAApB,KAAA,EACEA,OAAC,IAAoB;QAAA,C;;;;;;;;;;;;;SApBlCQ,E;CAyBJ;AA1CyE,SAAAX,MAAAG,KAAA,EAAAqB,OAAA;EAAA,OAO5DzC,eAAA,CAAgBoB,KAAA;IAAAkB,IAAA,EACf;IAAAE,IAAA,EACA;IAAAL,QAAA;IAAA,GAEHM;EAAO,CACZ;AAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/DateTime/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA4B,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAe5E,OAAO,cAAc,CAAA;AA6LrB,eAAO,MAAM,aAAa;;;;;+EAAwC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/DateTime/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA4B,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAe5E,OAAO,cAAc,CAAA;AA4LrB,eAAO,MAAM,aAAa;;;;;+EAAwC,CAAA"}
@@ -68,7 +68,6 @@ const DateTimeFieldComponent = props => {
68
68
  Error,
69
69
  Label
70
70
  } = {},
71
- disabled,
72
71
  setValue,
73
72
  showError,
74
73
  value: value_0
@@ -103,7 +102,7 @@ const DateTimeFieldComponent = props => {
103
102
  }, [timezone, selectedTimezone, value_0, userTimezone]);
104
103
  const styles = useMemo(() => mergeFieldStyles(field), [field]);
105
104
  const onChange = useCallback(incomingDate => {
106
- if (!(readOnly || disabled)) {
105
+ if (!readOnly) {
107
106
  if (timezone && selectedTimezone && incomingDate) {
108
107
  // Create TZDate instances for the selected timezone
109
108
  const TZDateWithSelectedTz = TZDate.tz(selectedTimezone);
@@ -128,7 +127,7 @@ const DateTimeFieldComponent = props => {
128
127
  setValue(incomingDate?.toISOString() || null);
129
128
  }
130
129
  }
131
- }, [readOnly, disabled, timezone, selectedTimezone, isDateOnly, setValue]);
130
+ }, [readOnly, setValue, timezone, selectedTimezone]);
132
131
  const onChangeTimezone = useCallback(timezone_0 => {
133
132
  if (timezonePath) {
134
133
  dispatchFields({
@@ -140,7 +139,7 @@ const DateTimeFieldComponent = props => {
140
139
  }
141
140
  }, [dispatchFields, setModified, timezonePath]);
142
141
  return /*#__PURE__*/_jsxs("div", {
143
- className: [fieldBaseClass, baseClass, className, showError && `${baseClass}--has-error`, (readOnly || disabled) && 'read-only'].filter(Boolean).join(' '),
142
+ className: [fieldBaseClass, baseClass, className, showError && `${baseClass}--has-error`, readOnly && 'read-only'].filter(Boolean).join(' '),
144
143
  style: styles,
145
144
  children: [/*#__PURE__*/_jsx(RenderCustomComponent, {
146
145
  CustomComponent: Label,
@@ -165,7 +164,7 @@ const DateTimeFieldComponent = props => {
165
164
  ...datePickerProps?.overrides
166
165
  },
167
166
  placeholder: getTranslation(placeholder, i18n),
168
- readOnly: readOnly || disabled,
167
+ readOnly: readOnly,
169
168
  value: displayedValue
170
169
  }), timezone && supportedTimezones.length > 0 && /*#__PURE__*/_jsx(TimezonePicker, {
171
170
  id: `${path}-timezone-picker`,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["TZDateMini","TZDate","getTranslation","transpose","useCallback","useMemo","DatePickerField","RenderCustomComponent","TimezonePicker","FieldDescription","FieldError","FieldLabel","useForm","useFormFields","useField","withCondition","useConfig","useTranslation","mergeFieldStyles","fieldBaseClass","baseClass","DateTimeFieldComponent","props","field","admin","className","date","datePickerProps","description","placeholder","label","localized","required","timezone","path","readOnly","validate","pickerAppearance","userTimezone","Intl","DateTimeFormat","resolvedOptions","timeZone","config","i18n","dispatchFields","setModified","memoizedValidate","value","options","customComponents","AfterInput","BeforeInput","Description","Error","Label","disabled","setValue","showError","timezonePath","timezoneField","fields","_","supportedTimezones","timezones","isDateOnly","includes","selectedTimezone","displayedValue","DateWithOriginalTz","tz","DateWithUserTz","modifiedDate","withTimeZone","dateWithTimezone","dateWithUserTimezone","toISOString","styles","onChange","incomingDate","TZDateWithSelectedTz","incomingOffset","getTimezoneOffset","originalHour","getHours","setHours","dateToSelectedTz","dateToUserTz","onChangeTimezone","type","_jsxs","filter","Boolean","join","style","_jsx","CustomComponent","Fallback","id","replace","overrides","length","DateTimeField"],"sources":["../../../src/fields/DateTime/index.tsx"],"sourcesContent":["'use client'\nimport type { DateFieldClientComponent, DateFieldValidation } from 'payload'\n\nimport { TZDateMini as TZDate } from '@date-fns/tz/date/mini'\nimport { getTranslation } from '@payloadcms/translations'\nimport { transpose } from 'date-fns'\nimport { useCallback, useMemo } from 'react'\n\nimport { DatePickerField } from '../../elements/DatePicker/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { TimezonePicker } from '../../elements/TimezonePicker/index.js'\nimport { FieldDescription } from '../../fields/FieldDescription/index.js'\nimport { FieldError } from '../../fields/FieldError/index.js'\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { useForm, useFormFields } from '../../forms/Form/context.js'\nimport { useField } from '../../forms/useField/index.js'\nimport './index.scss'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { mergeFieldStyles } from '../mergeFieldStyles.js'\nimport { fieldBaseClass } from '../shared/index.js'\n\nconst baseClass = 'date-time-field'\n\nconst DateTimeFieldComponent: DateFieldClientComponent = (props) => {\n const {\n field,\n field: {\n admin: { className, date: datePickerProps, description, placeholder } = {},\n label,\n localized,\n required,\n timezone,\n },\n path,\n readOnly,\n validate,\n } = props\n\n const pickerAppearance = datePickerProps?.pickerAppearance || 'default'\n\n // Get the user timezone so we can adjust the displayed value against it\n const userTimezone = Intl.DateTimeFormat().resolvedOptions().timeZone\n\n const { config } = useConfig()\n const { i18n } = useTranslation()\n const { dispatchFields, setModified } = useForm()\n\n const memoizedValidate: DateFieldValidation = useCallback(\n (value, options) => {\n if (typeof validate === 'function') {\n return validate(value, { ...options, required })\n }\n },\n [validate, required],\n )\n\n const {\n customComponents: { AfterInput, BeforeInput, Description, Error, Label } = {},\n disabled,\n setValue,\n showError,\n value,\n } = useField<string>({\n path,\n validate: memoizedValidate,\n })\n\n const timezonePath = path + '_tz'\n const timezoneField = useFormFields(([fields, _]) => fields?.[timezonePath])\n const supportedTimezones = config.admin.timezones.supportedTimezones\n /**\n * Date appearance doesn't include timestamps,\n * which means we need to pin the time to always 12:00 for the selected date\n */\n const isDateOnly = ['dayOnly', 'default', 'monthOnly'].includes(pickerAppearance)\n const selectedTimezone = timezoneField?.value as string\n\n // The displayed value should be the original value, adjusted to the user's timezone\n const displayedValue = useMemo(() => {\n if (timezone && selectedTimezone && userTimezone && value) {\n // Create TZDate instances for the selected timezone and the user's timezone\n // These instances allow us to transpose the date between timezones while keeping the same time value\n const DateWithOriginalTz = TZDate.tz(selectedTimezone)\n const DateWithUserTz = TZDate.tz(userTimezone)\n\n const modifiedDate = new TZDate(value).withTimeZone(selectedTimezone)\n\n // Transpose the date to the selected timezone\n const dateWithTimezone = transpose(modifiedDate, DateWithOriginalTz)\n\n // Transpose the date to the user's timezone - this is necessary because the react-datepicker component insists on displaying the date in the user's timezone\n const dateWithUserTimezone = transpose(dateWithTimezone, DateWithUserTz)\n\n return dateWithUserTimezone.toISOString()\n }\n\n return value\n }, [timezone, selectedTimezone, value, userTimezone])\n\n const styles = useMemo(() => mergeFieldStyles(field), [field])\n\n const onChange = useCallback(\n (incomingDate: Date) => {\n if (!(readOnly || disabled)) {\n if (timezone && selectedTimezone && incomingDate) {\n // Create TZDate instances for the selected timezone\n const TZDateWithSelectedTz = TZDate.tz(selectedTimezone)\n\n if (isDateOnly) {\n // We need to offset this hardcoded hour offset from the DatePicker elemenent\n // this can be removed in 4.0 when we remove the hardcoded offset as it is a breaking change\n // const tzOffset = incomingDate.getTimezoneOffset() / 60\n const incomingOffset = incomingDate.getTimezoneOffset() / 60\n const originalHour = incomingDate.getHours() + incomingOffset\n incomingDate.setHours(originalHour)\n\n // Convert the original date as picked into the desired timezone.\n const dateToSelectedTz = transpose(incomingDate, TZDateWithSelectedTz)\n\n setValue(dateToSelectedTz.toISOString() || null)\n } else {\n // Creates a TZDate instance for the user's timezone — this is default behaviour of TZDate as it wraps the Date constructor\n const dateToUserTz = new TZDate(incomingDate)\n // Transpose the date to the selected timezone\n const dateWithTimezone = transpose(dateToUserTz, TZDateWithSelectedTz)\n\n setValue(dateWithTimezone.toISOString() || null)\n }\n } else {\n setValue(incomingDate?.toISOString() || null)\n }\n }\n },\n [readOnly, disabled, timezone, selectedTimezone, isDateOnly, setValue],\n )\n\n const onChangeTimezone = useCallback(\n (timezone: string) => {\n if (timezonePath) {\n dispatchFields({\n type: 'UPDATE',\n path: timezonePath,\n value: timezone,\n })\n\n setModified(true)\n }\n },\n [dispatchFields, setModified, timezonePath],\n )\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n showError && `${baseClass}--has-error`,\n (readOnly || disabled) && 'read-only',\n ]\n .filter(Boolean)\n .join(' ')}\n style={styles}\n >\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={<FieldLabel label={label} localized={localized} required={required} />}\n />\n <div className={`${fieldBaseClass}__wrap`} id={`field-${path.replace(/\\./g, '__')}`}>\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError path={path} showError={showError} />}\n />\n {BeforeInput}\n <DatePickerField\n {...datePickerProps}\n onChange={onChange}\n overrides={{\n ...datePickerProps?.overrides,\n }}\n placeholder={getTranslation(placeholder, i18n)}\n readOnly={readOnly || disabled}\n value={displayedValue}\n />\n {timezone && supportedTimezones.length > 0 && (\n <TimezonePicker\n id={`${path}-timezone-picker`}\n onChange={onChangeTimezone}\n options={supportedTimezones}\n required={required}\n selectedTimezone={selectedTimezone}\n />\n )}\n {AfterInput}\n </div>\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </div>\n )\n}\n\nexport const DateTimeField = withCondition(DateTimeFieldComponent)\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["TZDateMini","TZDate","getTranslation","transpose","useCallback","useMemo","DatePickerField","RenderCustomComponent","TimezonePicker","FieldDescription","FieldError","FieldLabel","useForm","useFormFields","useField","withCondition","useConfig","useTranslation","mergeFieldStyles","fieldBaseClass","baseClass","DateTimeFieldComponent","props","field","admin","className","date","datePickerProps","description","placeholder","label","localized","required","timezone","path","readOnly","validate","pickerAppearance","userTimezone","Intl","DateTimeFormat","resolvedOptions","timeZone","config","i18n","dispatchFields","setModified","memoizedValidate","value","options","customComponents","AfterInput","BeforeInput","Description","Error","Label","setValue","showError","timezonePath","timezoneField","fields","_","supportedTimezones","timezones","isDateOnly","includes","selectedTimezone","displayedValue","DateWithOriginalTz","tz","DateWithUserTz","modifiedDate","withTimeZone","dateWithTimezone","dateWithUserTimezone","toISOString","styles","onChange","incomingDate","TZDateWithSelectedTz","incomingOffset","getTimezoneOffset","originalHour","getHours","setHours","dateToSelectedTz","dateToUserTz","onChangeTimezone","type","_jsxs","filter","Boolean","join","style","_jsx","CustomComponent","Fallback","id","replace","overrides","length","DateTimeField"],"sources":["../../../src/fields/DateTime/index.tsx"],"sourcesContent":["'use client'\nimport type { DateFieldClientComponent, DateFieldValidation } from 'payload'\n\nimport { TZDateMini as TZDate } from '@date-fns/tz/date/mini'\nimport { getTranslation } from '@payloadcms/translations'\nimport { transpose } from 'date-fns'\nimport { useCallback, useMemo } from 'react'\n\nimport { DatePickerField } from '../../elements/DatePicker/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { TimezonePicker } from '../../elements/TimezonePicker/index.js'\nimport { FieldDescription } from '../../fields/FieldDescription/index.js'\nimport { FieldError } from '../../fields/FieldError/index.js'\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { useForm, useFormFields } from '../../forms/Form/context.js'\nimport { useField } from '../../forms/useField/index.js'\nimport './index.scss'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { mergeFieldStyles } from '../mergeFieldStyles.js'\nimport { fieldBaseClass } from '../shared/index.js'\n\nconst baseClass = 'date-time-field'\n\nconst DateTimeFieldComponent: DateFieldClientComponent = (props) => {\n const {\n field,\n field: {\n admin: { className, date: datePickerProps, description, placeholder } = {},\n label,\n localized,\n required,\n timezone,\n },\n path,\n readOnly,\n validate,\n } = props\n\n const pickerAppearance = datePickerProps?.pickerAppearance || 'default'\n\n // Get the user timezone so we can adjust the displayed value against it\n const userTimezone = Intl.DateTimeFormat().resolvedOptions().timeZone\n\n const { config } = useConfig()\n const { i18n } = useTranslation()\n const { dispatchFields, setModified } = useForm()\n\n const memoizedValidate: DateFieldValidation = useCallback(\n (value, options) => {\n if (typeof validate === 'function') {\n return validate(value, { ...options, required })\n }\n },\n [validate, required],\n )\n\n const {\n customComponents: { AfterInput, BeforeInput, Description, Error, Label } = {},\n setValue,\n showError,\n value,\n } = useField<string>({\n path,\n validate: memoizedValidate,\n })\n\n const timezonePath = path + '_tz'\n const timezoneField = useFormFields(([fields, _]) => fields?.[timezonePath])\n const supportedTimezones = config.admin.timezones.supportedTimezones\n /**\n * Date appearance doesn't include timestamps,\n * which means we need to pin the time to always 12:00 for the selected date\n */\n const isDateOnly = ['dayOnly', 'default', 'monthOnly'].includes(pickerAppearance)\n const selectedTimezone = timezoneField?.value as string\n\n // The displayed value should be the original value, adjusted to the user's timezone\n const displayedValue = useMemo(() => {\n if (timezone && selectedTimezone && userTimezone && value) {\n // Create TZDate instances for the selected timezone and the user's timezone\n // These instances allow us to transpose the date between timezones while keeping the same time value\n const DateWithOriginalTz = TZDate.tz(selectedTimezone)\n const DateWithUserTz = TZDate.tz(userTimezone)\n\n const modifiedDate = new TZDate(value).withTimeZone(selectedTimezone)\n\n // Transpose the date to the selected timezone\n const dateWithTimezone = transpose(modifiedDate, DateWithOriginalTz)\n\n // Transpose the date to the user's timezone - this is necessary because the react-datepicker component insists on displaying the date in the user's timezone\n const dateWithUserTimezone = transpose(dateWithTimezone, DateWithUserTz)\n\n return dateWithUserTimezone.toISOString()\n }\n\n return value\n }, [timezone, selectedTimezone, value, userTimezone])\n\n const styles = useMemo(() => mergeFieldStyles(field), [field])\n\n const onChange = useCallback(\n (incomingDate: Date) => {\n if (!readOnly) {\n if (timezone && selectedTimezone && incomingDate) {\n // Create TZDate instances for the selected timezone\n const TZDateWithSelectedTz = TZDate.tz(selectedTimezone)\n\n if (isDateOnly) {\n // We need to offset this hardcoded hour offset from the DatePicker elemenent\n // this can be removed in 4.0 when we remove the hardcoded offset as it is a breaking change\n // const tzOffset = incomingDate.getTimezoneOffset() / 60\n const incomingOffset = incomingDate.getTimezoneOffset() / 60\n const originalHour = incomingDate.getHours() + incomingOffset\n incomingDate.setHours(originalHour)\n\n // Convert the original date as picked into the desired timezone.\n const dateToSelectedTz = transpose(incomingDate, TZDateWithSelectedTz)\n\n setValue(dateToSelectedTz.toISOString() || null)\n } else {\n // Creates a TZDate instance for the user's timezone — this is default behaviour of TZDate as it wraps the Date constructor\n const dateToUserTz = new TZDate(incomingDate)\n // Transpose the date to the selected timezone\n const dateWithTimezone = transpose(dateToUserTz, TZDateWithSelectedTz)\n\n setValue(dateWithTimezone.toISOString() || null)\n }\n } else {\n setValue(incomingDate?.toISOString() || null)\n }\n }\n },\n [readOnly, setValue, timezone, selectedTimezone],\n )\n\n const onChangeTimezone = useCallback(\n (timezone: string) => {\n if (timezonePath) {\n dispatchFields({\n type: 'UPDATE',\n path: timezonePath,\n value: timezone,\n })\n\n setModified(true)\n }\n },\n [dispatchFields, setModified, timezonePath],\n )\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n showError && `${baseClass}--has-error`,\n readOnly && 'read-only',\n ]\n .filter(Boolean)\n .join(' ')}\n style={styles}\n >\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={<FieldLabel label={label} localized={localized} required={required} />}\n />\n <div className={`${fieldBaseClass}__wrap`} id={`field-${path.replace(/\\./g, '__')}`}>\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError path={path} showError={showError} />}\n />\n {BeforeInput}\n <DatePickerField\n {...datePickerProps}\n onChange={onChange}\n overrides={{\n ...datePickerProps?.overrides,\n }}\n placeholder={getTranslation(placeholder, i18n)}\n readOnly={readOnly}\n value={displayedValue}\n />\n {timezone && supportedTimezones.length > 0 && (\n <TimezonePicker\n id={`${path}-timezone-picker`}\n onChange={onChangeTimezone}\n options={supportedTimezones}\n required={required}\n selectedTimezone={selectedTimezone}\n />\n )}\n {AfterInput}\n </div>\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </div>\n )\n}\n\nexport const DateTimeField = withCondition(DateTimeFieldComponent)\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Email/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAGV,oBAAoB,EACrB,MAAM,SAAS,CAAA;AAGhB,OAAO,KAA+B,MAAM,OAAO,CAAA;AAUnD,OAAO,cAAc,CAAA;AA8FrB,eAAO,MAAM,UAAU;;;;;+EAAqC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Email/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAGV,oBAAoB,EACrB,MAAM,SAAS,CAAA;AAGhB,OAAO,KAA+B,MAAM,OAAO,CAAA;AAUnD,OAAO,cAAc,CAAA;AAuFrB,eAAO,MAAM,UAAU;;;;;+EAAqC,CAAA"}
@@ -50,7 +50,6 @@ const EmailFieldComponent = props => {
50
50
  Error,
51
51
  Label
52
52
  } = {},
53
- disabled,
54
53
  setValue,
55
54
  showError,
56
55
  value: value_0
@@ -60,7 +59,7 @@ const EmailFieldComponent = props => {
60
59
  });
61
60
  const styles = useMemo(() => mergeFieldStyles(field), [field]);
62
61
  return /*#__PURE__*/_jsxs("div", {
63
- className: [fieldBaseClass, 'email', className, showError && 'error', (readOnly || disabled) && 'read-only'].filter(Boolean).join(' '),
62
+ className: [fieldBaseClass, 'email', className, showError && 'error', readOnly && 'read-only'].filter(Boolean).join(' '),
64
63
  style: styles,
65
64
  children: [/*#__PURE__*/_jsx(RenderCustomComponent, {
66
65
  CustomComponent: Label,
@@ -80,7 +79,7 @@ const EmailFieldComponent = props => {
80
79
  })
81
80
  }), BeforeInput, /*#__PURE__*/_jsx("input", {
82
81
  autoComplete: autoComplete,
83
- disabled: readOnly || disabled,
82
+ disabled: readOnly,
84
83
  id: `field-${path.replace(/\./g, '__')}`,
85
84
  name: path,
86
85
  onChange: setValue,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["getTranslation","React","useCallback","useMemo","RenderCustomComponent","FieldDescription","FieldError","useField","withCondition","useTranslation","FieldLabel","mergeFieldStyles","fieldBaseClass","EmailFieldComponent","props","field","admin","autoComplete","className","description","placeholder","label","localized","required","path","readOnly","validate","i18n","memoizedValidate","value","options","customComponents","AfterInput","BeforeInput","Description","Error","Label","disabled","setValue","showError","styles","_jsxs","filter","Boolean","join","style","_jsx","CustomComponent","Fallback","id","replace","name","onChange","type","EmailField"],"sources":["../../../src/fields/Email/index.tsx"],"sourcesContent":["'use client'\nimport type {\n EmailFieldClientComponent,\n EmailFieldClientProps,\n EmailFieldValidation,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback, useMemo } from 'react'\n\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { FieldDescription } from '../../fields/FieldDescription/index.js'\nimport { FieldError } from '../../fields/FieldError/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { mergeFieldStyles } from '../mergeFieldStyles.js'\nimport './index.scss'\nimport { fieldBaseClass } from '../shared/index.js'\n\nconst EmailFieldComponent: EmailFieldClientComponent = (props) => {\n const {\n field,\n field: {\n admin: {\n autoComplete,\n className,\n description,\n placeholder,\n } = {} as EmailFieldClientProps['field']['admin'],\n label,\n localized,\n required,\n } = {} as EmailFieldClientProps['field'],\n path,\n readOnly,\n validate,\n } = props\n\n const { i18n } = useTranslation()\n\n const memoizedValidate: EmailFieldValidation = useCallback(\n (value, options) => {\n if (typeof validate === 'function') {\n return validate(value, { ...options, required })\n }\n },\n [validate, required],\n )\n\n const {\n customComponents: { AfterInput, BeforeInput, Description, Error, Label } = {},\n disabled,\n setValue,\n showError,\n value,\n } = useField({\n path,\n validate: memoizedValidate,\n })\n\n const styles = useMemo(() => mergeFieldStyles(field), [field])\n\n return (\n <div\n className={[\n fieldBaseClass,\n 'email',\n className,\n showError && 'error',\n (readOnly || disabled) && 'read-only',\n ]\n .filter(Boolean)\n .join(' ')}\n style={styles}\n >\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <FieldLabel label={label} localized={localized} path={path} required={required} />\n }\n />\n <div className={`${fieldBaseClass}__wrap`}>\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError path={path} showError={showError} />}\n />\n {BeforeInput}\n {/* disable eslint here because the label is dynamic */}\n {/* eslint-disable-next-line jsx-a11y/control-has-associated-label */}\n <input\n autoComplete={autoComplete}\n disabled={readOnly || disabled}\n id={`field-${path.replace(/\\./g, '__')}`}\n name={path}\n onChange={setValue}\n placeholder={getTranslation(placeholder, i18n)}\n required={required}\n type=\"email\"\n value={(value as string) || ''}\n />\n {AfterInput}\n </div>\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </div>\n )\n}\n\nexport const EmailField = withCondition(EmailFieldComponent)\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["getTranslation","React","useCallback","useMemo","RenderCustomComponent","FieldDescription","FieldError","useField","withCondition","useTranslation","FieldLabel","mergeFieldStyles","fieldBaseClass","EmailFieldComponent","props","field","admin","autoComplete","className","description","placeholder","label","localized","required","path","readOnly","validate","i18n","memoizedValidate","value","options","customComponents","AfterInput","BeforeInput","Description","Error","Label","setValue","showError","styles","_jsxs","filter","Boolean","join","style","_jsx","CustomComponent","Fallback","disabled","id","replace","name","onChange","type","EmailField"],"sources":["../../../src/fields/Email/index.tsx"],"sourcesContent":["'use client'\nimport type {\n EmailFieldClientComponent,\n EmailFieldClientProps,\n EmailFieldValidation,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback, useMemo } from 'react'\n\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { FieldDescription } from '../../fields/FieldDescription/index.js'\nimport { FieldError } from '../../fields/FieldError/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { mergeFieldStyles } from '../mergeFieldStyles.js'\nimport './index.scss'\nimport { fieldBaseClass } from '../shared/index.js'\n\nconst EmailFieldComponent: EmailFieldClientComponent = (props) => {\n const {\n field,\n field: {\n admin: {\n autoComplete,\n className,\n description,\n placeholder,\n } = {} as EmailFieldClientProps['field']['admin'],\n label,\n localized,\n required,\n } = {} as EmailFieldClientProps['field'],\n path,\n readOnly,\n validate,\n } = props\n\n const { i18n } = useTranslation()\n\n const memoizedValidate: EmailFieldValidation = useCallback(\n (value, options) => {\n if (typeof validate === 'function') {\n return validate(value, { ...options, required })\n }\n },\n [validate, required],\n )\n\n const {\n customComponents: { AfterInput, BeforeInput, Description, Error, Label } = {},\n setValue,\n showError,\n value,\n } = useField({\n path,\n validate: memoizedValidate,\n })\n\n const styles = useMemo(() => mergeFieldStyles(field), [field])\n\n return (\n <div\n className={[fieldBaseClass, 'email', className, showError && 'error', readOnly && 'read-only']\n .filter(Boolean)\n .join(' ')}\n style={styles}\n >\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <FieldLabel label={label} localized={localized} path={path} required={required} />\n }\n />\n <div className={`${fieldBaseClass}__wrap`}>\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError path={path} showError={showError} />}\n />\n {BeforeInput}\n {/* disable eslint here because the label is dynamic */}\n {/* eslint-disable-next-line jsx-a11y/control-has-associated-label */}\n <input\n autoComplete={autoComplete}\n disabled={readOnly}\n id={`field-${path.replace(/\\./g, '__')}`}\n name={path}\n onChange={setValue}\n placeholder={getTranslation(placeholder, i18n)}\n required={required}\n type=\"email\"\n value={(value as string) || ''}\n />\n {AfterInput}\n </div>\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </div>\n )\n}\n\nexport const EmailField = withCondition(EmailFieldComponent)\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Group/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAGxD,OAAO,KAAkB,MAAM,OAAO,CAAA;AAetC,OAAO,cAAc,CAAA;AAErB,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAIvD,eAAO,MAAM,mBAAmB,EAAE,yBA2FjC,CAAA;AAED,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAA;AAElC,eAAO,MAAM,UAAU;;+EAAqC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Group/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAGxD,OAAO,KAAkB,MAAM,OAAO,CAAA;AAetC,OAAO,cAAc,CAAA;AAErB,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAIvD,eAAO,MAAM,mBAAmB,EAAE,yBAyFjC,CAAA;AAED,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAA;AAElC,eAAO,MAAM,UAAU;;+EAAqC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["getTranslation","React","useMemo","useCollapsible","ErrorPill","RenderCustomComponent","FieldDescription","FieldLabel","useFormSubmitted","RenderFields","useField","withCondition","useTranslation","mergeFieldStyles","useRow","fieldBaseClass","useTabs","GroupProvider","useGroup","baseClass","GroupFieldComponent","props","field","name","admin","className","description","hideGutter","fields","label","path","permissions","readOnly","schemaPath","schemaPathFromProps","i18n","isWithinCollapsible","isWithinGroup","isWithinRow","isWithinTab","customComponents","AfterInput","BeforeInput","Description","Label","errorPaths","submitted","errorCount","length","fieldHasErrors","isTopLevel","styles","_jsxs","filter","Boolean","join","id","replace","style","_jsx","CustomComponent","Fallback","as","localized","required","count","withMessage","margins","parentIndexPath","parentPath","parentSchemaPath","GroupField"],"sources":["../../../src/fields/Group/index.tsx"],"sourcesContent":["'use client'\n\nimport type { GroupFieldClientComponent } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useMemo } from 'react'\n\nimport { useCollapsible } from '../../elements/Collapsible/provider.js'\nimport { ErrorPill } from '../../elements/ErrorPill/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { FieldDescription } from '../../fields/FieldDescription/index.js'\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { useFormSubmitted } from '../../forms/Form/context.js'\nimport { RenderFields } from '../../forms/RenderFields/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { mergeFieldStyles } from '../mergeFieldStyles.js'\nimport { useRow } from '../Row/provider.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\nimport { useTabs } from '../Tabs/provider.js'\nimport { GroupProvider, useGroup } from './provider.js'\n\nconst baseClass = 'group-field'\n\nexport const GroupFieldComponent: GroupFieldClientComponent = (props) => {\n const {\n field,\n field: { name, admin: { className, description, hideGutter } = {}, fields, label },\n path,\n permissions,\n readOnly,\n schemaPath: schemaPathFromProps,\n } = props\n const schemaPath = schemaPathFromProps ?? name\n\n const { i18n } = useTranslation()\n const { isWithinCollapsible } = useCollapsible()\n const isWithinGroup = useGroup()\n const isWithinRow = useRow()\n const isWithinTab = useTabs()\n\n const { customComponents: { AfterInput, BeforeInput, Description, Label } = {}, errorPaths } =\n useField({ path })\n\n const submitted = useFormSubmitted()\n const errorCount = errorPaths.length\n const fieldHasErrors = submitted && errorCount > 0\n\n const isTopLevel = !(isWithinCollapsible || isWithinGroup || isWithinRow)\n\n const styles = useMemo(() => mergeFieldStyles(field), [field])\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n isTopLevel && `${baseClass}--top-level`,\n isWithinCollapsible && `${baseClass}--within-collapsible`,\n isWithinGroup && `${baseClass}--within-group`,\n isWithinRow && `${baseClass}--within-row`,\n isWithinTab && `${baseClass}--within-tab`,\n !hideGutter && isWithinGroup && `${baseClass}--gutter`,\n fieldHasErrors && `${baseClass}--has-error`,\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n id={`field-${path?.replace(/\\./g, '__')}`}\n style={styles}\n >\n <GroupProvider>\n <div className={`${baseClass}__wrap`}>\n {Boolean(Label || Description || label || fieldHasErrors) && (\n <div className={`${baseClass}__header`}>\n {Boolean(Label || Description || label) && (\n <header>\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <h3 className={`${baseClass}__title`}>\n <FieldLabel\n as=\"span\"\n label={getTranslation(label, i18n)}\n localized={false}\n path={path}\n required={false}\n />\n </h3>\n }\n />\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </header>\n )}\n {fieldHasErrors && <ErrorPill count={errorCount} i18n={i18n} withMessage />}\n </div>\n )}\n {BeforeInput}\n <RenderFields\n fields={fields}\n margins=\"small\"\n parentIndexPath=\"\"\n parentPath={path}\n parentSchemaPath={schemaPath}\n permissions={permissions === true ? permissions : permissions?.fields}\n readOnly={readOnly}\n />\n </div>\n </GroupProvider>\n {AfterInput}\n </div>\n )\n}\n\nexport { GroupProvider, useGroup }\n\nexport const GroupField = withCondition(GroupFieldComponent)\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["getTranslation","React","useMemo","useCollapsible","ErrorPill","RenderCustomComponent","FieldDescription","FieldLabel","useFormSubmitted","RenderFields","useField","withCondition","useTranslation","mergeFieldStyles","useRow","fieldBaseClass","useTabs","GroupProvider","useGroup","baseClass","GroupFieldComponent","props","field","name","admin","className","description","hideGutter","fields","label","path","permissions","readOnly","schemaPath","schemaPathFromProps","i18n","isWithinCollapsible","isWithinGroup","isWithinRow","isWithinTab","customComponents","AfterInput","BeforeInput","Description","Label","errorPaths","submitted","errorCount","length","fieldHasErrors","isTopLevel","styles","_jsxs","filter","Boolean","join","id","replace","style","_jsx","CustomComponent","Fallback","as","localized","required","count","withMessage","margins","parentIndexPath","parentPath","parentSchemaPath","GroupField"],"sources":["../../../src/fields/Group/index.tsx"],"sourcesContent":["'use client'\n\nimport type { GroupFieldClientComponent } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useMemo } from 'react'\n\nimport { useCollapsible } from '../../elements/Collapsible/provider.js'\nimport { ErrorPill } from '../../elements/ErrorPill/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { FieldDescription } from '../../fields/FieldDescription/index.js'\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { useFormSubmitted } from '../../forms/Form/context.js'\nimport { RenderFields } from '../../forms/RenderFields/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { mergeFieldStyles } from '../mergeFieldStyles.js'\nimport { useRow } from '../Row/provider.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\nimport { useTabs } from '../Tabs/provider.js'\nimport { GroupProvider, useGroup } from './provider.js'\n\nconst baseClass = 'group-field'\n\nexport const GroupFieldComponent: GroupFieldClientComponent = (props) => {\n const {\n field,\n field: { name, admin: { className, description, hideGutter } = {}, fields, label },\n path,\n permissions,\n readOnly,\n schemaPath: schemaPathFromProps,\n } = props\n const schemaPath = schemaPathFromProps ?? name\n\n const { i18n } = useTranslation()\n const { isWithinCollapsible } = useCollapsible()\n const isWithinGroup = useGroup()\n const isWithinRow = useRow()\n const isWithinTab = useTabs()\n const { customComponents: { AfterInput, BeforeInput, Description, Label } = {}, errorPaths } =\n useField({ path })\n const submitted = useFormSubmitted()\n const errorCount = errorPaths.length\n const fieldHasErrors = submitted && errorCount > 0\n\n const isTopLevel = !(isWithinCollapsible || isWithinGroup || isWithinRow)\n\n const styles = useMemo(() => mergeFieldStyles(field), [field])\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n isTopLevel && `${baseClass}--top-level`,\n isWithinCollapsible && `${baseClass}--within-collapsible`,\n isWithinGroup && `${baseClass}--within-group`,\n isWithinRow && `${baseClass}--within-row`,\n isWithinTab && `${baseClass}--within-tab`,\n !hideGutter && isWithinGroup && `${baseClass}--gutter`,\n fieldHasErrors && `${baseClass}--has-error`,\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n id={`field-${path?.replace(/\\./g, '__')}`}\n style={styles}\n >\n <GroupProvider>\n <div className={`${baseClass}__wrap`}>\n {Boolean(Label || Description || label || fieldHasErrors) && (\n <div className={`${baseClass}__header`}>\n {Boolean(Label || Description || label) && (\n <header>\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <h3 className={`${baseClass}__title`}>\n <FieldLabel\n as=\"span\"\n label={getTranslation(label, i18n)}\n localized={false}\n path={path}\n required={false}\n />\n </h3>\n }\n />\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </header>\n )}\n {fieldHasErrors && <ErrorPill count={errorCount} i18n={i18n} withMessage />}\n </div>\n )}\n {BeforeInput}\n <RenderFields\n fields={fields}\n margins=\"small\"\n parentIndexPath=\"\"\n parentPath={path}\n parentSchemaPath={schemaPath}\n permissions={permissions === true ? permissions : permissions?.fields}\n readOnly={readOnly}\n />\n </div>\n </GroupProvider>\n {AfterInput}\n </div>\n )\n}\n\nexport { GroupProvider, useGroup }\n\nexport const GroupField = withCondition(GroupFieldComponent)\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/fields/Group/provider.tsx"],"names":[],"mappings":"AACA,OAAO,KAA6B,MAAM,OAAO,CAAA;AAEjD,eAAO,MAAM,YAAY,wBAAuB,CAAA;AAEhD,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,CAKzF,CAAA;AAED,eAAO,MAAM,QAAQ,QAAO,OAA4B,CAAA"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/fields/Group/provider.tsx"],"names":[],"mappings":"AACA,OAAO,KAAoC,MAAM,OAAO,CAAA;AAExD,eAAO,MAAM,YAAY,wBAAuB,CAAA;AAEhD,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,CAKzF,CAAA;AAED,eAAO,MAAM,QAAQ,QAAO,OAAmC,CAAA"}
@@ -1,16 +1,18 @@
1
1
  'use client';
2
2
 
3
3
  import { jsx as _jsx } from "react/jsx-runtime";
4
- import React, { createContext, use } from 'react';
4
+ import React, { createContext, useContext } from 'react';
5
5
  export const GroupContext = /*#__PURE__*/createContext(false);
6
6
  export const GroupProvider = ({
7
7
  children,
8
8
  withinGroup = true
9
9
  }) => {
10
- return /*#__PURE__*/_jsx(GroupContext, {
10
+ return /*#__PURE__*/_jsx(GroupContext.Provider, {
11
11
  value: withinGroup,
12
12
  children: children
13
13
  });
14
14
  };
15
- export const useGroup = () => use(GroupContext);
15
+ export const useGroup = () => {
16
+ return useContext(GroupContext);
17
+ };
16
18
  //# sourceMappingURL=provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","names":["React","createContext","use","GroupContext","GroupProvider","children","withinGroup","_jsx","value","useGroup"],"sources":["../../../src/fields/Group/provider.tsx"],"sourcesContent":["'use client'\nimport React, { createContext, use } from 'react'\n\nexport const GroupContext = createContext(false)\n\nexport const GroupProvider: React.FC<{ children?: React.ReactNode; withinGroup?: boolean }> = ({\n children,\n withinGroup = true,\n}) => {\n return <GroupContext value={withinGroup}>{children}</GroupContext>\n}\n\nexport const useGroup = (): boolean => use(GroupContext)\n"],"mappings":"AAAA;;;AACA,OAAOA,KAAA,IAASC,aAAa,EAAEC,GAAG,QAAQ;AAE1C,OAAO,MAAMC,YAAA,gBAAeF,aAAA,CAAc;AAE1C,OAAO,MAAMG,aAAA,GAAiFA,CAAC;EAC7FC,QAAQ;EACRC,WAAA,GAAc;AAAI,CACnB;EACC,oBAAOC,IAAA,CAACJ,YAAA;IAAaK,KAAA,EAAOF,WAAA;cAAcD;;AAC5C;AAEA,OAAO,MAAMI,QAAA,GAAWA,CAAA,KAAeP,GAAA,CAAIC,YAAA","ignoreList":[]}
1
+ {"version":3,"file":"provider.js","names":["React","createContext","useContext","GroupContext","GroupProvider","children","withinGroup","_jsx","Provider","value","useGroup"],"sources":["../../../src/fields/Group/provider.tsx"],"sourcesContent":["'use client'\nimport React, { createContext, useContext } from 'react'\n\nexport const GroupContext = createContext(false)\n\nexport const GroupProvider: React.FC<{ children?: React.ReactNode; withinGroup?: boolean }> = ({\n children,\n withinGroup = true,\n}) => {\n return <GroupContext.Provider value={withinGroup}>{children}</GroupContext.Provider>\n}\n\nexport const useGroup = (): boolean => useContext(GroupContext)\n"],"mappings":"AAAA;;;AACA,OAAOA,KAAA,IAASC,aAAa,EAAEC,UAAU,QAAQ;AAEjD,OAAO,MAAMC,YAAA,gBAAeF,aAAA,CAAc;AAE1C,OAAO,MAAMG,aAAA,GAAiFA,CAAC;EAC7FC,QAAQ;EACRC,WAAA,GAAc;AAAI,CACnB;EACC,oBAAOC,IAAA,CAACJ,YAAA,CAAaK,QAAQ;IAACC,KAAA,EAAOH,WAAA;cAAcD;;AACrD;AAEA,OAAO,MAAMK,QAAA,GAAWA,CAAA;EAAA,OAAeR,UAAA,CAAAC,YAAW;AAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/JSON/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAoD,MAAM,OAAO,CAAA;AAWxE,OAAO,cAAc,CAAA;AA8JrB,eAAO,MAAM,SAAS;;;;;+EAAoC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/JSON/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAoD,MAAM,OAAO,CAAA;AAWxE,OAAO,cAAc,CAAA;AA4JrB,eAAO,MAAM,SAAS;;;;;+EAAoC,CAAA"}
@@ -52,7 +52,6 @@ const JSONFieldComponent = props => {
52
52
  Error,
53
53
  Label
54
54
  } = {},
55
- disabled,
56
55
  initialValue,
57
56
  setValue,
58
57
  showError,
@@ -76,7 +75,7 @@ const JSONFieldComponent = props => {
76
75
  editor.setModel(monaco.editor.createModel(JSON.stringify(value_0, null, 2), 'json', monaco.Uri.parse(newUri)));
77
76
  }, [jsonSchema, value_0]);
78
77
  const handleChange = useCallback(val => {
79
- if (readOnly || disabled) {
78
+ if (readOnly) {
80
79
  return;
81
80
  }
82
81
  inputChangeFromRef.current = 'user';
@@ -87,7 +86,7 @@ const JSONFieldComponent = props => {
87
86
  setValue(val ? val : null);
88
87
  setJsonError(e);
89
88
  }
90
- }, [readOnly, disabled, setValue]);
89
+ }, [readOnly, setValue]);
91
90
  useEffect(() => {
92
91
  if (inputChangeFromRef.current === 'system') {
93
92
  setInitialStringValue((value_0 || initialValue) !== undefined ? JSON.stringify(value_0 ?? initialValue, null, 2) : undefined);
@@ -97,7 +96,7 @@ const JSONFieldComponent = props => {
97
96
  }, [initialValue, value_0]);
98
97
  const styles = useMemo(() => mergeFieldStyles(field), [field]);
99
98
  return /*#__PURE__*/_jsxs("div", {
100
- className: [fieldBaseClass, baseClass, className, showError && 'error', (readOnly || disabled) && 'read-only'].filter(Boolean).join(' '),
99
+ className: [fieldBaseClass, baseClass, className, showError && 'error', readOnly && 'read-only'].filter(Boolean).join(' '),
101
100
  style: styles,
102
101
  children: [/*#__PURE__*/_jsx(RenderCustomComponent, {
103
102
  CustomComponent: Label,
@@ -122,7 +121,7 @@ const JSONFieldComponent = props => {
122
121
  onChange: handleChange,
123
122
  onMount: handleMount,
124
123
  options: editorOptions,
125
- readOnly: readOnly || disabled,
124
+ readOnly: readOnly,
126
125
  value: initialStringValue,
127
126
  wrapperProps: {
128
127
  id: `field-${path?.replace(/\./g, '__')}`
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useCallback","useEffect","useMemo","useState","CodeEditor","RenderCustomComponent","useField","withCondition","FieldDescription","FieldError","FieldLabel","mergeFieldStyles","fieldBaseClass","baseClass","JSONFieldComponent","props","field","admin","className","description","editorOptions","maxHeight","jsonSchema","label","localized","required","path","readOnly","validate","jsonError","setJsonError","inputChangeFromRef","useRef","editorKey","setEditorKey","memoizedValidate","value","options","customComponents","AfterInput","BeforeInput","Description","Error","Label","disabled","initialValue","setValue","showError","initialStringValue","setInitialStringValue","undefined","JSON","stringify","handleMount","editor","monaco","languages","json","jsonDefaults","setDiagnosticsOptions","enableSchemaRequest","schemas","diagnosticsOptions","uri","newUri","includes","crypto","randomUUID","setModel","createModel","Uri","parse","handleChange","val","current","e","Date","toString","styles","_jsxs","filter","Boolean","join","style","_jsx","CustomComponent","Fallback","message","defaultLanguage","onChange","onMount","wrapperProps","id","replace","JSONField"],"sources":["../../../src/fields/JSON/index.tsx"],"sourcesContent":["'use client'\nimport type { JSONFieldClientComponent } from 'payload'\n\nimport { type OnMount } from '@monaco-editor/react'\nimport React, { useCallback, useEffect, useMemo, useState } from 'react'\n\nimport { CodeEditor } from '../../elements/CodeEditor/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldError } from '../FieldError/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { mergeFieldStyles } from '../mergeFieldStyles.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nconst baseClass = 'json-field'\n\nconst JSONFieldComponent: JSONFieldClientComponent = (props) => {\n const {\n field,\n field: {\n admin: { className, description, editorOptions, maxHeight } = {},\n jsonSchema,\n label,\n localized,\n required,\n },\n path,\n readOnly,\n validate,\n } = props\n\n const [jsonError, setJsonError] = useState<string>()\n const inputChangeFromRef = React.useRef<'system' | 'user'>('system')\n const [editorKey, setEditorKey] = useState<string>('')\n\n const memoizedValidate = useCallback(\n (value, options) => {\n if (typeof validate === 'function') {\n return validate(value, { ...options, jsonError, required })\n }\n },\n [validate, required, jsonError],\n )\n\n const {\n customComponents: { AfterInput, BeforeInput, Description, Error, Label } = {},\n disabled,\n initialValue,\n setValue,\n showError,\n value,\n } = useField<string>({\n path,\n validate: memoizedValidate,\n })\n\n const [initialStringValue, setInitialStringValue] = useState<string | undefined>(() =>\n (value || initialValue) !== undefined\n ? JSON.stringify(value ?? initialValue, null, 2)\n : undefined,\n )\n\n const handleMount = useCallback<OnMount>(\n (editor, monaco) => {\n if (!jsonSchema) {\n return\n }\n\n monaco.languages.json.jsonDefaults.setDiagnosticsOptions({\n enableSchemaRequest: true,\n schemas: [\n ...(monaco.languages.json.jsonDefaults.diagnosticsOptions.schemas || []),\n jsonSchema,\n ],\n validate: true,\n })\n\n const uri = jsonSchema.uri\n const newUri = uri.includes('?')\n ? `${uri}&${crypto.randomUUID()}`\n : `${uri}?${crypto.randomUUID()}`\n\n editor.setModel(\n monaco.editor.createModel(JSON.stringify(value, null, 2), 'json', monaco.Uri.parse(newUri)),\n )\n },\n [jsonSchema, value],\n )\n\n const handleChange = useCallback(\n (val) => {\n if (readOnly || disabled) {\n return\n }\n inputChangeFromRef.current = 'user'\n\n try {\n setValue(val ? JSON.parse(val) : null)\n setJsonError(undefined)\n } catch (e) {\n setValue(val ? val : null)\n setJsonError(e)\n }\n },\n [readOnly, disabled, setValue],\n )\n\n useEffect(() => {\n if (inputChangeFromRef.current === 'system') {\n setInitialStringValue(\n (value || initialValue) !== undefined\n ? JSON.stringify(value ?? initialValue, null, 2)\n : undefined,\n )\n setEditorKey(new Date().toString())\n }\n\n inputChangeFromRef.current = 'system'\n }, [initialValue, value])\n\n const styles = useMemo(() => mergeFieldStyles(field), [field])\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n showError && 'error',\n (readOnly || disabled) && 'read-only',\n ]\n .filter(Boolean)\n .join(' ')}\n style={styles}\n >\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <FieldLabel label={label} localized={localized} path={path} required={required} />\n }\n />\n <div className={`${fieldBaseClass}__wrap`}>\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError message={jsonError} path={path} showError={showError} />}\n />\n {BeforeInput}\n <CodeEditor\n defaultLanguage=\"json\"\n key={editorKey}\n maxHeight={maxHeight}\n onChange={handleChange}\n onMount={handleMount}\n options={editorOptions}\n readOnly={readOnly || disabled}\n value={initialStringValue}\n wrapperProps={{\n id: `field-${path?.replace(/\\./g, '__')}`,\n }}\n />\n {AfterInput}\n </div>\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </div>\n )\n}\n\nexport const JSONField = withCondition(JSONFieldComponent)\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","useCallback","useEffect","useMemo","useState","CodeEditor","RenderCustomComponent","useField","withCondition","FieldDescription","FieldError","FieldLabel","mergeFieldStyles","fieldBaseClass","baseClass","JSONFieldComponent","props","field","admin","className","description","editorOptions","maxHeight","jsonSchema","label","localized","required","path","readOnly","validate","jsonError","setJsonError","inputChangeFromRef","useRef","editorKey","setEditorKey","memoizedValidate","value","options","customComponents","AfterInput","BeforeInput","Description","Error","Label","initialValue","setValue","showError","initialStringValue","setInitialStringValue","undefined","JSON","stringify","handleMount","editor","monaco","languages","json","jsonDefaults","setDiagnosticsOptions","enableSchemaRequest","schemas","diagnosticsOptions","uri","newUri","includes","crypto","randomUUID","setModel","createModel","Uri","parse","handleChange","val","current","e","Date","toString","styles","_jsxs","filter","Boolean","join","style","_jsx","CustomComponent","Fallback","message","defaultLanguage","onChange","onMount","wrapperProps","id","replace","JSONField"],"sources":["../../../src/fields/JSON/index.tsx"],"sourcesContent":["'use client'\nimport type { JSONFieldClientComponent } from 'payload'\n\nimport { type OnMount } from '@monaco-editor/react'\nimport React, { useCallback, useEffect, useMemo, useState } from 'react'\n\nimport { CodeEditor } from '../../elements/CodeEditor/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldError } from '../FieldError/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { mergeFieldStyles } from '../mergeFieldStyles.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nconst baseClass = 'json-field'\n\nconst JSONFieldComponent: JSONFieldClientComponent = (props) => {\n const {\n field,\n field: {\n admin: { className, description, editorOptions, maxHeight } = {},\n jsonSchema,\n label,\n localized,\n required,\n },\n path,\n readOnly,\n validate,\n } = props\n const [jsonError, setJsonError] = useState<string>()\n const inputChangeFromRef = React.useRef<'system' | 'user'>('system')\n const [editorKey, setEditorKey] = useState<string>('')\n\n const memoizedValidate = useCallback(\n (value, options) => {\n if (typeof validate === 'function') {\n return validate(value, { ...options, jsonError, required })\n }\n },\n [validate, required, jsonError],\n )\n\n const {\n customComponents: { AfterInput, BeforeInput, Description, Error, Label } = {},\n initialValue,\n setValue,\n showError,\n value,\n } = useField<string>({\n path,\n validate: memoizedValidate,\n })\n\n const [initialStringValue, setInitialStringValue] = useState<string | undefined>(() =>\n (value || initialValue) !== undefined\n ? JSON.stringify(value ?? initialValue, null, 2)\n : undefined,\n )\n\n const handleMount = useCallback<OnMount>(\n (editor, monaco) => {\n if (!jsonSchema) {\n return\n }\n\n monaco.languages.json.jsonDefaults.setDiagnosticsOptions({\n enableSchemaRequest: true,\n schemas: [\n ...(monaco.languages.json.jsonDefaults.diagnosticsOptions.schemas || []),\n jsonSchema,\n ],\n validate: true,\n })\n\n const uri = jsonSchema.uri\n const newUri = uri.includes('?')\n ? `${uri}&${crypto.randomUUID()}`\n : `${uri}?${crypto.randomUUID()}`\n\n editor.setModel(\n monaco.editor.createModel(JSON.stringify(value, null, 2), 'json', monaco.Uri.parse(newUri)),\n )\n },\n [jsonSchema, value],\n )\n\n const handleChange = useCallback(\n (val) => {\n if (readOnly) {\n return\n }\n inputChangeFromRef.current = 'user'\n\n try {\n setValue(val ? JSON.parse(val) : null)\n setJsonError(undefined)\n } catch (e) {\n setValue(val ? val : null)\n setJsonError(e)\n }\n },\n [readOnly, setValue],\n )\n\n useEffect(() => {\n if (inputChangeFromRef.current === 'system') {\n setInitialStringValue(\n (value || initialValue) !== undefined\n ? JSON.stringify(value ?? initialValue, null, 2)\n : undefined,\n )\n setEditorKey(new Date().toString())\n }\n\n inputChangeFromRef.current = 'system'\n }, [initialValue, value])\n\n const styles = useMemo(() => mergeFieldStyles(field), [field])\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={styles}\n >\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <FieldLabel label={label} localized={localized} path={path} required={required} />\n }\n />\n <div className={`${fieldBaseClass}__wrap`}>\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError message={jsonError} path={path} showError={showError} />}\n />\n {BeforeInput}\n <CodeEditor\n defaultLanguage=\"json\"\n key={editorKey}\n maxHeight={maxHeight}\n onChange={handleChange}\n onMount={handleMount}\n options={editorOptions}\n readOnly={readOnly}\n value={initialStringValue}\n wrapperProps={{\n id: `field-${path?.replace(/\\./g, '__')}`,\n }}\n />\n {AfterInput}\n </div>\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </div>\n )\n}\n\nexport const JSONField = withCondition(JSONFieldComponent)\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Number/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAoD,MAAM,OAAO,CAAA;AAaxE,OAAO,cAAc,CAAA;AA+LrB,eAAO,MAAM,WAAW;;;;;;+EAAsC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Number/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAoD,MAAM,OAAO,CAAA;AAaxE,OAAO,cAAc,CAAA;AA8LrB,eAAO,MAAM,WAAW;;;;;;+EAAsC,CAAA"}
@@ -60,7 +60,6 @@ const NumberFieldComponent = props => {
60
60
  Error,
61
61
  Label
62
62
  } = {},
63
- disabled,
64
63
  setValue,
65
64
  showError,
66
65
  value: value_0
@@ -82,7 +81,7 @@ const NumberFieldComponent = props => {
82
81
  const [valueToRender, setValueToRender] = useState([]) // Only for hasMany
83
82
  ;
84
83
  const handleHasManyChange = useCallback(selectedOption => {
85
- if (!(readOnly || disabled)) {
84
+ if (!readOnly) {
86
85
  let newValue;
87
86
  if (!selectedOption) {
88
87
  newValue = [];
@@ -93,7 +92,7 @@ const NumberFieldComponent = props => {
93
92
  }
94
93
  setValue(newValue);
95
94
  }
96
- }, [readOnly, disabled, setValue]);
95
+ }, [readOnly, setValue]);
97
96
  // useEffect update valueToRender:
98
97
  useEffect(() => {
99
98
  if (hasMany && Array.isArray(value_0)) {
@@ -111,7 +110,7 @@ const NumberFieldComponent = props => {
111
110
  }, [value_0, hasMany]);
112
111
  const styles = useMemo(() => mergeFieldStyles(field), [field]);
113
112
  return /*#__PURE__*/_jsxs("div", {
114
- className: [fieldBaseClass, 'number', className, showError && 'error', (readOnly || disabled) && 'read-only', hasMany && 'has-many'].filter(Boolean).join(' '),
113
+ className: [fieldBaseClass, 'number', className, showError && 'error', readOnly && 'read-only', hasMany && 'has-many'].filter(Boolean).join(' '),
115
114
  style: styles,
116
115
  children: [/*#__PURE__*/_jsx(RenderCustomComponent, {
117
116
  CustomComponent: Label,
@@ -131,7 +130,7 @@ const NumberFieldComponent = props => {
131
130
  })
132
131
  }), BeforeInput, hasMany ? /*#__PURE__*/_jsx(ReactSelect, {
133
132
  className: `field-${path.replace(/\./g, '__')}`,
134
- disabled: readOnly || disabled,
133
+ disabled: readOnly,
135
134
  filterOption: (_, rawInput) => {
136
135
  const isOverHasMany = Array.isArray(value_0) && value_0.length >= maxRows;
137
136
  return isNumber(rawInput) && !isOverHasMany;
@@ -158,7 +157,7 @@ const NumberFieldComponent = props => {
158
157
  value: valueToRender
159
158
  }) : /*#__PURE__*/_jsx("div", {
160
159
  children: /*#__PURE__*/_jsx("input", {
161
- disabled: readOnly || disabled,
160
+ disabled: readOnly,
162
161
  id: `field-${path.replace(/\./g, '__')}`,
163
162
  max: max,
164
163
  min: min,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["getTranslation","isNumber","React","useCallback","useEffect","useMemo","useState","ReactSelect","RenderCustomComponent","useField","withCondition","useTranslation","FieldDescription","FieldError","FieldLabel","mergeFieldStyles","fieldBaseClass","NumberFieldComponent","props","field","admin","className","description","placeholder","step","hasMany","label","localized","max","Infinity","maxRows","min","required","onChange","onChangeFromProps","path","readOnly","validate","i18n","t","memoizedValidate","value","options","customComponents","AfterInput","BeforeInput","Description","Error","Label","disabled","setValue","showError","handleChange","e","val","parseFloat","target","newVal","Number","isNaN","valueToRender","setValueToRender","handleHasManyChange","selectedOption","newValue","Array","isArray","map","option","index","id","toString","styles","_jsxs","filter","Boolean","join","style","_jsx","CustomComponent","Fallback","replace","filterOption","_","rawInput","isOverHasMany","length","isClearable","isCreatable","isMulti","isSortable","noOptionsMessage","name","onWheel","blur","type","NumberField"],"sources":["../../../src/fields/Number/index.tsx"],"sourcesContent":["'use client'\nimport type { NumberFieldClientComponent, NumberFieldClientProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { isNumber } from 'payload/shared'\nimport React, { useCallback, useEffect, useMemo, useState } from 'react'\n\nimport type { Option } from '../../elements/ReactSelect/types.js'\n\nimport { ReactSelect } from '../../elements/ReactSelect/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldError } from '../FieldError/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { mergeFieldStyles } from '../mergeFieldStyles.js'\nimport './index.scss'\nimport { fieldBaseClass } from '../shared/index.js'\n\nconst NumberFieldComponent: NumberFieldClientComponent = (props) => {\n const {\n field,\n field: {\n admin: {\n className,\n description,\n placeholder,\n step = 1,\n } = {} as NumberFieldClientProps['field']['admin'],\n hasMany = false,\n label,\n localized,\n max = Infinity,\n maxRows = Infinity,\n min = -Infinity,\n required,\n },\n onChange: onChangeFromProps,\n path,\n readOnly,\n validate,\n } = props\n\n const { i18n, t } = useTranslation()\n\n const memoizedValidate = useCallback(\n (value, options) => {\n if (typeof validate === 'function') {\n return validate(value, { ...options, max, min, required })\n }\n },\n [validate, min, max, required],\n )\n\n const {\n customComponents: { AfterInput, BeforeInput, Description, Error, Label } = {},\n disabled,\n setValue,\n showError,\n value,\n } = useField<number | number[]>({\n path,\n validate: memoizedValidate,\n })\n\n const handleChange = useCallback(\n (e) => {\n const val = parseFloat(e.target.value)\n let newVal = val\n\n if (Number.isNaN(val)) {\n newVal = null\n }\n\n if (typeof onChangeFromProps === 'function') {\n onChangeFromProps(newVal)\n }\n\n setValue(newVal)\n },\n [onChangeFromProps, setValue],\n )\n\n const [valueToRender, setValueToRender] = useState<\n { id: string; label: string; value: { value: number } }[]\n >([]) // Only for hasMany\n\n const handleHasManyChange = useCallback(\n (selectedOption) => {\n if (!(readOnly || disabled)) {\n let newValue\n if (!selectedOption) {\n newValue = []\n } else if (Array.isArray(selectedOption)) {\n newValue = selectedOption.map((option) => Number(option.value?.value || option.value))\n } else {\n newValue = [Number(selectedOption.value?.value || selectedOption.value)]\n }\n\n setValue(newValue)\n }\n },\n [readOnly, disabled, setValue],\n )\n\n // useEffect update valueToRender:\n useEffect(() => {\n if (hasMany && Array.isArray(value)) {\n setValueToRender(\n value.map((val, index) => {\n return {\n id: `${val}${index}`, // append index to avoid duplicate keys but allow duplicate numbers\n label: `${val}`,\n value: {\n toString: () => `${val}${index}`,\n value: (val as unknown as Record<string, number>)?.value || val,\n }, // You're probably wondering, why the hell is this done that way? Well, React-select automatically uses \"label-value\" as a key, so we will get that react duplicate key warning if we just pass in the value as multiple values can be the same. So we need to append the index to the toString() of the value to avoid that warning, as it uses that as the key.\n }\n }),\n )\n }\n }, [value, hasMany])\n\n const styles = useMemo(() => mergeFieldStyles(field), [field])\n\n return (\n <div\n className={[\n fieldBaseClass,\n 'number',\n className,\n showError && 'error',\n (readOnly || disabled) && 'read-only',\n hasMany && 'has-many',\n ]\n .filter(Boolean)\n .join(' ')}\n style={styles}\n >\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <FieldLabel label={label} localized={localized} path={path} required={required} />\n }\n />\n <div className={`${fieldBaseClass}__wrap`}>\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError path={path} showError={showError} />}\n />\n {BeforeInput}\n {hasMany ? (\n <ReactSelect\n className={`field-${path.replace(/\\./g, '__')}`}\n disabled={readOnly || disabled}\n filterOption={(_, rawInput) => {\n const isOverHasMany = Array.isArray(value) && value.length >= maxRows\n return isNumber(rawInput) && !isOverHasMany\n }}\n isClearable\n isCreatable\n isMulti\n isSortable\n noOptionsMessage={() => {\n const isOverHasMany = Array.isArray(value) && value.length >= maxRows\n if (isOverHasMany) {\n return t('validation:limitReached', { max: maxRows, value: value.length + 1 })\n }\n return null\n }}\n // numberOnly\n onChange={handleHasManyChange}\n options={[]}\n placeholder={t('general:enterAValue')}\n showError={showError}\n value={valueToRender as Option[]}\n />\n ) : (\n <div>\n <input\n disabled={readOnly || disabled}\n id={`field-${path.replace(/\\./g, '__')}`}\n max={max}\n min={min}\n name={path}\n onChange={handleChange}\n onWheel={(e) => {\n // @ts-expect-error\n e.target.blur()\n }}\n placeholder={getTranslation(placeholder, i18n)}\n step={step}\n type=\"number\"\n value={typeof value === 'number' ? value : ''}\n />\n </div>\n )}\n {AfterInput}\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </div>\n </div>\n )\n}\n\nexport const NumberField = withCondition(NumberFieldComponent)\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["getTranslation","isNumber","React","useCallback","useEffect","useMemo","useState","ReactSelect","RenderCustomComponent","useField","withCondition","useTranslation","FieldDescription","FieldError","FieldLabel","mergeFieldStyles","fieldBaseClass","NumberFieldComponent","props","field","admin","className","description","placeholder","step","hasMany","label","localized","max","Infinity","maxRows","min","required","onChange","onChangeFromProps","path","readOnly","validate","i18n","t","memoizedValidate","value","options","customComponents","AfterInput","BeforeInput","Description","Error","Label","setValue","showError","handleChange","e","val","parseFloat","target","newVal","Number","isNaN","valueToRender","setValueToRender","handleHasManyChange","selectedOption","newValue","Array","isArray","map","option","index","id","toString","styles","_jsxs","filter","Boolean","join","style","_jsx","CustomComponent","Fallback","replace","disabled","filterOption","_","rawInput","isOverHasMany","length","isClearable","isCreatable","isMulti","isSortable","noOptionsMessage","name","onWheel","blur","type","NumberField"],"sources":["../../../src/fields/Number/index.tsx"],"sourcesContent":["'use client'\nimport type { NumberFieldClientComponent, NumberFieldClientProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { isNumber } from 'payload/shared'\nimport React, { useCallback, useEffect, useMemo, useState } from 'react'\n\nimport type { Option } from '../../elements/ReactSelect/types.js'\n\nimport { ReactSelect } from '../../elements/ReactSelect/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldError } from '../FieldError/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { mergeFieldStyles } from '../mergeFieldStyles.js'\nimport './index.scss'\nimport { fieldBaseClass } from '../shared/index.js'\n\nconst NumberFieldComponent: NumberFieldClientComponent = (props) => {\n const {\n field,\n field: {\n admin: {\n className,\n description,\n placeholder,\n step = 1,\n } = {} as NumberFieldClientProps['field']['admin'],\n hasMany = false,\n label,\n localized,\n max = Infinity,\n maxRows = Infinity,\n min = -Infinity,\n required,\n },\n onChange: onChangeFromProps,\n path,\n readOnly,\n validate,\n } = props\n\n const { i18n, t } = useTranslation()\n\n const memoizedValidate = useCallback(\n (value, options) => {\n if (typeof validate === 'function') {\n return validate(value, { ...options, max, min, required })\n }\n },\n [validate, min, max, required],\n )\n\n const {\n customComponents: { AfterInput, BeforeInput, Description, Error, Label } = {},\n setValue,\n showError,\n value,\n } = useField<number | number[]>({\n path,\n validate: memoizedValidate,\n })\n\n const handleChange = useCallback(\n (e) => {\n const val = parseFloat(e.target.value)\n let newVal = val\n\n if (Number.isNaN(val)) {\n newVal = null\n }\n\n if (typeof onChangeFromProps === 'function') {\n onChangeFromProps(newVal)\n }\n\n setValue(newVal)\n },\n [onChangeFromProps, setValue],\n )\n\n const [valueToRender, setValueToRender] = useState<\n { id: string; label: string; value: { value: number } }[]\n >([]) // Only for hasMany\n\n const handleHasManyChange = useCallback(\n (selectedOption) => {\n if (!readOnly) {\n let newValue\n if (!selectedOption) {\n newValue = []\n } else if (Array.isArray(selectedOption)) {\n newValue = selectedOption.map((option) => Number(option.value?.value || option.value))\n } else {\n newValue = [Number(selectedOption.value?.value || selectedOption.value)]\n }\n\n setValue(newValue)\n }\n },\n [readOnly, setValue],\n )\n\n // useEffect update valueToRender:\n useEffect(() => {\n if (hasMany && Array.isArray(value)) {\n setValueToRender(\n value.map((val, index) => {\n return {\n id: `${val}${index}`, // append index to avoid duplicate keys but allow duplicate numbers\n label: `${val}`,\n value: {\n toString: () => `${val}${index}`,\n value: (val as unknown as Record<string, number>)?.value || val,\n }, // You're probably wondering, why the hell is this done that way? Well, React-select automatically uses \"label-value\" as a key, so we will get that react duplicate key warning if we just pass in the value as multiple values can be the same. So we need to append the index to the toString() of the value to avoid that warning, as it uses that as the key.\n }\n }),\n )\n }\n }, [value, hasMany])\n\n const styles = useMemo(() => mergeFieldStyles(field), [field])\n\n return (\n <div\n className={[\n fieldBaseClass,\n 'number',\n className,\n showError && 'error',\n readOnly && 'read-only',\n hasMany && 'has-many',\n ]\n .filter(Boolean)\n .join(' ')}\n style={styles}\n >\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <FieldLabel label={label} localized={localized} path={path} required={required} />\n }\n />\n <div className={`${fieldBaseClass}__wrap`}>\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError path={path} showError={showError} />}\n />\n {BeforeInput}\n {hasMany ? (\n <ReactSelect\n className={`field-${path.replace(/\\./g, '__')}`}\n disabled={readOnly}\n filterOption={(_, rawInput) => {\n const isOverHasMany = Array.isArray(value) && value.length >= maxRows\n return isNumber(rawInput) && !isOverHasMany\n }}\n isClearable\n isCreatable\n isMulti\n isSortable\n noOptionsMessage={() => {\n const isOverHasMany = Array.isArray(value) && value.length >= maxRows\n if (isOverHasMany) {\n return t('validation:limitReached', { max: maxRows, value: value.length + 1 })\n }\n return null\n }}\n // numberOnly\n onChange={handleHasManyChange}\n options={[]}\n placeholder={t('general:enterAValue')}\n showError={showError}\n value={valueToRender as Option[]}\n />\n ) : (\n <div>\n <input\n disabled={readOnly}\n id={`field-${path.replace(/\\./g, '__')}`}\n max={max}\n min={min}\n name={path}\n onChange={handleChange}\n onWheel={(e) => {\n // @ts-expect-error\n e.target.blur()\n }}\n placeholder={getTranslation(placeholder, i18n)}\n step={step}\n type=\"number\"\n value={typeof value === 'number' ? value : ''}\n />\n </div>\n )}\n {AfterInput}\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </div>\n </div>\n )\n}\n\nexport const NumberField = withCondition(NumberFieldComponent)\n"],"mappings":"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","ignoreList":[]}