@payloadcms/ui 3.29.0-internal.3471e81 → 3.29.0-internal.9400be9

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 (285) hide show
  1. package/dist/elements/Autosave/index.js +1 -1
  2. package/dist/elements/Autosave/index.js.map +1 -1
  3. package/dist/elements/BulkUpload/EditMany/DrawerContent.d.ts.map +1 -1
  4. package/dist/elements/BulkUpload/EditMany/DrawerContent.js +143 -127
  5. package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
  6. package/dist/elements/BulkUpload/EditMany/index.d.ts.map +1 -1
  7. package/dist/elements/BulkUpload/EditMany/index.js +1 -1
  8. package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
  9. package/dist/elements/BulkUpload/FileSidebar/index.d.ts.map +1 -1
  10. package/dist/elements/BulkUpload/FileSidebar/index.js +5 -5
  11. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  12. package/dist/elements/BulkUpload/FormsManager/index.js +1 -1
  13. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  14. package/dist/elements/ColumnSelector/index.js +1 -1
  15. package/dist/elements/ColumnSelector/index.js.map +1 -1
  16. package/dist/elements/ColumnSelector/index.scss +3 -2
  17. package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
  18. package/dist/elements/DeleteDocument/index.js +2 -1
  19. package/dist/elements/DeleteDocument/index.js.map +1 -1
  20. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  21. package/dist/elements/DeleteMany/index.js +1 -1
  22. package/dist/elements/DeleteMany/index.js.map +1 -1
  23. package/dist/elements/DocumentControls/index.js +1 -1
  24. package/dist/elements/DocumentControls/index.js.map +1 -1
  25. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  26. package/dist/elements/DocumentDrawer/DrawerContent.js +1 -2
  27. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  28. package/dist/elements/DocumentDrawer/types.d.ts +0 -4
  29. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  30. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  31. package/dist/elements/EditMany/DrawerContent.d.ts +3 -1
  32. package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
  33. package/dist/elements/EditMany/DrawerContent.js +122 -124
  34. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  35. package/dist/elements/EditMany/index.js +7 -7
  36. package/dist/elements/EditMany/index.js.map +1 -1
  37. package/dist/elements/EditMany/index.scss +14 -3
  38. package/dist/elements/FieldSelect/index.d.ts +12 -7
  39. package/dist/elements/FieldSelect/index.d.ts.map +1 -1
  40. package/dist/elements/FieldSelect/index.js +34 -131
  41. package/dist/elements/FieldSelect/index.js.map +1 -1
  42. package/dist/elements/FieldSelect/reduceFieldOptions.d.ts +19 -0
  43. package/dist/elements/FieldSelect/reduceFieldOptions.d.ts.map +1 -0
  44. package/dist/elements/FieldSelect/reduceFieldOptions.js +57 -0
  45. package/dist/elements/FieldSelect/reduceFieldOptions.js.map +1 -0
  46. package/dist/elements/ListControls/index.d.ts +24 -1
  47. package/dist/elements/ListControls/index.d.ts.map +1 -1
  48. package/dist/elements/ListControls/index.js +86 -115
  49. package/dist/elements/ListControls/index.js.map +1 -1
  50. package/dist/elements/ListControls/index.scss +9 -5
  51. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  52. package/dist/elements/ListDrawer/DrawerContent.js +2 -4
  53. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  54. package/dist/elements/ListDrawer/types.d.ts +2 -3
  55. package/dist/elements/ListDrawer/types.d.ts.map +1 -1
  56. package/dist/elements/ListDrawer/types.js.map +1 -1
  57. package/dist/elements/Pill/index.d.ts +1 -1
  58. package/dist/elements/Pill/index.d.ts.map +1 -1
  59. package/dist/elements/Pill/index.js +0 -2
  60. package/dist/elements/Pill/index.js.map +1 -1
  61. package/dist/elements/Pill/index.scss +6 -29
  62. package/dist/elements/Popup/PopupButtonList/index.d.ts +1 -1
  63. package/dist/elements/Popup/PopupButtonList/index.d.ts.map +1 -1
  64. package/dist/elements/Popup/PopupButtonList/index.js +0 -1
  65. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  66. package/dist/elements/Popup/index.d.ts.map +1 -1
  67. package/dist/elements/Popup/index.js +1 -1
  68. package/dist/elements/Popup/index.js.map +1 -1
  69. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js +1 -1
  70. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js.map +1 -1
  71. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js +1 -1
  72. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -1
  73. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  74. package/dist/elements/RelationshipTable/index.js +4 -3
  75. package/dist/elements/RelationshipTable/index.js.map +1 -1
  76. package/dist/elements/Table/DefaultCell/fields/Date/index.js +1 -1
  77. package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
  78. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +1 -1
  79. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  80. package/dist/elements/TableColumns/RenderDefaultCell/index.d.ts.map +1 -0
  81. package/dist/{providers → elements}/TableColumns/RenderDefaultCell/index.js +2 -2
  82. package/dist/elements/TableColumns/RenderDefaultCell/index.js.map +1 -0
  83. package/dist/{providers → elements}/TableColumns/buildColumnState.d.ts +1 -1
  84. package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -0
  85. package/dist/{providers → elements}/TableColumns/buildColumnState.js +1 -1
  86. package/dist/elements/TableColumns/buildColumnState.js.map +1 -0
  87. package/dist/{providers → elements}/TableColumns/buildPolymorphicColumnState.d.ts +1 -1
  88. package/dist/elements/TableColumns/buildPolymorphicColumnState.d.ts.map +1 -0
  89. package/dist/{providers → elements}/TableColumns/buildPolymorphicColumnState.js +1 -1
  90. package/dist/elements/TableColumns/buildPolymorphicColumnState.js.map +1 -0
  91. package/dist/elements/TableColumns/context.d.ts.map +1 -0
  92. package/dist/elements/TableColumns/context.js.map +1 -0
  93. package/dist/elements/TableColumns/filterFields.d.ts.map +1 -0
  94. package/dist/elements/TableColumns/filterFields.js.map +1 -0
  95. package/dist/elements/TableColumns/getInitialColumns.d.ts.map +1 -0
  96. package/dist/elements/TableColumns/getInitialColumns.js.map +1 -0
  97. package/dist/elements/TableColumns/index.d.ts.map +1 -0
  98. package/dist/{providers → elements}/TableColumns/index.js +2 -4
  99. package/dist/elements/TableColumns/index.js.map +1 -0
  100. package/dist/{providers → elements}/TableColumns/types.d.ts +1 -1
  101. package/dist/elements/TableColumns/types.d.ts.map +1 -0
  102. package/dist/elements/TableColumns/types.js.map +1 -0
  103. package/dist/elements/Thumbnail/index.js +1 -1
  104. package/dist/elements/Thumbnail/index.js.map +1 -1
  105. package/dist/elements/ThumbnailCard/index.js +1 -1
  106. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  107. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  108. package/dist/elements/WhereBuilder/Condition/index.js +1 -1
  109. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  110. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  111. package/dist/elements/WhereBuilder/index.js +15 -18
  112. package/dist/elements/WhereBuilder/index.js.map +1 -1
  113. package/dist/elements/WhereBuilder/reduceFields.js +2 -2
  114. package/dist/elements/WhereBuilder/reduceFields.js.map +1 -1
  115. package/dist/elements/WhereBuilder/transformWhereQuery.d.ts +8 -0
  116. package/dist/elements/WhereBuilder/transformWhereQuery.d.ts.map +1 -0
  117. package/dist/elements/WhereBuilder/transformWhereQuery.js +45 -0
  118. package/dist/elements/WhereBuilder/transformWhereQuery.js.map +1 -0
  119. package/dist/elements/WhereBuilder/validateWhereQuery.d.ts +4 -0
  120. package/dist/elements/WhereBuilder/validateWhereQuery.d.ts.map +1 -0
  121. package/dist/elements/WhereBuilder/validateWhereQuery.js +36 -0
  122. package/dist/elements/WhereBuilder/validateWhereQuery.js.map +1 -0
  123. package/dist/exports/client/index.d.ts +2 -7
  124. package/dist/exports/client/index.d.ts.map +1 -1
  125. package/dist/exports/client/index.js +23 -23
  126. package/dist/exports/client/index.js.map +4 -4
  127. package/dist/exports/shared/index.d.ts +5 -10
  128. package/dist/exports/shared/index.d.ts.map +1 -1
  129. package/dist/exports/shared/index.js +2 -2
  130. package/dist/exports/shared/index.js.map +4 -4
  131. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  132. package/dist/fields/Array/ArrayRow.js +1 -1
  133. package/dist/fields/Array/ArrayRow.js.map +1 -1
  134. package/dist/fields/Group/index.d.ts.map +1 -1
  135. package/dist/fields/Group/index.js.map +1 -1
  136. package/dist/fields/Group/index.scss +12 -6
  137. package/dist/fields/Relationship/optionsReducer.js +1 -1
  138. package/dist/fields/Relationship/optionsReducer.js.map +1 -1
  139. package/dist/forms/Form/fieldReducer.js +1 -1
  140. package/dist/forms/Form/fieldReducer.js.map +1 -1
  141. package/dist/forms/RenderFields/index.d.ts.map +1 -1
  142. package/dist/forms/RenderFields/index.js +1 -1
  143. package/dist/forms/RenderFields/index.js.map +1 -1
  144. package/dist/icons/Chevron/index.d.ts +0 -1
  145. package/dist/icons/Chevron/index.d.ts.map +1 -1
  146. package/dist/icons/Chevron/index.js +0 -2
  147. package/dist/icons/Chevron/index.js.map +1 -1
  148. package/dist/icons/Dots/index.d.ts +0 -2
  149. package/dist/icons/Dots/index.d.ts.map +1 -1
  150. package/dist/icons/Dots/index.js +2 -5
  151. package/dist/icons/Dots/index.js.map +1 -1
  152. package/dist/icons/Dots/index.scss +0 -14
  153. package/dist/providers/DocumentInfo/index.js +1 -1
  154. package/dist/providers/DocumentInfo/index.js.map +1 -1
  155. package/dist/providers/DocumentInfo/types.d.ts +0 -1
  156. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  157. package/dist/providers/DocumentInfo/types.js.map +1 -1
  158. package/dist/providers/EntityVisibility/index.d.ts.map +1 -1
  159. package/dist/providers/EntityVisibility/index.js.map +1 -1
  160. package/dist/providers/ListQuery/context.d.ts +0 -2
  161. package/dist/providers/ListQuery/context.d.ts.map +1 -1
  162. package/dist/providers/ListQuery/context.js +0 -2
  163. package/dist/providers/ListQuery/context.js.map +1 -1
  164. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  165. package/dist/providers/ListQuery/index.js +13 -29
  166. package/dist/providers/ListQuery/index.js.map +1 -1
  167. package/dist/providers/ListQuery/types.d.ts +3 -6
  168. package/dist/providers/ListQuery/types.d.ts.map +1 -1
  169. package/dist/providers/ListQuery/types.js.map +1 -1
  170. package/dist/providers/Preferences/index.d.ts.map +1 -1
  171. package/dist/providers/Preferences/index.js.map +1 -1
  172. package/dist/providers/ServerFunctions/index.d.ts +0 -1
  173. package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
  174. package/dist/providers/ServerFunctions/index.js.map +1 -1
  175. package/dist/styles.css +1 -1
  176. package/dist/utilities/combineFieldLabel.d.ts +7 -0
  177. package/dist/utilities/combineFieldLabel.d.ts.map +1 -0
  178. package/dist/utilities/combineFieldLabel.js +31 -0
  179. package/dist/utilities/combineFieldLabel.js.map +1 -0
  180. package/dist/utilities/{formatDate.d.ts → formatDocTitle/formatDateTitle.d.ts} +1 -1
  181. package/dist/utilities/formatDocTitle/formatDateTitle.d.ts.map +1 -0
  182. package/dist/utilities/{formatDate.js → formatDocTitle/formatDateTitle.js} +1 -1
  183. package/dist/utilities/formatDocTitle/formatDateTitle.js.map +1 -0
  184. package/dist/utilities/formatDocTitle/formatLexicalDocTitle.d.ts +19 -0
  185. package/dist/utilities/formatDocTitle/formatLexicalDocTitle.d.ts.map +1 -0
  186. package/dist/utilities/formatDocTitle/formatLexicalDocTitle.js +19 -0
  187. package/dist/utilities/formatDocTitle/formatLexicalDocTitle.js.map +1 -0
  188. package/dist/utilities/{formatDocTitle.d.ts → formatDocTitle/index.d.ts} +2 -2
  189. package/dist/utilities/formatDocTitle/index.d.ts.map +1 -0
  190. package/dist/utilities/{formatDocTitle.js → formatDocTitle/index.js} +11 -3
  191. package/dist/utilities/formatDocTitle/index.js.map +1 -0
  192. package/dist/utilities/mergeListSearchAndWhere.d.ts +10 -0
  193. package/dist/utilities/mergeListSearchAndWhere.d.ts.map +1 -0
  194. package/dist/utilities/mergeListSearchAndWhere.js +47 -0
  195. package/dist/utilities/mergeListSearchAndWhere.js.map +1 -0
  196. package/dist/utilities/renderTable.js +4 -4
  197. package/dist/utilities/renderTable.js.map +1 -1
  198. package/dist/utilities/upsertPreferences.d.ts +2 -7
  199. package/dist/utilities/upsertPreferences.d.ts.map +1 -1
  200. package/dist/utilities/upsertPreferences.js +5 -11
  201. package/dist/utilities/upsertPreferences.js.map +1 -1
  202. package/dist/views/Edit/SetDocumentTitle/index.js +1 -1
  203. package/dist/views/Edit/SetDocumentTitle/index.js.map +1 -1
  204. package/dist/views/Edit/index.d.ts.map +1 -1
  205. package/dist/views/Edit/index.js +1 -2
  206. package/dist/views/Edit/index.js.map +1 -1
  207. package/dist/views/List/index.d.ts.map +1 -1
  208. package/dist/views/List/index.js +1 -7
  209. package/dist/views/List/index.js.map +1 -1
  210. package/package.json +4 -4
  211. package/dist/elements/ListControls/ActiveQueryPreset/index.d.ts +0 -8
  212. package/dist/elements/ListControls/ActiveQueryPreset/index.d.ts.map +0 -1
  213. package/dist/elements/ListControls/ActiveQueryPreset/index.js +0 -102
  214. package/dist/elements/ListControls/ActiveQueryPreset/index.js.map +0 -1
  215. package/dist/elements/ListControls/ActiveQueryPreset/index.scss +0 -21
  216. package/dist/elements/ListControls/types.d.ts +0 -28
  217. package/dist/elements/ListControls/types.d.ts.map +0 -1
  218. package/dist/elements/ListControls/types.js.map +0 -1
  219. package/dist/elements/ListControls/useQueryPresets.d.ts +0 -17
  220. package/dist/elements/ListControls/useQueryPresets.d.ts.map +0 -1
  221. package/dist/elements/ListControls/useQueryPresets.js +0 -259
  222. package/dist/elements/ListControls/useQueryPresets.js.map +0 -1
  223. package/dist/elements/Popup/PopupDivider/index.d.ts +0 -4
  224. package/dist/elements/Popup/PopupDivider/index.d.ts.map +0 -1
  225. package/dist/elements/Popup/PopupDivider/index.js +0 -10
  226. package/dist/elements/Popup/PopupDivider/index.js.map +0 -1
  227. package/dist/elements/Popup/PopupDivider/index.scss +0 -10
  228. package/dist/elements/QueryPresets/cells/AccessCell/index.d.ts +0 -4
  229. package/dist/elements/QueryPresets/cells/AccessCell/index.d.ts.map +0 -1
  230. package/dist/elements/QueryPresets/cells/AccessCell/index.js +0 -25
  231. package/dist/elements/QueryPresets/cells/AccessCell/index.js.map +0 -1
  232. package/dist/elements/QueryPresets/cells/ColumnsCell/index.d.ts +0 -4
  233. package/dist/elements/QueryPresets/cells/ColumnsCell/index.d.ts.map +0 -1
  234. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js +0 -11
  235. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js.map +0 -1
  236. package/dist/elements/QueryPresets/cells/WhereCell/index.d.ts +0 -4
  237. package/dist/elements/QueryPresets/cells/WhereCell/index.d.ts.map +0 -1
  238. package/dist/elements/QueryPresets/cells/WhereCell/index.js +0 -23
  239. package/dist/elements/QueryPresets/cells/WhereCell/index.js.map +0 -1
  240. package/dist/elements/QueryPresets/fields/ColumnsField/index.d.ts +0 -4
  241. package/dist/elements/QueryPresets/fields/ColumnsField/index.d.ts.map +0 -1
  242. package/dist/elements/QueryPresets/fields/ColumnsField/index.js +0 -64
  243. package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +0 -1
  244. package/dist/elements/QueryPresets/fields/ColumnsField/index.scss +0 -28
  245. package/dist/elements/QueryPresets/fields/WhereField/index.d.ts +0 -4
  246. package/dist/elements/QueryPresets/fields/WhereField/index.d.ts.map +0 -1
  247. package/dist/elements/QueryPresets/fields/WhereField/index.js +0 -118
  248. package/dist/elements/QueryPresets/fields/WhereField/index.js.map +0 -1
  249. package/dist/elements/QueryPresets/fields/WhereField/index.scss +0 -23
  250. package/dist/icons/People/index.d.ts +0 -6
  251. package/dist/icons/People/index.d.ts.map +0 -1
  252. package/dist/icons/People/index.js +0 -18
  253. package/dist/icons/People/index.js.map +0 -1
  254. package/dist/icons/People/index.scss +0 -11
  255. package/dist/providers/TableColumns/RenderDefaultCell/index.d.ts.map +0 -1
  256. package/dist/providers/TableColumns/RenderDefaultCell/index.js.map +0 -1
  257. package/dist/providers/TableColumns/buildColumnState.d.ts.map +0 -1
  258. package/dist/providers/TableColumns/buildColumnState.js.map +0 -1
  259. package/dist/providers/TableColumns/buildPolymorphicColumnState.d.ts.map +0 -1
  260. package/dist/providers/TableColumns/buildPolymorphicColumnState.js.map +0 -1
  261. package/dist/providers/TableColumns/context.d.ts.map +0 -1
  262. package/dist/providers/TableColumns/context.js.map +0 -1
  263. package/dist/providers/TableColumns/filterFields.d.ts.map +0 -1
  264. package/dist/providers/TableColumns/filterFields.js.map +0 -1
  265. package/dist/providers/TableColumns/getInitialColumns.d.ts.map +0 -1
  266. package/dist/providers/TableColumns/getInitialColumns.js.map +0 -1
  267. package/dist/providers/TableColumns/index.d.ts.map +0 -1
  268. package/dist/providers/TableColumns/index.js.map +0 -1
  269. package/dist/providers/TableColumns/types.d.ts.map +0 -1
  270. package/dist/providers/TableColumns/types.js +0 -2
  271. package/dist/providers/TableColumns/types.js.map +0 -1
  272. package/dist/utilities/formatDate.d.ts.map +0 -1
  273. package/dist/utilities/formatDate.js.map +0 -1
  274. package/dist/utilities/formatDocTitle.d.ts.map +0 -1
  275. package/dist/utilities/formatDocTitle.js.map +0 -1
  276. /package/dist/{providers → elements}/TableColumns/RenderDefaultCell/index.d.ts +0 -0
  277. /package/dist/{providers → elements}/TableColumns/RenderDefaultCell/index.scss +0 -0
  278. /package/dist/{providers → elements}/TableColumns/context.d.ts +0 -0
  279. /package/dist/{providers → elements}/TableColumns/context.js +0 -0
  280. /package/dist/{providers → elements}/TableColumns/filterFields.d.ts +0 -0
  281. /package/dist/{providers → elements}/TableColumns/filterFields.js +0 -0
  282. /package/dist/{providers → elements}/TableColumns/getInitialColumns.d.ts +0 -0
  283. /package/dist/{providers → elements}/TableColumns/getInitialColumns.js +0 -0
  284. /package/dist/{providers → elements}/TableColumns/index.d.ts +0 -0
  285. /package/dist/elements/{ListControls → TableColumns}/types.js +0 -0
