@strapi/admin 5.26.0 → 5.28.0

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 (318) hide show
  1. package/dist/admin/admin/src/components/DragLayer.js +67 -0
  2. package/dist/admin/admin/src/components/DragLayer.js.map +1 -0
  3. package/dist/admin/admin/src/components/DragLayer.mjs +64 -0
  4. package/dist/admin/admin/src/components/DragLayer.mjs.map +1 -0
  5. package/dist/admin/admin/src/components/ErrorElement.js +10 -3
  6. package/dist/admin/admin/src/components/ErrorElement.js.map +1 -1
  7. package/dist/admin/admin/src/components/ErrorElement.mjs +10 -3
  8. package/dist/admin/admin/src/components/ErrorElement.mjs.map +1 -1
  9. package/dist/admin/admin/src/components/GapDropZone.js +292 -0
  10. package/dist/admin/admin/src/components/GapDropZone.js.map +1 -0
  11. package/dist/admin/admin/src/components/GapDropZone.mjs +268 -0
  12. package/dist/admin/admin/src/components/GapDropZone.mjs.map +1 -0
  13. package/dist/admin/admin/src/components/GuidedTour/Context.js +15 -0
  14. package/dist/admin/admin/src/components/GuidedTour/Context.js.map +1 -1
  15. package/dist/admin/admin/src/components/GuidedTour/Context.mjs +15 -0
  16. package/dist/admin/admin/src/components/GuidedTour/Context.mjs.map +1 -1
  17. package/dist/admin/admin/src/components/GuidedTour/GuidedTourProvider.js +15 -0
  18. package/dist/admin/admin/src/components/GuidedTour/GuidedTourProvider.js.map +1 -0
  19. package/dist/admin/admin/src/components/GuidedTour/GuidedTourProvider.mjs +13 -0
  20. package/dist/admin/admin/src/components/GuidedTour/GuidedTourProvider.mjs.map +1 -0
  21. package/dist/admin/admin/src/components/GuidedTour/Overview.js +2 -1
  22. package/dist/admin/admin/src/components/GuidedTour/Overview.js.map +1 -1
  23. package/dist/admin/admin/src/components/GuidedTour/Overview.mjs +2 -1
  24. package/dist/admin/admin/src/components/GuidedTour/Overview.mjs.map +1 -1
  25. package/dist/admin/admin/src/components/GuidedTour/Steps/ContentTypeBuilderSteps.js +2 -2
  26. package/dist/admin/admin/src/components/GuidedTour/Steps/ContentTypeBuilderSteps.js.map +1 -1
  27. package/dist/admin/admin/src/components/GuidedTour/Steps/ContentTypeBuilderSteps.mjs +2 -2
  28. package/dist/admin/admin/src/components/GuidedTour/Steps/ContentTypeBuilderSteps.mjs.map +1 -1
  29. package/dist/admin/admin/src/components/GuidedTour/Tours.js +1 -1
  30. package/dist/admin/admin/src/components/GuidedTour/Tours.js.map +1 -1
  31. package/dist/admin/admin/src/components/GuidedTour/Tours.mjs +1 -1
  32. package/dist/admin/admin/src/components/GuidedTour/Tours.mjs.map +1 -1
  33. package/dist/admin/admin/src/components/Layouts/ActionLayout.js +3 -2
  34. package/dist/admin/admin/src/components/Layouts/ActionLayout.js.map +1 -1
  35. package/dist/admin/admin/src/components/Layouts/ActionLayout.mjs +3 -2
  36. package/dist/admin/admin/src/components/Layouts/ActionLayout.mjs.map +1 -1
  37. package/dist/admin/admin/src/components/Layouts/ContentLayout.js +3 -2
  38. package/dist/admin/admin/src/components/Layouts/ContentLayout.js.map +1 -1
  39. package/dist/admin/admin/src/components/Layouts/ContentLayout.mjs +3 -2
  40. package/dist/admin/admin/src/components/Layouts/ContentLayout.mjs.map +1 -1
  41. package/dist/admin/admin/src/components/Layouts/HeaderLayout.js +65 -32
  42. package/dist/admin/admin/src/components/Layouts/HeaderLayout.js.map +1 -1
  43. package/dist/admin/admin/src/components/Layouts/HeaderLayout.mjs +66 -33
  44. package/dist/admin/admin/src/components/Layouts/HeaderLayout.mjs.map +1 -1
  45. package/dist/admin/admin/src/components/Layouts/Layout.js +29 -6
  46. package/dist/admin/admin/src/components/Layouts/Layout.js.map +1 -1
  47. package/dist/admin/admin/src/components/Layouts/Layout.mjs +30 -7
  48. package/dist/admin/admin/src/components/Layouts/Layout.mjs.map +1 -1
  49. package/dist/admin/admin/src/components/LeftMenu.js +147 -92
  50. package/dist/admin/admin/src/components/LeftMenu.js.map +1 -1
  51. package/dist/admin/admin/src/components/LeftMenu.mjs +131 -95
  52. package/dist/admin/admin/src/components/LeftMenu.mjs.map +1 -1
  53. package/dist/admin/admin/src/components/MainNav/MainNav.js +20 -6
  54. package/dist/admin/admin/src/components/MainNav/MainNav.js.map +1 -1
  55. package/dist/admin/admin/src/components/MainNav/MainNav.mjs +20 -6
  56. package/dist/admin/admin/src/components/MainNav/MainNav.mjs.map +1 -1
  57. package/dist/admin/admin/src/components/MainNav/MainNavLinks.js +157 -0
  58. package/dist/admin/admin/src/components/MainNav/MainNavLinks.js.map +1 -0
  59. package/dist/admin/admin/src/components/MainNav/MainNavLinks.mjs +154 -0
  60. package/dist/admin/admin/src/components/MainNav/MainNavLinks.mjs.map +1 -0
  61. package/dist/admin/admin/src/components/MainNav/NavBurgerMenu.js +65 -0
  62. package/dist/admin/admin/src/components/MainNav/NavBurgerMenu.js.map +1 -0
  63. package/dist/admin/admin/src/components/MainNav/NavBurgerMenu.mjs +63 -0
  64. package/dist/admin/admin/src/components/MainNav/NavBurgerMenu.mjs.map +1 -0
  65. package/dist/admin/admin/src/components/MainNav/NavLink.js +2 -1
  66. package/dist/admin/admin/src/components/MainNav/NavLink.js.map +1 -1
  67. package/dist/admin/admin/src/components/MainNav/NavLink.mjs +2 -1
  68. package/dist/admin/admin/src/components/MainNav/NavLink.mjs.map +1 -1
  69. package/dist/admin/admin/src/components/MainNav/NavUser.js +39 -22
  70. package/dist/admin/admin/src/components/MainNav/NavUser.js.map +1 -1
  71. package/dist/admin/admin/src/components/MainNav/NavUser.mjs +39 -22
  72. package/dist/admin/admin/src/components/MainNav/NavUser.mjs.map +1 -1
  73. package/dist/admin/admin/src/components/MainNav/TrialCountdown.js +8 -1
  74. package/dist/admin/admin/src/components/MainNav/TrialCountdown.js.map +1 -1
  75. package/dist/admin/admin/src/components/MainNav/TrialCountdown.mjs +9 -2
  76. package/dist/admin/admin/src/components/MainNav/TrialCountdown.mjs.map +1 -1
  77. package/dist/admin/admin/src/components/NpsSurvey.js +159 -119
  78. package/dist/admin/admin/src/components/NpsSurvey.js.map +1 -1
  79. package/dist/admin/admin/src/components/NpsSurvey.mjs +160 -120
  80. package/dist/admin/admin/src/components/NpsSurvey.mjs.map +1 -1
  81. package/dist/admin/admin/src/components/PageHelpers.js +1 -1
  82. package/dist/admin/admin/src/components/PageHelpers.js.map +1 -1
  83. package/dist/admin/admin/src/components/PageHelpers.mjs +1 -1
  84. package/dist/admin/admin/src/components/PageHelpers.mjs.map +1 -1
  85. package/dist/admin/admin/src/components/Providers.js +2 -4
  86. package/dist/admin/admin/src/components/Providers.js.map +1 -1
  87. package/dist/admin/admin/src/components/Providers.mjs +2 -4
  88. package/dist/admin/admin/src/components/Providers.mjs.map +1 -1
  89. package/dist/admin/admin/src/components/ResizeIndicator.js +353 -0
  90. package/dist/admin/admin/src/components/ResizeIndicator.js.map +1 -0
  91. package/dist/admin/admin/src/components/ResizeIndicator.mjs +332 -0
  92. package/dist/admin/admin/src/components/ResizeIndicator.mjs.map +1 -0
  93. package/dist/admin/admin/src/components/SubNav.js +98 -33
  94. package/dist/admin/admin/src/components/SubNav.js.map +1 -1
  95. package/dist/admin/admin/src/components/SubNav.mjs +99 -34
  96. package/dist/admin/admin/src/components/SubNav.mjs.map +1 -1
  97. package/dist/admin/admin/src/components/UpsellBanner.js +3 -2
  98. package/dist/admin/admin/src/components/UpsellBanner.js.map +1 -1
  99. package/dist/admin/admin/src/components/UpsellBanner.mjs +3 -2
  100. package/dist/admin/admin/src/components/UpsellBanner.mjs.map +1 -1
  101. package/dist/admin/admin/src/components/WidgetRoot.js +216 -0
  102. package/dist/admin/admin/src/components/WidgetRoot.js.map +1 -0
  103. package/dist/admin/admin/src/components/WidgetRoot.mjs +195 -0
  104. package/dist/admin/admin/src/components/WidgetRoot.mjs.map +1 -0
  105. package/dist/admin/admin/src/constants/theme.js +12 -0
  106. package/dist/admin/admin/src/constants/theme.js.map +1 -0
  107. package/dist/admin/admin/src/constants/theme.mjs +9 -0
  108. package/dist/admin/admin/src/constants/theme.mjs.map +1 -0
  109. package/dist/admin/admin/src/features/Notifications.js +14 -7
  110. package/dist/admin/admin/src/features/Notifications.js.map +1 -1
  111. package/dist/admin/admin/src/features/Notifications.mjs +15 -8
  112. package/dist/admin/admin/src/features/Notifications.mjs.map +1 -1
  113. package/dist/admin/admin/src/features/Tracking.js +5 -1
  114. package/dist/admin/admin/src/features/Tracking.js.map +1 -1
  115. package/dist/admin/admin/src/features/Tracking.mjs +5 -1
  116. package/dist/admin/admin/src/features/Tracking.mjs.map +1 -1
  117. package/dist/admin/admin/src/features/Widgets.js +276 -0
  118. package/dist/admin/admin/src/features/Widgets.js.map +1 -0
  119. package/dist/admin/admin/src/features/Widgets.mjs +255 -0
  120. package/dist/admin/admin/src/features/Widgets.mjs.map +1 -0
  121. package/dist/admin/admin/src/hooks/useAPIErrorHandler.js +1 -1
  122. package/dist/admin/admin/src/hooks/useAPIErrorHandler.js.map +1 -1
  123. package/dist/admin/admin/src/hooks/useAPIErrorHandler.mjs +1 -1
  124. package/dist/admin/admin/src/hooks/useAPIErrorHandler.mjs.map +1 -1
  125. package/dist/admin/admin/src/hooks/useDeviceType.js +43 -0
  126. package/dist/admin/admin/src/hooks/useDeviceType.js.map +1 -0
  127. package/dist/admin/admin/src/hooks/useDeviceType.mjs +22 -0
  128. package/dist/admin/admin/src/hooks/useDeviceType.mjs.map +1 -0
  129. package/dist/admin/admin/src/hooks/useMediaQuery.js +70 -0
  130. package/dist/admin/admin/src/hooks/useMediaQuery.js.map +1 -0
  131. package/dist/admin/admin/src/hooks/useMediaQuery.mjs +46 -0
  132. package/dist/admin/admin/src/hooks/useMediaQuery.mjs.map +1 -0
  133. package/dist/admin/admin/src/hooks/useMenu.js +19 -0
  134. package/dist/admin/admin/src/hooks/useMenu.js.map +1 -1
  135. package/dist/admin/admin/src/hooks/useMenu.mjs +19 -0
  136. package/dist/admin/admin/src/hooks/useMenu.mjs.map +1 -1
  137. package/dist/admin/admin/src/layouts/AuthenticatedLayout.js +15 -2
  138. package/dist/admin/admin/src/layouts/AuthenticatedLayout.js.map +1 -1
  139. package/dist/admin/admin/src/layouts/AuthenticatedLayout.mjs +15 -2
  140. package/dist/admin/admin/src/layouts/AuthenticatedLayout.mjs.map +1 -1
  141. package/dist/admin/admin/src/layouts/UnauthenticatedLayout.js +11 -7
  142. package/dist/admin/admin/src/layouts/UnauthenticatedLayout.js.map +1 -1
  143. package/dist/admin/admin/src/layouts/UnauthenticatedLayout.mjs +11 -7
  144. package/dist/admin/admin/src/layouts/UnauthenticatedLayout.mjs.map +1 -1
  145. package/dist/admin/admin/src/pages/Auth/components/Login.js +3 -0
  146. package/dist/admin/admin/src/pages/Auth/components/Login.js.map +1 -1
  147. package/dist/admin/admin/src/pages/Auth/components/Login.mjs +3 -0
  148. package/dist/admin/admin/src/pages/Auth/components/Login.mjs.map +1 -1
  149. package/dist/admin/admin/src/pages/Home/HomePage.js +200 -130
  150. package/dist/admin/admin/src/pages/Home/HomePage.js.map +1 -1
  151. package/dist/admin/admin/src/pages/Home/HomePage.mjs +202 -132
  152. package/dist/admin/admin/src/pages/Home/HomePage.mjs.map +1 -1
  153. package/dist/admin/admin/src/pages/Home/components/AddWidgetModal.js +189 -0
  154. package/dist/admin/admin/src/pages/Home/components/AddWidgetModal.js.map +1 -0
  155. package/dist/admin/admin/src/pages/Home/components/AddWidgetModal.mjs +168 -0
  156. package/dist/admin/admin/src/pages/Home/components/AddWidgetModal.mjs.map +1 -0
  157. package/dist/admin/admin/src/pages/ProfilePage.js +54 -51
  158. package/dist/admin/admin/src/pages/ProfilePage.js.map +1 -1
  159. package/dist/admin/admin/src/pages/ProfilePage.mjs +55 -52
  160. package/dist/admin/admin/src/pages/ProfilePage.mjs.map +1 -1
  161. package/dist/admin/admin/src/pages/Settings/Layout.js +42 -6
  162. package/dist/admin/admin/src/pages/Settings/Layout.js.map +1 -1
  163. package/dist/admin/admin/src/pages/Settings/Layout.mjs +43 -7
  164. package/dist/admin/admin/src/pages/Settings/Layout.mjs.map +1 -1
  165. package/dist/admin/admin/src/pages/Settings/components/SettingsNav.js +44 -32
  166. package/dist/admin/admin/src/pages/Settings/components/SettingsNav.js.map +1 -1
  167. package/dist/admin/admin/src/pages/Settings/components/SettingsNav.mjs +45 -33
  168. package/dist/admin/admin/src/pages/Settings/components/SettingsNav.mjs.map +1 -1
  169. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.js +1 -1
  170. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.js.map +1 -1
  171. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.mjs +2 -2
  172. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.mjs.map +1 -1
  173. package/dist/admin/admin/src/pages/Settings/pages/InstalledPlugins.js +1 -1
  174. package/dist/admin/admin/src/pages/Settings/pages/InstalledPlugins.js.map +1 -1
  175. package/dist/admin/admin/src/pages/Settings/pages/InstalledPlugins.mjs +2 -2
  176. package/dist/admin/admin/src/pages/Settings/pages/InstalledPlugins.mjs.map +1 -1
  177. package/dist/admin/admin/src/pages/Settings/pages/PurchaseAuditLogs.js +4 -3
  178. package/dist/admin/admin/src/pages/Settings/pages/PurchaseAuditLogs.js.map +1 -1
  179. package/dist/admin/admin/src/pages/Settings/pages/PurchaseAuditLogs.mjs +5 -4
  180. package/dist/admin/admin/src/pages/Settings/pages/PurchaseAuditLogs.mjs.map +1 -1
  181. package/dist/admin/admin/src/pages/Settings/pages/PurchaseContentHistory.js +4 -3
  182. package/dist/admin/admin/src/pages/Settings/pages/PurchaseContentHistory.js.map +1 -1
  183. package/dist/admin/admin/src/pages/Settings/pages/PurchaseContentHistory.mjs +5 -4
  184. package/dist/admin/admin/src/pages/Settings/pages/PurchaseContentHistory.mjs.map +1 -1
  185. package/dist/admin/admin/src/pages/Settings/pages/PurchaseSingleSignOn.js +4 -3
  186. package/dist/admin/admin/src/pages/Settings/pages/PurchaseSingleSignOn.js.map +1 -1
  187. package/dist/admin/admin/src/pages/Settings/pages/PurchaseSingleSignOn.mjs +5 -4
  188. package/dist/admin/admin/src/pages/Settings/pages/PurchaseSingleSignOn.mjs.map +1 -1
  189. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ContentTypeCollapses.js +36 -32
  190. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ContentTypeCollapses.js.map +1 -1
  191. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ContentTypeCollapses.mjs +36 -32
  192. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ContentTypeCollapses.mjs.map +1 -1
  193. package/dist/admin/admin/src/pages/Settings/pages/Webhooks/ListPage.js +1 -1
  194. package/dist/admin/admin/src/pages/Settings/pages/Webhooks/ListPage.js.map +1 -1
  195. package/dist/admin/admin/src/pages/Settings/pages/Webhooks/ListPage.mjs +1 -1
  196. package/dist/admin/admin/src/pages/Settings/pages/Webhooks/ListPage.mjs.map +1 -1
  197. package/dist/admin/admin/src/services/api.js +2 -1
  198. package/dist/admin/admin/src/services/api.js.map +1 -1
  199. package/dist/admin/admin/src/services/api.mjs +2 -1
  200. package/dist/admin/admin/src/services/api.mjs.map +1 -1
  201. package/dist/admin/admin/src/services/auth.js +13 -2
  202. package/dist/admin/admin/src/services/auth.js.map +1 -1
  203. package/dist/admin/admin/src/services/auth.mjs +12 -3
  204. package/dist/admin/admin/src/services/auth.mjs.map +1 -1
  205. package/dist/admin/admin/src/services/homepage.js +11 -4
  206. package/dist/admin/admin/src/services/homepage.js.map +1 -1
  207. package/dist/admin/admin/src/services/homepage.mjs +11 -4
  208. package/dist/admin/admin/src/services/homepage.mjs.map +1 -1
  209. package/dist/admin/admin/src/translations/en.json.js +7 -1
  210. package/dist/admin/admin/src/translations/en.json.js.map +1 -1
  211. package/dist/admin/admin/src/translations/en.json.mjs +7 -1
  212. package/dist/admin/admin/src/translations/en.json.mjs.map +1 -1
  213. package/dist/admin/admin/src/translations/uk.json.js +9 -9
  214. package/dist/admin/admin/src/translations/uk.json.mjs +9 -9
  215. package/dist/admin/admin/src/utils/resizeHandlers.js +109 -0
  216. package/dist/admin/admin/src/utils/resizeHandlers.js.map +1 -0
  217. package/dist/admin/admin/src/utils/resizeHandlers.mjs +100 -0
  218. package/dist/admin/admin/src/utils/resizeHandlers.mjs.map +1 -0
  219. package/dist/admin/admin/src/utils/widgetLayout.js +293 -0
  220. package/dist/admin/admin/src/utils/widgetLayout.js.map +1 -0
  221. package/dist/admin/admin/src/utils/widgetLayout.mjs +273 -0
  222. package/dist/admin/admin/src/utils/widgetLayout.mjs.map +1 -0
  223. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/SingleSignOnPage.js +1 -1
  224. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/SingleSignOnPage.js.map +1 -1
  225. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/SingleSignOnPage.mjs +1 -1
  226. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/SingleSignOnPage.mjs.map +1 -1
  227. package/dist/admin/ee/admin/src/services/ai.js +5 -2
  228. package/dist/admin/ee/admin/src/services/ai.js.map +1 -1
  229. package/dist/admin/ee/admin/src/services/ai.mjs +5 -2
  230. package/dist/admin/ee/admin/src/services/ai.mjs.map +1 -1
  231. package/dist/admin/index.js +11 -0
  232. package/dist/admin/index.js.map +1 -1
  233. package/dist/admin/index.mjs +4 -0
  234. package/dist/admin/index.mjs.map +1 -1
  235. package/dist/admin/src/components/DragLayer.d.ts +8 -4
  236. package/dist/admin/src/components/GapDropZone.d.ts +36 -0
  237. package/dist/admin/src/components/GuidedTour/Context.d.ts +4 -0
  238. package/dist/admin/src/components/GuidedTour/GuidedTourProvider.d.ts +6 -0
  239. package/dist/admin/src/components/LeftMenu.d.ts +2 -2
  240. package/dist/admin/src/components/MainNav/MainNavLinks.d.ts +11 -0
  241. package/dist/admin/src/components/MainNav/NavBurgerMenu.d.ts +9 -0
  242. package/dist/admin/src/components/MainNav/NavUser.d.ts +5 -4
  243. package/dist/admin/src/components/ResizeIndicator.d.ts +12 -0
  244. package/dist/admin/src/components/SubNav.d.ts +18 -5
  245. package/dist/admin/src/components/WidgetRoot.d.ts +14 -0
  246. package/dist/admin/src/constants/theme.d.ts +7 -0
  247. package/dist/admin/src/core/store/configure.d.ts +2 -2
  248. package/dist/admin/src/core/store/hooks.d.ts +2 -2
  249. package/dist/admin/src/features/Tracking.d.ts +1 -1
  250. package/dist/admin/src/features/Widgets.d.ts +29 -0
  251. package/dist/admin/src/hooks/useAdminRoles.d.ts +1 -1
  252. package/dist/admin/src/hooks/useDeviceType.d.ts +6 -0
  253. package/dist/admin/src/hooks/useMediaQuery.d.ts +21 -0
  254. package/dist/admin/src/hooks/useMenu.d.ts +9 -1
  255. package/dist/admin/src/index.d.ts +4 -0
  256. package/dist/admin/src/pages/Home/HomePage.d.ts +4 -5
  257. package/dist/admin/src/pages/Home/components/AddWidgetModal.d.ts +10 -0
  258. package/dist/admin/src/pages/Settings/components/SettingsNav.d.ts +3 -6
  259. package/dist/admin/src/pages/Settings/pages/Webhooks/hooks/useWebhooks.d.ts +4 -4
  260. package/dist/admin/src/selectors.d.ts +2 -2
  261. package/dist/admin/src/services/admin.d.ts +6 -6
  262. package/dist/admin/src/services/api.d.ts +1 -1
  263. package/dist/admin/src/services/apiTokens.d.ts +1 -1
  264. package/dist/admin/src/services/auth.d.ts +21 -12
  265. package/dist/admin/src/services/contentApi.d.ts +1 -1
  266. package/dist/admin/src/services/contentManager.d.ts +1 -1
  267. package/dist/admin/src/services/homepage.d.ts +3 -3
  268. package/dist/admin/src/services/transferTokens.d.ts +1 -1
  269. package/dist/admin/src/services/users.d.ts +8 -8
  270. package/dist/admin/src/services/webhooks.d.ts +2 -2
  271. package/dist/admin/src/utils/resizeHandlers.d.ts +58 -0
  272. package/dist/admin/src/utils/widgetLayout.d.ts +78 -0
  273. package/dist/admin/tests/utils.d.ts +1 -1
  274. package/dist/ee/admin/src/services/ai.d.ts +2 -2
  275. package/dist/ee/admin/src/services/auditLogs.d.ts +1 -1
  276. package/dist/ee/server/src/controllers/authentication-utils/middlewares.d.ts.map +1 -1
  277. package/dist/server/ee/server/src/controllers/authentication-utils/middlewares.js +4 -2
  278. package/dist/server/ee/server/src/controllers/authentication-utils/middlewares.js.map +1 -1
  279. package/dist/server/ee/server/src/controllers/authentication-utils/middlewares.mjs +4 -2
  280. package/dist/server/ee/server/src/controllers/authentication-utils/middlewares.mjs.map +1 -1
  281. package/dist/server/server/src/bootstrap.js +5 -0
  282. package/dist/server/server/src/bootstrap.js.map +1 -1
  283. package/dist/server/server/src/bootstrap.mjs +5 -0
  284. package/dist/server/server/src/bootstrap.mjs.map +1 -1
  285. package/dist/server/server/src/controllers/authenticated-user.js +15 -0
  286. package/dist/server/server/src/controllers/authenticated-user.js.map +1 -1
  287. package/dist/server/server/src/controllers/authenticated-user.mjs +15 -0
  288. package/dist/server/server/src/controllers/authenticated-user.mjs.map +1 -1
  289. package/dist/server/server/src/routes/users.js +10 -0
  290. package/dist/server/server/src/routes/users.js.map +1 -1
  291. package/dist/server/server/src/routes/users.mjs +10 -0
  292. package/dist/server/server/src/routes/users.mjs.map +1 -1
  293. package/dist/server/server/src/services/user.js +113 -1
  294. package/dist/server/server/src/services/user.js.map +1 -1
  295. package/dist/server/server/src/services/user.mjs +113 -1
  296. package/dist/server/server/src/services/user.mjs.map +1 -1
  297. package/dist/server/shared/utils/session-auth.js +4 -2
  298. package/dist/server/shared/utils/session-auth.js.map +1 -1
  299. package/dist/server/shared/utils/session-auth.mjs +4 -2
  300. package/dist/server/shared/utils/session-auth.mjs.map +1 -1
  301. package/dist/server/src/bootstrap.d.ts.map +1 -1
  302. package/dist/server/src/controllers/authenticated-user.d.ts +1 -0
  303. package/dist/server/src/controllers/authenticated-user.d.ts.map +1 -1
  304. package/dist/server/src/controllers/index.d.ts +1 -0
  305. package/dist/server/src/controllers/index.d.ts.map +1 -1
  306. package/dist/server/src/index.d.ts +5 -0
  307. package/dist/server/src/index.d.ts.map +1 -1
  308. package/dist/server/src/routes/users.d.ts.map +1 -1
  309. package/dist/server/src/services/index.d.ts +4 -0
  310. package/dist/server/src/services/index.d.ts.map +1 -1
  311. package/dist/server/src/services/user.d.ts +4 -0
  312. package/dist/server/src/services/user.d.ts.map +1 -1
  313. package/dist/shared/contracts/homepage.d.ts +8 -4
  314. package/dist/shared/contracts/homepage.d.ts.map +1 -1
  315. package/dist/shared/contracts/users.d.ts +16 -0
  316. package/dist/shared/contracts/users.d.ts.map +1 -1
  317. package/dist/shared/utils/session-auth.d.ts.map +1 -1
  318. package/package.json +7 -7
