@strapi/content-releases 0.0.0-next.ec9b1b708d4d319f2b8b39d9397bd752d250d541 → 0.0.0-next.ed7c7c54ff46bcd4c15cc57d65066008685aefd4

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 (277) 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 +344 -0
  10. package/dist/admin/components/EntryValidationPopover.js.map +1 -0
  11. package/dist/admin/components/EntryValidationPopover.mjs +342 -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/constants.js +77 -0
  46. package/dist/admin/constants.js.map +1 -0
  47. package/dist/admin/constants.mjs +75 -0
  48. package/dist/admin/constants.mjs.map +1 -0
  49. package/dist/admin/index.js +125 -4
  50. package/dist/admin/index.js.map +1 -1
  51. package/dist/admin/index.mjs +120 -4
  52. package/dist/admin/index.mjs.map +1 -1
  53. package/dist/admin/modules/hooks.js +8 -0
  54. package/dist/admin/modules/hooks.js.map +1 -0
  55. package/dist/admin/modules/hooks.mjs +6 -0
  56. package/dist/admin/modules/hooks.mjs.map +1 -0
  57. package/dist/admin/pages/App.js +29 -0
  58. package/dist/admin/pages/App.js.map +1 -0
  59. package/dist/admin/pages/App.mjs +27 -0
  60. package/dist/admin/pages/App.mjs.map +1 -0
  61. package/dist/admin/pages/PurchaseContentReleases.js +192 -0
  62. package/dist/admin/pages/PurchaseContentReleases.js.map +1 -0
  63. package/dist/admin/pages/PurchaseContentReleases.mjs +190 -0
  64. package/dist/admin/pages/PurchaseContentReleases.mjs.map +1 -0
  65. package/dist/admin/pages/ReleaseDetailsPage.js +772 -0
  66. package/dist/admin/pages/ReleaseDetailsPage.js.map +1 -0
  67. package/dist/admin/pages/ReleaseDetailsPage.mjs +751 -0
  68. package/dist/admin/pages/ReleaseDetailsPage.mjs.map +1 -0
  69. package/dist/admin/pages/ReleasesPage.js +403 -0
  70. package/dist/admin/pages/ReleasesPage.js.map +1 -0
  71. package/dist/admin/pages/ReleasesPage.mjs +381 -0
  72. package/dist/admin/pages/ReleasesPage.mjs.map +1 -0
  73. package/dist/admin/pages/ReleasesSettingsPage.js +225 -0
  74. package/dist/admin/pages/ReleasesSettingsPage.js.map +1 -0
  75. package/dist/admin/pages/ReleasesSettingsPage.mjs +223 -0
  76. package/dist/admin/pages/ReleasesSettingsPage.mjs.map +1 -0
  77. package/dist/admin/pluginId.js +6 -0
  78. package/dist/admin/pluginId.js.map +1 -0
  79. package/dist/admin/pluginId.mjs +4 -0
  80. package/dist/admin/pluginId.mjs.map +1 -0
  81. package/dist/admin/services/release.js +464 -0
  82. package/dist/admin/services/release.js.map +1 -0
  83. package/dist/admin/services/release.mjs +447 -0
  84. package/dist/admin/services/release.mjs.map +1 -0
  85. package/dist/admin/src/components/ReleaseListCell.d.ts +1 -1
  86. package/dist/admin/store/hooks.js +8 -0
  87. package/dist/admin/store/hooks.js.map +1 -0
  88. package/dist/admin/store/hooks.mjs +6 -0
  89. package/dist/admin/store/hooks.mjs.map +1 -0
  90. package/dist/admin/translations/en.json.js +108 -0
  91. package/dist/admin/translations/en.json.js.map +1 -0
  92. package/dist/admin/translations/en.json.mjs +106 -0
  93. package/dist/admin/translations/en.json.mjs.map +1 -0
  94. package/dist/admin/translations/uk.json.js +103 -0
  95. package/dist/admin/translations/uk.json.js.map +1 -0
  96. package/dist/admin/translations/uk.json.mjs +101 -0
  97. package/dist/admin/translations/uk.json.mjs.map +1 -0
  98. package/dist/admin/utils/api.js +8 -0
  99. package/dist/admin/utils/api.js.map +1 -0
  100. package/dist/admin/utils/api.mjs +6 -0
  101. package/dist/admin/utils/api.mjs.map +1 -0
  102. package/dist/admin/utils/prefixPluginTranslations.js +11 -0
  103. package/dist/admin/utils/prefixPluginTranslations.js.map +1 -0
  104. package/dist/admin/utils/prefixPluginTranslations.mjs +9 -0
  105. package/dist/admin/utils/prefixPluginTranslations.mjs.map +1 -0
  106. package/dist/admin/utils/time.js +42 -0
  107. package/dist/admin/utils/time.js.map +1 -0
  108. package/dist/admin/utils/time.mjs +39 -0
  109. package/dist/admin/utils/time.mjs.map +1 -0
  110. package/dist/admin/validation/schemas.js +65 -0
  111. package/dist/admin/validation/schemas.js.map +1 -0
  112. package/dist/admin/validation/schemas.mjs +43 -0
  113. package/dist/admin/validation/schemas.mjs.map +1 -0
  114. package/dist/server/bootstrap.js +68 -0
  115. package/dist/server/bootstrap.js.map +1 -0
  116. package/dist/server/bootstrap.mjs +66 -0
  117. package/dist/server/bootstrap.mjs.map +1 -0
  118. package/dist/server/constants.js +74 -0
  119. package/dist/server/constants.js.map +1 -0
  120. package/dist/server/constants.mjs +69 -0
  121. package/dist/server/constants.mjs.map +1 -0
  122. package/dist/server/content-types/index.js +12 -0
  123. package/dist/server/content-types/index.js.map +1 -0
  124. package/dist/server/content-types/index.mjs +10 -0
  125. package/dist/server/content-types/index.mjs.map +1 -0
  126. package/dist/server/content-types/release/index.js +10 -0
  127. package/dist/server/content-types/release/index.js.map +1 -0
  128. package/dist/server/content-types/release/index.mjs +8 -0
  129. package/dist/server/content-types/release/index.mjs.map +1 -0
  130. package/dist/server/content-types/release/schema.js +58 -0
  131. package/dist/server/content-types/release/schema.js.map +1 -0
  132. package/dist/server/content-types/release/schema.mjs +56 -0
  133. package/dist/server/content-types/release/schema.mjs.map +1 -0
  134. package/dist/server/content-types/release-action/index.js +10 -0
  135. package/dist/server/content-types/release-action/index.js.map +1 -0
  136. package/dist/server/content-types/release-action/index.mjs +8 -0
  137. package/dist/server/content-types/release-action/index.mjs.map +1 -0
  138. package/dist/server/content-types/release-action/schema.js +55 -0
  139. package/dist/server/content-types/release-action/schema.js.map +1 -0
  140. package/dist/server/content-types/release-action/schema.mjs +53 -0
  141. package/dist/server/content-types/release-action/schema.mjs.map +1 -0
  142. package/dist/server/controllers/index.js +14 -0
  143. package/dist/server/controllers/index.js.map +1 -0
  144. package/dist/server/controllers/index.mjs +12 -0
  145. package/dist/server/controllers/index.mjs.map +1 -0
  146. package/dist/server/controllers/release-action.js +150 -0
  147. package/dist/server/controllers/release-action.js.map +1 -0
  148. package/dist/server/controllers/release-action.mjs +148 -0
  149. package/dist/server/controllers/release-action.mjs.map +1 -0
  150. package/dist/server/controllers/release.js +302 -0
  151. package/dist/server/controllers/release.js.map +1 -0
  152. package/dist/server/controllers/release.mjs +300 -0
  153. package/dist/server/controllers/release.mjs.map +1 -0
  154. package/dist/server/controllers/settings.js +37 -0
  155. package/dist/server/controllers/settings.js.map +1 -0
  156. package/dist/server/controllers/settings.mjs +35 -0
  157. package/dist/server/controllers/settings.mjs.map +1 -0
  158. package/dist/server/controllers/validation/release-action.js +34 -0
  159. package/dist/server/controllers/validation/release-action.js.map +1 -0
  160. package/dist/server/controllers/validation/release-action.mjs +30 -0
  161. package/dist/server/controllers/validation/release-action.mjs.map +1 -0
  162. package/dist/server/controllers/validation/release.js +26 -0
  163. package/dist/server/controllers/validation/release.js.map +1 -0
  164. package/dist/server/controllers/validation/release.mjs +22 -0
  165. package/dist/server/controllers/validation/release.mjs.map +1 -0
  166. package/dist/server/controllers/validation/settings.js +32 -0
  167. package/dist/server/controllers/validation/settings.js.map +1 -0
  168. package/dist/server/controllers/validation/settings.mjs +10 -0
  169. package/dist/server/controllers/validation/settings.mjs.map +1 -0
  170. package/dist/server/destroy.js +15 -0
  171. package/dist/server/destroy.js.map +1 -0
  172. package/dist/server/destroy.mjs +13 -0
  173. package/dist/server/destroy.mjs.map +1 -0
  174. package/dist/server/index.js +25 -2050
  175. package/dist/server/index.js.map +1 -1
  176. package/dist/server/index.mjs +24 -2030
  177. package/dist/server/index.mjs.map +1 -1
  178. package/dist/server/middlewares/documents.js +104 -0
  179. package/dist/server/middlewares/documents.js.map +1 -0
  180. package/dist/server/middlewares/documents.mjs +101 -0
  181. package/dist/server/middlewares/documents.mjs.map +1 -0
  182. package/dist/server/migrations/database/5.0.0-document-id-in-actions.js +51 -0
  183. package/dist/server/migrations/database/5.0.0-document-id-in-actions.js.map +1 -0
  184. package/dist/server/migrations/database/5.0.0-document-id-in-actions.mjs +49 -0
  185. package/dist/server/migrations/database/5.0.0-document-id-in-actions.mjs.map +1 -0
  186. package/dist/server/migrations/index.js +205 -0
  187. package/dist/server/migrations/index.js.map +1 -0
  188. package/dist/server/migrations/index.mjs +198 -0
  189. package/dist/server/migrations/index.mjs.map +1 -0
  190. package/dist/server/register.js +23 -0
  191. package/dist/server/register.js.map +1 -0
  192. package/dist/server/register.mjs +21 -0
  193. package/dist/server/register.mjs.map +1 -0
  194. package/dist/server/routes/index.js +14 -0
  195. package/dist/server/routes/index.js.map +1 -0
  196. package/dist/server/routes/index.mjs +12 -0
  197. package/dist/server/routes/index.mjs.map +1 -0
  198. package/dist/server/routes/release-action.js +100 -0
  199. package/dist/server/routes/release-action.js.map +1 -0
  200. package/dist/server/routes/release-action.mjs +98 -0
  201. package/dist/server/routes/release-action.mjs.map +1 -0
  202. package/dist/server/routes/release.js +154 -0
  203. package/dist/server/routes/release.js.map +1 -0
  204. package/dist/server/routes/release.mjs +152 -0
  205. package/dist/server/routes/release.mjs.map +1 -0
  206. package/dist/server/routes/settings.js +46 -0
  207. package/dist/server/routes/settings.js.map +1 -0
  208. package/dist/server/routes/settings.mjs +44 -0
  209. package/dist/server/routes/settings.mjs.map +1 -0
  210. package/dist/server/services/index.js +18 -0
  211. package/dist/server/services/index.js.map +1 -0
  212. package/dist/server/services/index.mjs +16 -0
  213. package/dist/server/services/index.mjs.map +1 -0
  214. package/dist/server/services/release-action.js +324 -0
  215. package/dist/server/services/release-action.js.map +1 -0
  216. package/dist/server/services/release-action.mjs +322 -0
  217. package/dist/server/services/release-action.mjs.map +1 -0
  218. package/dist/server/services/release.js +324 -0
  219. package/dist/server/services/release.js.map +1 -0
  220. package/dist/server/services/release.mjs +322 -0
  221. package/dist/server/services/release.mjs.map +1 -0
  222. package/dist/server/services/scheduling.js +70 -0
  223. package/dist/server/services/scheduling.js.map +1 -0
  224. package/dist/server/services/scheduling.mjs +68 -0
  225. package/dist/server/services/scheduling.mjs.map +1 -0
  226. package/dist/server/services/settings.js +34 -0
  227. package/dist/server/services/settings.js.map +1 -0
  228. package/dist/server/services/settings.mjs +32 -0
  229. package/dist/server/services/settings.mjs.map +1 -0
  230. package/dist/server/services/validation.js +91 -0
  231. package/dist/server/services/validation.js.map +1 -0
  232. package/dist/server/services/validation.mjs +86 -0
  233. package/dist/server/services/validation.mjs.map +1 -0
  234. package/dist/server/src/destroy.d.ts +1 -1
  235. package/dist/server/src/destroy.d.ts.map +1 -1
  236. package/dist/server/src/middlewares/documents.d.ts +1 -1
  237. package/dist/server/src/middlewares/documents.d.ts.map +1 -1
  238. package/dist/server/src/services/release-action.d.ts.map +1 -1
  239. package/dist/server/src/services/scheduling.d.ts +1 -1
  240. package/dist/server/src/services/scheduling.d.ts.map +1 -1
  241. package/dist/server/src/services/validation.d.ts +1 -1
  242. package/dist/server/src/services/validation.d.ts.map +1 -1
  243. package/dist/server/src/utils/index.d.ts.map +1 -1
  244. package/dist/server/utils/index.js +94 -0
  245. package/dist/server/utils/index.js.map +1 -0
  246. package/dist/server/utils/index.mjs +88 -0
  247. package/dist/server/utils/index.mjs.map +1 -0
  248. package/dist/shared/contracts/release-actions.d.ts +0 -1
  249. package/dist/shared/contracts/releases.d.ts +0 -1
  250. package/dist/shared/contracts/settings.d.ts +1 -2
  251. package/dist/shared/contracts/settings.d.ts.map +1 -1
  252. package/dist/shared/types.d.ts +0 -1
  253. package/package.json +18 -16
  254. package/dist/_chunks/App-FQyYFBJT.mjs +0 -1559
  255. package/dist/_chunks/App-FQyYFBJT.mjs.map +0 -1
  256. package/dist/_chunks/App-lx4Ucy9W.js +0 -1580
  257. package/dist/_chunks/App-lx4Ucy9W.js.map +0 -1
  258. package/dist/_chunks/PurchaseContentReleases-Be3acS2L.js +0 -52
  259. package/dist/_chunks/PurchaseContentReleases-Be3acS2L.js.map +0 -1
  260. package/dist/_chunks/PurchaseContentReleases-_MxP6-Dt.mjs +0 -52
  261. package/dist/_chunks/PurchaseContentReleases-_MxP6-Dt.mjs.map +0 -1
  262. package/dist/_chunks/ReleasesSettingsPage-DqBxvJ9i.mjs +0 -178
  263. package/dist/_chunks/ReleasesSettingsPage-DqBxvJ9i.mjs.map +0 -1
  264. package/dist/_chunks/ReleasesSettingsPage-T5VEAV03.js +0 -178
  265. package/dist/_chunks/ReleasesSettingsPage-T5VEAV03.js.map +0 -1
  266. package/dist/_chunks/en-BWPPsSH-.js +0 -102
  267. package/dist/_chunks/en-BWPPsSH-.js.map +0 -1
  268. package/dist/_chunks/en-D9Q4YW03.mjs +0 -102
  269. package/dist/_chunks/en-D9Q4YW03.mjs.map +0 -1
  270. package/dist/_chunks/index-CK9G80CL.mjs +0 -1380
  271. package/dist/_chunks/index-CK9G80CL.mjs.map +0 -1
  272. package/dist/_chunks/index-Cl3tM1YW.js +0 -1399
  273. package/dist/_chunks/index-Cl3tM1YW.js.map +0 -1
  274. package/dist/_chunks/schemas-BE1LxE9J.js +0 -62
  275. package/dist/_chunks/schemas-BE1LxE9J.js.map +0 -1
  276. package/dist/_chunks/schemas-DdA2ic2U.mjs +0 -44
  277. package/dist/_chunks/schemas-DdA2ic2U.mjs.map +0 -1
