@payloadcms/ui 3.51.0-internal.62eeed3 → 3.52.0-internal.8a9caef

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 (65) hide show
  1. package/dist/elements/Autosave/index.d.ts.map +1 -1
  2. package/dist/elements/Autosave/index.js +3 -0
  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 +2 -1
  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 +2 -1
  9. package/dist/elements/BulkUpload/FormsManager/reducer.js.map +1 -1
  10. package/dist/elements/CopyToClipboard/index.d.ts.map +1 -1
  11. package/dist/elements/CopyToClipboard/index.js +33 -78
  12. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  13. package/dist/elements/CopyToClipboard/index.scss +8 -0
  14. package/dist/elements/DocumentFields/index.scss +1 -0
  15. package/dist/elements/ListControls/index.d.ts.map +1 -1
  16. package/dist/elements/ListControls/index.js +103 -127
  17. package/dist/elements/ListControls/index.js.map +1 -1
  18. package/dist/elements/ListControls/index.scss +44 -32
  19. package/dist/elements/Pill/index.scss +1 -1
  20. package/dist/elements/QueryPresets/QueryPresetBar/index.d.ts +9 -0
  21. package/dist/elements/QueryPresets/QueryPresetBar/index.d.ts.map +1 -0
  22. package/dist/elements/{ListControls/useQueryPresets.js → QueryPresets/QueryPresetBar/index.js} +80 -60
  23. package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -0
  24. package/dist/elements/QueryPresets/QueryPresetBar/index.scss +41 -0
  25. package/dist/elements/{ListControls/ActiveQueryPreset → QueryPresets/QueryPresetToggler}/index.d.ts +1 -1
  26. package/dist/elements/QueryPresets/QueryPresetToggler/index.d.ts.map +1 -0
  27. package/dist/elements/QueryPresets/QueryPresetToggler/index.js +198 -0
  28. package/dist/elements/QueryPresets/QueryPresetToggler/index.js.map +1 -0
  29. package/dist/elements/QueryPresets/QueryPresetToggler/index.scss +61 -0
  30. package/dist/elements/Status/index.d.ts.map +1 -1
  31. package/dist/elements/Status/index.js +19 -9
  32. package/dist/elements/Status/index.js.map +1 -1
  33. package/dist/elements/Table/OrderableTable.d.ts.map +1 -1
  34. package/dist/elements/Table/OrderableTable.js +2 -1
  35. package/dist/elements/Table/OrderableTable.js.map +1 -1
  36. package/dist/elements/Upload/index.d.ts.map +1 -1
  37. package/dist/elements/Upload/index.js +3 -0
  38. package/dist/elements/Upload/index.js.map +1 -1
  39. package/dist/exports/client/index.js +24 -24
  40. package/dist/exports/client/index.js.map +4 -4
  41. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  42. package/dist/forms/Form/fieldReducer.js +2 -0
  43. package/dist/forms/Form/fieldReducer.js.map +1 -1
  44. package/dist/forms/Form/index.d.ts.map +1 -1
  45. package/dist/forms/Form/index.js +15 -7
  46. package/dist/forms/Form/index.js.map +1 -1
  47. package/dist/forms/Form/mergeServerFormState.d.ts +15 -2
  48. package/dist/forms/Form/mergeServerFormState.d.ts.map +1 -1
  49. package/dist/forms/Form/mergeServerFormState.js +9 -1
  50. package/dist/forms/Form/mergeServerFormState.js.map +1 -1
  51. package/dist/forms/Form/types.d.ts +8 -1
  52. package/dist/forms/Form/types.d.ts.map +1 -1
  53. package/dist/forms/Form/types.js.map +1 -1
  54. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  55. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +1 -0
  56. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  57. package/dist/styles.css +1 -1
  58. package/package.json +4 -4
  59. package/dist/elements/ListControls/ActiveQueryPreset/index.d.ts.map +0 -1
  60. package/dist/elements/ListControls/ActiveQueryPreset/index.js +0 -180
  61. package/dist/elements/ListControls/ActiveQueryPreset/index.js.map +0 -1
  62. package/dist/elements/ListControls/ActiveQueryPreset/index.scss +0 -33
  63. package/dist/elements/ListControls/useQueryPresets.d.ts +0 -17
  64. package/dist/elements/ListControls/useQueryPresets.d.ts.map +0 -1
  65. package/dist/elements/ListControls/useQueryPresets.js.map +0 -1
@@ -1,21 +1,25 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useModal } from '@faceless-ui/modal';
3
3
  import { getTranslation } from '@payloadcms/translations';
4
4
  import { transformColumnsToPreferences, transformColumnsToSearchParams } from 'payload/shared';
5
- import React, { useCallback, useMemo } from 'react';
5
+ import React, { Fragment, useCallback, useMemo } from 'react';
6
6
  import { toast } from 'sonner';
7
- import { useConfig } from '../../providers/Config/index.js';
8
- import { useListQuery } from '../../providers/ListQuery/context.js';
9
- import { useTranslation } from '../../providers/Translation/index.js';
10
- import { ConfirmationModal } from '../ConfirmationModal/index.js';
11
- import { useDocumentDrawer } from '../DocumentDrawer/index.js';
12
- import { useListDrawer } from '../ListDrawer/index.js';
13
- import { PopupList } from '../Popup/index.js';
14
- import { PopupListGroupLabel } from '../Popup/PopupGroupLabel/index.js';
15
- import { Translation } from '../Translation/index.js';
7
+ import { PlusIcon } from '../../../icons/Plus/index.js';
8
+ import { useConfig } from '../../../providers/Config/index.js';
9
+ import { useListQuery } from '../../../providers/ListQuery/context.js';
10
+ import { useTranslation } from '../../../providers/Translation/index.js';
11
+ import { ConfirmationModal } from '../../ConfirmationModal/index.js';
12
+ import { useDocumentDrawer } from '../../DocumentDrawer/index.js';
13
+ import { useListDrawer } from '../../ListDrawer/index.js';
14
+ import { ListSelectionButton } from '../../ListSelection/index.js';
15
+ import { Pill } from '../../Pill/index.js';
16
+ import { Translation } from '../../Translation/index.js';
17
+ import { QueryPresetToggler } from '../QueryPresetToggler/index.js';
18
+ import './index.scss';
16
19
  const confirmDeletePresetModalSlug = 'confirm-delete-preset';
17
20
  const queryPresetsSlug = 'payload-query-presets';
