@strapi/content-manager 5.35.0 → 5.36.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/dist/admin/components/ActionsDrawer.js +5 -1
  2. package/dist/admin/components/ActionsDrawer.js.map +1 -1
  3. package/dist/admin/components/ActionsDrawer.mjs +5 -2
  4. package/dist/admin/components/ActionsDrawer.mjs.map +1 -1
  5. package/dist/admin/components/LeftMenu.js +1 -28
  6. package/dist/admin/components/LeftMenu.js.map +1 -1
  7. package/dist/admin/components/LeftMenu.mjs +2 -29
  8. package/dist/admin/components/LeftMenu.mjs.map +1 -1
  9. package/dist/admin/history/components/VersionContent.js +74 -59
  10. package/dist/admin/history/components/VersionContent.js.map +1 -1
  11. package/dist/admin/history/components/VersionContent.mjs +75 -60
  12. package/dist/admin/history/components/VersionContent.mjs.map +1 -1
  13. package/dist/admin/history/components/VersionsList.js +139 -54
  14. package/dist/admin/history/components/VersionsList.js.map +1 -1
  15. package/dist/admin/history/components/VersionsList.mjs +141 -56
  16. package/dist/admin/history/components/VersionsList.mjs.map +1 -1
  17. package/dist/admin/history/pages/History.js +27 -9
  18. package/dist/admin/history/pages/History.js.map +1 -1
  19. package/dist/admin/history/pages/History.mjs +28 -10
  20. package/dist/admin/history/pages/History.mjs.map +1 -1
  21. package/dist/admin/hooks/useDocument.js +1 -1
  22. package/dist/admin/hooks/useDocument.js.map +1 -1
  23. package/dist/admin/hooks/useDocument.mjs +1 -1
  24. package/dist/admin/hooks/useDocument.mjs.map +1 -1
  25. package/dist/admin/hooks/usePersistentQueryParams.js +56 -0
  26. package/dist/admin/hooks/usePersistentQueryParams.js.map +1 -0
  27. package/dist/admin/hooks/usePersistentQueryParams.mjs +54 -0
  28. package/dist/admin/hooks/usePersistentQueryParams.mjs.map +1 -0
  29. package/dist/admin/pages/EditView/EditViewPage.js +10 -3
  30. package/dist/admin/pages/EditView/EditViewPage.js.map +1 -1
  31. package/dist/admin/pages/EditView/EditViewPage.mjs +11 -4
  32. package/dist/admin/pages/EditView/EditViewPage.mjs.map +1 -1
  33. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.js +10 -6
  34. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.js.map +1 -1
  35. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.mjs +11 -7
  36. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.mjs.map +1 -1
  37. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js +8 -2
  38. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js.map +1 -1
  39. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs +8 -2
  40. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs.map +1 -1
  41. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/AddComponentButton.js +9 -1
  42. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/AddComponentButton.js.map +1 -1
  43. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/AddComponentButton.mjs +9 -1
  44. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/AddComponentButton.mjs.map +1 -1
  45. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.js +7 -2
  46. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.js.map +1 -1
  47. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.mjs +7 -2
  48. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.mjs.map +1 -1
  49. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentPicker.js +30 -11
  50. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentPicker.js.map +1 -1
  51. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentPicker.mjs +31 -12
  52. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentPicker.mjs.map +1 -1
  53. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js +4 -4
  54. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js.map +1 -1
  55. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs +4 -4
  56. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs.map +1 -1
  57. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.js +4 -1
  58. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.js.map +1 -1
  59. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.mjs +4 -1
  60. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.mjs.map +1 -1
  61. package/dist/admin/pages/EditView/components/FormLayout.js +6 -9
  62. package/dist/admin/pages/EditView/components/FormLayout.js.map +1 -1
  63. package/dist/admin/pages/EditView/components/FormLayout.mjs +6 -9
  64. package/dist/admin/pages/EditView/components/FormLayout.mjs.map +1 -1
  65. package/dist/admin/pages/EditView/components/Header.js +2 -0
  66. package/dist/admin/pages/EditView/components/Header.js.map +1 -1
  67. package/dist/admin/pages/EditView/components/Header.mjs +2 -0
  68. package/dist/admin/pages/EditView/components/Header.mjs.map +1 -1
  69. package/dist/admin/pages/ListView/ListViewPage.js +50 -18
  70. package/dist/admin/pages/ListView/ListViewPage.js.map +1 -1
  71. package/dist/admin/pages/ListView/ListViewPage.mjs +51 -19
  72. package/dist/admin/pages/ListView/ListViewPage.mjs.map +1 -1
  73. package/dist/admin/src/components/ActionsDrawer.d.ts +17 -1
  74. package/dist/admin/src/hooks/usePersistentQueryParams.d.ts +5 -0
  75. package/dist/admin/utils/validation.js +2 -3
  76. package/dist/admin/utils/validation.js.map +1 -1
  77. package/dist/admin/utils/validation.mjs +2 -3
  78. package/dist/admin/utils/validation.mjs.map +1 -1
  79. package/dist/server/history/services/lifecycles.js +31 -10
  80. package/dist/server/history/services/lifecycles.js.map +1 -1
  81. package/dist/server/history/services/lifecycles.mjs +31 -10
  82. package/dist/server/history/services/lifecycles.mjs.map +1 -1
  83. package/dist/server/preview/services/preview.js +1 -1
  84. package/dist/server/preview/services/preview.js.map +1 -1
  85. package/dist/server/preview/services/preview.mjs +1 -1
  86. package/dist/server/preview/services/preview.mjs.map +1 -1
  87. package/dist/server/src/history/services/lifecycles.d.ts.map +1 -1
  88. package/dist/server/src/preview/services/index.d.ts +1 -1
  89. package/dist/server/src/preview/utils.d.ts +1 -1
  90. package/package.json +8 -8
