@payloadcms/ui 4.0.0-canary.2 → 4.0.0-canary.3

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 (90) hide show
  1. package/dist/css/colors.css +3 -0
  2. package/dist/css/design-tokens.css +5 -0
  3. package/dist/css/elevations.css +4 -0
  4. package/dist/elements/AppHeader/index.d.ts +3 -2
  5. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  6. package/dist/elements/AppHeader/index.js +2 -2
  7. package/dist/elements/AppHeader/index.js.map +1 -1
  8. package/dist/elements/DocumentControls/index.css +7 -1
  9. package/dist/elements/Popup/PopupButtonList/index.css +5 -0
  10. package/dist/elements/Popup/PopupGroupLabel/index.css +8 -5
  11. package/dist/elements/PublishMany/DrawerContent.d.ts +2 -1
  12. package/dist/elements/PublishMany/DrawerContent.d.ts.map +1 -1
  13. package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
  14. package/dist/elements/PublishMany/index.d.ts +2 -6
  15. package/dist/elements/PublishMany/index.d.ts.map +1 -1
  16. package/dist/elements/PublishMany/index.js +0 -38
  17. package/dist/elements/PublishMany/index.js.map +1 -1
  18. package/dist/elements/ReactSelect/getCaptureMenuScroll.d.ts +5 -0
  19. package/dist/elements/ReactSelect/getCaptureMenuScroll.d.ts.map +1 -0
  20. package/dist/elements/ReactSelect/getCaptureMenuScroll.js +10 -0
  21. package/dist/elements/ReactSelect/getCaptureMenuScroll.js.map +1 -0
  22. package/dist/elements/ReactSelect/getMenuListStyles.d.ts +6 -0
  23. package/dist/elements/ReactSelect/getMenuListStyles.d.ts.map +1 -0
  24. package/dist/elements/ReactSelect/getMenuListStyles.js +7 -0
  25. package/dist/elements/ReactSelect/getMenuListStyles.js.map +1 -0
  26. package/dist/elements/ReactSelect/index.css +0 -1
  27. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  28. package/dist/elements/ReactSelect/index.js +168 -148
  29. package/dist/elements/ReactSelect/index.js.map +1 -1
  30. package/dist/elements/ReactSelect/types.d.ts +1 -0
  31. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  32. package/dist/elements/ReactSelect/types.js.map +1 -1
  33. package/dist/elements/Toasts/fieldErrors.d.ts +1 -0
  34. package/dist/elements/Toasts/fieldErrors.d.ts.map +1 -1
  35. package/dist/elements/Toasts/fieldErrors.js +25 -9
  36. package/dist/elements/Toasts/fieldErrors.js.map +1 -1
  37. package/dist/elements/Toasts/index.css +5 -0
  38. package/dist/elements/UnpublishMany/DrawerContent.d.ts +2 -1
  39. package/dist/elements/UnpublishMany/DrawerContent.d.ts.map +1 -1
  40. package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
  41. package/dist/elements/UnpublishMany/index.d.ts +2 -4
  42. package/dist/elements/UnpublishMany/index.d.ts.map +1 -1
  43. package/dist/elements/UnpublishMany/index.js +0 -38
  44. package/dist/elements/UnpublishMany/index.js.map +1 -1
  45. package/dist/elements/UserMenu/LanguageMenu/index.js +1 -1
  46. package/dist/elements/UserMenu/LanguageMenu/index.js.map +1 -1
  47. package/dist/elements/UserMenu/SettingsMenu/index.d.ts +6 -2
  48. package/dist/elements/UserMenu/SettingsMenu/index.d.ts.map +1 -1
  49. package/dist/elements/UserMenu/SettingsMenu/index.js +15 -10
  50. package/dist/elements/UserMenu/SettingsMenu/index.js.map +1 -1
  51. package/dist/elements/UserMenu/ThemeMenu/index.js +1 -1
  52. package/dist/elements/UserMenu/ThemeMenu/index.js.map +1 -1
  53. package/dist/elements/UserMenu/index.d.ts +2 -1
  54. package/dist/elements/UserMenu/index.d.ts.map +1 -1
  55. package/dist/elements/UserMenu/index.js +8 -5
  56. package/dist/elements/UserMenu/index.js.map +1 -1
  57. package/dist/exports/client/index.d.ts +1 -0
  58. package/dist/exports/client/index.d.ts.map +1 -1
  59. package/dist/exports/client/index.js +26 -26
  60. package/dist/exports/client/index.js.map +4 -4
  61. package/dist/fields/RadioGroup/index.css +6 -0
  62. package/dist/icons/Check/index.css +1 -2
  63. package/dist/icons/Check/index.js +1 -1
  64. package/dist/icons/Check/index.js.map +1 -1
  65. package/dist/icons/Warning/index.css +1 -7
  66. package/dist/icons/Warning/index.d.ts +1 -1
  67. package/dist/icons/Warning/index.d.ts.map +1 -1
  68. package/dist/icons/Warning/index.js +11 -16
  69. package/dist/icons/Warning/index.js.map +1 -1
  70. package/dist/providers/ToastContainer/index.css +208 -0
  71. package/dist/providers/ToastContainer/index.d.ts +1 -0
  72. package/dist/providers/ToastContainer/index.d.ts.map +1 -1
  73. package/dist/providers/ToastContainer/index.js +19 -6
  74. package/dist/providers/ToastContainer/index.js.map +1 -1
  75. package/dist/scss/app.scss +1 -2
  76. package/dist/styles.css +1 -1
  77. package/dist/templates/Default/index.d.ts.map +1 -1
  78. package/dist/templates/Default/index.js +51 -9
  79. package/dist/templates/Default/index.js.map +1 -1
  80. package/dist/views/HierarchyList/DocumentListSelection/index.js +4 -4
  81. package/dist/views/HierarchyList/DocumentListSelection/index.js.map +1 -1
  82. package/dist/views/List/ListSelection/index.js +4 -4
  83. package/dist/views/List/ListSelection/index.js.map +1 -1
  84. package/dist/views/List/renderListViewSlots.d.ts.map +1 -1
  85. package/dist/views/List/renderListViewSlots.js +9 -6
  86. package/dist/views/List/renderListViewSlots.js.map +1 -1
  87. package/dist/views/Logout/LogoutClient.js +1 -1
  88. package/dist/views/Logout/LogoutClient.js.map +1 -1
  89. package/package.json +4 -4
  90. package/dist/scss/toasts.scss +0 -146
@@ -315,6 +315,9 @@
315
315
  --color-bg-component-tertiary: var(--ramp-pale-purple-800);
316
316
  --color-bg-component-tertiary-hover: var(--ramp-pale-purple-700);
317
317
 
318
+ --color-bg-danger: var(--ramp-dark-red-500);
319
+ --color-bg-danger-hover: var(--ramp-dark-red-600);
320
+ --color-bg-danger-pressed: var(--ramp-dark-red-700);
318
321
  --color-bg-danger-tertiary: var(--ramp-pale-red-800);
319
322
  --color-bg-danger-tertiary-hover: var(--ramp-pale-red-700);
