@payloadcms/ui 3.0.0-canary.0374de4 → 3.0.0-canary.0992b47

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (189) hide show
  1. package/dist/elements/BulkUpload/EditForm/index.js +1 -3
  2. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  3. package/dist/elements/BulkUpload/FormsManager/index.js +1 -3
  4. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  5. package/dist/elements/Button/types.d.ts +0 -6
  6. package/dist/elements/Button/types.d.ts.map +1 -1
  7. package/dist/elements/Button/types.js.map +1 -1
  8. package/dist/elements/ColumnSelector/index.d.ts.map +1 -1
  9. package/dist/elements/ColumnSelector/index.js +2 -14
  10. package/dist/elements/ColumnSelector/index.js.map +1 -1
  11. package/dist/elements/DocumentControls/index.d.ts +1 -4
  12. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  13. package/dist/elements/DocumentControls/index.js +5 -41
  14. package/dist/elements/DocumentControls/index.js.map +1 -1
  15. package/dist/elements/DocumentControls/index.scss +0 -8
  16. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  17. package/dist/elements/DocumentDrawer/DrawerContent.js +17 -23
  18. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  19. package/dist/elements/DocumentDrawer/types.d.ts +1 -4
  20. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  21. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  22. package/dist/elements/EditMany/index.d.ts.map +1 -1
  23. package/dist/elements/EditMany/index.js +12 -19
  24. package/dist/elements/EditMany/index.js.map +1 -1
  25. package/dist/elements/Hamburger/index.scss +0 -4
  26. package/dist/elements/ListControls/index.d.ts.map +1 -1
  27. package/dist/elements/ListControls/index.js +5 -9
  28. package/dist/elements/ListControls/index.js.map +1 -1
  29. package/dist/elements/ListControls/index.scss +6 -0
  30. package/dist/elements/ListDrawer/DrawerContent.d.ts +0 -2
  31. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  32. package/dist/elements/ListDrawer/DrawerContent.js +1 -1
  33. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  34. package/dist/elements/Localizer/LocalizerLabel/index.d.ts.map +1 -1
  35. package/dist/elements/Localizer/LocalizerLabel/index.js +5 -9
  36. package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
  37. package/dist/elements/Localizer/LocalizerLabel/index.scss +3 -7
  38. package/dist/elements/Pagination/index.d.ts.map +1 -1
  39. package/dist/elements/Pagination/index.js +1 -1
  40. package/dist/elements/Pagination/index.js.map +1 -1
  41. package/dist/elements/PerPage/index.d.ts +5 -5
  42. package/dist/elements/PerPage/index.d.ts.map +1 -1
  43. package/dist/elements/PerPage/index.js +1 -2
  44. package/dist/elements/PerPage/index.js.map +1 -1
  45. package/dist/elements/Pill/index.scss +1 -3
  46. package/dist/elements/PreviewButton/usePreviewURL.d.ts.map +1 -1
  47. package/dist/elements/PreviewButton/usePreviewURL.js +0 -1
  48. package/dist/elements/PreviewButton/usePreviewURL.js.map +1 -1
  49. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  50. package/dist/elements/PublishButton/index.js +46 -97
  51. package/dist/elements/PublishButton/index.js.map +1 -1
  52. package/dist/elements/ReactSelect/index.scss +0 -4
  53. package/dist/elements/SelectRow/index.d.ts.map +1 -1
  54. package/dist/elements/SelectRow/index.js +24 -60
  55. package/dist/elements/SelectRow/index.js.map +1 -1
  56. package/dist/elements/SortColumn/index.d.ts +0 -1
  57. package/dist/elements/SortColumn/index.d.ts.map +1 -1
  58. package/dist/elements/SortColumn/index.js +17 -29
  59. package/dist/elements/SortColumn/index.js.map +1 -1
  60. package/dist/elements/SortColumn/index.scss +1 -10
  61. package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts +3 -2
  62. package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts.map +1 -1
  63. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +40 -43
  64. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  65. package/dist/elements/Table/DefaultCell/fields/Relationship/index.scss +3 -0
  66. package/dist/elements/Table/DefaultCell/fields/index.d.ts +0 -1
  67. package/dist/elements/Table/DefaultCell/fields/index.d.ts.map +1 -1
  68. package/dist/elements/Table/DefaultCell/fields/index.js +0 -1
  69. package/dist/elements/Table/DefaultCell/fields/index.js.map +1 -1
  70. package/dist/elements/Table/index.d.ts +6 -3
  71. package/dist/elements/Table/index.d.ts.map +1 -1
  72. package/dist/elements/Table/index.js +31 -36
  73. package/dist/elements/Table/index.js.map +1 -1
  74. package/dist/elements/Table/index.scss +0 -49
  75. package/dist/elements/TableColumns/buildColumnState.d.ts +2 -5
  76. package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
  77. package/dist/elements/TableColumns/buildColumnState.js +22 -35
  78. package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
  79. package/dist/elements/TableColumns/index.d.ts +0 -4
  80. package/dist/elements/TableColumns/index.d.ts.map +1 -1
  81. package/dist/elements/TableColumns/index.js +68 -79
  82. package/dist/elements/TableColumns/index.js.map +1 -1
  83. package/dist/elements/Tooltip/index.d.ts +0 -1
  84. package/dist/elements/Tooltip/index.d.ts.map +1 -1
  85. package/dist/elements/Tooltip/index.js +13 -15
  86. package/dist/elements/Tooltip/index.js.map +1 -1
  87. package/dist/elements/Tooltip/index.scss +2 -2
  88. package/dist/exports/client/index.d.ts +0 -1
  89. package/dist/exports/client/index.d.ts.map +1 -1
  90. package/dist/exports/client/index.js +19 -19
  91. package/dist/exports/client/index.js.map +4 -4
  92. package/dist/exports/shared/index.js +2 -2
  93. package/dist/exports/shared/index.js.map +2 -2
  94. package/dist/fields/Checkbox/Input.js +1 -1
  95. package/dist/fields/Checkbox/Input.js.map +1 -1
  96. package/dist/fields/Checkbox/index.scss +0 -13
  97. package/dist/fields/Relationship/select-components/SingleValue/index.d.ts.map +1 -1
  98. package/dist/fields/Relationship/select-components/SingleValue/index.js +14 -11
  99. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  100. package/dist/fields/Upload/Input.d.ts.map +1 -1
  101. package/dist/fields/Upload/Input.js +11 -10
  102. package/dist/fields/Upload/Input.js.map +1 -1
  103. package/dist/fields/Upload/UploadCard/index.scss +1 -0
  104. package/dist/fields/index.d.ts.map +1 -1
  105. package/dist/fields/index.js +0 -2
  106. package/dist/fields/index.js.map +1 -1
  107. package/dist/forms/Form/index.js +2 -6
  108. package/dist/forms/Form/index.js.map +1 -1
  109. package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
  110. package/dist/forms/RenderFields/RenderField.js +1 -3
  111. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  112. package/dist/forms/RenderFields/index.d.ts.map +1 -1
  113. package/dist/forms/RenderFields/index.js +15 -18
  114. package/dist/forms/RenderFields/index.js.map +1 -1
  115. package/dist/forms/buildStateFromSchema/index.d.ts +0 -2
  116. package/dist/forms/buildStateFromSchema/index.d.ts.map +1 -1
  117. package/dist/forms/buildStateFromSchema/index.js.map +1 -1
  118. package/dist/hooks/usePayloadAPI.d.ts.map +1 -1
  119. package/dist/hooks/usePayloadAPI.js.map +1 -1
  120. package/dist/icons/Chevron/index.d.ts +3 -3
  121. package/dist/icons/Chevron/index.d.ts.map +1 -1
  122. package/dist/icons/Chevron/index.js +4 -4
  123. package/dist/icons/Chevron/index.js.map +1 -1
  124. package/dist/icons/Chevron/index.scss +1 -9
  125. package/dist/providers/Config/createClientConfig/collections.d.ts.map +1 -1
  126. package/dist/providers/Config/createClientConfig/collections.js +1 -1
  127. package/dist/providers/Config/createClientConfig/collections.js.map +1 -1
  128. package/dist/providers/Config/createClientConfig/fields.d.ts.map +1 -1
  129. package/dist/providers/Config/createClientConfig/fields.js +0 -3
  130. package/dist/providers/Config/createClientConfig/fields.js.map +1 -1
  131. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  132. package/dist/providers/DocumentInfo/index.js +8 -112
  133. package/dist/providers/DocumentInfo/index.js.map +1 -1
  134. package/dist/providers/DocumentInfo/types.d.ts +26 -32
  135. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  136. package/dist/providers/DocumentInfo/types.js.map +1 -1
  137. package/dist/providers/ListQuery/index.d.ts +5 -5
  138. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  139. package/dist/providers/ListQuery/index.js.map +1 -1
  140. package/dist/providers/Selection/index.d.ts +1 -1
  141. package/dist/providers/Selection/index.d.ts.map +1 -1
  142. package/dist/providers/Selection/index.js +31 -55
  143. package/dist/providers/Selection/index.js.map +1 -1
  144. package/dist/styles.css +1 -1
  145. package/dist/utilities/buildFormState.d.ts +3 -9
  146. package/dist/utilities/buildFormState.d.ts.map +1 -1
  147. package/dist/utilities/buildFormState.js +4 -88
  148. package/dist/utilities/buildFormState.js.map +1 -1
  149. package/dist/utilities/getFormState.d.ts +2 -8
  150. package/dist/utilities/getFormState.d.ts.map +1 -1
  151. package/dist/utilities/getFormState.js +1 -3
  152. package/dist/utilities/getFormState.js.map +1 -1
  153. package/package.json +5 -5
  154. package/dist/elements/Locked/index.d.ts +0 -8
  155. package/dist/elements/Locked/index.d.ts.map +0 -1
  156. package/dist/elements/Locked/index.js +0 -72
  157. package/dist/elements/Locked/index.js.map +0 -1
  158. package/dist/elements/Locked/index.scss +0 -14
  159. package/dist/elements/RelationshipTable/TableWrapper.d.ts +0 -8
  160. package/dist/elements/RelationshipTable/TableWrapper.d.ts.map +0 -1
  161. package/dist/elements/RelationshipTable/TableWrapper.js +0 -69
  162. package/dist/elements/RelationshipTable/TableWrapper.js.map +0 -1
  163. package/dist/elements/RelationshipTable/cells/DrawerLink/index.d.ts +0 -8
  164. package/dist/elements/RelationshipTable/cells/DrawerLink/index.d.ts.map +0 -1
  165. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js +0 -82
  166. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +0 -1
  167. package/dist/elements/RelationshipTable/cells/DrawerLink/index.scss +0 -4
  168. package/dist/elements/RelationshipTable/index.d.ts +0 -13
  169. package/dist/elements/RelationshipTable/index.d.ts.map +0 -1
  170. package/dist/elements/RelationshipTable/index.js +0 -365
  171. package/dist/elements/RelationshipTable/index.js.map +0 -1
  172. package/dist/elements/RelationshipTable/index.scss +0 -26
  173. package/dist/elements/Table/RenderCell.d.ts +0 -11
  174. package/dist/elements/Table/RenderCell.d.ts.map +0 -1
  175. package/dist/elements/Table/RenderCell.js +0 -30
  176. package/dist/elements/Table/RenderCell.js.map +0 -1
  177. package/dist/fields/Join/index.d.ts +0 -9
  178. package/dist/fields/Join/index.d.ts.map +0 -1
  179. package/dist/fields/Join/index.js +0 -70
  180. package/dist/fields/Join/index.js.map +0 -1
  181. package/dist/icons/Lock/index.d.ts +0 -6
  182. package/dist/icons/Lock/index.d.ts.map +0 -1
  183. package/dist/icons/Lock/index.js +0 -27
  184. package/dist/icons/Lock/index.js.map +0 -1
  185. package/dist/icons/Lock/index.scss +0 -8
  186. package/dist/utilities/deepMerge.d.ts +0 -12
  187. package/dist/utilities/deepMerge.d.ts.map +0 -1
  188. package/dist/utilities/deepMerge.js +0 -25
  189. package/dist/utilities/deepMerge.js.map +0 -1