@@ -7,6 +7,7 @@ var designSystem = require('@strapi/design-system');
7
7
  var qs = require('qs');
8
8
  var reactIntl = require('react-intl');
9
9
  var reactRouterDom = require('react-router-dom');
10
+ var ActionsDrawer = require('../../components/ActionsDrawer.js');
10
11
  var RelativeTime = require('../../components/RelativeTime.js');
11
12
  var DocumentStatus = require('../../pages/EditView/components/DocumentStatus.js');
12
13
  var users = require('../../utils/users.js');
@@ -19,11 +20,34 @@ var History = require('../pages/History.js');
19
20
  variant: "pi",
20
21
  children: children
21
22
  });
23
+ /* -------------------------------------------------------------------------------------------------
24
+ * VersionAuthor
25
+ * -----------------------------------------------------------------------------------------------*/ const VersionAuthor = ({ version, isCurrent })=>{
26
+ const { formatMessage } = reactIntl.useIntl();
27
+ const author = version.createdBy && users.getDisplayName(version.createdBy);
28
+ return /*#__PURE__*/ jsxRuntime.jsx(jsxRuntime.Fragment, {
29
+ children: formatMessage({
30
+ id: 'content-manager.history.sidebar.versionDescription',
31
+ defaultMessage: '{distanceToNow}{isAnonymous, select, true {} other { by {author}}}{isCurrent, select, true { <b>(current)</b>} other {}}'
32
+ }, {
33
+ distanceToNow: /*#__PURE__*/ jsxRuntime.jsx(RelativeTime.RelativeTime, {
34
+ timestamp: new Date(version.createdAt)
35
+ }),
36
+ author,
37
+ isAnonymous: !Boolean(version.createdBy),
38
+ isCurrent,
39
+ b: BlueText
40
+ })
41
+ });
42
+ };
22
43
  const VersionCard = ({ version, isCurrent })=>{
23
- const { formatDate, formatMessage } = reactIntl.useIntl();
44
+ const { formatDate } = reactIntl.useIntl();
24
45
  const [{ query }] = strapiAdmin.useQueryParams();
46
+ const setIsOpen = ActionsDrawer.useActionsDrawer('VersionCard', (s)=>s?.setIsOpen, false);
25
47
  const isActive = query.id === version.id.toString();
26
- const author = version.createdBy && users.getDisplayName(version.createdBy);
48
+ const handleClick = ()=>{
49
+ setIsOpen?.(false);
50
+ };
27
51
  return /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
28
52
  direction: "column",
29
53
  alignItems: "flex-start",
@@ -42,6 +66,7 @@ const VersionCard = ({ version, isCurrent })=>{
42
66
  style: {
43
67
  textDecoration: 'none'
44
68
  },
69
+ onClick: handleClick,
45
70
  children: [
46
71
  /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
47
72
  direction: "column",
@@ -63,17 +88,9 @@ const VersionCard = ({ version, isCurrent })=>{
63
88
  tag: "p",
64
89
  variant: "pi",
65
90
  textColor: "neutral600",
66
- children: formatMessage({
67
- id: 'content-manager.history.sidebar.versionDescription',
68
- defaultMessage: '{distanceToNow}{isAnonymous, select, true {} other { by {author}}}{isCurrent, select, true { <b>(current)</b>} other {}}'
69
- }, {
70
- distanceToNow: /*#__PURE__*/ jsxRuntime.jsx(RelativeTime.RelativeTime, {
71
- timestamp: new Date(version.createdAt)
72
- }),
73
- author,
74
- isAnonymous: !Boolean(version.createdBy),
75
- isCurrent,
76
- b: BlueText
91
+ children: /*#__PURE__*/ jsxRuntime.jsx(VersionAuthor, {
92
+ version: version,
93
+ isCurrent: isCurrent
77
94
  })
78
95
  })
79
96
  ]
@@ -107,6 +124,63 @@ const PaginationButton = ({ page, children })=>{
107
124
  })
108
125
  });
109
126
  };
127
+ /* -------------------------------------------------------------------------------------------------
128
+ * VersionsListItems
129
+ * -----------------------------------------------------------------------------------------------*/ const VersionsListItems = ()=>{
130
+ const { formatMessage } = reactIntl.useIntl();
131
+ const { versions, page } = History.useHistoryContext('VersionsListItems', (state)=>({
132
+ versions: state.versions,
133
+ page: state.page
134
+ }));
135
+ return /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Box, {
136
+ flex: 1,
137
+ overflow: "auto",
138
+ children: [
139
+ versions.meta.pagination.page > 1 && /*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
140
+ paddingTop: 4,
141
+ textAlign: "center",
142
+ children: /*#__PURE__*/ jsxRuntime.jsx(PaginationButton, {
143
+ page: page - 1,
144
+ children: formatMessage({
145
+ id: 'content-manager.history.sidebar.show-newer',
146
+ defaultMessage: 'Show newer versions'
147
+ })
148
+ })
149
+ }),
150
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Flex, {
151
+ direction: "column",
152
+ gap: 3,
153
+ padding: {
154
+ initial: 0,
155
+ medium: 4
156
+ },
157
+ tag: "ul",
158
+ alignItems: "stretch",
159
+ children: versions.data.map((version, index)=>/*#__PURE__*/ jsxRuntime.jsx("li", {
160
+ "aria-label": formatMessage({
161
+ id: 'content-manager.history.sidebar.title.version-card.aria-label',
162
+ defaultMessage: 'Version card'
163
+ }),
164
+ children: /*#__PURE__*/ jsxRuntime.jsx(VersionCard, {
165
+ version: version,
166
+ isCurrent: page === 1 && index === 0
167
+ })
168
+ }, version.id))
169
+ }),
170
+ versions.meta.pagination.page < versions.meta.pagination.pageCount && /*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
171
+ paddingBottom: 4,
172
+ textAlign: "center",
173
+ children: /*#__PURE__*/ jsxRuntime.jsx(PaginationButton, {
174
+ page: page + 1,
175
+ children: formatMessage({
176
+ id: 'content-manager.history.sidebar.show-older',
177
+ defaultMessage: 'Show older versions'
178
+ })
179
+ })
180
+ })
181
+ ]
182
+ });
183
+ };
110
184
  /* -------------------------------------------------------------------------------------------------
111
185
  * VersionsList
112
186
  * -----------------------------------------------------------------------------------------------*/ const VersionsList = ()=>{
@@ -115,12 +189,19 @@ const PaginationButton = ({ page, children })=>{
115
189
  versions: state.versions,
116
190
  page: state.page
117
191
  }));
