@payloadcms/ui 3.30.0 → 3.31.0-canary.1

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 (215) hide show
  1. package/dist/elements/ColumnSelector/index.js +1 -1
  2. package/dist/elements/ColumnSelector/index.js.map +1 -1
  3. package/dist/elements/ColumnSelector/index.scss +2 -3
  4. package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
  5. package/dist/elements/DeleteDocument/index.js +1 -2
  6. package/dist/elements/DeleteDocument/index.js.map +1 -1
  7. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  8. package/dist/elements/DeleteMany/index.js +1 -1
  9. package/dist/elements/DeleteMany/index.js.map +1 -1
  10. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  11. package/dist/elements/DocumentDrawer/DrawerContent.js +2 -1
  12. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  13. package/dist/elements/DocumentDrawer/types.d.ts +4 -0
  14. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  15. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  16. package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
  17. package/dist/elements/EditMany/DrawerContent.js +1 -2
  18. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  19. package/dist/elements/ListControls/ActiveQueryPreset/index.d.ts +8 -0
  20. package/dist/elements/ListControls/ActiveQueryPreset/index.d.ts.map +1 -0
  21. package/dist/elements/ListControls/ActiveQueryPreset/index.js +154 -0
  22. package/dist/elements/ListControls/ActiveQueryPreset/index.js.map +1 -0
  23. package/dist/elements/ListControls/ActiveQueryPreset/index.scss +21 -0
  24. package/dist/elements/ListControls/index.d.ts +1 -24
  25. package/dist/elements/ListControls/index.d.ts.map +1 -1
  26. package/dist/elements/ListControls/index.js +115 -86
  27. package/dist/elements/ListControls/index.js.map +1 -1
  28. package/dist/elements/ListControls/index.scss +5 -9
  29. package/dist/elements/ListControls/types.d.ts +28 -0
  30. package/dist/elements/ListControls/types.d.ts.map +1 -0
  31. package/dist/elements/ListControls/types.js.map +1 -0
  32. package/dist/elements/ListControls/useQueryPresets.d.ts +17 -0
  33. package/dist/elements/ListControls/useQueryPresets.d.ts.map +1 -0
  34. package/dist/elements/ListControls/useQueryPresets.js +260 -0
  35. package/dist/elements/ListControls/useQueryPresets.js.map +1 -0
  36. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  37. package/dist/elements/ListDrawer/DrawerContent.js +4 -2
  38. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  39. package/dist/elements/ListDrawer/types.d.ts +3 -2
  40. package/dist/elements/ListDrawer/types.d.ts.map +1 -1
  41. package/dist/elements/ListDrawer/types.js.map +1 -1
  42. package/dist/elements/Pill/index.d.ts +1 -1
  43. package/dist/elements/Pill/index.d.ts.map +1 -1
  44. package/dist/elements/Pill/index.js +2 -0
  45. package/dist/elements/Pill/index.js.map +1 -1
  46. package/dist/elements/Pill/index.scss +29 -6
  47. package/dist/elements/Popup/PopupButtonList/index.d.ts +2 -1
  48. package/dist/elements/Popup/PopupButtonList/index.d.ts.map +1 -1
  49. package/dist/elements/Popup/PopupButtonList/index.js +2 -0
  50. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  51. package/dist/elements/Popup/PopupDivider/index.d.ts +4 -0
  52. package/dist/elements/Popup/PopupDivider/index.d.ts.map +1 -0
  53. package/dist/elements/Popup/PopupDivider/index.js +10 -0
  54. package/dist/elements/Popup/PopupDivider/index.js.map +1 -0
  55. package/dist/elements/Popup/PopupDivider/index.scss +10 -0
  56. package/dist/elements/Popup/PopupGroupLabel/index.d.ts +6 -0
  57. package/dist/elements/Popup/PopupGroupLabel/index.d.ts.map +1 -0
  58. package/dist/elements/Popup/PopupGroupLabel/index.js +13 -0
  59. package/dist/elements/Popup/PopupGroupLabel/index.js.map +1 -0
  60. package/dist/elements/Popup/PopupGroupLabel/index.scss +8 -0
  61. package/dist/elements/Popup/index.d.ts.map +1 -1
  62. package/dist/elements/Popup/index.js +2 -2
  63. package/dist/elements/Popup/index.js.map +1 -1
  64. package/dist/elements/QueryPresets/cells/AccessCell/index.d.ts +4 -0
  65. package/dist/elements/QueryPresets/cells/AccessCell/index.d.ts.map +1 -0
  66. package/dist/elements/QueryPresets/cells/AccessCell/index.js +25 -0
  67. package/dist/elements/QueryPresets/cells/AccessCell/index.js.map +1 -0
  68. package/dist/elements/QueryPresets/cells/ColumnsCell/index.d.ts +5 -0
  69. package/dist/elements/QueryPresets/cells/ColumnsCell/index.d.ts.map +1 -0
  70. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js +25 -0
  71. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js.map +1 -0
  72. package/dist/elements/QueryPresets/cells/ColumnsCell/index.scss +9 -0
  73. package/dist/elements/QueryPresets/cells/WhereCell/index.d.ts +4 -0
  74. package/dist/elements/QueryPresets/cells/WhereCell/index.d.ts.map +1 -0
  75. package/dist/elements/QueryPresets/cells/WhereCell/index.js +29 -0
  76. package/dist/elements/QueryPresets/cells/WhereCell/index.js.map +1 -0
  77. package/dist/elements/QueryPresets/fields/ColumnsField/index.d.ts +4 -0
  78. package/dist/elements/QueryPresets/fields/ColumnsField/index.d.ts.map +1 -0
  79. package/dist/elements/QueryPresets/fields/ColumnsField/index.js +65 -0
  80. package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +1 -0
  81. package/dist/elements/QueryPresets/fields/ColumnsField/index.scss +17 -0
  82. package/dist/elements/QueryPresets/fields/WhereField/index.d.ts +4 -0
  83. package/dist/elements/QueryPresets/fields/WhereField/index.d.ts.map +1 -0
  84. package/dist/elements/QueryPresets/fields/WhereField/index.js +121 -0
  85. package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -0
  86. package/dist/elements/QueryPresets/fields/WhereField/index.scss +23 -0
  87. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js +1 -1
  88. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -1
  89. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  90. package/dist/elements/RelationshipTable/index.js +3 -4
  91. package/dist/elements/RelationshipTable/index.js.map +1 -1
  92. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  93. package/dist/elements/WhereBuilder/Condition/index.js +1 -1
  94. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  95. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  96. package/dist/elements/WhereBuilder/index.js +18 -15
  97. package/dist/elements/WhereBuilder/index.js.map +1 -1
  98. package/dist/exports/client/index.d.ts +7 -2
  99. package/dist/exports/client/index.d.ts.map +1 -1
  100. package/dist/exports/client/index.js +23 -23
  101. package/dist/exports/client/index.js.map +4 -4
  102. package/dist/exports/shared/index.d.ts +8 -3
  103. package/dist/exports/shared/index.d.ts.map +1 -1
  104. package/dist/exports/shared/index.js +2 -2
  105. package/dist/exports/shared/index.js.map +4 -4
  106. package/dist/icons/Chevron/index.d.ts +1 -0
  107. package/dist/icons/Chevron/index.d.ts.map +1 -1
  108. package/dist/icons/Chevron/index.js +2 -0
  109. package/dist/icons/Chevron/index.js.map +1 -1
  110. package/dist/icons/Dots/index.d.ts +2 -0
  111. package/dist/icons/Dots/index.d.ts.map +1 -1
  112. package/dist/icons/Dots/index.js +5 -2
  113. package/dist/icons/Dots/index.js.map +1 -1
  114. package/dist/icons/Dots/index.scss +14 -0
  115. package/dist/icons/People/index.d.ts +6 -0
  116. package/dist/icons/People/index.d.ts.map +1 -0
  117. package/dist/icons/People/index.js +18 -0
  118. package/dist/icons/People/index.js.map +1 -0
  119. package/dist/icons/People/index.scss +11 -0
  120. package/dist/providers/DocumentInfo/types.d.ts +1 -0
  121. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  122. package/dist/providers/DocumentInfo/types.js.map +1 -1
  123. package/dist/providers/EntityVisibility/index.d.ts.map +1 -1
  124. package/dist/providers/EntityVisibility/index.js.map +1 -1
  125. package/dist/providers/ListQuery/context.d.ts +2 -0
  126. package/dist/providers/ListQuery/context.d.ts.map +1 -1
  127. package/dist/providers/ListQuery/context.js +2 -0
  128. package/dist/providers/ListQuery/context.js.map +1 -1
  129. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  130. package/dist/providers/ListQuery/index.js +29 -13
  131. package/dist/providers/ListQuery/index.js.map +1 -1
  132. package/dist/providers/ListQuery/types.d.ts +6 -3
  133. package/dist/providers/ListQuery/types.d.ts.map +1 -1
  134. package/dist/providers/ListQuery/types.js.map +1 -1
  135. package/dist/providers/Preferences/index.d.ts.map +1 -1
  136. package/dist/providers/Preferences/index.js.map +1 -1
  137. package/dist/providers/ServerFunctions/index.d.ts +1 -0
  138. package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
  139. package/dist/providers/ServerFunctions/index.js.map +1 -1
  140. package/dist/providers/TableColumns/RenderDefaultCell/index.d.ts.map +1 -0
  141. package/dist/{elements → providers}/TableColumns/RenderDefaultCell/index.js +2 -2
  142. package/dist/providers/TableColumns/RenderDefaultCell/index.js.map +1 -0
  143. package/dist/{elements → providers}/TableColumns/buildColumnState.d.ts +1 -1
  144. package/dist/providers/TableColumns/buildColumnState.d.ts.map +1 -0
  145. package/dist/{elements → providers}/TableColumns/buildColumnState.js +1 -1
  146. package/dist/providers/TableColumns/buildColumnState.js.map +1 -0
  147. package/dist/{elements → providers}/TableColumns/buildPolymorphicColumnState.d.ts +1 -1
  148. package/dist/providers/TableColumns/buildPolymorphicColumnState.d.ts.map +1 -0
  149. package/dist/{elements → providers}/TableColumns/buildPolymorphicColumnState.js +1 -1
  150. package/dist/providers/TableColumns/buildPolymorphicColumnState.js.map +1 -0
  151. package/dist/providers/TableColumns/context.d.ts.map +1 -0
  152. package/dist/providers/TableColumns/context.js.map +1 -0
  153. package/dist/providers/TableColumns/filterFields.d.ts.map +1 -0
  154. package/dist/providers/TableColumns/filterFields.js.map +1 -0
  155. package/dist/providers/TableColumns/getInitialColumns.d.ts.map +1 -0
  156. package/dist/providers/TableColumns/getInitialColumns.js.map +1 -0
  157. package/dist/providers/TableColumns/index.d.ts.map +1 -0
  158. package/dist/{elements → providers}/TableColumns/index.js +4 -2
  159. package/dist/providers/TableColumns/index.js.map +1 -0
  160. package/dist/{elements → providers}/TableColumns/types.d.ts +1 -1
  161. package/dist/providers/TableColumns/types.d.ts.map +1 -0
  162. package/dist/providers/TableColumns/types.js +2 -0
  163. package/dist/providers/TableColumns/types.js.map +1 -0
  164. package/dist/styles.css +1 -1
  165. package/dist/utilities/renderTable.js +4 -4
  166. package/dist/utilities/renderTable.js.map +1 -1
  167. package/dist/utilities/upsertPreferences.d.ts +7 -2
  168. package/dist/utilities/upsertPreferences.d.ts.map +1 -1
  169. package/dist/utilities/upsertPreferences.js +11 -5
  170. package/dist/utilities/upsertPreferences.js.map +1 -1
  171. package/dist/views/Edit/index.d.ts.map +1 -1
  172. package/dist/views/Edit/index.js +2 -1
  173. package/dist/views/Edit/index.js.map +1 -1
  174. package/dist/views/List/index.d.ts.map +1 -1
  175. package/dist/views/List/index.js +7 -1
  176. package/dist/views/List/index.js.map +1 -1
  177. package/package.json +4 -4
  178. package/dist/elements/TableColumns/RenderDefaultCell/index.d.ts.map +0 -1
  179. package/dist/elements/TableColumns/RenderDefaultCell/index.js.map +0 -1
  180. package/dist/elements/TableColumns/buildColumnState.d.ts.map +0 -1
  181. package/dist/elements/TableColumns/buildColumnState.js.map +0 -1
  182. package/dist/elements/TableColumns/buildPolymorphicColumnState.d.ts.map +0 -1
  183. package/dist/elements/TableColumns/buildPolymorphicColumnState.js.map +0 -1
  184. package/dist/elements/TableColumns/context.d.ts.map +0 -1
  185. package/dist/elements/TableColumns/context.js.map +0 -1
  186. package/dist/elements/TableColumns/filterFields.d.ts.map +0 -1
  187. package/dist/elements/TableColumns/filterFields.js.map +0 -1
  188. package/dist/elements/TableColumns/getInitialColumns.d.ts.map +0 -1
  189. package/dist/elements/TableColumns/getInitialColumns.js.map +0 -1
  190. package/dist/elements/TableColumns/index.d.ts.map +0 -1
  191. package/dist/elements/TableColumns/index.js.map +0 -1
  192. package/dist/elements/TableColumns/types.d.ts.map +0 -1
  193. package/dist/elements/TableColumns/types.js.map +0 -1
  194. package/dist/elements/WhereBuilder/transformWhereQuery.d.ts +0 -8
  195. package/dist/elements/WhereBuilder/transformWhereQuery.d.ts.map +0 -1
  196. package/dist/elements/WhereBuilder/transformWhereQuery.js +0 -45
  197. package/dist/elements/WhereBuilder/transformWhereQuery.js.map +0 -1
  198. package/dist/elements/WhereBuilder/validateWhereQuery.d.ts +0 -4
  199. package/dist/elements/WhereBuilder/validateWhereQuery.d.ts.map +0 -1
  200. package/dist/elements/WhereBuilder/validateWhereQuery.js +0 -36
  201. package/dist/elements/WhereBuilder/validateWhereQuery.js.map +0 -1
  202. package/dist/utilities/mergeListSearchAndWhere.d.ts +0 -10
  203. package/dist/utilities/mergeListSearchAndWhere.d.ts.map +0 -1
  204. package/dist/utilities/mergeListSearchAndWhere.js +0 -47
  205. package/dist/utilities/mergeListSearchAndWhere.js.map +0 -1
  206. /package/dist/elements/{TableColumns → ListControls}/types.js +0 -0
  207. /package/dist/{elements → providers}/TableColumns/RenderDefaultCell/index.d.ts +0 -0
  208. /package/dist/{elements → providers}/TableColumns/RenderDefaultCell/index.scss +0 -0
  209. /package/dist/{elements → providers}/TableColumns/context.d.ts +0 -0
  210. /package/dist/{elements → providers}/TableColumns/context.js +0 -0
  211. /package/dist/{elements → providers}/TableColumns/filterFields.d.ts +0 -0
  212. /package/dist/{elements → providers}/TableColumns/filterFields.js +0 -0
  213. /package/dist/{elements → providers}/TableColumns/getInitialColumns.d.ts +0 -0
  214. /package/dist/{elements → providers}/TableColumns/getInitialColumns.js +0 -0
  215. /package/dist/{elements → providers}/TableColumns/index.d.ts +0 -0
