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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (241) hide show
  1. package/dist/elements/Banner/index.scss +4 -4
  2. package/dist/elements/CodeEditor/types.d.ts +2 -2
  3. package/dist/elements/CodeEditor/types.d.ts.map +1 -1
  4. package/dist/elements/CodeEditor/types.js.map +1 -1
  5. package/dist/elements/Collapsible/index.scss +13 -47
  6. package/dist/elements/DatePicker/types.d.ts +2 -2
  7. package/dist/elements/DatePicker/types.d.ts.map +1 -1
  8. package/dist/elements/DatePicker/types.js.map +1 -1
  9. package/dist/elements/DocumentDrawer/types.d.ts +4 -4
  10. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  11. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  12. package/dist/elements/DraggableSortable/DraggableSortableItem/index.d.ts +2 -2
  13. package/dist/elements/DraggableSortable/DraggableSortableItem/index.d.ts.map +1 -1
  14. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
  15. package/dist/elements/DraggableSortable/DraggableSortableItem/types.d.ts +4 -4
  16. package/dist/elements/DraggableSortable/DraggableSortableItem/types.d.ts.map +1 -1
  17. package/dist/elements/DraggableSortable/DraggableSortableItem/types.js.map +1 -1
  18. package/dist/elements/Drawer/types.d.ts +2 -2
  19. package/dist/elements/Drawer/types.d.ts.map +1 -1
  20. package/dist/elements/Drawer/types.js.map +1 -1
  21. package/dist/elements/Dropzone/index.d.ts +1 -0
  22. package/dist/elements/Dropzone/index.d.ts.map +1 -1
  23. package/dist/elements/Dropzone/index.js +8 -1
  24. package/dist/elements/Dropzone/index.js.map +1 -1
  25. package/dist/elements/ErrorPill/index.scss +2 -14
  26. package/dist/elements/FileDetails/index.d.ts +2 -2
  27. package/dist/elements/FileDetails/index.d.ts.map +1 -1
  28. package/dist/elements/FileDetails/index.js.map +1 -1
  29. package/dist/elements/GenerateConfirmation/index.scss +1 -0
  30. package/dist/elements/ListDrawer/types.d.ts +2 -2
  31. package/dist/elements/ListDrawer/types.d.ts.map +1 -1
  32. package/dist/elements/ListDrawer/types.js.map +1 -1
  33. package/dist/elements/Pill/index.d.ts +2 -2
  34. package/dist/elements/Pill/index.d.ts.map +1 -1
  35. package/dist/elements/Pill/index.js.map +1 -1
  36. package/dist/elements/Pill/index.scss +9 -21
  37. package/dist/elements/PreviewSizes/index.d.ts +4 -4
  38. package/dist/elements/PreviewSizes/index.d.ts.map +1 -1
  39. package/dist/elements/PreviewSizes/index.js.map +1 -1
  40. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  41. package/dist/elements/PublishButton/index.js +16 -0
  42. package/dist/elements/PublishButton/index.js.map +1 -1
  43. package/dist/elements/ReactSelect/Control/index.js +0 -1
  44. package/dist/elements/ReactSelect/Control/index.js.map +1 -1
  45. package/dist/elements/ReactSelect/DropdownIndicator/index.d.ts +2 -2
  46. package/dist/elements/ReactSelect/DropdownIndicator/index.d.ts.map +1 -1
  47. package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
  48. package/dist/elements/ReactSelect/MultiValueRemove/index.d.ts +2 -2
  49. package/dist/elements/ReactSelect/MultiValueRemove/index.d.ts.map +1 -1
  50. package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
  51. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  52. package/dist/elements/ReactSelect/index.js +0 -1
  53. package/dist/elements/ReactSelect/index.js.map +1 -1
  54. package/dist/elements/ReactSelect/index.scss +9 -2
  55. package/dist/elements/ReactSelect/types.d.ts +1 -1
  56. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  57. package/dist/elements/ReactSelect/types.js.map +1 -1
  58. package/dist/elements/Status/index.scss +1 -0
  59. package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts.map +1 -1
  60. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +0 -1
  61. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  62. package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
  63. package/dist/elements/TableColumns/buildColumnState.js +0 -1
  64. package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
  65. package/dist/elements/ThumbnailCard/index.d.ts +2 -2
  66. package/dist/elements/ThumbnailCard/index.d.ts.map +1 -1
  67. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  68. package/dist/elements/Upload/index.d.ts.map +1 -1
  69. package/dist/elements/Upload/index.js +94 -7
  70. package/dist/elements/Upload/index.js.map +1 -1
  71. package/dist/elements/Upload/index.scss +6 -3
  72. package/dist/elements/WhereBuilder/Condition/Relationship/index.scss +2 -2
  73. package/dist/elements/WhereBuilder/validateWhereQuery.js +0 -1
  74. package/dist/elements/WhereBuilder/validateWhereQuery.js.map +1 -1
  75. package/dist/exports/client/{CodeEditor-UTZFZWZG.js → CodeEditor-OI35YO7H.js} +1 -1
  76. package/dist/exports/client/{CodeEditor-UTZFZWZG.js.map → CodeEditor-OI35YO7H.js.map} +1 -1
  77. package/dist/exports/client/{DatePicker-SFJJWFZ5.js → DatePicker-5IFHNQHA.js} +2 -2
  78. package/dist/exports/client/chunk-WDFUZ6GL.js +30 -0
  79. package/dist/exports/client/{chunk-IF2WZON3.js.map → chunk-WDFUZ6GL.js.map} +4 -4
  80. package/dist/exports/client/index.js +6 -6
  81. package/dist/exports/client/index.js.map +4 -4
  82. package/dist/exports/shared/index.js.map +1 -1
  83. package/dist/fields/Array/ArrayRow.d.ts +2 -2
  84. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  85. package/dist/fields/Array/ArrayRow.js.map +1 -1
  86. package/dist/fields/Array/index.d.ts +2 -2
  87. package/dist/fields/Array/index.d.ts.map +1 -1
  88. package/dist/fields/Array/index.js.map +1 -1
  89. package/dist/fields/Blocks/BlockRow.d.ts +2 -2
  90. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  91. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  92. package/dist/fields/Blocks/index.d.ts +2 -2
  93. package/dist/fields/Blocks/index.d.ts.map +1 -1
  94. package/dist/fields/Blocks/index.js.map +1 -1
  95. package/dist/fields/Checkbox/index.js +2 -1
  96. package/dist/fields/Checkbox/index.js.map +1 -1
  97. package/dist/fields/Checkbox/index.scss +2 -1
  98. package/dist/fields/Checkbox/types.d.ts +2 -2
  99. package/dist/fields/Checkbox/types.d.ts.map +1 -1
  100. package/dist/fields/Checkbox/types.js.map +1 -1
  101. package/dist/fields/Code/index.d.ts +2 -2
  102. package/dist/fields/Code/index.d.ts.map +1 -1
  103. package/dist/fields/Code/index.js +1 -1
  104. package/dist/fields/Code/index.js.map +1 -1
  105. package/dist/fields/Code/index.scss +3 -21
  106. package/dist/fields/Collapsible/index.d.ts +2 -2
  107. package/dist/fields/Collapsible/index.d.ts.map +1 -1
  108. package/dist/fields/Collapsible/index.js.map +1 -1
  109. package/dist/fields/Collapsible/index.scss +0 -4
  110. package/dist/fields/DateTime/index.d.ts +2 -2
  111. package/dist/fields/DateTime/index.d.ts.map +1 -1
  112. package/dist/fields/DateTime/index.js +1 -1
  113. package/dist/fields/DateTime/index.js.map +1 -1
  114. package/dist/fields/Email/index.d.ts +2 -2
  115. package/dist/fields/Email/index.d.ts.map +1 -1
  116. package/dist/fields/Email/index.js.map +1 -1
  117. package/dist/fields/FieldError/index.scss +6 -5
  118. package/dist/fields/Group/index.d.ts +2 -2
  119. package/dist/fields/Group/index.d.ts.map +1 -1
  120. package/dist/fields/Group/index.js.map +1 -1
  121. package/dist/fields/Hidden/index.d.ts +2 -2
  122. package/dist/fields/Hidden/index.d.ts.map +1 -1
  123. package/dist/fields/Hidden/index.js.map +1 -1
  124. package/dist/fields/JSON/index.d.ts +2 -2
  125. package/dist/fields/JSON/index.d.ts.map +1 -1
  126. package/dist/fields/JSON/index.js +0 -5
  127. package/dist/fields/JSON/index.js.map +1 -1
  128. package/dist/fields/JSON/index.scss +6 -25
  129. package/dist/fields/Number/index.d.ts +2 -2
  130. package/dist/fields/Number/index.d.ts.map +1 -1
  131. package/dist/fields/Number/index.js +1 -3
  132. package/dist/fields/Number/index.js.map +1 -1
  133. package/dist/fields/Password/index.d.ts +2 -2
  134. package/dist/fields/Password/index.d.ts.map +1 -1
  135. package/dist/fields/Password/index.js.map +1 -1
  136. package/dist/fields/Point/index.d.ts +2 -2
  137. package/dist/fields/Point/index.d.ts.map +1 -1
  138. package/dist/fields/Point/index.js +6 -6
  139. package/dist/fields/Point/index.js.map +1 -1
  140. package/dist/fields/Point/index.scss +4 -0
  141. package/dist/fields/RadioGroup/index.d.ts +2 -2
  142. package/dist/fields/RadioGroup/index.d.ts.map +1 -1
  143. package/dist/fields/RadioGroup/index.js +7 -6
  144. package/dist/fields/RadioGroup/index.js.map +1 -1
  145. package/dist/fields/RadioGroup/index.scss +7 -0
  146. package/dist/fields/Relationship/index.scss +2 -2
  147. package/dist/fields/Relationship/types.d.ts +2 -2
  148. package/dist/fields/Relationship/types.d.ts.map +1 -1
  149. package/dist/fields/Relationship/types.js.map +1 -1
  150. package/dist/fields/RichText/index.d.ts +2 -2
  151. package/dist/fields/RichText/index.d.ts.map +1 -1
  152. package/dist/fields/RichText/index.js.map +1 -1
  153. package/dist/fields/Row/types.d.ts +2 -2
  154. package/dist/fields/Row/types.d.ts.map +1 -1
  155. package/dist/fields/Row/types.js.map +1 -1
  156. package/dist/fields/Select/Input.d.ts +2 -2
  157. package/dist/fields/Select/Input.d.ts.map +1 -1
  158. package/dist/fields/Select/Input.js +0 -5
  159. package/dist/fields/Select/Input.js.map +1 -1
  160. package/dist/fields/Select/index.d.ts +2 -2
  161. package/dist/fields/Select/index.d.ts.map +1 -1
  162. package/dist/fields/Select/index.js +1 -1
  163. package/dist/fields/Select/index.js.map +1 -1
  164. package/dist/fields/Tabs/index.d.ts +2 -2
  165. package/dist/fields/Tabs/index.d.ts.map +1 -1
  166. package/dist/fields/Tabs/index.js.map +1 -1
  167. package/dist/fields/Text/types.d.ts +4 -4
  168. package/dist/fields/Text/types.d.ts.map +1 -1
  169. package/dist/fields/Text/types.js.map +1 -1
  170. package/dist/fields/Textarea/index.d.ts.map +1 -1
  171. package/dist/fields/Textarea/index.js +1 -1
  172. package/dist/fields/Textarea/index.js.map +1 -1
  173. package/dist/fields/Textarea/types.d.ts +4 -4
  174. package/dist/fields/Textarea/types.d.ts.map +1 -1
  175. package/dist/fields/Textarea/types.js.map +1 -1
  176. package/dist/fields/Upload/Input.d.ts +2 -2
  177. package/dist/fields/Upload/Input.d.ts.map +1 -1
  178. package/dist/fields/Upload/Input.js.map +1 -1
  179. package/dist/fields/Upload/types.d.ts +2 -2
  180. package/dist/fields/Upload/types.d.ts.map +1 -1
  181. package/dist/fields/Upload/types.js.map +1 -1
  182. package/dist/forms/Form/index.d.ts.map +1 -1
  183. package/dist/forms/Form/index.js +1 -1
  184. package/dist/forms/Form/index.js.map +1 -1
  185. package/dist/forms/Form/types.d.ts +7 -7
  186. package/dist/forms/Form/types.d.ts.map +1 -1
  187. package/dist/forms/Form/types.js.map +1 -1
  188. package/dist/forms/RowLabel/Context/index.d.ts +2 -2
  189. package/dist/forms/RowLabel/Context/index.d.ts.map +1 -1
  190. package/dist/forms/RowLabel/Context/index.js.map +1 -1
  191. package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts.map +1 -1
  192. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js +1 -1
  193. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js.map +1 -1
  194. package/dist/forms/buildStateFromSchema/buildStateFromSchema.spec.js +1 -1
  195. package/dist/forms/buildStateFromSchema/buildStateFromSchema.spec.js.map +1 -1
  196. package/dist/forms/buildStateFromSchema/getFilterOptionsQuery.d.ts +2 -2
  197. package/dist/forms/buildStateFromSchema/getFilterOptionsQuery.d.ts.map +1 -1
  198. package/dist/forms/buildStateFromSchema/getFilterOptionsQuery.js.map +1 -1
  199. package/dist/hooks/useHotkey.js +1 -1
  200. package/dist/hooks/useHotkey.js.map +1 -1
  201. package/dist/hooks/useIntersect.js +1 -1
  202. package/dist/hooks/useIntersect.js.map +1 -1
  203. package/dist/hooks/useThrottledEffect.d.ts.map +1 -1
  204. package/dist/hooks/useThrottledEffect.js +1 -1
  205. package/dist/hooks/useThrottledEffect.js.map +1 -1
  206. package/dist/providers/ComponentMap/buildComponentMap/actions.d.ts.map +1 -1
  207. package/dist/providers/ComponentMap/buildComponentMap/actions.js +3 -3
  208. package/dist/providers/ComponentMap/buildComponentMap/actions.js.map +1 -1
  209. package/dist/providers/ComponentMap/buildComponentMap/collections.d.ts.map +1 -1
  210. package/dist/providers/ComponentMap/buildComponentMap/collections.js +8 -8
  211. package/dist/providers/ComponentMap/buildComponentMap/collections.js.map +1 -1
  212. package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts.map +1 -1
  213. package/dist/providers/ComponentMap/buildComponentMap/fields.js +1 -0
  214. package/dist/providers/ComponentMap/buildComponentMap/fields.js.map +1 -1
  215. package/dist/providers/ComponentMap/buildComponentMap/index.js +2 -2
  216. package/dist/providers/ComponentMap/buildComponentMap/index.js.map +1 -1
  217. package/dist/providers/ComponentMap/buildComponentMap/types.d.ts +2 -2
  218. package/dist/providers/ComponentMap/buildComponentMap/types.d.ts.map +1 -1
  219. package/dist/providers/ComponentMap/buildComponentMap/types.js.map +1 -1
  220. package/dist/providers/DocumentInfo/index.d.ts +2 -2
  221. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  222. package/dist/providers/DocumentInfo/index.js.map +1 -1
  223. package/dist/providers/DocumentInfo/types.d.ts +6 -6
  224. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  225. package/dist/providers/DocumentInfo/types.js.map +1 -1
  226. package/dist/providers/ListInfo/index.d.ts +2 -2
  227. package/dist/providers/ListInfo/index.d.ts.map +1 -1
  228. package/dist/providers/ListInfo/index.js.map +1 -1
  229. package/dist/providers/ListQuery/index.d.ts +2 -2
  230. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  231. package/dist/providers/ListQuery/index.js.map +1 -1
  232. package/dist/styles.css +1 -1
  233. package/dist/utilities/api.d.ts +2 -2
  234. package/dist/utilities/api.d.ts.map +1 -1
  235. package/dist/utilities/api.js.map +1 -1
  236. package/dist/utilities/buildFormState.d.ts.map +1 -1
  237. package/dist/utilities/buildFormState.js +0 -2
  238. package/dist/utilities/buildFormState.js.map +1 -1
  239. package/package.json +12 -19
  240. package/dist/exports/client/chunk-IF2WZON3.js +0 -30
  241. /package/dist/exports/client/{DatePicker-SFJJWFZ5.js.map → DatePicker-5IFHNQHA.js.map} +0 -0
