@payloadcms/ui 3.44.0-canary.10 → 3.44.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 (80) hide show
  1. package/dist/elements/BulkUpload/FileSidebar/index.d.ts.map +1 -1
  2. package/dist/elements/BulkUpload/FileSidebar/index.js +29 -74
  3. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  4. package/dist/elements/BulkUpload/FileSidebar/index.scss +4 -5
  5. package/dist/elements/BulkUpload/FormsManager/index.d.ts +1 -0
  6. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  7. package/dist/elements/BulkUpload/FormsManager/index.js +64 -37
  8. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  9. package/dist/elements/BulkUpload/FormsManager/reducer.d.ts +0 -1
  10. package/dist/elements/BulkUpload/FormsManager/reducer.d.ts.map +1 -1
  11. package/dist/elements/BulkUpload/FormsManager/reducer.js +0 -1
  12. package/dist/elements/BulkUpload/FormsManager/reducer.js.map +1 -1
  13. package/dist/elements/BulkUpload/index.scss +0 -0
  14. package/dist/elements/EditMany/DrawerContent.d.ts +1 -5
  15. package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
  16. package/dist/elements/EditMany/DrawerContent.js +1 -5
  17. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  18. package/dist/elements/EditMany/index.d.ts +0 -1
  19. package/dist/elements/EditMany/index.d.ts.map +1 -1
  20. package/dist/elements/EditMany/index.js +18 -32
  21. package/dist/elements/EditMany/index.js.map +1 -1
  22. package/dist/elements/EmailAndUsername/index.d.ts +0 -1
  23. package/dist/elements/EmailAndUsername/index.d.ts.map +1 -1
  24. package/dist/elements/EmailAndUsername/index.js +30 -64
  25. package/dist/elements/EmailAndUsername/index.js.map +1 -1
  26. package/dist/elements/PublishMany/DrawerContent.d.ts +0 -1
  27. package/dist/elements/PublishMany/DrawerContent.d.ts.map +1 -1
  28. package/dist/elements/PublishMany/DrawerContent.js +1 -5
  29. package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
  30. package/dist/elements/PublishMany/index.d.ts +0 -1
  31. package/dist/elements/PublishMany/index.d.ts.map +1 -1
  32. package/dist/elements/PublishMany/index.js +17 -31
  33. package/dist/elements/PublishMany/index.js.map +1 -1
  34. package/dist/elements/ShimmerEffect/index.d.ts +0 -2
  35. package/dist/elements/ShimmerEffect/index.d.ts.map +1 -1
  36. package/dist/elements/ShimmerEffect/index.js +3 -5
  37. package/dist/elements/ShimmerEffect/index.js.map +1 -1
  38. package/dist/elements/Thumbnail/createThumbnail.d.ts.map +1 -1
  39. package/dist/elements/Thumbnail/createThumbnail.js +2 -8
  40. package/dist/elements/Thumbnail/createThumbnail.js.map +1 -1
  41. package/dist/elements/UnpublishMany/DrawerContent.d.ts +0 -1
  42. package/dist/elements/UnpublishMany/DrawerContent.d.ts.map +1 -1
  43. package/dist/elements/UnpublishMany/DrawerContent.js +1 -5
  44. package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
  45. package/dist/elements/UnpublishMany/index.d.ts +0 -1
  46. package/dist/elements/UnpublishMany/index.d.ts.map +1 -1
  47. package/dist/elements/UnpublishMany/index.js +17 -31
  48. package/dist/elements/UnpublishMany/index.js.map +1 -1
  49. package/dist/exports/client/{CodeEditor-YP63NRLU.js → CodeEditor-Z3ZZJH7C.js} +2 -2
  50. package/dist/exports/client/{chunk-5EP6VERX.js → chunk-CNCOIY3Y.js} +4 -4
  51. package/dist/exports/client/{chunk-5EP6VERX.js.map → chunk-CNCOIY3Y.js.map} +3 -3
  52. package/dist/exports/client/index.d.ts +0 -2
  53. package/dist/exports/client/index.d.ts.map +1 -1
  54. package/dist/exports/client/index.js +16 -16
  55. package/dist/exports/client/index.js.map +4 -4
  56. package/dist/fields/Checkbox/index.d.ts.map +1 -1
  57. package/dist/fields/Checkbox/index.js +0 -9
  58. package/dist/fields/Checkbox/index.js.map +1 -1
  59. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  60. package/dist/forms/Form/fieldReducer.js +0 -5
  61. package/dist/forms/Form/fieldReducer.js.map +1 -1
  62. package/dist/forms/useField/index.d.ts.map +1 -1
  63. package/dist/forms/useField/index.js +1 -2
  64. package/dist/forms/useField/index.js.map +1 -1
  65. package/dist/styles.css +1 -1
  66. package/dist/utilities/getFolderResultsComponentAndData.d.ts.map +1 -1
  67. package/dist/utilities/getFolderResultsComponentAndData.js +2 -1
  68. package/dist/utilities/getFolderResultsComponentAndData.js.map +1 -1
  69. package/dist/views/Edit/Auth/index.d.ts.map +1 -1
  70. package/dist/views/Edit/Auth/index.js +136 -163
  71. package/dist/views/Edit/Auth/index.js.map +1 -1
  72. package/dist/views/Edit/SetDocumentTitle/index.d.ts.map +1 -1
  73. package/dist/views/Edit/SetDocumentTitle/index.js +21 -24
  74. package/dist/views/Edit/SetDocumentTitle/index.js.map +1 -1
  75. package/dist/views/List/ListSelection/index.d.ts.map +1 -1
  76. package/dist/views/List/ListSelection/index.js +18 -31
  77. package/dist/views/List/ListSelection/index.js.map +1 -1
  78. package/package.json +5 -5
  79. package/dist/elements/EmailAndUsername/index.scss +0 -9
  80. /package/dist/exports/client/{CodeEditor-YP63NRLU.js.map → CodeEditor-Z3ZZJH7C.js.map} +0 -0
@@ -1,82 +1,48 @@
1
1
  'use client';
2
2
 
3
3
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
- import { email, getFieldPermissions, username } from 'payload/shared';
4
+ import { email, username } from 'payload/shared';
5
5
  import React from 'react';
6
6
  import { EmailField } from '../../fields/Email/index.js';
7
7
  import { TextField } from '../../fields/Text/index.js';
