@payloadcms/ui 3.0.0-beta.87 → 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 (194) 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/Banner/index.d.ts +2 -2
  12. package/dist/elements/Banner/index.d.ts.map +1 -1
  13. package/dist/elements/Banner/index.js.map +1 -1
  14. package/dist/elements/BulkUpload/ActionsBar/index.d.ts +9 -0
  15. package/dist/elements/BulkUpload/ActionsBar/index.d.ts.map +1 -0
  16. package/dist/elements/BulkUpload/ActionsBar/index.js +186 -0
  17. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -0
  18. package/dist/elements/BulkUpload/ActionsBar/index.scss +59 -0
  19. package/dist/elements/BulkUpload/AddFilesView/index.d.ts +9 -0
  20. package/dist/elements/BulkUpload/AddFilesView/index.d.ts.map +1 -0
  21. package/dist/elements/BulkUpload/AddFilesView/index.js +44 -0
  22. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -0
  23. package/dist/elements/BulkUpload/AddFilesView/index.scss +15 -0
  24. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts +4 -0
  25. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts.map +1 -0
  26. package/dist/elements/BulkUpload/AddingFilesView/index.js +98 -0
  27. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -0
  28. package/dist/elements/BulkUpload/AddingFilesView/index.scss +23 -0
  29. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.d.ts +4 -0
  30. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.d.ts.map +1 -0
  31. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js +89 -0
  32. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -0
  33. package/dist/elements/BulkUpload/DrawerCloseButton/index.d.ts +9 -0
  34. package/dist/elements/BulkUpload/DrawerCloseButton/index.d.ts.map +1 -0
  35. package/dist/elements/BulkUpload/DrawerCloseButton/index.js +38 -0
  36. package/dist/elements/BulkUpload/DrawerCloseButton/index.js.map +1 -0
  37. package/dist/elements/BulkUpload/DrawerCloseButton/index.scss +27 -0
  38. package/dist/elements/BulkUpload/EditForm/index.d.ts +5 -0
  39. package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -0
  40. package/dist/elements/BulkUpload/EditForm/index.js +176 -0
  41. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -0
  42. package/dist/elements/BulkUpload/EditForm/index.scss +9 -0
  43. package/dist/elements/BulkUpload/EditForm/types.d.ts +4 -0
  44. package/dist/elements/BulkUpload/EditForm/types.d.ts.map +1 -0
  45. package/dist/elements/BulkUpload/EditForm/types.js +2 -0
  46. package/dist/elements/BulkUpload/EditForm/types.js.map +1 -0
  47. package/dist/elements/BulkUpload/FileSidebar/index.d.ts +4 -0
  48. package/dist/elements/BulkUpload/FileSidebar/index.d.ts.map +1 -0
  49. package/dist/elements/BulkUpload/FileSidebar/index.js +242 -0
  50. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -0
  51. package/dist/elements/BulkUpload/FileSidebar/index.scss +275 -0
  52. package/dist/elements/BulkUpload/FormsManager/createFormData.d.ts +3 -0
  53. package/dist/elements/BulkUpload/FormsManager/createFormData.d.ts.map +1 -0
  54. package/dist/elements/BulkUpload/FormsManager/createFormData.js +22 -0
  55. package/dist/elements/BulkUpload/FormsManager/createFormData.js.map +1 -0
  56. package/dist/elements/BulkUpload/FormsManager/index.d.ts +35 -0
  57. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -0
  58. package/dist/elements/BulkUpload/FormsManager/index.js +308 -0
  59. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -0
  60. package/dist/elements/BulkUpload/FormsManager/reducer.d.ts +30 -0
  61. package/dist/elements/BulkUpload/FormsManager/reducer.d.ts.map +1 -0
  62. package/dist/elements/BulkUpload/FormsManager/reducer.js +69 -0
  63. package/dist/elements/BulkUpload/FormsManager/reducer.js.map +1 -0
  64. package/dist/elements/BulkUpload/Header/index.d.ts +9 -0
  65. package/dist/elements/BulkUpload/Header/index.d.ts.map +1 -0
  66. package/dist/elements/BulkUpload/Header/index.js +22 -0
  67. package/dist/elements/BulkUpload/Header/index.js.map +1 -0
  68. package/dist/elements/BulkUpload/Header/index.scss +12 -0
  69. package/dist/elements/BulkUpload/index.d.ts +10 -0
  70. package/dist/elements/BulkUpload/index.d.ts.map +1 -0
  71. package/dist/elements/BulkUpload/index.js +114 -0
  72. package/dist/elements/BulkUpload/index.js.map +1 -0
  73. package/dist/elements/BulkUpload/index.scss +0 -0
  74. package/dist/elements/Button/index.d.ts.map +1 -1
  75. package/dist/elements/Button/index.js +127 -79
  76. package/dist/elements/Button/index.js.map +1 -1
  77. package/dist/elements/Button/index.scss +109 -43
  78. package/dist/elements/Button/types.d.ts +2 -1
  79. package/dist/elements/Button/types.d.ts.map +1 -1
  80. package/dist/elements/Button/types.js.map +1 -1
  81. package/dist/elements/DocumentDrawer/DrawerContent.js +1 -1
  82. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  83. package/dist/elements/DocumentDrawer/index.js +1 -1
  84. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  85. package/dist/elements/Dropzone/index.scss +2 -0
  86. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts +20 -0
  87. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts.map +1 -0
  88. package/dist/elements/FileDetails/DraggableFileDetails/index.js +116 -0
  89. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -0
  90. package/dist/elements/FileDetails/DraggableFileDetails/index.scss +33 -0
  91. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts +17 -0
  92. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts.map +1 -0
  93. package/dist/elements/FileDetails/StaticFileDetails/index.js +71 -0
  94. package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -0
  95. package/dist/elements/FileDetails/{index.scss → StaticFileDetails/index.scss} +1 -1
  96. package/dist/elements/FileDetails/index.d.ts +19 -4
  97. package/dist/elements/FileDetails/index.d.ts.map +1 -1
  98. package/dist/elements/FileDetails/index.js +11 -62
  99. package/dist/elements/FileDetails/index.js.map +1 -1
  100. package/dist/elements/FullscreenModal/index.d.ts +4 -0
  101. package/dist/elements/FullscreenModal/index.d.ts.map +1 -0
  102. package/dist/elements/FullscreenModal/index.js +38 -0
  103. package/dist/elements/FullscreenModal/index.js.map +1 -0
  104. package/dist/elements/ListControls/index.d.ts.map +1 -1
  105. package/dist/elements/ListControls/index.js +15 -10
  106. package/dist/elements/ListControls/index.js.map +1 -1
  107. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  108. package/dist/elements/ListDrawer/DrawerContent.js +45 -33
  109. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  110. package/dist/elements/ListDrawer/index.d.ts.map +1 -1
  111. package/dist/elements/ListDrawer/index.js.map +1 -1
  112. package/dist/elements/ListDrawer/types.d.ts +4 -1
  113. package/dist/elements/ListDrawer/types.d.ts.map +1 -1
  114. package/dist/elements/ListDrawer/types.js.map +1 -1
  115. package/dist/elements/ListHeader/index.d.ts +10 -0
  116. package/dist/elements/ListHeader/index.d.ts.map +1 -0
  117. package/dist/elements/ListHeader/index.js +17 -0
  118. package/dist/elements/ListHeader/index.js.map +1 -0
  119. package/dist/elements/ListHeader/index.scss +10 -0
  120. package/dist/elements/Popup/PopupButtonList/index.d.ts +1 -1
  121. package/dist/elements/Popup/PopupButtonList/index.d.ts.map +1 -1
  122. package/dist/elements/Popup/PopupButtonList/index.js +4 -4
  123. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  124. package/dist/elements/Popup/PopupTrigger/index.d.ts +2 -0
  125. package/dist/elements/Popup/PopupTrigger/index.d.ts.map +1 -1
  126. package/dist/elements/Popup/PopupTrigger/index.js +5 -2
  127. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  128. package/dist/elements/Popup/PopupTrigger/index.scss +4 -1
  129. package/dist/elements/Popup/index.d.ts +2 -0
  130. package/dist/elements/Popup/index.d.ts.map +1 -1
  131. package/dist/elements/Popup/index.js +6 -0
  132. package/dist/elements/Popup/index.js.map +1 -1
  133. package/dist/elements/SelectMany/index.d.ts +6 -0
  134. package/dist/elements/SelectMany/index.d.ts.map +1 -0
  135. package/dist/elements/SelectMany/index.js +29 -0
  136. package/dist/elements/SelectMany/index.js.map +1 -0
  137. package/dist/elements/Table/DefaultCell/index.js +1 -1
  138. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  139. package/dist/elements/ViewDescription/index.d.ts +3 -2
  140. package/dist/elements/ViewDescription/index.d.ts.map +1 -1
  141. package/dist/elements/ViewDescription/index.js +39 -16
  142. package/dist/elements/ViewDescription/index.js.map +1 -1
  143. package/dist/exports/client/index.d.ts +5 -0
  144. package/dist/exports/client/index.d.ts.map +1 -1
  145. package/dist/exports/client/index.js +19 -19
  146. package/dist/exports/client/index.js.map +4 -4
  147. package/dist/fields/Blocks/SectionTitle/index.scss +1 -1
  148. package/dist/fields/Relationship/index.d.ts.map +1 -1
  149. package/dist/fields/Relationship/index.js +1 -3
  150. package/dist/fields/Relationship/index.js.map +1 -1
  151. package/dist/fields/Upload/HasMany/index.d.ts +4 -0
  152. package/dist/fields/Upload/HasMany/index.d.ts.map +1 -0
  153. package/dist/fields/Upload/HasMany/index.js +474 -0
  154. package/dist/fields/Upload/HasMany/index.js.map +1 -0
  155. package/dist/fields/Upload/HasMany/index.scss +47 -0
  156. package/dist/fields/Upload/{Input.d.ts → HasOne/Input.d.ts} +1 -1
  157. package/dist/fields/Upload/HasOne/Input.d.ts.map +1 -0
  158. package/dist/fields/Upload/{Input.js → HasOne/Input.js} +12 -12
  159. package/dist/fields/Upload/HasOne/Input.js.map +1 -0
  160. package/dist/fields/Upload/HasOne/index.d.ts +12 -0
  161. package/dist/fields/Upload/HasOne/index.d.ts.map +1 -0
  162. package/dist/fields/Upload/HasOne/index.js +131 -0
  163. package/dist/fields/Upload/HasOne/index.js.map +1 -0
  164. package/dist/fields/Upload/{index.scss → HasOne/index.scss} +1 -1
  165. package/dist/fields/Upload/index.d.ts +4 -4
  166. package/dist/fields/Upload/index.d.ts.map +1 -1
  167. package/dist/fields/Upload/index.js +84 -98
  168. package/dist/fields/Upload/index.js.map +1 -1
  169. package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts.map +1 -1
  170. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js +1 -27
  171. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js.map +1 -1
  172. package/dist/providers/Config/createClientConfig/collections.d.ts.map +1 -1
  173. package/dist/providers/Config/createClientConfig/collections.js +3 -4
  174. package/dist/providers/Config/createClientConfig/collections.js.map +1 -1
  175. package/dist/providers/ListInfo/index.d.ts +6 -0
  176. package/dist/providers/ListInfo/index.d.ts.map +1 -1
  177. package/dist/providers/ListInfo/index.js.map +1 -1
  178. package/dist/providers/Selection/index.d.ts +5 -3
  179. package/dist/providers/Selection/index.d.ts.map +1 -1
  180. package/dist/providers/Selection/index.js.map +1 -1
  181. package/dist/styles.css +1 -1
  182. package/package.json +4 -4
  183. package/dist/fields/Relationship/AddNew/index.d.ts.map +0 -1
  184. package/dist/fields/Relationship/AddNew/index.js.map +0 -1
  185. package/dist/fields/Relationship/AddNew/types.d.ts +0 -12
  186. package/dist/fields/Relationship/AddNew/types.d.ts.map +0 -1
  187. package/dist/fields/Relationship/AddNew/types.js.map +0 -1
  188. package/dist/fields/Relationship/AddNew/useRelatedCollections.d.ts.map +0 -1
  189. package/dist/fields/Relationship/AddNew/useRelatedCollections.js.map +0 -1
  190. package/dist/fields/Upload/Input.d.ts.map +0 -1
  191. package/dist/fields/Upload/Input.js.map +0 -1
  192. /package/dist/{fields/Relationship/AddNew → elements/AddNewRelation}/index.d.ts +0 -0
  193. /package/dist/{fields/Relationship/AddNew → elements/AddNewRelation}/types.js +0 -0
  194. /package/dist/{fields/Relationship/AddNew → elements/AddNewRelation}/useRelatedCollections.d.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["c","_c","Modal","React","useEditDepth","FullscreenModal","props","$","currentDepth","t0","style","t1","t2","_jsx","zIndex"],"sources":["../../../src/elements/FullscreenModal/index.tsx"],"sourcesContent":["'use client'\nimport type { Modal as ModalType } from '@faceless-ui/modal'\n\nimport { Modal } from '@faceless-ui/modal'\nimport React from 'react'\n\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\n\nexport function FullscreenModal(props: Parameters<typeof ModalType>[0]) {\n const currentDepth = useEditDepth()\n\n return (\n <Modal\n {...props}\n style={{\n ...(props.style || {}),\n zIndex: `calc(100 + ${currentDepth || 0} + 1)`,\n }}\n />\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,KAAK,QAAQ;AACtB,OAAOC,KAAA,MAAW;AAElB,SAASC,YAAY,QAAQ;AAE7B,OAAO,SAAAC,gBAAAC,KAAA;EAAA,MAAAC,CAAA,GAAAN,EAAA;EACL,MAAAO,YAAA,GAAqBJ,YAAA;EAAA,IAAAK,EAAA;EAAA,IAAAF,CAAA,QAAAD,KAAA,CAAAI,KAAA;IAMXD,EAAA,GAAAH,KAAA,CAAAI,KAAA,MAAiB;IAAAH,CAAA,MAAAD,KAAA,CAAAI,KAAA;IAAAH,CAAA,MAAAE,EAAA;EAAA;IAAAA,EAAA,GAAAF,CAAA;EAAA;EACb,MAAAI,EAAA,iBAAcH,YAAA,KAAgB,OAAQ;EAAA,IAAAI,EAAA;EAAA,IAAAL,CAAA,QAAAE,EAAA,IAAAF,CAAA,QAAAI,EAAA,IAAAJ,CAAA,QAAAD,KAAA;IAJlDM,EAAA,GAAAC,IAAA,CAAAX,KAAA;MAAA,GACMI,KAAK;MAAAI,KAAA;QAAA,GAEHD,EAAiB;QAAAK,MAAA,EACbH;MAAsC;IAAA,C;;;;;;;;SAJlDC,E","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ListControls/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAIzE,OAAO,KAAsC,MAAM,OAAO,CAAA;AAuB1D,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,gBAAgB,EAAE,sBAAsB,CAAA;IACjD,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;IAChC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,CAAA;IAC9B,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;CACpD,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAyLpD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ListControls/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAIzE,OAAO,KAAgD,MAAM,OAAO,CAAA;AAuBpE,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,gBAAgB,EAAE,sBAAsB,CAAA;IACjD,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;IAChC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,CAAA;IAC9B,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;CACpD,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA8LpD,CAAA"}