@@ -4,12 +4,7 @@ import type { Dispatch } from 'react';
4
4
  export type Preferences = {
5
5
  [key: string]: unknown;
6
6
  };
7
- export type FormProps = ({
8
- action: (formData: FormData) => Promise<void>;
9
- } | {
10
- action?: string;
11
- method?: 'DELETE' | 'GET' | 'PATCH' | 'POST';
12
- }) & {
7
+ export type FormProps = {
13
8
  beforeSubmit?: ((args: {
14
9
  formState: FormState;
15
10
  }) => Promise<FormState>)[];
@@ -42,7 +37,12 @@ export type FormProps = ({
42
37
  uuid?: string;
43
38
  validationOperation?: 'create' | 'update';
44
39
  waitForAutocomplete?: boolean;
45
- };
40
+ } & ({
41
+ action: (formData: FormData) => Promise<void>;
42
+ } | {
43
+ action?: string;
44
+ method?: 'DELETE' | 'GET' | 'PATCH' | 'POST';
45
+ });
46
46
  export type SubmitOptions = {
47
47
  action?: string;
48
48
  method?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/forms/Form/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/forms/Form/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/forms/Form/types.ts"],"sourcesContent":["import type { Data, Field, FormField, FormState, User } from 'payload'\nimport type React from 'react'\nimport type { Dispatch } from 'react'\n\nexport type Preferences = {\n [key: string]: unknown\n}\n\nexport type FormProps = (\n | {\n action: (formData: FormData) => Promise<void>\n }\n | {\n action?: string\n method?: 'DELETE' | 'GET' | 'PATCH' | 'POST'\n }\n) & {\n beforeSubmit?: ((args: { formState: FormState }) => Promise<FormState>)[]\n children?: React.ReactNode\n className?: string\n disableSuccessStatus?: boolean\n /**\n * If you would like to solely leverage server-side validation on submit,\n * you can disable checks that the form makes before it submits\n */\n disableValidationOnSubmit?: boolean\n disabled?: boolean\n /**\n * By default, the form will get the field schema (not data) from the current document. If you pass this in, you can override that behavior.\n * This is very useful for sub-forms, where the form's field schema is not necessarily the field schema of the current document (e.g. for the Blocks\n * feature of the Lexical Rich Text field)\n */\n fields?: Field[]\n handleResponse?: (\n res: Response,\n successToast: (value: string) => void,\n errorToast: (value: string) => void,\n ) => void\n initialState?: FormState\n isInitializing?: boolean\n log?: boolean\n onChange?: ((args: { formState: FormState }) => Promise<FormState>)[]\n onSubmit?: (fields: FormState, data: Data) => void\n onSuccess?: (json: unknown) => Promise<void> | void\n redirect?: string\n submitted?: boolean\n uuid?: string\n validationOperation?: 'create' | 'update'\n waitForAutocomplete?: boolean\n}\n\nexport type SubmitOptions = {\n action?: string\n method?: string\n overrides?: Record<string, unknown>\n skipValidation?: boolean\n}\n\nexport type DispatchFields = React.Dispatch<any>\nexport type Submit = (\n options?: SubmitOptions,\n e?: React.FormEvent<HTMLFormElement>,\n) => Promise<void>\nexport type ValidateForm = () => Promise<boolean>\nexport type CreateFormData = (overrides?: any) => FormData\nexport type GetFields = () => FormState\nexport type GetField = (path: string) => FormField\nexport type GetData = () => Data\nexport type GetSiblingData = (path: string) => Data\nexport type GetDataByPath = <T = unknown>(path: string) => T\nexport type SetModified = (modified: boolean) => void\nexport type SetSubmitted = (submitted: boolean) => void\nexport type SetProcessing = (processing: boolean) => void\n\nexport type Reset = (data: unknown) => Promise<void>\n\nexport type REPLACE_STATE = {\n optimize?: boolean\n state: FormState\n type: 'REPLACE_STATE'\n}\n\nexport type REMOVE = {\n path: string\n type: 'REMOVE'\n}\n\nexport type MODIFY_CONDITION = {\n path: string\n result: boolean\n type: 'MODIFY_CONDITION'\n user: User\n}\n\nexport type UPDATE = {\n path: string\n type: 'UPDATE'\n} & Partial<FormField>\n\nexport type REMOVE_ROW = {\n path: string\n rowIndex: number\n type: 'REMOVE_ROW'\n}\n\nexport type ADD_ROW = {\n blockType?: string\n path: string\n rowIndex?: number\n subFieldState?: FormState\n type: 'ADD_ROW'\n}\n\nexport type REPLACE_ROW = {\n blockType?: string\n path: string\n rowIndex: number\n subFieldState?: FormState\n type: 'REPLACE_ROW'\n}\n\nexport type DUPLICATE_ROW = {\n path: string\n rowIndex: number\n type: 'DUPLICATE_ROW'\n}\n\nexport type MOVE_ROW = {\n moveFromIndex: number\n moveToIndex: number\n path: string\n type: 'MOVE_ROW'\n}\n\nexport type ADD_SERVER_ERRORS = {\n errors: {\n field: string\n message: string\n }[]\n type: 'ADD_SERVER_ERRORS'\n}\n\nexport type SET_ROW_COLLAPSED = {\n collapsed: boolean\n path: string\n rowID: string\n setDocFieldPreferences: (field: string, fieldPreferences: { [key: string]: unknown }) => void\n type: 'SET_ROW_COLLAPSED'\n}\n\nexport type SET_ALL_ROWS_COLLAPSED = {\n collapsed: boolean\n path: string\n setDocFieldPreferences: (field: string, fieldPreferences: { [key: string]: unknown }) => void\n type: 'SET_ALL_ROWS_COLLAPSED'\n}\n\nexport type FieldAction =\n | ADD_ROW\n | ADD_SERVER_ERRORS\n | DUPLICATE_ROW\n | MODIFY_CONDITION\n | MOVE_ROW\n | REMOVE\n | REMOVE_ROW\n | REPLACE_ROW\n | REPLACE_STATE\n | SET_ALL_ROWS_COLLAPSED\n | SET_ROW_COLLAPSED\n | UPDATE\n\nexport type FormFieldsContext = [FormState, Dispatch<FieldAction>]\n\nexport type Context = {\n addFieldRow: ({\n data,\n path,\n rowIndex,\n schemaPath,\n }: {\n data?: Data\n path: string\n /*\n * by default the new row will be added to the end of the list\n */\n rowIndex?: number\n schemaPath: string\n }) => Promise<void>\n buildRowErrors: () => void\n createFormData: CreateFormData\n disabled: boolean\n dispatchFields: Dispatch<FieldAction>\n /**\n * Form context fields may be outdated and should not be relied on. Instead, prefer `useFormFields`.\n */\n fields: FormState\n formRef: React.MutableRefObject<HTMLFormElement>\n getData: GetData\n getDataByPath: GetDataByPath\n getField: GetField\n getFields: GetFields\n getSiblingData: GetSiblingData\n initializing: boolean\n removeFieldRow: ({ path, rowIndex }: { path: string; rowIndex: number }) => void\n replaceFieldRow: ({\n data,\n path,\n rowIndex,\n schemaPath,\n }: {\n data?: Data\n path: string\n rowIndex: number\n schemaPath: string\n }) => Promise<void>\n replaceState: (state: FormState) => void\n reset: Reset\n setDisabled: (disabled: boolean) => void\n setModified: SetModified\n setProcessing: SetProcessing\n setSubmitted: SetSubmitted\n submit: Submit\n uuid?: string\n validateForm: ValidateForm\n}\n"],"names":[],"mappings":"AA6KA,WAmDC"}
1
+ {"version":3,"sources":["../../../src/forms/Form/types.ts"],"sourcesContent":["import type { Data, Field, FormField, FormState, User } from 'payload'\nimport type React from 'react'\nimport type { Dispatch } from 'react'\n\nexport type Preferences = {\n [key: string]: unknown\n}\n\nexport type FormProps = {\n beforeSubmit?: ((args: { formState: FormState }) => Promise<FormState>)[]\n children?: React.ReactNode\n className?: string\n disableSuccessStatus?: boolean\n /**\n * If you would like to solely leverage server-side validation on submit,\n * you can disable checks that the form makes before it submits\n */\n disableValidationOnSubmit?: boolean\n disabled?: boolean\n /**\n * By default, the form will get the field schema (not data) from the current document. If you pass this in, you can override that behavior.\n * This is very useful for sub-forms, where the form's field schema is not necessarily the field schema of the current document (e.g. for the Blocks\n * feature of the Lexical Rich Text field)\n */\n fields?: Field[]\n handleResponse?: (\n res: Response,\n successToast: (value: string) => void,\n errorToast: (value: string) => void,\n ) => void\n initialState?: FormState\n isInitializing?: boolean\n log?: boolean\n onChange?: ((args: { formState: FormState }) => Promise<FormState>)[]\n onSubmit?: (fields: FormState, data: Data) => void\n onSuccess?: (json: unknown) => Promise<void> | void\n redirect?: string\n submitted?: boolean\n uuid?: string\n validationOperation?: 'create' | 'update'\n waitForAutocomplete?: boolean\n} & (\n | {\n action: (formData: FormData) => Promise<void>\n }\n | {\n action?: string\n method?: 'DELETE' | 'GET' | 'PATCH' | 'POST'\n }\n)\n\nexport type SubmitOptions = {\n action?: string\n method?: string\n overrides?: Record<string, unknown>\n skipValidation?: boolean\n}\n\nexport type DispatchFields = React.Dispatch<any>\nexport type Submit = (\n options?: SubmitOptions,\n e?: React.FormEvent<HTMLFormElement>,\n) => Promise<void>\nexport type ValidateForm = () => Promise<boolean>\nexport type CreateFormData = (overrides?: any) => FormData\nexport type GetFields = () => FormState\nexport type GetField = (path: string) => FormField\nexport type GetData = () => Data\nexport type GetSiblingData = (path: string) => Data\nexport type GetDataByPath = <T = unknown>(path: string) => T\nexport type SetModified = (modified: boolean) => void\nexport type SetSubmitted = (submitted: boolean) => void\nexport type SetProcessing = (processing: boolean) => void\n\nexport type Reset = (data: unknown) => Promise<void>\n\nexport type REPLACE_STATE = {\n optimize?: boolean\n state: FormState\n type: 'REPLACE_STATE'\n}\n\nexport type REMOVE = {\n path: string\n type: 'REMOVE'\n}\n\nexport type MODIFY_CONDITION = {\n path: string\n result: boolean\n type: 'MODIFY_CONDITION'\n user: User\n}\n\nexport type UPDATE = {\n path: string\n type: 'UPDATE'\n} & Partial<FormField>\n\nexport type REMOVE_ROW = {\n path: string\n rowIndex: number\n type: 'REMOVE_ROW'\n}\n\nexport type ADD_ROW = {\n blockType?: string\n path: string\n rowIndex?: number\n subFieldState?: FormState\n type: 'ADD_ROW'\n}\n\nexport type REPLACE_ROW = {\n blockType?: string\n path: string\n rowIndex: number\n subFieldState?: FormState\n type: 'REPLACE_ROW'\n}\n\nexport type DUPLICATE_ROW = {\n path: string\n rowIndex: number\n type: 'DUPLICATE_ROW'\n}\n\nexport type MOVE_ROW = {\n moveFromIndex: number\n moveToIndex: number\n path: string\n type: 'MOVE_ROW'\n}\n\nexport type ADD_SERVER_ERRORS = {\n errors: {\n field: string\n message: string\n }[]\n type: 'ADD_SERVER_ERRORS'\n}\n\nexport type SET_ROW_COLLAPSED = {\n collapsed: boolean\n path: string\n rowID: string\n setDocFieldPreferences: (field: string, fieldPreferences: { [key: string]: unknown }) => void\n type: 'SET_ROW_COLLAPSED'\n}\n\nexport type SET_ALL_ROWS_COLLAPSED = {\n collapsed: boolean\n path: string\n setDocFieldPreferences: (field: string, fieldPreferences: { [key: string]: unknown }) => void\n type: 'SET_ALL_ROWS_COLLAPSED'\n}\n\nexport type FieldAction =\n | ADD_ROW\n | ADD_SERVER_ERRORS\n | DUPLICATE_ROW\n | MODIFY_CONDITION\n | MOVE_ROW\n | REMOVE\n | REMOVE_ROW\n | REPLACE_ROW\n | REPLACE_STATE\n | SET_ALL_ROWS_COLLAPSED\n | SET_ROW_COLLAPSED\n | UPDATE\n\nexport type FormFieldsContext = [FormState, Dispatch<FieldAction>]\n\nexport type Context = {\n addFieldRow: ({\n data,\n path,\n rowIndex,\n schemaPath,\n }: {\n data?: Data\n path: string\n /*\n * by default the new row will be added to the end of the list\n */\n rowIndex?: number\n schemaPath: string\n }) => Promise<void>\n buildRowErrors: () => void\n createFormData: CreateFormData\n disabled: boolean\n dispatchFields: Dispatch<FieldAction>\n /**\n * Form context fields may be outdated and should not be relied on. Instead, prefer `useFormFields`.\n */\n fields: FormState\n formRef: React.MutableRefObject<HTMLFormElement>\n getData: GetData\n getDataByPath: GetDataByPath\n getField: GetField\n getFields: GetFields\n getSiblingData: GetSiblingData\n initializing: boolean\n removeFieldRow: ({ path, rowIndex }: { path: string; rowIndex: number }) => void\n replaceFieldRow: ({\n data,\n path,\n rowIndex,\n schemaPath,\n }: {\n data?: Data\n path: string\n rowIndex: number\n schemaPath: string\n }) => Promise<void>\n replaceState: (state: FormState) => void\n reset: Reset\n setDisabled: (disabled: boolean) => void\n setModified: SetModified\n setProcessing: SetProcessing\n setSubmitted: SetSubmitted\n submit: Submit\n uuid?: string\n validateForm: ValidateForm\n}\n"],"names":[],"mappings":"AA6KA,WAmDC"}
@@ -4,9 +4,9 @@ type RowLabelType<T = unknown> = {
4
4
  path: string;
5
5
  rowNumber?: number;
6
6
  };
7
- type Props<T> = Omit<RowLabelType<T>, 'data'> & {
7
+ type Props<T> = {
8
8
  children: React.ReactNode;
9
- };
9
+ } & Omit<RowLabelType<T>, 'data'>;
10
10
  export declare const RowLabelProvider: React.FC<Props<unknown>>;
11
11
  export declare const useRowLabel: <T>() => RowLabelType<T>;
12
12
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/forms/RowLabel/Context/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,KAAK,YAAY,CAAC,CAAC,GAAG,OAAO,IAAI;IAC/B,IAAI,EAAE,CAAC,CAAA;IACP,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAQD,KAAK,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG;IAC9C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAOrD,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,CAAC,OACU,YAAY,CAAC,CAAC,CACpD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/forms/RowLabel/Context/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,KAAK,YAAY,CAAC,CAAC,GAAG,OAAO,IAAI;IAC/B,IAAI,EAAE,CAAC,CAAA;IACP,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAQD,KAAK,KAAK,CAAC,CAAC,IAAI;IACd,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;AAEjC,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAOrD,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,CAAC,OACU,YAAY,CAAC,CAAC,CACpD,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/forms/RowLabel/Context/index.tsx"],"sourcesContent":["'use client'\n\nimport React from 'react'\n\nimport { useWatchForm } from '../../Form/context.js'\n\ntype RowLabelType<T = unknown> = {\n data: T\n path: string\n rowNumber?: number\n}\n\nconst RowLabel = React.createContext<RowLabelType>({\n data: {},\n path: '',\n rowNumber: undefined,\n})\n\ntype Props<T> = Omit<RowLabelType<T>, 'data'> & {\n children: React.ReactNode\n}\n\nexport const RowLabelProvider: React.FC<Props<unknown>> = ({ children, path, rowNumber }) => {\n const { getDataByPath, getSiblingData } = useWatchForm()\n const collapsibleData = getSiblingData(path)\n const arrayData = getDataByPath(path)\n const data = arrayData || collapsibleData\n\n return <RowLabel.Provider value={{ data, path, rowNumber }}>{children}</RowLabel.Provider>\n}\n\nexport const useRowLabel = <T,>() => {\n return React.useContext(RowLabel) as RowLabelType<T>\n}\n"],"names":["React","useWatchForm","RowLabel","createContext","data","path","rowNumber","undefined","RowLabelProvider","children","getDataByPath","getSiblingData","collapsibleData","arrayData","Provider","value","useRowLabel","useContext"],"mappings":"AAAA;;AAEA,OAAOA,WAAW,QAAO;AAEzB,SAASC,YAAY,QAAQ,wBAAuB;AAQpD,MAAMC,yBAAWF,MAAMG,aAAa,CAAe;IACjDC,MAAM,CAAC;IACPC,MAAM;IACNC,WAAWC;AACb;AAMA,OAAO,MAAMC,mBAA6C,CAAC,EAAEC,QAAQ,EAAEJ,IAAI,EAAEC,SAAS,EAAE;IACtF,MAAM,EAAEI,aAAa,EAAEC,cAAc,EAAE,GAAGV;IAC1C,MAAMW,kBAAkBD,eAAeN;IACvC,MAAMQ,YAAYH,cAAcL;IAChC,MAAMD,OAAOS,aAAaD;IAE1B,qBAAO,KAACV,SAASY,QAAQ;QAACC,OAAO;YAAEX;YAAMC;YAAMC;QAAU;kBAAIG;;AAC/D,EAAC;AAED,OAAO,MAAMO,cAAc;IACzB,OAAOhB,MAAMiB,UAAU,CAACf;AAC1B,EAAC"}
1
+ {"version":3,"sources":["../../../../src/forms/RowLabel/Context/index.tsx"],"sourcesContent":["'use client'\n\nimport React from 'react'\n\nimport { useWatchForm } from '../../Form/context.js'\n\ntype RowLabelType<T = unknown> = {\n data: T\n path: string\n rowNumber?: number\n}\n\nconst RowLabel = React.createContext<RowLabelType>({\n data: {},\n path: '',\n rowNumber: undefined,\n})\n\ntype Props<T> = {\n children: React.ReactNode\n} & Omit<RowLabelType<T>, 'data'>\n\nexport const RowLabelProvider: React.FC<Props<unknown>> = ({ children, path, rowNumber }) => {\n const { getDataByPath, getSiblingData } = useWatchForm()\n const collapsibleData = getSiblingData(path)\n const arrayData = getDataByPath(path)\n const data = arrayData || collapsibleData\n\n return <RowLabel.Provider value={{ data, path, rowNumber }}>{children}</RowLabel.Provider>\n}\n\nexport const useRowLabel = <T,>() => {\n return React.useContext(RowLabel) as RowLabelType<T>\n}\n"],"names":["React","useWatchForm","RowLabel","createContext","data","path","rowNumber","undefined","RowLabelProvider","children","getDataByPath","getSiblingData","collapsibleData","arrayData","Provider","value","useRowLabel","useContext"],"mappings":"AAAA;;AAEA,OAAOA,WAAW,QAAO;AAEzB,SAASC,YAAY,QAAQ,wBAAuB;AAQpD,MAAMC,yBAAWF,MAAMG,aAAa,CAAe;IACjDC,MAAM,CAAC;IACPC,MAAM;IACNC,WAAWC;AACb;AAMA,OAAO,MAAMC,mBAA6C,CAAC,EAAEC,QAAQ,EAAEJ,IAAI,EAAEC,SAAS,EAAE;IACtF,MAAM,EAAEI,aAAa,EAAEC,cAAc,EAAE,GAAGV;IAC1C,MAAMW,kBAAkBD,eAAeN;IACvC,MAAMQ,YAAYH,cAAcL;IAChC,MAAMD,OAAOS,aAAaD;IAE1B,qBAAO,KAACV,SAASY,QAAQ;QAACC,OAAO;YAAEX;YAAMC;YAAMC;QAAU;kBAAIG;;AAC/D,EAAC;AAED,OAAO,MAAMO,cAAc;IACzB,OAAOhB,MAAMiB,UAAU,CAACf;AAC1B,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"addFieldStatePromise.d.ts","sourceRoot":"","sources":["../../../src/forms/buildStateFromSchema/addFieldStatePromise.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,IAAI,EACJ,mBAAmB,EACnB,KAAK,EAEL,SAAS,EACT,cAAc,EACf,MAAM,SAAS,CAAA;AAWhB,MAAM,MAAM,wBAAwB,GAAG;IACrC,oBAAoB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC5C;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,IAAI,EAAE,IAAI,CAAA;IACV,KAAK,EAAE,KAAK,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,wBAAwB,KAAK,OAAO,CAAA;IACpD;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,EAAE,IAAI,CAAA;IACd,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,SAAS,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAC9B,eAAe,EAAE,OAAO,CAAA;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,mBAAmB,CAAA;IAEhC;;;OAGG;IACH,GAAG,EAAE,cAAc,CAAA;IACnB;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,KAAK,EAAE,SAAS,CAAA;CACjB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB,SAAgB,wBAAwB,KAAG,OAAO,CAAC,IAAI,CA8evF,CAAA"}
1
+ {"version":3,"file":"addFieldStatePromise.d.ts","sourceRoot":"","sources":["../../../src/forms/buildStateFromSchema/addFieldStatePromise.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,IAAI,EACJ,mBAAmB,EACnB,KAAK,EAEL,SAAS,EACT,cAAc,EACf,MAAM,SAAS,CAAA;AAWhB,MAAM,MAAM,wBAAwB,GAAG;IACrC,oBAAoB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC5C;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,IAAI,EAAE,IAAI,CAAA;IACV,KAAK,EAAE,KAAK,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,wBAAwB,KAAK,OAAO,CAAA;IACpD;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,EAAE,IAAI,CAAA;IACd,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,SAAS,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAC9B,eAAe,EAAE,OAAO,CAAA;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,mBAAmB,CAAA;IAEhC;;;OAGG;IACH,GAAG,EAAE,cAAc,CAAA;IACnB;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,KAAK,EAAE,SAAS,CAAA;CACjB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB,SAAgB,wBAAwB,KAAG,OAAO,CAAC,IAAI,CA8evF,CAAA"}
@@ -1,4 +1,4 @@
1
- /* eslint-disable no-param-reassign */ import ObjectIdImport from 'bson-objectid';
1
+ import ObjectIdImport from 'bson-objectid';
2
2
  import { fieldAffectsData, fieldHasSubFields, tabHasName } from 'payload/shared';
3
3
  import { getFilterOptionsQuery } from './getFilterOptionsQuery.js';
4
4
  import { iterateFields } from './iterateFields.js';
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/forms/buildStateFromSchema/addFieldStatePromise.ts"],"sourcesContent":["/* eslint-disable no-param-reassign */\nimport type {\n Data,\n DocumentPreferences,\n Field,\n FormField,\n FormState,\n PayloadRequest,\n} from 'payload'\n\nimport ObjectIdImport from 'bson-objectid'\nimport { fieldAffectsData, fieldHasSubFields, tabHasName } from 'payload/shared'\n\nimport { getFilterOptionsQuery } from './getFilterOptionsQuery.js'\nimport { iterateFields } from './iterateFields.js'\n\nconst ObjectId = (ObjectIdImport.default ||\n ObjectIdImport) as unknown as typeof ObjectIdImport.default\n\nexport type AddFieldStatePromiseArgs = {\n addErrorPathToParent: (path: string) => void\n /**\n * if all parents are localized, then the field is localized\n */\n anyParentLocalized?: boolean\n data: Data\n field: Field\n fieldIndex: number\n /**\n * You can use this to filter down to only `localized` fields that require translation (type: text, textarea, etc.). Another plugin might want to look for only `point` type fields to do some GIS function. With the filter function you can go in like a surgeon.\n */\n filter?: (args: AddFieldStatePromiseArgs) => boolean\n /**\n * Force the value of fields like arrays or blocks to be the full value instead of the length @default false\n */\n forceFullValue?: boolean\n fullData: Data\n id: number | string\n /**\n * Whether the field schema should be included in the state\n */\n includeSchema?: boolean\n /**\n * Whether to omit parent fields in the state. @default false\n */\n omitParents?: boolean\n operation: 'create' | 'update'\n passesCondition: boolean\n path: string\n preferences: DocumentPreferences\n\n /**\n * Req is used for validation and defaultValue calculation. If you don't need validation,\n * just create your own req and pass in the locale and the user\n */\n req: PayloadRequest\n /**\n * Whether to skip checking the field's condition. @default false\n */\n skipConditionChecks?: boolean\n /**\n * Whether to skip validating the field. @default false\n */\n skipValidation?: boolean\n state: FormState\n}\n\n/**\n * Flattens the fields schema and fields data.\n * The output is the field path (e.g. array.0.name) mapped to a FormField object.\n */\nexport const addFieldStatePromise = async (args: AddFieldStatePromiseArgs): Promise<void> => {\n const {\n id,\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized = false,\n data,\n field,\n fieldIndex,\n filter,\n forceFullValue = false,\n fullData,\n includeSchema = false,\n omitParents = false,\n operation,\n passesCondition,\n path,\n preferences,\n req,\n skipConditionChecks = false,\n skipValidation = false,\n state,\n } = args\n\n if (fieldAffectsData(field)) {\n const validate = field.validate\n\n const fieldState: FormField = {\n errorPaths: [],\n fieldSchema: includeSchema ? field : undefined,\n initialValue: undefined,\n passesCondition,\n valid: true,\n value: undefined,\n }\n\n let validationResult: string | true = true\n\n if (typeof validate === 'function' && !skipValidation && passesCondition) {\n let jsonError\n\n if (field.type === 'json' && typeof data[field.name] === 'string') {\n try {\n JSON.parse(data[field.name] as string)\n } catch (e) {\n jsonError = e\n }\n }\n\n validationResult = await validate(data?.[field.name], {\n ...field,\n id,\n data: fullData,\n operation,\n req,\n siblingData: data,\n // @ts-expect-error-next-line\n jsonError,\n preferences,\n })\n }\n\n const addErrorPathToParent = (errorPath: string) => {\n if (typeof addErrorPathToParentArg === 'function') {\n addErrorPathToParentArg(errorPath)\n }\n\n if (!fieldState.errorPaths.includes(errorPath)) {\n fieldState.errorPaths.push(errorPath)\n fieldState.valid = false\n }\n }\n\n if (typeof validationResult === 'string') {\n fieldState.errorMessage = validationResult\n fieldState.valid = false\n addErrorPathToParent(`${path}${field.name}`)\n } else {\n fieldState.valid = true\n }\n\n switch (field.type) {\n case 'array': {\n const arrayValue = Array.isArray(data[field.name]) ? data[field.name] : []\n\n const { promises, rowMetadata } = arrayValue.reduce(\n (acc, row, i) => {\n const rowPath = `${path}${field.name}.${i}.`\n row.id = row?.id || new ObjectId().toHexString()\n\n if (!omitParents && (!filter || filter(args))) {\n state[`${rowPath}id`] = {\n fieldSchema: includeSchema\n ? field.fields.find((field) => 'name' in field && field.name === 'id')\n : undefined,\n initialValue: row.id,\n valid: true,\n value: row.id,\n }\n }\n\n acc.promises.push(\n iterateFields({\n id,\n addErrorPathToParent,\n anyParentLocalized: field.localized || anyParentLocalized,\n data: row,\n fields: field.fields,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentPassesCondition: passesCondition,\n path: rowPath,\n preferences,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n }),\n )\n\n const collapsedRowIDs = preferences?.fields?.[`${path}${field.name}`]?.collapsed\n\n acc.rowMetadata.push({\n id: row.id,\n collapsed:\n collapsedRowIDs === undefined\n ? field.admin.initCollapsed\n : collapsedRowIDs.includes(row.id),\n })\n\n return acc\n },\n {\n promises: [],\n rowMetadata: [],\n },\n )\n\n await Promise.all(promises)\n\n // Add values to field state\n if (data[field.name] === null) {\n fieldState.value = null\n fieldState.initialValue = null\n } else {\n fieldState.value = forceFullValue ? arrayValue : arrayValue.length\n fieldState.initialValue = forceFullValue ? arrayValue : arrayValue.length\n\n if (arrayValue.length > 0) {\n fieldState.disableFormData = true\n }\n }\n\n fieldState.rows = rowMetadata\n\n // Add field to state\n if (!omitParents && (!filter || filter(args))) {\n state[`${path}${field.name}`] = fieldState\n }\n\n break\n }\n\n case 'blocks': {\n const blocksValue = Array.isArray(data[field.name]) ? data[field.name] : []\n\n const { promises, rowMetadata } = blocksValue.reduce(\n (acc, row, i) => {\n const block = field.blocks.find((blockType) => blockType.slug === row.blockType)\n const rowPath = `${path}${field.name}.${i}.`\n\n if (block) {\n row.id = row?.id || new ObjectId().toHexString()\n\n if (!omitParents && (!filter || filter(args))) {\n state[`${rowPath}id`] = {\n fieldSchema: includeSchema\n ? block.fields.find(\n (blockField) => 'name' in blockField && blockField.name === 'id',\n )\n : undefined,\n initialValue: row.id,\n valid: true,\n value: row.id,\n }\n\n state[`${rowPath}blockType`] = {\n fieldSchema: includeSchema\n ? block.fields.find(\n (blockField) => 'name' in blockField && blockField.name === 'blockType',\n )\n : undefined,\n initialValue: row.blockType,\n valid: true,\n value: row.blockType,\n }\n\n state[`${rowPath}blockName`] = {\n fieldSchema: includeSchema\n ? block.fields.find(\n (blockField) => 'name' in blockField && blockField.name === 'blockName',\n )\n : undefined,\n initialValue: row.blockName,\n valid: true,\n value: row.blockName,\n }\n }\n\n acc.promises.push(\n iterateFields({\n id,\n addErrorPathToParent,\n anyParentLocalized: field.localized || anyParentLocalized,\n data: row,\n fields: block.fields,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentPassesCondition: passesCondition,\n path: rowPath,\n preferences,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n }),\n )\n\n const collapsedRowIDs = preferences?.fields?.[`${path}${field.name}`]?.collapsed\n\n acc.rowMetadata.push({\n id: row.id,\n blockType: row.blockType,\n collapsed:\n collapsedRowIDs === undefined\n ? field.admin.initCollapsed\n : collapsedRowIDs.includes(row.id),\n })\n }\n\n return acc\n },\n {\n promises: [],\n rowMetadata: [],\n },\n )\n\n await Promise.all(promises)\n\n // Add values to field state\n if (data[field.name] === null) {\n fieldState.value = null\n fieldState.initialValue = null\n } else {\n fieldState.value = forceFullValue ? blocksValue : blocksValue.length\n fieldState.initialValue = forceFullValue ? blocksValue : blocksValue.length\n\n if (blocksValue.length > 0) {\n fieldState.disableFormData = true\n }\n }\n\n fieldState.rows = rowMetadata\n\n // Add field to state\n if (!omitParents && (!filter || filter(args))) {\n state[`${path}${field.name}`] = fieldState\n }\n\n break\n }\n\n case 'group': {\n if (!filter || filter(args)) {\n fieldState.disableFormData = true\n state[`${path}${field.name}`] = fieldState\n }\n\n await iterateFields({\n id,\n addErrorPathToParent,\n anyParentLocalized: field.localized || anyParentLocalized,\n data: data?.[field.name] || {},\n fields: field.fields,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentPassesCondition: passesCondition,\n path: `${path}${field.name}.`,\n preferences,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n })\n\n break\n }\n\n case 'relationship': {\n if (typeof field.filterOptions === 'function') {\n const query = await getFilterOptionsQuery(field.filterOptions, {\n id,\n data: fullData,\n relationTo: field.relationTo,\n siblingData: data,\n user: req.user,\n })\n\n fieldState.filterOptions = query\n }\n\n if (field.hasMany) {\n const relationshipValue = Array.isArray(data[field.name])\n ? data[field.name].map((relationship) => {\n if (Array.isArray(field.relationTo)) {\n return {\n relationTo: relationship.relationTo,\n value:\n relationship.value && typeof relationship.value === 'object'\n ? relationship.value?.id\n : relationship.value,\n }\n }\n if (typeof relationship === 'object' && relationship !== null) {\n return relationship.id\n }\n return relationship\n })\n : undefined\n\n fieldState.value = relationshipValue\n fieldState.initialValue = relationshipValue\n } else if (Array.isArray(field.relationTo)) {\n if (\n data[field.name] &&\n typeof data[field.name] === 'object' &&\n 'relationTo' in data[field.name] &&\n 'value' in data[field.name]\n ) {\n const value =\n typeof data[field.name]?.value === 'object' &&\n data[field.name]?.value &&\n 'id' in data[field.name].value\n ? data[field.name].value.id\n : data[field.name].value\n const relationshipValue = {\n relationTo: data[field.name]?.relationTo,\n value,\n }\n fieldState.value = relationshipValue\n fieldState.initialValue = relationshipValue\n }\n } else {\n const relationshipValue =\n data[field.name] && typeof data[field.name] === 'object' && 'id' in data[field.name]\n ? data[field.name].id\n : data[field.name]\n fieldState.value = relationshipValue\n fieldState.initialValue = relationshipValue\n }\n\n if (!filter || filter(args)) {\n state[`${path}${field.name}`] = fieldState\n }\n\n break\n }\n\n case 'upload': {\n if (typeof field.filterOptions === 'function') {\n const query = await getFilterOptionsQuery(field.filterOptions, {\n id,\n data: fullData,\n relationTo: field.relationTo,\n siblingData: data,\n user: req.user,\n })\n\n fieldState.filterOptions = query\n }\n\n const relationshipValue =\n data[field.name] && typeof data[field.name] === 'object' && 'id' in data[field.name]\n ? data[field.name].id\n : data[field.name]\n fieldState.value = relationshipValue\n fieldState.initialValue = relationshipValue\n\n if (!filter || filter(args)) {\n state[`${path}${field.name}`] = fieldState\n }\n\n break\n }\n\n default: {\n fieldState.value = data[field.name]\n fieldState.initialValue = data[field.name]\n\n // Add field to state\n if (!filter || filter(args)) {\n state[`${path}${field.name}`] = fieldState\n }\n\n break\n }\n }\n } else if (fieldHasSubFields(field)) {\n // Handle field types that do not use names (row, etc)\n\n if (!filter || filter(args)) {\n state[`${path}_index-${fieldIndex}`] = {\n disableFormData: true,\n errorPaths: [],\n initialValue: undefined,\n passesCondition,\n valid: true,\n value: undefined,\n }\n }\n\n await iterateFields({\n id,\n // passthrough parent functionality\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized: field.localized || anyParentLocalized,\n data,\n fields: field.fields,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentPassesCondition: passesCondition,\n path,\n preferences,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n })\n } else if (field.type === 'tabs') {\n const promises = field.tabs.map((tab) => {\n const isNamedTab = tabHasName(tab)\n\n return iterateFields({\n id,\n // passthrough parent functionality\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized: tab.localized || anyParentLocalized,\n data: isNamedTab ? data?.[tab.name] || {} : data,\n fields: tab.fields,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentPassesCondition: passesCondition,\n path: isNamedTab ? `${path}${tab.name}.` : path,\n preferences,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n })\n })\n\n await Promise.all(promises)\n } else if (field.type === 'ui') {\n if (!filter || filter(args)) {\n state[`${path}_index-${fieldIndex}`] = {\n disableFormData: true,\n errorPaths: [],\n initialValue: undefined,\n passesCondition,\n valid: true,\n value: undefined,\n }\n }\n }\n}\n"],"names":["ObjectIdImport","fieldAffectsData","fieldHasSubFields","tabHasName","getFilterOptionsQuery","iterateFields","ObjectId","default","addFieldStatePromise","args","id","addErrorPathToParent","addErrorPathToParentArg","anyParentLocalized","data","field","fieldIndex","filter","forceFullValue","fullData","includeSchema","omitParents","operation","passesCondition","path","preferences","req","skipConditionChecks","skipValidation","state","validate","fieldState","errorPaths","fieldSchema","undefined","initialValue","valid","value","validationResult","jsonError","type","name","JSON","parse","e","siblingData","errorPath","includes","push","errorMessage","arrayValue","Array","isArray","promises","rowMetadata","reduce","acc","row","i","rowPath","toHexString","fields","find","localized","parentPassesCondition","collapsedRowIDs","collapsed","admin","initCollapsed","Promise","all","length","disableFormData","rows","blocksValue","block","blocks","blockType","slug","blockField","blockName","filterOptions","query","relationTo","user","hasMany","relationshipValue","map","relationship","tabs","tab","isNamedTab"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/forms/buildStateFromSchema/addFieldStatePromise.ts"],"sourcesContent":["import type {\n Data,\n DocumentPreferences,\n Field,\n FormField,\n FormState,\n PayloadRequest,\n} from 'payload'\n\nimport ObjectIdImport from 'bson-objectid'\nimport { fieldAffectsData, fieldHasSubFields, tabHasName } from 'payload/shared'\n\nimport { getFilterOptionsQuery } from './getFilterOptionsQuery.js'\nimport { iterateFields } from './iterateFields.js'\n\nconst ObjectId = (ObjectIdImport.default ||\n ObjectIdImport) as unknown as typeof ObjectIdImport.default\n\nexport type AddFieldStatePromiseArgs = {\n addErrorPathToParent: (path: string) => void\n /**\n * if all parents are localized, then the field is localized\n */\n anyParentLocalized?: boolean\n data: Data\n field: Field\n fieldIndex: number\n /**\n * You can use this to filter down to only `localized` fields that require translation (type: text, textarea, etc.). Another plugin might want to look for only `point` type fields to do some GIS function. With the filter function you can go in like a surgeon.\n */\n filter?: (args: AddFieldStatePromiseArgs) => boolean\n /**\n * Force the value of fields like arrays or blocks to be the full value instead of the length @default false\n */\n forceFullValue?: boolean\n fullData: Data\n id: number | string\n /**\n * Whether the field schema should be included in the state\n */\n includeSchema?: boolean\n /**\n * Whether to omit parent fields in the state. @default false\n */\n omitParents?: boolean\n operation: 'create' | 'update'\n passesCondition: boolean\n path: string\n preferences: DocumentPreferences\n\n /**\n * Req is used for validation and defaultValue calculation. If you don't need validation,\n * just create your own req and pass in the locale and the user\n */\n req: PayloadRequest\n /**\n * Whether to skip checking the field's condition. @default false\n */\n skipConditionChecks?: boolean\n /**\n * Whether to skip validating the field. @default false\n */\n skipValidation?: boolean\n state: FormState\n}\n\n/**\n * Flattens the fields schema and fields data.\n * The output is the field path (e.g. array.0.name) mapped to a FormField object.\n */\nexport const addFieldStatePromise = async (args: AddFieldStatePromiseArgs): Promise<void> => {\n const {\n id,\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized = false,\n data,\n field,\n fieldIndex,\n filter,\n forceFullValue = false,\n fullData,\n includeSchema = false,\n omitParents = false,\n operation,\n passesCondition,\n path,\n preferences,\n req,\n skipConditionChecks = false,\n skipValidation = false,\n state,\n } = args\n\n if (fieldAffectsData(field)) {\n const validate = field.validate\n\n const fieldState: FormField = {\n errorPaths: [],\n fieldSchema: includeSchema ? field : undefined,\n initialValue: undefined,\n passesCondition,\n valid: true,\n value: undefined,\n }\n\n let validationResult: string | true = true\n\n if (typeof validate === 'function' && !skipValidation && passesCondition) {\n let jsonError\n\n if (field.type === 'json' && typeof data[field.name] === 'string') {\n try {\n JSON.parse(data[field.name] as string)\n } catch (e) {\n jsonError = e\n }\n }\n\n validationResult = await validate(data?.[field.name], {\n ...field,\n id,\n data: fullData,\n operation,\n req,\n siblingData: data,\n // @ts-expect-error-next-line\n jsonError,\n preferences,\n })\n }\n\n const addErrorPathToParent = (errorPath: string) => {\n if (typeof addErrorPathToParentArg === 'function') {\n addErrorPathToParentArg(errorPath)\n }\n\n if (!fieldState.errorPaths.includes(errorPath)) {\n fieldState.errorPaths.push(errorPath)\n fieldState.valid = false\n }\n }\n\n if (typeof validationResult === 'string') {\n fieldState.errorMessage = validationResult\n fieldState.valid = false\n addErrorPathToParent(`${path}${field.name}`)\n } else {\n fieldState.valid = true\n }\n\n switch (field.type) {\n case 'array': {\n const arrayValue = Array.isArray(data[field.name]) ? data[field.name] : []\n\n const { promises, rowMetadata } = arrayValue.reduce(\n (acc, row, i) => {\n const rowPath = `${path}${field.name}.${i}.`\n row.id = row?.id || new ObjectId().toHexString()\n\n if (!omitParents && (!filter || filter(args))) {\n state[`${rowPath}id`] = {\n fieldSchema: includeSchema\n ? field.fields.find((field) => 'name' in field && field.name === 'id')\n : undefined,\n initialValue: row.id,\n valid: true,\n value: row.id,\n }\n }\n\n acc.promises.push(\n iterateFields({\n id,\n addErrorPathToParent,\n anyParentLocalized: field.localized || anyParentLocalized,\n data: row,\n fields: field.fields,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentPassesCondition: passesCondition,\n path: rowPath,\n preferences,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n }),\n )\n\n const collapsedRowIDs = preferences?.fields?.[`${path}${field.name}`]?.collapsed\n\n acc.rowMetadata.push({\n id: row.id,\n collapsed:\n collapsedRowIDs === undefined\n ? field.admin.initCollapsed\n : collapsedRowIDs.includes(row.id),\n })\n\n return acc\n },\n {\n promises: [],\n rowMetadata: [],\n },\n )\n\n await Promise.all(promises)\n\n // Add values to field state\n if (data[field.name] === null) {\n fieldState.value = null\n fieldState.initialValue = null\n } else {\n fieldState.value = forceFullValue ? arrayValue : arrayValue.length\n fieldState.initialValue = forceFullValue ? arrayValue : arrayValue.length\n\n if (arrayValue.length > 0) {\n fieldState.disableFormData = true\n }\n }\n\n fieldState.rows = rowMetadata\n\n // Add field to state\n if (!omitParents && (!filter || filter(args))) {\n state[`${path}${field.name}`] = fieldState\n }\n\n break\n }\n\n case 'blocks': {\n const blocksValue = Array.isArray(data[field.name]) ? data[field.name] : []\n\n const { promises, rowMetadata } = blocksValue.reduce(\n (acc, row, i) => {\n const block = field.blocks.find((blockType) => blockType.slug === row.blockType)\n const rowPath = `${path}${field.name}.${i}.`\n\n if (block) {\n row.id = row?.id || new ObjectId().toHexString()\n\n if (!omitParents && (!filter || filter(args))) {\n state[`${rowPath}id`] = {\n fieldSchema: includeSchema\n ? block.fields.find(\n (blockField) => 'name' in blockField && blockField.name === 'id',\n )\n : undefined,\n initialValue: row.id,\n valid: true,\n value: row.id,\n }\n\n state[`${rowPath}blockType`] = {\n fieldSchema: includeSchema\n ? block.fields.find(\n (blockField) => 'name' in blockField && blockField.name === 'blockType',\n )\n : undefined,\n initialValue: row.blockType,\n valid: true,\n value: row.blockType,\n }\n\n state[`${rowPath}blockName`] = {\n fieldSchema: includeSchema\n ? block.fields.find(\n (blockField) => 'name' in blockField && blockField.name === 'blockName',\n )\n : undefined,\n initialValue: row.blockName,\n valid: true,\n value: row.blockName,\n }\n }\n\n acc.promises.push(\n iterateFields({\n id,\n addErrorPathToParent,\n anyParentLocalized: field.localized || anyParentLocalized,\n data: row,\n fields: block.fields,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentPassesCondition: passesCondition,\n path: rowPath,\n preferences,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n }),\n )\n\n const collapsedRowIDs = preferences?.fields?.[`${path}${field.name}`]?.collapsed\n\n acc.rowMetadata.push({\n id: row.id,\n blockType: row.blockType,\n collapsed:\n collapsedRowIDs === undefined\n ? field.admin.initCollapsed\n : collapsedRowIDs.includes(row.id),\n })\n }\n\n return acc\n },\n {\n promises: [],\n rowMetadata: [],\n },\n )\n\n await Promise.all(promises)\n\n // Add values to field state\n if (data[field.name] === null) {\n fieldState.value = null\n fieldState.initialValue = null\n } else {\n fieldState.value = forceFullValue ? blocksValue : blocksValue.length\n fieldState.initialValue = forceFullValue ? blocksValue : blocksValue.length\n\n if (blocksValue.length > 0) {\n fieldState.disableFormData = true\n }\n }\n\n fieldState.rows = rowMetadata\n\n // Add field to state\n if (!omitParents && (!filter || filter(args))) {\n state[`${path}${field.name}`] = fieldState\n }\n\n break\n }\n\n case 'group': {\n if (!filter || filter(args)) {\n fieldState.disableFormData = true\n state[`${path}${field.name}`] = fieldState\n }\n\n await iterateFields({\n id,\n addErrorPathToParent,\n anyParentLocalized: field.localized || anyParentLocalized,\n data: data?.[field.name] || {},\n fields: field.fields,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentPassesCondition: passesCondition,\n path: `${path}${field.name}.`,\n preferences,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n })\n\n break\n }\n\n case 'relationship': {\n if (typeof field.filterOptions === 'function') {\n const query = await getFilterOptionsQuery(field.filterOptions, {\n id,\n data: fullData,\n relationTo: field.relationTo,\n siblingData: data,\n user: req.user,\n })\n\n fieldState.filterOptions = query\n }\n\n if (field.hasMany) {\n const relationshipValue = Array.isArray(data[field.name])\n ? data[field.name].map((relationship) => {\n if (Array.isArray(field.relationTo)) {\n return {\n relationTo: relationship.relationTo,\n value:\n relationship.value && typeof relationship.value === 'object'\n ? relationship.value?.id\n : relationship.value,\n }\n }\n if (typeof relationship === 'object' && relationship !== null) {\n return relationship.id\n }\n return relationship\n })\n : undefined\n\n fieldState.value = relationshipValue\n fieldState.initialValue = relationshipValue\n } else if (Array.isArray(field.relationTo)) {\n if (\n data[field.name] &&\n typeof data[field.name] === 'object' &&\n 'relationTo' in data[field.name] &&\n 'value' in data[field.name]\n ) {\n const value =\n typeof data[field.name]?.value === 'object' &&\n data[field.name]?.value &&\n 'id' in data[field.name].value\n ? data[field.name].value.id\n : data[field.name].value\n const relationshipValue = {\n relationTo: data[field.name]?.relationTo,\n value,\n }\n fieldState.value = relationshipValue\n fieldState.initialValue = relationshipValue\n }\n } else {\n const relationshipValue =\n data[field.name] && typeof data[field.name] === 'object' && 'id' in data[field.name]\n ? data[field.name].id\n : data[field.name]\n fieldState.value = relationshipValue\n fieldState.initialValue = relationshipValue\n }\n\n if (!filter || filter(args)) {\n state[`${path}${field.name}`] = fieldState\n }\n\n break\n }\n\n case 'upload': {\n if (typeof field.filterOptions === 'function') {\n const query = await getFilterOptionsQuery(field.filterOptions, {\n id,\n data: fullData,\n relationTo: field.relationTo,\n siblingData: data,\n user: req.user,\n })\n\n fieldState.filterOptions = query\n }\n\n const relationshipValue =\n data[field.name] && typeof data[field.name] === 'object' && 'id' in data[field.name]\n ? data[field.name].id\n : data[field.name]\n fieldState.value = relationshipValue\n fieldState.initialValue = relationshipValue\n\n if (!filter || filter(args)) {\n state[`${path}${field.name}`] = fieldState\n }\n\n break\n }\n\n default: {\n fieldState.value = data[field.name]\n fieldState.initialValue = data[field.name]\n\n // Add field to state\n if (!filter || filter(args)) {\n state[`${path}${field.name}`] = fieldState\n }\n\n break\n }\n }\n } else if (fieldHasSubFields(field)) {\n // Handle field types that do not use names (row, etc)\n\n if (!filter || filter(args)) {\n state[`${path}_index-${fieldIndex}`] = {\n disableFormData: true,\n errorPaths: [],\n initialValue: undefined,\n passesCondition,\n valid: true,\n value: undefined,\n }\n }\n\n await iterateFields({\n id,\n // passthrough parent functionality\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized: field.localized || anyParentLocalized,\n data,\n fields: field.fields,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentPassesCondition: passesCondition,\n path,\n preferences,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n })\n } else if (field.type === 'tabs') {\n const promises = field.tabs.map((tab) => {\n const isNamedTab = tabHasName(tab)\n\n return iterateFields({\n id,\n // passthrough parent functionality\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized: tab.localized || anyParentLocalized,\n data: isNamedTab ? data?.[tab.name] || {} : data,\n fields: tab.fields,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentPassesCondition: passesCondition,\n path: isNamedTab ? `${path}${tab.name}.` : path,\n preferences,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n })\n })\n\n await Promise.all(promises)\n } else if (field.type === 'ui') {\n if (!filter || filter(args)) {\n state[`${path}_index-${fieldIndex}`] = {\n disableFormData: true,\n errorPaths: [],\n initialValue: undefined,\n passesCondition,\n valid: true,\n value: undefined,\n }\n }\n }\n}\n"],"names":["ObjectIdImport","fieldAffectsData","fieldHasSubFields","tabHasName","getFilterOptionsQuery","iterateFields","ObjectId","default","addFieldStatePromise","args","id","addErrorPathToParent","addErrorPathToParentArg","anyParentLocalized","data","field","fieldIndex","filter","forceFullValue","fullData","includeSchema","omitParents","operation","passesCondition","path","preferences","req","skipConditionChecks","skipValidation","state","validate","fieldState","errorPaths","fieldSchema","undefined","initialValue","valid","value","validationResult","jsonError","type","name","JSON","parse","e","siblingData","errorPath","includes","push","errorMessage","arrayValue","Array","isArray","promises","rowMetadata","reduce","acc","row","i","rowPath","toHexString","fields","find","localized","parentPassesCondition","collapsedRowIDs","collapsed","admin","initCollapsed","Promise","all","length","disableFormData","rows","blocksValue","block","blocks","blockType","slug","blockField","blockName","filterOptions","query","relationTo","user","hasMany","relationshipValue","map","relationship","tabs","tab","isNamedTab"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- /* eslint-disable no-undef */ import buildStateFromSchema from './index.js';
1
+ import buildStateFromSchema from './index.js';
2
2
  describe('Form - buildStateFromSchema', ()=>{
3
3
  const defaultValue = 'Default';
4
4
  it('populates default value - normal fields', async ()=>{
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/forms/buildStateFromSchema/buildStateFromSchema.spec.js"],"sourcesContent":["/* eslint-disable no-undef */\nimport buildStateFromSchema from './index.js'\n\ndescribe('Form - buildStateFromSchema', () => {\n const defaultValue = 'Default'\n it('populates default value - normal fields', async () => {\n const fieldSchema = [\n {\n name: 'text',\n type: 'text',\n defaultValue,\n label: 'Text',\n },\n ]\n const state = await buildStateFromSchema({ fieldSchema })\n expect(state.text.value).toBe(defaultValue)\n })\n it('field value overrides defaultValue - normal fields', async () => {\n const value = 'value'\n const data = { text: value }\n const fieldSchema = [\n {\n name: 'text',\n type: 'text',\n defaultValue,\n label: 'Text',\n },\n ]\n const state = await buildStateFromSchema({ data, fieldSchema })\n expect(state.text.value).toBe(value)\n })\n it('populates default value from a function - normal fields', async () => {\n const user = { email: 'user@example.com' }\n const locale = 'en'\n const fieldSchema = [\n {\n name: 'text',\n type: 'text',\n defaultValue: (args) => {\n if (!args.locale) {\n return 'missing locale'\n }\n if (!args.user) {\n return 'missing user'\n }\n return 'Default'\n },\n label: 'Text',\n },\n ]\n const state = await buildStateFromSchema({ fieldSchema, locale, user })\n expect(state.text.value).toBe(defaultValue)\n })\n})\n"],"names":["buildStateFromSchema","describe","defaultValue","it","fieldSchema","name","type","label","state","expect","text","value","toBe","data","user","email","locale","args"],"mappings":"AAAA,2BAA2B,GAC3B,OAAOA,0BAA0B,aAAY;AAE7CC,SAAS,+BAA+B;IACtC,MAAMC,eAAe;IACrBC,GAAG,2CAA2C;QAC5C,MAAMC,cAAc;YAClB;gBACEC,MAAM;gBACNC,MAAM;gBACNJ;gBACAK,OAAO;YACT;SACD;QACD,MAAMC,QAAQ,MAAMR,qBAAqB;YAAEI;QAAY;QACvDK,OAAOD,MAAME,IAAI,CAACC,KAAK,EAAEC,IAAI,CAACV;IAChC;IACAC,GAAG,sDAAsD;QACvD,MAAMQ,QAAQ;QACd,MAAME,OAAO;YAAEH,MAAMC;QAAM;QAC3B,MAAMP,cAAc;YAClB;gBACEC,MAAM;gBACNC,MAAM;gBACNJ;gBACAK,OAAO;YACT;SACD;QACD,MAAMC,QAAQ,MAAMR,qBAAqB;YAAEa;YAAMT;QAAY;QAC7DK,OAAOD,MAAME,IAAI,CAACC,KAAK,EAAEC,IAAI,CAACD;IAChC;IACAR,GAAG,2DAA2D;QAC5D,MAAMW,OAAO;YAAEC,OAAO;QAAmB;QACzC,MAAMC,SAAS;QACf,MAAMZ,cAAc;YAClB;gBACEC,MAAM;gBACNC,MAAM;gBACNJ,cAAc,CAACe;oBACb,IAAI,CAACA,KAAKD,MAAM,EAAE;wBAChB,OAAO;oBACT;oBACA,IAAI,CAACC,KAAKH,IAAI,EAAE;wBACd,OAAO;oBACT;oBACA,OAAO;gBACT;gBACAP,OAAO;YACT;SACD;QACD,MAAMC,QAAQ,MAAMR,qBAAqB;YAAEI;YAAaY;YAAQF;QAAK;QACrEL,OAAOD,MAAME,IAAI,CAACC,KAAK,EAAEC,IAAI,CAACV;IAChC;AACF"}
1
+ {"version":3,"sources":["../../../src/forms/buildStateFromSchema/buildStateFromSchema.spec.js"],"sourcesContent":["import buildStateFromSchema from './index.js'\n\ndescribe('Form - buildStateFromSchema', () => {\n const defaultValue = 'Default'\n it('populates default value - normal fields', async () => {\n const fieldSchema = [\n {\n name: 'text',\n type: 'text',\n defaultValue,\n label: 'Text',\n },\n ]\n const state = await buildStateFromSchema({ fieldSchema })\n expect(state.text.value).toBe(defaultValue)\n })\n it('field value overrides defaultValue - normal fields', async () => {\n const value = 'value'\n const data = { text: value }\n const fieldSchema = [\n {\n name: 'text',\n type: 'text',\n defaultValue,\n label: 'Text',\n },\n ]\n const state = await buildStateFromSchema({ data, fieldSchema })\n expect(state.text.value).toBe(value)\n })\n it('populates default value from a function - normal fields', async () => {\n const user = { email: 'user@example.com' }\n const locale = 'en'\n const fieldSchema = [\n {\n name: 'text',\n type: 'text',\n defaultValue: (args) => {\n if (!args.locale) {\n return 'missing locale'\n }\n if (!args.user) {\n return 'missing user'\n }\n return 'Default'\n },\n label: 'Text',\n },\n ]\n const state = await buildStateFromSchema({ fieldSchema, locale, user })\n expect(state.text.value).toBe(defaultValue)\n })\n})\n"],"names":["buildStateFromSchema","describe","defaultValue","it","fieldSchema","name","type","label","state","expect","text","value","toBe","data","user","email","locale","args"],"mappings":"AAAA,OAAOA,0BAA0B,aAAY;AAE7CC,SAAS,+BAA+B;IACtC,MAAMC,eAAe;IACrBC,GAAG,2CAA2C;QAC5C,MAAMC,cAAc;YAClB;gBACEC,MAAM;gBACNC,MAAM;gBACNJ;gBACAK,OAAO;YACT;SACD;QACD,MAAMC,QAAQ,MAAMR,qBAAqB;YAAEI;QAAY;QACvDK,OAAOD,MAAME,IAAI,CAACC,KAAK,EAAEC,IAAI,CAACV;IAChC;IACAC,GAAG,sDAAsD;QACvD,MAAMQ,QAAQ;QACd,MAAME,OAAO;YAAEH,MAAMC;QAAM;QAC3B,MAAMP,cAAc;YAClB;gBACEC,MAAM;gBACNC,MAAM;gBACNJ;gBACAK,OAAO;YACT;SACD;QACD,MAAMC,QAAQ,MAAMR,qBAAqB;YAAEa;YAAMT;QAAY;QAC7DK,OAAOD,MAAME,IAAI,CAACC,KAAK,EAAEC,IAAI,CAACD;IAChC;IACAR,GAAG,2DAA2D;QAC5D,MAAMW,OAAO;YAAEC,OAAO;QAAmB;QACzC,MAAMC,SAAS;QACf,MAAMZ,cAAc;YAClB;gBACEC,MAAM;gBACNC,MAAM;gBACNJ,cAAc,CAACe;oBACb,IAAI,CAACA,KAAKD,MAAM,EAAE;wBAChB,OAAO;oBACT;oBACA,IAAI,CAACC,KAAKH,IAAI,EAAE;wBACd,OAAO;oBACT;oBACA,OAAO;gBACT;gBACAP,OAAO;YACT;SACD;QACD,MAAMC,QAAQ,MAAMR,qBAAqB;YAAEI;YAAaY;YAAQF;QAAK;QACrEL,OAAOD,MAAME,IAAI,CAACC,KAAK,EAAEC,IAAI,CAACV;IAChC;AACF"}
@@ -1,7 +1,7 @@
1
1
  import type { FilterOptions, FilterOptionsProps, Where } from 'payload';
2
- export declare const getFilterOptionsQuery: (filterOptions: FilterOptions, options: Omit<FilterOptionsProps, "relationTo"> & {
2
+ export declare const getFilterOptionsQuery: (filterOptions: FilterOptions, options: {
3
3
  relationTo: string | string[];
4
- }) => Promise<{
4
+ } & Omit<FilterOptionsProps, "relationTo">) => Promise<{
5
5
  [collection: string]: Where;
6
6
  }>;
7
7
  //# sourceMappingURL=getFilterOptionsQuery.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getFilterOptionsQuery.d.ts","sourceRoot":"","sources":["../../../src/forms/buildStateFromSchema/getFilterOptionsQuery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAEvE,eAAO,MAAM,qBAAqB,kBACjB,aAAa,WACnB,IAAI,CAAC,kBAAkB,EAAE,YAAY,CAAC,GAAG;IAAE,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CAAE,KAClF,OAAO,CAAC;IAAE,CAAC,UAAU,EAAE,MAAM,GAAG,KAAK,CAAA;CAAE,CA4BzC,CAAA"}
1
+ {"version":3,"file":"getFilterOptionsQuery.d.ts","sourceRoot":"","sources":["../../../src/forms/buildStateFromSchema/getFilterOptionsQuery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAEvE,eAAO,MAAM,qBAAqB,kBACjB,aAAa,WACnB;IAAE,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CAAE,GAAG,IAAI,CAAC,kBAAkB,EAAE,YAAY,CAAC,KAClF,OAAO,CAAC;IAAE,CAAC,UAAU,EAAE,MAAM,GAAG,KAAK,CAAA;CAAE,CA4BzC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/forms/buildStateFromSchema/getFilterOptionsQuery.ts"],"sourcesContent":["import type { FilterOptions, FilterOptionsProps, Where } from 'payload'\n\nexport const getFilterOptionsQuery = async (\n filterOptions: FilterOptions,\n options: Omit<FilterOptionsProps, 'relationTo'> & { relationTo: string | string[] },\n): Promise<{ [collection: string]: Where }> => {\n const { relationTo } = options\n\n const relations = Array.isArray(relationTo) ? relationTo : [relationTo]\n\n const query = {}\n\n if (typeof filterOptions !== 'undefined') {\n await Promise.all(\n relations.map(async (relation) => {\n query[relation] =\n typeof filterOptions === 'function'\n ? await filterOptions({ ...options, relationTo: relation })\n : filterOptions\n\n if (query[relation] === true) {\n query[relation] = {}\n }\n\n // this is an ugly way to prevent results from being returned\n if (query[relation] === false) {\n query[relation] = { id: { exists: false } }\n }\n }),\n )\n }\n\n return query\n}\n"],"names":["getFilterOptionsQuery","filterOptions","options","relationTo","relations","Array","isArray","query","Promise","all","map","relation","id","exists"],"mappings":"AAEA,OAAO,MAAMA,wBAAwB,OACnCC,eACAC;IAEA,MAAM,EAAEC,UAAU,EAAE,GAAGD;IAEvB,MAAME,YAAYC,MAAMC,OAAO,CAACH,cAAcA,aAAa;QAACA;KAAW;IAEvE,MAAMI,QAAQ,CAAC;IAEf,IAAI,OAAON,kBAAkB,aAAa;QACxC,MAAMO,QAAQC,GAAG,CACfL,UAAUM,GAAG,CAAC,OAAOC;YACnBJ,KAAK,CAACI,SAAS,GACb,OAAOV,kBAAkB,aACrB,MAAMA,cAAc;gBAAE,GAAGC,OAAO;gBAAEC,YAAYQ;YAAS,KACvDV;YAEN,IAAIM,KAAK,CAACI,SAAS,KAAK,MAAM;gBAC5BJ,KAAK,CAACI,SAAS,GAAG,CAAC;YACrB;YAEA,6DAA6D;YAC7D,IAAIJ,KAAK,CAACI,SAAS,KAAK,OAAO;gBAC7BJ,KAAK,CAACI,SAAS,GAAG;oBAAEC,IAAI;wBAAEC,QAAQ;oBAAM;gBAAE;YAC5C;QACF;IAEJ;IAEA,OAAON;AACT,EAAC"}
1
+ {"version":3,"sources":["../../../src/forms/buildStateFromSchema/getFilterOptionsQuery.ts"],"sourcesContent":["import type { FilterOptions, FilterOptionsProps, Where } from 'payload'\n\nexport const getFilterOptionsQuery = async (\n filterOptions: FilterOptions,\n options: { relationTo: string | string[] } & Omit<FilterOptionsProps, 'relationTo'>,\n): Promise<{ [collection: string]: Where }> => {\n const { relationTo } = options\n\n const relations = Array.isArray(relationTo) ? relationTo : [relationTo]\n\n const query = {}\n\n if (typeof filterOptions !== 'undefined') {\n await Promise.all(\n relations.map(async (relation) => {\n query[relation] =\n typeof filterOptions === 'function'\n ? await filterOptions({ ...options, relationTo: relation })\n : filterOptions\n\n if (query[relation] === true) {\n query[relation] = {}\n }\n\n // this is an ugly way to prevent results from being returned\n if (query[relation] === false) {\n query[relation] = { id: { exists: false } }\n }\n }),\n )\n }\n\n return query\n}\n"],"names":["getFilterOptionsQuery","filterOptions","options","relationTo","relations","Array","isArray","query","Promise","all","map","relation","id","exists"],"mappings":"AAEA,OAAO,MAAMA,wBAAwB,OACnCC,eACAC;IAEA,MAAM,EAAEC,UAAU,EAAE,GAAGD;IAEvB,MAAME,YAAYC,MAAMC,OAAO,CAACH,cAAcA,aAAa;QAACA;KAAW;IAEvE,MAAMI,QAAQ,CAAC;IAEf,IAAI,OAAON,kBAAkB,aAAa;QACxC,MAAMO,QAAQC,GAAG,CACfL,UAAUM,GAAG,CAAC,OAAOC;YACnBJ,KAAK,CAACI,SAAS,GACb,OAAOV,kBAAkB,aACrB,MAAMA,cAAc;gBAAE,GAAGC,OAAO;gBAAEC,YAAYQ;YAAS,KACvDV;YAEN,IAAIM,KAAK,CAACI,SAAS,KAAK,MAAM;gBAC5BJ,KAAK,CAACI,SAAS,GAAG,CAAC;YACrB;YAEA,6DAA6D;YAC7D,IAAIJ,KAAK,CAACI,SAAS,KAAK,OAAO;gBAC7BJ,KAAK,CAACI,SAAS,GAAG;oBAAEC,IAAI;wBAAEC,QAAQ;oBAAM;gBAAE;YAC5C;QACF;IAEJ;IAEA,OAAON;AACT,EAAC"}
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- /* eslint-disable no-shadow */ import { useModal } from '@faceless-ui/modal';
2
+ import { useModal } from '@faceless-ui/modal';
3
3
  import { setsAreEqual } from 'payload/shared';
4
4
  import { useCallback, useEffect } from 'react';
5
5
  // Required to be outside of hook, else debounce would be necessary
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/hooks/useHotkey.ts"],"sourcesContent":["'use client'\n/* eslint-disable no-shadow */\nimport { useModal } from '@faceless-ui/modal'\nimport { setsAreEqual } from 'payload/shared'\nimport { useCallback, useEffect } from 'react'\n\n// Required to be outside of hook, else debounce would be necessary\n// and then one could not prevent the default behaviour.\n\n// It maps the pressed keys with the time they were pressed, in order to implement a maximum time\n// for the user to press the next key in the sequence\n\n// This is necessary to prevent a bug where the keyup event, which unsets the key as pressed\n// is not fired when the window is not focused.\n// When the user then comes back to the window, the key is still registered as pressed, even though it's not.\nconst pressedKeys = new Map<string, number>([])\n\nconst map = {\n altleft: 'alt',\n altright: 'alt',\n controlleft: 'ctrl',\n controlright: 'ctrl',\n ctrlleft: 'ctrl',\n ctrlright: 'ctrl',\n escape: 'esc',\n metaleft: 'meta',\n metaright: 'meta',\n osleft: 'meta',\n osright: 'meta',\n shiftleft: 'shift',\n shiftright: 'shift',\n}\n\nconst stripKey = (key: string) => {\n return (map[key.toLowerCase()] || key).trim().toLowerCase().replace('key', '')\n}\n\nconst pushToKeys = (code: string) => {\n const key = stripKey(code)\n\n // There is a weird bug with macos that if the keys are not cleared they remain in the\n // pressed keys set.\n if (key === 'meta') {\n pressedKeys.forEach(\n (time, pressedKey) => pressedKey !== 'meta' && pressedKeys.delete(pressedKey),\n )\n }\n\n pressedKeys.set(key, Date.now())\n}\n\nconst removeFromKeys = (code: string) => {\n const key = stripKey(code)\n // There is a weird bug with macos that if the keys are not cleared they remain in the\n // pressed keys set.\n if (key === 'meta') {\n pressedKeys.clear()\n }\n pressedKeys.delete(key)\n}\n\n/**\n * Hook function to work with hotkeys.\n * @param param0.keyCode {string[]} The keys to listen for (`Event.code` without `'Key'` and lowercased)\n * @param param0.cmdCtrlKey {boolean} Whether Ctrl on windows or Cmd on mac must be pressed\n * @param param0.editDepth {boolean} This ensures that the hotkey is only triggered for the most top-level drawer in case there are nested drawers\n * @param func The callback function\n */\nexport const useHotkey = (\n options: {\n cmdCtrlKey: boolean\n editDepth: number\n keyCodes: string[]\n },\n func: (e: KeyboardEvent) => void,\n): void => {\n const { cmdCtrlKey, editDepth, keyCodes } = options\n\n const { modalState } = useModal()\n\n const keydown = useCallback(\n (event: CustomEvent | KeyboardEvent) => {\n const e: KeyboardEvent = event.detail?.key ? event.detail : event\n if (e.key === undefined) {\n // Autofill events, or other synthetic events, can be ignored\n return\n }\n\n // Filter out pressed keys which have been pressed > 3 seconds ago\n pressedKeys.forEach((time, key) => {\n if (Date.now() - time > 3000) {\n pressedKeys.delete(key)\n }\n })\n\n if (e.code) pushToKeys(e.code)\n\n // Check for Mac and iPad\n const hasCmd = window.navigator.userAgent.includes('Mac OS X')\n const pressedWithoutModifier = [...pressedKeys.keys()].filter(\n (key) => !['alt', 'ctrl', 'meta', 'shift'].includes(key),\n )\n\n // Check whether arrays contain the same values (regardless of number of occurrences)\n if (\n setsAreEqual(new Set(pressedWithoutModifier), new Set(keyCodes)) &&\n (!cmdCtrlKey || (hasCmd && pressedKeys.has('meta')) || (!hasCmd && e.ctrlKey))\n ) {\n // get the maximum edit depth by counting the number of open drawers. modalState is and object which contains the state of all drawers.\n const maxEditDepth =\n Object.keys(modalState).filter((key) => modalState[key]?.isOpen)?.length + 1 || 1\n\n if (maxEditDepth !== editDepth) {\n // We only want to execute the hotkey from the most top-level drawer / edit depth.\n return\n }\n // execute the function associated with the maximum edit depth\n func(e)\n }\n },\n [keyCodes, cmdCtrlKey, editDepth, modalState, func],\n )\n\n const keyup = useCallback((e: KeyboardEvent) => {\n if (e.code) removeFromKeys(e.code)\n }, [])\n\n useEffect(() => {\n document.addEventListener('keydown', keydown, false)\n document.addEventListener('bypassKeyDown', keydown, false) // this is called if the keydown event's propagation is stopped by react-select\n document.addEventListener('keyup', keyup, false)\n\n return () => {\n document.removeEventListener('keydown', keydown)\n document.removeEventListener('bypassKeyDown', keydown)\n document.removeEventListener('keyup', keyup)\n }\n }, [keydown, keyup])\n}\n"],"names":["useModal","setsAreEqual","useCallback","useEffect","pressedKeys","Map","map","altleft","altright","controlleft","controlright","ctrlleft","ctrlright","escape","metaleft","metaright","osleft","osright","shiftleft","shiftright","stripKey","key","toLowerCase","trim","replace","pushToKeys","code","forEach","time","pressedKey","delete","set","Date","now","removeFromKeys","clear","useHotkey","options","func","cmdCtrlKey","editDepth","keyCodes","modalState","keydown","event","e","detail","undefined","hasCmd","window","navigator","userAgent","includes","pressedWithoutModifier","keys","filter","Set","has","ctrlKey","maxEditDepth","Object","isOpen","length","keyup","document","addEventListener","removeEventListener"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/hooks/useHotkey.ts"],"sourcesContent":["'use client'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { setsAreEqual } from 'payload/shared'\nimport { useCallback, useEffect } from 'react'\n\n// Required to be outside of hook, else debounce would be necessary\n// and then one could not prevent the default behaviour.\n\n// It maps the pressed keys with the time they were pressed, in order to implement a maximum time\n// for the user to press the next key in the sequence\n\n// This is necessary to prevent a bug where the keyup event, which unsets the key as pressed\n// is not fired when the window is not focused.\n// When the user then comes back to the window, the key is still registered as pressed, even though it's not.\nconst pressedKeys = new Map<string, number>([])\n\nconst map = {\n altleft: 'alt',\n altright: 'alt',\n controlleft: 'ctrl',\n controlright: 'ctrl',\n ctrlleft: 'ctrl',\n ctrlright: 'ctrl',\n escape: 'esc',\n metaleft: 'meta',\n metaright: 'meta',\n osleft: 'meta',\n osright: 'meta',\n shiftleft: 'shift',\n shiftright: 'shift',\n}\n\nconst stripKey = (key: string) => {\n return (map[key.toLowerCase()] || key).trim().toLowerCase().replace('key', '')\n}\n\nconst pushToKeys = (code: string) => {\n const key = stripKey(code)\n\n // There is a weird bug with macos that if the keys are not cleared they remain in the\n // pressed keys set.\n if (key === 'meta') {\n pressedKeys.forEach(\n (time, pressedKey) => pressedKey !== 'meta' && pressedKeys.delete(pressedKey),\n )\n }\n\n pressedKeys.set(key, Date.now())\n}\n\nconst removeFromKeys = (code: string) => {\n const key = stripKey(code)\n // There is a weird bug with macos that if the keys are not cleared they remain in the\n // pressed keys set.\n if (key === 'meta') {\n pressedKeys.clear()\n }\n pressedKeys.delete(key)\n}\n\n/**\n * Hook function to work with hotkeys.\n * @param param0.keyCode {string[]} The keys to listen for (`Event.code` without `'Key'` and lowercased)\n * @param param0.cmdCtrlKey {boolean} Whether Ctrl on windows or Cmd on mac must be pressed\n * @param param0.editDepth {boolean} This ensures that the hotkey is only triggered for the most top-level drawer in case there are nested drawers\n * @param func The callback function\n */\nexport const useHotkey = (\n options: {\n cmdCtrlKey: boolean\n editDepth: number\n keyCodes: string[]\n },\n func: (e: KeyboardEvent) => void,\n): void => {\n const { cmdCtrlKey, editDepth, keyCodes } = options\n\n const { modalState } = useModal()\n\n const keydown = useCallback(\n (event: CustomEvent | KeyboardEvent) => {\n const e: KeyboardEvent = event.detail?.key ? event.detail : event\n if (e.key === undefined) {\n // Autofill events, or other synthetic events, can be ignored\n return\n }\n\n // Filter out pressed keys which have been pressed > 3 seconds ago\n pressedKeys.forEach((time, key) => {\n if (Date.now() - time > 3000) {\n pressedKeys.delete(key)\n }\n })\n\n if (e.code) pushToKeys(e.code)\n\n // Check for Mac and iPad\n const hasCmd = window.navigator.userAgent.includes('Mac OS X')\n const pressedWithoutModifier = [...pressedKeys.keys()].filter(\n (key) => !['alt', 'ctrl', 'meta', 'shift'].includes(key),\n )\n\n // Check whether arrays contain the same values (regardless of number of occurrences)\n if (\n setsAreEqual(new Set(pressedWithoutModifier), new Set(keyCodes)) &&\n (!cmdCtrlKey || (hasCmd && pressedKeys.has('meta')) || (!hasCmd && e.ctrlKey))\n ) {\n // get the maximum edit depth by counting the number of open drawers. modalState is and object which contains the state of all drawers.\n const maxEditDepth =\n Object.keys(modalState).filter((key) => modalState[key]?.isOpen)?.length + 1 || 1\n\n if (maxEditDepth !== editDepth) {\n // We only want to execute the hotkey from the most top-level drawer / edit depth.\n return\n }\n // execute the function associated with the maximum edit depth\n func(e)\n }\n },\n [keyCodes, cmdCtrlKey, editDepth, modalState, func],\n )\n\n const keyup = useCallback((e: KeyboardEvent) => {\n if (e.code) removeFromKeys(e.code)\n }, [])\n\n useEffect(() => {\n document.addEventListener('keydown', keydown, false)\n document.addEventListener('bypassKeyDown', keydown, false) // this is called if the keydown event's propagation is stopped by react-select\n document.addEventListener('keyup', keyup, false)\n\n return () => {\n document.removeEventListener('keydown', keydown)\n document.removeEventListener('bypassKeyDown', keydown)\n document.removeEventListener('keyup', keyup)\n }\n }, [keydown, keyup])\n}\n"],"names":["useModal","setsAreEqual","useCallback","useEffect","pressedKeys","Map","map","altleft","altright","controlleft","controlright","ctrlleft","ctrlright","escape","metaleft","metaright","osleft","osright","shiftleft","shiftright","stripKey","key","toLowerCase","trim","replace","pushToKeys","code","forEach","time","pressedKey","delete","set","Date","now","removeFromKeys","clear","useHotkey","options","func","cmdCtrlKey","editDepth","keyCodes","modalState","keydown","event","e","detail","undefined","hasCmd","window","navigator","userAgent","includes","pressedWithoutModifier","keys","filter","Set","has","ctrlKey","maxEditDepth","Object","isOpen","length","keyup","document","addEventListener","removeEventListener"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- /* eslint-disable no-shadow */ import { useEffect, useRef, useState } from 'react';
2
+ import { useEffect, useRef, useState } from 'react';
3
3
  export const useIntersect = ({ root = null, rootMargin = '0px', threshold = 0 } = {}, disable)=>{
4
4
  const [entry, updateEntry] = useState();
5
5
  const [node, setNode] = useState(null);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/hooks/useIntersect.ts"],"sourcesContent":["'use client'\n/* eslint-disable no-shadow */\nimport { useEffect, useRef, useState } from 'react'\n\ntype Intersect = [\n setNode: React.Dispatch<HTMLElement>,\n entry: IntersectionObserverEntry,\n node: HTMLElement,\n]\n\nexport const useIntersect = (\n { root = null, rootMargin = '0px', threshold = 0 } = {},\n disable?: boolean,\n): Intersect => {\n const [entry, updateEntry] = useState<IntersectionObserverEntry>()\n const [node, setNode] = useState(null)\n\n const observer = useRef(\n typeof window !== 'undefined' && 'IntersectionObserver' in window && !disable\n ? new window.IntersectionObserver(([ent]) => updateEntry(ent), {\n root,\n rootMargin,\n threshold,\n })\n : null,\n )\n\n useEffect(() => {\n if (disable) {\n return\n }\n const { current: currentObserver } = observer\n currentObserver.disconnect()\n\n if (node) currentObserver.observe(node)\n\n return () => currentObserver.disconnect()\n }, [node, disable])\n\n return [setNode, entry, node]\n}\n"],"names":["useEffect","useRef","useState","useIntersect","root","rootMargin","threshold","disable","entry","updateEntry","node","setNode","observer","window","IntersectionObserver","ent","current","currentObserver","disconnect","observe"],"mappings":"AAAA;AACA,4BAA4B,GAC5B,SAASA,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,QAAO;AAQnD,OAAO,MAAMC,eAAe,CAC1B,EAAEC,OAAO,IAAI,EAAEC,aAAa,KAAK,EAAEC,YAAY,CAAC,EAAE,GAAG,CAAC,CAAC,EACvDC;IAEA,MAAM,CAACC,OAAOC,YAAY,GAAGP;IAC7B,MAAM,CAACQ,MAAMC,QAAQ,GAAGT,SAAS;IAEjC,MAAMU,WAAWX,OACf,OAAOY,WAAW,eAAe,0BAA0BA,UAAU,CAACN,UAClE,IAAIM,OAAOC,oBAAoB,CAAC,CAAC,CAACC,IAAI,GAAKN,YAAYM,MAAM;QAC3DX;QACAC;QACAC;IACF,KACA;IAGNN,UAAU;QACR,IAAIO,SAAS;YACX;QACF;QACA,MAAM,EAAES,SAASC,eAAe,EAAE,GAAGL;QACrCK,gBAAgBC,UAAU;QAE1B,IAAIR,MAAMO,gBAAgBE,OAAO,CAACT;QAElC,OAAO,IAAMO,gBAAgBC,UAAU;IACzC,GAAG;QAACR;QAAMH;KAAQ;IAElB,OAAO;QAACI;QAASH;QAAOE;KAAK;AAC/B,EAAC"}
1
+ {"version":3,"sources":["../../src/hooks/useIntersect.ts"],"sourcesContent":["'use client'\n\nimport { useEffect, useRef, useState } from 'react'\n\ntype Intersect = [\n setNode: React.Dispatch<HTMLElement>,\n entry: IntersectionObserverEntry,\n node: HTMLElement,\n]\n\nexport const useIntersect = (\n { root = null, rootMargin = '0px', threshold = 0 } = {},\n disable?: boolean,\n): Intersect => {\n const [entry, updateEntry] = useState<IntersectionObserverEntry>()\n const [node, setNode] = useState(null)\n\n const observer = useRef(\n typeof window !== 'undefined' && 'IntersectionObserver' in window && !disable\n ? new window.IntersectionObserver(([ent]) => updateEntry(ent), {\n root,\n rootMargin,\n threshold,\n })\n : null,\n )\n\n useEffect(() => {\n if (disable) {\n return\n }\n const { current: currentObserver } = observer\n currentObserver.disconnect()\n\n if (node) currentObserver.observe(node)\n\n return () => currentObserver.disconnect()\n }, [node, disable])\n\n return [setNode, entry, node]\n}\n"],"names":["useEffect","useRef","useState","useIntersect","root","rootMargin","threshold","disable","entry","updateEntry","node","setNode","observer","window","IntersectionObserver","ent","current","currentObserver","disconnect","observe"],"mappings":"AAAA;AAEA,SAASA,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,QAAO;AAQnD,OAAO,MAAMC,eAAe,CAC1B,EAAEC,OAAO,IAAI,EAAEC,aAAa,KAAK,EAAEC,YAAY,CAAC,EAAE,GAAG,CAAC,CAAC,EACvDC;IAEA,MAAM,CAACC,OAAOC,YAAY,GAAGP;IAC7B,MAAM,CAACQ,MAAMC,QAAQ,GAAGT,SAAS;IAEjC,MAAMU,WAAWX,OACf,OAAOY,WAAW,eAAe,0BAA0BA,UAAU,CAACN,UAClE,IAAIM,OAAOC,oBAAoB,CAAC,CAAC,CAACC,IAAI,GAAKN,YAAYM,MAAM;QAC3DX;QACAC;QACAC;IACF,KACA;IAGNN,UAAU;QACR,IAAIO,SAAS;YACX;QACF;QACA,MAAM,EAAES,SAASC,eAAe,EAAE,GAAGL;QACrCK,gBAAgBC,UAAU;QAE1B,IAAIR,MAAMO,gBAAgBE,OAAO,CAACT;QAElC,OAAO,IAAMO,gBAAgBC,UAAU;IACzC,GAAG;QAACR;QAAMH;KAAQ;IAElB,OAAO;QAACI;QAASH;QAAOE;KAAK;AAC/B,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useThrottledEffect.d.ts","sourceRoot":"","sources":["../../src/hooks/useThrottledEffect.ts"],"names":[],"mappings":"AAGA,KAAK,kBAAkB,GAAG,CACxB,QAAQ,EAAE,KAAK,CAAC,cAAc,EAC9B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,KAAK,CAAC,cAAc,KACvB,IAAI,CAAA;AAET,eAAO,MAAM,kBAAkB,EAAE,kBAkBhC,CAAA"}
1
+ {"version":3,"file":"useThrottledEffect.d.ts","sourceRoot":"","sources":["../../src/hooks/useThrottledEffect.ts"],"names":[],"mappings":"AAEA,KAAK,kBAAkB,GAAG,CACxB,QAAQ,EAAE,KAAK,CAAC,cAAc,EAC9B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,KAAK,CAAC,cAAc,KACvB,IAAI,CAAA;AAET,eAAO,MAAM,kBAAkB,EAAE,kBAkBhC,CAAA"}
@@ -1,4 +1,4 @@
1
- /* eslint-disable react-hooks/exhaustive-deps */ import { useEffect, useRef } from 'react';
1
+ import { useEffect, useRef } from 'react';
2
2
  export const useThrottledEffect = (callback, delay, deps = [])=>{
3
3
  const lastRan = useRef(Date.now());
4
4
  useEffect(()=>{
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/hooks/useThrottledEffect.ts"],"sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps */\nimport { useEffect, useRef } from 'react'\n\ntype useThrottledEffect = (\n callback: React.EffectCallback,\n delay: number,\n deps: React.DependencyList,\n) => void\n\nexport const useThrottledEffect: useThrottledEffect = (callback, delay, deps = []) => {\n const lastRan = useRef(Date.now())\n\n useEffect(() => {\n const handler = setTimeout(\n () => {\n if (Date.now() - lastRan.current >= delay) {\n callback()\n lastRan.current = Date.now()\n }\n },\n delay - (Date.now() - lastRan.current),\n )\n\n return () => {\n clearTimeout(handler)\n }\n }, [delay, ...deps])\n}\n"],"names":["useEffect","useRef","useThrottledEffect","callback","delay","deps","lastRan","Date","now","handler","setTimeout","current","clearTimeout"],"mappings":"AAAA,8CAA8C,GAC9C,SAASA,SAAS,EAAEC,MAAM,QAAQ,QAAO;AAQzC,OAAO,MAAMC,qBAAyC,CAACC,UAAUC,OAAOC,OAAO,EAAE;IAC/E,MAAMC,UAAUL,OAAOM,KAAKC,GAAG;IAE/BR,UAAU;QACR,MAAMS,UAAUC,WACd;YACE,IAAIH,KAAKC,GAAG,KAAKF,QAAQK,OAAO,IAAIP,OAAO;gBACzCD;gBACAG,QAAQK,OAAO,GAAGJ,KAAKC,GAAG;YAC5B;QACF,GACAJ,QAASG,CAAAA,KAAKC,GAAG,KAAKF,QAAQK,OAAO,AAAD;QAGtC,OAAO;YACLC,aAAaH;QACf;IACF,GAAG;QAACL;WAAUC;KAAK;AACrB,EAAC"}
1
+ {"version":3,"sources":["../../src/hooks/useThrottledEffect.ts"],"sourcesContent":["import { useEffect, useRef } from 'react'\n\ntype useThrottledEffect = (\n callback: React.EffectCallback,\n delay: number,\n deps: React.DependencyList,\n) => void\n\nexport const useThrottledEffect: useThrottledEffect = (callback, delay, deps = []) => {\n const lastRan = useRef(Date.now())\n\n useEffect(() => {\n const handler = setTimeout(\n () => {\n if (Date.now() - lastRan.current >= delay) {\n callback()\n lastRan.current = Date.now()\n }\n },\n delay - (Date.now() - lastRan.current),\n )\n\n return () => {\n clearTimeout(handler)\n }\n }, [delay, ...deps])\n}\n"],"names":["useEffect","useRef","useThrottledEffect","callback","delay","deps","lastRan","Date","now","handler","setTimeout","current","clearTimeout"],"mappings":"AAAA,SAASA,SAAS,EAAEC,MAAM,QAAQ,QAAO;AAQzC,OAAO,MAAMC,qBAAyC,CAACC,UAAUC,OAAOC,OAAO,EAAE;IAC/E,MAAMC,UAAUL,OAAOM,KAAKC,GAAG;IAE/BR,UAAU;QACR,MAAMS,UAAUC,WACd;YACE,IAAIH,KAAKC,GAAG,KAAKF,QAAQK,OAAO,IAAIP,OAAO;gBACzCD;gBACAG,QAAQK,OAAO,GAAGJ,KAAKC,GAAG;YAC5B;QACF,GACAJ,QAASG,CAAAA,KAAKC,GAAG,KAAKF,QAAQK,OAAO,AAAD;QAGtC,OAAO;YACLC,aAAaH;QACf;IACF,GAAG;QAACL;WAAUC;KAAK;AACrB,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../../../src/providers/ComponentMap/buildComponentMap/actions.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAI/E,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,YAAY,CAAA;AACjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAE3C,eAAO,MAAM,UAAU,SAAU;IAC/B,mBAAmB,EAAE,+BAA+B,CAAA;IACpD,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C,YAAY,CAAC,EAAE,qBAAqB,CAAA;CACrC,KAAG,SAuCH,CAAA"}
1
+ {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../../../src/providers/ComponentMap/buildComponentMap/actions.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAI/E,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,YAAY,CAAA;AACjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAE3C,eAAO,MAAM,UAAU,SAAU;IAC/B,mBAAmB,EAAE,+BAA+B,CAAA;IACpD,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C,YAAY,CAAC,EAAE,qBAAqB,CAAA;CACrC,KAAG,SA0CH,CAAA"}
@@ -18,7 +18,7 @@ export const mapActions = (args)=>{
18
18
  ...result[key] || [],
19
19
  /*#__PURE__*/ _jsx(WithServerSideProps, {
20
20
  Component: Action
21
- })
21
+ }, key)
22
22
  ];
23
23
  }
24
24
  });
@@ -26,7 +26,7 @@ export const mapActions = (args)=>{
26
26
  });
27
27
  }
28
28
  if (listActions) {
29
- listActions.forEach((action)=>{
29
+ listActions.forEach((action, i)=>{
30
30
  const Action = action;
31
31
  if (typeof Action === 'function') {
32
32
  // eslint-disable-next-line @typescript-eslint/no-floating-promises
@@ -34,7 +34,7 @@ export const mapActions = (args)=>{
34
34
  ...result.List,
35
35
  /*#__PURE__*/ _jsx(WithServerSideProps, {
36
36
  Component: Action
37
- })
37
+ }, i)
38
38
  ];
39
39
  }
40
40
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/providers/ComponentMap/buildComponentMap/actions.tsx"],"sourcesContent":["import type { SanitizedCollectionConfig, SanitizedGlobalConfig } from 'payload'\n\nimport React from 'react'\n\nimport type { WithServerSidePropsPrePopulated } from './index.js'\nimport type { ActionMap } from './types.js'\n\nexport const mapActions = (args: {\n WithServerSideProps: WithServerSidePropsPrePopulated\n collectionConfig?: SanitizedCollectionConfig\n globalConfig?: SanitizedGlobalConfig\n}): ActionMap => {\n const { WithServerSideProps, collectionConfig, globalConfig } = args\n\n const editViews = (collectionConfig || globalConfig)?.admin?.components?.views?.Edit\n\n const listActions =\n typeof collectionConfig?.admin?.components?.views?.List === 'object'\n ? collectionConfig?.admin?.components?.views?.List?.actions\n : undefined\n\n const result: ActionMap = {\n Edit: {},\n List: [],\n }\n\n if (editViews) {\n Object.entries(editViews).forEach(([key, view]) => {\n if (typeof view === 'object' && 'actions' in view) {\n view.actions.forEach((action) => {\n const Action = action\n if (typeof Action === 'function') {\n result.Edit[key] = [...(result[key] || []), <WithServerSideProps Component={Action} />]\n }\n })\n }\n })\n }\n\n if (listActions) {\n listActions.forEach((action) => {\n const Action = action\n if (typeof Action === 'function') {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n result.List = [...result.List, <WithServerSideProps Component={Action} />]\n }\n })\n }\n\n return result\n}\n"],"names":["React","mapActions","args","WithServerSideProps","collectionConfig","globalConfig","editViews","admin","components","views","Edit","listActions","List","actions","undefined","result","Object","entries","forEach","key","view","action","Action","Component"],"mappings":";AAEA,OAAOA,WAAW,QAAO;AAKzB,OAAO,MAAMC,aAAa,CAACC;IAKzB,MAAM,EAAEC,mBAAmB,EAAEC,gBAAgB,EAAEC,YAAY,EAAE,GAAGH;IAEhE,MAAMI,YAAaF,CAAAA,oBAAoBC,YAAW,GAAIE,OAAOC,YAAYC,OAAOC;IAEhF,MAAMC,cACJ,OAAOP,kBAAkBG,OAAOC,YAAYC,OAAOG,SAAS,WACxDR,kBAAkBG,OAAOC,YAAYC,OAAOG,MAAMC,UAClDC;IAEN,MAAMC,SAAoB;QACxBL,MAAM,CAAC;QACPE,MAAM,EAAE;IACV;IAEA,IAAIN,WAAW;QACbU,OAAOC,OAAO,CAACX,WAAWY,OAAO,CAAC,CAAC,CAACC,KAAKC,KAAK;YAC5C,IAAI,OAAOA,SAAS,YAAY,aAAaA,MAAM;gBACjDA,KAAKP,OAAO,CAACK,OAAO,CAAC,CAACG;oBACpB,MAAMC,SAASD;oBACf,IAAI,OAAOC,WAAW,YAAY;wBAChCP,OAAOL,IAAI,CAACS,IAAI,GAAG;+BAAKJ,MAAM,CAACI,IAAI,IAAI,EAAE;0CAAG,KAAChB;gCAAoBoB,WAAWD;;yBAAW;oBACzF;gBACF;YACF;QACF;IACF;IAEA,IAAIX,aAAa;QACfA,YAAYO,OAAO,CAAC,CAACG;YACnB,MAAMC,SAASD;YACf,IAAI,OAAOC,WAAW,YAAY;gBAChC,mEAAmE;gBACnEP,OAAOH,IAAI,GAAG;uBAAIG,OAAOH,IAAI;kCAAE,KAACT;wBAAoBoB,WAAWD;;iBAAW;YAC5E;QACF;IACF;IAEA,OAAOP;AACT,EAAC"}
1
+ {"version":3,"sources":["../../../../src/providers/ComponentMap/buildComponentMap/actions.tsx"],"sourcesContent":["import type { SanitizedCollectionConfig, SanitizedGlobalConfig } from 'payload'\n\nimport React from 'react'\n\nimport type { WithServerSidePropsPrePopulated } from './index.js'\nimport type { ActionMap } from './types.js'\n\nexport const mapActions = (args: {\n WithServerSideProps: WithServerSidePropsPrePopulated\n collectionConfig?: SanitizedCollectionConfig\n globalConfig?: SanitizedGlobalConfig\n}): ActionMap => {\n const { WithServerSideProps, collectionConfig, globalConfig } = args\n\n const editViews = (collectionConfig || globalConfig)?.admin?.components?.views?.Edit\n\n const listActions =\n typeof collectionConfig?.admin?.components?.views?.List === 'object'\n ? collectionConfig?.admin?.components?.views?.List?.actions\n : undefined\n\n const result: ActionMap = {\n Edit: {},\n List: [],\n }\n\n if (editViews) {\n Object.entries(editViews).forEach(([key, view]) => {\n if (typeof view === 'object' && 'actions' in view) {\n view.actions.forEach((action) => {\n const Action = action\n if (typeof Action === 'function') {\n result.Edit[key] = [\n ...(result[key] || []),\n <WithServerSideProps Component={Action} key={key} />,\n ]\n }\n })\n }\n })\n }\n\n if (listActions) {\n listActions.forEach((action, i) => {\n const Action = action\n if (typeof Action === 'function') {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n result.List = [...result.List, <WithServerSideProps Component={Action} key={i} />]\n }\n })\n }\n\n return result\n}\n"],"names":["React","mapActions","args","WithServerSideProps","collectionConfig","globalConfig","editViews","admin","components","views","Edit","listActions","List","actions","undefined","result","Object","entries","forEach","key","view","action","Action","Component","i"],"mappings":";AAEA,OAAOA,WAAW,QAAO;AAKzB,OAAO,MAAMC,aAAa,CAACC;IAKzB,MAAM,EAAEC,mBAAmB,EAAEC,gBAAgB,EAAEC,YAAY,EAAE,GAAGH;IAEhE,MAAMI,YAAaF,CAAAA,oBAAoBC,YAAW,GAAIE,OAAOC,YAAYC,OAAOC;IAEhF,MAAMC,cACJ,OAAOP,kBAAkBG,OAAOC,YAAYC,OAAOG,SAAS,WACxDR,kBAAkBG,OAAOC,YAAYC,OAAOG,MAAMC,UAClDC;IAEN,MAAMC,SAAoB;QACxBL,MAAM,CAAC;QACPE,MAAM,EAAE;IACV;IAEA,IAAIN,WAAW;QACbU,OAAOC,OAAO,CAACX,WAAWY,OAAO,CAAC,CAAC,CAACC,KAAKC,KAAK;YAC5C,IAAI,OAAOA,SAAS,YAAY,aAAaA,MAAM;gBACjDA,KAAKP,OAAO,CAACK,OAAO,CAAC,CAACG;oBACpB,MAAMC,SAASD;oBACf,IAAI,OAAOC,WAAW,YAAY;wBAChCP,OAAOL,IAAI,CAACS,IAAI,GAAG;+BACbJ,MAAM,CAACI,IAAI,IAAI,EAAE;0CACrB,KAAChB;gCAAoBoB,WAAWD;+BAAaH;yBAC9C;oBACH;gBACF;YACF;QACF;IACF;IAEA,IAAIR,aAAa;QACfA,YAAYO,OAAO,CAAC,CAACG,QAAQG;YAC3B,MAAMF,SAASD;YACf,IAAI,OAAOC,WAAW,YAAY;gBAChC,mEAAmE;gBACnEP,OAAOH,IAAI,GAAG;uBAAIG,OAAOH,IAAI;kCAAE,KAACT;wBAAoBoB,WAAWD;uBAAaE;iBAAM;YACpF;QACF;IACF;IAEA,OAAOT;AACT,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"collections.d.ts","sourceRoot":"","sources":["../../../../src/providers/ComponentMap/buildComponentMap/collections.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,yBAAyB,EACzB,eAAe,EAChB,MAAM,SAAS,CAAA;AAGhB,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,YAAY,CAAA;AACjE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AAQxD,eAAO,MAAM,cAAc,SAAU;IACnC,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,CAAA;IACxC,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,CAAA;IACzC,mBAAmB,EAAE,+BAA+B,CAAA;IACpD,WAAW,EAAE,yBAAyB,EAAE,CAAA;IACxC,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,UAAU,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,KAAG;IACF,CAAC,GAAG,EAAE,yBAAyB,CAAC,MAAM,CAAC,GAAG,sBAAsB,CAAA;CAuKjE,CAAA"}
1
+ {"version":3,"file":"collections.d.ts","sourceRoot":"","sources":["../../../../src/providers/ComponentMap/buildComponentMap/collections.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,yBAAyB,EACzB,eAAe,EAChB,MAAM,SAAS,CAAA;AAGhB,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,YAAY,CAAA;AACjE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AAQxD,eAAO,MAAM,cAAc,SAAU;IACnC,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,CAAA;IACxC,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,CAAA;IACzC,mBAAmB,EAAE,+BAA+B,CAAA;IACpD,WAAW,EAAE,yBAAyB,EAAE,CAAA;IACxC,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,UAAU,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,KAAG;IACF,CAAC,GAAG,EAAE,yBAAyB,CAAC,MAAM,CAAC,GAAG,sBAAsB,CAAA;CA2KjE,CAAA"}
@@ -44,21 +44,21 @@ export const mapCollections = (args)=>{
44
44
  Component: UploadComponent
45
45
  }) : undefined;
46
46
  const beforeList = collectionConfig?.admin?.components?.beforeList;
47
- const BeforeList = beforeList && Array.isArray(beforeList) && beforeList?.map((Component)=>/*#__PURE__*/ _jsx(WithServerSideProps, {
47
+ const BeforeList = beforeList && Array.isArray(beforeList) && beforeList?.map((Component, i)=>/*#__PURE__*/ _jsx(WithServerSideProps, {
48
48
  Component: Component
49
- })) || null;
49
+ }, i)) || null;
50
50
  const beforeListTable = collectionConfig?.admin?.components?.beforeListTable;
51
- const BeforeListTable = beforeListTable && Array.isArray(beforeListTable) && beforeListTable?.map((Component)=>/*#__PURE__*/ _jsx(WithServerSideProps, {
51
+ const BeforeListTable = beforeListTable && Array.isArray(beforeListTable) && beforeListTable?.map((Component, i)=>/*#__PURE__*/ _jsx(WithServerSideProps, {
52
52
  Component: Component
53
- })) || null;
53
+ }, i)) || null;
54
54
  const afterList = collectionConfig?.admin?.components?.afterList;
55
- const AfterList = afterList && Array.isArray(afterList) && afterList?.map((Component)=>/*#__PURE__*/ _jsx(WithServerSideProps, {
55
+ const AfterList = afterList && Array.isArray(afterList) && afterList?.map((Component, i)=>/*#__PURE__*/ _jsx(WithServerSideProps, {
56
56
  Component: Component
57
- })) || null;
57
+ }, i)) || null;
58
58
  const afterListTable = collectionConfig?.admin?.components?.afterListTable;
59
- const AfterListTable = afterListTable && Array.isArray(afterListTable) && afterListTable?.map((Component)=>/*#__PURE__*/ _jsx(WithServerSideProps, {
59
+ const AfterListTable = afterListTable && Array.isArray(afterListTable) && afterListTable?.map((Component, i)=>/*#__PURE__*/ _jsx(WithServerSideProps, {
60
60
  Component: Component
61
- })) || null;
61
+ }, i)) || null;
62
62
  let description = undefined;
63
63
  if (collectionConfig.admin && 'description' in collectionConfig.admin) {
64
64
  if (typeof collectionConfig.admin?.description === 'string' || typeof collectionConfig.admin?.description === 'object') {