@payloadcms/ui 3.0.0-beta.9 → 3.0.0-canary.6041f49

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 (276) hide show
  1. package/dist/elements/ArrayAction/index.d.ts +1 -0
  2. package/dist/elements/ArrayAction/index.d.ts.map +1 -1
  3. package/dist/elements/ArrayAction/index.js +3 -3
  4. package/dist/elements/ArrayAction/index.js.map +1 -1
  5. package/dist/elements/Autosave/index.d.ts.map +1 -1
  6. package/dist/elements/Autosave/index.js +15 -3
  7. package/dist/elements/Autosave/index.js.map +1 -1
  8. package/dist/elements/ColumnSelector/index.d.ts.map +1 -1
  9. package/dist/elements/ColumnSelector/index.js +8 -2
  10. package/dist/elements/ColumnSelector/index.js.map +1 -1
  11. package/dist/elements/DocumentControls/index.js +1 -1
  12. package/dist/elements/DocumentControls/index.js.map +1 -1
  13. package/dist/elements/DocumentControls/index.scss +2 -2
  14. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  15. package/dist/elements/DocumentDrawer/DrawerContent.js +7 -7
  16. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  17. package/dist/elements/DocumentFields/index.js +1 -1
  18. package/dist/elements/DocumentFields/index.js.map +1 -1
  19. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts.map +1 -1
  20. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +3 -2
  21. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
  22. package/dist/elements/DocumentHeader/Tabs/index.d.ts +2 -0
  23. package/dist/elements/DocumentHeader/Tabs/index.d.ts.map +1 -1
  24. package/dist/elements/DocumentHeader/Tabs/index.js +3 -2
  25. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
  26. package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts.map +1 -1
  27. package/dist/elements/DocumentHeader/Tabs/tabs/index.js +1 -1
  28. package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
  29. package/dist/elements/DocumentHeader/index.d.ts +2 -0
  30. package/dist/elements/DocumentHeader/index.d.ts.map +1 -1
  31. package/dist/elements/DocumentHeader/index.js +3 -2
  32. package/dist/elements/DocumentHeader/index.js.map +1 -1
  33. package/dist/elements/EditMany/index.js +2 -2
  34. package/dist/elements/EditMany/index.js.map +1 -1
  35. package/dist/elements/EditUpload/index.d.ts +12 -0
  36. package/dist/elements/EditUpload/index.d.ts.map +1 -1
  37. package/dist/elements/EditUpload/index.js +25 -25
  38. package/dist/elements/EditUpload/index.js.map +1 -1
  39. package/dist/elements/FieldSelect/index.d.ts.map +1 -1
  40. package/dist/elements/FieldSelect/index.js +4 -1
  41. package/dist/elements/FieldSelect/index.js.map +1 -1
  42. package/dist/elements/HydrateClientUser/index.d.ts +2 -2
  43. package/dist/elements/HydrateClientUser/index.d.ts.map +1 -1
  44. package/dist/elements/HydrateClientUser/index.js.map +1 -1
  45. package/dist/elements/ListControls/index.d.ts.map +1 -1
  46. package/dist/elements/ListControls/index.js +16 -3
  47. package/dist/elements/ListControls/index.js.map +1 -1
  48. package/dist/elements/PublishMany/index.js +1 -1
  49. package/dist/elements/PublishMany/index.js.map +1 -1
  50. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  51. package/dist/elements/ReactSelect/index.js +4 -1
  52. package/dist/elements/ReactSelect/index.js.map +1 -1
  53. package/dist/elements/Save/index.d.ts.map +1 -1
  54. package/dist/elements/Save/index.js +7 -1
  55. package/dist/elements/Save/index.js.map +1 -1
  56. package/dist/elements/SaveDraft/index.d.ts.map +1 -1
  57. package/dist/elements/SaveDraft/index.js +8 -5
  58. package/dist/elements/SaveDraft/index.js.map +1 -1
  59. package/dist/elements/StayLoggedIn/index.d.ts +2 -4
  60. package/dist/elements/StayLoggedIn/index.d.ts.map +1 -1
  61. package/dist/elements/StayLoggedIn/index.js +7 -6
  62. package/dist/elements/StayLoggedIn/index.js.map +1 -1
  63. package/dist/elements/StayLoggedIn/index.scss +1 -1
  64. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.d.ts.map +1 -1
  65. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js +6 -2
  66. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
  67. package/dist/elements/Table/DefaultCell/fields/JSON/index.js +1 -1
  68. package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
  69. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  70. package/dist/elements/Table/DefaultCell/index.js +1 -1
  71. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  72. package/dist/elements/Table/index.d.ts +1 -0
  73. package/dist/elements/Table/index.d.ts.map +1 -1
  74. package/dist/elements/Table/index.js.map +1 -1
  75. package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
  76. package/dist/elements/TableColumns/buildColumnState.js +7 -1
  77. package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
  78. package/dist/elements/Upload/index.d.ts.map +1 -1
  79. package/dist/elements/Upload/index.js +37 -1
  80. package/dist/elements/Upload/index.js.map +1 -1
  81. package/dist/elements/Upload/index.scss +12 -1
  82. package/dist/elements/WhereBuilder/reduceFieldMap.d.ts.map +1 -1
  83. package/dist/elements/WhereBuilder/reduceFieldMap.js +1 -0
  84. package/dist/elements/WhereBuilder/reduceFieldMap.js.map +1 -1
  85. package/dist/{providers/ComponentMap/buildComponentMap/WithServerSideProps.d.ts → elements/WithServerSideProps/index.d.ts} +1 -1
  86. package/dist/elements/WithServerSideProps/index.d.ts.map +1 -0
  87. package/dist/{providers/ComponentMap/buildComponentMap/WithServerSideProps.js → elements/WithServerSideProps/index.js} +3 -3
  88. package/dist/elements/WithServerSideProps/index.js.map +1 -0
  89. package/dist/exports/elements.d.ts +3 -2
  90. package/dist/exports/elements.d.ts.map +1 -1
  91. package/dist/exports/elements.js +5 -2
  92. package/dist/exports/elements.js.map +1 -1
  93. package/dist/exports/fields.d.ts +2 -0
  94. package/dist/exports/fields.d.ts.map +1 -0
  95. package/dist/exports/fields.js +3 -0
  96. package/dist/exports/fields.js.map +1 -0
  97. package/dist/exports/providers.d.ts +2 -0
  98. package/dist/exports/providers.d.ts.map +1 -0
  99. package/dist/exports/providers.js +3 -0
  100. package/dist/exports/providers.js.map +1 -0
  101. package/dist/fields/Array/ArrayRow.d.ts +1 -0
  102. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  103. package/dist/fields/Array/ArrayRow.js +4 -3
  104. package/dist/fields/Array/ArrayRow.js.map +1 -1
  105. package/dist/fields/Array/index.d.ts +1 -2
  106. package/dist/fields/Array/index.d.ts.map +1 -1
  107. package/dist/fields/Array/index.js +4 -3
  108. package/dist/fields/Array/index.js.map +1 -1
  109. package/dist/fields/Blocks/BlockRow.d.ts +1 -0
  110. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  111. package/dist/fields/Blocks/BlockRow.js +4 -3
  112. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  113. package/dist/fields/Blocks/RowActions.d.ts +1 -0
  114. package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
  115. package/dist/fields/Blocks/RowActions.js +2 -1
  116. package/dist/fields/Blocks/RowActions.js.map +1 -1
  117. package/dist/fields/Blocks/index.d.ts +2 -2
  118. package/dist/fields/Blocks/index.d.ts.map +1 -1
  119. package/dist/fields/Blocks/index.js +3 -2
  120. package/dist/fields/Blocks/index.js.map +1 -1
  121. package/dist/fields/Checkbox/Input.d.ts +3 -3
  122. package/dist/fields/Checkbox/Input.d.ts.map +1 -1
  123. package/dist/fields/Checkbox/Input.js.map +1 -1
  124. package/dist/fields/Checkbox/index.d.ts.map +1 -1
  125. package/dist/fields/Checkbox/index.js +3 -1
  126. package/dist/fields/Checkbox/index.js.map +1 -1
  127. package/dist/fields/Checkbox/types.d.ts +0 -2
  128. package/dist/fields/Checkbox/types.d.ts.map +1 -1
  129. package/dist/fields/Checkbox/types.js.map +1 -1
  130. package/dist/fields/Code/index.d.ts +1 -2
  131. package/dist/fields/Code/index.d.ts.map +1 -1
  132. package/dist/fields/Code/index.js.map +1 -1
  133. package/dist/fields/Collapsible/index.d.ts +0 -2
  134. package/dist/fields/Collapsible/index.d.ts.map +1 -1
  135. package/dist/fields/Collapsible/index.js +2 -2
  136. package/dist/fields/Collapsible/index.js.map +1 -1
  137. package/dist/fields/ConfirmPassword/index.js +1 -1
  138. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  139. package/dist/fields/DateTime/index.d.ts +1 -2
  140. package/dist/fields/DateTime/index.d.ts.map +1 -1
  141. package/dist/fields/DateTime/index.js.map +1 -1
  142. package/dist/fields/Email/index.d.ts +1 -2
  143. package/dist/fields/Email/index.d.ts.map +1 -1
  144. package/dist/fields/Email/index.js.map +1 -1
  145. package/dist/fields/Group/index.d.ts +0 -2
  146. package/dist/fields/Group/index.d.ts.map +1 -1
  147. package/dist/fields/Group/index.js +3 -3
  148. package/dist/fields/Group/index.js.map +1 -1
  149. package/dist/fields/JSON/index.d.ts +2 -2
  150. package/dist/fields/JSON/index.d.ts.map +1 -1
  151. package/dist/fields/JSON/index.js +20 -1
  152. package/dist/fields/JSON/index.js.map +1 -1
  153. package/dist/fields/Number/index.d.ts +1 -2
  154. package/dist/fields/Number/index.d.ts.map +1 -1
  155. package/dist/fields/Number/index.js.map +1 -1
  156. package/dist/fields/Password/index.d.ts +0 -1
  157. package/dist/fields/Password/index.d.ts.map +1 -1
  158. package/dist/fields/Password/index.js.map +1 -1
  159. package/dist/fields/Point/index.d.ts +0 -2
  160. package/dist/fields/Point/index.d.ts.map +1 -1
  161. package/dist/fields/Point/index.js +2 -2
  162. package/dist/fields/Point/index.js.map +1 -1
  163. package/dist/fields/RadioGroup/Radio/index.d.ts.map +1 -1
  164. package/dist/fields/RadioGroup/Radio/index.js +3 -1
  165. package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
  166. package/dist/fields/RadioGroup/index.d.ts +1 -2
  167. package/dist/fields/RadioGroup/index.d.ts.map +1 -1
  168. package/dist/fields/RadioGroup/index.js.map +1 -1
  169. package/dist/fields/Relationship/types.d.ts +1 -2
  170. package/dist/fields/Relationship/types.d.ts.map +1 -1
  171. package/dist/fields/Relationship/types.js.map +1 -1
  172. package/dist/fields/RichText/index.d.ts +0 -2
  173. package/dist/fields/RichText/index.d.ts.map +1 -1
  174. package/dist/fields/RichText/index.js.map +1 -1
  175. package/dist/fields/Select/index.d.ts +1 -2
  176. package/dist/fields/Select/index.d.ts.map +1 -1
  177. package/dist/fields/Select/index.js.map +1 -1
  178. package/dist/fields/Text/index.d.ts.map +1 -1
  179. package/dist/fields/Text/index.js +2 -1
  180. package/dist/fields/Text/index.js.map +1 -1
  181. package/dist/fields/Text/types.d.ts +1 -2
  182. package/dist/fields/Text/types.d.ts.map +1 -1
  183. package/dist/fields/Text/types.js.map +1 -1
  184. package/dist/fields/Textarea/index.d.ts.map +1 -1
  185. package/dist/fields/Textarea/index.js +2 -1
  186. package/dist/fields/Textarea/index.js.map +1 -1
  187. package/dist/fields/Textarea/types.d.ts +1 -2
  188. package/dist/fields/Textarea/types.d.ts.map +1 -1
  189. package/dist/fields/Textarea/types.js.map +1 -1
  190. package/dist/fields/Upload/types.d.ts +0 -1
  191. package/dist/fields/Upload/types.d.ts.map +1 -1
  192. package/dist/fields/Upload/types.js.map +1 -1
  193. package/dist/fields/shared/index.d.ts +4 -2
  194. package/dist/fields/shared/index.d.ts.map +1 -1
  195. package/dist/fields/shared/index.js.map +1 -1
  196. package/dist/forms/FieldLabel/index.d.ts.map +1 -1
  197. package/dist/forms/FieldLabel/index.js +3 -1
  198. package/dist/forms/FieldLabel/index.js.map +1 -1
  199. package/dist/forms/FieldPropsProvider/index.d.ts +2 -0
  200. package/dist/forms/FieldPropsProvider/index.d.ts.map +1 -1
  201. package/dist/forms/FieldPropsProvider/index.js +5 -3
  202. package/dist/forms/FieldPropsProvider/index.js.map +1 -1
  203. package/dist/forms/RenderFields/RenderField.d.ts +1 -0
  204. package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
  205. package/dist/forms/RenderFields/RenderField.js +2 -1
  206. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  207. package/dist/forms/RenderFields/index.d.ts.map +1 -1
  208. package/dist/forms/RenderFields/index.js +2 -1
  209. package/dist/forms/RenderFields/index.js.map +1 -1
  210. package/dist/forms/RowLabel/types.d.ts +2 -3
  211. package/dist/forms/RowLabel/types.d.ts.map +1 -1
  212. package/dist/forms/RowLabel/types.js +1 -4
  213. package/dist/forms/RowLabel/types.js.map +1 -1
  214. package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts +3 -5
  215. package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts.map +1 -1
  216. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js +2 -1
  217. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js.map +1 -1
  218. package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.d.ts +2 -2
  219. package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.d.ts.map +1 -1
  220. package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.js.map +1 -1
  221. package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.d.ts +2 -2
  222. package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.d.ts.map +1 -1
  223. package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.js.map +1 -1
  224. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.d.ts +2 -2
  225. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.d.ts.map +1 -1
  226. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js +1 -0
  227. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js.map +1 -1
  228. package/dist/forms/buildStateFromSchema/index.d.ts +3 -5
  229. package/dist/forms/buildStateFromSchema/index.d.ts.map +1 -1
  230. package/dist/forms/buildStateFromSchema/index.js.map +1 -1
  231. package/dist/forms/buildStateFromSchema/iterateFields.d.ts +3 -5
  232. package/dist/forms/buildStateFromSchema/iterateFields.d.ts.map +1 -1
  233. package/dist/forms/buildStateFromSchema/iterateFields.js.map +1 -1
  234. package/dist/forms/useField/index.d.ts.map +1 -1
  235. package/dist/forms/useField/index.js +3 -1
  236. package/dist/forms/useField/index.js.map +1 -1
  237. package/dist/graphics/Account/index.js +0 -9
  238. package/dist/graphics/Account/index.js.map +1 -1
  239. package/dist/providers/Auth/index.d.ts.map +1 -1
  240. package/dist/providers/Auth/index.js +2 -1
  241. package/dist/providers/Auth/index.js.map +1 -1
  242. package/dist/providers/ComponentMap/buildComponentMap/collections.d.ts +1 -1
  243. package/dist/providers/ComponentMap/buildComponentMap/collections.d.ts.map +1 -1
  244. package/dist/providers/ComponentMap/buildComponentMap/collections.js +16 -4
  245. package/dist/providers/ComponentMap/buildComponentMap/collections.js.map +1 -1
  246. package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts.map +1 -1
  247. package/dist/providers/ComponentMap/buildComponentMap/fields.js +52 -36
  248. package/dist/providers/ComponentMap/buildComponentMap/fields.js.map +1 -1
  249. package/dist/providers/ComponentMap/buildComponentMap/globals.d.ts +1 -1
  250. package/dist/providers/ComponentMap/buildComponentMap/globals.d.ts.map +1 -1
  251. package/dist/providers/ComponentMap/buildComponentMap/globals.js +16 -4
  252. package/dist/providers/ComponentMap/buildComponentMap/globals.js.map +1 -1
  253. package/dist/providers/ComponentMap/buildComponentMap/index.js +1 -1
  254. package/dist/providers/ComponentMap/buildComponentMap/index.js.map +1 -1
  255. package/dist/providers/ComponentMap/buildComponentMap/types.d.ts +4 -0
  256. package/dist/providers/ComponentMap/buildComponentMap/types.d.ts.map +1 -1
  257. package/dist/providers/ComponentMap/buildComponentMap/types.js.map +1 -1
  258. package/dist/providers/ComponentMap/index.d.ts +0 -1
  259. package/dist/providers/ComponentMap/index.d.ts.map +1 -1
  260. package/dist/providers/ComponentMap/index.js +0 -1
  261. package/dist/providers/ComponentMap/index.js.map +1 -1
  262. package/dist/providers/DocumentInfo/index.js +8 -7
  263. package/dist/providers/DocumentInfo/index.js.map +1 -1
  264. package/dist/providers/EntityVisibility/index.d.ts +1 -1
  265. package/dist/providers/EntityVisibility/index.d.ts.map +1 -1
  266. package/dist/providers/EntityVisibility/index.js.map +1 -1
  267. package/dist/providers/Root/index.d.ts.map +1 -1
  268. package/dist/providers/Root/index.js +2 -1
  269. package/dist/providers/Root/index.js.map +1 -1
  270. package/dist/utilities/generateFieldID.d.ts +1 -1
  271. package/dist/utilities/generateFieldID.d.ts.map +1 -1
  272. package/dist/utilities/generateFieldID.js +2 -2
  273. package/dist/utilities/generateFieldID.js.map +1 -1
  274. package/package.json +32 -31
  275. package/dist/providers/ComponentMap/buildComponentMap/WithServerSideProps.d.ts.map +0 -1
  276. package/dist/providers/ComponentMap/buildComponentMap/WithServerSideProps.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/JSON/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientValidate } from 'payload/types'\n\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport { CodeEditor } from '../../elements/CodeEditor/index.js'\nimport { FieldLabel } from '../../forms/FieldLabel/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nconst baseClass = 'json-field'\n\nimport type { FieldBase, JSONField as JSONFieldType } from 'payload/types'\n\nimport { FieldDescription } from '@payloadcms/ui/forms/FieldDescription'\nimport { FieldError } from '@payloadcms/ui/forms/FieldError'\nimport { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider'\n\nimport type { FormFieldBase } from '../shared/index.js'\n\nexport type JSONFieldProps = FormFieldBase & {\n editorOptions?: JSONFieldType['admin']['editorOptions']\n label?: FieldBase['label']\n name?: string\n path?: string\n width?: string\n}\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 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 const readOnly = readOnlyFromProps || readOnlyFromContext\n\n const { initialValue, path, setValue, showError, value } = useField<string>({\n path: pathFromContext || pathFromProps || name,\n validate: memoizedValidate,\n })\n\n const handleChange = useCallback(\n (val) => {\n if (readOnly) 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 [readOnly, setValue, setStringValue],\n )\n\n useEffect(() => {\n if (hasLoadedValue) return\n setStringValue(\n value || initialValue ? JSON.stringify(value ? value : initialValue, null, 2) : '',\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 readOnly && 'read-only',\n ]\n .filter(Boolean)\n .join(' ')}\n style={{\n ...style,\n width,\n }}\n >\n <FieldError CustomError={CustomError} path={path} {...(errorProps || {})} />\n <FieldLabel\n CustomLabel={CustomLabel}\n label={label}\n required={required}\n {...(labelProps || {})}\n />\n <div>\n {BeforeInput}\n <CodeEditor\n defaultLanguage=\"json\"\n onChange={handleChange}\n options={editorOptions}\n readOnly={readOnly}\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","FieldLabel","useField","withCondition","fieldBaseClass","baseClass","FieldDescription","FieldError","useFieldProps","JSONFieldComponent","props","name","AfterInput","BeforeInput","CustomDescription","CustomError","CustomLabel","className","descriptionProps","editorOptions","errorProps","label","labelProps","path","pathFromProps","readOnly","readOnlyFromProps","required","style","validate","width","stringValue","setStringValue","jsonError","setJsonError","hasLoadedValue","setHasLoadedValue","memoizedValidate","value","options","pathFromContext","readOnlyFromContext","initialValue","setValue","showError","handleChange","val","JSON","parse","undefined","e","stringify","div","filter","Boolean","join","defaultLanguage","onChange","JSONField"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AAGA,OAAOA,SAASC,WAAW,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,QAAO;AAE/D,SAASC,UAAU,QAAQ,qCAAoC;AAC/D,SAASC,UAAU,QAAQ,kCAAiC;AAC5D,SAASC,QAAQ,QAAQ,gCAA+B;AACxD,SAASC,aAAa,QAAQ,qCAAoC;AAClE,SAASC,cAAc,QAAQ,qBAAoB;AAGnD,MAAMC,YAAY;AAIlB,SAASC,gBAAgB,QAAQ,wCAAuC;AACxE,SAASC,UAAU,QAAQ,kCAAiC;AAC5D,SAASC,aAAa,QAAQ,0CAAyC;AAYvE,MAAMC,qBAA+C,CAACC;IACpD,MAAM,EACJC,IAAI,EACJC,UAAU,EACVC,WAAW,EACXC,iBAAiB,EACjBC,WAAW,EACXC,WAAW,EACXC,SAAS,EACTC,gBAAgB,EAChBC,aAAa,EACbC,UAAU,EACVC,KAAK,EACLC,UAAU,EACVC,MAAMC,aAAa,EACnBC,UAAUC,iBAAiB,EAC3BC,QAAQ,EACRC,KAAK,EACLC,QAAQ,EACRC,KAAK,EACN,GAAGpB;IAEJ,MAAM,CAACqB,aAAaC,eAAe,GAAGjC;IACtC,MAAM,CAACkC,WAAWC,aAAa,GAAGnC;IAClC,MAAM,CAACoC,gBAAgBC,kBAAkB,GAAGrC,SAAS;IAErD,MAAMsC,mBAAmCxC,YACvC,CAACyC,OAAOC;QACN,IAAI,OAAOV,aAAa,YACtB,OAAOA,SAASS,OAAO;YAAE,GAAGC,OAAO;YAAEN;YAAWN;QAAS;IAC7D,GACA;QAACE;QAAUF;QAAUM;KAAU;IAGjC,MAAM,EAAEV,MAAMiB,eAAe,EAAEf,UAAUgB,mBAAmB,EAAE,GAAGjC;IACjE,MAAMiB,WAAWC,qBAAqBe;IAEtC,MAAM,EAAEC,YAAY,EAAEnB,IAAI,EAAEoB,QAAQ,EAAEC,SAAS,EAAEN,KAAK,EAAE,GAAGpC,SAAiB;QAC1EqB,MAAMiB,mBAAmBhB,iBAAiBb;QAC1CkB,UAAUQ;IACZ;IAEA,MAAMQ,eAAehD,YACnB,CAACiD;QACC,IAAIrB,UAAU;QACdO,eAAec;QAEf,IAAI;YACFH,SAASG,MAAMC,KAAKC,KAAK,CAACF,OAAO;YACjCZ,aAAae;QACf,EAAE,OAAOC,GAAG;YACVP,SAASG,MAAMA,MAAM;YACrBZ,aAAagB;QACf;IACF,GACA;QAACzB;QAAUkB;QAAUX;KAAe;IAGtClC,UAAU;QACR,IAAIqC,gBAAgB;QACpBH,eACEM,SAASI,eAAeK,KAAKI,SAAS,CAACb,QAAQA,QAAQI,cAAc,MAAM,KAAK;QAElFN,kBAAkB;IACpB,GAAG;QAACM;QAAcJ;QAAOH;KAAe;IAExC,qBACE,oBAACiB;QACCnC,WAAW;YACTb;YACAC;YACAY;YACA2B,aAAa;YACbnB,YAAY;SACb,CACE4B,MAAM,CAACC,SACPC,IAAI,CAAC;QACR3B,OAAO;YACL,GAAGA,KAAK;YACRE;QACF;qBAEA,oBAACvB;QAAWQ,aAAaA;QAAaQ,MAAMA;QAAO,GAAIH,cAAc,CAAC,CAAC;sBACvE,oBAACnB;QACCe,aAAaA;QACbK,OAAOA;QACPM,UAAUA;QACT,GAAIL,cAAc,CAAC,CAAC;sBAEvB,oBAAC8B,aACEvC,2BACD,oBAACb;QACCwD,iBAAgB;QAChBC,UAAUZ;QACVN,SAASpB;QACTM,UAAUA;QACVa,OAAOP;QAERnB,aAEFE,sBAAsBmC,YACrBnC,kCAEA,oBAACR,kBAAsBY,oBAAoB,CAAC;AAIpD;AAEA,OAAO,MAAMwC,YAAYvD,cAAcM,oBAAmB"}
1
+ {"version":3,"sources":["../../../src/fields/JSON/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientValidate } from 'payload/types'\n\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport { CodeEditor } from '../../elements/CodeEditor/index.js'\nimport { FieldLabel } from '../../forms/FieldLabel/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nconst baseClass = 'json-field'\n\nimport type { JSONField as JSONFieldType } from 'payload/types'\n\nimport { FieldDescription } from '@payloadcms/ui/forms/FieldDescription'\nimport { FieldError } from '@payloadcms/ui/forms/FieldError'\nimport { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider'\n\nimport type { FormFieldBase } from '../shared/index.js'\n\nexport type JSONFieldProps = FormFieldBase & {\n editorOptions?: JSONFieldType['admin']['editorOptions']\n jsonSchema?: Record<string, unknown>\n name?: string\n path?: string\n width?: string\n}\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 const readOnly = readOnlyFromProps || readOnlyFromContext\n\n const { initialValue, path, setValue, showError, value } = useField<string>({\n path: pathFromContext || pathFromProps || name,\n validate: memoizedValidate,\n })\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 (readOnly) 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 [readOnly, setValue, setStringValue],\n )\n\n useEffect(() => {\n if (hasLoadedValue) return\n setStringValue(\n value || initialValue ? JSON.stringify(value ? value : initialValue, null, 2) : '',\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 readOnly && 'read-only',\n ]\n .filter(Boolean)\n .join(' ')}\n style={{\n ...style,\n width,\n }}\n >\n <FieldError CustomError={CustomError} path={path} {...(errorProps || {})} />\n <FieldLabel\n CustomLabel={CustomLabel}\n label={label}\n required={required}\n {...(labelProps || {})}\n />\n <div>\n {BeforeInput}\n <CodeEditor\n defaultLanguage=\"json\"\n onChange={handleChange}\n onMount={handleMount}\n options={editorOptions}\n readOnly={readOnly}\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","FieldLabel","useField","withCondition","fieldBaseClass","baseClass","FieldDescription","FieldError","useFieldProps","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","initialValue","setValue","showError","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"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1,10 +1,9 @@
1
- import type { FieldBase, NumberField as NumberFieldType } from 'payload/types';
1
+ import type { NumberField as NumberFieldType } from 'payload/types';
2
2
  import React from 'react';
3
3
  import type { FormFieldBase } from '../shared/index.js';
4
4
  import './index.scss';
5
5
  export type NumberFieldProps = FormFieldBase & {
6
6
  hasMany?: boolean;
7
- label?: FieldBase['label'];
8
7
  max?: number;
9
8
  maxRows?: number;
10
9
  min?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Number/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,eAAe,CAAA;AAQ9E,OAAO,KAA2C,MAAM,OAAO,CAAA;AAG/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAOvD,OAAO,cAAc,CAAA;AAErB,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG;IAC7C,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,CAAA;IACrD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AA8LD,eAAO,MAAM,WAAW,4BAAsC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Number/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAa,WAAW,IAAI,eAAe,EAAE,MAAM,eAAe,CAAA;AAQ9E,OAAO,KAA2C,MAAM,OAAO,CAAA;AAG/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAOvD,OAAO,cAAc,CAAA;AAErB,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG;IAC7C,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,CAAA;IACrD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AA8LD,eAAO,MAAM,WAAW,4BAAsC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/Number/index.tsx"],"sourcesContent":["/* eslint-disable react/destructuring-assignment */\n'use client'\nimport type { FieldBase, NumberField as NumberFieldType } from 'payload/types'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { FieldDescription } from '@payloadcms/ui/forms/FieldDescription'\nimport { FieldError } from '@payloadcms/ui/forms/FieldError'\nimport { FieldLabel } from '@payloadcms/ui/forms/FieldLabel'\nimport { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider'\nimport { isNumber } from 'payload/utilities'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport type { Option } from '../../elements/ReactSelect/types.js'\nimport type { FormFieldBase } from '../shared/index.js'\n\nimport { ReactSelect } from '../../elements/ReactSelect/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nexport type NumberFieldProps = FormFieldBase & {\n hasMany?: boolean\n label?: FieldBase['label']\n max?: number\n maxRows?: number\n min?: number\n name?: string\n onChange?: (e: number) => void\n path?: string\n placeholder?: NumberFieldType['admin']['placeholder']\n step?: number\n width?: string\n}\n\nconst NumberFieldComponent: React.FC<NumberFieldProps> = (props) => {\n const {\n name,\n AfterInput,\n BeforeInput,\n CustomDescription,\n CustomError,\n CustomLabel,\n className,\n descriptionProps,\n errorProps,\n hasMany = false,\n label,\n labelProps,\n max = Infinity,\n maxRows = Infinity,\n min = -Infinity,\n onChange: onChangeFromProps,\n path: pathFromProps,\n placeholder,\n readOnly: readOnlyFromProps,\n required,\n step = 1,\n style,\n validate,\n width,\n } = props\n\n const { i18n, t } = useTranslation()\n\n const memoizedValidate = useCallback(\n (value, options) => {\n if (typeof validate === 'function') {\n return validate(value, { ...options, max, min, required })\n }\n },\n [validate, min, max, required],\n )\n\n const { path: pathFromContext, readOnly: readOnlyFromContext } = useFieldProps()\n const readOnly = readOnlyFromProps || readOnlyFromContext\n\n const { path, setValue, showError, value } = useField<number | number[]>({\n path: pathFromContext || pathFromProps || name,\n validate: memoizedValidate,\n })\n\n const handleChange = useCallback(\n (e) => {\n const val = parseFloat(e.target.value)\n let newVal = val\n\n if (Number.isNaN(val)) {\n newVal = undefined\n }\n\n if (typeof onChangeFromProps === 'function') {\n onChangeFromProps(newVal)\n }\n\n setValue(newVal)\n },\n [onChangeFromProps, setValue],\n )\n\n const [valueToRender, setValueToRender] = useState<\n { id: string; label: string; value: { value: number } }[]\n >([]) // Only for hasMany\n\n const handleHasManyChange = useCallback(\n (selectedOption) => {\n if (!readOnly) {\n let newValue\n if (!selectedOption) {\n newValue = []\n } else if (Array.isArray(selectedOption)) {\n newValue = selectedOption.map((option) => Number(option.value?.value || option.value))\n } else {\n newValue = [Number(selectedOption.value?.value || selectedOption.value)]\n }\n\n setValue(newValue)\n }\n },\n [readOnly, setValue],\n )\n\n // useEffect update valueToRender:\n useEffect(() => {\n if (hasMany && Array.isArray(value)) {\n setValueToRender(\n value.map((val, index) => {\n return {\n id: `${val}${index}`, // append index to avoid duplicate keys but allow duplicate numbers\n label: `${val}`,\n value: {\n toString: () => `${val}${index}`,\n value: (val as unknown as Record<string, number>)?.value || val,\n }, // You're probably wondering, why the hell is this done that way? Well, React-select automatically uses \"label-value\" as a key, so we will get that react duplicate key warning if we just pass in the value as multiple values can be the same. So we need to append the index to the toString() of the value to avoid that warning, as it uses that as the key.\n }\n }),\n )\n }\n }, [value, hasMany])\n\n return (\n <div\n className={[\n fieldBaseClass,\n 'number',\n className,\n showError && 'error',\n readOnly && 'read-only',\n hasMany && 'has-many',\n ]\n .filter(Boolean)\n .join(' ')}\n style={{\n ...style,\n width,\n }}\n >\n <FieldLabel\n CustomLabel={CustomLabel}\n label={label}\n required={required}\n {...(labelProps || {})}\n />\n <FieldError CustomError={CustomError} path={path} {...(errorProps || {})} />\n {hasMany ? (\n <ReactSelect\n className={`field-${path.replace(/\\./g, '__')}`}\n disabled={readOnly}\n filterOption={(_, rawInput) => {\n // eslint-disable-next-line no-restricted-globals\n const isOverHasMany = Array.isArray(value) && value.length >= maxRows\n return isNumber(rawInput) && !isOverHasMany\n }}\n isClearable\n isCreatable\n isMulti\n isSortable\n noOptionsMessage={() => {\n const isOverHasMany = Array.isArray(value) && value.length >= maxRows\n if (isOverHasMany) {\n return t('validation:limitReached', { max: maxRows, value: value.length + 1 })\n }\n return null\n }}\n // numberOnly\n onChange={handleHasManyChange}\n options={[]}\n placeholder={t('general:enterAValue')}\n showError={showError}\n value={valueToRender as Option[]}\n />\n ) : (\n <div>\n {BeforeInput}\n <input\n disabled={readOnly}\n id={`field-${path.replace(/\\./g, '__')}`}\n max={max}\n min={min}\n name={path}\n onChange={handleChange}\n onWheel={(e) => {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-expect-error\n e.target.blur()\n }}\n placeholder={getTranslation(placeholder, i18n)}\n step={step}\n type=\"number\"\n value={typeof value === 'number' ? value : ''}\n />\n {AfterInput}\n </div>\n )}\n {CustomDescription !== undefined ? (\n CustomDescription\n ) : (\n <FieldDescription {...(descriptionProps || {})} />\n )}\n </div>\n )\n}\n\nexport const NumberField = withCondition(NumberFieldComponent)\n"],"names":["getTranslation","FieldDescription","FieldError","FieldLabel","useFieldProps","isNumber","React","useCallback","useEffect","useState","ReactSelect","useField","withCondition","useTranslation","fieldBaseClass","NumberFieldComponent","props","name","AfterInput","BeforeInput","CustomDescription","CustomError","CustomLabel","className","descriptionProps","errorProps","hasMany","label","labelProps","max","Infinity","maxRows","min","onChange","onChangeFromProps","path","pathFromProps","placeholder","readOnly","readOnlyFromProps","required","step","style","validate","width","i18n","t","memoizedValidate","value","options","pathFromContext","readOnlyFromContext","setValue","showError","handleChange","e","val","parseFloat","target","newVal","Number","isNaN","undefined","valueToRender","setValueToRender","handleHasManyChange","selectedOption","newValue","Array","isArray","map","option","index","id","toString","div","filter","Boolean","join","replace","disabled","filterOption","_","rawInput","isOverHasMany","length","isClearable","isCreatable","isMulti","isSortable","noOptionsMessage","input","onWheel","blur","type","NumberField"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,iDAAiD,GACjD;AAGA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,SAASC,gBAAgB,QAAQ,wCAAuC;AACxE,SAASC,UAAU,QAAQ,kCAAiC;AAC5D,SAASC,UAAU,QAAQ,kCAAiC;AAC5D,SAASC,aAAa,QAAQ,0CAAyC;AACvE,SAASC,QAAQ,QAAQ,oBAAmB;AAC5C,OAAOC,SAASC,WAAW,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,QAAO;AAK/D,SAASC,WAAW,QAAQ,sCAAqC;AACjE,SAASC,QAAQ,QAAQ,gCAA+B;AACxD,SAASC,aAAa,QAAQ,qCAAoC;AAClE,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,cAAc,QAAQ,qBAAoB;AAiBnD,MAAMC,uBAAmD,CAACC;IACxD,MAAM,EACJC,IAAI,EACJC,UAAU,EACVC,WAAW,EACXC,iBAAiB,EACjBC,WAAW,EACXC,WAAW,EACXC,SAAS,EACTC,gBAAgB,EAChBC,UAAU,EACVC,UAAU,KAAK,EACfC,KAAK,EACLC,UAAU,EACVC,MAAMC,QAAQ,EACdC,UAAUD,QAAQ,EAClBE,MAAM,CAACF,QAAQ,EACfG,UAAUC,iBAAiB,EAC3BC,MAAMC,aAAa,EACnBC,WAAW,EACXC,UAAUC,iBAAiB,EAC3BC,QAAQ,EACRC,OAAO,CAAC,EACRC,KAAK,EACLC,QAAQ,EACRC,KAAK,EACN,GAAG5B;IAEJ,MAAM,EAAE6B,IAAI,EAAEC,CAAC,EAAE,GAAGjC;IAEpB,MAAMkC,mBAAmBxC,YACvB,CAACyC,OAAOC;QACN,IAAI,OAAON,aAAa,YAAY;YAClC,OAAOA,SAASK,OAAO;gBAAE,GAAGC,OAAO;gBAAEpB;gBAAKG;gBAAKQ;YAAS;QAC1D;IACF,GACA;QAACG;QAAUX;QAAKH;QAAKW;KAAS;IAGhC,MAAM,EAAEL,MAAMe,eAAe,EAAEZ,UAAUa,mBAAmB,EAAE,GAAG/C;IACjE,MAAMkC,WAAWC,qBAAqBY;IAEtC,MAAM,EAAEhB,IAAI,EAAEiB,QAAQ,EAAEC,SAAS,EAAEL,KAAK,EAAE,GAAGrC,SAA4B;QACvEwB,MAAMe,mBAAmBd,iBAAiBnB;QAC1C0B,UAAUI;IACZ;IAEA,MAAMO,eAAe/C,YACnB,CAACgD;QACC,MAAMC,MAAMC,WAAWF,EAAEG,MAAM,CAACV,KAAK;QACrC,IAAIW,SAASH;QAEb,IAAII,OAAOC,KAAK,CAACL,MAAM;YACrBG,SAASG;QACX;QAEA,IAAI,OAAO5B,sBAAsB,YAAY;YAC3CA,kBAAkByB;QACpB;QAEAP,SAASO;IACX,GACA;QAACzB;QAAmBkB;KAAS;IAG/B,MAAM,CAACW,eAAeC,iBAAiB,GAAGvD,SAExC,EAAE,EAAE,mBAAmB;;IAEzB,MAAMwD,sBAAsB1D,YAC1B,CAAC2D;QACC,IAAI,CAAC5B,UAAU;YACb,IAAI6B;YACJ,IAAI,CAACD,gBAAgB;gBACnBC,WAAW,EAAE;YACf,OAAO,IAAIC,MAAMC,OAAO,CAACH,iBAAiB;gBACxCC,WAAWD,eAAeI,GAAG,CAAC,CAACC,SAAWX,OAAOW,OAAOvB,KAAK,EAAEA,SAASuB,OAAOvB,KAAK;YACtF,OAAO;gBACLmB,WAAW;oBAACP,OAAOM,eAAelB,KAAK,EAAEA,SAASkB,eAAelB,KAAK;iBAAE;YAC1E;YAEAI,SAASe;QACX;IACF,GACA;QAAC7B;QAAUc;KAAS;IAGtB,kCAAkC;IAClC5C,UAAU;QACR,IAAIkB,WAAW0C,MAAMC,OAAO,CAACrB,QAAQ;YACnCgB,iBACEhB,MAAMsB,GAAG,CAAC,CAACd,KAAKgB;gBACd,OAAO;oBACLC,IAAI,CAAC,EAAEjB,IAAI,EAAEgB,MAAM,CAAC;oBACpB7C,OAAO,CAAC,EAAE6B,IAAI,CAAC;oBACfR,OAAO;wBACL0B,UAAU,IAAM,CAAC,EAAElB,IAAI,EAAEgB,MAAM,CAAC;wBAChCxB,OAAO,AAACQ,KAA2CR,SAASQ;oBAC9D;gBACF;YACF;QAEJ;IACF,GAAG;QAACR;QAAOtB;KAAQ;IAEnB,qBACE,oBAACiD;QACCpD,WAAW;YACTT;YACA;YACAS;YACA8B,aAAa;YACbf,YAAY;YACZZ,WAAW;SACZ,CACEkD,MAAM,CAACC,SACPC,IAAI,CAAC;QACRpC,OAAO;YACL,GAAGA,KAAK;YACRE;QACF;qBAEA,oBAACzC;QACCmB,aAAaA;QACbK,OAAOA;QACPa,UAAUA;QACT,GAAIZ,cAAc,CAAC,CAAC;sBAEvB,oBAAC1B;QAAWmB,aAAaA;QAAac,MAAMA;QAAO,GAAIV,cAAc,CAAC,CAAC;QACtEC,wBACC,oBAAChB;QACCa,WAAW,CAAC,MAAM,EAAEY,KAAK4C,OAAO,CAAC,OAAO,MAAM,CAAC;QAC/CC,UAAU1C;QACV2C,cAAc,CAACC,GAAGC;YAChB,iDAAiD;YACjD,MAAMC,gBAAgBhB,MAAMC,OAAO,CAACrB,UAAUA,MAAMqC,MAAM,IAAItD;YAC9D,OAAO1B,SAAS8E,aAAa,CAACC;QAChC;QACAE,aAAAA;QACAC,aAAAA;QACAC,SAAAA;QACAC,YAAAA;QACAC,kBAAkB;YAChB,MAAMN,gBAAgBhB,MAAMC,OAAO,CAACrB,UAAUA,MAAMqC,MAAM,IAAItD;YAC9D,IAAIqD,eAAe;gBACjB,OAAOtC,EAAE,2BAA2B;oBAAEjB,KAAKE;oBAASiB,OAAOA,MAAMqC,MAAM,GAAG;gBAAE;YAC9E;YACA,OAAO;QACT;QACA,aAAa;QACbpD,UAAUgC;QACVhB,SAAS,EAAE;QACXZ,aAAaS,EAAE;QACfO,WAAWA;QACXL,OAAOe;uBAGT,oBAACY,aACExD,2BACD,oBAACwE;QACCX,UAAU1C;QACVmC,IAAI,CAAC,MAAM,EAAEtC,KAAK4C,OAAO,CAAC,OAAO,MAAM,CAAC;QACxClD,KAAKA;QACLG,KAAKA;QACLf,MAAMkB;QACNF,UAAUqB;QACVsC,SAAS,CAACrC;YACR,6DAA6D;YAC7D,mBAAmB;YACnBA,EAAEG,MAAM,CAACmC,IAAI;QACf;QACAxD,aAAarC,eAAeqC,aAAaQ;QACzCJ,MAAMA;QACNqD,MAAK;QACL9C,OAAO,OAAOA,UAAU,WAAWA,QAAQ;QAE5C9B,aAGJE,sBAAsB0C,YACrB1C,kCAEA,oBAACnB,kBAAsBuB,oBAAoB,CAAC;AAIpD;AAEA,OAAO,MAAMuE,cAAcnF,cAAcG,sBAAqB"}
1
+ {"version":3,"sources":["../../../src/fields/Number/index.tsx"],"sourcesContent":["/* eslint-disable react/destructuring-assignment */\n'use client'\nimport type { FieldBase, NumberField as NumberFieldType } from 'payload/types'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { FieldDescription } from '@payloadcms/ui/forms/FieldDescription'\nimport { FieldError } from '@payloadcms/ui/forms/FieldError'\nimport { FieldLabel } from '@payloadcms/ui/forms/FieldLabel'\nimport { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider'\nimport { isNumber } from 'payload/utilities'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport type { Option } from '../../elements/ReactSelect/types.js'\nimport type { FormFieldBase } from '../shared/index.js'\n\nimport { ReactSelect } from '../../elements/ReactSelect/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nexport type NumberFieldProps = FormFieldBase & {\n hasMany?: boolean\n max?: number\n maxRows?: number\n min?: number\n name?: string\n onChange?: (e: number) => void\n path?: string\n placeholder?: NumberFieldType['admin']['placeholder']\n step?: number\n width?: string\n}\n\nconst NumberFieldComponent: React.FC<NumberFieldProps> = (props) => {\n const {\n name,\n AfterInput,\n BeforeInput,\n CustomDescription,\n CustomError,\n CustomLabel,\n className,\n descriptionProps,\n errorProps,\n hasMany = false,\n label,\n labelProps,\n max = Infinity,\n maxRows = Infinity,\n min = -Infinity,\n onChange: onChangeFromProps,\n path: pathFromProps,\n placeholder,\n readOnly: readOnlyFromProps,\n required,\n step = 1,\n style,\n validate,\n width,\n } = props\n\n const { i18n, t } = useTranslation()\n\n const memoizedValidate = useCallback(\n (value, options) => {\n if (typeof validate === 'function') {\n return validate(value, { ...options, max, min, required })\n }\n },\n [validate, min, max, required],\n )\n\n const { path: pathFromContext, readOnly: readOnlyFromContext } = useFieldProps()\n const readOnly = readOnlyFromProps || readOnlyFromContext\n\n const { path, setValue, showError, value } = useField<number | number[]>({\n path: pathFromContext || pathFromProps || name,\n validate: memoizedValidate,\n })\n\n const handleChange = useCallback(\n (e) => {\n const val = parseFloat(e.target.value)\n let newVal = val\n\n if (Number.isNaN(val)) {\n newVal = undefined\n }\n\n if (typeof onChangeFromProps === 'function') {\n onChangeFromProps(newVal)\n }\n\n setValue(newVal)\n },\n [onChangeFromProps, setValue],\n )\n\n const [valueToRender, setValueToRender] = useState<\n { id: string; label: string; value: { value: number } }[]\n >([]) // Only for hasMany\n\n const handleHasManyChange = useCallback(\n (selectedOption) => {\n if (!readOnly) {\n let newValue\n if (!selectedOption) {\n newValue = []\n } else if (Array.isArray(selectedOption)) {\n newValue = selectedOption.map((option) => Number(option.value?.value || option.value))\n } else {\n newValue = [Number(selectedOption.value?.value || selectedOption.value)]\n }\n\n setValue(newValue)\n }\n },\n [readOnly, setValue],\n )\n\n // useEffect update valueToRender:\n useEffect(() => {\n if (hasMany && Array.isArray(value)) {\n setValueToRender(\n value.map((val, index) => {\n return {\n id: `${val}${index}`, // append index to avoid duplicate keys but allow duplicate numbers\n label: `${val}`,\n value: {\n toString: () => `${val}${index}`,\n value: (val as unknown as Record<string, number>)?.value || val,\n }, // You're probably wondering, why the hell is this done that way? Well, React-select automatically uses \"label-value\" as a key, so we will get that react duplicate key warning if we just pass in the value as multiple values can be the same. So we need to append the index to the toString() of the value to avoid that warning, as it uses that as the key.\n }\n }),\n )\n }\n }, [value, hasMany])\n\n return (\n <div\n className={[\n fieldBaseClass,\n 'number',\n className,\n showError && 'error',\n readOnly && 'read-only',\n hasMany && 'has-many',\n ]\n .filter(Boolean)\n .join(' ')}\n style={{\n ...style,\n width,\n }}\n >\n <FieldLabel\n CustomLabel={CustomLabel}\n label={label}\n required={required}\n {...(labelProps || {})}\n />\n <FieldError CustomError={CustomError} path={path} {...(errorProps || {})} />\n {hasMany ? (\n <ReactSelect\n className={`field-${path.replace(/\\./g, '__')}`}\n disabled={readOnly}\n filterOption={(_, rawInput) => {\n // eslint-disable-next-line no-restricted-globals\n const isOverHasMany = Array.isArray(value) && value.length >= maxRows\n return isNumber(rawInput) && !isOverHasMany\n }}\n isClearable\n isCreatable\n isMulti\n isSortable\n noOptionsMessage={() => {\n const isOverHasMany = Array.isArray(value) && value.length >= maxRows\n if (isOverHasMany) {\n return t('validation:limitReached', { max: maxRows, value: value.length + 1 })\n }\n return null\n }}\n // numberOnly\n onChange={handleHasManyChange}\n options={[]}\n placeholder={t('general:enterAValue')}\n showError={showError}\n value={valueToRender as Option[]}\n />\n ) : (\n <div>\n {BeforeInput}\n <input\n disabled={readOnly}\n id={`field-${path.replace(/\\./g, '__')}`}\n max={max}\n min={min}\n name={path}\n onChange={handleChange}\n onWheel={(e) => {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-expect-error\n e.target.blur()\n }}\n placeholder={getTranslation(placeholder, i18n)}\n step={step}\n type=\"number\"\n value={typeof value === 'number' ? value : ''}\n />\n {AfterInput}\n </div>\n )}\n {CustomDescription !== undefined ? (\n CustomDescription\n ) : (\n <FieldDescription {...(descriptionProps || {})} />\n )}\n </div>\n )\n}\n\nexport const NumberField = withCondition(NumberFieldComponent)\n"],"names":["getTranslation","FieldDescription","FieldError","FieldLabel","useFieldProps","isNumber","React","useCallback","useEffect","useState","ReactSelect","useField","withCondition","useTranslation","fieldBaseClass","NumberFieldComponent","props","name","AfterInput","BeforeInput","CustomDescription","CustomError","CustomLabel","className","descriptionProps","errorProps","hasMany","label","labelProps","max","Infinity","maxRows","min","onChange","onChangeFromProps","path","pathFromProps","placeholder","readOnly","readOnlyFromProps","required","step","style","validate","width","i18n","t","memoizedValidate","value","options","pathFromContext","readOnlyFromContext","setValue","showError","handleChange","e","val","parseFloat","target","newVal","Number","isNaN","undefined","valueToRender","setValueToRender","handleHasManyChange","selectedOption","newValue","Array","isArray","map","option","index","id","toString","div","filter","Boolean","join","replace","disabled","filterOption","_","rawInput","isOverHasMany","length","isClearable","isCreatable","isMulti","isSortable","noOptionsMessage","input","onWheel","blur","type","NumberField"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -7,7 +7,6 @@ export type PasswordFieldProps = FormFieldBase & {
7
7
  className?: string;
8
8
  description?: Description;
9
9
  disabled?: boolean;
10
- label?: string;
11
10
  name: string;
12
11
  path?: string;
13
12
  required?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Password/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAkB,WAAW,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAI1E,OAAO,KAAsB,MAAM,OAAO,CAAA;AAE1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAKvD,OAAO,cAAc,CAAA;AAErB,MAAM,MAAM,kBAAkB,GAAG,aAAa,GAAG;IAC/C,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,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,CAAA;AAgED,eAAO,MAAM,QAAQ,8BAA+B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Password/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAkB,WAAW,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAI1E,OAAO,KAAsB,MAAM,OAAO,CAAA;AAE1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAKvD,OAAO,cAAc,CAAA;AAErB,MAAM,MAAM,kBAAkB,GAAG,aAAa,GAAG;IAC/C,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,CAAA;AAgED,eAAO,MAAM,QAAQ,8BAA+B,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/Password/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientValidate, Description, Validate } from 'payload/types'\n\nimport { FieldError } from '@payloadcms/ui/forms/FieldError'\nimport { FieldLabel } from '@payloadcms/ui/forms/FieldLabel'\nimport React, { useCallback } from 'react'\n\nimport type { FormFieldBase } from '../shared/index.js'\n\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nexport type PasswordFieldProps = FormFieldBase & {\n autoComplete?: string\n className?: string\n description?: Description\n disabled?: boolean\n label?: string\n name: string\n path?: string\n required?: boolean\n style?: React.CSSProperties\n validate?: Validate\n width?: string\n}\n\nconst PasswordField: React.FC<PasswordFieldProps> = (props) => {\n const {\n name,\n CustomError,\n CustomLabel,\n autoComplete,\n className,\n disabled,\n errorProps,\n label,\n labelProps,\n path: pathFromProps,\n required,\n style,\n validate,\n width,\n } = props\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 { formProcessing, path, setValue, showError, value } = useField({\n path: pathFromProps || name,\n validate: memoizedValidate,\n })\n\n return (\n <div\n className={[fieldBaseClass, 'password', className, showError && 'error']\n .filter(Boolean)\n .join(' ')}\n style={{\n ...style,\n width,\n }}\n >\n <FieldError CustomError={CustomError} path={path} {...(errorProps || {})} />\n <FieldLabel\n CustomLabel={CustomLabel}\n label={label}\n required={required}\n {...(labelProps || {})}\n />\n <input\n autoComplete={autoComplete}\n disabled={formProcessing || disabled}\n id={`field-${path.replace(/\\./g, '__')}`}\n name={path}\n onChange={setValue}\n type=\"password\"\n value={(value as string) || ''}\n />\n </div>\n )\n}\n\nexport const Password = withCondition(PasswordField)\n"],"names":["FieldError","FieldLabel","React","useCallback","useField","withCondition","fieldBaseClass","PasswordField","props","name","CustomError","CustomLabel","autoComplete","className","disabled","errorProps","label","labelProps","path","pathFromProps","required","style","validate","width","memoizedValidate","value","options","formProcessing","setValue","showError","div","filter","Boolean","join","input","id","replace","onChange","type","Password"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AAGA,SAASA,UAAU,QAAQ,kCAAiC;AAC5D,SAASC,UAAU,QAAQ,kCAAiC;AAC5D,OAAOC,SAASC,WAAW,QAAQ,QAAO;AAI1C,SAASC,QAAQ,QAAQ,gCAA+B;AACxD,SAASC,aAAa,QAAQ,qCAAoC;AAClE,SAASC,cAAc,QAAQ,qBAAoB;AAiBnD,MAAMC,gBAA8C,CAACC;IACnD,MAAM,EACJC,IAAI,EACJC,WAAW,EACXC,WAAW,EACXC,YAAY,EACZC,SAAS,EACTC,QAAQ,EACRC,UAAU,EACVC,KAAK,EACLC,UAAU,EACVC,MAAMC,aAAa,EACnBC,QAAQ,EACRC,KAAK,EACLC,QAAQ,EACRC,KAAK,EACN,GAAGf;IAEJ,MAAMgB,mBAAmCrB,YACvC,CAACsB,OAAOC;QACN,IAAI,OAAOJ,aAAa,YAAY;YAClC,OAAOA,SAASG,OAAO;gBAAE,GAAGC,OAAO;gBAAEN;YAAS;QAChD;IACF,GACA;QAACE;QAAUF;KAAS;IAGtB,MAAM,EAAEO,cAAc,EAAET,IAAI,EAAEU,QAAQ,EAAEC,SAAS,EAAEJ,KAAK,EAAE,GAAGrB,SAAS;QACpEc,MAAMC,iBAAiBV;QACvBa,UAAUE;IACZ;IAEA,qBACE,oBAACM;QACCjB,WAAW;YAACP;YAAgB;YAAYO;YAAWgB,aAAa;SAAQ,CACrEE,MAAM,CAACC,SACPC,IAAI,CAAC;QACRZ,OAAO;YACL,GAAGA,KAAK;YACRE;QACF;qBAEA,oBAACvB;QAAWU,aAAaA;QAAaQ,MAAMA;QAAO,GAAIH,cAAc,CAAC,CAAC;sBACvE,oBAACd;QACCU,aAAaA;QACbK,OAAOA;QACPI,UAAUA;QACT,GAAIH,cAAc,CAAC,CAAC;sBAEvB,oBAACiB;QACCtB,cAAcA;QACdE,UAAUa,kBAAkBb;QAC5BqB,IAAI,CAAC,MAAM,EAAEjB,KAAKkB,OAAO,CAAC,OAAO,MAAM,CAAC;QACxC3B,MAAMS;QACNmB,UAAUT;QACVU,MAAK;QACLb,OAAO,AAACA,SAAoB;;AAIpC;AAEA,OAAO,MAAMc,WAAWlC,cAAcE,eAAc"}
1
+ {"version":3,"sources":["../../../src/fields/Password/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientValidate, Description, Validate } from 'payload/types'\n\nimport { FieldError } from '@payloadcms/ui/forms/FieldError'\nimport { FieldLabel } from '@payloadcms/ui/forms/FieldLabel'\nimport React, { useCallback } from 'react'\n\nimport type { FormFieldBase } from '../shared/index.js'\n\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nexport type PasswordFieldProps = FormFieldBase & {\n autoComplete?: string\n className?: string\n description?: Description\n disabled?: boolean\n name: string\n path?: string\n required?: boolean\n style?: React.CSSProperties\n validate?: Validate\n width?: string\n}\n\nconst PasswordField: React.FC<PasswordFieldProps> = (props) => {\n const {\n name,\n CustomError,\n CustomLabel,\n autoComplete,\n className,\n disabled,\n errorProps,\n label,\n labelProps,\n path: pathFromProps,\n required,\n style,\n validate,\n width,\n } = props\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 { formProcessing, path, setValue, showError, value } = useField({\n path: pathFromProps || name,\n validate: memoizedValidate,\n })\n\n return (\n <div\n className={[fieldBaseClass, 'password', className, showError && 'error']\n .filter(Boolean)\n .join(' ')}\n style={{\n ...style,\n width,\n }}\n >\n <FieldError CustomError={CustomError} path={path} {...(errorProps || {})} />\n <FieldLabel\n CustomLabel={CustomLabel}\n label={label}\n required={required}\n {...(labelProps || {})}\n />\n <input\n autoComplete={autoComplete}\n disabled={formProcessing || disabled}\n id={`field-${path.replace(/\\./g, '__')}`}\n name={path}\n onChange={setValue}\n type=\"password\"\n value={(value as string) || ''}\n />\n </div>\n )\n}\n\nexport const Password = withCondition(PasswordField)\n"],"names":["FieldError","FieldLabel","React","useCallback","useField","withCondition","fieldBaseClass","PasswordField","props","name","CustomError","CustomLabel","autoComplete","className","disabled","errorProps","label","labelProps","path","pathFromProps","required","style","validate","width","memoizedValidate","value","options","formProcessing","setValue","showError","div","filter","Boolean","join","input","id","replace","onChange","type","Password"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AAGA,SAASA,UAAU,QAAQ,kCAAiC;AAC5D,SAASC,UAAU,QAAQ,kCAAiC;AAC5D,OAAOC,SAASC,WAAW,QAAQ,QAAO;AAI1C,SAASC,QAAQ,QAAQ,gCAA+B;AACxD,SAASC,aAAa,QAAQ,qCAAoC;AAClE,SAASC,cAAc,QAAQ,qBAAoB;AAgBnD,MAAMC,gBAA8C,CAACC;IACnD,MAAM,EACJC,IAAI,EACJC,WAAW,EACXC,WAAW,EACXC,YAAY,EACZC,SAAS,EACTC,QAAQ,EACRC,UAAU,EACVC,KAAK,EACLC,UAAU,EACVC,MAAMC,aAAa,EACnBC,QAAQ,EACRC,KAAK,EACLC,QAAQ,EACRC,KAAK,EACN,GAAGf;IAEJ,MAAMgB,mBAAmCrB,YACvC,CAACsB,OAAOC;QACN,IAAI,OAAOJ,aAAa,YAAY;YAClC,OAAOA,SAASG,OAAO;gBAAE,GAAGC,OAAO;gBAAEN;YAAS;QAChD;IACF,GACA;QAACE;QAAUF;KAAS;IAGtB,MAAM,EAAEO,cAAc,EAAET,IAAI,EAAEU,QAAQ,EAAEC,SAAS,EAAEJ,KAAK,EAAE,GAAGrB,SAAS;QACpEc,MAAMC,iBAAiBV;QACvBa,UAAUE;IACZ;IAEA,qBACE,oBAACM;QACCjB,WAAW;YAACP;YAAgB;YAAYO;YAAWgB,aAAa;SAAQ,CACrEE,MAAM,CAACC,SACPC,IAAI,CAAC;QACRZ,OAAO;YACL,GAAGA,KAAK;YACRE;QACF;qBAEA,oBAACvB;QAAWU,aAAaA;QAAaQ,MAAMA;QAAO,GAAIH,cAAc,CAAC,CAAC;sBACvE,oBAACd;QACCU,aAAaA;QACbK,OAAOA;QACPI,UAAUA;QACT,GAAIH,cAAc,CAAC,CAAC;sBAEvB,oBAACiB;QACCtB,cAAcA;QACdE,UAAUa,kBAAkBb;QAC5BqB,IAAI,CAAC,MAAM,EAAEjB,KAAKkB,OAAO,CAAC,OAAO,MAAM,CAAC;QACxC3B,MAAMS;QACNmB,UAAUT;QACVU,MAAK;QACLb,OAAO,AAACA,SAAoB;;AAIpC;AAEA,OAAO,MAAMc,WAAWlC,cAAcE,eAAc"}
@@ -1,9 +1,7 @@
1
- import type { FieldBase } from 'payload/types';
2
1
  import React from 'react';
3
2
  import './index.scss';
4
3
  import type { FormFieldBase } from '../shared/index.js';
5
4
  export type PointFieldProps = FormFieldBase & {
6
- label?: FieldBase['label'];
7
5
  name?: string;
8
6
  path?: string;
9
7
  placeholder?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Point/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAkB,SAAS,EAAE,MAAM,eAAe,CAAA;AAG9D,OAAO,KAAsB,MAAM,OAAO,CAAA;AAM1C,OAAO,cAAc,CAAA;AASrB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAEvD,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG;IAC5C,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AA6ID,eAAO,MAAM,KAAK,2BAA4B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Point/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAsB,MAAM,OAAO,CAAA;AAM1C,OAAO,cAAc,CAAA;AASrB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAEvD,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AA8ID,eAAO,MAAM,KAAK,2BAA4B,CAAA"}
@@ -11,7 +11,7 @@ import { FieldError } from '@payloadcms/ui/forms/FieldError';
11
11
  import { FieldLabel } from '@payloadcms/ui/forms/FieldLabel';
12
12
  import { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider';
13
13
  const PointField = (props)=>{
14
- const { name, AfterInput, BeforeInput, CustomDescription, CustomError, CustomLabel, className, descriptionProps, errorProps, labelProps, path: pathFromProps, placeholder, readOnly: readOnlyFromProps, required, step, style, validate, width } = props;
14
+ const { name, AfterInput, BeforeInput, CustomDescription, CustomError, CustomLabel, className, descriptionProps, errorProps, label, labelProps, path: pathFromProps, placeholder, readOnly: readOnlyFromProps, required, step, style, validate, width } = props;
15
15
  const { i18n, t } = useTranslation();
16
16
  const memoizedValidate = useCallback((value, options)=>{
17
17
  if (typeof validate === 'function') {
@@ -49,7 +49,7 @@ const PointField = (props)=>{
49
49
  ]);
50
50
  const getCoordinateFieldLabel = (type)=>{
51
51
  const suffix = type === 'longitude' ? t('fields:longitude') : t('fields:latitude');
52
- const fieldLabel = labelProps && labelProps.label ? getTranslation(labelProps.label, i18n) : '';
52
+ const fieldLabel = label ? getTranslation(label, i18n) : '';
53
53
  return {
54
54
  ...labelProps,
55
55
  label: `${fieldLabel}${fieldLabel ? ' - ' : ''}${suffix}`
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/Point/index.tsx"],"sourcesContent":["/* eslint-disable react/destructuring-assignment */\n'use client'\nimport type { ClientValidate, FieldBase } from 'payload/types'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback } from 'react'\n\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nconst baseClass = 'point'\n\nimport { FieldDescription } from '@payloadcms/ui/forms/FieldDescription'\nimport { FieldError } from '@payloadcms/ui/forms/FieldError'\nimport { FieldLabel } from '@payloadcms/ui/forms/FieldLabel'\nimport { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider'\n\nimport type { FormFieldBase } from '../shared/index.js'\n\nexport type PointFieldProps = FormFieldBase & {\n label?: FieldBase['label']\n name?: string\n path?: string\n placeholder?: string\n step?: number\n width?: string\n}\n\nconst PointField: React.FC<PointFieldProps> = (props) => {\n const {\n name,\n AfterInput,\n BeforeInput,\n CustomDescription,\n CustomError,\n CustomLabel,\n className,\n descriptionProps,\n errorProps,\n labelProps,\n path: pathFromProps,\n placeholder,\n readOnly: readOnlyFromProps,\n required,\n step,\n style,\n validate,\n width,\n } = props\n\n const { i18n, t } = 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 const readOnly = readOnlyFromProps || readOnlyFromContext\n\n const {\n path,\n setValue,\n showError,\n value = [null, null],\n } = useField<[number, number]>({\n path: pathFromContext || pathFromProps || name,\n validate: memoizedValidate,\n })\n\n const handleChange = useCallback(\n (e, index: 0 | 1) => {\n let val = parseFloat(e.target.value)\n if (Number.isNaN(val)) {\n val = e.target.value\n }\n const coordinates = [...value]\n coordinates[index] = val\n setValue(coordinates)\n },\n [setValue, value],\n )\n\n const getCoordinateFieldLabel = (type: 'latitude' | 'longitude') => {\n const suffix = type === 'longitude' ? t('fields:longitude') : t('fields:latitude')\n const fieldLabel = labelProps && labelProps.label ? getTranslation(labelProps.label, i18n) : ''\n\n return {\n ...labelProps,\n label: `${fieldLabel}${fieldLabel ? ' - ' : ''}${suffix}`,\n }\n }\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n showError && 'error',\n readOnly && 'read-only',\n ]\n .filter(Boolean)\n .join(' ')}\n style={{\n ...style,\n width,\n }}\n >\n <FieldError CustomError={CustomError} path={path} {...(errorProps || {})} />\n <ul className={`${baseClass}__wrap`}>\n <li>\n {CustomLabel !== undefined ? (\n CustomLabel\n ) : (\n <FieldLabel {...getCoordinateFieldLabel('longitude')} />\n )}\n <div className=\"input-wrapper\">\n {BeforeInput}\n <input\n disabled={readOnly}\n id={`field-longitude-${path.replace(/\\./g, '__')}`}\n name={`${path}.longitude`}\n onChange={(e) => handleChange(e, 0)}\n placeholder={getTranslation(placeholder, i18n)}\n step={step}\n type=\"number\"\n value={value && typeof value[0] === 'number' ? value[0] : ''}\n />\n {AfterInput}\n </div>\n </li>\n <li>\n {CustomLabel !== undefined ? (\n CustomLabel\n ) : (\n <FieldLabel {...getCoordinateFieldLabel('latitude')} />\n )}\n <div className=\"input-wrapper\">\n {BeforeInput}\n <input\n disabled={readOnly}\n id={`field-latitude-${path.replace(/\\./g, '__')}`}\n name={`${path}.latitude`}\n onChange={(e) => handleChange(e, 1)}\n placeholder={getTranslation(placeholder, i18n)}\n step={step}\n type=\"number\"\n value={value && typeof value[1] === 'number' ? value[1] : ''}\n />\n {AfterInput}\n </div>\n </li>\n </ul>\n {CustomDescription !== undefined ? (\n CustomDescription\n ) : (\n <FieldDescription {...(descriptionProps || {})} />\n )}\n </div>\n )\n}\n\nexport const Point = withCondition(PointField)\n"],"names":["getTranslation","React","useCallback","useField","withCondition","useTranslation","fieldBaseClass","baseClass","FieldDescription","FieldError","FieldLabel","useFieldProps","PointField","props","name","AfterInput","BeforeInput","CustomDescription","CustomError","CustomLabel","className","descriptionProps","errorProps","labelProps","path","pathFromProps","placeholder","readOnly","readOnlyFromProps","required","step","style","validate","width","i18n","t","memoizedValidate","value","options","pathFromContext","readOnlyFromContext","setValue","showError","handleChange","e","index","val","parseFloat","target","Number","isNaN","coordinates","getCoordinateFieldLabel","type","suffix","fieldLabel","label","div","filter","Boolean","join","ul","li","undefined","input","disabled","id","replace","onChange","Point"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../src/fields/Point/index.tsx"],"sourcesContent":["/* eslint-disable react/destructuring-assignment */\n'use client'\nimport type { ClientValidate } from 'payload/types'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback } from 'react'\n\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nconst baseClass = 'point'\n\nimport { FieldDescription } from '@payloadcms/ui/forms/FieldDescription'\nimport { FieldError } from '@payloadcms/ui/forms/FieldError'\nimport { FieldLabel } from '@payloadcms/ui/forms/FieldLabel'\nimport { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider'\n\nimport type { FormFieldBase } from '../shared/index.js'\n\nexport type PointFieldProps = FormFieldBase & {\n name?: string\n path?: string\n placeholder?: string\n step?: number\n width?: string\n}\n\nconst PointField: React.FC<PointFieldProps> = (props) => {\n const {\n name,\n AfterInput,\n BeforeInput,\n CustomDescription,\n CustomError,\n CustomLabel,\n className,\n descriptionProps,\n errorProps,\n label,\n labelProps,\n path: pathFromProps,\n placeholder,\n readOnly: readOnlyFromProps,\n required,\n step,\n style,\n validate,\n width,\n } = props\n\n const { i18n, t } = 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 const readOnly = readOnlyFromProps || readOnlyFromContext\n\n const {\n path,\n setValue,\n showError,\n value = [null, null],\n } = useField<[number, number]>({\n path: pathFromContext || pathFromProps || name,\n validate: memoizedValidate,\n })\n\n const handleChange = useCallback(\n (e, index: 0 | 1) => {\n let val = parseFloat(e.target.value)\n if (Number.isNaN(val)) {\n val = e.target.value\n }\n const coordinates = [...value]\n coordinates[index] = val\n setValue(coordinates)\n },\n [setValue, value],\n )\n\n const getCoordinateFieldLabel = (type: 'latitude' | 'longitude') => {\n const suffix = type === 'longitude' ? t('fields:longitude') : t('fields:latitude')\n const fieldLabel = label ? getTranslation(label, i18n) : ''\n\n return {\n ...labelProps,\n label: `${fieldLabel}${fieldLabel ? ' - ' : ''}${suffix}`,\n }\n }\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n showError && 'error',\n readOnly && 'read-only',\n ]\n .filter(Boolean)\n .join(' ')}\n style={{\n ...style,\n width,\n }}\n >\n <FieldError CustomError={CustomError} path={path} {...(errorProps || {})} />\n <ul className={`${baseClass}__wrap`}>\n <li>\n {CustomLabel !== undefined ? (\n CustomLabel\n ) : (\n <FieldLabel {...getCoordinateFieldLabel('longitude')} />\n )}\n <div className=\"input-wrapper\">\n {BeforeInput}\n <input\n disabled={readOnly}\n id={`field-longitude-${path.replace(/\\./g, '__')}`}\n name={`${path}.longitude`}\n onChange={(e) => handleChange(e, 0)}\n placeholder={getTranslation(placeholder, i18n)}\n step={step}\n type=\"number\"\n value={value && typeof value[0] === 'number' ? value[0] : ''}\n />\n {AfterInput}\n </div>\n </li>\n <li>\n {CustomLabel !== undefined ? (\n CustomLabel\n ) : (\n <FieldLabel {...getCoordinateFieldLabel('latitude')} />\n )}\n <div className=\"input-wrapper\">\n {BeforeInput}\n <input\n disabled={readOnly}\n id={`field-latitude-${path.replace(/\\./g, '__')}`}\n name={`${path}.latitude`}\n onChange={(e) => handleChange(e, 1)}\n placeholder={getTranslation(placeholder, i18n)}\n step={step}\n type=\"number\"\n value={value && typeof value[1] === 'number' ? value[1] : ''}\n />\n {AfterInput}\n </div>\n </li>\n </ul>\n {CustomDescription !== undefined ? (\n CustomDescription\n ) : (\n <FieldDescription {...(descriptionProps || {})} />\n )}\n </div>\n )\n}\n\nexport const Point = withCondition(PointField)\n"],"names":["getTranslation","React","useCallback","useField","withCondition","useTranslation","fieldBaseClass","baseClass","FieldDescription","FieldError","FieldLabel","useFieldProps","PointField","props","name","AfterInput","BeforeInput","CustomDescription","CustomError","CustomLabel","className","descriptionProps","errorProps","label","labelProps","path","pathFromProps","placeholder","readOnly","readOnlyFromProps","required","step","style","validate","width","i18n","t","memoizedValidate","value","options","pathFromContext","readOnlyFromContext","setValue","showError","handleChange","e","index","val","parseFloat","target","Number","isNaN","coordinates","getCoordinateFieldLabel","type","suffix","fieldLabel","div","filter","Boolean","join","ul","li","undefined","input","disabled","id","replace","onChange","Point"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/fields/RadioGroup/Radio/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAGjD,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAG3C,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,UAAU,EAAE,OAAO,CAAA;IACnB,QAAQ,EAAE,QAAQ,CAAA;IAClB,MAAM,EAAE,YAAY,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAsBA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/fields/RadioGroup/Radio/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAIjD,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAG3C,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,UAAU,EAAE,OAAO,CAAA;IACnB,QAAQ,EAAE,QAAQ,CAAA;IAClB,MAAM,EAAE,YAAY,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAwBA,CAAA"}
@@ -1,12 +1,14 @@
1
1
  'use client';
2
2
  import { getTranslation } from '@payloadcms/translations';
3
+ import { useEditDepth } from '@payloadcms/ui/providers/EditDepth';
3
4
  import React from 'react';
4
5
  import { useTranslation } from '../../../providers/Translation/index.js';
5
6
  const baseClass = 'radio-input';
6
7
  export const Radio = (props)=>{
7
8
  const { isSelected, onChange, option, path, uuid } = props;
8
9
  const { i18n } = useTranslation();
9
- const id = `field-${path}-${option.value}${uuid ? `-${uuid}` : ''}`;
10
+ const editDepth = useEditDepth();
11
+ const id = `field-${path}-${option.value}${editDepth > 1 ? `-${editDepth}` : ''}${uuid ? `-${uuid}` : ''}`;
10
12
  return /*#__PURE__*/ React.createElement("label", {
11
13
  htmlFor: id
12
14
  }, /*#__PURE__*/ React.createElement("div", {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/fields/RadioGroup/Radio/index.tsx"],"sourcesContent":["'use client'\nimport type { OptionObject } from 'payload/types'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport type { OnChange } from '../index.js'\n\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'radio-input'\n\nexport const Radio: React.FC<{\n id: string\n isSelected: boolean\n onChange: OnChange\n option: OptionObject\n path: string\n uuid?: string\n}> = (props) => {\n const { isSelected, onChange, option, path, uuid } = props\n const { i18n } = useTranslation()\n\n const id = `field-${path}-${option.value}${uuid ? `-${uuid}` : ''}`\n\n return (\n <label htmlFor={id}>\n <div\n className={[baseClass, isSelected && `${baseClass}--is-selected`].filter(Boolean).join(' ')}\n >\n <input\n checked={isSelected}\n id={id}\n onChange={() => (typeof onChange === 'function' ? onChange(option.value) : null)}\n type=\"radio\"\n />\n <span className={`${baseClass}__styled-radio`} />\n <span className={`${baseClass}__label`}>{getTranslation(option.label, i18n)}</span>\n </div>\n </label>\n )\n}\n"],"names":["getTranslation","React","useTranslation","baseClass","Radio","props","isSelected","onChange","option","path","uuid","i18n","id","value","label","htmlFor","div","className","filter","Boolean","join","input","checked","type","span"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AAGA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,WAAW,QAAO;AAIzB,SAASC,cAAc,QAAQ,0CAAyC;AAGxE,MAAMC,YAAY;AAElB,OAAO,MAAMC,QAOR,CAACC;IACJ,MAAM,EAAEC,UAAU,EAAEC,QAAQ,EAAEC,MAAM,EAAEC,IAAI,EAAEC,IAAI,EAAE,GAAGL;IACrD,MAAM,EAAEM,IAAI,EAAE,GAAGT;IAEjB,MAAMU,KAAK,CAAC,MAAM,EAAEH,KAAK,CAAC,EAAED,OAAOK,KAAK,CAAC,EAAEH,OAAO,CAAC,CAAC,EAAEA,KAAK,CAAC,GAAG,GAAG,CAAC;IAEnE,qBACE,oBAACI;QAAMC,SAASH;qBACd,oBAACI;QACCC,WAAW;YAACd;YAAWG,cAAc,CAAC,EAAEH,UAAU,aAAa,CAAC;SAAC,CAACe,MAAM,CAACC,SAASC,IAAI,CAAC;qBAEvF,oBAACC;QACCC,SAAShB;QACTM,IAAIA;QACJL,UAAU,IAAO,OAAOA,aAAa,aAAaA,SAASC,OAAOK,KAAK,IAAI;QAC3EU,MAAK;sBAEP,oBAACC;QAAKP,WAAW,CAAC,EAAEd,UAAU,cAAc,CAAC;sBAC7C,oBAACqB;QAAKP,WAAW,CAAC,EAAEd,UAAU,OAAO,CAAC;OAAGH,eAAeQ,OAAOM,KAAK,EAAEH;AAI9E,EAAC"}
1
+ {"version":3,"sources":["../../../../src/fields/RadioGroup/Radio/index.tsx"],"sourcesContent":["'use client'\nimport type { OptionObject } from 'payload/types'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { useEditDepth } from '@payloadcms/ui/providers/EditDepth'\nimport React from 'react'\n\nimport type { OnChange } from '../index.js'\n\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'radio-input'\n\nexport const Radio: React.FC<{\n id: string\n isSelected: boolean\n onChange: OnChange\n option: OptionObject\n path: string\n uuid?: string\n}> = (props) => {\n const { isSelected, onChange, option, path, uuid } = props\n const { i18n } = useTranslation()\n\n const editDepth = useEditDepth()\n\n const id = `field-${path}-${option.value}${editDepth > 1 ? `-${editDepth}` : ''}${uuid ? `-${uuid}` : ''}`\n\n return (\n <label htmlFor={id}>\n <div\n className={[baseClass, isSelected && `${baseClass}--is-selected`].filter(Boolean).join(' ')}\n >\n <input\n checked={isSelected}\n id={id}\n onChange={() => (typeof onChange === 'function' ? onChange(option.value) : null)}\n type=\"radio\"\n />\n <span className={`${baseClass}__styled-radio`} />\n <span className={`${baseClass}__label`}>{getTranslation(option.label, i18n)}</span>\n </div>\n </label>\n )\n}\n"],"names":["getTranslation","useEditDepth","React","useTranslation","baseClass","Radio","props","isSelected","onChange","option","path","uuid","i18n","editDepth","id","value","label","htmlFor","div","className","filter","Boolean","join","input","checked","type","span"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AAGA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,SAASC,YAAY,QAAQ,qCAAoC;AACjE,OAAOC,WAAW,QAAO;AAIzB,SAASC,cAAc,QAAQ,0CAAyC;AAGxE,MAAMC,YAAY;AAElB,OAAO,MAAMC,QAOR,CAACC;IACJ,MAAM,EAAEC,UAAU,EAAEC,QAAQ,EAAEC,MAAM,EAAEC,IAAI,EAAEC,IAAI,EAAE,GAAGL;IACrD,MAAM,EAAEM,IAAI,EAAE,GAAGT;IAEjB,MAAMU,YAAYZ;IAElB,MAAMa,KAAK,CAAC,MAAM,EAAEJ,KAAK,CAAC,EAAED,OAAOM,KAAK,CAAC,EAAEF,YAAY,IAAI,CAAC,CAAC,EAAEA,UAAU,CAAC,GAAG,GAAG,EAAEF,OAAO,CAAC,CAAC,EAAEA,KAAK,CAAC,GAAG,GAAG,CAAC;IAE1G,qBACE,oBAACK;QAAMC,SAASH;qBACd,oBAACI;QACCC,WAAW;YAACf;YAAWG,cAAc,CAAC,EAAEH,UAAU,aAAa,CAAC;SAAC,CAACgB,MAAM,CAACC,SAASC,IAAI,CAAC;qBAEvF,oBAACC;QACCC,SAASjB;QACTO,IAAIA;QACJN,UAAU,IAAO,OAAOA,aAAa,aAAaA,SAASC,OAAOM,KAAK,IAAI;QAC3EU,MAAK;sBAEP,oBAACC;QAAKP,WAAW,CAAC,EAAEf,UAAU,cAAc,CAAC;sBAC7C,oBAACsB;QAAKP,WAAW,CAAC,EAAEf,UAAU,OAAO,CAAC;OAAGJ,eAAeS,OAAOO,KAAK,EAAEJ;AAI9E,EAAC"}
@@ -1,9 +1,8 @@
1
- import type { FieldBase, Option } from 'payload/types';
1
+ import type { Option } from 'payload/types';
2
2
  import React from 'react';
3
3
  import './index.scss';
4
4
  import type { FormFieldBase } from '../shared/index.js';
5
5
  export type RadioFieldProps = FormFieldBase & {
6
- label?: FieldBase['label'];
7
6
  layout?: 'horizontal' | 'vertical';
8
7
  name?: string;
9
8
  onChange?: OnChange;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/RadioGroup/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAGtD,OAAO,KAAsB,MAAM,OAAO,CAAA;AAQ1C,OAAO,cAAc,CAAA;AAQrB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAEvD,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG;IAC5C,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;IAC1B,MAAM,CAAC,EAAE,YAAY,GAAG,UAAU,CAAA;IAClC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,QAAQ,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAA;AAyHrD,eAAO,MAAM,UAAU,2BAAiC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/RadioGroup/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAG3C,OAAO,KAAsB,MAAM,OAAO,CAAA;AAQ1C,OAAO,cAAc,CAAA;AAQrB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAEvD,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG;IAC5C,MAAM,CAAC,EAAE,YAAY,GAAG,UAAU,CAAA;IAClC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,QAAQ,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAA;AAyHrD,eAAO,MAAM,UAAU,2BAAiC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/RadioGroup/index.tsx"],"sourcesContent":["/* eslint-disable react/destructuring-assignment */\n/* eslint-disable react-hooks/exhaustive-deps */\n'use client'\nimport type { FieldBase, Option } from 'payload/types'\n\nimport { optionIsObject } from 'payload/types'\nimport React, { useCallback } from 'react'\n\nimport { FieldLabel } from '../../forms/FieldLabel/index.js'\nimport { useForm } from '../../forms/Form/context.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { Radio } from './Radio/index.js'\nimport './index.scss'\n\nconst baseClass = 'radio-group'\n\nimport { FieldDescription } from '@payloadcms/ui/forms/FieldDescription'\nimport { FieldError } from '@payloadcms/ui/forms/FieldError'\nimport { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider'\n\nimport type { FormFieldBase } from '../shared/index.js'\n\nexport type RadioFieldProps = FormFieldBase & {\n label?: FieldBase['label']\n layout?: 'horizontal' | 'vertical'\n name?: string\n onChange?: OnChange\n options?: Option[]\n path?: string\n value?: string\n width?: string\n}\n\nexport type OnChange<T = string> = (value: T) => void\n\nconst RadioGroupField: React.FC<RadioFieldProps> = (props) => {\n const {\n name,\n CustomDescription,\n CustomError,\n CustomLabel,\n className,\n descriptionProps,\n errorProps,\n label,\n labelProps,\n layout = 'horizontal',\n onChange: onChangeFromProps,\n options = [],\n path: pathFromProps,\n readOnly: readOnlyFromProps,\n required,\n style,\n validate,\n value: valueFromProps,\n width,\n } = props\n\n const { uuid } = useForm()\n\n const memoizedValidate = useCallback(\n (value, validationOptions) => {\n if (typeof validate === 'function')\n return validate(value, { ...validationOptions, options, required })\n },\n [validate, options, required],\n )\n\n const { path: pathFromContext, readOnly: readOnlyFromContext } = useFieldProps()\n const readOnly = readOnlyFromProps || readOnlyFromContext\n\n const {\n path,\n setValue,\n showError,\n value: valueFromContext,\n } = useField<string>({\n path: pathFromContext || pathFromProps || name,\n validate: memoizedValidate,\n })\n\n const value = valueFromContext || valueFromProps\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n `${baseClass}--layout-${layout}`,\n showError && 'error',\n readOnly && `${baseClass}--read-only`,\n ]\n .filter(Boolean)\n .join(' ')}\n style={{\n ...style,\n width,\n }}\n >\n <div className={`${baseClass}__error-wrap`}>\n <FieldError CustomError={CustomError} path={path} {...(errorProps || {})} />\n </div>\n <FieldLabel\n CustomLabel={CustomLabel}\n label={label}\n required={required}\n {...(labelProps || {})}\n />\n <ul className={`${baseClass}--group`} id={`field-${path.replace(/\\./g, '__')}`}>\n {options.map((option) => {\n let optionValue = ''\n\n if (optionIsObject(option)) {\n optionValue = option.value\n } else {\n optionValue = option\n }\n\n const isSelected = String(optionValue) === String(value)\n\n const id = `field-${path}-${optionValue}${uuid ? `-${uuid}` : ''}`\n\n return (\n <li key={`${path} - ${optionValue}`}>\n <Radio\n id={id}\n isSelected={isSelected}\n onChange={() => {\n if (typeof onChangeFromProps === 'function') {\n onChangeFromProps(optionValue)\n }\n\n if (!readOnly) {\n setValue(optionValue)\n }\n }}\n option={optionIsObject(option) ? option : { label: option, value: option }}\n path={path}\n uuid={uuid}\n />\n </li>\n )\n })}\n </ul>\n {CustomDescription !== undefined ? (\n CustomDescription\n ) : (\n <FieldDescription {...(descriptionProps || {})} />\n )}\n </div>\n )\n}\n\nexport const RadioGroup = withCondition(RadioGroupField)\n"],"names":["optionIsObject","React","useCallback","FieldLabel","useForm","useField","withCondition","fieldBaseClass","Radio","baseClass","FieldDescription","FieldError","useFieldProps","RadioGroupField","props","name","CustomDescription","CustomError","CustomLabel","className","descriptionProps","errorProps","label","labelProps","layout","onChange","onChangeFromProps","options","path","pathFromProps","readOnly","readOnlyFromProps","required","style","validate","value","valueFromProps","width","uuid","memoizedValidate","validationOptions","pathFromContext","readOnlyFromContext","setValue","showError","valueFromContext","div","filter","Boolean","join","ul","id","replace","map","option","optionValue","isSelected","String","li","key","undefined","RadioGroup"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../src/fields/RadioGroup/index.tsx"],"sourcesContent":["/* eslint-disable react/destructuring-assignment */\n/* eslint-disable react-hooks/exhaustive-deps */\n'use client'\nimport type { Option } from 'payload/types'\n\nimport { optionIsObject } from 'payload/types'\nimport React, { useCallback } from 'react'\n\nimport { FieldLabel } from '../../forms/FieldLabel/index.js'\nimport { useForm } from '../../forms/Form/context.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { Radio } from './Radio/index.js'\nimport './index.scss'\n\nconst baseClass = 'radio-group'\n\nimport { FieldDescription } from '@payloadcms/ui/forms/FieldDescription'\nimport { FieldError } from '@payloadcms/ui/forms/FieldError'\nimport { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider'\n\nimport type { FormFieldBase } from '../shared/index.js'\n\nexport type RadioFieldProps = FormFieldBase & {\n layout?: 'horizontal' | 'vertical'\n name?: string\n onChange?: OnChange\n options?: Option[]\n path?: string\n value?: string\n width?: string\n}\n\nexport type OnChange<T = string> = (value: T) => void\n\nconst RadioGroupField: React.FC<RadioFieldProps> = (props) => {\n const {\n name,\n CustomDescription,\n CustomError,\n CustomLabel,\n className,\n descriptionProps,\n errorProps,\n label,\n labelProps,\n layout = 'horizontal',\n onChange: onChangeFromProps,\n options = [],\n path: pathFromProps,\n readOnly: readOnlyFromProps,\n required,\n style,\n validate,\n value: valueFromProps,\n width,\n } = props\n\n const { uuid } = useForm()\n\n const memoizedValidate = useCallback(\n (value, validationOptions) => {\n if (typeof validate === 'function')\n return validate(value, { ...validationOptions, options, required })\n },\n [validate, options, required],\n )\n\n const { path: pathFromContext, readOnly: readOnlyFromContext } = useFieldProps()\n const readOnly = readOnlyFromProps || readOnlyFromContext\n\n const {\n path,\n setValue,\n showError,\n value: valueFromContext,\n } = useField<string>({\n path: pathFromContext || pathFromProps || name,\n validate: memoizedValidate,\n })\n\n const value = valueFromContext || valueFromProps\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n `${baseClass}--layout-${layout}`,\n showError && 'error',\n readOnly && `${baseClass}--read-only`,\n ]\n .filter(Boolean)\n .join(' ')}\n style={{\n ...style,\n width,\n }}\n >\n <div className={`${baseClass}__error-wrap`}>\n <FieldError CustomError={CustomError} path={path} {...(errorProps || {})} />\n </div>\n <FieldLabel\n CustomLabel={CustomLabel}\n label={label}\n required={required}\n {...(labelProps || {})}\n />\n <ul className={`${baseClass}--group`} id={`field-${path.replace(/\\./g, '__')}`}>\n {options.map((option) => {\n let optionValue = ''\n\n if (optionIsObject(option)) {\n optionValue = option.value\n } else {\n optionValue = option\n }\n\n const isSelected = String(optionValue) === String(value)\n\n const id = `field-${path}-${optionValue}${uuid ? `-${uuid}` : ''}`\n\n return (\n <li key={`${path} - ${optionValue}`}>\n <Radio\n id={id}\n isSelected={isSelected}\n onChange={() => {\n if (typeof onChangeFromProps === 'function') {\n onChangeFromProps(optionValue)\n }\n\n if (!readOnly) {\n setValue(optionValue)\n }\n }}\n option={optionIsObject(option) ? option : { label: option, value: option }}\n path={path}\n uuid={uuid}\n />\n </li>\n )\n })}\n </ul>\n {CustomDescription !== undefined ? (\n CustomDescription\n ) : (\n <FieldDescription {...(descriptionProps || {})} />\n )}\n </div>\n )\n}\n\nexport const RadioGroup = withCondition(RadioGroupField)\n"],"names":["optionIsObject","React","useCallback","FieldLabel","useForm","useField","withCondition","fieldBaseClass","Radio","baseClass","FieldDescription","FieldError","useFieldProps","RadioGroupField","props","name","CustomDescription","CustomError","CustomLabel","className","descriptionProps","errorProps","label","labelProps","layout","onChange","onChangeFromProps","options","path","pathFromProps","readOnly","readOnlyFromProps","required","style","validate","value","valueFromProps","width","uuid","memoizedValidate","validationOptions","pathFromContext","readOnlyFromContext","setValue","showError","valueFromContext","div","filter","Boolean","join","ul","id","replace","map","option","optionValue","isSelected","String","li","key","undefined","RadioGroup"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1,12 +1,11 @@
1
1
  import type { I18n } from '@payloadcms/translations';
2
- import type { ClientCollectionConfig, FieldBase, RelationshipField } from 'payload/types';
2
+ import type { ClientCollectionConfig, RelationshipField } from 'payload/types';
3
3
  import type { SanitizedConfig } from 'payload/types';
4
4
  import type { FormFieldBase } from '../shared/index.js';
5
5
  export type RelationshipFieldProps = FormFieldBase & {
6
6
  allowCreate?: RelationshipField['admin']['allowCreate'];
7
7
  hasMany?: boolean;
8
8
  isSortable?: boolean;
9
- label?: FieldBase['label'];
10
9
  name: string;
11
10
  relationTo?: RelationshipField['relationTo'];
12
11
  sortOptions?: RelationshipField['admin']['sortOptions'];
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/fields/Relationship/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,KAAK,EAAE,sBAAsB,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AACzF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAEpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAEvD,MAAM,MAAM,sBAAsB,GAAG,aAAa,GAAG;IACnD,WAAW,CAAC,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,CAAA;IACvD,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAA;IAC5C,WAAW,CAAC,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,CAAA;IACvD,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,MAAM,GAAG;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,KAAK,GAAG,iBAAiB,GAAG,MAAM,GAAG,MAAM,CAAA;AAEvD,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,OAAO,CAAA;CACd,CAAA;AAED,KAAK,MAAM,GAAG;IACZ,UAAU,EAAE,sBAAsB,CAAA;IAClC,MAAM,EAAE,eAAe,CAAA;IACvB,GAAG,EAAE,GAAG,CAAA;IACR,IAAI,EAAE,IAAI,CAAA;IACV,IAAI,EAAE,QAAQ,CAAA;CACf,CAAA;AAED,KAAK,GAAG,GAAG;IACT,UAAU,EAAE,sBAAsB,CAAA;IAClC,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,GAAG,EAAE,CAAA;IACX,IAAI,EAAE,IAAI,CAAA;IACV,GAAG,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IACzB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,IAAI,EAAE,KAAK,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,MAAM,GAAG,GAAG,GAAG,KAAK,GAAG,MAAM,CAAA;AAEzC,MAAM,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE;IAC9B,uBAAuB,CAAC,EAAE,MAAM,CAAA;IAChC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACtC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,KAAK,CAAC,EAAE,KAAK,GAAG,KAAK,EAAE,CAAA;CACxB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/fields/Relationship/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,KAAK,EAAE,sBAAsB,EAAa,iBAAiB,EAAE,MAAM,eAAe,CAAA;AACzF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAEpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAEvD,MAAM,MAAM,sBAAsB,GAAG,aAAa,GAAG;IACnD,WAAW,CAAC,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,CAAA;IACvD,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAA;IAC5C,WAAW,CAAC,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,CAAA;IACvD,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,MAAM,GAAG;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,KAAK,GAAG,iBAAiB,GAAG,MAAM,GAAG,MAAM,CAAA;AAEvD,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,OAAO,CAAA;CACd,CAAA;AAED,KAAK,MAAM,GAAG;IACZ,UAAU,EAAE,sBAAsB,CAAA;IAClC,MAAM,EAAE,eAAe,CAAA;IACvB,GAAG,EAAE,GAAG,CAAA;IACR,IAAI,EAAE,IAAI,CAAA;IACV,IAAI,EAAE,QAAQ,CAAA;CACf,CAAA;AAED,KAAK,GAAG,GAAG;IACT,UAAU,EAAE,sBAAsB,CAAA;IAClC,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,GAAG,EAAE,CAAA;IACX,IAAI,EAAE,IAAI,CAAA;IACV,GAAG,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IACzB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,IAAI,EAAE,KAAK,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,MAAM,GAAG,GAAG,GAAG,KAAK,GAAG,MAAM,CAAA;AAEzC,MAAM,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE;IAC9B,uBAAuB,CAAC,EAAE,MAAM,CAAA;IAChC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACtC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,KAAK,CAAC,EAAE,KAAK,GAAG,KAAK,EAAE,CAAA;CACxB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/Relationship/types.ts"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type { ClientCollectionConfig, FieldBase, RelationshipField } from 'payload/types'\nimport type { SanitizedConfig } from 'payload/types'\n\nimport type { FormFieldBase } from '../shared/index.js'\n\nexport type RelationshipFieldProps = FormFieldBase & {\n allowCreate?: RelationshipField['admin']['allowCreate']\n hasMany?: boolean\n isSortable?: boolean\n label?: FieldBase['label']\n name: string\n relationTo?: RelationshipField['relationTo']\n sortOptions?: RelationshipField['admin']['sortOptions']\n width?: string\n}\n\nexport type Option = {\n label: string\n options?: Option[]\n relationTo?: string\n value: number | string\n}\n\nexport type OptionGroup = {\n label: string\n options: Option[]\n}\n\nexport type ValueWithRelation = {\n relationTo: string\n value: number | string\n}\n\nexport type Value = ValueWithRelation | number | string\n\ntype CLEAR = {\n type: 'CLEAR'\n}\n\ntype UPDATE = {\n collection: ClientCollectionConfig\n config: SanitizedConfig\n doc: any\n i18n: I18n\n type: 'UPDATE'\n}\n\ntype ADD = {\n collection: ClientCollectionConfig\n config: SanitizedConfig\n docs: any[]\n i18n: I18n\n ids?: (number | string)[]\n sort?: boolean\n type: 'ADD'\n}\n\nexport type Action = ADD | CLEAR | UPDATE\n\nexport type GetResults = (args: {\n lastFullyLoadedRelation?: number\n lastLoadedPage: Record<string, number>\n onSuccess?: () => void\n search?: string\n sort?: boolean\n value?: Value | Value[]\n}) => Promise<void>\n"],"names":[],"rangeMappings":"","mappings":"AA4DA,WAOmB"}
1
+ {"version":3,"sources":["../../../src/fields/Relationship/types.ts"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type { ClientCollectionConfig, FieldBase, RelationshipField } from 'payload/types'\nimport type { SanitizedConfig } from 'payload/types'\n\nimport type { FormFieldBase } from '../shared/index.js'\n\nexport type RelationshipFieldProps = FormFieldBase & {\n allowCreate?: RelationshipField['admin']['allowCreate']\n hasMany?: boolean\n isSortable?: boolean\n name: string\n relationTo?: RelationshipField['relationTo']\n sortOptions?: RelationshipField['admin']['sortOptions']\n width?: string\n}\n\nexport type Option = {\n label: string\n options?: Option[]\n relationTo?: string\n value: number | string\n}\n\nexport type OptionGroup = {\n label: string\n options: Option[]\n}\n\nexport type ValueWithRelation = {\n relationTo: string\n value: number | string\n}\n\nexport type Value = ValueWithRelation | number | string\n\ntype CLEAR = {\n type: 'CLEAR'\n}\n\ntype UPDATE = {\n collection: ClientCollectionConfig\n config: SanitizedConfig\n doc: any\n i18n: I18n\n type: 'UPDATE'\n}\n\ntype ADD = {\n collection: ClientCollectionConfig\n config: SanitizedConfig\n docs: any[]\n i18n: I18n\n ids?: (number | string)[]\n sort?: boolean\n type: 'ADD'\n}\n\nexport type Action = ADD | CLEAR | UPDATE\n\nexport type GetResults = (args: {\n lastFullyLoadedRelation?: number\n lastLoadedPage: Record<string, number>\n onSuccess?: () => void\n search?: string\n sort?: boolean\n value?: Value | Value[]\n}) => Promise<void>\n"],"names":[],"rangeMappings":"","mappings":"AA2DA,WAOmB"}
@@ -1,9 +1,7 @@
1
- import type { FieldBase } from 'packages/payload/src/exports/types.js';
2
1
  import type React from 'react';
3
2
  import type { MappedField } from '../../providers/ComponentMap/buildComponentMap/types.js';
4
3
  import type { FormFieldBase } from '../shared/index.js';
5
4
  export type RichTextFieldProps = FormFieldBase & {
6
- label?: FieldBase['label'];
7
5
  name: string;
8
6
  richTextComponentMap?: Map<string, MappedField[] | React.ReactNode>;
9
7
  width?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/RichText/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAA;AACtE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yDAAyD,CAAA;AAC1F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAEvD,MAAM,MAAM,kBAAkB,GAAG,aAAa,GAAG;IAC/C,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,oBAAoB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,CAAA;IACnE,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAEjD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/RichText/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yDAAyD,CAAA;AAC1F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAEvD,MAAM,MAAM,kBAAkB,GAAG,aAAa,GAAG;IAC/C,IAAI,EAAE,MAAM,CAAA;IACZ,oBAAoB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,CAAA;IACnE,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAEjD,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/RichText/index.tsx"],"sourcesContent":["import type { FieldBase } from 'packages/payload/src/exports/types.js'\nimport type React from 'react'\n\nimport type { MappedField } from '../../providers/ComponentMap/buildComponentMap/types.js'\nimport type { FormFieldBase } from '../shared/index.js'\n\nexport type RichTextFieldProps = FormFieldBase & {\n label?: FieldBase['label']\n name: string\n richTextComponentMap?: Map<string, MappedField[] | React.ReactNode>\n width?: string\n}\n\nexport const RichText: React.FC<RichTextFieldProps> = () => {\n return null\n}\n"],"names":["RichText"],"rangeMappings":";;","mappings":"AAaA,OAAO,MAAMA,WAAyC;IACpD,OAAO;AACT,EAAC"}
1
+ {"version":3,"sources":["../../../src/fields/RichText/index.tsx"],"sourcesContent":["import type React from 'react'\n\nimport type { MappedField } from '../../providers/ComponentMap/buildComponentMap/types.js'\nimport type { FormFieldBase } from '../shared/index.js'\n\nexport type RichTextFieldProps = FormFieldBase & {\n name: string\n richTextComponentMap?: Map<string, MappedField[] | React.ReactNode>\n width?: string\n}\n\nexport const RichText: React.FC<RichTextFieldProps> = () => {\n return null\n}\n"],"names":["RichText"],"rangeMappings":";;","mappings":"AAWA,OAAO,MAAMA,WAAyC;IACpD,OAAO;AACT,EAAC"}
@@ -1,4 +1,4 @@
1
- import type { FieldBase, Option } from 'payload/types';
1
+ import type { Option } from 'payload/types';
2
2
  import React from 'react';
3
3
  import type { FormFieldBase } from '../shared/index.js';
4
4
  import './index.scss';
@@ -6,7 +6,6 @@ export type SelectFieldProps = FormFieldBase & {
6
6
  hasMany?: boolean;
7
7
  isClearable?: boolean;
8
8
  isSortable?: boolean;
9
- label?: FieldBase['label'];
10
9
  name?: string;
11
10
  onChange?: (e: string) => void;
12
11
  options?: Option[];
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Select/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAkB,SAAS,EAAE,MAAM,EAAgB,MAAM,eAAe,CAAA;AAOpF,OAAO,KAAgC,MAAM,OAAO,CAAA;AAEpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAOvD,OAAO,cAAc,CAAA;AAErB,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG;IAC7C,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AA0JD,eAAO,MAAM,MAAM,4BAA6B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Select/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAkB,MAAM,EAAgB,MAAM,eAAe,CAAA;AAOzE,OAAO,KAAgC,MAAM,OAAO,CAAA;AAEpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAOvD,OAAO,cAAc,CAAA;AAErB,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG;IAC7C,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AA0JD,eAAO,MAAM,MAAM,4BAA6B,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/Select/index.tsx"],"sourcesContent":["/* eslint-disable react/destructuring-assignment */\n'use client'\nimport type { ClientValidate, FieldBase, Option, OptionObject } from 'payload/types'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { FieldDescription } from '@payloadcms/ui/forms/FieldDescription'\nimport { FieldError } from '@payloadcms/ui/forms/FieldError'\nimport { FieldLabel } from '@payloadcms/ui/forms/FieldLabel'\nimport { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider'\nimport React, { useCallback, useState } from 'react'\n\nimport type { FormFieldBase } from '../shared/index.js'\n\nimport { ReactSelect } from '../../elements/ReactSelect/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nexport type SelectFieldProps = FormFieldBase & {\n hasMany?: boolean\n isClearable?: boolean\n isSortable?: boolean\n label?: FieldBase['label']\n name?: string\n onChange?: (e: string) => void\n options?: Option[]\n path?: string\n value?: string\n width?: string\n}\n\nconst formatOptions = (options: Option[]): OptionObject[] =>\n options.map((option) => {\n if (typeof option === 'object' && (option.value || option.value === '')) {\n return option\n }\n\n return {\n label: option,\n value: option,\n } as OptionObject\n })\n\nconst SelectField: React.FC<SelectFieldProps> = (props) => {\n const {\n name,\n AfterInput,\n BeforeInput,\n CustomDescription,\n CustomError,\n CustomLabel,\n className,\n descriptionProps,\n errorProps,\n hasMany = false,\n isClearable = true,\n isSortable = true,\n label,\n labelProps,\n onChange: onChangeFromProps,\n options: optionsFromProps = [],\n path: pathFromProps,\n readOnly: readOnlyFromProps,\n required,\n style,\n validate,\n width,\n } = props\n\n const { i18n } = useTranslation()\n\n const [options] = useState(formatOptions(optionsFromProps))\n\n const memoizedValidate: ClientValidate = useCallback(\n (value, validationOptions) => {\n if (typeof validate === 'function')\n return validate(value, { ...validationOptions, hasMany, options, required })\n },\n [validate, required, hasMany, options],\n )\n\n const { path: pathFromContext, readOnly: readOnlyFromContext } = useFieldProps()\n const readOnly = readOnlyFromProps || readOnlyFromContext\n\n const { path, setValue, showError, value } = useField({\n path: pathFromContext || pathFromProps || name,\n validate: memoizedValidate,\n })\n\n let valueToRender\n\n if (hasMany && Array.isArray(value)) {\n valueToRender = value.map((val) => {\n const matchingOption = options.find((option) => option.value === val)\n return {\n label: matchingOption ? getTranslation(matchingOption.label, i18n) : val,\n value: matchingOption?.value ?? val,\n }\n })\n } else if (value) {\n const matchingOption = options.find((option) => option.value === value)\n valueToRender = {\n label: matchingOption ? getTranslation(matchingOption.label, i18n) : value,\n value: matchingOption?.value ?? value,\n }\n }\n\n const onChange = useCallback(\n (selectedOption) => {\n if (!readOnly) {\n let newValue\n if (!selectedOption) {\n newValue = null\n } else if (hasMany) {\n if (Array.isArray(selectedOption)) {\n newValue = selectedOption.map((option) => option.value)\n } else {\n newValue = []\n }\n } else {\n newValue = selectedOption.value\n }\n\n if (typeof onChangeFromProps === 'function') {\n onChangeFromProps(newValue)\n }\n\n setValue(newValue)\n }\n },\n [readOnly, hasMany, setValue, onChangeFromProps],\n )\n\n return (\n <div\n className={[\n fieldBaseClass,\n 'select',\n className,\n showError && 'error',\n readOnly && 'read-only',\n ]\n .filter(Boolean)\n .join(' ')}\n id={`field-${path.replace(/\\./g, '__')}`}\n style={{\n ...style,\n width,\n }}\n >\n <FieldError CustomError={CustomError} path={path} {...(errorProps || {})} />\n <FieldLabel\n CustomLabel={CustomLabel}\n label={label}\n required={required}\n {...(labelProps || {})}\n />\n <div>\n {BeforeInput}\n <ReactSelect\n disabled={readOnly}\n isClearable={isClearable}\n isMulti={hasMany}\n isSortable={isSortable}\n onChange={onChange}\n options={options.map((option) => ({\n ...option,\n label: getTranslation(option.label, i18n),\n }))}\n showError={showError}\n value={valueToRender as OptionObject}\n />\n {AfterInput}\n </div>\n {CustomDescription !== undefined ? (\n CustomDescription\n ) : (\n <FieldDescription {...(descriptionProps || {})} />\n )}\n </div>\n )\n}\n\nexport const Select = withCondition(SelectField)\n"],"names":["getTranslation","FieldDescription","FieldError","FieldLabel","useFieldProps","React","useCallback","useState","ReactSelect","useField","withCondition","useTranslation","fieldBaseClass","formatOptions","options","map","option","value","label","SelectField","props","name","AfterInput","BeforeInput","CustomDescription","CustomError","CustomLabel","className","descriptionProps","errorProps","hasMany","isClearable","isSortable","labelProps","onChange","onChangeFromProps","optionsFromProps","path","pathFromProps","readOnly","readOnlyFromProps","required","style","validate","width","i18n","memoizedValidate","validationOptions","pathFromContext","readOnlyFromContext","setValue","showError","valueToRender","Array","isArray","val","matchingOption","find","selectedOption","newValue","div","filter","Boolean","join","id","replace","disabled","isMulti","undefined","Select"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../src/fields/Select/index.tsx"],"sourcesContent":["/* eslint-disable react/destructuring-assignment */\n'use client'\nimport type { ClientValidate, Option, OptionObject } from 'payload/types'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { FieldDescription } from '@payloadcms/ui/forms/FieldDescription'\nimport { FieldError } from '@payloadcms/ui/forms/FieldError'\nimport { FieldLabel } from '@payloadcms/ui/forms/FieldLabel'\nimport { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider'\nimport React, { useCallback, useState } from 'react'\n\nimport type { FormFieldBase } from '../shared/index.js'\n\nimport { ReactSelect } from '../../elements/ReactSelect/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nexport type SelectFieldProps = FormFieldBase & {\n hasMany?: boolean\n isClearable?: boolean\n isSortable?: boolean\n name?: string\n onChange?: (e: string) => void\n options?: Option[]\n path?: string\n value?: string\n width?: string\n}\n\nconst formatOptions = (options: Option[]): OptionObject[] =>\n options.map((option) => {\n if (typeof option === 'object' && (option.value || option.value === '')) {\n return option\n }\n\n return {\n label: option,\n value: option,\n } as OptionObject\n })\n\nconst SelectField: React.FC<SelectFieldProps> = (props) => {\n const {\n name,\n AfterInput,\n BeforeInput,\n CustomDescription,\n CustomError,\n CustomLabel,\n className,\n descriptionProps,\n errorProps,\n hasMany = false,\n isClearable = true,\n isSortable = true,\n label,\n labelProps,\n onChange: onChangeFromProps,\n options: optionsFromProps = [],\n path: pathFromProps,\n readOnly: readOnlyFromProps,\n required,\n style,\n validate,\n width,\n } = props\n\n const { i18n } = useTranslation()\n\n const [options] = useState(formatOptions(optionsFromProps))\n\n const memoizedValidate: ClientValidate = useCallback(\n (value, validationOptions) => {\n if (typeof validate === 'function')\n return validate(value, { ...validationOptions, hasMany, options, required })\n },\n [validate, required, hasMany, options],\n )\n\n const { path: pathFromContext, readOnly: readOnlyFromContext } = useFieldProps()\n const readOnly = readOnlyFromProps || readOnlyFromContext\n\n const { path, setValue, showError, value } = useField({\n path: pathFromContext || pathFromProps || name,\n validate: memoizedValidate,\n })\n\n let valueToRender\n\n if (hasMany && Array.isArray(value)) {\n valueToRender = value.map((val) => {\n const matchingOption = options.find((option) => option.value === val)\n return {\n label: matchingOption ? getTranslation(matchingOption.label, i18n) : val,\n value: matchingOption?.value ?? val,\n }\n })\n } else if (value) {\n const matchingOption = options.find((option) => option.value === value)\n valueToRender = {\n label: matchingOption ? getTranslation(matchingOption.label, i18n) : value,\n value: matchingOption?.value ?? value,\n }\n }\n\n const onChange = useCallback(\n (selectedOption) => {\n if (!readOnly) {\n let newValue\n if (!selectedOption) {\n newValue = null\n } else if (hasMany) {\n if (Array.isArray(selectedOption)) {\n newValue = selectedOption.map((option) => option.value)\n } else {\n newValue = []\n }\n } else {\n newValue = selectedOption.value\n }\n\n if (typeof onChangeFromProps === 'function') {\n onChangeFromProps(newValue)\n }\n\n setValue(newValue)\n }\n },\n [readOnly, hasMany, setValue, onChangeFromProps],\n )\n\n return (\n <div\n className={[\n fieldBaseClass,\n 'select',\n className,\n showError && 'error',\n readOnly && 'read-only',\n ]\n .filter(Boolean)\n .join(' ')}\n id={`field-${path.replace(/\\./g, '__')}`}\n style={{\n ...style,\n width,\n }}\n >\n <FieldError CustomError={CustomError} path={path} {...(errorProps || {})} />\n <FieldLabel\n CustomLabel={CustomLabel}\n label={label}\n required={required}\n {...(labelProps || {})}\n />\n <div>\n {BeforeInput}\n <ReactSelect\n disabled={readOnly}\n isClearable={isClearable}\n isMulti={hasMany}\n isSortable={isSortable}\n onChange={onChange}\n options={options.map((option) => ({\n ...option,\n label: getTranslation(option.label, i18n),\n }))}\n showError={showError}\n value={valueToRender as OptionObject}\n />\n {AfterInput}\n </div>\n {CustomDescription !== undefined ? (\n CustomDescription\n ) : (\n <FieldDescription {...(descriptionProps || {})} />\n )}\n </div>\n )\n}\n\nexport const Select = withCondition(SelectField)\n"],"names":["getTranslation","FieldDescription","FieldError","FieldLabel","useFieldProps","React","useCallback","useState","ReactSelect","useField","withCondition","useTranslation","fieldBaseClass","formatOptions","options","map","option","value","label","SelectField","props","name","AfterInput","BeforeInput","CustomDescription","CustomError","CustomLabel","className","descriptionProps","errorProps","hasMany","isClearable","isSortable","labelProps","onChange","onChangeFromProps","optionsFromProps","path","pathFromProps","readOnly","readOnlyFromProps","required","style","validate","width","i18n","memoizedValidate","validationOptions","pathFromContext","readOnlyFromContext","setValue","showError","valueToRender","Array","isArray","val","matchingOption","find","selectedOption","newValue","div","filter","Boolean","join","id","replace","disabled","isMulti","undefined","Select"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Text/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAA2C,MAAM,OAAO,CAAA;AAG/D,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAOhE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,cAAc,CAAA;AAErB,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,cAAc,EAAE,CAAA;AAuIpD,eAAO,MAAM,IAAI,0BAA2B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Text/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAA2C,MAAM,OAAO,CAAA;AAG/D,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAOhE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,cAAc,CAAA;AAErB,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,cAAc,EAAE,CAAA;AAyIpD,eAAO,MAAM,IAAI,0BAA2B,CAAA"}
@@ -9,7 +9,7 @@ import { isFieldRTL } from '../shared/index.js';
9
9
  import { TextInput } from './Input.js';
10
10
  export { TextInput };
11
11
  const TextField = (props)=>{
12
- const { name, AfterInput, BeforeInput, CustomDescription, CustomError, CustomLabel, className, descriptionProps, errorProps, hasMany, inputRef, labelProps, localized, maxLength, maxRows, minLength, minRows, path: pathFromProps, placeholder, readOnly: readOnlyFromProps, required, rtl, style, validate, width } = props;
12
+ const { name, AfterInput, BeforeInput, CustomDescription, CustomError, CustomLabel, className, descriptionProps, errorProps, hasMany, inputRef, label, labelProps, localized, maxLength, maxRows, minLength, minRows, path: pathFromProps, placeholder, readOnly: readOnlyFromProps, required, rtl, style, validate, width } = props;
13
13
  const locale = useLocale();
14
14
  const { localization: localizationConfig } = useConfig();
15
15
  const memoizedValidate = useCallback((value, options)=>{
@@ -87,6 +87,7 @@ const TextField = (props)=>{
87
87
  errorProps: errorProps,
88
88
  hasMany: hasMany,
89
89
  inputRef: inputRef,
90
+ label: label,
90
91
  labelProps: labelProps,
91
92
  maxRows: maxRows,
92
93
  minRows: minRows,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/Text/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientValidate } from 'payload/types'\nimport type {} from 'payload/types'\n\nimport { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport type { Option } from '../../elements/ReactSelect/types.js'\nimport type { TextFieldProps, TextInputProps } from './types.js'\n\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { isFieldRTL } from '../shared/index.js'\nimport { TextInput } from './Input.js'\nimport './index.scss'\n\nexport { TextFieldProps, TextInput, TextInputProps }\n\nconst TextField: React.FC<TextFieldProps> = (props) => {\n const {\n name,\n AfterInput,\n BeforeInput,\n CustomDescription,\n CustomError,\n CustomLabel,\n className,\n descriptionProps,\n errorProps,\n hasMany,\n inputRef,\n labelProps,\n localized,\n maxLength,\n maxRows,\n minLength,\n minRows,\n path: pathFromProps,\n placeholder,\n readOnly: readOnlyFromProps,\n required,\n rtl,\n style,\n validate,\n width,\n } = props\n\n const locale = useLocale()\n\n const { localization: localizationConfig } = useConfig()\n\n const memoizedValidate: ClientValidate = useCallback(\n (value, options) => {\n if (typeof validate === 'function')\n return validate(value, { ...options, maxLength, minLength, required })\n },\n [validate, minLength, maxLength, required],\n )\n\n const { path: pathFromContext, readOnly: readOnlyFromContext } = useFieldProps()\n const readOnly = readOnlyFromProps || readOnlyFromContext\n\n const { formProcessing, path, setValue, showError, value } = useField({\n path: pathFromContext || pathFromProps || name,\n validate: memoizedValidate,\n })\n\n const renderRTL = isFieldRTL({\n fieldLocalized: localized,\n fieldRTL: rtl,\n locale,\n localizationConfig: localizationConfig || undefined,\n })\n\n const [valueToRender, setValueToRender] = useState<\n { id: string; label: string; value: { value: number } }[]\n >([]) // Only for hasMany\n\n const handleHasManyChange = useCallback(\n (selectedOption) => {\n if (!readOnly) {\n let newValue\n if (!selectedOption) {\n newValue = []\n } else if (Array.isArray(selectedOption)) {\n newValue = selectedOption.map((option) => option.value?.value || option.value)\n } else {\n newValue = [selectedOption.value?.value || selectedOption.value]\n }\n\n setValue(newValue)\n }\n },\n [readOnly, setValue],\n )\n\n // useEffect update valueToRender:\n useEffect(() => {\n if (hasMany && Array.isArray(value)) {\n setValueToRender(\n value.map((val, index) => {\n return {\n id: `${val}${index}`, // append index to avoid duplicate keys but allow duplicate numbers\n label: `${val}`,\n value: {\n // React-select automatically uses \"label-value\" as a key, so we will get that react duplicate key warning if we just pass in the value as multiple values can be the same. So we need to append the index to the toString() of the value to avoid that warning, as it uses that as the key.\n toString: () => `${val}${index}`,\n value: val?.value || val,\n },\n }\n }),\n )\n }\n }, [value, hasMany])\n\n return (\n <TextInput\n AfterInput={AfterInput}\n BeforeInput={BeforeInput}\n CustomDescription={CustomDescription}\n CustomError={CustomError}\n CustomLabel={CustomLabel}\n className={className}\n descriptionProps={descriptionProps}\n errorProps={errorProps}\n hasMany={hasMany}\n inputRef={inputRef}\n labelProps={labelProps}\n maxRows={maxRows}\n minRows={minRows}\n onChange={\n hasMany\n ? handleHasManyChange\n : (e) => {\n setValue(e.target.value)\n }\n }\n path={path}\n placeholder={placeholder}\n readOnly={formProcessing || readOnly}\n required={required}\n rtl={renderRTL}\n showError={showError}\n style={style}\n value={(value as string) || ''}\n valueToRender={valueToRender as Option[]}\n width={width}\n />\n )\n}\n\nexport const Text = withCondition(TextField)\n"],"names":["useFieldProps","React","useCallback","useEffect","useState","useField","withCondition","useConfig","useLocale","isFieldRTL","TextInput","TextField","props","name","AfterInput","BeforeInput","CustomDescription","CustomError","CustomLabel","className","descriptionProps","errorProps","hasMany","inputRef","labelProps","localized","maxLength","maxRows","minLength","minRows","path","pathFromProps","placeholder","readOnly","readOnlyFromProps","required","rtl","style","validate","width","locale","localization","localizationConfig","memoizedValidate","value","options","pathFromContext","readOnlyFromContext","formProcessing","setValue","showError","renderRTL","fieldLocalized","fieldRTL","undefined","valueToRender","setValueToRender","handleHasManyChange","selectedOption","newValue","Array","isArray","map","option","val","index","id","label","toString","onChange","e","target","Text"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../src/fields/Text/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientValidate } from 'payload/types'\nimport type {} from 'payload/types'\n\nimport { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport type { Option } from '../../elements/ReactSelect/types.js'\nimport type { TextFieldProps, TextInputProps } from './types.js'\n\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { isFieldRTL } from '../shared/index.js'\nimport { TextInput } from './Input.js'\nimport './index.scss'\n\nexport { TextFieldProps, TextInput, TextInputProps }\n\nconst TextField: React.FC<TextFieldProps> = (props) => {\n const {\n name,\n AfterInput,\n BeforeInput,\n CustomDescription,\n CustomError,\n CustomLabel,\n className,\n descriptionProps,\n errorProps,\n hasMany,\n inputRef,\n label,\n labelProps,\n localized,\n maxLength,\n maxRows,\n minLength,\n minRows,\n path: pathFromProps,\n placeholder,\n readOnly: readOnlyFromProps,\n required,\n rtl,\n style,\n validate,\n width,\n } = props\n\n const locale = useLocale()\n\n const { localization: localizationConfig } = useConfig()\n\n const memoizedValidate: ClientValidate = useCallback(\n (value, options) => {\n if (typeof validate === 'function')\n return validate(value, { ...options, maxLength, minLength, required })\n },\n [validate, minLength, maxLength, required],\n )\n\n const { path: pathFromContext, readOnly: readOnlyFromContext } = useFieldProps()\n const readOnly = readOnlyFromProps || readOnlyFromContext\n\n const { formProcessing, path, setValue, showError, value } = useField({\n path: pathFromContext || pathFromProps || name,\n validate: memoizedValidate,\n })\n\n const renderRTL = isFieldRTL({\n fieldLocalized: localized,\n fieldRTL: rtl,\n locale,\n localizationConfig: localizationConfig || undefined,\n })\n\n const [valueToRender, setValueToRender] = useState<\n { id: string; label: string; value: { value: number } }[]\n >([]) // Only for hasMany\n\n const handleHasManyChange = useCallback(\n (selectedOption) => {\n if (!readOnly) {\n let newValue\n if (!selectedOption) {\n newValue = []\n } else if (Array.isArray(selectedOption)) {\n newValue = selectedOption.map((option) => option.value?.value || option.value)\n } else {\n newValue = [selectedOption.value?.value || selectedOption.value]\n }\n\n setValue(newValue)\n }\n },\n [readOnly, setValue],\n )\n\n // useEffect update valueToRender:\n useEffect(() => {\n if (hasMany && Array.isArray(value)) {\n setValueToRender(\n value.map((val, index) => {\n return {\n id: `${val}${index}`, // append index to avoid duplicate keys but allow duplicate numbers\n label: `${val}`,\n value: {\n // React-select automatically uses \"label-value\" as a key, so we will get that react duplicate key warning if we just pass in the value as multiple values can be the same. So we need to append the index to the toString() of the value to avoid that warning, as it uses that as the key.\n toString: () => `${val}${index}`,\n value: val?.value || val,\n },\n }\n }),\n )\n }\n }, [value, hasMany])\n\n return (\n <TextInput\n AfterInput={AfterInput}\n BeforeInput={BeforeInput}\n CustomDescription={CustomDescription}\n CustomError={CustomError}\n CustomLabel={CustomLabel}\n className={className}\n descriptionProps={descriptionProps}\n errorProps={errorProps}\n hasMany={hasMany}\n inputRef={inputRef}\n label={label}\n labelProps={labelProps}\n maxRows={maxRows}\n minRows={minRows}\n onChange={\n hasMany\n ? handleHasManyChange\n : (e) => {\n setValue(e.target.value)\n }\n }\n path={path}\n placeholder={placeholder}\n readOnly={formProcessing || readOnly}\n required={required}\n rtl={renderRTL}\n showError={showError}\n style={style}\n value={(value as string) || ''}\n valueToRender={valueToRender as Option[]}\n width={width}\n />\n )\n}\n\nexport const Text = withCondition(TextField)\n"],"names":["useFieldProps","React","useCallback","useEffect","useState","useField","withCondition","useConfig","useLocale","isFieldRTL","TextInput","TextField","props","name","AfterInput","BeforeInput","CustomDescription","CustomError","CustomLabel","className","descriptionProps","errorProps","hasMany","inputRef","label","labelProps","localized","maxLength","maxRows","minLength","minRows","path","pathFromProps","placeholder","readOnly","readOnlyFromProps","required","rtl","style","validate","width","locale","localization","localizationConfig","memoizedValidate","value","options","pathFromContext","readOnlyFromContext","formProcessing","setValue","showError","renderRTL","fieldLocalized","fieldRTL","undefined","valueToRender","setValueToRender","handleHasManyChange","selectedOption","newValue","Array","isArray","map","option","val","index","id","toString","onChange","e","target","Text"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}