@@ -1,14 +1,19 @@
1
- import type { ClientField, FieldWithPathClient } from 'payload';
1
+ import type { ClientField, FieldWithPathClient, FormState } from 'payload';
2
2
  import React from 'react';
3
+ import type { FieldAction } from '../../forms/Form/types.js';
3
4
  import './index.scss';
5
+ export type OnFieldSelect = ({ dispatchFields, formState, selected, }: {
6
+ dispatchFields: React.Dispatch<FieldAction>;
7
+ formState: FormState;
8
+ selected: FieldOption[];
9
+ }) => void;
4
10
  export type FieldSelectProps = {
5
11
  readonly fields: ClientField[];
6
- readonly setSelected: (fields: FieldWithPathClient[]) => void;
12
+ readonly onChange: OnFieldSelect;
13
+ };
14
+ export type FieldOption = {
15
+ Label: React.ReactNode;
16
+ value: FieldWithPathClient;
7
17
  };
8
- export declare const combineLabel: ({ CustomLabel, field, prefix, }: {
9
- CustomLabel?: React.ReactNode;
10
- field?: ClientField;
11
- prefix?: React.ReactNode;
12
- }) => React.ReactNode;
13
18
  export declare const FieldSelect: React.FC<FieldSelectProps>;
14
19
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/FieldSelect/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAa,MAAM,SAAS,CAAA;AAG1E,OAAO,KAA6B,MAAM,OAAO,CAAA;AAQjD,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,CAAA;IAC9B,QAAQ,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,mBAAmB,EAAE,KAAK,IAAI,CAAA;CAC9D,CAAA;AAED,eAAO,MAAM,YAAY,oCAItB;IACD,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B,KAAK,CAAC,EAAE,WAAW,CAAA;IACnB,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CACzB,KAAG,KAAK,CAAC,SAiBT,CAAA;AAyED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAiDlD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/FieldSelect/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAE1E,OAAO,KAAmB,MAAM,OAAO,CAAA;AAEvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAQ5D,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,aAAa,GAAG,CAAC,EAC3B,cAAc,EACd,SAAS,EACT,QAAQ,GACT,EAAE;IACD,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;IAC3C,SAAS,EAAE,SAAS,CAAA;IACpB,QAAQ,EAAE,WAAW,EAAE,CAAA;CACxB,KAAK,IAAI,CAAA;AAEV,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,CAAA;IAC9B,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAA;CACjC,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IAAC,KAAK,EAAE,mBAAmB,CAAA;CAAE,CAAA;AAEhF,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA0BlD,CAAA"}
@@ -2,99 +2,20 @@
2
2
 
