@payloadcms/ui 3.51.0-canary.6 → 3.51.0-internal.886ed9f

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 (75) hide show
  1. package/dist/elements/Autosave/index.d.ts.map +1 -1
  2. package/dist/elements/Autosave/index.js +102 -31
  3. package/dist/elements/Autosave/index.js.map +1 -1
  4. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  5. package/dist/elements/BulkUpload/FormsManager/index.js +1 -2
  6. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  7. package/dist/elements/BulkUpload/FormsManager/reducer.d.ts.map +1 -1
  8. package/dist/elements/BulkUpload/FormsManager/reducer.js +1 -2
  9. package/dist/elements/BulkUpload/FormsManager/reducer.js.map +1 -1
  10. package/dist/elements/DocumentDrawer/Provider.d.ts +0 -5
  11. package/dist/elements/DocumentDrawer/Provider.d.ts.map +1 -1
  12. package/dist/elements/DocumentDrawer/Provider.js.map +1 -1
  13. package/dist/elements/DocumentFields/index.scss +0 -1
  14. package/dist/elements/{QueryPresets/QueryPresetToggler → ListControls/ActiveQueryPreset}/index.d.ts +1 -1
  15. package/dist/elements/ListControls/ActiveQueryPreset/index.d.ts.map +1 -0
  16. package/dist/elements/ListControls/ActiveQueryPreset/index.js +180 -0
  17. package/dist/elements/ListControls/ActiveQueryPreset/index.js.map +1 -0
  18. package/dist/elements/ListControls/ActiveQueryPreset/index.scss +33 -0
  19. package/dist/elements/ListControls/index.d.ts.map +1 -1
  20. package/dist/elements/ListControls/index.js +127 -103
  21. package/dist/elements/ListControls/index.js.map +1 -1
  22. package/dist/elements/ListControls/index.scss +32 -44
  23. package/dist/elements/ListControls/useQueryPresets.d.ts +17 -0
  24. package/dist/elements/ListControls/useQueryPresets.d.ts.map +1 -0
  25. package/dist/elements/{QueryPresets/QueryPresetBar/index.js → ListControls/useQueryPresets.js} +60 -80
  26. package/dist/elements/ListControls/useQueryPresets.js.map +1 -0
  27. package/dist/elements/Pill/index.scss +1 -1
  28. package/dist/elements/Table/OrderableTable.d.ts.map +1 -1
  29. package/dist/elements/Table/OrderableTable.js +1 -2
  30. package/dist/elements/Table/OrderableTable.js.map +1 -1
  31. package/dist/elements/Upload/index.d.ts.map +1 -1
  32. package/dist/elements/Upload/index.js +14 -14
  33. package/dist/elements/Upload/index.js.map +1 -1
  34. package/dist/exports/client/index.js +24 -24
  35. package/dist/exports/client/index.js.map +4 -4
  36. package/dist/fields/Select/index.js +1 -2
  37. package/dist/fields/Select/index.js.map +1 -1
  38. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  39. package/dist/forms/Form/fieldReducer.js +0 -2
  40. package/dist/forms/Form/fieldReducer.js.map +1 -1
  41. package/dist/forms/Form/index.d.ts.map +1 -1
  42. package/dist/forms/Form/index.js +14 -32
  43. package/dist/forms/Form/index.js.map +1 -1
  44. package/dist/forms/Form/mergeServerFormState.d.ts +2 -15
  45. package/dist/forms/Form/mergeServerFormState.d.ts.map +1 -1
  46. package/dist/forms/Form/mergeServerFormState.js +1 -9
  47. package/dist/forms/Form/mergeServerFormState.js.map +1 -1
  48. package/dist/forms/Form/types.d.ts +3 -38
  49. package/dist/forms/Form/types.d.ts.map +1 -1
  50. package/dist/forms/Form/types.js.map +1 -1
  51. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  52. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +0 -1
  53. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  54. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  55. package/dist/providers/DocumentInfo/index.js +8 -7
  56. package/dist/providers/DocumentInfo/index.js.map +1 -1
  57. package/dist/providers/DocumentInfo/types.d.ts +5 -16
  58. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  59. package/dist/providers/DocumentInfo/types.js.map +1 -1
  60. package/dist/providers/DocumentTitle/index.d.ts.map +1 -1
  61. package/dist/providers/DocumentTitle/index.js +4 -4
  62. package/dist/providers/DocumentTitle/index.js.map +1 -1
  63. package/dist/styles.css +1 -1
  64. package/dist/views/Edit/index.d.ts.map +1 -1
  65. package/dist/views/Edit/index.js +14 -21
  66. package/dist/views/Edit/index.js.map +1 -1
  67. package/package.json +4 -4
  68. package/dist/elements/QueryPresets/QueryPresetBar/index.d.ts +0 -9
  69. package/dist/elements/QueryPresets/QueryPresetBar/index.d.ts.map +0 -1
  70. package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +0 -1
  71. package/dist/elements/QueryPresets/QueryPresetBar/index.scss +0 -41
  72. package/dist/elements/QueryPresets/QueryPresetToggler/index.d.ts.map +0 -1
  73. package/dist/elements/QueryPresets/QueryPresetToggler/index.js +0 -198
  74. package/dist/elements/QueryPresets/QueryPresetToggler/index.js.map +0 -1
  75. package/dist/elements/QueryPresets/QueryPresetToggler/index.scss +0 -61
