@payloadcms/ui 3.0.0-beta.88 → 3.0.0-beta.89

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 (189) hide show
  1. package/dist/elements/AddNewRelation/index.d.ts.map +1 -0
  2. package/dist/{fields/Relationship/AddNew → elements/AddNewRelation}/index.js +98 -82
  3. package/dist/elements/AddNewRelation/index.js.map +1 -0
  4. package/dist/{fields/Relationship/AddNew → elements/AddNewRelation}/index.scss +7 -3
  5. package/dist/elements/AddNewRelation/types.d.ts +11 -0
  6. package/dist/elements/AddNewRelation/types.d.ts.map +1 -0
  7. package/dist/elements/AddNewRelation/types.js.map +1 -0
  8. package/dist/elements/AddNewRelation/useRelatedCollections.d.ts.map +1 -0
  9. package/dist/{fields/Relationship/AddNew → elements/AddNewRelation}/useRelatedCollections.js +1 -1
  10. package/dist/elements/AddNewRelation/useRelatedCollections.js.map +1 -0
  11. package/dist/elements/BulkUpload/ActionsBar/index.d.ts +9 -0
  12. package/dist/elements/BulkUpload/ActionsBar/index.d.ts.map +1 -0
  13. package/dist/elements/BulkUpload/ActionsBar/index.js +186 -0
  14. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -0
  15. package/dist/elements/BulkUpload/ActionsBar/index.scss +59 -0
  16. package/dist/elements/BulkUpload/AddFilesView/index.d.ts +9 -0
  17. package/dist/elements/BulkUpload/AddFilesView/index.d.ts.map +1 -0
  18. package/dist/elements/BulkUpload/AddFilesView/index.js +44 -0
  19. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -0
  20. package/dist/elements/BulkUpload/AddFilesView/index.scss +15 -0
  21. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts +4 -0
  22. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts.map +1 -0
  23. package/dist/elements/BulkUpload/AddingFilesView/index.js +98 -0
  24. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -0
  25. package/dist/elements/BulkUpload/AddingFilesView/index.scss +23 -0
  26. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.d.ts +4 -0
  27. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.d.ts.map +1 -0
  28. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js +89 -0
  29. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -0
  30. package/dist/elements/BulkUpload/DrawerCloseButton/index.d.ts +9 -0
  31. package/dist/elements/BulkUpload/DrawerCloseButton/index.d.ts.map +1 -0
  32. package/dist/elements/BulkUpload/DrawerCloseButton/index.js +38 -0
  33. package/dist/elements/BulkUpload/DrawerCloseButton/index.js.map +1 -0
  34. package/dist/elements/BulkUpload/DrawerCloseButton/index.scss +27 -0
  35. package/dist/elements/BulkUpload/EditForm/index.d.ts +5 -0
  36. package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -0
  37. package/dist/elements/BulkUpload/EditForm/index.js +176 -0
  38. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -0
  39. package/dist/elements/BulkUpload/EditForm/index.scss +9 -0
  40. package/dist/elements/BulkUpload/EditForm/types.d.ts +4 -0
  41. package/dist/elements/BulkUpload/EditForm/types.d.ts.map +1 -0
  42. package/dist/elements/BulkUpload/EditForm/types.js +2 -0
  43. package/dist/elements/BulkUpload/EditForm/types.js.map +1 -0
  44. package/dist/elements/BulkUpload/FileSidebar/index.d.ts +4 -0
  45. package/dist/elements/BulkUpload/FileSidebar/index.d.ts.map +1 -0
  46. package/dist/elements/BulkUpload/FileSidebar/index.js +242 -0
  47. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -0
  48. package/dist/elements/BulkUpload/FileSidebar/index.scss +275 -0
  49. package/dist/elements/BulkUpload/FormsManager/createFormData.d.ts +3 -0
  50. package/dist/elements/BulkUpload/FormsManager/createFormData.d.ts.map +1 -0
  51. package/dist/elements/BulkUpload/FormsManager/createFormData.js +22 -0
  52. package/dist/elements/BulkUpload/FormsManager/createFormData.js.map +1 -0
  53. package/dist/elements/BulkUpload/FormsManager/index.d.ts +35 -0
  54. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -0
  55. package/dist/elements/BulkUpload/FormsManager/index.js +308 -0
  56. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -0
  57. package/dist/elements/BulkUpload/FormsManager/reducer.d.ts +30 -0
  58. package/dist/elements/BulkUpload/FormsManager/reducer.d.ts.map +1 -0
  59. package/dist/elements/BulkUpload/FormsManager/reducer.js +69 -0
  60. package/dist/elements/BulkUpload/FormsManager/reducer.js.map +1 -0
  61. package/dist/elements/BulkUpload/Header/index.d.ts +9 -0
  62. package/dist/elements/BulkUpload/Header/index.d.ts.map +1 -0
  63. package/dist/elements/BulkUpload/Header/index.js +22 -0
  64. package/dist/elements/BulkUpload/Header/index.js.map +1 -0
  65. package/dist/elements/BulkUpload/Header/index.scss +12 -0
  66. package/dist/elements/BulkUpload/index.d.ts +10 -0
  67. package/dist/elements/BulkUpload/index.d.ts.map +1 -0
  68. package/dist/elements/BulkUpload/index.js +114 -0
  69. package/dist/elements/BulkUpload/index.js.map +1 -0
  70. package/dist/elements/BulkUpload/index.scss +0 -0
  71. package/dist/elements/Button/index.d.ts.map +1 -1
  72. package/dist/elements/Button/index.js +127 -79
  73. package/dist/elements/Button/index.js.map +1 -1
  74. package/dist/elements/Button/index.scss +109 -43
  75. package/dist/elements/Button/types.d.ts +2 -1
  76. package/dist/elements/Button/types.d.ts.map +1 -1
  77. package/dist/elements/Button/types.js.map +1 -1
  78. package/dist/elements/DocumentDrawer/DrawerContent.js +1 -1
  79. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  80. package/dist/elements/DocumentDrawer/index.js +1 -1
  81. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  82. package/dist/elements/Dropzone/index.scss +2 -0
  83. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts +20 -0
  84. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts.map +1 -0
  85. package/dist/elements/FileDetails/DraggableFileDetails/index.js +116 -0
  86. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -0
  87. package/dist/elements/FileDetails/DraggableFileDetails/index.scss +33 -0
  88. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts +17 -0
  89. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts.map +1 -0
  90. package/dist/elements/FileDetails/StaticFileDetails/index.js +71 -0
  91. package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -0
  92. package/dist/elements/FileDetails/{index.scss → StaticFileDetails/index.scss} +1 -1
  93. package/dist/elements/FileDetails/index.d.ts +19 -4
  94. package/dist/elements/FileDetails/index.d.ts.map +1 -1
  95. package/dist/elements/FileDetails/index.js +11 -62
  96. package/dist/elements/FileDetails/index.js.map +1 -1
  97. package/dist/elements/FullscreenModal/index.d.ts +4 -0
  98. package/dist/elements/FullscreenModal/index.d.ts.map +1 -0
  99. package/dist/elements/FullscreenModal/index.js +38 -0
  100. package/dist/elements/FullscreenModal/index.js.map +1 -0
  101. package/dist/elements/ListControls/index.d.ts.map +1 -1
  102. package/dist/elements/ListControls/index.js +15 -10
  103. package/dist/elements/ListControls/index.js.map +1 -1
  104. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  105. package/dist/elements/ListDrawer/DrawerContent.js +45 -33
  106. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  107. package/dist/elements/ListDrawer/index.d.ts.map +1 -1
  108. package/dist/elements/ListDrawer/index.js.map +1 -1
  109. package/dist/elements/ListDrawer/types.d.ts +4 -1
  110. package/dist/elements/ListDrawer/types.d.ts.map +1 -1
  111. package/dist/elements/ListDrawer/types.js.map +1 -1
  112. package/dist/elements/ListHeader/index.d.ts +10 -0
  113. package/dist/elements/ListHeader/index.d.ts.map +1 -0
  114. package/dist/elements/ListHeader/index.js +17 -0
  115. package/dist/elements/ListHeader/index.js.map +1 -0
  116. package/dist/elements/ListHeader/index.scss +10 -0
  117. package/dist/elements/Popup/PopupButtonList/index.d.ts +1 -1
  118. package/dist/elements/Popup/PopupButtonList/index.d.ts.map +1 -1
  119. package/dist/elements/Popup/PopupButtonList/index.js +4 -4
  120. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  121. package/dist/elements/Popup/PopupTrigger/index.d.ts +2 -0
  122. package/dist/elements/Popup/PopupTrigger/index.d.ts.map +1 -1
  123. package/dist/elements/Popup/PopupTrigger/index.js +5 -2
  124. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  125. package/dist/elements/Popup/PopupTrigger/index.scss +4 -1
  126. package/dist/elements/Popup/index.d.ts +2 -0
  127. package/dist/elements/Popup/index.d.ts.map +1 -1
  128. package/dist/elements/Popup/index.js +6 -0
  129. package/dist/elements/Popup/index.js.map +1 -1
  130. package/dist/elements/SelectMany/index.d.ts +6 -0
  131. package/dist/elements/SelectMany/index.d.ts.map +1 -0
  132. package/dist/elements/SelectMany/index.js +29 -0
  133. package/dist/elements/SelectMany/index.js.map +1 -0
  134. package/dist/elements/ViewDescription/index.d.ts +3 -2
  135. package/dist/elements/ViewDescription/index.d.ts.map +1 -1
  136. package/dist/elements/ViewDescription/index.js +39 -16
  137. package/dist/elements/ViewDescription/index.js.map +1 -1
  138. package/dist/exports/client/index.d.ts +4 -0
  139. package/dist/exports/client/index.d.ts.map +1 -1
  140. package/dist/exports/client/index.js +19 -19
  141. package/dist/exports/client/index.js.map +4 -4
  142. package/dist/fields/Blocks/SectionTitle/index.scss +1 -1
  143. package/dist/fields/Relationship/index.d.ts.map +1 -1
  144. package/dist/fields/Relationship/index.js +1 -3
  145. package/dist/fields/Relationship/index.js.map +1 -1
  146. package/dist/fields/Upload/HasMany/index.d.ts +4 -0
  147. package/dist/fields/Upload/HasMany/index.d.ts.map +1 -0
  148. package/dist/fields/Upload/HasMany/index.js +474 -0
  149. package/dist/fields/Upload/HasMany/index.js.map +1 -0
  150. package/dist/fields/Upload/HasMany/index.scss +47 -0
  151. package/dist/fields/Upload/{Input.d.ts → HasOne/Input.d.ts} +1 -1
  152. package/dist/fields/Upload/HasOne/Input.d.ts.map +1 -0
  153. package/dist/fields/Upload/{Input.js → HasOne/Input.js} +12 -12
  154. package/dist/fields/Upload/HasOne/Input.js.map +1 -0
  155. package/dist/fields/Upload/HasOne/index.d.ts +12 -0
  156. package/dist/fields/Upload/HasOne/index.d.ts.map +1 -0
  157. package/dist/fields/Upload/HasOne/index.js +131 -0
  158. package/dist/fields/Upload/HasOne/index.js.map +1 -0
  159. package/dist/fields/Upload/{index.scss → HasOne/index.scss} +1 -1
  160. package/dist/fields/Upload/index.d.ts +4 -4
  161. package/dist/fields/Upload/index.d.ts.map +1 -1
  162. package/dist/fields/Upload/index.js +84 -98
  163. package/dist/fields/Upload/index.js.map +1 -1
  164. package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts.map +1 -1
  165. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js +1 -27
  166. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js.map +1 -1
  167. package/dist/providers/Config/createClientConfig/collections.d.ts.map +1 -1
  168. package/dist/providers/Config/createClientConfig/collections.js +3 -4
  169. package/dist/providers/Config/createClientConfig/collections.js.map +1 -1
  170. package/dist/providers/ListInfo/index.d.ts +6 -0
  171. package/dist/providers/ListInfo/index.d.ts.map +1 -1
  172. package/dist/providers/ListInfo/index.js.map +1 -1
  173. package/dist/providers/Selection/index.d.ts +5 -3
  174. package/dist/providers/Selection/index.d.ts.map +1 -1
  175. package/dist/providers/Selection/index.js.map +1 -1
  176. package/dist/styles.css +1 -1
  177. package/package.json +4 -4
  178. package/dist/fields/Relationship/AddNew/index.d.ts.map +0 -1
  179. package/dist/fields/Relationship/AddNew/index.js.map +0 -1
  180. package/dist/fields/Relationship/AddNew/types.d.ts +0 -12
  181. package/dist/fields/Relationship/AddNew/types.d.ts.map +0 -1
  182. package/dist/fields/Relationship/AddNew/types.js.map +0 -1
  183. package/dist/fields/Relationship/AddNew/useRelatedCollections.d.ts.map +0 -1
  184. package/dist/fields/Relationship/AddNew/useRelatedCollections.js.map +0 -1
  185. package/dist/fields/Upload/Input.d.ts.map +0 -1
  186. package/dist/fields/Upload/Input.js.map +0 -1
  187. /package/dist/{fields/Relationship/AddNew → elements/AddNewRelation}/index.d.ts +0 -0
  188. /package/dist/{fields/Relationship/AddNew → elements/AddNewRelation}/types.js +0 -0
  189. /package/dist/{fields/Relationship/AddNew → elements/AddNewRelation}/useRelatedCollections.d.ts +0 -0