118
- return /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
192
+ const isMobile = strapiAdmin.useIsMobile();
193
+ const [{ query }] = strapiAdmin.useQueryParams();
194
+ const currentVersion = versions.data.find((version)=>version.id.toString() === query.id);
195
+ return !isMobile ? /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
119
196
  shrink: 0,
120
197
  direction: "column",
121
198
  alignItems: "stretch",
122
- width: "320px",
123
- height: "100dvh",
199
+ width: {
200
+ initial: '28rem',
201
+ large: '32rem'
202
+ },
203
+ height: "100%",
204
+ overflow: "hidden",
124
205
  background: "neutral0",
125
206
  borderColor: "neutral200",
126
207
  borderWidth: "0 0 0 1px",
@@ -135,6 +216,7 @@ const PaginationButton = ({ page, children })=>{
135
216
  borderWidth: "0 0 1px",
136
217
  borderStyle: "solid",
137
218
  tag: "header",
219
+ role: "banner",
138
220
  children: [
139
221
  /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
140
222
  tag: "h2",
@@ -157,50 +239,53 @@ const PaginationButton = ({ page, children })=>{
157
239
  })
158
240
  ]
159
241
  }),
160
- /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Box, {
161
- flex: 1,
162
- overflow: "auto",
242
+ /*#__PURE__*/ jsxRuntime.jsx(VersionsListItems, {})
243
+ ]
244
+ }) : /*#__PURE__*/ jsxRuntime.jsxs(jsxRuntime.Fragment, {
245
+ children: [
246
+ /*#__PURE__*/ jsxRuntime.jsxs(ActionsDrawer.ActionsDrawer.Root, {
247
+ hasContent: true,
248
+ hasSideNav: true,
163
249
  children: [
164
- versions.meta.pagination.page > 1 && /*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
165
- paddingTop: 4,
166
- textAlign: "center",
167
- children: /*#__PURE__*/ jsxRuntime.jsx(PaginationButton, {
168
- page: page - 1,
169
- children: formatMessage({
170
- id: 'content-manager.history.sidebar.show-newer',
171
- defaultMessage: 'Show newer versions'
172
- })
173
- })
174
- }),
175
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.Flex, {
176
- direction: "column",
177
- gap: 3,
178
- padding: 4,
179
- tag: "ul",
180
- alignItems: "stretch",
181
- children: versions.data.map((version, index)=>/*#__PURE__*/ jsxRuntime.jsx("li", {
182
- "aria-label": formatMessage({
183
- id: 'content-manager.history.sidebar.title.version-card.aria-label',
184
- defaultMessage: 'Version card'
250
+ /*#__PURE__*/ jsxRuntime.jsx(ActionsDrawer.ActionsDrawer.Overlay, {}),
251
+ /*#__PURE__*/ jsxRuntime.jsx(ActionsDrawer.ActionsDrawer.Header, {
252
+ children: currentVersion && /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
253
+ gap: 2,
254
+ overflow: "hidden",
255
+ children: [
256
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
257
+ flex: 1,
258
+ overflow: "hidden",
259
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
260
+ display: "block",
261
+ variant: "omega",
262
+ textColor: "neutral600",
263
+ overflow: "hidden",
264
+ style: {
265
+ textOverflow: 'ellipsis',
266
+ whiteSpace: 'nowrap'
267
+ },
268
+ children: /*#__PURE__*/ jsxRuntime.jsx(VersionAuthor, {
269
+ version: currentVersion,
270
+ isCurrent: page === 1 && versions.data.indexOf(currentVersion) === 0
271
+ })
272
+ })
185
273
  }),
186
- children: /*#__PURE__*/ jsxRuntime.jsx(VersionCard, {
187
- version: version,
188
- isCurrent: page === 1 && index === 0
274
+ currentVersion.status && /*#__PURE__*/ jsxRuntime.jsx(DocumentStatus.DocumentStatus, {
275
+ status: currentVersion.status,
276
+ size: "XS"
189
277
  })
190
- }, version.id))
191
- }),
192
- versions.meta.pagination.page < versions.meta.pagination.pageCount && /*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
193
- paddingBottom: 4,
194
- textAlign: "center",
195
- children: /*#__PURE__*/ jsxRuntime.jsx(PaginationButton, {
196
- page: page + 1,
197
- children: formatMessage({
198
- id: 'content-manager.history.sidebar.show-older',
199
- defaultMessage: 'Show older versions'
200
- })
278
+ ]
201
279
  })
280
+ }),
281
+ /*#__PURE__*/ jsxRuntime.jsx(ActionsDrawer.ActionsDrawer.Content, {
282
+ children: /*#__PURE__*/ jsxRuntime.jsx(VersionsListItems, {})
202
283
  })
203
284
  ]
285
+ }),
286
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
287
+ width: "100%",
288
+ height: "5.7rem"
204
289
  })
205
290
  ]
206
291
  });