320
323
  --color-bg-danger-tertiary-pressed: var(--ramp-pale-red-600);
@@ -88,6 +88,11 @@
88
88
  --ramp-red-900: #771208;
89
89
  --ramp-red-1000: #660e0b;
90
90
 
91
+ /* Dark Red */
92
+ --ramp-dark-red-500: #e03e1a;
93
+ --ramp-dark-red-600: #c4381c;
94
+ --ramp-dark-red-700: #963323;
95
+
91
96
  /* Pale Red */
92
97
  --ramp-pale-red-600: #a55440;
93
98
  --ramp-pale-red-700: #864537;
@@ -2,6 +2,8 @@
2
2
  :root {
3
3
  /* Light mode elevations */
4
4
 
5
+ --elevation-100-canvas: 0 0 0.5px 0 rgba(0, 0, 0, 0.3);
6
+
5
7
  --elevation-300-tooltip:
6
8
  0 0 0.5px 0 rgba(0, 0, 0, 0.15), 0 5px 12px 0 rgba(0, 0, 0, 0.13),
7
9
  0 1px 3px 0 rgba(0, 0, 0, 0.1);
@@ -18,6 +20,8 @@
18
20
  [data-theme='dark'] {
19
21
  /* Dark mode elevations */
20
22
 
23
+ --elevation-100-canvas: 0 0 0.5px 0 rgba(0, 0, 0, 0.5);
24
+
21
25
  --elevation-300-tooltip:
22
26
  0 0.5px 0 0 rgba(255, 255, 255, 0.08) inset, 0 5px 12px 0 rgba(0, 0, 0, 0.35),
23
27
  0 0 0.5px 0 rgba(255, 255, 255, 0.3) inset, 0 1px 3px 0 rgba(0, 0, 0, 0.5);
@@ -1,9 +1,10 @@
1
1
  import React from 'react';
2
+ import type { UserMenuSettingsGroup } from '../UserMenu/SettingsMenu/index.js';
2
3
  import './index.css';
3
4
  type Props = {
4
5
  CustomAvatar?: React.ReactNode;
5
- settingsItems?: React.ReactNode[];
6
+ settingsItemGroups?: UserMenuSettingsGroup[];
6
7
  };
7
- export declare function AppHeader({ CustomAvatar, settingsItems }: Props): React.JSX.Element;
8
+ export declare function AppHeader({ CustomAvatar, settingsItemGroups }: Props): React.JSX.Element;
8
9
  export {};
9
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/AppHeader/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAsC,MAAM,OAAO,CAAA;AAe1D,OAAO,aAAa,CAAA;AAIpB,KAAK,KAAK,GAAG;IACX,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC9B,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;CAClC,CAAA;AACD,wBAAgB,SAAS,CAAC,EAAE,YAAY,EAAE,aAAa,EAAE,EAAE,KAAK,qBAkG/D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/AppHeader/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAsC,MAAM,OAAO,CAAA;AAE1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;AAe9E,OAAO,aAAa,CAAA;AAIpB,KAAK,KAAK,GAAG;IACX,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC9B,kBAAkB,CAAC,EAAE,qBAAqB,EAAE,CAAA;CAC7C,CAAA;AACD,wBAAgB,SAAS,CAAC,EAAE,YAAY,EAAE,kBAAkB,EAAE,EAAE,KAAK,qBAkGpE"}
@@ -19,7 +19,7 @@ import './index.css';
19
19
  const baseClass = 'app-header';
20
20
  export function AppHeader({
21
21
  CustomAvatar,
22
- settingsItems
22
+ settingsItemGroups
23
23
  }) {
24
24
  const {
25
25
  t
@@ -125,7 +125,7 @@ export function AppHeader({
125
125
  })
126
126
  }), /*#__PURE__*/_jsx(UserMenu, {
127
127
  CustomAvatar: CustomAvatar,
128
- settingsItems: settingsItems
128
+ settingsItemGroups: settingsItemGroups
129
129
  })]
130
130
  })]