@@ -1,12 +1,21 @@
1
1
  import { jsx, jsxs } from 'react/jsx-runtime';
2
- import 'react';
3
2
  import { Menu, Flex, Typography, Avatar, VisuallyHidden, Badge } from '@strapi/design-system';
4
3
  import { useIntl } from 'react-intl';
5
4
  import { useNavigate } from 'react-router-dom';
6
5
  import { styled } from 'styled-components';
7
6
  import { useAuth } from '../../features/Auth.mjs';
7
+ import { getInitials, getDisplayName } from '../../utils/users.mjs';
8
8
 
9
9
  const MenuTrigger = styled(Menu.Trigger)`
10
+ padding: 0;
11
+
12
+ ${({ theme })=>theme.breakpoints.large} {
13
+ width: 4rem;
14
+ height: 4rem;
15
+ justify-content: center;
16
+ }
17
+ `;
18
+ const MenuIcon = styled(Flex)`
10
19
  height: ${({ theme })=>theme.spaces[7]};
11
20
  width: ${({ theme })=>theme.spaces[7]};
12
21
  border: none;
@@ -35,41 +44,49 @@ const StyledTypography = styled(Typography)`
35
44
  word-break: break-word;
36
45
  margin-bottom: ${({ theme })=>theme.spaces[3]};