@@ -0,0 +1,106 @@
1
+ var en = {
2
+ "content-manager-edit-view.add-to-release.select-label": "Select a release",
3
+ "content-manager-edit-view.add-to-release.select-placeholder": "Select",
4
+ "content-manager-edit-view.add-to-release.action-type-label": "What do you want to do with this entry?",
5
+ "content-manager-edit-view.add-to-release.cancel-button": "Cancel",
6
+ "content-manager-edit-view.add-to-release.continue-button": "Continue",
7
+ "content-manager-edit-view.add-to-release": "Add to release",
8
+ "content-manager-edit-view.add-to-release.notification.success": "Entry added to release",
9
+ "content-manager-edit-view.add-to-release.no-releases-message": "No available releases. Open the list of releases and create a new one from there.",
10
+ "content-manager-edit-view.add-to-release.redirect-button": "Open the list of releases",
11
+ "content-manager-edit-view.list-releases.title": "{isPublish, select, true {Will be published in} other {Will be unpublished in}}",
12
+ "content-manager-edit-view.remove-from-release": "Remove from release",
13
+ "content-manager-edit-view.scheduled.date": "{date} at {time} ({offset})",
14
+ "content-manager-edit-view.edit-release": "Edit release",
15
+ "content-releases.content-manager-edit-view.edit-entry": "Edit entry",
16
+ "content-manager-edit-view.remove-from-release.notification.success": "Entry removed from release",
17
+ "content-manager-edit-view.release-action-menu": "Release action options",
18
+ "content-manager.list-view.releases.header": "To be released in",
19
+ "content-manager-list-view.add-to-release": "Add to release",
20
+ "content-manager-list-view.add-to-release.cancel-button": "Cancel",
21
+ "content-manager-list-view.add-to-release.continue-button": "Continue",
22
+ "content-manager-list-view.add-to-release.select-label": "Select a release",
23
+ "content-manager-list-view.add-to-release.select-placeholder": "Select",
24
+ "content-manager-list-view.add-to-release.action-type-label": "What do you want to do with these entries?",
25
+ "content-manager-list-view.add-to-release.notification.success.title": "Successfully added to release.",
26
+ "content-manager-list-view.add-to-release.notification.success.message": "{entriesAlreadyInRelease} out of {totalEntries} entries were already in the release.",
27
+ "content-manager.notification.entry-error": "Failed to get entry data",
28
+ "content-manager.list-view.releases-number": "{number} {number, plural, one {release} other {releases}}",
29
+ "plugin.name": "Releases",
30
+ "pages.Releases.title": "Releases",
31
+ "pages.Releases.header-subtitle": "Create and manage content updates",
32
+ "pages.Releases.max-limit-reached.title": "You have reached the {number} pending {number, plural, one {release} other {releases}} limit.",
33
+ "pages.Releases.max-limit-reached.message": "Upgrade to manage an unlimited number of releases.",
34
+ "pages.Releases.max-limit-reached.action": "Explore plans",
35
+ "pages.PurchaseRelease.subTitle": "Manage content updates and releases.",
36
+ "pages.PurchaseRelease.not-available": "Releases is only available as part of a paid plan. Upgrade to create and manage releases.",
37
+ "pages.PurchaseRelease.description": "Group content and publish updates together",
38
+ "pages.PurchaseRelease.perks1": "Add many entries to releases",
39
+ "pages.PurchaseRelease.perks2": "Quickly identify entries containing errors",
40
+ "pages.PurchaseRelease.perks3": "Schedule their publication, or publish them manually",
41
+ "header.actions.add-release": "New Release",
42
+ "header.actions.refresh": "Refresh",
43
+ "header.actions.publish": "Publish",
44
+ "header.actions.open-release-actions": "Release edit and delete menu",
45
+ "header.actions.edit": "Edit",
46
+ "header.actions.delete": "Delete",
47
+ "header.actions.created": "Created",
48
+ "header.actions.created.description": "{hasCreatedByUser, select, true { by {createdBy}} other { by deleted user}}",
49
+ "modal.release-created-notification-success": "Release created",
50
+ "modal.release-updated-notification-success": "Release updated",
51
+ "modal.title": "{isCreatingRelease, select, true {New release} other {Edit release}}",
52
+ "modal.form.input.label.release-name": "Name",
53
+ "modal.form.input.label.schedule-release": "Schedule release",
54
+ "modal.form.input.label.date": "Date",
55
+ "modal.form.input.label.time": "Time",
56
+ "modal.form.input.label.timezone": "Timezone",
57
+ "modal.form.input.clearLabel": "Clear",
58
+ "modal.form.button.submit": "{isCreatingRelease, select, true {Continue} other {Save}}",
59
+ "modal.form.time.has-passed": "Selected time has already passed.",
60
+ "pages.Details.header-subtitle": "{number, plural, =0 {No entries} one {# entry} other {# entries}}",
61
+ "pages.Releases.tab-group.label": "Releases list",
62
+ "pages.Releases.tab.pending": "Pending ({count})",
63
+ "pages.Releases.tab.done": "Done",
64
+ "page.Releases.tab.emptyEntries": "No releases",
65
+ "pages.Details.tab.emptyEntries": "This release is empty. Open the Content Manager, select an entry and add it to the release.",
66
+ "page.ReleaseDetails.table.header.label.name": "name",
67
+ "page.ReleaseDetails.table.header.label.locale": "locale",
68
+ "page.ReleaseDetails.table.header.label.content-type": "content-type",
69
+ "page.ReleaseDetails.table.header.label.action": "action",
70
+ "content-releases.page.ReleaseDetails.table.header.label.status": "status",
71
+ "page.ReleaseDetails.table.action-published": "This entry was <b>{isPublish, select, true {published} other {unpublished}}</b>.",
72
+ "pages.ReleaseDetails.publish-notification-success": "Release was published successfully.",
73
+ "dialog.confirmation-message": "Are you sure you want to delete this release?",
74
+ "page.Details.button.openContentManager": "Open the Content Manager",
75
+ "pages.Releases.notification.error.title": "Your request could not be processed.",
76
+ "pages.Releases.notification.error.message": "Please try again or open another release.",
77
+ "pages.Releases.not-scheduled": "Not scheduled",
78
+ "pages.ReleaseDetails.groupBy.label": "Group by {groupBy}",
79
+ "pages.ReleaseDetails.groupBy.aria-label": "Group by",
80
+ "pages.ReleaseDetails.entry-validation.already-published": "Already published",
81
+ "pages.ReleaseDetails.entry-validation.ready-to-publish": "Ready to publish",
82
+ "pages.ReleaseDetails.entry-validation.modified": "Ready to publish changes",
83
+ "pages.ReleaseDetails.entry-validation.already-unpublished": "Already unpublished",
84
+ "pages.ReleaseDetails.entry-validation.ready-to-unpublish": "Ready to unpublish",
85
+ "pages.ReleaseDetails.entry-validation.not-ready": "Not ready to publish",
86
+ "pages.ReleaseDetails.groupBy.option.content-type": "Content-Types",
87
+ "pages.ReleaseDetails.groupBy.option.locales": "Locales",
88
+ "pages.ReleaseDetails.groupBy.option.actions": "Actions",
89
+ "pages.ReleaseDetails.header-subtitle.scheduled": "Scheduled for {date} at {time} ({offset})",
90
+ "pages.ReleaseDetails.entry-validation.fields": "Fields",
91
+ "pages.Settings.releases.description": "Create and manage content updates",
92
+ "pages.Settings.releases.preferences.title": "Preferences",
93
+ "pages.Settings.releases.timezone.label": "Default timezone",
94
+ "pages.Settings.releases.timezone.hint": "The timezone of every release can still be changed individually.",
95
+ "pages.Settings.releases.setting.default-timezone-notification-success": "Default timezone updated.",
96
+ "pages.ReleaseDetails.entry-validation.fields.error": "{errors} errors on fields.",
97
+ "pages.ReleaseDetails.entry-validation.fields.success": "All fields are filled correctly.",
98
+ "pages.ReleaseDetails.entry-validation.fields.see-errors": "See errors",
99
+ "pages.ReleaseDetails.entry-validation.review-stage.not-enabled": "This entry is not associated to any workflow.",
100
+ "pages.ReleaseDetails.entry-validation.review-stage.not-ready": "This entry is not at the required stage for publishing. ({stageName})",
101
+ "pages.ReleaseDetails.entry-validation.review-stage.ready": "This entry is at the required stage for publishing. ({stageName})",
102
+ "pages.ReleaseDetails.entry-validation.review-stage.stage-not-required": "No required stage for publication."
103
+ };
104
+
105
+ export { en as default };
106
+ //# sourceMappingURL=en.json.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"en.json.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,103 @@
1
+ 'use strict';
2
+
3
+ var uk = {
4
+ "content-manager-edit-view.add-to-release.select-label": "Виберіть реліз",
5
+ "content-manager-edit-view.add-to-release.select-placeholder": "Виберіть",
6
+ "content-manager-edit-view.add-to-release.action-type-label": "Що ви хочете зробити з цим записом?",
7
+ "content-manager-edit-view.add-to-release.cancel-button": "Скасувати",
8
+ "content-manager-edit-view.add-to-release.continue-button": "Продовжити",
9
+ "content-manager-edit-view.add-to-release": "Додати до релізу",
10
+ "content-manager-edit-view.add-to-release.notification.success": "Запис додано до релізу",
11
+ "content-manager-edit-view.add-to-release.no-releases-message": "Немає доступних релізів. Відкрийте список релізів і створіть новий звідти.",
12
+ "content-manager-edit-view.add-to-release.redirect-button": "Відкрити список релізів",
13
+ "content-manager-edit-view.list-releases.title": "{isPublish, select, true {Буде опубліковано в} other {Буде скасовано публікацію в}}",
14
+ "content-manager-edit-view.remove-from-release": "Видалити з релізу",
15
+ "content-manager-edit-view.scheduled.date": "{date} о {time} ({offset})",
16
+ "content-manager-edit-view.edit-release": "Редагувати реліз",
17
+ "content-releases.content-manager-edit-view.edit-entry": "Редагувати запис",
18
+ "content-manager-edit-view.remove-from-release.notification.success": "Запис видалено з релізу",
19
+ "content-manager-edit-view.release-action-menu": "Опції дій релізу",
20
+ "content-manager.list-view.releases.header": "Буде випущено в",
21
+ "content-manager-list-view.add-to-release": "Додати до релізу",
22
+ "content-manager-list-view.add-to-release.cancel-button": "Скасувати",
23
+ "content-manager-list-view.add-to-release.continue-button": "Продовжити",
24
+ "content-manager-list-view.add-to-release.select-label": "Виберіть реліз",
25
+ "content-manager-list-view.add-to-release.select-placeholder": "Виберіть",
26
+ "content-manager-list-view.add-to-release.action-type-label": "Що ви хочете зробити з цими записами?",
27
+ "content-manager-list-view.add-to-release.notification.success.title": "Успішно додано до релізу.",
28
+ "content-manager-list-view.add-to-release.notification.success.message": "{entriesAlreadyInRelease} з {totalEntries} записів вже були в релізі.",
29
+ "content-manager.notification.entry-error": "Не вдалося отримати дані запису",
30
+ "content-manager.list-view.releases-number": "{number} {number, plural, one {реліз} other {релізи}}",
31
+ "plugin.name": "Релізи",
32
+ "pages.Releases.title": "Релізи",
33
+ "pages.Releases.header-subtitle": "Створюйте та керуйте оновленнями вмісту",
34
+ "pages.Releases.max-limit-reached.title": "Ви досягли ліміту {number} очікуючих {number, plural, one {реліз} other {релізів}}.",
35
+ "pages.Releases.max-limit-reached.message": "Оновіть план, щоб керувати необмеженою кількістю релізів.",
36
+ "pages.Releases.max-limit-reached.action": "Досліджуйте плани",
37
+ "pages.PurchaseRelease.subTitle": "Керуйте оновленнями вмісту та релізами.",
38
+ "pages.PurchaseRelease.not-available": "Релізи доступні лише в рамках платного плану. Оновіть план, щоб створювати та керувати релізами.",
39
+ "header.actions.add-release": "Новий реліз",
40
+ "header.actions.refresh": "Оновити",
41
+ "header.actions.publish": "Опублікувати",
42
+ "header.actions.open-release-actions": "Меню редагування та видалення релізу",
43
+ "header.actions.edit": "Редагувати",
44
+ "header.actions.delete": "Видалити",
45
+ "header.actions.created": "Створено",
46
+ "header.actions.created.description": "{hasCreatedByUser, select, true { автор: {createdBy}} other { автор: видалений користувач}}",
47
+ "modal.release-created-notification-success": "Реліз створено",
48
+ "modal.release-updated-notification-success": "Реліз оновлено",
49
+ "modal.title": "{isCreatingRelease, select, true {Новий реліз} other {Редагувати реліз}}",
50
+ "modal.form.input.label.release-name": "Назва",
51
+ "modal.form.input.label.schedule-release": "Запланувати реліз",
52
+ "modal.form.input.label.date": "Дата",
53
+ "modal.form.input.label.time": "Час",
54
+ "modal.form.input.label.timezone": "Часовий пояс",
55
+ "modal.form.input.clearLabel": "Очистити",
56
+ "modal.form.button.submit": "{isCreatingRelease, select, true {Продовжити} other {Зберегти}}",
57
+ "modal.form.time.has-passed": "Вибраний час вже минув.",
58
+ "pages.Details.header-subtitle": "{number, plural, =0 {Немає записів} one {# запис} other {# записів}}",
59
+ "pages.Releases.tab-group.label": "Список релізів",
60
+ "pages.Releases.tab.pending": "Очікує ({count})",
61
+ "pages.Releases.tab.done": "Завершено",
62
+ "page.Releases.tab.emptyEntries": "Немає релізів",
63
+ "pages.Details.tab.emptyEntries": "Цей реліз порожній. Відкрийте Менеджер вмісту, виберіть запис і додайте його до релізу.",
64
+ "page.ReleaseDetails.table.header.label.name": "назва",
65
+ "page.ReleaseDetails.table.header.label.locale": "локаль",
66
+ "page.ReleaseDetails.table.header.label.content-type": "тип вмісту",
67
+ "page.ReleaseDetails.table.header.label.action": "дія",
68
+ "content-releases.page.ReleaseDetails.table.header.label.status": "статус",
69
+ "page.ReleaseDetails.table.action-published": "Цей запис: <b>{isPublish, select, true {опубліковано} other {скасовано публікацію}}</b>.",
70
+ "pages.ReleaseDetails.publish-notification-success": "Реліз успішно опубліковано.",
71
+ "dialog.confirmation-message": "Ви впевнені, що хочете видалити цей реліз?",
72
+ "page.Details.button.openContentManager": "Відкрити Менеджер вмісту",
73
+ "pages.Releases.notification.error.title": "Ваш запит не може бути оброблений.",
74
+ "pages.Releases.notification.error.message": "Будь ласка, спробуйте ще раз або відкрийте інший реліз.",
75
+ "pages.Releases.not-scheduled": "Не заплановано",
76
+ "pages.ReleaseDetails.groupBy.label": "Групувати за {groupBy}",
77
+ "pages.ReleaseDetails.groupBy.aria-label": "Групувати за",
78
+ "pages.ReleaseDetails.entry-validation.already-published": "Вже опубліковано",
79
+ "pages.ReleaseDetails.entry-validation.ready-to-publish": "Готово до публікації",
80
+ "pages.ReleaseDetails.entry-validation.modified": "Готово до публікації змін",
81
+ "pages.ReleaseDetails.entry-validation.already-unpublished": "Вже скасовано публікацію",
82
+ "pages.ReleaseDetails.entry-validation.ready-to-unpublish": "Готово до скасування публікації",
83
+ "pages.ReleaseDetails.entry-validation.not-ready": "Не готово до публікації",
84
+ "pages.ReleaseDetails.groupBy.option.content-type": "Типи вмісту",
85
+ "pages.ReleaseDetails.groupBy.option.locales": "Локалі",
86
+ "pages.ReleaseDetails.groupBy.option.actions": "Дії",
87
+ "pages.ReleaseDetails.header-subtitle.scheduled": "Заплановано на {date} о {time} ({offset})",
88
+ "pages.ReleaseDetails.entry-validation.fields": "Поля",
89
+ "pages.Settings.releases.title": "Релізи",
90
+ "pages.Settings.releases.description": "Створюйте та керуйте оновленнями вмісту",
91
+ "pages.Settings.releases.timezone.label": "Часовий пояс за замовчуванням",
92
+ "pages.Settings.releases.setting.default-timezone-notification-success": "Часовий пояс за замовчуванням оновлено.",
93
+ "pages.ReleaseDetails.entry-validation.fields.error": "{errors} помилок у полях.",
94
+ "pages.ReleaseDetails.entry-validation.fields.success": "Всі поля заповнені правильно.",
95
+ "pages.ReleaseDetails.entry-validation.fields.see-errors": "Переглянути помилки",
96
+ "pages.ReleaseDetails.entry-validation.review-stage.not-enabled": "Цей запис не пов'язаний з жодним робочим процесом.",
97
+ "pages.ReleaseDetails.entry-validation.review-stage.not-ready": "Цей запис не на необхідному етапі для публікації. ({stageName})",
98
+ "pages.ReleaseDetails.entry-validation.review-stage.ready": "Цей запис на необхідному етапі для публікації. ({stageName})",
99
+ "pages.ReleaseDetails.entry-validation.review-stage.stage-not-required": "Необхідний етап для публікації відсутній."
100
+ };
101
+
102
+ module.exports = uk;
103
+ //# sourceMappingURL=uk.json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uk.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,101 @@
1
+ var uk = {
2
+ "content-manager-edit-view.add-to-release.select-label": "Виберіть реліз",
3
+ "content-manager-edit-view.add-to-release.select-placeholder": "Виберіть",
4
+ "content-manager-edit-view.add-to-release.action-type-label": "Що ви хочете зробити з цим записом?",
5
+ "content-manager-edit-view.add-to-release.cancel-button": "Скасувати",
6
+ "content-manager-edit-view.add-to-release.continue-button": "Продовжити",
7
+ "content-manager-edit-view.add-to-release": "Додати до релізу",
8
+ "content-manager-edit-view.add-to-release.notification.success": "Запис додано до релізу",
9
+ "content-manager-edit-view.add-to-release.no-releases-message": "Немає доступних релізів. Відкрийте список релізів і створіть новий звідти.",
10
+ "content-manager-edit-view.add-to-release.redirect-button": "Відкрити список релізів",
11
+ "content-manager-edit-view.list-releases.title": "{isPublish, select, true {Буде опубліковано в} other {Буде скасовано публікацію в}}",
12
+ "content-manager-edit-view.remove-from-release": "Видалити з релізу",
13
+ "content-manager-edit-view.scheduled.date": "{date} о {time} ({offset})",
14
+ "content-manager-edit-view.edit-release": "Редагувати реліз",
15
+ "content-releases.content-manager-edit-view.edit-entry": "Редагувати запис",
16
+ "content-manager-edit-view.remove-from-release.notification.success": "Запис видалено з релізу",
17
+ "content-manager-edit-view.release-action-menu": "Опції дій релізу",
18
+ "content-manager.list-view.releases.header": "Буде випущено в",
19
+ "content-manager-list-view.add-to-release": "Додати до релізу",
20
+ "content-manager-list-view.add-to-release.cancel-button": "Скасувати",
21
+ "content-manager-list-view.add-to-release.continue-button": "Продовжити",
22
+ "content-manager-list-view.add-to-release.select-label": "Виберіть реліз",
23
+ "content-manager-list-view.add-to-release.select-placeholder": "Виберіть",
24
+ "content-manager-list-view.add-to-release.action-type-label": "Що ви хочете зробити з цими записами?",
25
+ "content-manager-list-view.add-to-release.notification.success.title": "Успішно додано до релізу.",
26
+ "content-manager-list-view.add-to-release.notification.success.message": "{entriesAlreadyInRelease} з {totalEntries} записів вже були в релізі.",
27
+ "content-manager.notification.entry-error": "Не вдалося отримати дані запису",
28
+ "content-manager.list-view.releases-number": "{number} {number, plural, one {реліз} other {релізи}}",
29
+ "plugin.name": "Релізи",
30
+ "pages.Releases.title": "Релізи",
31
+ "pages.Releases.header-subtitle": "Створюйте та керуйте оновленнями вмісту",
32
+ "pages.Releases.max-limit-reached.title": "Ви досягли ліміту {number} очікуючих {number, plural, one {реліз} other {релізів}}.",
33
+ "pages.Releases.max-limit-reached.message": "Оновіть план, щоб керувати необмеженою кількістю релізів.",
34
+ "pages.Releases.max-limit-reached.action": "Досліджуйте плани",
35
+ "pages.PurchaseRelease.subTitle": "Керуйте оновленнями вмісту та релізами.",
36
+ "pages.PurchaseRelease.not-available": "Релізи доступні лише в рамках платного плану. Оновіть план, щоб створювати та керувати релізами.",
37
+ "header.actions.add-release": "Новий реліз",
38
+ "header.actions.refresh": "Оновити",
39
+ "header.actions.publish": "Опублікувати",
40
+ "header.actions.open-release-actions": "Меню редагування та видалення релізу",
41
+ "header.actions.edit": "Редагувати",
42
+ "header.actions.delete": "Видалити",
43
+ "header.actions.created": "Створено",
44
+ "header.actions.created.description": "{hasCreatedByUser, select, true { автор: {createdBy}} other { автор: видалений користувач}}",
45
+ "modal.release-created-notification-success": "Реліз створено",
46
+ "modal.release-updated-notification-success": "Реліз оновлено",
47
+ "modal.title": "{isCreatingRelease, select, true {Новий реліз} other {Редагувати реліз}}",
48
+ "modal.form.input.label.release-name": "Назва",
49
+ "modal.form.input.label.schedule-release": "Запланувати реліз",
50
+ "modal.form.input.label.date": "Дата",
51
+ "modal.form.input.label.time": "Час",
52
+ "modal.form.input.label.timezone": "Часовий пояс",
53
+ "modal.form.input.clearLabel": "Очистити",
54
+ "modal.form.button.submit": "{isCreatingRelease, select, true {Продовжити} other {Зберегти}}",
55
+ "modal.form.time.has-passed": "Вибраний час вже минув.",
56
+ "pages.Details.header-subtitle": "{number, plural, =0 {Немає записів} one {# запис} other {# записів}}",
57
+ "pages.Releases.tab-group.label": "Список релізів",
58
+ "pages.Releases.tab.pending": "Очікує ({count})",
59
+ "pages.Releases.tab.done": "Завершено",
60
+ "page.Releases.tab.emptyEntries": "Немає релізів",
61
+ "pages.Details.tab.emptyEntries": "Цей реліз порожній. Відкрийте Менеджер вмісту, виберіть запис і додайте його до релізу.",
62
+ "page.ReleaseDetails.table.header.label.name": "назва",
63
+ "page.ReleaseDetails.table.header.label.locale": "локаль",
64
+ "page.ReleaseDetails.table.header.label.content-type": "тип вмісту",
65
+ "page.ReleaseDetails.table.header.label.action": "дія",
66
+ "content-releases.page.ReleaseDetails.table.header.label.status": "статус",
67
+ "page.ReleaseDetails.table.action-published": "Цей запис: <b>{isPublish, select, true {опубліковано} other {скасовано публікацію}}</b>.",
68
+ "pages.ReleaseDetails.publish-notification-success": "Реліз успішно опубліковано.",
69
+ "dialog.confirmation-message": "Ви впевнені, що хочете видалити цей реліз?",
70
+ "page.Details.button.openContentManager": "Відкрити Менеджер вмісту",
71
+ "pages.Releases.notification.error.title": "Ваш запит не може бути оброблений.",
72
+ "pages.Releases.notification.error.message": "Будь ласка, спробуйте ще раз або відкрийте інший реліз.",
73
+ "pages.Releases.not-scheduled": "Не заплановано",
74
+ "pages.ReleaseDetails.groupBy.label": "Групувати за {groupBy}",
75
+ "pages.ReleaseDetails.groupBy.aria-label": "Групувати за",
76
+ "pages.ReleaseDetails.entry-validation.already-published": "Вже опубліковано",
77
+ "pages.ReleaseDetails.entry-validation.ready-to-publish": "Готово до публікації",
78
+ "pages.ReleaseDetails.entry-validation.modified": "Готово до публікації змін",
79
+ "pages.ReleaseDetails.entry-validation.already-unpublished": "Вже скасовано публікацію",
80
+ "pages.ReleaseDetails.entry-validation.ready-to-unpublish": "Готово до скасування публікації",
81
+ "pages.ReleaseDetails.entry-validation.not-ready": "Не готово до публікації",
82
+ "pages.ReleaseDetails.groupBy.option.content-type": "Типи вмісту",
83
+ "pages.ReleaseDetails.groupBy.option.locales": "Локалі",
84
+ "pages.ReleaseDetails.groupBy.option.actions": "Дії",
85
+ "pages.ReleaseDetails.header-subtitle.scheduled": "Заплановано на {date} о {time} ({offset})",
86
+ "pages.ReleaseDetails.entry-validation.fields": "Поля",
87
+ "pages.Settings.releases.title": "Релізи",
88
+ "pages.Settings.releases.description": "Створюйте та керуйте оновленнями вмісту",
89
+ "pages.Settings.releases.timezone.label": "Часовий пояс за замовчуванням",
90
+ "pages.Settings.releases.setting.default-timezone-notification-success": "Часовий пояс за замовчуванням оновлено.",
91
+ "pages.ReleaseDetails.entry-validation.fields.error": "{errors} помилок у полях.",
92
+ "pages.ReleaseDetails.entry-validation.fields.success": "Всі поля заповнені правильно.",
93
+ "pages.ReleaseDetails.entry-validation.fields.see-errors": "Переглянути помилки",
94
+ "pages.ReleaseDetails.entry-validation.review-stage.not-enabled": "Цей запис не пов'язаний з жодним робочим процесом.",
95
+ "pages.ReleaseDetails.entry-validation.review-stage.not-ready": "Цей запис не на необхідному етапі для публікації. ({stageName})",
96
+ "pages.ReleaseDetails.entry-validation.review-stage.ready": "Цей запис на необхідному етапі для публікації. ({stageName})",
97
+ "pages.ReleaseDetails.entry-validation.review-stage.stage-not-required": "Необхідний етап для публікації відсутній."
98
+ };
99
+
100
+ export { uk as default };
101
+ //# sourceMappingURL=uk.json.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uk.json.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,8 @@
1
+ 'use strict';
2
+
3
+ const isBaseQueryError = (error)=>{
4
+ return typeof error !== 'undefined' && error.name !== undefined;
5
+ };
6
+
7
+ exports.isBaseQueryError = isBaseQueryError;
8
+ //# sourceMappingURL=api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.js","sources":["../../../admin/src/utils/api.ts"],"sourcesContent":["import { SerializedError } from '@reduxjs/toolkit';\nimport { ApiError } from '@strapi/admin/strapi-admin';\n\ntype BaseQueryError = ApiError | SerializedError;\n\nconst isBaseQueryError = (error?: BaseQueryError): error is BaseQueryError => {\n return typeof error !== 'undefined' && error.name !== undefined;\n};\n\nexport { isBaseQueryError };\nexport type { BaseQueryError };\n"],"names":["isBaseQueryError","error","name","undefined"],"mappings":";;AAKA,MAAMA,mBAAmB,CAACC,KAAAA,GAAAA;AACxB,IAAA,OAAO,OAAOA,KAAAA,KAAU,WAAeA,IAAAA,KAAAA,CAAMC,IAAI,KAAKC,SAAAA;AACxD;;;;"}
@@ -0,0 +1,6 @@
1
+ const isBaseQueryError = (error)=>{
2
+ return typeof error !== 'undefined' && error.name !== undefined;
3
+ };
4
+
5
+ export { isBaseQueryError };
6
+ //# sourceMappingURL=api.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.mjs","sources":["../../../admin/src/utils/api.ts"],"sourcesContent":["import { SerializedError } from '@reduxjs/toolkit';\nimport { ApiError } from '@strapi/admin/strapi-admin';\n\ntype BaseQueryError = ApiError | SerializedError;\n\nconst isBaseQueryError = (error?: BaseQueryError): error is BaseQueryError => {\n return typeof error !== 'undefined' && error.name !== undefined;\n};\n\nexport { isBaseQueryError };\nexport type { BaseQueryError };\n"],"names":["isBaseQueryError","error","name","undefined"],"mappings":"AAKA,MAAMA,mBAAmB,CAACC,KAAAA,GAAAA;AACxB,IAAA,OAAO,OAAOA,KAAAA,KAAU,WAAeA,IAAAA,KAAAA,CAAMC,IAAI,KAAKC,SAAAA;AACxD;;;;"}
@@ -0,0 +1,11 @@
1
+ 'use strict';
2
+
3
+ const prefixPluginTranslations = (trad, pluginId)=>{
4
+ return Object.keys(trad).reduce((acc, current)=>{
5
+ acc[`${pluginId}.${current}`] = trad[current];
6
+ return acc;
7
+ }, {});
8
+ };
9
+
10
+ exports.prefixPluginTranslations = prefixPluginTranslations;
11
+ //# sourceMappingURL=prefixPluginTranslations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prefixPluginTranslations.js","sources":["../../../admin/src/utils/prefixPluginTranslations.ts"],"sourcesContent":["type TradOptions = Record<string, string>;\n\nconst prefixPluginTranslations = (trad: TradOptions, pluginId: string): TradOptions => {\n if (!pluginId) {\n throw new TypeError(\"pluginId can't be empty\");\n }\n return Object.keys(trad).reduce((acc, current) => {\n acc[`${pluginId}.${current}`] = trad[current];\n return acc;\n }, {} as TradOptions);\n};\n\nexport { prefixPluginTranslations };\n"],"names":["prefixPluginTranslations","trad","pluginId","Object","keys","reduce","acc","current"],"mappings":";;AAEMA,MAAAA,wBAAAA,GAA2B,CAACC,IAAmBC,EAAAA,QAAAA,GAAAA;AAInD,IAAA,OAAOC,OAAOC,IAAI,CAACH,MAAMI,MAAM,CAAC,CAACC,GAAKC,EAAAA,OAAAA,GAAAA;AACpCD,QAAAA,GAAG,CAAC,CAAC,EAAEJ,QAAAA,CAAS,CAAC,EAAEK,OAAQ,CAAA,CAAC,CAAC,GAAGN,IAAI,CAACM,OAAQ,CAAA;QAC7C,OAAOD,GAAAA;AACT,KAAA,EAAG,EAAC,CAAA;AACN;;;;"}
@@ -0,0 +1,9 @@
1
+ const prefixPluginTranslations = (trad, pluginId)=>{
2
+ return Object.keys(trad).reduce((acc, current)=>{
3
+ acc[`${pluginId}.${current}`] = trad[current];
4
+ return acc;
5
+ }, {});
6
+ };
7
+
8
+ export { prefixPluginTranslations };
9
+ //# sourceMappingURL=prefixPluginTranslations.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prefixPluginTranslations.mjs","sources":["../../../admin/src/utils/prefixPluginTranslations.ts"],"sourcesContent":["type TradOptions = Record<string, string>;\n\nconst prefixPluginTranslations = (trad: TradOptions, pluginId: string): TradOptions => {\n if (!pluginId) {\n throw new TypeError(\"pluginId can't be empty\");\n }\n return Object.keys(trad).reduce((acc, current) => {\n acc[`${pluginId}.${current}`] = trad[current];\n return acc;\n }, {} as TradOptions);\n};\n\nexport { prefixPluginTranslations };\n"],"names":["prefixPluginTranslations","trad","pluginId","Object","keys","reduce","acc","current"],"mappings":"AAEMA,MAAAA,wBAAAA,GAA2B,CAACC,IAAmBC,EAAAA,QAAAA,GAAAA;AAInD,IAAA,OAAOC,OAAOC,IAAI,CAACH,MAAMI,MAAM,CAAC,CAACC,GAAKC,EAAAA,OAAAA,GAAAA;AACpCD,QAAAA,GAAG,CAAC,CAAC,EAAEJ,QAAAA,CAAS,CAAC,EAAEK,OAAQ,CAAA,CAAC,CAAC,GAAGN,IAAI,CAACM,OAAQ,CAAA;QAC7C,OAAOD,GAAAA;AACT,KAAA,EAAG,EAAC,CAAA;AACN;;;;"}
@@ -0,0 +1,42 @@
1
+ 'use strict';
2
+
3
+ const getTimezoneOffset = (timezone, date)=>{
4
+ try {
5
+ const offsetPart = new Intl.DateTimeFormat('en', {
6
+ timeZone: timezone,
7
+ timeZoneName: 'longOffset'
8
+ }).formatToParts(date).find((part)=>part.type === 'timeZoneName');
9
+ const offset = offsetPart ? offsetPart.value : '';
10
+ // We want to show time based on UTC, not GMT so we swap that.
11
+ let utcOffset = offset.replace('GMT', 'UTC');
12
+ // For perfect UTC (UTC+0:00) we only get the string UTC, So we need to append the 0's.
13
+ if (!utcOffset.includes('+') && !utcOffset.includes('-')) {
14
+ utcOffset = `${utcOffset}+00:00`;
15
+ }
16
+ return utcOffset;
17
+ } catch (error) {
18
+ // When timezone is invalid we catch the error and return empty to don't break the app
19
+ return '';
20
+ }
21
+ };
22
+ const getTimezones = (selectedDate)=>{
23
+ const timezoneList = Intl.supportedValuesOf('timeZone').map((timezone)=>{
24
+ // Timezone will be in the format GMT${OFFSET} where offset could be nothing,
25
+ // a four digit string e.g. +05:00 or -08:00
26
+ const utcOffset = getTimezoneOffset(timezone, selectedDate);
27
+ // Offset and timezone are concatenated with '&', so to split and save the required timezone in DB
28
+ return {
29
+ offset: utcOffset,
30
+ value: `${utcOffset}&${timezone}`
31
+ };
32
+ });
33
+ const systemTimezone = timezoneList.find((timezone)=>timezone.value.split('&')[1] === Intl.DateTimeFormat().resolvedOptions().timeZone);
34
+ return {
35
+ timezoneList,
36
+ systemTimezone
37
+ };
38
+ };
39
+
40
+ exports.getTimezoneOffset = getTimezoneOffset;
41
+ exports.getTimezones = getTimezones;
42
+ //# sourceMappingURL=time.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time.js","sources":["../../../admin/src/utils/time.ts"],"sourcesContent":["export const getTimezoneOffset = (timezone: string, date: Date) => {\n try {\n const offsetPart = new Intl.DateTimeFormat('en', {\n timeZone: timezone,\n timeZoneName: 'longOffset',\n })\n .formatToParts(date)\n .find((part) => part.type === 'timeZoneName');\n\n const offset = offsetPart ? offsetPart.value : '';\n\n // We want to show time based on UTC, not GMT so we swap that.\n let utcOffset = offset.replace('GMT', 'UTC');\n\n // For perfect UTC (UTC+0:00) we only get the string UTC, So we need to append the 0's.\n if (!utcOffset.includes('+') && !utcOffset.includes('-')) {\n utcOffset = `${utcOffset}+00:00`;\n }\n\n return utcOffset;\n } catch (error) {\n // When timezone is invalid we catch the error and return empty to don't break the app\n return '';\n }\n};\n\ninterface ITimezoneOption {\n offset: string;\n value: string;\n}\n\nexport const getTimezones = (selectedDate: Date) => {\n const timezoneList: ITimezoneOption[] = Intl.supportedValuesOf('timeZone').map((timezone) => {\n // Timezone will be in the format GMT${OFFSET} where offset could be nothing,\n // a four digit string e.g. +05:00 or -08:00\n const utcOffset = getTimezoneOffset(timezone, selectedDate);\n\n // Offset and timezone are concatenated with '&', so to split and save the required timezone in DB\n return { offset: utcOffset, value: `${utcOffset}&${timezone}` } satisfies ITimezoneOption;\n });\n\n const systemTimezone = timezoneList.find(\n (timezone) => timezone.value.split('&')[1] === Intl.DateTimeFormat().resolvedOptions().timeZone\n );\n\n return { timezoneList, systemTimezone };\n};\n"],"names":["getTimezoneOffset","timezone","date","offsetPart","Intl","DateTimeFormat","timeZone","timeZoneName","formatToParts","find","part","type","offset","value","utcOffset","replace","includes","error","getTimezones","selectedDate","timezoneList","supportedValuesOf","map","systemTimezone","split","resolvedOptions"],"mappings":";;AAAO,MAAMA,iBAAoB,GAAA,CAACC,QAAkBC,EAAAA,IAAAA,GAAAA;IAClD,IAAI;AACF,QAAA,MAAMC,UAAa,GAAA,IAAIC,IAAKC,CAAAA,cAAc,CAAC,IAAM,EAAA;YAC/CC,QAAUL,EAAAA,QAAAA;YACVM,YAAc,EAAA;SAEbC,CAAAA,CAAAA,aAAa,CAACN,IACdO,CAAAA,CAAAA,IAAI,CAAC,CAACC,IAAAA,GAASA,IAAKC,CAAAA,IAAI,KAAK,cAAA,CAAA;AAEhC,QAAA,MAAMC,MAAST,GAAAA,UAAAA,GAAaA,UAAWU,CAAAA,KAAK,GAAG,EAAA;;AAG/C,QAAA,IAAIC,SAAYF,GAAAA,MAAAA,CAAOG,OAAO,CAAC,KAAO,EAAA,KAAA,CAAA;;QAGtC,IAAI,CAACD,UAAUE,QAAQ,CAAC,QAAQ,CAACF,SAAAA,CAAUE,QAAQ,CAAC,GAAM,CAAA,EAAA;AACxDF,YAAAA,SAAAA,GAAY,CAAC,EAAEA,SAAU,CAAA,MAAM,CAAC;AAClC;QAEA,OAAOA,SAAAA;AACT,KAAA,CAAE,OAAOG,KAAO,EAAA;;QAEd,OAAO,EAAA;AACT;AACF;AAOO,MAAMC,eAAe,CAACC,YAAAA,GAAAA;AAC3B,IAAA,MAAMC,eAAkChB,IAAKiB,CAAAA,iBAAiB,CAAC,UAAYC,CAAAA,CAAAA,GAAG,CAAC,CAACrB,QAAAA,GAAAA;;;QAG9E,MAAMa,SAAAA,GAAYd,kBAAkBC,QAAUkB,EAAAA,YAAAA,CAAAA;;QAG9C,OAAO;YAAEP,MAAQE,EAAAA,SAAAA;AAAWD,YAAAA,KAAAA,EAAO,CAAC,EAAEC,SAAAA,CAAU,CAAC,EAAEb,SAAS;AAAE,SAAA;AAChE,KAAA,CAAA;IAEA,MAAMsB,cAAAA,GAAiBH,aAAaX,IAAI,CACtC,CAACR,QAAaA,GAAAA,QAAAA,CAASY,KAAK,CAACW,KAAK,CAAC,GAAI,CAAA,CAAC,EAAE,KAAKpB,IAAAA,CAAKC,cAAc,EAAGoB,CAAAA,eAAe,GAAGnB,QAAQ,CAAA;IAGjG,OAAO;AAAEc,QAAAA,YAAAA;AAAcG,QAAAA;AAAe,KAAA;AACxC;;;;;"}
@@ -0,0 +1,39 @@
1
+ const getTimezoneOffset = (timezone, date)=>{
2
+ try {
3
+ const offsetPart = new Intl.DateTimeFormat('en', {
4
+ timeZone: timezone,
5
+ timeZoneName: 'longOffset'
6
+ }).formatToParts(date).find((part)=>part.type === 'timeZoneName');
7
+ const offset = offsetPart ? offsetPart.value : '';
8
+ // We want to show time based on UTC, not GMT so we swap that.
9
+ let utcOffset = offset.replace('GMT', 'UTC');
10
+ // For perfect UTC (UTC+0:00) we only get the string UTC, So we need to append the 0's.
11
+ if (!utcOffset.includes('+') && !utcOffset.includes('-')) {
12
+ utcOffset = `${utcOffset}+00:00`;
13
+ }
14
+ return utcOffset;
15
+ } catch (error) {
16
+ // When timezone is invalid we catch the error and return empty to don't break the app
17
+ return '';
18
+ }
19
+ };
20
+ const getTimezones = (selectedDate)=>{
21
+ const timezoneList = Intl.supportedValuesOf('timeZone').map((timezone)=>{
22
+ // Timezone will be in the format GMT${OFFSET} where offset could be nothing,
23
+ // a four digit string e.g. +05:00 or -08:00
24
+ const utcOffset = getTimezoneOffset(timezone, selectedDate);
25
+ // Offset and timezone are concatenated with '&', so to split and save the required timezone in DB
26
+ return {
27
+ offset: utcOffset,
28
+ value: `${utcOffset}&${timezone}`
29
+ };
30
+ });
31
+ const systemTimezone = timezoneList.find((timezone)=>timezone.value.split('&')[1] === Intl.DateTimeFormat().resolvedOptions().timeZone);
32
+ return {
33
+ timezoneList,
34
+ systemTimezone
35
+ };
36
+ };
37
+
38
+ export { getTimezoneOffset, getTimezones };
39
+ //# sourceMappingURL=time.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time.mjs","sources":["../../../admin/src/utils/time.ts"],"sourcesContent":["export const getTimezoneOffset = (timezone: string, date: Date) => {\n try {\n const offsetPart = new Intl.DateTimeFormat('en', {\n timeZone: timezone,\n timeZoneName: 'longOffset',\n })\n .formatToParts(date)\n .find((part) => part.type === 'timeZoneName');\n\n const offset = offsetPart ? offsetPart.value : '';\n\n // We want to show time based on UTC, not GMT so we swap that.\n let utcOffset = offset.replace('GMT', 'UTC');\n\n // For perfect UTC (UTC+0:00) we only get the string UTC, So we need to append the 0's.\n if (!utcOffset.includes('+') && !utcOffset.includes('-')) {\n utcOffset = `${utcOffset}+00:00`;\n }\n\n return utcOffset;\n } catch (error) {\n // When timezone is invalid we catch the error and return empty to don't break the app\n return '';\n }\n};\n\ninterface ITimezoneOption {\n offset: string;\n value: string;\n}\n\nexport const getTimezones = (selectedDate: Date) => {\n const timezoneList: ITimezoneOption[] = Intl.supportedValuesOf('timeZone').map((timezone) => {\n // Timezone will be in the format GMT${OFFSET} where offset could be nothing,\n // a four digit string e.g. +05:00 or -08:00\n const utcOffset = getTimezoneOffset(timezone, selectedDate);\n\n // Offset and timezone are concatenated with '&', so to split and save the required timezone in DB\n return { offset: utcOffset, value: `${utcOffset}&${timezone}` } satisfies ITimezoneOption;\n });\n\n const systemTimezone = timezoneList.find(\n (timezone) => timezone.value.split('&')[1] === Intl.DateTimeFormat().resolvedOptions().timeZone\n );\n\n return { timezoneList, systemTimezone };\n};\n"],"names":["getTimezoneOffset","timezone","date","offsetPart","Intl","DateTimeFormat","timeZone","timeZoneName","formatToParts","find","part","type","offset","value","utcOffset","replace","includes","error","getTimezones","selectedDate","timezoneList","supportedValuesOf","map","systemTimezone","split","resolvedOptions"],"mappings":"AAAO,MAAMA,iBAAoB,GAAA,CAACC,QAAkBC,EAAAA,IAAAA,GAAAA;IAClD,IAAI;AACF,QAAA,MAAMC,UAAa,GAAA,IAAIC,IAAKC,CAAAA,cAAc,CAAC,IAAM,EAAA;YAC/CC,QAAUL,EAAAA,QAAAA;YACVM,YAAc,EAAA;SAEbC,CAAAA,CAAAA,aAAa,CAACN,IACdO,CAAAA,CAAAA,IAAI,CAAC,CAACC,IAAAA,GAASA,IAAKC,CAAAA,IAAI,KAAK,cAAA,CAAA;AAEhC,QAAA,MAAMC,MAAST,GAAAA,UAAAA,GAAaA,UAAWU,CAAAA,KAAK,GAAG,EAAA;;AAG/C,QAAA,IAAIC,SAAYF,GAAAA,MAAAA,CAAOG,OAAO,CAAC,KAAO,EAAA,KAAA,CAAA;;QAGtC,IAAI,CAACD,UAAUE,QAAQ,CAAC,QAAQ,CAACF,SAAAA,CAAUE,QAAQ,CAAC,GAAM,CAAA,EAAA;AACxDF,YAAAA,SAAAA,GAAY,CAAC,EAAEA,SAAU,CAAA,MAAM,CAAC;AAClC;QAEA,OAAOA,SAAAA;AACT,KAAA,CAAE,OAAOG,KAAO,EAAA;;QAEd,OAAO,EAAA;AACT;AACF;AAOO,MAAMC,eAAe,CAACC,YAAAA,GAAAA;AAC3B,IAAA,MAAMC,eAAkChB,IAAKiB,CAAAA,iBAAiB,CAAC,UAAYC,CAAAA,CAAAA,GAAG,CAAC,CAACrB,QAAAA,GAAAA;;;QAG9E,MAAMa,SAAAA,GAAYd,kBAAkBC,QAAUkB,EAAAA,YAAAA,CAAAA;;QAG9C,OAAO;YAAEP,MAAQE,EAAAA,SAAAA;AAAWD,YAAAA,KAAAA,EAAO,CAAC,EAAEC,SAAAA,CAAU,CAAC,EAAEb,SAAS;AAAE,SAAA;AAChE,KAAA,CAAA;IAEA,MAAMsB,cAAAA,GAAiBH,aAAaX,IAAI,CACtC,CAACR,QAAaA,GAAAA,QAAAA,CAASY,KAAK,CAACW,KAAK,CAAC,GAAI,CAAA,CAAC,EAAE,KAAKpB,IAAAA,CAAKC,cAAc,EAAGoB,CAAAA,eAAe,GAAGnB,QAAQ,CAAA;IAGjG,OAAO;AAAEc,QAAAA,YAAAA;AAAcG,QAAAA;AAAe,KAAA;AACxC;;;;"}
@@ -0,0 +1,65 @@
1
+ 'use strict';
2
+
3
+ var strapiAdmin = require('@strapi/admin/strapi-admin');
4
+ var dateFnsTz = require('date-fns-tz');
5
+ var yup = require('yup');
6
+
7
+ function _interopNamespaceDefault(e) {
8
+ var n = Object.create(null);
9
+ if (e) {
10
+ Object.keys(e).forEach(function (k) {
11
+ if (k !== 'default') {
12
+ var d = Object.getOwnPropertyDescriptor(e, k);
13
+ Object.defineProperty(n, k, d.get ? d : {
14
+ enumerable: true,
15
+ get: function () { return e[k]; }
16
+ });
17
+ }
18
+ });
19
+ }
20
+ n.default = e;
21
+ return Object.freeze(n);
22
+ }
23
+
24
+ var yup__namespace = /*#__PURE__*/_interopNamespaceDefault(yup);
25
+
26
+ /**
27
+ * FormikErrors type enforce us to always return a string as error.
28
+ * We need these errors to be translated, so we need to create a hook to be able to use the formatMessage function.
29
+ */ const RELEASE_SCHEMA = yup__namespace.object().shape({
30
+ name: yup__namespace.string().trim().required(strapiAdmin.translatedErrors.required.id).nullable(),
31
+ scheduledAt: yup__namespace.string().nullable(),
32
+ isScheduled: yup__namespace.boolean().optional(),
33
+ time: yup__namespace.string().when('isScheduled', {
34
+ is: true,
35
+ then: yup__namespace.string().trim().required(strapiAdmin.translatedErrors.required.id),
36
+ otherwise: yup__namespace.string().nullable()
37
+ }).test('time-in-future-if-today', 'content-releases.modal.form.time.has-passed', function(time) {
38
+ const { date, timezone } = this.parent;
39
+ if (!date || !timezone || !time) {
40
+ return true;
41
+ }
42
+ // Timezone is in format "UTC&Europe/Paris", so we get the region part for the dates functions
43
+ const region = timezone.split('&')[1];
44
+ const selectedTime = dateFnsTz.zonedTimeToUtc(`${date} ${time}`, region);
45
+ const now = new Date();
46
+ return selectedTime > now;
47
+ }),
48
+ timezone: yup__namespace.string().when('isScheduled', {
49
+ is: true,
50
+ then: yup__namespace.string().required(strapiAdmin.translatedErrors.required.id).nullable(),
51
+ otherwise: yup__namespace.string().nullable()
52
+ }),
53
+ date: yup__namespace.string().when('isScheduled', {
54
+ is: true,
55
+ then: yup__namespace.string().required(strapiAdmin.translatedErrors.required.id).nullable(),
56
+ otherwise: yup__namespace.string().nullable()
57
+ })
58
+ }).required().noUnknown();
59
+ const SETTINGS_SCHEMA = yup__namespace.object().shape({
60
+ defaultTimezone: yup__namespace.string().nullable().default(null)
61
+ }).required().noUnknown();
62
+
63
+ exports.RELEASE_SCHEMA = RELEASE_SCHEMA;
64
+ exports.SETTINGS_SCHEMA = SETTINGS_SCHEMA;
65
+ //# sourceMappingURL=schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.js","sources":["../../../admin/src/validation/schemas.ts"],"sourcesContent":["import { translatedErrors } from '@strapi/admin/strapi-admin';\nimport { zonedTimeToUtc } from 'date-fns-tz';\nimport * as yup from 'yup';\n\n/**\n * FormikErrors type enforce us to always return a string as error.\n * We need these errors to be translated, so we need to create a hook to be able to use the formatMessage function.\n */\nexport const RELEASE_SCHEMA = yup\n .object()\n .shape({\n name: yup.string().trim().required(translatedErrors.required.id).nullable(),\n scheduledAt: yup.string().nullable(),\n isScheduled: yup.boolean().optional(),\n time: yup\n .string()\n .when('isScheduled', {\n is: true,\n then: yup.string().trim().required(translatedErrors.required.id),\n otherwise: yup.string().nullable(),\n })\n .test(\n 'time-in-future-if-today',\n 'content-releases.modal.form.time.has-passed',\n function (time) {\n const { date, timezone } = this.parent;\n\n if (!date || !timezone || !time) {\n return true;\n }\n\n // Timezone is in format \"UTC&Europe/Paris\", so we get the region part for the dates functions\n const region = timezone.split('&')[1];\n\n const selectedTime = zonedTimeToUtc(`${date} ${time}`, region);\n const now = new Date();\n\n return selectedTime > now;\n }\n ),\n timezone: yup.string().when('isScheduled', {\n is: true,\n then: yup.string().required(translatedErrors.required.id).nullable(),\n otherwise: yup.string().nullable(),\n }),\n date: yup.string().when('isScheduled', {\n is: true,\n then: yup.string().required(translatedErrors.required.id).nullable(),\n otherwise: yup.string().nullable(),\n }),\n })\n .required()\n .noUnknown();\n\nexport const SETTINGS_SCHEMA = yup\n .object()\n .shape({\n defaultTimezone: yup.string().nullable().default(null),\n })\n .required()\n .noUnknown();\n"],"names":["RELEASE_SCHEMA","yup","object","shape","name","string","trim","required","translatedErrors","id","nullable","scheduledAt","isScheduled","boolean","optional","time","when","is","then","otherwise","test","date","timezone","parent","region","split","selectedTime","zonedTimeToUtc","now","Date","noUnknown","SETTINGS_SCHEMA","defaultTimezone","default"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAIA;;;AAGC,IACYA,MAAAA,cAAAA,GAAiBC,eAC3BC,MAAM,EAAA,CACNC,KAAK,CAAC;AACLC,IAAAA,IAAAA,EAAMH,cAAII,CAAAA,MAAM,EAAGC,CAAAA,IAAI,EAAGC,CAAAA,QAAQ,CAACC,4BAAAA,CAAiBD,QAAQ,CAACE,EAAE,CAAA,CAAEC,QAAQ,EAAA;IACzEC,WAAaV,EAAAA,cAAAA,CAAII,MAAM,EAAA,CAAGK,QAAQ,EAAA;IAClCE,WAAaX,EAAAA,cAAAA,CAAIY,OAAO,EAAA,CAAGC,QAAQ,EAAA;AACnCC,IAAAA,IAAAA,EAAMd,cACHI,CAAAA,MAAM,EACNW,CAAAA,IAAI,CAAC,aAAe,EAAA;QACnBC,EAAI,EAAA,IAAA;QACJC,IAAMjB,EAAAA,cAAAA,CAAII,MAAM,EAAA,CAAGC,IAAI,EAAA,CAAGC,QAAQ,CAACC,4BAAAA,CAAiBD,QAAQ,CAACE,EAAE,CAAA;QAC/DU,SAAWlB,EAAAA,cAAAA,CAAII,MAAM,EAAA,CAAGK,QAAQ;AAClC,KAAA,CAAA,CACCU,IAAI,CACH,yBACA,EAAA,6CAAA,EACA,SAAUL,IAAI,EAAA;QACZ,MAAM,EAAEM,IAAI,EAAEC,QAAQ,EAAE,GAAG,IAAI,CAACC,MAAM;AAEtC,QAAA,IAAI,CAACF,IAAAA,IAAQ,CAACC,QAAAA,IAAY,CAACP,IAAM,EAAA;YAC/B,OAAO,IAAA;AACT;;AAGA,QAAA,MAAMS,SAASF,QAASG,CAAAA,KAAK,CAAC,GAAA,CAAI,CAAC,CAAE,CAAA;QAErC,MAAMC,YAAAA,GAAeC,yBAAe,CAAC,EAAEN,KAAK,CAAC,EAAEN,IAAK,CAAA,CAAC,EAAES,MAAAA,CAAAA;AACvD,QAAA,MAAMI,MAAM,IAAIC,IAAAA,EAAAA;AAEhB,QAAA,OAAOH,YAAeE,GAAAA,GAAAA;AACxB,KAAA,CAAA;AAEJN,IAAAA,QAAAA,EAAUrB,cAAII,CAAAA,MAAM,EAAGW,CAAAA,IAAI,CAAC,aAAe,EAAA;QACzCC,EAAI,EAAA,IAAA;QACJC,IAAMjB,EAAAA,cAAAA,CAAII,MAAM,EAAA,CAAGE,QAAQ,CAACC,6BAAiBD,QAAQ,CAACE,EAAE,CAAA,CAAEC,QAAQ,EAAA;QAClES,SAAWlB,EAAAA,cAAAA,CAAII,MAAM,EAAA,CAAGK,QAAQ;AAClC,KAAA,CAAA;AACAW,IAAAA,IAAAA,EAAMpB,cAAII,CAAAA,MAAM,EAAGW,CAAAA,IAAI,CAAC,aAAe,EAAA;QACrCC,EAAI,EAAA,IAAA;QACJC,IAAMjB,EAAAA,cAAAA,CAAII,MAAM,EAAA,CAAGE,QAAQ,CAACC,6BAAiBD,QAAQ,CAACE,EAAE,CAAA,CAAEC,QAAQ,EAAA;QAClES,SAAWlB,EAAAA,cAAAA,CAAII,MAAM,EAAA,CAAGK,QAAQ;AAClC,KAAA;AACF,CACCH,CAAAA,CAAAA,QAAQ,EACRuB,CAAAA,SAAS;MAECC,eAAkB9B,GAAAA,cAAAA,CAC5BC,MAAM,EAAA,CACNC,KAAK,CAAC;AACL6B,IAAAA,eAAAA,EAAiB/B,eAAII,MAAM,EAAA,CAAGK,QAAQ,EAAA,CAAGuB,OAAO,CAAC,IAAA;AACnD,CACC1B,CAAAA,CAAAA,QAAQ,EACRuB,CAAAA,SAAS;;;;;"}