131
131
  })
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useEffect","useRef","useState","ChevronIcon","LanguageIcon","SidebarIcon","useActions","useConfig","useLocale","useTranslation","Button","Localizer","useNav","NavToggler","StepNav","UserMenu","baseClass","AppHeader","CustomAvatar","settingsItems","t","locale","Actions","navOpen","setNavOpen","config","localization","customControlsRef","isScrollable","setIsScrollable","checkIsScrollable","el","current","scrollable","scrollWidth","clientWidth","window","addEventListener","removeEventListener","ActionComponents","Object","values","_jsx","className","filter","Boolean","join","_jsxs","tabIndex","buttonStyle","icon","onClick","type","ref","map","Action","i","length","renderButton","active","onKeyDown","ariaProps","extraButtonProps","style","padding","size","iconPosition","selected","code","direction"],"sources":["../../../src/elements/AppHeader/index.tsx"],"sourcesContent":["'use client'\nimport React, { useEffect, useRef, useState } from 'react'\n\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { LanguageIcon } from '../../icons/Language/index.js'\nimport { SidebarIcon } from '../../icons/Sidebar/index.js'\nimport { useActions } from '../../providers/Actions/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport { Localizer } from '../Localizer/index.js'\nimport { useNav } from '../Nav/context.js'\nimport { NavToggler } from '../Nav/NavToggler/index.js'\nimport { StepNav } from '../StepNav/index.js'\nimport { UserMenu } from '../UserMenu/index.js'\nimport './index.css'\n\nconst baseClass = 'app-header'\n\ntype Props = {\n CustomAvatar?: React.ReactNode\n settingsItems?: React.ReactNode[]\n}\nexport function AppHeader({ CustomAvatar, settingsItems }: Props) {\n const { t } = useTranslation()\n const locale = useLocale()\n\n const { Actions } = useActions()\n\n const { navOpen, setNavOpen } = useNav()\n\n const {\n config: { localization },\n } = useConfig()\n\n const customControlsRef = useRef<HTMLDivElement>(null)\n const [isScrollable, setIsScrollable] = useState(false)\n\n useEffect(() => {\n const checkIsScrollable = () => {\n const el = customControlsRef.current\n if (el) {\n const scrollable = el.scrollWidth > el.clientWidth\n setIsScrollable(scrollable)\n }\n }\n\n checkIsScrollable()\n window.addEventListener('resize', checkIsScrollable)\n\n return () => {\n window.removeEventListener('resize', checkIsScrollable)\n }\n }, [Actions])\n\n const ActionComponents = Actions ? Object.values(Actions) : []\n\n return (\n <header className={[baseClass, navOpen && `${baseClass}--nav-open`].filter(Boolean).join(' ')}>\n <div className={`${baseClass}__content`}>\n <div className={`${baseClass}__wrapper`}>\n <NavToggler className={`${baseClass}__mobile-nav-toggler`} tabIndex={-1} />\n <div className={`${baseClass}__controls-wrapper`}>\n <div className={`${baseClass}__step-nav-wrapper`}>\n <Button\n aria-label={`${navOpen ? t('general:close') : t('general:open')} ${t('general:menu')}`}\n buttonStyle=\"ghost\"\n className={`${baseClass}__sidebar-toggle`}\n icon={<SidebarIcon />}\n onClick={() => setNavOpen(!navOpen)}\n type=\"button\"\n />\n <div className={`${baseClass}__step-nav-wrapper`}>\n <StepNav className={`${baseClass}__step-nav`} />\n </div>\n </div>\n <div className={`${baseClass}__actions-wrapper`}>\n <div className={`${baseClass}__actions`} ref={customControlsRef}>\n {ActionComponents.map((Action, i) => (\n <div\n className={\n isScrollable && i === ActionComponents.length - 1\n ? `${baseClass}__last-action`\n : ''\n }\n key={i}\n >\n {Action}\n </div>\n ))}\n </div>\n {isScrollable && <div className={`${baseClass}__gradient-placeholder`} />}\n </div>\n {localization && (\n <Localizer\n className={`${baseClass}__localizer`}\n renderButton={({ active, onClick, onKeyDown, ...ariaProps }) => (\n <Button\n aria-label={t('general:locale')}\n buttonStyle=\"secondary\"\n extraButtonProps={{ onKeyDown, style: { padding: '0 var(--spacer-1) 0 0' } }}\n icon={<LanguageIcon size={24} />}\n iconPosition=\"left\"\n onClick={onClick}\n selected={active}\n {...ariaProps}\n >\n <div className=\"localizer__button-content\">\n {locale.code}\n <ChevronIcon direction={active ? 'up' : 'down'} size={16} />\n </div>\n </Button>\n )}\n />\n )}\n <UserMenu CustomAvatar={CustomAvatar} settingsItems={settingsItems} />\n </div>\n </div>\n </div>\n </header>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","useEffect","useRef","useState","ChevronIcon","LanguageIcon","SidebarIcon","useActions","useConfig","useLocale","useTranslation","Button","Localizer","useNav","NavToggler","StepNav","UserMenu","baseClass","AppHeader","CustomAvatar","settingsItemGroups","t","locale","Actions","navOpen","setNavOpen","config","localization","customControlsRef","isScrollable","setIsScrollable","checkIsScrollable","el","current","scrollable","scrollWidth","clientWidth","window","addEventListener","removeEventListener","ActionComponents","Object","values","_jsx","className","filter","Boolean","join","_jsxs","tabIndex","buttonStyle","icon","onClick","type","ref","map","Action","i","length","renderButton","active","onKeyDown","ariaProps","extraButtonProps","style","padding","size","iconPosition","selected","code","direction"],"sources":["../../../src/elements/AppHeader/index.tsx"],"sourcesContent":["'use client'\nimport React, { useEffect, useRef, useState } from 'react'\n\nimport type { UserMenuSettingsGroup } from '../UserMenu/SettingsMenu/index.js'\n\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { LanguageIcon } from '../../icons/Language/index.js'\nimport { SidebarIcon } from '../../icons/Sidebar/index.js'\nimport { useActions } from '../../providers/Actions/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport { Localizer } from '../Localizer/index.js'\nimport { useNav } from '../Nav/context.js'\nimport { NavToggler } from '../Nav/NavToggler/index.js'\nimport { StepNav } from '../StepNav/index.js'\nimport { UserMenu } from '../UserMenu/index.js'\nimport './index.css'\n\nconst baseClass = 'app-header'\n\ntype Props = {\n CustomAvatar?: React.ReactNode\n settingsItemGroups?: UserMenuSettingsGroup[]\n}\nexport function AppHeader({ CustomAvatar, settingsItemGroups }: Props) {\n const { t } = useTranslation()\n const locale = useLocale()\n\n const { Actions } = useActions()\n\n const { navOpen, setNavOpen } = useNav()\n\n const {\n config: { localization },\n } = useConfig()\n\n const customControlsRef = useRef<HTMLDivElement>(null)\n const [isScrollable, setIsScrollable] = useState(false)\n\n useEffect(() => {\n const checkIsScrollable = () => {\n const el = customControlsRef.current\n if (el) {\n const scrollable = el.scrollWidth > el.clientWidth\n setIsScrollable(scrollable)\n }\n }\n\n checkIsScrollable()\n window.addEventListener('resize', checkIsScrollable)\n\n return () => {\n window.removeEventListener('resize', checkIsScrollable)\n }\n }, [Actions])\n\n const ActionComponents = Actions ? Object.values(Actions) : []\n\n return (\n <header className={[baseClass, navOpen && `${baseClass}--nav-open`].filter(Boolean).join(' ')}>\n <div className={`${baseClass}__content`}>\n <div className={`${baseClass}__wrapper`}>\n <NavToggler className={`${baseClass}__mobile-nav-toggler`} tabIndex={-1} />\n <div className={`${baseClass}__controls-wrapper`}>\n <div className={`${baseClass}__step-nav-wrapper`}>\n <Button\n aria-label={`${navOpen ? t('general:close') : t('general:open')} ${t('general:menu')}`}\n buttonStyle=\"ghost\"\n className={`${baseClass}__sidebar-toggle`}\n icon={<SidebarIcon />}\n onClick={() => setNavOpen(!navOpen)}\n type=\"button\"\n />\n <div className={`${baseClass}__step-nav-wrapper`}>\n <StepNav className={`${baseClass}__step-nav`} />\n </div>\n </div>\n <div className={`${baseClass}__actions-wrapper`}>\n <div className={`${baseClass}__actions`} ref={customControlsRef}>\n {ActionComponents.map((Action, i) => (\n <div\n className={\n isScrollable && i === ActionComponents.length - 1\n ? `${baseClass}__last-action`\n : ''\n }\n key={i}\n >\n {Action}\n </div>\n ))}\n </div>\n {isScrollable && <div className={`${baseClass}__gradient-placeholder`} />}\n </div>\n {localization && (\n <Localizer\n className={`${baseClass}__localizer`}\n renderButton={({ active, onClick, onKeyDown, ...ariaProps }) => (\n <Button\n aria-label={t('general:locale')}\n buttonStyle=\"secondary\"\n extraButtonProps={{ onKeyDown, style: { padding: '0 var(--spacer-1) 0 0' } }}\n icon={<LanguageIcon size={24} />}\n iconPosition=\"left\"\n onClick={onClick}\n selected={active}\n {...ariaProps}\n >\n <div className=\"localizer__button-content\">\n {locale.code}\n <ChevronIcon direction={active ? 'up' : 'down'} size={16} />\n </div>\n </Button>\n )}\n />\n )}\n <UserMenu CustomAvatar={CustomAvatar} settingsItemGroups={settingsItemGroups} />\n </div>\n </div>\n </div>\n </header>\n )\n}\n"],"mappings":"AAAA;;;AACA,OAAOA,KAAA,IAASC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ;AAInD,SAASC,WAAW,QAAQ;AAC5B,SAASC,YAAY,QAAQ;AAC7B,SAASC,WAAW,QAAQ;AAC5B,SAASC,UAAU,QAAQ;AAC3B,SAASC,SAAS,QAAQ;AAC1B,SAASC,SAAS,QAAQ;AAC1B,SAASC,cAAc,QAAQ;AAC/B,SAASC,MAAM,QAAQ;AACvB,SAASC,SAAS,QAAQ;AAC1B,SAASC,MAAM,QAAQ;AACvB,SAASC,UAAU,QAAQ;AAC3B,SAASC,OAAO,QAAQ;AACxB,SAASC,QAAQ,QAAQ;AACzB,OAAO;AAEP,MAAMC,SAAA,GAAY;AAMlB,OAAO,SAASC,UAAU;EAAEC,YAAY;EAAEC;AAAkB,CAAS;EACnE,MAAM;IAAEC;EAAC,CAAE,GAAGX,cAAA;EACd,MAAMY,MAAA,GAASb,SAAA;EAEf,MAAM;IAAEc;EAAO,CAAE,GAAGhB,UAAA;EAEpB,MAAM;IAAEiB,OAAO;IAAEC;EAAU,CAAE,GAAGZ,MAAA;EAEhC,MAAM;IACJa,MAAA,EAAQ;MAAEC;IAAY;EAAE,CACzB,GAAGnB,SAAA;EAEJ,MAAMoB,iBAAA,GAAoB1B,MAAA,CAAuB;EACjD,MAAM,CAAC2B,YAAA,EAAcC,eAAA,CAAgB,GAAG3B,QAAA,CAAS;EAEjDF,SAAA,CAAU;IACR,MAAM8B,iBAAA,GAAoBA,CAAA;MACxB,MAAMC,EAAA,GAAKJ,iBAAA,CAAkBK,OAAO;MACpC,IAAID,EAAA,EAAI;QACN,MAAME,UAAA,GAAaF,EAAA,CAAGG,WAAW,GAAGH,EAAA,CAAGI,WAAW;QAClDN,eAAA,CAAgBI,UAAA;MAClB;IACF;IAEAH,iBAAA;IACAM,MAAA,CAAOC,gBAAgB,CAAC,UAAUP,iBAAA;IAElC,OAAO;MACLM,MAAA,CAAOE,mBAAmB,CAAC,UAAUR,iBAAA;IACvC;EACF,GAAG,CAACR,OAAA,CAAQ;EAEZ,MAAMiB,gBAAA,GAAmBjB,OAAA,GAAUkB,MAAA,CAAOC,MAAM,CAACnB,OAAA,IAAW,EAAE;EAE9D,oBACEoB,IAAA,CAAC;IAAOC,SAAA,EAAW,CAAC3B,SAAA,EAAWO,OAAA,IAAW,GAAGP,SAAA,YAAqB,CAAC,CAAC4B,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;cACvF,aAAAJ,IAAA,CAAC;MAAIC,SAAA,EAAW,GAAG3B,SAAA,WAAoB;gBACrC,aAAA+B,KAAA,CAAC;QAAIJ,SAAA,EAAW,GAAG3B,SAAA,WAAoB;gCACrC0B,IAAA,CAAC7B,UAAA;UAAW8B,SAAA,EAAW,GAAG3B,SAAA,sBAA+B;UAAEgC,QAAA,EAAU,CAAC;yBACtED,KAAA,CAAC;UAAIJ,SAAA,EAAW,GAAG3B,SAAA,oBAA6B;kCAC9C+B,KAAA,CAAC;YAAIJ,SAAA,EAAW,GAAG3B,SAAA,oBAA6B;oCAC9C0B,IAAA,CAAChC,MAAA;cACC,cAAY,GAAGa,OAAA,GAAUH,CAAA,CAAE,mBAAmBA,CAAA,CAAE,mBAAmBA,CAAA,CAAE,iBAAiB;cACtF6B,WAAA,EAAY;cACZN,SAAA,EAAW,GAAG3B,SAAA,kBAA2B;cACzCkC,IAAA,eAAMR,IAAA,CAACrC,WAAA;cACP8C,OAAA,EAASA,CAAA,KAAM3B,UAAA,CAAW,CAACD,OAAA;cAC3B6B,IAAA,EAAK;6BAEPV,IAAA,CAAC;cAAIC,SAAA,EAAW,GAAG3B,SAAA,oBAA6B;wBAC9C,aAAA0B,IAAA,CAAC5B,OAAA;gBAAQ6B,SAAA,EAAW,GAAG3B,SAAA;;;2BAG3B+B,KAAA,CAAC;YAAIJ,SAAA,EAAW,GAAG3B,SAAA,mBAA4B;oCAC7C0B,IAAA,CAAC;cAAIC,SAAA,EAAW,GAAG3B,SAAA,WAAoB;cAAEqC,GAAA,EAAK1B,iBAAA;wBAC3CY,gBAAA,CAAiBe,GAAG,CAAC,CAACC,MAAA,EAAQC,CAAA,kBAC7Bd,IAAA,CAAC;gBACCC,SAAA,EACEf,YAAA,IAAgB4B,CAAA,KAAMjB,gBAAA,CAAiBkB,MAAM,GAAG,IAC5C,GAAGzC,SAAA,eAAwB,GAC3B;0BAILuC;iBAFIC,CAAA;gBAMV5B,YAAA,iBAAgBc,IAAA,CAAC;cAAIC,SAAA,EAAW,GAAG3B,SAAA;;cAErCU,YAAA,iBACCgB,IAAA,CAAC/B,SAAA;YACCgC,SAAA,EAAW,GAAG3B,SAAA,aAAsB;YACpC0C,YAAA,EAAcA,CAAC;cAAEC,MAAM;cAAER,OAAO;cAAES,SAAS;cAAE,GAAGC;YAAA,CAAW,kBACzDnB,IAAA,CAAChC,MAAA;cACC,cAAYU,CAAA,CAAE;cACd6B,WAAA,EAAY;cACZa,gBAAA,EAAkB;gBAAEF,SAAA;gBAAWG,KAAA,EAAO;kBAAEC,OAAA,EAAS;gBAAwB;cAAE;cAC3Ed,IAAA,eAAMR,IAAA,CAACtC,YAAA;gBAAa6D,IAAA,EAAM;;cAC1BC,YAAA,EAAa;cACbf,OAAA,EAASA,OAAA;cACTgB,QAAA,EAAUR,MAAA;cACT,GAAGE,SAAS;wBAEb,aAAAd,KAAA,CAAC;gBAAIJ,SAAA,EAAU;2BACZtB,MAAA,CAAO+C,IAAI,E,aACZ1B,IAAA,CAACvC,WAAA;kBAAYkE,SAAA,EAAWV,MAAA,GAAS,OAAO;kBAAQM,IAAA,EAAM;;;;2BAMhEvB,IAAA,CAAC3B,QAAA;YAASG,YAAA,EAAcA,YAAA;YAAcC,kBAAA,EAAoBA;;;;;;AAMtE","ignoreList":[]}
@@ -150,12 +150,18 @@
150
150
  }