@@ -2,7 +2,7 @@
2
2
 
3
3
  .section-title {
4
4
  position: relative;
5
- width: 100%;
5
+ min-width: base(4);
6
6
  max-width: 100%;
7
7
  pointer-events: all;
8
8
  display: flex;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Relationship/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,sBAAsB,EAAS,MAAM,SAAS,CAAA;AAI3E,OAAO,KAA+D,MAAM,OAAO,CAAA;AAqBnF,OAAO,cAAc,CAAA;AAglBrB,eAAO,MAAM,iBAAiB,kCAA4C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Relationship/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,sBAAsB,EAAS,MAAM,SAAS,CAAA;AAI3E,OAAO,KAA+D,MAAM,OAAO,CAAA;AAqBnF,OAAO,cAAc,CAAA;AA4kBrB,eAAO,MAAM,iBAAiB,kCAA4C,CAAA"}
@@ -5,6 +5,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
5
  import { wordBoundariesRegex } from 'payload/shared';
6
6
  import * as qs from 'qs-esm';
7
7
  import React, { useCallback, useEffect, useReducer, useRef, useState } from 'react';
8
+ import { AddNewRelation } from '../../elements/AddNewRelation/index.js';
8
9
  import { ReactSelect } from '../../elements/ReactSelect/index.js';
9
10
  import { useFieldProps } from '../../forms/FieldPropsProvider/index.js';
10
11
  import { useField } from '../../forms/useField/index.js';
@@ -18,7 +19,6 @@ import { FieldDescription } from '../FieldDescription/index.js';
18
19
  import { FieldError } from '../FieldError/index.js';
19
20
  import { FieldLabel } from '../FieldLabel/index.js';
20
21
  import { fieldBaseClass } from '../shared/index.js';
21
- import { AddNewRelation } from './AddNew/index.js';
22
22
  import { createRelationMap } from './createRelationMap.js';
23
23
  import { findOptionsByValue } from './findOptionsByValue.js';
24
24
  import './index.scss';
@@ -651,9 +651,7 @@ const RelationshipFieldComponent = props => {
651
651
  showError,
652
652
  value: valueToRender ?? null
653
653
  }), !readOnly && allowCreate && _jsx(AddNewRelation, {
654
- dispatchOptions,
655
654
  hasMany,
656
- options,
657
655
  path,
658
656
  relationTo,
659
657
  setValue,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","wordBoundariesRegex","qs","React","useCallback","useEffect","useReducer","useRef","useState","ReactSelect","useFieldProps","useField","withCondition","useDebouncedCallback","useAuth","useConfig","useLocale","useTranslation","FieldDescription","FieldError","FieldLabel","fieldBaseClass","AddNewRelation","createRelationMap","findOptionsByValue","optionsReducer","MultiValueLabel","SingleValue","maxResultsPerRequest","baseClass","RelationshipFieldComponent","props","$","descriptionProps","errorProps","field","t0","labelProps","readOnly","readOnlyFromTopLevelProps","validate","name","_path","pathFromProps","admin","t1","hasMany","label","relationTo","required","t2","undefined","allowCreate","t3","className","description","isSortable","t4","readOnlyFromAdmin","sortOptions","style","width","readOnlyFromProps","config","collections","routes","t5","serverURL","api","i18n","t","permissions","code","locale","hasMultipleRelations","Array","isArray","t6","Symbol","for","options","dispatchOptions","lastFullyLoadedRelation","setLastFullyLoadedRelation","t7","lastLoadedPage","setLastLoadedPage","errorLoading","setErrorLoading","search","setSearch","isLoading","setIsLoading","enableWordBoundarySearch","setEnableWordBoundarySearch","menuIsOpen","hasLoadedFirstPageRef","t8","value","validationOptions","memoizedValidate","path","pathFromContext","readOnlyFromContext","t9","t10","filterOptions","formInitializing","formProcessing","initialValue","setValue","showError","value_0","valueRef","current","drawerIsOpen","setDrawerIsOpen","t11","t12","lastFullyLoadedRelationArg","lastLoadedPageArg","onSuccess","searchArg","sort","valueArg","lastFullyLoadedRelationToUse","relations","relationsToFetch","slice","resultsFetched","relationMap","reduce","priorRelation","relation","relationFilterOption","lastLoadedPageToUse","indexOf","Promise","resolve","collection","find","coll","slug","fieldToSearch","useAsTitle","fieldToSort","defaultSort","query","depth","draft","limit","page","where","and","id","not_in","push","like","response","fetch","body","stringify","credentials","headers","language","method","ok","data","json","prevState","nextPage","docs","length","type","status","ids","getResults","searchArg_0","valueArg_0","updateSearch","t13","searchArg_1","valueArg_1","handleInputChange","t14","relationMap_0","Object","entries","priorRelation_0","t15","relation_0","idsToLoad","filter","optionGroup","option","query_0","in","response_0","collection_0","coll_0","data_0","t16","t17","relations_0","isIdOnly","idOnly","relation_1","collection_1","coll_1","fieldToSearch_0","t18","args","collectionConfig","doc","onSave","filterOption","_temp","valueToRender","t19","t20","t21","t22","t23","Boolean","t24","t25","t26","_jsx","children","t27","_jsxs","join","replace","Label","components","CustomError","Error","backspaceRemovesValue","customProps","disableKeyDown","disableMouseDown","disabled","getOptionValue","option_0","isMulti","onChange","selected","map","option_1","onInputChange","newSearch","onMenuClose","onMenuOpen","onMenuScrollToBottom","Description","RelationshipField","item","searchFilter","r","string","indexOfSpace","test"],"sources":["../../../src/fields/Relationship/index.tsx"],"sourcesContent":["'use client'\nimport type { PaginatedDocs, RelationshipFieldProps, Where } from 'payload'\n\nimport { wordBoundariesRegex } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useEffect, useReducer, useRef, useState } from 'react'\n\nimport type { DocumentDrawerProps } from '../../elements/DocumentDrawer/types.js'\nimport type { GetResults, Option, Value } from './types.js'\n\nimport { ReactSelect } from '../../elements/ReactSelect/index.js'\nimport { useFieldProps } from '../../forms/FieldPropsProvider/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useDebouncedCallback } from '../../hooks/useDebouncedCallback.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldError } from '../FieldError/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { AddNewRelation } from './AddNew/index.js'\nimport { createRelationMap } from './createRelationMap.js'\nimport { findOptionsByValue } from './findOptionsByValue.js'\nimport './index.scss'\nimport { optionsReducer } from './optionsReducer.js'\nimport { MultiValueLabel } from './select-components/MultiValueLabel/index.js'\nimport { SingleValue } from './select-components/SingleValue/index.js'\n\nconst maxResultsPerRequest = 10\n\nconst baseClass = 'relationship'\n\nconst RelationshipFieldComponent: React.FC<RelationshipFieldProps> = (props) => {\n const {\n descriptionProps,\n errorProps,\n field,\n field: {\n name,\n _path: pathFromProps,\n admin: {\n allowCreate = true,\n className,\n description,\n isSortable = true,\n readOnly: readOnlyFromAdmin,\n sortOptions,\n style,\n width,\n } = {},\n hasMany,\n label,\n relationTo,\n required,\n },\n labelProps,\n readOnly: readOnlyFromTopLevelProps,\n validate,\n } = props\n const readOnlyFromProps = readOnlyFromTopLevelProps || readOnlyFromAdmin\n\n const { config } = useConfig()\n\n const {\n collections,\n routes: { api },\n serverURL,\n } = config\n\n const { i18n, t } = useTranslation()\n const { permissions } = useAuth()\n const { code: locale } = useLocale()\n const hasMultipleRelations = Array.isArray(relationTo)\n const [options, dispatchOptions] = useReducer(optionsReducer, [])\n const [lastFullyLoadedRelation, setLastFullyLoadedRelation] = useState(-1)\n const [lastLoadedPage, setLastLoadedPage] = useState<Record<string, number>>({})\n const [errorLoading, setErrorLoading] = useState('')\n const [search, setSearch] = useState('')\n const [isLoading, setIsLoading] = useState(false)\n const [enableWordBoundarySearch, setEnableWordBoundarySearch] = useState(false)\n const menuIsOpen = useRef(false)\n const hasLoadedFirstPageRef = useRef(false)\n\n const memoizedValidate = useCallback(\n (value, validationOptions) => {\n if (typeof validate === 'function') {\n return validate(value, { ...validationOptions, required })\n }\n },\n [validate, required],\n )\n const { path: pathFromContext, readOnly: readOnlyFromContext } = useFieldProps()\n\n const {\n filterOptions,\n formInitializing,\n formProcessing,\n initialValue,\n path,\n setValue,\n showError,\n value,\n } = useField<Value | Value[]>({\n path: pathFromContext ?? pathFromProps ?? name,\n validate: memoizedValidate,\n })\n\n const readOnly = readOnlyFromProps || readOnlyFromContext || formInitializing\n\n const valueRef = useRef(value)\n valueRef.current = value\n\n const [drawerIsOpen, setDrawerIsOpen] = useState(false)\n\n const getResults: GetResults = useCallback(\n async ({\n lastFullyLoadedRelation: lastFullyLoadedRelationArg,\n lastLoadedPage: lastLoadedPageArg,\n onSuccess,\n search: searchArg,\n sort,\n value: valueArg,\n }) => {\n if (!permissions) {\n return\n }\n const lastFullyLoadedRelationToUse =\n typeof lastFullyLoadedRelationArg !== 'undefined' ? lastFullyLoadedRelationArg : -1\n\n const relations = Array.isArray(relationTo) ? relationTo : [relationTo]\n const relationsToFetch =\n lastFullyLoadedRelationToUse === -1\n ? relations\n : relations.slice(lastFullyLoadedRelationToUse + 1)\n\n let resultsFetched = 0\n const relationMap = createRelationMap({\n hasMany,\n relationTo,\n value: valueArg,\n })\n\n if (!errorLoading) {\n await relationsToFetch.reduce(async (priorRelation, relation) => {\n const relationFilterOption = filterOptions?.[relation]\n\n let lastLoadedPageToUse\n if (search !== searchArg) {\n lastLoadedPageToUse = 1\n } else {\n lastLoadedPageToUse = lastLoadedPageArg[relation] + 1\n }\n await priorRelation\n\n if (relationFilterOption === false) {\n setLastFullyLoadedRelation(relations.indexOf(relation))\n return Promise.resolve()\n }\n\n if (resultsFetched < 10) {\n const collection = collections.find((coll) => coll.slug === relation)\n const fieldToSearch = collection?.admin?.useAsTitle || 'id'\n let fieldToSort = collection?.defaultSort || 'id'\n if (typeof sortOptions === 'string') {\n fieldToSort = sortOptions\n } else if (sortOptions?.[relation]) {\n fieldToSort = sortOptions[relation]\n }\n\n const query: {\n [key: string]: unknown\n where: Where\n } = {\n depth: 0,\n draft: true,\n limit: maxResultsPerRequest,\n locale,\n page: lastLoadedPageToUse,\n sort: fieldToSort,\n where: {\n and: [\n {\n id: {\n not_in: relationMap[relation],\n },\n },\n ],\n },\n }\n\n if (searchArg) {\n query.where.and.push({\n [fieldToSearch]: {\n like: searchArg,\n },\n })\n }\n\n if (relationFilterOption && typeof relationFilterOption !== 'boolean') {\n query.where.and.push(relationFilterOption)\n }\n\n const response = await fetch(`${serverURL}${api}/${relation}`, {\n body: qs.stringify(query),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/x-www-form-urlencoded',\n 'X-HTTP-Method-Override': 'GET',\n },\n method: 'POST',\n })\n\n if (response.ok) {\n const data: PaginatedDocs<unknown> = await response.json()\n setLastLoadedPage((prevState) => {\n return {\n ...prevState,\n [relation]: lastLoadedPageToUse,\n }\n })\n\n if (!data.nextPage) {\n setLastFullyLoadedRelation(relations.indexOf(relation))\n }\n\n if (data.docs.length > 0) {\n resultsFetched += data.docs.length\n\n dispatchOptions({\n type: 'ADD',\n collection,\n // TODO: fix this\n // @ts-expect-error-next-line\n config,\n docs: data.docs,\n i18n,\n sort,\n })\n }\n } else if (response.status === 403) {\n setLastFullyLoadedRelation(relations.indexOf(relation))\n dispatchOptions({\n type: 'ADD',\n collection,\n // TODO: fix this\n // @ts-expect-error-next-line\n config,\n docs: [],\n i18n,\n ids: relationMap[relation],\n sort,\n })\n } else {\n setErrorLoading(t('error:unspecific'))\n }\n }\n }, Promise.resolve())\n\n if (typeof onSuccess === 'function') onSuccess()\n }\n },\n [\n permissions,\n relationTo,\n hasMany,\n errorLoading,\n search,\n collections,\n locale,\n filterOptions,\n serverURL,\n sortOptions,\n api,\n i18n,\n config,\n t,\n ],\n )\n\n const updateSearch = useDebouncedCallback((searchArg: string, valueArg: Value | Value[]) => {\n void getResults({ lastLoadedPage: {}, search: searchArg, sort: true, value: valueArg })\n setSearch(searchArg)\n }, 300)\n\n const handleInputChange = useCallback(\n (searchArg: string, valueArg: Value | Value[]) => {\n if (search !== searchArg) {\n setLastLoadedPage({})\n updateSearch(searchArg, valueArg, searchArg !== '')\n }\n },\n [search, updateSearch],\n )\n\n // ///////////////////////////////////\n // Ensure we have an option for each value\n // ///////////////////////////////////\n\n useEffect(() => {\n const relationMap = createRelationMap({\n hasMany,\n relationTo,\n value,\n })\n\n void Object.entries(relationMap).reduce(async (priorRelation, [relation, ids]) => {\n await priorRelation\n\n const idsToLoad = ids.filter((id) => {\n return !options.find((optionGroup) =>\n optionGroup?.options?.find(\n (option) => option.value === id && option.relationTo === relation,\n ),\n )\n })\n\n if (idsToLoad.length > 0) {\n const query = {\n depth: 0,\n draft: true,\n limit: idsToLoad.length,\n locale,\n where: {\n id: {\n in: idsToLoad,\n },\n },\n }\n\n if (!errorLoading) {\n const response = await fetch(`${serverURL}${api}/${relation}`, {\n body: qs.stringify(query),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/x-www-form-urlencoded',\n 'X-HTTP-Method-Override': 'GET',\n },\n method: 'POST',\n })\n\n const collection = collections.find((coll) => coll.slug === relation)\n let docs = []\n\n if (response.ok) {\n const data = await response.json()\n docs = data.docs\n }\n\n dispatchOptions({\n type: 'ADD',\n collection,\n // TODO: fix this\n // @ts-expect-error-next-line\n config,\n docs,\n i18n,\n ids: idsToLoad,\n sort: true,\n })\n }\n }\n }, Promise.resolve())\n }, [\n options,\n value,\n hasMany,\n errorLoading,\n collections,\n hasMultipleRelations,\n serverURL,\n api,\n i18n,\n relationTo,\n locale,\n config,\n ])\n\n // Determine if we should switch to word boundary search\n useEffect(() => {\n const relations = Array.isArray(relationTo) ? relationTo : [relationTo]\n const isIdOnly = relations.reduce((idOnly, relation) => {\n const collection = collections.find((coll) => coll.slug === relation)\n const fieldToSearch = collection?.admin?.useAsTitle || 'id'\n return fieldToSearch === 'id' && idOnly\n }, true)\n setEnableWordBoundarySearch(!isIdOnly)\n }, [relationTo, collections])\n\n // When (`relationTo` || `filterOptions` || `locale`) changes, reset component\n // Note - effect should not run on first run\n useEffect(() => {\n // If the menu is open while filterOptions changes\n // due to latency of getFormState and fast clicking into this field,\n // re-fetch options\n\n if (hasLoadedFirstPageRef.current && menuIsOpen.current) {\n setIsLoading(true)\n void getResults({\n lastLoadedPage: {},\n onSuccess: () => {\n hasLoadedFirstPageRef.current = true\n setIsLoading(false)\n },\n value: valueRef.current,\n })\n }\n\n // If the menu is not open, still reset the field state\n // because we need to get new options next time the menu\n // opens by the user\n\n dispatchOptions({ type: 'CLEAR' })\n setLastFullyLoadedRelation(-1)\n setLastLoadedPage({})\n hasLoadedFirstPageRef.current = false\n }, [\n relationTo,\n filterOptions,\n locale,\n menuIsOpen,\n getResults,\n valueRef,\n hasLoadedFirstPageRef,\n path,\n ])\n\n const onSave = useCallback<DocumentDrawerProps['onSave']>(\n (args) => {\n dispatchOptions({\n type: 'UPDATE',\n collection: args.collectionConfig,\n // TODO: fix this\n // @ts-expect-error-next-line\n config,\n doc: args.doc,\n i18n,\n })\n },\n [i18n, config],\n )\n\n const filterOption = useCallback((item: Option, searchFilter: string) => {\n if (!searchFilter) {\n return true\n }\n const r = wordBoundariesRegex(searchFilter || '')\n // breaking the labels to search into smaller parts increases performance\n const breakApartThreshold = 250\n let string = item.label\n // strings less than breakApartThreshold length won't be chunked\n while (string.length > breakApartThreshold) {\n // slicing by the next space after the length of the search input prevents slicing the string up by partial words\n const indexOfSpace = string.indexOf(' ', searchFilter.length)\n if (r.test(string.slice(0, indexOfSpace === -1 ? searchFilter.length : indexOfSpace + 1))) {\n return true\n }\n string = string.slice(indexOfSpace === -1 ? searchFilter.length : indexOfSpace + 1)\n }\n return r.test(string.slice(-breakApartThreshold))\n }, [])\n\n const valueToRender = findOptionsByValue({ options, value })\n\n if (!Array.isArray(valueToRender) && valueToRender?.value === 'null') valueToRender.value = null\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n showError && 'error',\n errorLoading && 'error-loading',\n readOnly && `${baseClass}--read-only`,\n !readOnly && allowCreate && `${baseClass}--allow-create`,\n ]\n .filter(Boolean)\n .join(' ')}\n id={`field-${path.replace(/\\./g, '__')}`}\n style={{\n ...style,\n width,\n }}\n >\n <FieldLabel\n Label={field?.admin?.components?.Label}\n field={field}\n label={label}\n required={required}\n {...(labelProps || {})}\n />\n <div className={`${fieldBaseClass}__wrap`}>\n <FieldError\n CustomError={field?.admin?.components?.Error}\n field={field}\n path={path}\n {...(errorProps || {})}\n />\n {!errorLoading && (\n <div className={`${baseClass}__wrap`}>\n <ReactSelect\n backspaceRemovesValue={!drawerIsOpen}\n components={{\n MultiValueLabel,\n SingleValue,\n }}\n customProps={{\n disableKeyDown: drawerIsOpen,\n disableMouseDown: drawerIsOpen,\n onSave,\n setDrawerIsOpen,\n }}\n disabled={readOnly || formProcessing || drawerIsOpen}\n filterOption={enableWordBoundarySearch ? filterOption : undefined}\n getOptionValue={(option) => {\n if (!option) return undefined\n return hasMany && Array.isArray(relationTo)\n ? `${option.relationTo}_${option.value}`\n : option.value\n }}\n isLoading={isLoading}\n isMulti={hasMany}\n isSortable={isSortable}\n onChange={\n !readOnly\n ? (selected) => {\n if (selected === null) {\n setValue(hasMany ? [] : null)\n } else if (hasMany && Array.isArray(selected)) {\n setValue(\n selected\n ? selected.map((option) => {\n if (hasMultipleRelations) {\n return {\n relationTo: option.relationTo,\n value: option.value,\n }\n }\n\n return option.value\n })\n : null,\n )\n } else if (hasMultipleRelations && !Array.isArray(selected)) {\n setValue({\n relationTo: selected.relationTo,\n value: selected.value,\n })\n } else if (!Array.isArray(selected)) {\n setValue(selected.value)\n }\n }\n : undefined\n }\n onInputChange={(newSearch) => handleInputChange(newSearch, value)}\n onMenuClose={() => {\n menuIsOpen.current = false\n }}\n onMenuOpen={() => {\n menuIsOpen.current = true\n\n if (!hasLoadedFirstPageRef.current) {\n setIsLoading(true)\n void getResults({\n lastLoadedPage: {},\n onSuccess: () => {\n hasLoadedFirstPageRef.current = true\n setIsLoading(false)\n },\n value: initialValue,\n })\n }\n }}\n onMenuScrollToBottom={() => {\n void getResults({\n lastFullyLoadedRelation,\n lastLoadedPage,\n search,\n sort: false,\n value: initialValue,\n })\n }}\n options={options}\n showError={showError}\n value={valueToRender ?? null}\n />\n {!readOnly && allowCreate && (\n <AddNewRelation\n {...{\n dispatchOptions,\n hasMany,\n options,\n path,\n relationTo,\n setValue,\n value,\n }}\n />\n )}\n </div>\n )}\n {errorLoading && <div className={`${baseClass}__error-loading`}>{errorLoading}</div>}\n <FieldDescription\n Description={field?.admin?.components?.Description}\n description={description}\n field={field}\n {...(descriptionProps || {})}\n />\n </div>\n </div>\n )\n}\n\nexport const RelationshipField = withCondition(RelationshipFieldComponent)\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","wordBoundariesRegex","qs","React","useCallback","useEffect","useReducer","useRef","useState","AddNewRelation","ReactSelect","useFieldProps","useField","withCondition","useDebouncedCallback","useAuth","useConfig","useLocale","useTranslation","FieldDescription","FieldError","FieldLabel","fieldBaseClass","createRelationMap","findOptionsByValue","optionsReducer","MultiValueLabel","SingleValue","maxResultsPerRequest","baseClass","RelationshipFieldComponent","props","$","descriptionProps","errorProps","field","t0","labelProps","readOnly","readOnlyFromTopLevelProps","validate","name","_path","pathFromProps","admin","t1","hasMany","label","relationTo","required","t2","undefined","allowCreate","t3","className","description","isSortable","t4","readOnlyFromAdmin","sortOptions","style","width","readOnlyFromProps","config","collections","routes","t5","serverURL","api","i18n","t","permissions","code","locale","hasMultipleRelations","Array","isArray","t6","Symbol","for","options","dispatchOptions","lastFullyLoadedRelation","setLastFullyLoadedRelation","t7","lastLoadedPage","setLastLoadedPage","errorLoading","setErrorLoading","search","setSearch","isLoading","setIsLoading","enableWordBoundarySearch","setEnableWordBoundarySearch","menuIsOpen","hasLoadedFirstPageRef","t8","value","validationOptions","memoizedValidate","path","pathFromContext","readOnlyFromContext","t9","t10","filterOptions","formInitializing","formProcessing","initialValue","setValue","showError","value_0","valueRef","current","drawerIsOpen","setDrawerIsOpen","t11","t12","lastFullyLoadedRelationArg","lastLoadedPageArg","onSuccess","searchArg","sort","valueArg","lastFullyLoadedRelationToUse","relations","relationsToFetch","slice","resultsFetched","relationMap","reduce","priorRelation","relation","relationFilterOption","lastLoadedPageToUse","indexOf","Promise","resolve","collection","find","coll","slug","fieldToSearch","useAsTitle","fieldToSort","defaultSort","query","depth","draft","limit","page","where","and","id","not_in","push","like","response","fetch","body","stringify","credentials","headers","language","method","ok","data","json","prevState","nextPage","docs","length","type","status","ids","getResults","searchArg_0","valueArg_0","updateSearch","t13","searchArg_1","valueArg_1","handleInputChange","t14","relationMap_0","Object","entries","priorRelation_0","t15","relation_0","idsToLoad","filter","optionGroup","option","query_0","in","response_0","collection_0","coll_0","data_0","t16","t17","relations_0","isIdOnly","idOnly","relation_1","collection_1","coll_1","fieldToSearch_0","t18","args","collectionConfig","doc","onSave","filterOption","_temp","valueToRender","t19","t20","t21","t22","t23","Boolean","t24","t25","t26","_jsx","children","t27","_jsxs","join","replace","Label","components","CustomError","Error","backspaceRemovesValue","customProps","disableKeyDown","disableMouseDown","disabled","getOptionValue","option_0","isMulti","onChange","selected","map","option_1","onInputChange","newSearch","onMenuClose","onMenuOpen","onMenuScrollToBottom","Description","RelationshipField","item","searchFilter","r","string","indexOfSpace","test"],"sources":["../../../src/fields/Relationship/index.tsx"],"sourcesContent":["'use client'\nimport type { PaginatedDocs, RelationshipFieldProps, Where } from 'payload'\n\nimport { wordBoundariesRegex } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useEffect, useReducer, useRef, useState } from 'react'\n\nimport type { DocumentDrawerProps } from '../../elements/DocumentDrawer/types.js'\nimport type { GetResults, Option, Value } from './types.js'\n\nimport { AddNewRelation } from '../../elements/AddNewRelation/index.js'\nimport { ReactSelect } from '../../elements/ReactSelect/index.js'\nimport { useFieldProps } from '../../forms/FieldPropsProvider/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useDebouncedCallback } from '../../hooks/useDebouncedCallback.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldError } from '../FieldError/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { createRelationMap } from './createRelationMap.js'\nimport { findOptionsByValue } from './findOptionsByValue.js'\nimport './index.scss'\nimport { optionsReducer } from './optionsReducer.js'\nimport { MultiValueLabel } from './select-components/MultiValueLabel/index.js'\nimport { SingleValue } from './select-components/SingleValue/index.js'\n\nconst maxResultsPerRequest = 10\n\nconst baseClass = 'relationship'\n\nconst RelationshipFieldComponent: React.FC<RelationshipFieldProps> = (props) => {\n const {\n descriptionProps,\n errorProps,\n field,\n field: {\n name,\n _path: pathFromProps,\n admin: {\n allowCreate = true,\n className,\n description,\n isSortable = true,\n readOnly: readOnlyFromAdmin,\n sortOptions,\n style,\n width,\n } = {},\n hasMany,\n label,\n relationTo,\n required,\n },\n labelProps,\n readOnly: readOnlyFromTopLevelProps,\n validate,\n } = props\n const readOnlyFromProps = readOnlyFromTopLevelProps || readOnlyFromAdmin\n\n const { config } = useConfig()\n\n const {\n collections,\n routes: { api },\n serverURL,\n } = config\n\n const { i18n, t } = useTranslation()\n const { permissions } = useAuth()\n const { code: locale } = useLocale()\n const hasMultipleRelations = Array.isArray(relationTo)\n const [options, dispatchOptions] = useReducer(optionsReducer, [])\n const [lastFullyLoadedRelation, setLastFullyLoadedRelation] = useState(-1)\n const [lastLoadedPage, setLastLoadedPage] = useState<Record<string, number>>({})\n const [errorLoading, setErrorLoading] = useState('')\n const [search, setSearch] = useState('')\n const [isLoading, setIsLoading] = useState(false)\n const [enableWordBoundarySearch, setEnableWordBoundarySearch] = useState(false)\n const menuIsOpen = useRef(false)\n const hasLoadedFirstPageRef = useRef(false)\n\n const memoizedValidate = useCallback(\n (value, validationOptions) => {\n if (typeof validate === 'function') {\n return validate(value, { ...validationOptions, required })\n }\n },\n [validate, required],\n )\n const { path: pathFromContext, readOnly: readOnlyFromContext } = useFieldProps()\n\n const {\n filterOptions,\n formInitializing,\n formProcessing,\n initialValue,\n path,\n setValue,\n showError,\n value,\n } = useField<Value | Value[]>({\n path: pathFromContext ?? pathFromProps ?? name,\n validate: memoizedValidate,\n })\n\n const readOnly = readOnlyFromProps || readOnlyFromContext || formInitializing\n\n const valueRef = useRef(value)\n valueRef.current = value\n\n const [drawerIsOpen, setDrawerIsOpen] = useState(false)\n\n const getResults: GetResults = useCallback(\n async ({\n lastFullyLoadedRelation: lastFullyLoadedRelationArg,\n lastLoadedPage: lastLoadedPageArg,\n onSuccess,\n search: searchArg,\n sort,\n value: valueArg,\n }) => {\n if (!permissions) {\n return\n }\n const lastFullyLoadedRelationToUse =\n typeof lastFullyLoadedRelationArg !== 'undefined' ? lastFullyLoadedRelationArg : -1\n\n const relations = Array.isArray(relationTo) ? relationTo : [relationTo]\n const relationsToFetch =\n lastFullyLoadedRelationToUse === -1\n ? relations\n : relations.slice(lastFullyLoadedRelationToUse + 1)\n\n let resultsFetched = 0\n const relationMap = createRelationMap({\n hasMany,\n relationTo,\n value: valueArg,\n })\n\n if (!errorLoading) {\n await relationsToFetch.reduce(async (priorRelation, relation) => {\n const relationFilterOption = filterOptions?.[relation]\n\n let lastLoadedPageToUse\n if (search !== searchArg) {\n lastLoadedPageToUse = 1\n } else {\n lastLoadedPageToUse = lastLoadedPageArg[relation] + 1\n }\n await priorRelation\n\n if (relationFilterOption === false) {\n setLastFullyLoadedRelation(relations.indexOf(relation))\n return Promise.resolve()\n }\n\n if (resultsFetched < 10) {\n const collection = collections.find((coll) => coll.slug === relation)\n const fieldToSearch = collection?.admin?.useAsTitle || 'id'\n let fieldToSort = collection?.defaultSort || 'id'\n if (typeof sortOptions === 'string') {\n fieldToSort = sortOptions\n } else if (sortOptions?.[relation]) {\n fieldToSort = sortOptions[relation]\n }\n\n const query: {\n [key: string]: unknown\n where: Where\n } = {\n depth: 0,\n draft: true,\n limit: maxResultsPerRequest,\n locale,\n page: lastLoadedPageToUse,\n sort: fieldToSort,\n where: {\n and: [\n {\n id: {\n not_in: relationMap[relation],\n },\n },\n ],\n },\n }\n\n if (searchArg) {\n query.where.and.push({\n [fieldToSearch]: {\n like: searchArg,\n },\n })\n }\n\n if (relationFilterOption && typeof relationFilterOption !== 'boolean') {\n query.where.and.push(relationFilterOption)\n }\n\n const response = await fetch(`${serverURL}${api}/${relation}`, {\n body: qs.stringify(query),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/x-www-form-urlencoded',\n 'X-HTTP-Method-Override': 'GET',\n },\n method: 'POST',\n })\n\n if (response.ok) {\n const data: PaginatedDocs<unknown> = await response.json()\n setLastLoadedPage((prevState) => {\n return {\n ...prevState,\n [relation]: lastLoadedPageToUse,\n }\n })\n\n if (!data.nextPage) {\n setLastFullyLoadedRelation(relations.indexOf(relation))\n }\n\n if (data.docs.length > 0) {\n resultsFetched += data.docs.length\n\n dispatchOptions({\n type: 'ADD',\n collection,\n // TODO: fix this\n // @ts-expect-error-next-line\n config,\n docs: data.docs,\n i18n,\n sort,\n })\n }\n } else if (response.status === 403) {\n setLastFullyLoadedRelation(relations.indexOf(relation))\n dispatchOptions({\n type: 'ADD',\n collection,\n // TODO: fix this\n // @ts-expect-error-next-line\n config,\n docs: [],\n i18n,\n ids: relationMap[relation],\n sort,\n })\n } else {\n setErrorLoading(t('error:unspecific'))\n }\n }\n }, Promise.resolve())\n\n if (typeof onSuccess === 'function') onSuccess()\n }\n },\n [\n permissions,\n relationTo,\n hasMany,\n errorLoading,\n search,\n collections,\n locale,\n filterOptions,\n serverURL,\n sortOptions,\n api,\n i18n,\n config,\n t,\n ],\n )\n\n const updateSearch = useDebouncedCallback((searchArg: string, valueArg: Value | Value[]) => {\n void getResults({ lastLoadedPage: {}, search: searchArg, sort: true, value: valueArg })\n setSearch(searchArg)\n }, 300)\n\n const handleInputChange = useCallback(\n (searchArg: string, valueArg: Value | Value[]) => {\n if (search !== searchArg) {\n setLastLoadedPage({})\n updateSearch(searchArg, valueArg, searchArg !== '')\n }\n },\n [search, updateSearch],\n )\n\n // ///////////////////////////////////\n // Ensure we have an option for each value\n // ///////////////////////////////////\n\n useEffect(() => {\n const relationMap = createRelationMap({\n hasMany,\n relationTo,\n value,\n })\n\n void Object.entries(relationMap).reduce(async (priorRelation, [relation, ids]) => {\n await priorRelation\n\n const idsToLoad = ids.filter((id) => {\n return !options.find((optionGroup) =>\n optionGroup?.options?.find(\n (option) => option.value === id && option.relationTo === relation,\n ),\n )\n })\n\n if (idsToLoad.length > 0) {\n const query = {\n depth: 0,\n draft: true,\n limit: idsToLoad.length,\n locale,\n where: {\n id: {\n in: idsToLoad,\n },\n },\n }\n\n if (!errorLoading) {\n const response = await fetch(`${serverURL}${api}/${relation}`, {\n body: qs.stringify(query),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/x-www-form-urlencoded',\n 'X-HTTP-Method-Override': 'GET',\n },\n method: 'POST',\n })\n\n const collection = collections.find((coll) => coll.slug === relation)\n let docs = []\n\n if (response.ok) {\n const data = await response.json()\n docs = data.docs\n }\n\n dispatchOptions({\n type: 'ADD',\n collection,\n // TODO: fix this\n // @ts-expect-error-next-line\n config,\n docs,\n i18n,\n ids: idsToLoad,\n sort: true,\n })\n }\n }\n }, Promise.resolve())\n }, [\n options,\n value,\n hasMany,\n errorLoading,\n collections,\n hasMultipleRelations,\n serverURL,\n api,\n i18n,\n relationTo,\n locale,\n config,\n ])\n\n // Determine if we should switch to word boundary search\n useEffect(() => {\n const relations = Array.isArray(relationTo) ? relationTo : [relationTo]\n const isIdOnly = relations.reduce((idOnly, relation) => {\n const collection = collections.find((coll) => coll.slug === relation)\n const fieldToSearch = collection?.admin?.useAsTitle || 'id'\n return fieldToSearch === 'id' && idOnly\n }, true)\n setEnableWordBoundarySearch(!isIdOnly)\n }, [relationTo, collections])\n\n // When (`relationTo` || `filterOptions` || `locale`) changes, reset component\n // Note - effect should not run on first run\n useEffect(() => {\n // If the menu is open while filterOptions changes\n // due to latency of getFormState and fast clicking into this field,\n // re-fetch options\n\n if (hasLoadedFirstPageRef.current && menuIsOpen.current) {\n setIsLoading(true)\n void getResults({\n lastLoadedPage: {},\n onSuccess: () => {\n hasLoadedFirstPageRef.current = true\n setIsLoading(false)\n },\n value: valueRef.current,\n })\n }\n\n // If the menu is not open, still reset the field state\n // because we need to get new options next time the menu\n // opens by the user\n\n dispatchOptions({ type: 'CLEAR' })\n setLastFullyLoadedRelation(-1)\n setLastLoadedPage({})\n hasLoadedFirstPageRef.current = false\n }, [\n relationTo,\n filterOptions,\n locale,\n menuIsOpen,\n getResults,\n valueRef,\n hasLoadedFirstPageRef,\n path,\n ])\n\n const onSave = useCallback<DocumentDrawerProps['onSave']>(\n (args) => {\n dispatchOptions({\n type: 'UPDATE',\n collection: args.collectionConfig,\n // TODO: fix this\n // @ts-expect-error-next-line\n config,\n doc: args.doc,\n i18n,\n })\n },\n [i18n, config],\n )\n\n const filterOption = useCallback((item: Option, searchFilter: string) => {\n if (!searchFilter) {\n return true\n }\n const r = wordBoundariesRegex(searchFilter || '')\n // breaking the labels to search into smaller parts increases performance\n const breakApartThreshold = 250\n let string = item.label\n // strings less than breakApartThreshold length won't be chunked\n while (string.length > breakApartThreshold) {\n // slicing by the next space after the length of the search input prevents slicing the string up by partial words\n const indexOfSpace = string.indexOf(' ', searchFilter.length)\n if (r.test(string.slice(0, indexOfSpace === -1 ? searchFilter.length : indexOfSpace + 1))) {\n return true\n }\n string = string.slice(indexOfSpace === -1 ? searchFilter.length : indexOfSpace + 1)\n }\n return r.test(string.slice(-breakApartThreshold))\n }, [])\n\n const valueToRender = findOptionsByValue({ options, value })\n\n if (!Array.isArray(valueToRender) && valueToRender?.value === 'null') valueToRender.value = null\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n showError && 'error',\n errorLoading && 'error-loading',\n readOnly && `${baseClass}--read-only`,\n !readOnly && allowCreate && `${baseClass}--allow-create`,\n ]\n .filter(Boolean)\n .join(' ')}\n id={`field-${path.replace(/\\./g, '__')}`}\n style={{\n ...style,\n width,\n }}\n >\n <FieldLabel\n Label={field?.admin?.components?.Label}\n field={field}\n label={label}\n required={required}\n {...(labelProps || {})}\n />\n <div className={`${fieldBaseClass}__wrap`}>\n <FieldError\n CustomError={field?.admin?.components?.Error}\n field={field}\n path={path}\n {...(errorProps || {})}\n />\n {!errorLoading && (\n <div className={`${baseClass}__wrap`}>\n <ReactSelect\n backspaceRemovesValue={!drawerIsOpen}\n components={{\n MultiValueLabel,\n SingleValue,\n }}\n customProps={{\n disableKeyDown: drawerIsOpen,\n disableMouseDown: drawerIsOpen,\n onSave,\n setDrawerIsOpen,\n }}\n disabled={readOnly || formProcessing || drawerIsOpen}\n filterOption={enableWordBoundarySearch ? filterOption : undefined}\n getOptionValue={(option) => {\n if (!option) return undefined\n return hasMany && Array.isArray(relationTo)\n ? `${option.relationTo}_${option.value}`\n : option.value\n }}\n isLoading={isLoading}\n isMulti={hasMany}\n isSortable={isSortable}\n onChange={\n !readOnly\n ? (selected) => {\n if (selected === null) {\n setValue(hasMany ? [] : null)\n } else if (hasMany && Array.isArray(selected)) {\n setValue(\n selected\n ? selected.map((option) => {\n if (hasMultipleRelations) {\n return {\n relationTo: option.relationTo,\n value: option.value,\n }\n }\n\n return option.value\n })\n : null,\n )\n } else if (hasMultipleRelations && !Array.isArray(selected)) {\n setValue({\n relationTo: selected.relationTo,\n value: selected.value,\n })\n } else if (!Array.isArray(selected)) {\n setValue(selected.value)\n }\n }\n : undefined\n }\n onInputChange={(newSearch) => handleInputChange(newSearch, value)}\n onMenuClose={() => {\n menuIsOpen.current = false\n }}\n onMenuOpen={() => {\n menuIsOpen.current = true\n\n if (!hasLoadedFirstPageRef.current) {\n setIsLoading(true)\n void getResults({\n lastLoadedPage: {},\n onSuccess: () => {\n hasLoadedFirstPageRef.current = true\n setIsLoading(false)\n },\n value: initialValue,\n })\n }\n }}\n onMenuScrollToBottom={() => {\n void getResults({\n lastFullyLoadedRelation,\n lastLoadedPage,\n search,\n sort: false,\n value: initialValue,\n })\n }}\n options={options}\n showError={showError}\n value={valueToRender ?? null}\n />\n {!readOnly && allowCreate && (\n <AddNewRelation\n hasMany={hasMany}\n path={path}\n relationTo={relationTo}\n setValue={setValue}\n value={value}\n />\n )}\n </div>\n )}\n {errorLoading && <div className={`${baseClass}__error-loading`}>{errorLoading}</div>}\n <FieldDescription\n Description={field?.admin?.components?.Description}\n description={description}\n field={field}\n {...(descriptionProps || {})}\n />\n </div>\n </div>\n )\n}\n\nexport const RelationshipField = withCondition(RelationshipFieldComponent)\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ import type { UploadFieldPropsWithContext } from '../HasOne/index.js';
2
+ import './index.scss';
3
+ export declare const UploadComponentHasMany: React.FC<UploadFieldPropsWithContext<string[]>>;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/fields/Upload/HasMany/index.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAA;AAcrE,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,2BAA2B,CAAC,MAAM,EAAE,CAAC,CAwOlF,CAAA"}