8
- import './index.scss';
9
- const baseClass = 'login-fields';
10
8
  export function EmailAndUsernameFields(props) {
11
9
  const {
12
10
  className,
13
11
  loginWithUsername,
14
- operation: operationFromProps,
15
- permissions,
16
12
  readOnly,
17
13
  t
18
14
  } = props;
19
- function getAuthFieldPermission(fieldName, operation) {
20
- const permissionsResult = getFieldPermissions({
15
+ const showEmailField = !loginWithUsername || loginWithUsername?.requireEmail || loginWithUsername?.allowEmailLogin;
16
+ const showUsernameField = Boolean(loginWithUsername);
17
+ return /*#__PURE__*/_jsxs("div", {
18
+ className: className,
19
+ children: [showEmailField ? /*#__PURE__*/_jsx(EmailField, {
21
20
  field: {
22
- name: fieldName,
23
- type: 'text'
24
- },
25
- operation: operationFromProps === 'create' ? 'create' : operation,
26
- parentName: '',
27
- permissions
28
- });
29
- return permissionsResult.operation;
30
- }
31
- const hasEmailFieldOverride = typeof permissions === 'object' && 'email' in permissions && permissions.email;
32
- const hasUsernameFieldOverride = typeof permissions === 'object' && 'username' in permissions && permissions.username;
33
- const emailPermissions = hasEmailFieldOverride ? {
34
- read: getAuthFieldPermission('email', 'read'),
35
- update: getAuthFieldPermission('email', 'update')
36
- } : {
37
- read: true,
38
- update: true
39
- };
40
- const usernamePermissions = hasUsernameFieldOverride ? {
41
- read: getAuthFieldPermission('username', 'read'),
42
- update: getAuthFieldPermission('username', 'update')
43
- } : {
44
- read: true,
45
- update: true
46
- };
47
- const showEmailField = (!loginWithUsername || loginWithUsername?.requireEmail || loginWithUsername?.allowEmailLogin) && emailPermissions.read;
48
- const showUsernameField = Boolean(loginWithUsername) && usernamePermissions.read;
49
- if (showEmailField || showUsernameField) {
50
- return /*#__PURE__*/_jsxs("div", {
51
- className: [baseClass, className && className].filter(Boolean).join(' '),
52
- children: [showEmailField ? /*#__PURE__*/_jsx(EmailField, {
53
- field: {
54
- name: 'email',
55
- admin: {
56
- autoComplete: 'off'
57
- },
58
- label: t('general:email'),
59
- required: !loginWithUsername || loginWithUsername && loginWithUsername.requireEmail
21
+ name: 'email',
22
+ admin: {
23
+ autoComplete: 'off'
60
24
  },
61
- path: "email",
62
- readOnly: readOnly || !emailPermissions.update,
63
- schemaPath: "email",
64
- validate: email
65
- }) : null, showUsernameField && /*#__PURE__*/_jsx(TextField, {
66
- field: {
67
- name: 'username',
68
- admin: {
69
- autoComplete: 'off'
70
- },
71
- label: t('authentication:username'),
72
- required: loginWithUsername && loginWithUsername.requireUsername
25
+ label: t('general:email'),
26
+ required: !loginWithUsername || loginWithUsername && loginWithUsername.requireEmail
27
+ },
28
+ path: "email",
29
+ readOnly: readOnly,
30
+ schemaPath: "email",
31
+ validate: email
32
+ }) : null, showUsernameField && /*#__PURE__*/_jsx(TextField, {
33
+ field: {
34
+ name: 'username',
35
+ admin: {
36
+ autoComplete: 'off'
73
37
  },
74
- path: "username",
75
- readOnly: readOnly || !usernamePermissions.update,
76
- schemaPath: "username",
77
- validate: username
78
- })]
79
- });
80
- }
38
+ label: t('authentication:username'),
39
+ required: loginWithUsername && loginWithUsername.requireUsername
40
+ },
41
+ path: "username",
42
+ readOnly: readOnly,
43
+ schemaPath: "username",
44
+ validate: username
45
+ })]
46
+ });
81
47
  }
82
48
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["email","getFieldPermissions","username","React","EmailField","TextField","baseClass","EmailAndUsernameFields","props","className","loginWithUsername","operation","operationFromProps","permissions","readOnly","t","getAuthFieldPermission","fieldName","permissionsResult","field","name","type","parentName","hasEmailFieldOverride","hasUsernameFieldOverride","emailPermissions","read","update","usernamePermissions","showEmailField","requireEmail","allowEmailLogin","showUsernameField","Boolean","_jsxs","filter","join","_jsx","admin","autoComplete","label","required","path","schemaPath","validate","requireUsername"],"sources":["../../../src/elements/EmailAndUsername/index.tsx"],"sourcesContent":["'use client'\n\nimport type { TFunction } from '@payloadcms/translations'\nimport type { LoginWithUsernameOptions, SanitizedFieldPermissions } from 'payload'\n\nimport { email, getFieldPermissions, username } from 'payload/shared'\nimport React from 'react'\n\nimport { EmailField } from '../../fields/Email/index.js'\nimport { TextField } from '../../fields/Text/index.js'\nimport './index.scss'\n\nconst baseClass = 'login-fields'\ntype RenderEmailAndUsernameFieldsProps = {\n className?: string\n loginWithUsername?: false | LoginWithUsernameOptions\n operation?: 'create' | 'update'\n permissions?:\n | {\n [fieldName: string]: SanitizedFieldPermissions\n }\n | true\n readOnly: boolean\n t: TFunction\n}\n\nexport function EmailAndUsernameFields(props: RenderEmailAndUsernameFieldsProps) {\n const {\n className,\n loginWithUsername,\n operation: operationFromProps,\n permissions,\n readOnly,\n t,\n } = props\n\n function getAuthFieldPermission(fieldName: string, operation: 'read' | 'update') {\n const permissionsResult = getFieldPermissions({\n field: { name: fieldName, type: 'text' },\n operation: operationFromProps === 'create' ? 'create' : operation,\n parentName: '',\n permissions,\n })\n return permissionsResult.operation\n }\n\n const hasEmailFieldOverride =\n typeof permissions === 'object' && 'email' in permissions && permissions.email\n const hasUsernameFieldOverride =\n typeof permissions === 'object' && 'username' in permissions && permissions.username\n\n const emailPermissions = hasEmailFieldOverride\n ? {\n read: getAuthFieldPermission('email', 'read'),\n update: getAuthFieldPermission('email', 'update'),\n }\n : {\n read: true,\n update: true,\n }\n\n const usernamePermissions = hasUsernameFieldOverride\n ? {\n read: getAuthFieldPermission('username', 'read'),\n update: getAuthFieldPermission('username', 'update'),\n }\n : {\n read: true,\n update: true,\n }\n\n const showEmailField =\n (!loginWithUsername || loginWithUsername?.requireEmail || loginWithUsername?.allowEmailLogin) &&\n emailPermissions.read\n\n const showUsernameField = Boolean(loginWithUsername) && usernamePermissions.read\n\n if (showEmailField || showUsernameField) {\n return (\n <div className={[baseClass, className && className].filter(Boolean).join(' ')}>\n {showEmailField ? (\n <EmailField\n field={{\n name: 'email',\n admin: {\n autoComplete: 'off',\n },\n label: t('general:email'),\n required: !loginWithUsername || (loginWithUsername && loginWithUsername.requireEmail),\n }}\n path=\"email\"\n readOnly={readOnly || !emailPermissions.update}\n schemaPath=\"email\"\n validate={email}\n />\n ) : null}\n {showUsernameField && (\n <TextField\n field={{\n name: 'username',\n admin: {\n autoComplete: 'off',\n },\n label: t('authentication:username'),\n required: loginWithUsername && loginWithUsername.requireUsername,\n }}\n path=\"username\"\n readOnly={readOnly || !usernamePermissions.update}\n schemaPath=\"username\"\n validate={username}\n />\n )}\n </div>\n )\n }\n}\n"],"mappings":"AAAA;;;AAKA,SAASA,KAAK,EAAEC,mBAAmB,EAAEC,QAAQ,QAAQ;AACrD,OAAOC,KAAA,MAAW;AAElB,SAASC,UAAU,QAAQ;AAC3B,SAASC,SAAS,QAAQ;AAC1B,OAAO;AAEP,MAAMC,SAAA,GAAY;AAclB,OAAO,SAASC,uBAAuBC,KAAwC;EAC7E,MAAM;IACJC,SAAS;IACTC,iBAAiB;IACjBC,SAAA,EAAWC,kBAAkB;IAC7BC,WAAW;IACXC,QAAQ;IACRC;EAAC,CACF,GAAGP,KAAA;EAEJ,SAASQ,uBAAuBC,SAAiB,EAAEN,SAA4B;IAC7E,MAAMO,iBAAA,GAAoBjB,mBAAA,CAAoB;MAC5CkB,KAAA,EAAO;QAAEC,IAAA,EAAMH,SAAA;QAAWI,IAAA,EAAM;MAAO;MACvCV,SAAA,EAAWC,kBAAA,KAAuB,WAAW,WAAWD,SAAA;MACxDW,UAAA,EAAY;MACZT;IACF;IACA,OAAOK,iBAAA,CAAkBP,SAAS;EACpC;EAEA,MAAMY,qBAAA,GACJ,OAAOV,WAAA,KAAgB,YAAY,WAAWA,WAAA,IAAeA,WAAA,CAAYb,KAAK;EAChF,MAAMwB,wBAAA,GACJ,OAAOX,WAAA,KAAgB,YAAY,cAAcA,WAAA,IAAeA,WAAA,CAAYX,QAAQ;EAEtF,MAAMuB,gBAAA,GAAmBF,qBAAA,GACrB;IACEG,IAAA,EAAMV,sBAAA,CAAuB,SAAS;IACtCW,MAAA,EAAQX,sBAAA,CAAuB,SAAS;EAC1C,IACA;IACEU,IAAA,EAAM;IACNC,MAAA,EAAQ;EACV;EAEJ,MAAMC,mBAAA,GAAsBJ,wBAAA,GACxB;IACEE,IAAA,EAAMV,sBAAA,CAAuB,YAAY;IACzCW,MAAA,EAAQX,sBAAA,CAAuB,YAAY;EAC7C,IACA;IACEU,IAAA,EAAM;IACNC,MAAA,EAAQ;EACV;EAEJ,MAAME,cAAA,GACJ,CAAC,CAACnB,iBAAA,IAAqBA,iBAAA,EAAmBoB,YAAA,IAAgBpB,iBAAA,EAAmBqB,eAAc,KAC3FN,gBAAA,CAAiBC,IAAI;EAEvB,MAAMM,iBAAA,GAAoBC,OAAA,CAAQvB,iBAAA,KAAsBkB,mBAAA,CAAoBF,IAAI;EAEhF,IAAIG,cAAA,IAAkBG,iBAAA,EAAmB;IACvC,oBACEE,KAAA,CAAC;MAAIzB,SAAA,EAAW,CAACH,SAAA,EAAWG,SAAA,IAAaA,SAAA,CAAU,CAAC0B,MAAM,CAACF,OAAA,EAASG,IAAI,CAAC;iBACtEP,cAAA,gBACCQ,IAAA,CAACjC,UAAA;QACCe,KAAA,EAAO;UACLC,IAAA,EAAM;UACNkB,KAAA,EAAO;YACLC,YAAA,EAAc;UAChB;UACAC,KAAA,EAAOzB,CAAA,CAAE;UACT0B,QAAA,EAAU,CAAC/B,iBAAA,IAAsBA,iBAAA,IAAqBA,iBAAA,CAAkBoB;QAC1E;QACAY,IAAA,EAAK;QACL5B,QAAA,EAAUA,QAAA,IAAY,CAACW,gBAAA,CAAiBE,MAAM;QAC9CgB,UAAA,EAAW;QACXC,QAAA,EAAU5C;WAEV,MACHgC,iBAAA,iBACCK,IAAA,CAAChC,SAAA;QACCc,KAAA,EAAO;UACLC,IAAA,EAAM;UACNkB,KAAA,EAAO;YACLC,YAAA,EAAc;UAChB;UACAC,KAAA,EAAOzB,CAAA,CAAE;UACT0B,QAAA,EAAU/B,iBAAA,IAAqBA,iBAAA,CAAkBmC;QACnD;QACAH,IAAA,EAAK;QACL5B,QAAA,EAAUA,QAAA,IAAY,CAACc,mBAAA,CAAoBD,MAAM;QACjDgB,UAAA,EAAW;QACXC,QAAA,EAAU1C;;;EAKpB;AACF","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["email","username","React","EmailField","TextField","EmailAndUsernameFields","props","className","loginWithUsername","readOnly","t","showEmailField","requireEmail","allowEmailLogin","showUsernameField","Boolean","_jsxs","_jsx","field","name","admin","autoComplete","label","required","path","schemaPath","validate","requireUsername"],"sources":["../../../src/elements/EmailAndUsername/index.tsx"],"sourcesContent":["'use client'\n\nimport type { TFunction } from '@payloadcms/translations'\nimport type { LoginWithUsernameOptions, SanitizedFieldPermissions } from 'payload'\n\nimport { email, username } from 'payload/shared'\nimport React from 'react'\n\nimport { EmailField } from '../../fields/Email/index.js'\nimport { TextField } from '../../fields/Text/index.js'\n\ntype RenderEmailAndUsernameFieldsProps = {\n className?: string\n loginWithUsername?: false | LoginWithUsernameOptions\n operation?: 'create' | 'update'\n permissions?:\n | {\n [fieldName: string]: SanitizedFieldPermissions\n }\n | true\n readOnly: boolean\n t: TFunction\n}\n\nexport function EmailAndUsernameFields(props: RenderEmailAndUsernameFieldsProps) {\n const { className, loginWithUsername, readOnly, t } = props\n\n const showEmailField =\n !loginWithUsername || loginWithUsername?.requireEmail || loginWithUsername?.allowEmailLogin\n\n const showUsernameField = Boolean(loginWithUsername)\n\n return (\n <div className={className}>\n {showEmailField ? (\n <EmailField\n field={{\n name: 'email',\n admin: {\n autoComplete: 'off',\n },\n label: t('general:email'),\n required: !loginWithUsername || (loginWithUsername && loginWithUsername.requireEmail),\n }}\n path=\"email\"\n readOnly={readOnly}\n schemaPath=\"email\"\n validate={email}\n />\n ) : null}\n {showUsernameField && (\n <TextField\n field={{\n name: 'username',\n admin: {\n autoComplete: 'off',\n },\n label: t('authentication:username'),\n required: loginWithUsername && loginWithUsername.requireUsername,\n }}\n path=\"username\"\n readOnly={readOnly}\n schemaPath=\"username\"\n validate={username}\n />\n )}\n </div>\n )\n}\n"],"mappings":"AAAA;;;AAKA,SAASA,KAAK,EAAEC,QAAQ,QAAQ;AAChC,OAAOC,KAAA,MAAW;AAElB,SAASC,UAAU,QAAQ;AAC3B,SAASC,SAAS,QAAQ;AAe1B,OAAO,SAASC,uBAAuBC,KAAwC;EAC7E,MAAM;IAAEC,SAAS;IAAEC,iBAAiB;IAAEC,QAAQ;IAAEC;EAAC,CAAE,GAAGJ,KAAA;EAEtD,MAAMK,cAAA,GACJ,CAACH,iBAAA,IAAqBA,iBAAA,EAAmBI,YAAA,IAAgBJ,iBAAA,EAAmBK,eAAA;EAE9E,MAAMC,iBAAA,GAAoBC,OAAA,CAAQP,iBAAA;EAElC,oBACEQ,KAAA,CAAC;IAAIT,SAAA,EAAWA,SAAA;eACbI,cAAA,gBACCM,IAAA,CAACd,UAAA;MACCe,KAAA,EAAO;QACLC,IAAA,EAAM;QACNC,KAAA,EAAO;UACLC,YAAA,EAAc;QAChB;QACAC,KAAA,EAAOZ,CAAA,CAAE;QACTa,QAAA,EAAU,CAACf,iBAAA,IAAsBA,iBAAA,IAAqBA,iBAAA,CAAkBI;MAC1E;MACAY,IAAA,EAAK;MACLf,QAAA,EAAUA,QAAA;MACVgB,UAAA,EAAW;MACXC,QAAA,EAAU1B;SAEV,MACHc,iBAAA,iBACCG,IAAA,CAACb,SAAA;MACCc,KAAA,EAAO;QACLC,IAAA,EAAM;QACNC,KAAA,EAAO;UACLC,YAAA,EAAc;QAChB;QACAC,KAAA,EAAOZ,CAAA,CAAE;QACTa,QAAA,EAAUf,iBAAA,IAAqBA,iBAAA,CAAkBmB;MACnD;MACAH,IAAA,EAAK;MACLf,QAAA,EAAUA,QAAA;MACVgB,UAAA,EAAW;MACXC,QAAA,EAAUzB;;;AAKpB","ignoreList":[]}
@@ -3,7 +3,6 @@ import type { PublishManyProps } from './index.js';
3
3
  type PublishManyDrawerContentProps = {
4
4
  drawerSlug: string;
5
5
  ids: (number | string)[];
6
- onSuccess?: () => void;
7
6
  selectAll: boolean;
8
7
  } & PublishManyProps;
9
8
  export declare function PublishManyDrawerContent(props: PublishManyDrawerContentProps): React.JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../src/elements/PublishMany/DrawerContent.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAsB,MAAM,OAAO,CAAA;AAG1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAUlD,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;CACnB,GAAG,gBAAgB,CAAA;AACpB,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,6BAA6B,qBAiK5E"}
1
+ {"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../src/elements/PublishMany/DrawerContent.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAsB,MAAM,OAAO,CAAA;AAG1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAUlD,KAAK,6BAA6B,GAAG;IACnC,UAAU,EAAE,MAAM,CAAA;IAClB,GAAG,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IACxB,SAAS,EAAE,OAAO,CAAA;CACnB,GAAG,gBAAgB,CAAA;AACpB,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,6BAA6B,qBA0J5E"}
@@ -24,7 +24,6 @@ export function PublishManyDrawerContent(props) {
24
24
  } = {},
25
25
  drawerSlug,
26
26
  ids,
27
- onSuccess,
28
27
  selectAll
29
28
  } = props;
30
29
  const {
@@ -116,9 +115,6 @@ export function PublishManyDrawerContent(props) {
116
115
  addQueryPrefix: true
117
116
  }));
118
117
  clearRouteCache();
119
- if (typeof onSuccess === 'function') {
120
- onSuccess();
121
- }
122
118
  return null;
123
119
  }
