@payloadcms/ui 3.24.0 → 3.25.0-canary.6d6bbd2

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 (69) hide show
  1. package/dist/elements/ConfirmationModal/index.d.ts.map +1 -1
  2. package/dist/elements/ConfirmationModal/index.js +2 -3
  3. package/dist/elements/ConfirmationModal/index.js.map +1 -1
  4. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  5. package/dist/elements/DeleteMany/index.js +2 -2
  6. package/dist/elements/DeleteMany/index.js.map +1 -1
  7. package/dist/elements/DeleteMany/index.scss +16 -0
  8. package/dist/elements/EditMany/index.d.ts.map +1 -1
  9. package/dist/elements/EditMany/index.js +22 -14
  10. package/dist/elements/EditMany/index.js.map +1 -1
  11. package/dist/elements/EditMany/index.scss +5 -19
  12. package/dist/elements/ListControls/index.d.ts +8 -0
  13. package/dist/elements/ListControls/index.d.ts.map +1 -1
  14. package/dist/elements/ListControls/index.js +3 -19
  15. package/dist/elements/ListControls/index.js.map +1 -1
  16. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  17. package/dist/elements/ListDrawer/DrawerContent.js +4 -1
  18. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  19. package/dist/elements/ListDrawer/Provider.d.ts +8 -1
  20. package/dist/elements/ListDrawer/Provider.d.ts.map +1 -1
  21. package/dist/elements/ListDrawer/Provider.js.map +1 -1
  22. package/dist/elements/ListSelection/index.d.ts +4 -0
  23. package/dist/elements/ListSelection/index.d.ts.map +1 -1
  24. package/dist/elements/ListSelection/index.js +44 -23
  25. package/dist/elements/ListSelection/index.js.map +1 -1
  26. package/dist/elements/ListSelection/index.scss +4 -0
  27. package/dist/elements/PublishMany/index.d.ts +1 -0
  28. package/dist/elements/PublishMany/index.d.ts.map +1 -1
  29. package/dist/elements/PublishMany/index.js +3 -2
  30. package/dist/elements/PublishMany/index.js.map +1 -1
  31. package/dist/elements/PublishMany/index.scss +21 -0
  32. package/dist/elements/TableColumns/RenderDefaultCell/index.d.ts.map +1 -1
  33. package/dist/elements/TableColumns/RenderDefaultCell/index.js +1 -0
  34. package/dist/elements/TableColumns/RenderDefaultCell/index.js.map +1 -1
  35. package/dist/elements/UnpublishMany/index.d.ts +1 -0
  36. package/dist/elements/UnpublishMany/index.d.ts.map +1 -1
  37. package/dist/elements/UnpublishMany/index.js +3 -2
  38. package/dist/elements/UnpublishMany/index.js.map +1 -1
  39. package/dist/elements/UnpublishMany/index.scss +21 -0
  40. package/dist/elements/WhereBuilder/field-types.d.ts.map +1 -1
  41. package/dist/elements/WhereBuilder/field-types.js +9 -5
  42. package/dist/elements/WhereBuilder/field-types.js.map +1 -1
  43. package/dist/exports/client/index.js +23 -23
  44. package/dist/exports/client/index.js.map +4 -4
  45. package/dist/fields/Blocks/BlocksDrawer/index.d.ts.map +1 -1
  46. package/dist/fields/Blocks/BlocksDrawer/index.js +85 -103
  47. package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
  48. package/dist/fields/Blocks/BlocksDrawer/index.scss +43 -0
  49. package/dist/fields/Upload/Input.js +13 -13
  50. package/dist/fields/Upload/Input.js.map +1 -1
  51. package/dist/forms/Form/context.d.ts +3 -3
  52. package/dist/forms/Form/context.js +3 -3
  53. package/dist/forms/Form/context.js.map +1 -1
  54. package/dist/forms/useField/index.d.ts +1 -1
  55. package/dist/forms/useField/index.js +1 -1
  56. package/dist/forms/useField/index.js.map +1 -1
  57. package/dist/styles.css +1 -1
  58. package/dist/utilities/upsertPreferences.d.ts +5 -1
  59. package/dist/utilities/upsertPreferences.d.ts.map +1 -1
  60. package/dist/utilities/upsertPreferences.js +11 -14
  61. package/dist/utilities/upsertPreferences.js.map +1 -1
  62. package/dist/views/List/ListHeader/index.d.ts +2 -0
  63. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  64. package/dist/views/List/ListHeader/index.js +5 -0
  65. package/dist/views/List/ListHeader/index.js.map +1 -1
  66. package/dist/views/List/index.d.ts.map +1 -1
  67. package/dist/views/List/index.js +11 -20
  68. package/dist/views/List/index.js.map +1 -1
  69. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../../src/elements/ListDrawer/Provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAIxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAA;AACtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AACnE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAErD,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAA;IACrC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAA;IACjE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,cAAc,EAAE,CAAA;IAC9C,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,UAAU,CAAC,KAAK,IAAI,CAAA;IACvF,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAA;IACnD,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,cAAc,EAAE,cAAc,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IACrF,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;IACxC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,CAAA;CAC9D,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,UAAU,EAAE,OAAO,CAAA;CACpB,GAAG,sBAAsB,CAAA;AAE1B,eAAO,MAAM,iBAAiB,gDAA6C,CAAA;AAE3E,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,EAAE,CAC9C;IACE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,GAAG,sBAAsB,CAO3B,CAAA;AAED,eAAO,MAAM,oBAAoB,QAAO,qBAQvC,CAAA"}
1
+ {"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../../src/elements/ListDrawer/Provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAI9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAA;AACtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AACnE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAErD,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAA;IACrC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAA;IACjE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,cAAc,EAAE,CAAA;IAC9C,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,UAAU,CAAC,KAAK,IAAI,CAAA;IACvF,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAA;IACnD,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE;QACzB,cAAc,EAAE,cAAc,CAAA;QAC9B,GAAG,EAAE,IAAI,CAAA;QACT;;;;WAIG;QACH,KAAK,EAAE,MAAM,CAAA;KACd,KAAK,IAAI,CAAA;IACV,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;IACxC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,CAAA;CAC9D,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,UAAU,EAAE,OAAO,CAAA;CACpB,GAAG,sBAAsB,CAAA;AAE1B,eAAO,MAAM,iBAAiB,gDAA6C,CAAA;AAE3E,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,EAAE,CAC9C;IACE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,GAAG,sBAAsB,CAO3B,CAAA;AAED,eAAO,MAAM,oBAAoB,QAAO,qBAQvC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Provider.js","names":["createContext","useContext","ListDrawerContext","ListDrawerContextProvider","children","rest","_jsx","Provider","value","isInDrawer","Boolean","drawerSlug","useListDrawerContext","context","Error"],"sources":["../../../src/elements/ListDrawer/Provider.tsx"],"sourcesContent":["import type { CollectionSlug, ListQuery } from 'payload'\n\nimport { createContext, useContext } from 'react'\n\nimport type { useSelection } from '../../providers/Selection/index.js'\nimport type { UseDocumentDrawer } from '../DocumentDrawer/types.js'\nimport type { Option } from '../ReactSelect/index.js'\n\nexport type ListDrawerContextProps = {\n readonly createNewDrawerSlug?: string\n readonly DocumentDrawerToggler?: ReturnType<UseDocumentDrawer>[1]\n readonly drawerSlug?: string\n readonly enabledCollections?: CollectionSlug[]\n readonly onBulkSelect?: (selected: ReturnType<typeof useSelection>['selected']) => void\n readonly onQueryChange?: (query: ListQuery) => void\n readonly onSelect?: (args: { collectionSlug: CollectionSlug; docID: string }) => void\n readonly selectedOption?: Option<string>\n readonly setSelectedOption?: (option: Option<string>) => void\n}\n\nexport type ListDrawerContextType = {\n isInDrawer: boolean\n} & ListDrawerContextProps\n\nexport const ListDrawerContext = createContext({} as ListDrawerContextType)\n\nexport const ListDrawerContextProvider: React.FC<\n {\n children: React.ReactNode\n } & ListDrawerContextProps\n> = ({ children, ...rest }) => {\n return (\n <ListDrawerContext.Provider value={{ isInDrawer: Boolean(rest.drawerSlug), ...rest }}>\n {children}\n </ListDrawerContext.Provider>\n )\n}\n\nexport const useListDrawerContext = (): ListDrawerContextType => {\n const context = useContext(ListDrawerContext)\n\n if (!context) {\n throw new Error('useListDrawerContext must be used within a ListDrawerContextProvider')\n }\n\n return context\n}\n"],"mappings":";AAEA,SAASA,aAAa,EAAEC,UAAU,QAAQ;AAsB1C,OAAO,MAAMC,iBAAA,gBAAoBF,aAAA,CAAc,CAAC;AAEhD,OAAO,MAAMG,yBAAA,GAITA,CAAC;EAAEC,QAAQ;EAAE,GAAGC;AAAA,CAAM;EACxB,oBACEC,IAAA,CAACJ,iBAAA,CAAkBK,QAAQ;IAACC,KAAA,EAAO;MAAEC,UAAA,EAAYC,OAAA,CAAQL,IAAA,CAAKM,UAAU;MAAG,GAAGN;IAAK;cAChFD;;AAGP;AAEA,OAAO,MAAMQ,oBAAA,GAAuBA,CAAA;EAClC,MAAMC,OAAA,GAAUZ,UAAA,CAAWC,iBAAA;EAE3B,IAAI,CAACW,OAAA,EAAS;IACZ,MAAM,IAAIC,KAAA,CAAM;EAClB;EAEA,OAAOD,OAAA;AACT","ignoreList":[]}
1
+ {"version":3,"file":"Provider.js","names":["createContext","useContext","ListDrawerContext","ListDrawerContextProvider","children","rest","_jsx","Provider","value","isInDrawer","Boolean","drawerSlug","useListDrawerContext","context","Error"],"sources":["../../../src/elements/ListDrawer/Provider.tsx"],"sourcesContent":["import type { CollectionSlug, Data, ListQuery } from 'payload'\n\nimport { createContext, useContext } from 'react'\n\nimport type { useSelection } from '../../providers/Selection/index.js'\nimport type { UseDocumentDrawer } from '../DocumentDrawer/types.js'\nimport type { Option } from '../ReactSelect/index.js'\n\nexport type ListDrawerContextProps = {\n readonly allowCreate?: boolean\n readonly createNewDrawerSlug?: string\n readonly DocumentDrawerToggler?: ReturnType<UseDocumentDrawer>[1]\n readonly drawerSlug?: string\n readonly enabledCollections?: CollectionSlug[]\n readonly onBulkSelect?: (selected: ReturnType<typeof useSelection>['selected']) => void\n readonly onQueryChange?: (query: ListQuery) => void\n readonly onSelect?: (args: {\n collectionSlug: CollectionSlug\n doc: Data\n /**\n * @deprecated\n * The `docID` property is deprecated and will be removed in the next major version of Payload.\n * Use `doc.id` instead.\n */\n docID: string\n }) => void\n readonly selectedOption?: Option<string>\n readonly setSelectedOption?: (option: Option<string>) => void\n}\n\nexport type ListDrawerContextType = {\n isInDrawer: boolean\n} & ListDrawerContextProps\n\nexport const ListDrawerContext = createContext({} as ListDrawerContextType)\n\nexport const ListDrawerContextProvider: React.FC<\n {\n children: React.ReactNode\n } & ListDrawerContextProps\n> = ({ children, ...rest }) => {\n return (\n <ListDrawerContext.Provider value={{ isInDrawer: Boolean(rest.drawerSlug), ...rest }}>\n {children}\n </ListDrawerContext.Provider>\n )\n}\n\nexport const useListDrawerContext = (): ListDrawerContextType => {\n const context = useContext(ListDrawerContext)\n\n if (!context) {\n throw new Error('useListDrawerContext must be used within a ListDrawerContextProvider')\n }\n\n return context\n}\n"],"mappings":";AAEA,SAASA,aAAa,EAAEC,UAAU,QAAQ;AAgC1C,OAAO,MAAMC,iBAAA,gBAAoBF,aAAA,CAAc,CAAC;AAEhD,OAAO,MAAMG,yBAAA,GAITA,CAAC;EAAEC,QAAQ;EAAE,GAAGC;AAAA,CAAM;EACxB,oBACEC,IAAA,CAACJ,iBAAA,CAAkBK,QAAQ;IAACC,KAAA,EAAO;MAAEC,UAAA,EAAYC,OAAA,CAAQL,IAAA,CAAKM,UAAU;MAAG,GAAGN;IAAK;cAChFD;;AAGP;AAEA,OAAO,MAAMQ,oBAAA,GAAuBA,CAAA;EAClC,MAAMC,OAAA,GAAUZ,UAAA,CAAWC,iBAAA;EAE3B,IAAI,CAACW,OAAA,EAAS;IACZ,MAAM,IAAIC,KAAA,CAAM;EAClB;EAEA,OAAOD,OAAA;AACT","ignoreList":[]}
@@ -1,6 +1,10 @@
1
+ import type { ClientCollectionConfig } from 'payload';
1
2
  import React from 'react';