@@ -0,0 +1,180 @@
1
+ 'use client';
2
+
3
+ import { c as _c } from "react/compiler-runtime";
4
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
+ import { getTranslation } from '@payloadcms/translations';
6
+ import { PeopleIcon } from '../../../icons/People/index.js';
7
+ import { XIcon } from '../../../icons/X/index.js';
8
+ import { useConfig } from '../../../providers/Config/index.js';
9
+ import { useTranslation } from '../../../providers/Translation/index.js';
10
+ import { Pill } from '../../Pill/index.js';
11
+ import './index.scss';
12
+ const baseClass = 'active-query-preset';
13
+ export function ActiveQueryPreset(t0) {
14
+ const $ = _c(44);
15
+ const {
16
+ activePreset,
17
+ openPresetListDrawer,
18
+ resetPreset
19
+ } = t0;
20
+ const {
21
+ i18n,
22
+ t
23
+ } = useTranslation();
24
+ const {
25
+ getEntityConfig
26
+ } = useConfig();
27
+ let t1;
28
+ let t10;
29
+ let t11;
30
+ let t12;
31
+ let t13;
32
+ let t14;
33
+ let t15;
34
+ let t2;
35
+ let t3;
36
+ let t4;
37
+ let t5;
38
+ let t6;
39
+ let t7;
40
+ let t8;
41
+ let t9;
42
+ if ($[0] !== activePreset || $[1] !== getEntityConfig || $[2] !== i18n || $[3] !== openPresetListDrawer || $[4] !== t) {
43
+ const presetsConfig = getEntityConfig({
44
+ collectionSlug: "payload-query-presets"
45
+ });
46
+ t14 = _jsxs;
47
+ t15 = Pill;
48
+ const t16 = activePreset && `${baseClass}--active`;
49
+ let t17;
50
+ if ($[20] !== t16) {
51
+ t17 = [baseClass, t16].filter(Boolean);
52
+ $[20] = t16;
53
+ $[21] = t17;
54
+ } else {
55
+ t17 = $[21];
56
+ }
57
+ t9 = t17.join(" ");
58
+ t10 = "select-preset";
59
+ if ($[22] !== openPresetListDrawer) {
60
+ t11 = () => {
61
+ openPresetListDrawer();
62
+ };
63
+ $[22] = openPresetListDrawer;
64
+ $[23] = t11;
65
+ } else {
66
+ t11 = $[23];
67
+ }
68
+ t12 = activePreset ? "always-white" : "light";
69
+ t13 = "small";
70
+ if ($[24] !== activePreset?.isShared) {
71
+ t8 = activePreset?.isShared && _jsx(PeopleIcon, {
72
+ className: `${baseClass}__shared`
73
+ });
74
+ $[24] = activePreset?.isShared;
75
+ $[25] = t8;
76
+ } else {
77
+ t8 = $[25];
78
+ }
79
+ t6 = _jsx;
80
+ t7 = "div";
81
+ t5 = `${baseClass}__label-text-max-width`;
82
+ t3 = _jsx;
83
+ t4 = "div";
84
+ t1 = `${baseClass}__label-text`;
85
+ t2 = activePreset?.title || t("general:selectLabel", {
86
+ label: getTranslation(presetsConfig.labels.singular, i18n)
87
+ });
88
+ $[0] = activePreset;
89
+ $[1] = getEntityConfig;
90
+ $[2] = i18n;
91
+ $[3] = openPresetListDrawer;
92
+ $[4] = t;
93
+ $[5] = t1;
94
+ $[6] = t10;
95
+ $[7] = t11;
96
+ $[8] = t12;
97
+ $[9] = t13;
98
+ $[10] = t14;
99
+ $[11] = t15;
100
+ $[12] = t2;
101
+ $[13] = t3;
102
+ $[14] = t4;
103
+ $[15] = t5;
104
+ $[16] = t6;
105
+ $[17] = t7;
106
+ $[18] = t8;
107
+ $[19] = t9;
108
+ } else {
109
+ t1 = $[5];
110
+ t10 = $[6];
111
+ t11 = $[7];
112
+ t12 = $[8];
113
+ t13 = $[9];
114
+ t14 = $[10];
115
+ t15 = $[11];
116
+ t2 = $[12];
117
+ t3 = $[13];
118
+ t4 = $[14];
119
+ t5 = $[15];
120
+ t6 = $[16];
121
+ t7 = $[17];
122
+ t8 = $[18];
123
+ t9 = $[19];
124
+ }
125
+ let t16;
126
+ if ($[26] !== activePreset || $[27] !== resetPreset || $[28] !== t1 || $[29] !== t10 || $[30] !== t11 || $[31] !== t12 || $[32] !== t13 || $[33] !== t14 || $[34] !== t15 || $[35] !== t2 || $[36] !== t3 || $[37] !== t4 || $[38] !== t5 || $[39] !== t6 || $[40] !== t7 || $[41] !== t8 || $[42] !== t9) {
127
+ t16 = t14(t15, {
128
+ className: t9,
129
+ id: t10,
130
+ onClick: t11,
131
+ pillStyle: t12,
132
+ size: t13,
133
+ children: [t8, t6(t7, {
134
+ className: t5,
135
+ children: t3(t4, {
136
+ className: t1,
137
+ children: t2
138
+ })
139
+ }), activePreset ? _jsx("div", {
140
+ className: `${baseClass}__clear`,
141
+ id: "clear-preset",
142
+ onClick: async e => {
143
+ e.stopPropagation();
144
+ await resetPreset();
145
+ },
146
+ onKeyDown: async e_0 => {
147
+ if (e_0.key === "Enter" || e_0.key === " ") {
148
+ e_0.stopPropagation();
149
+ await resetPreset();
150
+ }
151
+ },
152
+ role: "button",
153
+ tabIndex: 0,
154
+ children: _jsx(XIcon, {})
155
+ }) : null]
156
+ });
157
+ $[26] = activePreset;
158
+ $[27] = resetPreset;
159
+ $[28] = t1;
160
+ $[29] = t10;
161
+ $[30] = t11;
162
+ $[31] = t12;
163
+ $[32] = t13;
164
+ $[33] = t14;
165
+ $[34] = t15;
166
+ $[35] = t2;
167
+ $[36] = t3;
168
+ $[37] = t4;
169
+ $[38] = t5;
170
+ $[39] = t6;
171
+ $[40] = t7;
172
+ $[41] = t8;
173
+ $[42] = t9;
174
+ $[43] = t16;
175
+ } else {
176
+ t16 = $[43];
177
+ }
178
+ return t16;
179
+ }
180
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["c","_c","getTranslation","PeopleIcon","XIcon","useConfig","useTranslation","Pill","baseClass","ActiveQueryPreset","t0","$","activePreset","openPresetListDrawer","resetPreset","i18n","t","getEntityConfig","t1","t10","t11","t12","t13","t14","t15","t2","t3","t4","t5","t6","t7","t8","t9","presetsConfig","collectionSlug","_jsxs","t16","t17","filter","Boolean","join","isShared","_jsx","className","title","label","labels","singular","id","onClick","pillStyle","size","children","e","stopPropagation","onKeyDown","e_0","key","role","tabIndex"],"sources":["../../../../src/elements/ListControls/ActiveQueryPreset/index.tsx"],"sourcesContent":["'use client'\nimport type { QueryPreset } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\n\nimport { PeopleIcon } from '../../../icons/People/index.js'\nimport { XIcon } from '../../../icons/X/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { Pill } from '../../Pill/index.js'\nimport './index.scss'\n\nconst baseClass = 'active-query-preset'\n\nexport function ActiveQueryPreset({\n activePreset,\n openPresetListDrawer,\n resetPreset,\n}: {\n activePreset: QueryPreset\n openPresetListDrawer: () => void\n resetPreset: () => Promise<void>\n}) {\n const { i18n, t } = useTranslation()\n const { getEntityConfig } = useConfig()\n\n const presetsConfig = getEntityConfig({\n collectionSlug: 'payload-query-presets',\n })\n\n return (\n <Pill\n className={[baseClass, activePreset && `${baseClass}--active`].filter(Boolean).join(' ')}\n id=\"select-preset\"\n onClick={() => {\n openPresetListDrawer()\n }}\n pillStyle={activePreset ? 'always-white' : 'light'}\n size=\"small\"\n >\n {activePreset?.isShared && <PeopleIcon className={`${baseClass}__shared`} />}\n <div className={`${baseClass}__label-text-max-width`}>\n <div className={`${baseClass}__label-text`}>\n {activePreset?.title ||\n t('general:selectLabel', {\n label: getTranslation(presetsConfig.labels.singular, i18n),\n })}\n </div>\n </div>\n {activePreset ? (\n <div\n className={`${baseClass}__clear`}\n id=\"clear-preset\"\n onClick={async (e) => {\n e.stopPropagation()\n await resetPreset()\n }}\n onKeyDown={async (e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.stopPropagation()\n await resetPreset()\n }\n }}\n role=\"button\"\n tabIndex={0}\n >\n <XIcon />\n </div>\n ) : null}\n </Pill>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,33 @@
1
+ @import '../../../scss/styles';
2
+
3
+ @layer payload-default {
4
+ .active-query-preset {
5
+ .pill__label {
6
+ display: flex;
7
+ gap: calc(var(--base) / 4);
8
+ display: flex;
9
+ align-items: center;
10
+ }
11
+
12
+ &__label-text-max-width {
13
+ max-width: 100px;
14
+ overflow: hidden;
15
+ }
16
+
17
+ &__label-text {
18
+ text-overflow: ellipsis;
19
+ overflow: hidden;
20
+ white-space: nowrap;
21
+ }
22
+
23
+ &__label-and-clear-wrap {
24
+ display: flex;
25
+ align-items: center;
26
+ }
27
+
28
+ &__clear {
29
+ display: flex;
30
+ align-items: center;
31
+ }
32
+ }
33
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ListControls/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAgD,MAAM,OAAO,CAAA;AAEpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAiBnD,OAAO,cAAc,CAAA;AAIrB;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA8NpD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ListControls/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAgD,MAAM,OAAO,CAAA;AAEpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAkBnD,OAAO,cAAc,CAAA;AAIrB;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAyQpD,CAAA"}
@@ -5,7 +5,7 @@ import { useWindowInfo } from '@faceless-ui/window-info';
5
5
  import { getTranslation } from '@payloadcms/translations';
6
6
  import { validateWhereQuery } from 'payload/shared';
7
7
  import React, { Fragment, useEffect, useRef, useState } from 'react';
8
- import { Popup } from '../../elements/Popup/index.js';
8
+ import { Popup, PopupList } from '../../elements/Popup/index.js';
9
9
  import { useUseTitleField } from '../../hooks/useUseAsTitle.js';
10
10
  import { ChevronIcon } from '../../icons/Chevron/index.js';
11
11
  import { Dots } from '../../icons/Dots/index.js';
@@ -16,10 +16,11 @@ import { AnimateHeight } from '../AnimateHeight/index.js';
16
16
  import { ColumnSelector } from '../ColumnSelector/index.js';
17
17
  import { GroupByBuilder } from '../GroupByBuilder/index.js';
18
18
  import { Pill } from '../Pill/index.js';
19
- import { QueryPresetBar } from '../QueryPresets/QueryPresetBar/index.js';
20
19
  import { SearchFilter } from '../SearchFilter/index.js';
21
20
  import { WhereBuilder } from '../WhereBuilder/index.js';
21
+ import { ActiveQueryPreset } from './ActiveQueryPreset/index.js';
22
22
  import { getTextFieldsToBeSearched } from './getTextFieldsToBeSearched.js';
23
+ import { useQueryPresets } from './useQueryPresets.js';
23
24
  import './index.scss';
24
25
  const baseClass = 'list-controls';
25
26
  /**
@@ -36,7 +37,7 @@ export const ListControls = props => {
36
37
  enableColumns = true,
37
38
  enableFilters = true,
38
39
  enableSort = false,
39
- listMenuItems,
40
+ listMenuItems: listMenuItemsFromProps,
40
41
  queryPreset: activePreset,
41
42
  queryPresetPermissions,
42
43
  renderedFilters,
@@ -46,6 +47,20 @@ export const ListControls = props => {
46
47
  handleSearchChange,
47
48
  query
48
49
  } = useListQuery();
50
+ const {
51
+ CreateNewPresetDrawer,
52
+ DeletePresetModal,
53
+ EditPresetDrawer,
54
+ hasModifiedPreset,
55
+ openPresetListDrawer,
56
+ PresetListDrawer,
57
+ queryPresetMenuItems,
58
+ resetPreset
59
+ } = useQueryPresets({
60
+ activePreset,
61
+ collectionSlug,
62
+ queryPresetPermissions
63
+ });
49
64
  const titleField = useUseTitleField(collectionConfig);
50
65
  const {
51
66
  i18n,
@@ -91,114 +106,123 @@ export const ListControls = props => {
91
106
  });
92
107
  }
93
108
  }, [t, listSearchableFields, i18n, searchLabel]);
94
- return /*#__PURE__*/_jsxs("div", {
95
- className: baseClass,
96
- children: [collectionConfig?.enableQueryPresets && !disableQueryPresets && /*#__PURE__*/_jsx(QueryPresetBar, {
97
- activePreset: activePreset,
98
- collectionSlug: collectionSlug,
99
- queryPresetPermissions: queryPresetPermissions
100
- }), /*#__PURE__*/_jsxs("div", {
101
- className: `${baseClass}__wrap`,
109
+ let listMenuItems = listMenuItemsFromProps;
110
+ if (collectionConfig.enableQueryPresets && !disableQueryPresets && queryPresetMenuItems?.length > 0) {
111
+ // Cannot push or unshift into `listMenuItemsFromProps` as it will mutate the original array
112
+ listMenuItems = [...queryPresetMenuItems, listMenuItemsFromProps?.length > 0 ? /*#__PURE__*/_jsx(PopupList.Divider, {}, "divider") : null, ...(listMenuItemsFromProps || [])];
113
+ }
114
+ return /*#__PURE__*/_jsxs(Fragment, {
115
+ children: [/*#__PURE__*/_jsxs("div", {
116
+ className: baseClass,
102
117
  children: [/*#__PURE__*/_jsxs("div", {
103
- className: `${baseClass}__search`,
118
+ className: `${baseClass}__wrap`,
104
119
  children: [/*#__PURE__*/_jsx(SearchIcon, {}), /*#__PURE__*/_jsx(SearchFilter, {
105
120
  handleChange: handleSearchChange,
106
121
  label: searchLabelTranslated.current,
107
122
  searchQueryParam: query?.search
108
- }, collectionSlug)]
109
- }), /*#__PURE__*/_jsxs("div", {
110
- className: `${baseClass}__buttons`,
111
- children: [!smallBreak && /*#__PURE__*/_jsx(React.Fragment, {
112
- children: beforeActions && beforeActions
113
- }), enableColumns && /*#__PURE__*/_jsx(Pill, {
114
- "aria-controls": `${baseClass}-columns`,
115
- "aria-expanded": visibleDrawer === 'columns',
116
- className: `${baseClass}__toggle-columns`,
117
- icon: /*#__PURE__*/_jsx(ChevronIcon, {
118
- direction: visibleDrawer === 'columns' ? 'up' : 'down'
119
- }),
120
- id: "toggle-list-columns",
121
- onClick: () => setVisibleDrawer(visibleDrawer !== 'columns' ? 'columns' : undefined),
122
- pillStyle: "light",
123
- size: "small",
124
- children: t('general:columns')
125
- }), enableFilters && /*#__PURE__*/_jsx(Pill, {
126
- "aria-controls": `${baseClass}-where`,
127
- "aria-expanded": visibleDrawer === 'where',
128
- className: `${baseClass}__toggle-where`,
129
- icon: /*#__PURE__*/_jsx(ChevronIcon, {
130
- direction: visibleDrawer === 'where' ? 'up' : 'down'
131
- }),
132
- id: "toggle-list-filters",
133
- onClick: () => setVisibleDrawer(visibleDrawer !== 'where' ? 'where' : undefined),
134
- pillStyle: "light",
135
- size: "small",
136
- children: t('general:filters')
137
- }), enableSort && /*#__PURE__*/_jsx(Pill, {
138
- "aria-controls": `${baseClass}-sort`,
139
- "aria-expanded": visibleDrawer === 'sort',
140
- className: `${baseClass}__toggle-sort`,
141
- icon: /*#__PURE__*/_jsx(ChevronIcon, {}),
142
- id: "toggle-list-sort",
143
- onClick: () => setVisibleDrawer(visibleDrawer !== 'sort' ? 'sort' : undefined),
144
- pillStyle: "light",
145
- size: "small",
146
- children: t('general:sort')
147
- }), collectionConfig.admin.groupBy && /*#__PURE__*/_jsx(Pill, {
148
- "aria-controls": `${baseClass}-group-by`,
149
- "aria-expanded": visibleDrawer === 'group-by',
150
- className: `${baseClass}__toggle-group-by`,
151
- icon: /*#__PURE__*/_jsx(ChevronIcon, {
152
- direction: visibleDrawer === 'group-by' ? 'up' : 'down'
153
- }),
154
- id: "toggle-group-by",
155
- onClick: () => setVisibleDrawer(visibleDrawer !== 'group-by' ? 'group-by' : undefined),
156
- pillStyle: "light",
157
- size: "small",
158
- children: t('general:groupByLabel', {
159
- label: ''
123
+ }, collectionSlug), activePreset && hasModifiedPreset ? /*#__PURE__*/_jsx("div", {
124
+ className: `${baseClass}__modified`,
125
+ children: "Modified"
126
+ }) : null, /*#__PURE__*/_jsx("div", {
127
+ className: `${baseClass}__buttons`,
128
+ children: /*#__PURE__*/_jsxs("div", {
129
+ className: `${baseClass}__buttons-wrap`,
130
+ children: [!smallBreak && /*#__PURE__*/_jsx(React.Fragment, {
131
+ children: beforeActions && beforeActions
132
+ }), enableColumns && /*#__PURE__*/_jsx(Pill, {
133
+ "aria-controls": `${baseClass}-columns`,
134
+ "aria-expanded": visibleDrawer === 'columns',
135
+ className: `${baseClass}__toggle-columns`,
136
+ icon: /*#__PURE__*/_jsx(ChevronIcon, {
137
+ direction: visibleDrawer === 'columns' ? 'up' : 'down'
138
+ }),
139
+ id: "toggle-columns",
140
+ onClick: () => setVisibleDrawer(visibleDrawer !== 'columns' ? 'columns' : undefined),
141
+ pillStyle: "light",
142
+ size: "small",
143
+ children: t('general:columns')
144
+ }), enableFilters && /*#__PURE__*/_jsx(Pill, {
145
+ "aria-controls": `${baseClass}-where`,
146
+ "aria-expanded": visibleDrawer === 'where',
147
+ className: `${baseClass}__toggle-where`,
148
+ icon: /*#__PURE__*/_jsx(ChevronIcon, {
149
+ direction: visibleDrawer === 'where' ? 'up' : 'down'
150
+ }),
151
+ id: "toggle-list-filters",
152
+ onClick: () => setVisibleDrawer(visibleDrawer !== 'where' ? 'where' : undefined),
153
+ pillStyle: "light",
154
+ size: "small",
155
+ children: t('general:filters')
156
+ }), enableSort && /*#__PURE__*/_jsx(Pill, {
157
+ "aria-controls": `${baseClass}-sort`,
158
+ "aria-expanded": visibleDrawer === 'sort',
159
+ className: `${baseClass}__toggle-sort`,
160
+ icon: /*#__PURE__*/_jsx(ChevronIcon, {}),
161
+ onClick: () => setVisibleDrawer(visibleDrawer !== 'sort' ? 'sort' : undefined),
162
+ pillStyle: "light",
163
+ size: "small",
164
+ children: t('general:sort')
165
+ }), !disableQueryPresets && /*#__PURE__*/_jsx(ActiveQueryPreset, {
166
+ activePreset: activePreset,
167
+ openPresetListDrawer: openPresetListDrawer,
168
+ resetPreset: resetPreset
169
+ }), collectionConfig.admin.groupBy && /*#__PURE__*/_jsx(Pill, {
170
+ "aria-controls": `${baseClass}-group-by`,
171
+ "aria-expanded": visibleDrawer === 'group-by',
172
+ className: `${baseClass}__toggle-group-by`,
173
+ icon: /*#__PURE__*/_jsx(ChevronIcon, {
174
+ direction: visibleDrawer === 'group-by' ? 'up' : 'down'
175
+ }),
176
+ id: "toggle-group-by",
177
+ onClick: () => setVisibleDrawer(visibleDrawer !== 'group-by' ? 'group-by' : undefined),
178
+ pillStyle: "light",
179
+ size: "small",
180
+ children: t('general:groupByLabel', {
181
+ label: ''
182
+ })
183
+ }), listMenuItems && Array.isArray(listMenuItems) && listMenuItems.length > 0 && /*#__PURE__*/_jsx(Popup, {
184
+ button: /*#__PURE__*/_jsx(Dots, {
185
+ ariaLabel: t('general:moreOptions')
186
+ }),
187
+ className: `${baseClass}__popup`,
188
+ horizontalAlign: "right",
189
+ id: "list-menu",
190
+ size: "medium",
191
+ verticalAlign: "bottom",
192
+ children: listMenuItems.map((item, i_0) => /*#__PURE__*/_jsx(Fragment, {
193
+ children: item
194
+ }, `list-menu-item-${i_0}`))
195
+ })]
160
196
  })
161
- }), listMenuItems && Array.isArray(listMenuItems) && listMenuItems.length > 0 && /*#__PURE__*/_jsx(Popup, {
162
- button: /*#__PURE__*/_jsx(Dots, {
163
- ariaLabel: t('general:moreOptions')
164
- }),
165
- className: `${baseClass}__popup`,
166
- horizontalAlign: "right",
167
- id: "list-menu",
168
- size: "small",
169
- verticalAlign: "bottom",
170
- children: listMenuItems.map((item, i_0) => /*#__PURE__*/_jsx(Fragment, {
171
- children: item
172
- }, `list-menu-item-${i_0}`))
173
197
  })]
198
+ }), enableColumns && /*#__PURE__*/_jsx(AnimateHeight, {
199
+ className: `${baseClass}__columns`,
200
+ height: visibleDrawer === 'columns' ? 'auto' : 0,
201
+ id: `${baseClass}-columns`,
202
+ children: /*#__PURE__*/_jsx(ColumnSelector, {
203
+ collectionSlug: collectionConfig.slug
204
+ })
205
+ }), /*#__PURE__*/_jsx(AnimateHeight, {
206
+ className: `${baseClass}__where`,
207
+ height: visibleDrawer === 'where' ? 'auto' : 0,
208
+ id: `${baseClass}-where`,
209
+ children: /*#__PURE__*/_jsx(WhereBuilder, {
210
+ collectionPluralLabel: collectionConfig.labels?.plural,
211
+ collectionSlug: collectionConfig.slug,
212
+ fields: collectionConfig.fields,
213
+ renderedFilters: renderedFilters,
214
+ resolvedFilterOptions: resolvedFilterOptions
215
+ })
216
+ }), collectionConfig.admin.groupBy && /*#__PURE__*/_jsx(AnimateHeight, {
217
+ className: `${baseClass}__group-by`,
218
+ height: visibleDrawer === 'group-by' ? 'auto' : 0,
219
+ id: `${baseClass}-group-by`,
220
+ children: /*#__PURE__*/_jsx(GroupByBuilder, {
221
+ collectionSlug: collectionConfig.slug,
222
+ fields: collectionConfig.fields
223
+ })
174
224
  })]
175
- }), enableColumns && /*#__PURE__*/_jsx(AnimateHeight, {
176
- className: `${baseClass}__columns`,
177
- height: visibleDrawer === 'columns' ? 'auto' : 0,
178
- id: `${baseClass}-columns`,
179
- children: /*#__PURE__*/_jsx(ColumnSelector, {
180
- collectionSlug: collectionConfig.slug
181
- })
182
- }), /*#__PURE__*/_jsx(AnimateHeight, {
183
- className: `${baseClass}__where`,
184
- height: visibleDrawer === 'where' ? 'auto' : 0,
185
- id: `${baseClass}-where`,
186
- children: /*#__PURE__*/_jsx(WhereBuilder, {
187
- collectionPluralLabel: collectionConfig?.labels?.plural,
188
- collectionSlug: collectionConfig.slug,
189
- fields: collectionConfig?.fields,
190
- renderedFilters: renderedFilters,
191
- resolvedFilterOptions: resolvedFilterOptions
192
- })
193
- }), collectionConfig.admin.groupBy && /*#__PURE__*/_jsx(AnimateHeight, {
194
- className: `${baseClass}__group-by`,
195
- height: visibleDrawer === 'group-by' ? 'auto' : 0,
196
- id: `${baseClass}-group-by`,
197
- children: /*#__PURE__*/_jsx(GroupByBuilder, {
198
- collectionSlug: collectionConfig.slug,
199
- fields: collectionConfig.fields
200
- })
201
- })]
225
+ }), PresetListDrawer, EditPresetDrawer, CreateNewPresetDrawer, DeletePresetModal]
202
226
  });
203
227
  };
204
228
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["useWindowInfo","getTranslation","validateWhereQuery","React","Fragment","useEffect","useRef","useState","Popup","useUseTitleField","ChevronIcon","Dots","SearchIcon","useListQuery","useTranslation","AnimateHeight","ColumnSelector","GroupByBuilder","Pill","QueryPresetBar","SearchFilter","WhereBuilder","getTextFieldsToBeSearched","baseClass","ListControls","props","beforeActions","collectionConfig","collectionSlug","disableQueryPresets","enableColumns","enableFilters","enableSort","listMenuItems","queryPreset","activePreset","queryPresetPermissions","renderedFilters","resolvedFilterOptions","handleSearchChange","query","titleField","i18n","t","breakpoints","s","smallBreak","searchLabel","label","name","listSearchableFields","admin","fields","searchLabelTranslated","hasWhereParam","Boolean","where","shouldInitializeWhereOpened","visibleDrawer","setVisibleDrawer","undefined","current","length","reduce","placeholderText","field","i","_jsxs","className","enableQueryPresets","_jsx","handleChange","searchQueryParam","search","icon","direction","id","onClick","pillStyle","size","groupBy","Array","isArray","button","ariaLabel","horizontalAlign","verticalAlign","map","item","height","slug","collectionPluralLabel","labels","plural"],"sources":["../../../src/elements/ListControls/index.tsx"],"sourcesContent":["'use client'\n\nimport { useWindowInfo } from '@faceless-ui/window-info'\nimport { getTranslation } from '@payloadcms/translations'\nimport { validateWhereQuery } from 'payload/shared'\nimport React, { Fragment, useEffect, useRef, useState } from 'react'\n\nimport type { ListControlsProps } from './types.js'\n\nimport { Popup } from '../../elements/Popup/index.js'\nimport { useUseTitleField } from '../../hooks/useUseAsTitle.js'\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { Dots } from '../../icons/Dots/index.js'\nimport { SearchIcon } from '../../icons/Search/index.js'\nimport { useListQuery } from '../../providers/ListQuery/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { AnimateHeight } from '../AnimateHeight/index.js'\nimport { ColumnSelector } from '../ColumnSelector/index.js'\nimport { GroupByBuilder } from '../GroupByBuilder/index.js'\nimport { Pill } from '../Pill/index.js'\nimport { QueryPresetBar } from '../QueryPresets/QueryPresetBar/index.js'\nimport { SearchFilter } from '../SearchFilter/index.js'\nimport { WhereBuilder } from '../WhereBuilder/index.js'\nimport { getTextFieldsToBeSearched } from './getTextFieldsToBeSearched.js'\nimport './index.scss'\n\nconst baseClass = 'list-controls'\n\n/**\n * The ListControls component is used to render the controls (search, filter, where)\n * for a collection's list view. You can find those directly above the table which lists\n * the collection's documents.\n */\nexport const ListControls: React.FC<ListControlsProps> = (props) => {\n const {\n beforeActions,\n collectionConfig,\n collectionSlug,\n disableQueryPresets,\n enableColumns = true,\n enableFilters = true,\n enableSort = false,\n listMenuItems,\n queryPreset: activePreset,\n queryPresetPermissions,\n renderedFilters,\n resolvedFilterOptions,\n } = props\n\n const { handleSearchChange, query } = useListQuery()\n\n const titleField = useUseTitleField(collectionConfig)\n const { i18n, t } = useTranslation()\n\n const {\n breakpoints: { s: smallBreak },\n } = useWindowInfo()\n\n const searchLabel =\n (titleField &&\n getTranslation(\n 'label' in titleField &&\n (typeof titleField.label === 'string' || typeof titleField.label === 'object')\n ? titleField.label\n : 'name' in titleField\n ? titleField.name\n : null,\n i18n,\n )) ??\n 'ID'\n\n const listSearchableFields = getTextFieldsToBeSearched(\n collectionConfig.admin.listSearchableFields,\n collectionConfig.fields,\n i18n,\n )\n\n const searchLabelTranslated = useRef(\n t('general:searchBy', { label: getTranslation(searchLabel, i18n) }),\n )\n\n const hasWhereParam = useRef(Boolean(query?.where))\n\n const shouldInitializeWhereOpened = validateWhereQuery(query?.where)\n\n const [visibleDrawer, setVisibleDrawer] = useState<'columns' | 'group-by' | 'sort' | 'where'>(\n shouldInitializeWhereOpened ? 'where' : undefined,\n )\n\n useEffect(() => {\n if (hasWhereParam.current && !query?.where) {\n hasWhereParam.current = false\n } else if (query?.where) {\n hasWhereParam.current = true\n }\n }, [setVisibleDrawer, query?.where])\n\n useEffect(() => {\n if (listSearchableFields?.length > 0) {\n searchLabelTranslated.current = listSearchableFields.reduce(\n (placeholderText: string, field, i: number) => {\n const label =\n 'label' in field && field.label ? field.label : 'name' in field ? field.name : null\n\n if (i === 0) {\n return `${t('general:searchBy', {\n label: getTranslation(label, i18n),\n })}`\n }\n\n if (i === listSearchableFields.length - 1) {\n return `${placeholderText} ${t('general:or')} ${getTranslation(label, i18n)}`\n }\n\n return `${placeholderText}, ${getTranslation(label, i18n)}`\n },\n '',\n )\n } else {\n searchLabelTranslated.current = t('general:searchBy', {\n label: getTranslation(searchLabel, i18n),\n })\n }\n }, [t, listSearchableFields, i18n, searchLabel])\n\n return (\n <div className={baseClass}>\n {collectionConfig?.enableQueryPresets && !disableQueryPresets && (\n <QueryPresetBar\n activePreset={activePreset}\n collectionSlug={collectionSlug}\n queryPresetPermissions={queryPresetPermissions}\n />\n )}\n <div className={`${baseClass}__wrap`}>\n <div className={`${baseClass}__search`}>\n <SearchIcon />\n <SearchFilter\n handleChange={handleSearchChange}\n key={collectionSlug}\n label={searchLabelTranslated.current}\n searchQueryParam={query?.search}\n />\n </div>\n <div className={`${baseClass}__buttons`}>\n {!smallBreak && <React.Fragment>{beforeActions && beforeActions}</React.Fragment>}\n {enableColumns && (\n <Pill\n aria-controls={`${baseClass}-columns`}\n aria-expanded={visibleDrawer === 'columns'}\n className={`${baseClass}__toggle-columns`}\n icon={<ChevronIcon direction={visibleDrawer === 'columns' ? 'up' : 'down'} />}\n id=\"toggle-list-columns\"\n onClick={() => setVisibleDrawer(visibleDrawer !== 'columns' ? 'columns' : undefined)}\n pillStyle=\"light\"\n size=\"small\"\n >\n {t('general:columns')}\n </Pill>\n )}\n {enableFilters && (\n <Pill\n aria-controls={`${baseClass}-where`}\n aria-expanded={visibleDrawer === 'where'}\n className={`${baseClass}__toggle-where`}\n icon={<ChevronIcon direction={visibleDrawer === 'where' ? 'up' : 'down'} />}\n id=\"toggle-list-filters\"\n onClick={() => setVisibleDrawer(visibleDrawer !== 'where' ? 'where' : undefined)}\n pillStyle=\"light\"\n size=\"small\"\n >\n {t('general:filters')}\n </Pill>\n )}\n {enableSort && (\n <Pill\n aria-controls={`${baseClass}-sort`}\n aria-expanded={visibleDrawer === 'sort'}\n className={`${baseClass}__toggle-sort`}\n icon={<ChevronIcon />}\n id=\"toggle-list-sort\"\n onClick={() => setVisibleDrawer(visibleDrawer !== 'sort' ? 'sort' : undefined)}\n pillStyle=\"light\"\n size=\"small\"\n >\n {t('general:sort')}\n </Pill>\n )}\n {collectionConfig.admin.groupBy && (\n <Pill\n aria-controls={`${baseClass}-group-by`}\n aria-expanded={visibleDrawer === 'group-by'}\n className={`${baseClass}__toggle-group-by`}\n icon={<ChevronIcon direction={visibleDrawer === 'group-by' ? 'up' : 'down'} />}\n id=\"toggle-group-by\"\n onClick={() =>\n setVisibleDrawer(visibleDrawer !== 'group-by' ? 'group-by' : undefined)\n }\n pillStyle=\"light\"\n size=\"small\"\n >\n {t('general:groupByLabel', {\n label: '',\n })}\n </Pill>\n )}\n {listMenuItems && Array.isArray(listMenuItems) && listMenuItems.length > 0 && (\n <Popup\n button={<Dots ariaLabel={t('general:moreOptions')} />}\n className={`${baseClass}__popup`}\n horizontalAlign=\"right\"\n id=\"list-menu\"\n size=\"small\"\n verticalAlign=\"bottom\"\n >\n {listMenuItems.map((item, i) => (\n <Fragment key={`list-menu-item-${i}`}>{item}</Fragment>\n ))}\n </Popup>\n )}\n </div>\n </div>\n {enableColumns && (\n <AnimateHeight\n className={`${baseClass}__columns`}\n height={visibleDrawer === 'columns' ? 'auto' : 0}\n id={`${baseClass}-columns`}\n >\n <ColumnSelector collectionSlug={collectionConfig.slug} />\n </AnimateHeight>\n )}\n <AnimateHeight\n className={`${baseClass}__where`}\n height={visibleDrawer === 'where' ? 'auto' : 0}\n id={`${baseClass}-where`}\n >\n <WhereBuilder\n collectionPluralLabel={collectionConfig?.labels?.plural}\n collectionSlug={collectionConfig.slug}\n fields={collectionConfig?.fields}\n renderedFilters={renderedFilters}\n resolvedFilterOptions={resolvedFilterOptions}\n />\n </AnimateHeight>\n {collectionConfig.admin.groupBy && (\n <AnimateHeight\n className={`${baseClass}__group-by`}\n height={visibleDrawer === 'group-by' ? 'auto' : 0}\n id={`${baseClass}-group-by`}\n >\n <GroupByBuilder collectionSlug={collectionConfig.slug} fields={collectionConfig.fields} />\n </AnimateHeight>\n )}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["useWindowInfo","getTranslation","validateWhereQuery","React","Fragment","useEffect","useRef","useState","Popup","PopupList","useUseTitleField","ChevronIcon","Dots","SearchIcon","useListQuery","useTranslation","AnimateHeight","ColumnSelector","GroupByBuilder","Pill","SearchFilter","WhereBuilder","ActiveQueryPreset","getTextFieldsToBeSearched","useQueryPresets","baseClass","ListControls","props","beforeActions","collectionConfig","collectionSlug","disableQueryPresets","enableColumns","enableFilters","enableSort","listMenuItems","listMenuItemsFromProps","queryPreset","activePreset","queryPresetPermissions","renderedFilters","resolvedFilterOptions","handleSearchChange","query","CreateNewPresetDrawer","DeletePresetModal","EditPresetDrawer","hasModifiedPreset","openPresetListDrawer","PresetListDrawer","queryPresetMenuItems","resetPreset","titleField","i18n","t","breakpoints","s","smallBreak","searchLabel","label","name","listSearchableFields","admin","fields","searchLabelTranslated","hasWhereParam","Boolean","where","shouldInitializeWhereOpened","visibleDrawer","setVisibleDrawer","undefined","current","length","reduce","placeholderText","field","i","enableQueryPresets","_jsx","Divider","_jsxs","className","handleChange","searchQueryParam","search","icon","direction","id","onClick","pillStyle","size","groupBy","Array","isArray","button","ariaLabel","horizontalAlign","verticalAlign","map","item","height","slug","collectionPluralLabel","labels","plural"],"sources":["../../../src/elements/ListControls/index.tsx"],"sourcesContent":["'use client'\n\nimport { useWindowInfo } from '@faceless-ui/window-info'\nimport { getTranslation } from '@payloadcms/translations'\nimport { validateWhereQuery } from 'payload/shared'\nimport React, { Fragment, useEffect, useRef, useState } from 'react'\n\nimport type { ListControlsProps } from './types.js'\n\nimport { Popup, PopupList } from '../../elements/Popup/index.js'\nimport { useUseTitleField } from '../../hooks/useUseAsTitle.js'\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { Dots } from '../../icons/Dots/index.js'\nimport { SearchIcon } from '../../icons/Search/index.js'\nimport { useListQuery } from '../../providers/ListQuery/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { AnimateHeight } from '../AnimateHeight/index.js'\nimport { ColumnSelector } from '../ColumnSelector/index.js'\nimport { GroupByBuilder } from '../GroupByBuilder/index.js'\nimport { Pill } from '../Pill/index.js'\nimport { SearchFilter } from '../SearchFilter/index.js'\nimport { WhereBuilder } from '../WhereBuilder/index.js'\nimport { ActiveQueryPreset } from './ActiveQueryPreset/index.js'\nimport { getTextFieldsToBeSearched } from './getTextFieldsToBeSearched.js'\nimport { useQueryPresets } from './useQueryPresets.js'\nimport './index.scss'\n\nconst baseClass = 'list-controls'\n\n/**\n * The ListControls component is used to render the controls (search, filter, where)\n * for a collection's list view. You can find those directly above the table which lists\n * the collection's documents.\n */\nexport const ListControls: React.FC<ListControlsProps> = (props) => {\n const {\n beforeActions,\n collectionConfig,\n collectionSlug,\n disableQueryPresets,\n enableColumns = true,\n enableFilters = true,\n enableSort = false,\n listMenuItems: listMenuItemsFromProps,\n queryPreset: activePreset,\n queryPresetPermissions,\n renderedFilters,\n resolvedFilterOptions,\n } = props\n\n const { handleSearchChange, query } = useListQuery()\n\n const {\n CreateNewPresetDrawer,\n DeletePresetModal,\n EditPresetDrawer,\n hasModifiedPreset,\n openPresetListDrawer,\n PresetListDrawer,\n queryPresetMenuItems,\n resetPreset,\n } = useQueryPresets({\n activePreset,\n collectionSlug,\n queryPresetPermissions,\n })\n\n const titleField = useUseTitleField(collectionConfig)\n const { i18n, t } = useTranslation()\n\n const {\n breakpoints: { s: smallBreak },\n } = useWindowInfo()\n\n const searchLabel =\n (titleField &&\n getTranslation(\n 'label' in titleField &&\n (typeof titleField.label === 'string' || typeof titleField.label === 'object')\n ? titleField.label\n : 'name' in titleField\n ? titleField.name\n : null,\n i18n,\n )) ??\n 'ID'\n\n const listSearchableFields = getTextFieldsToBeSearched(\n collectionConfig.admin.listSearchableFields,\n collectionConfig.fields,\n i18n,\n )\n\n const searchLabelTranslated = useRef(\n t('general:searchBy', { label: getTranslation(searchLabel, i18n) }),\n )\n\n const hasWhereParam = useRef(Boolean(query?.where))\n\n const shouldInitializeWhereOpened = validateWhereQuery(query?.where)\n\n const [visibleDrawer, setVisibleDrawer] = useState<'columns' | 'group-by' | 'sort' | 'where'>(\n shouldInitializeWhereOpened ? 'where' : undefined,\n )\n\n useEffect(() => {\n if (hasWhereParam.current && !query?.where) {\n hasWhereParam.current = false\n } else if (query?.where) {\n hasWhereParam.current = true\n }\n }, [setVisibleDrawer, query?.where])\n\n useEffect(() => {\n if (listSearchableFields?.length > 0) {\n searchLabelTranslated.current = listSearchableFields.reduce(\n (placeholderText: string, field, i: number) => {\n const label =\n 'label' in field && field.label ? field.label : 'name' in field ? field.name : null\n\n if (i === 0) {\n return `${t('general:searchBy', {\n label: getTranslation(label, i18n),\n })}`\n }\n\n if (i === listSearchableFields.length - 1) {\n return `${placeholderText} ${t('general:or')} ${getTranslation(label, i18n)}`\n }\n\n return `${placeholderText}, ${getTranslation(label, i18n)}`\n },\n '',\n )\n } else {\n searchLabelTranslated.current = t('general:searchBy', {\n label: getTranslation(searchLabel, i18n),\n })\n }\n }, [t, listSearchableFields, i18n, searchLabel])\n\n let listMenuItems: React.ReactNode[] = listMenuItemsFromProps\n\n if (\n collectionConfig.enableQueryPresets &&\n !disableQueryPresets &&\n queryPresetMenuItems?.length > 0\n ) {\n // Cannot push or unshift into `listMenuItemsFromProps` as it will mutate the original array\n listMenuItems = [\n ...queryPresetMenuItems,\n listMenuItemsFromProps?.length > 0 ? <PopupList.Divider key=\"divider\" /> : null,\n ...(listMenuItemsFromProps || []),\n ]\n }\n\n return (\n <Fragment>\n <div className={baseClass}>\n <div className={`${baseClass}__wrap`}>\n <SearchIcon />\n <SearchFilter\n handleChange={handleSearchChange}\n key={collectionSlug}\n label={searchLabelTranslated.current}\n searchQueryParam={query?.search}\n />\n {activePreset && hasModifiedPreset ? (\n <div className={`${baseClass}__modified`}>Modified</div>\n ) : null}\n <div className={`${baseClass}__buttons`}>\n <div className={`${baseClass}__buttons-wrap`}>\n {!smallBreak && <React.Fragment>{beforeActions && beforeActions}</React.Fragment>}\n {enableColumns && (\n <Pill\n aria-controls={`${baseClass}-columns`}\n aria-expanded={visibleDrawer === 'columns'}\n className={`${baseClass}__toggle-columns`}\n icon={<ChevronIcon direction={visibleDrawer === 'columns' ? 'up' : 'down'} />}\n id=\"toggle-columns\"\n onClick={() =>\n setVisibleDrawer(visibleDrawer !== 'columns' ? 'columns' : undefined)\n }\n pillStyle=\"light\"\n size=\"small\"\n >\n {t('general:columns')}\n </Pill>\n )}\n {enableFilters && (\n <Pill\n aria-controls={`${baseClass}-where`}\n aria-expanded={visibleDrawer === 'where'}\n className={`${baseClass}__toggle-where`}\n icon={<ChevronIcon direction={visibleDrawer === 'where' ? 'up' : 'down'} />}\n id=\"toggle-list-filters\"\n onClick={() => setVisibleDrawer(visibleDrawer !== 'where' ? 'where' : undefined)}\n pillStyle=\"light\"\n size=\"small\"\n >\n {t('general:filters')}\n </Pill>\n )}\n {enableSort && (\n <Pill\n aria-controls={`${baseClass}-sort`}\n aria-expanded={visibleDrawer === 'sort'}\n className={`${baseClass}__toggle-sort`}\n icon={<ChevronIcon />}\n onClick={() => setVisibleDrawer(visibleDrawer !== 'sort' ? 'sort' : undefined)}\n pillStyle=\"light\"\n size=\"small\"\n >\n {t('general:sort')}\n </Pill>\n )}\n {!disableQueryPresets && (\n <ActiveQueryPreset\n activePreset={activePreset}\n openPresetListDrawer={openPresetListDrawer}\n resetPreset={resetPreset}\n />\n )}\n {collectionConfig.admin.groupBy && (\n <Pill\n aria-controls={`${baseClass}-group-by`}\n aria-expanded={visibleDrawer === 'group-by'}\n className={`${baseClass}__toggle-group-by`}\n icon={<ChevronIcon direction={visibleDrawer === 'group-by' ? 'up' : 'down'} />}\n id=\"toggle-group-by\"\n onClick={() =>\n setVisibleDrawer(visibleDrawer !== 'group-by' ? 'group-by' : undefined)\n }\n pillStyle=\"light\"\n size=\"small\"\n >\n {t('general:groupByLabel', {\n label: '',\n })}\n </Pill>\n )}\n {listMenuItems && Array.isArray(listMenuItems) && listMenuItems.length > 0 && (\n <Popup\n button={<Dots ariaLabel={t('general:moreOptions')} />}\n className={`${baseClass}__popup`}\n horizontalAlign=\"right\"\n id=\"list-menu\"\n size=\"medium\"\n verticalAlign=\"bottom\"\n >\n {listMenuItems.map((item, i) => (\n <Fragment key={`list-menu-item-${i}`}>{item}</Fragment>\n ))}\n </Popup>\n )}\n </div>\n </div>\n </div>\n {enableColumns && (\n <AnimateHeight\n className={`${baseClass}__columns`}\n height={visibleDrawer === 'columns' ? 'auto' : 0}\n id={`${baseClass}-columns`}\n >\n <ColumnSelector collectionSlug={collectionConfig.slug} />\n </AnimateHeight>\n )}\n <AnimateHeight\n className={`${baseClass}__where`}\n height={visibleDrawer === 'where' ? 'auto' : 0}\n id={`${baseClass}-where`}\n >\n <WhereBuilder\n collectionPluralLabel={collectionConfig.labels?.plural}\n collectionSlug={collectionConfig.slug}\n fields={collectionConfig.fields}\n renderedFilters={renderedFilters}\n resolvedFilterOptions={resolvedFilterOptions}\n />\n </AnimateHeight>\n {collectionConfig.admin.groupBy && (\n <AnimateHeight\n className={`${baseClass}__group-by`}\n height={visibleDrawer === 'group-by' ? 'auto' : 0}\n id={`${baseClass}-group-by`}\n >\n <GroupByBuilder\n collectionSlug={collectionConfig.slug}\n fields={collectionConfig.fields}\n />\n </AnimateHeight>\n )}\n </div>\n {PresetListDrawer}\n {EditPresetDrawer}\n {CreateNewPresetDrawer}\n {DeletePresetModal}\n </Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}