37
46
  `;
38
- const NavUser = ({ children, initials, ...props })=>{
47
+ const NavUser = ({ initials, showDisplayName = false, children, ...props })=>{
39
48
  const { formatMessage } = useIntl();
40
49
  const navigate = useNavigate();
41
50
  const user = useAuth('User', (state)=>state.user);
42
51
  const logout = useAuth('Logout', (state)=>state.logout);
52
+ const userDisplayName = getDisplayName(user);
43
53
  const handleProfile = ()=>{
44
- navigate('/me');
54
+ const redirection = '/me';
55
+ navigate(redirection);
45
56
  };
46
57
  const handleLogout = ()=>{
58
+ const redirection = '/auth/login';
47
59
  logout();
48
- navigate('/auth/login');
60
+ navigate(redirection);
49
61
  };
50
62
  return /*#__PURE__*/ jsx(Flex, {
51
- justifyContent: "center",
52
- padding: 3,
53
- borderStyle: "solid",
54
- borderWidth: "1px 0 0 0",
55
- borderColor: "neutral150",
56
63
  ...props,
57
64
  children: /*#__PURE__*/ jsxs(Menu.Root, {
58
65
  children: [
59
- /*#__PURE__*/ jsxs(MenuTrigger, {
66
+ /*#__PURE__*/ jsx(MenuTrigger, {
60
67
  endIcon: null,
61
68
  fullWidth: true,
62
- justifyContent: "center",
63
- children: [
64
- /*#__PURE__*/ jsx(Avatar.Item, {
65
- delayMs: 0,
66
- fallback: initials
67
- }),
68
- /*#__PURE__*/ jsx(VisuallyHidden, {
69
- tag: "span",
70
- children: children
71
- })
72
- ]
69
+ justifyContent: "flex-start",
70
+ children: /*#__PURE__*/ jsxs(Flex, {
71
+ alignItems: "center",
72
+ gap: 3,
73
+ children: [
74
+ /*#__PURE__*/ jsx(MenuIcon, {
75
+ justifyContent: "center",
76
+ children: /*#__PURE__*/ jsx(Avatar.Item, {
77
+ delayMs: 0,
78
+ fallback: initials || getInitials(user)
79
+ })
80
+ }),
81
+ showDisplayName ? /*#__PURE__*/ jsx(Typography, {
82
+ variant: "omega",
83
+ children: children || userDisplayName
84
+ }) : /*#__PURE__*/ jsx(VisuallyHidden, {
85
+ tag: "span",
86
+ children: children || userDisplayName
87
+ })
88
+ ]
89
+ })
73
90
  }),
74
91
  /*#__PURE__*/ jsxs(MenuContent, {
75
92
  popoverPlacement: "top-start",
@@ -84,7 +101,7 @@ const NavUser = ({ children, initials, ...props })=>{
84
101
  variant: "omega",
85
102
  fontWeight: "bold",
86
103
  textTransform: "none",
87
- children: children
104
+ children: children || userDisplayName
88
105
  }),
89
106
  /*#__PURE__*/ jsx(StyledTypography, {
90
107
  variant: "pi",
@@ -1 +1 @@
1
- {"version":3,"file":"NavUser.mjs","sources":["../../../../../../admin/src/components/MainNav/NavUser.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Flex, Menu, VisuallyHidden, Avatar, Typography, Badge } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { useNavigate } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { useAuth } from '../../features/Auth';\n\nconst MenuTrigger = styled(Menu.Trigger)`\n height: ${({ theme }) => theme.spaces[7]};\n width: ${({ theme }) => theme.spaces[7]};\n border: none;\n border-radius: 50%;\n padding: 0;\n overflow: hidden;\n`;\n\nconst MenuContent = styled(Menu.Content)`\n max-height: fit-content;\n width: 200px;\n`;\n\nconst UserInfo = styled(Flex)`\n && {\n padding: ${({ theme }) => theme.spaces[3]};\n }\n align-items: flex-start;\n`;\n\nconst BadgeWrapper = styled(Flex)`\n display: flex;\n flex-wrap: wrap;\n gap: ${({ theme }) => theme.spaces[1]};\n\n width: 100%;\n`;\nconst StyledTypography = styled(Typography)`\n word-break: break-word;\n margin-bottom: ${({ theme }) => theme.spaces[3]};\n`;\n\nexport interface NavUserProps {\n initials: string;\n children: React.ReactNode;\n}\n\nexport const NavUser = ({ children, initials, ...props }: NavUserProps) => {\n const { formatMessage } = useIntl();\n const navigate = useNavigate();\n const user = useAuth('User', (state) => state.user);\n const logout = useAuth('Logout', (state) => state.logout);\n\n const handleProfile = () => {\n navigate('/me');\n };\n\n const handleLogout = () => {\n logout();\n navigate('/auth/login');\n };\n\n return (\n <Flex\n justifyContent=\"center\"\n padding={3}\n borderStyle=\"solid\"\n borderWidth=\"1px 0 0 0\"\n borderColor=\"neutral150\"\n {...props}\n >\n <Menu.Root>\n <MenuTrigger endIcon={null} fullWidth justifyContent=\"center\">\n <Avatar.Item delayMs={0} fallback={initials} />\n <VisuallyHidden tag=\"span\">{children}</VisuallyHidden>\n </MenuTrigger>\n\n <MenuContent popoverPlacement=\"top-start\" zIndex={3}>\n <UserInfo direction=\"column\" gap={0} alignItems=\"flex-start\">\n <Typography variant=\"omega\" fontWeight=\"bold\" textTransform=\"none\">\n {children}\n </Typography>\n <StyledTypography variant=\"pi\" textColor=\"neutral600\">\n {user?.email}\n </StyledTypography>\n <BadgeWrapper>\n {user?.roles?.map((role) => <Badge key={role.id}>{role.name}</Badge>)}\n </BadgeWrapper>\n </UserInfo>\n\n <Menu.Separator />\n\n <Menu.Item onSelect={handleProfile}>\n {formatMessage({\n id: 'global.profile.settings',\n defaultMessage: 'Profile settings',\n })}\n </Menu.Item>\n\n <Menu.Item variant=\"danger\" onSelect={handleLogout} color=\"danger600\">\n {formatMessage({\n id: 'app.components.LeftMenu.logout',\n defaultMessage: 'Log out',\n })}\n </Menu.Item>\n </MenuContent>\n </Menu.Root>\n </Flex>\n );\n};\n"],"names":["MenuTrigger","styled","Menu","Trigger","theme","spaces","MenuContent","Content","UserInfo","Flex","BadgeWrapper","StyledTypography","Typography","NavUser","children","initials","props","formatMessage","useIntl","navigate","useNavigate","user","useAuth","state","logout","handleProfile","handleLogout","_jsx","justifyContent","padding","borderStyle","borderWidth","borderColor","_jsxs","Root","endIcon","fullWidth","Avatar","Item","delayMs","fallback","VisuallyHidden","tag","popoverPlacement","zIndex","direction","gap","alignItems","variant","fontWeight","textTransform","textColor","email","roles","map","role","Badge","name","id","Separator","onSelect","defaultMessage","color"],"mappings":"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"}
1
+ {"version":3,"file":"NavUser.mjs","sources":["../../../../../../admin/src/components/MainNav/NavUser.tsx"],"sourcesContent":["import { Flex, Menu, VisuallyHidden, Avatar, Typography, Badge } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { useNavigate } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { useAuth } from '../../features/Auth';\nimport { getInitials, getDisplayName } from '../../utils/users';\n\nconst MenuTrigger = styled(Menu.Trigger)`\n padding: 0;\n\n ${({ theme }) => theme.breakpoints.large} {\n width: 4rem;\n height: 4rem;\n justify-content: center;\n }\n`;\n\nconst MenuIcon = styled(Flex)`\n height: ${({ theme }) => theme.spaces[7]};\n width: ${({ theme }) => theme.spaces[7]};\n border: none;\n border-radius: 50%;\n padding: 0;\n overflow: hidden;\n`;\n\nconst MenuContent = styled(Menu.Content)`\n max-height: fit-content;\n width: 200px;\n`;\n\nconst UserInfo = styled(Flex)`\n && {\n padding: ${({ theme }) => theme.spaces[3]};\n }\n align-items: flex-start;\n`;\n\nconst BadgeWrapper = styled(Flex)`\n display: flex;\n flex-wrap: wrap;\n gap: ${({ theme }) => theme.spaces[1]};\n\n width: 100%;\n`;\nconst StyledTypography = styled(Typography)`\n word-break: break-word;\n margin-bottom: ${({ theme }) => theme.spaces[3]};\n`;\n\nexport interface NavUserProps {\n initials?: string;\n children?: React.ReactNode;\n showDisplayName?: boolean;\n}\n\nexport const NavUser = ({\n initials,\n showDisplayName = false,\n children,\n ...props\n}: NavUserProps) => {\n const { formatMessage } = useIntl();\n const navigate = useNavigate();\n const user = useAuth('User', (state) => state.user);\n const logout = useAuth('Logout', (state) => state.logout);\n const userDisplayName = getDisplayName(user);\n\n const handleProfile = () => {\n const redirection = '/me';\n navigate(redirection);\n };\n\n const handleLogout = () => {\n const redirection = '/auth/login';\n logout();\n navigate(redirection);\n };\n\n return (\n <Flex {...props}>\n <Menu.Root>\n <MenuTrigger endIcon={null} fullWidth justifyContent=\"flex-start\">\n <Flex alignItems=\"center\" gap={3}>\n <MenuIcon justifyContent=\"center\">\n <Avatar.Item delayMs={0} fallback={initials || getInitials(user)} />\n </MenuIcon>\n {showDisplayName ? (\n <Typography variant=\"omega\">{children || userDisplayName}</Typography>\n ) : (\n <VisuallyHidden tag=\"span\">{children || userDisplayName}</VisuallyHidden>\n )}\n </Flex>\n </MenuTrigger>\n\n <MenuContent popoverPlacement=\"top-start\" zIndex={3}>\n <UserInfo direction=\"column\" gap={0} alignItems=\"flex-start\">\n <Typography variant=\"omega\" fontWeight=\"bold\" textTransform=\"none\">\n {children || userDisplayName}\n </Typography>\n <StyledTypography variant=\"pi\" textColor=\"neutral600\">\n {user?.email}\n </StyledTypography>\n <BadgeWrapper>\n {user?.roles?.map((role) => <Badge key={role.id}>{role.name}</Badge>)}\n </BadgeWrapper>\n </UserInfo>\n\n <Menu.Separator />\n\n <Menu.Item onSelect={handleProfile}>\n {formatMessage({\n id: 'global.profile.settings',\n defaultMessage: 'Profile settings',\n })}\n </Menu.Item>\n\n <Menu.Item variant=\"danger\" onSelect={handleLogout} color=\"danger600\">\n {formatMessage({\n id: 'app.components.LeftMenu.logout',\n defaultMessage: 'Log out',\n })}\n </Menu.Item>\n </MenuContent>\n </Menu.Root>\n </Flex>\n );\n};\n"],"names":["MenuTrigger","styled","Menu","Trigger","theme","breakpoints","large","MenuIcon","Flex","spaces","MenuContent","Content","UserInfo","BadgeWrapper","StyledTypography","Typography","NavUser","initials","showDisplayName","children","props","formatMessage","useIntl","navigate","useNavigate","user","useAuth","state","logout","userDisplayName","getDisplayName","handleProfile","redirection","handleLogout","_jsx","_jsxs","Root","endIcon","fullWidth","justifyContent","alignItems","gap","Avatar","Item","delayMs","fallback","getInitials","variant","VisuallyHidden","tag","popoverPlacement","zIndex","direction","fontWeight","textTransform","textColor","email","roles","map","role","Badge","name","id","Separator","onSelect","defaultMessage","color"],"mappings":";;;;;;;;AAQA,MAAMA,WAAcC,GAAAA,MAAAA,CAAOC,IAAKC,CAAAA,OAAO,CAAC;;;EAGtC,EAAE,CAAC,EAAEC,KAAK,EAAE,GAAKA,KAAMC,CAAAA,WAAW,CAACC,KAAK,CAAC;;;;;AAK3C,CAAC;AAED,MAAMC,QAAAA,GAAWN,MAAOO,CAAAA,IAAAA,CAAK;UACnB,EAAE,CAAC,EAAEJ,KAAK,EAAE,GAAKA,KAAMK,CAAAA,MAAM,CAAC,CAAA,CAAE,CAAC;SAClC,EAAE,CAAC,EAAEL,KAAK,EAAE,GAAKA,KAAMK,CAAAA,MAAM,CAAC,CAAA,CAAE,CAAC;;;;;AAK1C,CAAC;AAED,MAAMC,WAAcT,GAAAA,MAAAA,CAAOC,IAAKS,CAAAA,OAAO,CAAC;;;AAGxC,CAAC;AAED,MAAMC,QAAAA,GAAWX,MAAOO,CAAAA,IAAAA,CAAK;;aAEhB,EAAE,CAAC,EAAEJ,KAAK,EAAE,GAAKA,KAAMK,CAAAA,MAAM,CAAC,CAAA,CAAE,CAAC;;;AAG9C,CAAC;AAED,MAAMI,YAAAA,GAAeZ,MAAOO,CAAAA,IAAAA,CAAK;;;OAG1B,EAAE,CAAC,EAAEJ,KAAK,EAAE,GAAKA,KAAMK,CAAAA,MAAM,CAAC,CAAA,CAAE,CAAC;;;AAGxC,CAAC;AACD,MAAMK,gBAAAA,GAAmBb,MAAOc,CAAAA,UAAAA,CAAW;;iBAE1B,EAAE,CAAC,EAAEX,KAAK,EAAE,GAAKA,KAAMK,CAAAA,MAAM,CAAC,CAAA,CAAE,CAAC;AAClD,CAAC;AAQYO,MAAAA,OAAAA,GAAU,CAAC,EACtBC,QAAQ,EACRC,eAAkB,GAAA,KAAK,EACvBC,QAAQ,EACR,GAAGC,KACU,EAAA,GAAA;IACb,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAC1B,IAAA,MAAMC,QAAWC,GAAAA,WAAAA,EAAAA;AACjB,IAAA,MAAMC,OAAOC,OAAQ,CAAA,MAAA,EAAQ,CAACC,KAAAA,GAAUA,MAAMF,IAAI,CAAA;AAClD,IAAA,MAAMG,SAASF,OAAQ,CAAA,QAAA,EAAU,CAACC,KAAAA,GAAUA,MAAMC,MAAM,CAAA;AACxD,IAAA,MAAMC,kBAAkBC,cAAeL,CAAAA,IAAAA,CAAAA;AAEvC,IAAA,MAAMM,aAAgB,GAAA,IAAA;AACpB,QAAA,MAAMC,WAAc,GAAA,KAAA;QACpBT,QAASS,CAAAA,WAAAA,CAAAA;AACX,KAAA;AAEA,IAAA,MAAMC,YAAe,GAAA,IAAA;AACnB,QAAA,MAAMD,WAAc,GAAA,aAAA;AACpBJ,QAAAA,MAAAA,EAAAA;QACAL,QAASS,CAAAA,WAAAA,CAAAA;AACX,KAAA;AAEA,IAAA,qBACEE,GAAC1B,CAAAA,IAAAA,EAAAA;AAAM,QAAA,GAAGY,KAAK;gCACbe,IAAA,CAACjC,KAAKkC,IAAI,EAAA;;8BACRF,GAAClC,CAAAA,WAAAA,EAAAA;oBAAYqC,OAAS,EAAA,IAAA;oBAAMC,SAAS,EAAA,IAAA;oBAACC,cAAe,EAAA,YAAA;AACnD,oBAAA,QAAA,gBAAAJ,IAAC3B,CAAAA,IAAAA,EAAAA;wBAAKgC,UAAW,EAAA,QAAA;wBAASC,GAAK,EAAA,CAAA;;0CAC7BP,GAAC3B,CAAAA,QAAAA,EAAAA;gCAASgC,cAAe,EAAA,QAAA;wDACvBL,GAAA,CAACQ,OAAOC,IAAI,EAAA;oCAACC,OAAS,EAAA,CAAA;AAAGC,oCAAAA,QAAAA,EAAU5B,YAAY6B,WAAYrB,CAAAA,IAAAA;;;AAE5DP,4BAAAA,eAAAA,iBACCgB,GAACnB,CAAAA,UAAAA,EAAAA;gCAAWgC,OAAQ,EAAA,OAAA;0CAAS5B,QAAYU,IAAAA;+CAEzCK,GAACc,CAAAA,cAAAA,EAAAA;gCAAeC,GAAI,EAAA,MAAA;0CAAQ9B,QAAYU,IAAAA;;;;;8BAK9CM,IAACzB,CAAAA,WAAAA,EAAAA;oBAAYwC,gBAAiB,EAAA,WAAA;oBAAYC,MAAQ,EAAA,CAAA;;sCAChDhB,IAACvB,CAAAA,QAAAA,EAAAA;4BAASwC,SAAU,EAAA,QAAA;4BAASX,GAAK,EAAA,CAAA;4BAAGD,UAAW,EAAA,YAAA;;8CAC9CN,GAACnB,CAAAA,UAAAA,EAAAA;oCAAWgC,OAAQ,EAAA,OAAA;oCAAQM,UAAW,EAAA,MAAA;oCAAOC,aAAc,EAAA,MAAA;8CACzDnC,QAAYU,IAAAA;;8CAEfK,GAACpB,CAAAA,gBAAAA,EAAAA;oCAAiBiC,OAAQ,EAAA,IAAA;oCAAKQ,SAAU,EAAA,YAAA;8CACtC9B,IAAM+B,EAAAA;;8CAETtB,GAACrB,CAAAA,YAAAA,EAAAA;AACEY,oCAAAA,QAAAA,EAAAA,IAAAA,EAAMgC,KAAOC,EAAAA,GAAAA,CAAI,CAACC,IAAAA,iBAASzB,GAAC0B,CAAAA,KAAAA,EAAAA;AAAqBD,4CAAAA,QAAAA,EAAAA,IAAAA,CAAKE;AAAfF,yCAAAA,EAAAA,IAAAA,CAAKG,EAAE,CAAA;;;;AAInD,sCAAA5B,GAAA,CAAChC,KAAK6D,SAAS,EAAA,EAAA,CAAA;AAEf,sCAAA7B,GAAA,CAAChC,KAAKyC,IAAI,EAAA;4BAACqB,QAAUjC,EAAAA,aAAAA;sCAClBV,aAAc,CAAA;gCACbyC,EAAI,EAAA,yBAAA;gCACJG,cAAgB,EAAA;AAClB,6BAAA;;AAGF,sCAAA/B,GAAA,CAAChC,KAAKyC,IAAI,EAAA;4BAACI,OAAQ,EAAA,QAAA;4BAASiB,QAAU/B,EAAAA,YAAAA;4BAAciC,KAAM,EAAA,WAAA;sCACvD7C,aAAc,CAAA;gCACbyC,EAAI,EAAA,gCAAA;gCACJG,cAAgB,EAAA;AAClB,6BAAA;;;;;;;AAMZ;;;;"}
@@ -71,6 +71,13 @@ const CircleProgressBar = ({ percentage })=>{
71
71
  ]
72
72
  });
73
73
  };
74
+ const Container = styled.styled(designSystem.Flex)`
75
+ display: none;
76
+
77
+ ${({ theme })=>theme.breakpoints.large} {
78
+ display: flex;
79
+ }
80
+ `;
74
81
  const TrialCountdown = ()=>{
75
82
  const { formatMessage } = reactIntl.useIntl();
76
83
  const { license, isError, isLoading } = ee.useLicenseLimits();
@@ -86,7 +93,7 @@ const TrialCountdown = ()=>{
86
93
  const millisecondsPerDay = 1000 * 60 * 60 * 24;
87
94
  const timeDifference = targetDate.getTime() - now.getTime();
88
95
  const daysLeft = Math.ceil(timeDifference / millisecondsPerDay) <= 0 ? 0 : Math.ceil(timeDifference / millisecondsPerDay);
89
- return /*#__PURE__*/ jsxRuntime.jsx(designSystem.Flex, {
96
+ return /*#__PURE__*/ jsxRuntime.jsx(Container, {
90
97
  justifyContent: "center",
91
98
  padding: 3,
92
99
  children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Tooltip, {
@@ -1 +1 @@
1
- {"version":3,"file":"TrialCountdown.js","sources":["../../../../../../admin/src/components/MainNav/TrialCountdown.tsx"],"sourcesContent":["import { useLicenseLimits } from '@strapi/admin/strapi-admin/ee';\nimport { Flex, Tooltip } from '@strapi/design-system';\nimport { format, isBefore, startOfToday } from 'date-fns';\nimport { useIntl } from 'react-intl';\nimport { useTheme } from 'styled-components';\n\nimport { useGetLicenseTrialTimeLeftQuery } from '../../../src/services/admin';\n\ntype CircleProgressBarProps = {\n percentage: number;\n};\n\nconst CircleProgressBar = ({ percentage }: CircleProgressBarProps) => {\n const theme = useTheme();\n\n const radius = 45;\n const circumference = 2 * Math.PI * radius;\n const offset = circumference * (1 - percentage / 100);\n\n return (\n <svg width=\"32\" height=\"32\" viewBox=\"0 0 100 100\">\n <defs>\n <linearGradient id=\"progressGradient\" x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"0%\">\n <stop offset=\"0%\" stopColor={theme.colors.primary600} />\n <stop offset=\"100%\" stopColor={theme.colors.alternative600} />\n </linearGradient>\n </defs>\n <circle cx=\"50\" cy=\"50\" r={radius} stroke=\"#ccc\" strokeWidth=\"10\" fill=\"none\" />\n <circle\n cx=\"50\"\n cy=\"50\"\n r={radius}\n stroke=\"url(#progressGradient)\"\n strokeWidth=\"10\"\n fill=\"none\"\n strokeDasharray={circumference}\n strokeDashoffset={offset}\n transform=\"rotate(-90 50 50)\"\n strokeLinecap=\"round\"\n />\n <svg x=\"35\" y=\"25\" width=\"50\" height=\"50\" viewBox=\"0 0 32 32\">\n <path\n fill=\"url(#progressGradient)\"\n d=\"m21.731 14.683-14 15a1 1 0 0 1-1.711-.875l1.832-9.167L.65 16.936a1 1 0 0 1-.375-1.625l14-15a1 1 0 0 1 1.71.875l-1.837 9.177 7.204 2.7a1 1 0 0 1 .375 1.62z\"\n />\n </svg>\n </svg>\n );\n};\n\nconst TrialCountdown = () => {\n const { formatMessage } = useIntl();\n const { license, isError, isLoading } = useLicenseLimits();\n\n const timeLeftData = useGetLicenseTrialTimeLeftQuery(undefined, {\n skip: !license?.isTrial,\n });\n\n if (\n isError ||\n isLoading ||\n !license?.isTrial ||\n timeLeftData.isLoading ||\n timeLeftData.isError ||\n !timeLeftData.data ||\n !timeLeftData.data.trialEndsAt\n ) {\n return null;\n }\n\n const targetDate = new Date(timeLeftData.data.trialEndsAt);\n const now = new Date();\n const isTargetDateInPast = isBefore(targetDate, startOfToday());\n\n const millisecondsPerDay = 1000 * 60 * 60 * 24;\n const timeDifference = targetDate.getTime() - now.getTime();\n\n const daysLeft =\n Math.ceil(timeDifference / millisecondsPerDay) <= 0\n ? 0\n : Math.ceil(timeDifference / millisecondsPerDay);\n\n return (\n <Flex justifyContent=\"center\" padding={3}>\n <Tooltip\n label={formatMessage(\n isTargetDateInPast\n ? {\n id: 'app.components.LeftMenu.trialCountdown.endedAt',\n defaultMessage: 'Your trial ended on {date}',\n }\n : {\n id: 'app.components.LeftMenu.trialCountdown.endsAt',\n defaultMessage: 'Your trial ends on {date}',\n },\n {\n date: format(new Date(timeLeftData.data.trialEndsAt), 'PPP'),\n }\n )}\n side=\"right\"\n >\n <div data-testid=\"trial-countdown\">\n <CircleProgressBar percentage={((30 - daysLeft) * 100) / 30} />\n </div>\n </Tooltip>\n </Flex>\n );\n};\n\nexport { TrialCountdown };\n"],"names":["CircleProgressBar","percentage","theme","useTheme","radius","circumference","Math","PI","offset","_jsxs","svg","width","height","viewBox","_jsx","defs","linearGradient","id","x1","y1","x2","y2","stop","stopColor","colors","primary600","alternative600","circle","cx","cy","r","stroke","strokeWidth","fill","strokeDasharray","strokeDashoffset","transform","strokeLinecap","x","y","path","d","TrialCountdown","formatMessage","useIntl","license","isError","isLoading","useLicenseLimits","timeLeftData","useGetLicenseTrialTimeLeftQuery","undefined","skip","isTrial","data","trialEndsAt","targetDate","Date","now","isTargetDateInPast","isBefore","startOfToday","millisecondsPerDay","timeDifference","getTime","daysLeft","ceil","Flex","justifyContent","padding","Tooltip","label","defaultMessage","date","format","side","div","data-testid"],"mappings":";;;;;;;;;;AAYA,MAAMA,iBAAoB,GAAA,CAAC,EAAEC,UAAU,EAA0B,GAAA;AAC/D,IAAA,MAAMC,KAAQC,GAAAA,eAAAA,EAAAA;AAEd,IAAA,MAAMC,MAAS,GAAA,EAAA;AACf,IAAA,MAAMC,aAAgB,GAAA,CAAA,GAAIC,IAAKC,CAAAA,EAAE,GAAGH,MAAAA;AACpC,IAAA,MAAMI,MAASH,GAAAA,aAAAA,IAAiB,CAAA,GAAIJ,aAAa,GAAE,CAAA;AAEnD,IAAA,qBACEQ,eAACC,CAAAA,KAAAA,EAAAA;QAAIC,KAAM,EAAA,IAAA;QAAKC,MAAO,EAAA,IAAA;QAAKC,OAAQ,EAAA,aAAA;;0BAClCC,cAACC,CAAAA,MAAAA,EAAAA;AACC,gBAAA,QAAA,gBAAAN,eAACO,CAAAA,gBAAAA,EAAAA;oBAAeC,EAAG,EAAA,kBAAA;oBAAmBC,EAAG,EAAA,IAAA;oBAAKC,EAAG,EAAA,IAAA;oBAAKC,EAAG,EAAA,MAAA;oBAAOC,EAAG,EAAA,IAAA;;sCACjEP,cAACQ,CAAAA,MAAAA,EAAAA;4BAAKd,MAAO,EAAA,IAAA;4BAAKe,SAAWrB,EAAAA,KAAAA,CAAMsB,MAAM,CAACC;;sCAC1CX,cAACQ,CAAAA,MAAAA,EAAAA;4BAAKd,MAAO,EAAA,MAAA;4BAAOe,SAAWrB,EAAAA,KAAAA,CAAMsB,MAAM,CAACE;;;;;0BAGhDZ,cAACa,CAAAA,QAAAA,EAAAA;gBAAOC,EAAG,EAAA,IAAA;gBAAKC,EAAG,EAAA,IAAA;gBAAKC,CAAG1B,EAAAA,MAAAA;gBAAQ2B,MAAO,EAAA,MAAA;gBAAOC,WAAY,EAAA,IAAA;gBAAKC,IAAK,EAAA;;0BACvEnB,cAACa,CAAAA,QAAAA,EAAAA;gBACCC,EAAG,EAAA,IAAA;gBACHC,EAAG,EAAA,IAAA;gBACHC,CAAG1B,EAAAA,MAAAA;gBACH2B,MAAO,EAAA,wBAAA;gBACPC,WAAY,EAAA,IAAA;gBACZC,IAAK,EAAA,MAAA;gBACLC,eAAiB7B,EAAAA,aAAAA;gBACjB8B,gBAAkB3B,EAAAA,MAAAA;gBAClB4B,SAAU,EAAA,mBAAA;gBACVC,aAAc,EAAA;;0BAEhBvB,cAACJ,CAAAA,KAAAA,EAAAA;gBAAI4B,CAAE,EAAA,IAAA;gBAAKC,CAAE,EAAA,IAAA;gBAAK5B,KAAM,EAAA,IAAA;gBAAKC,MAAO,EAAA,IAAA;gBAAKC,OAAQ,EAAA,WAAA;AAChD,gBAAA,QAAA,gBAAAC,cAAC0B,CAAAA,MAAAA,EAAAA;oBACCP,IAAK,EAAA,wBAAA;oBACLQ,CAAE,EAAA;;;;;AAKZ,CAAA;AAEA,MAAMC,cAAiB,GAAA,IAAA;IACrB,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;AAC1B,IAAA,MAAM,EAAEC,OAAO,EAAEC,OAAO,EAAEC,SAAS,EAAE,GAAGC,mBAAAA,EAAAA;IAExC,MAAMC,YAAAA,GAAeC,sCAAgCC,SAAW,EAAA;AAC9DC,QAAAA,IAAAA,EAAM,CAACP,OAASQ,EAAAA;AAClB,KAAA,CAAA;IAEA,IACEP,OAAAA,IACAC,aACA,CAACF,OAAAA,EAASQ,WACVJ,YAAaF,CAAAA,SAAS,IACtBE,YAAaH,CAAAA,OAAO,IACpB,CAACG,YAAAA,CAAaK,IAAI,IAClB,CAACL,aAAaK,IAAI,CAACC,WAAW,EAC9B;QACA,OAAO,IAAA;AACT;AAEA,IAAA,MAAMC,aAAa,IAAIC,IAAAA,CAAKR,YAAaK,CAAAA,IAAI,CAACC,WAAW,CAAA;AACzD,IAAA,MAAMG,MAAM,IAAID,IAAAA,EAAAA;IAChB,MAAME,kBAAAA,GAAqBC,iBAASJ,UAAYK,EAAAA,oBAAAA,EAAAA,CAAAA;IAEhD,MAAMC,kBAAAA,GAAqB,IAAO,GAAA,EAAA,GAAK,EAAK,GAAA,EAAA;AAC5C,IAAA,MAAMC,cAAiBP,GAAAA,UAAAA,CAAWQ,OAAO,EAAA,GAAKN,IAAIM,OAAO,EAAA;IAEzD,MAAMC,QAAAA,GACJ3D,IAAK4D,CAAAA,IAAI,CAACH,cAAAA,GAAiBD,kBAAuB,CAAA,IAAA,CAAA,GAC9C,CACAxD,GAAAA,IAAAA,CAAK4D,IAAI,CAACH,cAAiBD,GAAAA,kBAAAA,CAAAA;AAEjC,IAAA,qBACEhD,cAACqD,CAAAA,iBAAAA,EAAAA;QAAKC,cAAe,EAAA,QAAA;QAASC,OAAS,EAAA,CAAA;AACrC,QAAA,QAAA,gBAAAvD,cAACwD,CAAAA,oBAAAA,EAAAA;AACCC,YAAAA,KAAAA,EAAO5B,cACLgB,kBACI,GAAA;gBACE1C,EAAI,EAAA,gDAAA;gBACJuD,cAAgB,EAAA;aAElB,GAAA;gBACEvD,EAAI,EAAA,+CAAA;gBACJuD,cAAgB,EAAA;aAEtB,EAAA;AACEC,gBAAAA,IAAAA,EAAMC,eAAO,IAAIjB,IAAAA,CAAKR,aAAaK,IAAI,CAACC,WAAW,CAAG,EAAA,KAAA;AACxD,aAAA,CAAA;YAEFoB,IAAK,EAAA,OAAA;AAEL,YAAA,QAAA,gBAAA7D,cAAC8D,CAAAA,KAAAA,EAAAA;gBAAIC,aAAY,EAAA,iBAAA;AACf,gBAAA,QAAA,gBAAA/D,cAACd,CAAAA,iBAAAA,EAAAA;AAAkBC,oBAAAA,UAAAA,EAAY,CAAE,EAAKgE,GAAAA,QAAO,IAAK,GAAO,GAAA;;;;;AAKnE;;;;"}
1
+ {"version":3,"file":"TrialCountdown.js","sources":["../../../../../../admin/src/components/MainNav/TrialCountdown.tsx"],"sourcesContent":["import { useLicenseLimits } from '@strapi/admin/strapi-admin/ee';\nimport { Flex, Tooltip } from '@strapi/design-system';\nimport { format, isBefore, startOfToday } from 'date-fns';\nimport { useIntl } from 'react-intl';\nimport { styled, useTheme } from 'styled-components';\n\nimport { useGetLicenseTrialTimeLeftQuery } from '../../../src/services/admin';\n\ntype CircleProgressBarProps = {\n percentage: number;\n};\n\nconst CircleProgressBar = ({ percentage }: CircleProgressBarProps) => {\n const theme = useTheme();\n\n const radius = 45;\n const circumference = 2 * Math.PI * radius;\n const offset = circumference * (1 - percentage / 100);\n\n return (\n <svg width=\"32\" height=\"32\" viewBox=\"0 0 100 100\">\n <defs>\n <linearGradient id=\"progressGradient\" x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"0%\">\n <stop offset=\"0%\" stopColor={theme.colors.primary600} />\n <stop offset=\"100%\" stopColor={theme.colors.alternative600} />\n </linearGradient>\n </defs>\n <circle cx=\"50\" cy=\"50\" r={radius} stroke=\"#ccc\" strokeWidth=\"10\" fill=\"none\" />\n <circle\n cx=\"50\"\n cy=\"50\"\n r={radius}\n stroke=\"url(#progressGradient)\"\n strokeWidth=\"10\"\n fill=\"none\"\n strokeDasharray={circumference}\n strokeDashoffset={offset}\n transform=\"rotate(-90 50 50)\"\n strokeLinecap=\"round\"\n />\n <svg x=\"35\" y=\"25\" width=\"50\" height=\"50\" viewBox=\"0 0 32 32\">\n <path\n fill=\"url(#progressGradient)\"\n d=\"m21.731 14.683-14 15a1 1 0 0 1-1.711-.875l1.832-9.167L.65 16.936a1 1 0 0 1-.375-1.625l14-15a1 1 0 0 1 1.71.875l-1.837 9.177 7.204 2.7a1 1 0 0 1 .375 1.62z\"\n />\n </svg>\n </svg>\n );\n};\n\nconst Container = styled(Flex)`\n display: none;\n\n ${({ theme }) => theme.breakpoints.large} {\n display: flex;\n }\n`;\n\nconst TrialCountdown = () => {\n const { formatMessage } = useIntl();\n const { license, isError, isLoading } = useLicenseLimits();\n\n const timeLeftData = useGetLicenseTrialTimeLeftQuery(undefined, {\n skip: !license?.isTrial,\n });\n\n if (\n isError ||\n isLoading ||\n !license?.isTrial ||\n timeLeftData.isLoading ||\n timeLeftData.isError ||\n !timeLeftData.data ||\n !timeLeftData.data.trialEndsAt\n ) {\n return null;\n }\n\n const targetDate = new Date(timeLeftData.data.trialEndsAt);\n const now = new Date();\n const isTargetDateInPast = isBefore(targetDate, startOfToday());\n\n const millisecondsPerDay = 1000 * 60 * 60 * 24;\n const timeDifference = targetDate.getTime() - now.getTime();\n\n const daysLeft =\n Math.ceil(timeDifference / millisecondsPerDay) <= 0\n ? 0\n : Math.ceil(timeDifference / millisecondsPerDay);\n\n return (\n <Container justifyContent=\"center\" padding={3}>\n <Tooltip\n label={formatMessage(\n isTargetDateInPast\n ? {\n id: 'app.components.LeftMenu.trialCountdown.endedAt',\n defaultMessage: 'Your trial ended on {date}',\n }\n : {\n id: 'app.components.LeftMenu.trialCountdown.endsAt',\n defaultMessage: 'Your trial ends on {date}',\n },\n {\n date: format(new Date(timeLeftData.data.trialEndsAt), 'PPP'),\n }\n )}\n side=\"right\"\n >\n <div data-testid=\"trial-countdown\">\n <CircleProgressBar percentage={((30 - daysLeft) * 100) / 30} />\n </div>\n </Tooltip>\n </Container>\n );\n};\n\nexport { TrialCountdown };\n"],"names":["CircleProgressBar","percentage","theme","useTheme","radius","circumference","Math","PI","offset","_jsxs","svg","width","height","viewBox","_jsx","defs","linearGradient","id","x1","y1","x2","y2","stop","stopColor","colors","primary600","alternative600","circle","cx","cy","r","stroke","strokeWidth","fill","strokeDasharray","strokeDashoffset","transform","strokeLinecap","x","y","path","d","Container","styled","Flex","breakpoints","large","TrialCountdown","formatMessage","useIntl","license","isError","isLoading","useLicenseLimits","timeLeftData","useGetLicenseTrialTimeLeftQuery","undefined","skip","isTrial","data","trialEndsAt","targetDate","Date","now","isTargetDateInPast","isBefore","startOfToday","millisecondsPerDay","timeDifference","getTime","daysLeft","ceil","justifyContent","padding","Tooltip","label","defaultMessage","date","format","side","div","data-testid"],"mappings":";;;;;;;;;;AAYA,MAAMA,iBAAoB,GAAA,CAAC,EAAEC,UAAU,EAA0B,GAAA;AAC/D,IAAA,MAAMC,KAAQC,GAAAA,eAAAA,EAAAA;AAEd,IAAA,MAAMC,MAAS,GAAA,EAAA;AACf,IAAA,MAAMC,aAAgB,GAAA,CAAA,GAAIC,IAAKC,CAAAA,EAAE,GAAGH,MAAAA;AACpC,IAAA,MAAMI,MAASH,GAAAA,aAAAA,IAAiB,CAAA,GAAIJ,aAAa,GAAE,CAAA;AAEnD,IAAA,qBACEQ,eAACC,CAAAA,KAAAA,EAAAA;QAAIC,KAAM,EAAA,IAAA;QAAKC,MAAO,EAAA,IAAA;QAAKC,OAAQ,EAAA,aAAA;;0BAClCC,cAACC,CAAAA,MAAAA,EAAAA;AACC,gBAAA,QAAA,gBAAAN,eAACO,CAAAA,gBAAAA,EAAAA;oBAAeC,EAAG,EAAA,kBAAA;oBAAmBC,EAAG,EAAA,IAAA;oBAAKC,EAAG,EAAA,IAAA;oBAAKC,EAAG,EAAA,MAAA;oBAAOC,EAAG,EAAA,IAAA;;sCACjEP,cAACQ,CAAAA,MAAAA,EAAAA;4BAAKd,MAAO,EAAA,IAAA;4BAAKe,SAAWrB,EAAAA,KAAAA,CAAMsB,MAAM,CAACC;;sCAC1CX,cAACQ,CAAAA,MAAAA,EAAAA;4BAAKd,MAAO,EAAA,MAAA;4BAAOe,SAAWrB,EAAAA,KAAAA,CAAMsB,MAAM,CAACE;;;;;0BAGhDZ,cAACa,CAAAA,QAAAA,EAAAA;gBAAOC,EAAG,EAAA,IAAA;gBAAKC,EAAG,EAAA,IAAA;gBAAKC,CAAG1B,EAAAA,MAAAA;gBAAQ2B,MAAO,EAAA,MAAA;gBAAOC,WAAY,EAAA,IAAA;gBAAKC,IAAK,EAAA;;0BACvEnB,cAACa,CAAAA,QAAAA,EAAAA;gBACCC,EAAG,EAAA,IAAA;gBACHC,EAAG,EAAA,IAAA;gBACHC,CAAG1B,EAAAA,MAAAA;gBACH2B,MAAO,EAAA,wBAAA;gBACPC,WAAY,EAAA,IAAA;gBACZC,IAAK,EAAA,MAAA;gBACLC,eAAiB7B,EAAAA,aAAAA;gBACjB8B,gBAAkB3B,EAAAA,MAAAA;gBAClB4B,SAAU,EAAA,mBAAA;gBACVC,aAAc,EAAA;;0BAEhBvB,cAACJ,CAAAA,KAAAA,EAAAA;gBAAI4B,CAAE,EAAA,IAAA;gBAAKC,CAAE,EAAA,IAAA;gBAAK5B,KAAM,EAAA,IAAA;gBAAKC,MAAO,EAAA,IAAA;gBAAKC,OAAQ,EAAA,WAAA;AAChD,gBAAA,QAAA,gBAAAC,cAAC0B,CAAAA,MAAAA,EAAAA;oBACCP,IAAK,EAAA,wBAAA;oBACLQ,CAAE,EAAA;;;;;AAKZ,CAAA;AAEA,MAAMC,SAAAA,GAAYC,aAAOC,CAAAA,iBAAAA,CAAK;;;EAG5B,EAAE,CAAC,EAAE1C,KAAK,EAAE,GAAKA,KAAM2C,CAAAA,WAAW,CAACC,KAAK,CAAC;;;AAG3C,CAAC;AAED,MAAMC,cAAiB,GAAA,IAAA;IACrB,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;AAC1B,IAAA,MAAM,EAAEC,OAAO,EAAEC,OAAO,EAAEC,SAAS,EAAE,GAAGC,mBAAAA,EAAAA;IAExC,MAAMC,YAAAA,GAAeC,sCAAgCC,SAAW,EAAA;AAC9DC,QAAAA,IAAAA,EAAM,CAACP,OAASQ,EAAAA;AAClB,KAAA,CAAA;IAEA,IACEP,OAAAA,IACAC,aACA,CAACF,OAAAA,EAASQ,WACVJ,YAAaF,CAAAA,SAAS,IACtBE,YAAaH,CAAAA,OAAO,IACpB,CAACG,YAAAA,CAAaK,IAAI,IAClB,CAACL,aAAaK,IAAI,CAACC,WAAW,EAC9B;QACA,OAAO,IAAA;AACT;AAEA,IAAA,MAAMC,aAAa,IAAIC,IAAAA,CAAKR,YAAaK,CAAAA,IAAI,CAACC,WAAW,CAAA;AACzD,IAAA,MAAMG,MAAM,IAAID,IAAAA,EAAAA;IAChB,MAAME,kBAAAA,GAAqBC,iBAASJ,UAAYK,EAAAA,oBAAAA,EAAAA,CAAAA;IAEhD,MAAMC,kBAAAA,GAAqB,IAAO,GAAA,EAAA,GAAK,EAAK,GAAA,EAAA;AAC5C,IAAA,MAAMC,cAAiBP,GAAAA,UAAAA,CAAWQ,OAAO,EAAA,GAAKN,IAAIM,OAAO,EAAA;IAEzD,MAAMC,QAAAA,GACJhE,IAAKiE,CAAAA,IAAI,CAACH,cAAAA,GAAiBD,kBAAuB,CAAA,IAAA,CAAA,GAC9C,CACA7D,GAAAA,IAAAA,CAAKiE,IAAI,CAACH,cAAiBD,GAAAA,kBAAAA,CAAAA;AAEjC,IAAA,qBACErD,cAAC4B,CAAAA,SAAAA,EAAAA;QAAU8B,cAAe,EAAA,QAAA;QAASC,OAAS,EAAA,CAAA;AAC1C,QAAA,QAAA,gBAAA3D,cAAC4D,CAAAA,oBAAAA,EAAAA;AACCC,YAAAA,KAAAA,EAAO3B,cACLgB,kBACI,GAAA;gBACE/C,EAAI,EAAA,gDAAA;gBACJ2D,cAAgB,EAAA;aAElB,GAAA;gBACE3D,EAAI,EAAA,+CAAA;gBACJ2D,cAAgB,EAAA;aAEtB,EAAA;AACEC,gBAAAA,IAAAA,EAAMC,eAAO,IAAIhB,IAAAA,CAAKR,aAAaK,IAAI,CAACC,WAAW,CAAG,EAAA,KAAA;AACxD,aAAA,CAAA;YAEFmB,IAAK,EAAA,OAAA;AAEL,YAAA,QAAA,gBAAAjE,cAACkE,CAAAA,KAAAA,EAAAA;gBAAIC,aAAY,EAAA,iBAAA;AACf,gBAAA,QAAA,gBAAAnE,cAACd,CAAAA,iBAAAA,EAAAA;AAAkBC,oBAAAA,UAAAA,EAAY,CAAE,EAAKqE,GAAAA,QAAO,IAAK,GAAO,GAAA;;;;;AAKnE;;;;"}
@@ -3,7 +3,7 @@ import { useLicenseLimits } from '@strapi/admin/strapi-admin/ee';
3
3
  import { Flex, Tooltip } from '@strapi/design-system';
4
4
  import { isBefore, startOfToday, format } from 'date-fns';
5
5
  import { useIntl } from 'react-intl';
6
- import { useTheme } from 'styled-components';
6
+ import { styled, useTheme } from 'styled-components';
7
7
  import { useGetLicenseTrialTimeLeftQuery } from '../../services/admin.mjs';
8
8
 
9
9
  const CircleProgressBar = ({ percentage })=>{
@@ -69,6 +69,13 @@ const CircleProgressBar = ({ percentage })=>{
69
69
  ]
70
70
  });
71
71
  };
72
+ const Container = styled(Flex)`
73
+ display: none;
74
+
75
+ ${({ theme })=>theme.breakpoints.large} {
76
+ display: flex;
77
+ }
78
+ `;
72
79
  const TrialCountdown = ()=>{
73
80
  const { formatMessage } = useIntl();
74
81
  const { license, isError, isLoading } = useLicenseLimits();
@@ -84,7 +91,7 @@ const TrialCountdown = ()=>{
84
91
  const millisecondsPerDay = 1000 * 60 * 60 * 24;
85
92
  const timeDifference = targetDate.getTime() - now.getTime();
86
93
  const daysLeft = Math.ceil(timeDifference / millisecondsPerDay) <= 0 ? 0 : Math.ceil(timeDifference / millisecondsPerDay);
87
- return /*#__PURE__*/ jsx(Flex, {
94
+ return /*#__PURE__*/ jsx(Container, {
88
95
  justifyContent: "center",
89
96
  padding: 3,
90
97
  children: /*#__PURE__*/ jsx(Tooltip, {
@@ -1 +1 @@
1
- {"version":3,"file":"TrialCountdown.mjs","sources":["../../../../../../admin/src/components/MainNav/TrialCountdown.tsx"],"sourcesContent":["import { useLicenseLimits } from '@strapi/admin/strapi-admin/ee';\nimport { Flex, Tooltip } from '@strapi/design-system';\nimport { format, isBefore, startOfToday } from 'date-fns';\nimport { useIntl } from 'react-intl';\nimport { useTheme } from 'styled-components';\n\nimport { useGetLicenseTrialTimeLeftQuery } from '../../../src/services/admin';\n\ntype CircleProgressBarProps = {\n percentage: number;\n};\n\nconst CircleProgressBar = ({ percentage }: CircleProgressBarProps) => {\n const theme = useTheme();\n\n const radius = 45;\n const circumference = 2 * Math.PI * radius;\n const offset = circumference * (1 - percentage / 100);\n\n return (\n <svg width=\"32\" height=\"32\" viewBox=\"0 0 100 100\">\n <defs>\n <linearGradient id=\"progressGradient\" x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"0%\">\n <stop offset=\"0%\" stopColor={theme.colors.primary600} />\n <stop offset=\"100%\" stopColor={theme.colors.alternative600} />\n </linearGradient>\n </defs>\n <circle cx=\"50\" cy=\"50\" r={radius} stroke=\"#ccc\" strokeWidth=\"10\" fill=\"none\" />\n <circle\n cx=\"50\"\n cy=\"50\"\n r={radius}\n stroke=\"url(#progressGradient)\"\n strokeWidth=\"10\"\n fill=\"none\"\n strokeDasharray={circumference}\n strokeDashoffset={offset}\n transform=\"rotate(-90 50 50)\"\n strokeLinecap=\"round\"\n />\n <svg x=\"35\" y=\"25\" width=\"50\" height=\"50\" viewBox=\"0 0 32 32\">\n <path\n fill=\"url(#progressGradient)\"\n d=\"m21.731 14.683-14 15a1 1 0 0 1-1.711-.875l1.832-9.167L.65 16.936a1 1 0 0 1-.375-1.625l14-15a1 1 0 0 1 1.71.875l-1.837 9.177 7.204 2.7a1 1 0 0 1 .375 1.62z\"\n />\n </svg>\n </svg>\n );\n};\n\nconst TrialCountdown = () => {\n const { formatMessage } = useIntl();\n const { license, isError, isLoading } = useLicenseLimits();\n\n const timeLeftData = useGetLicenseTrialTimeLeftQuery(undefined, {\n skip: !license?.isTrial,\n });\n\n if (\n isError ||\n isLoading ||\n !license?.isTrial ||\n timeLeftData.isLoading ||\n timeLeftData.isError ||\n !timeLeftData.data ||\n !timeLeftData.data.trialEndsAt\n ) {\n return null;\n }\n\n const targetDate = new Date(timeLeftData.data.trialEndsAt);\n const now = new Date();\n const isTargetDateInPast = isBefore(targetDate, startOfToday());\n\n const millisecondsPerDay = 1000 * 60 * 60 * 24;\n const timeDifference = targetDate.getTime() - now.getTime();\n\n const daysLeft =\n Math.ceil(timeDifference / millisecondsPerDay) <= 0\n ? 0\n : Math.ceil(timeDifference / millisecondsPerDay);\n\n return (\n <Flex justifyContent=\"center\" padding={3}>\n <Tooltip\n label={formatMessage(\n isTargetDateInPast\n ? {\n id: 'app.components.LeftMenu.trialCountdown.endedAt',\n defaultMessage: 'Your trial ended on {date}',\n }\n : {\n id: 'app.components.LeftMenu.trialCountdown.endsAt',\n defaultMessage: 'Your trial ends on {date}',\n },\n {\n date: format(new Date(timeLeftData.data.trialEndsAt), 'PPP'),\n }\n )}\n side=\"right\"\n >\n <div data-testid=\"trial-countdown\">\n <CircleProgressBar percentage={((30 - daysLeft) * 100) / 30} />\n </div>\n </Tooltip>\n </Flex>\n );\n};\n\nexport { TrialCountdown };\n"],"names":["CircleProgressBar","percentage","theme","useTheme","radius","circumference","Math","PI","offset","_jsxs","svg","width","height","viewBox","_jsx","defs","linearGradient","id","x1","y1","x2","y2","stop","stopColor","colors","primary600","alternative600","circle","cx","cy","r","stroke","strokeWidth","fill","strokeDasharray","strokeDashoffset","transform","strokeLinecap","x","y","path","d","TrialCountdown","formatMessage","useIntl","license","isError","isLoading","useLicenseLimits","timeLeftData","useGetLicenseTrialTimeLeftQuery","undefined","skip","isTrial","data","trialEndsAt","targetDate","Date","now","isTargetDateInPast","isBefore","startOfToday","millisecondsPerDay","timeDifference","getTime","daysLeft","ceil","Flex","justifyContent","padding","Tooltip","label","defaultMessage","date","format","side","div","data-testid"],"mappings":"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"}
1
+ {"version":3,"file":"TrialCountdown.mjs","sources":["../../../../../../admin/src/components/MainNav/TrialCountdown.tsx"],"sourcesContent":["import { useLicenseLimits } from '@strapi/admin/strapi-admin/ee';\nimport { Flex, Tooltip } from '@strapi/design-system';\nimport { format, isBefore, startOfToday } from 'date-fns';\nimport { useIntl } from 'react-intl';\nimport { styled, useTheme } from 'styled-components';\n\nimport { useGetLicenseTrialTimeLeftQuery } from '../../../src/services/admin';\n\ntype CircleProgressBarProps = {\n percentage: number;\n};\n\nconst CircleProgressBar = ({ percentage }: CircleProgressBarProps) => {\n const theme = useTheme();\n\n const radius = 45;\n const circumference = 2 * Math.PI * radius;\n const offset = circumference * (1 - percentage / 100);\n\n return (\n <svg width=\"32\" height=\"32\" viewBox=\"0 0 100 100\">\n <defs>\n <linearGradient id=\"progressGradient\" x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"0%\">\n <stop offset=\"0%\" stopColor={theme.colors.primary600} />\n <stop offset=\"100%\" stopColor={theme.colors.alternative600} />\n </linearGradient>\n </defs>\n <circle cx=\"50\" cy=\"50\" r={radius} stroke=\"#ccc\" strokeWidth=\"10\" fill=\"none\" />\n <circle\n cx=\"50\"\n cy=\"50\"\n r={radius}\n stroke=\"url(#progressGradient)\"\n strokeWidth=\"10\"\n fill=\"none\"\n strokeDasharray={circumference}\n strokeDashoffset={offset}\n transform=\"rotate(-90 50 50)\"\n strokeLinecap=\"round\"\n />\n <svg x=\"35\" y=\"25\" width=\"50\" height=\"50\" viewBox=\"0 0 32 32\">\n <path\n fill=\"url(#progressGradient)\"\n d=\"m21.731 14.683-14 15a1 1 0 0 1-1.711-.875l1.832-9.167L.65 16.936a1 1 0 0 1-.375-1.625l14-15a1 1 0 0 1 1.71.875l-1.837 9.177 7.204 2.7a1 1 0 0 1 .375 1.62z\"\n />\n </svg>\n </svg>\n );\n};\n\nconst Container = styled(Flex)`\n display: none;\n\n ${({ theme }) => theme.breakpoints.large} {\n display: flex;\n }\n`;\n\nconst TrialCountdown = () => {\n const { formatMessage } = useIntl();\n const { license, isError, isLoading } = useLicenseLimits();\n\n const timeLeftData = useGetLicenseTrialTimeLeftQuery(undefined, {\n skip: !license?.isTrial,\n });\n\n if (\n isError ||\n isLoading ||\n !license?.isTrial ||\n timeLeftData.isLoading ||\n timeLeftData.isError ||\n !timeLeftData.data ||\n !timeLeftData.data.trialEndsAt\n ) {\n return null;\n }\n\n const targetDate = new Date(timeLeftData.data.trialEndsAt);\n const now = new Date();\n const isTargetDateInPast = isBefore(targetDate, startOfToday());\n\n const millisecondsPerDay = 1000 * 60 * 60 * 24;\n const timeDifference = targetDate.getTime() - now.getTime();\n\n const daysLeft =\n Math.ceil(timeDifference / millisecondsPerDay) <= 0\n ? 0\n : Math.ceil(timeDifference / millisecondsPerDay);\n\n return (\n <Container justifyContent=\"center\" padding={3}>\n <Tooltip\n label={formatMessage(\n isTargetDateInPast\n ? {\n id: 'app.components.LeftMenu.trialCountdown.endedAt',\n defaultMessage: 'Your trial ended on {date}',\n }\n : {\n id: 'app.components.LeftMenu.trialCountdown.endsAt',\n defaultMessage: 'Your trial ends on {date}',\n },\n {\n date: format(new Date(timeLeftData.data.trialEndsAt), 'PPP'),\n }\n )}\n side=\"right\"\n >\n <div data-testid=\"trial-countdown\">\n <CircleProgressBar percentage={((30 - daysLeft) * 100) / 30} />\n </div>\n </Tooltip>\n </Container>\n );\n};\n\nexport { TrialCountdown };\n"],"names":["CircleProgressBar","percentage","theme","useTheme","radius","circumference","Math","PI","offset","_jsxs","svg","width","height","viewBox","_jsx","defs","linearGradient","id","x1","y1","x2","y2","stop","stopColor","colors","primary600","alternative600","circle","cx","cy","r","stroke","strokeWidth","fill","strokeDasharray","strokeDashoffset","transform","strokeLinecap","x","y","path","d","Container","styled","Flex","breakpoints","large","TrialCountdown","formatMessage","useIntl","license","isError","isLoading","useLicenseLimits","timeLeftData","useGetLicenseTrialTimeLeftQuery","undefined","skip","isTrial","data","trialEndsAt","targetDate","Date","now","isTargetDateInPast","isBefore","startOfToday","millisecondsPerDay","timeDifference","getTime","daysLeft","ceil","justifyContent","padding","Tooltip","label","defaultMessage","date","format","side","div","data-testid"],"mappings":"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"}