@@ -1 +1 @@
1
- {"version":3,"file":"VersionsList.js","sources":["../../../../admin/src/history/components/VersionsList.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { useQueryParams } from '@strapi/admin/strapi-admin';\nimport { Box, Flex, Typography } from '@strapi/design-system';\nimport { stringify } from 'qs';\nimport { useIntl } from 'react-intl';\nimport { Link } from 'react-router-dom';\n\nimport { RelativeTime } from '../../components/RelativeTime';\nimport { DocumentStatus } from '../../pages/EditView/components/DocumentStatus';\nimport { getDisplayName } from '../../utils/users';\nimport { useHistoryContext } from '../pages/History';\n\nimport type { HistoryVersions } from '../../../../shared/contracts';\n\n/* -------------------------------------------------------------------------------------------------\n * BlueText\n * -----------------------------------------------------------------------------------------------*/\n\nconst BlueText = (children: React.ReactNode) => (\n <Typography textColor=\"primary600\" variant=\"pi\">\n {children}\n </Typography>\n);\n\n/* -------------------------------------------------------------------------------------------------\n * VersionCard\n * -----------------------------------------------------------------------------------------------*/\n\ninterface VersionCardProps {\n version: HistoryVersions.HistoryVersionDataResponse;\n isCurrent: boolean;\n}\n\nconst VersionCard = ({ version, isCurrent }: VersionCardProps) => {\n const { formatDate, formatMessage } = useIntl();\n const [{ query }] = useQueryParams<{ id?: string }>();\n const isActive = query.id === version.id.toString();\n const author = version.createdBy && getDisplayName(version.createdBy);\n\n return (\n <Flex\n direction=\"column\"\n alignItems=\"flex-start\"\n gap={3}\n hasRadius\n borderWidth=\"1px\"\n borderStyle=\"solid\"\n borderColor={isActive ? 'primary600' : 'neutral200'}\n color=\"neutral800\"\n padding={5}\n tag={Link}\n to={`?${stringify({ ...query, id: version.id })}`}\n style={{ textDecoration: 'none' }}\n >\n <Flex direction=\"column\" gap={1} alignItems=\"flex-start\">\n <Typography tag=\"h3\" fontWeight=\"semiBold\">\n {formatDate(version.createdAt, {\n day: 'numeric',\n month: 'numeric',\n year: 'numeric',\n hour: '2-digit',\n minute: '2-digit',\n })}\n </Typography>\n <Typography tag=\"p\" variant=\"pi\" textColor=\"neutral600\">\n {formatMessage(\n {\n id: 'content-manager.history.sidebar.versionDescription',\n defaultMessage:\n '{distanceToNow}{isAnonymous, select, true {} other { by {author}}}{isCurrent, select, true { <b>(current)</b>} other {}}',\n },\n {\n distanceToNow: <RelativeTime timestamp={new Date(version.createdAt)} />,\n author,\n isAnonymous: !Boolean(version.createdBy),\n isCurrent,\n b: BlueText,\n }\n )}\n </Typography>\n </Flex>\n {version.status && <DocumentStatus status={version.status} size=\"XS\" />}\n </Flex>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * PaginationButton\n * -----------------------------------------------------------------------------------------------*/\n\ninterface PaginationButtonProps {\n page: number;\n children: React.ReactNode;\n}\n\nconst PaginationButton = ({ page, children }: PaginationButtonProps) => {\n const [{ query }] = useQueryParams<{ id?: string }>();\n\n // Remove the id from the pagination link, so that the history page can redirect\n // to the id of the first history version in the new page once it's loaded\n const { id: _id, ...queryRest } = query;\n\n return (\n <Link to={{ search: stringify({ ...queryRest, page }) }} style={{ textDecoration: 'none' }}>\n <Typography variant=\"omega\" textColor=\"primary600\">\n {children}\n </Typography>\n </Link>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * VersionsList\n * -----------------------------------------------------------------------------------------------*/\n\nconst VersionsList = () => {\n const { formatMessage } = useIntl();\n const { versions, page } = useHistoryContext('VersionsList', (state) => ({\n versions: state.versions,\n page: state.page,\n }));\n\n return (\n <Flex\n shrink={0}\n direction=\"column\"\n alignItems=\"stretch\"\n width=\"320px\"\n height=\"100dvh\"\n background=\"neutral0\"\n borderColor=\"neutral200\"\n borderWidth=\"0 0 0 1px\"\n borderStyle=\"solid\"\n tag=\"aside\"\n >\n <Flex\n direction=\"row\"\n justifyContent=\"space-between\"\n padding={4}\n borderColor=\"neutral200\"\n borderWidth=\"0 0 1px\"\n borderStyle=\"solid\"\n tag=\"header\"\n >\n <Typography tag=\"h2\" variant=\"omega\" fontWeight=\"semiBold\">\n {formatMessage({\n id: 'content-manager.history.sidebar.title',\n defaultMessage: 'Versions',\n })}\n </Typography>\n <Box background=\"neutral150\" hasRadius padding={1}>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {versions.meta.pagination.total}\n </Typography>\n </Box>\n </Flex>\n <Box flex={1} overflow=\"auto\">\n {versions.meta.pagination.page > 1 && (\n <Box paddingTop={4} textAlign=\"center\">\n <PaginationButton page={page - 1}>\n {formatMessage({\n id: 'content-manager.history.sidebar.show-newer',\n defaultMessage: 'Show newer versions',\n })}\n </PaginationButton>\n </Box>\n )}\n <Flex direction=\"column\" gap={3} padding={4} tag=\"ul\" alignItems=\"stretch\">\n {versions.data.map((version, index) => (\n <li\n key={version.id}\n aria-label={formatMessage({\n id: 'content-manager.history.sidebar.title.version-card.aria-label',\n defaultMessage: 'Version card',\n })}\n >\n <VersionCard version={version} isCurrent={page === 1 && index === 0} />\n </li>\n ))}\n </Flex>\n {versions.meta.pagination.page < versions.meta.pagination.pageCount && (\n <Box paddingBottom={4} textAlign=\"center\">\n <PaginationButton page={page + 1}>\n {formatMessage({\n id: 'content-manager.history.sidebar.show-older',\n defaultMessage: 'Show older versions',\n })}\n </PaginationButton>\n </Box>\n )}\n </Box>\n </Flex>\n );\n};\n\nexport { VersionsList };\n"],"names":["BlueText","children","_jsx","Typography","textColor","variant","VersionCard","version","isCurrent","formatDate","formatMessage","useIntl","query","useQueryParams","isActive","id","toString","author","createdBy","getDisplayName","_jsxs","Flex","direction","alignItems","gap","hasRadius","borderWidth","borderStyle","borderColor","color","padding","tag","Link","to","stringify","style","textDecoration","fontWeight","createdAt","day","month","year","hour","minute","defaultMessage","distanceToNow","RelativeTime","timestamp","Date","isAnonymous","Boolean","b","status","DocumentStatus","size","PaginationButton","page","_id","queryRest","search","VersionsList","versions","useHistoryContext","state","shrink","width","height","background","justifyContent","Box","meta","pagination","total","flex","overflow","paddingTop","textAlign","data","map","index","li","aria-label","pageCount","paddingBottom"],"mappings":"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"}
1
+ {"version":3,"file":"VersionsList.js","sources":["../../../../admin/src/history/components/VersionsList.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { useQueryParams, useIsMobile } from '@strapi/admin/strapi-admin';\nimport { Box, Flex, Typography } from '@strapi/design-system';\nimport { stringify } from 'qs';\nimport { useIntl } from 'react-intl';\nimport { Link } from 'react-router-dom';\n\nimport { ActionsDrawer, useActionsDrawer } from '../../components/ActionsDrawer';\nimport { RelativeTime } from '../../components/RelativeTime';\nimport { DocumentStatus } from '../../pages/EditView/components/DocumentStatus';\nimport { getDisplayName } from '../../utils/users';\nimport { useHistoryContext } from '../pages/History';\n\nimport type { HistoryVersions } from '../../../../shared/contracts';\n\n/* -------------------------------------------------------------------------------------------------\n * BlueText\n * -----------------------------------------------------------------------------------------------*/\n\nconst BlueText = (children: React.ReactNode) => (\n <Typography textColor=\"primary600\" variant=\"pi\">\n {children}\n </Typography>\n);\n\n/* -------------------------------------------------------------------------------------------------\n * VersionAuthor\n * -----------------------------------------------------------------------------------------------*/\n\nconst VersionAuthor = ({\n version,\n isCurrent,\n}: {\n version: HistoryVersions.HistoryVersionDataResponse;\n isCurrent: boolean;\n}) => {\n const { formatMessage } = useIntl();\n const author = version.createdBy && getDisplayName(version.createdBy);\n return (\n <>\n {formatMessage(\n {\n id: 'content-manager.history.sidebar.versionDescription',\n defaultMessage:\n '{distanceToNow}{isAnonymous, select, true {} other { by {author}}}{isCurrent, select, true { <b>(current)</b>} other {}}',\n },\n {\n distanceToNow: <RelativeTime timestamp={new Date(version.createdAt)} />,\n author,\n isAnonymous: !Boolean(version.createdBy),\n isCurrent,\n b: BlueText,\n }\n )}\n </>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * VersionCard\n * -----------------------------------------------------------------------------------------------*/\n\ninterface VersionCardProps {\n version: HistoryVersions.HistoryVersionDataResponse;\n isCurrent: boolean;\n}\n\nconst VersionCard = ({ version, isCurrent }: VersionCardProps) => {\n const { formatDate } = useIntl();\n const [{ query }] = useQueryParams<{ id?: string }>();\n const setIsOpen = useActionsDrawer('VersionCard', (s) => s?.setIsOpen, false);\n const isActive = query.id === version.id.toString();\n\n const handleClick = () => {\n setIsOpen?.(false);\n };\n\n return (\n <Flex\n direction=\"column\"\n alignItems=\"flex-start\"\n gap={3}\n hasRadius\n borderWidth=\"1px\"\n borderStyle=\"solid\"\n borderColor={isActive ? 'primary600' : 'neutral200'}\n color=\"neutral800\"\n padding={5}\n tag={Link}\n to={`?${stringify({ ...query, id: version.id })}`}\n style={{ textDecoration: 'none' }}\n onClick={handleClick}\n >\n <Flex direction=\"column\" gap={1} alignItems=\"flex-start\">\n <Typography tag=\"h3\" fontWeight=\"semiBold\">\n {formatDate(version.createdAt, {\n day: 'numeric',\n month: 'numeric',\n year: 'numeric',\n hour: '2-digit',\n minute: '2-digit',\n })}\n </Typography>\n <Typography tag=\"p\" variant=\"pi\" textColor=\"neutral600\">\n <VersionAuthor version={version} isCurrent={isCurrent} />\n </Typography>\n </Flex>\n {version.status && <DocumentStatus status={version.status} size=\"XS\" />}\n </Flex>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * PaginationButton\n * -----------------------------------------------------------------------------------------------*/\n\ninterface PaginationButtonProps {\n page: number;\n children: React.ReactNode;\n}\n\nconst PaginationButton = ({ page, children }: PaginationButtonProps) => {\n const [{ query }] = useQueryParams<{ id?: string }>();\n\n // Remove the id from the pagination link, so that the history page can redirect\n // to the id of the first history version in the new page once it's loaded\n const { id: _id, ...queryRest } = query;\n\n return (\n <Link to={{ search: stringify({ ...queryRest, page }) }} style={{ textDecoration: 'none' }}>\n <Typography variant=\"omega\" textColor=\"primary600\">\n {children}\n </Typography>\n </Link>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * VersionsListItems\n * -----------------------------------------------------------------------------------------------*/\n\nconst VersionsListItems = () => {\n const { formatMessage } = useIntl();\n const { versions, page } = useHistoryContext('VersionsListItems', (state) => ({\n versions: state.versions,\n page: state.page,\n }));\n\n return (\n <Box flex={1} overflow=\"auto\">\n {versions.meta.pagination.page > 1 && (\n <Box paddingTop={4} textAlign=\"center\">\n <PaginationButton page={page - 1}>\n {formatMessage({\n id: 'content-manager.history.sidebar.show-newer',\n defaultMessage: 'Show newer versions',\n })}\n </PaginationButton>\n </Box>\n )}\n <Flex\n direction=\"column\"\n gap={3}\n padding={{ initial: 0, medium: 4 }}\n tag=\"ul\"\n alignItems=\"stretch\"\n >\n {versions.data.map((version, index) => (\n <li\n key={version.id}\n aria-label={formatMessage({\n id: 'content-manager.history.sidebar.title.version-card.aria-label',\n defaultMessage: 'Version card',\n })}\n >\n <VersionCard version={version} isCurrent={page === 1 && index === 0} />\n </li>\n ))}\n </Flex>\n {versions.meta.pagination.page < versions.meta.pagination.pageCount && (\n <Box paddingBottom={4} textAlign=\"center\">\n <PaginationButton page={page + 1}>\n {formatMessage({\n id: 'content-manager.history.sidebar.show-older',\n defaultMessage: 'Show older versions',\n })}\n </PaginationButton>\n </Box>\n )}\n </Box>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * VersionsList\n * -----------------------------------------------------------------------------------------------*/\n\nconst VersionsList = () => {\n const { formatMessage } = useIntl();\n const { versions, page } = useHistoryContext('VersionsList', (state) => ({\n versions: state.versions,\n page: state.page,\n }));\n const isMobile = useIsMobile();\n\n const [{ query }] = useQueryParams<{ id?: string }>();\n const currentVersion = versions.data.find((version) => version.id.toString() === query.id);\n\n return !isMobile ? (\n <Flex\n shrink={0}\n direction=\"column\"\n alignItems=\"stretch\"\n width={{ initial: '28rem', large: '32rem' }}\n height=\"100%\"\n overflow=\"hidden\"\n background=\"neutral0\"\n borderColor=\"neutral200\"\n borderWidth=\"0 0 0 1px\"\n borderStyle=\"solid\"\n tag=\"aside\"\n >\n <Flex\n direction=\"row\"\n justifyContent=\"space-between\"\n padding={4}\n borderColor=\"neutral200\"\n borderWidth=\"0 0 1px\"\n borderStyle=\"solid\"\n tag=\"header\"\n role=\"banner\"\n >\n <Typography tag=\"h2\" variant=\"omega\" fontWeight=\"semiBold\">\n {formatMessage({\n id: 'content-manager.history.sidebar.title',\n defaultMessage: 'Versions',\n })}\n </Typography>\n <Box background=\"neutral150\" hasRadius padding={1}>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {versions.meta.pagination.total}\n </Typography>\n </Box>\n </Flex>\n <VersionsListItems />\n </Flex>\n ) : (\n <>\n <ActionsDrawer.Root hasContent hasSideNav>\n <ActionsDrawer.Overlay />\n <ActionsDrawer.Header>\n {currentVersion && (\n <Flex gap={2} overflow=\"hidden\">\n <Box flex={1} overflow=\"hidden\">\n <Typography\n display=\"block\"\n variant=\"omega\"\n textColor=\"neutral600\"\n overflow=\"hidden\"\n style={{ textOverflow: 'ellipsis', whiteSpace: 'nowrap' }}\n >\n <VersionAuthor\n version={currentVersion}\n isCurrent={page === 1 && versions.data.indexOf(currentVersion) === 0}\n />\n </Typography>\n </Box>\n {currentVersion.status && <DocumentStatus status={currentVersion.status} size=\"XS\" />}\n </Flex>\n )}\n </ActionsDrawer.Header>\n <ActionsDrawer.Content>\n <VersionsListItems />\n </ActionsDrawer.Content>\n </ActionsDrawer.Root>\n {/* Adding a fixed height to the bottom of the page to prevent \n the actions drawer from covering the content\n (32px + 12px * 2 padding + 1px border) */}\n <Box width=\"100%\" height=\"5.7rem\" />\n </>\n );\n};\n\nexport { VersionsList };\n"],"names":["BlueText","children","_jsx","Typography","textColor","variant","VersionAuthor","version","isCurrent","formatMessage","useIntl","author","createdBy","getDisplayName","_Fragment","id","defaultMessage","distanceToNow","RelativeTime","timestamp","Date","createdAt","isAnonymous","Boolean","b","VersionCard","formatDate","query","useQueryParams","setIsOpen","useActionsDrawer","s","isActive","toString","handleClick","_jsxs","Flex","direction","alignItems","gap","hasRadius","borderWidth","borderStyle","borderColor","color","padding","tag","Link","to","stringify","style","textDecoration","onClick","fontWeight","day","month","year","hour","minute","status","DocumentStatus","size","PaginationButton","page","_id","queryRest","search","VersionsListItems","versions","useHistoryContext","state","Box","flex","overflow","meta","pagination","paddingTop","textAlign","initial","medium","data","map","index","li","aria-label","pageCount","paddingBottom","VersionsList","isMobile","useIsMobile","currentVersion","find","shrink","width","large","height","background","justifyContent","role","total","ActionsDrawer","Root","hasContent","hasSideNav","Overlay","Header","display","textOverflow","whiteSpace","indexOf","Content"],"mappings":"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"}
@@ -1,10 +1,11 @@
1
- import { jsxs, jsx } from 'react/jsx-runtime';
1
+ import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
2
2
  import 'react';
