@strapi/content-releases 0.0.0-next.f09bff0783c6e3dfd3c34ed73b6f1a47de7b8d80 → 0.0.0-next.f0bfcece1007e5aa527570187635aefc86db536e

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 (306) hide show
  1. package/dist/admin/assets/purchase-page-illustration-dark.svg.js +6 -0
  2. package/dist/admin/assets/purchase-page-illustration-dark.svg.js.map +1 -0
  3. package/dist/admin/assets/purchase-page-illustration-dark.svg.mjs +4 -0
  4. package/dist/admin/assets/purchase-page-illustration-dark.svg.mjs.map +1 -0
  5. package/dist/admin/assets/purchase-page-illustration-light.svg.js +6 -0
  6. package/dist/admin/assets/purchase-page-illustration-light.svg.js.map +1 -0
  7. package/dist/admin/assets/purchase-page-illustration-light.svg.mjs +4 -0
  8. package/dist/admin/assets/purchase-page-illustration-light.svg.mjs.map +1 -0
  9. package/dist/admin/components/EntryValidationPopover.js +310 -0
  10. package/dist/admin/components/EntryValidationPopover.js.map +1 -0
  11. package/dist/admin/components/EntryValidationPopover.mjs +308 -0
  12. package/dist/admin/components/EntryValidationPopover.mjs.map +1 -0
  13. package/dist/admin/components/RelativeTime.js +76 -0
  14. package/dist/admin/components/RelativeTime.js.map +1 -0
  15. package/dist/admin/components/RelativeTime.mjs +55 -0
  16. package/dist/admin/components/RelativeTime.mjs.map +1 -0
  17. package/dist/admin/components/ReleaseAction.js +203 -0
  18. package/dist/admin/components/ReleaseAction.js.map +1 -0
  19. package/dist/admin/components/ReleaseAction.mjs +201 -0
  20. package/dist/admin/components/ReleaseAction.mjs.map +1 -0
  21. package/dist/admin/components/ReleaseActionMenu.js +194 -0
  22. package/dist/admin/components/ReleaseActionMenu.js.map +1 -0
  23. package/dist/admin/components/ReleaseActionMenu.mjs +173 -0
  24. package/dist/admin/components/ReleaseActionMenu.mjs.map +1 -0
  25. package/dist/admin/components/ReleaseActionModal.js +268 -0
  26. package/dist/admin/components/ReleaseActionModal.js.map +1 -0
  27. package/dist/admin/components/ReleaseActionModal.mjs +244 -0
  28. package/dist/admin/components/ReleaseActionModal.mjs.map +1 -0
  29. package/dist/admin/components/ReleaseActionOptions.js +104 -0
  30. package/dist/admin/components/ReleaseActionOptions.js.map +1 -0
  31. package/dist/admin/components/ReleaseActionOptions.mjs +102 -0
  32. package/dist/admin/components/ReleaseActionOptions.mjs.map +1 -0
  33. package/dist/admin/components/ReleaseListCell.js +103 -0
  34. package/dist/admin/components/ReleaseListCell.js.map +1 -0
  35. package/dist/admin/components/ReleaseListCell.mjs +100 -0
  36. package/dist/admin/components/ReleaseListCell.mjs.map +1 -0
  37. package/dist/admin/components/ReleaseModal.js +323 -0
  38. package/dist/admin/components/ReleaseModal.js.map +1 -0
  39. package/dist/admin/components/ReleaseModal.mjs +302 -0
  40. package/dist/admin/components/ReleaseModal.mjs.map +1 -0
  41. package/dist/admin/components/ReleasesPanel.js +138 -0
  42. package/dist/admin/components/ReleasesPanel.js.map +1 -0
  43. package/dist/admin/components/ReleasesPanel.mjs +136 -0
  44. package/dist/admin/components/ReleasesPanel.mjs.map +1 -0
  45. package/dist/admin/components/Widgets.js +122 -0
  46. package/dist/admin/components/Widgets.js.map +1 -0
  47. package/dist/admin/components/Widgets.mjs +120 -0
  48. package/dist/admin/components/Widgets.mjs.map +1 -0
  49. package/dist/admin/constants.js +79 -0
  50. package/dist/admin/constants.js.map +1 -0
  51. package/dist/admin/constants.mjs +76 -0
  52. package/dist/admin/constants.mjs.map +1 -0
  53. package/dist/admin/index.js +143 -14
  54. package/dist/admin/index.js.map +1 -1
  55. package/dist/admin/index.mjs +144 -13
  56. package/dist/admin/index.mjs.map +1 -1
  57. package/dist/admin/{chunks/hooks-DA5VbUAp.js → modules/hooks.js} +1 -1
  58. package/dist/admin/modules/hooks.js.map +1 -0
  59. package/dist/admin/{chunks/hooks-CFk_8Q0b.mjs → modules/hooks.mjs} +2 -2
  60. package/dist/admin/modules/hooks.mjs.map +1 -0
  61. package/dist/admin/pages/App.js +29 -0
  62. package/dist/admin/pages/App.js.map +1 -0
  63. package/dist/admin/pages/App.mjs +27 -0
  64. package/dist/admin/pages/App.mjs.map +1 -0
  65. package/dist/admin/pages/PurchaseContentReleases.js +192 -0
  66. package/dist/admin/pages/PurchaseContentReleases.js.map +1 -0
  67. package/dist/admin/pages/PurchaseContentReleases.mjs +190 -0
  68. package/dist/admin/pages/PurchaseContentReleases.mjs.map +1 -0
  69. package/dist/admin/pages/ReleaseDetailsPage.js +772 -0
  70. package/dist/admin/pages/ReleaseDetailsPage.js.map +1 -0
  71. package/dist/admin/pages/ReleaseDetailsPage.mjs +751 -0
  72. package/dist/admin/pages/ReleaseDetailsPage.mjs.map +1 -0
  73. package/dist/admin/pages/ReleasesPage.js +403 -0
  74. package/dist/admin/pages/ReleasesPage.js.map +1 -0
  75. package/dist/admin/pages/ReleasesPage.mjs +381 -0
  76. package/dist/admin/pages/ReleasesPage.mjs.map +1 -0
  77. package/dist/admin/{chunks/ReleasesSettingsPage-DV_y1NJZ.js → pages/ReleasesSettingsPage.js} +44 -26
  78. package/dist/admin/pages/ReleasesSettingsPage.js.map +1 -0
  79. package/dist/admin/{chunks/ReleasesSettingsPage-lky_0-wG.mjs → pages/ReleasesSettingsPage.mjs} +41 -23
  80. package/dist/admin/pages/ReleasesSettingsPage.mjs.map +1 -0
  81. package/dist/admin/pluginId.js +6 -0
  82. package/dist/admin/pluginId.js.map +1 -0
  83. package/dist/admin/pluginId.mjs +4 -0
  84. package/dist/admin/pluginId.mjs.map +1 -0
  85. package/dist/admin/services/homepage.js +24 -0
  86. package/dist/admin/services/homepage.js.map +1 -0
  87. package/dist/admin/services/homepage.mjs +22 -0
  88. package/dist/admin/services/homepage.mjs.map +1 -0
  89. package/dist/admin/services/release.js +474 -0
  90. package/dist/admin/services/release.js.map +1 -0
  91. package/dist/admin/services/release.mjs +457 -0
  92. package/dist/admin/services/release.mjs.map +1 -0
  93. package/dist/admin/src/components/Widgets.d.ts +2 -0
  94. package/dist/admin/src/constants.d.ts +1 -0
  95. package/dist/admin/src/services/homepage.d.ts +9 -0
  96. package/dist/admin/src/services/release.d.ts +28 -28
  97. package/dist/admin/store/hooks.js +8 -0
  98. package/dist/admin/store/hooks.js.map +1 -0
  99. package/dist/admin/store/hooks.mjs +6 -0
  100. package/dist/admin/store/hooks.mjs.map +1 -0
  101. package/dist/admin/{chunks/en-BOpqX2t_.js → translations/en.json.js} +8 -5
  102. package/dist/admin/translations/en.json.js.map +1 -0
  103. package/dist/admin/{chunks/en-aQo8Bn_U.mjs → translations/en.json.mjs} +7 -4
  104. package/dist/admin/translations/en.json.mjs.map +1 -0
  105. package/dist/admin/{chunks/uk-9T9su-bj.js → translations/uk.json.js} +2 -2
  106. package/dist/admin/translations/uk.json.js.map +1 -0
  107. package/dist/admin/{chunks/uk-Bp9HotPq.mjs → translations/uk.json.mjs} +1 -1
  108. package/dist/admin/translations/uk.json.mjs.map +1 -0
  109. package/dist/admin/utils/api.js +8 -0
  110. package/dist/admin/utils/api.js.map +1 -0
  111. package/dist/admin/utils/api.mjs +6 -0
  112. package/dist/admin/utils/api.mjs.map +1 -0
  113. package/dist/admin/utils/prefixPluginTranslations.js +11 -0
  114. package/dist/admin/utils/prefixPluginTranslations.js.map +1 -0
  115. package/dist/admin/utils/prefixPluginTranslations.mjs +9 -0
  116. package/dist/admin/utils/prefixPluginTranslations.mjs.map +1 -0
  117. package/dist/admin/utils/time.js +42 -0
  118. package/dist/admin/utils/time.js.map +1 -0
  119. package/dist/admin/utils/time.mjs +39 -0
  120. package/dist/admin/utils/time.mjs.map +1 -0
  121. package/dist/admin/{chunks/schemas-DS7NeFDN.js → validation/schemas.js} +1 -1
  122. package/dist/admin/validation/schemas.js.map +1 -0
  123. package/dist/admin/{chunks/schemas-DMt8h1z-.mjs → validation/schemas.mjs} +2 -2
  124. package/dist/admin/validation/schemas.mjs.map +1 -0
  125. package/dist/server/bootstrap.js +68 -0
  126. package/dist/server/bootstrap.js.map +1 -0
  127. package/dist/server/bootstrap.mjs +66 -0
  128. package/dist/server/bootstrap.mjs.map +1 -0
  129. package/dist/server/constants.js +74 -0
  130. package/dist/server/constants.js.map +1 -0
  131. package/dist/server/constants.mjs +69 -0
  132. package/dist/server/constants.mjs.map +1 -0
  133. package/dist/server/content-types/index.js +12 -0
  134. package/dist/server/content-types/index.js.map +1 -0
  135. package/dist/server/content-types/index.mjs +10 -0
  136. package/dist/server/content-types/index.mjs.map +1 -0
  137. package/dist/server/content-types/release/index.js +10 -0
  138. package/dist/server/content-types/release/index.js.map +1 -0
  139. package/dist/server/content-types/release/index.mjs +8 -0
  140. package/dist/server/content-types/release/index.mjs.map +1 -0
  141. package/dist/server/content-types/release/schema.js +58 -0
  142. package/dist/server/content-types/release/schema.js.map +1 -0
  143. package/dist/server/content-types/release/schema.mjs +56 -0
  144. package/dist/server/content-types/release/schema.mjs.map +1 -0
  145. package/dist/server/content-types/release-action/index.js +10 -0
  146. package/dist/server/content-types/release-action/index.js.map +1 -0
  147. package/dist/server/content-types/release-action/index.mjs +8 -0
  148. package/dist/server/content-types/release-action/index.mjs.map +1 -0
  149. package/dist/server/content-types/release-action/schema.js +55 -0
  150. package/dist/server/content-types/release-action/schema.js.map +1 -0
  151. package/dist/server/content-types/release-action/schema.mjs +53 -0
  152. package/dist/server/content-types/release-action/schema.mjs.map +1 -0
  153. package/dist/server/controllers/homepage.js +15 -0
  154. package/dist/server/controllers/homepage.js.map +1 -0
  155. package/dist/server/controllers/homepage.mjs +13 -0
  156. package/dist/server/controllers/homepage.mjs.map +1 -0
  157. package/dist/server/controllers/index.js +16 -0
  158. package/dist/server/controllers/index.js.map +1 -0
  159. package/dist/server/controllers/index.mjs +14 -0
  160. package/dist/server/controllers/index.mjs.map +1 -0
  161. package/dist/server/controllers/release-action.js +150 -0
  162. package/dist/server/controllers/release-action.js.map +1 -0
  163. package/dist/server/controllers/release-action.mjs +148 -0
  164. package/dist/server/controllers/release-action.mjs.map +1 -0
  165. package/dist/server/controllers/release.js +302 -0
  166. package/dist/server/controllers/release.js.map +1 -0
  167. package/dist/server/controllers/release.mjs +300 -0
  168. package/dist/server/controllers/release.mjs.map +1 -0
  169. package/dist/server/controllers/settings.js +37 -0
  170. package/dist/server/controllers/settings.js.map +1 -0
  171. package/dist/server/controllers/settings.mjs +35 -0
  172. package/dist/server/controllers/settings.mjs.map +1 -0
  173. package/dist/server/controllers/validation/release-action.js +34 -0
  174. package/dist/server/controllers/validation/release-action.js.map +1 -0
  175. package/dist/server/controllers/validation/release-action.mjs +30 -0
  176. package/dist/server/controllers/validation/release-action.mjs.map +1 -0
  177. package/dist/server/controllers/validation/release.js +26 -0
  178. package/dist/server/controllers/validation/release.js.map +1 -0
  179. package/dist/server/controllers/validation/release.mjs +22 -0
  180. package/dist/server/controllers/validation/release.mjs.map +1 -0
  181. package/dist/server/controllers/validation/settings.js +32 -0
  182. package/dist/server/controllers/validation/settings.js.map +1 -0
  183. package/dist/server/controllers/validation/settings.mjs +10 -0
  184. package/dist/server/controllers/validation/settings.mjs.map +1 -0
  185. package/dist/server/destroy.js +15 -0
  186. package/dist/server/destroy.js.map +1 -0
  187. package/dist/server/destroy.mjs +13 -0
  188. package/dist/server/destroy.mjs.map +1 -0
  189. package/dist/server/index.js +16 -2336
  190. package/dist/server/index.js.map +1 -1
  191. package/dist/server/index.mjs +7 -2308
  192. package/dist/server/index.mjs.map +1 -1
  193. package/dist/server/middlewares/documents.js +104 -0
  194. package/dist/server/middlewares/documents.js.map +1 -0
  195. package/dist/server/middlewares/documents.mjs +101 -0
  196. package/dist/server/middlewares/documents.mjs.map +1 -0
  197. package/dist/server/migrations/database/5.0.0-document-id-in-actions.js +51 -0
  198. package/dist/server/migrations/database/5.0.0-document-id-in-actions.js.map +1 -0
  199. package/dist/server/migrations/database/5.0.0-document-id-in-actions.mjs +49 -0
  200. package/dist/server/migrations/database/5.0.0-document-id-in-actions.mjs.map +1 -0
  201. package/dist/server/migrations/index.js +205 -0
  202. package/dist/server/migrations/index.js.map +1 -0
  203. package/dist/server/migrations/index.mjs +198 -0
  204. package/dist/server/migrations/index.mjs.map +1 -0
  205. package/dist/server/register.js +23 -0
  206. package/dist/server/register.js.map +1 -0
  207. package/dist/server/register.mjs +21 -0
  208. package/dist/server/register.mjs.map +1 -0
  209. package/dist/server/routes/homepage.js +25 -0
  210. package/dist/server/routes/homepage.js.map +1 -0
  211. package/dist/server/routes/homepage.mjs +23 -0
  212. package/dist/server/routes/homepage.mjs.map +1 -0
  213. package/dist/server/routes/index.js +16 -0
  214. package/dist/server/routes/index.js.map +1 -0
  215. package/dist/server/routes/index.mjs +14 -0
  216. package/dist/server/routes/index.mjs.map +1 -0
  217. package/dist/server/routes/release-action.js +100 -0
  218. package/dist/server/routes/release-action.js.map +1 -0
  219. package/dist/server/routes/release-action.mjs +98 -0
  220. package/dist/server/routes/release-action.mjs.map +1 -0
  221. package/dist/server/routes/release.js +154 -0
  222. package/dist/server/routes/release.js.map +1 -0
  223. package/dist/server/routes/release.mjs +152 -0
  224. package/dist/server/routes/release.mjs.map +1 -0
  225. package/dist/server/routes/settings.js +46 -0
  226. package/dist/server/routes/settings.js.map +1 -0
  227. package/dist/server/routes/settings.mjs +44 -0
  228. package/dist/server/routes/settings.mjs.map +1 -0
  229. package/dist/server/services/homepage.js +26 -0
  230. package/dist/server/services/homepage.js.map +1 -0
  231. package/dist/server/services/homepage.mjs +24 -0
  232. package/dist/server/services/homepage.mjs.map +1 -0
  233. package/dist/server/services/index.js +20 -0
  234. package/dist/server/services/index.js.map +1 -0
  235. package/dist/server/services/index.mjs +18 -0
  236. package/dist/server/services/index.mjs.map +1 -0
  237. package/dist/server/services/release-action.js +324 -0
  238. package/dist/server/services/release-action.js.map +1 -0
  239. package/dist/server/services/release-action.mjs +322 -0
  240. package/dist/server/services/release-action.mjs.map +1 -0
  241. package/dist/server/services/release.js +324 -0
  242. package/dist/server/services/release.js.map +1 -0
  243. package/dist/server/services/release.mjs +322 -0
  244. package/dist/server/services/release.mjs.map +1 -0
  245. package/dist/server/services/scheduling.js +74 -0
  246. package/dist/server/services/scheduling.js.map +1 -0
  247. package/dist/server/services/scheduling.mjs +72 -0
  248. package/dist/server/services/scheduling.mjs.map +1 -0
  249. package/dist/server/services/settings.js +34 -0
  250. package/dist/server/services/settings.js.map +1 -0
  251. package/dist/server/services/settings.mjs +32 -0
  252. package/dist/server/services/settings.mjs.map +1 -0
  253. package/dist/server/services/validation.js +91 -0
  254. package/dist/server/services/validation.js.map +1 -0
  255. package/dist/server/services/validation.mjs +86 -0
  256. package/dist/server/services/validation.mjs.map +1 -0
  257. package/dist/server/src/controllers/homepage.d.ts +6 -0
  258. package/dist/server/src/controllers/homepage.d.ts.map +1 -0
  259. package/dist/server/src/controllers/index.d.ts +3 -0
  260. package/dist/server/src/controllers/index.d.ts.map +1 -1
  261. package/dist/server/src/destroy.d.ts.map +1 -1
  262. package/dist/server/src/index.d.ts +13 -4
  263. package/dist/server/src/index.d.ts.map +1 -1
  264. package/dist/server/src/routes/homepage.d.ts +4 -0
  265. package/dist/server/src/routes/homepage.d.ts.map +1 -0
  266. package/dist/server/src/routes/index.d.ts +1 -0
  267. package/dist/server/src/routes/index.d.ts.map +1 -1
  268. package/dist/server/src/services/homepage.d.ts +9 -0
  269. package/dist/server/src/services/homepage.d.ts.map +1 -0
  270. package/dist/server/src/services/index.d.ts +9 -4
  271. package/dist/server/src/services/index.d.ts.map +1 -1
  272. package/dist/server/src/services/release-action.d.ts.map +1 -1
  273. package/dist/server/src/services/scheduling.d.ts +4 -5
  274. package/dist/server/src/services/scheduling.d.ts.map +1 -1
  275. package/dist/server/src/utils/index.d.ts.map +1 -1
  276. package/dist/server/utils/index.js +94 -0
  277. package/dist/server/utils/index.js.map +1 -0
  278. package/dist/server/utils/index.mjs +88 -0
  279. package/dist/server/utils/index.mjs.map +1 -0
  280. package/dist/shared/contracts/homepage.d.ts +11 -0
  281. package/dist/shared/contracts/homepage.d.ts.map +1 -0
  282. package/dist/shared/types.d.ts +1 -0
  283. package/dist/shared/types.d.ts.map +1 -1
  284. package/package.json +10 -11
  285. package/dist/admin/chunks/App-BEyv0kMo.mjs +0 -1845
  286. package/dist/admin/chunks/App-BEyv0kMo.mjs.map +0 -1
  287. package/dist/admin/chunks/App-BG-3LItb.js +0 -1866
  288. package/dist/admin/chunks/App-BG-3LItb.js.map +0 -1
  289. package/dist/admin/chunks/PurchaseContentReleases-U5sGMPgR.mjs +0 -173
  290. package/dist/admin/chunks/PurchaseContentReleases-U5sGMPgR.mjs.map +0 -1
  291. package/dist/admin/chunks/PurchaseContentReleases-hRg6ejD7.js +0 -175
  292. package/dist/admin/chunks/PurchaseContentReleases-hRg6ejD7.js.map +0 -1
  293. package/dist/admin/chunks/ReleasesSettingsPage-DV_y1NJZ.js.map +0 -1
  294. package/dist/admin/chunks/ReleasesSettingsPage-lky_0-wG.mjs.map +0 -1
  295. package/dist/admin/chunks/en-BOpqX2t_.js.map +0 -1
  296. package/dist/admin/chunks/en-aQo8Bn_U.mjs.map +0 -1
  297. package/dist/admin/chunks/hooks-CFk_8Q0b.mjs.map +0 -1
  298. package/dist/admin/chunks/hooks-DA5VbUAp.js.map +0 -1
  299. package/dist/admin/chunks/index-BZaFIG8z.js +0 -1658
  300. package/dist/admin/chunks/index-BZaFIG8z.js.map +0 -1
  301. package/dist/admin/chunks/index-DEy-8PzZ.mjs +0 -1619
  302. package/dist/admin/chunks/index-DEy-8PzZ.mjs.map +0 -1
  303. package/dist/admin/chunks/schemas-DMt8h1z-.mjs.map +0 -1
  304. package/dist/admin/chunks/schemas-DS7NeFDN.js.map +0 -1
  305. package/dist/admin/chunks/uk-9T9su-bj.js.map +0 -1
  306. package/dist/admin/chunks/uk-Bp9HotPq.mjs.map +0 -1