3
3
  import { c as _c } from "react/compiler-runtime";
4
4
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
- import { fieldAffectsData, fieldHasSubFields, fieldIsHiddenOrDisabled } from 'payload/shared';
6
- import React, { Fragment, useState } from 'react';
7
- import { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js';
5
+ import React, { useState } from 'react';
8
6
  import { FieldLabel } from '../../fields/FieldLabel/index.js';
9
7
  import { useForm } from '../../forms/Form/context.js';
10
- import { createNestedClientFieldPath } from '../../forms/Form/createNestedClientFieldPath.js';
11
8
  import { useTranslation } from '../../providers/Translation/index.js';
9
+ import { filterOutUploadFields } from '../../utilities/filterOutUploadFields.js';
12
10
  import { ReactSelect } from '../ReactSelect/index.js';
11
+ import { reduceFieldOptions } from './reduceFieldOptions.js';
13
12
  import './index.scss';
14
13
  const baseClass = 'field-select';
15
- export const combineLabel = ({
16
- CustomLabel,
17
- field,
18
- prefix
19
- }) => {
20
- return /*#__PURE__*/_jsxs(Fragment, {
21
- children: [prefix ? /*#__PURE__*/_jsxs(Fragment, {
22
- children: [/*#__PURE__*/_jsx("span", {
23
- style: {
24
- display: 'inline-block'
25
- },
26
- children: prefix
27
- }), ' > ']
28
- }) : null, /*#__PURE__*/_jsx("span", {
29
- style: {
30
- display: 'inline-block'
31
- },
32
- children: /*#__PURE__*/_jsx(RenderCustomComponent, {
33
- CustomComponent: CustomLabel,
34
- Fallback: /*#__PURE__*/_jsx(FieldLabel, {
35
- label: 'label' in field && field.label
36
- })
37
- })
38
- })]
39
- });
40
- };
41
- const reduceFields = ({
42
- fields,
43
- formState,
44
- labelPrefix = null,
45
- path = ''
46
- }) => {
47
- if (!fields) {
48
- return [];
49
- }
50
- const CustomLabel = formState?.[path]?.customComponents?.Label;
51
- return fields?.reduce((fieldsToUse, field) => {
52
- // escape for a variety of reasons, include ui fields as they have `name`.
53
- if ((fieldAffectsData(field) || field.type === 'ui') && (field.admin?.disableBulkEdit || field.unique || fieldIsHiddenOrDisabled(field) || 'readOnly' in field && field.readOnly)) {
54
- return fieldsToUse;
55
- }
56
- if (!(field.type === 'array' || field.type === 'blocks') && fieldHasSubFields(field)) {
57
- return [...fieldsToUse, ...reduceFields({
58
- fields: field.fields,
59
- labelPrefix: combineLabel({
60
- CustomLabel,
61
- field,
62
- prefix: labelPrefix
63
- }),
64
- path: createNestedClientFieldPath(path, field)
65
- })];
66
- }
67
- if (field.type === 'tabs' && 'tabs' in field) {
68
- return [...fieldsToUse, ...field.tabs.reduce((tabFields, tab) => {
69
- if ('fields' in tab) {
70
- const isNamedTab = 'name' in tab && tab.name;
71
- return [...tabFields, ...reduceFields({
72
- fields: tab.fields,
73
- labelPrefix,
74
- path: isNamedTab ? createNestedClientFieldPath(path, field) : path
75
- })];
76
- }
77
- }, [])];
78
- }
79
- const formattedField = {
80
- label: combineLabel({
81
- CustomLabel,
82
- field,
83
- prefix: labelPrefix
84
- }),
85
- value: {
86
- ...field,
87
- path: createNestedClientFieldPath(path, field)
88
- }
89
- };
90
- return [...fieldsToUse, formattedField];
91
- }, []);
92
- };
93
14
  export const FieldSelect = t0 => {
94
- const $ = _c(11);
15
+ const $ = _c(13);
95
16
  const {
96
17
  fields,
97
- setSelected
18
+ onChange
98
19
  } = t0;
99
20
  const {
100
21
  t
@@ -105,8 +26,8 @@ export const FieldSelect = t0 => {
105
26
  } = useForm();
106
27
  let t1;
107
28
  if ($[0] !== fields || $[1] !== getFields) {
108
- t1 = () => reduceFields({
109
- fields,
29
+ t1 = () => reduceFieldOptions({
30
+ fields: filterOutUploadFields(fields),
110
31
  formState: getFields()
111
32
  });
112
33
  $[0] = fields;
@@ -117,62 +38,44 @@ export const FieldSelect = t0 => {
117
38
  }
118
39
  const [options] = useState(t1);
119
40
  let t2;
120
- if ($[3] !== dispatchFields || $[4] !== getFields || $[5] !== setSelected) {
121
- t2 = selected => {
122
- const activeFields = getFields();
123
- if (selected === null) {
124
- setSelected([]);
125
- } else {
126
- setSelected(selected.map(_temp));
127
- }
128
- if (selected === null || Object.keys(activeFields || []).length > selected.length) {
129
- Object.keys(activeFields).forEach(path => {
130
- if (selected === null || !selected.find(field => field.value.path === path)) {
131
- dispatchFields({
132
- type: "REMOVE",
133
- path
134
- });
135
- }
136
- });
137
- }
138
- };
139
- $[3] = dispatchFields;
140
- $[4] = getFields;
141
- $[5] = setSelected;
142
- $[6] = t2;
143
- } else {
144
- t2 = $[6];
145
- }
146
- const handleChange = t2;
147
- let t3;
148
- if ($[7] !== handleChange || $[8] !== options || $[9] !== t) {
149
- t3 = _jsxs("div", {
41
+ if ($[3] !== dispatchFields || $[4] !== getFields || $[5] !== onChange || $[6] !== options || $[7] !== t) {
42
+ let t3;
43
+ if ($[9] !== dispatchFields || $[10] !== getFields || $[11] !== onChange) {
44
+ t3 = selected => onChange({
45
+ dispatchFields,
46
+ formState: getFields(),
47
+ selected
48
+ });
49
+ $[9] = dispatchFields;
50
+ $[10] = getFields;
51
+ $[11] = onChange;
52
+ $[12] = t3;
53
+ } else {
54
+ t3 = $[12];
55
+ }
56
+ t2 = _jsxs("div", {
150
57
  className: baseClass,
151
58
  children: [_jsx(FieldLabel, {
152
59
  label: t("fields:selectFieldsToEdit")
153
60
  }), _jsx(ReactSelect, {
154
- getOptionValue: _temp2,
61
+ getOptionValue: _temp,
155
62
  isMulti: true,
156
- onChange: handleChange,
63
+ onChange: t3,
157
64
  options
158
65
  })]
159
66
  });
160
- $[7] = handleChange;
161
- $[8] = options;
162
- $[9] = t;
163
- $[10] = t3;
67
+ $[3] = dispatchFields;
68
+ $[4] = getFields;
69
+ $[5] = onChange;
70
+ $[6] = options;
71
+ $[7] = t;
72
+ $[8] = t2;
164
73
  } else {
165
- t3 = $[10];
74
+ t2 = $[8];
166
75
  }
167
- return t3;
76
+ return t2;
168
77
  };
169
- function _temp(t0) {
170
- const {
171
- value
172
- } = t0;
173
- return value;
174
- }
175
- function _temp2(option) {
78
+ function _temp(option) {
176
79
  if (typeof option.value === "object" && "path" in option.value) {
177
80
  return String(option.value.path);
178
81
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","fieldAffectsData","fieldHasSubFields","fieldIsHiddenOrDisabled","React","Fragment","useState","RenderCustomComponent","FieldLabel","useForm","createNestedClientFieldPath","useTranslation","ReactSelect","baseClass","combineLabel","CustomLabel","field","prefix","_jsxs","_jsx","style","display","CustomComponent","Fallback","label","reduceFields","fields","formState","labelPrefix","path","customComponents","Label","reduce","fieldsToUse","type","admin","disableBulkEdit","unique","readOnly","tabs","tabFields","tab","isNamedTab","name","formattedField","value","FieldSelect","t0","$","setSelected","t","dispatchFields","getFields","t1","options","t2","selected","activeFields","map","_temp","Object","keys","length","forEach","find","handleChange","t3","className","children","getOptionValue","_temp2","isMulti","onChange","option","String"],"sources":["../../../src/elements/FieldSelect/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientField, FieldWithPathClient, FormState } from 'payload'\n\nimport { fieldAffectsData, fieldHasSubFields, fieldIsHiddenOrDisabled } from 'payload/shared'\nimport React, { Fragment, useState } from 'react'\n\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { useForm } from '../../forms/Form/context.js'\nimport { createNestedClientFieldPath } from '../../forms/Form/createNestedClientFieldPath.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { ReactSelect } from '../ReactSelect/index.js'\nimport './index.scss'\n\nconst baseClass = 'field-select'\n\nexport type FieldSelectProps = {\n readonly fields: ClientField[]\n readonly setSelected: (fields: FieldWithPathClient[]) => void\n}\n\nexport const combineLabel = ({\n CustomLabel,\n field,\n prefix,\n}: {\n CustomLabel?: React.ReactNode\n field?: ClientField\n prefix?: React.ReactNode\n}): React.ReactNode => {\n return (\n <Fragment>\n {prefix ? (\n <Fragment>\n <span style={{ display: 'inline-block' }}>{prefix}</span>\n {' > '}\n </Fragment>\n ) : null}\n <span style={{ display: 'inline-block' }}>\n <RenderCustomComponent\n CustomComponent={CustomLabel}\n Fallback={<FieldLabel label={'label' in field && field.label} />}\n />\n </span>\n </Fragment>\n )\n}\n\nconst reduceFields = ({\n fields,\n formState,\n labelPrefix = null,\n path = '',\n}: {\n fields: ClientField[]\n formState?: FormState\n labelPrefix?: React.ReactNode\n path?: string\n}): { Label: React.ReactNode; value: FieldWithPathClient }[] => {\n if (!fields) {\n return []\n }\n\n const CustomLabel = formState?.[path]?.customComponents?.Label\n\n return fields?.reduce((fieldsToUse, field) => {\n // escape for a variety of reasons, include ui fields as they have `name`.\n if (\n (fieldAffectsData(field) || field.type === 'ui') &&\n (field.admin?.disableBulkEdit ||\n field.unique ||\n fieldIsHiddenOrDisabled(field) ||\n ('readOnly' in field && field.readOnly))\n ) {\n return fieldsToUse\n }\n\n if (!(field.type === 'array' || field.type === 'blocks') && fieldHasSubFields(field)) {\n return [\n ...fieldsToUse,\n ...reduceFields({\n fields: field.fields,\n labelPrefix: combineLabel({ CustomLabel, field, prefix: labelPrefix }),\n path: createNestedClientFieldPath(path, field),\n }),\n ]\n }\n\n if (field.type === 'tabs' && 'tabs' in field) {\n return [\n ...fieldsToUse,\n ...field.tabs.reduce((tabFields, tab) => {\n if ('fields' in tab) {\n const isNamedTab = 'name' in tab && tab.name\n return [\n ...tabFields,\n ...reduceFields({\n fields: tab.fields,\n labelPrefix,\n path: isNamedTab ? createNestedClientFieldPath(path, field) : path,\n }),\n ]\n }\n }, []),\n ]\n }\n\n const formattedField = {\n label: combineLabel({ CustomLabel, field, prefix: labelPrefix }),\n value: {\n ...field,\n path: createNestedClientFieldPath(path, field),\n },\n }\n\n return [...fieldsToUse, formattedField]\n }, [])\n}\n\nexport const FieldSelect: React.FC<FieldSelectProps> = ({ fields, setSelected }) => {\n const { t } = useTranslation()\n const { dispatchFields, getFields } = useForm()\n\n const [options] = useState(() => reduceFields({ fields, formState: getFields() }))\n\n const handleChange = (selected) => {\n const activeFields = getFields()\n\n if (selected === null) {\n setSelected([])\n } else {\n setSelected(selected.map(({ value }) => value))\n }\n\n // remove deselected values from form state\n if (selected === null || Object.keys(activeFields || []).length > selected.length) {\n Object.keys(activeFields).forEach((path) => {\n if (\n selected === null ||\n !selected.find((field) => {\n return field.value.path === path\n })\n ) {\n dispatchFields({\n type: 'REMOVE',\n path,\n })\n }\n })\n }\n }\n\n return (\n <div className={baseClass}>\n <FieldLabel label={t('fields:selectFieldsToEdit')} />\n <ReactSelect\n getOptionValue={(option) => {\n if (typeof option.value === 'object' && 'path' in option.value) {\n return String(option.value.path)\n }\n return String(option.value)\n }}\n isMulti\n onChange={handleChange}\n options={options}\n />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","useState","FieldLabel","useForm","useTranslation","filterOutUploadFields","ReactSelect","reduceFieldOptions","baseClass","FieldSelect","t0","$","fields","onChange","t","dispatchFields","getFields","t1","formState","options","t2","t3","selected","_jsxs","className","children","_jsx","label","getOptionValue","_temp","isMulti","option","value","String","path"],"sources":["../../../src/elements/FieldSelect/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientField, FieldWithPathClient, FormState } from 'payload'\n\nimport React, { useState } from 'react'\n\nimport type { FieldAction } from '../../forms/Form/types.js'\n\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { useForm } from '../../forms/Form/context.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { filterOutUploadFields } from '../../utilities/filterOutUploadFields.js'\nimport { ReactSelect } from '../ReactSelect/index.js'\nimport { reduceFieldOptions } from './reduceFieldOptions.js'\nimport './index.scss'\n\nconst baseClass = 'field-select'\n\nexport type OnFieldSelect = ({\n dispatchFields,\n formState,\n selected,\n}: {\n dispatchFields: React.Dispatch<FieldAction>\n formState: FormState\n selected: FieldOption[]\n}) => void\n\nexport type FieldSelectProps = {\n readonly fields: ClientField[]\n readonly onChange: OnFieldSelect\n}\n\nexport type FieldOption = { Label: React.ReactNode; value: FieldWithPathClient }\n\nexport const FieldSelect: React.FC<FieldSelectProps> = ({ fields, onChange }) => {\n const { t } = useTranslation()\n const { dispatchFields, getFields } = useForm()\n\n const [options] = useState<FieldOption[]>(() =>\n reduceFieldOptions({ fields: filterOutUploadFields(fields), formState: getFields() }),\n )\n\n return (\n <div className={baseClass}>\n <FieldLabel label={t('fields:selectFieldsToEdit')} />\n <ReactSelect\n getOptionValue={(option) => {\n if (typeof option.value === 'object' && 'path' in option.value) {\n return String(option.value.path)\n }\n return String(option.value)\n }}\n isMulti\n onChange={(selected: FieldOption[]) =>\n onChange({ dispatchFields, formState: getFields(), selected })\n }\n options={options}\n />\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,OAAOC,KAAA,IAASC,QAAQ,QAAQ;AAIhC,SAASC,UAAU,QAAQ;AAC3B,SAASC,OAAO,QAAQ;AACxB,SAASC,cAAc,QAAQ;AAC/B,SAASC,qBAAqB,QAAQ;AACtC,SAASC,WAAW,QAAQ;AAC5B,SAASC,kBAAkB,QAAQ;AACnC,OAAO;AAEP,MAAMC,SAAA,GAAY;AAmBlB,OAAO,MAAMC,WAAA,GAA0CC,EAAA;EAAA,MAAAC,CAAA,GAAAZ,EAAA;EAAC;IAAAa,MAAA;IAAAC;EAAA,IAAAH,EAAoB;EAC1E;IAAAI;EAAA,IAAcV,cAAA;EACd;IAAAW,cAAA;IAAAC;EAAA,IAAsCb,OAAA;EAAA,IAAAc,EAAA;EAAA,IAAAN,CAAA,QAAAC,MAAA,IAAAD,CAAA,QAAAK,SAAA;IAEIC,EAAA,GAAAA,CAAA,KACxCV,kBAAA;MAAAK,MAAA,EAA6BP,qBAAA,CAAsBO,MAAA;MAAAM,SAAA,EAAoBF,SAAA;IAAA,CAAY;IAAAL,CAAA,MAAAC,MAAA;IAAAD,CAAA,MAAAK,SAAA;IAAAL,CAAA,MAAAM,EAAA;EAAA;IAAAA,EAAA,GAAAN,CAAA;EAAA;EADrF,OAAAQ,OAAA,IAAkBlB,QAAA,CAAwBgB,EAC2C;EAAA,IAAAG,EAAA;EAAA,IAAAT,CAAA,QAAAI,cAAA,IAAAJ,CAAA,QAAAK,SAAA,IAAAL,CAAA,QAAAE,QAAA,IAAAF,CAAA,QAAAQ,OAAA,IAAAR,CAAA,QAAAG,CAAA;IAAA,IAAAO,EAAA;IAAA,IAAAV,CAAA,QAAAI,cAAA,IAAAJ,CAAA,SAAAK,SAAA,IAAAL,CAAA,SAAAE,QAAA;MAcrEQ,EAAA,GAAAC,QAAA,IACRT,QAAA;QAAAE,cAAA;QAAAG,SAAA,EAAsCF,SAAA;QAAAM;MAAA,CAAsB;MAAAX,CAAA,MAAAI,cAAA;MAAAJ,CAAA,OAAAK,SAAA;MAAAL,CAAA,OAAAE,QAAA;MAAAF,CAAA,OAAAU,EAAA;IAAA;MAAAA,EAAA,GAAAV,CAAA;IAAA;IAXlES,EAAA,GAAAG,KAAA,CAAC;MAAAC,SAAA,EAAAhB,SAAA;MAAAiB,QAAA,GACCC,IAAA,CAAAxB,UAAA;QAAAyB,KAAA,EAAmBb,CAAA,CAAE;MAAA,C,GACrBY,IAAA,CAAApB,WAAA;QAAAsB,cAAA,EAAAC,KAAA;QAAAC,OAAA;QAAAjB,QAAA,EAQYQ,EACoD;QAAAF;MAAA,C;;;;;;;;;;;SAXlEC,E;CAiBJ;AA1BuD,SAAAS,MAAAE,MAAA;EAAA,IAazC,OAAOA,MAAA,CAAAC,KAAA,KAAiB,YAAY,UAAUD,MAAA,CAAAC,KAAY;IAAA,OACrDC,MAAA,CAAOF,MAAA,CAAAC,KAAA,CAAAE,IAAiB;EAAA;EAAA,OAE1BD,MAAA,CAAOF,MAAA,CAAAC,KAAY;AAAA","ignoreList":[]}
@@ -0,0 +1,19 @@
1
+ import type { ClientField, FieldWithPathClient, FormState } from 'payload';
2
+ export type SelectedField = {
3
+ path: string;
4
+ };
5
+ export type FieldOption = {
6
+ label: React.ReactNode;
7
+ value: SelectedField;
8
+ };
9
+ export declare const ignoreFromBulkEdit: (field: ClientField) => boolean;
10
+ export declare const reduceFieldOptions: ({ fields, formState, labelPrefix, path, }: {
11
+ fields: ClientField[];
12
+ formState?: FormState;
13
+ labelPrefix?: React.ReactNode;
14
+ path?: string;
15
+ }) => {
16
+ Label: React.ReactNode;
17
+ value: FieldWithPathClient;
18
+ }[];
19
+ //# sourceMappingURL=reduceFieldOptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reduceFieldOptions.d.ts","sourceRoot":"","sources":["../../../src/elements/FieldSelect/reduceFieldOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAO1E,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,KAAK,EAAE,aAAa,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,kBAAkB,UAAW,WAAW,KAAG,OAOrD,CAAA;AAEH,eAAO,MAAM,kBAAkB,8CAK5B;IACD,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,KAAG;IAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IAAC,KAAK,EAAE,mBAAmB,CAAA;CAAE,EA2DzD,CAAA"}
@@ -0,0 +1,57 @@
1
+ import { fieldAffectsData, fieldHasSubFields, fieldIsHiddenOrDisabled } from 'payload/shared';
2
+ import { createNestedClientFieldPath } from '../../forms/Form/createNestedClientFieldPath.js';
3
+ import { combineFieldLabel } from '../../utilities/combineFieldLabel.js';
4
+ export const ignoreFromBulkEdit = field => Boolean((fieldAffectsData(field) || field.type === 'ui') && (field.admin.disableBulkEdit || field.unique || fieldIsHiddenOrDisabled(field) || 'readOnly' in field && field.readOnly));
5
+ export const reduceFieldOptions = ({
6
+ fields,
7
+ formState,
8
+ labelPrefix = null,
9
+ path = ''
10
+ }) => {
11
+ if (!fields) {
12
+ return [];
13
+ }
14
+ const CustomLabel = formState?.[path]?.customComponents?.Label;
15
+ return fields?.reduce((fieldsToUse, field) => {
16
+ // escape for a variety of reasons, include ui fields as they have `name`.
17
+ if ((fieldAffectsData(field) || field.type === 'ui') && (field.admin?.disableBulkEdit || field.unique || fieldIsHiddenOrDisabled(field) || 'readOnly' in field && field.readOnly)) {
18
+ return fieldsToUse;
19
+ }
20
+ if (!(field.type === 'array' || field.type === 'blocks') && fieldHasSubFields(field)) {
21
+ return [...fieldsToUse, ...reduceFieldOptions({
22
+ fields: field.fields,
23
+ labelPrefix: combineFieldLabel({
24
+ CustomLabel,
25
+ field,
26
+ prefix: labelPrefix
27
+ }),
28
+ path: createNestedClientFieldPath(path, field)
29
+ })];
30
+ }
31
+ if (field.type === 'tabs' && 'tabs' in field) {
32
+ return [...fieldsToUse, ...field.tabs.reduce((tabFields, tab) => {
33
+ if ('fields' in tab) {
34
+ const isNamedTab = 'name' in tab && tab.name;
35
+ return [...tabFields, ...reduceFieldOptions({
36
+ fields: tab.fields,
37
+ labelPrefix,
38
+ path: isNamedTab ? createNestedClientFieldPath(path, field) : path
39
+ })];
40
+ }
41
+ }, [])];
42
+ }
43
+ const formattedField = {
44
+ label: combineFieldLabel({
45
+ CustomLabel,
46
+ field,
47
+ prefix: labelPrefix
48
+ }),
49
+ value: {
50
+ ...field,
51
+ path: createNestedClientFieldPath(path, field)
52
+ }
53
+ };
54
+ return [...fieldsToUse, formattedField];
55
+ }, []);
56
+ };
57
+ //# sourceMappingURL=reduceFieldOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reduceFieldOptions.js","names":["fieldAffectsData","fieldHasSubFields","fieldIsHiddenOrDisabled","createNestedClientFieldPath","combineFieldLabel","ignoreFromBulkEdit","field","Boolean","type","admin","disableBulkEdit","unique","readOnly","reduceFieldOptions","fields","formState","labelPrefix","path","CustomLabel","customComponents","Label","reduce","fieldsToUse","prefix","tabs","tabFields","tab","isNamedTab","name","formattedField","label","value"],"sources":["../../../src/elements/FieldSelect/reduceFieldOptions.ts"],"sourcesContent":["import type { ClientField, FieldWithPathClient, FormState } from 'payload'\n\nimport { fieldAffectsData, fieldHasSubFields, fieldIsHiddenOrDisabled } from 'payload/shared'\n\nimport { createNestedClientFieldPath } from '../../forms/Form/createNestedClientFieldPath.js'\nimport { combineFieldLabel } from '../../utilities/combineFieldLabel.js'\n\nexport type SelectedField = {\n path: string\n}\n\nexport type FieldOption = {\n label: React.ReactNode\n value: SelectedField\n}\n\nexport const ignoreFromBulkEdit = (field: ClientField): boolean =>\n Boolean(\n (fieldAffectsData(field) || field.type === 'ui') &&\n (field.admin.disableBulkEdit ||\n field.unique ||\n fieldIsHiddenOrDisabled(field) ||\n ('readOnly' in field && field.readOnly)),\n )\n\nexport const reduceFieldOptions = ({\n fields,\n formState,\n labelPrefix = null,\n path = '',\n}: {\n fields: ClientField[]\n formState?: FormState\n labelPrefix?: React.ReactNode\n path?: string\n}): { Label: React.ReactNode; value: FieldWithPathClient }[] => {\n if (!fields) {\n return []\n }\n\n const CustomLabel = formState?.[path]?.customComponents?.Label\n\n return fields?.reduce((fieldsToUse, field) => {\n // escape for a variety of reasons, include ui fields as they have `name`.\n if (\n (fieldAffectsData(field) || field.type === 'ui') &&\n (field.admin?.disableBulkEdit ||\n field.unique ||\n fieldIsHiddenOrDisabled(field) ||\n ('readOnly' in field && field.readOnly))\n ) {\n return fieldsToUse\n }\n\n if (!(field.type === 'array' || field.type === 'blocks') && fieldHasSubFields(field)) {\n return [\n ...fieldsToUse,\n ...reduceFieldOptions({\n fields: field.fields,\n labelPrefix: combineFieldLabel({ CustomLabel, field, prefix: labelPrefix }),\n path: createNestedClientFieldPath(path, field),\n }),\n ]\n }\n\n if (field.type === 'tabs' && 'tabs' in field) {\n return [\n ...fieldsToUse,\n ...field.tabs.reduce((tabFields, tab) => {\n if ('fields' in tab) {\n const isNamedTab = 'name' in tab && tab.name\n return [\n ...tabFields,\n ...reduceFieldOptions({\n fields: tab.fields,\n labelPrefix,\n path: isNamedTab ? createNestedClientFieldPath(path, field) : path,\n }),\n ]\n }\n }, []),\n ]\n }\n\n const formattedField = {\n label: combineFieldLabel({ CustomLabel, field, prefix: labelPrefix }),\n value: {\n ...field,\n path: createNestedClientFieldPath(path, field),\n },\n }\n\n return [...fieldsToUse, formattedField]\n }, [])\n}\n"],"mappings":"AAEA,SAASA,gBAAgB,EAAEC,iBAAiB,EAAEC,uBAAuB,QAAQ;AAE7E,SAASC,2BAA2B,QAAQ;AAC5C,SAASC,iBAAiB,QAAQ;AAWlC,OAAO,MAAMC,kBAAA,GAAsBC,KAAA,IACjCC,OAAA,CACE,CAACP,gBAAA,CAAiBM,KAAA,KAAUA,KAAA,CAAME,IAAI,KAAK,IAAG,MAC3CF,KAAA,CAAMG,KAAK,CAACC,eAAe,IAC1BJ,KAAA,CAAMK,MAAM,IACZT,uBAAA,CAAwBI,KAAA,KACvB,cAAcA,KAAA,IAASA,KAAA,CAAMM,QAAQ;AAG9C,OAAO,MAAMC,kBAAA,GAAqBA,CAAC;EACjCC,MAAM;EACNC,SAAS;EACTC,WAAA,GAAc,IAAI;EAClBC,IAAA,GAAO;AAAE,CAMV;EACC,IAAI,CAACH,MAAA,EAAQ;IACX,OAAO,EAAE;EACX;EAEA,MAAMI,WAAA,GAAcH,SAAA,GAAYE,IAAA,CAAK,EAAEE,gBAAA,EAAkBC,KAAA;EAEzD,OAAON,MAAA,EAAQO,MAAA,CAAO,CAACC,WAAA,EAAahB,KAAA;IAClC;IACA,IACE,CAACN,gBAAA,CAAiBM,KAAA,KAAUA,KAAA,CAAME,IAAI,KAAK,IAAG,MAC7CF,KAAA,CAAMG,KAAK,EAAEC,eAAA,IACZJ,KAAA,CAAMK,MAAM,IACZT,uBAAA,CAAwBI,KAAA,KACvB,cAAcA,KAAA,IAASA,KAAA,CAAMM,QAAQ,GACxC;MACA,OAAOU,WAAA;IACT;IAEA,IAAI,EAAEhB,KAAA,CAAME,IAAI,KAAK,WAAWF,KAAA,CAAME,IAAI,KAAK,QAAO,KAAMP,iBAAA,CAAkBK,KAAA,GAAQ;MACpF,OAAO,C,GACFgB,WAAA,E,GACAT,kBAAA,CAAmB;QACpBC,MAAA,EAAQR,KAAA,CAAMQ,MAAM;QACpBE,WAAA,EAAaZ,iBAAA,CAAkB;UAAEc,WAAA;UAAaZ,KAAA;UAAOiB,MAAA,EAAQP;QAAY;QACzEC,IAAA,EAAMd,2BAAA,CAA4Bc,IAAA,EAAMX,KAAA;MAC1C,GACD;IACH;IAEA,IAAIA,KAAA,CAAME,IAAI,KAAK,UAAU,UAAUF,KAAA,EAAO;MAC5C,OAAO,C,GACFgB,WAAA,E,GACAhB,KAAA,CAAMkB,IAAI,CAACH,MAAM,CAAC,CAACI,SAAA,EAAWC,GAAA;QAC/B,IAAI,YAAYA,GAAA,EAAK;UACnB,MAAMC,UAAA,GAAa,UAAUD,GAAA,IAAOA,GAAA,CAAIE,IAAI;UAC5C,OAAO,C,GACFH,SAAA,E,GACAZ,kBAAA,CAAmB;YACpBC,MAAA,EAAQY,GAAA,CAAIZ,MAAM;YAClBE,WAAA;YACAC,IAAA,EAAMU,UAAA,GAAaxB,2BAAA,CAA4Bc,IAAA,EAAMX,KAAA,IAASW;UAChE,GACD;QACH;MACF,GAAG,EAAE,EACN;IACH;IAEA,MAAMY,cAAA,GAAiB;MACrBC,KAAA,EAAO1B,iBAAA,CAAkB;QAAEc,WAAA;QAAaZ,KAAA;QAAOiB,MAAA,EAAQP;MAAY;MACnEe,KAAA,EAAO;QACL,GAAGzB,KAAK;QACRW,IAAA,EAAMd,2BAAA,CAA4Bc,IAAA,EAAMX,KAAA;MAC1C;IACF;IAEA,OAAO,C,GAAIgB,WAAA,EAAaO,cAAA,CAAe;EACzC,GAAG,EAAE;AACP","ignoreList":[]}
@@ -1,6 +1,29 @@
1
+ import type { ClientCollectionConfig, ResolvedFilterOptions, Where } from 'payload';
1
2
  import React from 'react';
2
- import type { ListControlsProps } from './types.js';
3
3
  import './index.scss';
4
+ export type ListControlsProps = {
5
+ readonly beforeActions?: React.ReactNode[];
6
+ readonly collectionConfig: ClientCollectionConfig;
7
+ readonly collectionSlug: string;
8
+ /**
9
+ * @deprecated
10
+ * These are now handled by the `ListSelection` component
11
+ */
12
+ readonly disableBulkDelete?: boolean;
13
+ /**
14
+ * @deprecated
15
+ * These are now handled by the `ListSelection` component
16
+ */
17
+ readonly disableBulkEdit?: boolean;
18
+ readonly enableColumns?: boolean;
19
+ readonly enableSort?: boolean;
20
+ readonly handleSearchChange?: (search: string) => void;
21
+ readonly handleSortChange?: (sort: string) => void;
22
+ readonly handleWhereChange?: (where: Where) => void;
23
+ readonly listMenuItems?: React.ReactNode[];
24
+ readonly renderedFilters?: Map<string, React.ReactNode>;
25
+ readonly resolvedFilterOptions?: Map<string, ResolvedFilterOptions>;
26
+ };
4
27
  /**
5
28
  * The ListControls component is used to render the controls (search, filter, where)
6
29
  * for a collection's list view. You can find those directly above the table which lists
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ListControls/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAgD,MAAM,OAAO,CAAA;AAEpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAiBnD,OAAO,cAAc,CAAA;AAIrB;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAuOpD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ListControls/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAInF,OAAO,KAAsC,MAAM,OAAO,CAAA;AAgB1D,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAC1C,QAAQ,CAAC,gBAAgB,EAAE,sBAAsB,CAAA;IACjD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B;;;OAGG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IACpC;;;OAGG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAA;IAClC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;IAChC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACtD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAClD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IACnD,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAC1C,QAAQ,CAAC,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;IACvD,QAAQ,CAAC,qBAAqB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAA;CACpE,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA4LpD,CAAA"}