@@ -4,7 +4,7 @@ import { c as _c } from "react/compiler-runtime";
4
4
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
5
  import { useWindowInfo } from '@faceless-ui/window-info';
6
6
  import { getTranslation } from '@payloadcms/translations';
7
- import React, { useEffect, useRef, useState } from 'react';
7
+ import React, { Fragment, useEffect, useRef, useState } from 'react';
8
8
  import AnimateHeightImport from 'react-animate-height';
9
9
  const AnimateHeight = AnimateHeightImport.default || AnimateHeightImport;
10
10
  import { useUseTitleField } from '../../hooks/useUseAsTitle.js';
@@ -45,7 +45,10 @@ export const ListControls = props => {
45
45
  handleSearchChange
46
46
  } = useListQuery();
47
47
  const {
48
- collectionSlug
48
+ beforeActions,
49
+ collectionSlug,
50
+ disableBulkDelete,
51
+ disableBulkEdit
49
52
  } = useListInfo();
50
53
  const {
51
54
  searchParams
@@ -247,14 +250,16 @@ export const ListControls = props => {
247
250
  children: _jsxs("div", {
248
251
  className: `${baseClass}__buttons-wrap`,
249
252
  children: [!smallBreak && _jsxs(React.Fragment, {
250
- children: [_jsx(EditMany, {
251
- collection: collectionConfig,
252
- fields
253
- }), _jsx(PublishMany, {
254
- collection: collectionConfig
255
- }), _jsx(UnpublishMany, {
256
- collection: collectionConfig
257
- }), _jsx(DeleteMany, {
253
+ children: [beforeActions && beforeActions, !disableBulkEdit && _jsxs(Fragment, {
254
+ children: [_jsx(EditMany, {
255
+ collection: collectionConfig,
256
+ fields
257
+ }), _jsx(PublishMany, {
258
+ collection: collectionConfig
259
+ }), _jsx(UnpublishMany, {
260
+ collection: collectionConfig
261
+ })]
262
+ }), !disableBulkDelete && _jsx(DeleteMany, {
258
263
  collection: collectionConfig
259
264
  })]
260
265
  }), t10, _jsx(Pill, {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useWindowInfo","getTranslation","React","useEffect","useRef","useState","AnimateHeightImport","AnimateHeight","default","useUseTitleField","ChevronIcon","SearchIcon","useListInfo","useListQuery","useSearchParams","useTranslation","ColumnSelector","DeleteMany","EditMany","Pill","PublishMany","SearchFilter","UnpublishMany","WhereBuilder","validateWhereQuery","getTextFieldsToBeSearched","baseClass","ListControls","props","$","collectionConfig","enableColumns","t0","enableSort","t1","fields","undefined","handleSearchChange","collectionSlug","searchParams","titleField","i18n","t","breakpoints","t2","s","smallBreak","search","setSearch","t3","label","name","searchLabel","t4","admin","listSearchableFields","searchLabelTranslated","hasWhereParam","Boolean","where","shouldInitializeWhereOpened","visibleDrawer","setVisibleDrawer","t5","current","t6","t7","t8","length","reduce","placeholderText","field","i","t9","search_0","t10","_jsx","className","icon","onClick","pillStyle","children","t11","t12","t13","height","id","slug","t14","_jsxs","fieldName","handleChange","initialParams","setValue","value","Fragment","collection","collectionPluralLabel","labels","plural","String"],"sources":["../../../src/elements/ListControls/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, ClientField, Where } from 'payload'\n\nimport { useWindowInfo } from '@faceless-ui/window-info'\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useEffect, useRef, useState } from 'react'\nimport AnimateHeightImport from 'react-animate-height'\n\nconst AnimateHeight = (AnimateHeightImport.default ||\n AnimateHeightImport) as typeof AnimateHeightImport.default\n\nimport { useUseTitleField } from '../../hooks/useUseAsTitle.js'\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { SearchIcon } from '../../icons/Search/index.js'\nimport { useListInfo } from '../../providers/ListInfo/index.js'\nimport { useListQuery } from '../../providers/ListQuery/index.js'\nimport { useSearchParams } from '../../providers/SearchParams/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { ColumnSelector } from '../ColumnSelector/index.js'\nimport { DeleteMany } from '../DeleteMany/index.js'\nimport { EditMany } from '../EditMany/index.js'\nimport { Pill } from '../Pill/index.js'\nimport { PublishMany } from '../PublishMany/index.js'\nimport { SearchFilter } from '../SearchFilter/index.js'\nimport { UnpublishMany } from '../UnpublishMany/index.js'\nimport { WhereBuilder } from '../WhereBuilder/index.js'\nimport validateWhereQuery from '../WhereBuilder/validateWhereQuery.js'\nimport { getTextFieldsToBeSearched } from './getTextFieldsToBeSearched.js'\nimport './index.scss'\n\nconst baseClass = 'list-controls'\n\nexport type ListControlsProps = {\n readonly collectionConfig: ClientCollectionConfig\n readonly enableColumns?: boolean\n readonly enableSort?: boolean\n readonly fields: ClientField[]\n readonly handleSearchChange?: (search: string) => void\n readonly handleSortChange?: (sort: string) => void\n readonly handleWhereChange?: (where: Where) => void\n}\n\n/**\n * The ListControls component is used to render the controls (search, filter, where)\n * for a collection's list view. You can find those directly above the table which lists\n * the collection's documents.\n */\nexport const ListControls: React.FC<ListControlsProps> = (props) => {\n const { collectionConfig, enableColumns = true, enableSort = false, fields } = props\n\n const { handleSearchChange } = useListQuery()\n const { collectionSlug } = useListInfo()\n const { searchParams } = useSearchParams()\n const titleField = useUseTitleField(collectionConfig, fields)\n const { i18n, t } = useTranslation()\n const {\n breakpoints: { s: smallBreak },\n } = useWindowInfo()\n const [search, setSearch] = useState(\n typeof searchParams?.search === 'string' ? searchParams?.search : '',\n )\n\n const searchLabel =\n (titleField &&\n getTranslation(\n 'label' in titleField && typeof titleField.label === 'string'\n ? titleField.label\n : 'name' in titleField\n ? titleField.name\n : null,\n i18n,\n )) ??\n 'ID'\n\n const listSearchableFields = getTextFieldsToBeSearched(\n collectionConfig.admin.listSearchableFields,\n fields,\n )\n\n const searchLabelTranslated = useRef(\n t('general:searchBy', { label: getTranslation(searchLabel, i18n) }),\n )\n\n const hasWhereParam = useRef(Boolean(searchParams?.where))\n\n const shouldInitializeWhereOpened = validateWhereQuery(searchParams?.where)\n const [visibleDrawer, setVisibleDrawer] = useState<'columns' | 'sort' | 'where'>(\n shouldInitializeWhereOpened ? 'where' : undefined,\n )\n\n useEffect(() => {\n if (hasWhereParam.current && !searchParams?.where) {\n setVisibleDrawer(undefined)\n hasWhereParam.current = false\n } else if (searchParams?.where) {\n hasWhereParam.current = true\n }\n }, [setVisibleDrawer, searchParams?.where])\n\n useEffect(() => {\n if (listSearchableFields?.length > 0) {\n searchLabelTranslated.current = listSearchableFields.reduce(\n (placeholderText: string, field, i: number) => {\n const label =\n 'label' in field && field.label ? field.label : 'name' in field ? field.name : null\n\n if (i === 0) {\n return `${t('general:searchBy', {\n label: getTranslation(label, i18n),\n })}`\n }\n\n if (i === listSearchableFields.length - 1) {\n return `${placeholderText} ${t('general:or')} ${getTranslation(label, i18n)}`\n }\n\n return `${placeholderText}, ${getTranslation(label, i18n)}`\n },\n '',\n )\n } else {\n searchLabelTranslated.current = t('general:searchBy', {\n label: getTranslation(searchLabel, i18n),\n })\n }\n }, [t, listSearchableFields, i18n, searchLabel])\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__wrap`}>\n <SearchIcon />\n <SearchFilter\n fieldName={'name' in titleField ? titleField?.name : null}\n handleChange={(search) => {\n return void handleSearchChange(search)\n }}\n initialParams={searchParams}\n key={collectionSlug}\n label={searchLabelTranslated.current}\n setValue={setSearch}\n value={search}\n />\n <div className={`${baseClass}__buttons`}>\n <div className={`${baseClass}__buttons-wrap`}>\n {!smallBreak && (\n <React.Fragment>\n <EditMany collection={collectionConfig} fields={fields} />\n <PublishMany collection={collectionConfig} />\n <UnpublishMany collection={collectionConfig} />\n <DeleteMany collection={collectionConfig} />\n </React.Fragment>\n )}\n {enableColumns && (\n <Pill\n aria-controls={`${baseClass}-columns`}\n aria-expanded={visibleDrawer === 'columns'}\n className={`${baseClass}__toggle-columns ${\n visibleDrawer === 'columns' ? `${baseClass}__buttons-active` : ''\n }`}\n icon={<ChevronIcon />}\n onClick={() =>\n setVisibleDrawer(visibleDrawer !== 'columns' ? 'columns' : undefined)\n }\n pillStyle=\"light\"\n >\n {t('general:columns')}\n </Pill>\n )}\n <Pill\n aria-controls={`${baseClass}-where`}\n aria-expanded={visibleDrawer === 'where'}\n className={`${baseClass}__toggle-where ${\n visibleDrawer === 'where' ? `${baseClass}__buttons-active` : ''\n }`}\n icon={<ChevronIcon />}\n onClick={() => setVisibleDrawer(visibleDrawer !== 'where' ? 'where' : undefined)}\n pillStyle=\"light\"\n >\n {t('general:filters')}\n </Pill>\n {enableSort && (\n <Pill\n aria-controls={`${baseClass}-sort`}\n aria-expanded={visibleDrawer === 'sort'}\n className={`${baseClass}__toggle-sort`}\n icon={<ChevronIcon />}\n onClick={() => setVisibleDrawer(visibleDrawer !== 'sort' ? 'sort' : undefined)}\n pillStyle=\"light\"\n >\n {t('general:sort')}\n </Pill>\n )}\n </div>\n </div>\n </div>\n {enableColumns && (\n <AnimateHeight\n className={`${baseClass}__columns`}\n height={visibleDrawer === 'columns' ? 'auto' : 0}\n id={`${baseClass}-columns`}\n >\n <ColumnSelector collectionSlug={collectionConfig.slug} />\n </AnimateHeight>\n )}\n <AnimateHeight\n className={`${baseClass}__where`}\n height={visibleDrawer === 'where' ? 'auto' : 0}\n id={`${baseClass}-where`}\n >\n <WhereBuilder\n collectionPluralLabel={collectionConfig?.labels?.plural}\n collectionSlug={collectionConfig.slug}\n fields={fields}\n key={String(hasWhereParam.current && !searchParams?.where)}\n />\n </AnimateHeight>\n {enableSort && (\n <AnimateHeight\n className={`${baseClass}__sort`}\n height={visibleDrawer === 'sort' ? 'auto' : 0}\n id={`${baseClass}-sort`}\n >\n <p>Sort Complex</p>\n {/* <SortComplex\n collection={collection}\n handleChange={handleSortChange}\n modifySearchQuery={modifySearchQuery}\n /> */}\n </AnimateHeight>\n )}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useWindowInfo","getTranslation","React","Fragment","useEffect","useRef","useState","AnimateHeightImport","AnimateHeight","default","useUseTitleField","ChevronIcon","SearchIcon","useListInfo","useListQuery","useSearchParams","useTranslation","ColumnSelector","DeleteMany","EditMany","Pill","PublishMany","SearchFilter","UnpublishMany","WhereBuilder","validateWhereQuery","getTextFieldsToBeSearched","baseClass","ListControls","props","$","collectionConfig","enableColumns","t0","enableSort","t1","fields","undefined","handleSearchChange","beforeActions","collectionSlug","disableBulkDelete","disableBulkEdit","searchParams","titleField","i18n","t","breakpoints","t2","s","smallBreak","search","setSearch","t3","label","name","searchLabel","t4","admin","listSearchableFields","searchLabelTranslated","hasWhereParam","Boolean","where","shouldInitializeWhereOpened","visibleDrawer","setVisibleDrawer","t5","current","t6","t7","t8","length","reduce","placeholderText","field","i","t9","search_0","t10","_jsx","className","icon","onClick","pillStyle","children","t11","t12","t13","height","id","slug","t14","_jsxs","fieldName","handleChange","initialParams","setValue","value","collection","collectionPluralLabel","labels","plural","String"],"sources":["../../../src/elements/ListControls/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, ClientField, Where } from 'payload'\n\nimport { useWindowInfo } from '@faceless-ui/window-info'\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { Fragment, useEffect, useRef, useState } from 'react'\nimport AnimateHeightImport from 'react-animate-height'\n\nconst AnimateHeight = (AnimateHeightImport.default ||\n AnimateHeightImport) as typeof AnimateHeightImport.default\n\nimport { useUseTitleField } from '../../hooks/useUseAsTitle.js'\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { SearchIcon } from '../../icons/Search/index.js'\nimport { useListInfo } from '../../providers/ListInfo/index.js'\nimport { useListQuery } from '../../providers/ListQuery/index.js'\nimport { useSearchParams } from '../../providers/SearchParams/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { ColumnSelector } from '../ColumnSelector/index.js'\nimport { DeleteMany } from '../DeleteMany/index.js'\nimport { EditMany } from '../EditMany/index.js'\nimport { Pill } from '../Pill/index.js'\nimport { PublishMany } from '../PublishMany/index.js'\nimport { SearchFilter } from '../SearchFilter/index.js'\nimport { UnpublishMany } from '../UnpublishMany/index.js'\nimport { WhereBuilder } from '../WhereBuilder/index.js'\nimport validateWhereQuery from '../WhereBuilder/validateWhereQuery.js'\nimport { getTextFieldsToBeSearched } from './getTextFieldsToBeSearched.js'\nimport './index.scss'\n\nconst baseClass = 'list-controls'\n\nexport type ListControlsProps = {\n readonly collectionConfig: ClientCollectionConfig\n readonly enableColumns?: boolean\n readonly enableSort?: boolean\n readonly fields: ClientField[]\n readonly handleSearchChange?: (search: string) => void\n readonly handleSortChange?: (sort: string) => void\n readonly handleWhereChange?: (where: Where) => void\n}\n\n/**\n * The ListControls component is used to render the controls (search, filter, where)\n * for a collection's list view. You can find those directly above the table which lists\n * the collection's documents.\n */\nexport const ListControls: React.FC<ListControlsProps> = (props) => {\n const { collectionConfig, enableColumns = true, enableSort = false, fields } = props\n\n const { handleSearchChange } = useListQuery()\n const { beforeActions, collectionSlug, disableBulkDelete, disableBulkEdit } = useListInfo()\n const { searchParams } = useSearchParams()\n const titleField = useUseTitleField(collectionConfig, fields)\n const { i18n, t } = useTranslation()\n const {\n breakpoints: { s: smallBreak },\n } = useWindowInfo()\n const [search, setSearch] = useState(\n typeof searchParams?.search === 'string' ? searchParams?.search : '',\n )\n\n const searchLabel =\n (titleField &&\n getTranslation(\n 'label' in titleField && typeof titleField.label === 'string'\n ? titleField.label\n : 'name' in titleField\n ? titleField.name\n : null,\n i18n,\n )) ??\n 'ID'\n\n const listSearchableFields = getTextFieldsToBeSearched(\n collectionConfig.admin.listSearchableFields,\n fields,\n )\n\n const searchLabelTranslated = useRef(\n t('general:searchBy', { label: getTranslation(searchLabel, i18n) }),\n )\n\n const hasWhereParam = useRef(Boolean(searchParams?.where))\n\n const shouldInitializeWhereOpened = validateWhereQuery(searchParams?.where)\n const [visibleDrawer, setVisibleDrawer] = useState<'columns' | 'sort' | 'where'>(\n shouldInitializeWhereOpened ? 'where' : undefined,\n )\n\n useEffect(() => {\n if (hasWhereParam.current && !searchParams?.where) {\n setVisibleDrawer(undefined)\n hasWhereParam.current = false\n } else if (searchParams?.where) {\n hasWhereParam.current = true\n }\n }, [setVisibleDrawer, searchParams?.where])\n\n useEffect(() => {\n if (listSearchableFields?.length > 0) {\n searchLabelTranslated.current = listSearchableFields.reduce(\n (placeholderText: string, field, i: number) => {\n const label =\n 'label' in field && field.label ? field.label : 'name' in field ? field.name : null\n\n if (i === 0) {\n return `${t('general:searchBy', {\n label: getTranslation(label, i18n),\n })}`\n }\n\n if (i === listSearchableFields.length - 1) {\n return `${placeholderText} ${t('general:or')} ${getTranslation(label, i18n)}`\n }\n\n return `${placeholderText}, ${getTranslation(label, i18n)}`\n },\n '',\n )\n } else {\n searchLabelTranslated.current = t('general:searchBy', {\n label: getTranslation(searchLabel, i18n),\n })\n }\n }, [t, listSearchableFields, i18n, searchLabel])\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__wrap`}>\n <SearchIcon />\n <SearchFilter\n fieldName={'name' in titleField ? titleField?.name : null}\n handleChange={(search) => {\n return void handleSearchChange(search)\n }}\n initialParams={searchParams}\n key={collectionSlug}\n label={searchLabelTranslated.current}\n setValue={setSearch}\n value={search}\n />\n <div className={`${baseClass}__buttons`}>\n <div className={`${baseClass}__buttons-wrap`}>\n {!smallBreak && (\n <React.Fragment>\n {beforeActions && beforeActions}\n {!disableBulkEdit && (\n <Fragment>\n <EditMany collection={collectionConfig} fields={fields} />\n <PublishMany collection={collectionConfig} />\n <UnpublishMany collection={collectionConfig} />\n </Fragment>\n )}\n {!disableBulkDelete && <DeleteMany collection={collectionConfig} />}\n </React.Fragment>\n )}\n {enableColumns && (\n <Pill\n aria-controls={`${baseClass}-columns`}\n aria-expanded={visibleDrawer === 'columns'}\n className={`${baseClass}__toggle-columns ${\n visibleDrawer === 'columns' ? `${baseClass}__buttons-active` : ''\n }`}\n icon={<ChevronIcon />}\n onClick={() =>\n setVisibleDrawer(visibleDrawer !== 'columns' ? 'columns' : undefined)\n }\n pillStyle=\"light\"\n >\n {t('general:columns')}\n </Pill>\n )}\n <Pill\n aria-controls={`${baseClass}-where`}\n aria-expanded={visibleDrawer === 'where'}\n className={`${baseClass}__toggle-where ${\n visibleDrawer === 'where' ? `${baseClass}__buttons-active` : ''\n }`}\n icon={<ChevronIcon />}\n onClick={() => setVisibleDrawer(visibleDrawer !== 'where' ? 'where' : undefined)}\n pillStyle=\"light\"\n >\n {t('general:filters')}\n </Pill>\n {enableSort && (\n <Pill\n aria-controls={`${baseClass}-sort`}\n aria-expanded={visibleDrawer === 'sort'}\n className={`${baseClass}__toggle-sort`}\n icon={<ChevronIcon />}\n onClick={() => setVisibleDrawer(visibleDrawer !== 'sort' ? 'sort' : undefined)}\n pillStyle=\"light\"\n >\n {t('general:sort')}\n </Pill>\n )}\n </div>\n </div>\n </div>\n {enableColumns && (\n <AnimateHeight\n className={`${baseClass}__columns`}\n height={visibleDrawer === 'columns' ? 'auto' : 0}\n id={`${baseClass}-columns`}\n >\n <ColumnSelector collectionSlug={collectionConfig.slug} />\n </AnimateHeight>\n )}\n <AnimateHeight\n className={`${baseClass}__where`}\n height={visibleDrawer === 'where' ? 'auto' : 0}\n id={`${baseClass}-where`}\n >\n <WhereBuilder\n collectionPluralLabel={collectionConfig?.labels?.plural}\n collectionSlug={collectionConfig.slug}\n fields={fields}\n key={String(hasWhereParam.current && !searchParams?.where)}\n />\n </AnimateHeight>\n {enableSort && (\n <AnimateHeight\n className={`${baseClass}__sort`}\n height={visibleDrawer === 'sort' ? 'auto' : 0}\n id={`${baseClass}-sort`}\n >\n <p>Sort Complex</p>\n {/* <SortComplex\n collection={collection}\n handleChange={handleSortChange}\n modifySearchQuery={modifySearchQuery}\n /> */}\n </AnimateHeight>\n )}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../src/elements/ListDrawer/DrawerContent.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAuD,MAAM,OAAO,CAAA;AAE3E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAoCjD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAgRvD,CAAA"}
1
+ {"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../src/elements/ListDrawer/DrawerContent.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAuD,MAAM,OAAO,CAAA;AAE3E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAqCjD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA4RvD,CAAA"}
@@ -5,6 +5,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
5
  import { useModal } from '@faceless-ui/modal';
6
6
  import { getTranslation } from '@payloadcms/translations';
7
7
  import React, { useCallback, useEffect, useReducer, useState } from 'react';
8
+ import { SelectMany } from '../../elements/SelectMany/index.js';
8
9
  import { FieldLabel } from '../../fields/FieldLabel/index.js';
9
10
  import { usePayloadAPI } from '../../hooks/usePayloadAPI.js';
10
11
  import { XIcon } from '../../icons/X/index.js';
@@ -37,12 +38,14 @@ const hoistQueryParamsToAnd = (where, queryParams) => {
37
38
  return where;
38
39
  };
39
40
  export const ListDrawerContent = t0 => {
40
- const $ = _c(95);
41
+ const $ = _c(97);
41
42
  const {
42
43
  collectionSlugs,
43
44
  customHeader,
44
45
  drawerSlug,
46
+ enableRowSelections,
45
47
  filterOptions,
48
+ onBulkSelect,
46
49
  onSelect,
47
50
  selectedCollection
48
51
  } = t0;
@@ -385,48 +388,49 @@ export const ListDrawerContent = t0 => {
385
388
  t21 = $[63];
386
389
  }
387
390
  let t22;
388
- if ($[64] !== t21 || $[65] !== hasCreatePermission || $[66] !== t || $[67] !== DocumentDrawerToggler || $[68] !== closeModal || $[69] !== drawerSlug || $[70] !== selectedCollectionConfig || $[71] !== moreThanOneAvailableCollection || $[72] !== i18n || $[73] !== enabledCollectionConfigs || $[74] !== selectedOption || $[75] !== limit || $[76] !== onSelect || $[77] !== List || $[78] !== onCreateNew || $[79] !== DocumentDrawer || $[80] !== preferenceKey || $[81] !== data || $[82] !== sort) {
391
+ if ($[64] !== t21 || $[65] !== hasCreatePermission || $[66] !== t || $[67] !== DocumentDrawerToggler || $[68] !== closeModal || $[69] !== drawerSlug || $[70] !== selectedCollectionConfig || $[71] !== moreThanOneAvailableCollection || $[72] !== i18n || $[73] !== enabledCollectionConfigs || $[74] !== selectedOption || $[75] !== enableRowSelections || $[76] !== onBulkSelect || $[77] !== limit || $[78] !== onSelect || $[79] !== List || $[80] !== onCreateNew || $[81] !== DocumentDrawer || $[82] !== preferenceKey || $[83] !== data || $[84] !== sort) {
389
392
  let t23;
390
- if ($[84] !== hasCreatePermission || $[85] !== t || $[86] !== DocumentDrawerToggler) {
393
+ if ($[86] !== hasCreatePermission || $[87] !== t || $[88] !== DocumentDrawerToggler) {
391
394
  t23 = hasCreatePermission && _jsx(DocumentDrawerToggler, {
392
395
  className: `${baseClass}__create-new-button`,
393
396
  children: _jsx(Pill, {
394
397
  children: t("general:createNew")
395
398
  })
396
399
  });
397
- $[84] = hasCreatePermission;
398
- $[85] = t;
399
- $[86] = DocumentDrawerToggler;
400
- $[87] = t23;
400
+ $[86] = hasCreatePermission;
401
+ $[87] = t;
402
+ $[88] = DocumentDrawerToggler;
403
+ $[89] = t23;
401
404
  } else {
402
- t23 = $[87];
405
+ t23 = $[89];
403
406
  }
404
407
  let t24;
405
- if ($[88] !== closeModal || $[89] !== drawerSlug) {
408
+ if ($[90] !== closeModal || $[91] !== drawerSlug) {
406
409
  t24 = () => {
407
410
  closeModal(drawerSlug);
408
411
  };
409
- $[88] = closeModal;
410
- $[89] = drawerSlug;
411
- $[90] = t24;
412
+ $[90] = closeModal;
413
+ $[91] = drawerSlug;
414
+ $[92] = t24;
412
415
  } else {
413
- t24 = $[90];
416
+ t24 = $[92];
414
417
  }
415
418
  let t25;
416
- if ($[91] !== selectedCollectionConfig) {
417
- t25 = selectedCollectionConfig?.admin?.description && _jsx("div", {
419
+ if ($[93] !== selectedCollectionConfig) {
420
+ t25 = (selectedCollectionConfig?.admin?.description || selectedCollectionConfig?.admin?.components?.Description) && _jsx("div", {
418
421
  className: `${baseClass}__sub-header`,
419
422
  children: _jsx(ViewDescription, {
420
- description: selectedCollectionConfig.admin.description
423
+ Description: selectedCollectionConfig.admin?.components?.Description,
424
+ description: selectedCollectionConfig.admin?.description
421
425
  })
422
426
  });
423
- $[91] = selectedCollectionConfig;
424
- $[92] = t25;
427
+ $[93] = selectedCollectionConfig;
428
+ $[94] = t25;
425
429
  } else {
426
- t25 = $[92];
430
+ t25 = $[94];
427
431
  }
428
432
  let t26;
429
- if ($[93] !== onSelect) {
433
+ if ($[95] !== onSelect) {
430
434
  t26 = t27 => {
431
435
  const {
432
436
  collectionSlug: rowColl,
@@ -439,10 +443,10 @@ export const ListDrawerContent = t0 => {
439
443
  });
440
444
  }
441
445
  };
442
- $[93] = onSelect;
443
- $[94] = t26;
446
+ $[95] = onSelect;
447
+ $[96] = t26;
444
448
  } else {
445
- t26 = $[94];
449
+ t26 = $[96];
446
450
  }
447
451
  t22 = _jsx(ListInfoProvider, {
448
452
  Header: _jsxs("header", {
@@ -478,8 +482,13 @@ export const ListDrawerContent = t0 => {
478
482
  })]
479
483
  })]
480
484
  }),
485
+ beforeActions: enableRowSelections ? [_jsx(SelectMany, {
486
+ onClick: onBulkSelect
487
+ }, "select-many")] : undefined,
481
488
  collectionConfig: selectedCollectionConfig,
482
489
  collectionSlug: selectedCollectionConfig.slug,
490
+ disableBulkDelete: true,
491
+ disableBulkEdit: true,
483
492
  hasCreatePermission,
484
493
  newDocumentURL: null,
485
494
  children: _jsx(ListQueryProvider, {
@@ -500,6 +509,7 @@ export const ListDrawerContent = t0 => {
500
509
  onClick: t26
501
510
  }],
502
511
  collectionSlug: selectedCollectionConfig.slug,
512
+ enableRowSelections,
503
513
  preferenceKey,
504
514
  children: [_jsx(RenderComponent, {
505
515
  mappedComponent: List
@@ -520,17 +530,19 @@ export const ListDrawerContent = t0 => {
520
530
  $[72] = i18n;
521
531
  $[73] = enabledCollectionConfigs;
522
532
  $[74] = selectedOption;
523
- $[75] = limit;
524
- $[76] = onSelect;
525
- $[77] = List;
526
- $[78] = onCreateNew;
527
- $[79] = DocumentDrawer;
528
- $[80] = preferenceKey;
529
- $[81] = data;
530
- $[82] = sort;
531
- $[83] = t22;
533
+ $[75] = enableRowSelections;
534
+ $[76] = onBulkSelect;
535
+ $[77] = limit;
536
+ $[78] = onSelect;
537
+ $[79] = List;
538
+ $[80] = onCreateNew;
539
+ $[81] = DocumentDrawer;
540
+ $[82] = preferenceKey;
541
+ $[83] = data;
542
+ $[84] = sort;
543
+ $[85] = t22;
532
544
  } else {
533
- t22 = $[83];
545
+ t22 = $[85];
534
546
  }
535
547
  return t22;
536
548
  };
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerContent.js","names":["c","_c","useModal","getTranslation","React","useCallback","useEffect","useReducer","useState","FieldLabel","usePayloadAPI","XIcon","useAuth","RenderComponent","useConfig","ListInfoProvider","ListQueryProvider","usePreferences","useTranslation","useDocumentDrawer","LoadingOverlay","Pill","ReactSelect","TableColumnsProvider","ViewDescription","baseClass","hoistQueryParamsToAnd","where","queryParams","and","push","ListDrawerContent","t0","$","collectionSlugs","customHeader","drawerSlug","filterOptions","onSelect","selectedCollection","i18n","t","permissions","setPreference","closeModal","isModalOpen","limit","setLimit","sort","setSort","page","setPage","setWhere","search","setSearch","config","t1","collections","routes","t2","serverURL","api","t3","t4","t5","slug","includes","filter","enabledCollectionConfigs","find","slug_0","selectedCollectionConfig","setSelectedCollectionConfig","List","admin","components","views","list","Component","label","labels","singular","value","undefined","selectedOption","setSelectedOption","t6","_temp","t7","selectedConfig","t8","slug_1","preferenceKey","t9","collectionSlug","DocumentDrawer","DocumentDrawerToggler","t10","documentDrawerSlug","t11","t12","Array","isArray","t13","slug_2","collectionPermissions","hasCreatePermission","create","permission","isOpen","apiURL","cacheBust","dispatchCacheBust","_temp2","initialParams","depth","t14","t15","data","isError","isLoading","isLoadingList","setParams","moreThanOneAvailableCollection","length","t16","slug_3","t17","versions","listSearchableFields","useAsTitle","params","copyOfWhere","filterOption","searchAsConditions","map","fieldName","like","searchFilter","or","drafts","draft","t18","t19","newPreferences","t20","t21","doc","docID","id","onCreateNew","Symbol","for","_jsx","plural","t22","t23","className","children","t24","t25","description","t26","t27","rowColl","rowData","Header","_jsxs","onClick","type","field","onChange","options","coll","newDocumentURL","defaultLimit","pagination","defaultSort","handlePageChange","handlePerPageChange","handleSearchChange","handleSortChange","handleWhereChange","modifySearchParams","cellProps","link","mappedComponent","onSave","state"],"sources":["../../../src/elements/ListDrawer/DrawerContent.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, Where } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback, useEffect, useReducer, useState } from 'react'\n\nimport type { ListDrawerProps } from './types.js'\n\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { usePayloadAPI } from '../../hooks/usePayloadAPI.js'\nimport { XIcon } from '../../icons/X/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { RenderComponent } from '../../providers/Config/RenderComponent.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { ListInfoProvider } from '../../providers/ListInfo/index.js'\nimport { ListQueryProvider } from '../../providers/ListQuery/index.js'\nimport { usePreferences } from '../../providers/Preferences/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useDocumentDrawer } from '../DocumentDrawer/index.js'\nimport { LoadingOverlay } from '../Loading/index.js'\nimport { Pill } from '../Pill/index.js'\nimport { type Option, ReactSelect } from '../ReactSelect/index.js'\nimport { TableColumnsProvider } from '../TableColumns/index.js'\nimport { ViewDescription } from '../ViewDescription/index.js'\nimport { baseClass } from './index.js'\n\nconst hoistQueryParamsToAnd = (where: Where, queryParams: Where) => {\n if ('and' in where) {\n where.and.push(queryParams)\n } else if ('or' in where) {\n where = {\n and: [where, queryParams],\n }\n } else {\n where = {\n and: [where, queryParams],\n }\n }\n\n return where\n}\n\nexport const ListDrawerContent: React.FC<ListDrawerProps> = ({\n collectionSlugs,\n customHeader,\n drawerSlug,\n filterOptions,\n onSelect,\n selectedCollection,\n}) => {\n const { i18n, t } = useTranslation()\n const { permissions } = useAuth()\n const { setPreference } = usePreferences()\n const { closeModal, isModalOpen } = useModal()\n const [limit, setLimit] = useState<number>()\n const [sort, setSort] = useState<string>(null)\n const [page, setPage] = useState<number>(1)\n const [where, setWhere] = useState<Where>(null)\n const [search, setSearch] = useState<string>('')\n\n const {\n config: {\n collections,\n routes: { api },\n serverURL,\n },\n } = useConfig()\n\n const enabledCollectionConfigs = collections.filter(({ slug }) => {\n return collectionSlugs.includes(slug)\n })\n\n const [selectedCollectionConfig, setSelectedCollectionConfig] = useState<ClientCollectionConfig>(\n () => {\n return (\n enabledCollectionConfigs.find(({ slug }) => slug === selectedCollection) ||\n enabledCollectionConfigs?.[0]\n )\n },\n )\n\n const List = selectedCollectionConfig?.admin?.components.views.list.Component\n\n const [selectedOption, setSelectedOption] = useState<Option | Option[]>(() =>\n selectedCollectionConfig\n ? {\n label: getTranslation(selectedCollectionConfig.labels.singular, i18n),\n value: selectedCollectionConfig.slug,\n }\n : undefined,\n )\n\n // const [fields, setFields] = useState<Field[]>(() => formatFields(selectedCollectionConfig))\n\n useEffect(() => {\n // setFields(formatFields(selectedCollectionConfig))\n }, [selectedCollectionConfig])\n\n // allow external control of selected collection, same as the initial state logic above\n useEffect(() => {\n if (selectedCollection) {\n // if passed a selection, find it and check if it's enabled\n const selectedConfig =\n enabledCollectionConfigs.find(({ slug }) => slug === selectedCollection) ||\n enabledCollectionConfigs?.[0]\n setSelectedCollectionConfig(selectedConfig)\n }\n }, [selectedCollection, enabledCollectionConfigs, onSelect, t])\n\n const preferenceKey = `${selectedCollectionConfig.slug}-list`\n\n // this is the 'create new' drawer\n const [DocumentDrawer, DocumentDrawerToggler, { drawerSlug: documentDrawerSlug }] =\n useDocumentDrawer({\n collectionSlug: selectedCollectionConfig.slug,\n })\n\n useEffect(() => {\n if (selectedOption && !Array.isArray(selectedOption)) {\n setSelectedCollectionConfig(\n enabledCollectionConfigs.find(({ slug }) => selectedOption.value === slug),\n )\n }\n }, [selectedOption, enabledCollectionConfigs])\n\n const collectionPermissions = permissions?.collections?.[selectedCollectionConfig?.slug]\n const hasCreatePermission = collectionPermissions?.create?.permission\n\n // If modal is open, get active page of upload gallery\n const isOpen = isModalOpen(drawerSlug)\n const apiURL = isOpen ? `${serverURL}${api}/${selectedCollectionConfig.slug}` : null\n const [cacheBust, dispatchCacheBust] = useReducer((state) => state + 1, 0) // used to force a re-fetch even when apiURL is unchanged\n const [{ data, isError, isLoading: isLoadingList }, { setParams }] = usePayloadAPI(apiURL, {\n initialParams: {\n depth: 0,\n },\n })\n const moreThanOneAvailableCollection = enabledCollectionConfigs.length > 1\n\n useEffect(() => {\n const {\n slug,\n admin: { listSearchableFields, useAsTitle } = {},\n versions,\n } = selectedCollectionConfig\n const params: {\n cacheBust?: number\n depth?: number\n draft?: string\n limit?: number\n page?: number\n search?: string\n sort?: string\n where?: unknown\n } = {\n depth: 0,\n }\n\n let copyOfWhere = { ...(where || {}) }\n const filterOption = filterOptions?.[slug]\n\n if (filterOptions && typeof filterOption !== 'boolean') {\n copyOfWhere = hoistQueryParamsToAnd(copyOfWhere, filterOption)\n }\n\n if (search) {\n const searchAsConditions = (listSearchableFields || [useAsTitle]).map((fieldName) => {\n return {\n [fieldName]: {\n like: search,\n },\n }\n }, [])\n\n if (searchAsConditions.length > 0) {\n const searchFilter: Where = {\n or: [...searchAsConditions],\n }\n\n copyOfWhere = hoistQueryParamsToAnd(copyOfWhere, searchFilter)\n }\n }\n\n if (page) params.page = page\n if (sort) params.sort = sort\n if (cacheBust) params.cacheBust = cacheBust\n if (copyOfWhere) params.where = copyOfWhere\n if (versions?.drafts) params.draft = 'true'\n\n setParams(params)\n }, [page, sort, where, search, cacheBust, filterOptions, selectedCollectionConfig, t, setParams])\n\n useEffect(() => {\n const newPreferences = {\n limit,\n sort,\n }\n\n void setPreference(preferenceKey, newPreferences, true)\n }, [sort, limit, setPreference, preferenceKey])\n\n const onCreateNew = useCallback(\n ({ doc }) => {\n if (typeof onSelect === 'function') {\n onSelect({\n collectionSlug: selectedCollectionConfig.slug,\n docID: doc.id,\n })\n }\n dispatchCacheBust()\n closeModal(documentDrawerSlug)\n closeModal(drawerSlug)\n },\n [closeModal, documentDrawerSlug, drawerSlug, onSelect, selectedCollectionConfig],\n )\n\n if (!selectedCollectionConfig || isError) {\n return null\n }\n\n if (isLoadingList) {\n return <LoadingOverlay />\n }\n\n return (\n <ListInfoProvider\n Header={\n <header className={`${baseClass}__header`}>\n <div className={`${baseClass}__header-wrap`}>\n <div className={`${baseClass}__header-content`}>\n <h2 className={`${baseClass}__header-text`}>\n {!customHeader\n ? getTranslation(selectedCollectionConfig?.labels?.plural, i18n)\n : customHeader}\n </h2>\n {hasCreatePermission && (\n <DocumentDrawerToggler className={`${baseClass}__create-new-button`}>\n <Pill>{t('general:createNew')}</Pill>\n </DocumentDrawerToggler>\n )}\n </div>\n <button\n aria-label={t('general:close')}\n className={`${baseClass}__header-close`}\n onClick={() => {\n closeModal(drawerSlug)\n }}\n type=\"button\"\n >\n <XIcon />\n </button>\n </div>\n {selectedCollectionConfig?.admin?.description && (\n <div className={`${baseClass}__sub-header`}>\n <ViewDescription description={selectedCollectionConfig.admin.description} />\n </div>\n )}\n {moreThanOneAvailableCollection && (\n <div className={`${baseClass}__select-collection-wrap`}>\n <FieldLabel field={null} label={t('upload:selectCollectionToBrowse')} />\n <ReactSelect\n className={`${baseClass}__select-collection`}\n onChange={setSelectedOption} // this is only changing the options which is not rerunning my effect\n options={enabledCollectionConfigs.map((coll) => ({\n label: getTranslation(coll.labels.singular, i18n),\n value: coll.slug,\n }))}\n value={selectedOption}\n />\n </div>\n )}\n </header>\n }\n collectionConfig={selectedCollectionConfig}\n collectionSlug={selectedCollectionConfig.slug}\n hasCreatePermission={hasCreatePermission}\n newDocumentURL={null}\n >\n <ListQueryProvider\n data={data}\n defaultLimit={limit || selectedCollectionConfig?.admin?.pagination?.defaultLimit}\n defaultSort={sort}\n handlePageChange={setPage}\n handlePerPageChange={setLimit}\n handleSearchChange={setSearch}\n handleSortChange={setSort}\n handleWhereChange={setWhere}\n modifySearchParams={false}\n preferenceKey={preferenceKey}\n >\n <TableColumnsProvider\n cellProps={[\n {\n className: `${baseClass}__first-cell`,\n link: false,\n onClick: ({ collectionSlug: rowColl, rowData }) => {\n if (typeof onSelect === 'function') {\n onSelect({\n collectionSlug: rowColl,\n docID: rowData.id as string,\n })\n }\n },\n },\n ]}\n collectionSlug={selectedCollectionConfig.slug}\n preferenceKey={preferenceKey}\n >\n <RenderComponent mappedComponent={List} />\n <DocumentDrawer onSave={onCreateNew} />\n </TableColumnsProvider>\n </ListQueryProvider>\n </ListInfoProvider>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,QAAQ,QAAQ;AACzB,SAASC,cAAc,QAAQ;AAC/B,OAAOC,KAAA,IAASC,WAAW,EAAEC,SAAS,EAAEC,UAAU,EAAEC,QAAQ,QAAQ;AAIpE,SAASC,UAAU,QAAQ;AAC3B,SAASC,aAAa,QAAQ;AAC9B,SAASC,KAAK,QAAQ;AACtB,SAASC,OAAO,QAAQ;AACxB,SAASC,eAAe,QAAQ;AAChC,SAASC,SAAS,QAAQ;AAC1B,SAASC,gBAAgB,QAAQ;AACjC,SAASC,iBAAiB,QAAQ;AAClC,SAASC,cAAc,QAAQ;AAC/B,SAASC,cAAc,QAAQ;AAC/B,SAASC,iBAAiB,QAAQ;AAClC,SAASC,cAAc,QAAQ;AAC/B,SAASC,IAAI,QAAQ;AACrB,SAAsBC,WAAW,QAAQ;AACzC,SAASC,oBAAoB,QAAQ;AACrC,SAASC,eAAe,QAAQ;AAChC,SAASC,SAAS,QAAQ;AAE1B,MAAMC,qBAAA,GAAwBA,CAACC,KAAA,EAAcC,WAAA;EAC3C,IAAI,SAASD,KAAA,EAAO;IAClBA,KAAA,CAAME,GAAG,CAACC,IAAI,CAACF,WAAA;EACjB,OAAO,IAAI,QAAQD,KAAA,EAAO;IACxBA,KAAA,GAAQ;MACNE,GAAA,EAAK,CAACF,KAAA,EAAOC,WAAA;IACf;EACF,OAAO;IACLD,KAAA,GAAQ;MACNE,GAAA,EAAK,CAACF,KAAA,EAAOC,WAAA;IACf;EACF;EAEA,OAAOD,KAAA;AACT;AAEA,OAAO,MAAMI,iBAAA,GAA+CC,EAAA;EAAA,MAAAC,CAAA,GAAAhC,EAAA;EAAC;IAAAiC,eAAA;IAAAC,YAAA;IAAAC,UAAA;IAAAC,aAAA;IAAAC,QAAA;IAAAC;EAAA,IAAAP,EAO5D;EACC;IAAAQ,IAAA;IAAAC;EAAA,IAAoBvB,cAAA;EACpB;IAAAwB;EAAA,IAAwB9B,OAAA;EACxB;IAAA+B;EAAA,IAA0B1B,cAAA;EAC1B;IAAA2B,UAAA;IAAAC;EAAA,IAAoC3C,QAAA;EACpC,OAAA4C,KAAA,EAAAC,QAAA,IAA0BvC,QAAA;EAC1B,OAAAwC,IAAA,EAAAC,OAAA,IAAwBzC,QAAA,KAAiB;EACzC,OAAA0C,IAAA,EAAAC,OAAA,IAAwB3C,QAAA,EAAiB;EACzC,OAAAmB,KAAA,EAAAyB,QAAA,IAA0B5C,QAAA,KAAgB;EAC1C,OAAA6C,MAAA,EAAAC,SAAA,IAA4B9C,QAAA,CAAiB;EAE7C;IAAA+C,MAAA,EAAAC;EAAA,IAMI1C,SAAA;EALM;IAAA2C,WAAA;IAAAC,MAAA,EAAAC,EAAA;IAAAC;EAAA,IAAAJ,EAIP;EAFS;IAAAK;EAAA,IAAAF,EAAO;EAAA,IAAAG,EAAA;EAAA,IAAA7B,CAAA,QAAAC,eAAA,IAAAD,CAAA,QAAAwB,WAAA;IAAA,IAAAM,EAAA;IAAA,IAAA9B,CAAA,QAAAC,eAAA;MAKiC6B,EAAA,GAAAC,EAAA;QAAC;UAAAC;QAAA,IAAAD,EAAQ;QAAA,OACpD9B,eAAA,CAAAgC,QAAA,CAAyBD,IAAA;MAAA;MAClChC,CAAA,MAAAC,eAAA;MAAAD,CAAA,MAAA8B,EAAA;IAAA;MAAAA,EAAA,GAAA9B,CAAA;IAAA;IAFiC6B,EAAA,GAAAL,WAAA,CAAAU,MAAA,CAAmBJ,EAEpD;IAAA9B,CAAA,MAAAC,eAAA;IAAAD,CAAA,MAAAwB,WAAA;IAAAxB,CAAA,MAAA6B,EAAA;EAAA;IAAAA,EAAA,GAAA7B,CAAA;EAAA;EAFA,MAAAmC,wBAAA,GAAiCN,EAEjC;EAAA,IAAAC,EAAA;EAAA,IAAA9B,CAAA,QAAAmC,wBAAA,IAAAnC,CAAA,QAAAM,kBAAA;IAGEwB,EAAA,GAAAA,CAAA,KAEIK,wBAAA,CAAAC,IAAA,CAAAL,EAAA;MAA+B;QAAAC,IAAA,EAAAK;MAAA,IAAAN,EAAQ;MAAA,OAAKC,MAAA,KAAS1B,kBAAA;IAAA,MACrD6B,wBAAA,KAA6B;IAEjCnC,CAAA,MAAAmC,wBAAA;IAAAnC,CAAA,MAAAM,kBAAA;IAAAN,CAAA,MAAA8B,EAAA;EAAA;IAAAA,EAAA,GAAA9B,CAAA;EAAA;EANF,OAAAsC,wBAAA,EAAAC,2BAAA,IAAgEhE,QAAA,CAC9DuD,EAKA;EAGF,MAAAU,IAAA,GAAaF,wBAAA,EAAAG,KAAA,EAAAC,UAAA,CAAAC,KAAA,CAAAC,IAAA,CAAAC,SAAA;EAAuD,IAAAd,EAAA;EAAA,IAAA/B,CAAA,QAAAsC,wBAAA,IAAAtC,CAAA,QAAAO,IAAA;IAEIwB,EAAA,GAAAA,CAAA,KACtEO,wBAAA;MAAAQ,KAAA,EAEa5E,cAAA,CAAeoE,wBAAA,CAAAS,MAAA,CAAAC,QAAA,EAA0CzC,IAAA;MAAA0C,KAAA,EACzDX,wBAAA,CAAAN;IAAA,IAAAkB,SAET;IAAAlD,CAAA,MAAAsC,wBAAA;IAAAtC,CAAA,MAAAO,IAAA;IAAAP,CAAA,OAAA+B,EAAA;EAAA;IAAAA,EAAA,GAAA/B,CAAA;EAAA;EANN,OAAAmD,cAAA,EAAAC,iBAAA,IAA4C7E,QAAA,CAA4BwD,EAMlE;EAAA,IAAAsB,EAAA;EAAA,IAAArD,CAAA,SAAAsC,wBAAA;IAOHe,EAAA,IAACf,wBAAA;IAAyBtC,CAAA,OAAAsC,wBAAA;IAAAtC,CAAA,OAAAqD,EAAA;EAAA;IAAAA,EAAA,GAAArD,CAAA;EAAA;EAF7B3B,SAAA,CAAAiF,KAAA,EAEGD,EAA0B;EAAA,IAAAE,EAAA;EAAA,IAAAvD,CAAA,SAAAM,kBAAA,IAAAN,CAAA,SAAAmC,wBAAA;IAGnBoB,EAAA,GAAAA,CAAA;MAAA,IACJjD,kBAAA;QAEF,MAAAkD,cAAA,GACErB,wBAAA,CAAAC,IAAA,CAAAqB,EAAA;UAA+B;YAAAzB,IAAA,EAAA0B;UAAA,IAAAD,EAAQ;UAAA,OAAKzB,MAAA,KAAS1B,kBAAA;QAAA,MACrD6B,wBAAA,KAA6B;QAC/BI,2BAAA,CAA4BiB,cAAA;MAAA;IAAA;IAEhCxD,CAAA,OAAAM,kBAAA;IAAAN,CAAA,OAAAmC,wBAAA;IAAAnC,CAAA,OAAAuD,EAAA;EAAA;IAAAA,EAAA,GAAAvD,CAAA;EAAA;EAAA,IAAAyD,EAAA;EAAA,IAAAzD,CAAA,SAAAM,kBAAA,IAAAN,CAAA,SAAAmC,wBAAA,IAAAnC,CAAA,SAAAK,QAAA,IAAAL,CAAA,SAAAQ,CAAA;IAAGiD,EAAA,IAACnD,kBAAA,EAAoB6B,wBAAA,EAA0B9B,QAAA,EAAUG,CAAA;IAAER,CAAA,OAAAM,kBAAA;IAAAN,CAAA,OAAAmC,wBAAA;IAAAnC,CAAA,OAAAK,QAAA;IAAAL,CAAA,OAAAQ,CAAA;IAAAR,CAAA,OAAAyD,EAAA;EAAA;IAAAA,EAAA,GAAAzD,CAAA;EAAA;EAR9D3B,SAAA,CAAUkF,EAQV,EAAGE,EAA2D;EAE9D,MAAAE,aAAA,GAAsB,GAAGrB,wBAAA,CAAAN,IAAA,OAAoC;EAAA,IAAA4B,EAAA;EAAA,IAAA5D,CAAA,SAAAsC,wBAAA,CAAAN,IAAA;IAIzC4B,EAAA;MAAAC,cAAA,EACAvB,wBAAA,CAAAN;IAAA;IAClBhC,CAAA,OAAAsC,wBAAA,CAAAN,IAAA;IAAAhC,CAAA,OAAA4D,EAAA;EAAA;IAAAA,EAAA,GAAA5D,CAAA;EAAA;EAHF,OAAA8D,cAAA,EAAAC,qBAAA,EAAAC,GAAA,IACE9E,iBAAA,CAAkB0E,EAElB;EAH4C;IAAAzD,UAAA,EAAA8D;EAAA,IAAAD,GAAkC;EAAA,IAAAE,GAAA;EAAA,IAAAC,GAAA;EAAA,IAAAnE,CAAA,SAAAmD,cAAA,IAAAnD,CAAA,SAAAmC,wBAAA;IAKtE+B,GAAA,GAAAA,CAAA;MAAA,IACJf,cAAA,KAAmBiB,KAAA,CAAAC,OAAA,CAAclB,cAAA;QACnCZ,2BAAA,CACEJ,wBAAA,CAAAC,IAAA,CAAAkC,GAAA;UAA+B;YAAAtC,IAAA,EAAAuC;UAAA,IAAAD,GAAQ;UAAA,OAAKnB,cAAA,CAAAF,KAAA,KAAyBjB,MAAA;QAAA;MAAA;IAAA;IAGxEmC,GAAA,IAAChB,cAAA,EAAgBhB,wBAAA;IAAyBnC,CAAA,OAAAmD,cAAA;IAAAnD,CAAA,OAAAmC,wBAAA;IAAAnC,CAAA,OAAAkE,GAAA;IAAAlE,CAAA,OAAAmE,GAAA;EAAA;IAAAD,GAAA,GAAAlE,CAAA;IAAAmE,GAAA,GAAAnE,CAAA;EAAA;EAN7C3B,SAAA,CAAU6F,GAMV,EAAGC,GAA0C;EAE7C,MAAAK,qBAAA,GAA8B/D,WAAA,EAAAe,WAAA,GAA2Bc,wBAAA,EAAAN,IAAA;EACzD,MAAAyC,mBAAA,GAA4BD,qBAAA,EAAAE,MAAA,EAAAC,UAAA;EAG5B,MAAAC,MAAA,GAAehE,WAAA,CAAYT,UAAA;EAC3B,MAAA0E,MAAA,GAAeD,MAAA,GAAS,GAAGjD,SAAA,GAAYC,GAAA,IAAOU,wBAAA,CAAAN,IAAA,EAA+B,OAAG;EAChF,OAAA8C,SAAA,EAAAC,iBAAA,IAAuCzG,UAAA,CAAA0G,MAAA,GAAiC;;;IACmBV,GAAA;MAAAW,aAAA;QAAAC,KAAA;MAAA;IAAA;IAI3FlF,CAAA,OAAAsE,GAAA;EAAA;IAAAA,GAAA,GAAAtE,CAAA;EAAA;EAJA,OAAAmF,GAAA,EAAAC,GAAA,IAAqE3G,aAAA,CAAcoG,MAAA,EAAQP,GAI3F;EAJO;IAAAe,IAAA;IAAAC,OAAA;IAAAC,SAAA,EAAAC;EAAA,IAAAL,GAA2C;EAAE;IAAAM;EAAA,IAAAL,GAAa;EAKjE,MAAAM,8BAAA,GAAuCvD,wBAAA,CAAAwD,MAAA,IAAkC;EAAA,IAAAC,GAAA;EAAA,IAAA5F,CAAA,SAAAsC,wBAAA,IAAAtC,CAAA,SAAAN,KAAA,IAAAM,CAAA,SAAAI,aAAA,IAAAJ,CAAA,SAAAoB,MAAA,IAAApB,CAAA,SAAAiB,IAAA,IAAAjB,CAAA,SAAAe,IAAA,IAAAf,CAAA,SAAA8E,SAAA,IAAA9E,CAAA,SAAAyF,SAAA;IAE/DG,GAAA,GAAAA,CAAA;MACR;QAAA5D,IAAA,EAAA6D,MAAA;QAAApD,KAAA,EAAAqD,GAAA;QAAAC;MAAA,IAIIzD,wBAAA;MAFK;QAAA0D,oBAAA;QAAAC;MAAA,IAAAH,GAAyC,KAAA5C,SAAA,QAAzC4C,GAAyC;MAGlD,MAAAI,MAAA;QAAAhB,KAAA;MAAA;MAaA,IAAAiB,WAAA;QAAA,IAAwBzG,KAAA,MAAW;MAAA;MACnC,MAAA0G,YAAA,GAAqBhG,aAAA,GAAgB4B,MAAA;MAAK,IAEtC5B,aAAA,IAAiB,OAAOgG,YAAA,KAAiB;QAC3CD,WAAA,CAAAA,CAAA,CAAcA,sBAAsBA,WAAA,EAAaC,YAAA;MAAjD;MAAA,IAGEhF,MAAA;QACF,MAAAiF,kBAAA,GAA2B,CAACL,oBAAA,KAAyBC,UAAA,CAAW,EAAAK,GAAA,CAAAC,SAAA;UAAA,CAE3DA,SAAA;YAAAC,IAAA,EACOpF;UAAA;QAAA,MAGP;QAAA,IAEDiF,kBAAA,CAAAV,MAAA,IAA4B;UAC9B,MAAAc,YAAA;YAAAC,EAAA,MACUL,kBAAA;UAAA;UAGVF,WAAA,CAAAA,CAAA,CAAcA,sBAAsBA,WAAA,EAAaM,YAAA;QAAjD;MAAA;MAAA,IAIAxF,IAAA;QAAMiF,MAAA,CAAAjF,IAAA,GAAcA,IAAA;MAAA;MAAA,IACpBF,IAAA;QAAMmF,MAAA,CAAAnF,IAAA,GAAcA,IAAA;MAAA;MAAA,IACpB+D,SAAA;QAAWoB,MAAA,CAAApB,SAAA,GAAmBA,SAAA;MAAA;MAAA,IAC9BqB,WAAA;QAAaD,MAAA,CAAAxG,KAAA,GAAeyG,WAAA;MAAA;MAAA,IAC5BJ,QAAA,EAAAY,MAAA;QAAkBT,MAAA,CAAAU,KAAA,GAAe;MAAA;MAErCnB,SAAA,CAAUS,MAAA;IAAA;IACZlG,CAAA,OAAAsC,wBAAA;IAAAtC,CAAA,OAAAN,KAAA;IAAAM,CAAA,OAAAI,aAAA;IAAAJ,CAAA,OAAAoB,MAAA;IAAApB,CAAA,OAAAiB,IAAA;IAAAjB,CAAA,OAAAe,IAAA;IAAAf,CAAA,OAAA8E,SAAA;IAAA9E,CAAA,OAAAyF,SAAA;IAAAzF,CAAA,OAAA4F,GAAA;EAAA;IAAAA,GAAA,GAAA5F,CAAA;EAAA;EAAA,IAAA8F,GAAA;EAAA,IAAA9F,CAAA,SAAAiB,IAAA,IAAAjB,CAAA,SAAAe,IAAA,IAAAf,CAAA,SAAAN,KAAA,IAAAM,CAAA,SAAAoB,MAAA,IAAApB,CAAA,SAAA8E,SAAA,IAAA9E,CAAA,SAAAI,aAAA,IAAAJ,CAAA,SAAAsC,wBAAA,IAAAtC,CAAA,SAAAQ,CAAA,IAAAR,CAAA,SAAAyF,SAAA;IAAGK,GAAA,IAAC7E,IAAA,EAAMF,IAAA,EAAMrB,KAAA,EAAO0B,MAAA,EAAQ0D,SAAA,EAAW1E,aAAA,EAAekC,wBAAA,EAA0B9B,CAAA,EAAGiF,SAAA;IAAUzF,CAAA,OAAAiB,IAAA;IAAAjB,CAAA,OAAAe,IAAA;IAAAf,CAAA,OAAAN,KAAA;IAAAM,CAAA,OAAAoB,MAAA;IAAApB,CAAA,OAAA8E,SAAA;IAAA9E,CAAA,OAAAI,aAAA;IAAAJ,CAAA,OAAAsC,wBAAA;IAAAtC,CAAA,OAAAQ,CAAA;IAAAR,CAAA,OAAAyF,SAAA;IAAAzF,CAAA,OAAA8F,GAAA;EAAA;IAAAA,GAAA,GAAA9F,CAAA;EAAA;EAnDhG3B,SAAA,CAAUuH,GAmDV,EAAGE,GAA6F;EAAA,IAAAe,GAAA;EAAA,IAAAC,GAAA;EAAA,IAAA9G,CAAA,SAAAa,KAAA,IAAAb,CAAA,SAAAe,IAAA,IAAAf,CAAA,SAAAU,aAAA,IAAAV,CAAA,SAAA2D,aAAA;IAEtFkD,GAAA,GAAAA,CAAA;MACR,MAAAE,cAAA;QAAAlG,KAAA;QAAAE;MAAA;MAKKL,aAAA,CAAciD,aAAA,EAAeoD,cAAA,MAAgB;IAAA;IACjDD,GAAA,IAAC/F,IAAA,EAAMF,KAAA,EAAOH,aAAA,EAAeiD,aAAA;IAAc3D,CAAA,OAAAa,KAAA;IAAAb,CAAA,OAAAe,IAAA;IAAAf,CAAA,OAAAU,aAAA;IAAAV,CAAA,OAAA2D,aAAA;IAAA3D,CAAA,OAAA6G,GAAA;IAAA7G,CAAA,OAAA8G,GAAA;EAAA;IAAAD,GAAA,GAAA7G,CAAA;IAAA8G,GAAA,GAAA9G,CAAA;EAAA;EAP9C3B,SAAA,CAAUwI,GAOV,EAAGC,GAA2C;EAAA,IAAAE,GAAA;EAAA,IAAAhH,CAAA,SAAAK,QAAA,IAAAL,CAAA,SAAAsC,wBAAA,CAAAN,IAAA,IAAAhC,CAAA,SAAAW,UAAA,IAAAX,CAAA,SAAAiE,kBAAA,IAAAjE,CAAA,SAAAG,UAAA;IAG5C6G,GAAA,GAAAC,GAAA;MAAC;QAAAC;MAAA,IAAAD,GAAO;MAAA,IACF,OAAO5G,QAAA,KAAa;QACtBA,QAAA;UAAAwD,cAAA,EACkBvB,wBAAA,CAAAN,IAAA;UAAAmF,KAAA,EACTD,GAAA,CAAAE;QAAA,CACT;MAAA;MAEFrC,iBAAA;MACApE,UAAA,CAAWsD,kBAAA;MACXtD,UAAA,CAAWR,UAAA;IAAA;IACbH,CAAA,OAAAK,QAAA;IAAAL,CAAA,OAAAsC,wBAAA,CAAAN,IAAA;IAAAhC,CAAA,OAAAW,UAAA;IAAAX,CAAA,OAAAiE,kBAAA;IAAAjE,CAAA,OAAAG,UAAA;IAAAH,CAAA,OAAAgH,GAAA;EAAA;IAAAA,GAAA,GAAAhH,CAAA;EAAA;EAXF,MAAAqH,WAAA,GAAoBL,GAY8D;EAAA,IAG9E,CAAC1E,wBAAA,IAA4BgD,OAAA;IAAA;EAAA;EAAA,IAI7BE,aAAA;IAAA,IAAAyB,GAAA;IAAA,IAAAjH,CAAA,SAAAsH,MAAA,CAAAC,GAAA;MACKN,GAAA,GAAAO,IAAA,CAAArI,cAAA,IAAC;MAAAa,CAAA,OAAAiH,GAAA;IAAA;MAAAA,GAAA,GAAAjH,CAAA;IAAA;IAAA,OAADiH,GAAC;EAAA;EAAA,IAAAA,GAAA;EAAA,IAAAjH,CAAA,SAAAE,YAAA,IAAAF,CAAA,SAAAsC,wBAAA,IAAAtC,CAAA,SAAAO,IAAA;IAUK0G,GAAA,IAAC/G,YAAA,GACEhC,cAAA,CAAeoE,wBAAA,EAAAS,MAAA,EAAA0E,MAAA,EAA0ClH,IAAA,IACzDL,YAAA;IAAAF,CAAA,OAAAE,YAAA;IAAAF,CAAA,OAAAsC,wBAAA;IAAAtC,CAAA,OAAAO,IAAA;IAAAP,CAAA,OAAAiH,GAAA;EAAA;IAAAA,GAAA,GAAAjH,CAAA;EAAA;EAAA,IAAA0H,GAAA;EAAA,IAAA1H,CAAA,SAAAiH,GAAA,IAAAjH,CAAA,SAAAyE,mBAAA,IAAAzE,CAAA,SAAAQ,CAAA,IAAAR,CAAA,SAAA+D,qBAAA,IAAA/D,CAAA,SAAAW,UAAA,IAAAX,CAAA,SAAAG,UAAA,IAAAH,CAAA,SAAAsC,wBAAA,IAAAtC,CAAA,SAAA0F,8BAAA,IAAA1F,CAAA,SAAAO,IAAA,IAAAP,CAAA,SAAAmC,wBAAA,IAAAnC,CAAA,SAAAmD,cAAA,IAAAnD,CAAA,SAAAa,KAAA,IAAAb,CAAA,SAAAK,QAAA,IAAAL,CAAA,SAAAwC,IAAA,IAAAxC,CAAA,SAAAqH,WAAA,IAAArH,CAAA,SAAA8D,cAAA,IAAA9D,CAAA,SAAA2D,aAAA,IAAA3D,CAAA,SAAAqF,IAAA,IAAArF,CAAA,SAAAe,IAAA;IAAA,IAAA4G,GAAA;IAAA,IAAA3H,CAAA,SAAAyE,mBAAA,IAAAzE,CAAA,SAAAQ,CAAA,IAAAR,CAAA,SAAA+D,qBAAA;MAEL4D,GAAA,GAAAlD,mBAAA,IACC+C,IAAA,CAACzD,qBAAA;QAAA6D,SAAA,EAAiC,GAAApI,SAAA,qBAAiC;QAAAqI,QAAA,EACjEL,IAAA,CAAApI,IAAA;UAAAyI,QAAA,EAAOrH,CAAA,CAAE;QAAA,C;;;;;;;;;;;MAOJsH,GAAA,GAAAA,CAAA;QACPnH,UAAA,CAAWR,UAAA;MAAA;MACbH,CAAA,OAAAW,UAAA;MAAAX,CAAA,OAAAG,UAAA;MAAAH,CAAA,OAAA8H,GAAA;IAAA;MAAAA,GAAA,GAAA9H,CAAA;IAAA;IAAA,IAAA+H,GAAA;IAAA,IAAA/H,CAAA,SAAAsC,wBAAA;MAMHyF,GAAA,GAAAzF,wBAAA,EAAAG,KAAA,EAAAuF,WAAA,IACCR,IAAA,CAAC;QAAAI,SAAA,EAAe,GAAApI,SAAA,cAA0B;QAAAqI,QAAA,EACxCL,IAAA,CAAAjI,eAAA;UAAAyI,WAAA,EAA8B1F,wBAAA,CAAAG,KAAA,CAAAuF;QAAA,C;;;;;;;;;MAyCrBC,GAAA,GAAAC,GAAA;QAAC;UAAArE,cAAA,EAAAsE,OAAA;UAAAC;QAAA,IAAAF,GAAoC;QAAA,IACxC,OAAO7H,QAAA,KAAa;UACtBA,QAAA;YAAAwD,cAAA,EACkBsE,OAAA;YAAAhB,KAAA,EACTiB,OAAA,CAAAhB;UAAA,CACT;QAAA;MAAA;MAEJpH,CAAA,OAAAK,QAAA;MAAAL,CAAA,OAAAiI,GAAA;IAAA;MAAAA,GAAA,GAAAjI,CAAA;IAAA;IA7EV0H,GAAA,GAAAF,IAAA,CAAA1I,gBAAA;MAAAuJ,MAAA,EAEIC,KAAA,CAAC;QAAAV,SAAA,EAAkB,GAAApI,SAAA,UAAsB;QAAAqI,QAAA,GACvCS,KAAA,CAAC;UAAAV,SAAA,EAAe,GAAApI,SAAA,eAA2B;UAAAqI,QAAA,GACzCS,KAAA,CAAC;YAAAV,SAAA,EAAe,GAAApI,SAAA,kBAA8B;YAAAqI,QAAA,GAC5CL,IAAA,CAAC;cAAAI,SAAA,EAAc,GAAApI,SAAA,eAA2B;cAAAqI,QAAA,EACvCZ;YAEG,C,GAELU,G;cAMHH,IAAA,CAAC;YAAA,cACahH,CAAA,CAAE;YAAAoH,SAAA,EACH,GAAApI,SAAA,gBAA4B;YAAA+I,OAAA,EAC9BT,GAET;YAAAU,IAAA,EACK;YAAAX,QAAA,EAELL,IAAA,CAAA9I,KAAA,IAAC;UAAA,C;YAGJqJ,G,EAKArC,8BAAA,IACC4C,KAAA,CAAC;UAAAV,SAAA,EAAe,GAAApI,SAAA,0BAAsC;UAAAqI,QAAA,GACpDL,IAAA,CAAAhJ,UAAA;YAAAiK,KAAA;YAAA3F,KAAA,EAAgCtC,CAAA,CAAE;UAAA,C,GAClCgH,IAAA,CAAAnI,WAAA;YAAAuI,SAAA,EACa,GAAApI,SAAA,qBAAiC;YAAAkJ,QAAA,EAClCtF,iBAAA;YAAAuF,OAAA,EACDxG,wBAAA,CAAAmE,GAAA,CAAAsC,IAAA;cAAA9F,KAAA,EACA5E,cAAA,CAAe0K,IAAA,CAAA7F,MAAA,CAAAC,QAAA,EAAsBzC,IAAA;cAAA0C,KAAA,EACrC2F,IAAA,CAAA5G;YAAA,EACT;YAAAiB,KAAA,EACOE;UAAA,C;;;wBAMCb,wBAAA;MAAAuB,cAAA,EACFvB,wBAAA,CAAAN,IAAA;MAAAyC,mBAAA;MAAAoE,cAAA;MAAAhB,QAAA,EAIhBL,IAAA,CAAAzI,iBAAA;QAAAsG,IAAA;QAAAyD,YAAA,EAEgBjI,KAAA,IAASyB,wBAAA,EAAAG,KAAA,EAAAsG,UAAA,EAAAD,YAA6C;QAAAE,WAAA,EACvDjI,IAAA;QAAAkI,gBAAA,EACK/H,OAAA;QAAAgI,mBAAA,EACGpI,QAAA;QAAAqI,kBAAA,EACD9H,SAAA;QAAA+H,gBAAA,EACFpI,OAAA;QAAAqI,iBAAA,EACClI,QAAA;QAAAmI,kBAAA;QAAA3F,aAAA;QAAAkE,QAAA,EAInBS,KAAA,CAAAhJ,oBAAA;UAAAiK,SAAA;YAAA3B,SAAA,EAGiB,GAAApI,SAAA,cAA0B;YAAAgK,IAAA;YAAAjB,OAAA,EAE5BN;UAOT;UAAApE,cAAA,EAGYvB,wBAAA,CAAAN,IAAA;UAAA2B,aAAA;UAAAkE,QAAA,GAGhBL,IAAA,CAAA5I,eAAA;YAAA6K,eAAA,EAAkCjH;UAAA,C,GAClCgF,IAAA,CAAC1D,cAAA;YAAA4F,MAAA,EAAuBrC;UAAA,C;;;;;;;;;;;;;;;;;;;;;;;;;;;SApF9BK,G;CAyFJ;AAhR4D,SAAApE,MAAA;AAAA,SAAA0B,OAAA2E,KAAA;EAAA,OAyFGA,KAAA,IAAQ;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"DrawerContent.js","names":["c","_c","useModal","getTranslation","React","useCallback","useEffect","useReducer","useState","SelectMany","FieldLabel","usePayloadAPI","XIcon","useAuth","RenderComponent","useConfig","ListInfoProvider","ListQueryProvider","usePreferences","useTranslation","useDocumentDrawer","LoadingOverlay","Pill","ReactSelect","TableColumnsProvider","ViewDescription","baseClass","hoistQueryParamsToAnd","where","queryParams","and","push","ListDrawerContent","t0","$","collectionSlugs","customHeader","drawerSlug","enableRowSelections","filterOptions","onBulkSelect","onSelect","selectedCollection","i18n","t","permissions","setPreference","closeModal","isModalOpen","limit","setLimit","sort","setSort","page","setPage","setWhere","search","setSearch","config","t1","collections","routes","t2","serverURL","api","t3","t4","t5","slug","includes","filter","enabledCollectionConfigs","find","slug_0","selectedCollectionConfig","setSelectedCollectionConfig","List","admin","components","views","list","Component","label","labels","singular","value","undefined","selectedOption","setSelectedOption","t6","_temp","t7","selectedConfig","t8","slug_1","preferenceKey","t9","collectionSlug","DocumentDrawer","DocumentDrawerToggler","t10","documentDrawerSlug","t11","t12","Array","isArray","t13","slug_2","collectionPermissions","hasCreatePermission","create","permission","isOpen","apiURL","cacheBust","dispatchCacheBust","_temp2","initialParams","depth","t14","t15","data","isError","isLoading","isLoadingList","setParams","moreThanOneAvailableCollection","length","t16","slug_3","t17","versions","listSearchableFields","useAsTitle","params","copyOfWhere","filterOption","searchAsConditions","map","fieldName","like","searchFilter","or","drafts","draft","t18","t19","newPreferences","t20","t21","doc","docID","id","onCreateNew","Symbol","for","_jsx","plural","t22","t23","className","children","t24","t25","description","Description","t26","t27","rowColl","rowData","Header","_jsxs","onClick","type","field","onChange","options","coll","collectionConfig","disableBulkDelete","disableBulkEdit","newDocumentURL","defaultLimit","pagination","defaultSort","handlePageChange","handlePerPageChange","handleSearchChange","handleSortChange","handleWhereChange","modifySearchParams","cellProps","link","mappedComponent","onSave","state"],"sources":["../../../src/elements/ListDrawer/DrawerContent.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, Where } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback, useEffect, useReducer, useState } from 'react'\n\nimport type { ListDrawerProps } from './types.js'\n\nimport { SelectMany } from '../../elements/SelectMany/index.js'\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { usePayloadAPI } from '../../hooks/usePayloadAPI.js'\nimport { XIcon } from '../../icons/X/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { RenderComponent } from '../../providers/Config/RenderComponent.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { ListInfoProvider } from '../../providers/ListInfo/index.js'\nimport { ListQueryProvider } from '../../providers/ListQuery/index.js'\nimport { usePreferences } from '../../providers/Preferences/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useDocumentDrawer } from '../DocumentDrawer/index.js'\nimport { LoadingOverlay } from '../Loading/index.js'\nimport { Pill } from '../Pill/index.js'\nimport { type Option, ReactSelect } from '../ReactSelect/index.js'\nimport { TableColumnsProvider } from '../TableColumns/index.js'\nimport { ViewDescription } from '../ViewDescription/index.js'\nimport { baseClass } from './index.js'\n\nconst hoistQueryParamsToAnd = (where: Where, queryParams: Where) => {\n if ('and' in where) {\n where.and.push(queryParams)\n } else if ('or' in where) {\n where = {\n and: [where, queryParams],\n }\n } else {\n where = {\n and: [where, queryParams],\n }\n }\n\n return where\n}\n\nexport const ListDrawerContent: React.FC<ListDrawerProps> = ({\n collectionSlugs,\n customHeader,\n drawerSlug,\n enableRowSelections,\n filterOptions,\n onBulkSelect,\n onSelect,\n selectedCollection,\n}) => {\n const { i18n, t } = useTranslation()\n const { permissions } = useAuth()\n const { setPreference } = usePreferences()\n const { closeModal, isModalOpen } = useModal()\n const [limit, setLimit] = useState<number>()\n const [sort, setSort] = useState<string>(null)\n const [page, setPage] = useState<number>(1)\n const [where, setWhere] = useState<Where>(null)\n const [search, setSearch] = useState<string>('')\n\n const {\n config: {\n collections,\n routes: { api },\n serverURL,\n },\n } = useConfig()\n\n const enabledCollectionConfigs = collections.filter(({ slug }) => {\n return collectionSlugs.includes(slug)\n })\n\n const [selectedCollectionConfig, setSelectedCollectionConfig] = useState<ClientCollectionConfig>(\n () => {\n return (\n enabledCollectionConfigs.find(({ slug }) => slug === selectedCollection) ||\n enabledCollectionConfigs?.[0]\n )\n },\n )\n\n const List = selectedCollectionConfig?.admin?.components.views.list.Component\n\n const [selectedOption, setSelectedOption] = useState<Option | Option[]>(() =>\n selectedCollectionConfig\n ? {\n label: getTranslation(selectedCollectionConfig.labels.singular, i18n),\n value: selectedCollectionConfig.slug,\n }\n : undefined,\n )\n\n // const [fields, setFields] = useState<Field[]>(() => formatFields(selectedCollectionConfig))\n\n useEffect(() => {\n // setFields(formatFields(selectedCollectionConfig))\n }, [selectedCollectionConfig])\n\n // allow external control of selected collection, same as the initial state logic above\n useEffect(() => {\n if (selectedCollection) {\n // if passed a selection, find it and check if it's enabled\n const selectedConfig =\n enabledCollectionConfigs.find(({ slug }) => slug === selectedCollection) ||\n enabledCollectionConfigs?.[0]\n setSelectedCollectionConfig(selectedConfig)\n }\n }, [selectedCollection, enabledCollectionConfigs, onSelect, t])\n\n const preferenceKey = `${selectedCollectionConfig.slug}-list`\n\n // this is the 'create new' drawer\n const [DocumentDrawer, DocumentDrawerToggler, { drawerSlug: documentDrawerSlug }] =\n useDocumentDrawer({\n collectionSlug: selectedCollectionConfig.slug,\n })\n\n useEffect(() => {\n if (selectedOption && !Array.isArray(selectedOption)) {\n setSelectedCollectionConfig(\n enabledCollectionConfigs.find(({ slug }) => selectedOption.value === slug),\n )\n }\n }, [selectedOption, enabledCollectionConfigs])\n\n const collectionPermissions = permissions?.collections?.[selectedCollectionConfig?.slug]\n const hasCreatePermission = collectionPermissions?.create?.permission\n\n // If modal is open, get active page of upload gallery\n const isOpen = isModalOpen(drawerSlug)\n const apiURL = isOpen ? `${serverURL}${api}/${selectedCollectionConfig.slug}` : null\n const [cacheBust, dispatchCacheBust] = useReducer((state) => state + 1, 0) // used to force a re-fetch even when apiURL is unchanged\n const [{ data, isError, isLoading: isLoadingList }, { setParams }] = usePayloadAPI(apiURL, {\n initialParams: {\n depth: 0,\n },\n })\n const moreThanOneAvailableCollection = enabledCollectionConfigs.length > 1\n\n useEffect(() => {\n const {\n slug,\n admin: { listSearchableFields, useAsTitle } = {},\n versions,\n } = selectedCollectionConfig\n const params: {\n cacheBust?: number\n depth?: number\n draft?: string\n limit?: number\n page?: number\n search?: string\n sort?: string\n where?: unknown\n } = {\n depth: 0,\n }\n\n let copyOfWhere = { ...(where || {}) }\n const filterOption = filterOptions?.[slug]\n\n if (filterOptions && typeof filterOption !== 'boolean') {\n copyOfWhere = hoistQueryParamsToAnd(copyOfWhere, filterOption)\n }\n\n if (search) {\n const searchAsConditions = (listSearchableFields || [useAsTitle]).map((fieldName) => {\n return {\n [fieldName]: {\n like: search,\n },\n }\n }, [])\n\n if (searchAsConditions.length > 0) {\n const searchFilter: Where = {\n or: [...searchAsConditions],\n }\n\n copyOfWhere = hoistQueryParamsToAnd(copyOfWhere, searchFilter)\n }\n }\n\n if (page) params.page = page\n if (sort) params.sort = sort\n if (cacheBust) params.cacheBust = cacheBust\n if (copyOfWhere) params.where = copyOfWhere\n if (versions?.drafts) params.draft = 'true'\n\n setParams(params)\n }, [page, sort, where, search, cacheBust, filterOptions, selectedCollectionConfig, t, setParams])\n\n useEffect(() => {\n const newPreferences = {\n limit,\n sort,\n }\n\n void setPreference(preferenceKey, newPreferences, true)\n }, [sort, limit, setPreference, preferenceKey])\n\n const onCreateNew = useCallback(\n ({ doc }) => {\n if (typeof onSelect === 'function') {\n onSelect({\n collectionSlug: selectedCollectionConfig.slug,\n docID: doc.id,\n })\n }\n dispatchCacheBust()\n closeModal(documentDrawerSlug)\n closeModal(drawerSlug)\n },\n [closeModal, documentDrawerSlug, drawerSlug, onSelect, selectedCollectionConfig],\n )\n\n if (!selectedCollectionConfig || isError) {\n return null\n }\n\n if (isLoadingList) {\n return <LoadingOverlay />\n }\n\n return (\n <ListInfoProvider\n Header={\n <header className={`${baseClass}__header`}>\n <div className={`${baseClass}__header-wrap`}>\n <div className={`${baseClass}__header-content`}>\n <h2 className={`${baseClass}__header-text`}>\n {!customHeader\n ? getTranslation(selectedCollectionConfig?.labels?.plural, i18n)\n : customHeader}\n </h2>\n {hasCreatePermission && (\n <DocumentDrawerToggler className={`${baseClass}__create-new-button`}>\n <Pill>{t('general:createNew')}</Pill>\n </DocumentDrawerToggler>\n )}\n </div>\n <button\n aria-label={t('general:close')}\n className={`${baseClass}__header-close`}\n onClick={() => {\n closeModal(drawerSlug)\n }}\n type=\"button\"\n >\n <XIcon />\n </button>\n </div>\n {(selectedCollectionConfig?.admin?.description ||\n selectedCollectionConfig?.admin?.components?.Description) && (\n <div className={`${baseClass}__sub-header`}>\n <ViewDescription\n Description={selectedCollectionConfig.admin?.components?.Description}\n description={selectedCollectionConfig.admin?.description}\n />\n </div>\n )}\n {moreThanOneAvailableCollection && (\n <div className={`${baseClass}__select-collection-wrap`}>\n <FieldLabel field={null} label={t('upload:selectCollectionToBrowse')} />\n <ReactSelect\n className={`${baseClass}__select-collection`}\n onChange={setSelectedOption} // this is only changing the options which is not rerunning my effect\n options={enabledCollectionConfigs.map((coll) => ({\n label: getTranslation(coll.labels.singular, i18n),\n value: coll.slug,\n }))}\n value={selectedOption}\n />\n </div>\n )}\n </header>\n }\n beforeActions={\n enableRowSelections ? [<SelectMany key=\"select-many\" onClick={onBulkSelect} />] : undefined\n }\n collectionConfig={selectedCollectionConfig}\n collectionSlug={selectedCollectionConfig.slug}\n disableBulkDelete\n disableBulkEdit\n hasCreatePermission={hasCreatePermission}\n newDocumentURL={null}\n >\n <ListQueryProvider\n data={data}\n defaultLimit={limit || selectedCollectionConfig?.admin?.pagination?.defaultLimit}\n defaultSort={sort}\n handlePageChange={setPage}\n handlePerPageChange={setLimit}\n handleSearchChange={setSearch}\n handleSortChange={setSort}\n handleWhereChange={setWhere}\n modifySearchParams={false}\n preferenceKey={preferenceKey}\n >\n <TableColumnsProvider\n cellProps={[\n {\n className: `${baseClass}__first-cell`,\n link: false,\n onClick: ({ collectionSlug: rowColl, rowData }) => {\n if (typeof onSelect === 'function') {\n onSelect({\n collectionSlug: rowColl,\n docID: rowData.id as string,\n })\n }\n },\n },\n ]}\n collectionSlug={selectedCollectionConfig.slug}\n enableRowSelections={enableRowSelections}\n preferenceKey={preferenceKey}\n >\n <RenderComponent mappedComponent={List} />\n <DocumentDrawer onSave={onCreateNew} />\n </TableColumnsProvider>\n </ListQueryProvider>\n </ListInfoProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ListDrawer/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA2D,MAAM,OAAO,CAAA;AAE/E,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAElF,cAAc,YAAY,CAAA;AAM1B,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,SAAS,gBAAgB,CAAA;AAEtC,eAAO,MAAM,oBAAoB,qBAG9B;IACD,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb,WAAmC,CAAA;AAEpC,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAiBxD,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAQhD,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,aAgF3B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ListDrawer/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA2D,MAAM,OAAO,CAAA;AAE/E,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAElF,cAAc,YAAY,CAAA;AAM1B,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,SAAS,gBAAgB,CAAA;AAEtC,eAAO,MAAM,oBAAoB,qBAG9B;IACD,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb,WAAmC,CAAA;AAEpC,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAiBxD,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAQhD,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,aAiF3B,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useModal","React","useCallback","useEffect","useId","useMemo","useState","useConfig","useEditDepth","Drawer","DrawerToggler","ListDrawerContent","baseClass","formatListDrawerSlug","depth","uuid","ListDrawerToggler","children","className","disabled","drawerSlug","rest","_jsx","filter","Boolean","join","slug","ListDrawer","props","Header","gutter","useListDrawer","t0","$","collectionSlugs","collectionSlugsFromProps","filterOptions","selectedCollection","uploads","config","t1","collections","drawerDepth","closeModal","modalState","openModal","toggleModal","isOpen","setIsOpen","setCollectionSlugs","t2","t3","t4","t5","t6","length","filteredCollectionSlugs","t7","upload","map","t8","toggleDrawer","closeDrawer","t9","openDrawer","t10","t11","_createElement","key","MemoizedDrawer","t12","t13","props_0","MemoizedDrawerToggler","t14","t15","isDrawerOpen","MemoizedDrawerState","t16"],"sources":["../../../src/elements/ListDrawer/index.tsx"],"sourcesContent":["'use client'\nimport { useModal } from '@faceless-ui/modal'\nimport React, { useCallback, useEffect, useId, useMemo, useState } from 'react'\n\nimport type { ListDrawerProps, ListTogglerProps, UseListDrawer } from './types.js'\n\nexport * from './types.js'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { Drawer, DrawerToggler } from '../Drawer/index.js'\nimport { ListDrawerContent } from './DrawerContent.js'\nimport './index.scss'\n\nexport const baseClass = 'list-drawer'\n\nexport const formatListDrawerSlug = ({\n depth,\n uuid,\n}: {\n depth: number\n uuid: string // supply when creating a new document and no id is available\n}) => `list-drawer_${depth}_${uuid}`\n\nexport const ListDrawerToggler: React.FC<ListTogglerProps> = ({\n children,\n className,\n disabled,\n drawerSlug,\n ...rest\n}) => {\n return (\n <DrawerToggler\n className={[className, `${baseClass}__toggler`].filter(Boolean).join(' ')}\n disabled={disabled}\n slug={drawerSlug}\n {...rest}\n >\n {children}\n </DrawerToggler>\n )\n}\n\nexport const ListDrawer: React.FC<ListDrawerProps> = (props) => {\n const { drawerSlug } = props\n\n return (\n <Drawer Header={null} className={baseClass} gutter={false} slug={drawerSlug}>\n <ListDrawerContent {...props} />\n </Drawer>\n )\n}\n\nexport const useListDrawer: UseListDrawer = ({\n collectionSlugs: collectionSlugsFromProps,\n filterOptions,\n selectedCollection,\n uploads,\n}) => {\n const {\n config: { collections },\n } = useConfig()\n const drawerDepth = useEditDepth()\n const uuid = useId()\n const { closeModal, modalState, openModal, toggleModal } = useModal()\n const [isOpen, setIsOpen] = useState(false)\n const [collectionSlugs, setCollectionSlugs] = useState(collectionSlugsFromProps)\n\n const drawerSlug = formatListDrawerSlug({\n depth: drawerDepth,\n uuid,\n })\n\n useEffect(() => {\n setIsOpen(Boolean(modalState[drawerSlug]?.isOpen))\n }, [modalState, drawerSlug])\n\n useEffect(() => {\n if (!collectionSlugs || collectionSlugs.length === 0) {\n const filteredCollectionSlugs = collections.filter(({ upload }) => {\n if (uploads) {\n return Boolean(upload) === true\n }\n return true\n })\n\n setCollectionSlugs(filteredCollectionSlugs.map(({ slug }) => slug))\n }\n }, [collectionSlugs, uploads, collections])\n const toggleDrawer = useCallback(() => {\n toggleModal(drawerSlug)\n }, [toggleModal, drawerSlug])\n\n const closeDrawer = useCallback(() => {\n closeModal(drawerSlug)\n }, [drawerSlug, closeModal])\n\n const openDrawer = useCallback(() => {\n openModal(drawerSlug)\n }, [drawerSlug, openModal])\n\n const MemoizedDrawer = useMemo(() => {\n return (props) => (\n <ListDrawer\n {...props}\n closeDrawer={closeDrawer}\n collectionSlugs={collectionSlugs}\n drawerSlug={drawerSlug}\n filterOptions={filterOptions}\n key={drawerSlug}\n selectedCollection={selectedCollection}\n uploads={uploads}\n />\n )\n }, [drawerSlug, collectionSlugs, uploads, closeDrawer, selectedCollection, filterOptions])\n\n const MemoizedDrawerToggler = useMemo(() => {\n return (props) => <ListDrawerToggler {...props} drawerSlug={drawerSlug} />\n }, [drawerSlug])\n\n const MemoizedDrawerState = useMemo(\n () => ({\n closeDrawer,\n drawerDepth,\n drawerSlug,\n isDrawerOpen: isOpen,\n openDrawer,\n toggleDrawer,\n }),\n [drawerDepth, drawerSlug, isOpen, toggleDrawer, closeDrawer, openDrawer],\n )\n\n return [MemoizedDrawer, MemoizedDrawerToggler, MemoizedDrawerState]\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useModal","React","useCallback","useEffect","useId","useMemo","useState","useConfig","useEditDepth","Drawer","DrawerToggler","ListDrawerContent","baseClass","formatListDrawerSlug","depth","uuid","ListDrawerToggler","children","className","disabled","drawerSlug","rest","_jsx","filter","Boolean","join","slug","ListDrawer","props","Header","gutter","useListDrawer","t0","$","collectionSlugs","collectionSlugsFromProps","filterOptions","selectedCollection","uploads","config","t1","collections","drawerDepth","closeModal","modalState","openModal","toggleModal","isOpen","setIsOpen","setCollectionSlugs","t2","t3","t4","t5","t6","length","filteredCollectionSlugs","t7","upload","map","t8","toggleDrawer","closeDrawer","t9","openDrawer","t10","t11","_createElement","key","MemoizedDrawer","t12","t13","props_0","MemoizedDrawerToggler","t14","t15","isDrawerOpen","MemoizedDrawerState","t16"],"sources":["../../../src/elements/ListDrawer/index.tsx"],"sourcesContent":["'use client'\nimport { useModal } from '@faceless-ui/modal'\nimport React, { useCallback, useEffect, useId, useMemo, useState } from 'react'\n\nimport type { ListDrawerProps, ListTogglerProps, UseListDrawer } from './types.js'\n\nexport * from './types.js'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { Drawer, DrawerToggler } from '../Drawer/index.js'\nimport { ListDrawerContent } from './DrawerContent.js'\nimport './index.scss'\n\nexport const baseClass = 'list-drawer'\n\nexport const formatListDrawerSlug = ({\n depth,\n uuid,\n}: {\n depth: number\n uuid: string // supply when creating a new document and no id is available\n}) => `list-drawer_${depth}_${uuid}`\n\nexport const ListDrawerToggler: React.FC<ListTogglerProps> = ({\n children,\n className,\n disabled,\n drawerSlug,\n ...rest\n}) => {\n return (\n <DrawerToggler\n className={[className, `${baseClass}__toggler`].filter(Boolean).join(' ')}\n disabled={disabled}\n slug={drawerSlug}\n {...rest}\n >\n {children}\n </DrawerToggler>\n )\n}\n\nexport const ListDrawer: React.FC<ListDrawerProps> = (props) => {\n const { drawerSlug } = props\n\n return (\n <Drawer Header={null} className={baseClass} gutter={false} slug={drawerSlug}>\n <ListDrawerContent {...props} />\n </Drawer>\n )\n}\n\nexport const useListDrawer: UseListDrawer = ({\n collectionSlugs: collectionSlugsFromProps,\n filterOptions,\n selectedCollection,\n uploads,\n}) => {\n const {\n config: { collections },\n } = useConfig()\n const drawerDepth = useEditDepth()\n const uuid = useId()\n const { closeModal, modalState, openModal, toggleModal } = useModal()\n const [isOpen, setIsOpen] = useState(false)\n const [collectionSlugs, setCollectionSlugs] = useState(collectionSlugsFromProps)\n\n const drawerSlug = formatListDrawerSlug({\n depth: drawerDepth,\n uuid,\n })\n\n useEffect(() => {\n setIsOpen(Boolean(modalState[drawerSlug]?.isOpen))\n }, [modalState, drawerSlug])\n\n useEffect(() => {\n if (!collectionSlugs || collectionSlugs.length === 0) {\n const filteredCollectionSlugs = collections.filter(({ upload }) => {\n if (uploads) {\n return Boolean(upload) === true\n }\n return true\n })\n\n setCollectionSlugs(filteredCollectionSlugs.map(({ slug }) => slug))\n }\n }, [collectionSlugs, uploads, collections])\n\n const toggleDrawer = useCallback(() => {\n toggleModal(drawerSlug)\n }, [toggleModal, drawerSlug])\n\n const closeDrawer = useCallback(() => {\n closeModal(drawerSlug)\n }, [drawerSlug, closeModal])\n\n const openDrawer = useCallback(() => {\n openModal(drawerSlug)\n }, [drawerSlug, openModal])\n\n const MemoizedDrawer = useMemo(() => {\n return (props) => (\n <ListDrawer\n {...props}\n closeDrawer={closeDrawer}\n collectionSlugs={collectionSlugs}\n drawerSlug={drawerSlug}\n filterOptions={filterOptions}\n key={drawerSlug}\n selectedCollection={selectedCollection}\n uploads={uploads}\n />\n )\n }, [drawerSlug, collectionSlugs, uploads, closeDrawer, selectedCollection, filterOptions])\n\n const MemoizedDrawerToggler = useMemo(() => {\n return (props) => <ListDrawerToggler {...props} drawerSlug={drawerSlug} />\n }, [drawerSlug])\n\n const MemoizedDrawerState = useMemo(\n () => ({\n closeDrawer,\n drawerDepth,\n drawerSlug,\n isDrawerOpen: isOpen,\n openDrawer,\n toggleDrawer,\n }),\n [drawerDepth, drawerSlug, isOpen, toggleDrawer, closeDrawer, openDrawer],\n )\n\n return [MemoizedDrawer, MemoizedDrawerToggler, MemoizedDrawerState]\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,11 +1,14 @@
1
1
  import type { FilterOptionsResult, SanitizedCollectionConfig } from 'payload';
2
2
  import type React from 'react';
3
3
  import type { HTMLAttributes } from 'react';
4
+ import type { useSelection } from '../../providers/Selection/index.js';
4
5
  export type ListDrawerProps = {
5
6
  readonly collectionSlugs: string[];
6
7
  readonly customHeader?: React.ReactNode;
7
8
  readonly drawerSlug?: string;
9
+ readonly enableRowSelections?: boolean;
8
10
  readonly filterOptions?: FilterOptionsResult;
11
+ readonly onBulkSelect?: (selected: ReturnType<typeof useSelection>['selected']) => void;
9
12
  readonly onSelect?: (args: {
10
13
  collectionSlug: SanitizedCollectionConfig['slug'];
11
14
  docID: string;
@@ -24,7 +27,7 @@ export type UseListDrawer = (args: {
24
27
  selectedCollection?: string;
25
28
  uploads?: boolean;
26
29
  }) => [
27
- React.FC<Pick<ListDrawerProps, 'onSelect'>>,
30
+ React.FC<Pick<ListDrawerProps, 'enableRowSelections' | 'onBulkSelect' | 'onSelect'>>,
28
31
  React.FC<Pick<ListTogglerProps, 'children' | 'className' | 'disabled'>>,
29
32
  {
30
33
  closeDrawer: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/elements/ListDrawer/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAC7E,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAE3C,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,eAAe,EAAE,MAAM,EAAE,CAAA;IAClC,QAAQ,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,aAAa,CAAC,EAAE,mBAAmB,CAAA;IAC5C,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE;QACzB,cAAc,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;QACjD,KAAK,EAAE,MAAM,CAAA;KACd,KAAK,IAAI,CAAA;IACV,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;CACrC,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,GAAG,cAAc,CAAC,iBAAiB,CAAC,CAAA;AAErC,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE;IACjC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;IAC1B,aAAa,CAAC,EAAE,mBAAmB,CAAA;IACnC,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,KAAK;IACJ,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;IAC3C,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,UAAU,GAAG,WAAW,GAAG,UAAU,CAAC,CAAC;IACvE;QACE,WAAW,EAAE,MAAM,IAAI,CAAA;QACvB,WAAW,EAAE,MAAM,CAAA;QACnB,UAAU,EAAE,MAAM,CAAA;QAClB,YAAY,EAAE,OAAO,CAAA;QACrB,UAAU,EAAE,MAAM,IAAI,CAAA;QACtB,YAAY,EAAE,MAAM,IAAI,CAAA;KACzB;CACF,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/elements/ListDrawer/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAC7E,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAE3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAA;AAEtE,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,eAAe,EAAE,MAAM,EAAE,CAAA;IAClC,QAAQ,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,aAAa,CAAC,EAAE,mBAAmB,CAAA;IAC5C,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,UAAU,CAAC,KAAK,IAAI,CAAA;IACvF,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE;QACzB,cAAc,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;QACjD,KAAK,EAAE,MAAM,CAAA;KACd,KAAK,IAAI,CAAA;IACV,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;CACrC,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,GAAG,cAAc,CAAC,iBAAiB,CAAC,CAAA;AAErC,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE;IACjC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;IAC1B,aAAa,CAAC,EAAE,mBAAmB,CAAA;IACnC,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,KAAK;IACJ,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,qBAAqB,GAAG,cAAc,GAAG,UAAU,CAAC,CAAC;IACpF,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,UAAU,GAAG,WAAW,GAAG,UAAU,CAAC,CAAC;IACvE;QACE,WAAW,EAAE,MAAM,IAAI,CAAA;QACvB,WAAW,EAAE,MAAM,CAAA;QACnB,UAAU,EAAE,MAAM,CAAA;QAClB,YAAY,EAAE,OAAO,CAAA;QACrB,UAAU,EAAE,MAAM,IAAI,CAAA;QACtB,YAAY,EAAE,MAAM,IAAI,CAAA;KACzB;CACF,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../src/elements/ListDrawer/types.ts"],"sourcesContent":["import type { FilterOptionsResult, SanitizedCollectionConfig } from 'payload'\nimport type React from 'react'\nimport type { HTMLAttributes } from 'react'\n\nexport type ListDrawerProps = {\n readonly collectionSlugs: string[]\n readonly customHeader?: React.ReactNode\n readonly drawerSlug?: string\n readonly filterOptions?: FilterOptionsResult\n readonly onSelect?: (args: {\n collectionSlug: SanitizedCollectionConfig['slug']\n docID: string\n }) => void\n readonly selectedCollection?: string\n}\n\nexport type ListTogglerProps = {\n children?: React.ReactNode\n className?: string\n disabled?: boolean\n drawerSlug?: string\n} & HTMLAttributes<HTMLButtonElement>\n\nexport type UseListDrawer = (args: {\n collectionSlugs?: string[]\n filterOptions?: FilterOptionsResult\n selectedCollection?: string\n uploads?: boolean // finds all collections with upload: true\n}) => [\n React.FC<Pick<ListDrawerProps, 'onSelect'>>, // drawer\n React.FC<Pick<ListTogglerProps, 'children' | 'className' | 'disabled'>>, // toggler\n {\n closeDrawer: () => void\n drawerDepth: number\n drawerSlug: string\n isDrawerOpen: boolean\n openDrawer: () => void\n toggleDrawer: () => void\n },\n]\n"],"mappings":"AAuBA","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../src/elements/ListDrawer/types.ts"],"sourcesContent":["import type { FilterOptionsResult, SanitizedCollectionConfig } from 'payload'\nimport type React from 'react'\nimport type { HTMLAttributes } from 'react'\n\nimport type { useSelection } from '../../providers/Selection/index.js'\n\nexport type ListDrawerProps = {\n readonly collectionSlugs: string[]\n readonly customHeader?: React.ReactNode\n readonly drawerSlug?: string\n readonly enableRowSelections?: boolean\n readonly filterOptions?: FilterOptionsResult\n readonly onBulkSelect?: (selected: ReturnType<typeof useSelection>['selected']) => void\n readonly onSelect?: (args: {\n collectionSlug: SanitizedCollectionConfig['slug']\n docID: string\n }) => void\n readonly selectedCollection?: string\n}\n\nexport type ListTogglerProps = {\n children?: React.ReactNode\n className?: string\n disabled?: boolean\n drawerSlug?: string\n} & HTMLAttributes<HTMLButtonElement>\n\nexport type UseListDrawer = (args: {\n collectionSlugs?: string[]\n filterOptions?: FilterOptionsResult\n selectedCollection?: string\n uploads?: boolean // finds all collections with upload: true\n}) => [\n React.FC<Pick<ListDrawerProps, 'enableRowSelections' | 'onBulkSelect' | 'onSelect'>>, // drawer\n React.FC<Pick<ListTogglerProps, 'children' | 'className' | 'disabled'>>, // toggler\n {\n closeDrawer: () => void\n drawerDepth: number\n drawerSlug: string\n isDrawerOpen: boolean\n openDrawer: () => void\n toggleDrawer: () => void\n },\n]\n"],"mappings":"AA2BA","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import './index.scss';
3
+ type Props = {
4
+ children?: React.ReactNode;
5
+ className?: string;
6
+ heading: string;
7
+ };
8
+ export declare function ListHeader({ children, className, heading }: Props): React.JSX.Element;
9
+ export {};
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ListHeader/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,cAAc,CAAA;AAIrB,KAAK,KAAK,GAAG;IACX,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AACD,wBAAgB,UAAU,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,KAAK,qBAOjE"}
@@ -0,0 +1,17 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import './index.scss';
4
+ const baseClass = 'list-header';
5
+ export function ListHeader({
6
+ children,
7
+ className,
8
+ heading
9
+ }) {
10
+ return /*#__PURE__*/_jsxs("header", {
11
+ className: [baseClass, className].filter(Boolean).join(' '),
12
+ children: [/*#__PURE__*/_jsx("h1", {
13
+ children: heading
14
+ }), children]
15
+ });
16
+ }
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["React","baseClass","ListHeader","children","className","heading","_jsxs","filter","Boolean","join","_jsx"],"sources":["../../../src/elements/ListHeader/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport './index.scss'\n\nconst baseClass = 'list-header'\n\ntype Props = {\n children?: React.ReactNode\n className?: string\n heading: string\n}\nexport function ListHeader({ children, className, heading }: Props) {\n return (\n <header className={[baseClass, className].filter(Boolean).join(' ')}>\n <h1>{heading}</h1>\n {children}\n </header>\n )\n}\n"],"mappings":";AAAA,OAAOA,KAAA,MAAW;AAElB,OAAO;AAEP,MAAMC,SAAA,GAAY;AAOlB,OAAO,SAASC,WAAW;EAAEC,QAAQ;EAAEC,SAAS;EAAEC;AAAO,CAAS;EAChE,oBACEC,KAAA,CAAC;IAAOF,SAAA,EAAW,CAACH,SAAA,EAAWG,SAAA,CAAU,CAACG,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;4BAC7DC,IAAA,CAAC;gBAAIL;QACJF,QAAA;;AAGP","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ .list-header {
2
+ display: flex;
3
+ align-items: flex-end;
4
+ flex-wrap: wrap;
5
+ gap: calc(var(--base) * 0.8);
6
+
7
+ h1 {
8
+ margin: 0;
9
+ }
10
+ }