@@ -0,0 +1,136 @@
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
2
+ import { useQueryParams, useRBAC } from '@strapi/admin/strapi-admin';
3
+ import { unstable_useDocumentLayout } from '@strapi/content-manager/strapi-admin';
4
+ import { Flex, Box, Typography } from '@strapi/design-system';
5
+ import { useIntl } from 'react-intl';
6
+ import { PERMISSIONS } from '../constants.mjs';
7
+ import { useGetReleasesForEntryQuery } from '../services/release.mjs';
8
+ import { getTimezoneOffset } from '../utils/time.mjs';
9
+ import { ReleaseActionMenu } from './ReleaseActionMenu.mjs';
10
+
11
+ const Panel = ({ model, document, documentId, collectionType })=>{
12
+ const [{ query }] = useQueryParams();
13
+ const locale = query.plugins?.i18n?.locale;
14
+ const { edit: { options } } = unstable_useDocumentLayout(model);
15
+ const { formatMessage, formatDate, formatTime } = useIntl();
16
+ const { allowedActions } = useRBAC(PERMISSIONS);
17
+ const { canRead, canDeleteAction } = allowedActions;
18
+ const response = useGetReleasesForEntryQuery({
19
+ contentType: model,
20
+ entryDocumentId: documentId,
21
+ locale,
22
+ hasEntryAttached: true
23
+ }, {
24
+ skip: !document
25
+ });
26
+ const releases = response.data?.data;
27
+ const getReleaseColorVariant = (actionType, shade)=>{
28
+ if (actionType === 'unpublish') {
29
+ return `secondary${shade}`;
30
+ }
31
+ return `success${shade}`;
32
+ };
33
+ // Project is not EE or contentType does not have draftAndPublish enabled
34
+ if (!window.strapi.isEE || !options?.draftAndPublish || !canRead) {
35
+ return null;
36
+ }
37
+ if (collectionType === 'collection-types' && (!documentId || documentId === 'create')) {
38
+ return null;
39
+ }
40
+ if (!releases || releases.length === 0) {
41
+ return null;
42
+ }
43
+ return {
44
+ title: formatMessage({
45
+ id: 'content-releases.plugin.name',
46
+ defaultMessage: 'Releases'
47
+ }),
48
+ content: /*#__PURE__*/ jsx(Flex, {
49
+ direction: "column",
50
+ alignItems: "stretch",
51
+ gap: 3,
52
+ width: "100%",
53
+ children: releases?.map((release)=>/*#__PURE__*/ jsxs(Flex, {
54
+ direction: "column",
55
+ alignItems: "start",
56
+ borderWidth: "1px",
57
+ borderStyle: "solid",
58
+ borderColor: getReleaseColorVariant(release.actions[0].type, '200'),
59
+ overflow: "hidden",
60
+ hasRadius: true,
61
+ children: [
62
+ /*#__PURE__*/ jsx(Box, {
63
+ paddingTop: 3,
64
+ paddingBottom: 3,
65
+ paddingLeft: 4,
66
+ paddingRight: 4,
67
+ background: getReleaseColorVariant(release.actions[0].type, '100'),
68
+ width: "100%",
69
+ children: /*#__PURE__*/ jsx(Typography, {
70
+ fontSize: 1,
71
+ variant: "pi",
72
+ textColor: getReleaseColorVariant(release.actions[0].type, '600'),
73
+ children: formatMessage({
74
+ id: 'content-releases.content-manager-edit-view.list-releases.title',
75
+ defaultMessage: '{isPublish, select, true {Will be published in} other {Will be unpublished in}}'
76
+ }, {
77
+ isPublish: release.actions[0].type === 'publish'
78
+ })
79
+ })
80
+ }),
81
+ /*#__PURE__*/ jsxs(Flex, {
82
+ padding: 4,
83
+ direction: "column",
84
+ gap: 2,
85
+ width: "100%",
86
+ alignItems: "flex-start",
87
+ children: [
88
+ /*#__PURE__*/ jsx(Typography, {
89
+ fontSize: 2,
90
+ fontWeight: "bold",
91
+ variant: "omega",
92
+ textColor: "neutral700",
93
+ children: release.name
94
+ }),
95
+ release.scheduledAt && release.timezone && /*#__PURE__*/ jsx(Typography, {
96
+ variant: "pi",
97
+ textColor: "neutral600",
98
+ children: formatMessage({
99
+ id: 'content-releases.content-manager-edit-view.scheduled.date',
100
+ defaultMessage: '{date} at {time} ({offset})'
101
+ }, {
102
+ date: formatDate(new Date(release.scheduledAt), {
103
+ day: '2-digit',
104
+ month: '2-digit',
105
+ year: 'numeric',
106
+ timeZone: release.timezone
107
+ }),
108
+ time: formatTime(new Date(release.scheduledAt), {
109
+ hourCycle: 'h23',
110
+ timeZone: release.timezone
111
+ }),
112
+ offset: getTimezoneOffset(release.timezone, new Date(release.scheduledAt))
113
+ })
114
+ }),
115
+ canDeleteAction ? /*#__PURE__*/ jsxs(ReleaseActionMenu.Root, {
116
+ hasTriggerBorder: true,
117
+ children: [
118
+ /*#__PURE__*/ jsx(ReleaseActionMenu.EditReleaseItem, {
119
+ releaseId: release.id
120
+ }),
121
+ /*#__PURE__*/ jsx(ReleaseActionMenu.DeleteReleaseActionItem, {
122
+ releaseId: release.id,
123
+ actionId: release.actions[0].id
124
+ })
125
+ ]
126
+ }) : null
127
+ ]
128
+ })
129
+ ]
130
+ }, release.id))
131
+ })
132
+ };
133
+ };
134
+
135
+ export { Panel };
136
+ //# sourceMappingURL=ReleasesPanel.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReleasesPanel.mjs","sources":["../../../admin/src/components/ReleasesPanel.tsx"],"sourcesContent":["import { useRBAC, useQueryParams } from '@strapi/admin/strapi-admin';\nimport { unstable_useDocumentLayout as useDocumentLayout } from '@strapi/content-manager/strapi-admin';\nimport { Box, Flex, Typography } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { PERMISSIONS } from '../constants';\nimport { useGetReleasesForEntryQuery } from '../services/release';\nimport { getTimezoneOffset } from '../utils/time';\n\nimport { ReleaseActionMenu } from './ReleaseActionMenu';\n\nimport type { PanelComponent, PanelComponentProps } from '@strapi/content-manager/strapi-admin';\n\nconst Panel: PanelComponent = ({\n model,\n document,\n documentId,\n collectionType,\n}: PanelComponentProps) => {\n const [{ query }] = useQueryParams<{ plugins: { i18n: { locale: string } } }>();\n const locale = query.plugins?.i18n?.locale;\n\n const {\n edit: { options },\n } = useDocumentLayout(model);\n const { formatMessage, formatDate, formatTime } = useIntl();\n\n const { allowedActions } = useRBAC(PERMISSIONS);\n const { canRead, canDeleteAction } = allowedActions;\n\n const response = useGetReleasesForEntryQuery(\n {\n contentType: model,\n entryDocumentId: documentId,\n locale,\n hasEntryAttached: true,\n },\n {\n skip: !document,\n }\n );\n const releases = response.data?.data;\n\n const getReleaseColorVariant = (\n actionType: 'publish' | 'unpublish',\n shade: '100' | '200' | '600'\n ) => {\n if (actionType === 'unpublish') {\n return `secondary${shade}`;\n }\n\n return `success${shade}`;\n };\n\n // Project is not EE or contentType does not have draftAndPublish enabled\n if (!window.strapi.isEE || !options?.draftAndPublish || !canRead) {\n return null;\n }\n\n if (collectionType === 'collection-types' && (!documentId || documentId === 'create')) {\n return null;\n }\n\n if (!releases || releases.length === 0) {\n return null;\n }\n\n return {\n title: formatMessage({\n id: 'content-releases.plugin.name',\n defaultMessage: 'Releases',\n }),\n content: (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={3} width=\"100%\">\n {releases?.map((release) => (\n <Flex\n key={release.id}\n direction=\"column\"\n alignItems=\"start\"\n borderWidth=\"1px\"\n borderStyle=\"solid\"\n borderColor={getReleaseColorVariant(release.actions[0].type, '200')}\n overflow=\"hidden\"\n hasRadius\n >\n <Box\n paddingTop={3}\n paddingBottom={3}\n paddingLeft={4}\n paddingRight={4}\n background={getReleaseColorVariant(release.actions[0].type, '100')}\n width=\"100%\"\n >\n <Typography\n fontSize={1}\n variant=\"pi\"\n textColor={getReleaseColorVariant(release.actions[0].type, '600')}\n >\n {formatMessage(\n {\n id: 'content-releases.content-manager-edit-view.list-releases.title',\n defaultMessage:\n '{isPublish, select, true {Will be published in} other {Will be unpublished in}}',\n },\n { isPublish: release.actions[0].type === 'publish' }\n )}\n </Typography>\n </Box>\n <Flex padding={4} direction=\"column\" gap={2} width=\"100%\" alignItems=\"flex-start\">\n <Typography fontSize={2} fontWeight=\"bold\" variant=\"omega\" textColor=\"neutral700\">\n {release.name}\n </Typography>\n {release.scheduledAt && release.timezone && (\n <Typography variant=\"pi\" textColor=\"neutral600\">\n {formatMessage(\n {\n id: 'content-releases.content-manager-edit-view.scheduled.date',\n defaultMessage: '{date} at {time} ({offset})',\n },\n {\n date: formatDate(new Date(release.scheduledAt), {\n day: '2-digit',\n month: '2-digit',\n year: 'numeric',\n timeZone: release.timezone,\n }),\n time: formatTime(new Date(release.scheduledAt), {\n hourCycle: 'h23',\n timeZone: release.timezone,\n }),\n offset: getTimezoneOffset(release.timezone, new Date(release.scheduledAt)),\n }\n )}\n </Typography>\n )}\n {canDeleteAction ? (\n <ReleaseActionMenu.Root hasTriggerBorder>\n <ReleaseActionMenu.EditReleaseItem releaseId={release.id} />\n <ReleaseActionMenu.DeleteReleaseActionItem\n releaseId={release.id}\n actionId={release.actions[0].id}\n />\n </ReleaseActionMenu.Root>\n ) : null}\n </Flex>\n </Flex>\n ))}\n </Flex>\n ),\n };\n};\n\nexport { Panel };\n"],"names":["Panel","model","document","documentId","collectionType","query","useQueryParams","locale","plugins","i18n","edit","options","useDocumentLayout","formatMessage","formatDate","formatTime","useIntl","allowedActions","useRBAC","PERMISSIONS","canRead","canDeleteAction","response","useGetReleasesForEntryQuery","contentType","entryDocumentId","hasEntryAttached","skip","releases","data","getReleaseColorVariant","actionType","shade","window","strapi","isEE","draftAndPublish","length","title","id","defaultMessage","content","_jsx","Flex","direction","alignItems","gap","width","map","release","_jsxs","borderWidth","borderStyle","borderColor","actions","type","overflow","hasRadius","Box","paddingTop","paddingBottom","paddingLeft","paddingRight","background","Typography","fontSize","variant","textColor","isPublish","padding","fontWeight","name","scheduledAt","timezone","date","Date","day","month","year","timeZone","time","hourCycle","offset","getTimezoneOffset","ReleaseActionMenu","Root","hasTriggerBorder","EditReleaseItem","releaseId","DeleteReleaseActionItem","actionId"],"mappings":";;;;;;;;;;AAaMA,MAAAA,KAAAA,GAAwB,CAAC,EAC7BC,KAAK,EACLC,QAAQ,EACRC,UAAU,EACVC,cAAc,EACM,GAAA;AACpB,IAAA,MAAM,CAAC,EAAEC,KAAK,EAAE,CAAC,GAAGC,cAAAA,EAAAA;AACpB,IAAA,MAAMC,MAASF,GAAAA,KAAAA,CAAMG,OAAO,EAAEC,IAAMF,EAAAA,MAAAA;AAEpC,IAAA,MAAM,EACJG,IAAM,EAAA,EAAEC,OAAO,EAAE,EAClB,GAAGC,0BAAkBX,CAAAA,KAAAA,CAAAA;AACtB,IAAA,MAAM,EAAEY,aAAa,EAAEC,UAAU,EAAEC,UAAU,EAAE,GAAGC,OAAAA,EAAAA;AAElD,IAAA,MAAM,EAAEC,cAAc,EAAE,GAAGC,OAAQC,CAAAA,WAAAA,CAAAA;AACnC,IAAA,MAAM,EAAEC,OAAO,EAAEC,eAAe,EAAE,GAAGJ,cAAAA;AAErC,IAAA,MAAMK,WAAWC,2BACf,CAAA;QACEC,WAAavB,EAAAA,KAAAA;QACbwB,eAAiBtB,EAAAA,UAAAA;AACjBI,QAAAA,MAAAA;QACAmB,gBAAkB,EAAA;KAEpB,EAAA;AACEC,QAAAA,IAAAA,EAAM,CAACzB;AACT,KAAA,CAAA;IAEF,MAAM0B,QAAAA,GAAWN,QAASO,CAAAA,IAAI,EAAEA,IAAAA;IAEhC,MAAMC,sBAAAA,GAAyB,CAC7BC,UACAC,EAAAA,KAAAA,GAAAA;AAEA,QAAA,IAAID,eAAe,WAAa,EAAA;AAC9B,YAAA,OAAO,CAAC,SAAS,EAAEC,KAAAA,CAAM,CAAC;AAC5B;AAEA,QAAA,OAAO,CAAC,OAAO,EAAEA,KAAAA,CAAM,CAAC;AAC1B,KAAA;;IAGA,IAAI,CAACC,MAAOC,CAAAA,MAAM,CAACC,IAAI,IAAI,CAACxB,OAAAA,EAASyB,eAAmB,IAAA,CAAChB,OAAS,EAAA;QAChE,OAAO,IAAA;AACT;AAEA,IAAA,IAAIhB,mBAAmB,kBAAuB,KAAA,CAACD,UAAcA,IAAAA,UAAAA,KAAe,QAAO,CAAI,EAAA;QACrF,OAAO,IAAA;AACT;AAEA,IAAA,IAAI,CAACyB,QAAAA,IAAYA,QAASS,CAAAA,MAAM,KAAK,CAAG,EAAA;QACtC,OAAO,IAAA;AACT;IAEA,OAAO;AACLC,QAAAA,KAAAA,EAAOzB,aAAc,CAAA;YACnB0B,EAAI,EAAA,8BAAA;YACJC,cAAgB,EAAA;AAClB,SAAA,CAAA;AACAC,QAAAA,OAAAA,gBACEC,GAACC,CAAAA,IAAAA,EAAAA;YAAKC,SAAU,EAAA,QAAA;YAASC,UAAW,EAAA,SAAA;YAAUC,GAAK,EAAA,CAAA;YAAGC,KAAM,EAAA,MAAA;sBACzDnB,QAAUoB,EAAAA,GAAAA,CAAI,CAACC,OAAAA,iBACdC,IAACP,CAAAA,IAAAA,EAAAA;oBAECC,SAAU,EAAA,QAAA;oBACVC,UAAW,EAAA,OAAA;oBACXM,WAAY,EAAA,KAAA;oBACZC,WAAY,EAAA,OAAA;AACZC,oBAAAA,WAAAA,EAAavB,uBAAuBmB,OAAQK,CAAAA,OAAO,CAAC,CAAE,CAAA,CAACC,IAAI,EAAE,KAAA,CAAA;oBAC7DC,QAAS,EAAA,QAAA;oBACTC,SAAS,EAAA,IAAA;;sCAETf,GAACgB,CAAAA,GAAAA,EAAAA;4BACCC,UAAY,EAAA,CAAA;4BACZC,aAAe,EAAA,CAAA;4BACfC,WAAa,EAAA,CAAA;4BACbC,YAAc,EAAA,CAAA;AACdC,4BAAAA,UAAAA,EAAYjC,uBAAuBmB,OAAQK,CAAAA,OAAO,CAAC,CAAE,CAAA,CAACC,IAAI,EAAE,KAAA,CAAA;4BAC5DR,KAAM,EAAA,MAAA;AAEN,4BAAA,QAAA,gBAAAL,GAACsB,CAAAA,UAAAA,EAAAA;gCACCC,QAAU,EAAA,CAAA;gCACVC,OAAQ,EAAA,IAAA;AACRC,gCAAAA,SAAAA,EAAWrC,uBAAuBmB,OAAQK,CAAAA,OAAO,CAAC,CAAE,CAAA,CAACC,IAAI,EAAE,KAAA,CAAA;0CAE1D1C,aACC,CAAA;oCACE0B,EAAI,EAAA,gEAAA;oCACJC,cACE,EAAA;iCAEJ,EAAA;AAAE4B,oCAAAA,SAAAA,EAAWnB,QAAQK,OAAO,CAAC,CAAE,CAAA,CAACC,IAAI,KAAK;AAAU,iCAAA;;;sCAIzDL,IAACP,CAAAA,IAAAA,EAAAA;4BAAK0B,OAAS,EAAA,CAAA;4BAAGzB,SAAU,EAAA,QAAA;4BAASE,GAAK,EAAA,CAAA;4BAAGC,KAAM,EAAA,MAAA;4BAAOF,UAAW,EAAA,YAAA;;8CACnEH,GAACsB,CAAAA,UAAAA,EAAAA;oCAAWC,QAAU,EAAA,CAAA;oCAAGK,UAAW,EAAA,MAAA;oCAAOJ,OAAQ,EAAA,OAAA;oCAAQC,SAAU,EAAA,YAAA;AAClElB,oCAAAA,QAAAA,EAAAA,OAAAA,CAAQsB;;AAEVtB,gCAAAA,OAAAA,CAAQuB,WAAW,IAAIvB,OAAQwB,CAAAA,QAAQ,kBACtC/B,GAACsB,CAAAA,UAAAA,EAAAA;oCAAWE,OAAQ,EAAA,IAAA;oCAAKC,SAAU,EAAA,YAAA;8CAChCtD,aACC,CAAA;wCACE0B,EAAI,EAAA,2DAAA;wCACJC,cAAgB,EAAA;qCAElB,EAAA;AACEkC,wCAAAA,IAAAA,EAAM5D,UAAW,CAAA,IAAI6D,IAAK1B,CAAAA,OAAAA,CAAQuB,WAAW,CAAG,EAAA;4CAC9CI,GAAK,EAAA,SAAA;4CACLC,KAAO,EAAA,SAAA;4CACPC,IAAM,EAAA,SAAA;AACNC,4CAAAA,QAAAA,EAAU9B,QAAQwB;AACpB,yCAAA,CAAA;AACAO,wCAAAA,IAAAA,EAAMjE,UAAW,CAAA,IAAI4D,IAAK1B,CAAAA,OAAAA,CAAQuB,WAAW,CAAG,EAAA;4CAC9CS,SAAW,EAAA,KAAA;AACXF,4CAAAA,QAAAA,EAAU9B,QAAQwB;AACpB,yCAAA,CAAA;AACAS,wCAAAA,MAAAA,EAAQC,kBAAkBlC,OAAQwB,CAAAA,QAAQ,EAAE,IAAIE,IAAAA,CAAK1B,QAAQuB,WAAW,CAAA;AAC1E,qCAAA;;gCAILnD,eACC,iBAAA6B,IAAA,CAACkC,kBAAkBC,IAAI,EAAA;oCAACC,gBAAgB,EAAA,IAAA;;AACtC,sDAAA5C,GAAA,CAAC0C,kBAAkBG,eAAe,EAAA;AAACC,4CAAAA,SAAAA,EAAWvC,QAAQV;;AACtD,sDAAAG,GAAA,CAAC0C,kBAAkBK,uBAAuB,EAAA;AACxCD,4CAAAA,SAAAA,EAAWvC,QAAQV,EAAE;AACrBmD,4CAAAA,QAAAA,EAAUzC,OAAQK,CAAAA,OAAO,CAAC,CAAA,CAAE,CAACf;;;AAG/B,iCAAA,CAAA,GAAA;;;;AAnEDU,iBAAAA,EAAAA,OAAAA,CAAQV,EAAE,CAAA;;AAyEzB,KAAA;AACF;;;;"}
@@ -0,0 +1,122 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var strapiAdmin = require('@strapi/admin/strapi-admin');
5
+ var designSystem = require('@strapi/design-system');
6
+ var icons = require('@strapi/icons');
7
+ var reactIntl = require('react-intl');
8
+ var reactRouterDom = require('react-router-dom');
9
+ var styledComponents = require('styled-components');
10
+ var ReleasesPage = require('../pages/ReleasesPage.js');
11
+ var homepage = require('../services/homepage.js');
12
+ var RelativeTime = require('./RelativeTime.js');
13
+
14
+ const CellTypography = styledComponents.styled(designSystem.Typography)`
15
+ display: block;
16
+ max-width: 14.4rem;
17
+ overflow: hidden;
18
+ text-overflow: ellipsis;
19
+ white-space: nowrap;
20
+ `;
21
+ const ReleasesTable = ({ items })=>{
22
+ const { formatMessage } = reactIntl.useIntl();
23
+ const { trackUsage } = strapiAdmin.useTracking();
24
+ const navigate = reactRouterDom.useNavigate();
25
+ const getEditViewLink = (item)=>{
26
+ return `/plugins/content-releases/${item.id}`;
27
+ };
28
+ const handleRowClick = (item)=>()=>{
29
+ trackUsage('willEditReleaseFromHome');
30
+ const link = getEditViewLink(item);
31
+ navigate(link);
32
+ };
33
+ return /*#__PURE__*/ jsxRuntime.jsx(designSystem.Table, {
34
+ colCount: 4,
35
+ rowCount: items?.length ?? 0,
36
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Tbody, {
37
+ children: items?.map((item)=>/*#__PURE__*/ jsxRuntime.jsxs(designSystem.Tr, {
38
+ onClick: handleRowClick(item),
39
+ cursor: "pointer",
40
+ children: [
41
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Td, {
42
+ children: /*#__PURE__*/ jsxRuntime.jsx(CellTypography, {
43
+ title: item.name,
44
+ variant: "omega",
45
+ textColor: "neutral800",
46
+ children: item.name
47
+ })
48
+ }),
49
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Td, {
50
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
51
+ display: "inline-block",
52
+ children: item.status ? /*#__PURE__*/ jsxRuntime.jsx(designSystem.Badge, {
53
+ ...ReleasesPage.getBadgeProps(item.status),
54
+ children: item.status
55
+ }) : /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
56
+ textColor: "neutral600",
57
+ "aria-hidden": true,
58
+ children: "-"
59
+ })
60
+ })
61
+ }),
62
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Td, {
63
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
64
+ variant: "omega",
65
+ textTransform: "capitalize",
66
+ textColor: "neutral600",
67
+ children: item.scheduledAt ? /*#__PURE__*/ jsxRuntime.jsx(RelativeTime.RelativeTime, {
68
+ timestamp: new Date(item.scheduledAt)
69
+ }) : formatMessage({
70
+ id: 'content-releases.pages.Releases.not-scheduled',
71
+ defaultMessage: 'Not scheduled'
72
+ })
73
+ })
74
+ }),
75
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Td, {
76
+ onClick: (e)=>e.stopPropagation(),
77
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
78
+ display: "inline-block",
79
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.IconButton, {
80
+ tag: reactRouterDom.Link,
81
+ to: getEditViewLink(item),
82
+ onClick: ()=>trackUsage('willEditReleaseFromHome'),
83
+ label: formatMessage({
84
+ id: 'content-manager.actions.edit.label',
85
+ defaultMessage: 'Edit'
86
+ }),
87
+ variant: "ghost",
88
+ children: /*#__PURE__*/ jsxRuntime.jsx(icons.Pencil, {})
89
+ })
90
+ })
91
+ })
92
+ ]
93
+ }, item.documentId))
94
+ })
95
+ });
96
+ };
97
+ /* -------------------------------------------------------------------------------------------------
98
+ * Upcoming Releases
99
+ * -----------------------------------------------------------------------------------------------*/ const UpcomingReleasesWidget = ()=>{
100
+ const { formatMessage } = reactIntl.useIntl();
101
+ const { data, isLoading, error } = homepage.useGetUpcomingReleasesQuery();
102
+ if (isLoading) {
103
+ return /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Widget.Loading, {});
104
+ }
105
+ if (error || !data) {
106
+ return /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Widget.Error, {});
107
+ }
108
+ if (data.length === 0) {
109
+ return /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Widget.NoData, {
110
+ children: formatMessage({
111
+ id: 'content-releases.widget.upcoming-releases.no-data',
112
+ defaultMessage: 'No releases'
113
+ })
114
+ });
115
+ }
116
+ return /*#__PURE__*/ jsxRuntime.jsx(ReleasesTable, {
117
+ items: data
118
+ });
119
+ };
120
+
121
+ exports.UpcomingReleasesWidget = UpcomingReleasesWidget;
122
+ //# sourceMappingURL=Widgets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Widgets.js","sources":["../../../admin/src/components/Widgets.tsx"],"sourcesContent":["import { useTracking, Widget } from '@strapi/admin/strapi-admin';\nimport { Badge, Box, IconButton, Table, Tbody, Td, Tr, Typography } from '@strapi/design-system';\nimport { Pencil } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { Link, useNavigate } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { Release } from '../../../shared/contracts/releases';\nimport { getBadgeProps } from '../pages/ReleasesPage';\nimport { useGetUpcomingReleasesQuery } from '../services/homepage';\n\nimport { RelativeTime } from './RelativeTime';\n\nconst CellTypography = styled(Typography)`\n display: block;\n max-width: 14.4rem;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n`;\n\nconst ReleasesTable = ({ items }: { items: Release[] }) => {\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const navigate = useNavigate();\n\n const getEditViewLink = (item: Release): string => {\n return `/plugins/content-releases/${item.id}`;\n };\n\n const handleRowClick = (item: Release) => () => {\n trackUsage('willEditReleaseFromHome');\n const link = getEditViewLink(item);\n navigate(link);\n };\n\n return (\n <Table colCount={4} rowCount={items?.length ?? 0}>\n <Tbody>\n {items?.map((item) => (\n <Tr onClick={handleRowClick(item)} cursor=\"pointer\" key={item.documentId}>\n <Td>\n <CellTypography title={item.name} variant=\"omega\" textColor=\"neutral800\">\n {item.name}\n </CellTypography>\n </Td>\n <Td>\n <Box display=\"inline-block\">\n {item.status ? (\n <Badge {...getBadgeProps(item.status)}>{item.status}</Badge>\n ) : (\n <Typography textColor=\"neutral600\" aria-hidden>\n -\n </Typography>\n )}\n </Box>\n </Td>\n <Td>\n <Typography variant=\"omega\" textTransform=\"capitalize\" textColor=\"neutral600\">\n {item.scheduledAt ? (\n <RelativeTime timestamp={new Date(item.scheduledAt)} />\n ) : (\n formatMessage({\n id: 'content-releases.pages.Releases.not-scheduled',\n defaultMessage: 'Not scheduled',\n })\n )}\n </Typography>\n </Td>\n <Td onClick={(e) => e.stopPropagation()}>\n <Box display=\"inline-block\">\n <IconButton\n tag={Link}\n to={getEditViewLink(item)}\n onClick={() => trackUsage('willEditReleaseFromHome')}\n label={formatMessage({\n id: 'content-manager.actions.edit.label',\n defaultMessage: 'Edit',\n })}\n variant=\"ghost\"\n >\n <Pencil />\n </IconButton>\n </Box>\n </Td>\n </Tr>\n ))}\n </Tbody>\n </Table>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Upcoming Releases\n * -----------------------------------------------------------------------------------------------*/\n\nconst UpcomingReleasesWidget = () => {\n const { formatMessage } = useIntl();\n const { data, isLoading, error } = useGetUpcomingReleasesQuery();\n\n if (isLoading) {\n return <Widget.Loading />;\n }\n\n if (error || !data) {\n return <Widget.Error />;\n }\n\n if (data.length === 0) {\n return (\n <Widget.NoData>\n {formatMessage({\n id: 'content-releases.widget.upcoming-releases.no-data',\n defaultMessage: 'No releases',\n })}\n </Widget.NoData>\n );\n }\n\n return <ReleasesTable items={data} />;\n};\n\nexport { UpcomingReleasesWidget };\n"],"names":["CellTypography","styled","Typography","ReleasesTable","items","formatMessage","useIntl","trackUsage","useTracking","navigate","useNavigate","getEditViewLink","item","id","handleRowClick","link","_jsx","Table","colCount","rowCount","length","Tbody","map","_jsxs","Tr","onClick","cursor","Td","title","name","variant","textColor","Box","display","status","Badge","getBadgeProps","aria-hidden","textTransform","scheduledAt","RelativeTime","timestamp","Date","defaultMessage","e","stopPropagation","IconButton","tag","Link","to","label","Pencil","documentId","UpcomingReleasesWidget","data","isLoading","error","useGetUpcomingReleasesQuery","Widget","Loading","Error","NoData"],"mappings":"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"}
@@ -0,0 +1,120 @@
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
2
+ import { Widget, useTracking } from '@strapi/admin/strapi-admin';
3
+ import { Typography, Table, Tbody, Tr, Td, Box, Badge, IconButton } from '@strapi/design-system';
4
+ import { Pencil } from '@strapi/icons';
5
+ import { useIntl } from 'react-intl';
6
+ import { useNavigate, Link } from 'react-router-dom';
7
+ import { styled } from 'styled-components';
8
+ import { getBadgeProps } from '../pages/ReleasesPage.mjs';
9
+ import { useGetUpcomingReleasesQuery } from '../services/homepage.mjs';
10
+ import { RelativeTime } from './RelativeTime.mjs';
11
+
12
+ const CellTypography = styled(Typography)`
13
+ display: block;
14
+ max-width: 14.4rem;
15
+ overflow: hidden;
16
+ text-overflow: ellipsis;
17
+ white-space: nowrap;
18
+ `;
19
+ const ReleasesTable = ({ items })=>{
20
+ const { formatMessage } = useIntl();
21
+ const { trackUsage } = useTracking();
22
+ const navigate = useNavigate();
23
+ const getEditViewLink = (item)=>{
24
+ return `/plugins/content-releases/${item.id}`;
25
+ };
26
+ const handleRowClick = (item)=>()=>{
27
+ trackUsage('willEditReleaseFromHome');
28
+ const link = getEditViewLink(item);
29
+ navigate(link);
30
+ };
31
+ return /*#__PURE__*/ jsx(Table, {
32
+ colCount: 4,
33
+ rowCount: items?.length ?? 0,
34
+ children: /*#__PURE__*/ jsx(Tbody, {
35
+ children: items?.map((item)=>/*#__PURE__*/ jsxs(Tr, {
36
+ onClick: handleRowClick(item),
37
+ cursor: "pointer",
38
+ children: [
39
+ /*#__PURE__*/ jsx(Td, {
40
+ children: /*#__PURE__*/ jsx(CellTypography, {
41
+ title: item.name,
42
+ variant: "omega",
43
+ textColor: "neutral800",
44
+ children: item.name
45
+ })
46
+ }),
47
+ /*#__PURE__*/ jsx(Td, {
48
+ children: /*#__PURE__*/ jsx(Box, {
49
+ display: "inline-block",
50
+ children: item.status ? /*#__PURE__*/ jsx(Badge, {
51
+ ...getBadgeProps(item.status),
52
+ children: item.status
53
+ }) : /*#__PURE__*/ jsx(Typography, {
54
+ textColor: "neutral600",
55
+ "aria-hidden": true,
56
+ children: "-"
57
+ })
58
+ })
59
+ }),
60
+ /*#__PURE__*/ jsx(Td, {
61
+ children: /*#__PURE__*/ jsx(Typography, {
62
+ variant: "omega",
63
+ textTransform: "capitalize",
64
+ textColor: "neutral600",
65
+ children: item.scheduledAt ? /*#__PURE__*/ jsx(RelativeTime, {
66
+ timestamp: new Date(item.scheduledAt)
67
+ }) : formatMessage({
68
+ id: 'content-releases.pages.Releases.not-scheduled',
69
+ defaultMessage: 'Not scheduled'
70
+ })
71
+ })
72
+ }),
73
+ /*#__PURE__*/ jsx(Td, {
74
+ onClick: (e)=>e.stopPropagation(),
75
+ children: /*#__PURE__*/ jsx(Box, {
76
+ display: "inline-block",
77
+ children: /*#__PURE__*/ jsx(IconButton, {
78
+ tag: Link,
79
+ to: getEditViewLink(item),
80
+ onClick: ()=>trackUsage('willEditReleaseFromHome'),
81
+ label: formatMessage({
82
+ id: 'content-manager.actions.edit.label',
83
+ defaultMessage: 'Edit'
84
+ }),
85
+ variant: "ghost",
86
+ children: /*#__PURE__*/ jsx(Pencil, {})
87
+ })
88
+ })
89
+ })
90
+ ]
91
+ }, item.documentId))
92
+ })
93
+ });
94
+ };
95
+ /* -------------------------------------------------------------------------------------------------
96
+ * Upcoming Releases
97
+ * -----------------------------------------------------------------------------------------------*/ const UpcomingReleasesWidget = ()=>{
98
+ const { formatMessage } = useIntl();
99
+ const { data, isLoading, error } = useGetUpcomingReleasesQuery();
100
+ if (isLoading) {
101
+ return /*#__PURE__*/ jsx(Widget.Loading, {});
102
+ }
103
+ if (error || !data) {
104
+ return /*#__PURE__*/ jsx(Widget.Error, {});
105
+ }
106
+ if (data.length === 0) {
107
+ return /*#__PURE__*/ jsx(Widget.NoData, {
108
+ children: formatMessage({
109
+ id: 'content-releases.widget.upcoming-releases.no-data',
110
+ defaultMessage: 'No releases'
111
+ })
112
+ });
113
+ }
114
+ return /*#__PURE__*/ jsx(ReleasesTable, {
115
+ items: data
116
+ });
117
+ };
118
+
119
+ export { UpcomingReleasesWidget };
120
+ //# sourceMappingURL=Widgets.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Widgets.mjs","sources":["../../../admin/src/components/Widgets.tsx"],"sourcesContent":["import { useTracking, Widget } from '@strapi/admin/strapi-admin';\nimport { Badge, Box, IconButton, Table, Tbody, Td, Tr, Typography } from '@strapi/design-system';\nimport { Pencil } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { Link, useNavigate } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { Release } from '../../../shared/contracts/releases';\nimport { getBadgeProps } from '../pages/ReleasesPage';\nimport { useGetUpcomingReleasesQuery } from '../services/homepage';\n\nimport { RelativeTime } from './RelativeTime';\n\nconst CellTypography = styled(Typography)`\n display: block;\n max-width: 14.4rem;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n`;\n\nconst ReleasesTable = ({ items }: { items: Release[] }) => {\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const navigate = useNavigate();\n\n const getEditViewLink = (item: Release): string => {\n return `/plugins/content-releases/${item.id}`;\n };\n\n const handleRowClick = (item: Release) => () => {\n trackUsage('willEditReleaseFromHome');\n const link = getEditViewLink(item);\n navigate(link);\n };\n\n return (\n <Table colCount={4} rowCount={items?.length ?? 0}>\n <Tbody>\n {items?.map((item) => (\n <Tr onClick={handleRowClick(item)} cursor=\"pointer\" key={item.documentId}>\n <Td>\n <CellTypography title={item.name} variant=\"omega\" textColor=\"neutral800\">\n {item.name}\n </CellTypography>\n </Td>\n <Td>\n <Box display=\"inline-block\">\n {item.status ? (\n <Badge {...getBadgeProps(item.status)}>{item.status}</Badge>\n ) : (\n <Typography textColor=\"neutral600\" aria-hidden>\n -\n </Typography>\n )}\n </Box>\n </Td>\n <Td>\n <Typography variant=\"omega\" textTransform=\"capitalize\" textColor=\"neutral600\">\n {item.scheduledAt ? (\n <RelativeTime timestamp={new Date(item.scheduledAt)} />\n ) : (\n formatMessage({\n id: 'content-releases.pages.Releases.not-scheduled',\n defaultMessage: 'Not scheduled',\n })\n )}\n </Typography>\n </Td>\n <Td onClick={(e) => e.stopPropagation()}>\n <Box display=\"inline-block\">\n <IconButton\n tag={Link}\n to={getEditViewLink(item)}\n onClick={() => trackUsage('willEditReleaseFromHome')}\n label={formatMessage({\n id: 'content-manager.actions.edit.label',\n defaultMessage: 'Edit',\n })}\n variant=\"ghost\"\n >\n <Pencil />\n </IconButton>\n </Box>\n </Td>\n </Tr>\n ))}\n </Tbody>\n </Table>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Upcoming Releases\n * -----------------------------------------------------------------------------------------------*/\n\nconst UpcomingReleasesWidget = () => {\n const { formatMessage } = useIntl();\n const { data, isLoading, error } = useGetUpcomingReleasesQuery();\n\n if (isLoading) {\n return <Widget.Loading />;\n }\n\n if (error || !data) {\n return <Widget.Error />;\n }\n\n if (data.length === 0) {\n return (\n <Widget.NoData>\n {formatMessage({\n id: 'content-releases.widget.upcoming-releases.no-data',\n defaultMessage: 'No releases',\n })}\n </Widget.NoData>\n );\n }\n\n return <ReleasesTable items={data} />;\n};\n\nexport { UpcomingReleasesWidget };\n"],"names":["CellTypography","styled","Typography","ReleasesTable","items","formatMessage","useIntl","trackUsage","useTracking","navigate","useNavigate","getEditViewLink","item","id","handleRowClick","link","_jsx","Table","colCount","rowCount","length","Tbody","map","_jsxs","Tr","onClick","cursor","Td","title","name","variant","textColor","Box","display","status","Badge","getBadgeProps","aria-hidden","textTransform","scheduledAt","RelativeTime","timestamp","Date","defaultMessage","e","stopPropagation","IconButton","tag","Link","to","label","Pencil","documentId","UpcomingReleasesWidget","data","isLoading","error","useGetUpcomingReleasesQuery","Widget","Loading","Error","NoData"],"mappings":"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"}
@@ -0,0 +1,79 @@
1
+ 'use strict';
2
+
3
+ const PLUGIN_ID = 'content-releases';
4
+ const PERMISSIONS = {
5
+ main: [
6
+ {
7
+ action: 'plugin::content-releases.read',
8
+ subject: null,
9
+ id: '',
10
+ actionParameters: {},
11
+ properties: {},
12
+ conditions: []
13
+ }
14
+ ],
15
+ create: [
16
+ {
17
+ action: 'plugin::content-releases.create',
18
+ subject: null,
19
+ id: '',
20
+ actionParameters: {},
21
+ properties: {},
22
+ conditions: []
23
+ }
24
+ ],
25
+ update: [
26
+ {
27
+ action: 'plugin::content-releases.update',
28
+ subject: null,
29
+ id: '',
30
+ actionParameters: {},
31
+ properties: {},
32
+ conditions: []
33
+ }
34
+ ],
35
+ delete: [
36
+ {
37
+ action: 'plugin::content-releases.delete',
38
+ subject: null,
39
+ id: '',
40
+ actionParameters: {},
41
+ properties: {},
42
+ conditions: []
43
+ }
44
+ ],
45
+ createAction: [
46
+ {
47
+ action: 'plugin::content-releases.create-action',
48
+ subject: null,
49
+ id: '',
50
+ actionParameters: {},
51
+ properties: {},
52
+ conditions: []
53
+ }
54
+ ],
55
+ deleteAction: [
56
+ {
57
+ action: 'plugin::content-releases.delete-action',
58
+ subject: null,
59
+ id: '',
60
+ actionParameters: {},
61
+ properties: {},
62
+ conditions: []
63
+ }
64
+ ],
65
+ publish: [
66
+ {
67
+ action: 'plugin::content-releases.publish',
68
+ subject: null,
69
+ id: '',
70
+ actionParameters: {},
71
+ properties: {},
72
+ conditions: []
73
+ }
74
+ ]
75
+ };
76
+
77
+ exports.PERMISSIONS = PERMISSIONS;
78
+ exports.PLUGIN_ID = PLUGIN_ID;
79
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sources":["../../admin/src/constants.ts"],"sourcesContent":["import type { Permission as StrapiPermission } from '@strapi/admin/strapi-admin';\n\nexport const PLUGIN_ID = 'content-releases';\n\nexport const PERMISSIONS = {\n main: [\n {\n action: 'plugin::content-releases.read',\n subject: null,\n id: '',\n actionParameters: {},\n properties: {},\n conditions: [],\n },\n ],\n create: [\n {\n action: 'plugin::content-releases.create',\n subject: null,\n id: '',\n actionParameters: {},\n properties: {},\n conditions: [],\n },\n ],\n update: [\n {\n action: 'plugin::content-releases.update',\n subject: null,\n id: '',\n actionParameters: {},\n properties: {},\n conditions: [],\n },\n ],\n delete: [\n {\n action: 'plugin::content-releases.delete',\n subject: null,\n id: '',\n actionParameters: {},\n properties: {},\n conditions: [],\n },\n ],\n createAction: [\n {\n action: 'plugin::content-releases.create-action',\n subject: null,\n id: '',\n actionParameters: {},\n properties: {},\n conditions: [],\n },\n ],\n deleteAction: [\n {\n action: 'plugin::content-releases.delete-action',\n subject: null,\n id: '',\n actionParameters: {},\n properties: {},\n conditions: [],\n },\n ],\n publish: [\n {\n action: 'plugin::content-releases.publish',\n subject: null,\n id: '',\n actionParameters: {},\n properties: {},\n conditions: [],\n },\n ],\n} satisfies Record<string, StrapiPermission[]>;\n\nexport const PERMISSIONS_SETTINGS = {\n read: [\n {\n action: 'plugin::content-releases.settings.read',\n subject: null,\n id: '',\n actionParameters: {},\n properties: {},\n conditions: [],\n },\n ],\n update: [\n {\n action: 'plugin::content-releases.settings.update',\n subject: null,\n id: '',\n actionParameters: {},\n properties: {},\n conditions: [],\n },\n ],\n} satisfies Record<string, StrapiPermission[]>;\n"],"names":["PLUGIN_ID","PERMISSIONS","main","action","subject","id","actionParameters","properties","conditions","create","update","delete","createAction","deleteAction","publish"],"mappings":";;AAEO,MAAMA,YAAY;MAEZC,WAAc,GAAA;IACzBC,IAAM,EAAA;AACJ,QAAA;YACEC,MAAQ,EAAA,+BAAA;YACRC,OAAS,EAAA,IAAA;YACTC,EAAI,EAAA,EAAA;AACJC,YAAAA,gBAAAA,EAAkB,EAAC;AACnBC,YAAAA,UAAAA,EAAY,EAAC;AACbC,YAAAA,UAAAA,EAAY;AACd;AACD,KAAA;IACDC,MAAQ,EAAA;AACN,QAAA;YACEN,MAAQ,EAAA,iCAAA;YACRC,OAAS,EAAA,IAAA;YACTC,EAAI,EAAA,EAAA;AACJC,YAAAA,gBAAAA,EAAkB,EAAC;AACnBC,YAAAA,UAAAA,EAAY,EAAC;AACbC,YAAAA,UAAAA,EAAY;AACd;AACD,KAAA;IACDE,MAAQ,EAAA;AACN,QAAA;YACEP,MAAQ,EAAA,iCAAA;YACRC,OAAS,EAAA,IAAA;YACTC,EAAI,EAAA,EAAA;AACJC,YAAAA,gBAAAA,EAAkB,EAAC;AACnBC,YAAAA,UAAAA,EAAY,EAAC;AACbC,YAAAA,UAAAA,EAAY;AACd;AACD,KAAA;IACDG,MAAQ,EAAA;AACN,QAAA;YACER,MAAQ,EAAA,iCAAA;YACRC,OAAS,EAAA,IAAA;YACTC,EAAI,EAAA,EAAA;AACJC,YAAAA,gBAAAA,EAAkB,EAAC;AACnBC,YAAAA,UAAAA,EAAY,EAAC;AACbC,YAAAA,UAAAA,EAAY;AACd;AACD,KAAA;IACDI,YAAc,EAAA;AACZ,QAAA;YACET,MAAQ,EAAA,wCAAA;YACRC,OAAS,EAAA,IAAA;YACTC,EAAI,EAAA,EAAA;AACJC,YAAAA,gBAAAA,EAAkB,EAAC;AACnBC,YAAAA,UAAAA,EAAY,EAAC;AACbC,YAAAA,UAAAA,EAAY;AACd;AACD,KAAA;IACDK,YAAc,EAAA;AACZ,QAAA;YACEV,MAAQ,EAAA,wCAAA;YACRC,OAAS,EAAA,IAAA;YACTC,EAAI,EAAA,EAAA;AACJC,YAAAA,gBAAAA,EAAkB,EAAC;AACnBC,YAAAA,UAAAA,EAAY,EAAC;AACbC,YAAAA,UAAAA,EAAY;AACd;AACD,KAAA;IACDM,OAAS,EAAA;AACP,QAAA;YACEX,MAAQ,EAAA,kCAAA;YACRC,OAAS,EAAA,IAAA;YACTC,EAAI,EAAA,EAAA;AACJC,YAAAA,gBAAAA,EAAkB,EAAC;AACnBC,YAAAA,UAAAA,EAAY,EAAC;AACbC,YAAAA,UAAAA,EAAY;AACd;AACD;AACH;;;;;"}
@@ -0,0 +1,76 @@
1
+ const PLUGIN_ID = 'content-releases';
2
+ const PERMISSIONS = {
3
+ main: [
4
+ {
5
+ action: 'plugin::content-releases.read',
6
+ subject: null,
7
+ id: '',
8
+ actionParameters: {},
9
+ properties: {},
10
+ conditions: []
11
+ }
12
+ ],
13
+ create: [
14
+ {
15
+ action: 'plugin::content-releases.create',
16
+ subject: null,
17
+ id: '',
18
+ actionParameters: {},
19
+ properties: {},
20
+ conditions: []
21
+ }
22
+ ],
23
+ update: [
24
+ {
25
+ action: 'plugin::content-releases.update',
26
+ subject: null,
27
+ id: '',
28
+ actionParameters: {},
29
+ properties: {},
30
+ conditions: []
31
+ }
32
+ ],
33
+ delete: [
34
+ {
35
+ action: 'plugin::content-releases.delete',
36
+ subject: null,
37
+ id: '',
38
+ actionParameters: {},
39
+ properties: {},
40
+ conditions: []
41
+ }
42
+ ],
43
+ createAction: [
44
+ {
45
+ action: 'plugin::content-releases.create-action',
46
+ subject: null,
47
+ id: '',
48
+ actionParameters: {},
49
+ properties: {},
50
+ conditions: []
51
+ }
52
+ ],
53
+ deleteAction: [
54
+ {
55
+ action: 'plugin::content-releases.delete-action',
56
+ subject: null,
57
+ id: '',
58
+ actionParameters: {},
59
+ properties: {},
60
+ conditions: []
61
+ }
62
+ ],
63
+ publish: [
64
+ {
65
+ action: 'plugin::content-releases.publish',
66
+ subject: null,
67
+ id: '',
68
+ actionParameters: {},
69
+ properties: {},
70
+ conditions: []
71
+ }
72
+ ]
73
+ };
74
+
75
+ export { PERMISSIONS, PLUGIN_ID };
76
+ //# sourceMappingURL=constants.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.mjs","sources":["../../admin/src/constants.ts"],"sourcesContent":["import type { Permission as StrapiPermission } from '@strapi/admin/strapi-admin';\n\nexport const PLUGIN_ID = 'content-releases';\n\nexport const PERMISSIONS = {\n main: [\n {\n action: 'plugin::content-releases.read',\n subject: null,\n id: '',\n actionParameters: {},\n properties: {},\n conditions: [],\n },\n ],\n create: [\n {\n action: 'plugin::content-releases.create',\n subject: null,\n id: '',\n actionParameters: {},\n properties: {},\n conditions: [],\n },\n ],\n update: [\n {\n action: 'plugin::content-releases.update',\n subject: null,\n id: '',\n actionParameters: {},\n properties: {},\n conditions: [],\n },\n ],\n delete: [\n {\n action: 'plugin::content-releases.delete',\n subject: null,\n id: '',\n actionParameters: {},\n properties: {},\n conditions: [],\n },\n ],\n createAction: [\n {\n action: 'plugin::content-releases.create-action',\n subject: null,\n id: '',\n actionParameters: {},\n properties: {},\n conditions: [],\n },\n ],\n deleteAction: [\n {\n action: 'plugin::content-releases.delete-action',\n subject: null,\n id: '',\n actionParameters: {},\n properties: {},\n conditions: [],\n },\n ],\n publish: [\n {\n action: 'plugin::content-releases.publish',\n subject: null,\n id: '',\n actionParameters: {},\n properties: {},\n conditions: [],\n },\n ],\n} satisfies Record<string, StrapiPermission[]>;\n\nexport const PERMISSIONS_SETTINGS = {\n read: [\n {\n action: 'plugin::content-releases.settings.read',\n subject: null,\n id: '',\n actionParameters: {},\n properties: {},\n conditions: [],\n },\n ],\n update: [\n {\n action: 'plugin::content-releases.settings.update',\n subject: null,\n id: '',\n actionParameters: {},\n properties: {},\n conditions: [],\n },\n ],\n} satisfies Record<string, StrapiPermission[]>;\n"],"names":["PLUGIN_ID","PERMISSIONS","main","action","subject","id","actionParameters","properties","conditions","create","update","delete","createAction","deleteAction","publish"],"mappings":"AAEO,MAAMA,YAAY;MAEZC,WAAc,GAAA;IACzBC,IAAM,EAAA;AACJ,QAAA;YACEC,MAAQ,EAAA,+BAAA;YACRC,OAAS,EAAA,IAAA;YACTC,EAAI,EAAA,EAAA;AACJC,YAAAA,gBAAAA,EAAkB,EAAC;AACnBC,YAAAA,UAAAA,EAAY,EAAC;AACbC,YAAAA,UAAAA,EAAY;AACd;AACD,KAAA;IACDC,MAAQ,EAAA;AACN,QAAA;YACEN,MAAQ,EAAA,iCAAA;YACRC,OAAS,EAAA,IAAA;YACTC,EAAI,EAAA,EAAA;AACJC,YAAAA,gBAAAA,EAAkB,EAAC;AACnBC,YAAAA,UAAAA,EAAY,EAAC;AACbC,YAAAA,UAAAA,EAAY;AACd;AACD,KAAA;IACDE,MAAQ,EAAA;AACN,QAAA;YACEP,MAAQ,EAAA,iCAAA;YACRC,OAAS,EAAA,IAAA;YACTC,EAAI,EAAA,EAAA;AACJC,YAAAA,gBAAAA,EAAkB,EAAC;AACnBC,YAAAA,UAAAA,EAAY,EAAC;AACbC,YAAAA,UAAAA,EAAY;AACd;AACD,KAAA;IACDG,MAAQ,EAAA;AACN,QAAA;YACER,MAAQ,EAAA,iCAAA;YACRC,OAAS,EAAA,IAAA;YACTC,EAAI,EAAA,EAAA;AACJC,YAAAA,gBAAAA,EAAkB,EAAC;AACnBC,YAAAA,UAAAA,EAAY,EAAC;AACbC,YAAAA,UAAAA,EAAY;AACd;AACD,KAAA;IACDI,YAAc,EAAA;AACZ,QAAA;YACET,MAAQ,EAAA,wCAAA;YACRC,OAAS,EAAA,IAAA;YACTC,EAAI,EAAA,EAAA;AACJC,YAAAA,gBAAAA,EAAkB,EAAC;AACnBC,YAAAA,UAAAA,EAAY,EAAC;AACbC,YAAAA,UAAAA,EAAY;AACd;AACD,KAAA;IACDK,YAAc,EAAA;AACZ,QAAA;YACEV,MAAQ,EAAA,wCAAA;YACRC,OAAS,EAAA,IAAA;YACTC,EAAI,EAAA,EAAA;AACJC,YAAAA,gBAAAA,EAAkB,EAAC;AACnBC,YAAAA,UAAAA,EAAY,EAAC;AACbC,YAAAA,UAAAA,EAAY;AACd;AACD,KAAA;IACDM,OAAS,EAAA;AACP,QAAA;YACEX,MAAQ,EAAA,kCAAA;YACRC,OAAS,EAAA,IAAA;YACTC,EAAI,EAAA,EAAA;AACJC,YAAAA,gBAAAA,EAAkB,EAAC;AACnBC,YAAAA,UAAAA,EAAY,EAAC;AACbC,YAAAA,UAAAA,EAAY;AACd;AACD;AACH;;;;"}