@@ -7,9 +7,9 @@ import { FieldLabel } from '../../fields/FieldLabel/index.js';
7
7
  import { PlusIcon } from '../../icons/Plus/index.js';
8
8
  import { XIcon } from '../../icons/X/index.js';
9
9
  import { useEditDepth } from '../../providers/EditDepth/index.js';
10
+ import { useTableColumns } from '../../providers/TableColumns/index.js';
10
11
  import { DraggableSortable } from '../DraggableSortable/index.js';
11
12
  import { Pill } from '../Pill/index.js';
12
- import { useTableColumns } from '../TableColumns/index.js';
13
13
  import './index.scss';
14
14
  const baseClass = 'column-selector';
15
15
  export const ColumnSelector = ({
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["fieldIsHiddenOrDisabled","fieldIsID","React","useId","useMemo","FieldLabel","PlusIcon","XIcon","useEditDepth","DraggableSortable","Pill","useTableColumns","baseClass","ColumnSelector","collectionSlug","columns","moveColumn","toggleColumn","uuid","editDepth","filteredColumns","filter","col","field","admin","disableListColumn","_jsx","className","ids","map","accessor","onDragEnd","moveFromIndex","moveToIndex","fromIndex","toIndex","i","active","alignIcon","Boolean","join","draggable","icon","id","onClick","CustomLabel","label","unstyled","name"],"sources":["../../../src/elements/ColumnSelector/index.tsx"],"sourcesContent":["'use client'\nimport type { SanitizedCollectionConfig } from 'payload'\n\nimport { fieldIsHiddenOrDisabled, fieldIsID } from 'payload/shared'\nimport React, { useId, useMemo } from 'react'\n\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { PlusIcon } from '../../icons/Plus/index.js'\nimport { XIcon } from '../../icons/X/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { DraggableSortable } from '../DraggableSortable/index.js'\nimport { Pill } from '../Pill/index.js'\nimport { useTableColumns } from '../TableColumns/index.js'\nimport './index.scss'\n\nconst baseClass = 'column-selector'\n\nexport type Props = {\n readonly collectionSlug: SanitizedCollectionConfig['slug']\n}\n\nexport const ColumnSelector: React.FC<Props> = ({ collectionSlug }) => {\n const { columns, moveColumn, toggleColumn } = useTableColumns()\n\n const uuid = useId()\n const editDepth = useEditDepth()\n\n const filteredColumns = useMemo(\n () =>\n columns.filter(\n (col) =>\n !(fieldIsHiddenOrDisabled(col.field) && !fieldIsID(col.field)) &&\n !col?.field?.admin?.disableListColumn,\n ),\n [columns],\n )\n\n if (!columns) {\n return null\n }\n\n return (\n <DraggableSortable\n className={baseClass}\n ids={filteredColumns.map((col) => col?.accessor)}\n onDragEnd={({ moveFromIndex, moveToIndex }) => {\n void moveColumn({\n fromIndex: moveFromIndex,\n toIndex: moveToIndex,\n })\n }}\n >\n {filteredColumns.map((col, i) => {\n const { accessor, active, field } = col\n\n return (\n <Pill\n alignIcon=\"left\"\n aria-checked={active}\n className={[`${baseClass}__column`, active && `${baseClass}__column--active`]\n .filter(Boolean)\n .join(' ')}\n draggable\n icon={active ? <XIcon /> : <PlusIcon />}\n id={accessor}\n key={`${collectionSlug}-${field && 'name' in field ? field?.name : i}${editDepth ? `-${editDepth}-` : ''}${uuid}`}\n onClick={() => {\n void toggleColumn(accessor)\n }}\n >\n {col.CustomLabel ?? (\n <FieldLabel label={field && 'label' in field && field.label} unstyled />\n )}\n </Pill>\n )\n })}\n </DraggableSortable>\n )\n}\n"],"mappings":"AAAA;;;AAGA,SAASA,uBAAuB,EAAEC,SAAS,QAAQ;AACnD,OAAOC,KAAA,IAASC,KAAK,EAAEC,OAAO,QAAQ;AAEtC,SAASC,UAAU,QAAQ;AAC3B,SAASC,QAAQ,QAAQ;AACzB,SAASC,KAAK,QAAQ;AACtB,SAASC,YAAY,QAAQ;AAC7B,SAASC,iBAAiB,QAAQ;AAClC,SAASC,IAAI,QAAQ;AACrB,SAASC,eAAe,QAAQ;AAChC,OAAO;AAEP,MAAMC,SAAA,GAAY;AAMlB,OAAO,MAAMC,cAAA,GAAkCA,CAAC;EAAEC;AAAc,CAAE;EAChE,MAAM;IAAEC,OAAO;IAAEC,UAAU;IAAEC;EAAY,CAAE,GAAGN,eAAA;EAE9C,MAAMO,IAAA,GAAOf,KAAA;EACb,MAAMgB,SAAA,GAAYX,YAAA;EAElB,MAAMY,eAAA,GAAkBhB,OAAA,CACtB,MACEW,OAAA,CAAQM,MAAM,CACXC,GAAA,IACC,EAAEtB,uBAAA,CAAwBsB,GAAA,CAAIC,KAAK,KAAK,CAACtB,SAAA,CAAUqB,GAAA,CAAIC,KAAK,MAC5D,CAACD,GAAA,EAAKC,KAAA,EAAOC,KAAA,EAAOC,iBAAA,GAE1B,CAACV,OAAA,CAAQ;EAGX,IAAI,CAACA,OAAA,EAAS;IACZ,OAAO;EACT;EAEA,oBACEW,IAAA,CAACjB,iBAAA;IACCkB,SAAA,EAAWf,SAAA;IACXgB,GAAA,EAAKR,eAAA,CAAgBS,GAAG,CAAEP,KAAA,IAAQA,KAAA,EAAKQ,QAAA;IACvCC,SAAA,EAAWA,CAAC;MAAEC,aAAa;MAAEC;IAAW,CAAE;MACxC,KAAKjB,UAAA,CAAW;QACdkB,SAAA,EAAWF,aAAA;QACXG,OAAA,EAASF;MACX;IACF;cAECb,eAAA,CAAgBS,GAAG,CAAC,CAACP,KAAA,EAAKc,CAAA;MACzB,MAAM;QAAEN,QAAQ;QAAEO,MAAM;QAAEd;MAAK,CAAE,GAAGD,KAAA;MAEpC,oBACEI,IAAA,CAAChB,IAAA;QACC4B,SAAA,EAAU;QACV,gBAAcD,MAAA;QACdV,SAAA,EAAW,CAAC,GAAGf,SAAA,UAAmB,EAAEyB,MAAA,IAAU,GAAGzB,SAAA,kBAA2B,CAAC,CAC1ES,MAAM,CAACkB,OAAA,EACPC,IAAI,CAAC;QACRC,SAAS;QACTC,IAAA,EAAML,MAAA,gBAASX,IAAA,CAACnB,KAAA,qBAAWmB,IAAA,CAACpB,QAAA;QAC5BqC,EAAA,EAAIb,QAAA;QAEJc,OAAA,EAASA,CAAA;UACP,KAAK3B,YAAA,CAAaa,QAAA;QACpB;kBAECR,KAAA,CAAIuB,WAAW,iBACdnB,IAAA,CAACrB,UAAA;UAAWyC,KAAA,EAAOvB,KAAA,IAAS,WAAWA,KAAA,IAASA,KAAA,CAAMuB,KAAK;UAAEC,QAAQ;;SANlE,GAAGjC,cAAA,IAAkBS,KAAA,IAAS,UAAUA,KAAA,GAAQA,KAAA,EAAOyB,IAAA,GAAOZ,CAAA,GAAIjB,SAAA,GAAY,IAAIA,SAAA,GAAY,GAAG,KAAKD,IAAA,EAAM;IAUvH;;AAGN","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["fieldIsHiddenOrDisabled","fieldIsID","React","useId","useMemo","FieldLabel","PlusIcon","XIcon","useEditDepth","useTableColumns","DraggableSortable","Pill","baseClass","ColumnSelector","collectionSlug","columns","moveColumn","toggleColumn","uuid","editDepth","filteredColumns","filter","col","field","admin","disableListColumn","_jsx","className","ids","map","accessor","onDragEnd","moveFromIndex","moveToIndex","fromIndex","toIndex","i","active","alignIcon","Boolean","join","draggable","icon","id","onClick","CustomLabel","label","unstyled","name"],"sources":["../../../src/elements/ColumnSelector/index.tsx"],"sourcesContent":["'use client'\nimport type { SanitizedCollectionConfig } from 'payload'\n\nimport { fieldIsHiddenOrDisabled, fieldIsID } from 'payload/shared'\nimport React, { useId, useMemo } from 'react'\n\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { PlusIcon } from '../../icons/Plus/index.js'\nimport { XIcon } from '../../icons/X/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useTableColumns } from '../../providers/TableColumns/index.js'\nimport { DraggableSortable } from '../DraggableSortable/index.js'\nimport { Pill } from '../Pill/index.js'\nimport './index.scss'\n\nconst baseClass = 'column-selector'\n\nexport type Props = {\n readonly collectionSlug: SanitizedCollectionConfig['slug']\n}\n\nexport const ColumnSelector: React.FC<Props> = ({ collectionSlug }) => {\n const { columns, moveColumn, toggleColumn } = useTableColumns()\n\n const uuid = useId()\n const editDepth = useEditDepth()\n\n const filteredColumns = useMemo(\n () =>\n columns.filter(\n (col) =>\n !(fieldIsHiddenOrDisabled(col.field) && !fieldIsID(col.field)) &&\n !col?.field?.admin?.disableListColumn,\n ),\n [columns],\n )\n\n if (!columns) {\n return null\n }\n\n return (\n <DraggableSortable\n className={baseClass}\n ids={filteredColumns.map((col) => col?.accessor)}\n onDragEnd={({ moveFromIndex, moveToIndex }) => {\n void moveColumn({\n fromIndex: moveFromIndex,\n toIndex: moveToIndex,\n })\n }}\n >\n {filteredColumns.map((col, i) => {\n const { accessor, active, field } = col\n\n return (\n <Pill\n alignIcon=\"left\"\n aria-checked={active}\n className={[`${baseClass}__column`, active && `${baseClass}__column--active`]\n .filter(Boolean)\n .join(' ')}\n draggable\n icon={active ? <XIcon /> : <PlusIcon />}\n id={accessor}\n key={`${collectionSlug}-${field && 'name' in field ? field?.name : i}${editDepth ? `-${editDepth}-` : ''}${uuid}`}\n onClick={() => {\n void toggleColumn(accessor)\n }}\n >\n {col.CustomLabel ?? (\n <FieldLabel label={field && 'label' in field && field.label} unstyled />\n )}\n </Pill>\n )\n })}\n </DraggableSortable>\n )\n}\n"],"mappings":"AAAA;;;AAGA,SAASA,uBAAuB,EAAEC,SAAS,QAAQ;AACnD,OAAOC,KAAA,IAASC,KAAK,EAAEC,OAAO,QAAQ;AAEtC,SAASC,UAAU,QAAQ;AAC3B,SAASC,QAAQ,QAAQ;AACzB,SAASC,KAAK,QAAQ;AACtB,SAASC,YAAY,QAAQ;AAC7B,SAASC,eAAe,QAAQ;AAChC,SAASC,iBAAiB,QAAQ;AAClC,SAASC,IAAI,QAAQ;AACrB,OAAO;AAEP,MAAMC,SAAA,GAAY;AAMlB,OAAO,MAAMC,cAAA,GAAkCA,CAAC;EAAEC;AAAc,CAAE;EAChE,MAAM;IAAEC,OAAO;IAAEC,UAAU;IAAEC;EAAY,CAAE,GAAGR,eAAA;EAE9C,MAAMS,IAAA,GAAOf,KAAA;EACb,MAAMgB,SAAA,GAAYX,YAAA;EAElB,MAAMY,eAAA,GAAkBhB,OAAA,CACtB,MACEW,OAAA,CAAQM,MAAM,CACXC,GAAA,IACC,EAAEtB,uBAAA,CAAwBsB,GAAA,CAAIC,KAAK,KAAK,CAACtB,SAAA,CAAUqB,GAAA,CAAIC,KAAK,MAC5D,CAACD,GAAA,EAAKC,KAAA,EAAOC,KAAA,EAAOC,iBAAA,GAE1B,CAACV,OAAA,CAAQ;EAGX,IAAI,CAACA,OAAA,EAAS;IACZ,OAAO;EACT;EAEA,oBACEW,IAAA,CAAChB,iBAAA;IACCiB,SAAA,EAAWf,SAAA;IACXgB,GAAA,EAAKR,eAAA,CAAgBS,GAAG,CAAEP,KAAA,IAAQA,KAAA,EAAKQ,QAAA;IACvCC,SAAA,EAAWA,CAAC;MAAEC,aAAa;MAAEC;IAAW,CAAE;MACxC,KAAKjB,UAAA,CAAW;QACdkB,SAAA,EAAWF,aAAA;QACXG,OAAA,EAASF;MACX;IACF;cAECb,eAAA,CAAgBS,GAAG,CAAC,CAACP,KAAA,EAAKc,CAAA;MACzB,MAAM;QAAEN,QAAQ;QAAEO,MAAM;QAAEd;MAAK,CAAE,GAAGD,KAAA;MAEpC,oBACEI,IAAA,CAACf,IAAA;QACC2B,SAAA,EAAU;QACV,gBAAcD,MAAA;QACdV,SAAA,EAAW,CAAC,GAAGf,SAAA,UAAmB,EAAEyB,MAAA,IAAU,GAAGzB,SAAA,kBAA2B,CAAC,CAC1ES,MAAM,CAACkB,OAAA,EACPC,IAAI,CAAC;QACRC,SAAS;QACTC,IAAA,EAAML,MAAA,gBAASX,IAAA,CAACnB,KAAA,qBAAWmB,IAAA,CAACpB,QAAA;QAC5BqC,EAAA,EAAIb,QAAA;QAEJc,OAAA,EAASA,CAAA;UACP,KAAK3B,YAAA,CAAaa,QAAA;QACpB;kBAECR,KAAA,CAAIuB,WAAW,iBACdnB,IAAA,CAACrB,UAAA;UAAWyC,KAAA,EAAOvB,KAAA,IAAS,WAAWA,KAAA,IAASA,KAAA,CAAMuB,KAAK;UAAEC,QAAQ;;SANlE,GAAGjC,cAAA,IAAkBS,KAAA,IAAS,UAAUA,KAAA,GAAQA,KAAA,EAAOyB,IAAA,GAAOZ,CAAA,GAAIjB,SAAA,GAAY,IAAIA,SAAA,GAAY,GAAG,KAAKD,IAAA,EAAM;IAUvH;;AAGN","ignoreList":[]}
@@ -5,11 +5,10 @@
5
5
  display: flex;
6
6
  flex-wrap: wrap;
7
7
  background: var(--theme-elevation-50);
8
- padding: base(1) base(1) base(0.5);
8
+ padding: var(--base);
9
+ gap: calc(var(--base) / 2);
9
10
 
10
11
  &__column {
11
- margin-right: base(0.5);
12
- margin-bottom: base(0.5);
13
12
  background-color: transparent;
14
13
  box-shadow: 0 0 0 1px var(--theme-elevation-150);
15
14
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/DeleteDocument/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAMxD,OAAO,KAAsB,MAAM,OAAO,CAAA;AAG1C,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAA;AAW9E,OAAO,cAAc,CAAA;AAErB,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,cAAc,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IAC1D,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,QAAQ,CAAC,EAAE,yBAAyB,CAAC,UAAU,CAAC,CAAA;IACzD,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,aAAa,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAA;IACvE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,UAAU,EAAE,yBAAyB,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAA;CACtE,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAiJ1C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/DeleteDocument/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAMxD,OAAO,KAAsB,MAAM,OAAO,CAAA;AAG1C,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAA;AAW9E,OAAO,cAAc,CAAA;AAErB,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,cAAc,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IAC1D,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,QAAQ,CAAC,EAAE,yBAAyB,CAAC,UAAU,CAAC,CAAA;IACzD,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,aAAa,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAA;IACvE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,UAAU,EAAE,yBAAyB,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAA;CACtE,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA+I1C,CAAA"}
@@ -57,7 +57,6 @@ export const DeleteDocument = props => {
57
57
  const {
58
58
  openModal
59
59
  } = useModal();
60
- const titleToRender = titleFromProps || title || id;
61
60
  const modalSlug = `delete-${id}`;
62
61
  const addDefaultError = useCallback(() => {
63
62
  toast.error(t('error:deletingTitle', {
@@ -129,7 +128,7 @@ export const DeleteDocument = props => {
129
128
  t: t,
130
129
  variables: {
131
130
  label: getTranslation(singularLabel, i18n),
132
- title: titleToRender
131
+ title: titleFromProps || title || id
133
132
  }
134
133
  }),
135
134
  confirmingLabel: t('general:deleting'),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["useModal","getTranslation","useRouter","formatAdminURL","React","useCallback","toast","useForm","useConfig","useDocumentInfo","useRouteTransition","useTranslation","requests","ConfirmationModal","PopupList","Translation","DeleteDocument","props","id","buttonId","collectionSlug","onDelete","redirectAfterDelete","singularLabel","title","titleFromProps","config","routes","admin","adminRoute","api","serverURL","getEntityConfig","collectionConfig","setModified","router","i18n","t","startRouteTransition","openModal","titleToRender","modalSlug","addDefaultError","error","handleDelete","delete","headers","language","then","res","json","status","success","label","message","push","path","errors","forEach","_err","_jsxs","Fragment","_jsx","Button","onClick","body","elements","1","children","i18nKey","variables","confirmingLabel","heading","onConfirm"],"sources":["../../../src/elements/DeleteDocument/index.tsx"],"sourcesContent":["'use client'\nimport type { SanitizedCollectionConfig } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter } from 'next/navigation.js'\nimport { formatAdminURL } from 'payload/shared'\nimport React, { useCallback } from 'react'\nimport { toast } from 'sonner'\n\nimport type { DocumentDrawerContextType } from '../DocumentDrawer/Provider.js'\n\nimport { useForm } from '../../forms/Form/context.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { ConfirmationModal } from '../ConfirmationModal/index.js'\nimport { PopupList } from '../Popup/index.js'\nimport { Translation } from '../Translation/index.js'\nimport './index.scss'\n\nexport type Props = {\n readonly buttonId?: string\n readonly collectionSlug: SanitizedCollectionConfig['slug']\n readonly id?: string\n readonly onDelete?: DocumentDrawerContextType['onDelete']\n readonly redirectAfterDelete?: boolean\n readonly singularLabel: SanitizedCollectionConfig['labels']['singular']\n readonly title?: string\n readonly useAsTitle: SanitizedCollectionConfig['admin']['useAsTitle']\n}\n\nexport const DeleteDocument: React.FC<Props> = (props) => {\n const {\n id,\n buttonId,\n collectionSlug,\n onDelete,\n redirectAfterDelete = true,\n singularLabel,\n title: titleFromProps,\n } = props\n\n const {\n config: {\n routes: { admin: adminRoute, api },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n\n const { setModified } = useForm()\n const router = useRouter()\n const { i18n, t } = useTranslation()\n const { title } = useDocumentInfo()\n const { startRouteTransition } = useRouteTransition()\n const { openModal } = useModal()\n\n const titleToRender = titleFromProps || title || id\n\n const modalSlug = `delete-${id}`\n\n const addDefaultError = useCallback(() => {\n toast.error(t('error:deletingTitle', { title }))\n }, [t, title])\n\n const handleDelete = useCallback(async () => {\n setModified(false)\n\n try {\n await requests\n .delete(`${serverURL}${api}/${collectionSlug}/${id}`, {\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n .then(async (res) => {\n try {\n const json = await res.json()\n\n if (res.status < 400) {\n toast.success(\n t('general:titleDeleted', {\n label: getTranslation(singularLabel, i18n),\n title,\n }) || json.message,\n )\n\n if (redirectAfterDelete) {\n return startRouteTransition(() =>\n router.push(\n formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}`,\n }),\n ),\n )\n }\n\n if (typeof onDelete === 'function') {\n await onDelete({ id, collectionConfig })\n }\n\n return\n }\n\n if (json.errors) {\n json.errors.forEach((error) => toast.error(error.message))\n } else {\n addDefaultError()\n }\n\n return false\n } catch (_err) {\n return addDefaultError()\n }\n })\n } catch (_err) {\n return addDefaultError()\n }\n }, [\n setModified,\n serverURL,\n api,\n collectionSlug,\n id,\n t,\n singularLabel,\n addDefaultError,\n i18n,\n title,\n router,\n adminRoute,\n redirectAfterDelete,\n onDelete,\n collectionConfig,\n startRouteTransition,\n ])\n\n if (id) {\n return (\n <React.Fragment>\n <PopupList.Button\n id={buttonId}\n onClick={() => {\n openModal(modalSlug)\n }}\n >\n {t('general:delete')}\n </PopupList.Button>\n <ConfirmationModal\n body={\n <Translation\n elements={{\n '1': ({ children }) => <strong>{children}</strong>,\n }}\n i18nKey=\"general:aboutToDelete\"\n t={t}\n variables={{\n label: getTranslation(singularLabel, i18n),\n title: titleToRender,\n }}\n />\n }\n confirmingLabel={t('general:deleting')}\n heading={t('general:confirmDeletion')}\n modalSlug={modalSlug}\n onConfirm={handleDelete}\n />\n </React.Fragment>\n )\n }\n\n return null\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["useModal","getTranslation","useRouter","formatAdminURL","React","useCallback","toast","useForm","useConfig","useDocumentInfo","useRouteTransition","useTranslation","requests","ConfirmationModal","PopupList","Translation","DeleteDocument","props","id","buttonId","collectionSlug","onDelete","redirectAfterDelete","singularLabel","title","titleFromProps","config","routes","admin","adminRoute","api","serverURL","getEntityConfig","collectionConfig","setModified","router","i18n","t","startRouteTransition","openModal","modalSlug","addDefaultError","error","handleDelete","delete","headers","language","then","res","json","status","success","label","message","push","path","errors","forEach","_err","_jsxs","Fragment","_jsx","Button","onClick","body","elements","1","children","i18nKey","variables","confirmingLabel","heading","onConfirm"],"sources":["../../../src/elements/DeleteDocument/index.tsx"],"sourcesContent":["'use client'\nimport type { SanitizedCollectionConfig } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter } from 'next/navigation.js'\nimport { formatAdminURL } from 'payload/shared'\nimport React, { useCallback } from 'react'\nimport { toast } from 'sonner'\n\nimport type { DocumentDrawerContextType } from '../DocumentDrawer/Provider.js'\n\nimport { useForm } from '../../forms/Form/context.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { ConfirmationModal } from '../ConfirmationModal/index.js'\nimport { PopupList } from '../Popup/index.js'\nimport { Translation } from '../Translation/index.js'\nimport './index.scss'\n\nexport type Props = {\n readonly buttonId?: string\n readonly collectionSlug: SanitizedCollectionConfig['slug']\n readonly id?: string\n readonly onDelete?: DocumentDrawerContextType['onDelete']\n readonly redirectAfterDelete?: boolean\n readonly singularLabel: SanitizedCollectionConfig['labels']['singular']\n readonly title?: string\n readonly useAsTitle: SanitizedCollectionConfig['admin']['useAsTitle']\n}\n\nexport const DeleteDocument: React.FC<Props> = (props) => {\n const {\n id,\n buttonId,\n collectionSlug,\n onDelete,\n redirectAfterDelete = true,\n singularLabel,\n title: titleFromProps,\n } = props\n\n const {\n config: {\n routes: { admin: adminRoute, api },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n\n const { setModified } = useForm()\n const router = useRouter()\n const { i18n, t } = useTranslation()\n const { title } = useDocumentInfo()\n const { startRouteTransition } = useRouteTransition()\n const { openModal } = useModal()\n\n const modalSlug = `delete-${id}`\n\n const addDefaultError = useCallback(() => {\n toast.error(t('error:deletingTitle', { title }))\n }, [t, title])\n\n const handleDelete = useCallback(async () => {\n setModified(false)\n\n try {\n await requests\n .delete(`${serverURL}${api}/${collectionSlug}/${id}`, {\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n .then(async (res) => {\n try {\n const json = await res.json()\n\n if (res.status < 400) {\n toast.success(\n t('general:titleDeleted', {\n label: getTranslation(singularLabel, i18n),\n title,\n }) || json.message,\n )\n\n if (redirectAfterDelete) {\n return startRouteTransition(() =>\n router.push(\n formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}`,\n }),\n ),\n )\n }\n\n if (typeof onDelete === 'function') {\n await onDelete({ id, collectionConfig })\n }\n\n return\n }\n\n if (json.errors) {\n json.errors.forEach((error) => toast.error(error.message))\n } else {\n addDefaultError()\n }\n\n return false\n } catch (_err) {\n return addDefaultError()\n }\n })\n } catch (_err) {\n return addDefaultError()\n }\n }, [\n setModified,\n serverURL,\n api,\n collectionSlug,\n id,\n t,\n singularLabel,\n addDefaultError,\n i18n,\n title,\n router,\n adminRoute,\n redirectAfterDelete,\n onDelete,\n collectionConfig,\n startRouteTransition,\n ])\n\n if (id) {\n return (\n <React.Fragment>\n <PopupList.Button\n id={buttonId}\n onClick={() => {\n openModal(modalSlug)\n }}\n >\n {t('general:delete')}\n </PopupList.Button>\n <ConfirmationModal\n body={\n <Translation\n elements={{\n '1': ({ children }) => <strong>{children}</strong>,\n }}\n i18nKey=\"general:aboutToDelete\"\n t={t}\n variables={{\n label: getTranslation(singularLabel, i18n),\n title: titleFromProps || title || id,\n }}\n />\n }\n confirmingLabel={t('general:deleting')}\n heading={t('general:confirmDeletion')}\n modalSlug={modalSlug}\n onConfirm={handleDelete}\n />\n </React.Fragment>\n )\n }\n\n return null\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/DeleteMany/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAMrD,OAAO,KAAsB,MAAM,OAAO,CAAA;AAW1C,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,KAAK,GAAG;IAClB,UAAU,EAAE,sBAAsB,CAAA;IAClC,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAuItC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/DeleteMany/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAOrD,OAAO,KAAsB,MAAM,OAAO,CAAA;AAU1C,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,KAAK,GAAG;IAClB,UAAU,EAAE,sBAAsB,CAAA;IAClC,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAuItC,CAAA"}
@@ -4,6 +4,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
4
  import { useModal } from '@faceless-ui/modal';
5
5
  import { getTranslation } from '@payloadcms/translations';
6
6
  import { useRouter, useSearchParams } from 'next/navigation.js';
7
+ import { mergeListSearchAndWhere } from 'payload/shared';
7
8
  import * as qs from 'qs-esm';
8
9
  import React, { useCallback } from 'react';
9
10
  import { toast } from 'sonner';
@@ -13,7 +14,6 @@ import { useRouteCache } from '../../providers/RouteCache/index.js';
13
14
  import { SelectAllStatus, useSelection } from '../../providers/Selection/index.js';
14
15
  import { useTranslation } from '../../providers/Translation/index.js';
15
16
  import { requests } from '../../utilities/api.js';
16
- import { mergeListSearchAndWhere } from '../../utilities/mergeListSearchAndWhere.js';
17
17
  import { ConfirmationModal } from '../ConfirmationModal/index.js';
18
18
  import './index.scss';
19
19
  const baseClass = 'delete-documents';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["useModal","getTranslation","useRouter","useSearchParams","qs","React","useCallback","toast","useAuth","useConfig","useRouteCache","SelectAllStatus","useSelection","useTranslation","requests","mergeListSearchAndWhere","ConfirmationModal","baseClass","DeleteMany","props","collection","slug","labels","plural","singular","permissions","config","routes","api","serverURL","openModal","count","getQueryParams","selectAll","toggleAll","i18n","t","router","searchParams","clearRouteCache","collectionPermissions","collections","hasDeletePermission","delete","modalSlug","addDefaultError","error","handleDelete","queryWithSearch","collectionConfig","search","get","queryString","headers","language","then","res","json","deletedDocs","docs","length","successLabel","status","success","label","errors","message","description","map","join","replace","stringify","page","undefined","addQueryPrefix","_err","None","_jsxs","Fragment","_jsx","className","onClick","type","body","confirmingLabel","heading","onConfirm"],"sources":["../../../src/elements/DeleteMany/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport * as qs from 'qs-esm'\nimport React, { useCallback } from 'react'\nimport { toast } from 'sonner'\n\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { SelectAllStatus, useSelection } from '../../providers/Selection/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { mergeListSearchAndWhere } from '../../utilities/mergeListSearchAndWhere.js'\nimport { ConfirmationModal } from '../ConfirmationModal/index.js'\nimport './index.scss'\n\nconst baseClass = 'delete-documents'\n\nexport type Props = {\n collection: ClientCollectionConfig\n title?: string\n}\n\nexport const DeleteMany: React.FC<Props> = (props) => {\n const { collection, collection: { slug, labels: { plural, singular } } = {} } = props\n\n const { permissions } = useAuth()\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n const { openModal } = useModal()\n const { count, getQueryParams, selectAll, toggleAll } = useSelection()\n const { i18n, t } = useTranslation()\n const router = useRouter()\n const searchParams = useSearchParams()\n const { clearRouteCache } = useRouteCache()\n\n const collectionPermissions = permissions?.collections?.[slug]\n const hasDeletePermission = collectionPermissions?.delete\n\n const modalSlug = `delete-${slug}`\n\n const addDefaultError = useCallback(() => {\n toast.error(t('error:unknown'))\n }, [t])\n\n const handleDelete = useCallback(async () => {\n const queryWithSearch = mergeListSearchAndWhere({\n collectionConfig: collection,\n search: searchParams.get('search'),\n })\n\n const queryString = getQueryParams(queryWithSearch)\n\n await requests\n .delete(`${serverURL}${api}/${slug}${queryString}`, {\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n .then(async (res) => {\n try {\n const json = await res.json()\n\n const deletedDocs = json?.docs.length || 0\n const successLabel = deletedDocs > 1 ? plural : singular\n\n if (res.status < 400 || deletedDocs > 0) {\n toast.success(\n t('general:deletedCountSuccessfully', {\n count: deletedDocs,\n label: getTranslation(successLabel, i18n),\n }),\n )\n\n if (json?.errors.length > 0) {\n toast.error(json.message, {\n description: json.errors.map((error) => error.message).join('\\n'),\n })\n }\n\n toggleAll()\n\n router.replace(\n qs.stringify(\n {\n page: selectAll ? '1' : undefined,\n },\n { addQueryPrefix: true },\n ),\n )\n\n clearRouteCache()\n\n return null\n }\n\n if (json.errors) {\n toast.error(json.message, {\n description: json.errors.map((error) => error.message).join('\\n'),\n })\n } else {\n return addDefaultError()\n }\n return false\n } catch (_err) {\n return addDefaultError()\n }\n })\n }, [\n searchParams,\n addDefaultError,\n api,\n getQueryParams,\n i18n,\n plural,\n router,\n selectAll,\n serverURL,\n singular,\n slug,\n t,\n toggleAll,\n clearRouteCache,\n collection,\n ])\n\n if (selectAll === SelectAllStatus.None || !hasDeletePermission) {\n return null\n }\n\n return (\n <React.Fragment>\n <button\n className={`${baseClass}__toggle`}\n onClick={() => {\n openModal(modalSlug)\n }}\n type=\"button\"\n >\n {t('general:delete')}\n </button>\n <ConfirmationModal\n body={t('general:aboutToDeleteCount', {\n count,\n label: getTranslation(count > 1 ? plural : singular, i18n),\n })}\n confirmingLabel={t('general:deleting')}\n heading={t('general:confirmDeletion')}\n modalSlug={modalSlug}\n onConfirm={handleDelete}\n />\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["useModal","getTranslation","useRouter","useSearchParams","mergeListSearchAndWhere","qs","React","useCallback","toast","useAuth","useConfig","useRouteCache","SelectAllStatus","useSelection","useTranslation","requests","ConfirmationModal","baseClass","DeleteMany","props","collection","slug","labels","plural","singular","permissions","config","routes","api","serverURL","openModal","count","getQueryParams","selectAll","toggleAll","i18n","t","router","searchParams","clearRouteCache","collectionPermissions","collections","hasDeletePermission","delete","modalSlug","addDefaultError","error","handleDelete","queryWithSearch","collectionConfig","search","get","queryString","headers","language","then","res","json","deletedDocs","docs","length","successLabel","status","success","label","errors","message","description","map","join","replace","stringify","page","undefined","addQueryPrefix","_err","None","_jsxs","Fragment","_jsx","className","onClick","type","body","confirmingLabel","heading","onConfirm"],"sources":["../../../src/elements/DeleteMany/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport { mergeListSearchAndWhere } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback } from 'react'\nimport { toast } from 'sonner'\n\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { SelectAllStatus, useSelection } from '../../providers/Selection/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { ConfirmationModal } from '../ConfirmationModal/index.js'\nimport './index.scss'\n\nconst baseClass = 'delete-documents'\n\nexport type Props = {\n collection: ClientCollectionConfig\n title?: string\n}\n\nexport const DeleteMany: React.FC<Props> = (props) => {\n const { collection, collection: { slug, labels: { plural, singular } } = {} } = props\n\n const { permissions } = useAuth()\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n const { openModal } = useModal()\n const { count, getQueryParams, selectAll, toggleAll } = useSelection()\n const { i18n, t } = useTranslation()\n const router = useRouter()\n const searchParams = useSearchParams()\n const { clearRouteCache } = useRouteCache()\n\n const collectionPermissions = permissions?.collections?.[slug]\n const hasDeletePermission = collectionPermissions?.delete\n\n const modalSlug = `delete-${slug}`\n\n const addDefaultError = useCallback(() => {\n toast.error(t('error:unknown'))\n }, [t])\n\n const handleDelete = useCallback(async () => {\n const queryWithSearch = mergeListSearchAndWhere({\n collectionConfig: collection,\n search: searchParams.get('search'),\n })\n\n const queryString = getQueryParams(queryWithSearch)\n\n await requests\n .delete(`${serverURL}${api}/${slug}${queryString}`, {\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n .then(async (res) => {\n try {\n const json = await res.json()\n\n const deletedDocs = json?.docs.length || 0\n const successLabel = deletedDocs > 1 ? plural : singular\n\n if (res.status < 400 || deletedDocs > 0) {\n toast.success(\n t('general:deletedCountSuccessfully', {\n count: deletedDocs,\n label: getTranslation(successLabel, i18n),\n }),\n )\n\n if (json?.errors.length > 0) {\n toast.error(json.message, {\n description: json.errors.map((error) => error.message).join('\\n'),\n })\n }\n\n toggleAll()\n\n router.replace(\n qs.stringify(\n {\n page: selectAll ? '1' : undefined,\n },\n { addQueryPrefix: true },\n ),\n )\n\n clearRouteCache()\n\n return null\n }\n\n if (json.errors) {\n toast.error(json.message, {\n description: json.errors.map((error) => error.message).join('\\n'),\n })\n } else {\n return addDefaultError()\n }\n return false\n } catch (_err) {\n return addDefaultError()\n }\n })\n }, [\n searchParams,\n addDefaultError,\n api,\n getQueryParams,\n i18n,\n plural,\n router,\n selectAll,\n serverURL,\n singular,\n slug,\n t,\n toggleAll,\n clearRouteCache,\n collection,\n ])\n\n if (selectAll === SelectAllStatus.None || !hasDeletePermission) {\n return null\n }\n\n return (\n <React.Fragment>\n <button\n className={`${baseClass}__toggle`}\n onClick={() => {\n openModal(modalSlug)\n }}\n type=\"button\"\n >\n {t('general:delete')}\n </button>\n <ConfirmationModal\n body={t('general:aboutToDeleteCount', {\n count,\n label: getTranslation(count > 1 ? plural : singular, i18n),\n })}\n confirmingLabel={t('general:deleting')}\n heading={t('general:confirmDeletion')}\n modalSlug={modalSlug}\n onConfirm={handleDelete}\n />\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../src/elements/DocumentDrawer/DrawerContent.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAmD,MAAM,OAAO,CAAA;AAGvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAUrD,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAiK/D,CAAA"}
1
+ {"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../src/elements/DocumentDrawer/DrawerContent.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAmD,MAAM,OAAO,CAAA;AAGvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAUrD,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAkK/D,CAAA"}
@@ -19,11 +19,11 @@ export const DocumentDrawerContent = ({
19
19
  drawerSlug,
20
20
  Header,
21
21
  initialData,
22
- initialState,
23
22
  onDelete: onDeleteFromProps,
24
23
  onDuplicate: onDuplicateFromProps,
25
24
  onSave: onSaveFromProps,
26
25
  overrideEntityVisibility = true,
26
+ redirectAfterCreate,
27
27
  redirectAfterDelete,
28
28
  redirectAfterDuplicate
29
29
  }) => {
@@ -60,6 +60,7 @@ export const DocumentDrawerContent = ({
60
60
  initialData,
61
61
  locale,
62
62
  overrideEntityVisibility,
63
+ redirectAfterCreate,
63
64
  redirectAfterDelete: redirectAfterDelete !== undefined ? redirectAfterDelete : false,
64
65
  redirectAfterDuplicate: redirectAfterDuplicate !== undefined ? redirectAfterDuplicate : false,
65
66
  signal: controller.signal
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerContent.js","names":["useModal","React","useCallback","useEffect","useRef","useState","toast","LoadingOverlay","useConfig","useLocale","useServerFunctions","useTranslation","abortAndIgnore","handleAbortRef","DocumentDrawerContextProvider","DocumentDrawerContent","id","existingDocID","AfterFields","collectionSlug","disableActions","drawerSlug","Header","initialData","initialState","onDelete","onDeleteFromProps","onDuplicate","onDuplicateFromProps","onSave","onSaveFromProps","overrideEntityVisibility","redirectAfterDelete","redirectAfterDuplicate","getEntityConfig","locale","collectionConfig","abortGetDocumentViewRef","closeModal","t","renderDocument","DocumentView","setDocumentView","undefined","isLoading","setIsLoading","hasRenderedDocument","getDocumentView","docID","controller","fetchDocumentView","result","signal","Document","error","message","current","args","doc","clearDoc","abortGetDocumentView","_jsx"],"sources":["../../../src/elements/DocumentDrawer/DrawerContent.tsx"],"sourcesContent":["'use client'\n\nimport { useModal } from '@faceless-ui/modal'\nimport React, { useCallback, useEffect, useRef, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { DocumentDrawerProps } from './types.js'\n\nimport { LoadingOverlay } from '../../elements/Loading/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { abortAndIgnore, handleAbortRef } from '../../utilities/abortAndIgnore.js'\nimport { DocumentDrawerContextProvider } from './Provider.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 overrideEntityVisibility = true,\n redirectAfterDelete,\n redirectAfterDuplicate,\n}) => {\n const { getEntityConfig } = useConfig()\n const locale = useLocale()\n\n const [collectionConfig] = useState(() => getEntityConfig({ collectionSlug }))\n\n const abortGetDocumentViewRef = React.useRef<AbortController>(null)\n\n const { closeModal } = useModal()\n const { t } = useTranslation()\n\n const { renderDocument } = useServerFunctions()\n\n const [DocumentView, setDocumentView] = useState<React.ReactNode>(undefined)\n const [isLoading, setIsLoading] = useState(true)\n const hasRenderedDocument = useRef(false)\n\n const getDocumentView = useCallback(\n (docID?: number | string) => {\n const controller = handleAbortRef(abortGetDocumentViewRef)\n\n const fetchDocumentView = async () => {\n setIsLoading(true)\n\n try {\n const result = await renderDocument({\n collectionSlug,\n disableActions,\n docID,\n drawerSlug,\n initialData,\n locale,\n overrideEntityVisibility,\n redirectAfterDelete: redirectAfterDelete !== undefined ? redirectAfterDelete : false,\n redirectAfterDuplicate:\n redirectAfterDuplicate !== undefined ? redirectAfterDuplicate : false,\n signal: controller.signal,\n })\n\n if (result?.Document) {\n setDocumentView(result.Document)\n setIsLoading(false)\n }\n } catch (error) {\n toast.error(error?.message || t('error:unspecific'))\n closeModal(drawerSlug)\n // toast.error(data?.errors?.[0].message || t('error:unspecific'))\n }\n\n abortGetDocumentViewRef.current = null\n }\n\n void fetchDocumentView()\n },\n [\n collectionSlug,\n disableActions,\n drawerSlug,\n initialData,\n redirectAfterDelete,\n redirectAfterDuplicate,\n renderDocument,\n closeModal,\n overrideEntityVisibility,\n t,\n locale,\n ],\n )\n\n const onSave = useCallback<DocumentDrawerProps['onSave']>(\n (args) => {\n getDocumentView(args.doc.id)\n\n if (typeof onSaveFromProps === 'function') {\n void onSaveFromProps({\n ...args,\n collectionConfig,\n })\n }\n },\n [onSaveFromProps, collectionConfig, getDocumentView],\n )\n\n const onDuplicate = useCallback<DocumentDrawerProps['onDuplicate']>(\n (args) => {\n getDocumentView(args.doc.id)\n\n if (typeof onDuplicateFromProps === 'function') {\n void onDuplicateFromProps({\n ...args,\n collectionConfig,\n })\n }\n },\n [onDuplicateFromProps, collectionConfig, getDocumentView],\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, closeModal, drawerSlug, collectionConfig],\n )\n\n const clearDoc = useCallback(() => {\n getDocumentView()\n }, [getDocumentView])\n\n useEffect(() => {\n if (!DocumentView && !hasRenderedDocument.current) {\n getDocumentView(existingDocID)\n hasRenderedDocument.current = true\n }\n }, [DocumentView, getDocumentView, existingDocID])\n\n // Cleanup any pending requests when the component unmounts\n useEffect(() => {\n const abortGetDocumentView = abortGetDocumentViewRef.current\n\n return () => {\n abortAndIgnore(abortGetDocumentView)\n }\n }, [])\n\n if (isLoading) {\n return <LoadingOverlay />\n }\n\n return (\n <DocumentDrawerContextProvider\n clearDoc={clearDoc}\n drawerSlug={drawerSlug}\n onDelete={onDelete}\n onDuplicate={onDuplicate}\n onSave={onSave}\n >\n {DocumentView}\n </DocumentDrawerContextProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DrawerContent.js","names":["useModal","React","useCallback","useEffect","useRef","useState","toast","LoadingOverlay","useConfig","useLocale","useServerFunctions","useTranslation","abortAndIgnore","handleAbortRef","DocumentDrawerContextProvider","DocumentDrawerContent","id","existingDocID","AfterFields","collectionSlug","disableActions","drawerSlug","Header","initialData","onDelete","onDeleteFromProps","onDuplicate","onDuplicateFromProps","onSave","onSaveFromProps","overrideEntityVisibility","redirectAfterCreate","redirectAfterDelete","redirectAfterDuplicate","getEntityConfig","locale","collectionConfig","abortGetDocumentViewRef","closeModal","t","renderDocument","DocumentView","setDocumentView","undefined","isLoading","setIsLoading","hasRenderedDocument","getDocumentView","docID","controller","fetchDocumentView","result","signal","Document","error","message","current","args","doc","clearDoc","abortGetDocumentView","_jsx"],"sources":["../../../src/elements/DocumentDrawer/DrawerContent.tsx"],"sourcesContent":["'use client'\n\nimport { useModal } from '@faceless-ui/modal'\nimport React, { useCallback, useEffect, useRef, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { DocumentDrawerProps } from './types.js'\n\nimport { LoadingOverlay } from '../../elements/Loading/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { abortAndIgnore, handleAbortRef } from '../../utilities/abortAndIgnore.js'\nimport { DocumentDrawerContextProvider } from './Provider.js'\n\nexport const DocumentDrawerContent: React.FC<DocumentDrawerProps> = ({\n id: existingDocID,\n AfterFields,\n collectionSlug,\n disableActions,\n drawerSlug,\n Header,\n initialData,\n onDelete: onDeleteFromProps,\n onDuplicate: onDuplicateFromProps,\n onSave: onSaveFromProps,\n overrideEntityVisibility = true,\n redirectAfterCreate,\n redirectAfterDelete,\n redirectAfterDuplicate,\n}) => {\n const { getEntityConfig } = useConfig()\n const locale = useLocale()\n\n const [collectionConfig] = useState(() => getEntityConfig({ collectionSlug }))\n\n const abortGetDocumentViewRef = React.useRef<AbortController>(null)\n\n const { closeModal } = useModal()\n const { t } = useTranslation()\n\n const { renderDocument } = useServerFunctions()\n\n const [DocumentView, setDocumentView] = useState<React.ReactNode>(undefined)\n const [isLoading, setIsLoading] = useState(true)\n const hasRenderedDocument = useRef(false)\n\n const getDocumentView = useCallback(\n (docID?: number | string) => {\n const controller = handleAbortRef(abortGetDocumentViewRef)\n\n const fetchDocumentView = async () => {\n setIsLoading(true)\n\n try {\n const result = await renderDocument({\n collectionSlug,\n disableActions,\n docID,\n drawerSlug,\n initialData,\n locale,\n overrideEntityVisibility,\n redirectAfterCreate,\n redirectAfterDelete: redirectAfterDelete !== undefined ? redirectAfterDelete : false,\n redirectAfterDuplicate:\n redirectAfterDuplicate !== undefined ? redirectAfterDuplicate : false,\n signal: controller.signal,\n })\n\n if (result?.Document) {\n setDocumentView(result.Document)\n setIsLoading(false)\n }\n } catch (error) {\n toast.error(error?.message || t('error:unspecific'))\n closeModal(drawerSlug)\n // toast.error(data?.errors?.[0].message || t('error:unspecific'))\n }\n\n abortGetDocumentViewRef.current = null\n }\n\n void fetchDocumentView()\n },\n [\n collectionSlug,\n disableActions,\n drawerSlug,\n initialData,\n redirectAfterDelete,\n redirectAfterDuplicate,\n renderDocument,\n closeModal,\n overrideEntityVisibility,\n t,\n locale,\n ],\n )\n\n const onSave = useCallback<DocumentDrawerProps['onSave']>(\n (args) => {\n getDocumentView(args.doc.id)\n\n if (typeof onSaveFromProps === 'function') {\n void onSaveFromProps({\n ...args,\n collectionConfig,\n })\n }\n },\n [onSaveFromProps, collectionConfig, getDocumentView],\n )\n\n const onDuplicate = useCallback<DocumentDrawerProps['onDuplicate']>(\n (args) => {\n getDocumentView(args.doc.id)\n\n if (typeof onDuplicateFromProps === 'function') {\n void onDuplicateFromProps({\n ...args,\n collectionConfig,\n })\n }\n },\n [onDuplicateFromProps, collectionConfig, getDocumentView],\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, closeModal, drawerSlug, collectionConfig],\n )\n\n const clearDoc = useCallback(() => {\n getDocumentView()\n }, [getDocumentView])\n\n useEffect(() => {\n if (!DocumentView && !hasRenderedDocument.current) {\n getDocumentView(existingDocID)\n hasRenderedDocument.current = true\n }\n }, [DocumentView, getDocumentView, existingDocID])\n\n // Cleanup any pending requests when the component unmounts\n useEffect(() => {\n const abortGetDocumentView = abortGetDocumentViewRef.current\n\n return () => {\n abortAndIgnore(abortGetDocumentView)\n }\n }, [])\n\n if (isLoading) {\n return <LoadingOverlay />\n }\n\n return (\n <DocumentDrawerContextProvider\n clearDoc={clearDoc}\n drawerSlug={drawerSlug}\n onDelete={onDelete}\n onDuplicate={onDuplicate}\n onSave={onSave}\n >\n {DocumentView}\n </DocumentDrawerContextProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -10,8 +10,12 @@ export type DocumentDrawerProps = {
10
10
  readonly drawerSlug?: string;
11
11
  readonly id?: null | number | string;
12
12
  readonly initialData?: Data;
13
+ /**
14
+ * @deprecated
15
+ */
13
16
  readonly initialState?: FormState;
14
17
  readonly overrideEntityVisibility?: boolean;
18
+ readonly redirectAfterCreate?: boolean;
15
19
  readonly redirectAfterDelete?: boolean;
16
20
  readonly redirectAfterDuplicate?: boolean;
17
21
  } & Pick<DocumentDrawerContextProps, 'onDelete' | 'onDuplicate' | 'onSave'> & Pick<DrawerProps, 'Header'>;
@@ -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,KAAK,IAAI,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAC9D,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAA;AAE/D,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,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAC3C,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAA;CAC1C,GAAG,IAAI,CAAC,0BAA0B,EAAE,UAAU,GAAG,aAAa,GAAG,QAAQ,CAAC,GACzE,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;AAE7B,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;IACpB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CAC9B,GAAG,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,CAAA;AAE/C,MAAM,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE;IACrC,cAAc,EAAE,MAAM,CAAA;IACtB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,wBAAwB,CAAC,EAAE,OAAO,CAAA;CACnC,KAAK;IACJ,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,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,KAAK,IAAI,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAC9D,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAA;AAE/D,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;;OAEG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,CAAA;IACjC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAC3C,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAA;CAC1C,GAAG,IAAI,CAAC,0BAA0B,EAAE,UAAU,GAAG,aAAa,GAAG,QAAQ,CAAC,GACzE,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;AAE7B,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;IACpB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CAC9B,GAAG,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,CAAA;AAE/C,MAAM,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE;IACrC,cAAc,EAAE,MAAM,CAAA;IACtB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,wBAAwB,CAAC,EAAE,OAAO,CAAA;CACnC,KAAK;IACJ,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 { Props as DrawerProps } from '../Drawer/types.js'\nimport type { DocumentDrawerContextProps } from './Provider.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 overrideEntityVisibility?: boolean\n readonly redirectAfterDelete?: boolean\n readonly redirectAfterDuplicate?: boolean\n} & Pick<DocumentDrawerContextProps, 'onDelete' | 'onDuplicate' | 'onSave'> &\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 onClick?: () => void\n} & Readonly<HTMLAttributes<HTMLButtonElement>>\n\nexport type UseDocumentDrawer = (args: {\n collectionSlug: string\n id?: number | string\n overrideEntityVisibility?: boolean\n}) => [\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 { Data, FormState } from 'payload'\nimport type React from 'react'\nimport type { HTMLAttributes } from 'react'\n\nimport type { Props as DrawerProps } from '../Drawer/types.js'\nimport type { DocumentDrawerContextProps } from './Provider.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 /**\n * @deprecated\n */\n readonly initialState?: FormState\n readonly overrideEntityVisibility?: boolean\n readonly redirectAfterCreate?: boolean\n readonly redirectAfterDelete?: boolean\n readonly redirectAfterDuplicate?: boolean\n} & Pick<DocumentDrawerContextProps, 'onDelete' | 'onDuplicate' | 'onSave'> &\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 onClick?: () => void\n} & Readonly<HTMLAttributes<HTMLButtonElement>>\n\nexport type UseDocumentDrawer = (args: {\n collectionSlug: string\n id?: number | string\n overrideEntityVisibility?: boolean\n}) => [\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":"AAmCA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../src/elements/EditMany/DrawerContent.tsx"],"names":[],"mappings":"AASA,OAAO,KAAoD,MAAM,OAAO,CAAA;AAIxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAA;AAmBvE,OAAO,EAAa,KAAK,aAAa,EAAE,MAAM,YAAY,CAAA;AAC1D,OAAO,cAAc,CAAA;AACrB,OAAO,qCAAqC,CAAA;AA+E5C,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAC1C;IACE,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,WAAW,EAAE,CAAA;IAC7B,iBAAiB,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,IAAI,CAAA;CACnD,GAAG,aAAa,CA+NlB,CAAA"}
1
+ {"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../src/elements/EditMany/DrawerContent.tsx"],"names":[],"mappings":"AASA,OAAO,KAAoD,MAAM,OAAO,CAAA;AAIxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAA;AAkBvE,OAAO,EAAa,KAAK,aAAa,EAAE,MAAM,YAAY,CAAA;AAC1D,OAAO,cAAc,CAAA;AACrB,OAAO,qCAAqC,CAAA;AA+E5C,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAC1C;IACE,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,WAAW,EAAE,CAAA;IAC7B,iBAAiB,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,IAAI,CAAA;CACnD,GAAG,aAAa,CA+NlB,CAAA"}
@@ -5,7 +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 { useRouter, useSearchParams } from 'next/navigation.js';
8
- import { unflatten } from 'payload/shared';
8
+ import { mergeListSearchAndWhere, unflatten } from 'payload/shared';
9
9
  import * as qs from 'qs-esm';
10
10
  import React, { useCallback, useEffect, useMemo, useState } from 'react';
11
11
  import { useForm } from '../../forms/Form/context.js';
@@ -22,7 +22,6 @@ import { SelectAllStatus, useSelection } from '../../providers/Selection/index.j
22
22
  import { useServerFunctions } from '../../providers/ServerFunctions/index.js';
23
23
  import { useTranslation } from '../../providers/Translation/index.js';
24
24
  import { abortAndIgnore, handleAbortRef } from '../../utilities/abortAndIgnore.js';
25
- import { mergeListSearchAndWhere } from '../../utilities/mergeListSearchAndWhere.js';
26
25
  import { parseSearchParams } from '../../utilities/parseSearchParams.js';
27
26
  import { FieldSelect } from '../FieldSelect/index.js';
28
27
  import { baseClass } from './index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerContent.js","names":["c","_c","useModal","getTranslation","useRouter","useSearchParams","unflatten","qs","React","useCallback","useEffect","useMemo","useState","useForm","Form","RenderField","FormSubmit","XIcon","useAuth","useConfig","DocumentInfoProvider","OperationContext","useRouteCache","SelectAllStatus","useSelection","useServerFunctions","useTranslation","abortAndIgnore","handleAbortRef","mergeListSearchAndWhere","parseSearchParams","FieldSelect","baseClass","Submit","t0","$","action","disabled","submit","t","t1","method","skipValidation","save","t2","_jsx","className","onClick","children","PublishButton","overrides","_status","SaveDraftButton","buttonStyle","EditManyDrawerContent","props","collection","fields","labels","plural","singular","drawerSlug","selectedFields","setSelectedFields","permissions","user","closeModal","config","routes","api","apiRoute","serverURL","getFormState","count","getQueryParams","selectAll","i18n","isInitializing","setIsInitializing","router","abortFormStateRef","useRef","clearRouteCache","collectionPermissions","collections","slug","searchParams","select","reduce","acc","option","value","path","onChange","formState","prevFormState","submitted","controller","state","collectionSlug","docPermissions","docPreferences","operation","schemaPath","signal","current","abortFormState","queryString","queryWithSearch","collectionConfig","search","get","onSuccess","replace","stringify","page","AllAvailable","undefined","addQueryPrefix","onFieldSelect","dispatchFields","selected","type","currentEditor","hasPublishedDoc","id","initialData","isLocked","lastUpdateTime","mostRecentVersionIsAutosaved","unpublishedVersionCount","versionCount","_jsxs","label","length","map","i","field","fieldPermissions","clientFieldConfig","indexPath","parentPath","parentSchemaPath","versions","drafts","Fragment"],"sources":["../../../src/elements/EditMany/DrawerContent.tsx"],"sourcesContent":["'use client'\n\nimport type { SelectType } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport { unflatten } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useEffect, useMemo, useState } from 'react'\n\nimport type { FormProps } from '../../forms/Form/index.js'\nimport type { OnFieldSelect } from '../FieldSelect/index.js'\nimport type { FieldOption } from '../FieldSelect/reduceFieldOptions.js'\n\nimport { useForm } from '../../forms/Form/context.js'\nimport { Form } from '../../forms/Form/index.js'\nimport { RenderField } from '../../forms/RenderFields/RenderField.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 { SelectAllStatus, useSelection } from '../../providers/Selection/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { abortAndIgnore, handleAbortRef } from '../../utilities/abortAndIgnore.js'\nimport { mergeListSearchAndWhere } from '../../utilities/mergeListSearchAndWhere.js'\nimport { parseSearchParams } from '../../utilities/parseSearchParams.js'\nimport { FieldSelect } from '../FieldSelect/index.js'\nimport { baseClass, type EditManyProps } from './index.js'\nimport './index.scss'\nimport '../../forms/RenderFields/index.scss'\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<{\n action: string\n 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 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<{\n action: string\n 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 overrides: {\n _status: 'draft',\n },\n skipValidation: true,\n })\n }, [action, submit])\n\n return (\n <FormSubmit\n buttonStyle=\"secondary\"\n className={`${baseClass}__draft`}\n disabled={disabled}\n onClick={save}\n >\n {t('version:saveDraft')}\n </FormSubmit>\n )\n}\n\nexport const EditManyDrawerContent: React.FC<\n {\n drawerSlug: string\n selectedFields: FieldOption[]\n setSelectedFields: (fields: FieldOption[]) => void\n } & EditManyProps\n> = (props) => {\n const {\n collection: { fields, labels: { plural, singular } } = {},\n collection,\n drawerSlug,\n selectedFields,\n setSelectedFields,\n } = props\n\n const { permissions, user } = useAuth()\n\n const { closeModal } = useModal()\n\n const {\n config: {\n routes: { api: apiRoute },\n serverURL,\n },\n } = useConfig()\n\n const { getFormState } = useServerFunctions()\n\n const { count, getQueryParams, selectAll } = useSelection()\n const { i18n, t } = useTranslation()\n\n const [isInitializing, setIsInitializing] = useState(false)\n\n const router = useRouter()\n const abortFormStateRef = React.useRef<AbortController>(null)\n const { clearRouteCache } = useRouteCache()\n const collectionPermissions = permissions?.collections?.[collection.slug]\n const searchParams = useSearchParams()\n\n const select = useMemo<SelectType>(() => {\n return unflatten(\n selectedFields.reduce((acc, option) => {\n acc[option.value.path] = true\n return acc\n }, {} as SelectType),\n )\n }, [selectedFields])\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState, submitted }) => {\n const controller = handleAbortRef(abortFormStateRef)\n\n const { state } = await getFormState({\n collectionSlug: collection.slug,\n docPermissions: collectionPermissions,\n docPreferences: null,\n formState: prevFormState,\n operation: 'update',\n schemaPath: collection.slug,\n select,\n signal: controller.signal,\n skipValidation: !submitted,\n })\n\n abortFormStateRef.current = null\n\n return state\n },\n [getFormState, collection, collectionPermissions, select],\n )\n\n useEffect(() => {\n const abortFormState = abortFormStateRef.current\n\n return () => {\n abortAndIgnore(abortFormState)\n }\n }, [])\n\n const queryString = useMemo(() => {\n const queryWithSearch = mergeListSearchAndWhere({\n collectionConfig: collection,\n search: searchParams.get('search'),\n })\n\n return getQueryParams(queryWithSearch)\n }, [collection, searchParams, getQueryParams])\n\n const onSuccess = () => {\n router.replace(\n qs.stringify(\n {\n ...parseSearchParams(searchParams),\n page: selectAll === SelectAllStatus.AllAvailable ? '1' : undefined,\n },\n { addQueryPrefix: true },\n ),\n )\n clearRouteCache() // Use clearRouteCache instead of router.refresh, as we only need to clear the cache if the user has route caching enabled - clearRouteCache checks for this\n closeModal(drawerSlug)\n }\n\n const onFieldSelect = useCallback<OnFieldSelect>(\n async ({ dispatchFields, formState, selected }) => {\n setIsInitializing(true)\n\n setSelectedFields(selected || [])\n\n const { state } = await getFormState({\n collectionSlug: collection.slug,\n docPermissions: collectionPermissions,\n docPreferences: null,\n formState,\n operation: 'update',\n schemaPath: collection.slug,\n select: unflatten(\n selected.reduce((acc, option) => {\n acc[option.value.path] = true\n return acc\n }, {} as SelectType),\n ),\n skipValidation: true,\n })\n\n dispatchFields({\n type: 'UPDATE_MANY',\n formState: state,\n })\n\n setIsInitializing(false)\n },\n [getFormState, collection.slug, collectionPermissions, setSelectedFields],\n )\n\n return (\n <DocumentInfoProvider\n collectionSlug={collection.slug}\n currentEditor={user}\n hasPublishedDoc={false}\n id={null}\n initialData={{}}\n isLocked={false}\n lastUpdateTime={0}\n mostRecentVersionIsAutosaved={false}\n unpublishedVersionCount={0}\n versionCount={0}\n >\n <OperationContext value=\"update\">\n <div className={`${baseClass}__main`}>\n <div className={`${baseClass}__header`}>\n <h2 className={`${baseClass}__header__title`}>\n {t('general:editingLabel', {\n count,\n label: getTranslation(count > 1 ? plural : singular, i18n),\n })}\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 isInitializing={isInitializing}\n onChange={[onChange]}\n onSuccess={onSuccess}\n >\n <FieldSelect\n fields={fields}\n onChange={onFieldSelect}\n permissions={collectionPermissions.fields}\n />\n {selectedFields.length === 0 ? null : (\n <div className=\"render-fields\">\n {selectedFields.map((option, i) => {\n const {\n value: { field, fieldPermissions, path },\n } = option\n\n return (\n <RenderField\n clientFieldConfig={field}\n indexPath=\"\"\n key={`${path}-${i}`}\n parentPath=\"\"\n parentSchemaPath=\"\"\n path={path}\n permissions={fieldPermissions}\n />\n )\n })}\n </div>\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 <SaveDraftButton\n action={`${serverURL}${apiRoute}/${collection.slug}${queryString}&draft=true`}\n disabled={selectedFields.length === 0}\n />\n <PublishButton\n action={`${serverURL}${apiRoute}/${collection.slug}${queryString}&draft=true`}\n disabled={selectedFields.length === 0}\n />\n </React.Fragment>\n ) : (\n <Submit\n action={`${serverURL}${apiRoute}/${collection.slug}${queryString}`}\n disabled={selectedFields.length === 0}\n />\n )}\n </div>\n </div>\n </div>\n </div>\n </Form>\n </div>\n </OperationContext>\n </DocumentInfoProvider>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAIA,SAASC,QAAQ,QAAQ;AACzB,SAASC,cAAc,QAAQ;AAC/B,SAASC,SAAS,EAAEC,eAAe,QAAQ;AAC3C,SAASC,SAAS,QAAQ;AAC1B,YAAYC,EAAA,MAAQ;AACpB,OAAOC,KAAA,IAASC,WAAW,EAAEC,SAAS,EAAEC,OAAO,EAAEC,QAAQ,QAAQ;AAMjE,SAASC,OAAO,QAAQ;AACxB,SAASC,IAAI,QAAQ;AACrB,SAASC,WAAW,QAAQ;AAC5B,SAASC,UAAU,QAAQ;AAC3B,SAASC,KAAK,QAAQ;AACtB,SAASC,OAAO,QAAQ;AACxB,SAASC,SAAS,QAAQ;AAC1B,SAASC,oBAAoB,QAAQ;AACrC,SAASC,gBAAgB,QAAQ;AACjC,SAASC,aAAa,QAAQ;AAC9B,SAASC,eAAe,EAAEC,YAAY,QAAQ;AAC9C,SAASC,kBAAkB,QAAQ;AACnC,SAASC,cAAc,QAAQ;AAC/B,SAASC,cAAc,EAAEC,cAAc,QAAQ;AAC/C,SAASC,uBAAuB,QAAQ;AACxC,SAASC,iBAAiB,QAAQ;AAClC,SAASC,WAAW,QAAQ;AAC5B,SAASC,SAAS,QAA4B;AAC9C,OAAO;AACP,OAAO;AAEP,MAAMC,MAAA,GAGDC,EAAA;EAAA,MAAAC,CAAA,GAAAlC,EAAA;EAAC;IAAAmC,MAAA;IAAAC;EAAA,IAAAH,EAAoB;EACxB;IAAAI;EAAA,IAAmBzB,OAAA;EACnB;IAAA0B;EAAA,IAAcb,cAAA;EAAA,IAAAc,EAAA;EAAA,IAAAL,CAAA,QAAAC,MAAA,IAAAD,CAAA,QAAAG,MAAA;IAEWE,EAAA,GAAAA,CAAA;MAClBF,MAAA;QAAAF,MAAA;QAAAK,MAAA,EAEK;QAAAC,cAAA;MAAA,CAEV;IAAA;IACFP,CAAA,MAAAC,MAAA;IAAAD,CAAA,MAAAG,MAAA;IAAAH,CAAA,MAAAK,EAAA;EAAA;IAAAA,EAAA,GAAAL,CAAA;EAAA;EANA,MAAAQ,IAAA,GAAaH,EAMM;EAAA,IAAAI,EAAA;EAAA,IAAAT,CAAA,QAAAE,QAAA,IAAAF,CAAA,QAAAQ,IAAA,IAAAR,CAAA,QAAAI,CAAA;IAGjBK,EAAA,GAAAC,IAAA,CAAA7B,UAAA;MAAA8B,SAAA,EAAuB,GAAAd,SAAA,QAAoB;MAAAK,QAAA;MAAAU,OAAA,EAA+BJ,IAAA;MAAAK,QAAA,EACvET,CAAA,CAAE;IAAA,C;;;;;;;;SADLK,E;CAIJ;AAEA,MAAMK,aAAA,GAGDf,EAAA;EAAA,MAAAC,CAAA,GAAAlC,EAAA;EAAC;IAAAmC,MAAA;IAAAC;EAAA,IAAAH,EAAoB;EACxB;IAAAI;EAAA,IAAmBzB,OAAA;EACnB;IAAA0B;EAAA,IAAcb,cAAA;EAAA,IAAAc,EAAA;EAAA,IAAAL,CAAA,QAAAC,MAAA,IAAAD,CAAA,QAAAG,MAAA;IAEWE,EAAA,GAAAA,CAAA;MAClBF,MAAA;QAAAF,MAAA;QAAAK,MAAA,EAEK;QAAAS,SAAA;UAAAC,OAAA,EAEG;QAAA;QAAAT,cAAA;MAAA,CAGb;IAAA;IACFP,CAAA,MAAAC,MAAA;IAAAD,CAAA,MAAAG,MAAA;IAAAH,CAAA,MAAAK,EAAA;EAAA;IAAAA,EAAA,GAAAL,CAAA;EAAA;EATA,MAAAQ,IAAA,GAAaH,EASM;EAAA,IAAAI,EAAA;EAAA,IAAAT,CAAA,QAAAE,QAAA,IAAAF,CAAA,QAAAQ,IAAA,IAAAR,CAAA,QAAAI,CAAA;IAGjBK,EAAA,GAAAC,IAAA,CAAA7B,UAAA;MAAA8B,SAAA,EAAuB,GAAAd,SAAA,WAAuB;MAAAK,QAAA;MAAAU,OAAA,EAA+BJ,IAAA;MAAAK,QAAA,EAC1ET,CAAA,CAAE;IAAA,C;;;;;;;;SADLK,E;CAIJ;AAEA,MAAMQ,eAAA,GAGDlB,EAAA;EAAA,MAAAC,CAAA,GAAAlC,EAAA;EAAC;IAAAmC,MAAA;IAAAC;EAAA,IAAAH,EAAoB;EACxB;IAAAI;EAAA,IAAmBzB,OAAA;EACnB;IAAA0B;EAAA,IAAcb,cAAA;EAAA,IAAAc,EAAA;EAAA,IAAAL,CAAA,QAAAC,MAAA,IAAAD,CAAA,QAAAG,MAAA;IAEWE,EAAA,GAAAA,CAAA;MAClBF,MAAA;QAAAF,MAAA;QAAAK,MAAA,EAEK;QAAAS,SAAA;UAAAC,OAAA,EAEG;QAAA;QAAAT,cAAA;MAAA,CAGb;IAAA;IACFP,CAAA,MAAAC,MAAA;IAAAD,CAAA,MAAAG,MAAA;IAAAH,CAAA,MAAAK,EAAA;EAAA;IAAAA,EAAA,GAAAL,CAAA;EAAA;EATA,MAAAQ,IAAA,GAAaH,EASM;EAAA,IAAAI,EAAA;EAAA,IAAAT,CAAA,QAAAE,QAAA,IAAAF,CAAA,QAAAQ,IAAA,IAAAR,CAAA,QAAAI,CAAA;IAGjBK,EAAA,GAAAC,IAAA,CAAA7B,UAAA;MAAAqC,WAAA,EACc;MAAAP,SAAA,EACD,GAAAd,SAAA,SAAqB;MAAAK,QAAA;MAAAU,OAAA,EAEvBJ,IAAA;MAAAK,QAAA,EAERT,CAAA,CAAE;IAAA,C;;;;;;;;SANLK,E;CASJ;AAEA,OAAO,MAAMU,qBAAA,GAMRC,KAAA;EACH,MAAM;IACJC,UAAA,EAAY;MAAEC,MAAM;MAAEC,MAAA,EAAQ;QAAEC,MAAM;QAAEC;MAAQ;IAAE,CAAE,GAAG,CAAC,CAAC;IACzDJ,UAAU;IACVK,UAAU;IACVC,cAAc;IACdC;EAAiB,CAClB,GAAGR,KAAA;EAEJ,MAAM;IAAES,WAAW;IAAEC;EAAI,CAAE,GAAG/C,OAAA;EAE9B,MAAM;IAAEgD;EAAU,CAAE,GAAGhE,QAAA;EAEvB,MAAM;IACJiE,MAAA,EAAQ;MACNC,MAAA,EAAQ;QAAEC,GAAA,EAAKC;MAAQ,CAAE;MACzBC;IAAS;EACV,CACF,GAAGpD,SAAA;EAEJ,MAAM;IAAEqD;EAAY,CAAE,GAAG/C,kBAAA;EAEzB,MAAM;IAAEgD,KAAK;IAAEC,cAAc;IAAEC;EAAS,CAAE,GAAGnD,YAAA;EAC7C,MAAM;IAAEoD,IAAI;IAAErC;EAAC,CAAE,GAAGb,cAAA;EAEpB,MAAM,CAACmD,cAAA,EAAgBC,iBAAA,CAAkB,GAAGlE,QAAA,CAAS;EAErD,MAAMmE,MAAA,GAAS3E,SAAA;EACf,MAAM4E,iBAAA,GAAoBxE,KAAA,CAAMyE,MAAM,CAAkB;EACxD,MAAM;IAAEC;EAAe,CAAE,GAAG5D,aAAA;EAC5B,MAAM6D,qBAAA,GAAwBnB,WAAA,EAAaoB,WAAA,GAAc5B,UAAA,CAAW6B,IAAI,CAAC;EACzE,MAAMC,YAAA,GAAejF,eAAA;EAErB,MAAMkF,MAAA,GAAS5E,OAAA,CAAoB;IACjC,OAAOL,SAAA,CACLwD,cAAA,CAAe0B,MAAM,CAAC,CAACC,GAAA,EAAKC,MAAA;MAC1BD,GAAG,CAACC,MAAA,CAAOC,KAAK,CAACC,IAAI,CAAC,GAAG;MACzB,OAAOH,GAAA;IACT,GAAG,CAAC;EAER,GAAG,CAAC3B,cAAA,CAAe;EAEnB,MAAM+B,QAAA,GAAqCpF,WAAA,CACzC,OAAO;IAAEqF,SAAA,EAAWC,aAAa;IAAEC;EAAS,CAAE;IAC5C,MAAMC,UAAA,GAAarE,cAAA,CAAeoD,iBAAA;IAElC,MAAM;MAAEkB;IAAK,CAAE,GAAG,MAAM1B,YAAA,CAAa;MACnC2B,cAAA,EAAgB3C,UAAA,CAAW6B,IAAI;MAC/Be,cAAA,EAAgBjB,qBAAA;MAChBkB,cAAA,EAAgB;MAChBP,SAAA,EAAWC,aAAA;MACXO,SAAA,EAAW;MACXC,UAAA,EAAY/C,UAAA,CAAW6B,IAAI;MAC3BE,MAAA;MACAiB,MAAA,EAAQP,UAAA,CAAWO,MAAM;MACzB9D,cAAA,EAAgB,CAACsD;IACnB;IAEAhB,iBAAA,CAAkByB,OAAO,GAAG;IAE5B,OAAOP,KAAA;EACT,GACA,CAAC1B,YAAA,EAAchB,UAAA,EAAY2B,qBAAA,EAAuBI,MAAA,CAAO;EAG3D7E,SAAA,CAAU;IACR,MAAMgG,cAAA,GAAiB1B,iBAAA,CAAkByB,OAAO;IAEhD,OAAO;MACL9E,cAAA,CAAe+E,cAAA;IACjB;EACF,GAAG,EAAE;EAEL,MAAMC,WAAA,GAAchG,OAAA,CAAQ;IAC1B,MAAMiG,eAAA,GAAkB/E,uBAAA,CAAwB;MAC9CgF,gBAAA,EAAkBrD,UAAA;MAClBsD,MAAA,EAAQxB,YAAA,CAAayB,GAAG,CAAC;IAC3B;IAEA,OAAOrC,cAAA,CAAekC,eAAA;EACxB,GAAG,CAACpD,UAAA,EAAY8B,YAAA,EAAcZ,cAAA,CAAe;EAE7C,MAAMsC,SAAA,GAAYA,CAAA;IAChBjC,MAAA,CAAOkC,OAAO,CACZ1G,EAAA,CAAG2G,SAAS,CACV;MACE,GAAGpF,iBAAA,CAAkBwD,YAAA,CAAa;MAClC6B,IAAA,EAAMxC,SAAA,KAAcpD,eAAA,CAAgB6F,YAAY,GAAG,MAAMC;IAC3D,GACA;MAAEC,cAAA,EAAgB;IAAK;IAG3BpC,eAAA,GAAkB;IAAA;IAClBhB,UAAA,CAAWL,UAAA;EACb;EAEA,MAAM0D,aAAA,GAAgB9G,WAAA,CACpB,OAAO;IAAE+G,cAAc;IAAE1B,SAAS;IAAE2B;EAAQ,CAAE;IAC5C3C,iBAAA,CAAkB;IAElBf,iBAAA,CAAkB0D,QAAA,IAAY,EAAE;IAEhC,MAAM;MAAEvB,KAAK,EAALA;IAAK,CAAE,GAAG,MAAM1B,YAAA,CAAa;MACnC2B,cAAA,EAAgB3C,UAAA,CAAW6B,IAAI;MAC/Be,cAAA,EAAgBjB,qBAAA;MAChBkB,cAAA,EAAgB;MAChBP,SAAA;MACAQ,SAAA,EAAW;MACXC,UAAA,EAAY/C,UAAA,CAAW6B,IAAI;MAC3BE,MAAA,EAAQjF,SAAA,CACNmH,QAAA,CAASjC,MAAM,CAAC,CAACC,KAAA,EAAKC,QAAA;QACpBD,KAAG,CAACC,QAAA,CAAOC,KAAK,CAACC,IAAI,CAAC,GAAG;QACzB,OAAOH,KAAA;MACT,GAAG,CAAC;MAEN/C,cAAA,EAAgB;IAClB;IAEA8E,cAAA,CAAe;MACbE,IAAA,EAAM;MACN5B,SAAA,EAAWI;IACb;IAEApB,iBAAA,CAAkB;EACpB,GACA,CAACN,YAAA,EAAchB,UAAA,CAAW6B,IAAI,EAAEF,qBAAA,EAAuBpB,iBAAA,CAAkB;EAG3E,oBACElB,IAAA,CAACzB,oBAAA;IACC+E,cAAA,EAAgB3C,UAAA,CAAW6B,IAAI;IAC/BsC,aAAA,EAAe1D,IAAA;IACf2D,eAAA,EAAiB;IACjBC,EAAA,EAAI;IACJC,WAAA,EAAa,CAAC;IACdC,QAAA,EAAU;IACVC,cAAA,EAAgB;IAChBC,4BAAA,EAA8B;IAC9BC,uBAAA,EAAyB;IACzBC,YAAA,EAAc;cAEd,aAAAtF,IAAA,CAACxB,gBAAA;MAAiBsE,KAAA,EAAM;gBACtB,aAAAyC,KAAA,CAAC;QAAItF,SAAA,EAAW,GAAGd,SAAA,QAAiB;gCAClCoG,KAAA,CAAC;UAAItF,SAAA,EAAW,GAAGd,SAAA,UAAmB;kCACpCa,IAAA,CAAC;YAAGC,SAAA,EAAW,GAAGd,SAAA,iBAA0B;sBACzCO,CAAA,CAAE,wBAAwB;cACzBkC,KAAA;cACA4D,KAAA,EAAOlI,cAAA,CAAesE,KAAA,GAAQ,IAAId,MAAA,GAASC,QAAA,EAAUgB,IAAA;YACvD;2BAEF/B,IAAA,CAAC;YACC,cAAYN,CAAA,CAAE;YACdO,SAAA,EAAW,GAAGd,SAAA,iBAA0B;YACxC6F,EAAA,EAAI,iBAAiBhE,UAAA,EAAY;YACjCd,OAAA,EAASA,CAAA,KAAMmB,UAAA,CAAWL,UAAA;YAC1B6D,IAAA,EAAK;sBAEL,aAAA7E,IAAA,CAAC5B,KAAA;;yBAGLmH,KAAA,CAACtH,IAAA;UACCgC,SAAA,EAAW,GAAGd,SAAA,QAAiB;UAC/B6C,cAAA,EAAgBA,cAAA;UAChBgB,QAAA,EAAU,CAACA,QAAA,CAAS;UACpBmB,SAAA,EAAWA,SAAA;kCAEXnE,IAAA,CAACd,WAAA;YACC0B,MAAA,EAAQA,MAAA;YACRoC,QAAA,EAAU0B,aAAA;YACVvD,WAAA,EAAamB,qBAAA,CAAsB1B;cAEpCK,cAAA,CAAewE,MAAM,KAAK,IAAI,oBAC7BzF,IAAA,CAAC;YAAIC,SAAA,EAAU;sBACZgB,cAAA,CAAeyE,GAAG,CAAC,CAAC7C,QAAA,EAAQ8C,CAAA;cAC3B,MAAM;gBACJ7C,KAAA,EAAO;kBAAE8C,KAAK;kBAAEC,gBAAgB;kBAAE9C;gBAAI;cAAE,CACzC,GAAGF,QAAA;cAEJ,oBACE7C,IAAA,CAAC9B,WAAA;gBACC4H,iBAAA,EAAmBF,KAAA;gBACnBG,SAAA,EAAU;gBAEVC,UAAA,EAAW;gBACXC,gBAAA,EAAiB;gBACjBlD,IAAA,EAAMA,IAAA;gBACN5B,WAAA,EAAa0E;iBAJR,GAAG9C,IAAA,IAAQ4C,CAAA,EAAG;YAOzB;2BAGJ3F,IAAA,CAAC;YAAIC,SAAA,EAAW,GAAGd,SAAA,gBAAyB;sBAC1C,aAAAa,IAAA,CAAC;cAAIC,SAAA,EAAW,GAAGd,SAAA,WAAoB;wBACrC,aAAAa,IAAA,CAAC;gBAAIC,SAAA,EAAW,GAAGd,SAAA,uBAAgC;0BACjD,aAAAa,IAAA,CAAC;kBAAIC,SAAA,EAAW,GAAGd,SAAA,oBAA6B;4BAC7CwB,UAAA,EAAYuF,QAAA,EAAUC,MAAA,gBACrBZ,KAAA,CAAC5H,KAAA,CAAMyI,QAAQ;4CACbpG,IAAA,CAACO,eAAA;sBACChB,MAAA,EAAQ,GAAGmC,SAAA,GAAYD,QAAA,IAAYd,UAAA,CAAW6B,IAAI,GAAGsB,WAAA,aAAwB;sBAC7EtE,QAAA,EAAUyB,cAAA,CAAewE,MAAM,KAAK;qCAEtCzF,IAAA,CAACI,aAAA;sBACCb,MAAA,EAAQ,GAAGmC,SAAA,GAAYD,QAAA,IAAYd,UAAA,CAAW6B,IAAI,GAAGsB,WAAA,aAAwB;sBAC7EtE,QAAA,EAAUyB,cAAA,CAAewE,MAAM,KAAK;;oCAIxCzF,IAAA,CAACZ,MAAA;oBACCG,MAAA,EAAQ,GAAGmC,SAAA,GAAYD,QAAA,IAAYd,UAAA,CAAW6B,IAAI,GAAGsB,WAAA,EAAa;oBAClEtE,QAAA,EAAUyB,cAAA,CAAewE,MAAM,KAAK;;;;;;;;;;AAY5D","ignoreList":[]}
1
+ {"version":3,"file":"DrawerContent.js","names":["c","_c","useModal","getTranslation","useRouter","useSearchParams","mergeListSearchAndWhere","unflatten","qs","React","useCallback","useEffect","useMemo","useState","useForm","Form","RenderField","FormSubmit","XIcon","useAuth","useConfig","DocumentInfoProvider","OperationContext","useRouteCache","SelectAllStatus","useSelection","useServerFunctions","useTranslation","abortAndIgnore","handleAbortRef","parseSearchParams","FieldSelect","baseClass","Submit","t0","$","action","disabled","submit","t","t1","method","skipValidation","save","t2","_jsx","className","onClick","children","PublishButton","overrides","_status","SaveDraftButton","buttonStyle","EditManyDrawerContent","props","collection","fields","labels","plural","singular","drawerSlug","selectedFields","setSelectedFields","permissions","user","closeModal","config","routes","api","apiRoute","serverURL","getFormState","count","getQueryParams","selectAll","i18n","isInitializing","setIsInitializing","router","abortFormStateRef","useRef","clearRouteCache","collectionPermissions","collections","slug","searchParams","select","reduce","acc","option","value","path","onChange","formState","prevFormState","submitted","controller","state","collectionSlug","docPermissions","docPreferences","operation","schemaPath","signal","current","abortFormState","queryString","queryWithSearch","collectionConfig","search","get","onSuccess","replace","stringify","page","AllAvailable","undefined","addQueryPrefix","onFieldSelect","dispatchFields","selected","type","currentEditor","hasPublishedDoc","id","initialData","isLocked","lastUpdateTime","mostRecentVersionIsAutosaved","unpublishedVersionCount","versionCount","_jsxs","label","length","map","i","field","fieldPermissions","clientFieldConfig","indexPath","parentPath","parentSchemaPath","versions","drafts","Fragment"],"sources":["../../../src/elements/EditMany/DrawerContent.tsx"],"sourcesContent":["'use client'\n\nimport type { SelectType } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport { mergeListSearchAndWhere, unflatten } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useEffect, useMemo, useState } from 'react'\n\nimport type { FormProps } from '../../forms/Form/index.js'\nimport type { OnFieldSelect } from '../FieldSelect/index.js'\nimport type { FieldOption } from '../FieldSelect/reduceFieldOptions.js'\n\nimport { useForm } from '../../forms/Form/context.js'\nimport { Form } from '../../forms/Form/index.js'\nimport { RenderField } from '../../forms/RenderFields/RenderField.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 { SelectAllStatus, useSelection } from '../../providers/Selection/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { abortAndIgnore, handleAbortRef } from '../../utilities/abortAndIgnore.js'\nimport { parseSearchParams } from '../../utilities/parseSearchParams.js'\nimport { FieldSelect } from '../FieldSelect/index.js'\nimport { baseClass, type EditManyProps } from './index.js'\nimport './index.scss'\nimport '../../forms/RenderFields/index.scss'\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<{\n action: string\n 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 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<{\n action: string\n 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 overrides: {\n _status: 'draft',\n },\n skipValidation: true,\n })\n }, [action, submit])\n\n return (\n <FormSubmit\n buttonStyle=\"secondary\"\n className={`${baseClass}__draft`}\n disabled={disabled}\n onClick={save}\n >\n {t('version:saveDraft')}\n </FormSubmit>\n )\n}\n\nexport const EditManyDrawerContent: React.FC<\n {\n drawerSlug: string\n selectedFields: FieldOption[]\n setSelectedFields: (fields: FieldOption[]) => void\n } & EditManyProps\n> = (props) => {\n const {\n collection: { fields, labels: { plural, singular } } = {},\n collection,\n drawerSlug,\n selectedFields,\n setSelectedFields,\n } = props\n\n const { permissions, user } = useAuth()\n\n const { closeModal } = useModal()\n\n const {\n config: {\n routes: { api: apiRoute },\n serverURL,\n },\n } = useConfig()\n\n const { getFormState } = useServerFunctions()\n\n const { count, getQueryParams, selectAll } = useSelection()\n const { i18n, t } = useTranslation()\n\n const [isInitializing, setIsInitializing] = useState(false)\n\n const router = useRouter()\n const abortFormStateRef = React.useRef<AbortController>(null)\n const { clearRouteCache } = useRouteCache()\n const collectionPermissions = permissions?.collections?.[collection.slug]\n const searchParams = useSearchParams()\n\n const select = useMemo<SelectType>(() => {\n return unflatten(\n selectedFields.reduce((acc, option) => {\n acc[option.value.path] = true\n return acc\n }, {} as SelectType),\n )\n }, [selectedFields])\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState, submitted }) => {\n const controller = handleAbortRef(abortFormStateRef)\n\n const { state } = await getFormState({\n collectionSlug: collection.slug,\n docPermissions: collectionPermissions,\n docPreferences: null,\n formState: prevFormState,\n operation: 'update',\n schemaPath: collection.slug,\n select,\n signal: controller.signal,\n skipValidation: !submitted,\n })\n\n abortFormStateRef.current = null\n\n return state\n },\n [getFormState, collection, collectionPermissions, select],\n )\n\n useEffect(() => {\n const abortFormState = abortFormStateRef.current\n\n return () => {\n abortAndIgnore(abortFormState)\n }\n }, [])\n\n const queryString = useMemo(() => {\n const queryWithSearch = mergeListSearchAndWhere({\n collectionConfig: collection,\n search: searchParams.get('search'),\n })\n\n return getQueryParams(queryWithSearch)\n }, [collection, searchParams, getQueryParams])\n\n const onSuccess = () => {\n router.replace(\n qs.stringify(\n {\n ...parseSearchParams(searchParams),\n page: selectAll === SelectAllStatus.AllAvailable ? '1' : undefined,\n },\n { addQueryPrefix: true },\n ),\n )\n clearRouteCache() // Use clearRouteCache instead of router.refresh, as we only need to clear the cache if the user has route caching enabled - clearRouteCache checks for this\n closeModal(drawerSlug)\n }\n\n const onFieldSelect = useCallback<OnFieldSelect>(\n async ({ dispatchFields, formState, selected }) => {\n setIsInitializing(true)\n\n setSelectedFields(selected || [])\n\n const { state } = await getFormState({\n collectionSlug: collection.slug,\n docPermissions: collectionPermissions,\n docPreferences: null,\n formState,\n operation: 'update',\n schemaPath: collection.slug,\n select: unflatten(\n selected.reduce((acc, option) => {\n acc[option.value.path] = true\n return acc\n }, {} as SelectType),\n ),\n skipValidation: true,\n })\n\n dispatchFields({\n type: 'UPDATE_MANY',\n formState: state,\n })\n\n setIsInitializing(false)\n },\n [getFormState, collection.slug, collectionPermissions, setSelectedFields],\n )\n\n return (\n <DocumentInfoProvider\n collectionSlug={collection.slug}\n currentEditor={user}\n hasPublishedDoc={false}\n id={null}\n initialData={{}}\n isLocked={false}\n lastUpdateTime={0}\n mostRecentVersionIsAutosaved={false}\n unpublishedVersionCount={0}\n versionCount={0}\n >\n <OperationContext value=\"update\">\n <div className={`${baseClass}__main`}>\n <div className={`${baseClass}__header`}>\n <h2 className={`${baseClass}__header__title`}>\n {t('general:editingLabel', {\n count,\n label: getTranslation(count > 1 ? plural : singular, i18n),\n })}\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 isInitializing={isInitializing}\n onChange={[onChange]}\n onSuccess={onSuccess}\n >\n <FieldSelect\n fields={fields}\n onChange={onFieldSelect}\n permissions={collectionPermissions.fields}\n />\n {selectedFields.length === 0 ? null : (\n <div className=\"render-fields\">\n {selectedFields.map((option, i) => {\n const {\n value: { field, fieldPermissions, path },\n } = option\n\n return (\n <RenderField\n clientFieldConfig={field}\n indexPath=\"\"\n key={`${path}-${i}`}\n parentPath=\"\"\n parentSchemaPath=\"\"\n path={path}\n permissions={fieldPermissions}\n />\n )\n })}\n </div>\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 <SaveDraftButton\n action={`${serverURL}${apiRoute}/${collection.slug}${queryString}&draft=true`}\n disabled={selectedFields.length === 0}\n />\n <PublishButton\n action={`${serverURL}${apiRoute}/${collection.slug}${queryString}&draft=true`}\n disabled={selectedFields.length === 0}\n />\n </React.Fragment>\n ) : (\n <Submit\n action={`${serverURL}${apiRoute}/${collection.slug}${queryString}`}\n disabled={selectedFields.length === 0}\n />\n )}\n </div>\n </div>\n </div>\n </div>\n </Form>\n </div>\n </OperationContext>\n </DocumentInfoProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ import type { QueryPreset } from 'payload';
2
+ import './index.scss';
3
+ export declare function ActiveQueryPreset({ activePreset, openPresetListDrawer, resetPreset, }: {
4
+ activePreset: QueryPreset;
5
+ openPresetListDrawer: () => void;
6
+ resetPreset: () => Promise<void>;
7
+ }): import("react").JSX.Element;
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/ListControls/ActiveQueryPreset/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAS1C,OAAO,cAAc,CAAA;AAIrB,wBAAgB,iBAAiB,CAAC,EAChC,YAAY,EACZ,oBAAoB,EACpB,WAAW,GACZ,EAAE;IACD,YAAY,EAAE,WAAW,CAAA;IACzB,oBAAoB,EAAE,MAAM,IAAI,CAAA;IAChC,WAAW,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CACjC,+BA0CA"}