2
3
  import './index.scss';
3
4
  export type ListSelectionProps = {
5
+ collectionConfig?: ClientCollectionConfig;
6
+ disableBulkDelete?: boolean;
7
+ disableBulkEdit?: boolean;
4
8
  label: string;
5
9
  };
6
10
  export declare const ListSelection: React.FC<ListSelectionProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ListSelection/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAIvC,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA2BtD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ListSelection/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAErD,OAAO,KAAmB,MAAM,OAAO,CAAA;AAQvC,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,gBAAgB,CAAC,EAAE,sBAAsB,CAAA;IACzC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAsCtD,CAAA"}
@@ -5,11 +5,18 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
5
  import React, { Fragment } from 'react';
6
6
  import { SelectAllStatus, useSelection } from '../../providers/Selection/index.js';
7
7
  import { useTranslation } from '../../providers/Translation/index.js';
8
+ import { DeleteMany } from '../DeleteMany/index.js';
9
+ import { EditMany } from '../EditMany/index.js';
10
+ import { PublishMany } from '../PublishMany/index.js';
11
+ import { UnpublishMany } from '../UnpublishMany/index.js';
8
12
  import './index.scss';
9
13
  const baseClass = 'list-selection';
10
14
  export const ListSelection = t0 => {
11
- const $ = _c(7);
15
+ const $ = _c(10);
12
16
  const {
17
+ collectionConfig,
18
+ disableBulkDelete,
19
+ disableBulkEdit,
13
20
  label
14
21
  } = t0;
15
22
  const {
@@ -25,39 +32,53 @@ export const ListSelection = t0 => {
25
32
  return null;
26
33
  }
27
34
  let t1;
28
- if ($[0] !== count || $[1] !== label || $[2] !== selectAll || $[3] !== t || $[4] !== toggleAll || $[5] !== totalDocs) {
35
+ if ($[0] !== collectionConfig || $[1] !== count || $[2] !== disableBulkDelete || $[3] !== disableBulkEdit || $[4] !== label || $[5] !== selectAll || $[6] !== t || $[7] !== toggleAll || $[8] !== totalDocs) {
29
36
  t1 = _jsxs("div", {
30
37
  className: baseClass,
31
38
  children: [_jsx("span", {
32
39
  children: t("general:selectedCount", {
40
+ count,
41
+ label: ""
42
+ })
43
+ }), selectAll !== SelectAllStatus.AllAvailable && count < totalDocs && _jsx("button", {
44
+ "aria-label": t("general:selectAll", {
33
45
  count,
34
46
  label
47
+ }),
48
+ className: `${baseClass}__button`,
49
+ id: "select-all-across-pages",
50
+ onClick: () => toggleAll(true),
51
+ type: "button",
52
+ children: t("general:selectAll", {
53
+ count: totalDocs,
54
+ label: ""
35
55
  })
36
- }), selectAll !== SelectAllStatus.AllAvailable && _jsxs(Fragment, {
37
- children: [" ", "\u2014", _jsx("button", {
38
- "aria-label": t("general:selectAll", {
39
- count,
40
- label
41
- }),
42
- className: `${baseClass}__button`,
43
- onClick: () => toggleAll(true),
44
- type: "button",
45
- children: t("general:selectAll", {
46
- count: totalDocs,
47
- label
48
- })
56
+ }), !disableBulkEdit && !disableBulkDelete && _jsx("span", {
57
+ children: "\u2014"
58
+ }), !disableBulkEdit && _jsxs(Fragment, {
59
+ children: [_jsx(EditMany, {
60
+ collection: collectionConfig
61
+ }), _jsx(PublishMany, {
62
+ collection: collectionConfig
63
+ }), _jsx(UnpublishMany, {
64
+ collection: collectionConfig
49
65
  })]
66
+ }), !disableBulkDelete && _jsx(DeleteMany, {
67
+ collection: collectionConfig
50
68
  })]
51
69
  });
52
- $[0] = count;
53
- $[1] = label;
54
- $[2] = selectAll;
55
- $[3] = t;
56
- $[4] = toggleAll;
57
- $[5] = totalDocs;
58
- $[6] = t1;
70
+ $[0] = collectionConfig;
71
+ $[1] = count;
72
+ $[2] = disableBulkDelete;
73
+ $[3] = disableBulkEdit;
74
+ $[4] = label;
75
+ $[5] = selectAll;
76
+ $[6] = t;
77
+ $[7] = toggleAll;
78
+ $[8] = totalDocs;
79
+ $[9] = t1;
59
80
  } else {
60
- t1 = $[6];
81
+ t1 = $[9];
61
82
  }
62
83
  return t1;
63
84
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","Fragment","SelectAllStatus","useSelection","useTranslation","baseClass","ListSelection","t0","$","label","count","selectAll","toggleAll","totalDocs","t","t1","_jsxs","className","children","_jsx","AllAvailable","onClick","type"],"sources":["../../../src/elements/ListSelection/index.tsx"],"sourcesContent":["'use client'\nimport React, { Fragment } from 'react'\n\nimport { SelectAllStatus, useSelection } from '../../providers/Selection/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'list-selection'\n\nexport type ListSelectionProps = {\n label: string\n}\n\nexport const ListSelection: React.FC<ListSelectionProps> = ({ label }) => {\n const { count, selectAll, toggleAll, totalDocs } = useSelection()\n const { t } = useTranslation()\n\n if (count === 0) {\n return null\n }\n\n return (\n <div className={baseClass}>\n <span>{t('general:selectedCount', { count, label })}</span>\n {selectAll !== SelectAllStatus.AllAvailable && (\n <Fragment>\n {' '}\n &mdash;\n <button\n aria-label={t('general:selectAll', { count, label })}\n className={`${baseClass}__button`}\n onClick={() => toggleAll(true)}\n type=\"button\"\n >\n {t('general:selectAll', { count: totalDocs, label })}\n </button>\n </Fragment>\n )}\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,OAAOC,KAAA,IAASC,QAAQ,QAAQ;AAEhC,SAASC,eAAe,EAAEC,YAAY,QAAQ;AAC9C,SAASC,cAAc,QAAQ;AAC/B,OAAO;AAEP,MAAMC,SAAA,GAAY;AAMlB,OAAO,MAAMC,aAAA,GAA8CC,EAAA;EAAA,MAAAC,CAAA,GAAAT,EAAA;EAAC;IAAAU;EAAA,IAAAF,EAAS;EACnE;IAAAG,KAAA;IAAAC,SAAA;IAAAC,SAAA;IAAAC;EAAA,IAAmDV,YAAA;EACnD;IAAAW;EAAA,IAAcV,cAAA;EAAA,IAEVM,KAAA,MAAU;IAAA;EAAA;EAAA,IAAAK,EAAA;EAAA,IAAAP,CAAA,QAAAE,KAAA,IAAAF,CAAA,QAAAC,KAAA,IAAAD,CAAA,QAAAG,SAAA,IAAAH,CAAA,QAAAM,CAAA,IAAAN,CAAA,QAAAI,SAAA,IAAAJ,CAAA,QAAAK,SAAA;IAKZE,EAAA,GAAAC,KAAA,CAAC;MAAAC,SAAA,EAAAZ,SAAA;MAAAa,QAAA,GACCC,IAAA,CAAC;QAAAD,QAAA,EAAMJ,CAAA,CAAE;UAAAJ,KAAA;UAAAD;QAAA,CAAwC;MAAA,C,GAChDE,SAAA,KAAAT,eAAA,CAAAkB,YAA0C,IACzCJ,KAAA,CAAAf,QAAA;QAAAiB,QAAA,GACG,KAAI,UAELC,IAAA,CAAC;UAAA,cACaL,CAAA,CAAE;YAAAJ,KAAA;YAAAD;UAAA,CAAoC;UAAAQ,SAAA,EACvC,GAAAZ,SAAA,UAAsB;UAAAgB,OAAA,EAAAA,CAAA,KAClBT,SAAA,KAAU;UAAAU,IAAA,EACpB;UAAAJ,QAAA,EAEJJ,CAAA,CAAE;YAAAJ,KAAA,EAA8BG,SAAA;YAAAJ;UAAA,CAAiB;QAAA,C;;;;;;;;;;;;;SAZ1DM,E;CAkBJ","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","Fragment","SelectAllStatus","useSelection","useTranslation","DeleteMany","EditMany","PublishMany","UnpublishMany","baseClass","ListSelection","t0","$","collectionConfig","disableBulkDelete","disableBulkEdit","label","count","selectAll","toggleAll","totalDocs","t","t1","_jsxs","className","children","_jsx","AllAvailable","id","onClick","type","collection"],"sources":["../../../src/elements/ListSelection/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig } from 'payload'\n\nimport React, { Fragment } from 'react'\n\nimport { SelectAllStatus, useSelection } from '../../providers/Selection/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { DeleteMany } from '../DeleteMany/index.js'\nimport { EditMany } from '../EditMany/index.js'\nimport { PublishMany } from '../PublishMany/index.js'\nimport { UnpublishMany } from '../UnpublishMany/index.js'\nimport './index.scss'\n\nconst baseClass = 'list-selection'\n\nexport type ListSelectionProps = {\n collectionConfig?: ClientCollectionConfig\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n label: string\n}\n\nexport const ListSelection: React.FC<ListSelectionProps> = ({\n collectionConfig,\n disableBulkDelete,\n disableBulkEdit,\n label,\n}) => {\n const { count, selectAll, toggleAll, totalDocs } = useSelection()\n const { t } = useTranslation()\n\n if (count === 0) {\n return null\n }\n\n return (\n <div className={baseClass}>\n <span>{t('general:selectedCount', { count, label: '' })}</span>\n {selectAll !== SelectAllStatus.AllAvailable && count < totalDocs && (\n <button\n aria-label={t('general:selectAll', { count, label })}\n className={`${baseClass}__button`}\n id=\"select-all-across-pages\"\n onClick={() => toggleAll(true)}\n type=\"button\"\n >\n {t('general:selectAll', { count: totalDocs, label: '' })}\n </button>\n )}\n {!disableBulkEdit && !disableBulkDelete && <span>&mdash;</span>}\n {!disableBulkEdit && (\n <Fragment>\n <EditMany collection={collectionConfig} />\n <PublishMany collection={collectionConfig} />\n <UnpublishMany collection={collectionConfig} />\n </Fragment>\n )}\n {!disableBulkDelete && <DeleteMany collection={collectionConfig} />}\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,OAAOC,KAAA,IAASC,QAAQ,QAAQ;AAEhC,SAASC,eAAe,EAAEC,YAAY,QAAQ;AAC9C,SAASC,cAAc,QAAQ;AAC/B,SAASC,UAAU,QAAQ;AAC3B,SAASC,QAAQ,QAAQ;AACzB,SAASC,WAAW,QAAQ;AAC5B,SAASC,aAAa,QAAQ;AAC9B,OAAO;AAEP,MAAMC,SAAA,GAAY;AASlB,OAAO,MAAMC,aAAA,GAA8CC,EAAA;EAAA,MAAAC,CAAA,GAAAb,EAAA;EAAC;IAAAc,gBAAA;IAAAC,iBAAA;IAAAC,eAAA;IAAAC;EAAA,IAAAL,EAK3D;EACC;IAAAM,KAAA;IAAAC,SAAA;IAAAC,SAAA;IAAAC;EAAA,IAAmDjB,YAAA;EACnD;IAAAkB;EAAA,IAAcjB,cAAA;EAAA,IAEVa,KAAA,MAAU;IAAA;EAAA;EAAA,IAAAK,EAAA;EAAA,IAAAV,CAAA,QAAAC,gBAAA,IAAAD,CAAA,QAAAK,KAAA,IAAAL,CAAA,QAAAE,iBAAA,IAAAF,CAAA,QAAAG,eAAA,IAAAH,CAAA,QAAAI,KAAA,IAAAJ,CAAA,QAAAM,SAAA,IAAAN,CAAA,QAAAS,CAAA,IAAAT,CAAA,QAAAO,SAAA,IAAAP,CAAA,QAAAQ,SAAA;IAKZE,EAAA,GAAAC,KAAA,CAAC;MAAAC,SAAA,EAAAf,SAAA;MAAAgB,QAAA,GACCC,IAAA,CAAC;QAAAD,QAAA,EAAMJ,CAAA,CAAE;UAAAJ,KAAA;UAAAD,KAAA,EAAyC;QAAA,CAAG;MAAA,C,GACpDE,SAAA,KAAAhB,eAAA,CAAAyB,YAA0C,IAAIV,KAAA,GAAQG,SAAA,IACrDM,IAAA,CAAC;QAAA,cACaL,CAAA,CAAE;UAAAJ,KAAA;UAAAD;QAAA,CAAoC;QAAAQ,SAAA,EACvC,GAAAf,SAAA,UAAsB;QAAAmB,EAAA,EAC9B;QAAAC,OAAA,EAAAA,CAAA,KACYV,SAAA,KAAU;QAAAW,IAAA,EACpB;QAAAL,QAAA,EAEJJ,CAAA,CAAE;UAAAJ,KAAA,EAA8BG,SAAA;UAAAJ,KAAA,EAAkB;QAAA,CAAG;MAAA,C,GAGzD,CAACD,eAAA,KAAoBD,iBAAA,IAAqBY,IAAA,CAAC;QAAAD,QAAA,EAAK;MAAA,C,GAChD,CAACV,eAAA,IACAQ,KAAA,CAAAtB,QAAA;QAAAwB,QAAA,GACEC,IAAA,CAAApB,QAAA;UAAAyB,UAAA,EAAsBlB;QAAA,C,GACtBa,IAAA,CAAAnB,WAAA;UAAAwB,UAAA,EAAyBlB;QAAA,C,GACzBa,IAAA,CAAAlB,aAAA;UAAAuB,UAAA,EAA2BlB;QAAA,C;UAG9B,CAACC,iBAAA,IAAqBY,IAAA,CAAArB,UAAA;QAAA0B,UAAA,EAAwBlB;MAAA,C;;;;;;;;;;;;;;;SArBjDS,E;CAwBJ","ignoreList":[]}
@@ -2,8 +2,10 @@
2
2
 
3
3
  @layer payload-default {
4
4
  .list-selection {
5
+ display: flex;
5
6
  margin-left: auto;
6
7
  color: var(--theme-elevation-500);
8
+ gap: 0.5em;
7
9
 
8
10
  &__button {
9
11
  color: var(--theme-elevation-500);
@@ -11,6 +13,8 @@
11
13
  border: none;
12
14
  text-decoration: underline;
13
15
  cursor: pointer;
16
+ padding: 0;
17
+ font-size: inherit;
14
18
  }
15
19
 
16
20
  @include small-break {
@@ -1,5 +1,6 @@
1
1
  import type { ClientCollectionConfig } from 'payload';
2
2
  import React from 'react';
3
+ import './index.scss';
3
4
  export type PublishManyProps = {
4
5
  collection: ClientCollectionConfig;
5
6
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/PublishMany/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAMrD,OAAO,KAAsB,MAAM,OAAO,CAAA;AAa1C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,EAAE,sBAAsB,CAAA;CACnC,CAAA;AAID,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAgIlD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/PublishMany/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAMrD,OAAO,KAAsB,MAAM,OAAO,CAAA;AAW1C,OAAO,cAAc,CAAA;AAErB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,EAAE,sBAAsB,CAAA;CACnC,CAAA;AAID,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAiIlD,CAAA"}
@@ -15,7 +15,7 @@ import { useTranslation } from '../../providers/Translation/index.js';
15
15
  import { requests } from '../../utilities/api.js';
16
16
  import { parseSearchParams } from '../../utilities/parseSearchParams.js';
17
17
  import { ConfirmationModal } from '../ConfirmationModal/index.js';
18
- import { Pill } from '../Pill/index.js';
18
+ import './index.scss';
19
19
  const baseClass = 'publish-many';
20
20
  export const PublishMany = props => {
21
21
  const {
@@ -114,11 +114,12 @@ export const PublishMany = props => {
114
114
  return null;
115
115
  }
116
116
  return /*#__PURE__*/_jsxs(React.Fragment, {
117
- children: [/*#__PURE__*/_jsx(Pill, {
117
+ children: [/*#__PURE__*/_jsx("button", {
118
118
  className: `${baseClass}__toggle`,
119
119
  onClick: () => {
120
120
  openModal(modalSlug);
121
121
  },
122
+ type: "button",
122
123
  children: t('version:publish')
123
124
  }), /*#__PURE__*/_jsx(ConfirmationModal, {
124
125
  body: t('version:aboutToPublishSelection', {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["useModal","getTranslation","useRouter","useSearchParams","qs","React","useCallback","toast","useAuth","useConfig","useRouteCache","SelectAllStatus","useSelection","useTranslation","requests","parseSearchParams","ConfirmationModal","Pill","baseClass","PublishMany","props","clearRouteCache","collection","slug","labels","plural","singular","versions","config","routes","api","serverURL","permissions","i18n","t","getQueryParams","selectAll","router","searchParams","openModal","collectionPermissions","collections","hasPermission","update","modalSlug","addDefaultError","error","handlePublish","patch","_status","not_equals","body","JSON","stringify","headers","language","then","res","json","deletedDocs","docs","length","successLabel","status","success","count","label","errors","message","description","map","join","replace","page","undefined","addQueryPrefix","forEach","_err","drafts","None","_jsxs","Fragment","_jsx","className","onClick","cancelLabel","confirmingLabel","confirmLabel","heading","onConfirm"],"sources":["../../../src/elements/PublishMany/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 { parseSearchParams } from '../../utilities/parseSearchParams.js'\nimport { ConfirmationModal } from '../ConfirmationModal/index.js'\nimport { Pill } from '../Pill/index.js'\n\nexport type PublishManyProps = {\n collection: ClientCollectionConfig\n}\n\nconst baseClass = 'publish-many'\n\nexport const PublishMany: React.FC<PublishManyProps> = (props) => {\n const { clearRouteCache } = useRouteCache()\n\n const { collection: { slug, labels: { plural, singular }, versions } = {} } = props\n\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n\n const { permissions } = useAuth()\n const { i18n, t } = useTranslation()\n const { getQueryParams, selectAll } = useSelection()\n const router = useRouter()\n const searchParams = useSearchParams()\n const { openModal } = useModal()\n\n const collectionPermissions = permissions?.collections?.[slug]\n const hasPermission = collectionPermissions?.update\n\n const modalSlug = `publish-${slug}`\n\n const addDefaultError = useCallback(() => {\n toast.error(t('error:unknown'))\n }, [t])\n\n const handlePublish = useCallback(async () => {\n await requests\n .patch(\n `${serverURL}${api}/${slug}${getQueryParams({ _status: { not_equals: 'published' } })}&draft=true`,\n {\n body: JSON.stringify({\n _status: 'published',\n }),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\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:updatedCountSuccessfully', {\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 router.replace(\n qs.stringify(\n {\n ...parseSearchParams(searchParams),\n page: selectAll ? '1' : undefined,\n },\n { addQueryPrefix: true },\n ),\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 return null\n }\n\n if (json.errors) {\n json.errors.forEach((error) => toast.error(error.message))\n } else {\n addDefaultError()\n }\n return false\n } catch (_err) {\n return addDefaultError()\n }\n })\n }, [\n serverURL,\n api,\n slug,\n getQueryParams,\n i18n,\n plural,\n singular,\n t,\n router,\n searchParams,\n selectAll,\n clearRouteCache,\n addDefaultError,\n ])\n\n if (!versions?.drafts || selectAll === SelectAllStatus.None || !hasPermission) {\n return null\n }\n\n return (\n <React.Fragment>\n <Pill\n className={`${baseClass}__toggle`}\n onClick={() => {\n openModal(modalSlug)\n }}\n >\n {t('version:publish')}\n </Pill>\n <ConfirmationModal\n body={t('version:aboutToPublishSelection', { label: getTranslation(plural, i18n) })}\n cancelLabel={t('general:cancel')}\n confirmingLabel={t('version:publishing')}\n confirmLabel={t('general:confirm')}\n heading={t('version:confirmPublish')}\n modalSlug={modalSlug}\n onConfirm={handlePublish}\n />\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["useModal","getTranslation","useRouter","useSearchParams","qs","React","useCallback","toast","useAuth","useConfig","useRouteCache","SelectAllStatus","useSelection","useTranslation","requests","parseSearchParams","ConfirmationModal","baseClass","PublishMany","props","clearRouteCache","collection","slug","labels","plural","singular","versions","config","routes","api","serverURL","permissions","i18n","t","getQueryParams","selectAll","router","searchParams","openModal","collectionPermissions","collections","hasPermission","update","modalSlug","addDefaultError","error","handlePublish","patch","_status","not_equals","body","JSON","stringify","headers","language","then","res","json","deletedDocs","docs","length","successLabel","status","success","count","label","errors","message","description","map","join","replace","page","undefined","addQueryPrefix","forEach","_err","drafts","None","_jsxs","Fragment","_jsx","className","onClick","type","cancelLabel","confirmingLabel","confirmLabel","heading","onConfirm"],"sources":["../../../src/elements/PublishMany/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 { parseSearchParams } from '../../utilities/parseSearchParams.js'\nimport { ConfirmationModal } from '../ConfirmationModal/index.js'\nimport './index.scss'\n\nexport type PublishManyProps = {\n collection: ClientCollectionConfig\n}\n\nconst baseClass = 'publish-many'\n\nexport const PublishMany: React.FC<PublishManyProps> = (props) => {\n const { clearRouteCache } = useRouteCache()\n\n const { collection: { slug, labels: { plural, singular }, versions } = {} } = props\n\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n\n const { permissions } = useAuth()\n const { i18n, t } = useTranslation()\n const { getQueryParams, selectAll } = useSelection()\n const router = useRouter()\n const searchParams = useSearchParams()\n const { openModal } = useModal()\n\n const collectionPermissions = permissions?.collections?.[slug]\n const hasPermission = collectionPermissions?.update\n\n const modalSlug = `publish-${slug}`\n\n const addDefaultError = useCallback(() => {\n toast.error(t('error:unknown'))\n }, [t])\n\n const handlePublish = useCallback(async () => {\n await requests\n .patch(\n `${serverURL}${api}/${slug}${getQueryParams({ _status: { not_equals: 'published' } })}&draft=true`,\n {\n body: JSON.stringify({\n _status: 'published',\n }),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\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:updatedCountSuccessfully', {\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 router.replace(\n qs.stringify(\n {\n ...parseSearchParams(searchParams),\n page: selectAll ? '1' : undefined,\n },\n { addQueryPrefix: true },\n ),\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 return null\n }\n\n if (json.errors) {\n json.errors.forEach((error) => toast.error(error.message))\n } else {\n addDefaultError()\n }\n return false\n } catch (_err) {\n return addDefaultError()\n }\n })\n }, [\n serverURL,\n api,\n slug,\n getQueryParams,\n i18n,\n plural,\n singular,\n t,\n router,\n searchParams,\n selectAll,\n clearRouteCache,\n addDefaultError,\n ])\n\n if (!versions?.drafts || selectAll === SelectAllStatus.None || !hasPermission) {\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('version:publish')}\n </button>\n <ConfirmationModal\n body={t('version:aboutToPublishSelection', { label: getTranslation(plural, i18n) })}\n cancelLabel={t('general:cancel')}\n confirmingLabel={t('version:publishing')}\n confirmLabel={t('general:confirm')}\n heading={t('version:confirmPublish')}\n modalSlug={modalSlug}\n onConfirm={handlePublish}\n />\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,21 @@
1
+ @import '../../scss/styles.scss';
2
+
3
+ @layer payload-default {
4
+ .publish-many {
5
+ &__toggle {
6
+ font-size: inherit;
7
+ line-height: inherit;
8
+ display: inline-flex;
9
+ background: transparent;
10
+ color: var(--theme-elevation-800);
11
+ white-space: nowrap;
12
+ overflow: hidden;
13
+ text-overflow: ellipsis;
14
+ border: 0;
15
+ padding: 0;
16
+ align-items: center;
17
+ cursor: pointer;
18
+ text-decoration: underline;
19
+ }
20
+ }
21
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/TableColumns/RenderDefaultCell/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAExD,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,cAAc,CAAA;AAOrB,eAAO,MAAM,YAAY,QAAO,yBAAyB,GAAG,IACxB,CAAA;AAEpC,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC;IACvC,WAAW,EAAE,yBAAyB,CAAA;IACtC,WAAW,EAAE,MAAM,CAAA;IACnB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB,CA2BA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/TableColumns/RenderDefaultCell/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAExD,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,cAAc,CAAA;AAOrB,eAAO,MAAM,YAAY,QAAO,yBAAyB,GAAG,IACxB,CAAA;AAEpC,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC;IACvC,WAAW,EAAE,yBAAyB,CAAA;IACtC,WAAW,EAAE,MAAM,CAAA;IACnB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB,CA4BA,CAAA"}
@@ -45,6 +45,7 @@ export const RenderDefaultCell = t0 => {
45
45
  if (typeof onSelect === "function") {
46
46
  onSelect({
47
47
  collectionSlug: rowColl,
48
+ doc: rowData,
48
49
  docID: rowData.id
49
50
  });
50
51
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","useListDrawerContext","DefaultCell","useTableColumns","baseClass","CellPropsContext","createContext","useCellProps","useContext","RenderDefaultCell","t0","$","clientProps","columnIndex","isLinkedColumn","drawerSlug","onSelect","LinkedCellOverride","t1","propsToPass","className","link","t2","t3","collectionSlug","rowColl","rowData","docID","id","onClick","_jsx","Provider","value","children"],"sources":["../../../../src/elements/TableColumns/RenderDefaultCell/index.tsx"],"sourcesContent":["'use client'\nimport type { DefaultCellComponentProps } from 'payload'\n\nimport React from 'react'\n\nimport { useListDrawerContext } from '../../../elements/ListDrawer/Provider.js'\nimport { DefaultCell } from '../../Table/DefaultCell/index.js'\nimport './index.scss'\nimport { useTableColumns } from '../index.js'\n\nconst baseClass = 'default-cell'\n\nconst CellPropsContext = React.createContext<DefaultCellComponentProps | null>(null)\n\nexport const useCellProps = (): DefaultCellComponentProps | null =>\n React.useContext(CellPropsContext)\n\nexport const RenderDefaultCell: React.FC<{\n clientProps: DefaultCellComponentProps\n columnIndex: number\n enableRowSelections?: boolean\n isLinkedColumn?: boolean\n}> = ({ clientProps, columnIndex, isLinkedColumn }) => {\n const { drawerSlug, onSelect } = useListDrawerContext()\n const { LinkedCellOverride } = useTableColumns()\n\n const propsToPass: DefaultCellComponentProps = {\n ...clientProps,\n columnIndex,\n }\n\n if (isLinkedColumn && drawerSlug) {\n propsToPass.className = `${baseClass}__first-cell`\n propsToPass.link = false\n propsToPass.onClick = ({ collectionSlug: rowColl, rowData }) => {\n if (typeof onSelect === 'function') {\n onSelect({\n collectionSlug: rowColl,\n docID: rowData.id as string,\n })\n }\n }\n }\n\n return (\n <CellPropsContext.Provider value={propsToPass}>\n {isLinkedColumn && LinkedCellOverride ? LinkedCellOverride : <DefaultCell {...propsToPass} />}\n </CellPropsContext.Provider>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,OAAOC,KAAA,MAAW;AAElB,SAASC,oBAAoB,QAAQ;AACrC,SAASC,WAAW,QAAQ;AAC5B,OAAO;AACP,SAASC,eAAe,QAAQ;AAEhC,MAAMC,SAAA,GAAY;AAElB,MAAMC,gBAAA,gBAAmBL,KAAA,CAAMM,aAAa,CAAmC;AAE/E,OAAO,MAAMC,YAAA,GAAeA,CAAA;EAAA,OAC1BP,KAAA,CAAAQ,UAAA,CAAAH,gBAAiB;AAAA;AAEnB,OAAO,MAAMI,iBAAA,GAKRC,EAAA;EAAA,MAAAC,CAAA,GAAAZ,EAAA;EAAC;IAAAa,WAAA;IAAAC,WAAA;IAAAC;EAAA,IAAAJ,EAA4C;EAChD;IAAAK,UAAA;IAAAC;EAAA,IAAiCf,oBAAA;EACjC;IAAAgB;EAAA,IAA+Bd,eAAA;EAAA,IAAAe,EAAA;EAAA,IAAAP,CAAA,QAAAM,kBAAA,IAAAN,CAAA,QAAAC,WAAA,IAAAD,CAAA,QAAAE,WAAA,IAAAF,CAAA,QAAAI,UAAA,IAAAJ,CAAA,QAAAG,cAAA,IAAAH,CAAA,QAAAK,QAAA;IAE/B,MAAAG,WAAA;MAAA,GACKP,WAAW;MAAAC;IAAA;IAEhB,IAEIC,cAAA,IAAkBC,UAAA;MACpBI,WAAA,CAAAC,SAAA,GAAwB,GAAAhB,SAAA,cAA0B;MAClDe,WAAA,CAAAE,IAAA;MAAA,IAAAC,EAAA;MAAA,IAAAX,CAAA,QAAAK,QAAA;QACsBM,EAAA,GAAAC,EAAA;UAAC;YAAAC,cAAA,EAAAC,OAAA;YAAAC;UAAA,IAAAH,EAAoC;UAAA,IACrD,OAAOP,QAAA,KAAa;YACtBA,QAAA;cAAAQ,cAAA,EACkBC,OAAA;cAAAE,KAAA,EACTD,OAAA,CAAAE;YAAA,CACT;UAAA;QAAA;QAEJjB,CAAA,MAAAK,QAAA;QAAAL,CAAA,MAAAW,EAAA;MAAA;QAAAA,EAAA,GAAAX,CAAA;MAAA;MAPAQ,WAAA,CAAAU,OAAA,GAAsBP,EAOtB;IAAA;IAIAJ,EAAA,GAAAY,IAAA,CAAAzB,gBAAA,CAAA0B,QAAA;MAAAC,KAAA,EAAkCb,WAAA;MAAAc,QAAA,EAC/BnB,cAAA,IAAkBG,kBAAA,GAAqBA,kBAAA,GAAqBa,IAAA,CAAA5B,WAAA;QAAA,GAAiBiB;MAAW,C;;;;;;;;;;;;SAD3FD,E;CAIJ","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","useListDrawerContext","DefaultCell","useTableColumns","baseClass","CellPropsContext","createContext","useCellProps","useContext","RenderDefaultCell","t0","$","clientProps","columnIndex","isLinkedColumn","drawerSlug","onSelect","LinkedCellOverride","t1","propsToPass","className","link","t2","t3","collectionSlug","rowColl","rowData","doc","docID","id","onClick","_jsx","Provider","value","children"],"sources":["../../../../src/elements/TableColumns/RenderDefaultCell/index.tsx"],"sourcesContent":["'use client'\nimport type { DefaultCellComponentProps } from 'payload'\n\nimport React from 'react'\n\nimport { useListDrawerContext } from '../../../elements/ListDrawer/Provider.js'\nimport { DefaultCell } from '../../Table/DefaultCell/index.js'\nimport './index.scss'\nimport { useTableColumns } from '../index.js'\n\nconst baseClass = 'default-cell'\n\nconst CellPropsContext = React.createContext<DefaultCellComponentProps | null>(null)\n\nexport const useCellProps = (): DefaultCellComponentProps | null =>\n React.useContext(CellPropsContext)\n\nexport const RenderDefaultCell: React.FC<{\n clientProps: DefaultCellComponentProps\n columnIndex: number\n enableRowSelections?: boolean\n isLinkedColumn?: boolean\n}> = ({ clientProps, columnIndex, isLinkedColumn }) => {\n const { drawerSlug, onSelect } = useListDrawerContext()\n const { LinkedCellOverride } = useTableColumns()\n\n const propsToPass: DefaultCellComponentProps = {\n ...clientProps,\n columnIndex,\n }\n\n if (isLinkedColumn && drawerSlug) {\n propsToPass.className = `${baseClass}__first-cell`\n propsToPass.link = false\n propsToPass.onClick = ({ collectionSlug: rowColl, rowData }) => {\n if (typeof onSelect === 'function') {\n onSelect({\n collectionSlug: rowColl,\n doc: rowData,\n docID: rowData.id as string,\n })\n }\n }\n }\n\n return (\n <CellPropsContext.Provider value={propsToPass}>\n {isLinkedColumn && LinkedCellOverride ? LinkedCellOverride : <DefaultCell {...propsToPass} />}\n </CellPropsContext.Provider>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,OAAOC,KAAA,MAAW;AAElB,SAASC,oBAAoB,QAAQ;AACrC,SAASC,WAAW,QAAQ;AAC5B,OAAO;AACP,SAASC,eAAe,QAAQ;AAEhC,MAAMC,SAAA,GAAY;AAElB,MAAMC,gBAAA,gBAAmBL,KAAA,CAAMM,aAAa,CAAmC;AAE/E,OAAO,MAAMC,YAAA,GAAeA,CAAA;EAAA,OAC1BP,KAAA,CAAAQ,UAAA,CAAAH,gBAAiB;AAAA;AAEnB,OAAO,MAAMI,iBAAA,GAKRC,EAAA;EAAA,MAAAC,CAAA,GAAAZ,EAAA;EAAC;IAAAa,WAAA;IAAAC,WAAA;IAAAC;EAAA,IAAAJ,EAA4C;EAChD;IAAAK,UAAA;IAAAC;EAAA,IAAiCf,oBAAA;EACjC;IAAAgB;EAAA,IAA+Bd,eAAA;EAAA,IAAAe,EAAA;EAAA,IAAAP,CAAA,QAAAM,kBAAA,IAAAN,CAAA,QAAAC,WAAA,IAAAD,CAAA,QAAAE,WAAA,IAAAF,CAAA,QAAAI,UAAA,IAAAJ,CAAA,QAAAG,cAAA,IAAAH,CAAA,QAAAK,QAAA;IAE/B,MAAAG,WAAA;MAAA,GACKP,WAAW;MAAAC;IAAA;IAEhB,IAEIC,cAAA,IAAkBC,UAAA;MACpBI,WAAA,CAAAC,SAAA,GAAwB,GAAAhB,SAAA,cAA0B;MAClDe,WAAA,CAAAE,IAAA;MAAA,IAAAC,EAAA;MAAA,IAAAX,CAAA,QAAAK,QAAA;QACsBM,EAAA,GAAAC,EAAA;UAAC;YAAAC,cAAA,EAAAC,OAAA;YAAAC;UAAA,IAAAH,EAAoC;UAAA,IACrD,OAAOP,QAAA,KAAa;YACtBA,QAAA;cAAAQ,cAAA,EACkBC,OAAA;cAAAE,GAAA,EACXD,OAAA;cAAAE,KAAA,EACEF,OAAA,CAAAG;YAAA,CACT;UAAA;QAAA;QAEJlB,CAAA,MAAAK,QAAA;QAAAL,CAAA,MAAAW,EAAA;MAAA;QAAAA,EAAA,GAAAX,CAAA;MAAA;MARAQ,WAAA,CAAAW,OAAA,GAAsBR,EAQtB;IAAA;IAIAJ,EAAA,GAAAa,IAAA,CAAA1B,gBAAA,CAAA2B,QAAA;MAAAC,KAAA,EAAkCd,WAAA;MAAAe,QAAA,EAC/BpB,cAAA,IAAkBG,kBAAA,GAAqBA,kBAAA,GAAqBc,IAAA,CAAA7B,WAAA;QAAA,GAAiBiB;MAAW,C;;;;;;;;;;;;SAD3FD,E;CAIJ","ignoreList":[]}
@@ -1,5 +1,6 @@
1
1
  import type { ClientCollectionConfig } from 'payload';
2
2
  import React from 'react';
3
+ import './index.scss';
3
4
  export type UnpublishManyProps = {
4
5
  collection: ClientCollectionConfig;
5
6
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/UnpublishMany/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAMrD,OAAO,KAAsB,MAAM,OAAO,CAAA;AAa1C,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,EAAE,sBAAsB,CAAA;CACnC,CAAA;AAID,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA2HtD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/UnpublishMany/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAMrD,OAAO,KAAsB,MAAM,OAAO,CAAA;AAW1C,OAAO,cAAc,CAAA;AAErB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,EAAE,sBAAsB,CAAA;CACnC,CAAA;AAID,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA4HtD,CAAA"}
@@ -15,7 +15,7 @@ import { useTranslation } from '../../providers/Translation/index.js';
15
15
  import { requests } from '../../utilities/api.js';
16
16
  import { parseSearchParams } from '../../utilities/parseSearchParams.js';
17
17
  import { ConfirmationModal } from '../ConfirmationModal/index.js';
18
- import { Pill } from '../Pill/index.js';
18
+ import './index.scss';
19
19
  const baseClass = 'unpublish-many';
20
20
  export const UnpublishMany = props => {
21
21
  const {
@@ -114,11 +114,12 @@ export const UnpublishMany = props => {
114
114
  return null;
115
115
  }
116
116
  return /*#__PURE__*/_jsxs(React.Fragment, {
117
- children: [/*#__PURE__*/_jsx(Pill, {
117
+ children: [/*#__PURE__*/_jsx("button", {
118
118
  className: `${baseClass}__toggle`,
119
119
  onClick: () => {
120
120
  toggleModal(modalSlug);
121
121
  },
122
+ type: "button",
122
123
  children: t('version:unpublish')
123
124
  }), /*#__PURE__*/_jsx(ConfirmationModal, {
124
125
  body: t('version:aboutToUnpublishSelection', {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["useModal","getTranslation","useRouter","useSearchParams","qs","React","useCallback","toast","useAuth","useConfig","useRouteCache","SelectAllStatus","useSelection","useTranslation","requests","parseSearchParams","ConfirmationModal","Pill","baseClass","UnpublishMany","props","collection","slug","labels","plural","singular","versions","config","routes","api","serverURL","permissions","toggleModal","i18n","t","searchParams","getQueryParams","selectAll","router","clearRouteCache","collectionPermissions","collections","hasPermission","update","modalSlug","addDefaultError","error","handleUnpublish","patch","_status","not_equals","body","JSON","stringify","headers","language","then","res","json","deletedDocs","docs","length","successLabel","status","success","count","label","errors","message","description","map","join","replace","page","undefined","addQueryPrefix","forEach","_err","drafts","None","_jsxs","Fragment","_jsx","className","onClick","confirmingLabel","heading","onConfirm"],"sources":["../../../src/elements/UnpublishMany/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 { parseSearchParams } from '../../utilities/parseSearchParams.js'\nimport { ConfirmationModal } from '../ConfirmationModal/index.js'\nimport { Pill } from '../Pill/index.js'\n\nexport type UnpublishManyProps = {\n collection: ClientCollectionConfig\n}\n\nconst baseClass = 'unpublish-many'\n\nexport const UnpublishMany: React.FC<UnpublishManyProps> = (props) => {\n const { collection: { slug, labels: { plural, singular }, versions } = {} } = props\n\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n\n const { permissions } = useAuth()\n const { toggleModal } = useModal()\n const { i18n, t } = useTranslation()\n const searchParams = useSearchParams()\n const { getQueryParams, selectAll } = useSelection()\n const router = useRouter()\n const { clearRouteCache } = useRouteCache()\n\n const collectionPermissions = permissions?.collections?.[slug]\n const hasPermission = collectionPermissions?.update\n\n const modalSlug = `unpublish-${slug}`\n\n const addDefaultError = useCallback(() => {\n toast.error(t('error:unknown'))\n }, [t])\n\n const handleUnpublish = useCallback(async () => {\n await requests\n .patch(`${serverURL}${api}/${slug}${getQueryParams({ _status: { not_equals: 'draft' } })}`, {\n body: JSON.stringify({\n _status: 'draft',\n }),\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:updatedCountSuccessfully', {\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 router.replace(\n qs.stringify(\n {\n ...parseSearchParams(searchParams),\n page: selectAll ? '1' : undefined,\n },\n { addQueryPrefix: true },\n ),\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\n return null\n }\n\n if (json.errors) {\n json.errors.forEach((error) => toast.error(error.message))\n } else {\n addDefaultError()\n }\n return false\n } catch (_err) {\n return addDefaultError()\n }\n })\n }, [\n serverURL,\n api,\n slug,\n getQueryParams,\n i18n,\n plural,\n singular,\n t,\n router,\n searchParams,\n selectAll,\n clearRouteCache,\n addDefaultError,\n ])\n\n if (!versions?.drafts || selectAll === SelectAllStatus.None || !hasPermission) {\n return null\n }\n\n return (\n <React.Fragment>\n <Pill\n className={`${baseClass}__toggle`}\n onClick={() => {\n toggleModal(modalSlug)\n }}\n >\n {t('version:unpublish')}\n </Pill>\n <ConfirmationModal\n body={t('version:aboutToUnpublishSelection', { label: getTranslation(plural, i18n) })}\n confirmingLabel={t('version:unpublishing')}\n heading={t('version:confirmUnpublish')}\n modalSlug={modalSlug}\n onConfirm={handleUnpublish}\n />\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["useModal","getTranslation","useRouter","useSearchParams","qs","React","useCallback","toast","useAuth","useConfig","useRouteCache","SelectAllStatus","useSelection","useTranslation","requests","parseSearchParams","ConfirmationModal","baseClass","UnpublishMany","props","collection","slug","labels","plural","singular","versions","config","routes","api","serverURL","permissions","toggleModal","i18n","t","searchParams","getQueryParams","selectAll","router","clearRouteCache","collectionPermissions","collections","hasPermission","update","modalSlug","addDefaultError","error","handleUnpublish","patch","_status","not_equals","body","JSON","stringify","headers","language","then","res","json","deletedDocs","docs","length","successLabel","status","success","count","label","errors","message","description","map","join","replace","page","undefined","addQueryPrefix","forEach","_err","drafts","None","_jsxs","Fragment","_jsx","className","onClick","type","confirmingLabel","heading","onConfirm"],"sources":["../../../src/elements/UnpublishMany/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 { parseSearchParams } from '../../utilities/parseSearchParams.js'\nimport { ConfirmationModal } from '../ConfirmationModal/index.js'\nimport './index.scss'\n\nexport type UnpublishManyProps = {\n collection: ClientCollectionConfig\n}\n\nconst baseClass = 'unpublish-many'\n\nexport const UnpublishMany: React.FC<UnpublishManyProps> = (props) => {\n const { collection: { slug, labels: { plural, singular }, versions } = {} } = props\n\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n\n const { permissions } = useAuth()\n const { toggleModal } = useModal()\n const { i18n, t } = useTranslation()\n const searchParams = useSearchParams()\n const { getQueryParams, selectAll } = useSelection()\n const router = useRouter()\n const { clearRouteCache } = useRouteCache()\n\n const collectionPermissions = permissions?.collections?.[slug]\n const hasPermission = collectionPermissions?.update\n\n const modalSlug = `unpublish-${slug}`\n\n const addDefaultError = useCallback(() => {\n toast.error(t('error:unknown'))\n }, [t])\n\n const handleUnpublish = useCallback(async () => {\n await requests\n .patch(`${serverURL}${api}/${slug}${getQueryParams({ _status: { not_equals: 'draft' } })}`, {\n body: JSON.stringify({\n _status: 'draft',\n }),\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:updatedCountSuccessfully', {\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 router.replace(\n qs.stringify(\n {\n ...parseSearchParams(searchParams),\n page: selectAll ? '1' : undefined,\n },\n { addQueryPrefix: true },\n ),\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\n return null\n }\n\n if (json.errors) {\n json.errors.forEach((error) => toast.error(error.message))\n } else {\n addDefaultError()\n }\n return false\n } catch (_err) {\n return addDefaultError()\n }\n })\n }, [\n serverURL,\n api,\n slug,\n getQueryParams,\n i18n,\n plural,\n singular,\n t,\n router,\n searchParams,\n selectAll,\n clearRouteCache,\n addDefaultError,\n ])\n\n if (!versions?.drafts || selectAll === SelectAllStatus.None || !hasPermission) {\n return null\n }\n\n return (\n <React.Fragment>\n <button\n className={`${baseClass}__toggle`}\n onClick={() => {\n toggleModal(modalSlug)\n }}\n type=\"button\"\n >\n {t('version:unpublish')}\n </button>\n <ConfirmationModal\n body={t('version:aboutToUnpublishSelection', { label: getTranslation(plural, i18n) })}\n confirmingLabel={t('version:unpublishing')}\n heading={t('version:confirmUnpublish')}\n modalSlug={modalSlug}\n onConfirm={handleUnpublish}\n />\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,21 @@
1
+ @import '../../scss/styles.scss';
2
+
3
+ @layer payload-default {
4
+ .unpublish-many {
5
+ &__toggle {
6
+ font-size: inherit;
7
+ line-height: inherit;
8
+ display: inline-flex;
9
+ background: transparent;
10
+ color: var(--theme-elevation-800);
11
+ white-space: nowrap;
12
+ overflow: hidden;
13
+ text-overflow: ellipsis;
14
+ border: 0;
15
+ padding: 0;
16
+ align-items: center;
17
+ cursor: pointer;
18
+ text-decoration: underline;
19
+ }
20
+ }
21
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"field-types.d.ts","sourceRoot":"","sources":["../../../src/elements/WhereBuilder/field-types.tsx"],"names":[],"mappings":"AAgFA,QAAA,MAAM,mBAAmB,EAAE;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG;QACb,SAAS,EAAE,MAAM,CAAA;QACjB,SAAS,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,EAAE,CAAA;KAC9C,CAAA;CA0DF,CAAA;AAED,eAAe,mBAAmB,CAAA"}
1
+ {"version":3,"file":"field-types.d.ts","sourceRoot":"","sources":["../../../src/elements/WhereBuilder/field-types.tsx"],"names":[],"mappings":"AAqFA,QAAA,MAAM,mBAAmB,EAAE;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG;QACb,SAAS,EAAE,MAAM,CAAA;QACjB,SAAS,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,EAAE,CAAA;KAC9C,CAAA;CA0DF,CAAA;AAED,eAAe,mBAAmB,CAAA"}
@@ -49,6 +49,10 @@ const like = {
49
49
  label: 'isLike',
50
50
  value: 'like'
51
51
  };
52
+ const notLike = {
53
+ label: 'isNotLike',
54
+ value: 'not_like'
55
+ };
52
56
  const contains = {
53
57
  label: 'contains',
54
58
  value: 'contains'
@@ -60,7 +64,7 @@ const fieldTypeConditions = {
60
64
  },
61
65
  code: {
62
66
  component: 'Text',
63
- operators: [...base, like, contains]
67
+ operators: [...base, like, notLike, contains]
64
68
  },
65
69
  date: {
66
70
  component: 'Date',
@@ -72,7 +76,7 @@ const fieldTypeConditions = {
72
76
  },
73
77
  json: {
74
78
  component: 'Text',
75
- operators: [...base, like, contains, within, intersects]
79
+ operators: [...base, like, contains, notLike, within, intersects]
76
80
  },
77
81
  number: {
78
82
  component: 'Number',
@@ -92,7 +96,7 @@ const fieldTypeConditions = {
92
96
  },
93
97
  richText: {
94
98
  component: 'Text',
95
- operators: [...base, like, contains]
99
+ operators: [...base, like, notLike, contains]
96
100
  },
97
101
  select: {
98
102
  component: 'Select',
@@ -100,11 +104,11 @@ const fieldTypeConditions = {
100
104
  },
101
105
  text: {
102
106
  component: 'Text',
103
- operators: [...base, like, contains]
107
+ operators: [...base, like, notLike, contains]
104
108
  },
105
109
  textarea: {
106
110
  component: 'Text',
107
- operators: [...base, like, contains]
111
+ operators: [...base, like, notLike, contains]
108
112
  },
109
113
  upload: {
110
114
  component: 'Text',
@@ -1 +1 @@
1
- {"version":3,"file":"field-types.js","names":["boolean","label","value","base","numeric","geo","within","intersects","like","contains","fieldTypeConditions","checkbox","component","operators","code","date","email","json","number","point","radio","relationship","richText","select","text","textarea","upload"],"sources":["../../../src/elements/WhereBuilder/field-types.tsx"],"sourcesContent":["'use client'\nconst boolean = [\n {\n label: 'equals',\n value: 'equals',\n },\n {\n label: 'isNotEqualTo',\n value: 'not_equals',\n },\n]\n\nconst base = [\n ...boolean,\n {\n label: 'isIn',\n value: 'in',\n },\n {\n label: 'isNotIn',\n value: 'not_in',\n },\n {\n label: 'exists',\n value: 'exists',\n },\n]\n\nconst numeric = [\n ...base,\n {\n label: 'isGreaterThan',\n value: 'greater_than',\n },\n {\n label: 'isLessThan',\n value: 'less_than',\n },\n {\n label: 'isLessThanOrEqualTo',\n value: 'less_than_equal',\n },\n {\n label: 'isGreaterThanOrEqualTo',\n value: 'greater_than_equal',\n },\n]\n\nconst geo = [\n ...boolean,\n {\n label: 'exists',\n value: 'exists',\n },\n {\n label: 'near',\n value: 'near',\n },\n]\n\nconst within = {\n label: 'within',\n value: 'within',\n}\n\nconst intersects = {\n label: 'intersects',\n value: 'intersects',\n}\n\nconst like = {\n label: 'isLike',\n value: 'like',\n}\n\nconst contains = {\n label: 'contains',\n value: 'contains',\n}\n\nconst fieldTypeConditions: {\n [key: string]: {\n component: string\n operators: { label: string; value: string }[]\n }\n} = {\n checkbox: {\n component: 'Text',\n operators: boolean,\n },\n code: {\n component: 'Text',\n operators: [...base, like, contains],\n },\n date: {\n component: 'Date',\n operators: [...base, ...numeric],\n },\n email: {\n component: 'Text',\n operators: [...base, contains],\n },\n json: {\n component: 'Text',\n operators: [...base, like, contains, within, intersects],\n },\n number: {\n component: 'Number',\n operators: [...base, ...numeric],\n },\n point: {\n component: 'Point',\n operators: [...geo, within, intersects],\n },\n radio: {\n component: 'Select',\n operators: [...base],\n },\n relationship: {\n component: 'Relationship',\n operators: [...base],\n },\n richText: {\n component: 'Text',\n operators: [...base, like, contains],\n },\n select: {\n component: 'Select',\n operators: [...base],\n },\n text: {\n component: 'Text',\n operators: [...base, like, contains],\n },\n textarea: {\n component: 'Text',\n operators: [...base, like, contains],\n },\n upload: {\n component: 'Text',\n operators: [...base],\n },\n}\n\nexport default fieldTypeConditions\n"],"mappings":"AAAA;;AACA,MAAMA,OAAA,GAAU,CACd;EACEC,KAAA,EAAO;EACPC,KAAA,EAAO;AACT,GACA;EACED,KAAA,EAAO;EACPC,KAAA,EAAO;AACT,EACD;AAED,MAAMC,IAAA,GAAO,C,GACRH,OAAA,EACH;EACEC,KAAA,EAAO;EACPC,KAAA,EAAO;AACT,GACA;EACED,KAAA,EAAO;EACPC,KAAA,EAAO;AACT,GACA;EACED,KAAA,EAAO;EACPC,KAAA,EAAO;AACT,EACD;AAED,MAAME,OAAA,GAAU,C,GACXD,IAAA,EACH;EACEF,KAAA,EAAO;EACPC,KAAA,EAAO;AACT,GACA;EACED,KAAA,EAAO;EACPC,KAAA,EAAO;AACT,GACA;EACED,KAAA,EAAO;EACPC,KAAA,EAAO;AACT,GACA;EACED,KAAA,EAAO;EACPC,KAAA,EAAO;AACT,EACD;AAED,MAAMG,GAAA,GAAM,C,GACPL,OAAA,EACH;EACEC,KAAA,EAAO;EACPC,KAAA,EAAO;AACT,GACA;EACED,KAAA,EAAO;EACPC,KAAA,EAAO;AACT,EACD;AAED,MAAMI,MAAA,GAAS;EACbL,KAAA,EAAO;EACPC,KAAA,EAAO;AACT;AAEA,MAAMK,UAAA,GAAa;EACjBN,KAAA,EAAO;EACPC,KAAA,EAAO;AACT;AAEA,MAAMM,IAAA,GAAO;EACXP,KAAA,EAAO;EACPC,KAAA,EAAO;AACT;AAEA,MAAMO,QAAA,GAAW;EACfR,KAAA,EAAO;EACPC,KAAA,EAAO;AACT;AAEA,MAAMQ,mBAAA,GAKF;EACFC,QAAA,EAAU;IACRC,SAAA,EAAW;IACXC,SAAA,EAAWb;EACb;EACAc,IAAA,EAAM;IACJF,SAAA,EAAW;IACXC,SAAA,EAAW,C,GAAIV,IAAA,EAAMK,IAAA,EAAMC,QAAA;EAC7B;EACAM,IAAA,EAAM;IACJH,SAAA,EAAW;IACXC,SAAA,EAAW,C,GAAIV,IAAA,E,GAASC,OAAA;EAC1B;EACAY,KAAA,EAAO;IACLJ,SAAA,EAAW;IACXC,SAAA,EAAW,C,GAAIV,IAAA,EAAMM,QAAA;EACvB;EACAQ,IAAA,EAAM;IACJL,SAAA,EAAW;IACXC,SAAA,EAAW,C,GAAIV,IAAA,EAAMK,IAAA,EAAMC,QAAA,EAAUH,MAAA,EAAQC,UAAA;EAC/C;EACAW,MAAA,EAAQ;IACNN,SAAA,EAAW;IACXC,SAAA,EAAW,C,GAAIV,IAAA,E,GAASC,OAAA;EAC1B;EACAe,KAAA,EAAO;IACLP,SAAA,EAAW;IACXC,SAAA,EAAW,C,GAAIR,GAAA,EAAKC,MAAA,EAAQC,UAAA;EAC9B;EACAa,KAAA,EAAO;IACLR,SAAA,EAAW;IACXC,SAAA,EAAW,C,GAAIV,IAAA;EACjB;EACAkB,YAAA,EAAc;IACZT,SAAA,EAAW;IACXC,SAAA,EAAW,C,GAAIV,IAAA;EACjB;EACAmB,QAAA,EAAU;IACRV,SAAA,EAAW;IACXC,SAAA,EAAW,C,GAAIV,IAAA,EAAMK,IAAA,EAAMC,QAAA;EAC7B;EACAc,MAAA,EAAQ;IACNX,SAAA,EAAW;IACXC,SAAA,EAAW,C,GAAIV,IAAA;EACjB;EACAqB,IAAA,EAAM;IACJZ,SAAA,EAAW;IACXC,SAAA,EAAW,C,GAAIV,IAAA,EAAMK,IAAA,EAAMC,QAAA;EAC7B;EACAgB,QAAA,EAAU;IACRb,SAAA,EAAW;IACXC,SAAA,EAAW,C,GAAIV,IAAA,EAAMK,IAAA,EAAMC,QAAA;EAC7B;EACAiB,MAAA,EAAQ;IACNd,SAAA,EAAW;IACXC,SAAA,EAAW,C,GAAIV,IAAA;EACjB;AACF;AAEA,eAAeO,mBAAA","ignoreList":[]}
1
+ {"version":3,"file":"field-types.js","names":["boolean","label","value","base","numeric","geo","within","intersects","like","notLike","contains","fieldTypeConditions","checkbox","component","operators","code","date","email","json","number","point","radio","relationship","richText","select","text","textarea","upload"],"sources":["../../../src/elements/WhereBuilder/field-types.tsx"],"sourcesContent":["'use client'\nconst boolean = [\n {\n label: 'equals',\n value: 'equals',\n },\n {\n label: 'isNotEqualTo',\n value: 'not_equals',\n },\n]\n\nconst base = [\n ...boolean,\n {\n label: 'isIn',\n value: 'in',\n },\n {\n label: 'isNotIn',\n value: 'not_in',\n },\n {\n label: 'exists',\n value: 'exists',\n },\n]\n\nconst numeric = [\n ...base,\n {\n label: 'isGreaterThan',\n value: 'greater_than',\n },\n {\n label: 'isLessThan',\n value: 'less_than',\n },\n {\n label: 'isLessThanOrEqualTo',\n value: 'less_than_equal',\n },\n {\n label: 'isGreaterThanOrEqualTo',\n value: 'greater_than_equal',\n },\n]\n\nconst geo = [\n ...boolean,\n {\n label: 'exists',\n value: 'exists',\n },\n {\n label: 'near',\n value: 'near',\n },\n]\n\nconst within = {\n label: 'within',\n value: 'within',\n}\n\nconst intersects = {\n label: 'intersects',\n value: 'intersects',\n}\n\nconst like = {\n label: 'isLike',\n value: 'like',\n}\n\nconst notLike = {\n label: 'isNotLike',\n value: 'not_like',\n}\n\nconst contains = {\n label: 'contains',\n value: 'contains',\n}\n\nconst fieldTypeConditions: {\n [key: string]: {\n component: string\n operators: { label: string; value: string }[]\n }\n} = {\n checkbox: {\n component: 'Text',\n operators: boolean,\n },\n code: {\n component: 'Text',\n operators: [...base, like, notLike, contains],\n },\n date: {\n component: 'Date',\n operators: [...base, ...numeric],\n },\n email: {\n component: 'Text',\n operators: [...base, contains],\n },\n json: {\n component: 'Text',\n operators: [...base, like, contains, notLike, within, intersects],\n },\n number: {\n component: 'Number',\n operators: [...base, ...numeric],\n },\n point: {\n component: 'Point',\n operators: [...geo, within, intersects],\n },\n radio: {\n component: 'Select',\n operators: [...base],\n },\n relationship: {\n component: 'Relationship',\n operators: [...base],\n },\n richText: {\n component: 'Text',\n operators: [...base, like, notLike, contains],\n },\n select: {\n component: 'Select',\n operators: [...base],\n },\n text: {\n component: 'Text',\n operators: [...base, like, notLike, contains],\n },\n textarea: {\n component: 'Text',\n operators: [...base, like, notLike, contains],\n },\n upload: {\n component: 'Text',\n operators: [...base],\n },\n}\n\nexport default fieldTypeConditions\n"],"mappings":"AAAA;;AACA,MAAMA,OAAA,GAAU,CACd;EACEC,KAAA,EAAO;EACPC,KAAA,EAAO;AACT,GACA;EACED,KAAA,EAAO;EACPC,KAAA,EAAO;AACT,EACD;AAED,MAAMC,IAAA,GAAO,C,GACRH,OAAA,EACH;EACEC,KAAA,EAAO;EACPC,KAAA,EAAO;AACT,GACA;EACED,KAAA,EAAO;EACPC,KAAA,EAAO;AACT,GACA;EACED,KAAA,EAAO;EACPC,KAAA,EAAO;AACT,EACD;AAED,MAAME,OAAA,GAAU,C,GACXD,IAAA,EACH;EACEF,KAAA,EAAO;EACPC,KAAA,EAAO;AACT,GACA;EACED,KAAA,EAAO;EACPC,KAAA,EAAO;AACT,GACA;EACED,KAAA,EAAO;EACPC,KAAA,EAAO;AACT,GACA;EACED,KAAA,EAAO;EACPC,KAAA,EAAO;AACT,EACD;AAED,MAAMG,GAAA,GAAM,C,GACPL,OAAA,EACH;EACEC,KAAA,EAAO;EACPC,KAAA,EAAO;AACT,GACA;EACED,KAAA,EAAO;EACPC,KAAA,EAAO;AACT,EACD;AAED,MAAMI,MAAA,GAAS;EACbL,KAAA,EAAO;EACPC,KAAA,EAAO;AACT;AAEA,MAAMK,UAAA,GAAa;EACjBN,KAAA,EAAO;EACPC,KAAA,EAAO;AACT;AAEA,MAAMM,IAAA,GAAO;EACXP,KAAA,EAAO;EACPC,KAAA,EAAO;AACT;AAEA,MAAMO,OAAA,GAAU;EACdR,KAAA,EAAO;EACPC,KAAA,EAAO;AACT;AAEA,MAAMQ,QAAA,GAAW;EACfT,KAAA,EAAO;EACPC,KAAA,EAAO;AACT;AAEA,MAAMS,mBAAA,GAKF;EACFC,QAAA,EAAU;IACRC,SAAA,EAAW;IACXC,SAAA,EAAWd;EACb;EACAe,IAAA,EAAM;IACJF,SAAA,EAAW;IACXC,SAAA,EAAW,C,GAAIX,IAAA,EAAMK,IAAA,EAAMC,OAAA,EAASC,QAAA;EACtC;EACAM,IAAA,EAAM;IACJH,SAAA,EAAW;IACXC,SAAA,EAAW,C,GAAIX,IAAA,E,GAASC,OAAA;EAC1B;EACAa,KAAA,EAAO;IACLJ,SAAA,EAAW;IACXC,SAAA,EAAW,C,GAAIX,IAAA,EAAMO,QAAA;EACvB;EACAQ,IAAA,EAAM;IACJL,SAAA,EAAW;IACXC,SAAA,EAAW,C,GAAIX,IAAA,EAAMK,IAAA,EAAME,QAAA,EAAUD,OAAA,EAASH,MAAA,EAAQC,UAAA;EACxD;EACAY,MAAA,EAAQ;IACNN,SAAA,EAAW;IACXC,SAAA,EAAW,C,GAAIX,IAAA,E,GAASC,OAAA;EAC1B;EACAgB,KAAA,EAAO;IACLP,SAAA,EAAW;IACXC,SAAA,EAAW,C,GAAIT,GAAA,EAAKC,MAAA,EAAQC,UAAA;EAC9B;EACAc,KAAA,EAAO;IACLR,SAAA,EAAW;IACXC,SAAA,EAAW,C,GAAIX,IAAA;EACjB;EACAmB,YAAA,EAAc;IACZT,SAAA,EAAW;IACXC,SAAA,EAAW,C,GAAIX,IAAA;EACjB;EACAoB,QAAA,EAAU;IACRV,SAAA,EAAW;IACXC,SAAA,EAAW,C,GAAIX,IAAA,EAAMK,IAAA,EAAMC,OAAA,EAASC,QAAA;EACtC;EACAc,MAAA,EAAQ;IACNX,SAAA,EAAW;IACXC,SAAA,EAAW,C,GAAIX,IAAA;EACjB;EACAsB,IAAA,EAAM;IACJZ,SAAA,EAAW;IACXC,SAAA,EAAW,C,GAAIX,IAAA,EAAMK,IAAA,EAAMC,OAAA,EAASC,QAAA;EACtC;EACAgB,QAAA,EAAU;IACRb,SAAA,EAAW;IACXC,SAAA,EAAW,C,GAAIX,IAAA,EAAMK,IAAA,EAAMC,OAAA,EAASC,QAAA;EACtC;EACAiB,MAAA,EAAQ;IACNd,SAAA,EAAW;IACXC,SAAA,EAAW,C,GAAIX,IAAA;EACjB;AACF;AAEA,eAAeQ,mBAAA","ignoreList":[]}