@payloadcms/ui 3.0.0-canary.ac498e7 → 3.0.0-canary.b6520aa

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 (319) hide show
  1. package/dist/elements/ArrayAction/index.scss +0 -13
  2. package/dist/elements/Banner/index.scss +1 -1
  3. package/dist/elements/Button/index.js +1 -1
  4. package/dist/elements/Button/index.js.map +1 -1
  5. package/dist/elements/Button/index.scss +112 -118
  6. package/dist/elements/Button/types.d.ts +1 -1
  7. package/dist/elements/Button/types.d.ts.map +1 -1
  8. package/dist/elements/Button/types.js.map +1 -1
  9. package/dist/elements/Card/index.scss +38 -9
  10. package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
  11. package/dist/elements/CodeEditor/CodeEditor.js +2 -1
  12. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  13. package/dist/elements/Collapsible/index.scss +61 -30
  14. package/dist/elements/ColumnSelector/index.scss +20 -2
  15. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  16. package/dist/elements/DeleteMany/index.js +4 -2
  17. package/dist/elements/DeleteMany/index.js.map +1 -1
  18. package/dist/elements/DocumentControls/index.scss +2 -2
  19. package/dist/elements/DocumentDrawer/index.scss +4 -6
  20. package/dist/elements/DraggableSortable/DraggableSortableItem/index.d.ts.map +1 -1
  21. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +4 -2
  22. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
  23. package/dist/elements/DraggableSortable/useDraggableSortable/index.d.ts.map +1 -1
  24. package/dist/elements/DraggableSortable/useDraggableSortable/index.js +10 -4
  25. package/dist/elements/DraggableSortable/useDraggableSortable/index.js.map +1 -1
  26. package/dist/elements/DraggableSortable/useDraggableSortable/types.d.ts +1 -0
  27. package/dist/elements/DraggableSortable/useDraggableSortable/types.d.ts.map +1 -1
  28. package/dist/elements/DraggableSortable/useDraggableSortable/types.js.map +1 -1
  29. package/dist/elements/Drawer/index.d.ts.map +1 -1
  30. package/dist/elements/Drawer/index.js +3 -0
  31. package/dist/elements/Drawer/index.js.map +1 -1
  32. package/dist/elements/Drawer/index.scss +13 -8
  33. package/dist/elements/Dropzone/index.js +2 -2
  34. package/dist/elements/Dropzone/index.js.map +1 -1
  35. package/dist/elements/Dropzone/index.scss +7 -3
  36. package/dist/elements/EditMany/index.scss +2 -2
  37. package/dist/elements/EditUpload/index.scss +4 -1
  38. package/dist/elements/FileDetails/FileMeta/index.scss +1 -0
  39. package/dist/elements/FileDetails/index.d.ts.map +1 -1
  40. package/dist/elements/FileDetails/index.js +3 -1
  41. package/dist/elements/FileDetails/index.js.map +1 -1
  42. package/dist/elements/FileDetails/index.scss +28 -12
  43. package/dist/elements/Hamburger/index.d.ts.map +1 -1
  44. package/dist/elements/Hamburger/index.js +17 -41
  45. package/dist/elements/Hamburger/index.js.map +1 -1
  46. package/dist/elements/Hamburger/index.scss +22 -102
  47. package/dist/elements/IDLabel/index.js +1 -1
  48. package/dist/elements/IDLabel/index.js.map +1 -1
  49. package/dist/elements/IDLabel/index.scss +2 -2
  50. package/dist/elements/ListControls/index.d.ts.map +1 -1
  51. package/dist/elements/ListControls/index.js +5 -1
  52. package/dist/elements/ListControls/index.js.map +1 -1
  53. package/dist/elements/ListControls/index.scss +6 -12
  54. package/dist/elements/Logout/index.d.ts.map +1 -1
  55. package/dist/elements/Logout/index.js +2 -0
  56. package/dist/elements/Logout/index.js.map +1 -1
  57. package/dist/elements/NavGroup/index.scss +2 -2
  58. package/dist/elements/Pill/index.d.ts.map +1 -1
  59. package/dist/elements/Pill/index.js +1 -5
  60. package/dist/elements/Pill/index.js.map +1 -1
  61. package/dist/elements/Pill/index.scss +8 -21
  62. package/dist/elements/Popup/index.scss +6 -0
  63. package/dist/elements/PreviewButton/index.d.ts.map +1 -1
  64. package/dist/elements/PreviewButton/index.js +3 -1
  65. package/dist/elements/PreviewButton/index.js.map +1 -1
  66. package/dist/elements/PublishButton/index.js +1 -1
  67. package/dist/elements/PublishButton/index.js.map +1 -1
  68. package/dist/elements/ReactSelect/MultiValue/index.scss +25 -3
  69. package/dist/elements/ReactSelect/MultiValueLabel/index.scss +1 -1
  70. package/dist/elements/ReactSelect/MultiValueRemove/index.scss +3 -3
  71. package/dist/elements/ReactSelect/ValueContainer/index.scss +5 -12
  72. package/dist/elements/ReactSelect/index.scss +2 -3
  73. package/dist/elements/RenderTitle/index.scss +1 -1
  74. package/dist/elements/SaveButton/index.d.ts.map +1 -1
  75. package/dist/elements/SaveButton/index.js +4 -2
  76. package/dist/elements/SaveButton/index.js.map +1 -1
  77. package/dist/elements/SaveDraftButton/index.d.ts.map +1 -1
  78. package/dist/elements/SaveDraftButton/index.js +4 -2
  79. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  80. package/dist/elements/SearchFilter/index.d.ts.map +1 -1
  81. package/dist/elements/SearchFilter/index.js +11 -15
  82. package/dist/elements/SearchFilter/index.js.map +1 -1
  83. package/dist/elements/SearchFilter/index.scss +2 -1
  84. package/dist/elements/SelectRow/index.scss +1 -0
  85. package/dist/elements/SortColumn/index.js +4 -4
  86. package/dist/elements/SortColumn/index.js.map +1 -1
  87. package/dist/elements/StayLoggedIn/index.d.ts.map +1 -1
  88. package/dist/elements/StayLoggedIn/index.js +2 -0
  89. package/dist/elements/StayLoggedIn/index.js.map +1 -1
  90. package/dist/elements/Table/DefaultCell/fields/Code/index.scss +1 -1
  91. package/dist/elements/Table/DefaultCell/fields/JSON/index.scss +1 -1
  92. package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts.map +1 -1
  93. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +19 -3
  94. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  95. package/dist/elements/Table/index.scss +10 -1
  96. package/dist/elements/ThumbnailCard/index.scss +10 -1
  97. package/dist/elements/Upload/index.scss +2 -1
  98. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  99. package/dist/elements/WhereBuilder/Condition/index.js +8 -2
  100. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  101. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  102. package/dist/elements/WhereBuilder/index.js +7 -4
  103. package/dist/elements/WhereBuilder/index.js.map +1 -1
  104. package/dist/exports/client/{CodeEditor-OI35YO7H.js → CodeEditor-UPOVAXRP.js} +2 -2
  105. package/dist/exports/client/{CodeEditor-OI35YO7H.js.map → CodeEditor-UPOVAXRP.js.map} +2 -2
  106. package/dist/exports/client/{DatePicker-5IFHNQHA.js → DatePicker-XJHHMZP7.js} +2 -2
  107. package/dist/exports/client/chunk-TIH7OFW3.js +30 -0
  108. package/dist/exports/client/{chunk-WDFUZ6GL.js.map → chunk-TIH7OFW3.js.map} +2 -2
  109. package/dist/exports/client/index.d.ts +1 -0
  110. package/dist/exports/client/index.d.ts.map +1 -1
  111. package/dist/exports/client/index.js +27 -26
  112. package/dist/exports/client/index.js.map +4 -4
  113. package/dist/exports/shared/index.js +1 -1
  114. package/dist/exports/shared/index.js.map +3 -3
  115. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  116. package/dist/fields/Array/ArrayRow.js +4 -2
  117. package/dist/fields/Array/ArrayRow.js.map +1 -1
  118. package/dist/fields/Array/index.d.ts +1 -1
  119. package/dist/fields/Array/index.d.ts.map +1 -1
  120. package/dist/fields/Array/index.js +22 -7
  121. package/dist/fields/Array/index.js.map +1 -1
  122. package/dist/fields/Array/index.scss +3 -1
  123. package/dist/fields/Blocks/BlocksDrawer/BlockSearch/index.scss +3 -4
  124. package/dist/fields/Blocks/SectionTitle/index.scss +1 -0
  125. package/dist/fields/Blocks/index.d.ts.map +1 -1
  126. package/dist/fields/Blocks/index.js +20 -7
  127. package/dist/fields/Blocks/index.js.map +1 -1
  128. package/dist/fields/Checkbox/index.d.ts.map +1 -1
  129. package/dist/fields/Checkbox/index.js.map +1 -1
  130. package/dist/fields/Checkbox/index.scss +7 -8
  131. package/dist/fields/Code/index.scss +6 -0
  132. package/dist/fields/ConfirmPassword/index.d.ts +1 -0
  133. package/dist/fields/ConfirmPassword/index.d.ts.map +1 -1
  134. package/dist/fields/ConfirmPassword/index.js +12 -19
  135. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  136. package/dist/fields/DateTime/index.d.ts.map +1 -1
  137. package/dist/fields/DateTime/index.js.map +1 -1
  138. package/dist/fields/Email/index.d.ts.map +1 -1
  139. package/dist/fields/Email/index.js.map +1 -1
  140. package/dist/fields/JSON/index.d.ts.map +1 -1
  141. package/dist/fields/JSON/index.js.map +1 -1
  142. package/dist/fields/Password/index.d.ts +14 -3
  143. package/dist/fields/Password/index.d.ts.map +1 -1
  144. package/dist/fields/Password/index.js +56 -43
  145. package/dist/fields/Password/index.js.map +1 -1
  146. package/dist/fields/Password/input.d.ts +5 -0
  147. package/dist/fields/Password/input.d.ts.map +1 -0
  148. package/dist/fields/Password/input.js +65 -0
  149. package/dist/fields/Password/input.js.map +1 -0
  150. package/dist/fields/Password/types.d.ts +27 -0
  151. package/dist/fields/Password/types.d.ts.map +1 -0
  152. package/dist/fields/Password/types.js +3 -0
  153. package/dist/fields/Password/types.js.map +1 -0
  154. package/dist/fields/Point/index.d.ts.map +1 -1
  155. package/dist/fields/Point/index.js.map +1 -1
  156. package/dist/fields/RadioGroup/Radio/index.d.ts.map +1 -1
  157. package/dist/fields/RadioGroup/Radio/index.js +4 -1
  158. package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
  159. package/dist/fields/RadioGroup/Radio/index.scss +13 -6
  160. package/dist/fields/RadioGroup/index.scss +5 -1
  161. package/dist/fields/Relationship/AddNew/index.scss +3 -0
  162. package/dist/fields/Relationship/index.d.ts.map +1 -1
  163. package/dist/fields/Relationship/index.js +2 -1
  164. package/dist/fields/Relationship/index.js.map +1 -1
  165. package/dist/fields/Relationship/index.scss +7 -0
  166. package/dist/fields/Relationship/select-components/MultiValueLabel/index.scss +8 -5
  167. package/dist/fields/Select/index.d.ts.map +1 -1
  168. package/dist/fields/Select/index.js.map +1 -1
  169. package/dist/fields/Text/Input.d.ts.map +1 -1
  170. package/dist/fields/Text/Input.js +13 -17
  171. package/dist/fields/Text/Input.js.map +1 -1
  172. package/dist/fields/Text/index.d.ts.map +1 -1
  173. package/dist/fields/Text/index.js.map +1 -1
  174. package/dist/fields/Text/index.scss +6 -0
  175. package/dist/fields/Textarea/index.d.ts.map +1 -1
  176. package/dist/fields/Textarea/index.js.map +1 -1
  177. package/dist/fields/Textarea/index.scss +1 -6
  178. package/dist/fields/Upload/index.scss +10 -3
  179. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  180. package/dist/forms/Form/fieldReducer.js +5 -35
  181. package/dist/forms/Form/fieldReducer.js.map +1 -1
  182. package/dist/forms/Form/index.d.ts.map +1 -1
  183. package/dist/forms/Form/index.js +17 -9
  184. package/dist/forms/Form/index.js.map +1 -1
  185. package/dist/forms/Form/rowHelpers.d.ts +17 -0
  186. package/dist/forms/Form/rowHelpers.d.ts.map +1 -0
  187. package/dist/forms/Form/rowHelpers.js +24 -0
  188. package/dist/forms/Form/rowHelpers.js.map +1 -0
  189. package/dist/forms/Form/types.d.ts +3 -10
  190. package/dist/forms/Form/types.d.ts.map +1 -1
  191. package/dist/forms/Form/types.js.map +1 -1
  192. package/dist/forms/RenderFields/index.scss +1 -1
  193. package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts +1 -0
  194. package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts.map +1 -1
  195. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js +2 -1
  196. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js.map +1 -1
  197. package/dist/forms/buildStateFromSchema/index.d.ts +1 -0
  198. package/dist/forms/buildStateFromSchema/index.d.ts.map +1 -1
  199. package/dist/forms/buildStateFromSchema/index.js +2 -1
  200. package/dist/forms/buildStateFromSchema/index.js.map +1 -1
  201. package/dist/forms/buildStateFromSchema/iterateFields.d.ts +2 -1
  202. package/dist/forms/buildStateFromSchema/iterateFields.d.ts.map +1 -1
  203. package/dist/forms/buildStateFromSchema/iterateFields.js +2 -1
  204. package/dist/forms/buildStateFromSchema/iterateFields.js.map +1 -1
  205. package/dist/forms/useField/index.d.ts.map +1 -1
  206. package/dist/forms/useField/index.js +14 -7
  207. package/dist/forms/useField/index.js.map +1 -1
  208. package/dist/forms/useField/types.d.ts +2 -2
  209. package/dist/forms/useField/types.d.ts.map +1 -1
  210. package/dist/forms/useField/types.js.map +1 -1
  211. package/dist/icons/Calendar/index.d.ts.map +1 -1
  212. package/dist/icons/Calendar/index.js +8 -33
  213. package/dist/icons/Calendar/index.js.map +1 -1
  214. package/dist/icons/Calendar/index.scss +1 -1
  215. package/dist/icons/Check/index.d.ts.map +1 -1
  216. package/dist/icons/Check/index.js +8 -17
  217. package/dist/icons/Check/index.js.map +1 -1
  218. package/dist/icons/Check/index.scss +1 -1
  219. package/dist/icons/Chevron/index.js +5 -4
  220. package/dist/icons/Chevron/index.js.map +1 -1
  221. package/dist/icons/Chevron/index.scss +2 -5
  222. package/dist/icons/CloseMenu/index.d.ts.map +1 -1
  223. package/dist/icons/CloseMenu/index.js +8 -22
  224. package/dist/icons/CloseMenu/index.js.map +1 -1
  225. package/dist/icons/CloseMenu/index.scss +2 -2
  226. package/dist/icons/CodeBlock/index.d.ts.map +1 -1
  227. package/dist/icons/CodeBlock/index.js +8 -14
  228. package/dist/icons/CodeBlock/index.js.map +1 -1
  229. package/dist/icons/Copy/index.d.ts.map +1 -1
  230. package/dist/icons/Copy/index.js +12 -16
  231. package/dist/icons/Copy/index.js.map +1 -1
  232. package/dist/icons/Copy/index.scss +1 -1
  233. package/dist/icons/DragHandle/index.d.ts.map +1 -1
  234. package/dist/icons/DragHandle/index.js +19 -25
  235. package/dist/icons/DragHandle/index.js.map +1 -1
  236. package/dist/icons/DragHandle/index.scss +2 -0
  237. package/dist/icons/Edit/index.d.ts.map +1 -1
  238. package/dist/icons/Edit/index.js +8 -21
  239. package/dist/icons/Edit/index.js.map +1 -1
  240. package/dist/icons/Edit/index.scss +3 -3
  241. package/dist/icons/Line/index.d.ts.map +1 -1
  242. package/dist/icons/Line/index.js +7 -6
  243. package/dist/icons/Line/index.js.map +1 -1
  244. package/dist/icons/Line/index.scss +1 -1
  245. package/dist/icons/Link/index.d.ts.map +1 -1
  246. package/dist/icons/Link/index.js +11 -14
  247. package/dist/icons/Link/index.js.map +1 -1
  248. package/dist/icons/Link/index.scss +1 -1
  249. package/dist/icons/LogOut/index.d.ts.map +1 -1
  250. package/dist/icons/LogOut/index.js +9 -24
  251. package/dist/icons/LogOut/index.js.map +1 -1
  252. package/dist/icons/LogOut/index.scss +1 -1
  253. package/dist/icons/Menu/index.d.ts.map +1 -1
  254. package/dist/icons/Menu/index.js +10 -28
  255. package/dist/icons/Menu/index.js.map +1 -1
  256. package/dist/icons/Menu/index.scss +3 -2
  257. package/dist/icons/MinimizeMaximize/index.d.ts.map +1 -1
  258. package/dist/icons/MinimizeMaximize/index.js +8 -35
  259. package/dist/icons/MinimizeMaximize/index.js.map +1 -1
  260. package/dist/icons/More/index.d.ts.map +1 -1
  261. package/dist/icons/More/index.js +10 -13
  262. package/dist/icons/More/index.js.map +1 -1
  263. package/dist/icons/More/index.scss +1 -0
  264. package/dist/icons/Plus/index.d.ts.map +1 -1
  265. package/dist/icons/Plus/index.js +10 -20
  266. package/dist/icons/Plus/index.js.map +1 -1
  267. package/dist/icons/Plus/index.scss +1 -1
  268. package/dist/icons/Search/index.d.ts.map +1 -1
  269. package/dist/icons/Search/index.js +8 -18
  270. package/dist/icons/Search/index.js.map +1 -1
  271. package/dist/icons/Search/index.scss +1 -1
  272. package/dist/icons/Swap/index.d.ts.map +1 -1
  273. package/dist/icons/Swap/index.js +8 -28
  274. package/dist/icons/Swap/index.js.map +1 -1
  275. package/dist/icons/Swap/index.scss +2 -2
  276. package/dist/icons/X/index.d.ts.map +1 -1
  277. package/dist/icons/X/index.js +10 -21
  278. package/dist/icons/X/index.js.map +1 -1
  279. package/dist/icons/X/index.scss +3 -3
  280. package/dist/providers/ComponentMap/buildComponentMap/collections.d.ts +2 -1
  281. package/dist/providers/ComponentMap/buildComponentMap/collections.d.ts.map +1 -1
  282. package/dist/providers/ComponentMap/buildComponentMap/collections.js +2 -1
  283. package/dist/providers/ComponentMap/buildComponentMap/collections.js.map +1 -1
  284. package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts +2 -1
  285. package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts.map +1 -1
  286. package/dist/providers/ComponentMap/buildComponentMap/fields.js +21 -24
  287. package/dist/providers/ComponentMap/buildComponentMap/fields.js.map +1 -1
  288. package/dist/providers/ComponentMap/buildComponentMap/globals.d.ts +2 -1
  289. package/dist/providers/ComponentMap/buildComponentMap/globals.d.ts.map +1 -1
  290. package/dist/providers/ComponentMap/buildComponentMap/globals.js +2 -1
  291. package/dist/providers/ComponentMap/buildComponentMap/globals.js.map +1 -1
  292. package/dist/providers/ComponentMap/buildComponentMap/index.d.ts.map +1 -1
  293. package/dist/providers/ComponentMap/buildComponentMap/index.js +2 -0
  294. package/dist/providers/ComponentMap/buildComponentMap/index.js.map +1 -1
  295. package/dist/providers/ListQuery/index.d.ts +16 -9
  296. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  297. package/dist/providers/ListQuery/index.js +8 -6
  298. package/dist/providers/ListQuery/index.js.map +1 -1
  299. package/dist/providers/Params/index.d.ts +2 -1
  300. package/dist/providers/Params/index.d.ts.map +1 -1
  301. package/dist/providers/Params/index.js.map +1 -1
  302. package/dist/scss/app.scss +2 -1
  303. package/dist/scss/toasts.scss +10 -3
  304. package/dist/scss/type.scss +14 -23
  305. package/dist/scss/vars.scss +26 -47
  306. package/dist/styles.css +1 -1
  307. package/dist/utilities/buildFieldSchemaMap/index.d.ts.map +1 -1
  308. package/dist/utilities/buildFieldSchemaMap/index.js +24 -0
  309. package/dist/utilities/buildFieldSchemaMap/index.js.map +1 -1
  310. package/dist/utilities/buildFormState.d.ts.map +1 -1
  311. package/dist/utilities/buildFormState.js +18 -9
  312. package/dist/utilities/buildFormState.js.map +1 -1
  313. package/dist/utilities/formatAdminURL.d.ts +1 -0
  314. package/dist/utilities/formatAdminURL.d.ts.map +1 -1
  315. package/dist/utilities/formatAdminURL.js +4 -4
  316. package/dist/utilities/formatAdminURL.js.map +1 -1
  317. package/package.json +7 -7
  318. package/dist/exports/client/chunk-WDFUZ6GL.js +0 -30
  319. /package/dist/exports/client/{DatePicker-5IFHNQHA.js.map → DatePicker-XJHHMZP7.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/Blocks/index.tsx"],"sourcesContent":["'use client'\nimport type { BlocksFieldProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { Fragment, useCallback } from 'react'\n\nimport { Banner } from '../../elements/Banner/index.js'\nimport { Button } from '../../elements/Button/index.js'\nimport { DraggableSortableItem } from '../../elements/DraggableSortable/DraggableSortableItem/index.js'\nimport { DraggableSortable } from '../../elements/DraggableSortable/index.js'\nimport { DrawerToggler } from '../../elements/Drawer/index.js'\nimport { useDrawerSlug } from '../../elements/Drawer/useDrawerSlug.js'\nimport { ErrorPill } from '../../elements/ErrorPill/index.js'\nimport { useFieldProps } from '../../forms/FieldPropsProvider/index.js'\nimport { useForm, useFormSubmitted } from '../../forms/Form/context.js'\nimport { NullifyLocaleField } from '../../forms/NullifyField/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { scrollToID } from '../../utilities/scrollToID.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldError } from '../FieldError/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { BlockRow } from './BlockRow.js'\nimport { BlocksDrawer } from './BlocksDrawer/index.js'\nimport './index.scss'\n\nconst baseClass = 'blocks-field'\n\nconst BlocksFieldComponent: React.FC<BlocksFieldProps> = (props) => {\n const { i18n, t } = useTranslation()\n\n const {\n name,\n CustomDescription,\n CustomError,\n CustomLabel,\n blocks,\n className,\n descriptionProps,\n errorProps,\n forceRender = false,\n isSortable = true,\n label,\n labelProps,\n labels: labelsFromProps,\n localized,\n maxRows,\n minRows: minRowsProp,\n path: pathFromProps,\n readOnly: readOnlyFromProps,\n required,\n validate,\n } = props\n\n const { indexPath, readOnly: readOnlyFromContext } = useFieldProps()\n const minRows = minRowsProp ?? required ? 1 : 0\n\n const { setDocFieldPreferences } = useDocumentInfo()\n const { addFieldRow, dispatchFields, setModified } = useForm()\n const { code: locale } = useLocale()\n const { localization } = useConfig()\n const drawerSlug = useDrawerSlug('blocks-drawer')\n const submitted = useFormSubmitted()\n\n const labels = {\n plural: t('fields:blocks'),\n singular: t('fields:block'),\n ...labelsFromProps,\n }\n\n const editingDefaultLocale = (() => {\n if (localization && localization.fallback) {\n const defaultLocale = localization.defaultLocale || 'en'\n return locale === defaultLocale\n }\n\n return true\n })()\n\n const memoizedValidate = useCallback(\n (value, options) => {\n // alternative locales can be null\n if (!editingDefaultLocale && value === null) {\n return true\n }\n if (typeof validate === 'function') {\n return validate(value, { ...options, maxRows, minRows, required })\n }\n },\n [maxRows, minRows, required, validate, editingDefaultLocale],\n )\n\n const { path: pathFromContext } = useFieldProps()\n\n const {\n errorPaths,\n formInitializing,\n formProcessing,\n path,\n permissions,\n rows = [],\n schemaPath,\n showError,\n valid,\n value,\n } = useField<number>({\n hasRows: true,\n path: pathFromContext ?? pathFromProps ?? name,\n validate: memoizedValidate,\n })\n\n const disabled = readOnlyFromProps || readOnlyFromContext || formProcessing || formInitializing\n\n const addRow = useCallback(\n async (rowIndex: number, blockType: string): Promise<void> => {\n await addFieldRow({\n data: { blockType },\n path,\n rowIndex,\n schemaPath: `${schemaPath}.${blockType}`,\n })\n setModified(true)\n\n setTimeout(() => {\n scrollToID(`${path}-row-${rowIndex + 1}`)\n }, 0)\n },\n [addFieldRow, path, setModified, schemaPath],\n )\n\n const duplicateRow = useCallback(\n (rowIndex: number) => {\n dispatchFields({ type: 'DUPLICATE_ROW', path, rowIndex })\n setModified(true)\n\n setTimeout(() => {\n scrollToID(`${path}-row-${rowIndex + 1}`)\n }, 0)\n },\n [dispatchFields, path, setModified],\n )\n\n const removeRow = useCallback(\n (rowIndex: number) => {\n dispatchFields({\n type: 'REMOVE_ROW',\n path,\n rowIndex,\n })\n\n setModified(true)\n },\n [path, dispatchFields, setModified],\n )\n\n const moveRow = useCallback(\n (moveFromIndex: number, moveToIndex: number) => {\n dispatchFields({ type: 'MOVE_ROW', moveFromIndex, moveToIndex, path })\n setModified(true)\n },\n [dispatchFields, path, setModified],\n )\n\n const toggleCollapseAll = useCallback(\n (collapsed: boolean) => {\n dispatchFields({ type: 'SET_ALL_ROWS_COLLAPSED', collapsed, path, setDocFieldPreferences })\n },\n [dispatchFields, path, setDocFieldPreferences],\n )\n\n const setCollapse = useCallback(\n (rowID: string, collapsed: boolean) => {\n dispatchFields({ type: 'SET_ROW_COLLAPSED', collapsed, path, rowID, setDocFieldPreferences })\n },\n [dispatchFields, path, setDocFieldPreferences],\n )\n\n const hasMaxRows = maxRows && rows.length >= maxRows\n\n const fieldErrorCount = errorPaths.length\n const fieldHasErrors = submitted && fieldErrorCount + (valid ? 0 : 1) > 0\n\n const showMinRows = rows.length < minRows || (required && rows.length === 0)\n const showRequired = disabled && rows.length === 0\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n fieldHasErrors ? `${baseClass}--has-error` : `${baseClass}--has-no-error`,\n ]\n .filter(Boolean)\n .join(' ')}\n id={`field-${path.replace(/\\./g, '__')}`}\n >\n {showError && <FieldError CustomError={CustomError} path={path} {...(errorProps || {})} />}\n <header className={`${baseClass}__header`}>\n <div className={`${baseClass}__header-wrap`}>\n <div className={`${baseClass}__heading-with-error`}>\n <h3>\n <FieldLabel\n CustomLabel={CustomLabel}\n as=\"span\"\n label={label}\n required={required}\n unstyled\n {...(labelProps || {})}\n />\n </h3>\n {fieldHasErrors && fieldErrorCount > 0 && (\n <ErrorPill count={fieldErrorCount} i18n={i18n} withMessage />\n )}\n </div>\n {rows.length > 0 && (\n <ul className={`${baseClass}__header-actions`}>\n <li>\n <button\n className={`${baseClass}__header-action`}\n onClick={() => toggleCollapseAll(true)}\n type=\"button\"\n >\n {t('fields:collapseAll')}\n </button>\n </li>\n <li>\n <button\n className={`${baseClass}__header-action`}\n onClick={() => toggleCollapseAll(false)}\n type=\"button\"\n >\n {t('fields:showAll')}\n </button>\n </li>\n </ul>\n )}\n </div>\n <FieldDescription CustomDescription={CustomDescription} {...(descriptionProps || {})} />\n </header>\n <NullifyLocaleField fieldValue={value} localized={localized} path={path} />\n {(rows.length > 0 || (!valid && (showRequired || showMinRows))) && (\n <DraggableSortable\n className={`${baseClass}__rows`}\n ids={rows.map((row) => row.id)}\n onDragEnd={({ moveFromIndex, moveToIndex }) => moveRow(moveFromIndex, moveToIndex)}\n >\n {rows.map((row, i) => {\n const { blockType } = row\n const blockToRender = blocks.find((block) => block.slug === blockType)\n\n if (blockToRender) {\n const rowErrorCount = errorPaths.filter((errorPath) =>\n errorPath.startsWith(`${path}.${i}`),\n ).length\n return (\n <DraggableSortableItem disabled={disabled || !isSortable} id={row.id} key={row.id}>\n {(draggableSortableItemProps) => (\n <BlockRow\n {...draggableSortableItemProps}\n addRow={addRow}\n block={blockToRender}\n blocks={blocks}\n duplicateRow={duplicateRow}\n errorCount={rowErrorCount}\n forceRender={forceRender}\n hasMaxRows={hasMaxRows}\n indexPath={indexPath}\n isSortable={isSortable}\n labels={labels}\n moveRow={moveRow}\n path={path}\n permissions={permissions}\n readOnly={disabled}\n removeRow={removeRow}\n row={row}\n rowCount={rows.length}\n rowIndex={i}\n schemaPath={schemaPath}\n setCollapse={setCollapse}\n />\n )}\n </DraggableSortableItem>\n )\n }\n\n return null\n })}\n {!editingDefaultLocale && (\n <React.Fragment>\n {showMinRows && (\n <Banner type=\"error\">\n {t('validation:requiresAtLeast', {\n count: minRows,\n label:\n getTranslation(minRows > 1 ? labels.plural : labels.singular, i18n) ||\n t(minRows > 1 ? 'general:row' : 'general:rows'),\n })}\n </Banner>\n )}\n {showRequired && (\n <Banner>\n {t('validation:fieldHasNo', { label: getTranslation(labels.plural, i18n) })}\n </Banner>\n )}\n </React.Fragment>\n )}\n </DraggableSortable>\n )}\n {!disabled && !hasMaxRows && (\n <Fragment>\n <DrawerToggler className={`${baseClass}__drawer-toggler`} slug={drawerSlug}>\n <Button\n buttonStyle=\"icon-label\"\n el=\"span\"\n icon=\"plus\"\n iconPosition=\"left\"\n iconStyle=\"with-border\"\n >\n {t('fields:addLabel', { label: getTranslation(labels.singular, i18n) })}\n </Button>\n </DrawerToggler>\n <BlocksDrawer\n addRow={addRow}\n addRowIndex={rows?.length || 0}\n blocks={blocks}\n drawerSlug={drawerSlug}\n labels={labels}\n />\n </Fragment>\n )}\n </div>\n )\n}\n\nexport const BlocksField = withCondition(BlocksFieldComponent)\n"],"names":["getTranslation","React","Fragment","useCallback","Banner","Button","DraggableSortableItem","DraggableSortable","DrawerToggler","useDrawerSlug","ErrorPill","useFieldProps","useForm","useFormSubmitted","NullifyLocaleField","useField","withCondition","useConfig","useDocumentInfo","useLocale","useTranslation","scrollToID","FieldDescription","FieldError","FieldLabel","fieldBaseClass","BlockRow","BlocksDrawer","baseClass","BlocksFieldComponent","props","i18n","t","name","CustomDescription","CustomError","CustomLabel","blocks","className","descriptionProps","errorProps","forceRender","isSortable","label","labelProps","labels","labelsFromProps","localized","maxRows","minRows","minRowsProp","path","pathFromProps","readOnly","readOnlyFromProps","required","validate","indexPath","readOnlyFromContext","setDocFieldPreferences","addFieldRow","dispatchFields","setModified","code","locale","localization","drawerSlug","submitted","plural","singular","editingDefaultLocale","fallback","defaultLocale","memoizedValidate","value","options","pathFromContext","errorPaths","formInitializing","formProcessing","permissions","rows","schemaPath","showError","valid","hasRows","disabled","addRow","rowIndex","blockType","data","setTimeout","duplicateRow","type","removeRow","moveRow","moveFromIndex","moveToIndex","toggleCollapseAll","collapsed","setCollapse","rowID","hasMaxRows","length","fieldErrorCount","fieldHasErrors","showMinRows","showRequired","div","filter","Boolean","join","id","replace","header","h3","as","unstyled","count","withMessage","ul","li","button","onClick","fieldValue","ids","map","row","onDragEnd","i","blockToRender","find","block","slug","rowErrorCount","errorPath","startsWith","draggableSortableItemProps","errorCount","rowCount","buttonStyle","el","icon","iconPosition","iconStyle","addRowIndex","BlocksField"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/fields/Blocks/index.tsx"],"sourcesContent":["'use client'\nimport type { BlocksFieldProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { Fragment, useCallback } from 'react'\n\nimport { Banner } from '../../elements/Banner/index.js'\nimport { Button } from '../../elements/Button/index.js'\nimport { DraggableSortableItem } from '../../elements/DraggableSortable/DraggableSortableItem/index.js'\nimport { DraggableSortable } from '../../elements/DraggableSortable/index.js'\nimport { DrawerToggler } from '../../elements/Drawer/index.js'\nimport { useDrawerSlug } from '../../elements/Drawer/useDrawerSlug.js'\nimport { ErrorPill } from '../../elements/ErrorPill/index.js'\nimport { useFieldProps } from '../../forms/FieldPropsProvider/index.js'\nimport { useForm, useFormSubmitted } from '../../forms/Form/context.js'\nimport { extractRowsAndCollapsedIDs, toggleAllRows } from '../../forms/Form/rowHelpers.js'\nimport { NullifyLocaleField } from '../../forms/NullifyField/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { scrollToID } from '../../utilities/scrollToID.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldError } from '../FieldError/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { BlockRow } from './BlockRow.js'\nimport { BlocksDrawer } from './BlocksDrawer/index.js'\nimport './index.scss'\n\nconst baseClass = 'blocks-field'\n\nconst BlocksFieldComponent: React.FC<BlocksFieldProps> = (props) => {\n const { i18n, t } = useTranslation()\n\n const {\n name,\n CustomDescription,\n CustomError,\n CustomLabel,\n blocks,\n className,\n descriptionProps,\n errorProps,\n forceRender = false,\n isSortable = true,\n label,\n labelProps,\n labels: labelsFromProps,\n localized,\n maxRows,\n minRows: minRowsProp,\n path: pathFromProps,\n readOnly: readOnlyFromProps,\n required,\n validate,\n } = props\n\n const { indexPath, readOnly: readOnlyFromContext } = useFieldProps()\n const minRows = minRowsProp ?? required ? 1 : 0\n\n const { setDocFieldPreferences } = useDocumentInfo()\n const { addFieldRow, dispatchFields, setModified } = useForm()\n const { code: locale } = useLocale()\n const { localization } = useConfig()\n const drawerSlug = useDrawerSlug('blocks-drawer')\n const submitted = useFormSubmitted()\n\n const labels = {\n plural: t('fields:blocks'),\n singular: t('fields:block'),\n ...labelsFromProps,\n }\n\n const editingDefaultLocale = (() => {\n if (localization && localization.fallback) {\n const defaultLocale = localization.defaultLocale || 'en'\n return locale === defaultLocale\n }\n\n return true\n })()\n\n const memoizedValidate = useCallback(\n (value, options) => {\n // alternative locales can be null\n if (!editingDefaultLocale && value === null) {\n return true\n }\n if (typeof validate === 'function') {\n return validate(value, { ...options, maxRows, minRows, required })\n }\n },\n [maxRows, minRows, required, validate, editingDefaultLocale],\n )\n\n const { path: pathFromContext } = useFieldProps()\n\n const {\n errorPaths,\n formInitializing,\n formProcessing,\n path,\n permissions,\n rows = [],\n schemaPath,\n showError,\n valid,\n value,\n } = useField<number>({\n hasRows: true,\n path: pathFromContext ?? pathFromProps ?? name,\n validate: memoizedValidate,\n })\n\n const disabled = readOnlyFromProps || readOnlyFromContext || formProcessing || formInitializing\n\n const addRow = useCallback(\n async (rowIndex: number, blockType: string): Promise<void> => {\n await addFieldRow({\n data: { blockType },\n path,\n rowIndex,\n schemaPath: `${schemaPath}.${blockType}`,\n })\n setModified(true)\n\n setTimeout(() => {\n scrollToID(`${path}-row-${rowIndex + 1}`)\n }, 0)\n },\n [addFieldRow, path, setModified, schemaPath],\n )\n\n const duplicateRow = useCallback(\n (rowIndex: number) => {\n dispatchFields({ type: 'DUPLICATE_ROW', path, rowIndex })\n setModified(true)\n\n setTimeout(() => {\n scrollToID(`${path}-row-${rowIndex + 1}`)\n }, 0)\n },\n [dispatchFields, path, setModified],\n )\n\n const removeRow = useCallback(\n (rowIndex: number) => {\n dispatchFields({\n type: 'REMOVE_ROW',\n path,\n rowIndex,\n })\n\n setModified(true)\n },\n [path, dispatchFields, setModified],\n )\n\n const moveRow = useCallback(\n (moveFromIndex: number, moveToIndex: number) => {\n dispatchFields({ type: 'MOVE_ROW', moveFromIndex, moveToIndex, path })\n setModified(true)\n },\n [dispatchFields, path, setModified],\n )\n\n const toggleCollapseAll = useCallback(\n (collapsed: boolean) => {\n const { collapsedIDs, updatedRows } = toggleAllRows({\n collapsed,\n rows,\n })\n dispatchFields({ type: 'SET_ALL_ROWS_COLLAPSED', path, updatedRows })\n setDocFieldPreferences(path, { collapsed: collapsedIDs })\n },\n [dispatchFields, path, rows, setDocFieldPreferences],\n )\n\n const setCollapse = useCallback(\n (rowID: string, collapsed: boolean) => {\n const { collapsedIDs, updatedRows } = extractRowsAndCollapsedIDs({\n collapsed,\n rowID,\n rows,\n })\n dispatchFields({ type: 'SET_ROW_COLLAPSED', path, updatedRows })\n setDocFieldPreferences(path, { collapsed: collapsedIDs })\n },\n [dispatchFields, path],\n )\n\n const hasMaxRows = maxRows && rows.length >= maxRows\n\n const fieldErrorCount = errorPaths.length\n const fieldHasErrors = submitted && fieldErrorCount + (valid ? 0 : 1) > 0\n\n const showMinRows = rows.length < minRows || (required && rows.length === 0)\n const showRequired = disabled && rows.length === 0\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n fieldHasErrors ? `${baseClass}--has-error` : `${baseClass}--has-no-error`,\n ]\n .filter(Boolean)\n .join(' ')}\n id={`field-${path.replace(/\\./g, '__')}`}\n >\n {showError && <FieldError CustomError={CustomError} path={path} {...(errorProps || {})} />}\n <header className={`${baseClass}__header`}>\n <div className={`${baseClass}__header-wrap`}>\n <div className={`${baseClass}__heading-with-error`}>\n <h3>\n <FieldLabel\n CustomLabel={CustomLabel}\n as=\"span\"\n label={label}\n required={required}\n unstyled\n {...(labelProps || {})}\n />\n </h3>\n {fieldHasErrors && fieldErrorCount > 0 && (\n <ErrorPill count={fieldErrorCount} i18n={i18n} withMessage />\n )}\n </div>\n {rows.length > 0 && (\n <ul className={`${baseClass}__header-actions`}>\n <li>\n <button\n className={`${baseClass}__header-action`}\n onClick={() => toggleCollapseAll(true)}\n type=\"button\"\n >\n {t('fields:collapseAll')}\n </button>\n </li>\n <li>\n <button\n className={`${baseClass}__header-action`}\n onClick={() => toggleCollapseAll(false)}\n type=\"button\"\n >\n {t('fields:showAll')}\n </button>\n </li>\n </ul>\n )}\n </div>\n <FieldDescription CustomDescription={CustomDescription} {...(descriptionProps || {})} />\n </header>\n <NullifyLocaleField fieldValue={value} localized={localized} path={path} />\n {(rows.length > 0 || (!valid && (showRequired || showMinRows))) && (\n <DraggableSortable\n className={`${baseClass}__rows`}\n ids={rows.map((row) => row.id)}\n onDragEnd={({ moveFromIndex, moveToIndex }) => moveRow(moveFromIndex, moveToIndex)}\n >\n {rows.map((row, i) => {\n const { blockType } = row\n const blockToRender = blocks.find((block) => block.slug === blockType)\n\n if (blockToRender) {\n const rowErrorCount = errorPaths.filter((errorPath) =>\n errorPath.startsWith(`${path}.${i}`),\n ).length\n return (\n <DraggableSortableItem disabled={disabled || !isSortable} id={row.id} key={row.id}>\n {(draggableSortableItemProps) => (\n <BlockRow\n {...draggableSortableItemProps}\n addRow={addRow}\n block={blockToRender}\n blocks={blocks}\n duplicateRow={duplicateRow}\n errorCount={rowErrorCount}\n forceRender={forceRender}\n hasMaxRows={hasMaxRows}\n indexPath={indexPath}\n isSortable={isSortable}\n labels={labels}\n moveRow={moveRow}\n path={path}\n permissions={permissions}\n readOnly={disabled}\n removeRow={removeRow}\n row={row}\n rowCount={rows.length}\n rowIndex={i}\n schemaPath={schemaPath}\n setCollapse={setCollapse}\n />\n )}\n </DraggableSortableItem>\n )\n }\n\n return null\n })}\n {!editingDefaultLocale && (\n <React.Fragment>\n {showMinRows && (\n <Banner type=\"error\">\n {t('validation:requiresAtLeast', {\n count: minRows,\n label:\n getTranslation(minRows > 1 ? labels.plural : labels.singular, i18n) ||\n t(minRows > 1 ? 'general:row' : 'general:rows'),\n })}\n </Banner>\n )}\n {showRequired && (\n <Banner>\n {t('validation:fieldHasNo', { label: getTranslation(labels.plural, i18n) })}\n </Banner>\n )}\n </React.Fragment>\n )}\n </DraggableSortable>\n )}\n {!disabled && !hasMaxRows && (\n <Fragment>\n <DrawerToggler className={`${baseClass}__drawer-toggler`} slug={drawerSlug}>\n <Button\n buttonStyle=\"icon-label\"\n el=\"span\"\n icon=\"plus\"\n iconPosition=\"left\"\n iconStyle=\"with-border\"\n >\n {t('fields:addLabel', { label: getTranslation(labels.singular, i18n) })}\n </Button>\n </DrawerToggler>\n <BlocksDrawer\n addRow={addRow}\n addRowIndex={rows?.length || 0}\n blocks={blocks}\n drawerSlug={drawerSlug}\n labels={labels}\n />\n </Fragment>\n )}\n </div>\n )\n}\n\nexport const BlocksField = withCondition(BlocksFieldComponent)\n"],"names":["getTranslation","React","Fragment","useCallback","Banner","Button","DraggableSortableItem","DraggableSortable","DrawerToggler","useDrawerSlug","ErrorPill","useFieldProps","useForm","useFormSubmitted","extractRowsAndCollapsedIDs","toggleAllRows","NullifyLocaleField","useField","withCondition","useConfig","useDocumentInfo","useLocale","useTranslation","scrollToID","FieldDescription","FieldError","FieldLabel","fieldBaseClass","BlockRow","BlocksDrawer","baseClass","BlocksFieldComponent","props","i18n","t","name","CustomDescription","CustomError","CustomLabel","blocks","className","descriptionProps","errorProps","forceRender","isSortable","label","labelProps","labels","labelsFromProps","localized","maxRows","minRows","minRowsProp","path","pathFromProps","readOnly","readOnlyFromProps","required","validate","indexPath","readOnlyFromContext","setDocFieldPreferences","addFieldRow","dispatchFields","setModified","code","locale","localization","drawerSlug","submitted","plural","singular","editingDefaultLocale","fallback","defaultLocale","memoizedValidate","value","options","pathFromContext","errorPaths","formInitializing","formProcessing","permissions","rows","schemaPath","showError","valid","hasRows","disabled","addRow","rowIndex","blockType","data","setTimeout","duplicateRow","type","removeRow","moveRow","moveFromIndex","moveToIndex","toggleCollapseAll","collapsed","collapsedIDs","updatedRows","setCollapse","rowID","hasMaxRows","length","fieldErrorCount","fieldHasErrors","showMinRows","showRequired","div","filter","Boolean","join","id","replace","header","h3","as","unstyled","count","withMessage","ul","li","button","onClick","fieldValue","ids","map","row","onDragEnd","i","blockToRender","find","block","slug","rowErrorCount","errorPath","startsWith","draggableSortableItemProps","errorCount","rowCount","buttonStyle","el","icon","iconPosition","iconStyle","addRowIndex","BlocksField"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Checkbox/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAkB,MAAM,SAAS,CAAA;AAEjE,OAAO,KAAsB,MAAM,OAAO,CAAA;AAE1C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAWpD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,cAAc,CAAA;AAIrB,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,CAAA;AAwGrE,eAAO,MAAM,aAAa,8BAAwC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Checkbox/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAA2B,MAAM,SAAS,CAAA;AAE1E,OAAO,KAAsB,MAAM,OAAO,CAAA;AAE1C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAWpD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,cAAc,CAAA;AAIrB,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,CAAA;AAwGrE,eAAO,MAAM,aAAa,8BAAwC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/Checkbox/index.tsx"],"sourcesContent":["'use client'\nimport type { CheckboxFieldProps, ClientValidate } from 'payload'\n\nimport React, { useCallback } from 'react'\n\nimport type { CheckboxInputProps } from './Input.js'\n\nimport { useFieldProps } from '../../forms/FieldPropsProvider/index.js'\nimport { useForm } from '../../forms/Form/context.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { generateFieldID } from '../../utilities/generateFieldID.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldError } from '../FieldError/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { CheckboxInput } from './Input.js'\nimport './index.scss'\n\nconst baseClass = 'checkbox'\n\nexport { CheckboxFieldProps, CheckboxInput, type CheckboxInputProps }\n\nconst CheckboxFieldComponent: React.FC<CheckboxFieldProps> = (props) => {\n const {\n id,\n name,\n AfterInput,\n BeforeInput,\n CustomDescription,\n CustomError,\n CustomLabel,\n checked: checkedFromProps,\n className,\n descriptionProps,\n disableFormData,\n errorProps,\n label,\n labelProps,\n onChange: onChangeFromProps,\n partialChecked,\n path: pathFromProps,\n readOnly: readOnlyFromProps,\n required,\n style,\n validate,\n width,\n } = props\n\n const { uuid } = useForm()\n\n const editDepth = useEditDepth()\n\n const memoizedValidate: ClientValidate = useCallback(\n (value, options) => {\n if (typeof validate === 'function') {\n return validate(value, { ...options, required })\n }\n },\n [validate, required],\n )\n\n const { path: pathFromContext, readOnly: readOnlyFromContext } = useFieldProps()\n\n const { formInitializing, formProcessing, path, setValue, showError, value } = useField({\n disableFormData,\n path: pathFromContext ?? pathFromProps ?? name,\n validate: memoizedValidate,\n })\n\n const disabled = readOnlyFromProps || readOnlyFromContext || formProcessing || formInitializing\n\n const onToggle = useCallback(() => {\n if (!disabled) {\n setValue(!value)\n if (typeof onChangeFromProps === 'function') onChangeFromProps(!value)\n }\n }, [onChangeFromProps, disabled, setValue, value])\n\n const checked = checkedFromProps || Boolean(value)\n\n const fieldID = id || generateFieldID(path, editDepth, uuid)\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n showError && 'error',\n className,\n value && `${baseClass}--checked`,\n disabled && `${baseClass}--read-only`,\n ]\n .filter(Boolean)\n .join(' ')}\n style={{\n ...style,\n width,\n }}\n >\n <FieldError CustomError={CustomError} path={path} {...(errorProps || {})} alignCaret=\"left\" />\n <CheckboxInput\n AfterInput={AfterInput}\n BeforeInput={BeforeInput}\n CustomLabel={CustomLabel}\n checked={checked}\n id={fieldID}\n inputRef={null}\n label={label}\n labelProps={labelProps}\n name={path}\n onToggle={onToggle}\n partialChecked={partialChecked}\n readOnly={disabled}\n required={required}\n />\n {CustomDescription !== undefined ? (\n CustomDescription\n ) : (\n <FieldDescription {...(descriptionProps || {})} />\n )}\n </div>\n )\n}\n\nexport const CheckboxField = withCondition(CheckboxFieldComponent)\n"],"names":["React","useCallback","useFieldProps","useForm","useField","withCondition","useEditDepth","generateFieldID","FieldDescription","FieldError","fieldBaseClass","CheckboxInput","baseClass","CheckboxFieldComponent","props","id","name","AfterInput","BeforeInput","CustomDescription","CustomError","CustomLabel","checked","checkedFromProps","className","descriptionProps","disableFormData","errorProps","label","labelProps","onChange","onChangeFromProps","partialChecked","path","pathFromProps","readOnly","readOnlyFromProps","required","style","validate","width","uuid","editDepth","memoizedValidate","value","options","pathFromContext","readOnlyFromContext","formInitializing","formProcessing","setValue","showError","disabled","onToggle","Boolean","fieldID","div","filter","join","alignCaret","inputRef","undefined","CheckboxField"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/fields/Checkbox/index.tsx"],"sourcesContent":["'use client'\nimport type { CheckboxFieldProps, CheckboxFieldValidation } from 'payload'\n\nimport React, { useCallback } from 'react'\n\nimport type { CheckboxInputProps } from './Input.js'\n\nimport { useFieldProps } from '../../forms/FieldPropsProvider/index.js'\nimport { useForm } from '../../forms/Form/context.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { generateFieldID } from '../../utilities/generateFieldID.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldError } from '../FieldError/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { CheckboxInput } from './Input.js'\nimport './index.scss'\n\nconst baseClass = 'checkbox'\n\nexport { CheckboxFieldProps, CheckboxInput, type CheckboxInputProps }\n\nconst CheckboxFieldComponent: React.FC<CheckboxFieldProps> = (props) => {\n const {\n id,\n name,\n AfterInput,\n BeforeInput,\n CustomDescription,\n CustomError,\n CustomLabel,\n checked: checkedFromProps,\n className,\n descriptionProps,\n disableFormData,\n errorProps,\n label,\n labelProps,\n onChange: onChangeFromProps,\n partialChecked,\n path: pathFromProps,\n readOnly: readOnlyFromProps,\n required,\n style,\n validate,\n width,\n } = props\n\n const { uuid } = useForm()\n\n const editDepth = useEditDepth()\n\n const memoizedValidate: CheckboxFieldValidation = useCallback(\n (value, options) => {\n if (typeof validate === 'function') {\n return validate(value, { ...options, required })\n }\n },\n [validate, required],\n )\n\n const { path: pathFromContext, readOnly: readOnlyFromContext } = useFieldProps()\n\n const { formInitializing, formProcessing, path, setValue, showError, value } = useField({\n disableFormData,\n path: pathFromContext ?? pathFromProps ?? name,\n validate: memoizedValidate,\n })\n\n const disabled = readOnlyFromProps || readOnlyFromContext || formProcessing || formInitializing\n\n const onToggle = useCallback(() => {\n if (!disabled) {\n setValue(!value)\n if (typeof onChangeFromProps === 'function') onChangeFromProps(!value)\n }\n }, [onChangeFromProps, disabled, setValue, value])\n\n const checked = checkedFromProps || Boolean(value)\n\n const fieldID = id || generateFieldID(path, editDepth, uuid)\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n showError && 'error',\n className,\n value && `${baseClass}--checked`,\n disabled && `${baseClass}--read-only`,\n ]\n .filter(Boolean)\n .join(' ')}\n style={{\n ...style,\n width,\n }}\n >\n <FieldError CustomError={CustomError} path={path} {...(errorProps || {})} alignCaret=\"left\" />\n <CheckboxInput\n AfterInput={AfterInput}\n BeforeInput={BeforeInput}\n CustomLabel={CustomLabel}\n checked={checked}\n id={fieldID}\n inputRef={null}\n label={label}\n labelProps={labelProps}\n name={path}\n onToggle={onToggle}\n partialChecked={partialChecked}\n readOnly={disabled}\n required={required}\n />\n {CustomDescription !== undefined ? (\n CustomDescription\n ) : (\n <FieldDescription {...(descriptionProps || {})} />\n )}\n </div>\n )\n}\n\nexport const CheckboxField = withCondition(CheckboxFieldComponent)\n"],"names":["React","useCallback","useFieldProps","useForm","useField","withCondition","useEditDepth","generateFieldID","FieldDescription","FieldError","fieldBaseClass","CheckboxInput","baseClass","CheckboxFieldComponent","props","id","name","AfterInput","BeforeInput","CustomDescription","CustomError","CustomLabel","checked","checkedFromProps","className","descriptionProps","disableFormData","errorProps","label","labelProps","onChange","onChangeFromProps","partialChecked","path","pathFromProps","readOnly","readOnlyFromProps","required","style","validate","width","uuid","editDepth","memoizedValidate","value","options","pathFromContext","readOnlyFromContext","formInitializing","formProcessing","setValue","showError","disabled","onToggle","Boolean","fieldID","div","filter","join","alignCaret","inputRef","undefined","CheckboxField"],"mappings":"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"}
@@ -15,14 +15,16 @@
15
15
 
16
16
  .checkbox-input {
17
17
  display: inline-flex;
18
+ &:hover:not(&--read-only) {
19
+ label,
20
+ input {
21
+ cursor: pointer;
22
+ }
23
+ }
18
24
 
19
25
  label {
20
26
  padding-bottom: 0;
21
27
  padding-left: base(0.5);
22
-
23
- &[for] {
24
- cursor: pointer;
25
- }
26
28
  }
27
29
 
28
30
  [dir='rtl'] &__input {
@@ -51,7 +53,6 @@
51
53
  opacity: 0;
52
54
  border-radius: 0;
53
55
  z-index: 1;
54
- cursor: pointer;
55
56
  }
56
57
  }
57
58
 
@@ -69,8 +70,6 @@
69
70
  &:focus {
70
71
  .checkbox-input__input,
71
72
  & input[type='checkbox'] {
72
- @include inputShadowActive;
73
-
74
73
  outline: 0;
75
74
  box-shadow: 0 0 3px 3px var(--theme-success-400) !important;
76
75
  border: 1px solid var(--theme-elevation-150);
@@ -105,7 +104,7 @@
105
104
 
106
105
  &--read-only {
107
106
  .checkbox-input__input {
108
- background-color: var(--theme-elevation-100);
107
+ @include readOnly;
109
108
  }
110
109
 
111
110
  label {
@@ -15,4 +15,10 @@
15
15
  background-color: var(--theme-error-50);
16
16
  }
17
17
  }
18
+
19
+ .read-only {
20
+ .code-editor {
21
+ @include readOnly;
22
+ }
23
+ }
18
24
  }
@@ -2,6 +2,7 @@ import React from 'react';
2
2
  import './index.scss';
3
3
  export type ConfirmPasswordFieldProps = {
4
4
  disabled?: boolean;
5
+ path?: string;
5
6
  };
6
7
  export declare const ConfirmPasswordField: React.FC<ConfirmPasswordFieldProps>;
7
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/ConfirmPassword/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAsB,MAAM,OAAO,CAAA;AAQ1C,OAAO,cAAc,CAAA;AAErB,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAsDpE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/ConfirmPassword/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,OAAO,cAAc,CAAA;AAErB,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CA0CpE,CAAA"}
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import React, { useCallback } from 'react';
4
- import { useFormFields } from '../../forms/Form/context.js';
3
+ import { confirmPassword } from 'payload/shared';
4
+ import React from 'react';
5
5
  import { useField } from '../../forms/useField/index.js';
6
6
  import { useTranslation } from '../../providers/Translation/index.js';
7
7
  import { FieldError } from '../FieldError/index.js';
@@ -9,26 +9,18 @@ import { FieldLabel } from '../FieldLabel/index.js';
9
9
  import { fieldBaseClass } from '../shared/index.js';
10
10
  import './index.scss';
11
11
  export const ConfirmPasswordField = (props)=>{
12
- const { disabled } = props;
13
- const password = useFormFields(([fields])=>fields?.password);
12
+ const { disabled, path = 'confirm-password' } = props;
14
13
  const { t } = useTranslation();
15
- const validate = useCallback((value)=>{
16
- if (!value) {
17
- return t('validation:required');
18
- }
19
- if (value === password?.value) {
20
- return true;
21
- }
22
- return t('fields:passwordsDoNotMatch');
23
- }, [
24
- password,
25
- t
26
- ]);
27
- const path = 'confirm-password';
28
14
  const { setValue, showError, value } = useField({
29
- disableFormData: true,
30
15
  path,
31
- validate
16
+ validate: (value, options)=>{
17
+ return confirmPassword(value, {
18
+ name: 'confirm-password',
19
+ type: 'text',
20
+ required: true,
21
+ ...options
22
+ });
23
+ }
32
24
  });
33
25
  return /*#__PURE__*/ _jsxs("div", {
34
26
  className: [
@@ -49,6 +41,7 @@ export const ConfirmPasswordField = (props)=>{
49
41
  path: path
50
42
  }),
51
43
  /*#__PURE__*/ _jsx("input", {
44
+ "aria-label": t('authentication:confirmPassword'),
52
45
  autoComplete: "off",
53
46
  disabled: !!disabled,
54
47
  id: "field-confirm-password",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/ConfirmPassword/index.tsx"],"sourcesContent":["'use client'\nimport type { FormField } from 'payload'\n\nimport React, { useCallback } from 'react'\n\nimport { useFormFields } from '../../forms/Form/context.js'\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 disabled?: boolean\n}\n\nexport const ConfirmPasswordField: React.FC<ConfirmPasswordFieldProps> = (props) => {\n const { disabled } = props\n\n const password = useFormFields<FormField>(([fields]) => fields?.password)\n const { t } = useTranslation()\n\n const validate = useCallback(\n (value: string) => {\n if (!value) {\n return t('validation:required')\n }\n\n if (value === password?.value) {\n return true\n }\n\n return t('fields:passwordsDoNotMatch')\n },\n [password, t],\n )\n\n const path = 'confirm-password'\n\n const { setValue, showError, value } = useField({\n disableFormData: true,\n path,\n validate,\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 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"],"names":["React","useCallback","useFormFields","useField","useTranslation","FieldError","FieldLabel","fieldBaseClass","ConfirmPasswordField","props","disabled","password","fields","t","validate","value","path","setValue","showError","disableFormData","div","className","filter","Boolean","join","htmlFor","label","required","input","autoComplete","id","name","onChange","type"],"mappings":"AAAA;;AAGA,OAAOA,SAASC,WAAW,QAAQ,QAAO;AAE1C,SAASC,aAAa,QAAQ,8BAA6B;AAC3D,SAASC,QAAQ,QAAQ,gCAA+B;AACxD,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,UAAU,QAAQ,yBAAwB;AACnD,SAASC,UAAU,QAAQ,yBAAwB;AACnD,SAASC,cAAc,QAAQ,qBAAoB;AACnD,OAAO,eAAc;AAMrB,OAAO,MAAMC,uBAA4D,CAACC;IACxE,MAAM,EAAEC,QAAQ,EAAE,GAAGD;IAErB,MAAME,WAAWT,cAAyB,CAAC,CAACU,OAAO,GAAKA,QAAQD;IAChE,MAAM,EAAEE,CAAC,EAAE,GAAGT;IAEd,MAAMU,WAAWb,YACf,CAACc;QACC,IAAI,CAACA,OAAO;YACV,OAAOF,EAAE;QACX;QAEA,IAAIE,UAAUJ,UAAUI,OAAO;YAC7B,OAAO;QACT;QAEA,OAAOF,EAAE;IACX,GACA;QAACF;QAAUE;KAAE;IAGf,MAAMG,OAAO;IAEb,MAAM,EAAEC,QAAQ,EAAEC,SAAS,EAAEH,KAAK,EAAE,GAAGZ,SAAS;QAC9CgB,iBAAiB;QACjBH;QACAF;IACF;IAEA,qBACE,MAACM;QACCC,WAAW;YAACd;YAAgB;YAAoBW,aAAa;SAAQ,CAClEI,MAAM,CAACC,SACPC,IAAI,CAAC;;0BAER,KAAClB;gBACCmB,SAAQ;gBACRC,OAAOb,EAAE;gBACTc,QAAQ;;0BAEV,MAACP;gBAAIC,WAAW,CAAC,EAAEd,eAAe,MAAM,CAAC;;kCACvC,KAACF;wBAAWW,MAAMA;;kCAClB,KAACY;wBACCC,cAAa;wBACbnB,UAAU,CAAC,CAACA;wBACZoB,IAAG;wBACHC,MAAK;wBACLC,UAAUf;wBACVgB,MAAK;wBACLlB,OAAO,AAACA,SAAoB;;;;;;AAKtC,EAAC"}
1
+ {"version":3,"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 disabled?: boolean\n 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"],"names":["confirmPassword","React","useField","useTranslation","FieldError","FieldLabel","fieldBaseClass","ConfirmPasswordField","props","disabled","path","t","setValue","showError","value","validate","options","name","type","required","div","className","filter","Boolean","join","htmlFor","label","input","aria-label","autoComplete","id","onChange"],"mappings":"AAAA;;AAEA,SAASA,eAAe,QAAQ,iBAAgB;AAChD,OAAOC,WAAW,QAAO;AAEzB,SAASC,QAAQ,QAAQ,gCAA+B;AACxD,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,UAAU,QAAQ,yBAAwB;AACnD,SAASC,UAAU,QAAQ,yBAAwB;AACnD,SAASC,cAAc,QAAQ,qBAAoB;AACnD,OAAO,eAAc;AAOrB,OAAO,MAAMC,uBAA4D,CAACC;IACxE,MAAM,EAAEC,QAAQ,EAAEC,OAAO,kBAAkB,EAAE,GAAGF;IAChD,MAAM,EAAEG,CAAC,EAAE,GAAGR;IAEd,MAAM,EAAES,QAAQ,EAAEC,SAAS,EAAEC,KAAK,EAAE,GAAGZ,SAAS;QAC9CQ;QACAK,UAAU,CAACD,OAAOE;YAChB,OAAOhB,gBAAgBc,OAAO;gBAC5BG,MAAM;gBACNC,MAAM;gBACNC,UAAU;gBACV,GAAGH,OAAO;YACZ;QACF;IACF;IAEA,qBACE,MAACI;QACCC,WAAW;YAACf;YAAgB;YAAoBO,aAAa;SAAQ,CAClES,MAAM,CAACC,SACPC,IAAI,CAAC;;0BAER,KAACnB;gBACCoB,SAAQ;gBACRC,OAAOf,EAAE;gBACTQ,QAAQ;;0BAEV,MAACC;gBAAIC,WAAW,CAAC,EAAEf,eAAe,MAAM,CAAC;;kCACvC,KAACF;wBAAWM,MAAMA;;kCAClB,KAACiB;wBACCC,cAAYjB,EAAE;wBACdkB,cAAa;wBACbpB,UAAU,CAAC,CAACA;wBACZqB,IAAG;wBACHb,MAAK;wBACLc,UAAUnB;wBACVM,MAAK;wBACLJ,OAAO,AAACA,SAAoB;;;;;;AAKtC,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/DateTime/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA6B,cAAc,EAAE,MAAM,SAAS,CAAA;AAGxE,OAAO,KAAsB,MAAM,OAAO,CAAA;AAO1C,OAAO,cAAc,CAAA;AAiGrB,eAAO,MAAM,aAAa,0BAAwC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/DateTime/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAuB,MAAM,SAAS,CAAA;AAGlE,OAAO,KAAsB,MAAM,OAAO,CAAA;AAO1C,OAAO,cAAc,CAAA;AAiGrB,eAAO,MAAM,aAAa,0BAAwC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/DateTime/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientValidate, DateField, DateFieldProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback } from 'react'\n\nimport { DatePickerField } from '../../elements/DatePicker/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nconst baseClass = 'date-time-field'\n\nimport { useFieldProps } from '../../forms/FieldPropsProvider/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldError } from '../FieldError/index.js'\n\nconst DateTimeFieldComponent: React.FC<DateFieldProps> = (props) => {\n const {\n name,\n AfterInput,\n BeforeInput,\n CustomDescription,\n CustomError,\n CustomLabel,\n className,\n date: datePickerProps,\n descriptionProps,\n errorProps,\n label,\n labelProps,\n path: pathFromProps,\n placeholder,\n readOnly: readOnlyFromProps,\n required,\n style,\n validate,\n width,\n } = props\n\n const { i18n } = useTranslation()\n\n const memoizedValidate: ClientValidate = useCallback(\n (value, options) => {\n if (typeof validate === 'function') {\n return validate(value, { ...options, required })\n }\n },\n [validate, required],\n )\n\n const { path: pathFromContext, readOnly: readOnlyFromContext } = useFieldProps()\n\n const { formInitializing, formProcessing, path, setValue, showError, value } = useField<Date>({\n path: pathFromContext ?? pathFromProps ?? name,\n validate: memoizedValidate,\n })\n\n const disabled = readOnlyFromProps || readOnlyFromContext || formProcessing || formInitializing\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n showError && `${baseClass}--has-error`,\n disabled && 'read-only',\n ]\n .filter(Boolean)\n .join(' ')}\n style={{\n ...style,\n width,\n }}\n >\n <FieldLabel\n CustomLabel={CustomLabel}\n label={label}\n required={required}\n {...(labelProps || {})}\n />\n <div className={`${fieldBaseClass}__wrap`} id={`field-${path.replace(/\\./g, '__')}`}>\n <FieldError CustomError={CustomError} path={path} {...(errorProps || {})} />\n {BeforeInput}\n <DatePickerField\n {...datePickerProps}\n onChange={(incomingDate) => {\n if (!disabled) setValue(incomingDate?.toISOString() || null)\n }}\n placeholder={getTranslation(placeholder, i18n)}\n readOnly={disabled}\n value={value}\n />\n {AfterInput}\n </div>\n {CustomDescription !== undefined ? (\n CustomDescription\n ) : (\n <FieldDescription {...(descriptionProps || {})} />\n )}\n </div>\n )\n}\n\nexport const DateTimeField = withCondition(DateTimeFieldComponent)\n"],"names":["getTranslation","React","useCallback","DatePickerField","useField","useTranslation","FieldLabel","fieldBaseClass","baseClass","useFieldProps","withCondition","FieldDescription","FieldError","DateTimeFieldComponent","props","name","AfterInput","BeforeInput","CustomDescription","CustomError","CustomLabel","className","date","datePickerProps","descriptionProps","errorProps","label","labelProps","path","pathFromProps","placeholder","readOnly","readOnlyFromProps","required","style","validate","width","i18n","memoizedValidate","value","options","pathFromContext","readOnlyFromContext","formInitializing","formProcessing","setValue","showError","disabled","div","filter","Boolean","join","id","replace","onChange","incomingDate","toISOString","undefined","DateTimeField"],"mappings":"AAAA;;AAGA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,SAASC,WAAW,QAAQ,QAAO;AAE1C,SAASC,eAAe,QAAQ,qCAAoC;AACpE,SAASC,QAAQ,QAAQ,gCAA+B;AACxD,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,UAAU,QAAQ,yBAAwB;AACnD,SAASC,cAAc,QAAQ,qBAAoB;AACnD,OAAO,eAAc;AAErB,MAAMC,YAAY;AAElB,SAASC,aAAa,QAAQ,0CAAyC;AACvE,SAASC,aAAa,QAAQ,qCAAoC;AAClE,SAASC,gBAAgB,QAAQ,+BAA8B;AAC/D,SAASC,UAAU,QAAQ,yBAAwB;AAEnD,MAAMC,yBAAmD,CAACC;IACxD,MAAM,EACJC,IAAI,EACJC,UAAU,EACVC,WAAW,EACXC,iBAAiB,EACjBC,WAAW,EACXC,WAAW,EACXC,SAAS,EACTC,MAAMC,eAAe,EACrBC,gBAAgB,EAChBC,UAAU,EACVC,KAAK,EACLC,UAAU,EACVC,MAAMC,aAAa,EACnBC,WAAW,EACXC,UAAUC,iBAAiB,EAC3BC,QAAQ,EACRC,KAAK,EACLC,QAAQ,EACRC,KAAK,EACN,GAAGtB;IAEJ,MAAM,EAAEuB,IAAI,EAAE,GAAGhC;IAEjB,MAAMiC,mBAAmCpC,YACvC,CAACqC,OAAOC;QACN,IAAI,OAAOL,aAAa,YAAY;YAClC,OAAOA,SAASI,OAAO;gBAAE,GAAGC,OAAO;gBAAEP;YAAS;QAChD;IACF,GACA;QAACE;QAAUF;KAAS;IAGtB,MAAM,EAAEL,MAAMa,eAAe,EAAEV,UAAUW,mBAAmB,EAAE,GAAGjC;IAEjE,MAAM,EAAEkC,gBAAgB,EAAEC,cAAc,EAAEhB,IAAI,EAAEiB,QAAQ,EAAEC,SAAS,EAAEP,KAAK,EAAE,GAAGnC,SAAe;QAC5FwB,MAAMa,mBAAmBZ,iBAAiBd;QAC1CoB,UAAUG;IACZ;IAEA,MAAMS,WAAWf,qBAAqBU,uBAAuBE,kBAAkBD;IAE/E,qBACE,MAACK;QACC3B,WAAW;YACTd;YACAC;YACAa;YACAyB,aAAa,CAAC,EAAEtC,UAAU,WAAW,CAAC;YACtCuC,YAAY;SACb,CACEE,MAAM,CAACC,SACPC,IAAI,CAAC;QACRjB,OAAO;YACL,GAAGA,KAAK;YACRE;QACF;;0BAEA,KAAC9B;gBACCc,aAAaA;gBACbM,OAAOA;gBACPO,UAAUA;gBACT,GAAIN,cAAc,CAAC,CAAC;;0BAEvB,MAACqB;gBAAI3B,WAAW,CAAC,EAAEd,eAAe,MAAM,CAAC;gBAAE6C,IAAI,CAAC,MAAM,EAAExB,KAAKyB,OAAO,CAAC,OAAO,MAAM,CAAC;;kCACjF,KAACzC;wBAAWO,aAAaA;wBAAaS,MAAMA;wBAAO,GAAIH,cAAc,CAAC,CAAC;;oBACtER;kCACD,KAACd;wBACE,GAAGoB,eAAe;wBACnB+B,UAAU,CAACC;4BACT,IAAI,CAACR,UAAUF,SAASU,cAAcC,iBAAiB;wBACzD;wBACA1B,aAAa9B,eAAe8B,aAAaO;wBACzCN,UAAUgB;wBACVR,OAAOA;;oBAERvB;;;YAEFE,sBAAsBuC,YACrBvC,kCAEA,KAACP;gBAAkB,GAAIa,oBAAoB,CAAC,CAAC;;;;AAIrD;AAEA,OAAO,MAAMkC,gBAAgBhD,cAAcG,wBAAuB"}
1
+ {"version":3,"sources":["../../../src/fields/DateTime/index.tsx"],"sourcesContent":["'use client'\nimport type { DateFieldProps, DateFieldValidation } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback } from 'react'\n\nimport { DatePickerField } from '../../elements/DatePicker/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nconst baseClass = 'date-time-field'\n\nimport { useFieldProps } from '../../forms/FieldPropsProvider/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldError } from '../FieldError/index.js'\n\nconst DateTimeFieldComponent: React.FC<DateFieldProps> = (props) => {\n const {\n name,\n AfterInput,\n BeforeInput,\n CustomDescription,\n CustomError,\n CustomLabel,\n className,\n date: datePickerProps,\n descriptionProps,\n errorProps,\n label,\n labelProps,\n path: pathFromProps,\n placeholder,\n readOnly: readOnlyFromProps,\n required,\n style,\n validate,\n width,\n } = props\n\n const { i18n } = useTranslation()\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 { path: pathFromContext, readOnly: readOnlyFromContext } = useFieldProps()\n\n const { formInitializing, formProcessing, path, setValue, showError, value } = useField<Date>({\n path: pathFromContext ?? pathFromProps ?? name,\n validate: memoizedValidate,\n })\n\n const disabled = readOnlyFromProps || readOnlyFromContext || formProcessing || formInitializing\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n showError && `${baseClass}--has-error`,\n disabled && 'read-only',\n ]\n .filter(Boolean)\n .join(' ')}\n style={{\n ...style,\n width,\n }}\n >\n <FieldLabel\n CustomLabel={CustomLabel}\n label={label}\n required={required}\n {...(labelProps || {})}\n />\n <div className={`${fieldBaseClass}__wrap`} id={`field-${path.replace(/\\./g, '__')}`}>\n <FieldError CustomError={CustomError} path={path} {...(errorProps || {})} />\n {BeforeInput}\n <DatePickerField\n {...datePickerProps}\n onChange={(incomingDate) => {\n if (!disabled) setValue(incomingDate?.toISOString() || null)\n }}\n placeholder={getTranslation(placeholder, i18n)}\n readOnly={disabled}\n value={value}\n />\n {AfterInput}\n </div>\n {CustomDescription !== undefined ? (\n CustomDescription\n ) : (\n <FieldDescription {...(descriptionProps || {})} />\n )}\n </div>\n )\n}\n\nexport const DateTimeField = withCondition(DateTimeFieldComponent)\n"],"names":["getTranslation","React","useCallback","DatePickerField","useField","useTranslation","FieldLabel","fieldBaseClass","baseClass","useFieldProps","withCondition","FieldDescription","FieldError","DateTimeFieldComponent","props","name","AfterInput","BeforeInput","CustomDescription","CustomError","CustomLabel","className","date","datePickerProps","descriptionProps","errorProps","label","labelProps","path","pathFromProps","placeholder","readOnly","readOnlyFromProps","required","style","validate","width","i18n","memoizedValidate","value","options","pathFromContext","readOnlyFromContext","formInitializing","formProcessing","setValue","showError","disabled","div","filter","Boolean","join","id","replace","onChange","incomingDate","toISOString","undefined","DateTimeField"],"mappings":"AAAA;;AAGA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,SAASC,WAAW,QAAQ,QAAO;AAE1C,SAASC,eAAe,QAAQ,qCAAoC;AACpE,SAASC,QAAQ,QAAQ,gCAA+B;AACxD,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,UAAU,QAAQ,yBAAwB;AACnD,SAASC,cAAc,QAAQ,qBAAoB;AACnD,OAAO,eAAc;AAErB,MAAMC,YAAY;AAElB,SAASC,aAAa,QAAQ,0CAAyC;AACvE,SAASC,aAAa,QAAQ,qCAAoC;AAClE,SAASC,gBAAgB,QAAQ,+BAA8B;AAC/D,SAASC,UAAU,QAAQ,yBAAwB;AAEnD,MAAMC,yBAAmD,CAACC;IACxD,MAAM,EACJC,IAAI,EACJC,UAAU,EACVC,WAAW,EACXC,iBAAiB,EACjBC,WAAW,EACXC,WAAW,EACXC,SAAS,EACTC,MAAMC,eAAe,EACrBC,gBAAgB,EAChBC,UAAU,EACVC,KAAK,EACLC,UAAU,EACVC,MAAMC,aAAa,EACnBC,WAAW,EACXC,UAAUC,iBAAiB,EAC3BC,QAAQ,EACRC,KAAK,EACLC,QAAQ,EACRC,KAAK,EACN,GAAGtB;IAEJ,MAAM,EAAEuB,IAAI,EAAE,GAAGhC;IAEjB,MAAMiC,mBAAwCpC,YAC5C,CAACqC,OAAOC;QACN,IAAI,OAAOL,aAAa,YAAY;YAClC,OAAOA,SAASI,OAAO;gBAAE,GAAGC,OAAO;gBAAEP;YAAS;QAChD;IACF,GACA;QAACE;QAAUF;KAAS;IAGtB,MAAM,EAAEL,MAAMa,eAAe,EAAEV,UAAUW,mBAAmB,EAAE,GAAGjC;IAEjE,MAAM,EAAEkC,gBAAgB,EAAEC,cAAc,EAAEhB,IAAI,EAAEiB,QAAQ,EAAEC,SAAS,EAAEP,KAAK,EAAE,GAAGnC,SAAe;QAC5FwB,MAAMa,mBAAmBZ,iBAAiBd;QAC1CoB,UAAUG;IACZ;IAEA,MAAMS,WAAWf,qBAAqBU,uBAAuBE,kBAAkBD;IAE/E,qBACE,MAACK;QACC3B,WAAW;YACTd;YACAC;YACAa;YACAyB,aAAa,CAAC,EAAEtC,UAAU,WAAW,CAAC;YACtCuC,YAAY;SACb,CACEE,MAAM,CAACC,SACPC,IAAI,CAAC;QACRjB,OAAO;YACL,GAAGA,KAAK;YACRE;QACF;;0BAEA,KAAC9B;gBACCc,aAAaA;gBACbM,OAAOA;gBACPO,UAAUA;gBACT,GAAIN,cAAc,CAAC,CAAC;;0BAEvB,MAACqB;gBAAI3B,WAAW,CAAC,EAAEd,eAAe,MAAM,CAAC;gBAAE6C,IAAI,CAAC,MAAM,EAAExB,KAAKyB,OAAO,CAAC,OAAO,MAAM,CAAC;;kCACjF,KAACzC;wBAAWO,aAAaA;wBAAaS,MAAMA;wBAAO,GAAIH,cAAc,CAAC,CAAC;;oBACtER;kCACD,KAACd;wBACE,GAAGoB,eAAe;wBACnB+B,UAAU,CAACC;4BACT,IAAI,CAACR,UAAUF,SAASU,cAAcC,iBAAiB;wBACzD;wBACA1B,aAAa9B,eAAe8B,aAAaO;wBACzCN,UAAUgB;wBACVR,OAAOA;;oBAERvB;;;YAEFE,sBAAsBuC,YACrBvC,kCAEA,KAACP;gBAAkB,GAAIa,oBAAoB,CAAC,CAAC;;;;AAIrD;AAEA,OAAO,MAAMkC,gBAAgBhD,cAAcG,wBAAuB"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Email/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAkB,eAAe,EAAE,MAAM,SAAS,CAAA;AAG9D,OAAO,KAAsB,MAAM,OAAO,CAAA;AAU1C,OAAO,cAAc,CAAA;AAqFrB,eAAO,MAAM,UAAU,2BAAqC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Email/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAwB,MAAM,SAAS,CAAA;AAGpE,OAAO,KAAsB,MAAM,OAAO,CAAA;AAU1C,OAAO,cAAc,CAAA;AAqFrB,eAAO,MAAM,UAAU,2BAAqC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/Email/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientValidate, EmailFieldProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback } from 'react'\n\nimport { useFieldProps } from '../../forms/FieldPropsProvider/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 { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nconst EmailFieldComponent: React.FC<EmailFieldProps> = (props) => {\n const {\n name,\n AfterInput,\n BeforeInput,\n CustomDescription,\n CustomError,\n CustomLabel,\n autoComplete,\n className,\n descriptionProps,\n errorProps,\n label,\n labelProps,\n path: pathFromProps,\n placeholder,\n readOnly: readOnlyFromProps,\n required,\n style,\n validate,\n width,\n } = props\n\n const { i18n } = useTranslation()\n\n const memoizedValidate: ClientValidate = useCallback(\n (value, options) => {\n if (typeof validate === 'function') {\n return validate(value, { ...options, required })\n }\n },\n [validate, required],\n )\n\n const { path: pathFromContext, readOnly: readOnlyFromContext } = useFieldProps()\n\n const { formInitializing, formProcessing, path, setValue, showError, value } = useField({\n path: pathFromContext ?? pathFromProps ?? name,\n validate: memoizedValidate,\n })\n\n const disabled = readOnlyFromProps || readOnlyFromContext || formProcessing || formInitializing\n\n return (\n <div\n className={[fieldBaseClass, 'email', className, showError && 'error', disabled && 'read-only']\n .filter(Boolean)\n .join(' ')}\n style={{\n ...style,\n width,\n }}\n >\n <FieldLabel\n CustomLabel={CustomLabel}\n label={label}\n required={required}\n {...(labelProps || {})}\n />\n <div className={`${fieldBaseClass}__wrap`}>\n <FieldError CustomError={CustomError} path={path} {...(errorProps || {})} />\n {BeforeInput}\n <input\n autoComplete={autoComplete}\n disabled={disabled}\n id={`field-${path.replace(/\\./g, '__')}`}\n name={path}\n onChange={setValue}\n placeholder={getTranslation(placeholder, i18n)}\n type=\"email\"\n value={(value as string) || ''}\n />\n {AfterInput}\n </div>\n {CustomDescription !== undefined ? (\n CustomDescription\n ) : (\n <FieldDescription {...(descriptionProps || {})} />\n )}\n </div>\n )\n}\n\nexport const EmailField = withCondition(EmailFieldComponent)\n"],"names":["getTranslation","React","useCallback","useFieldProps","useField","withCondition","useTranslation","FieldDescription","FieldError","FieldLabel","fieldBaseClass","EmailFieldComponent","props","name","AfterInput","BeforeInput","CustomDescription","CustomError","CustomLabel","autoComplete","className","descriptionProps","errorProps","label","labelProps","path","pathFromProps","placeholder","readOnly","readOnlyFromProps","required","style","validate","width","i18n","memoizedValidate","value","options","pathFromContext","readOnlyFromContext","formInitializing","formProcessing","setValue","showError","disabled","div","filter","Boolean","join","input","id","replace","onChange","type","undefined","EmailField"],"mappings":"AAAA;;AAGA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,SAASC,WAAW,QAAQ,QAAO;AAE1C,SAASC,aAAa,QAAQ,0CAAyC;AACvE,SAASC,QAAQ,QAAQ,gCAA+B;AACxD,SAASC,aAAa,QAAQ,qCAAoC;AAClE,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,gBAAgB,QAAQ,+BAA8B;AAC/D,SAASC,UAAU,QAAQ,yBAAwB;AACnD,SAASC,UAAU,QAAQ,yBAAwB;AACnD,SAASC,cAAc,QAAQ,qBAAoB;AACnD,OAAO,eAAc;AAErB,MAAMC,sBAAiD,CAACC;IACtD,MAAM,EACJC,IAAI,EACJC,UAAU,EACVC,WAAW,EACXC,iBAAiB,EACjBC,WAAW,EACXC,WAAW,EACXC,YAAY,EACZC,SAAS,EACTC,gBAAgB,EAChBC,UAAU,EACVC,KAAK,EACLC,UAAU,EACVC,MAAMC,aAAa,EACnBC,WAAW,EACXC,UAAUC,iBAAiB,EAC3BC,QAAQ,EACRC,KAAK,EACLC,QAAQ,EACRC,KAAK,EACN,GAAGrB;IAEJ,MAAM,EAAEsB,IAAI,EAAE,GAAG5B;IAEjB,MAAM6B,mBAAmCjC,YACvC,CAACkC,OAAOC;QACN,IAAI,OAAOL,aAAa,YAAY;YAClC,OAAOA,SAASI,OAAO;gBAAE,GAAGC,OAAO;gBAAEP;YAAS;QAChD;IACF,GACA;QAACE;QAAUF;KAAS;IAGtB,MAAM,EAAEL,MAAMa,eAAe,EAAEV,UAAUW,mBAAmB,EAAE,GAAGpC;IAEjE,MAAM,EAAEqC,gBAAgB,EAAEC,cAAc,EAAEhB,IAAI,EAAEiB,QAAQ,EAAEC,SAAS,EAAEP,KAAK,EAAE,GAAGhC,SAAS;QACtFqB,MAAMa,mBAAmBZ,iBAAiBb;QAC1CmB,UAAUG;IACZ;IAEA,MAAMS,WAAWf,qBAAqBU,uBAAuBE,kBAAkBD;IAE/E,qBACE,MAACK;QACCzB,WAAW;YAACV;YAAgB;YAASU;YAAWuB,aAAa;YAASC,YAAY;SAAY,CAC3FE,MAAM,CAACC,SACPC,IAAI,CAAC;QACRjB,OAAO;YACL,GAAGA,KAAK;YACRE;QACF;;0BAEA,KAACxB;gBACCS,aAAaA;gBACbK,OAAOA;gBACPO,UAAUA;gBACT,GAAIN,cAAc,CAAC,CAAC;;0BAEvB,MAACqB;gBAAIzB,WAAW,CAAC,EAAEV,eAAe,MAAM,CAAC;;kCACvC,KAACF;wBAAWS,aAAaA;wBAAaQ,MAAMA;wBAAO,GAAIH,cAAc,CAAC,CAAC;;oBACtEP;kCACD,KAACkC;wBACC9B,cAAcA;wBACdyB,UAAUA;wBACVM,IAAI,CAAC,MAAM,EAAEzB,KAAK0B,OAAO,CAAC,OAAO,MAAM,CAAC;wBACxCtC,MAAMY;wBACN2B,UAAUV;wBACVf,aAAa3B,eAAe2B,aAAaO;wBACzCmB,MAAK;wBACLjB,OAAO,AAACA,SAAoB;;oBAE7BtB;;;YAEFE,sBAAsBsC,YACrBtC,kCAEA,KAACT;gBAAkB,GAAIc,oBAAoB,CAAC,CAAC;;;;AAIrD;AAEA,OAAO,MAAMkC,aAAalD,cAAcM,qBAAoB"}
1
+ {"version":3,"sources":["../../../src/fields/Email/index.tsx"],"sourcesContent":["'use client'\nimport type { EmailFieldProps, EmailFieldValidation } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback } from 'react'\n\nimport { useFieldProps } from '../../forms/FieldPropsProvider/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 { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nconst EmailFieldComponent: React.FC<EmailFieldProps> = (props) => {\n const {\n name,\n AfterInput,\n BeforeInput,\n CustomDescription,\n CustomError,\n CustomLabel,\n autoComplete,\n className,\n descriptionProps,\n errorProps,\n label,\n labelProps,\n path: pathFromProps,\n placeholder,\n readOnly: readOnlyFromProps,\n required,\n style,\n validate,\n width,\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 { path: pathFromContext, readOnly: readOnlyFromContext } = useFieldProps()\n\n const { formInitializing, formProcessing, path, setValue, showError, value } = useField({\n path: pathFromContext ?? pathFromProps ?? name,\n validate: memoizedValidate,\n })\n\n const disabled = readOnlyFromProps || readOnlyFromContext || formProcessing || formInitializing\n\n return (\n <div\n className={[fieldBaseClass, 'email', className, showError && 'error', disabled && 'read-only']\n .filter(Boolean)\n .join(' ')}\n style={{\n ...style,\n width,\n }}\n >\n <FieldLabel\n CustomLabel={CustomLabel}\n label={label}\n required={required}\n {...(labelProps || {})}\n />\n <div className={`${fieldBaseClass}__wrap`}>\n <FieldError CustomError={CustomError} path={path} {...(errorProps || {})} />\n {BeforeInput}\n <input\n autoComplete={autoComplete}\n disabled={disabled}\n id={`field-${path.replace(/\\./g, '__')}`}\n name={path}\n onChange={setValue}\n placeholder={getTranslation(placeholder, i18n)}\n type=\"email\"\n value={(value as string) || ''}\n />\n {AfterInput}\n </div>\n {CustomDescription !== undefined ? (\n CustomDescription\n ) : (\n <FieldDescription {...(descriptionProps || {})} />\n )}\n </div>\n )\n}\n\nexport const EmailField = withCondition(EmailFieldComponent)\n"],"names":["getTranslation","React","useCallback","useFieldProps","useField","withCondition","useTranslation","FieldDescription","FieldError","FieldLabel","fieldBaseClass","EmailFieldComponent","props","name","AfterInput","BeforeInput","CustomDescription","CustomError","CustomLabel","autoComplete","className","descriptionProps","errorProps","label","labelProps","path","pathFromProps","placeholder","readOnly","readOnlyFromProps","required","style","validate","width","i18n","memoizedValidate","value","options","pathFromContext","readOnlyFromContext","formInitializing","formProcessing","setValue","showError","disabled","div","filter","Boolean","join","input","id","replace","onChange","type","undefined","EmailField"],"mappings":"AAAA;;AAGA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,SAASC,WAAW,QAAQ,QAAO;AAE1C,SAASC,aAAa,QAAQ,0CAAyC;AACvE,SAASC,QAAQ,QAAQ,gCAA+B;AACxD,SAASC,aAAa,QAAQ,qCAAoC;AAClE,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,gBAAgB,QAAQ,+BAA8B;AAC/D,SAASC,UAAU,QAAQ,yBAAwB;AACnD,SAASC,UAAU,QAAQ,yBAAwB;AACnD,SAASC,cAAc,QAAQ,qBAAoB;AACnD,OAAO,eAAc;AAErB,MAAMC,sBAAiD,CAACC;IACtD,MAAM,EACJC,IAAI,EACJC,UAAU,EACVC,WAAW,EACXC,iBAAiB,EACjBC,WAAW,EACXC,WAAW,EACXC,YAAY,EACZC,SAAS,EACTC,gBAAgB,EAChBC,UAAU,EACVC,KAAK,EACLC,UAAU,EACVC,MAAMC,aAAa,EACnBC,WAAW,EACXC,UAAUC,iBAAiB,EAC3BC,QAAQ,EACRC,KAAK,EACLC,QAAQ,EACRC,KAAK,EACN,GAAGrB;IAEJ,MAAM,EAAEsB,IAAI,EAAE,GAAG5B;IAEjB,MAAM6B,mBAAyCjC,YAC7C,CAACkC,OAAOC;QACN,IAAI,OAAOL,aAAa,YAAY;YAClC,OAAOA,SAASI,OAAO;gBAAE,GAAGC,OAAO;gBAAEP;YAAS;QAChD;IACF,GACA;QAACE;QAAUF;KAAS;IAGtB,MAAM,EAAEL,MAAMa,eAAe,EAAEV,UAAUW,mBAAmB,EAAE,GAAGpC;IAEjE,MAAM,EAAEqC,gBAAgB,EAAEC,cAAc,EAAEhB,IAAI,EAAEiB,QAAQ,EAAEC,SAAS,EAAEP,KAAK,EAAE,GAAGhC,SAAS;QACtFqB,MAAMa,mBAAmBZ,iBAAiBb;QAC1CmB,UAAUG;IACZ;IAEA,MAAMS,WAAWf,qBAAqBU,uBAAuBE,kBAAkBD;IAE/E,qBACE,MAACK;QACCzB,WAAW;YAACV;YAAgB;YAASU;YAAWuB,aAAa;YAASC,YAAY;SAAY,CAC3FE,MAAM,CAACC,SACPC,IAAI,CAAC;QACRjB,OAAO;YACL,GAAGA,KAAK;YACRE;QACF;;0BAEA,KAACxB;gBACCS,aAAaA;gBACbK,OAAOA;gBACPO,UAAUA;gBACT,GAAIN,cAAc,CAAC,CAAC;;0BAEvB,MAACqB;gBAAIzB,WAAW,CAAC,EAAEV,eAAe,MAAM,CAAC;;kCACvC,KAACF;wBAAWS,aAAaA;wBAAaQ,MAAMA;wBAAO,GAAIH,cAAc,CAAC,CAAC;;oBACtEP;kCACD,KAACkC;wBACC9B,cAAcA;wBACdyB,UAAUA;wBACVM,IAAI,CAAC,MAAM,EAAEzB,KAAK0B,OAAO,CAAC,OAAO,MAAM,CAAC;wBACxCtC,MAAMY;wBACN2B,UAAUV;wBACVf,aAAa3B,eAAe2B,aAAaO;wBACzCmB,MAAK;wBACLjB,OAAO,AAACA,SAAoB;;oBAE7BtB;;;YAEFE,sBAAsBsC,YACrBtC,kCAEA,KAACT;gBAAkB,GAAIc,oBAAoB,CAAC,CAAC;;;;AAIrD;AAEA,OAAO,MAAMkC,aAAalD,cAAcM,qBAAoB"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/JSON/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAkB,cAAc,EAAE,MAAM,SAAS,CAAA;AAE7D,OAAO,KAA2C,MAAM,OAAO,CAAA;AAO/D,OAAO,cAAc,CAAA;AA8IrB,eAAO,MAAM,SAAS,0BAAoC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/JSON/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAE7C,OAAO,KAA2C,MAAM,OAAO,CAAA;AAO/D,OAAO,cAAc,CAAA;AA8IrB,eAAO,MAAM,SAAS,0BAAoC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/JSON/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientValidate, JSONFieldProps } from 'payload'\n\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport { CodeEditor } from '../../elements/CodeEditor/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nconst baseClass = 'json-field'\n\nimport { useFieldProps } from '../../forms/FieldPropsProvider/index.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldError } from '../FieldError/index.js'\n\nconst JSONFieldComponent: React.FC<JSONFieldProps> = (props) => {\n const {\n name,\n AfterInput,\n BeforeInput,\n CustomDescription,\n CustomError,\n CustomLabel,\n className,\n descriptionProps,\n editorOptions,\n errorProps,\n jsonSchema,\n label,\n labelProps,\n path: pathFromProps,\n readOnly: readOnlyFromProps,\n required,\n style,\n validate,\n width,\n } = props\n\n const [stringValue, setStringValue] = useState<string>()\n const [jsonError, setJsonError] = useState<string>()\n const [hasLoadedValue, setHasLoadedValue] = useState(false)\n\n const memoizedValidate: ClientValidate = useCallback(\n (value, options) => {\n if (typeof validate === 'function')\n return validate(value, { ...options, jsonError, required })\n },\n [validate, required, jsonError],\n )\n\n const { path: pathFromContext, readOnly: readOnlyFromContext } = useFieldProps()\n\n const { formInitializing, formProcessing, initialValue, path, setValue, showError, value } =\n useField<string>({\n path: pathFromContext ?? pathFromProps ?? name,\n validate: memoizedValidate,\n })\n\n const disabled = readOnlyFromProps || readOnlyFromContext || formProcessing || formInitializing\n\n const handleMount = useCallback(\n (editor, monaco) => {\n if (!jsonSchema) return\n\n const existingSchemas = monaco.languages.json.jsonDefaults.diagnosticsOptions.schemas || []\n const modelUri = monaco.Uri.parse(jsonSchema.uri)\n\n const model = monaco.editor.createModel(JSON.stringify(value, null, 2), 'json', modelUri)\n monaco.languages.json.jsonDefaults.setDiagnosticsOptions({\n enableSchemaRequest: true,\n schemas: [...existingSchemas, jsonSchema],\n validate: true,\n })\n\n editor.setModel(model)\n },\n [jsonSchema, value],\n )\n\n const handleChange = useCallback(\n (val) => {\n if (disabled) return\n setStringValue(val)\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 [disabled, setValue, setStringValue],\n )\n\n useEffect(() => {\n if (hasLoadedValue || value === undefined) return\n\n setStringValue(\n value || initialValue ? JSON.stringify(value ? value : initialValue, null, 2) : '',\n )\n\n setHasLoadedValue(true)\n }, [initialValue, value, hasLoadedValue])\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n showError && 'error',\n disabled && 'read-only',\n ]\n .filter(Boolean)\n .join(' ')}\n style={{\n ...style,\n width,\n }}\n >\n <FieldLabel\n CustomLabel={CustomLabel}\n label={label}\n required={required}\n {...(labelProps || {})}\n />\n <div className={`${fieldBaseClass}__wrap`}>\n <FieldError CustomError={CustomError} path={path} {...(errorProps || {})} />\n {BeforeInput}\n <CodeEditor\n defaultLanguage=\"json\"\n onChange={handleChange}\n onMount={handleMount}\n options={editorOptions}\n readOnly={disabled}\n value={stringValue}\n />\n {AfterInput}\n </div>\n {CustomDescription !== undefined ? (\n CustomDescription\n ) : (\n <FieldDescription {...(descriptionProps || {})} />\n )}\n </div>\n )\n}\n\nexport const JSONField = withCondition(JSONFieldComponent)\n"],"names":["React","useCallback","useEffect","useState","CodeEditor","useField","withCondition","FieldLabel","fieldBaseClass","baseClass","useFieldProps","FieldDescription","FieldError","JSONFieldComponent","props","name","AfterInput","BeforeInput","CustomDescription","CustomError","CustomLabel","className","descriptionProps","editorOptions","errorProps","jsonSchema","label","labelProps","path","pathFromProps","readOnly","readOnlyFromProps","required","style","validate","width","stringValue","setStringValue","jsonError","setJsonError","hasLoadedValue","setHasLoadedValue","memoizedValidate","value","options","pathFromContext","readOnlyFromContext","formInitializing","formProcessing","initialValue","setValue","showError","disabled","handleMount","editor","monaco","existingSchemas","languages","json","jsonDefaults","diagnosticsOptions","schemas","modelUri","Uri","parse","uri","model","createModel","JSON","stringify","setDiagnosticsOptions","enableSchemaRequest","setModel","handleChange","val","undefined","e","div","filter","Boolean","join","defaultLanguage","onChange","onMount","JSONField"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/fields/JSON/index.tsx"],"sourcesContent":["'use client'\nimport type { JSONFieldProps } from 'payload'\n\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport { CodeEditor } from '../../elements/CodeEditor/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nconst baseClass = 'json-field'\n\nimport { useFieldProps } from '../../forms/FieldPropsProvider/index.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldError } from '../FieldError/index.js'\n\nconst JSONFieldComponent: React.FC<JSONFieldProps> = (props) => {\n const {\n name,\n AfterInput,\n BeforeInput,\n CustomDescription,\n CustomError,\n CustomLabel,\n className,\n descriptionProps,\n editorOptions,\n errorProps,\n jsonSchema,\n label,\n labelProps,\n path: pathFromProps,\n readOnly: readOnlyFromProps,\n required,\n style,\n validate,\n width,\n } = props\n\n const [stringValue, setStringValue] = useState<string>()\n const [jsonError, setJsonError] = useState<string>()\n const [hasLoadedValue, setHasLoadedValue] = useState(false)\n\n const memoizedValidate = useCallback(\n (value, options) => {\n if (typeof validate === 'function')\n return validate(value, { ...options, jsonError, required })\n },\n [validate, required, jsonError],\n )\n\n const { path: pathFromContext, readOnly: readOnlyFromContext } = useFieldProps()\n\n const { formInitializing, formProcessing, initialValue, path, setValue, showError, value } =\n useField<string>({\n path: pathFromContext ?? pathFromProps ?? name,\n validate: memoizedValidate,\n })\n\n const disabled = readOnlyFromProps || readOnlyFromContext || formProcessing || formInitializing\n\n const handleMount = useCallback(\n (editor, monaco) => {\n if (!jsonSchema) return\n\n const existingSchemas = monaco.languages.json.jsonDefaults.diagnosticsOptions.schemas || []\n const modelUri = monaco.Uri.parse(jsonSchema.uri)\n\n const model = monaco.editor.createModel(JSON.stringify(value, null, 2), 'json', modelUri)\n monaco.languages.json.jsonDefaults.setDiagnosticsOptions({\n enableSchemaRequest: true,\n schemas: [...existingSchemas, jsonSchema],\n validate: true,\n })\n\n editor.setModel(model)\n },\n [jsonSchema, value],\n )\n\n const handleChange = useCallback(\n (val) => {\n if (disabled) return\n setStringValue(val)\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 [disabled, setValue, setStringValue],\n )\n\n useEffect(() => {\n if (hasLoadedValue || value === undefined) return\n\n setStringValue(\n value || initialValue ? JSON.stringify(value ? value : initialValue, null, 2) : '',\n )\n\n setHasLoadedValue(true)\n }, [initialValue, value, hasLoadedValue])\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n showError && 'error',\n disabled && 'read-only',\n ]\n .filter(Boolean)\n .join(' ')}\n style={{\n ...style,\n width,\n }}\n >\n <FieldLabel\n CustomLabel={CustomLabel}\n label={label}\n required={required}\n {...(labelProps || {})}\n />\n <div className={`${fieldBaseClass}__wrap`}>\n <FieldError CustomError={CustomError} path={path} {...(errorProps || {})} />\n {BeforeInput}\n <CodeEditor\n defaultLanguage=\"json\"\n onChange={handleChange}\n onMount={handleMount}\n options={editorOptions}\n readOnly={disabled}\n value={stringValue}\n />\n {AfterInput}\n </div>\n {CustomDescription !== undefined ? (\n CustomDescription\n ) : (\n <FieldDescription {...(descriptionProps || {})} />\n )}\n </div>\n )\n}\n\nexport const JSONField = withCondition(JSONFieldComponent)\n"],"names":["React","useCallback","useEffect","useState","CodeEditor","useField","withCondition","FieldLabel","fieldBaseClass","baseClass","useFieldProps","FieldDescription","FieldError","JSONFieldComponent","props","name","AfterInput","BeforeInput","CustomDescription","CustomError","CustomLabel","className","descriptionProps","editorOptions","errorProps","jsonSchema","label","labelProps","path","pathFromProps","readOnly","readOnlyFromProps","required","style","validate","width","stringValue","setStringValue","jsonError","setJsonError","hasLoadedValue","setHasLoadedValue","memoizedValidate","value","options","pathFromContext","readOnlyFromContext","formInitializing","formProcessing","initialValue","setValue","showError","disabled","handleMount","editor","monaco","existingSchemas","languages","json","jsonDefaults","diagnosticsOptions","schemas","modelUri","Uri","parse","uri","model","createModel","JSON","stringify","setDiagnosticsOptions","enableSchemaRequest","setModel","handleChange","val","undefined","e","div","filter","Boolean","join","defaultLanguage","onChange","onMount","JSONField"],"mappings":"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"}
@@ -1,17 +1,28 @@
1
- import type { Description, FormFieldBase, Validate } from 'payload';
1
+ import type { Description, PasswordFieldValidation } from 'payload';
2
2
  import React from 'react';
3
3
  import './index.scss';
4
4
  export type PasswordFieldProps = {
5
+ AfterInput?: React.ReactElement;
6
+ BeforeInput?: React.ReactElement;
7
+ CustomDescription?: React.ReactElement;
8
+ CustomError?: React.ReactElement;
9
+ CustomLabel?: React.ReactElement;
5
10
  autoComplete?: string;
6
11
  className?: string;
7
12
  description?: Description;
8
13
  disabled?: boolean;
14
+ errorProps?: any;
15
+ inputRef?: React.RefObject<HTMLInputElement>;
16
+ label?: string;
17
+ labelProps?: any;
9
18
  name: string;
10
19
  path?: string;
20
+ placeholder?: string;
11
21
  required?: boolean;
22
+ rtl?: boolean;
12
23
  style?: React.CSSProperties;
13
- validate?: Validate;
24
+ validate?: PasswordFieldValidation;
14
25
  width?: string;
15
- } & FormFieldBase;
26
+ };
16
27
  export declare const PasswordField: React.FC<PasswordFieldProps>;
17
28
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Password/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAkB,WAAW,EAAE,aAAa,EAAG,QAAQ,EAAE,MAAM,SAAS,CAAA;AAEpF,OAAO,KAAsB,MAAM,OAAO,CAAA;AAO1C,OAAO,cAAc,CAAA;AAErB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IAC3B,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,GAAG,aAAa,CAAA;AA0EjB,eAAO,MAAM,aAAa,8BAAwC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Password/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,uBAAuB,EAA4B,MAAM,SAAS,CAAA;AAI7F,OAAO,KAAsB,MAAM,OAAO,CAAA;AAK1C,OAAO,cAAc,CAAA;AAGrB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,CAAC,EAAE,KAAK,CAAC,YAAY,CAAA;IAC/B,WAAW,CAAC,EAAE,KAAK,CAAC,YAAY,CAAA;IAChC,iBAAiB,CAAC,EAAE,KAAK,CAAC,YAAY,CAAA;IACtC,WAAW,CAAC,EAAE,KAAK,CAAC,YAAY,CAAA;IAChC,WAAW,CAAC,EAAE,KAAK,CAAC,YAAY,CAAA;IAChC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,CAAC,EAAE,GAAG,CAAA;IAChB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAA;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,GAAG,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IAC3B,QAAQ,CAAC,EAAE,uBAAuB,CAAA;IAClC,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAiGD,eAAO,MAAM,aAAa,8BAAwC,CAAA"}
@@ -1,14 +1,18 @@
1
1
  'use client';
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { useConfig, useLocale, useTranslation } from '@payloadcms/ui';
4
+ import { password } from 'payload/shared';
3
5
  import React, { useCallback } from 'react';
4
6
  import { useField } from '../../forms/useField/index.js';
5
7
  import { withCondition } from '../../forms/withCondition/index.js';
6
- import { FieldError } from '../FieldError/index.js';
7
- import { FieldLabel } from '../FieldLabel/index.js';
8
- import { fieldBaseClass } from '../shared/index.js';
8
+ import { isFieldRTL } from '../shared/index.js';
9
9
  import './index.scss';
10
+ import { PasswordInput } from './input.js';
10
11
  const PasswordFieldComponent = (props)=>{
11
- const { name, CustomError, CustomLabel, autoComplete, className, disabled: disabledFromProps, errorProps, label, labelProps, path: pathFromProps, required, style, validate, width } = props;
12
+ const { name, AfterInput, BeforeInput, CustomDescription, CustomError, CustomLabel, autoComplete, className, disabled: disabledFromProps, errorProps, inputRef, label, labelProps, path: pathFromProps, placeholder, required, rtl, style, validate, width } = props;
13
+ const { t } = useTranslation();
14
+ const locale = useLocale();
15
+ const config = useConfig();
12
16
  const memoizedValidate = useCallback((value, options)=>{
13
17
  if (typeof validate === 'function') {
14
18
  return validate(value, {
@@ -16,8 +20,26 @@ const PasswordFieldComponent = (props)=>{
16
20
  required
17
21
  });
18
22
  }
23
+ return password(value, {
24
+ name: 'password',
25
+ type: 'text',
26
+ data: {},
27
+ preferences: {
28
+ fields: {}
29
+ },
30
+ req: {
31
+ payload: {
32
+ config
33
+ },
34
+ t
35
+ },
36
+ required: true,
37
+ siblingData: {}
38
+ });
19
39
  }, [
20
40
  validate,
41
+ config,
42
+ t,
21
43
  required
22
44
  ]);
23
45
  const { formInitializing, formProcessing, path, setValue, showError, value } = useField({
@@ -25,45 +47,36 @@ const PasswordFieldComponent = (props)=>{
25
47
  validate: memoizedValidate
26
48
  });
27
49
  const disabled = disabledFromProps || formInitializing || formProcessing;
28
- return /*#__PURE__*/ _jsxs("div", {
29
- className: [
30
- fieldBaseClass,
31
- 'password',
32
- className,
33
- showError && 'error',
34
- disabled && 'read-only'
35
- ].filter(Boolean).join(' '),
36
- style: {
37
- ...style,
38
- width
50
+ const renderRTL = isFieldRTL({
51
+ fieldLocalized: false,
52
+ fieldRTL: rtl,
53
+ locale,
54
+ localizationConfig: config.localization || undefined
55
+ });
56
+ return /*#__PURE__*/ _jsx(PasswordInput, {
57
+ AfterInput: AfterInput,
58
+ BeforeInput: BeforeInput,
59
+ CustomDescription: CustomDescription,
60
+ CustomError: CustomError,
61
+ CustomLabel: CustomLabel,
62
+ autoComplete: autoComplete,
63
+ className: className,
64
+ errorProps: errorProps,
65
+ inputRef: inputRef,
66
+ label: label,
67
+ labelProps: labelProps,
68
+ onChange: (e)=>{
69
+ setValue(e.target.value);
39
70
  },
40
- children: [
41
- /*#__PURE__*/ _jsx(FieldLabel, {
42
- CustomLabel: CustomLabel,
43
- label: label,
44
- required: required,
45
- ...labelProps || {}
46
- }),
47
- /*#__PURE__*/ _jsxs("div", {
48
- className: `${fieldBaseClass}__wrap`,
49
- children: [
50
- /*#__PURE__*/ _jsx(FieldError, {
51
- CustomError: CustomError,
52
- path: path,
53
- ...errorProps || {}
54
- }),
55
- /*#__PURE__*/ _jsx("input", {
56
- autoComplete: autoComplete,
57
- disabled: disabled,
58
- id: `field-${path.replace(/\./g, '__')}`,
59
- name: path,
60
- onChange: setValue,
61
- type: "password",
62
- value: value || ''
63
- })
64
- ]
65
- })
66
- ]
71
+ path: path,
72
+ placeholder: placeholder,
73
+ readOnly: disabled,
74
+ required: required,
75
+ rtl: renderRTL,
76
+ showError: showError,
77
+ style: style,
78
+ value: value || '',
79
+ width: width
67
80
  });
68
81
  };
69
82
  export const PasswordField = withCondition(PasswordFieldComponent);