@payloadcms/ui 3.15.1 → 3.15.2-canary.64ffcd8

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 (28) hide show
  1. package/dist/elements/Autosave/index.d.ts.map +1 -1
  2. package/dist/elements/Autosave/index.js +3 -1
  3. package/dist/elements/Autosave/index.js.map +1 -1
  4. package/dist/elements/FileDetails/FileMeta/index.d.ts +0 -2
  5. package/dist/elements/FileDetails/FileMeta/index.d.ts.map +1 -1
  6. package/dist/elements/FileDetails/FileMeta/index.js +22 -86
  7. package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
  8. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts +0 -1
  9. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts.map +1 -1
  10. package/dist/elements/FileDetails/StaticFileDetails/index.js +0 -4
  11. package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
  12. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  13. package/dist/elements/PublishButton/index.js +272 -114
  14. package/dist/elements/PublishButton/index.js.map +1 -1
  15. package/dist/elements/Status/index.d.ts.map +1 -1
  16. package/dist/elements/Status/index.js +118 -188
  17. package/dist/elements/Status/index.js.map +1 -1
  18. package/dist/exports/client/index.js +10 -10
  19. package/dist/exports/client/index.js.map +3 -3
  20. package/dist/providers/Locale/index.d.ts +1 -0
  21. package/dist/providers/Locale/index.d.ts.map +1 -1
  22. package/dist/providers/Locale/index.js +5 -4
  23. package/dist/providers/Locale/index.js.map +1 -1
  24. package/dist/providers/Root/index.d.ts +2 -1
  25. package/dist/providers/Root/index.d.ts.map +1 -1
  26. package/dist/providers/Root/index.js +2 -0
  27. package/dist/providers/Root/index.js.map +1 -1
  28. package/package.json +4 -4
@@ -1,6 +1,5 @@
1
1
  'use client';
2
2
 
3
- import { c as _c } from "react/compiler-runtime";
4
3
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
4
  import { Modal, useModal } from '@faceless-ui/modal';
6
5
  import React, { useCallback, useState } from 'react';
@@ -17,7 +16,6 @@ import { drawerZBase } from '../Drawer/index.js';
17
16
  import './index.scss';
18
17
  const baseClass = 'status';