@@ -17,7 +17,7 @@ import { IDLabel } from '../IDLabel/index.js';
17
17
  import { RenderTitle } from '../RenderTitle/index.js';
18
18
  import { baseClass } from './index.js';
19
19
  export const DocumentDrawerContent = t0 => {
20
- const $ = _c(46);
20
+ const $ = _c(44);
21
21
  const {
22
22
  id: existingDocID,
23
23
  AfterFields,
@@ -25,8 +25,6 @@ export const DocumentDrawerContent = t0 => {
25
25
  disableActions,
26
26
  drawerSlug,
27
27
  Header,
28
- initialData,
29
- initialState,
30
28
  onDelete: onDeleteFromProps,
31
29
  onDuplicate: onDuplicateFromProps,
32
30
  onSave: onSaveFromProps,
@@ -158,24 +156,24 @@ export const DocumentDrawerContent = t0 => {
158
156
  t8 = $[21];
159
157
  }
160
158
  let t9;
161
- if ($[22] !== t8 || $[23] !== t || $[24] !== toggleModal || $[25] !== drawerSlug || $[26] !== redirectAfterDelete || $[27] !== redirectAfterDuplicate || $[28] !== Edit || $[29] !== AfterFields || $[30] !== apiURL || $[31] !== collectionConfig.slug || $[32] !== disableActions || $[33] !== docID || $[34] !== initialData || $[35] !== initialState || $[36] !== isEditing || $[37] !== onDelete || $[38] !== onDuplicate || $[39] !== onLoadError || $[40] !== onSave) {
159
+ if ($[22] !== t8 || $[23] !== t || $[24] !== toggleModal || $[25] !== drawerSlug || $[26] !== redirectAfterDelete || $[27] !== redirectAfterDuplicate || $[28] !== Edit || $[29] !== AfterFields || $[30] !== apiURL || $[31] !== collectionConfig.slug || $[32] !== disableActions || $[33] !== docID || $[34] !== isEditing || $[35] !== onDelete || $[36] !== onDuplicate || $[37] !== onLoadError || $[38] !== onSave) {
162
160
  let t10;
163
- if ($[42] !== toggleModal || $[43] !== drawerSlug) {
161
+ if ($[40] !== toggleModal || $[41] !== drawerSlug) {
164
162
  t10 = () => toggleModal(drawerSlug);
165
- $[42] = toggleModal;
166
- $[43] = drawerSlug;
167
- $[44] = t10;
163
+ $[40] = toggleModal;
164
+ $[41] = drawerSlug;
165
+ $[42] = t10;
168
166
  } else {
169
- t10 = $[44];
167
+ t10 = $[42];
170
168
  }
171
169
  let t11;
172
- if ($[45] === Symbol.for("react.memo_cache_sentinel")) {
170
+ if ($[43] === Symbol.for("react.memo_cache_sentinel")) {
173
171
  t11 = () => {
174
172
  setDocID(null);
175
173
  };
176
- $[45] = t11;
174
+ $[43] = t11;
177
175
  } else {
178
- t11 = $[45];
176
+ t11 = $[43];
179
177
  }
180
178
  t9 = _jsx(DocumentInfoProvider, {
181
179
  AfterFields,
@@ -200,8 +198,6 @@ export const DocumentDrawerContent = t0 => {
200
198
  disableActions,
201
199
  disableLeaveWithoutSaving: true,
202
200
  id: docID,
203
- initialData,
204
- initialState,
205
201
  isEditing,
206
202
  onDelete,
207
203
  onDrawerCreate: t11,
@@ -226,16 +222,14 @@ export const DocumentDrawerContent = t0 => {
226
222
  $[31] = collectionConfig.slug;
227
223
  $[32] = disableActions;
228
224
  $[33] = docID;
229
- $[34] = initialData;
230
- $[35] = initialState;
231
- $[36] = isEditing;
232
- $[37] = onDelete;
233
- $[38] = onDuplicate;
234
- $[39] = onLoadError;
235
- $[40] = onSave;
236
- $[41] = t9;
225
+ $[34] = isEditing;
226
+ $[35] = onDelete;
227
+ $[36] = onDuplicate;
228
+ $[37] = onLoadError;
229
+ $[38] = onSave;
230
+ $[39] = t9;
237
231
  } else {
238
- t9 = $[41];
232
+ t9 = $[39];
239
233
  }
240
234
  return t9;
241
235
  };
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerContent.js","names":["c","_c","useModal","React","useCallback","useEffect","useState","toast","XIcon","useConfig","RenderComponent","DocumentInfoProvider","useDocumentInfo","useLocale","useTranslation","useRelatedCollections","Gutter","IDLabel","RenderTitle","baseClass","DocumentDrawerContent","t0","$","id","existingDocID","AfterFields","collectionSlug","disableActions","drawerSlug","Header","initialData","initialState","onDelete","onDeleteFromProps","onDuplicate","onDuplicateFromProps","onSave","onSaveFromProps","redirectAfterDelete","redirectAfterDuplicate","config","routes","t1","serverURL","api","apiRoute","closeModal","modalState","toggleModal","locale","t","docID","setDocID","isOpen","setIsOpen","collectionConfig","Edit","admin","components","views","edit","default","Component","isEditing","Boolean","apiURL","code","t2","t3","t4","data","error","errors","message","onLoadError","t5","args","doc","t6","args_0","t7","args_1","t8","_jsx","element","t10","t11","Symbol","for","t9","BeforeDocument","_jsxs","className","children","onClick","type","DocumentTitle","slug","disableLeaveWithoutSaving","onDrawerCreate","undefined","mappedComponent","title","toString"],"sources":["../../../src/elements/DocumentDrawer/DrawerContent.tsx"],"sourcesContent":["'use client'\n\nimport { useModal } from '@faceless-ui/modal'\nimport React, { useCallback, useEffect, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { DocumentDrawerProps } from './types.js'\n\nimport { XIcon } from '../../icons/X/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { RenderComponent } from '../../providers/Config/RenderComponent.js'\nimport { DocumentInfoProvider, useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useRelatedCollections } from '../AddNewRelation/useRelatedCollections.js'\nimport { Gutter } from '../Gutter/index.js'\nimport { IDLabel } from '../IDLabel/index.js'\nimport { RenderTitle } from '../RenderTitle/index.js'\nimport { baseClass } from './index.js'\n\nexport const DocumentDrawerContent: React.FC<DocumentDrawerProps> = ({\n id: existingDocID,\n AfterFields,\n collectionSlug,\n disableActions,\n drawerSlug,\n Header,\n initialData,\n initialState,\n onDelete: onDeleteFromProps,\n onDuplicate: onDuplicateFromProps,\n onSave: onSaveFromProps,\n redirectAfterDelete,\n redirectAfterDuplicate,\n}) => {\n const { config } = useConfig()\n\n const {\n routes: { api: apiRoute },\n serverURL,\n } = config\n\n const { closeModal, modalState, toggleModal } = useModal()\n const locale = useLocale()\n const { t } = useTranslation()\n const [docID, setDocID] = useState(existingDocID)\n const [isOpen, setIsOpen] = useState(false)\n const [collectionConfig] = useRelatedCollections(collectionSlug)\n\n const Edit = collectionConfig.admin.components.views.edit.default.Component\n\n const isEditing = Boolean(docID)\n const apiURL = docID\n ? `${serverURL}${apiRoute}/${collectionSlug}/${docID}${locale?.code ? `?locale=${locale.code}` : ''}`\n : null\n\n useEffect(() => {\n setIsOpen(Boolean(modalState[drawerSlug]?.isOpen))\n }, [modalState, drawerSlug])\n\n const onLoadError = React.useCallback(\n (data) => {\n if (isOpen) {\n closeModal(drawerSlug)\n toast.error(data.errors?.[0].message || t('error:unspecific'))\n }\n },\n [closeModal, drawerSlug, isOpen, t],\n )\n\n const onSave = useCallback<DocumentDrawerProps['onSave']>(\n (args) => {\n setDocID(args.doc.id)\n if (typeof onSaveFromProps === 'function') {\n void onSaveFromProps({\n ...args,\n collectionConfig,\n })\n }\n },\n [onSaveFromProps, collectionConfig],\n )\n\n const onDuplicate = useCallback<DocumentDrawerProps['onSave']>(\n (args) => {\n setDocID(args.doc.id)\n\n if (typeof onDuplicateFromProps === 'function') {\n void onDuplicateFromProps({\n ...args,\n collectionConfig,\n })\n }\n },\n [onDuplicateFromProps, collectionConfig],\n )\n\n const onDelete = useCallback<DocumentDrawerProps['onDelete']>(\n (args) => {\n if (typeof onDeleteFromProps === 'function') {\n void onDeleteFromProps({\n ...args,\n collectionConfig,\n })\n }\n\n closeModal(drawerSlug)\n },\n [onDeleteFromProps, collectionConfig, closeModal, drawerSlug],\n )\n\n return (\n <DocumentInfoProvider\n AfterFields={AfterFields}\n apiURL={apiURL}\n BeforeDocument={\n <Gutter className={`${baseClass}__header`}>\n <div className={`${baseClass}__header-content`}>\n <h2 className={`${baseClass}__header-text`}>\n {Header || <RenderTitle element=\"span\" />}\n </h2>\n {/* TODO: the `button` HTML element breaks CSS transitions on the drawer for some reason...\n i.e. changing to a `div` element will fix the animation issue but will break accessibility\n */}\n <button\n aria-label={t('general:close')}\n className={`${baseClass}__header-close`}\n onClick={() => toggleModal(drawerSlug)}\n type=\"button\"\n >\n <XIcon />\n </button>\n </div>\n <DocumentTitle />\n </Gutter>\n }\n collectionSlug={collectionConfig.slug}\n disableActions={disableActions}\n disableLeaveWithoutSaving\n id={docID}\n initialData={initialData}\n initialState={initialState}\n isEditing={isEditing}\n onDelete={onDelete}\n onDrawerCreate={() => {\n setDocID(null)\n }}\n onDuplicate={onDuplicate}\n onLoadError={onLoadError}\n onSave={onSave}\n redirectAfterDelete={redirectAfterDelete !== undefined ? redirectAfterDelete : false}\n redirectAfterDuplicate={redirectAfterDuplicate !== undefined ? redirectAfterDuplicate : false}\n >\n <RenderComponent mappedComponent={Edit} />\n </DocumentInfoProvider>\n )\n}\n\nconst DocumentTitle: React.FC = () => {\n const { id, title } = useDocumentInfo()\n return id && id !== title ? <IDLabel id={id.toString()} /> : null\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DrawerContent.js","names":["c","_c","useModal","React","useCallback","useEffect","useState","toast","XIcon","useConfig","RenderComponent","DocumentInfoProvider","useDocumentInfo","useLocale","useTranslation","useRelatedCollections","Gutter","IDLabel","RenderTitle","baseClass","DocumentDrawerContent","t0","$","id","existingDocID","AfterFields","collectionSlug","disableActions","drawerSlug","Header","onDelete","onDeleteFromProps","onDuplicate","onDuplicateFromProps","onSave","onSaveFromProps","redirectAfterDelete","redirectAfterDuplicate","config","routes","t1","serverURL","api","apiRoute","closeModal","modalState","toggleModal","locale","t","docID","setDocID","isOpen","setIsOpen","collectionConfig","Edit","admin","components","views","edit","default","Component","isEditing","Boolean","apiURL","code","t2","t3","t4","data","error","errors","message","onLoadError","t5","args","doc","t6","args_0","t7","args_1","t8","_jsx","element","t10","t11","Symbol","for","t9","BeforeDocument","_jsxs","className","children","onClick","type","DocumentTitle","slug","disableLeaveWithoutSaving","onDrawerCreate","undefined","mappedComponent","title","toString"],"sources":["../../../src/elements/DocumentDrawer/DrawerContent.tsx"],"sourcesContent":["'use client'\n\nimport { useModal } from '@faceless-ui/modal'\nimport React, { useCallback, useEffect, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { DocumentDrawerProps } from './types.js'\n\nimport { XIcon } from '../../icons/X/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { RenderComponent } from '../../providers/Config/RenderComponent.js'\nimport { DocumentInfoProvider, useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useRelatedCollections } from '../AddNewRelation/useRelatedCollections.js'\nimport { Gutter } from '../Gutter/index.js'\nimport { IDLabel } from '../IDLabel/index.js'\nimport { RenderTitle } from '../RenderTitle/index.js'\nimport { baseClass } from './index.js'\n\nexport const DocumentDrawerContent: React.FC<DocumentDrawerProps> = ({\n id: existingDocID,\n AfterFields,\n collectionSlug,\n disableActions,\n drawerSlug,\n Header,\n onDelete: onDeleteFromProps,\n onDuplicate: onDuplicateFromProps,\n onSave: onSaveFromProps,\n redirectAfterDelete,\n redirectAfterDuplicate,\n}) => {\n const { config } = useConfig()\n\n const {\n routes: { api: apiRoute },\n serverURL,\n } = config\n\n const { closeModal, modalState, toggleModal } = useModal()\n const locale = useLocale()\n const { t } = useTranslation()\n const [docID, setDocID] = useState(existingDocID)\n const [isOpen, setIsOpen] = useState(false)\n const [collectionConfig] = useRelatedCollections(collectionSlug)\n\n const Edit = collectionConfig.admin.components.views.edit.default.Component\n\n const isEditing = Boolean(docID)\n const apiURL = docID\n ? `${serverURL}${apiRoute}/${collectionSlug}/${docID}${locale?.code ? `?locale=${locale.code}` : ''}`\n : null\n\n useEffect(() => {\n setIsOpen(Boolean(modalState[drawerSlug]?.isOpen))\n }, [modalState, drawerSlug])\n\n const onLoadError = React.useCallback(\n (data) => {\n if (isOpen) {\n closeModal(drawerSlug)\n toast.error(data.errors?.[0].message || t('error:unspecific'))\n }\n },\n [closeModal, drawerSlug, isOpen, t],\n )\n\n const onSave = useCallback<DocumentDrawerProps['onSave']>(\n (args) => {\n setDocID(args.doc.id)\n if (typeof onSaveFromProps === 'function') {\n void onSaveFromProps({\n ...args,\n collectionConfig,\n })\n }\n },\n [onSaveFromProps, collectionConfig],\n )\n\n const onDuplicate = useCallback<DocumentDrawerProps['onSave']>(\n (args) => {\n setDocID(args.doc.id)\n\n if (typeof onDuplicateFromProps === 'function') {\n void onDuplicateFromProps({\n ...args,\n collectionConfig,\n })\n }\n },\n [onDuplicateFromProps, collectionConfig],\n )\n\n const onDelete = useCallback<DocumentDrawerProps['onDelete']>(\n (args) => {\n if (typeof onDeleteFromProps === 'function') {\n void onDeleteFromProps({\n ...args,\n collectionConfig,\n })\n }\n\n closeModal(drawerSlug)\n },\n [onDeleteFromProps, collectionConfig, closeModal, drawerSlug],\n )\n\n return (\n <DocumentInfoProvider\n AfterFields={AfterFields}\n apiURL={apiURL}\n BeforeDocument={\n <Gutter className={`${baseClass}__header`}>\n <div className={`${baseClass}__header-content`}>\n <h2 className={`${baseClass}__header-text`}>\n {Header || <RenderTitle element=\"span\" />}\n </h2>\n {/* TODO: the `button` HTML element breaks CSS transitions on the drawer for some reason...\n i.e. changing to a `div` element will fix the animation issue but will break accessibility\n */}\n <button\n aria-label={t('general:close')}\n className={`${baseClass}__header-close`}\n onClick={() => toggleModal(drawerSlug)}\n type=\"button\"\n >\n <XIcon />\n </button>\n </div>\n <DocumentTitle />\n </Gutter>\n }\n collectionSlug={collectionConfig.slug}\n disableActions={disableActions}\n disableLeaveWithoutSaving\n id={docID}\n isEditing={isEditing}\n onDelete={onDelete}\n onDrawerCreate={() => {\n setDocID(null)\n }}\n onDuplicate={onDuplicate}\n onLoadError={onLoadError}\n onSave={onSave}\n redirectAfterDelete={redirectAfterDelete !== undefined ? redirectAfterDelete : false}\n redirectAfterDuplicate={redirectAfterDuplicate !== undefined ? redirectAfterDuplicate : false}\n >\n <RenderComponent mappedComponent={Edit} />\n </DocumentInfoProvider>\n )\n}\n\nconst DocumentTitle: React.FC = () => {\n const { id, title } = useDocumentInfo()\n return id && id !== title ? <IDLabel id={id.toString()} /> : null\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- import type { Data, FormState } from 'payload';
2
1
  import type React from 'react';
3
2
  import type { HTMLAttributes } from 'react';
4
3
  import type { DocumentInfoContext } from '../../providers/DocumentInfo/types.js';
@@ -9,8 +8,6 @@ export type DocumentDrawerProps = {
9
8
  readonly disableActions?: boolean;
10
9
  readonly drawerSlug?: string;
11
10
  readonly id?: null | number | string;
12
- readonly initialData?: Data;
13
- readonly initialState?: FormState;
14
11
  readonly onDelete?: DocumentInfoContext['onDelete'];
15
12
  readonly onDuplicate?: DocumentInfoContext['onDuplicate'];
16
13
  readonly onSave?: DocumentInfoContext['onSave'];
@@ -24,7 +21,7 @@ export type DocumentTogglerProps = {
24
21
  readonly disabled?: boolean;
25
22
  readonly drawerSlug?: string;
26
23
  readonly id?: string;
27
- } & Readonly<HTMLAttributes<HTMLButtonElement>>;
24
+ } & HTMLAttributes<HTMLButtonElement>;
28
25
  export type UseDocumentDrawer = (args: {
29
26
  collectionSlug: string;
30
27
  id?: number | string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/elements/DocumentDrawer/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAC9C,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAE3C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAA;AAChF,OAAO,KAAK,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAE9D,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,EAAE,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAA;IACpC,QAAQ,CAAC,WAAW,CAAC,EAAE,IAAI,CAAA;IAC3B,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,CAAA;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,mBAAmB,CAAC,UAAU,CAAC,CAAA;IACnD,QAAQ,CAAC,WAAW,CAAC,EAAE,mBAAmB,CAAC,aAAa,CAAC,CAAA;IACzD,QAAQ,CAAC,MAAM,CAAC,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAA;IAC/C,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAA;CAC1C,GAAG,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;AAE/B,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CACrB,GAAG,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,CAAA;AAE/C,MAAM,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,KAAK;IAC1F,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,gBAAgB,GAAG,IAAI,CAAC,CAAC;IAC5D,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,gBAAgB,GAAG,IAAI,CAAC,CAAC;IAC7D;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/DocumentDrawer/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAE3C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAA;AAChF,OAAO,KAAK,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAE9D,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,EAAE,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAA;IACpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,mBAAmB,CAAC,UAAU,CAAC,CAAA;IACnD,QAAQ,CAAC,WAAW,CAAC,EAAE,mBAAmB,CAAC,aAAa,CAAC,CAAA;IACzD,QAAQ,CAAC,MAAM,CAAC,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAA;IAC/C,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAA;CAC1C,GAAG,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;AAE/B,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CACrB,GAAG,cAAc,CAAC,iBAAiB,CAAC,CAAA;AAErC,MAAM,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,KAAK;IAC1F,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,gBAAgB,GAAG,IAAI,CAAC,CAAC;IAC5D,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,gBAAgB,GAAG,IAAI,CAAC,CAAC;IAC7D;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/DocumentDrawer/types.ts"],"sourcesContent":["import type { Data, FormState } from 'payload'\nimport type React from 'react'\nimport type { HTMLAttributes } from 'react'\n\nimport type { DocumentInfoContext } from '../../providers/DocumentInfo/types.js'\nimport type { Props as DrawerProps } from '../Drawer/types.js'\n\nexport type DocumentDrawerProps = {\n readonly AfterFields?: React.ReactNode\n readonly collectionSlug: string\n readonly disableActions?: boolean\n readonly drawerSlug?: string\n readonly id?: null | number | string\n readonly initialData?: Data\n readonly initialState?: FormState\n readonly onDelete?: DocumentInfoContext['onDelete']\n readonly onDuplicate?: DocumentInfoContext['onDuplicate']\n readonly onSave?: DocumentInfoContext['onSave']\n readonly redirectAfterDelete?: boolean\n readonly redirectAfterDuplicate?: boolean\n} & Pick<DrawerProps, 'Header'>\n\nexport type DocumentTogglerProps = {\n readonly children?: React.ReactNode\n readonly className?: string\n readonly collectionSlug: string\n readonly disabled?: boolean\n readonly drawerSlug?: string\n readonly id?: string\n} & Readonly<HTMLAttributes<HTMLButtonElement>>\n\nexport type UseDocumentDrawer = (args: { collectionSlug: string; id?: number | string }) => [\n React.FC<Omit<DocumentDrawerProps, 'collectionSlug' | 'id'>>, // drawer\n React.FC<Omit<DocumentTogglerProps, 'collectionSlug' | 'id'>>, // toggler\n {\n closeDrawer: () => void\n drawerDepth: number\n drawerSlug: string\n isDrawerOpen: boolean\n openDrawer: () => void\n toggleDrawer: () => void\n },\n]\n"],"mappings":"AA+BA","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../src/elements/DocumentDrawer/types.ts"],"sourcesContent":["import type React from 'react'\nimport type { HTMLAttributes } from 'react'\n\nimport type { DocumentInfoContext } from '../../providers/DocumentInfo/types.js'\nimport type { Props as DrawerProps } from '../Drawer/types.js'\n\nexport type DocumentDrawerProps = {\n readonly AfterFields?: React.ReactNode\n readonly collectionSlug: string\n readonly disableActions?: boolean\n readonly drawerSlug?: string\n readonly id?: null | number | string\n readonly onDelete?: DocumentInfoContext['onDelete']\n readonly onDuplicate?: DocumentInfoContext['onDuplicate']\n readonly onSave?: DocumentInfoContext['onSave']\n readonly redirectAfterDelete?: boolean\n readonly redirectAfterDuplicate?: boolean\n} & Pick<DrawerProps, 'Header'>\n\nexport type DocumentTogglerProps = {\n readonly children?: React.ReactNode\n readonly className?: string\n readonly collectionSlug: string\n readonly disabled?: boolean\n readonly drawerSlug?: string\n readonly id?: string\n} & HTMLAttributes<HTMLButtonElement>\n\nexport type UseDocumentDrawer = (args: { collectionSlug: string; id?: number | string }) => [\n React.FC<Omit<DocumentDrawerProps, 'collectionSlug' | 'id'>>, // drawer\n React.FC<Omit<DocumentTogglerProps, 'collectionSlug' | 'id'>>, // toggler\n {\n closeDrawer: () => void\n drawerDepth: number\n drawerSlug: string\n isDrawerOpen: boolean\n openDrawer: () => void\n toggleDrawer: () => void\n },\n]\n"],"mappings":"AA4BA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/EditMany/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,WAAW,EAAa,MAAM,SAAS,CAAA;AAK7E,OAAO,KAAgC,MAAM,OAAO,CAAA;AAoBpD,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,UAAU,EAAE,sBAAsB,CAAA;IAC3C,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,CAAA;CAC/B,CAAA;AAmED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAuJ5C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/EditMany/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,WAAW,EAAa,MAAM,SAAS,CAAA;AAK7E,OAAO,KAAgC,MAAM,OAAO,CAAA;AAoBpD,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,UAAU,EAAE,sBAAsB,CAAA;IAC3C,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,CAAA;CAC/B,CAAA;AAmED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAoJ5C,CAAA"}
@@ -215,9 +215,7 @@ export const EditMany = props => {
215
215
  React.useEffect(() => {
216
216
  if (!hasInitializedState.current) {
217
217
  const getInitialState = async () => {
218
- const {
219
- state: result
220
- } = await getFormState({
218
+ const result = await getFormState({
221
219
  apiRoute,
222
220
  body: {
223
221
  collectionSlug: slug,
@@ -233,23 +231,18 @@ export const EditMany = props => {
233
231
  void getInitialState();
234
232
  }
235
233
  }, [apiRoute, hasInitializedState, serverURL, slug]);
236
- const onChange = useCallback(async ({
234
+ const onChange = useCallback(({
237
235
  formState: prevFormState
238
- }) => {
239
- const {
240
- state
241
- } = await getFormState({
242
- apiRoute,
243
- body: {
244
- collectionSlug: slug,
245
- formState: prevFormState,
246
- operation: 'update',
247
- schemaPath: slug
248
- },
249
- serverURL
250
- });
251
- return state;
252
- }, [serverURL, apiRoute, slug]);
236
+ }) => getFormState({
237
+ apiRoute,
238
+ body: {
239
+ collectionSlug: slug,
240
+ formState: prevFormState,
241
+ operation: 'update',
242
+ schemaPath: slug
243
+ },
244
+ serverURL
245
+ }), [serverURL, apiRoute, slug]);
253
246
  if (selectAll === SelectAllStatus.None || !hasUpdatePermission) {
254
247
  return null;
255
248
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useModal","getTranslation","useRouter","React","useCallback","useState","useForm","Form","RenderFields","FormSubmit","XIcon","useAuth","useConfig","DocumentInfoProvider","OperationContext","useRouteCache","useSearchParams","SelectAllStatus","useSelection","useTranslation","getFormState","Drawer","DrawerToggler","FieldSelect","baseClass","Submit","t0","$","action","disabled","submit","t","t1","method","skipValidation","save","t2","_jsx","className","onClick","children","PublishButton","overrides","_status","SaveDraftButton","EditMany","props","collection","slug","labels","plural","fields","permissions","closeModal","config","routes","api","apiRoute","serverURL","count","getQueryParams","selectAll","i18n","selected","setSelected","stringifyParams","router","initialState","setInitialState","hasInitializedState","useRef","clearRouteCache","collectionPermissions","collections","hasUpdatePermission","update","permission","drawerSlug","useEffect","current","getInitialState","state","result","body","collectionSlug","data","operation","schemaPath","onChange","formState","prevFormState","None","onSuccess","replace","params","page","AllAvailable","undefined","_jsxs","Header","id","Provider","value","label","type","length","path","readOnly","versions","drafts","Fragment"],"sources":["../../../src/elements/EditMany/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, ClientField, FormState } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter } from 'next/navigation.js'\nimport React, { useCallback, useState } from 'react'\n\nimport type { FormProps } from '../../forms/Form/index.js'\n\nimport { useForm } from '../../forms/Form/context.js'\nimport { Form } from '../../forms/Form/index.js'\nimport { RenderFields } from '../../forms/RenderFields/index.js'\nimport { FormSubmit } from '../../forms/Submit/index.js'\nimport { XIcon } from '../../icons/X/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { DocumentInfoProvider } from '../../providers/DocumentInfo/index.js'\nimport { OperationContext } from '../../providers/Operation/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { useSearchParams } from '../../providers/SearchParams/index.js'\nimport { SelectAllStatus, useSelection } from '../../providers/Selection/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { getFormState } from '../../utilities/getFormState.js'\nimport { Drawer, DrawerToggler } from '../Drawer/index.js'\nimport { FieldSelect } from '../FieldSelect/index.js'\nimport './index.scss'\n\nconst baseClass = 'edit-many'\n\nexport type EditManyProps = {\n readonly collection: ClientCollectionConfig\n readonly fields: ClientField[]\n}\n\nconst Submit: React.FC<{\n readonly action: string\n readonly disabled: boolean\n}> = ({ action, disabled }) => {\n const { submit } = useForm()\n const { t } = useTranslation()\n\n const save = useCallback(() => {\n void submit({\n action,\n method: 'PATCH',\n skipValidation: true,\n })\n }, [action, submit])\n\n return (\n <FormSubmit className={`${baseClass}__save`} disabled={disabled} onClick={save}>\n {t('general:save')}\n </FormSubmit>\n )\n}\n\nconst PublishButton: React.FC<{ action: string; disabled: boolean }> = ({ action, disabled }) => {\n const { submit } = useForm()\n const { t } = useTranslation()\n\n const save = useCallback(() => {\n void submit({\n action,\n method: 'PATCH',\n overrides: {\n _status: 'published',\n },\n skipValidation: true,\n })\n }, [action, submit])\n\n return (\n <FormSubmit className={`${baseClass}__publish`} disabled={disabled} onClick={save}>\n {t('version:publishChanges')}\n </FormSubmit>\n )\n}\n\nconst SaveDraftButton: React.FC<{ action: string; disabled: boolean }> = ({ action, disabled }) => {\n const { submit } = useForm()\n const { t } = useTranslation()\n\n const save = useCallback(() => {\n void submit({\n action,\n method: 'PATCH',\n overrides: {\n _status: 'draft',\n },\n skipValidation: true,\n })\n }, [action, submit])\n\n return (\n <FormSubmit className={`${baseClass}__draft`} disabled={disabled} onClick={save}>\n {t('version:saveDraft')}\n </FormSubmit>\n )\n}\nexport const EditMany: React.FC<EditManyProps> = (props) => {\n const { collection: { slug, labels: { plural } } = {}, collection, fields } = props\n\n const { permissions } = useAuth()\n const { closeModal } = useModal()\n const {\n config: {\n routes: { api: apiRoute },\n serverURL,\n },\n } = useConfig()\n const { count, getQueryParams, selectAll } = useSelection()\n const { i18n, t } = useTranslation()\n const [selected, setSelected] = useState([])\n const { stringifyParams } = useSearchParams()\n const router = useRouter()\n const [initialState, setInitialState] = useState<FormState>()\n const hasInitializedState = React.useRef(false)\n const { clearRouteCache } = useRouteCache()\n\n const collectionPermissions = permissions?.collections?.[slug]\n const hasUpdatePermission = collectionPermissions?.update?.permission\n\n const drawerSlug = `edit-${slug}`\n\n React.useEffect(() => {\n if (!hasInitializedState.current) {\n const getInitialState = async () => {\n const { state: result } = await getFormState({\n apiRoute,\n body: {\n collectionSlug: slug,\n data: {},\n operation: 'update',\n schemaPath: slug,\n },\n serverURL,\n })\n\n setInitialState(result)\n hasInitializedState.current = true\n }\n\n void getInitialState()\n }\n }, [apiRoute, hasInitializedState, serverURL, slug])\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState }) => {\n const { state } = await getFormState({\n apiRoute,\n body: {\n collectionSlug: slug,\n formState: prevFormState,\n operation: 'update',\n schemaPath: slug,\n },\n serverURL,\n })\n\n return state\n },\n [serverURL, apiRoute, slug],\n )\n\n if (selectAll === SelectAllStatus.None || !hasUpdatePermission) {\n return null\n }\n\n const onSuccess = () => {\n router.replace(\n stringifyParams({\n params: { page: selectAll === SelectAllStatus.AllAvailable ? '1' : undefined },\n }),\n )\n clearRouteCache()\n closeModal(drawerSlug)\n }\n\n return (\n <div className={baseClass}>\n <DrawerToggler\n aria-label={t('general:edit')}\n className={`${baseClass}__toggle`}\n onClick={() => {\n setSelected([])\n }}\n slug={drawerSlug}\n >\n {t('general:edit')}\n </DrawerToggler>\n <Drawer Header={null} slug={drawerSlug}>\n <DocumentInfoProvider collectionSlug={slug} id={null}>\n <OperationContext.Provider value=\"update\">\n <div className={`${baseClass}__main`}>\n <div className={`${baseClass}__header`}>\n <h2 className={`${baseClass}__header__title`}>\n {t('general:editingLabel', { count, label: getTranslation(plural, i18n) })}\n </h2>\n <button\n aria-label={t('general:close')}\n className={`${baseClass}__header__close`}\n id={`close-drawer__${drawerSlug}`}\n onClick={() => closeModal(drawerSlug)}\n type=\"button\"\n >\n <XIcon />\n </button>\n </div>\n <Form\n className={`${baseClass}__form`}\n initialState={initialState}\n onChange={[onChange]}\n onSuccess={onSuccess}\n >\n <FieldSelect fields={fields} setSelected={setSelected} />\n {selected.length === 0 ? null : (\n <RenderFields fields={selected} path=\"\" readOnly={false} schemaPath={slug} />\n )}\n <div className={`${baseClass}__sidebar-wrap`}>\n <div className={`${baseClass}__sidebar`}>\n <div className={`${baseClass}__sidebar-sticky-wrap`}>\n <div className={`${baseClass}__document-actions`}>\n {collection?.versions?.drafts ? (\n <React.Fragment>\n <PublishButton\n action={`${serverURL}${apiRoute}/${slug}${getQueryParams()}&draft=true`}\n disabled={selected.length === 0}\n />\n <SaveDraftButton\n action={`${serverURL}${apiRoute}/${slug}${getQueryParams()}&draft=true`}\n disabled={selected.length === 0}\n />\n </React.Fragment>\n ) : (\n <Submit\n action={`${serverURL}${apiRoute}/${slug}${getQueryParams()}`}\n disabled={selected.length === 0}\n />\n )}\n </div>\n </div>\n </div>\n </div>\n </Form>\n </div>\n </OperationContext.Provider>\n </DocumentInfoProvider>\n </Drawer>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useModal","getTranslation","useRouter","React","useCallback","useState","useForm","Form","RenderFields","FormSubmit","XIcon","useAuth","useConfig","DocumentInfoProvider","OperationContext","useRouteCache","useSearchParams","SelectAllStatus","useSelection","useTranslation","getFormState","Drawer","DrawerToggler","FieldSelect","baseClass","Submit","t0","$","action","disabled","submit","t","t1","method","skipValidation","save","t2","_jsx","className","onClick","children","PublishButton","overrides","_status","SaveDraftButton","EditMany","props","collection","slug","labels","plural","fields","permissions","closeModal","config","routes","api","apiRoute","serverURL","count","getQueryParams","selectAll","i18n","selected","setSelected","stringifyParams","router","initialState","setInitialState","hasInitializedState","useRef","clearRouteCache","collectionPermissions","collections","hasUpdatePermission","update","permission","drawerSlug","useEffect","current","getInitialState","result","body","collectionSlug","data","operation","schemaPath","onChange","formState","prevFormState","None","onSuccess","replace","params","page","AllAvailable","undefined","_jsxs","Header","id","Provider","value","label","type","length","path","readOnly","versions","drafts","Fragment"],"sources":["../../../src/elements/EditMany/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, ClientField, FormState } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter } from 'next/navigation.js'\nimport React, { useCallback, useState } from 'react'\n\nimport type { FormProps } from '../../forms/Form/index.js'\n\nimport { useForm } from '../../forms/Form/context.js'\nimport { Form } from '../../forms/Form/index.js'\nimport { RenderFields } from '../../forms/RenderFields/index.js'\nimport { FormSubmit } from '../../forms/Submit/index.js'\nimport { XIcon } from '../../icons/X/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { DocumentInfoProvider } from '../../providers/DocumentInfo/index.js'\nimport { OperationContext } from '../../providers/Operation/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { useSearchParams } from '../../providers/SearchParams/index.js'\nimport { SelectAllStatus, useSelection } from '../../providers/Selection/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { getFormState } from '../../utilities/getFormState.js'\nimport { Drawer, DrawerToggler } from '../Drawer/index.js'\nimport { FieldSelect } from '../FieldSelect/index.js'\nimport './index.scss'\n\nconst baseClass = 'edit-many'\n\nexport type EditManyProps = {\n readonly collection: ClientCollectionConfig\n readonly fields: ClientField[]\n}\n\nconst Submit: React.FC<{\n readonly action: string\n readonly disabled: boolean\n}> = ({ action, disabled }) => {\n const { submit } = useForm()\n const { t } = useTranslation()\n\n const save = useCallback(() => {\n void submit({\n action,\n method: 'PATCH',\n skipValidation: true,\n })\n }, [action, submit])\n\n return (\n <FormSubmit className={`${baseClass}__save`} disabled={disabled} onClick={save}>\n {t('general:save')}\n </FormSubmit>\n )\n}\n\nconst PublishButton: React.FC<{ action: string; disabled: boolean }> = ({ action, disabled }) => {\n const { submit } = useForm()\n const { t } = useTranslation()\n\n const save = useCallback(() => {\n void submit({\n action,\n method: 'PATCH',\n overrides: {\n _status: 'published',\n },\n skipValidation: true,\n })\n }, [action, submit])\n\n return (\n <FormSubmit className={`${baseClass}__publish`} disabled={disabled} onClick={save}>\n {t('version:publishChanges')}\n </FormSubmit>\n )\n}\n\nconst SaveDraftButton: React.FC<{ action: string; disabled: boolean }> = ({ action, disabled }) => {\n const { submit } = useForm()\n const { t } = useTranslation()\n\n const save = useCallback(() => {\n void submit({\n action,\n method: 'PATCH',\n overrides: {\n _status: 'draft',\n },\n skipValidation: true,\n })\n }, [action, submit])\n\n return (\n <FormSubmit className={`${baseClass}__draft`} disabled={disabled} onClick={save}>\n {t('version:saveDraft')}\n </FormSubmit>\n )\n}\nexport const EditMany: React.FC<EditManyProps> = (props) => {\n const { collection: { slug, labels: { plural } } = {}, collection, fields } = props\n\n const { permissions } = useAuth()\n const { closeModal } = useModal()\n const {\n config: {\n routes: { api: apiRoute },\n serverURL,\n },\n } = useConfig()\n const { count, getQueryParams, selectAll } = useSelection()\n const { i18n, t } = useTranslation()\n const [selected, setSelected] = useState([])\n const { stringifyParams } = useSearchParams()\n const router = useRouter()\n const [initialState, setInitialState] = useState<FormState>()\n const hasInitializedState = React.useRef(false)\n const { clearRouteCache } = useRouteCache()\n\n const collectionPermissions = permissions?.collections?.[slug]\n const hasUpdatePermission = collectionPermissions?.update?.permission\n\n const drawerSlug = `edit-${slug}`\n\n React.useEffect(() => {\n if (!hasInitializedState.current) {\n const getInitialState = async () => {\n const result = await getFormState({\n apiRoute,\n body: {\n collectionSlug: slug,\n data: {},\n operation: 'update',\n schemaPath: slug,\n },\n serverURL,\n })\n\n setInitialState(result)\n hasInitializedState.current = true\n }\n\n void getInitialState()\n }\n }, [apiRoute, hasInitializedState, serverURL, slug])\n\n const onChange: FormProps['onChange'][0] = useCallback(\n ({ formState: prevFormState }) =>\n getFormState({\n apiRoute,\n body: {\n collectionSlug: slug,\n formState: prevFormState,\n operation: 'update',\n schemaPath: slug,\n },\n serverURL,\n }),\n [serverURL, apiRoute, slug],\n )\n\n if (selectAll === SelectAllStatus.None || !hasUpdatePermission) {\n return null\n }\n\n const onSuccess = () => {\n router.replace(\n stringifyParams({\n params: { page: selectAll === SelectAllStatus.AllAvailable ? '1' : undefined },\n }),\n )\n clearRouteCache()\n closeModal(drawerSlug)\n }\n\n return (\n <div className={baseClass}>\n <DrawerToggler\n aria-label={t('general:edit')}\n className={`${baseClass}__toggle`}\n onClick={() => {\n setSelected([])\n }}\n slug={drawerSlug}\n >\n {t('general:edit')}\n </DrawerToggler>\n <Drawer Header={null} slug={drawerSlug}>\n <DocumentInfoProvider collectionSlug={slug} id={null}>\n <OperationContext.Provider value=\"update\">\n <div className={`${baseClass}__main`}>\n <div className={`${baseClass}__header`}>\n <h2 className={`${baseClass}__header__title`}>\n {t('general:editingLabel', { count, label: getTranslation(plural, i18n) })}\n </h2>\n <button\n aria-label={t('general:close')}\n className={`${baseClass}__header__close`}\n id={`close-drawer__${drawerSlug}`}\n onClick={() => closeModal(drawerSlug)}\n type=\"button\"\n >\n <XIcon />\n </button>\n </div>\n <Form\n className={`${baseClass}__form`}\n initialState={initialState}\n onChange={[onChange]}\n onSuccess={onSuccess}\n >\n <FieldSelect fields={fields} setSelected={setSelected} />\n {selected.length === 0 ? null : (\n <RenderFields fields={selected} path=\"\" readOnly={false} schemaPath={slug} />\n )}\n <div className={`${baseClass}__sidebar-wrap`}>\n <div className={`${baseClass}__sidebar`}>\n <div className={`${baseClass}__sidebar-sticky-wrap`}>\n <div className={`${baseClass}__document-actions`}>\n {collection?.versions?.drafts ? (\n <React.Fragment>\n <PublishButton\n action={`${serverURL}${apiRoute}/${slug}${getQueryParams()}&draft=true`}\n disabled={selected.length === 0}\n />\n <SaveDraftButton\n action={`${serverURL}${apiRoute}/${slug}${getQueryParams()}&draft=true`}\n disabled={selected.length === 0}\n />\n </React.Fragment>\n ) : (\n <Submit\n action={`${serverURL}${apiRoute}/${slug}${getQueryParams()}`}\n disabled={selected.length === 0}\n />\n )}\n </div>\n </div>\n </div>\n </div>\n </Form>\n </div>\n </OperationContext.Provider>\n </DocumentInfoProvider>\n </Drawer>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -18,7 +18,6 @@
18
18
  transition-property: box-shadow, background-color;
19
19
  transition-duration: 100ms;
20
20
  transition-timing-function: cubic-bezier(0, 0.2, 0.2, 1);
21
- --hamburger-size: var(--base);
22
21
 
23
22
  &:hover {
24
23
  background-color: var(--theme-elevation-100);
@@ -37,8 +36,5 @@
37
36
  &__close-icon {
38
37
  width: var(--hamburger-size);
39
38
  height: var(--hamburger-size);
40
- display: flex;
41
- align-items: center;
42
- justify-content: center;
43
39
  }
44
40
  }
@@ -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,KAAgD,MAAM,OAAO,CAAA;AAsBpE,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,CAqLpD,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;AAsBpE,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"}
@@ -97,7 +97,7 @@ export const ListControls = props => {
97
97
  children: [/*#__PURE__*/_jsxs("div", {
98
98
  className: `${baseClass}__wrap`,
99
99
  children: [/*#__PURE__*/_jsx(SearchIcon, {}), /*#__PURE__*/_jsx(SearchFilter, {
100
- fieldName: titleField && 'name' in titleField ? titleField?.name : null,
100
+ fieldName: 'name' in titleField ? titleField?.name : null,
101
101
  handleChange: search => {
102
102
  return void handleSearchChange(search);
103
103
  },
@@ -124,20 +124,16 @@ export const ListControls = props => {
124
124
  }), enableColumns && /*#__PURE__*/_jsx(Pill, {
125
125
  "aria-controls": `${baseClass}-columns`,
126
126
  "aria-expanded": visibleDrawer === 'columns',
127
- className: `${baseClass}__toggle-columns`,
128
- icon: /*#__PURE__*/_jsx(ChevronIcon, {
129
- direction: visibleDrawer === 'columns' ? 'up' : 'down'
130
- }),
127
+ className: `${baseClass}__toggle-columns ${visibleDrawer === 'columns' ? `${baseClass}__buttons-active` : ''}`,
128
+ icon: /*#__PURE__*/_jsx(ChevronIcon, {}),
131
129
  onClick: () => setVisibleDrawer(visibleDrawer !== 'columns' ? 'columns' : undefined),
132
130
  pillStyle: "light",
133
131
  children: t('general:columns')
134
132
  }), /*#__PURE__*/_jsx(Pill, {
135
133
  "aria-controls": `${baseClass}-where`,
136
134
  "aria-expanded": visibleDrawer === 'where',
137
- className: `${baseClass}__toggle-where`,
138
- icon: /*#__PURE__*/_jsx(ChevronIcon, {
139
- direction: visibleDrawer === 'where' ? 'up' : 'down'
140
- }),
135
+ className: `${baseClass}__toggle-where ${visibleDrawer === 'where' ? `${baseClass}__buttons-active` : ''}`,
136
+ icon: /*#__PURE__*/_jsx(ChevronIcon, {}),
141
137
  onClick: () => setVisibleDrawer(visibleDrawer !== 'where' ? 'where' : undefined),
142
138
  pillStyle: "light",
143
139
  children: t('general:filters')
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["useWindowInfo","getTranslation","React","Fragment","useEffect","useRef","useState","AnimateHeightImport","AnimateHeight","default","useUseTitleField","ChevronIcon","SearchIcon","useListInfo","useListQuery","useTranslation","ColumnSelector","DeleteMany","EditMany","Pill","PublishMany","SearchFilter","UnpublishMany","WhereBuilder","validateWhereQuery","getTextFieldsToBeSearched","baseClass","ListControls","props","collectionConfig","enableColumns","enableSort","fields","handleSearchChange","params","beforeActions","collectionSlug","disableBulkDelete","disableBulkEdit","titleField","i18n","t","breakpoints","s","smallBreak","searchLabel","label","name","listSearchableFields","admin","searchLabelTranslated","hasWhereParam","Boolean","where","shouldInitializeWhereOpened","visibleDrawer","setVisibleDrawer","undefined","current","length","reduce","placeholderText","field","i","_jsxs","className","_jsx","fieldName","handleChange","search","initialParams","collection","icon","direction","onClick","pillStyle","height","id","slug","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 { 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, params } = useListQuery()\n const { beforeActions, collectionSlug, disableBulkDelete, disableBulkEdit } = useListInfo()\n const titleField = useUseTitleField(collectionConfig, fields)\n const { i18n, t } = useTranslation()\n const {\n breakpoints: { s: smallBreak },\n } = useWindowInfo()\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(params?.where))\n\n const shouldInitializeWhereOpened = validateWhereQuery(params?.where)\n const [visibleDrawer, setVisibleDrawer] = useState<'columns' | 'sort' | 'where'>(\n shouldInitializeWhereOpened ? 'where' : undefined,\n )\n\n useEffect(() => {\n if (hasWhereParam.current && !params?.where) {\n setVisibleDrawer(undefined)\n hasWhereParam.current = false\n } else if (params?.where) {\n hasWhereParam.current = true\n }\n }, [setVisibleDrawer, params?.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={titleField && 'name' in titleField ? titleField?.name : null}\n handleChange={(search) => {\n return void handleSearchChange(search)\n }}\n // @ts-expect-error @todo: fix types\n initialParams={params}\n key={collectionSlug}\n label={searchLabelTranslated.current}\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 icon={<ChevronIcon direction={visibleDrawer === 'columns' ? 'up' : 'down'} />}\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 icon={<ChevronIcon direction={visibleDrawer === 'where' ? 'up' : 'down'} />}\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 && !params?.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":["useWindowInfo","getTranslation","React","Fragment","useEffect","useRef","useState","AnimateHeightImport","AnimateHeight","default","useUseTitleField","ChevronIcon","SearchIcon","useListInfo","useListQuery","useTranslation","ColumnSelector","DeleteMany","EditMany","Pill","PublishMany","SearchFilter","UnpublishMany","WhereBuilder","validateWhereQuery","getTextFieldsToBeSearched","baseClass","ListControls","props","collectionConfig","enableColumns","enableSort","fields","handleSearchChange","params","beforeActions","collectionSlug","disableBulkDelete","disableBulkEdit","titleField","i18n","t","breakpoints","s","smallBreak","searchLabel","label","name","listSearchableFields","admin","searchLabelTranslated","hasWhereParam","Boolean","where","shouldInitializeWhereOpened","visibleDrawer","setVisibleDrawer","undefined","current","length","reduce","placeholderText","field","i","_jsxs","className","_jsx","fieldName","handleChange","search","initialParams","collection","icon","onClick","pillStyle","height","id","slug","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 { 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, params } = useListQuery()\n const { beforeActions, collectionSlug, disableBulkDelete, disableBulkEdit } = useListInfo()\n const titleField = useUseTitleField(collectionConfig, fields)\n const { i18n, t } = useTranslation()\n const {\n breakpoints: { s: smallBreak },\n } = useWindowInfo()\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(params?.where))\n\n const shouldInitializeWhereOpened = validateWhereQuery(params?.where)\n const [visibleDrawer, setVisibleDrawer] = useState<'columns' | 'sort' | 'where'>(\n shouldInitializeWhereOpened ? 'where' : undefined,\n )\n\n useEffect(() => {\n if (hasWhereParam.current && !params?.where) {\n setVisibleDrawer(undefined)\n hasWhereParam.current = false\n } else if (params?.where) {\n hasWhereParam.current = true\n }\n }, [setVisibleDrawer, params?.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 // @ts-expect-error @todo: fix types\n initialParams={params}\n key={collectionSlug}\n label={searchLabelTranslated.current}\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 && !params?.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":[]}
@@ -32,6 +32,12 @@
32
32
  }
33
33
  }
34
34
 
35
+ &__buttons-active {
36
+ svg {
37
+ transform: rotate(180deg);
38
+ }
39
+ }
40
+
35
41
  .column-selector,
36
42
  .where-builder,
37
43
  .sort-complex {
@@ -1,6 +1,4 @@
1
- import type { Where } from 'payload';
2
1
  import React from 'react';
3
2
  import type { ListDrawerProps } from './types.js';
4
- export declare const hoistQueryParamsToAnd: (where: Where, queryParams: Where) => Where;
5
3
  export declare const ListDrawerContent: React.FC<ListDrawerProps>;
6
4
  //# sourceMappingURL=DrawerContent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../src/elements/ListDrawer/DrawerContent.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA0B,KAAK,EAAE,MAAM,SAAS,CAAA;AAI5D,OAAO,KAA+D,MAAM,OAAO,CAAA;AAEnF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAsBjD,eAAO,MAAM,qBAAqB,UAAW,KAAK,eAAe,KAAK,UAcrE,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA+WvD,CAAA"}
1
+ {"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../src/elements/ListDrawer/DrawerContent.tsx"],"names":[],"mappings":"AAKA,OAAO,KAA+D,MAAM,OAAO,CAAA;AAEnF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAsCjD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA+WvD,CAAA"}
@@ -24,7 +24,7 @@ import { ReactSelect } from '../ReactSelect/index.js';
24
24
  import { TableColumnsProvider } from '../TableColumns/index.js';
25
25
  import { ViewDescription } from '../ViewDescription/index.js';
26
26
  import { baseClass } from './index.js';
27
- export const hoistQueryParamsToAnd = (where, queryParams) => {
27
+ const hoistQueryParamsToAnd = (where, queryParams) => {
28
28
  if ('and' in where) {
29
29
  where.and.push(queryParams);
30
30
  } else if ('or' in where) {