3
- import { useQueryParams } from '@strapi/admin/strapi-admin';
3
+ import { useIsMobile, useQueryParams } from '@strapi/admin/strapi-admin';
4
4
  import { Flex, Typography, Box } from '@strapi/design-system';
5
5
  import { stringify } from 'qs';
6
6
  import { useIntl } from 'react-intl';
7
7
  import { Link } from 'react-router-dom';
8
+ import { ActionsDrawer, useActionsDrawer } from '../../components/ActionsDrawer.mjs';
8
9
  import { RelativeTime } from '../../components/RelativeTime.mjs';
9
10
  import { DocumentStatus } from '../../pages/EditView/components/DocumentStatus.mjs';
10
11
  import { getDisplayName } from '../../utils/users.mjs';
@@ -17,11 +18,34 @@ import { useHistoryContext } from '../pages/History.mjs';
17
18
  variant: "pi",
18
19
  children: children
19
20
  });
21
+ /* -------------------------------------------------------------------------------------------------
22
+ * VersionAuthor
23
+ * -----------------------------------------------------------------------------------------------*/ const VersionAuthor = ({ version, isCurrent })=>{
24
+ const { formatMessage } = useIntl();
25
+ const author = version.createdBy && getDisplayName(version.createdBy);
26
+ return /*#__PURE__*/ jsx(Fragment, {
27
+ children: formatMessage({
28
+ id: 'content-manager.history.sidebar.versionDescription',
29
+ defaultMessage: '{distanceToNow}{isAnonymous, select, true {} other { by {author}}}{isCurrent, select, true { <b>(current)</b>} other {}}'
30
+ }, {
31
+ distanceToNow: /*#__PURE__*/ jsx(RelativeTime, {
32
+ timestamp: new Date(version.createdAt)
33
+ }),
34
+ author,
35
+ isAnonymous: !Boolean(version.createdBy),
36
+ isCurrent,
37
+ b: BlueText
38
+ })
39
+ });
40
+ };
20
41
  const VersionCard = ({ version, isCurrent })=>{
21
- const { formatDate, formatMessage } = useIntl();
42
+ const { formatDate } = useIntl();
22
43
  const [{ query }] = useQueryParams();
44
+ const setIsOpen = useActionsDrawer('VersionCard', (s)=>s?.setIsOpen, false);
23
45
  const isActive = query.id === version.id.toString();
24
- const author = version.createdBy && getDisplayName(version.createdBy);
46
+ const handleClick = ()=>{
47
+ setIsOpen?.(false);
48
+ };
25
49
  return /*#__PURE__*/ jsxs(Flex, {
26
50
  direction: "column",
27
51
  alignItems: "flex-start",
@@ -40,6 +64,7 @@ const VersionCard = ({ version, isCurrent })=>{
40
64
  style: {
41
65
  textDecoration: 'none'
42
66
  },
67
+ onClick: handleClick,
43
68
  children: [
44
69
  /*#__PURE__*/ jsxs(Flex, {
45
70
  direction: "column",
@@ -61,17 +86,9 @@ const VersionCard = ({ version, isCurrent })=>{
61
86
  tag: "p",
62
87
  variant: "pi",
63
88
  textColor: "neutral600",
64
- children: formatMessage({
65
- id: 'content-manager.history.sidebar.versionDescription',
66
- defaultMessage: '{distanceToNow}{isAnonymous, select, true {} other { by {author}}}{isCurrent, select, true { <b>(current)</b>} other {}}'
67
- }, {
68
- distanceToNow: /*#__PURE__*/ jsx(RelativeTime, {
69
- timestamp: new Date(version.createdAt)
70
- }),
71
- author,
72
- isAnonymous: !Boolean(version.createdBy),
73
- isCurrent,
74
- b: BlueText
89
+ children: /*#__PURE__*/ jsx(VersionAuthor, {
90
+ version: version,
91
+ isCurrent: isCurrent
75
92
  })
76
93
  })
77
94
  ]
@@ -105,6 +122,63 @@ const PaginationButton = ({ page, children })=>{
105
122
  })
106
123
  });
107
124
  };
125
+ /* -------------------------------------------------------------------------------------------------
126
+ * VersionsListItems
127
+ * -----------------------------------------------------------------------------------------------*/ const VersionsListItems = ()=>{
128
+ const { formatMessage } = useIntl();
129
+ const { versions, page } = useHistoryContext('VersionsListItems', (state)=>({
130
+ versions: state.versions,
131
+ page: state.page
132
+ }));
133
+ return /*#__PURE__*/ jsxs(Box, {
134
+ flex: 1,
135
+ overflow: "auto",
136
+ children: [
137
+ versions.meta.pagination.page > 1 && /*#__PURE__*/ jsx(Box, {
138
+ paddingTop: 4,
139
+ textAlign: "center",
140
+ children: /*#__PURE__*/ jsx(PaginationButton, {
141
+ page: page - 1,
142
+ children: formatMessage({
143
+ id: 'content-manager.history.sidebar.show-newer',
144
+ defaultMessage: 'Show newer versions'
145
+ })
146
+ })
147
+ }),
148
+ /*#__PURE__*/ jsx(Flex, {
149
+ direction: "column",
150
+ gap: 3,
151
+ padding: {
152
+ initial: 0,
153
+ medium: 4
154
+ },
155
+ tag: "ul",
156
+ alignItems: "stretch",
157
+ children: versions.data.map((version, index)=>/*#__PURE__*/ jsx("li", {
158
+ "aria-label": formatMessage({
159
+ id: 'content-manager.history.sidebar.title.version-card.aria-label',
160
+ defaultMessage: 'Version card'
161
+ }),
162
+ children: /*#__PURE__*/ jsx(VersionCard, {
163
+ version: version,
164
+ isCurrent: page === 1 && index === 0
165
+ })
166
+ }, version.id))
167
+ }),
168
+ versions.meta.pagination.page < versions.meta.pagination.pageCount && /*#__PURE__*/ jsx(Box, {
169
+ paddingBottom: 4,
170
+ textAlign: "center",
171
+ children: /*#__PURE__*/ jsx(PaginationButton, {
172
+ page: page + 1,
173
+ children: formatMessage({
174
+ id: 'content-manager.history.sidebar.show-older',
175
+ defaultMessage: 'Show older versions'
176
+ })
177
+ })
178
+ })
179
+ ]
180
+ });
181
+ };
108
182
  /* -------------------------------------------------------------------------------------------------
109
183
  * VersionsList
110
184
  * -----------------------------------------------------------------------------------------------*/ const VersionsList = ()=>{
@@ -113,12 +187,19 @@ const PaginationButton = ({ page, children })=>{
113
187
  versions: state.versions,
114
188
  page: state.page
115
189
  }));
116
- return /*#__PURE__*/ jsxs(Flex, {
190
+ const isMobile = useIsMobile();
191
+ const [{ query }] = useQueryParams();
192
+ const currentVersion = versions.data.find((version)=>version.id.toString() === query.id);
193
+ return !isMobile ? /*#__PURE__*/ jsxs(Flex, {
117
194
  shrink: 0,
118
195
  direction: "column",
119
196
  alignItems: "stretch",
120
- width: "320px",
121
- height: "100dvh",
197
+ width: {
198
+ initial: '28rem',
199
+ large: '32rem'
200
+ },
201
+ height: "100%",
202
+ overflow: "hidden",
122
203
  background: "neutral0",
123
204
  borderColor: "neutral200",
124
205
  borderWidth: "0 0 0 1px",
@@ -133,6 +214,7 @@ const PaginationButton = ({ page, children })=>{
133
214
  borderWidth: "0 0 1px",
134
215
  borderStyle: "solid",
135
216
  tag: "header",
217
+ role: "banner",
136
218
  children: [
137
219
  /*#__PURE__*/ jsx(Typography, {
138
220
  tag: "h2",
@@ -155,50 +237,53 @@ const PaginationButton = ({ page, children })=>{
155
237
  })
156
238
  ]
157
239
  }),
158
- /*#__PURE__*/ jsxs(Box, {
159
- flex: 1,
160
- overflow: "auto",
240
+ /*#__PURE__*/ jsx(VersionsListItems, {})
241
+ ]
242
+ }) : /*#__PURE__*/ jsxs(Fragment, {
243
+ children: [
244
+ /*#__PURE__*/ jsxs(ActionsDrawer.Root, {
245
+ hasContent: true,
246
+ hasSideNav: true,
161
247
  children: [
162
- versions.meta.pagination.page > 1 && /*#__PURE__*/ jsx(Box, {
163
- paddingTop: 4,
164
- textAlign: "center",
165
- children: /*#__PURE__*/ jsx(PaginationButton, {
166
- page: page - 1,
167
- children: formatMessage({
168
- id: 'content-manager.history.sidebar.show-newer',
169
- defaultMessage: 'Show newer versions'
170
- })
171
- })
172
- }),
173
- /*#__PURE__*/ jsx(Flex, {
174
- direction: "column",
175
- gap: 3,
176
- padding: 4,
177
- tag: "ul",
178
- alignItems: "stretch",
179
- children: versions.data.map((version, index)=>/*#__PURE__*/ jsx("li", {
180
- "aria-label": formatMessage({
181
- id: 'content-manager.history.sidebar.title.version-card.aria-label',
182
- defaultMessage: 'Version card'
248
+ /*#__PURE__*/ jsx(ActionsDrawer.Overlay, {}),
249
+ /*#__PURE__*/ jsx(ActionsDrawer.Header, {
250
+ children: currentVersion && /*#__PURE__*/ jsxs(Flex, {
251
+ gap: 2,
252
+ overflow: "hidden",
253
+ children: [
254
+ /*#__PURE__*/ jsx(Box, {
255
+ flex: 1,
256
+ overflow: "hidden",
257
+ children: /*#__PURE__*/ jsx(Typography, {
258
+ display: "block",
259
+ variant: "omega",
260
+ textColor: "neutral600",
261
+ overflow: "hidden",
262
+ style: {
263
+ textOverflow: 'ellipsis',
264
+ whiteSpace: 'nowrap'
265
+ },
266
+ children: /*#__PURE__*/ jsx(VersionAuthor, {
267
+ version: currentVersion,
268
+ isCurrent: page === 1 && versions.data.indexOf(currentVersion) === 0
269
+ })
270
+ })
183
271
  }),
184
- children: /*#__PURE__*/ jsx(VersionCard, {
185
- version: version,
186
- isCurrent: page === 1 && index === 0
272
+ currentVersion.status && /*#__PURE__*/ jsx(DocumentStatus, {
273
+ status: currentVersion.status,
274
+ size: "XS"
187
275
  })
188
- }, version.id))
189
- }),
190
- versions.meta.pagination.page < versions.meta.pagination.pageCount && /*#__PURE__*/ jsx(Box, {
191
- paddingBottom: 4,
192
- textAlign: "center",
193
- children: /*#__PURE__*/ jsx(PaginationButton, {
194
- page: page + 1,
195
- children: formatMessage({
196
- id: 'content-manager.history.sidebar.show-older',
197
- defaultMessage: 'Show older versions'
198
- })
276
+ ]
199
277
  })
278
+ }),
279
+ /*#__PURE__*/ jsx(ActionsDrawer.Content, {
280
+ children: /*#__PURE__*/ jsx(VersionsListItems, {})
200
281
  })
201
282
  ]
283
+ }),
284
+ /*#__PURE__*/ jsx(Box, {
285
+ width: "100%",
286
+ height: "5.7rem"
202
287
  })
203
288
  ]
204
289
  });