124
120
  if (json.errors) {
@@ -131,7 +127,7 @@ export function PublishManyDrawerContent(props) {
131
127
  return addDefaultError();
132
128
  }
133
129
  });
134
- }, [serverURL, api, slug, queryString, i18n, plural, singular, t, router, searchParams, selectAll, clearRouteCache, addDefaultError, onSuccess]);
130
+ }, [serverURL, api, slug, queryString, i18n, plural, singular, t, router, searchParams, selectAll, clearRouteCache, addDefaultError]);
135
131
  return /*#__PURE__*/_jsx(ConfirmationModal, {
136
132
  body: t('version:aboutToPublishSelection', {
137
133
  label: getTranslation(plural, i18n)
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerContent.js","names":["getTranslation","useRouter","useSearchParams","combineWhereConstraints","mergeListSearchAndWhere","qs","React","useCallback","toast","useConfig","useLocale","useRouteCache","useTranslation","requests","parseSearchParams","ConfirmationModal","PublishManyDrawerContent","props","collection","slug","labels","plural","singular","drawerSlug","ids","onSuccess","selectAll","clearRouteCache","config","routes","api","serverURL","code","locale","router","searchParams","i18n","t","addDefaultError","error","queryString","useMemo","whereConstraints","_status","not_equals","queryWithSearch","collectionConfig","search","get","push","where","id","exists","in","stringify","addQueryPrefix","handlePublish","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 { useRouter, useSearchParams } from 'next/navigation.js'\nimport { combineWhereConstraints, 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 { 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} & PublishManyProps\nexport function PublishManyDrawerContent(props: PublishManyDrawerContentProps) {\n const {\n collection,\n collection: { slug, labels: { plural, singular } } = {},\n drawerSlug,\n ids,\n onSuccess,\n selectAll,\n } = props\n\n const { clearRouteCache } = useRouteCache()\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\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 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 exists: true,\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 where: combineWhereConstraints(whereConstraints),\n },\n { addQueryPrefix: true },\n )\n }, [collection, searchParams, selectAll, ids, locale])\n\n const handlePublish = useCallback(async () => {\n await requests\n .patch(`${serverURL}${api}/${slug}${queryString}&draft=true`, {\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 serverURL,\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","useRouter","useSearchParams","combineWhereConstraints","mergeListSearchAndWhere","qs","React","useCallback","toast","useConfig","useLocale","useRouteCache","useTranslation","requests","parseSearchParams","ConfirmationModal","PublishManyDrawerContent","props","collection","slug","labels","plural","singular","drawerSlug","ids","selectAll","clearRouteCache","config","routes","api","serverURL","code","locale","router","searchParams","i18n","t","addDefaultError","error","queryString","useMemo","whereConstraints","_status","not_equals","queryWithSearch","collectionConfig","search","get","push","where","id","exists","in","stringify","addQueryPrefix","handlePublish","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 { useRouter, useSearchParams } from 'next/navigation.js'\nimport { combineWhereConstraints, 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 { 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 selectAll: boolean\n} & PublishManyProps\nexport function PublishManyDrawerContent(props: PublishManyDrawerContentProps) {\n const {\n collection,\n collection: { slug, labels: { plural, singular } } = {},\n drawerSlug,\n ids,\n selectAll,\n } = props\n\n const { clearRouteCache } = useRouteCache()\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\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 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 exists: true,\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 where: combineWhereConstraints(whereConstraints),\n },\n { addQueryPrefix: true },\n )\n }, [collection, searchParams, selectAll, ids, locale])\n\n const handlePublish = useCallback(async () => {\n await requests\n .patch(`${serverURL}${api}/${slug}${queryString}&draft=true`, {\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 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 queryString,\n i18n,\n plural,\n singular,\n t,\n router,\n searchParams,\n selectAll,\n clearRouteCache,\n addDefaultError,\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":[]}
@@ -7,7 +7,6 @@ export declare const PublishMany: React.FC<PublishManyProps>;
7
7
  type PublishMany_v4Props = {
8
8
  count: number;
9
9
  ids: (number | string)[];
10
- onSuccess?: () => void;
11
10
  selectAll: boolean;
12
11
  } & PublishManyProps;
13
12
  export declare const PublishMany_v4: React.FC<PublishMany_v4Props>;
@@ -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;AAGrD,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,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,SAAS,EAAE,OAAO,CAAA;CACnB,GAAG,gBAAgB,CAAA;AACpB,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA2CxD,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;AAGrD,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,CAWlD,CAAA;AAED,KAAK,mBAAmB,GAAG;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IACxB,SAAS,EAAE,OAAO,CAAA;CACnB,GAAG,gBAAgB,CAAA;AACpB,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAmCxD,CAAA"}
@@ -10,49 +10,37 @@ import { useTranslation } from '../../providers/Translation/index.js';
10
10
  import { ListSelectionButton } from '../ListSelection/index.js';
11
11
  import { PublishManyDrawerContent } from './DrawerContent.js';
12
12
  export const PublishMany = props => {
13
- const $ = _c(8);
13
+ const $ = _c(5);
14
14
  const {
15
15
  count,
16
16
  selectAll,
17
- selected,
18
- toggleAll
17
+ selected
19
18
  } = useSelection();
20
19
  let t0;
21
- if ($[0] !== count || $[1] !== props || $[2] !== selectAll || $[3] !== selected || $[4] !== toggleAll) {
22
- let t1;
23
- if ($[6] !== toggleAll) {
24
- t1 = () => toggleAll(false);
25
- $[6] = toggleAll;
26
- $[7] = t1;
27
- } else {
28
- t1 = $[7];
29
- }
20
+ if ($[0] !== count || $[1] !== props || $[2] !== selectAll || $[3] !== selected) {
30
21
  t0 = _jsx(PublishMany_v4, {
31
22
  ...props,
32
23
  count,
33
24
  ids: Array.from(selected.keys()),
34
- onSuccess: t1,
35
25
  selectAll: selectAll === SelectAllStatus.AllAvailable
36
26
  });
37
27
  $[0] = count;
38
28
  $[1] = props;
39
29
  $[2] = selectAll;
40
30
  $[3] = selected;
41
- $[4] = toggleAll;
42
- $[5] = t0;
31
+ $[4] = t0;
43
32
  } else {
44
- t0 = $[5];
33
+ t0 = $[4];
45
34
  }
46
35
  return t0;
47
36
  };
48
37
  export const PublishMany_v4 = props => {
49
- const $ = _c(11);
38
+ const $ = _c(10);
50
39
  const {
51
40
  collection,
52
41
  collection: t0,
53
42
  count,
54
43
  ids,
55
- onSuccess,
56
44
  selectAll
57
45
  } = props;
58
46
  const {
@@ -75,17 +63,17 @@ export const PublishMany_v4 = props => {
75
63
  return null;
76
64
  }
77
65
  let t1;
78
- if ($[0] !== collection || $[1] !== drawerSlug || $[2] !== ids || $[3] !== onSuccess || $[4] !== openModal || $[5] !== selectAll || $[6] !== t) {
66
+ if ($[0] !== collection || $[1] !== drawerSlug || $[2] !== ids || $[3] !== openModal || $[4] !== selectAll || $[5] !== t) {
79
67
  let t2;
80
- if ($[8] !== drawerSlug || $[9] !== openModal) {
68
+ if ($[7] !== drawerSlug || $[8] !== openModal) {
81
69
  t2 = () => {
82
70
  openModal(drawerSlug);
83
71
  };
84
- $[8] = drawerSlug;
85
- $[9] = openModal;
86
- $[10] = t2;
72
+ $[7] = drawerSlug;
73
+ $[8] = openModal;
74
+ $[9] = t2;
87
75
  } else {
88
- t2 = $[10];
76
+ t2 = $[9];
89
77
  }
90
78
  t1 = _jsxs(React.Fragment, {
91
79
  children: [_jsx(ListSelectionButton, {
@@ -96,20 +84,18 @@ export const PublishMany_v4 = props => {
96
84
  collection,
97
85
  drawerSlug,
98
86
  ids,
99
- onSuccess,
100
87
  selectAll
101
88
  })]
102
89
  });
103
90
  $[0] = collection;
104
91
  $[1] = drawerSlug;
105
92
  $[2] = ids;
106
- $[3] = onSuccess;
107
- $[4] = openModal;
108
- $[5] = selectAll;
109
- $[6] = t;
110
- $[7] = t1;
93
+ $[3] = openModal;
94
+ $[4] = selectAll;
95
+ $[5] = t;
96
+ $[6] = t1;
111
97
  } else {
112
- t1 = $[7];
98
+ t1 = $[6];
113
99
  }
114
100
  return t1;
115
101
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useModal","React","useAuth","SelectAllStatus","useSelection","useTranslation","ListSelectionButton","PublishManyDrawerContent","PublishMany","props","$","count","selectAll","selected","toggleAll","t0","t1","_jsx","PublishMany_v4","ids","Array","from","keys","onSuccess","AllAvailable","collection","slug","versions","undefined","permissions","t","openModal","collectionPermissions","collections","hasPermission","update","drawerSlug","drafts","t2","_jsxs","Fragment","children","onClick"],"sources":["../../../src/elements/PublishMany/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig } 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, selected, toggleAll } = useSelection()\n\n return (\n <PublishMany_v4\n {...props}\n count={count}\n ids={Array.from(selected.keys())}\n onSuccess={() => toggleAll(false)}\n selectAll={selectAll === SelectAllStatus.AllAvailable}\n />\n )\n}\n\ntype PublishMany_v4Props = {\n count: number\n ids: (number | string)[]\n onSuccess?: () => void\n selectAll: boolean\n} & PublishManyProps\nexport const PublishMany_v4: React.FC<PublishMany_v4Props> = (props) => {\n const {\n collection,\n collection: { slug, versions } = {},\n count,\n ids,\n onSuccess,\n selectAll,\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 = `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 />\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useModal","React","useAuth","SelectAllStatus","useSelection","useTranslation","ListSelectionButton","PublishManyDrawerContent","PublishMany","props","$","count","selectAll","selected","t0","_jsx","PublishMany_v4","ids","Array","from","keys","AllAvailable","collection","slug","versions","undefined","permissions","t","openModal","collectionPermissions","collections","hasPermission","update","drawerSlug","drafts","t1","t2","_jsxs","Fragment","children","onClick"],"sources":["../../../src/elements/PublishMany/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig } 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, selected } = useSelection()\n\n return (\n <PublishMany_v4\n {...props}\n count={count}\n ids={Array.from(selected.keys())}\n selectAll={selectAll === SelectAllStatus.AllAvailable}\n />\n )\n}\n\ntype PublishMany_v4Props = {\n count: number\n ids: (number | string)[]\n selectAll: boolean\n} & PublishManyProps\nexport const PublishMany_v4: React.FC<PublishMany_v4Props> = (props) => {\n const { collection, collection: { slug, versions } = {}, count, ids, selectAll } = 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 = `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 selectAll={selectAll}\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,eAAe,EAAEC,YAAY,QAAQ;AAC9C,SAASC,cAAc,QAAQ;AAC/B,SAASC,mBAAmB,QAAQ;AACpC,SAASC,wBAAwB,QAAQ;AAMzC,OAAO,MAAMC,WAAA,GAA0CC,KAAA;EAAA,MAAAC,CAAA,GAAAX,EAAA;EACrD;IAAAY,KAAA;IAAAC,SAAA;IAAAC;EAAA,IAAuCT,YAAA;EAAA,IAAAU,EAAA;EAAA,IAAAJ,CAAA,QAAAC,KAAA,IAAAD,CAAA,QAAAD,KAAA,IAAAC,CAAA,QAAAE,SAAA,IAAAF,CAAA,QAAAG,QAAA;IAGrCC,EAAA,GAAAC,IAAA,CAAAC,cAAA;MAAA,GACMP,KAAK;MAAAE,KAAA;MAAAM,GAAA,EAEJC,KAAA,CAAAC,IAAA,CAAWN,QAAA,CAAAO,IAAA,CAAa;MAAAR,SAAA,EAClBA,SAAA,KAAAT,eAAA,CAAAkB;IAA0C,C;;;;;;;;;SAJvDP,E;CAOJ;AAOA,OAAO,MAAME,cAAA,GAAgDP,KAAA;EAAA,MAAAC,CAAA,GAAAX,EAAA;EAC3D;IAAAuB,UAAA;IAAAA,UAAA,EAAAR,EAAA;IAAAH,KAAA;IAAAM,GAAA;IAAAL;EAAA,IAAmFH,KAAA;EAAnD;IAAAc,IAAA;IAAAC;EAAA,IAAAV,EAAuB,KAAAW,SAAA,QAAvBX,EAAuB;EAEvD;IAAAY;EAAA,IAAwBxB,OAAA;EACxB;IAAAyB;EAAA,IAActB,cAAA;EAEd;IAAAuB;EAAA,IAAsB5B,QAAA;EAEtB,MAAA6B,qBAAA,GAA8BH,WAAA,EAAAI,WAAA,GAA2BP,IAAA;EACzD,MAAAQ,aAAA,GAAsBF,qBAAA,EAAAG,MAAA;EAEtB,MAAAC,UAAA,GAAmB,WAAWV,IAAA,EAAM;EAAA,IAEhC,CAACC,QAAA,EAAAU,MAAA,IAAoBvB,KAAA,MAAU,KAAMoB,aAAA;IAAA;EAAA;EAAA,IAAAI,EAAA;EAAA,IAAAzB,CAAA,QAAAY,UAAA,IAAAZ,CAAA,QAAAuB,UAAA,IAAAvB,CAAA,QAAAO,GAAA,IAAAP,CAAA,QAAAkB,SAAA,IAAAlB,CAAA,QAAAE,SAAA,IAAAF,CAAA,QAAAiB,CAAA;IAAA,IAAAS,EAAA;IAAA,IAAA1B,CAAA,QAAAuB,UAAA,IAAAvB,CAAA,QAAAkB,SAAA;MAQ1BQ,EAAA,GAAAA,CAAA;QACPR,SAAA,CAAUK,UAAA;MAAA;MACZvB,CAAA,MAAAuB,UAAA;MAAAvB,CAAA,MAAAkB,SAAA;MAAAlB,CAAA,MAAA0B,EAAA;IAAA;MAAAA,EAAA,GAAA1B,CAAA;IAAA;IALJyB,EAAA,GAAAE,KAAA,CAAApC,KAAA,CAAAqC,QAAA;MAAAC,QAAA,GACExB,IAAA,CAAAT,mBAAA;QAAA,cACcqB,CAAA,CAAE;QAAAa,OAAA,EACLJ,EAET;QAAAG,QAAA,EAECZ,CAAA,CAAE;MAAA,C,GAELZ,IAAA,CAAAR,wBAAA;QAAAe,UAAA;QAAAW,UAAA;QAAAhB,GAAA;QAAAL;MAAA,C;;;;;;;;;;;;SATFuB,E;CAiBJ","ignoreList":[]}
@@ -2,8 +2,6 @@ import * as React from 'react';
2
2
  import './index.scss';
3
3
  export type ShimmerEffectProps = {
4
4
  readonly animationDelay?: string;
5
- readonly className?: string;
6
- readonly disableInlineStyles?: boolean;
7
5
  readonly height?: number | string;
8
6
  readonly width?: number | string;
9
7
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ShimmerEffect/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,OAAO,cAAc,CAAA;AAErB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CACjC,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAuBtD,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACxB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC9B,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CACxB,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CA6B9D,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ShimmerEffect/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,OAAO,cAAc,CAAA;AAErB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CACjC,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAqBtD,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACxB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC9B,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CACxB,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CA6B9D,CAAA"}
@@ -7,16 +7,14 @@ import { useDelay } from '../../hooks/useDelay.js';
7
7
  import './index.scss';
8
8
  export const ShimmerEffect = ({
9
9
  animationDelay = '0ms',
10
- className,
11
- disableInlineStyles = false,
12
10
  height = '60px',
13
11
  width = '100%'
14
12
  }) => {
15
13
  return /*#__PURE__*/_jsx("div", {
16
- className: ['shimmer-effect', className].filter(Boolean).join(' '),
14
+ className: "shimmer-effect",
17
15
  style: {
18
- height: !disableInlineStyles && (typeof height === 'number' ? `${height}px` : height),
19
- width: !disableInlineStyles && (typeof width === 'number' ? `${width}px` : width)
16
+ height: typeof height === 'number' ? `${height}px` : height,
17
+ width: typeof width === 'number' ? `${width}px` : width
20
18
  },
21
19
  children: /*#__PURE__*/_jsx("div", {
22
20
  className: "shimmer-effect__shine",
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","useDelay","ShimmerEffect","animationDelay","className","disableInlineStyles","height","width","_jsx","filter","Boolean","join","style","StaggeredShimmers","t0","$","count","renderDelay","t1","shimmerDelay","t2","shimmerItemClassName","undefined","shimmerDelayToPass","hasDelayed","t3","children","Array","map","_","i"],"sources":["../../../src/elements/ShimmerEffect/index.tsx"],"sourcesContent":["'use client'\nimport * as React from 'react'\n\nimport { useDelay } from '../../hooks/useDelay.js'\nimport './index.scss'\n\nexport type ShimmerEffectProps = {\n readonly animationDelay?: string\n readonly className?: string\n readonly disableInlineStyles?: boolean\n readonly height?: number | string\n readonly width?: number | string\n}\n\nexport const ShimmerEffect: React.FC<ShimmerEffectProps> = ({\n animationDelay = '0ms',\n className,\n disableInlineStyles = false,\n height = '60px',\n width = '100%',\n}) => {\n return (\n <div\n className={['shimmer-effect', className].filter(Boolean).join(' ')}\n style={{\n height: !disableInlineStyles && (typeof height === 'number' ? `${height}px` : height),\n width: !disableInlineStyles && (typeof width === 'number' ? `${width}px` : width),\n }}\n >\n <div\n className=\"shimmer-effect__shine\"\n style={{\n animationDelay,\n }}\n />\n </div>\n )\n}\n\nexport type StaggeredShimmersProps = {\n className?: string\n count: number\n height?: number | string\n renderDelay?: number\n shimmerDelay?: number | string\n shimmerItemClassName?: string\n width?: number | string\n}\n\nexport const StaggeredShimmers: React.FC<StaggeredShimmersProps> = ({\n className,\n count,\n height,\n renderDelay = 500,\n shimmerDelay = 25,\n shimmerItemClassName,\n width,\n}) => {\n const shimmerDelayToPass = typeof shimmerDelay === 'number' ? `${shimmerDelay}ms` : shimmerDelay\n const [hasDelayed] = useDelay(renderDelay, true)\n\n if (!hasDelayed) {\n return null\n }\n\n return (\n <div className={className}>\n {[...Array(count)].map((_, i) => (\n <div className={shimmerItemClassName} key={i}>\n <ShimmerEffect\n animationDelay={`calc(${i} * ${shimmerDelayToPass})`}\n height={height}\n width={width}\n />\n </div>\n ))}\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,YAAYC,KAAA,MAAW;AAEvB,SAASC,QAAQ,QAAQ;AACzB,OAAO;AAUP,OAAO,MAAMC,aAAA,GAA8CA,CAAC;EAC1DC,cAAA,GAAiB,KAAK;EACtBC,SAAS;EACTC,mBAAA,GAAsB,KAAK;EAC3BC,MAAA,GAAS,MAAM;EACfC,KAAA,GAAQ;AAAM,CACf;EACC,oBACEC,IAAA,CAAC;IACCJ,SAAA,EAAW,CAAC,kBAAkBA,SAAA,CAAU,CAACK,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;IAC9DC,KAAA,EAAO;MACLN,MAAA,EAAQ,CAACD,mBAAA,KAAwB,OAAOC,MAAA,KAAW,WAAW,GAAGA,MAAA,IAAU,GAAGA,MAAK;MACnFC,KAAA,EAAO,CAACF,mBAAA,KAAwB,OAAOE,KAAA,KAAU,WAAW,GAAGA,KAAA,IAAS,GAAGA,KAAI;IACjF;cAEA,aAAAC,IAAA,CAAC;MACCJ,SAAA,EAAU;MACVQ,KAAA,EAAO;QACLT;MACF;;;AAIR;AAYA,OAAO,MAAMU,iBAAA,GAAsDC,EAAA;EAAA,MAAAC,CAAA,GAAAhB,EAAA;EAAC;IAAAK,SAAA;IAAAY,KAAA;IAAAV,MAAA;IAAAW,WAAA,EAAAC,EAAA;IAAAC,YAAA,EAAAC,EAAA;IAAAC,oBAAA;IAAAd;EAAA,IAAAO,EAQnE;EAJC,MAAAG,WAAA,GAAAC,EAAiB,KAAAI,SAAA,SAAjBJ,EAAiB;EACjB,MAAAC,YAAA,GAAAC,EAAiB,KAAAE,SAAA,QAAjBF,EAAiB;EAIjB,MAAAG,kBAAA,GAA2B,OAAOJ,YAAA,KAAiB,WAAW,GAAGA,YAAA,IAAgB,GAAGA,YAAA;EACpF,OAAAK,UAAA,IAAqBvB,QAAA,CAASgB,WAAA,MAAa;EAAA,KAEtCO,UAAA;IAAA;EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAV,CAAA,QAAAX,SAAA,IAAAW,CAAA,QAAAC,KAAA,IAAAD,CAAA,QAAAT,MAAA,IAAAS,CAAA,QAAAQ,kBAAA,IAAAR,CAAA,QAAAM,oBAAA,IAAAN,CAAA,QAAAR,KAAA;IAKHkB,EAAA,GAAAjB,IAAA,CAAC;MAAAJ,SAAA;MAAAsB,QAAA,EACE,IAAIC,KAAA,CAAMX,KAAA,GAAAY,GAAA,EAAAC,CAAA,EAAAC,CAAA,KACTtB,IAAA,CAAC;QAAAJ,SAAA,EAAeiB,oBAAA;QAAAK,QAAA,EACdlB,IAAA,CAAAN,aAAA;UAAAC,cAAA,EACkB,QAAQ2B,CAAA,MAAOP,kBAAA,GAAqB;UAAAjB,MAAA;UAAAC;QAAA,C;SAFbuB,CAAA;IAAA,C;;;;;;;;;;;SAF/CL,E;CAYJ","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","useDelay","ShimmerEffect","animationDelay","height","width","_jsx","className","style","StaggeredShimmers","t0","$","count","renderDelay","t1","shimmerDelay","t2","shimmerItemClassName","undefined","shimmerDelayToPass","hasDelayed","t3","children","Array","map","_","i"],"sources":["../../../src/elements/ShimmerEffect/index.tsx"],"sourcesContent":["'use client'\nimport * as React from 'react'\n\nimport { useDelay } from '../../hooks/useDelay.js'\nimport './index.scss'\n\nexport type ShimmerEffectProps = {\n readonly animationDelay?: string\n readonly height?: number | string\n readonly width?: number | string\n}\n\nexport const ShimmerEffect: React.FC<ShimmerEffectProps> = ({\n animationDelay = '0ms',\n height = '60px',\n width = '100%',\n}) => {\n return (\n <div\n className=\"shimmer-effect\"\n style={{\n height: typeof height === 'number' ? `${height}px` : height,\n width: typeof width === 'number' ? `${width}px` : width,\n }}\n >\n <div\n className=\"shimmer-effect__shine\"\n style={{\n animationDelay,\n }}\n />\n </div>\n )\n}\n\nexport type StaggeredShimmersProps = {\n className?: string\n count: number\n height?: number | string\n renderDelay?: number\n shimmerDelay?: number | string\n shimmerItemClassName?: string\n width?: number | string\n}\n\nexport const StaggeredShimmers: React.FC<StaggeredShimmersProps> = ({\n className,\n count,\n height,\n renderDelay = 500,\n shimmerDelay = 25,\n shimmerItemClassName,\n width,\n}) => {\n const shimmerDelayToPass = typeof shimmerDelay === 'number' ? `${shimmerDelay}ms` : shimmerDelay\n const [hasDelayed] = useDelay(renderDelay, true)\n\n if (!hasDelayed) {\n return null\n }\n\n return (\n <div className={className}>\n {[...Array(count)].map((_, i) => (\n <div className={shimmerItemClassName} key={i}>\n <ShimmerEffect\n animationDelay={`calc(${i} * ${shimmerDelayToPass})`}\n height={height}\n width={width}\n />\n </div>\n ))}\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,YAAYC,KAAA,MAAW;AAEvB,SAASC,QAAQ,QAAQ;AACzB,OAAO;AAQP,OAAO,MAAMC,aAAA,GAA8CA,CAAC;EAC1DC,cAAA,GAAiB,KAAK;EACtBC,MAAA,GAAS,MAAM;EACfC,KAAA,GAAQ;AAAM,CACf;EACC,oBACEC,IAAA,CAAC;IACCC,SAAA,EAAU;IACVC,KAAA,EAAO;MACLJ,MAAA,EAAQ,OAAOA,MAAA,KAAW,WAAW,GAAGA,MAAA,IAAU,GAAGA,MAAA;MACrDC,KAAA,EAAO,OAAOA,KAAA,KAAU,WAAW,GAAGA,KAAA,IAAS,GAAGA;IACpD;cAEA,aAAAC,IAAA,CAAC;MACCC,SAAA,EAAU;MACVC,KAAA,EAAO;QACLL;MACF;;;AAIR;AAYA,OAAO,MAAMM,iBAAA,GAAsDC,EAAA;EAAA,MAAAC,CAAA,GAAAZ,EAAA;EAAC;IAAAQ,SAAA;IAAAK,KAAA;IAAAR,MAAA;IAAAS,WAAA,EAAAC,EAAA;IAAAC,YAAA,EAAAC,EAAA;IAAAC,oBAAA;IAAAZ;EAAA,IAAAK,EAQnE;EAJC,MAAAG,WAAA,GAAAC,EAAiB,KAAAI,SAAA,SAAjBJ,EAAiB;EACjB,MAAAC,YAAA,GAAAC,EAAiB,KAAAE,SAAA,QAAjBF,EAAiB;EAIjB,MAAAG,kBAAA,GAA2B,OAAOJ,YAAA,KAAiB,WAAW,GAAGA,YAAA,IAAgB,GAAGA,YAAA;EACpF,OAAAK,UAAA,IAAqBnB,QAAA,CAASY,WAAA,MAAa;EAAA,KAEtCO,UAAA;IAAA;EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAV,CAAA,QAAAJ,SAAA,IAAAI,CAAA,QAAAC,KAAA,IAAAD,CAAA,QAAAP,MAAA,IAAAO,CAAA,QAAAQ,kBAAA,IAAAR,CAAA,QAAAM,oBAAA,IAAAN,CAAA,QAAAN,KAAA;IAKHgB,EAAA,GAAAf,IAAA,CAAC;MAAAC,SAAA;MAAAe,QAAA,EACE,IAAIC,KAAA,CAAMX,KAAA,GAAAY,GAAA,EAAAC,CAAA,EAAAC,CAAA,KACTpB,IAAA,CAAC;QAAAC,SAAA,EAAeU,oBAAA;QAAAK,QAAA,EACdhB,IAAA,CAAAJ,aAAA;UAAAC,cAAA,EACkB,QAAQuB,CAAA,MAAOP,kBAAA,GAAqB;UAAAf,MAAA;UAAAC;QAAA,C;SAFbqB,CAAA;IAAA,C;;;;;;;;;;;SAF/CL,E;CAYJ","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"createThumbnail.d.ts","sourceRoot":"","sources":["../../../src/elements/Thumbnail/createThumbnail.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,eAAe,SAAU,IAAI,KAAG,OAAO,CAAC,MAAM,CAoD1D,CAAA"}
1
+ {"version":3,"file":"createThumbnail.d.ts","sourceRoot":"","sources":["../../../src/elements/Thumbnail/createThumbnail.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,eAAe,SAAU,IAAI,KAAG,OAAO,CAAC,MAAM,CAgD1D,CAAA"}
@@ -23,18 +23,12 @@
23
23
  const canvas = new OffscreenCanvas(drawWidth, drawHeight) // Create an OffscreenCanvas
24
24
  ;
25
25
  const ctx = canvas.getContext('2d');
26
- // Determine output format based on input file type
27
- const outputFormat = file.type === 'image/png' ? 'image/png' : 'image/jpeg';
28
- const quality = file.type === 'image/png' ? undefined : 0.8 // PNG doesn't use quality, use higher quality for JPEG
29
- ;
30
26
  // Draw the image onto the OffscreenCanvas with calculated dimensions
31
27
  ctx.drawImage(img, 0, 0, drawWidth, drawHeight);
32
28
  // Convert the OffscreenCanvas to a Blob and free up memory
33
29
  canvas.convertToBlob({
34
- type: outputFormat,
35
- ...(quality && {
36
- quality
37
- })
30
+ type: 'image/jpeg',
31
+ quality: 0.25
38
32
  }).then(blob => {
39
33
  URL.revokeObjectURL(img.src) // Release the Object URL
40
34
  ;
@@ -1 +1 @@
1
- {"version":3,"file":"createThumbnail.js","names":["createThumbnail","file","Promise","resolve","reject","img","Image","src","URL","createObjectURL","onload","maxDimension","drawHeight","drawWidth","aspectRatio","width","height","canvas","OffscreenCanvas","ctx","getContext","outputFormat","type","quality","undefined","drawImage","convertToBlob","then","blob","revokeObjectURL","reader","FileReader","result","onerror","readAsDataURL","catch","error"],"sources":["../../../src/elements/Thumbnail/createThumbnail.ts"],"sourcesContent":["/**\n * Create a thumbnail from a File object by drawing it onto an OffscreenCanvas\n */\nexport const createThumbnail = (file: File): Promise<string> => {\n return new Promise((resolve, reject) => {\n const img = new Image()\n img.src = URL.createObjectURL(file) // Use Object URL directly\n\n img.onload = () => {\n const maxDimension = 280\n let drawHeight: number, drawWidth: number\n\n // Calculate aspect ratio\n const aspectRatio = img.width / img.height\n\n // Determine dimensions to fit within maxDimension while maintaining aspect ratio\n if (aspectRatio > 1) {\n // Image is wider than tall\n drawWidth = maxDimension\n drawHeight = maxDimension / aspectRatio\n } else {\n // Image is taller than wide, or square\n drawWidth = maxDimension * aspectRatio\n drawHeight = maxDimension\n }\n\n const canvas = new OffscreenCanvas(drawWidth, drawHeight) // Create an OffscreenCanvas\n const ctx = canvas.getContext('2d')\n\n // Determine output format based on input file type\n const outputFormat = file.type === 'image/png' ? 'image/png' : 'image/jpeg'\n const quality = file.type === 'image/png' ? undefined : 0.8 // PNG doesn't use quality, use higher quality for JPEG\n\n // Draw the image onto the OffscreenCanvas with calculated dimensions\n ctx.drawImage(img, 0, 0, drawWidth, drawHeight)\n\n // Convert the OffscreenCanvas to a Blob and free up memory\n canvas\n .convertToBlob({ type: outputFormat, ...(quality && { quality }) })\n .then((blob) => {\n URL.revokeObjectURL(img.src) // Release the Object URL\n const reader = new FileReader()\n reader.onload = () => resolve(reader.result as string) // Resolve as data URL\n reader.onerror = reject\n reader.readAsDataURL(blob)\n })\n .catch(reject)\n }\n\n img.onerror = (error) => {\n URL.revokeObjectURL(img.src) // Release Object URL on error\n // eslint-disable-next-line @typescript-eslint/prefer-promise-reject-errors\n reject(error)\n }\n })\n}\n"],"mappings":"AAAA;;GAGA,OAAO,MAAMA,eAAA,GAAmBC,IAAA;EAC9B,OAAO,IAAIC,OAAA,CAAQ,CAACC,OAAA,EAASC,MAAA;IAC3B,MAAMC,GAAA,GAAM,IAAIC,KAAA;IAChBD,GAAA,CAAIE,GAAG,GAAGC,GAAA,CAAIC,eAAe,CAACR,IAAA,EAAM;IAAA;IAEpCI,GAAA,CAAIK,MAAM,GAAG;MACX,MAAMC,YAAA,GAAe;MACrB,IAAIC,UAAA,EAAoBC,SAAA;MAExB;MACA,MAAMC,WAAA,GAAcT,GAAA,CAAIU,KAAK,GAAGV,GAAA,CAAIW,MAAM;MAE1C;MACA,IAAIF,WAAA,GAAc,GAAG;QACnB;QACAD,SAAA,GAAYF,YAAA;QACZC,UAAA,GAAaD,YAAA,GAAeG,WAAA;MAC9B,OAAO;QACL;QACAD,SAAA,GAAYF,YAAA,GAAeG,WAAA;QAC3BF,UAAA,GAAaD,YAAA;MACf;MAEA,MAAMM,MAAA,GAAS,IAAIC,eAAA,CAAgBL,SAAA,EAAWD,UAAA,EAAY;MAAA;MAC1D,MAAMO,GAAA,GAAMF,MAAA,CAAOG,UAAU,CAAC;MAE9B;MACA,MAAMC,YAAA,GAAepB,IAAA,CAAKqB,IAAI,KAAK,cAAc,cAAc;MAC/D,MAAMC,OAAA,GAAUtB,IAAA,CAAKqB,IAAI,KAAK,cAAcE,SAAA,GAAY,IAAI;MAAA;MAE5D;MACAL,GAAA,CAAIM,SAAS,CAACpB,GAAA,EAAK,GAAG,GAAGQ,SAAA,EAAWD,UAAA;MAEpC;MACAK,MAAA,CACGS,aAAa,CAAC;QAAEJ,IAAA,EAAMD,YAAA;QAAc,IAAIE,OAAA,IAAW;UAAEA;QAAQ,CAAC;MAAE,GAChEI,IAAI,CAAEC,IAAA;QACLpB,GAAA,CAAIqB,eAAe,CAACxB,GAAA,CAAIE,GAAG,EAAE;QAAA;QAC7B,MAAMuB,MAAA,GAAS,IAAIC,UAAA;QACnBD,MAAA,CAAOpB,MAAM,GAAG,MAAMP,OAAA,CAAQ2B,MAAA,CAAOE,MAAM,EAAY;QAAA;QACvDF,MAAA,CAAOG,OAAO,GAAG7B,MAAA;QACjB0B,MAAA,CAAOI,aAAa,CAACN,IAAA;MACvB,GACCO,KAAK,CAAC/B,MAAA;IACX;IAEAC,GAAA,CAAI4B,OAAO,GAAIG,KAAA;MACb5B,GAAA,CAAIqB,eAAe,CAACxB,GAAA,CAAIE,GAAG,EAAE;MAAA;MAC7B;MACAH,MAAA,CAAOgC,KAAA;IACT;EACF;AACF","ignoreList":[]}
1
+ {"version":3,"file":"createThumbnail.js","names":["createThumbnail","file","Promise","resolve","reject","img","Image","src","URL","createObjectURL","onload","maxDimension","drawHeight","drawWidth","aspectRatio","width","height","canvas","OffscreenCanvas","ctx","getContext","drawImage","convertToBlob","type","quality","then","blob","revokeObjectURL","reader","FileReader","result","onerror","readAsDataURL","catch","error"],"sources":["../../../src/elements/Thumbnail/createThumbnail.ts"],"sourcesContent":["/**\n * Create a thumbnail from a File object by drawing it onto an OffscreenCanvas\n */\nexport const createThumbnail = (file: File): Promise<string> => {\n return new Promise((resolve, reject) => {\n const img = new Image()\n img.src = URL.createObjectURL(file) // Use Object URL directly\n\n img.onload = () => {\n const maxDimension = 280\n let drawHeight: number, drawWidth: number\n\n // Calculate aspect ratio\n const aspectRatio = img.width / img.height\n\n // Determine dimensions to fit within maxDimension while maintaining aspect ratio\n if (aspectRatio > 1) {\n // Image is wider than tall\n drawWidth = maxDimension\n drawHeight = maxDimension / aspectRatio\n } else {\n // Image is taller than wide, or square\n drawWidth = maxDimension * aspectRatio\n drawHeight = maxDimension\n }\n\n const canvas = new OffscreenCanvas(drawWidth, drawHeight) // Create an OffscreenCanvas\n const ctx = canvas.getContext('2d')\n\n // Draw the image onto the OffscreenCanvas with calculated dimensions\n ctx.drawImage(img, 0, 0, drawWidth, drawHeight)\n\n // Convert the OffscreenCanvas to a Blob and free up memory\n canvas\n .convertToBlob({ type: 'image/jpeg', quality: 0.25 })\n .then((blob) => {\n URL.revokeObjectURL(img.src) // Release the Object URL\n const reader = new FileReader()\n reader.onload = () => resolve(reader.result as string) // Resolve as data URL\n reader.onerror = reject\n reader.readAsDataURL(blob)\n })\n .catch(reject)\n }\n\n img.onerror = (error) => {\n URL.revokeObjectURL(img.src) // Release Object URL on error\n // eslint-disable-next-line @typescript-eslint/prefer-promise-reject-errors\n reject(error)\n }\n })\n}\n"],"mappings":"AAAA;;GAGA,OAAO,MAAMA,eAAA,GAAmBC,IAAA;EAC9B,OAAO,IAAIC,OAAA,CAAQ,CAACC,OAAA,EAASC,MAAA;IAC3B,MAAMC,GAAA,GAAM,IAAIC,KAAA;IAChBD,GAAA,CAAIE,GAAG,GAAGC,GAAA,CAAIC,eAAe,CAACR,IAAA,EAAM;IAAA;IAEpCI,GAAA,CAAIK,MAAM,GAAG;MACX,MAAMC,YAAA,GAAe;MACrB,IAAIC,UAAA,EAAoBC,SAAA;MAExB;MACA,MAAMC,WAAA,GAAcT,GAAA,CAAIU,KAAK,GAAGV,GAAA,CAAIW,MAAM;MAE1C;MACA,IAAIF,WAAA,GAAc,GAAG;QACnB;QACAD,SAAA,GAAYF,YAAA;QACZC,UAAA,GAAaD,YAAA,GAAeG,WAAA;MAC9B,OAAO;QACL;QACAD,SAAA,GAAYF,YAAA,GAAeG,WAAA;QAC3BF,UAAA,GAAaD,YAAA;MACf;MAEA,MAAMM,MAAA,GAAS,IAAIC,eAAA,CAAgBL,SAAA,EAAWD,UAAA,EAAY;MAAA;MAC1D,MAAMO,GAAA,GAAMF,MAAA,CAAOG,UAAU,CAAC;MAE9B;MACAD,GAAA,CAAIE,SAAS,CAAChB,GAAA,EAAK,GAAG,GAAGQ,SAAA,EAAWD,UAAA;MAEpC;MACAK,MAAA,CACGK,aAAa,CAAC;QAAEC,IAAA,EAAM;QAAcC,OAAA,EAAS;MAAK,GAClDC,IAAI,CAAEC,IAAA;QACLlB,GAAA,CAAImB,eAAe,CAACtB,GAAA,CAAIE,GAAG,EAAE;QAAA;QAC7B,MAAMqB,MAAA,GAAS,IAAIC,UAAA;QACnBD,MAAA,CAAOlB,MAAM,GAAG,MAAMP,OAAA,CAAQyB,MAAA,CAAOE,MAAM,EAAY;QAAA;QACvDF,MAAA,CAAOG,OAAO,GAAG3B,MAAA;QACjBwB,MAAA,CAAOI,aAAa,CAACN,IAAA;MACvB,GACCO,KAAK,CAAC7B,MAAA;IACX;IAEAC,GAAA,CAAI0B,OAAO,GAAIG,KAAA;MACb1B,GAAA,CAAImB,eAAe,CAACtB,GAAA,CAAIE,GAAG,EAAE;MAAA;MAC7B;MACAH,MAAA,CAAO8B,KAAA;IACT;EACF;AACF","ignoreList":[]}
@@ -3,7 +3,6 @@ import type { UnpublishManyProps } from './index.js';
3
3
  type UnpublishManyDrawerContentProps = {
4
4
  drawerSlug: string;
5
5
  ids: (number | string)[];
6
- onSuccess?: () => void;
7
6
  selectAll: boolean;
8
7
  } & UnpublishManyProps;
9
8
  export declare function UnpublishManyDrawerContent(props: UnpublishManyDrawerContentProps): React.JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../src/elements/UnpublishMany/DrawerContent.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAsB,MAAM,OAAO,CAAA;AAG1C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAUpD,KAAK,+BAA+B,GAAG;IACrC,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;CACnB,GAAG,kBAAkB,CAAA;AAEtB,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,+BAA+B,qBAoJhF"}
1
+ {"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../src/elements/UnpublishMany/DrawerContent.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAsB,MAAM,OAAO,CAAA;AAG1C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAUpD,KAAK,+BAA+B,GAAG;IACrC,UAAU,EAAE,MAAM,CAAA;IAClB,GAAG,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IACxB,SAAS,EAAE,OAAO,CAAA;CACnB,GAAG,kBAAkB,CAAA;AAEtB,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,+BAA+B,qBA6IhF"}
@@ -24,7 +24,6 @@ export function UnpublishManyDrawerContent(props) {
24
24
  } = {},
25
25
  drawerSlug,
26
26
  ids,
27
- onSuccess,
28
27
  selectAll
29
28
  } = props;
30
29
  const {
@@ -109,9 +108,6 @@ export function UnpublishManyDrawerContent(props) {
109
108
  addQueryPrefix: true
110
109
  }));
111
110
  clearRouteCache();
112
- if (typeof onSuccess === 'function') {
113
- onSuccess();
114
- }
115
111
  return null;
116
112
  }
117
113
  if (json.errors) {
@@ -124,7 +120,7 @@ export function UnpublishManyDrawerContent(props) {
124
120
  return addDefaultError();
125
121
  }
126
122
  });
127
- }, [serverURL, api, slug, queryString, i18n, plural, singular, t, router, searchParams, selectAll, clearRouteCache, addDefaultError, onSuccess]);
123
+ }, [serverURL, api, slug, queryString, i18n, plural, singular, t, router, searchParams, selectAll, clearRouteCache, addDefaultError]);
128
124
  return /*#__PURE__*/_jsx(ConfirmationModal, {
129
125
  body: t('version:aboutToUnpublishSelection', {
130
126
  label: getTranslation(plural, i18n)
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerContent.js","names":["getTranslation","useRouter","useSearchParams","combineWhereConstraints","mergeListSearchAndWhere","qs","React","useCallback","toast","useConfig","useLocale","useRouteCache","useTranslation","requests","parseSearchParams","ConfirmationModal","UnpublishManyDrawerContent","props","collection","slug","labels","plural","singular","drawerSlug","ids","onSuccess","selectAll","config","routes","api","serverURL","code","locale","i18n","t","searchParams","router","clearRouteCache","addDefaultError","error","queryString","useMemo","whereConstraints","_status","not_equals","queryWithSearch","collectionConfig","search","get","push","id","in","stringify","where","addQueryPrefix","handleUnpublish","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","confirmingLabel","heading","modalSlug","onConfirm"],"sources":["../../../src/elements/UnpublishMany/DrawerContent.tsx"],"sourcesContent":["import type { Where } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport { combineWhereConstraints, mergeListSearchAndWhere } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback } from 'react'\nimport { toast } from 'sonner'\n\nimport type { UnpublishManyProps } 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 { 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 UnpublishManyDrawerContentProps = {\n drawerSlug: string\n ids: (number | string)[]\n onSuccess?: () => void\n selectAll: boolean\n} & UnpublishManyProps\n\nexport function UnpublishManyDrawerContent(props: UnpublishManyDrawerContentProps) {\n const {\n collection,\n collection: { slug, labels: { plural, singular } } = {},\n drawerSlug,\n ids,\n onSuccess,\n selectAll,\n } = props\n\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n const { code: locale } = useLocale()\n const { i18n, t } = useTranslation()\n const searchParams = useSearchParams()\n const router = useRouter()\n const { clearRouteCache } = useRouteCache()\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: 'draft',\n },\n },\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 // 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 where: combineWhereConstraints(whereConstraints),\n },\n { addQueryPrefix: true },\n )\n }, [collection, searchParams, selectAll, ids, locale])\n\n const handleUnpublish = useCallback(async () => {\n await requests\n .patch(`${serverURL}${api}/${slug}${queryString}`, {\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()\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 serverURL,\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:aboutToUnpublishSelection', { label: getTranslation(plural, i18n) })}\n confirmingLabel={t('version:unpublishing')}\n heading={t('version:confirmUnpublish')}\n modalSlug={drawerSlug}\n onConfirm={handleUnpublish}\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DrawerContent.js","names":["getTranslation","useRouter","useSearchParams","combineWhereConstraints","mergeListSearchAndWhere","qs","React","useCallback","toast","useConfig","useLocale","useRouteCache","useTranslation","requests","parseSearchParams","ConfirmationModal","UnpublishManyDrawerContent","props","collection","slug","labels","plural","singular","drawerSlug","ids","selectAll","config","routes","api","serverURL","code","locale","i18n","t","searchParams","router","clearRouteCache","addDefaultError","error","queryString","useMemo","whereConstraints","_status","not_equals","queryWithSearch","collectionConfig","search","get","push","id","in","stringify","where","addQueryPrefix","handleUnpublish","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","confirmingLabel","heading","modalSlug","onConfirm"],"sources":["../../../src/elements/UnpublishMany/DrawerContent.tsx"],"sourcesContent":["import type { Where } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport { combineWhereConstraints, mergeListSearchAndWhere } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback } from 'react'\nimport { toast } from 'sonner'\n\nimport type { UnpublishManyProps } 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 { 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 UnpublishManyDrawerContentProps = {\n drawerSlug: string\n ids: (number | string)[]\n selectAll: boolean\n} & UnpublishManyProps\n\nexport function UnpublishManyDrawerContent(props: UnpublishManyDrawerContentProps) {\n const {\n collection,\n collection: { slug, labels: { plural, singular } } = {},\n drawerSlug,\n ids,\n selectAll,\n } = props\n\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n const { code: locale } = useLocale()\n const { i18n, t } = useTranslation()\n const searchParams = useSearchParams()\n const router = useRouter()\n const { clearRouteCache } = useRouteCache()\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: 'draft',\n },\n },\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 // 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 where: combineWhereConstraints(whereConstraints),\n },\n { addQueryPrefix: true },\n )\n }, [collection, searchParams, selectAll, ids, locale])\n\n const handleUnpublish = useCallback(async () => {\n await requests\n .patch(`${serverURL}${api}/${slug}${queryString}`, {\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()\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 queryString,\n i18n,\n plural,\n singular,\n t,\n router,\n searchParams,\n selectAll,\n clearRouteCache,\n addDefaultError,\n ])\n\n return (\n <ConfirmationModal\n body={t('version:aboutToUnpublishSelection', { label: getTranslation(plural, i18n) })}\n confirmingLabel={t('version:unpublishing')}\n heading={t('version:confirmUnpublish')}\n modalSlug={drawerSlug}\n onConfirm={handleUnpublish}\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}