19
18
  export const Status = () => {
20
- const $ = _c(42);
21
19
  const {
22
20
  id,
23
21
  collectionSlug,
@@ -25,21 +23,22 @@ export const Status = () => {
25
23
  globalSlug,
26
24
  hasPublishedDoc,
27
25
  incrementVersionCount,
26
+ setHasPublishedDoc,
27
+ setMostRecentVersionIsAutosaved,
28
+ setUnpublishedVersionCount,
28
29
  unpublishedVersionCount
29
30
  } = useDocumentInfo();
30
31
  const {
31
32
  toggleModal
32
33
  } = useModal();
33
34
  const {
34
- config: t0
35
+ config: {
36
+ routes: {
37
+ api
38
+ },
39
+ serverURL
40
+ }
35
41
  } = useConfig();
36
- const {
37
- routes: t1,
38
- serverURL
39
- } = t0;
40
- const {
41
- api
42
- } = t1;
43
42
  const [processing, setProcessing] = useState(false);
44
43
  const {
45
44
  reset: resetForm
@@ -56,234 +55,165 @@ export const Status = () => {
56
55
  const revertModalSlug = `confirm-revert-${id}`;
57
56
  let statusToRender;
58
57
  if (unpublishedVersionCount > 0 && hasPublishedDoc) {
59
- statusToRender = "changed";
60
- } else {
61
- if (!hasPublishedDoc) {
62
- statusToRender = "draft";
63
- } else {
64
- if (hasPublishedDoc && unpublishedVersionCount <= 0) {
65
- statusToRender = "published";
66
- }
67
- }
58
+ statusToRender = 'changed';
59
+ } else if (!hasPublishedDoc) {
60
+ statusToRender = 'draft';
61
+ } else if (hasPublishedDoc && unpublishedVersionCount <= 0) {
62
+ statusToRender = 'published';
68
63
  }
69
- let t2;
70
- if ($[0] !== api || $[1] !== collectionSlug || $[2] !== globalSlug || $[3] !== i18n.language || $[4] !== id || $[5] !== incrementVersionCount || $[6] !== locale || $[7] !== resetForm || $[8] !== revertModalSlug || $[9] !== serverURL || $[10] !== t || $[11] !== toggleModal || $[12] !== unPublishModalSlug) {
71
- t2 = async action => {
72
- let url;
73
- let method;
74
- let body;
75
- setProcessing(true);
76
- if (action === "unpublish") {
77
- body = {
78
- _status: "draft"
79
- };
80
- }
81
- if (collectionSlug) {
82
- url = `${serverURL}${api}/${collectionSlug}/${id}?locale=${locale}&fallback-locale=null&depth=0`;
83
- method = "patch";
84
- }
85
- if (globalSlug) {
86
- url = `${serverURL}${api}/globals/${globalSlug}?locale=${locale}&fallback-locale=null&depth=0`;
87
- method = "post";
88
- }
89
- if (action === "revert") {
90
- const publishedDoc = await requests.get(url, {
91
- headers: {
92
- "Accept-Language": i18n.language,
93
- "Content-Type": "application/json"
94
- }
95
- }).then(_temp);
96
- body = publishedDoc;
97
- }
98
- const res_0 = await requests[method](url, {
99
- body: JSON.stringify(body),
64
+ const performAction = useCallback(async action => {
65
+ let url;
66
+ let method;
67
+ let body;
68
+ setProcessing(true);
69
+ if (action === 'unpublish') {
70
+ body = {
71
+ _status: 'draft'
72
+ };
73
+ }
74
+ if (collectionSlug) {
75
+ url = `${serverURL}${api}/${collectionSlug}/${id}?locale=${locale}&fallback-locale=null&depth=0`;
76
+ method = 'patch';
77
+ }
78
+ if (globalSlug) {
79
+ url = `${serverURL}${api}/globals/${globalSlug}?locale=${locale}&fallback-locale=null&depth=0`;
80
+ method = 'post';
81
+ }
82
+ if (action === 'revert') {
83
+ const publishedDoc = await requests.get(url, {
100
84
  headers: {
101
- "Accept-Language": i18n.language,
102
- "Content-Type": "application/json"
103
- }
104
- });
105
- if (res_0.status === 200) {
106
- let data;
107
- const json = await res_0.json();
108
- if (globalSlug) {
109
- data = json.result;
110
- } else {
111
- if (collectionSlug) {
112
- data = json.doc;
113
- }
85
+ 'Accept-Language': i18n.language,
86
+ 'Content-Type': 'application/json'
114
87
  }
115
- resetForm(data);
116
- toast.success(json.message);
117
- incrementVersionCount();
118
- } else {
119
- toast.error(t("error:unPublishingDocument"));
88
+ }).then(res => res.json());
89
+ body = publishedDoc;
90
+ }
91
+ const res_0 = await requests[method](url, {
92
+ body: JSON.stringify(body),
93
+ headers: {
94
+ 'Accept-Language': i18n.language,
95
+ 'Content-Type': 'application/json'
120
96
  }
121
- setProcessing(false);
122
- if (action === "revert") {
123
- toggleModal(revertModalSlug);
97
+ });
98
+ if (res_0.status === 200) {
99
+ let data;
100
+ const json = await res_0.json();
101
+ if (globalSlug) {
102
+ data = json.result;
103
+ } else if (collectionSlug) {
104
+ data = json.doc;
124
105
  }
125
- if (action === "unpublish") {
126
- toggleModal(unPublishModalSlug);
106
+ // eslint-disable-next-line @typescript-eslint/no-floating-promises
107
+ resetForm(data);
108
+ toast.success(json.message);
109
+ incrementVersionCount();
110
+ setMostRecentVersionIsAutosaved(false);
111
+ if (action === 'unpublish') {
112
+ setHasPublishedDoc(false);
113
+ } else if (action === 'revert') {
114
+ setUnpublishedVersionCount(0);
127
115
  }
128
- };
129
- $[0] = api;
130
- $[1] = collectionSlug;
131
- $[2] = globalSlug;
132
- $[3] = i18n.language;
133
- $[4] = id;
134
- $[5] = incrementVersionCount;
135
- $[6] = locale;
136
- $[7] = resetForm;
137
- $[8] = revertModalSlug;
138
- $[9] = serverURL;
139
- $[10] = t;
140
- $[11] = toggleModal;
141
- $[12] = unPublishModalSlug;
142
- $[13] = t2;
143
- } else {
144
- t2 = $[13];
145
- }
146
- const performAction = t2;
116
+ } else {
117
+ toast.error(t('error:unPublishingDocument'));
118
+ }
119
+ setProcessing(false);
120
+ if (action === 'revert') {
121
+ toggleModal(revertModalSlug);
122
+ }
123
+ if (action === 'unpublish') {
124
+ toggleModal(unPublishModalSlug);
125
+ }
126
+ }, [api, collectionSlug, globalSlug, id, i18n.language, incrementVersionCount, locale, resetForm, serverURL, setUnpublishedVersionCount, t, toggleModal, revertModalSlug, unPublishModalSlug, setHasPublishedDoc]);
147
127
  const canUpdate = docPermissions?.update;
148
128
  if (statusToRender) {
149
- const t3 = `${t("version:status")}: ${t(`version:${statusToRender}`)}`;
150
- let t4;
151
- if ($[14] !== canUpdate || $[15] !== editDepth || $[16] !== performAction || $[17] !== processing || $[18] !== revertModalSlug || $[19] !== statusToRender || $[20] !== t || $[21] !== t3 || $[22] !== toggleModal || $[23] !== unPublishModalSlug) {
152
- let t5;
153
- if ($[25] !== canUpdate || $[26] !== editDepth || $[27] !== performAction || $[28] !== processing || $[29] !== statusToRender || $[30] !== t || $[31] !== toggleModal || $[32] !== unPublishModalSlug) {
154
- t5 = canUpdate && statusToRender === "published" && _jsxs(React.Fragment, {
155
- children: ["\xA0\u2014\xA0", _jsx(Button, {
129
+ return /*#__PURE__*/_jsx("div", {
130
+ className: baseClass,
131
+ title: `${t('version:status')}: ${t(`version:${statusToRender}`)}`,
132
+ children: /*#__PURE__*/_jsxs("div", {
133
+ className: `${baseClass}__value-wrap`,
134
+ children: [/*#__PURE__*/_jsxs("span", {
135
+ className: `${baseClass}__label`,
136
+ children: [t('version:status'), ": "]
137
+ }), /*#__PURE__*/_jsx("span", {
138
+ className: `${baseClass}__value`,
139
+ children: t(`version:${statusToRender}`)
140
+ }), canUpdate && statusToRender === 'published' && /*#__PURE__*/_jsxs(React.Fragment, {
141
+ children: [" — ", /*#__PURE__*/_jsx(Button, {
156
142
  buttonStyle: "none",
157
143
  className: `${baseClass}__action`,
158
144
  onClick: () => toggleModal(unPublishModalSlug),
159
- children: t("version:unpublish")
160
- }), _jsx(Modal, {
145
+ children: t('version:unpublish')
146
+ }), /*#__PURE__*/_jsx(Modal, {
161
147
  className: `${baseClass}__modal`,
162
148
  slug: unPublishModalSlug,
163
149
  style: {
164
150
  zIndex: drawerZBase + editDepth
165
151
  },
166
- children: _jsxs("div", {
152
+ children: /*#__PURE__*/_jsxs("div", {
167
153
  className: `${baseClass}__wrapper`,
168
- children: [_jsxs("div", {
154
+ children: [/*#__PURE__*/_jsxs("div", {
169
155
  className: `${baseClass}__content`,
170
- children: [_jsx("h1", {
171
- children: t("version:confirmUnpublish")
172
- }), _jsx("p", {
173
- children: t("version:aboutToUnpublish")
156
+ children: [/*#__PURE__*/_jsx("h1", {
157
+ children: t('version:confirmUnpublish')
158
+ }), /*#__PURE__*/_jsx("p", {
159
+ children: t('version:aboutToUnpublish')
174
160
  })]
175
- }), _jsxs("div", {
161
+ }), /*#__PURE__*/_jsxs("div", {
176
162
  className: `${baseClass}__controls`,
177
- children: [_jsx(Button, {
163
+ children: [/*#__PURE__*/_jsx(Button, {
178
164
  buttonStyle: "secondary",
179
165
  onClick: processing ? undefined : () => toggleModal(unPublishModalSlug),
180
166
  size: "large",
181
167
  type: "button",
182
- children: t("general:cancel")
183
- }), _jsx(Button, {
184
- onClick: processing ? undefined : () => performAction("unpublish"),
168
+ children: t('general:cancel')
169
+ }), /*#__PURE__*/_jsx(Button, {
170
+ onClick: processing ? undefined : () => performAction('unpublish'),
185
171
  size: "large",
186
- children: t(processing ? "version:unpublishing" : "general:confirm")
172
+ children: t(processing ? 'version:unpublishing' : 'general:confirm')
187
173
  })]
188
174
  })]
189
175
  })
190
176
  })]
191
- });
192
- $[25] = canUpdate;
193
- $[26] = editDepth;
194
- $[27] = performAction;
195
- $[28] = processing;
196
- $[29] = statusToRender;
197
- $[30] = t;
198
- $[31] = toggleModal;
199
- $[32] = unPublishModalSlug;
200
- $[33] = t5;
201
- } else {
202
- t5 = $[33];
203
- }
204
- let t6;
205
- if ($[34] !== canUpdate || $[35] !== performAction || $[36] !== processing || $[37] !== revertModalSlug || $[38] !== statusToRender || $[39] !== t || $[40] !== toggleModal) {
206
- t6 = canUpdate && statusToRender === "changed" && _jsxs(React.Fragment, {
207
- children: ["\xA0\u2014\xA0", _jsx(Button, {
177
+ }), canUpdate && statusToRender === 'changed' && /*#__PURE__*/_jsxs(React.Fragment, {
178
+ children: [" — ", /*#__PURE__*/_jsx(Button, {
208
179
  buttonStyle: "none",
209
180
  className: `${baseClass}__action`,
210
181
  id: "action-revert-to-published",
211
182
  onClick: () => toggleModal(revertModalSlug),
212
- children: t("version:revertToPublished")
213
- }), _jsx(Modal, {
183
+ children: t('version:revertToPublished')
184
+ }), /*#__PURE__*/_jsx(Modal, {
214
185
  className: `${baseClass}__modal`,
215
186
  slug: revertModalSlug,
216
- children: _jsxs("div", {
187
+ children: /*#__PURE__*/_jsxs("div", {
217
188
  className: `${baseClass}__wrapper`,
218
- children: [_jsxs("div", {
189
+ children: [/*#__PURE__*/_jsxs("div", {
219
190
  className: `${baseClass}__content`,
220
- children: [_jsx("h1", {
221
- children: t("version:confirmRevertToSaved")
222
- }), _jsx("p", {
223
- children: t("version:aboutToRevertToPublished")
191
+ children: [/*#__PURE__*/_jsx("h1", {
192
+ children: t('version:confirmRevertToSaved')
193
+ }), /*#__PURE__*/_jsx("p", {
194
+ children: t('version:aboutToRevertToPublished')
224
195
  })]
225
- }), _jsxs("div", {
196
+ }), /*#__PURE__*/_jsxs("div", {
226
197
  className: `${baseClass}__controls`,
227
- children: [_jsx(Button, {
198
+ children: [/*#__PURE__*/_jsx(Button, {
228
199
  buttonStyle: "secondary",
229
200
  onClick: processing ? undefined : () => toggleModal(revertModalSlug),
230
201
  size: "large",
231
202
  type: "button",
232
- children: t("general:cancel")
233
- }), _jsx(Button, {
203
+ children: t('general:cancel')
204
+ }), /*#__PURE__*/_jsx(Button, {
234
205
  id: "action-revert-to-published-confirm",
235
- onClick: processing ? undefined : () => performAction("revert"),
206
+ onClick: processing ? undefined : () => performAction('revert'),
236
207
  size: "large",
237
- children: t(processing ? "version:reverting" : "general:confirm")
208
+ children: t(processing ? 'version:reverting' : 'general:confirm')
238
209
  })]
239
210
  })]
240
211
  })
241
212
  })]
242
- });
243
- $[34] = canUpdate;
244
- $[35] = performAction;
245
- $[36] = processing;
246
- $[37] = revertModalSlug;
247
- $[38] = statusToRender;
248
- $[39] = t;
249
- $[40] = toggleModal;
250
- $[41] = t6;
251
- } else {
252
- t6 = $[41];
253
- }
254
- t4 = _jsx("div", {
255
- className: baseClass,
256
- title: t3,
257
- children: _jsxs("div", {
258
- className: `${baseClass}__value-wrap`,
259
- children: [_jsxs("span", {
260
- className: `${baseClass}__label`,
261
- children: [t("version:status"), ":\xA0"]
262
- }), _jsx("span", {
263
- className: `${baseClass}__value`,
264
- children: t(`version:${statusToRender}`)
265
- }), t5, t6]
266
- })
267
- });
268
- $[14] = canUpdate;
269
- $[15] = editDepth;
270
- $[16] = performAction;
271
- $[17] = processing;
272
- $[18] = revertModalSlug;
273
- $[19] = statusToRender;
274
- $[20] = t;
275
- $[21] = t3;
276
- $[22] = toggleModal;
277
- $[23] = unPublishModalSlug;
278
- $[24] = t4;
279
- } else {
280
- t4 = $[24];
281
- }
282
- return t4;
213
+ })]
214
+ })
215
+ });
283
216
  }
284
217
  return null;
285
218
  };
286
- function _temp(res) {
287
- return res.json();
288
- }
289
219
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","Modal","useModal","React","useCallback","useState","toast","useForm","useConfig","useDocumentInfo","useEditDepth","useLocale","useTranslation","requests","Button","drawerZBase","baseClass","Status","$","id","collectionSlug","docPermissions","globalSlug","hasPublishedDoc","incrementVersionCount","unpublishedVersionCount","toggleModal","config","t0","routes","t1","serverURL","api","processing","setProcessing","reset","resetForm","code","locale","i18n","t","editDepth","unPublishModalSlug","revertModalSlug","statusToRender","t2","language","action","url","method","body","publishedDoc","get","headers","then","_temp","res_0","JSON","stringify","res","status","data","json","result","doc","success","message","error","performAction","canUpdate","update","t3","t4","t5","_jsxs","Fragment","children","_jsx","buttonStyle","className","onClick","slug","style","zIndex","undefined","size","type","t6","title"],"sources":["../../../src/elements/Status/index.tsx"],"sourcesContent":["'use client'\nimport { Modal, useModal } from '@faceless-ui/modal'\nimport React, { useCallback, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport { useForm } from '../../forms/Form/context.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { Button } from '../Button/index.js'\nimport { drawerZBase } from '../Drawer/index.js'\nimport './index.scss'\n\nconst baseClass = 'status'\n\nexport const Status: React.FC = () => {\n const {\n id,\n collectionSlug,\n docPermissions,\n globalSlug,\n hasPublishedDoc,\n incrementVersionCount,\n unpublishedVersionCount,\n } = useDocumentInfo()\n const { toggleModal } = useModal()\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n const [processing, setProcessing] = useState(false)\n const { reset: resetForm } = useForm()\n const { code: locale } = useLocale()\n const { i18n, t } = useTranslation()\n\n const editDepth = useEditDepth()\n\n const unPublishModalSlug = `confirm-un-publish-${id}`\n const revertModalSlug = `confirm-revert-${id}`\n\n let statusToRender: 'changed' | 'draft' | 'published'\n\n if (unpublishedVersionCount > 0 && hasPublishedDoc) {\n statusToRender = 'changed'\n } else if (!hasPublishedDoc) {\n statusToRender = 'draft'\n } else if (hasPublishedDoc && unpublishedVersionCount <= 0) {\n statusToRender = 'published'\n }\n\n const performAction = useCallback(\n async (action: 'revert' | 'unpublish') => {\n let url\n let method\n let body\n\n setProcessing(true)\n\n if (action === 'unpublish') {\n body = {\n _status: 'draft',\n }\n }\n\n if (collectionSlug) {\n url = `${serverURL}${api}/${collectionSlug}/${id}?locale=${locale}&fallback-locale=null&depth=0`\n method = 'patch'\n }\n if (globalSlug) {\n url = `${serverURL}${api}/globals/${globalSlug}?locale=${locale}&fallback-locale=null&depth=0`\n method = 'post'\n }\n\n if (action === 'revert') {\n const publishedDoc = await requests\n .get(url, {\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n .then((res) => res.json())\n\n body = publishedDoc\n }\n\n const res = await requests[method](url, {\n body: JSON.stringify(body),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n\n if (res.status === 200) {\n let data\n const json = await res.json()\n\n if (globalSlug) {\n data = json.result\n } else if (collectionSlug) {\n data = json.doc\n }\n\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n resetForm(data)\n toast.success(json.message)\n\n incrementVersionCount()\n } else {\n toast.error(t('error:unPublishingDocument'))\n }\n\n setProcessing(false)\n if (action === 'revert') {\n toggleModal(revertModalSlug)\n }\n\n if (action === 'unpublish') {\n toggleModal(unPublishModalSlug)\n }\n },\n [\n api,\n collectionSlug,\n incrementVersionCount,\n globalSlug,\n i18n.language,\n id,\n locale,\n resetForm,\n revertModalSlug,\n serverURL,\n t,\n toggleModal,\n unPublishModalSlug,\n ],\n )\n\n const canUpdate = docPermissions?.update\n\n if (statusToRender) {\n return (\n <div\n className={baseClass}\n title={`${t('version:status')}: ${t(`version:${statusToRender}`)}`}\n >\n <div className={`${baseClass}__value-wrap`}>\n <span className={`${baseClass}__label`}>{t('version:status')}:&nbsp;</span>\n <span className={`${baseClass}__value`}>{t(`version:${statusToRender}`)}</span>\n {canUpdate && statusToRender === 'published' && (\n <React.Fragment>\n &nbsp;&mdash;&nbsp;\n <Button\n buttonStyle=\"none\"\n className={`${baseClass}__action`}\n onClick={() => toggleModal(unPublishModalSlug)}\n >\n {t('version:unpublish')}\n </Button>\n <Modal\n className={`${baseClass}__modal`}\n slug={unPublishModalSlug}\n style={{ zIndex: drawerZBase + editDepth }}\n >\n <div className={`${baseClass}__wrapper`}>\n <div className={`${baseClass}__content`}>\n <h1>{t('version:confirmUnpublish')}</h1>\n <p>{t('version:aboutToUnpublish')}</p>\n </div>\n <div className={`${baseClass}__controls`}>\n <Button\n buttonStyle=\"secondary\"\n onClick={processing ? undefined : () => toggleModal(unPublishModalSlug)}\n size=\"large\"\n type=\"button\"\n >\n {t('general:cancel')}\n </Button>\n <Button\n onClick={processing ? undefined : () => performAction('unpublish')}\n size=\"large\"\n >\n {t(processing ? 'version:unpublishing' : 'general:confirm')}\n </Button>\n </div>\n </div>\n </Modal>\n </React.Fragment>\n )}\n {canUpdate && statusToRender === 'changed' && (\n <React.Fragment>\n &nbsp;&mdash;&nbsp;\n <Button\n buttonStyle=\"none\"\n className={`${baseClass}__action`}\n id=\"action-revert-to-published\"\n onClick={() => toggleModal(revertModalSlug)}\n >\n {t('version:revertToPublished')}\n </Button>\n <Modal className={`${baseClass}__modal`} slug={revertModalSlug}>\n <div className={`${baseClass}__wrapper`}>\n <div className={`${baseClass}__content`}>\n <h1>{t('version:confirmRevertToSaved')}</h1>\n <p>{t('version:aboutToRevertToPublished')}</p>\n </div>\n <div className={`${baseClass}__controls`}>\n <Button\n buttonStyle=\"secondary\"\n onClick={processing ? undefined : () => toggleModal(revertModalSlug)}\n size=\"large\"\n type=\"button\"\n >\n {t('general:cancel')}\n </Button>\n <Button\n id=\"action-revert-to-published-confirm\"\n onClick={processing ? undefined : () => performAction('revert')}\n size=\"large\"\n >\n {t(processing ? 'version:reverting' : 'general:confirm')}\n </Button>\n </div>\n </div>\n </Modal>\n </React.Fragment>\n )}\n </div>\n </div>\n )\n }\n\n return null\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["Modal","useModal","React","useCallback","useState","toast","useForm","useConfig","useDocumentInfo","useEditDepth","useLocale","useTranslation","requests","Button","drawerZBase","baseClass","Status","id","collectionSlug","docPermissions","globalSlug","hasPublishedDoc","incrementVersionCount","setHasPublishedDoc","setMostRecentVersionIsAutosaved","setUnpublishedVersionCount","unpublishedVersionCount","toggleModal","config","routes","api","serverURL","processing","setProcessing","reset","resetForm","code","locale","i18n","t","editDepth","unPublishModalSlug","revertModalSlug","statusToRender","performAction","action","url","method","body","_status","publishedDoc","get","headers","language","then","res","json","JSON","stringify","status","data","result","doc","success","message","error","canUpdate","update","_jsx","className","title","_jsxs","Fragment","buttonStyle","onClick","slug","style","zIndex","undefined","size","type"],"sources":["../../../src/elements/Status/index.tsx"],"sourcesContent":["'use client'\nimport { Modal, useModal } from '@faceless-ui/modal'\nimport React, { useCallback, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport { useForm } from '../../forms/Form/context.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { Button } from '../Button/index.js'\nimport { drawerZBase } from '../Drawer/index.js'\nimport './index.scss'\n\nconst baseClass = 'status'\n\nexport const Status: React.FC = () => {\n const {\n id,\n collectionSlug,\n docPermissions,\n globalSlug,\n hasPublishedDoc,\n incrementVersionCount,\n setHasPublishedDoc,\n setMostRecentVersionIsAutosaved,\n setUnpublishedVersionCount,\n unpublishedVersionCount,\n } = useDocumentInfo()\n const { toggleModal } = useModal()\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n const [processing, setProcessing] = useState(false)\n const { reset: resetForm } = useForm()\n const { code: locale } = useLocale()\n const { i18n, t } = useTranslation()\n\n const editDepth = useEditDepth()\n\n const unPublishModalSlug = `confirm-un-publish-${id}`\n const revertModalSlug = `confirm-revert-${id}`\n\n let statusToRender: 'changed' | 'draft' | 'published'\n\n if (unpublishedVersionCount > 0 && hasPublishedDoc) {\n statusToRender = 'changed'\n } else if (!hasPublishedDoc) {\n statusToRender = 'draft'\n } else if (hasPublishedDoc && unpublishedVersionCount <= 0) {\n statusToRender = 'published'\n }\n\n const performAction = useCallback(\n async (action: 'revert' | 'unpublish') => {\n let url\n let method\n let body\n\n setProcessing(true)\n\n if (action === 'unpublish') {\n body = {\n _status: 'draft',\n }\n }\n\n if (collectionSlug) {\n url = `${serverURL}${api}/${collectionSlug}/${id}?locale=${locale}&fallback-locale=null&depth=0`\n method = 'patch'\n }\n if (globalSlug) {\n url = `${serverURL}${api}/globals/${globalSlug}?locale=${locale}&fallback-locale=null&depth=0`\n method = 'post'\n }\n\n if (action === 'revert') {\n const publishedDoc = await requests\n .get(url, {\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n .then((res) => res.json())\n\n body = publishedDoc\n }\n\n const res = await requests[method](url, {\n body: JSON.stringify(body),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n\n if (res.status === 200) {\n let data\n const json = await res.json()\n\n if (globalSlug) {\n data = json.result\n } else if (collectionSlug) {\n data = json.doc\n }\n\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n resetForm(data)\n toast.success(json.message)\n incrementVersionCount()\n setMostRecentVersionIsAutosaved(false)\n\n if (action === 'unpublish') {\n setHasPublishedDoc(false)\n } else if (action === 'revert') {\n setUnpublishedVersionCount(0)\n }\n } else {\n toast.error(t('error:unPublishingDocument'))\n }\n\n setProcessing(false)\n if (action === 'revert') {\n toggleModal(revertModalSlug)\n }\n\n if (action === 'unpublish') {\n toggleModal(unPublishModalSlug)\n }\n },\n [\n api,\n collectionSlug,\n globalSlug,\n id,\n i18n.language,\n incrementVersionCount,\n locale,\n resetForm,\n serverURL,\n setUnpublishedVersionCount,\n t,\n toggleModal,\n revertModalSlug,\n unPublishModalSlug,\n setHasPublishedDoc,\n ],\n )\n\n const canUpdate = docPermissions?.update\n\n if (statusToRender) {\n return (\n <div\n className={baseClass}\n title={`${t('version:status')}: ${t(`version:${statusToRender}`)}`}\n >\n <div className={`${baseClass}__value-wrap`}>\n <span className={`${baseClass}__label`}>{t('version:status')}:&nbsp;</span>\n <span className={`${baseClass}__value`}>{t(`version:${statusToRender}`)}</span>\n {canUpdate && statusToRender === 'published' && (\n <React.Fragment>\n &nbsp;&mdash;&nbsp;\n <Button\n buttonStyle=\"none\"\n className={`${baseClass}__action`}\n onClick={() => toggleModal(unPublishModalSlug)}\n >\n {t('version:unpublish')}\n </Button>\n <Modal\n className={`${baseClass}__modal`}\n slug={unPublishModalSlug}\n style={{ zIndex: drawerZBase + editDepth }}\n >\n <div className={`${baseClass}__wrapper`}>\n <div className={`${baseClass}__content`}>\n <h1>{t('version:confirmUnpublish')}</h1>\n <p>{t('version:aboutToUnpublish')}</p>\n </div>\n <div className={`${baseClass}__controls`}>\n <Button\n buttonStyle=\"secondary\"\n onClick={processing ? undefined : () => toggleModal(unPublishModalSlug)}\n size=\"large\"\n type=\"button\"\n >\n {t('general:cancel')}\n </Button>\n <Button\n onClick={processing ? undefined : () => performAction('unpublish')}\n size=\"large\"\n >\n {t(processing ? 'version:unpublishing' : 'general:confirm')}\n </Button>\n </div>\n </div>\n </Modal>\n </React.Fragment>\n )}\n {canUpdate && statusToRender === 'changed' && (\n <React.Fragment>\n &nbsp;&mdash;&nbsp;\n <Button\n buttonStyle=\"none\"\n className={`${baseClass}__action`}\n id=\"action-revert-to-published\"\n onClick={() => toggleModal(revertModalSlug)}\n >\n {t('version:revertToPublished')}\n </Button>\n <Modal className={`${baseClass}__modal`} slug={revertModalSlug}>\n <div className={`${baseClass}__wrapper`}>\n <div className={`${baseClass}__content`}>\n <h1>{t('version:confirmRevertToSaved')}</h1>\n <p>{t('version:aboutToRevertToPublished')}</p>\n </div>\n <div className={`${baseClass}__controls`}>\n <Button\n buttonStyle=\"secondary\"\n onClick={processing ? undefined : () => toggleModal(revertModalSlug)}\n size=\"large\"\n type=\"button\"\n >\n {t('general:cancel')}\n </Button>\n <Button\n id=\"action-revert-to-published-confirm\"\n onClick={processing ? undefined : () => performAction('revert')}\n size=\"large\"\n >\n {t(processing ? 'version:reverting' : 'general:confirm')}\n </Button>\n </div>\n </div>\n </Modal>\n </React.Fragment>\n )}\n </div>\n </div>\n )\n }\n\n return null\n}\n"],"mappings":"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","ignoreList":[]}