151
151
 
152
152
  .doc-controls {
153
- padding: var(--spacer-2) var(--spacer-3);
153
+ padding: var(--spacer-2-5);
154
154
  padding-right: var(--spacer-2-5);
155
155
  gap: var(--spacer-2);
156
156
  flex-wrap: wrap;
157
157
  }
158
158
 
159
+ .doc-controls--drawerHeaderActions {
160
+ padding: 0;
161
+ gap: 0;
162
+ flex-wrap: nowrap;
163
+ }
164
+
159
165
  .doc-controls__content {
160
166
  min-width: 0;
161
167
  }
@@ -46,6 +46,11 @@
46
46
  .popup-button-list__label {
47
47
  display: flex;
48
48
  align-items: center;
49
+ font-family: var(--text-body-medium-font-family);
50
+ font-size: var(--text-body-medium-font-size);
51
+ font-weight: var(--text-body-medium-font-weight);
52
+ letter-spacing: var(--text-body-medium-letter-spacing);
53
+ line-height: var(--text-body-medium-line-height);
49
54
  padding: var(--spacer-1) var(--spacer-2) var(--spacer-1) var(--spacer-1);
50
55
  }
51
56
 
@@ -1,10 +1,13 @@
1
1
  @layer payload-default {
2
2
  .popup-list-group-label {
3
3
  color: var(--color-text-secondary);
4
- font-weight: 500;
5
- line-height: 1;
6
- margin-top: var(--spacer-1);
7
- margin-bottom: var(--spacer-2);
4
+ font-family: var(--text-body-medium-font-family);
5
+ font-size: var(--text-body-medium-font-size);
6
+ font-weight: var(--text-body-medium-font-weight);
7
+ letter-spacing: var(--text-body-medium-letter-spacing);
8
+ line-height: var(--text-body-medium-line-height);
9
+ padding-block: var(--spacer-1);
10
+ padding-inline: var(--spacer-3);
8
11
  }
9
12
 
10
13
  /* Align the label's text with its sibling button labels, which carry a
@@ -16,6 +19,6 @@
16
19
 
17
20
  .popup-button-list--with-actions .popup-list-group-label,
18
21
  .popup-button-list--with-icons .popup-list-group-label {
19
- padding-inline-start: calc(var(--spacer-1) * 2);
22
+ padding-inline-start: var(--spacer-2);
20
23
  }
21
24
  }
@@ -2,12 +2,13 @@ import type { Where } from 'payload';
2
2
  import React from 'react';
3
3
  import type { PublishManyProps } from './index.js';
4
4
  type PublishManyDrawerContentProps = {
5
+ collection: PublishManyProps['collection'];
5
6
  drawerSlug: string;
6
7
  ids: (number | string)[];
7
8
  onSuccess?: () => void;
8
9
  selectAll: boolean;
9
10
  where?: Where;
10
- } & PublishManyProps;
11
+ };
11
12
  export declare function PublishManyDrawerContent(props: PublishManyDrawerContentProps): React.JSX.Element;
12
13
  export {};
13
14
  //# sourceMappingURL=DrawerContent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../src/elements/PublishMany/DrawerContent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAKpC,OAAO,KAAsB,MAAM,OAAO,CAAA;AAG1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAWlD,KAAK,6BAA6B,GAAG;IACnC,UAAU,EAAE,MAAM,CAAA;IAClB,GAAG,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,GAAG,gBAAgB,CAAA;AAEpB,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,6BAA6B,qBA2K5E"}
1
+ {"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../src/elements/PublishMany/DrawerContent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAKpC,OAAO,KAAsB,MAAM,OAAO,CAAA;AAG1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAWlD,KAAK,6BAA6B,GAAG;IACnC,UAAU,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAA;IAC1C,UAAU,EAAE,MAAM,CAAA;IAClB,GAAG,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,CAAA;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,6BAA6B,qBA2K5E"}
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerContent.js","names":["getTranslation","combineWhereConstraints","formatAdminURL","mergeListSearchAndWhere","qs","React","useCallback","toast","useConfig","useLocale","useRouteCache","useRouter","useSearchParams","useTranslation","requests","parseSearchParams","ConfirmationModal","PublishManyDrawerContent","props","collection","slug","labels","plural","singular","drawerSlug","ids","onSuccess","selectAll","where","clearRouteCache","config","routes","api","code","locale","router","searchParams","i18n","t","addDefaultError","error","queryString","useMemo","whereConstraints","_status","not_equals","push","queryWithSearch","collectionConfig","search","get","id","in","stringify","select","addQueryPrefix","handlePublish","url","apiRoute","path","patch","body","JSON","headers","language","then","res","json","deletedDocs","docs","length","successLabel","status","success","count","label","errors","message","description","map","join","replace","page","undefined","forEach","_err","_jsx","cancelLabel","confirmingLabel","confirmLabel","heading","modalSlug","onConfirm"],"sources":["../../../src/elements/PublishMany/DrawerContent.tsx"],"sourcesContent":["import type { Where } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { combineWhereConstraints, formatAdminURL, mergeListSearchAndWhere } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback } from 'react'\nimport { toast } from 'sonner'\n\nimport type { PublishManyProps } from './index.js'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { useRouter, useSearchParams } from '../../providers/RouterAdapter/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'\n\ntype PublishManyDrawerContentProps = {\n drawerSlug: string\n ids: (number | string)[]\n onSuccess?: () => void\n selectAll: boolean\n where?: Where\n} & PublishManyProps\n\nexport function PublishManyDrawerContent(props: PublishManyDrawerContentProps) {\n const {\n collection,\n collection: { slug, labels: { plural, singular } } = {},\n drawerSlug,\n ids,\n onSuccess,\n selectAll,\n where,\n } = props\n\n const { clearRouteCache } = useRouteCache()\n\n const {\n config: {\n routes: { api },\n },\n } = useConfig()\n\n const { code: locale } = useLocale()\n\n const router = useRouter()\n const searchParams = useSearchParams()\n const { i18n, t } = useTranslation()\n\n const addDefaultError = useCallback(() => {\n toast.error(t('error:unknown'))\n }, [t])\n\n const queryString = React.useMemo((): string => {\n const whereConstraints: Where[] = [\n {\n _status: {\n not_equals: 'published',\n },\n },\n ]\n\n if (where) {\n whereConstraints.push(where)\n }\n\n const queryWithSearch = mergeListSearchAndWhere({\n collectionConfig: collection,\n search: searchParams.get('search'),\n })\n\n if (queryWithSearch) {\n whereConstraints.push(queryWithSearch)\n }\n\n if (selectAll) {\n // Match the current filter/search, or default to all docs\n whereConstraints.push(\n (parseSearchParams(searchParams)?.where as Where) || {\n id: {\n not_equals: '',\n },\n },\n )\n } else {\n // If we're not selecting all, we need to select specific docs\n whereConstraints.push({\n id: {\n in: ids || [],\n },\n })\n }\n\n return qs.stringify(\n {\n locale,\n select: {},\n where: combineWhereConstraints(whereConstraints),\n },\n { addQueryPrefix: true },\n )\n }, [collection, searchParams, selectAll, ids, locale, where])\n\n const handlePublish = useCallback(async () => {\n const url = formatAdminURL({\n apiRoute: api,\n path: `/${slug}${queryString}&draft=true`,\n })\n await requests\n .patch(url, {\n body: JSON.stringify({\n _status: 'published',\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()\n\n if (typeof onSuccess === 'function') {\n onSuccess()\n }\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 api,\n slug,\n queryString,\n i18n,\n plural,\n singular,\n t,\n router,\n searchParams,\n selectAll,\n clearRouteCache,\n addDefaultError,\n onSuccess,\n ])\n\n return (\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={drawerSlug}\n onConfirm={handlePublish}\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DrawerContent.js","names":["getTranslation","combineWhereConstraints","formatAdminURL","mergeListSearchAndWhere","qs","React","useCallback","toast","useConfig","useLocale","useRouteCache","useRouter","useSearchParams","useTranslation","requests","parseSearchParams","ConfirmationModal","PublishManyDrawerContent","props","collection","slug","labels","plural","singular","drawerSlug","ids","onSuccess","selectAll","where","clearRouteCache","config","routes","api","code","locale","router","searchParams","i18n","t","addDefaultError","error","queryString","useMemo","whereConstraints","_status","not_equals","push","queryWithSearch","collectionConfig","search","get","id","in","stringify","select","addQueryPrefix","handlePublish","url","apiRoute","path","patch","body","JSON","headers","language","then","res","json","deletedDocs","docs","length","successLabel","status","success","count","label","errors","message","description","map","join","replace","page","undefined","forEach","_err","_jsx","cancelLabel","confirmingLabel","confirmLabel","heading","modalSlug","onConfirm"],"sources":["../../../src/elements/PublishMany/DrawerContent.tsx"],"sourcesContent":["import type { Where } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { combineWhereConstraints, formatAdminURL, mergeListSearchAndWhere } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback } from 'react'\nimport { toast } from 'sonner'\n\nimport type { PublishManyProps } from './index.js'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { useRouter, useSearchParams } from '../../providers/RouterAdapter/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'\n\ntype PublishManyDrawerContentProps = {\n collection: PublishManyProps['collection']\n drawerSlug: string\n ids: (number | string)[]\n onSuccess?: () => void\n selectAll: boolean\n where?: Where\n}\n\nexport function PublishManyDrawerContent(props: PublishManyDrawerContentProps) {\n const {\n collection,\n collection: { slug, labels: { plural, singular } } = {},\n drawerSlug,\n ids,\n onSuccess,\n selectAll,\n where,\n } = props\n\n const { clearRouteCache } = useRouteCache()\n\n const {\n config: {\n routes: { api },\n },\n } = useConfig()\n\n const { code: locale } = useLocale()\n\n const router = useRouter()\n const searchParams = useSearchParams()\n const { i18n, t } = useTranslation()\n\n const addDefaultError = useCallback(() => {\n toast.error(t('error:unknown'))\n }, [t])\n\n const queryString = React.useMemo((): string => {\n const whereConstraints: Where[] = [\n {\n _status: {\n not_equals: 'published',\n },\n },\n ]\n\n if (where) {\n whereConstraints.push(where)\n }\n\n const queryWithSearch = mergeListSearchAndWhere({\n collectionConfig: collection,\n search: searchParams.get('search'),\n })\n\n if (queryWithSearch) {\n whereConstraints.push(queryWithSearch)\n }\n\n if (selectAll) {\n // Match the current filter/search, or default to all docs\n whereConstraints.push(\n (parseSearchParams(searchParams)?.where as Where) || {\n id: {\n not_equals: '',\n },\n },\n )\n } else {\n // If we're not selecting all, we need to select specific docs\n whereConstraints.push({\n id: {\n in: ids || [],\n },\n })\n }\n\n return qs.stringify(\n {\n locale,\n select: {},\n where: combineWhereConstraints(whereConstraints),\n },\n { addQueryPrefix: true },\n )\n }, [collection, searchParams, selectAll, ids, locale, where])\n\n const handlePublish = useCallback(async () => {\n const url = formatAdminURL({\n apiRoute: api,\n path: `/${slug}${queryString}&draft=true`,\n })\n await requests\n .patch(url, {\n body: JSON.stringify({\n _status: 'published',\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()\n\n if (typeof onSuccess === 'function') {\n onSuccess()\n }\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 api,\n slug,\n queryString,\n i18n,\n plural,\n singular,\n t,\n router,\n searchParams,\n selectAll,\n clearRouteCache,\n addDefaultError,\n onSuccess,\n ])\n\n return (\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={drawerSlug}\n onConfirm={handlePublish}\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -2,9 +2,6 @@ import type { ClientCollectionConfig, Where } from 'payload';
2
2
  import React from 'react';
3
3
  export type PublishManyProps = {
4
4
  collection: ClientCollectionConfig;
5
- };
6
- export declare const PublishMany: React.FC<PublishManyProps>;
7
- type PublishMany_v4Props = {
8
5
  count: number;
9
6
  ids: (number | string)[];
10
7
  /**
@@ -14,7 +11,6 @@ type PublishMany_v4Props = {
14
11
  onSuccess?: () => void;
15
12
  selectAll: boolean;
16
13
  where?: Where;
17
- } & PublishManyProps;
18
- export declare const PublishMany_v4: React.FC<PublishMany_v4Props>;
19
- export {};
14
+ };
15
+ export declare const PublishMany: React.FC<PublishManyProps>;
20
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/PublishMany/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAG5D,OAAO,KAAK,MAAM,OAAO,CAAA;AAQzB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,EAAE,sBAAsB,CAAA;CACnC,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAYlD,CAAA;AAED,KAAK,mBAAmB,GAAG;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IACxB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,GAAG,gBAAgB,CAAA;AAEpB,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA8CxD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/PublishMany/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAG5D,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,EAAE,sBAAsB,CAAA;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IACxB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA8ClD,CAAA"}
@@ -5,48 +5,10 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
5
  import { useModal } from '@faceless-ui/modal';
6
6
  import React from 'react';
7
7
  import { useAuth } from '../../providers/Auth/index.js';
8
- import { SelectAllStatus, useSelection } from '../../providers/Selection/index.js';
9
8
  import { useTranslation } from '../../providers/Translation/index.js';
10
9
  import { ListSelectionButton } from '../ListSelection/index.js';
11
10
  import { PublishManyDrawerContent } from './DrawerContent.js';
12
11
  export const PublishMany = props => {
13
- const $ = _c(8);
14
- const {
15
- count,
16
- selectAll,
17
- selectedIDs,
18
- toggleAll
19
- } = useSelection();
20
- let t0;
21
- if ($[0] !== toggleAll) {
22
- t0 = () => toggleAll();
23
- $[0] = toggleAll;
24
- $[1] = t0;
25
- } else {
26
- t0 = $[1];
27
- }
28
- const t1 = selectAll === SelectAllStatus.AllAvailable;
29
- let t2;
30
- if ($[2] !== count || $[3] !== props || $[4] !== selectedIDs || $[5] !== t0 || $[6] !== t1) {
31
- t2 = _jsx(PublishMany_v4, {
32
- ...props,
33
- count,
34
- ids: selectedIDs,
35
- onSuccess: t0,
36
- selectAll: t1
37
- });
38
- $[2] = count;
39
- $[3] = props;
40
- $[4] = selectedIDs;
41
- $[5] = t0;
42
- $[6] = t1;
43
- $[7] = t2;
44
- } else {
45
- t2 = $[7];
46
- }
47
- return t2;
48
- };
49
- export const PublishMany_v4 = props => {
50
12
  const $ = _c(12);
51
13
  const {
52
14
  collection,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useModal","React","useAuth","SelectAllStatus","useSelection","useTranslation","ListSelectionButton","PublishManyDrawerContent","PublishMany","props","$","count","selectAll","selectedIDs","toggleAll","t0","t1","AllAvailable","t2","_jsx","PublishMany_v4","ids","onSuccess","collection","modalPrefix","where","slug","versions","undefined","permissions","t","openModal","collectionPermissions","collections","hasPermission","update","drawerSlug","drafts","_jsxs","Fragment","children","onClick"],"sources":["../../../src/elements/PublishMany/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, Where } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport React from 'react'\n\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { SelectAllStatus, useSelection } from '../../providers/Selection/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { ListSelectionButton } from '../ListSelection/index.js'\nimport { PublishManyDrawerContent } from './DrawerContent.js'\n\nexport type PublishManyProps = {\n collection: ClientCollectionConfig\n}\n\nexport const PublishMany: React.FC<PublishManyProps> = (props) => {\n const { count, selectAll, selectedIDs, toggleAll } = useSelection()\n\n return (\n <PublishMany_v4\n {...props}\n count={count}\n ids={selectedIDs}\n onSuccess={() => toggleAll()}\n selectAll={selectAll === SelectAllStatus.AllAvailable}\n />\n )\n}\n\ntype PublishMany_v4Props = {\n count: number\n ids: (number | string)[]\n /**\n * When multiple PublishMany components are rendered on the page, this will differentiate them.\n */\n modalPrefix?: string\n onSuccess?: () => void\n selectAll: boolean\n where?: Where\n} & PublishManyProps\n\nexport const PublishMany_v4: React.FC<PublishMany_v4Props> = (props) => {\n const {\n collection,\n collection: { slug, versions } = {},\n count,\n ids,\n modalPrefix,\n onSuccess,\n selectAll,\n where,\n } = props\n\n const { permissions } = useAuth()\n const { t } = useTranslation()\n\n const { openModal } = useModal()\n\n const collectionPermissions = permissions?.collections?.[slug]\n const hasPermission = collectionPermissions?.update\n\n const drawerSlug = `${modalPrefix ? `${modalPrefix}-` : ''}publish-${slug}`\n\n if (!versions?.drafts || count === 0 || !hasPermission) {\n return null\n }\n\n return (\n <React.Fragment>\n <ListSelectionButton\n aria-label={t('version:publish')}\n onClick={() => {\n openModal(drawerSlug)\n }}\n >\n {t('version:publish')}\n </ListSelectionButton>\n <PublishManyDrawerContent\n collection={collection}\n drawerSlug={drawerSlug}\n ids={ids}\n onSuccess={onSuccess}\n selectAll={selectAll}\n where={where}\n />\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useModal","React","useAuth","useTranslation","ListSelectionButton","PublishManyDrawerContent","PublishMany","props","$","collection","t0","count","ids","modalPrefix","onSuccess","selectAll","where","slug","versions","undefined","permissions","t","openModal","collectionPermissions","collections","hasPermission","update","drawerSlug","drafts","t1","t2","_jsxs","Fragment","children","_jsx","onClick"],"sources":["../../../src/elements/PublishMany/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, Where } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport React from 'react'\n\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { ListSelectionButton } from '../ListSelection/index.js'\nimport { PublishManyDrawerContent } from './DrawerContent.js'\n\nexport type PublishManyProps = {\n collection: ClientCollectionConfig\n count: number\n ids: (number | string)[]\n /**\n * When multiple PublishMany components are rendered on the page, this will differentiate them.\n */\n modalPrefix?: string\n onSuccess?: () => void\n selectAll: boolean\n where?: Where\n}\n\nexport const PublishMany: React.FC<PublishManyProps> = (props) => {\n const {\n collection,\n collection: { slug, versions } = {},\n count,\n ids,\n modalPrefix,\n onSuccess,\n selectAll,\n where,\n } = props\n\n const { permissions } = useAuth()\n const { t } = useTranslation()\n\n const { openModal } = useModal()\n\n const collectionPermissions = permissions?.collections?.[slug]\n const hasPermission = collectionPermissions?.update\n\n const drawerSlug = `${modalPrefix ? `${modalPrefix}-` : ''}publish-${slug}`\n\n if (!versions?.drafts || count === 0 || !hasPermission) {\n return null\n }\n\n return (\n <React.Fragment>\n <ListSelectionButton\n aria-label={t('version:publish')}\n onClick={() => {\n openModal(drawerSlug)\n }}\n >\n {t('version:publish')}\n </ListSelectionButton>\n <PublishManyDrawerContent\n collection={collection}\n drawerSlug={drawerSlug}\n ids={ids}\n onSuccess={onSuccess}\n selectAll={selectAll}\n where={where}\n />\n </React.Fragment>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,QAAQ,QAAQ;AACzB,OAAOC,KAAA,MAAW;AAElB,SAASC,OAAO,QAAQ;AACxB,SAASC,cAAc,QAAQ;AAC/B,SAASC,mBAAmB,QAAQ;AACpC,SAASC,wBAAwB,QAAQ;AAezC,OAAO,MAAMC,WAAA,GAA0CC,KAAA;EAAA,MAAAC,CAAA,GAAAT,EAAA;EACrD;IAAAU,UAAA;IAAAA,UAAA,EAAAC,EAAA;IAAAC,KAAA;IAAAC,GAAA;IAAAC,WAAA;IAAAC,SAAA;IAAAC,SAAA;IAAAC;EAAA,IASIT,KAAA;EAPU;IAAAU,IAAA;IAAAC;EAAA,IAAAR,EAAuB,KAAAS,SAAA,QAAvBT,EAAuB;EASrC;IAAAU;EAAA,IAAwBlB,OAAA;EACxB;IAAAmB;EAAA,IAAclB,cAAA;EAEd;IAAAmB;EAAA,IAAsBtB,QAAA;EAEtB,MAAAuB,qBAAA,GAA8BH,WAAA,EAAAI,WAAA,GAA2BP,IAAA;EACzD,MAAAQ,aAAA,GAAsBF,qBAAA,EAAAG,MAAA;EAEtB,MAAAC,UAAA,GAAmB,GAAGd,WAAA,GAAc,GAAGA,WAAA,GAAc,GAAG,aAAaI,IAAA,EAAM;EAAA,IAEvE,CAACC,QAAA,EAAAU,MAAA,IAAoBjB,KAAA,MAAU,KAAMc,aAAA;IAAA;EAAA;EAAA,IAAAI,EAAA;EAAA,IAAArB,CAAA,QAAAC,UAAA,IAAAD,CAAA,QAAAmB,UAAA,IAAAnB,CAAA,QAAAI,GAAA,IAAAJ,CAAA,QAAAM,SAAA,IAAAN,CAAA,QAAAc,SAAA,IAAAd,CAAA,QAAAO,SAAA,IAAAP,CAAA,QAAAa,CAAA,IAAAb,CAAA,QAAAQ,KAAA;IAAA,IAAAc,EAAA;IAAA,IAAAtB,CAAA,QAAAmB,UAAA,IAAAnB,CAAA,SAAAc,SAAA;MAQ1BQ,EAAA,GAAAA,CAAA;QACPR,SAAA,CAAUK,UAAA;MAAA;MACZnB,CAAA,MAAAmB,UAAA;MAAAnB,CAAA,OAAAc,SAAA;MAAAd,CAAA,OAAAsB,EAAA;IAAA;MAAAA,EAAA,GAAAtB,CAAA;IAAA;IALJqB,EAAA,GAAAE,KAAA,CAAA9B,KAAA,CAAA+B,QAAA;MAAAC,QAAA,GACEC,IAAA,CAAA9B,mBAAA;QAAA,cACciB,CAAA,CAAE;QAAAc,OAAA,EACLL,EAET;QAAAG,QAAA,EAECZ,CAAA,CAAE;MAAA,C,GAELa,IAAA,CAAA7B,wBAAA;QAAAI,UAAA;QAAAkB,UAAA;QAAAf,GAAA;QAAAE,SAAA;QAAAC,SAAA;QAAAC;MAAA,C;;;;;;;;;;;;;;SATFa,E;CAmBJ","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ export declare const getCaptureMenuScroll: ({ captureMenuScroll, menuPortalTarget: _menuPortalTarget, }: {
2
+ captureMenuScroll?: boolean;
3
+ menuPortalTarget?: HTMLElement | null;
4
+ }) => boolean;
5
+ //# sourceMappingURL=getCaptureMenuScroll.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getCaptureMenuScroll.d.ts","sourceRoot":"","sources":["../../../src/elements/ReactSelect/getCaptureMenuScroll.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,GAAI,6DAGlC;IACD,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,gBAAgB,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;CACtC,KAAG,OAMH,CAAA"}
@@ -0,0 +1,10 @@
1
+ export const getCaptureMenuScroll = ({
2
+ captureMenuScroll,
3
+ menuPortalTarget: _menuPortalTarget
4
+ }) => {
5
+ if (typeof captureMenuScroll === 'boolean') {
6
+ return captureMenuScroll;
7
+ }
8
+ return true;
9
+ };
10
+ //# sourceMappingURL=getCaptureMenuScroll.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getCaptureMenuScroll.js","names":["getCaptureMenuScroll","captureMenuScroll","menuPortalTarget","_menuPortalTarget"],"sources":["../../../src/elements/ReactSelect/getCaptureMenuScroll.ts"],"sourcesContent":["export const getCaptureMenuScroll = ({\n captureMenuScroll,\n menuPortalTarget: _menuPortalTarget,\n}: {\n captureMenuScroll?: boolean\n menuPortalTarget?: HTMLElement | null\n}): boolean => {\n if (typeof captureMenuScroll === 'boolean') {\n return captureMenuScroll\n }\n\n return true\n}\n"],"mappings":"AAAA,OAAO,MAAMA,oBAAA,GAAuBA,CAAC;EACnCC,iBAAiB;EACjBC,gBAAA,EAAkBC;AAAiB,CAIpC;EACC,IAAI,OAAOF,iBAAA,KAAsB,WAAW;IAC1C,OAAOA,iBAAA;EACT;EAEA,OAAO;AACT","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ import type { GroupBase, StylesConfig } from 'react-select';
2
+ import type { Option } from './types.js';
3
+ type MenuListStyles = NonNullable<StylesConfig<Option, boolean, GroupBase<Option>>['menuList']>;
4
+ export declare const getMenuListStyles: (externalStyles?: StylesConfig<Option, boolean, GroupBase<Option>>) => MenuListStyles;
5
+ export {};
6
+ //# sourceMappingURL=getMenuListStyles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getMenuListStyles.d.ts","sourceRoot":"","sources":["../../../src/elements/ReactSelect/getMenuListStyles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAsB,SAAS,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAE/E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAExC,KAAK,cAAc,GAAG,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAA;AAE/F,eAAO,MAAM,iBAAiB,GAC5B,iBAAiB,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,KAChE,cAQF,CAAA"}
@@ -0,0 +1,7 @@
1
+ export const getMenuListStyles = externalStyles => {
2
+ return (rsStyles, state) => ({
3
+ ...rsStyles,
4
+ ...externalStyles?.menuList?.(rsStyles, state)
5
+ });
6
+ };
7
+ //# sourceMappingURL=getMenuListStyles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getMenuListStyles.js","names":["getMenuListStyles","externalStyles","rsStyles","state","menuList"],"sources":["../../../src/elements/ReactSelect/getMenuListStyles.ts"],"sourcesContent":["import type { CSSObjectWithLabel, GroupBase, StylesConfig } from 'react-select'\n\nimport type { Option } from './types.js'\n\ntype MenuListStyles = NonNullable<StylesConfig<Option, boolean, GroupBase<Option>>['menuList']>\n\nexport const getMenuListStyles = (\n externalStyles?: StylesConfig<Option, boolean, GroupBase<Option>>,\n): MenuListStyles => {\n return (\n rsStyles: CSSObjectWithLabel,\n state: Parameters<NonNullable<StylesConfig<Option>['menuList']>>[1],\n ) => ({\n ...rsStyles,\n ...externalStyles?.menuList?.(rsStyles, state),\n })\n}\n"],"mappings":"AAMA,OAAO,MAAMA,iBAAA,GACXC,cAAA;EAEA,OAAO,CACLC,QAAA,EACAC,KAAA,MACI;IACJ,GAAGD,QAAQ;IACX,GAAGD,cAAA,EAAgBG,QAAA,GAAWF,QAAA,EAAUC,KAAA;EAC1C;AACF","ignoreList":[]}
@@ -103,7 +103,6 @@
103
103
  }
104
104
 
105
105
  .rs__menu-list {
106
- max-height: calc(var(--spacer-6) * 5);
107
106
  overflow-y: auto;
108
107
  }
109
108
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ReactSelect/index.tsx"],"names":[],"mappings":"AAMA,OAAO,KAA2B,MAAM,OAAO,CAAA;AAI/C,OAAO,KAAK,EAAU,uBAAuB,EAAE,MAAM,YAAY,CAAA;AACjE,YAAY,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAgBxC,OAAO,aAAa,CAAA;AAgTpB,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAQzD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ReactSelect/index.tsx"],"names":[],"mappings":"AAMA,OAAO,KAQN,MAAM,OAAO,CAAA;AAId,OAAO,KAAK,EAAU,uBAAuB,EAAE,MAAM,YAAY,CAAA;AACjE,YAAY,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAkBxC,OAAO,aAAa,CAAA;AA4VpB,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAQzD,CAAA"}