18
- export const useQueryPresets = ({
21
+ const baseClass = 'query-preset-bar';
22
+ export const QueryPresetBar = ({
19
23
  activePreset,
20
24
  collectionSlug,
21
25
  queryPresetPermissions
@@ -157,45 +161,68 @@ export const useQueryPresets = ({
157
161
  toast.error(t('error:unknown'));
158
162
  }
159
163
  }, [apiRoute, activePreset?.id, query.columns, query.where, t, presetConfig?.labels?.singular, i18n, setQueryModified]);
160
- // Memoize so that components aren't re-rendered on query and column changes
161
- const queryPresetMenuItems = useMemo(() => {
162
- const hasModifiedPreset = activePreset && modified;
163
- return [/*#__PURE__*/_jsx(PopupListGroupLabel, {
164
- label: getTranslation(presetConfig?.labels?.plural, i18n)
165
- }, "preset-group-label"), /*#__PURE__*/_jsxs(PopupList.ButtonGroup, {
166
- children: [hasModifiedPreset && /*#__PURE__*/_jsx(PopupList.Button, {
167
- onClick: async () => {
168
- await refineListData({
169
- columns: transformColumnsToSearchParams(activePreset.columns),
170
- where: activePreset.where
171
- }, false);
172
- },
173
- children: t('general:reset')
174
- }), hasModifiedPreset && queryPresetPermissions.update && /*#__PURE__*/_jsx(PopupList.Button, {
175
- onClick: async () => {
176
- await saveCurrentChanges();
177
- },
178
- children: activePreset?.isShared ? t('general:updateForEveryone') : t('general:save')
179
- }), /*#__PURE__*/_jsx(PopupList.Button, {
180
- onClick: () => {
181
- openCreateNewDrawer();
182
- },
183
- children: t('general:createNew')
184
- }), activePreset && queryPresetPermissions?.delete && /*#__PURE__*/_jsxs(_Fragment, {
185
- children: [/*#__PURE__*/_jsx(PopupList.Button, {
186
- onClick: () => openModal(confirmDeletePresetModalSlug),
187
- children: t('general:delete')
188
- }), /*#__PURE__*/_jsx(PopupList.Button, {
164
+ const hasModifiedPreset = activePreset && modified;
165
+ return /*#__PURE__*/_jsxs(Fragment, {
166
+ children: [/*#__PURE__*/_jsxs("div", {
167
+ className: baseClass,
168
+ children: [/*#__PURE__*/_jsxs("div", {
169
+ className: `${baseClass}__menu`,
170
+ children: [/*#__PURE__*/_jsx(QueryPresetToggler, {
171
+ activePreset: activePreset,
172
+ openPresetListDrawer: openListDrawer,
173
+ resetPreset: resetQueryPreset
174
+ }), /*#__PURE__*/_jsx(Pill, {
175
+ "aria-label": t('general:newLabel', {
176
+ label: presetConfig?.labels?.singular
177
+ }),
178
+ className: `${baseClass}__create-new-preset`,
179
+ icon: /*#__PURE__*/_jsx(PlusIcon, {}),
180
+ id: "create-new-preset",
189
181
  onClick: () => {
190
- openDocumentDrawer();
182
+ openCreateNewDrawer();
191
183
  },
192
- children: t('general:edit')
184
+ size: "small"
185
+ })]
186
+ }), /*#__PURE__*/_jsxs("div", {
187
+ className: `${baseClass}__menu-items`,
188
+ children: [hasModifiedPreset && /*#__PURE__*/_jsx(ListSelectionButton, {
189
+ id: "reset-preset",
190
+ onClick: async () => {
191
+ await refineListData({
192
+ columns: transformColumnsToSearchParams(activePreset.columns),
193
+ where: activePreset.where
194
+ }, false);
195
+ },
196
+ type: "button",
197
+ children: t('general:reset')
198
+ }, "reset"), hasModifiedPreset && queryPresetPermissions.update && /*#__PURE__*/_jsx(ListSelectionButton, {
199
+ id: "save-preset",
200
+ onClick: async () => {
201
+ await saveCurrentChanges();
202
+ },
203
+ type: "button",
204
+ children: activePreset?.isShared ? t('general:updateForEveryone') : t('fields:saveChanges')
205
+ }, "save"), activePreset && queryPresetPermissions?.delete && /*#__PURE__*/_jsxs(Fragment, {
206
+ children: [/*#__PURE__*/_jsx(ListSelectionButton, {
207
+ id: "delete-preset",
208
+ onClick: () => openModal(confirmDeletePresetModalSlug),
209
+ type: "button",
210
+ children: t('general:deleteLabel', {
211
+ label: presetConfig?.labels?.singular
212
+ })
213
+ }), /*#__PURE__*/_jsx(ListSelectionButton, {
214
+ id: "edit-preset",
215
+ onClick: () => {
216
+ openDocumentDrawer();
217
+ },
218
+ type: "button",
219
+ children: t('general:editLabel', {
220
+ label: presetConfig?.labels?.singular
221
+ })
222
+ })]
193
223
  })]
194
224
  })]
195
- }, "preset-group-buttons")];
196
- }, [activePreset, queryPresetPermissions?.delete, queryPresetPermissions?.update, openCreateNewDrawer, openDocumentDrawer, openModal, saveCurrentChanges, t, refineListData, modified, presetConfig?.labels?.plural, i18n]);
197
- return {
198
- CreateNewPresetDrawer: /*#__PURE__*/_jsx(CreateNewPresetDrawer, {
225
+ }), /*#__PURE__*/_jsx(CreateNewPresetDrawer, {
199
226
  initialData: {
200
227
  columns: transformColumnsToPreferences(query.columns),
201
228
  relatedCollection: collectionSlug,
@@ -208,8 +235,7 @@ export const useQueryPresets = ({
208
235
  await handlePresetChange(doc);
209
236
  },
210
237
  redirectAfterCreate: false
211
- }),
212
- DeletePresetModal: /*#__PURE__*/_jsx(ConfirmationModal, {
238
+ }), /*#__PURE__*/_jsx(ConfirmationModal, {
213
239
  body: /*#__PURE__*/_jsx(Translation, {
214
240
  elements: {
215
241
  '1': ({
@@ -229,8 +255,7 @@ export const useQueryPresets = ({
229
255
  heading: t('general:confirmDeletion'),
230
256
  modalSlug: confirmDeletePresetModalSlug,
231
257
  onConfirm: handleDeletePreset
232
- }),
233
- EditPresetDrawer: /*#__PURE__*/_jsx(PresetDocumentDrawer, {
258
+ }), /*#__PURE__*/_jsx(PresetDocumentDrawer, {
234
259
  onDelete: () => {
235
260
  // setSelectedPreset(undefined)
236
261
  },
@@ -244,10 +269,7 @@ export const useQueryPresets = ({
244
269
  }) => {
245
270
  await handlePresetChange(doc);
246
271
  }
247
- }),
248
- hasModifiedPreset: modified,
249
- openPresetListDrawer: openListDrawer,
250
- PresetListDrawer: /*#__PURE__*/_jsx(ListDrawer, {
272
+ }), /*#__PURE__*/_jsx(ListDrawer, {
251
273
  allowCreate: false,
252
274
  disableQueryPresets: true,
253
275
  onSelect: async ({
@@ -256,9 +278,7 @@ export const useQueryPresets = ({
256
278
  closeListDrawer();
257
279
  await handlePresetChange(doc);
258
280
  }
259
- }),
260
- queryPresetMenuItems,
261
- resetPreset: resetQueryPreset
262
- };
281
+ })]
282
+ });
263
283
  };
264
- //# sourceMappingURL=useQueryPresets.js.map
284
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["useModal","getTranslation","transformColumnsToPreferences","transformColumnsToSearchParams","React","Fragment","useCallback","useMemo","toast","PlusIcon","useConfig","useListQuery","useTranslation","ConfirmationModal","useDocumentDrawer","useListDrawer","ListSelectionButton","Pill","Translation","QueryPresetToggler","confirmDeletePresetModalSlug","queryPresetsSlug","baseClass","QueryPresetBar","activePreset","collectionSlug","queryPresetPermissions","modified","query","refineListData","setModified","setQueryModified","i18n","t","openModal","config","routes","api","apiRoute","getEntityConfig","presetConfig","PresetDocumentDrawer","openDrawer","openDocumentDrawer","id","CreateNewPresetDrawer","closeDrawer","closeCreateNewDrawer","openCreateNewDrawer","filterOptions","isTemp","not_equals","relatedCollection","equals","ListDrawer","closeListDrawer","openListDrawer","collectionSlugs","selectedCollection","handlePresetChange","preset","columns","undefined","where","resetQueryPreset","handleDeletePreset","fetch","method","then","res","json","status","success","label","labels","singular","title","errors","forEach","error","message","_err","saveCurrentChanges","body","JSON","stringify","credentials","headers","hasModifiedPreset","_jsxs","className","_jsx","openPresetListDrawer","resetPreset","icon","onClick","size","type","update","isShared","delete","initialData","onSave","doc","redirectAfterCreate","elements","1","children","i18nKey","variables","confirmingLabel","heading","modalSlug","onConfirm","onDelete","onDuplicate","allowCreate","disableQueryPresets","onSelect"],"sources":["../../../../src/elements/QueryPresets/QueryPresetBar/index.tsx"],"sourcesContent":["import type { QueryPreset, SanitizedCollectionPermission } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { transformColumnsToPreferences, transformColumnsToSearchParams } from 'payload/shared'\nimport React, { Fragment, useCallback, useMemo } from 'react'\nimport { toast } from 'sonner'\n\nimport { PlusIcon } from '../../../icons/Plus/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useListQuery } from '../../../providers/ListQuery/context.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { ConfirmationModal } from '../../ConfirmationModal/index.js'\nimport { useDocumentDrawer } from '../../DocumentDrawer/index.js'\nimport { useListDrawer } from '../../ListDrawer/index.js'\nimport { ListSelectionButton } from '../../ListSelection/index.js'\nimport { Pill } from '../../Pill/index.js'\nimport { Translation } from '../../Translation/index.js'\nimport { QueryPresetToggler } from '../QueryPresetToggler/index.js'\nimport './index.scss'\n\nconst confirmDeletePresetModalSlug = 'confirm-delete-preset'\n\nconst queryPresetsSlug = 'payload-query-presets'\n\nconst baseClass = 'query-preset-bar'\n\nexport const QueryPresetBar: React.FC<{\n activePreset: QueryPreset\n collectionSlug?: string\n queryPresetPermissions: SanitizedCollectionPermission\n}> = ({ activePreset, collectionSlug, queryPresetPermissions }) => {\n const { modified, query, refineListData, setModified: setQueryModified } = useListQuery()\n\n const { i18n, t } = useTranslation()\n const { openModal } = useModal()\n\n const {\n config: {\n routes: { api: apiRoute },\n },\n getEntityConfig,\n } = useConfig()\n\n const presetConfig = getEntityConfig({ collectionSlug: queryPresetsSlug })\n\n const [PresetDocumentDrawer, , { openDrawer: openDocumentDrawer }] = useDocumentDrawer({\n id: activePreset?.id,\n collectionSlug: queryPresetsSlug,\n })\n\n const [\n CreateNewPresetDrawer,\n ,\n { closeDrawer: closeCreateNewDrawer, openDrawer: openCreateNewDrawer },\n ] = useDocumentDrawer({\n collectionSlug: queryPresetsSlug,\n })\n\n const filterOptions = useMemo(\n () => ({\n 'payload-query-presets': {\n isTemp: {\n not_equals: true,\n },\n relatedCollection: {\n equals: collectionSlug,\n },\n },\n }),\n [collectionSlug],\n )\n\n const [ListDrawer, , { closeDrawer: closeListDrawer, openDrawer: openListDrawer }] =\n useListDrawer({\n collectionSlugs: [queryPresetsSlug],\n filterOptions,\n selectedCollection: queryPresetsSlug,\n })\n\n const handlePresetChange = useCallback(\n async (preset: QueryPreset) => {\n await refineListData(\n {\n columns: preset.columns ? transformColumnsToSearchParams(preset.columns) : undefined,\n preset: preset.id,\n where: preset.where,\n },\n false,\n )\n },\n [refineListData],\n )\n\n const resetQueryPreset = useCallback(async () => {\n await refineListData(\n {\n columns: [],\n preset: '',\n where: {},\n },\n false,\n )\n }, [refineListData])\n\n const handleDeletePreset = useCallback(async () => {\n try {\n await fetch(`${apiRoute}/${queryPresetsSlug}/${activePreset.id}`, {\n method: 'DELETE',\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(presetConfig?.labels?.singular, i18n),\n title: activePreset.title,\n }),\n )\n\n await resetQueryPreset()\n } else {\n if (json.errors) {\n json.errors.forEach((error) => toast.error(error.message))\n } else {\n toast.error(t('error:deletingTitle', { title: activePreset.title }))\n }\n }\n } catch (_err) {\n toast.error(t('error:deletingTitle', { title: activePreset.title }))\n }\n })\n } catch (_err) {\n toast.error(t('error:deletingTitle', { title: activePreset.title }))\n }\n }, [apiRoute, activePreset?.id, activePreset?.title, t, presetConfig, i18n, resetQueryPreset])\n\n const saveCurrentChanges = useCallback(async () => {\n try {\n await fetch(`${apiRoute}/payload-query-presets/${activePreset.id}`, {\n body: JSON.stringify({\n columns: transformColumnsToPreferences(query.columns),\n where: query.where,\n }),\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n },\n method: 'PATCH',\n }).then(async (res) => {\n try {\n const json = await res.json()\n\n if (res.status < 400) {\n toast.success(\n t('general:updatedLabelSuccessfully', {\n label: getTranslation(presetConfig?.labels?.singular, i18n),\n }),\n )\n\n setQueryModified(false)\n } else {\n if (json.errors) {\n json.errors.forEach((error) => toast.error(error.message))\n } else {\n toast.error(t('error:unknown'))\n }\n }\n } catch (_err) {\n toast.error(t('error:unknown'))\n }\n })\n } catch (_err) {\n toast.error(t('error:unknown'))\n }\n }, [\n apiRoute,\n activePreset?.id,\n query.columns,\n query.where,\n t,\n presetConfig?.labels?.singular,\n i18n,\n setQueryModified,\n ])\n\n const hasModifiedPreset = activePreset && modified\n\n return (\n <Fragment>\n <div className={baseClass}>\n <div className={`${baseClass}__menu`}>\n <QueryPresetToggler\n activePreset={activePreset}\n openPresetListDrawer={openListDrawer}\n resetPreset={resetQueryPreset}\n />\n <Pill\n aria-label={t('general:newLabel', { label: presetConfig?.labels?.singular })}\n className={`${baseClass}__create-new-preset`}\n icon={<PlusIcon />}\n id=\"create-new-preset\"\n onClick={() => {\n openCreateNewDrawer()\n }}\n size=\"small\"\n />\n </div>\n <div className={`${baseClass}__menu-items`}>\n {hasModifiedPreset && (\n <ListSelectionButton\n id=\"reset-preset\"\n key=\"reset\"\n onClick={async () => {\n await refineListData(\n {\n columns: transformColumnsToSearchParams(activePreset.columns),\n where: activePreset.where,\n },\n false,\n )\n }}\n type=\"button\"\n >\n {t('general:reset')}\n </ListSelectionButton>\n )}\n {hasModifiedPreset && queryPresetPermissions.update && (\n <ListSelectionButton\n id=\"save-preset\"\n key=\"save\"\n onClick={async () => {\n await saveCurrentChanges()\n }}\n type=\"button\"\n >\n {activePreset?.isShared ? t('general:updateForEveryone') : t('fields:saveChanges')}\n </ListSelectionButton>\n )}\n {activePreset && queryPresetPermissions?.delete && (\n <Fragment>\n <ListSelectionButton\n id=\"delete-preset\"\n onClick={() => openModal(confirmDeletePresetModalSlug)}\n type=\"button\"\n >\n {t('general:deleteLabel', { label: presetConfig?.labels?.singular })}\n </ListSelectionButton>\n <ListSelectionButton\n id=\"edit-preset\"\n onClick={() => {\n openDocumentDrawer()\n }}\n type=\"button\"\n >\n {t('general:editLabel', { label: presetConfig?.labels?.singular })}\n </ListSelectionButton>\n </Fragment>\n )}\n </div>\n </div>\n <CreateNewPresetDrawer\n initialData={{\n columns: transformColumnsToPreferences(query.columns),\n relatedCollection: collectionSlug,\n where: query.where,\n }}\n onSave={async ({ doc }) => {\n closeCreateNewDrawer()\n await handlePresetChange(doc as QueryPreset)\n }}\n redirectAfterCreate={false}\n />\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: presetConfig?.labels?.singular,\n title: activePreset?.title,\n }}\n />\n }\n confirmingLabel={t('general:deleting')}\n heading={t('general:confirmDeletion')}\n modalSlug={confirmDeletePresetModalSlug}\n onConfirm={handleDeletePreset}\n />\n <PresetDocumentDrawer\n onDelete={() => {\n // setSelectedPreset(undefined)\n }}\n onDuplicate={async ({ doc }) => {\n await handlePresetChange(doc as QueryPreset)\n }}\n onSave={async ({ doc }) => {\n await handlePresetChange(doc as QueryPreset)\n }}\n />\n <ListDrawer\n allowCreate={false}\n disableQueryPresets\n onSelect={async ({ doc }) => {\n closeListDrawer()\n await handlePresetChange(doc as QueryPreset)\n }}\n />\n </Fragment>\n )\n}\n"],"mappings":";AAEA,SAASA,QAAQ,QAAQ;AACzB,SAASC,cAAc,QAAQ;AAC/B,SAASC,6BAA6B,EAAEC,8BAA8B,QAAQ;AAC9E,OAAOC,KAAA,IAASC,QAAQ,EAAEC,WAAW,EAAEC,OAAO,QAAQ;AACtD,SAASC,KAAK,QAAQ;AAEtB,SAASC,QAAQ,QAAQ;AACzB,SAASC,SAAS,QAAQ;AAC1B,SAASC,YAAY,QAAQ;AAC7B,SAASC,cAAc,QAAQ;AAC/B,SAASC,iBAAiB,QAAQ;AAClC,SAASC,iBAAiB,QAAQ;AAClC,SAASC,aAAa,QAAQ;AAC9B,SAASC,mBAAmB,QAAQ;AACpC,SAASC,IAAI,QAAQ;AACrB,SAASC,WAAW,QAAQ;AAC5B,SAASC,kBAAkB,QAAQ;AACnC,OAAO;AAEP,MAAMC,4BAAA,GAA+B;AAErC,MAAMC,gBAAA,GAAmB;AAEzB,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,cAAA,GAIRA,CAAC;EAAEC,YAAY;EAAEC,cAAc;EAAEC;AAAsB,CAAE;EAC5D,MAAM;IAAEC,QAAQ;IAAEC,KAAK;IAAEC,cAAc;IAAEC,WAAA,EAAaC;EAAgB,CAAE,GAAGpB,YAAA;EAE3E,MAAM;IAAEqB,IAAI;IAAEC;EAAC,CAAE,GAAGrB,cAAA;EACpB,MAAM;IAAEsB;EAAS,CAAE,GAAGlC,QAAA;EAEtB,MAAM;IACJmC,MAAA,EAAQ;MACNC,MAAA,EAAQ;QAAEC,GAAA,EAAKC;MAAQ;IAAE,CAC1B;IACDC;EAAe,CAChB,GAAG7B,SAAA;EAEJ,MAAM8B,YAAA,GAAeD,eAAA,CAAgB;IAAEd,cAAA,EAAgBJ;EAAiB;EAExE,MAAM,CAACoB,oBAAA,GAAwB;IAAEC,UAAA,EAAYC;EAAkB,CAAE,CAAC,GAAG7B,iBAAA,CAAkB;IACrF8B,EAAA,EAAIpB,YAAA,EAAcoB,EAAA;IAClBnB,cAAA,EAAgBJ;EAClB;EAEA,MAAM,CACJwB,qBAAA,GAEA;IAAEC,WAAA,EAAaC,oBAAoB;IAAEL,UAAA,EAAYM;EAAmB,CAAE,CACvE,GAAGlC,iBAAA,CAAkB;IACpBW,cAAA,EAAgBJ;EAClB;EAEA,MAAM4B,aAAA,GAAgB1C,OAAA,CACpB,OAAO;IACL,yBAAyB;MACvB2C,MAAA,EAAQ;QACNC,UAAA,EAAY;MACd;MACAC,iBAAA,EAAmB;QACjBC,MAAA,EAAQ5B;MACV;IACF;EACF,IACA,CAACA,cAAA,CAAe;EAGlB,MAAM,CAAC6B,UAAA,GAAc;IAAER,WAAA,EAAaS,eAAe;IAAEb,UAAA,EAAYc;EAAc,CAAE,CAAC,GAChFzC,aAAA,CAAc;IACZ0C,eAAA,EAAiB,CAACpC,gBAAA,CAAiB;IACnC4B,aAAA;IACAS,kBAAA,EAAoBrC;EACtB;EAEF,MAAMsC,kBAAA,GAAqBrD,WAAA,CACzB,MAAOsD,MAAA;IACL,MAAM/B,cAAA,CACJ;MACEgC,OAAA,EAASD,MAAA,CAAOC,OAAO,GAAG1D,8BAAA,CAA+ByD,MAAA,CAAOC,OAAO,IAAIC,SAAA;MAC3EF,MAAA,EAAQA,MAAA,CAAOhB,EAAE;MACjBmB,KAAA,EAAOH,MAAA,CAAOG;IAChB,GACA;EAEJ,GACA,CAAClC,cAAA,CAAe;EAGlB,MAAMmC,gBAAA,GAAmB1D,WAAA,CAAY;IACnC,MAAMuB,cAAA,CACJ;MACEgC,OAAA,EAAS,EAAE;MACXD,MAAA,EAAQ;MACRG,KAAA,EAAO,CAAC;IACV,GACA;EAEJ,GAAG,CAAClC,cAAA,CAAe;EAEnB,MAAMoC,kBAAA,GAAqB3D,WAAA,CAAY;IACrC,IAAI;MACF,MAAM4D,KAAA,CAAM,GAAG5B,QAAA,IAAYjB,gBAAA,IAAoBG,YAAA,CAAaoB,EAAE,EAAE,EAAE;QAChEuB,MAAA,EAAQ;MACV,GAAGC,IAAI,CAAC,MAAOC,GAAA;QACb,IAAI;UACF,MAAMC,IAAA,GAAO,MAAMD,GAAA,CAAIC,IAAI;UAE3B,IAAID,GAAA,CAAIE,MAAM,GAAG,KAAK;YACpB/D,KAAA,CAAMgE,OAAO,CACXvC,CAAA,CAAE,wBAAwB;cACxBwC,KAAA,EAAOxE,cAAA,CAAeuC,YAAA,EAAckC,MAAA,EAAQC,QAAA,EAAU3C,IAAA;cACtD4C,KAAA,EAAOpD,YAAA,CAAaoD;YACtB;YAGF,MAAMZ,gBAAA;UACR,OAAO;YACL,IAAIM,IAAA,CAAKO,MAAM,EAAE;cACfP,IAAA,CAAKO,MAAM,CAACC,OAAO,CAAEC,KAAA,IAAUvE,KAAA,CAAMuE,KAAK,CAACA,KAAA,CAAMC,OAAO;YAC1D,OAAO;cACLxE,KAAA,CAAMuE,KAAK,CAAC9C,CAAA,CAAE,uBAAuB;gBAAE2C,KAAA,EAAOpD,YAAA,CAAaoD;cAAM;YACnE;UACF;QACF,EAAE,OAAOK,IAAA,EAAM;UACbzE,KAAA,CAAMuE,KAAK,CAAC9C,CAAA,CAAE,uBAAuB;YAAE2C,KAAA,EAAOpD,YAAA,CAAaoD;UAAM;QACnE;MACF;IACF,EAAE,OAAOK,IAAA,EAAM;MACbzE,KAAA,CAAMuE,KAAK,CAAC9C,CAAA,CAAE,uBAAuB;QAAE2C,KAAA,EAAOpD,YAAA,CAAaoD;MAAM;IACnE;EACF,GAAG,CAACtC,QAAA,EAAUd,YAAA,EAAcoB,EAAA,EAAIpB,YAAA,EAAcoD,KAAA,EAAO3C,CAAA,EAAGO,YAAA,EAAcR,IAAA,EAAMgC,gBAAA,CAAiB;EAE7F,MAAMkB,kBAAA,GAAqB5E,WAAA,CAAY;IACrC,IAAI;MACF,MAAM4D,KAAA,CAAM,GAAG5B,QAAA,0BAAkCd,YAAA,CAAaoB,EAAE,EAAE,EAAE;QAClEuC,IAAA,EAAMC,IAAA,CAAKC,SAAS,CAAC;UACnBxB,OAAA,EAAS3D,6BAAA,CAA8B0B,KAAA,CAAMiC,OAAO;UACpDE,KAAA,EAAOnC,KAAA,CAAMmC;QACf;QACAuB,WAAA,EAAa;QACbC,OAAA,EAAS;UACP,gBAAgB;QAClB;QACApB,MAAA,EAAQ;MACV,GAAGC,IAAI,CAAC,MAAOC,GAAA;QACb,IAAI;UACF,MAAMC,IAAA,GAAO,MAAMD,GAAA,CAAIC,IAAI;UAE3B,IAAID,GAAA,CAAIE,MAAM,GAAG,KAAK;YACpB/D,KAAA,CAAMgE,OAAO,CACXvC,CAAA,CAAE,oCAAoC;cACpCwC,KAAA,EAAOxE,cAAA,CAAeuC,YAAA,EAAckC,MAAA,EAAQC,QAAA,EAAU3C,IAAA;YACxD;YAGFD,gBAAA,CAAiB;UACnB,OAAO;YACL,IAAIuC,IAAA,CAAKO,MAAM,EAAE;cACfP,IAAA,CAAKO,MAAM,CAACC,OAAO,CAAEC,KAAA,IAAUvE,KAAA,CAAMuE,KAAK,CAACA,KAAA,CAAMC,OAAO;YAC1D,OAAO;cACLxE,KAAA,CAAMuE,KAAK,CAAC9C,CAAA,CAAE;YAChB;UACF;QACF,EAAE,OAAOgD,IAAA,EAAM;UACbzE,KAAA,CAAMuE,KAAK,CAAC9C,CAAA,CAAE;QAChB;MACF;IACF,EAAE,OAAOgD,IAAA,EAAM;MACbzE,KAAA,CAAMuE,KAAK,CAAC9C,CAAA,CAAE;IAChB;EACF,GAAG,CACDK,QAAA,EACAd,YAAA,EAAcoB,EAAA,EACdhB,KAAA,CAAMiC,OAAO,EACbjC,KAAA,CAAMmC,KAAK,EACX9B,CAAA,EACAO,YAAA,EAAckC,MAAA,EAAQC,QAAA,EACtB3C,IAAA,EACAD,gBAAA,CACD;EAED,MAAMyD,iBAAA,GAAoBhE,YAAA,IAAgBG,QAAA;EAE1C,oBACE8D,KAAA,CAACpF,QAAA;4BACCoF,KAAA,CAAC;MAAIC,SAAA,EAAWpE,SAAA;8BACdmE,KAAA,CAAC;QAAIC,SAAA,EAAW,GAAGpE,SAAA,QAAiB;gCAClCqE,IAAA,CAACxE,kBAAA;UACCK,YAAA,EAAcA,YAAA;UACdoE,oBAAA,EAAsBpC,cAAA;UACtBqC,WAAA,EAAa7B;yBAEf2B,IAAA,CAAC1E,IAAA;UACC,cAAYgB,CAAA,CAAE,oBAAoB;YAAEwC,KAAA,EAAOjC,YAAA,EAAckC,MAAA,EAAQC;UAAS;UAC1Ee,SAAA,EAAW,GAAGpE,SAAA,qBAA8B;UAC5CwE,IAAA,eAAMH,IAAA,CAAClF,QAAA;UACPmC,EAAA,EAAG;UACHmD,OAAA,EAASA,CAAA;YACP/C,mBAAA;UACF;UACAgD,IAAA,EAAK;;uBAGTP,KAAA,CAAC;QAAIC,SAAA,EAAW,GAAGpE,SAAA,cAAuB;mBACvCkE,iBAAA,iBACCG,IAAA,CAAC3E,mBAAA;UACC4B,EAAA,EAAG;UAEHmD,OAAA,EAAS,MAAAA,CAAA;YACP,MAAMlE,cAAA,CACJ;cACEgC,OAAA,EAAS1D,8BAAA,CAA+BqB,YAAA,CAAaqC,OAAO;cAC5DE,KAAA,EAAOvC,YAAA,CAAauC;YACtB,GACA;UAEJ;UACAkC,IAAA,EAAK;oBAEJhE,CAAA,CAAE;WAZC,UAePuD,iBAAA,IAAqB9D,sBAAA,CAAuBwE,MAAM,iBACjDP,IAAA,CAAC3E,mBAAA;UACC4B,EAAA,EAAG;UAEHmD,OAAA,EAAS,MAAAA,CAAA;YACP,MAAMb,kBAAA;UACR;UACAe,IAAA,EAAK;oBAEJzE,YAAA,EAAc2E,QAAA,GAAWlE,CAAA,CAAE,+BAA+BA,CAAA,CAAE;WANzD,SASPT,YAAA,IAAgBE,sBAAA,EAAwB0E,MAAA,iBACvCX,KAAA,CAACpF,QAAA;kCACCsF,IAAA,CAAC3E,mBAAA;YACC4B,EAAA,EAAG;YACHmD,OAAA,EAASA,CAAA,KAAM7D,SAAA,CAAUd,4BAAA;YACzB6E,IAAA,EAAK;sBAEJhE,CAAA,CAAE,uBAAuB;cAAEwC,KAAA,EAAOjC,YAAA,EAAckC,MAAA,EAAQC;YAAS;2BAEpEgB,IAAA,CAAC3E,mBAAA;YACC4B,EAAA,EAAG;YACHmD,OAAA,EAASA,CAAA;cACPpD,kBAAA;YACF;YACAsD,IAAA,EAAK;sBAEJhE,CAAA,CAAE,qBAAqB;cAAEwC,KAAA,EAAOjC,YAAA,EAAckC,MAAA,EAAQC;YAAS;;;;qBAM1EgB,IAAA,CAAC9C,qBAAA;MACCwD,WAAA,EAAa;QACXxC,OAAA,EAAS3D,6BAAA,CAA8B0B,KAAA,CAAMiC,OAAO;QACpDT,iBAAA,EAAmB3B,cAAA;QACnBsC,KAAA,EAAOnC,KAAA,CAAMmC;MACf;MACAuC,MAAA,EAAQ,MAAAA,CAAO;QAAEC;MAAG,CAAE;QACpBxD,oBAAA;QACA,MAAMY,kBAAA,CAAmB4C,GAAA;MAC3B;MACAC,mBAAA,EAAqB;qBAEvBb,IAAA,CAAC9E,iBAAA;MACCsE,IAAA,eACEQ,IAAA,CAACzE,WAAA;QACCuF,QAAA,EAAU;UACR,KAAKC,CAAC;YAAEC;UAAQ,CAAE,kBAAKhB,IAAA,CAAC;sBAAQgB;;QAClC;QACAC,OAAA,EAAQ;QACR3E,CAAA,EAAGA,CAAA;QACH4E,SAAA,EAAW;UACTpC,KAAA,EAAOjC,YAAA,EAAckC,MAAA,EAAQC,QAAA;UAC7BC,KAAA,EAAOpD,YAAA,EAAcoD;QACvB;;MAGJkC,eAAA,EAAiB7E,CAAA,CAAE;MACnB8E,OAAA,EAAS9E,CAAA,CAAE;MACX+E,SAAA,EAAW5F,4BAAA;MACX6F,SAAA,EAAWhD;qBAEb0B,IAAA,CAAClD,oBAAA;MACCyE,QAAA,EAAUA,CAAA;QACR;MAAA,CACF;MACAC,WAAA,EAAa,MAAAA,CAAO;QAAEZ;MAAG,CAAE;QACzB,MAAM5C,kBAAA,CAAmB4C,GAAA;MAC3B;MACAD,MAAA,EAAQ,MAAAA,CAAO;QAAEC;MAAG,CAAE;QACpB,MAAM5C,kBAAA,CAAmB4C,GAAA;MAC3B;qBAEFZ,IAAA,CAACrC,UAAA;MACC8D,WAAA,EAAa;MACbC,mBAAmB;MACnBC,QAAA,EAAU,MAAAA,CAAO;QAAEf;MAAG,CAAE;QACtBhD,eAAA;QACA,MAAMI,kBAAA,CAAmB4C,GAAA;MAC3B;;;AAIR","ignoreList":[]}
@@ -0,0 +1,41 @@
1
+ @import '../../../scss/styles';
2
+
3
+ @layer payload-default {
4
+ .query-preset-bar {
5
+ display: flex;
6
+ gap: base(0.5);
7
+ justify-content: space-between;
8
+ background-color: var(--theme-elevation-50);
9
+ border-radius: var(--style-radius-m);
10
+ padding: base(0.5);
11
+
12
+ &__menu {
13
+ display: flex;
14
+ align-items: center;
15
+ gap: 4px;
16
+ flex-grow: 1;
17
+ }
18
+
19
+ &__create-new-preset {
20
+ height: 100%;
21
+ padding: 0 3px;
22
+ background: transparent;
23
+ box-shadow: inset 0 0 0 1px var(--theme-elevation-150);
24
+
25
+ &:hover {
26
+ background: transparent;
27
+ }
28
+ }
29
+
30
+ &__menu-items {
31
+ overflow: auto;
32
+ display: flex;
33
+ gap: base(0.5);
34
+
35
+ button {
36
+ color: var(--theme-elevation-500);
37
+ margin: 0;
38
+ }
39
+ }
40
+ }
41
+ }
@@ -1,6 +1,6 @@
1
1
  import type { QueryPreset } from 'payload';
2
2
  import './index.scss';
3
- export declare function ActiveQueryPreset({ activePreset, openPresetListDrawer, resetPreset, }: {
3
+ export declare function QueryPresetToggler({ activePreset, openPresetListDrawer, resetPreset, }: {
4
4
  activePreset: QueryPreset;
5
5
  openPresetListDrawer: () => void;
6
6
  resetPreset: () => Promise<void>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/QueryPresets/QueryPresetToggler/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAS1C,OAAO,cAAc,CAAA;AAIrB,wBAAgB,kBAAkB,CAAC,EACjC,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,+BAmDA"}
@@ -0,0 +1,198 @@
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 QueryPresetToggler(t0) {
14
+ const $ = _c(50);
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 t16;
35
+ let t17;
36
+ let t18;
37
+ let t2;
38
+ let t3;
39
+ let t4;
40
+ let t5;
41
+ let t6;
42
+ let t7;
43
+ let t8;
44
+ let t9;
45
+ if ($[0] !== activePreset || $[1] !== getEntityConfig || $[2] !== i18n || $[3] !== openPresetListDrawer || $[4] !== t) {
46
+ const presetsConfig = getEntityConfig({
47
+ collectionSlug: "payload-query-presets"
48
+ });
49
+ t17 = _jsx;
50
+ t18 = Pill;
51
+ const t19 = activePreset && `${baseClass}--active`;
52
+ let t20;
53
+ if ($[23] !== t19) {
54
+ t20 = [baseClass, t19].filter(Boolean);
55
+ $[23] = t19;
56
+ $[24] = t20;
57
+ } else {
58
+ t20 = $[24];
59
+ }
60
+ t12 = t20.join(" ");
61
+ t13 = "select-preset";
62
+ if ($[25] !== openPresetListDrawer) {
63
+ t14 = () => {
64
+ openPresetListDrawer();
65
+ };
66
+ $[25] = openPresetListDrawer;
67
+ $[26] = t14;
68
+ } else {
69
+ t14 = $[26];
70
+ }
71
+ t15 = "light";
72
+ t16 = "small";
73
+ t10 = _jsxs;
74
+ t11 = "div";
75
+ t9 = `${baseClass}__label`;
76
+ if ($[27] !== activePreset?.isShared) {
77
+ t8 = activePreset?.isShared && _jsx(PeopleIcon, {
78
+ className: `${baseClass}__shared`
79
+ });
80
+ $[27] = activePreset?.isShared;
81
+ $[28] = t8;
82
+ } else {
83
+ t8 = $[28];
84
+ }
85
+ t6 = _jsx;
86
+ t7 = "div";
87
+ t5 = `${baseClass}__label-text-max-width`;
88
+ t3 = _jsx;
89
+ t4 = "div";
90
+ t1 = `${baseClass}__label-text`;
91
+ t2 = activePreset?.title || t("general:selectLabel", {
92
+ label: getTranslation(presetsConfig.labels.singular, i18n)
93
+ });
94
+ $[0] = activePreset;
95
+ $[1] = getEntityConfig;
96
+ $[2] = i18n;
97
+ $[3] = openPresetListDrawer;
98
+ $[4] = t;
99
+ $[5] = t1;
100
+ $[6] = t10;
101
+ $[7] = t11;
102
+ $[8] = t12;
103
+ $[9] = t13;
104
+ $[10] = t14;
105
+ $[11] = t15;
106
+ $[12] = t16;
107
+ $[13] = t17;
108
+ $[14] = t18;
109
+ $[15] = t2;
110
+ $[16] = t3;
111
+ $[17] = t4;
112
+ $[18] = t5;
113
+ $[19] = t6;
114
+ $[20] = t7;
115
+ $[21] = t8;
116
+ $[22] = t9;
117
+ } else {
118
+ t1 = $[5];
119
+ t10 = $[6];
120
+ t11 = $[7];
121
+ t12 = $[8];
122
+ t13 = $[9];
123
+ t14 = $[10];
124
+ t15 = $[11];
125
+ t16 = $[12];
126
+ t17 = $[13];
127
+ t18 = $[14];
128
+ t2 = $[15];
129
+ t3 = $[16];
130
+ t4 = $[17];
131
+ t5 = $[18];
132
+ t6 = $[19];
133
+ t7 = $[20];
134
+ t8 = $[21];
135
+ t9 = $[22];
136
+ }
137
+ let t19;
138
+ if ($[29] !== activePreset || $[30] !== resetPreset || $[31] !== t1 || $[32] !== t10 || $[33] !== t11 || $[34] !== t12 || $[35] !== t13 || $[36] !== t14 || $[37] !== t15 || $[38] !== t16 || $[39] !== t17 || $[40] !== t18 || $[41] !== t2 || $[42] !== t3 || $[43] !== t4 || $[44] !== t5 || $[45] !== t6 || $[46] !== t7 || $[47] !== t8 || $[48] !== t9) {
139
+ t19 = t17(t18, {
140
+ className: t12,
141
+ id: t13,
142
+ onClick: t14,
143
+ pillStyle: t15,
144
+ size: t16,
145
+ children: t10(t11, {
146
+ className: t9,
147
+ children: [t8, t6(t7, {
148
+ className: t5,
149
+ children: t3(t4, {
150
+ className: t1,
151
+ children: t2
152
+ })
153
+ }), activePreset ? _jsx("div", {
154
+ className: `${baseClass}__clear`,
155
+ id: "clear-preset",
156
+ onClick: async e => {
157
+ e.stopPropagation();
158
+ await resetPreset();
159
+ },
160
+ onKeyDown: async e_0 => {
161
+ if (e_0.key === "Enter" || e_0.key === " ") {
162
+ e_0.stopPropagation();
163
+ await resetPreset();
164
+ }
165
+ },
166
+ role: "button",
167
+ tabIndex: 0,
168
+ children: _jsx(XIcon, {})
169
+ }) : null]
170
+ })
171
+ });
172
+ $[29] = activePreset;
173
+ $[30] = resetPreset;
174
+ $[31] = t1;
175
+ $[32] = t10;
176
+ $[33] = t11;
177
+ $[34] = t12;
178
+ $[35] = t13;
179
+ $[36] = t14;
180
+ $[37] = t15;
181
+ $[38] = t16;
182
+ $[39] = t17;
183
+ $[40] = t18;
184
+ $[41] = t2;
185
+ $[42] = t3;
186
+ $[43] = t4;
187
+ $[44] = t5;
188
+ $[45] = t6;
189
+ $[46] = t7;
190
+ $[47] = t8;
191
+ $[48] = t9;
192
+ $[49] = t19;
193
+ } else {
194
+ t19 = $[49];
195
+ }
196
+ return t19;
197
+ }
198
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["c","_c","getTranslation","PeopleIcon","XIcon","useConfig","useTranslation","Pill","baseClass","QueryPresetToggler","t0","$","activePreset","openPresetListDrawer","resetPreset","i18n","t","getEntityConfig","t1","t10","t11","t12","t13","t14","t15","t16","t17","t18","t2","t3","t4","t5","t6","t7","t8","t9","presetsConfig","collectionSlug","_jsx","t19","t20","filter","Boolean","join","_jsxs","isShared","className","title","label","labels","singular","id","onClick","pillStyle","size","children","e","stopPropagation","onKeyDown","e_0","key","role","tabIndex"],"sources":["../../../../src/elements/QueryPresets/QueryPresetToggler/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 QueryPresetToggler({\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=\"light\"\n size=\"small\"\n >\n <div className={`${baseClass}__label`}>\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 </div>\n </Pill>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,cAAc,QAAQ;AAE/B,SAASC,UAAU,QAAQ;AAC3B,SAASC,KAAK,QAAQ;AACtB,SAASC,SAAS,QAAQ;AAC1B,SAASC,cAAc,QAAQ;AAC/B,SAASC,IAAI,QAAQ;AACrB,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,OAAO,SAAAC,mBAAAC,EAAA;EAAA,MAAAC,CAAA,GAAAV,EAAA;EAA4B;IAAAW,YAAA;IAAAC,oBAAA;IAAAC;EAAA,IAAAJ,EAQlC;EACC;IAAAK,IAAA;IAAAC;EAAA,IAAoBV,cAAA;EACpB;IAAAW;EAAA,IAA4BZ,SAAA;EAAA,IAAAa,EAAA;EAAA,IAAAC,GAAA;EAAA,IAAAC,GAAA;EAAA,IAAAC,GAAA;EAAA,IAAAC,GAAA;EAAA,IAAAC,GAAA;EAAA,IAAAC,GAAA;EAAA,IAAAC,GAAA;EAAA,IAAAC,GAAA;EAAA,IAAAC,GAAA;EAAA,IAAAC,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAxB,CAAA,QAAAC,YAAA,IAAAD,CAAA,QAAAM,eAAA,IAAAN,CAAA,QAAAI,IAAA,IAAAJ,CAAA,QAAAE,oBAAA,IAAAF,CAAA,QAAAK,CAAA;IAE5B,MAAAoB,aAAA,GAAsBnB,eAAA;MAAAoB,cAAA,EACJ;IAAA,CAClB;IAGEC,GAAA,CAAAA,CAAA,CAAAA,IAAA;IAAC/B,GAAA,CAAAA,CAAA,CAAAA,IAAA;IACwB,MAAAgC,GAAA,GAAA3B,YAAA,IAAgB,GAAAJ,SAAA,UAAsB;IAAA,IAAAgC,GAAA;IAAA,IAAA7B,CAAA,SAAA4B,GAAA;MAAlDC,GAAA,IAAAhC,SAAA,EAAY+B,GAAsC,EAAAE,MAAA,CAAAC,OAAS;MAAA/B,CAAA,OAAA4B,GAAA;MAAA5B,CAAA,OAAA6B,GAAA;IAAA;MAAAA,GAAA,GAAA7B,CAAA;IAAA;IAA3DU,GAAA,GAAAmB,GAA2D,CAAAG,IAAA,CAAc;IACjFrB,GAAA;IAAA,IAAAX,CAAA,SAAAE,oBAAA;MACMU,GAAA,GAAAA,CAAA;QACPV,oBAAA;MAAA;MACFF,CAAA,OAAAE,oBAAA;MAAAF,CAAA,OAAAY,GAAA;IAAA;MAAAA,GAAA,GAAAZ,CAAA;IAAA;IACUa,GAAA;IACLC,GAAA;IAELmB,GAAA,CAAAA,CAAA,CAAAA,KAAA;IAACxB,GAAA;IAAee,EAAA,MAAA3B,SAAA,SAAqB;IAAA,IAAAG,CAAA,SAAAC,YAAA,EAAAiC,QAAA;MAClCX,EAAA,GAAAtB,YAAA,EAAAiC,QAAA,IAA0BP,IAAA,CAAAnC,UAAA;QAAA2C,SAAA,EAAuB,GAAAtC,SAAA;MAAsB,C;;;;;;IACxE8B,EAAA,CAAAA,CAAA,CAAAA,IAAA;IAACL,EAAA;IAAeF,EAAA,MAAAvB,SAAA,wBAAoC;IAClD8B,EAAA,CAAAA,CAAA,CAAAA,IAAA;IAACR,EAAA;IAAeZ,EAAA,MAAAV,SAAA,cAA0B;IACvCoB,EAAA,GAAAhB,YAAA,EAAAmC,KAAA,IACC/B,CAAA,CAAE;MAAAgC,KAAA,EACO9C,cAAA,CAAekC,aAAA,CAAAa,MAAA,CAAAC,QAAA,EAA+BnC,IAAA;IAAA,CACvD;IAAAJ,CAAA,MAAAC,YAAA;IAAAD,CAAA,MAAAM,eAAA;IAAAN,CAAA,MAAAI,IAAA;IAAAJ,CAAA,MAAAE,oBAAA;IAAAF,CAAA,MAAAK,CAAA;IAAAL,CAAA,MAAAO,EAAA;IAAAP,CAAA,MAAAQ,GAAA;IAAAR,CAAA,MAAAS,GAAA;IAAAT,CAAA,MAAAU,GAAA;IAAAV,CAAA,MAAAW,GAAA;IAAAX,CAAA,OAAAY,GAAA;IAAAZ,CAAA,OAAAa,GAAA;IAAAb,CAAA,OAAAc,GAAA;IAAAd,CAAA,OAAAe,GAAA;IAAAf,CAAA,OAAAgB,GAAA;IAAAhB,CAAA,OAAAiB,EAAA;IAAAjB,CAAA,OAAAkB,EAAA;IAAAlB,CAAA,OAAAmB,EAAA;IAAAnB,CAAA,OAAAoB,EAAA;IAAApB,CAAA,OAAAqB,EAAA;IAAArB,CAAA,OAAAsB,EAAA;IAAAtB,CAAA,OAAAuB,EAAA;IAAAvB,CAAA,OAAAwB,EAAA;EAAA;IAAAjB,EAAA,GAAAP,CAAA;IAAAQ,GAAA,GAAAR,CAAA;IAAAS,GAAA,GAAAT,CAAA;IAAAU,GAAA,GAAAV,CAAA;IAAAW,GAAA,GAAAX,CAAA;IAAAY,GAAA,GAAAZ,CAAA;IAAAa,GAAA,GAAAb,CAAA;IAAAc,GAAA,GAAAd,CAAA;IAAAe,GAAA,GAAAf,CAAA;IAAAgB,GAAA,GAAAhB,CAAA;IAAAiB,EAAA,GAAAjB,CAAA;IAAAkB,EAAA,GAAAlB,CAAA;IAAAmB,EAAA,GAAAnB,CAAA;IAAAoB,EAAA,GAAApB,CAAA;IAAAqB,EAAA,GAAArB,CAAA;IAAAsB,EAAA,GAAAtB,CAAA;IAAAuB,EAAA,GAAAvB,CAAA;IAAAwB,EAAA,GAAAxB,CAAA;EAAA;EAAA,IAAA4B,GAAA;EAAA,IAAA5B,CAAA,SAAAC,YAAA,IAAAD,CAAA,SAAAG,WAAA,IAAAH,CAAA,SAAAO,EAAA,IAAAP,CAAA,SAAAQ,GAAA,IAAAR,CAAA,SAAAS,GAAA,IAAAT,CAAA,SAAAU,GAAA,IAAAV,CAAA,SAAAW,GAAA,IAAAX,CAAA,SAAAY,GAAA,IAAAZ,CAAA,SAAAa,GAAA,IAAAb,CAAA,SAAAc,GAAA,IAAAd,CAAA,SAAAe,GAAA,IAAAf,CAAA,SAAAgB,GAAA,IAAAhB,CAAA,SAAAiB,EAAA,IAAAjB,CAAA,SAAAkB,EAAA,IAAAlB,CAAA,SAAAmB,EAAA,IAAAnB,CAAA,SAAAoB,EAAA,IAAApB,CAAA,SAAAqB,EAAA,IAAArB,CAAA,SAAAsB,EAAA,IAAAtB,CAAA,SAAAuB,EAAA,IAAAvB,CAAA,SAAAwB,EAAA;IAhBVI,GAAA,GAAAD,GAAA,CAAC/B,GAAA;MAAAuC,SAAA,EACYzB,GAAyE;MAAA8B,EAAA,EACjF7B,GAAA;MAAA8B,OAAA,EACM7B,GAET;MAAA8B,SAAA,EACU7B,GAAA;MAAA8B,IAAA,EACL7B,GAAA;MAAA8B,QAAA,EAELX,GAAA,CAACxB,GAAA;QAAA0B,SAAA,EAAeX,EAAqB;QAAAoB,QAAA,GAClCrB,E,EACDI,EAAA,CAACL,EAAA;UAAAa,SAAA,EAAef,EAAoC;UAAAwB,QAAA,EAClDjB,EAAA,CAACR,EAAA;YAAAgB,SAAA,EAAe5B,EAA0B;YAAAqC,QAAA,EACvC3B;UAGC,C;YAGLhB,YAAA,GACC0B,IAAA,CAAC;UAAAQ,SAAA,EACY,GAAAtC,SAAA,SAAqB;UAAA2C,EAAA,EAC7B;UAAAC,OAAA,QAAAI,CAAA;YAEDA,CAAA,CAAAC,eAAA,CAAiB;YAAA,MACX3C,WAAA;UAAA;UAAA4C,SAAA,QAAAC,GAAA;YAAA,IAGFH,GAAA,CAAAI,GAAA,KAAU,WAAWJ,GAAA,CAAAI,GAAA,KAAU;cACjCJ,GAAA,CAAAC,eAAA,CAAiB;cAAA,MACX3C,WAAA;YAAA;UAAA;UAAA+C,IAAA,EAGL;UAAAC,QAAA;UAAAP,QAAA,EAGLjB,IAAA,CAAAlC,KAAA,IAAC;QAAA,C,QAED;MAAA,C;;;;;;;;;;;;;;;;;;;;;;;;;;SAtCRmC,G","ignoreList":[]}
@@ -0,0 +1,61 @@
1
+ @import '../../../scss/styles';
2
+
3
+ @layer payload-default {
4
+ .active-query-preset {
5
+ &__label {
6
+ display: flex;
7
+ align-items: center;
8
+ }
9
+
10
+ &__label-text-max-width {
11
+ max-width: 100px;
12
+ overflow: hidden;
13
+ }
14
+
15
+ &__label-text {
16
+ text-overflow: ellipsis;
17
+ overflow: hidden;
18
+ white-space: nowrap;
19
+ }
20
+
21
+ &__label-and-clear-wrap {
22
+ display: flex;
23
+ align-items: center;
24
+ }
25
+
26
+ &__shared {
27
+ margin-right: 2px;
28
+ }
29
+
30
+ &__clear {
31
+ display: flex;
32
+ align-items: center;
33
+ width: var(--pill-icon-size);
34
+ height: var(--pill-icon-size);
35
+ }
36
+
37
+ &--active {
38
+ box-shadow: inset 0 0 0 1px var(--theme-elevation-200);
39
+ background-color: var(--theme-elevation-0);
40
+ padding-right: 4px;
41
+
42
+ &:hover {
43
+ background-color: var(--theme-elevation-100);
44
+ }
45
+ }
46
+ }
47
+
48
+ html[data-theme='dark'] {
49
+ .active-query-preset {
50
+ &--active {
51
+ box-shadow: inset 0 0 0 1px var(--theme-elevation-300);
52
+ color: var(--theme-elevation-0);
53
+ background-color: var(--theme-elevation-800);
54
+
55
+ &:hover {
56
+ background-color: var(--theme-elevation-700);
57
+ }
58
+ }
59
+ }
60
+ }
61
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Status/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsB,MAAM,OAAO,CAAA;AAW1C,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAyM1B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Status/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsB,MAAM,OAAO,CAAA;AAW1C,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAiN1B,CAAA"}
@@ -23,6 +23,7 @@ export const Status = () => {
23
23
  hasPublishedDoc,
24
24
  incrementVersionCount,
25
25
  isTrashed,
26
+ savedDocumentData: doc,
26
27
  setHasPublishedDoc,
27
28
  setMostRecentVersionIsAutosaved,
28
29
  setUnpublishedVersionCount,
@@ -37,7 +38,8 @@ export const Status = () => {
37
38
  api
38
39
  },
39
40
  serverURL
40
- }
41
+ },
42
+ getEntityConfig
41
43
  } = useConfig();
42
44
  const {
43
45
  reset: resetForm
@@ -51,13 +53,21 @@ export const Status = () => {
51
53
  } = useTranslation();
52
54
  const unPublishModalSlug = `confirm-un-publish-${id}`;
53
55
  const revertModalSlug = `confirm-revert-${id}`;
54
- let statusToRender;
55
- if (unpublishedVersionCount > 0 && hasPublishedDoc) {
56
- statusToRender = 'changed';
57
- } else if (!hasPublishedDoc) {
58
- statusToRender = 'draft';
59
- } else if (hasPublishedDoc && unpublishedVersionCount <= 0) {
60
- statusToRender = 'published';
56
+ let statusToRender = 'draft';
57
+ const collectionConfig = getEntityConfig({
58
+ collectionSlug
59
+ });
60
+ const globalConfig = getEntityConfig({
61
+ globalSlug
62
+ });
63
+ const docConfig = collectionConfig || globalConfig;
64
+ const autosaveEnabled = typeof docConfig?.versions?.drafts === 'object' ? docConfig.versions.drafts.autosave : false;
65
+ if (autosaveEnabled) {
66
+ if (hasPublishedDoc) {
67
+ statusToRender = unpublishedVersionCount > 0 ? 'changed' : 'published';
68
+ }
69
+ } else {
70
+ statusToRender = doc._status || 'draft';
61
71
  }
62
72
  const displayStatusKey = isTrashed ? hasPublishedDoc ? 'previouslyPublished' : 'previouslyDraft' : statusToRender;
63
73
  const performAction = useCallback(async action => {
@@ -154,7 +164,7 @@ export const Status = () => {
154
164
  modalSlug: unPublishModalSlug,
155
165
  onConfirm: () => performAction('unpublish')
156
166
  })]
157
- }), !isTrashed && canUpdate && statusToRender === 'changed' && /*#__PURE__*/_jsxs(React.Fragment, {
167
+ }), !isTrashed && canUpdate && statusToRender === 'changed' || statusToRender === 'draft' && /*#__PURE__*/_jsxs(React.Fragment, {
158
168
  children: [" — ", /*#__PURE__*/_jsx(Button, {
159
169
  buttonStyle: "none",
160
170
  className: `${baseClass}__action`,