@strapi/admin 5.25.0 → 5.27.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 (336) hide show
  1. package/dist/admin/admin/src/App.js +6 -2
  2. package/dist/admin/admin/src/App.js.map +1 -1
  3. package/dist/admin/admin/src/App.mjs +7 -3
  4. package/dist/admin/admin/src/App.mjs.map +1 -1
  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/GuidedTour/Context.js +26 -1
  10. package/dist/admin/admin/src/components/GuidedTour/Context.js.map +1 -1
  11. package/dist/admin/admin/src/components/GuidedTour/Context.mjs +26 -1
  12. package/dist/admin/admin/src/components/GuidedTour/Context.mjs.map +1 -1
  13. package/dist/admin/admin/src/components/GuidedTour/GuidedTourProvider.js +15 -0
  14. package/dist/admin/admin/src/components/GuidedTour/GuidedTourProvider.js.map +1 -0
  15. package/dist/admin/admin/src/components/GuidedTour/GuidedTourProvider.mjs +13 -0
  16. package/dist/admin/admin/src/components/GuidedTour/GuidedTourProvider.mjs.map +1 -0
  17. package/dist/admin/admin/src/components/GuidedTour/Overview.js +2 -1
  18. package/dist/admin/admin/src/components/GuidedTour/Overview.js.map +1 -1
  19. package/dist/admin/admin/src/components/GuidedTour/Overview.mjs +2 -1
  20. package/dist/admin/admin/src/components/GuidedTour/Overview.mjs.map +1 -1
  21. package/dist/admin/admin/src/components/GuidedTour/Steps/ContentTypeBuilderSteps.js +162 -25
  22. package/dist/admin/admin/src/components/GuidedTour/Steps/ContentTypeBuilderSteps.js.map +1 -1
  23. package/dist/admin/admin/src/components/GuidedTour/Steps/ContentTypeBuilderSteps.mjs +164 -27
  24. package/dist/admin/admin/src/components/GuidedTour/Steps/ContentTypeBuilderSteps.mjs.map +1 -1
  25. package/dist/admin/admin/src/components/GuidedTour/Steps/Step.js +28 -9
  26. package/dist/admin/admin/src/components/GuidedTour/Steps/Step.js.map +1 -1
  27. package/dist/admin/admin/src/components/GuidedTour/Steps/Step.mjs +30 -11
  28. package/dist/admin/admin/src/components/GuidedTour/Steps/Step.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/GuidedTour/utils/migrations.js +2 -1
  34. package/dist/admin/admin/src/components/GuidedTour/utils/migrations.js.map +1 -1
  35. package/dist/admin/admin/src/components/GuidedTour/utils/migrations.mjs +2 -1
  36. package/dist/admin/admin/src/components/GuidedTour/utils/migrations.mjs.map +1 -1
  37. package/dist/admin/admin/src/components/Layouts/ActionLayout.js +3 -2
  38. package/dist/admin/admin/src/components/Layouts/ActionLayout.js.map +1 -1
  39. package/dist/admin/admin/src/components/Layouts/ActionLayout.mjs +3 -2
  40. package/dist/admin/admin/src/components/Layouts/ActionLayout.mjs.map +1 -1
  41. package/dist/admin/admin/src/components/Layouts/ContentLayout.js +3 -2
  42. package/dist/admin/admin/src/components/Layouts/ContentLayout.js.map +1 -1
  43. package/dist/admin/admin/src/components/Layouts/ContentLayout.mjs +3 -2
  44. package/dist/admin/admin/src/components/Layouts/ContentLayout.mjs.map +1 -1
  45. package/dist/admin/admin/src/components/Layouts/HeaderLayout.js +65 -32
  46. package/dist/admin/admin/src/components/Layouts/HeaderLayout.js.map +1 -1
  47. package/dist/admin/admin/src/components/Layouts/HeaderLayout.mjs +66 -33
  48. package/dist/admin/admin/src/components/Layouts/HeaderLayout.mjs.map +1 -1
  49. package/dist/admin/admin/src/components/Layouts/Layout.js +29 -6
  50. package/dist/admin/admin/src/components/Layouts/Layout.js.map +1 -1
  51. package/dist/admin/admin/src/components/Layouts/Layout.mjs +30 -7
  52. package/dist/admin/admin/src/components/Layouts/Layout.mjs.map +1 -1
  53. package/dist/admin/admin/src/components/LeftMenu.js +147 -92
  54. package/dist/admin/admin/src/components/LeftMenu.js.map +1 -1
  55. package/dist/admin/admin/src/components/LeftMenu.mjs +131 -95
  56. package/dist/admin/admin/src/components/LeftMenu.mjs.map +1 -1
  57. package/dist/admin/admin/src/components/MainNav/MainNav.js +20 -6
  58. package/dist/admin/admin/src/components/MainNav/MainNav.js.map +1 -1
  59. package/dist/admin/admin/src/components/MainNav/MainNav.mjs +20 -6
  60. package/dist/admin/admin/src/components/MainNav/MainNav.mjs.map +1 -1
  61. package/dist/admin/admin/src/components/MainNav/MainNavLinks.js +157 -0
  62. package/dist/admin/admin/src/components/MainNav/MainNavLinks.js.map +1 -0
  63. package/dist/admin/admin/src/components/MainNav/MainNavLinks.mjs +154 -0
  64. package/dist/admin/admin/src/components/MainNav/MainNavLinks.mjs.map +1 -0
  65. package/dist/admin/admin/src/components/MainNav/NavBurgerMenu.js +65 -0
  66. package/dist/admin/admin/src/components/MainNav/NavBurgerMenu.js.map +1 -0
  67. package/dist/admin/admin/src/components/MainNav/NavBurgerMenu.mjs +63 -0
  68. package/dist/admin/admin/src/components/MainNav/NavBurgerMenu.mjs.map +1 -0
  69. package/dist/admin/admin/src/components/MainNav/NavLink.js +2 -1
  70. package/dist/admin/admin/src/components/MainNav/NavLink.js.map +1 -1
  71. package/dist/admin/admin/src/components/MainNav/NavLink.mjs +2 -1
  72. package/dist/admin/admin/src/components/MainNav/NavLink.mjs.map +1 -1
  73. package/dist/admin/admin/src/components/MainNav/NavUser.js +39 -22
  74. package/dist/admin/admin/src/components/MainNav/NavUser.js.map +1 -1
  75. package/dist/admin/admin/src/components/MainNav/NavUser.mjs +39 -22
  76. package/dist/admin/admin/src/components/MainNav/NavUser.mjs.map +1 -1
  77. package/dist/admin/admin/src/components/MainNav/TrialCountdown.js +8 -1
  78. package/dist/admin/admin/src/components/MainNav/TrialCountdown.js.map +1 -1
  79. package/dist/admin/admin/src/components/MainNav/TrialCountdown.mjs +9 -2
  80. package/dist/admin/admin/src/components/MainNav/TrialCountdown.mjs.map +1 -1
  81. package/dist/admin/admin/src/components/NpsSurvey.js +161 -120
  82. package/dist/admin/admin/src/components/NpsSurvey.js.map +1 -1
  83. package/dist/admin/admin/src/components/NpsSurvey.mjs +162 -121
  84. package/dist/admin/admin/src/components/NpsSurvey.mjs.map +1 -1
  85. package/dist/admin/admin/src/components/PageHelpers.js +1 -1
  86. package/dist/admin/admin/src/components/PageHelpers.js.map +1 -1
  87. package/dist/admin/admin/src/components/PageHelpers.mjs +1 -1
  88. package/dist/admin/admin/src/components/PageHelpers.mjs.map +1 -1
  89. package/dist/admin/admin/src/components/Providers.js +2 -4
  90. package/dist/admin/admin/src/components/Providers.js.map +1 -1
  91. package/dist/admin/admin/src/components/Providers.mjs +2 -4
  92. package/dist/admin/admin/src/components/Providers.mjs.map +1 -1
  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/constants/theme.js +12 -0
  102. package/dist/admin/admin/src/constants/theme.js.map +1 -0
  103. package/dist/admin/admin/src/constants/theme.mjs +9 -0
  104. package/dist/admin/admin/src/constants/theme.mjs.map +1 -0
  105. package/dist/admin/admin/src/features/Notifications.js +14 -7
  106. package/dist/admin/admin/src/features/Notifications.js.map +1 -1
  107. package/dist/admin/admin/src/features/Notifications.mjs +15 -8
  108. package/dist/admin/admin/src/features/Notifications.mjs.map +1 -1
  109. package/dist/admin/admin/src/features/Tracking.js +7 -2
  110. package/dist/admin/admin/src/features/Tracking.js.map +1 -1
  111. package/dist/admin/admin/src/features/Tracking.mjs +7 -2
  112. package/dist/admin/admin/src/features/Tracking.mjs.map +1 -1
  113. package/dist/admin/admin/src/hooks/useAIAvailability.js +13 -0
  114. package/dist/admin/admin/src/hooks/useAIAvailability.js.map +1 -0
  115. package/dist/admin/admin/src/hooks/useAIAvailability.mjs +11 -0
  116. package/dist/admin/admin/src/hooks/useAIAvailability.mjs.map +1 -0
  117. package/dist/admin/admin/src/hooks/useDeviceType.js +43 -0
  118. package/dist/admin/admin/src/hooks/useDeviceType.js.map +1 -0
  119. package/dist/admin/admin/src/hooks/useDeviceType.mjs +22 -0
  120. package/dist/admin/admin/src/hooks/useDeviceType.mjs.map +1 -0
  121. package/dist/admin/admin/src/hooks/useMediaQuery.js +70 -0
  122. package/dist/admin/admin/src/hooks/useMediaQuery.js.map +1 -0
  123. package/dist/admin/admin/src/hooks/useMediaQuery.mjs +46 -0
  124. package/dist/admin/admin/src/hooks/useMediaQuery.mjs.map +1 -0
  125. package/dist/admin/admin/src/hooks/useMenu.js +19 -0
  126. package/dist/admin/admin/src/hooks/useMenu.js.map +1 -1
  127. package/dist/admin/admin/src/hooks/useMenu.mjs +19 -0
  128. package/dist/admin/admin/src/hooks/useMenu.mjs.map +1 -1
  129. package/dist/admin/admin/src/layouts/AuthenticatedLayout.js +15 -2
  130. package/dist/admin/admin/src/layouts/AuthenticatedLayout.js.map +1 -1
  131. package/dist/admin/admin/src/layouts/AuthenticatedLayout.mjs +15 -2
  132. package/dist/admin/admin/src/layouts/AuthenticatedLayout.mjs.map +1 -1
  133. package/dist/admin/admin/src/layouts/UnauthenticatedLayout.js +11 -7
  134. package/dist/admin/admin/src/layouts/UnauthenticatedLayout.js.map +1 -1
  135. package/dist/admin/admin/src/layouts/UnauthenticatedLayout.mjs +11 -7
  136. package/dist/admin/admin/src/layouts/UnauthenticatedLayout.mjs.map +1 -1
  137. package/dist/admin/admin/src/pages/Auth/components/Login.js +3 -0
  138. package/dist/admin/admin/src/pages/Auth/components/Login.js.map +1 -1
  139. package/dist/admin/admin/src/pages/Auth/components/Login.mjs +3 -0
  140. package/dist/admin/admin/src/pages/Auth/components/Login.mjs.map +1 -1
  141. package/dist/admin/admin/src/pages/Home/HomePage.js +56 -54
  142. package/dist/admin/admin/src/pages/Home/HomePage.js.map +1 -1
  143. package/dist/admin/admin/src/pages/Home/HomePage.mjs +56 -54
  144. package/dist/admin/admin/src/pages/Home/HomePage.mjs.map +1 -1
  145. package/dist/admin/admin/src/pages/ProfilePage.js +54 -51
  146. package/dist/admin/admin/src/pages/ProfilePage.js.map +1 -1
  147. package/dist/admin/admin/src/pages/ProfilePage.mjs +55 -52
  148. package/dist/admin/admin/src/pages/ProfilePage.mjs.map +1 -1
  149. package/dist/admin/admin/src/pages/Settings/Layout.js +42 -6
  150. package/dist/admin/admin/src/pages/Settings/Layout.js.map +1 -1
  151. package/dist/admin/admin/src/pages/Settings/Layout.mjs +43 -7
  152. package/dist/admin/admin/src/pages/Settings/Layout.mjs.map +1 -1
  153. package/dist/admin/admin/src/pages/Settings/components/SettingsNav.js +44 -32
  154. package/dist/admin/admin/src/pages/Settings/components/SettingsNav.js.map +1 -1
  155. package/dist/admin/admin/src/pages/Settings/components/SettingsNav.mjs +45 -33
  156. package/dist/admin/admin/src/pages/Settings/components/SettingsNav.mjs.map +1 -1
  157. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.js +13 -2
  158. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.js.map +1 -1
  159. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.mjs +14 -3
  160. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.mjs.map +1 -1
  161. package/dist/admin/admin/src/pages/Settings/pages/InstalledPlugins.js +1 -1
  162. package/dist/admin/admin/src/pages/Settings/pages/InstalledPlugins.js.map +1 -1
  163. package/dist/admin/admin/src/pages/Settings/pages/InstalledPlugins.mjs +2 -2
  164. package/dist/admin/admin/src/pages/Settings/pages/InstalledPlugins.mjs.map +1 -1
  165. package/dist/admin/admin/src/pages/Settings/pages/PurchaseAuditLogs.js +4 -3
  166. package/dist/admin/admin/src/pages/Settings/pages/PurchaseAuditLogs.js.map +1 -1
  167. package/dist/admin/admin/src/pages/Settings/pages/PurchaseAuditLogs.mjs +5 -4
  168. package/dist/admin/admin/src/pages/Settings/pages/PurchaseAuditLogs.mjs.map +1 -1
  169. package/dist/admin/admin/src/pages/Settings/pages/PurchaseContentHistory.js +4 -3
  170. package/dist/admin/admin/src/pages/Settings/pages/PurchaseContentHistory.js.map +1 -1
  171. package/dist/admin/admin/src/pages/Settings/pages/PurchaseContentHistory.mjs +5 -4
  172. package/dist/admin/admin/src/pages/Settings/pages/PurchaseContentHistory.mjs.map +1 -1
  173. package/dist/admin/admin/src/pages/Settings/pages/PurchaseSingleSignOn.js +4 -3
  174. package/dist/admin/admin/src/pages/Settings/pages/PurchaseSingleSignOn.js.map +1 -1
  175. package/dist/admin/admin/src/pages/Settings/pages/PurchaseSingleSignOn.mjs +5 -4
  176. package/dist/admin/admin/src/pages/Settings/pages/PurchaseSingleSignOn.mjs.map +1 -1
  177. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ContentTypeCollapses.js +36 -32
  178. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ContentTypeCollapses.js.map +1 -1
  179. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ContentTypeCollapses.mjs +36 -32
  180. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ContentTypeCollapses.mjs.map +1 -1
  181. package/dist/admin/admin/src/pages/Settings/pages/Webhooks/ListPage.js +1 -1
  182. package/dist/admin/admin/src/pages/Settings/pages/Webhooks/ListPage.js.map +1 -1
  183. package/dist/admin/admin/src/pages/Settings/pages/Webhooks/ListPage.mjs +1 -1
  184. package/dist/admin/admin/src/pages/Settings/pages/Webhooks/ListPage.mjs.map +1 -1
  185. package/dist/admin/admin/src/render.js +6 -1
  186. package/dist/admin/admin/src/render.js.map +1 -1
  187. package/dist/admin/admin/src/render.mjs +6 -1
  188. package/dist/admin/admin/src/render.mjs.map +1 -1
  189. package/dist/admin/admin/src/services/api.js +2 -1
  190. package/dist/admin/admin/src/services/api.js.map +1 -1
  191. package/dist/admin/admin/src/services/api.mjs +2 -1
  192. package/dist/admin/admin/src/services/api.mjs.map +1 -1
  193. package/dist/admin/admin/src/services/auth.js +13 -2
  194. package/dist/admin/admin/src/services/auth.js.map +1 -1
  195. package/dist/admin/admin/src/services/auth.mjs +12 -3
  196. package/dist/admin/admin/src/services/auth.mjs.map +1 -1
  197. package/dist/admin/admin/src/translations/en.json.js +3 -0
  198. package/dist/admin/admin/src/translations/en.json.js.map +1 -1
  199. package/dist/admin/admin/src/translations/en.json.mjs +3 -0
  200. package/dist/admin/admin/src/translations/en.json.mjs.map +1 -1
  201. package/dist/admin/ee/admin/src/components/GlobalNotifications.js +11 -0
  202. package/dist/admin/ee/admin/src/components/GlobalNotifications.js.map +1 -0
  203. package/dist/admin/ee/admin/src/components/GlobalNotifications.mjs +9 -0
  204. package/dist/admin/ee/admin/src/components/GlobalNotifications.mjs.map +1 -0
  205. package/dist/admin/ee/admin/src/hooks/useAIAvailability.js +11 -0
  206. package/dist/admin/ee/admin/src/hooks/useAIAvailability.js.map +1 -0
  207. package/dist/admin/ee/admin/src/hooks/useAIAvailability.mjs +9 -0
  208. package/dist/admin/ee/admin/src/hooks/useAIAvailability.mjs.map +1 -0
  209. package/dist/admin/ee/admin/src/hooks/useAIUsageWarning.js +82 -0
  210. package/dist/admin/ee/admin/src/hooks/useAIUsageWarning.js.map +1 -0
  211. package/dist/admin/ee/admin/src/hooks/useAIUsageWarning.mjs +80 -0
  212. package/dist/admin/ee/admin/src/hooks/useAIUsageWarning.mjs.map +1 -0
  213. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AIUsage.js +102 -0
  214. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AIUsage.js.map +1 -0
  215. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AIUsage.mjs +100 -0
  216. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AIUsage.mjs.map +1 -0
  217. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/SingleSignOnPage.js +1 -1
  218. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/SingleSignOnPage.js.map +1 -1
  219. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/SingleSignOnPage.mjs +1 -1
  220. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/SingleSignOnPage.mjs.map +1 -1
  221. package/dist/admin/ee/admin/src/services/ai.js +33 -0
  222. package/dist/admin/ee/admin/src/services/ai.js.map +1 -0
  223. package/dist/admin/ee/admin/src/services/ai.mjs +29 -0
  224. package/dist/admin/ee/admin/src/services/ai.mjs.map +1 -0
  225. package/dist/admin/ee.js +4 -0
  226. package/dist/admin/ee.js.map +1 -1
  227. package/dist/admin/ee.mjs +2 -0
  228. package/dist/admin/ee.mjs.map +1 -1
  229. package/dist/admin/index.js +13 -0
  230. package/dist/admin/index.js.map +1 -1
  231. package/dist/admin/index.mjs +5 -0
  232. package/dist/admin/index.mjs.map +1 -1
  233. package/dist/admin/src/components/GuidedTour/Context.d.ts +11 -0
  234. package/dist/admin/src/components/GuidedTour/GuidedTourProvider.d.ts +6 -0
  235. package/dist/admin/src/components/GuidedTour/Steps/ContentTypeBuilderSteps.d.ts +7 -16
  236. package/dist/admin/src/components/GuidedTour/Tours.d.ts +1 -22
  237. package/dist/admin/src/components/LeftMenu.d.ts +2 -2
  238. package/dist/admin/src/components/MainNav/MainNavLinks.d.ts +11 -0
  239. package/dist/admin/src/components/MainNav/NavBurgerMenu.d.ts +9 -0
  240. package/dist/admin/src/components/MainNav/NavUser.d.ts +5 -4
  241. package/dist/admin/src/components/SubNav.d.ts +18 -5
  242. package/dist/admin/src/constants/theme.d.ts +7 -0
  243. package/dist/admin/src/core/store/configure.d.ts +2 -2
  244. package/dist/admin/src/core/store/hooks.d.ts +2 -2
  245. package/dist/admin/src/ee.d.ts +2 -0
  246. package/dist/admin/src/features/Tracking.d.ts +21 -2
  247. package/dist/admin/src/hooks/useAIAvailability.d.ts +5 -0
  248. package/dist/admin/src/hooks/useAdminRoles.d.ts +1 -1
  249. package/dist/admin/src/hooks/useDeviceType.d.ts +6 -0
  250. package/dist/admin/src/hooks/useMediaQuery.d.ts +21 -0
  251. package/dist/admin/src/hooks/useMenu.d.ts +9 -1
  252. package/dist/admin/src/index.d.ts +6 -0
  253. package/dist/admin/src/pages/Marketplace/hooks/useMarketplaceData.d.ts +2 -2
  254. package/dist/admin/src/pages/Settings/components/SettingsNav.d.ts +3 -6
  255. package/dist/admin/src/pages/Settings/pages/Webhooks/hooks/useWebhooks.d.ts +4 -4
  256. package/dist/admin/src/selectors.d.ts +2 -2
  257. package/dist/admin/src/services/admin.d.ts +7 -6
  258. package/dist/admin/src/services/api.d.ts +1 -1
  259. package/dist/admin/src/services/apiTokens.d.ts +1 -1
  260. package/dist/admin/src/services/auth.d.ts +21 -12
  261. package/dist/admin/src/services/contentApi.d.ts +1 -1
  262. package/dist/admin/src/services/contentManager.d.ts +1 -1
  263. package/dist/admin/src/services/homepage.d.ts +3 -3
  264. package/dist/admin/src/services/transferTokens.d.ts +1 -1
  265. package/dist/admin/src/services/users.d.ts +8 -8
  266. package/dist/admin/src/services/webhooks.d.ts +2 -2
  267. package/dist/admin/tests/utils.d.ts +1 -1
  268. package/dist/ee/admin/src/components/GlobalNotifications.d.ts +1 -0
  269. package/dist/ee/admin/src/hooks/useAIAvailability.d.ts +1 -0
  270. package/dist/ee/admin/src/hooks/useAIUsageWarning.d.ts +5 -0
  271. package/dist/ee/admin/src/hooks/useLicenseLimits.d.ts +1 -1
  272. package/dist/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AIUsage.d.ts +1 -0
  273. package/dist/ee/admin/src/services/ai.d.ts +9 -0
  274. package/dist/ee/admin/src/services/auditLogs.d.ts +1 -1
  275. package/dist/ee/server/src/ai/controllers/ai.d.ts +7 -0
  276. package/dist/ee/server/src/ai/controllers/ai.d.ts.map +1 -0
  277. package/dist/ee/server/src/ai/routes/ai.d.ts +13 -0
  278. package/dist/ee/server/src/ai/routes/ai.d.ts.map +1 -0
  279. package/dist/ee/server/src/controllers/admin.d.ts +3 -0
  280. package/dist/ee/server/src/controllers/admin.d.ts.map +1 -1
  281. package/dist/ee/server/src/controllers/index.d.ts +3 -0
  282. package/dist/ee/server/src/controllers/index.d.ts.map +1 -1
  283. package/dist/ee/server/src/index.d.ts +15 -187
  284. package/dist/ee/server/src/index.d.ts.map +1 -1
  285. package/dist/server/ee/server/src/ai/controllers/ai.js +218 -0
  286. package/dist/server/ee/server/src/ai/controllers/ai.js.map +1 -0
  287. package/dist/server/ee/server/src/ai/controllers/ai.mjs +216 -0
  288. package/dist/server/ee/server/src/ai/controllers/ai.mjs.map +1 -0
  289. package/dist/server/ee/server/src/ai/routes/ai.js +32 -0
  290. package/dist/server/ee/server/src/ai/routes/ai.js.map +1 -0
  291. package/dist/server/ee/server/src/ai/routes/ai.mjs +30 -0
  292. package/dist/server/ee/server/src/ai/routes/ai.mjs.map +1 -0
  293. package/dist/server/ee/server/src/controllers/admin.js +4 -1
  294. package/dist/server/ee/server/src/controllers/admin.js.map +1 -1
  295. package/dist/server/ee/server/src/controllers/admin.mjs +4 -1
  296. package/dist/server/ee/server/src/controllers/admin.mjs.map +1 -1
  297. package/dist/server/ee/server/src/index.js +37 -23
  298. package/dist/server/ee/server/src/index.js.map +1 -1
  299. package/dist/server/ee/server/src/index.mjs +37 -23
  300. package/dist/server/ee/server/src/index.mjs.map +1 -1
  301. package/dist/server/server/src/controllers/admin.js +5 -1
  302. package/dist/server/server/src/controllers/admin.js.map +1 -1
  303. package/dist/server/server/src/controllers/admin.mjs +5 -1
  304. package/dist/server/server/src/controllers/admin.mjs.map +1 -1
  305. package/dist/server/server/src/controllers/authenticated-user.js +15 -0
  306. package/dist/server/server/src/controllers/authenticated-user.js.map +1 -1
  307. package/dist/server/server/src/controllers/authenticated-user.mjs +15 -0
  308. package/dist/server/server/src/controllers/authenticated-user.mjs.map +1 -1
  309. package/dist/server/server/src/routes/users.js +10 -0
  310. package/dist/server/server/src/routes/users.js.map +1 -1
  311. package/dist/server/server/src/routes/users.mjs +10 -0
  312. package/dist/server/server/src/routes/users.mjs.map +1 -1
  313. package/dist/server/server/src/services/user.js +113 -1
  314. package/dist/server/server/src/services/user.js.map +1 -1
  315. package/dist/server/server/src/services/user.mjs +113 -1
  316. package/dist/server/server/src/services/user.mjs.map +1 -1
  317. package/dist/server/src/controllers/admin.d.ts +2 -0
  318. package/dist/server/src/controllers/admin.d.ts.map +1 -1
  319. package/dist/server/src/controllers/authenticated-user.d.ts +1 -0
  320. package/dist/server/src/controllers/authenticated-user.d.ts.map +1 -1
  321. package/dist/server/src/controllers/index.d.ts +3 -0
  322. package/dist/server/src/controllers/index.d.ts.map +1 -1
  323. package/dist/server/src/index.d.ts +7 -0
  324. package/dist/server/src/index.d.ts.map +1 -1
  325. package/dist/server/src/routes/users.d.ts.map +1 -1
  326. package/dist/server/src/services/index.d.ts +4 -0
  327. package/dist/server/src/services/index.d.ts.map +1 -1
  328. package/dist/server/src/services/user.d.ts +4 -0
  329. package/dist/server/src/services/user.d.ts.map +1 -1
  330. package/dist/shared/contracts/admin.d.ts +1 -0
  331. package/dist/shared/contracts/admin.d.ts.map +1 -1
  332. package/dist/shared/contracts/ai.d.ts +40 -0
  333. package/dist/shared/contracts/ai.d.ts.map +1 -0
  334. package/dist/shared/contracts/users.d.ts +32 -0
  335. package/dist/shared/contracts/users.d.ts.map +1 -1
  336. package/package.json +7 -7
@@ -1 +1 @@
1
- {"version":3,"file":"ContentTypeBuilderSteps.js","sources":["../../../../../../../admin/src/components/GuidedTour/Steps/ContentTypeBuilderSteps.tsx"],"sourcesContent":["import { UID } from '@strapi/types';\nimport { useParams } from 'react-router-dom';\n\nimport { useGetGuidedTourMetaQuery } from '../../../services/admin';\nimport { CompletedActions } from '../Context';\nimport { type StepContentProps } from '../Tours';\nimport { GUIDED_TOUR_REQUIRED_ACTIONS } from '../utils/constants';\n\nimport { GotItAction, StepCount } from './Step';\n\n/* -------------------------------------------------------------------------------------------------\n * Step Components\n * -----------------------------------------------------------------------------------------------*/\n\nconst Introduction = ({ Step }: StepContentProps) => (\n <Step.Root sideOffset={33} withArrow={false}>\n <Step.Title\n id=\"tours.contentTypeBuilder.Introduction.title\"\n defaultMessage=\"Content-Type Builder\"\n />\n <Step.Content\n id=\"tours.contentTypeBuilder.Introduction.content\"\n defaultMessage=\"Create and manage your content structure with collection types, single types and components.\"\n />\n <Step.Actions showPrevious={false} />\n </Step.Root>\n);\n\nconst CollectionTypes = ({ Step }: StepContentProps) => (\n <Step.Root side=\"right\" sideOffset={16}>\n <Step.Title\n id=\"tours.contentTypeBuilder.CollectionTypes.title\"\n defaultMessage=\"Collection Types\"\n />\n <Step.Content\n id=\"tours.contentTypeBuilder.CollectionTypes.content\"\n defaultMessage=\"A content structure that can manage multiple entries, such as articles or products.\"\n />\n <Step.Actions />\n </Step.Root>\n);\n\nconst SingleTypes = ({ Step }: StepContentProps) => (\n <Step.Root side=\"right\" sideOffset={16}>\n <Step.Title id=\"tours.contentTypeBuilder.SingleTypes.title\" defaultMessage=\"Single Types\" />\n <Step.Content\n id=\"tours.contentTypeBuilder.SingleTypes.content\"\n defaultMessage=\"A content structure that can manage a single entry, such as a homepage or a header.\"\n />\n <Step.Actions />\n </Step.Root>\n);\n\nconst Components = ({ Step }: StepContentProps) => (\n <Step.Root side=\"right\" sideOffset={16}>\n <Step.Title id=\"tours.contentTypeBuilder.Components.title\" defaultMessage=\"Components\" />\n <Step.Content\n id=\"tours.contentTypeBuilder.Components.content\"\n defaultMessage=\"A reusable content structure that can be used across multiple content types, such as buttons, sliders or cards.\"\n />\n <Step.Actions />\n </Step.Root>\n);\n\nconst YourTurn = ({ Step }: StepContentProps) => (\n <Step.Root side=\"right\" sideOffset={16}>\n <Step.Title id=\"tours.contentTypeBuilder.YourTurn.title\" defaultMessage=\"Your turn\" />\n <Step.Content\n id=\"tours.contentTypeBuilder.YourTurn.content\"\n defaultMessage=\"Create a collection type or single type and configure it.\"\n />\n <Step.Actions />\n </Step.Root>\n);\n\nconst AddFields = ({ Step, dispatch }: StepContentProps) => (\n <Step.Root side=\"bottom\">\n <Step.Title\n id=\"tours.contentTypeBuilder.AddFields.title\"\n defaultMessage=\"Don't forget to add a field to your content type\"\n />\n <Step.Content\n id=\"tours.contentTypeBuilder.AddFields.content\"\n defaultMessage=\"Add the fields your content needs such as text, media and relations.\"\n />\n <Step.Actions>\n <StepCount tourName=\"contentTypeBuilder\" />\n <GotItAction onClick={() => dispatch({ type: 'next_step', payload: 'contentTypeBuilder' })} />\n </Step.Actions>\n </Step.Root>\n);\n\nconst Save = ({ Step, dispatch }: StepContentProps) => (\n <Step.Root side=\"right\">\n <Step.Title id=\"tours.contentTypeBuilder.Save.title\" defaultMessage=\"Save before you leave!\" />\n <Step.Content\n id=\"tours.contentTypeBuilder.Save.content\"\n defaultMessage=\"Save the changes you made here before leaving this page.\"\n />\n <Step.Actions>\n <StepCount tourName=\"contentTypeBuilder\" />\n <GotItAction\n onClick={() => {\n // Ensure the completed action is removed\n // in the event the user already has a schema but is still doing the tour\n dispatch({\n type: 'remove_completed_action',\n payload: GUIDED_TOUR_REQUIRED_ACTIONS.contentTypeBuilder.createSchema,\n });\n dispatch({ type: 'next_step', payload: 'contentTypeBuilder' });\n }}\n />\n </Step.Actions>\n </Step.Root>\n);\n\nconst Finish = ({ Step }: StepContentProps) => {\n const { data: guidedTourMeta } = useGetGuidedTourMetaQuery();\n const { '*': routeParams } = useParams();\n // Get the uid from the params\n const uid = routeParams?.split('/').pop();\n const contentType = uid ? guidedTourMeta?.data?.schemas?.[uid as UID.ContentType] : null;\n const contentTypeKindDictionary = {\n collectionType: 'collection-types',\n singleType: 'single-types',\n };\n\n const to = contentType\n ? `/content-manager/${contentTypeKindDictionary[contentType.kind]}/${contentType.uid}`\n : '/content-manager';\n\n return (\n <Step.Root side=\"right\">\n <Step.Title\n id=\"tours.contentTypeBuilder.Finish.title\"\n defaultMessage=\"It's time to create content!\"\n />\n <Step.Content\n id=\"tours.contentTypeBuilder.Finish.content\"\n defaultMessage=\"Now that you created content types, you'll be able to create content in the content manager.\"\n />\n <Step.Actions showStepCount={false} showPrevious={false} to={to} />\n </Step.Root>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Steps\n * -----------------------------------------------------------------------------------------------*/\n\nexport const contentTypeBuilderSteps = [\n {\n name: 'Introduction',\n content: Introduction,\n },\n {\n name: 'CollectionTypes',\n content: CollectionTypes,\n },\n {\n name: 'SingleTypes',\n content: SingleTypes,\n },\n {\n name: 'Components',\n content: Components,\n },\n {\n name: 'YourTurn',\n content: YourTurn,\n },\n {\n name: 'AddFields',\n content: AddFields,\n },\n {\n name: 'Save',\n when: (completedActions: CompletedActions) =>\n completedActions.includes(GUIDED_TOUR_REQUIRED_ACTIONS.contentTypeBuilder.addField),\n content: Save,\n },\n {\n name: 'Finish',\n content: Finish,\n excludeFromStepCount: true,\n when: (completedActions: CompletedActions) =>\n completedActions.includes(GUIDED_TOUR_REQUIRED_ACTIONS.contentTypeBuilder.createSchema),\n },\n] as const;\n"],"names":["Introduction","Step","_jsxs","Root","sideOffset","withArrow","_jsx","Title","id","defaultMessage","Content","Actions","showPrevious","CollectionTypes","side","SingleTypes","Components","YourTurn","AddFields","dispatch","StepCount","tourName","GotItAction","onClick","type","payload","Save","GUIDED_TOUR_REQUIRED_ACTIONS","contentTypeBuilder","createSchema","Finish","data","guidedTourMeta","useGetGuidedTourMetaQuery","routeParams","useParams","uid","split","pop","contentType","schemas","contentTypeKindDictionary","collectionType","singleType","to","kind","showStepCount","contentTypeBuilderSteps","name","content","when","completedActions","includes","addField","excludeFromStepCount"],"mappings":"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"}
1
+ {"version":3,"file":"ContentTypeBuilderSteps.js","sources":["../../../../../../../admin/src/components/GuidedTour/Steps/ContentTypeBuilderSteps.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { UID } from '@strapi/types';\nimport { useParams } from 'react-router-dom';\n\nimport { useAIAvailability } from '../../../hooks/useAIAvailability';\nimport { useGetGuidedTourMetaQuery } from '../../../services/admin';\nimport { CompletedActions, useGuidedTour } from '../Context';\nimport { tours, type StepContentProps } from '../Tours';\nimport { GUIDED_TOUR_REQUIRED_ACTIONS } from '../utils/constants';\n\nimport { GotItAction, StepCount, DefaultActions, DefaultActionsProps } from './Step';\n\nconst ContentTypeBuilderActions = ({\n ...props\n}: Omit<DefaultActionsProps, 'tourName'> & { children?: React.ReactNode }) => {\n const state = useGuidedTour('ContentTypeBuilderActions', (s) => s.state);\n const dispatch = useGuidedTour('ContentTypeBuilderActions', (s) => s.dispatch);\n\n const isAIEnabled = useAIAvailability();\n\n const currentStepOffset = state.tours.contentTypeBuilder.currentStep + 1;\n const displayedCurrentStep = (() => {\n if (!isAIEnabled && currentStepOffset > contentTypeBuilderStepsAI.length) {\n // If AI is not enabled, we remove the AI steps\n return currentStepOffset - contentTypeBuilderStepsAI.length;\n } else if (isAIEnabled && currentStepOffset > contentTypeBuilderStepsNoAI.length) {\n // If AI is enabled, we remove the non-AI steps\n return currentStepOffset - contentTypeBuilderStepsNoAI.length;\n }\n\n return currentStepOffset;\n })();\n\n // When AI is enabled, we subtract the no AI steps and vice versa\n const displayedTourLength = isAIEnabled\n ? tours.contentTypeBuilder._meta.displayedStepCount - contentTypeBuilderStepsNoAI.length\n : tours.contentTypeBuilder._meta.displayedStepCount - contentTypeBuilderStepsAI.length;\n\n const handleNextStep = () => {\n const currentStep = state.tours.contentTypeBuilder.currentStep;\n\n if (!isAIEnabled && currentStep === 0) {\n // If AI is disabled, after Introduction (step 0), skip AI steps and go to first NoAI step\n const nextStep = 1 + contentTypeBuilderStepsAI.length; // Skip AI steps\n dispatch({\n type: 'go_to_step',\n payload: { tourName: 'contentTypeBuilder', step: nextStep },\n });\n } else if (isAIEnabled && currentStep === contentTypeBuilderStepsAI.length) {\n // If AI is enabled, after AI steps, skip NoAI steps and go to Save/Finish\n const nextStep = 1 + contentTypeBuilderStepsAI.length + contentTypeBuilderStepsNoAI.length;\n dispatch({\n type: 'go_to_step',\n payload: { tourName: 'contentTypeBuilder', step: nextStep },\n });\n } else {\n // Normal step progression\n dispatch({\n type: 'next_step',\n payload: 'contentTypeBuilder',\n });\n }\n };\n\n const handlePreviousStep = () => {\n const currentStep = state.tours.contentTypeBuilder.currentStep;\n\n if (!isAIEnabled && currentStep === 1 + contentTypeBuilderStepsAI.length) {\n // If AI is disabled and we're at the first NoAI step, go back to Introduction (step 0)\n dispatch({\n type: 'go_to_step',\n payload: { tourName: 'contentTypeBuilder', step: 0 },\n });\n } else if (\n isAIEnabled &&\n currentStep === 1 + contentTypeBuilderStepsAI.length + contentTypeBuilderStepsNoAI.length\n ) {\n // If AI is enabled and we're at Save/Finish, go back to last AI step\n dispatch({\n type: 'go_to_step',\n payload: { tourName: 'contentTypeBuilder', step: contentTypeBuilderStepsAI.length },\n });\n } else {\n // Normal step progression\n dispatch({\n type: 'previous_step',\n payload: 'contentTypeBuilder',\n });\n }\n };\n\n return (\n <>\n <StepCount\n tourName=\"contentTypeBuilder\"\n displayedCurrentStep={displayedCurrentStep}\n displayedTourLength={displayedTourLength}\n />\n {props.children || (\n <DefaultActions\n tourName=\"contentTypeBuilder\"\n onNextStep={handleNextStep}\n onPreviousStep={handlePreviousStep}\n {...props}\n />\n )}\n </>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Step Components\n * -----------------------------------------------------------------------------------------------*/\n\nconst Introduction = ({ Step }: StepContentProps) => (\n <Step.Root sideOffset={33} withArrow={false}>\n <Step.Title\n id=\"tours.contentTypeBuilder.Introduction.title\"\n defaultMessage=\"Content-Type Builder\"\n />\n <Step.Content\n id=\"tours.contentTypeBuilder.Introduction.content\"\n defaultMessage=\"Create and manage your content structure with collection types, single types and components.\"\n />\n <Step.Actions>\n <ContentTypeBuilderActions showSkip />\n </Step.Actions>\n </Step.Root>\n);\n\nconst AIChat = ({ Step }: StepContentProps) => (\n <Step.Root side=\"left\">\n <Step.Title id=\"tours.contentTypeBuilder.AIChat.title\" defaultMessage=\"Time to get started!\" />\n <Step.Content\n id=\"tours.contentTypeBuilder.AIChat.content\"\n defaultMessage=\"<p>If you have any questions about the Content-Type Builder or Strapi ask them here.</p><p>Strapi AI can generate schemas tailored to your needs. Ask for exactly what you want, for example:<ul><li>Date picker</li><li>Email and password fields</li><li>Media of any type</li><li>UIDs</li></ul></p><p>Don’t be shy, try it out !</p>\"\n />\n <Step.Actions>\n <ContentTypeBuilderActions showPrevious />\n </Step.Actions>\n </Step.Root>\n);\n\nconst CollectionTypes = ({ Step }: StepContentProps) => (\n <Step.Root side=\"right\" sideOffset={16}>\n <Step.Title\n id=\"tours.contentTypeBuilder.CollectionTypes.title\"\n defaultMessage=\"Collection Types\"\n />\n <Step.Content\n id=\"tours.contentTypeBuilder.CollectionTypes.content\"\n defaultMessage=\"A content structure that can manage multiple entries, such as articles or products.\"\n />\n <Step.Actions>\n <ContentTypeBuilderActions showPrevious />\n </Step.Actions>\n </Step.Root>\n);\n\nconst SingleTypes = ({ Step }: StepContentProps) => (\n <Step.Root side=\"right\" sideOffset={16}>\n <Step.Title id=\"tours.contentTypeBuilder.SingleTypes.title\" defaultMessage=\"Single Types\" />\n <Step.Content\n id=\"tours.contentTypeBuilder.SingleTypes.content\"\n defaultMessage=\"A content structure that can manage a single entry, such as a homepage or a header.\"\n />\n <Step.Actions>\n <ContentTypeBuilderActions showPrevious />\n </Step.Actions>\n </Step.Root>\n);\n\nconst Components = ({ Step }: StepContentProps) => (\n <Step.Root side=\"right\" sideOffset={16}>\n <Step.Title id=\"tours.contentTypeBuilder.Components.title\" defaultMessage=\"Components\" />\n <Step.Content\n id=\"tours.contentTypeBuilder.Components.content\"\n defaultMessage=\"A reusable content structure that can be used across multiple content types, such as buttons, sliders or cards.\"\n />\n <Step.Actions>\n <ContentTypeBuilderActions showPrevious />\n </Step.Actions>\n </Step.Root>\n);\n\nconst YourTurn = ({ Step }: StepContentProps) => (\n <Step.Root side=\"right\" sideOffset={16}>\n <Step.Title id=\"tours.contentTypeBuilder.YourTurn.title\" defaultMessage=\"Your turn\" />\n <Step.Content\n id=\"tours.contentTypeBuilder.YourTurn.content\"\n defaultMessage=\"Create a collection type or single type and configure it.\"\n />\n <Step.Actions>\n <ContentTypeBuilderActions showPrevious />\n </Step.Actions>\n </Step.Root>\n);\n\nconst AddFields = ({ Step, dispatch }: StepContentProps) => (\n <Step.Root side=\"bottom\">\n <Step.Title\n id=\"tours.contentTypeBuilder.AddFields.title\"\n defaultMessage=\"Don't forget to add a field to your content type\"\n />\n <Step.Content\n id=\"tours.contentTypeBuilder.AddFields.content\"\n defaultMessage=\"Add the fields your content needs such as text, media and relations.\"\n />\n <Step.Actions>\n <ContentTypeBuilderActions showPrevious>\n <GotItAction\n onClick={() => dispatch({ type: 'next_step', payload: 'contentTypeBuilder' })}\n />\n </ContentTypeBuilderActions>\n </Step.Actions>\n </Step.Root>\n);\n\nconst Save = ({ Step, dispatch }: StepContentProps) => (\n <Step.Root side=\"right\">\n <Step.Title id=\"tours.contentTypeBuilder.Save.title\" defaultMessage=\"Save before you leave!\" />\n <Step.Content\n id=\"tours.contentTypeBuilder.Save.content\"\n defaultMessage=\"Save the changes you made here before leaving this page.\"\n />\n <Step.Actions>\n <ContentTypeBuilderActions showPrevious>\n <GotItAction\n onClick={() => {\n // Ensure the completed action is removed\n // in the event the user already has a schema but is still doing the tour\n dispatch({\n type: 'remove_completed_action',\n payload: GUIDED_TOUR_REQUIRED_ACTIONS.contentTypeBuilder.createSchema,\n });\n dispatch({ type: 'next_step', payload: 'contentTypeBuilder' });\n }}\n />\n </ContentTypeBuilderActions>\n </Step.Actions>\n </Step.Root>\n);\n\nconst Finish = ({ Step }: StepContentProps) => {\n const { data: guidedTourMeta } = useGetGuidedTourMetaQuery();\n const { '*': routeParams } = useParams();\n // Get the uid from the params\n const uid = routeParams?.split('/').pop();\n const contentType = uid ? guidedTourMeta?.data?.schemas?.[uid as UID.ContentType] : null;\n const contentTypeKindDictionary = {\n collectionType: 'collection-types',\n singleType: 'single-types',\n };\n\n const to = contentType\n ? `/content-manager/${contentTypeKindDictionary[contentType.kind]}/${contentType.uid}`\n : '/content-manager';\n\n return (\n <Step.Root side=\"right\">\n <Step.Title\n id=\"tours.contentTypeBuilder.Finish.title\"\n defaultMessage=\"First Step: Done! 🎉\"\n />\n <Step.Content\n id=\"tours.contentTypeBuilder.Finish.content\"\n defaultMessage=\"You've built your first content type! Now head over to the Content Manager to start adding entries!\"\n />\n <Step.Actions showStepCount={false} showPrevious={false} to={to} />\n </Step.Root>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Steps\n * -----------------------------------------------------------------------------------------------*/\nconst contentTypeBuilderStepsAI = [\n {\n name: 'AIChat',\n content: AIChat,\n },\n];\n\nconst contentTypeBuilderStepsNoAI = [\n {\n name: 'CollectionTypes',\n content: CollectionTypes,\n },\n {\n name: 'SingleTypes',\n content: SingleTypes,\n },\n {\n name: 'Components',\n content: Components,\n },\n {\n name: 'YourTurn',\n content: YourTurn,\n },\n {\n name: 'AddFields',\n content: AddFields,\n },\n];\n\nexport const contentTypeBuilderSteps = [\n {\n name: 'Introduction',\n content: Introduction,\n },\n ...contentTypeBuilderStepsAI,\n ...contentTypeBuilderStepsNoAI,\n {\n name: 'Save',\n when: (completedActions: CompletedActions) =>\n completedActions.includes(GUIDED_TOUR_REQUIRED_ACTIONS.contentTypeBuilder.addField),\n content: Save,\n },\n {\n name: 'Finish',\n content: Finish,\n excludeFromStepCount: true,\n when: (completedActions: CompletedActions) =>\n completedActions.includes(GUIDED_TOUR_REQUIRED_ACTIONS.contentTypeBuilder.createSchema),\n },\n] as const;\n"],"names":["ContentTypeBuilderActions","props","state","useGuidedTour","s","dispatch","isAIEnabled","useAIAvailability","currentStepOffset","tours","contentTypeBuilder","currentStep","displayedCurrentStep","contentTypeBuilderStepsAI","length","contentTypeBuilderStepsNoAI","displayedTourLength","_meta","displayedStepCount","handleNextStep","nextStep","type","payload","tourName","step","handlePreviousStep","_jsxs","_Fragment","_jsx","StepCount","children","DefaultActions","onNextStep","onPreviousStep","Introduction","Step","Root","sideOffset","withArrow","Title","id","defaultMessage","Content","Actions","showSkip","AIChat","side","showPrevious","CollectionTypes","SingleTypes","Components","YourTurn","AddFields","GotItAction","onClick","Save","GUIDED_TOUR_REQUIRED_ACTIONS","createSchema","Finish","data","guidedTourMeta","useGetGuidedTourMetaQuery","routeParams","useParams","uid","split","pop","contentType","schemas","contentTypeKindDictionary","collectionType","singleType","to","kind","showStepCount","name","content","contentTypeBuilderSteps","when","completedActions","includes","addField","excludeFromStepCount"],"mappings":"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"}
@@ -1,9 +1,104 @@
1
- import { jsxs, jsx } from 'react/jsx-runtime';
1
+ import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
2
+ import 'react';
2
3
  import { useParams } from 'react-router-dom';
4
+ import { useAIAvailability } from '../../../hooks/useAIAvailability.mjs';
3
5
  import { useGetGuidedTourMetaQuery } from '../../../services/admin.mjs';
6
+ import { useGuidedTour } from '../Context.mjs';
7
+ import { tours } from '../Tours.mjs';
4
8
  import { GUIDED_TOUR_REQUIRED_ACTIONS } from '../utils/constants.mjs';
5
- import { StepCount, GotItAction } from './Step.mjs';
9
+ import { GotItAction, StepCount, DefaultActions } from './Step.mjs';
6
10
 
11
+ const ContentTypeBuilderActions = ({ ...props })=>{
12
+ const state = useGuidedTour('ContentTypeBuilderActions', (s)=>s.state);
13
+ const dispatch = useGuidedTour('ContentTypeBuilderActions', (s)=>s.dispatch);
14
+ const isAIEnabled = useAIAvailability();
15
+ const currentStepOffset = state.tours.contentTypeBuilder.currentStep + 1;
16
+ const displayedCurrentStep = (()=>{
17
+ if (!isAIEnabled && currentStepOffset > contentTypeBuilderStepsAI.length) {
18
+ // If AI is not enabled, we remove the AI steps
19
+ return currentStepOffset - contentTypeBuilderStepsAI.length;
20
+ } else if (isAIEnabled && currentStepOffset > contentTypeBuilderStepsNoAI.length) {
21
+ // If AI is enabled, we remove the non-AI steps
22
+ return currentStepOffset - contentTypeBuilderStepsNoAI.length;
23
+ }
24
+ return currentStepOffset;
25
+ })();
26
+ // When AI is enabled, we subtract the no AI steps and vice versa
27
+ const displayedTourLength = isAIEnabled ? tours.contentTypeBuilder._meta.displayedStepCount - contentTypeBuilderStepsNoAI.length : tours.contentTypeBuilder._meta.displayedStepCount - contentTypeBuilderStepsAI.length;
28
+ const handleNextStep = ()=>{
29
+ const currentStep = state.tours.contentTypeBuilder.currentStep;
30
+ if (!isAIEnabled && currentStep === 0) {
31
+ // If AI is disabled, after Introduction (step 0), skip AI steps and go to first NoAI step
32
+ const nextStep = 1 + contentTypeBuilderStepsAI.length; // Skip AI steps
33
+ dispatch({
34
+ type: 'go_to_step',
35
+ payload: {
36
+ tourName: 'contentTypeBuilder',
37
+ step: nextStep
38
+ }
39
+ });
40
+ } else if (isAIEnabled && currentStep === contentTypeBuilderStepsAI.length) {
41
+ // If AI is enabled, after AI steps, skip NoAI steps and go to Save/Finish
42
+ const nextStep = 1 + contentTypeBuilderStepsAI.length + contentTypeBuilderStepsNoAI.length;
43
+ dispatch({
44
+ type: 'go_to_step',
45
+ payload: {
46
+ tourName: 'contentTypeBuilder',
47
+ step: nextStep
48
+ }
49
+ });
50
+ } else {
51
+ // Normal step progression
52
+ dispatch({
53
+ type: 'next_step',
54
+ payload: 'contentTypeBuilder'
55
+ });
56
+ }
57
+ };
58
+ const handlePreviousStep = ()=>{
59
+ const currentStep = state.tours.contentTypeBuilder.currentStep;
60
+ if (!isAIEnabled && currentStep === 1 + contentTypeBuilderStepsAI.length) {
61
+ // If AI is disabled and we're at the first NoAI step, go back to Introduction (step 0)
62
+ dispatch({
63
+ type: 'go_to_step',
64
+ payload: {
65
+ tourName: 'contentTypeBuilder',
66
+ step: 0
67
+ }
68
+ });
69
+ } else if (isAIEnabled && currentStep === 1 + contentTypeBuilderStepsAI.length + contentTypeBuilderStepsNoAI.length) {
70
+ // If AI is enabled and we're at Save/Finish, go back to last AI step
71
+ dispatch({
72
+ type: 'go_to_step',
73
+ payload: {
74
+ tourName: 'contentTypeBuilder',
75
+ step: contentTypeBuilderStepsAI.length
76
+ }
77
+ });
78
+ } else {
79
+ // Normal step progression
80
+ dispatch({
81
+ type: 'previous_step',
82
+ payload: 'contentTypeBuilder'
83
+ });
84
+ }
85
+ };
86
+ return /*#__PURE__*/ jsxs(Fragment, {
87
+ children: [
88
+ /*#__PURE__*/ jsx(StepCount, {
89
+ tourName: "contentTypeBuilder",
90
+ displayedCurrentStep: displayedCurrentStep,
91
+ displayedTourLength: displayedTourLength
92
+ }),
93
+ props.children || /*#__PURE__*/ jsx(DefaultActions, {
94
+ tourName: "contentTypeBuilder",
95
+ onNextStep: handleNextStep,
96
+ onPreviousStep: handlePreviousStep,
97
+ ...props
98
+ })
99
+ ]
100
+ });
101
+ };
7
102
  /* -------------------------------------------------------------------------------------------------
8
103
  * Step Components
9
104
  * -----------------------------------------------------------------------------------------------*/ const Introduction = ({ Step })=>/*#__PURE__*/ jsxs(Step.Root, {
@@ -19,7 +114,27 @@ import { StepCount, GotItAction } from './Step.mjs';
19
114
  defaultMessage: "Create and manage your content structure with collection types, single types and components."
20
115
  }),
21
116
  /*#__PURE__*/ jsx(Step.Actions, {
22
- showPrevious: false
117
+ children: /*#__PURE__*/ jsx(ContentTypeBuilderActions, {
118
+ showSkip: true
119
+ })
120
+ })
121
+ ]
122
+ });
123
+ const AIChat = ({ Step })=>/*#__PURE__*/ jsxs(Step.Root, {
124
+ side: "left",
125
+ children: [
126
+ /*#__PURE__*/ jsx(Step.Title, {
127
+ id: "tours.contentTypeBuilder.AIChat.title",
128
+ defaultMessage: "Time to get started!"
129
+ }),
130
+ /*#__PURE__*/ jsx(Step.Content, {
131
+ id: "tours.contentTypeBuilder.AIChat.content",
132
+ defaultMessage: "<p>If you have any questions about the Content-Type Builder or Strapi ask them here.</p><p>Strapi AI can generate schemas tailored to your needs. Ask for exactly what you want, for example:<ul><li>Date picker</li><li>Email and password fields</li><li>Media of any type</li><li>UIDs</li></ul></p><p>Don’t be shy, try it out !</p>"
133
+ }),
134
+ /*#__PURE__*/ jsx(Step.Actions, {
135
+ children: /*#__PURE__*/ jsx(ContentTypeBuilderActions, {
136
+ showPrevious: true
137
+ })
23
138
  })
24
139
  ]
25
140
  });
@@ -35,7 +150,11 @@ const CollectionTypes = ({ Step })=>/*#__PURE__*/ jsxs(Step.Root, {
35
150
  id: "tours.contentTypeBuilder.CollectionTypes.content",
36
151
  defaultMessage: "A content structure that can manage multiple entries, such as articles or products."
37
152
  }),
38
- /*#__PURE__*/ jsx(Step.Actions, {})
153
+ /*#__PURE__*/ jsx(Step.Actions, {
154
+ children: /*#__PURE__*/ jsx(ContentTypeBuilderActions, {
155
+ showPrevious: true
156
+ })
157
+ })
39
158
  ]
40
159
  });
41
160
  const SingleTypes = ({ Step })=>/*#__PURE__*/ jsxs(Step.Root, {
@@ -50,7 +169,11 @@ const SingleTypes = ({ Step })=>/*#__PURE__*/ jsxs(Step.Root, {
50
169
  id: "tours.contentTypeBuilder.SingleTypes.content",
51
170
  defaultMessage: "A content structure that can manage a single entry, such as a homepage or a header."
52
171
  }),
53
- /*#__PURE__*/ jsx(Step.Actions, {})
172
+ /*#__PURE__*/ jsx(Step.Actions, {
173
+ children: /*#__PURE__*/ jsx(ContentTypeBuilderActions, {
174
+ showPrevious: true
175
+ })
176
+ })
54
177
  ]
55
178
  });
56
179
  const Components = ({ Step })=>/*#__PURE__*/ jsxs(Step.Root, {
@@ -65,7 +188,11 @@ const Components = ({ Step })=>/*#__PURE__*/ jsxs(Step.Root, {
65
188
  id: "tours.contentTypeBuilder.Components.content",
66
189
  defaultMessage: "A reusable content structure that can be used across multiple content types, such as buttons, sliders or cards."
67
190
  }),
68
- /*#__PURE__*/ jsx(Step.Actions, {})
191
+ /*#__PURE__*/ jsx(Step.Actions, {
192
+ children: /*#__PURE__*/ jsx(ContentTypeBuilderActions, {
193
+ showPrevious: true
194
+ })
195
+ })
69
196
  ]
70
197
  });
71
198
  const YourTurn = ({ Step })=>/*#__PURE__*/ jsxs(Step.Root, {
@@ -80,7 +207,11 @@ const YourTurn = ({ Step })=>/*#__PURE__*/ jsxs(Step.Root, {
80
207
  id: "tours.contentTypeBuilder.YourTurn.content",
81
208
  defaultMessage: "Create a collection type or single type and configure it."
82
209
  }),
83
- /*#__PURE__*/ jsx(Step.Actions, {})
210
+ /*#__PURE__*/ jsx(Step.Actions, {
211
+ children: /*#__PURE__*/ jsx(ContentTypeBuilderActions, {
212
+ showPrevious: true
213
+ })
214
+ })
84
215
  ]
85
216
  });
86
217
  const AddFields = ({ Step, dispatch })=>/*#__PURE__*/ jsxs(Step.Root, {
@@ -94,18 +225,16 @@ const AddFields = ({ Step, dispatch })=>/*#__PURE__*/ jsxs(Step.Root, {
94
225
  id: "tours.contentTypeBuilder.AddFields.content",
95
226
  defaultMessage: "Add the fields your content needs such as text, media and relations."
96
227
  }),
97
- /*#__PURE__*/ jsxs(Step.Actions, {
98
- children: [
99
- /*#__PURE__*/ jsx(StepCount, {
100
- tourName: "contentTypeBuilder"
101
- }),
102
- /*#__PURE__*/ jsx(GotItAction, {
228
+ /*#__PURE__*/ jsx(Step.Actions, {
229
+ children: /*#__PURE__*/ jsx(ContentTypeBuilderActions, {
230
+ showPrevious: true,
231
+ children: /*#__PURE__*/ jsx(GotItAction, {
103
232
  onClick: ()=>dispatch({
104
233
  type: 'next_step',
105
234
  payload: 'contentTypeBuilder'
106
235
  })
107
236
  })
108
- ]
237
+ })
109
238
  })
110
239
  ]
111
240
  });
@@ -120,12 +249,10 @@ const Save = ({ Step, dispatch })=>/*#__PURE__*/ jsxs(Step.Root, {
120
249
  id: "tours.contentTypeBuilder.Save.content",
121
250
  defaultMessage: "Save the changes you made here before leaving this page."
122
251
  }),
123
- /*#__PURE__*/ jsxs(Step.Actions, {
124
- children: [
125
- /*#__PURE__*/ jsx(StepCount, {
126
- tourName: "contentTypeBuilder"
127
- }),
128
- /*#__PURE__*/ jsx(GotItAction, {
252
+ /*#__PURE__*/ jsx(Step.Actions, {
253
+ children: /*#__PURE__*/ jsx(ContentTypeBuilderActions, {
254
+ showPrevious: true,
255
+ children: /*#__PURE__*/ jsx(GotItAction, {
129
256
  onClick: ()=>{
130
257
  // Ensure the completed action is removed
131
258
  // in the event the user already has a schema but is still doing the tour
@@ -139,7 +266,7 @@ const Save = ({ Step, dispatch })=>/*#__PURE__*/ jsxs(Step.Root, {
139
266
  });
140
267
  }
141
268
  })
142
- ]
269
+ })
143
270
  })
144
271
  ]
145
272
  });
@@ -159,11 +286,11 @@ const Finish = ({ Step })=>{
159
286
  children: [
160
287
  /*#__PURE__*/ jsx(Step.Title, {
161
288
  id: "tours.contentTypeBuilder.Finish.title",
162
- defaultMessage: "It's time to create content!"
289
+ defaultMessage: "First Step: Done! 🎉"
163
290
  }),
164
291
  /*#__PURE__*/ jsx(Step.Content, {
165
292
  id: "tours.contentTypeBuilder.Finish.content",
166
- defaultMessage: "Now that you created content types, you'll be able to create content in the content manager."
293
+ defaultMessage: "You've built your first content type! Now head over to the Content Manager to start adding entries!"
167
294
  }),
168
295
  /*#__PURE__*/ jsx(Step.Actions, {
169
296
  showStepCount: false,
@@ -175,11 +302,13 @@ const Finish = ({ Step })=>{
175
302
  };
176
303
  /* -------------------------------------------------------------------------------------------------
177
304
  * Steps
178
- * -----------------------------------------------------------------------------------------------*/ const contentTypeBuilderSteps = [
305
+ * -----------------------------------------------------------------------------------------------*/ const contentTypeBuilderStepsAI = [
179
306
  {
180
- name: 'Introduction',
181
- content: Introduction
182
- },
307
+ name: 'AIChat',
308
+ content: AIChat
309
+ }
310
+ ];
311
+ const contentTypeBuilderStepsNoAI = [
183
312
  {
184
313
  name: 'CollectionTypes',
185
314
  content: CollectionTypes
@@ -199,7 +328,15 @@ const Finish = ({ Step })=>{
199
328
  {
200
329
  name: 'AddFields',
201
330
  content: AddFields
331
+ }
332
+ ];
333
+ const contentTypeBuilderSteps = [
334
+ {
335
+ name: 'Introduction',
336
+ content: Introduction
202
337
  },
338
+ ...contentTypeBuilderStepsAI,
339
+ ...contentTypeBuilderStepsNoAI,
203
340
  {
204
341
  name: 'Save',
205
342
  when: (completedActions)=>completedActions.includes(GUIDED_TOUR_REQUIRED_ACTIONS.contentTypeBuilder.addField),
@@ -1 +1 @@
1
- {"version":3,"file":"ContentTypeBuilderSteps.mjs","sources":["../../../../../../../admin/src/components/GuidedTour/Steps/ContentTypeBuilderSteps.tsx"],"sourcesContent":["import { UID } from '@strapi/types';\nimport { useParams } from 'react-router-dom';\n\nimport { useGetGuidedTourMetaQuery } from '../../../services/admin';\nimport { CompletedActions } from '../Context';\nimport { type StepContentProps } from '../Tours';\nimport { GUIDED_TOUR_REQUIRED_ACTIONS } from '../utils/constants';\n\nimport { GotItAction, StepCount } from './Step';\n\n/* -------------------------------------------------------------------------------------------------\n * Step Components\n * -----------------------------------------------------------------------------------------------*/\n\nconst Introduction = ({ Step }: StepContentProps) => (\n <Step.Root sideOffset={33} withArrow={false}>\n <Step.Title\n id=\"tours.contentTypeBuilder.Introduction.title\"\n defaultMessage=\"Content-Type Builder\"\n />\n <Step.Content\n id=\"tours.contentTypeBuilder.Introduction.content\"\n defaultMessage=\"Create and manage your content structure with collection types, single types and components.\"\n />\n <Step.Actions showPrevious={false} />\n </Step.Root>\n);\n\nconst CollectionTypes = ({ Step }: StepContentProps) => (\n <Step.Root side=\"right\" sideOffset={16}>\n <Step.Title\n id=\"tours.contentTypeBuilder.CollectionTypes.title\"\n defaultMessage=\"Collection Types\"\n />\n <Step.Content\n id=\"tours.contentTypeBuilder.CollectionTypes.content\"\n defaultMessage=\"A content structure that can manage multiple entries, such as articles or products.\"\n />\n <Step.Actions />\n </Step.Root>\n);\n\nconst SingleTypes = ({ Step }: StepContentProps) => (\n <Step.Root side=\"right\" sideOffset={16}>\n <Step.Title id=\"tours.contentTypeBuilder.SingleTypes.title\" defaultMessage=\"Single Types\" />\n <Step.Content\n id=\"tours.contentTypeBuilder.SingleTypes.content\"\n defaultMessage=\"A content structure that can manage a single entry, such as a homepage or a header.\"\n />\n <Step.Actions />\n </Step.Root>\n);\n\nconst Components = ({ Step }: StepContentProps) => (\n <Step.Root side=\"right\" sideOffset={16}>\n <Step.Title id=\"tours.contentTypeBuilder.Components.title\" defaultMessage=\"Components\" />\n <Step.Content\n id=\"tours.contentTypeBuilder.Components.content\"\n defaultMessage=\"A reusable content structure that can be used across multiple content types, such as buttons, sliders or cards.\"\n />\n <Step.Actions />\n </Step.Root>\n);\n\nconst YourTurn = ({ Step }: StepContentProps) => (\n <Step.Root side=\"right\" sideOffset={16}>\n <Step.Title id=\"tours.contentTypeBuilder.YourTurn.title\" defaultMessage=\"Your turn\" />\n <Step.Content\n id=\"tours.contentTypeBuilder.YourTurn.content\"\n defaultMessage=\"Create a collection type or single type and configure it.\"\n />\n <Step.Actions />\n </Step.Root>\n);\n\nconst AddFields = ({ Step, dispatch }: StepContentProps) => (\n <Step.Root side=\"bottom\">\n <Step.Title\n id=\"tours.contentTypeBuilder.AddFields.title\"\n defaultMessage=\"Don't forget to add a field to your content type\"\n />\n <Step.Content\n id=\"tours.contentTypeBuilder.AddFields.content\"\n defaultMessage=\"Add the fields your content needs such as text, media and relations.\"\n />\n <Step.Actions>\n <StepCount tourName=\"contentTypeBuilder\" />\n <GotItAction onClick={() => dispatch({ type: 'next_step', payload: 'contentTypeBuilder' })} />\n </Step.Actions>\n </Step.Root>\n);\n\nconst Save = ({ Step, dispatch }: StepContentProps) => (\n <Step.Root side=\"right\">\n <Step.Title id=\"tours.contentTypeBuilder.Save.title\" defaultMessage=\"Save before you leave!\" />\n <Step.Content\n id=\"tours.contentTypeBuilder.Save.content\"\n defaultMessage=\"Save the changes you made here before leaving this page.\"\n />\n <Step.Actions>\n <StepCount tourName=\"contentTypeBuilder\" />\n <GotItAction\n onClick={() => {\n // Ensure the completed action is removed\n // in the event the user already has a schema but is still doing the tour\n dispatch({\n type: 'remove_completed_action',\n payload: GUIDED_TOUR_REQUIRED_ACTIONS.contentTypeBuilder.createSchema,\n });\n dispatch({ type: 'next_step', payload: 'contentTypeBuilder' });\n }}\n />\n </Step.Actions>\n </Step.Root>\n);\n\nconst Finish = ({ Step }: StepContentProps) => {\n const { data: guidedTourMeta } = useGetGuidedTourMetaQuery();\n const { '*': routeParams } = useParams();\n // Get the uid from the params\n const uid = routeParams?.split('/').pop();\n const contentType = uid ? guidedTourMeta?.data?.schemas?.[uid as UID.ContentType] : null;\n const contentTypeKindDictionary = {\n collectionType: 'collection-types',\n singleType: 'single-types',\n };\n\n const to = contentType\n ? `/content-manager/${contentTypeKindDictionary[contentType.kind]}/${contentType.uid}`\n : '/content-manager';\n\n return (\n <Step.Root side=\"right\">\n <Step.Title\n id=\"tours.contentTypeBuilder.Finish.title\"\n defaultMessage=\"It's time to create content!\"\n />\n <Step.Content\n id=\"tours.contentTypeBuilder.Finish.content\"\n defaultMessage=\"Now that you created content types, you'll be able to create content in the content manager.\"\n />\n <Step.Actions showStepCount={false} showPrevious={false} to={to} />\n </Step.Root>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Steps\n * -----------------------------------------------------------------------------------------------*/\n\nexport const contentTypeBuilderSteps = [\n {\n name: 'Introduction',\n content: Introduction,\n },\n {\n name: 'CollectionTypes',\n content: CollectionTypes,\n },\n {\n name: 'SingleTypes',\n content: SingleTypes,\n },\n {\n name: 'Components',\n content: Components,\n },\n {\n name: 'YourTurn',\n content: YourTurn,\n },\n {\n name: 'AddFields',\n content: AddFields,\n },\n {\n name: 'Save',\n when: (completedActions: CompletedActions) =>\n completedActions.includes(GUIDED_TOUR_REQUIRED_ACTIONS.contentTypeBuilder.addField),\n content: Save,\n },\n {\n name: 'Finish',\n content: Finish,\n excludeFromStepCount: true,\n when: (completedActions: CompletedActions) =>\n completedActions.includes(GUIDED_TOUR_REQUIRED_ACTIONS.contentTypeBuilder.createSchema),\n },\n] as const;\n"],"names":["Introduction","Step","_jsxs","Root","sideOffset","withArrow","_jsx","Title","id","defaultMessage","Content","Actions","showPrevious","CollectionTypes","side","SingleTypes","Components","YourTurn","AddFields","dispatch","StepCount","tourName","GotItAction","onClick","type","payload","Save","GUIDED_TOUR_REQUIRED_ACTIONS","contentTypeBuilder","createSchema","Finish","data","guidedTourMeta","useGetGuidedTourMetaQuery","routeParams","useParams","uid","split","pop","contentType","schemas","contentTypeKindDictionary","collectionType","singleType","to","kind","showStepCount","contentTypeBuilderSteps","name","content","when","completedActions","includes","addField","excludeFromStepCount"],"mappings":"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"}
1
+ {"version":3,"file":"ContentTypeBuilderSteps.mjs","sources":["../../../../../../../admin/src/components/GuidedTour/Steps/ContentTypeBuilderSteps.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { UID } from '@strapi/types';\nimport { useParams } from 'react-router-dom';\n\nimport { useAIAvailability } from '../../../hooks/useAIAvailability';\nimport { useGetGuidedTourMetaQuery } from '../../../services/admin';\nimport { CompletedActions, useGuidedTour } from '../Context';\nimport { tours, type StepContentProps } from '../Tours';\nimport { GUIDED_TOUR_REQUIRED_ACTIONS } from '../utils/constants';\n\nimport { GotItAction, StepCount, DefaultActions, DefaultActionsProps } from './Step';\n\nconst ContentTypeBuilderActions = ({\n ...props\n}: Omit<DefaultActionsProps, 'tourName'> & { children?: React.ReactNode }) => {\n const state = useGuidedTour('ContentTypeBuilderActions', (s) => s.state);\n const dispatch = useGuidedTour('ContentTypeBuilderActions', (s) => s.dispatch);\n\n const isAIEnabled = useAIAvailability();\n\n const currentStepOffset = state.tours.contentTypeBuilder.currentStep + 1;\n const displayedCurrentStep = (() => {\n if (!isAIEnabled && currentStepOffset > contentTypeBuilderStepsAI.length) {\n // If AI is not enabled, we remove the AI steps\n return currentStepOffset - contentTypeBuilderStepsAI.length;\n } else if (isAIEnabled && currentStepOffset > contentTypeBuilderStepsNoAI.length) {\n // If AI is enabled, we remove the non-AI steps\n return currentStepOffset - contentTypeBuilderStepsNoAI.length;\n }\n\n return currentStepOffset;\n })();\n\n // When AI is enabled, we subtract the no AI steps and vice versa\n const displayedTourLength = isAIEnabled\n ? tours.contentTypeBuilder._meta.displayedStepCount - contentTypeBuilderStepsNoAI.length\n : tours.contentTypeBuilder._meta.displayedStepCount - contentTypeBuilderStepsAI.length;\n\n const handleNextStep = () => {\n const currentStep = state.tours.contentTypeBuilder.currentStep;\n\n if (!isAIEnabled && currentStep === 0) {\n // If AI is disabled, after Introduction (step 0), skip AI steps and go to first NoAI step\n const nextStep = 1 + contentTypeBuilderStepsAI.length; // Skip AI steps\n dispatch({\n type: 'go_to_step',\n payload: { tourName: 'contentTypeBuilder', step: nextStep },\n });\n } else if (isAIEnabled && currentStep === contentTypeBuilderStepsAI.length) {\n // If AI is enabled, after AI steps, skip NoAI steps and go to Save/Finish\n const nextStep = 1 + contentTypeBuilderStepsAI.length + contentTypeBuilderStepsNoAI.length;\n dispatch({\n type: 'go_to_step',\n payload: { tourName: 'contentTypeBuilder', step: nextStep },\n });\n } else {\n // Normal step progression\n dispatch({\n type: 'next_step',\n payload: 'contentTypeBuilder',\n });\n }\n };\n\n const handlePreviousStep = () => {\n const currentStep = state.tours.contentTypeBuilder.currentStep;\n\n if (!isAIEnabled && currentStep === 1 + contentTypeBuilderStepsAI.length) {\n // If AI is disabled and we're at the first NoAI step, go back to Introduction (step 0)\n dispatch({\n type: 'go_to_step',\n payload: { tourName: 'contentTypeBuilder', step: 0 },\n });\n } else if (\n isAIEnabled &&\n currentStep === 1 + contentTypeBuilderStepsAI.length + contentTypeBuilderStepsNoAI.length\n ) {\n // If AI is enabled and we're at Save/Finish, go back to last AI step\n dispatch({\n type: 'go_to_step',\n payload: { tourName: 'contentTypeBuilder', step: contentTypeBuilderStepsAI.length },\n });\n } else {\n // Normal step progression\n dispatch({\n type: 'previous_step',\n payload: 'contentTypeBuilder',\n });\n }\n };\n\n return (\n <>\n <StepCount\n tourName=\"contentTypeBuilder\"\n displayedCurrentStep={displayedCurrentStep}\n displayedTourLength={displayedTourLength}\n />\n {props.children || (\n <DefaultActions\n tourName=\"contentTypeBuilder\"\n onNextStep={handleNextStep}\n onPreviousStep={handlePreviousStep}\n {...props}\n />\n )}\n </>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Step Components\n * -----------------------------------------------------------------------------------------------*/\n\nconst Introduction = ({ Step }: StepContentProps) => (\n <Step.Root sideOffset={33} withArrow={false}>\n <Step.Title\n id=\"tours.contentTypeBuilder.Introduction.title\"\n defaultMessage=\"Content-Type Builder\"\n />\n <Step.Content\n id=\"tours.contentTypeBuilder.Introduction.content\"\n defaultMessage=\"Create and manage your content structure with collection types, single types and components.\"\n />\n <Step.Actions>\n <ContentTypeBuilderActions showSkip />\n </Step.Actions>\n </Step.Root>\n);\n\nconst AIChat = ({ Step }: StepContentProps) => (\n <Step.Root side=\"left\">\n <Step.Title id=\"tours.contentTypeBuilder.AIChat.title\" defaultMessage=\"Time to get started!\" />\n <Step.Content\n id=\"tours.contentTypeBuilder.AIChat.content\"\n defaultMessage=\"<p>If you have any questions about the Content-Type Builder or Strapi ask them here.</p><p>Strapi AI can generate schemas tailored to your needs. Ask for exactly what you want, for example:<ul><li>Date picker</li><li>Email and password fields</li><li>Media of any type</li><li>UIDs</li></ul></p><p>Don’t be shy, try it out !</p>\"\n />\n <Step.Actions>\n <ContentTypeBuilderActions showPrevious />\n </Step.Actions>\n </Step.Root>\n);\n\nconst CollectionTypes = ({ Step }: StepContentProps) => (\n <Step.Root side=\"right\" sideOffset={16}>\n <Step.Title\n id=\"tours.contentTypeBuilder.CollectionTypes.title\"\n defaultMessage=\"Collection Types\"\n />\n <Step.Content\n id=\"tours.contentTypeBuilder.CollectionTypes.content\"\n defaultMessage=\"A content structure that can manage multiple entries, such as articles or products.\"\n />\n <Step.Actions>\n <ContentTypeBuilderActions showPrevious />\n </Step.Actions>\n </Step.Root>\n);\n\nconst SingleTypes = ({ Step }: StepContentProps) => (\n <Step.Root side=\"right\" sideOffset={16}>\n <Step.Title id=\"tours.contentTypeBuilder.SingleTypes.title\" defaultMessage=\"Single Types\" />\n <Step.Content\n id=\"tours.contentTypeBuilder.SingleTypes.content\"\n defaultMessage=\"A content structure that can manage a single entry, such as a homepage or a header.\"\n />\n <Step.Actions>\n <ContentTypeBuilderActions showPrevious />\n </Step.Actions>\n </Step.Root>\n);\n\nconst Components = ({ Step }: StepContentProps) => (\n <Step.Root side=\"right\" sideOffset={16}>\n <Step.Title id=\"tours.contentTypeBuilder.Components.title\" defaultMessage=\"Components\" />\n <Step.Content\n id=\"tours.contentTypeBuilder.Components.content\"\n defaultMessage=\"A reusable content structure that can be used across multiple content types, such as buttons, sliders or cards.\"\n />\n <Step.Actions>\n <ContentTypeBuilderActions showPrevious />\n </Step.Actions>\n </Step.Root>\n);\n\nconst YourTurn = ({ Step }: StepContentProps) => (\n <Step.Root side=\"right\" sideOffset={16}>\n <Step.Title id=\"tours.contentTypeBuilder.YourTurn.title\" defaultMessage=\"Your turn\" />\n <Step.Content\n id=\"tours.contentTypeBuilder.YourTurn.content\"\n defaultMessage=\"Create a collection type or single type and configure it.\"\n />\n <Step.Actions>\n <ContentTypeBuilderActions showPrevious />\n </Step.Actions>\n </Step.Root>\n);\n\nconst AddFields = ({ Step, dispatch }: StepContentProps) => (\n <Step.Root side=\"bottom\">\n <Step.Title\n id=\"tours.contentTypeBuilder.AddFields.title\"\n defaultMessage=\"Don't forget to add a field to your content type\"\n />\n <Step.Content\n id=\"tours.contentTypeBuilder.AddFields.content\"\n defaultMessage=\"Add the fields your content needs such as text, media and relations.\"\n />\n <Step.Actions>\n <ContentTypeBuilderActions showPrevious>\n <GotItAction\n onClick={() => dispatch({ type: 'next_step', payload: 'contentTypeBuilder' })}\n />\n </ContentTypeBuilderActions>\n </Step.Actions>\n </Step.Root>\n);\n\nconst Save = ({ Step, dispatch }: StepContentProps) => (\n <Step.Root side=\"right\">\n <Step.Title id=\"tours.contentTypeBuilder.Save.title\" defaultMessage=\"Save before you leave!\" />\n <Step.Content\n id=\"tours.contentTypeBuilder.Save.content\"\n defaultMessage=\"Save the changes you made here before leaving this page.\"\n />\n <Step.Actions>\n <ContentTypeBuilderActions showPrevious>\n <GotItAction\n onClick={() => {\n // Ensure the completed action is removed\n // in the event the user already has a schema but is still doing the tour\n dispatch({\n type: 'remove_completed_action',\n payload: GUIDED_TOUR_REQUIRED_ACTIONS.contentTypeBuilder.createSchema,\n });\n dispatch({ type: 'next_step', payload: 'contentTypeBuilder' });\n }}\n />\n </ContentTypeBuilderActions>\n </Step.Actions>\n </Step.Root>\n);\n\nconst Finish = ({ Step }: StepContentProps) => {\n const { data: guidedTourMeta } = useGetGuidedTourMetaQuery();\n const { '*': routeParams } = useParams();\n // Get the uid from the params\n const uid = routeParams?.split('/').pop();\n const contentType = uid ? guidedTourMeta?.data?.schemas?.[uid as UID.ContentType] : null;\n const contentTypeKindDictionary = {\n collectionType: 'collection-types',\n singleType: 'single-types',\n };\n\n const to = contentType\n ? `/content-manager/${contentTypeKindDictionary[contentType.kind]}/${contentType.uid}`\n : '/content-manager';\n\n return (\n <Step.Root side=\"right\">\n <Step.Title\n id=\"tours.contentTypeBuilder.Finish.title\"\n defaultMessage=\"First Step: Done! 🎉\"\n />\n <Step.Content\n id=\"tours.contentTypeBuilder.Finish.content\"\n defaultMessage=\"You've built your first content type! Now head over to the Content Manager to start adding entries!\"\n />\n <Step.Actions showStepCount={false} showPrevious={false} to={to} />\n </Step.Root>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Steps\n * -----------------------------------------------------------------------------------------------*/\nconst contentTypeBuilderStepsAI = [\n {\n name: 'AIChat',\n content: AIChat,\n },\n];\n\nconst contentTypeBuilderStepsNoAI = [\n {\n name: 'CollectionTypes',\n content: CollectionTypes,\n },\n {\n name: 'SingleTypes',\n content: SingleTypes,\n },\n {\n name: 'Components',\n content: Components,\n },\n {\n name: 'YourTurn',\n content: YourTurn,\n },\n {\n name: 'AddFields',\n content: AddFields,\n },\n];\n\nexport const contentTypeBuilderSteps = [\n {\n name: 'Introduction',\n content: Introduction,\n },\n ...contentTypeBuilderStepsAI,\n ...contentTypeBuilderStepsNoAI,\n {\n name: 'Save',\n when: (completedActions: CompletedActions) =>\n completedActions.includes(GUIDED_TOUR_REQUIRED_ACTIONS.contentTypeBuilder.addField),\n content: Save,\n },\n {\n name: 'Finish',\n content: Finish,\n excludeFromStepCount: true,\n when: (completedActions: CompletedActions) =>\n completedActions.includes(GUIDED_TOUR_REQUIRED_ACTIONS.contentTypeBuilder.createSchema),\n },\n] as const;\n"],"names":["ContentTypeBuilderActions","props","state","useGuidedTour","s","dispatch","isAIEnabled","useAIAvailability","currentStepOffset","tours","contentTypeBuilder","currentStep","displayedCurrentStep","contentTypeBuilderStepsAI","length","contentTypeBuilderStepsNoAI","displayedTourLength","_meta","displayedStepCount","handleNextStep","nextStep","type","payload","tourName","step","handlePreviousStep","_jsxs","_Fragment","_jsx","StepCount","children","DefaultActions","onNextStep","onPreviousStep","Introduction","Step","Root","sideOffset","withArrow","Title","id","defaultMessage","Content","Actions","showSkip","AIChat","side","showPrevious","CollectionTypes","SingleTypes","Components","YourTurn","AddFields","GotItAction","onClick","Save","GUIDED_TOUR_REQUIRED_ACTIONS","createSchema","Finish","data","guidedTourMeta","useGetGuidedTourMetaQuery","routeParams","useParams","uid","split","pop","contentType","schemas","contentTypeKindDictionary","collectionType","singleType","to","kind","showStepCount","name","content","contentTypeBuilderSteps","when","completedActions","includes","addField","excludeFromStepCount"],"mappings":"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"}
@@ -137,6 +137,15 @@ const DefaultActions = ({ showSkip, showPrevious, to, tourName, onNextStep, onPr
137
137
  const ActionsContainer = styled.styled(designSystem.Flex)`
138
138
  border-top: ${({ theme })=>`1px solid ${theme.colors.neutral150}`};
139
139
  `;
140
+ const ContentContainer = styled.styled(designSystem.Box)`
141
+ p {
142
+ margin-top: ${({ theme })=>theme.spaces[5]};
143
+ }
144
+ ul {
145
+ list-style-type: disc;
146
+ padding-left: ${({ theme })=>theme.spaces[4]};
147
+ }
148
+ `;
140
149
  /**
141
150
  * TODO:
142
151
  * We should probably move all arrow styles + svg to the DS
@@ -198,21 +207,31 @@ const createStepComponents = (tourName)=>({
198
207
  })
199
208
  });
200
209
  },
201
- Content: (props)=>/*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
210
+ Content: (props)=>{
211
+ const { formatMessage } = reactIntl.useIntl();
212
+ let content = '';
213
+ if (!('children' in props)) {
214
+ content = formatMessage({
215
+ id: props.id,
216
+ defaultMessage: props.defaultMessage
217
+ });
218
+ }
219
+ return /*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
202
220
  paddingBottom: 5,
203
221
  paddingLeft: 5,
204
222
  paddingRight: 5,
205
223
  width: "100%",
206
- children: 'children' in props ? props.children : /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
207
- tag: "div",
208
- variant: "omega",
209
- children: /*#__PURE__*/ jsxRuntime.jsx(reactIntl.FormattedMessage, {
210
- id: props.id,
211
- defaultMessage: props.defaultMessage,
212
- values: props.values
224
+ children: 'children' in props ? props.children : /*#__PURE__*/ jsxRuntime.jsx(ContentContainer, {
225
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
226
+ tag: "div",
227
+ variant: "omega",
228
+ dangerouslySetInnerHTML: {
229
+ __html: content
230
+ }
213
231
  })
214
232
  })
215
- }),
233
+ });
234
+ },
216
235
  Actions: ({ showStepCount = true, showPrevious = true, showSkip = false, to, children, ...flexProps })=>{
217
236
  return /*#__PURE__*/ jsxRuntime.jsx(ActionsContainer, {
218
237
  width: "100%",
@@ -1 +1 @@
1
- {"version":3,"file":"Step.js","sources":["../../../../../../../admin/src/components/GuidedTour/Steps/Step.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Popover,\n Box,\n Flex,\n Button,\n Typography,\n LinkButton,\n FlexProps,\n} from '@strapi/design-system';\nimport { FormattedMessage, type MessageDescriptor } from 'react-intl';\nimport { To, NavLink } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { useTracking } from '../../../features/Tracking';\nimport { useGuidedTour, type ValidTourName } from '../Context';\nimport { tours } from '../Tours';\n\n/* -------------------------------------------------------------------------------------------------\n * Common Step Components\n * -----------------------------------------------------------------------------------------------*/\n\nconst StepCount = ({\n tourName,\n displayedCurrentStep,\n displayedTourLength,\n}: {\n tourName: ValidTourName;\n displayedCurrentStep?: number;\n displayedTourLength?: number;\n}) => {\n const state = useGuidedTour('GuidedTourPopover', (s) => s.state);\n const currentStep = displayedCurrentStep ?? state.tours[tourName].currentStep + 1;\n const displayedStepCount = displayedTourLength ?? tours[tourName]._meta.displayedStepCount;\n\n return (\n <Typography variant=\"omega\" fontSize=\"12px\">\n <FormattedMessage\n id=\"tours.stepCount\"\n defaultMessage=\"Step {currentStep} of {tourLength}\"\n values={{ currentStep, tourLength: displayedStepCount }}\n />\n </Typography>\n );\n};\n\nconst GotItAction = ({ onClick }: { onClick: () => void }) => {\n return (\n <Button onClick={onClick}>\n <FormattedMessage id=\"tours.gotIt\" defaultMessage=\"Got it\" />\n </Button>\n );\n};\n\nexport type DefaultActionsProps = {\n showSkip?: boolean;\n showPrevious?: boolean;\n to?: To;\n onNextStep?: () => void;\n onPreviousStep?: () => void;\n tourName: ValidTourName;\n};\nconst DefaultActions = ({\n showSkip,\n showPrevious,\n to,\n tourName,\n onNextStep,\n onPreviousStep,\n}: DefaultActionsProps) => {\n const { trackUsage } = useTracking();\n const dispatch = useGuidedTour('GuidedTourPopover', (s) => s.dispatch);\n const state = useGuidedTour('GuidedTourPopover', (s) => s.state);\n const currentStep = state.tours[tourName].currentStep + 1;\n const actualTourLength = tours[tourName]._meta.totalStepCount;\n\n const handleSkip = () => {\n trackUsage('didSkipGuidedTour', { name: tourName });\n dispatch({ type: 'skip_tour', payload: tourName });\n };\n\n const handleNextStep = () => {\n if (currentStep === actualTourLength) {\n trackUsage('didCompleteGuidedTour', { name: tourName });\n }\n\n if (onNextStep) {\n onNextStep();\n } else {\n dispatch({ type: 'next_step', payload: tourName });\n }\n };\n\n const handlePreviousStep = () => {\n if (onPreviousStep) {\n onPreviousStep();\n } else {\n dispatch({ type: 'previous_step', payload: tourName });\n }\n };\n\n return (\n <Flex gap={2}>\n {showSkip && (\n <Button variant=\"tertiary\" onClick={handleSkip}>\n <FormattedMessage id=\"tours.skip\" defaultMessage=\"Skip\" />\n </Button>\n )}\n {!showSkip && showPrevious && (\n <Button variant=\"tertiary\" onClick={handlePreviousStep}>\n <FormattedMessage id=\"tours.previous\" defaultMessage=\"Previous\" />\n </Button>\n )}\n {to ? (\n <LinkButton tag={NavLink} to={to} onClick={handleNextStep}>\n <FormattedMessage id=\"tours.next\" defaultMessage=\"Next\" />\n </LinkButton>\n ) : (\n <Button onClick={handleNextStep}>\n <FormattedMessage id=\"tours.next\" defaultMessage=\"Next\" />\n </Button>\n )}\n </Flex>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Step factory\n * -----------------------------------------------------------------------------------------------*/\n\ntype WithChildren = {\n children: React.ReactNode;\n id?: never;\n defaultMessage?: never;\n};\n\ntype WithIntl = {\n children?: undefined;\n id: MessageDescriptor['id'];\n defaultMessage: MessageDescriptor['defaultMessage'];\n withArrow?: boolean;\n};\n\ntype WithActionsChildren = {\n children: React.ReactNode;\n showStepCount?: boolean;\n showSkip?: boolean;\n showPrevious?: boolean;\n};\n\ntype WithActionsProps = {\n children?: undefined;\n showStepCount?: boolean;\n showSkip?: boolean;\n showPrevious?: boolean;\n};\n\ntype StepProps = WithChildren | WithIntl;\ntype ActionsProps = WithActionsChildren | WithActionsProps;\n\ntype Step = {\n Root: React.ForwardRefExoticComponent<\n React.ComponentProps<typeof Popover.Content> & { withArrow?: boolean }\n >;\n Title: (props: StepProps) => React.ReactNode;\n Content: (\n props: StepProps & {\n values?: Record<string, React.ReactNode | ((chunks: React.ReactNode) => React.ReactNode)>;\n }\n ) => React.ReactNode;\n Actions: (props: ActionsProps & { to?: string } & FlexProps) => React.ReactNode;\n};\n\nconst ActionsContainer = styled(Flex)`\n border-top: ${({ theme }) => `1px solid ${theme.colors.neutral150}`};\n`;\n\n/**\n * TODO:\n * We should probably move all arrow styles + svg to the DS\n */\nconst PopoverArrow = styled(Popover.Arrow)`\n fill: ${({ theme }) => theme.colors.neutral0};\n transform: translateY(-16px) rotate(-90deg);\n`;\n\nconst createStepComponents = (tourName: ValidTourName): Step => ({\n Root: React.forwardRef(({ withArrow = true, ...props }, ref) => {\n return (\n <Popover.Content\n ref={ref}\n aria-labelledby=\"guided-tour-title\"\n side=\"top\"\n align=\"center\"\n style={{ border: 'none' }}\n onClick={(e) => e.stopPropagation()}\n {...props}\n >\n {withArrow && (\n <PopoverArrow asChild>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"23\"\n height=\"25\"\n viewBox=\"0 0 23 25\"\n fill=\"none\"\n >\n <path d=\"M11 24.5L1.82843 15.3284C0.266332 13.7663 0.26633 11.2337 1.82843 9.67157L11 0.5L23 12.5L11 24.5Z\" />\n </svg>\n </PopoverArrow>\n )}\n <Flex width=\"360px\" direction=\"column\" alignItems=\"start\">\n {props.children}\n </Flex>\n </Popover.Content>\n );\n }),\n\n Title: (props) => {\n return (\n <Box paddingTop={5} paddingLeft={5} paddingRight={5} paddingBottom={1} width=\"100%\">\n {'children' in props ? (\n props.children\n ) : (\n <Typography tag=\"h1\" id=\"guided-tour-title\" variant=\"omega\" fontWeight=\"bold\">\n <FormattedMessage id={props.id} defaultMessage={props.defaultMessage} />\n </Typography>\n )}\n </Box>\n );\n },\n\n Content: (props) => (\n <Box paddingBottom={5} paddingLeft={5} paddingRight={5} width=\"100%\">\n {'children' in props ? (\n props.children\n ) : (\n <Typography tag=\"div\" variant=\"omega\">\n <FormattedMessage\n id={props.id}\n defaultMessage={props.defaultMessage}\n values={props.values}\n />\n </Typography>\n )}\n </Box>\n ),\n\n Actions: ({\n showStepCount = true,\n showPrevious = true,\n showSkip = false,\n to,\n children,\n ...flexProps\n }) => {\n return (\n <ActionsContainer\n width=\"100%\"\n padding={3}\n paddingLeft={5}\n justifyContent={showStepCount ? 'space-between' : 'flex-end'}\n {...flexProps}\n >\n {children ? (\n children\n ) : (\n <>\n {showStepCount && <StepCount tourName={tourName} />}\n <DefaultActions\n tourName={tourName}\n showSkip={showSkip}\n showPrevious={!showSkip && showPrevious}\n to={to}\n />\n </>\n )}\n </ActionsContainer>\n );\n },\n});\n\nexport type { Step };\nexport { createStepComponents, GotItAction, StepCount, DefaultActions };\n"],"names":["StepCount","tourName","displayedCurrentStep","displayedTourLength","state","useGuidedTour","s","currentStep","tours","displayedStepCount","_meta","_jsx","Typography","variant","fontSize","FormattedMessage","id","defaultMessage","values","tourLength","GotItAction","onClick","Button","DefaultActions","showSkip","showPrevious","to","onNextStep","onPreviousStep","trackUsage","useTracking","dispatch","actualTourLength","totalStepCount","handleSkip","name","type","payload","handleNextStep","handlePreviousStep","_jsxs","Flex","gap","LinkButton","tag","NavLink","ActionsContainer","styled","theme","colors","neutral150","PopoverArrow","Popover","Arrow","neutral0","createStepComponents","Root","React","forwardRef","withArrow","props","ref","Content","aria-labelledby","side","align","style","border","e","stopPropagation","asChild","svg","xmlns","width","height","viewBox","fill","path","d","direction","alignItems","children","Title","Box","paddingTop","paddingLeft","paddingRight","paddingBottom","fontWeight","Actions","showStepCount","flexProps","padding","justifyContent","_Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"Step.js","sources":["../../../../../../../admin/src/components/GuidedTour/Steps/Step.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Popover,\n Box,\n Flex,\n Button,\n Typography,\n LinkButton,\n FlexProps,\n} from '@strapi/design-system';\nimport { FormattedMessage, useIntl, type MessageDescriptor } from 'react-intl';\nimport { To, NavLink } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { useTracking } from '../../../features/Tracking';\nimport { useGuidedTour, type ValidTourName } from '../Context';\nimport { tours } from '../Tours';\n\n/* -------------------------------------------------------------------------------------------------\n * Common Step Components\n * -----------------------------------------------------------------------------------------------*/\n\nconst StepCount = ({\n tourName,\n displayedCurrentStep,\n displayedTourLength,\n}: {\n tourName: ValidTourName;\n displayedCurrentStep?: number;\n displayedTourLength?: number;\n}) => {\n const state = useGuidedTour('GuidedTourPopover', (s) => s.state);\n const currentStep = displayedCurrentStep ?? state.tours[tourName].currentStep + 1;\n const displayedStepCount = displayedTourLength ?? tours[tourName]._meta.displayedStepCount;\n\n return (\n <Typography variant=\"omega\" fontSize=\"12px\">\n <FormattedMessage\n id=\"tours.stepCount\"\n defaultMessage=\"Step {currentStep} of {tourLength}\"\n values={{ currentStep, tourLength: displayedStepCount }}\n />\n </Typography>\n );\n};\n\nconst GotItAction = ({ onClick }: { onClick: () => void }) => {\n return (\n <Button onClick={onClick}>\n <FormattedMessage id=\"tours.gotIt\" defaultMessage=\"Got it\" />\n </Button>\n );\n};\n\nexport type DefaultActionsProps = {\n showSkip?: boolean;\n showPrevious?: boolean;\n to?: To;\n onNextStep?: () => void;\n onPreviousStep?: () => void;\n tourName: ValidTourName;\n};\nconst DefaultActions = ({\n showSkip,\n showPrevious,\n to,\n tourName,\n onNextStep,\n onPreviousStep,\n}: DefaultActionsProps) => {\n const { trackUsage } = useTracking();\n const dispatch = useGuidedTour('GuidedTourPopover', (s) => s.dispatch);\n const state = useGuidedTour('GuidedTourPopover', (s) => s.state);\n const currentStep = state.tours[tourName].currentStep + 1;\n const actualTourLength = tours[tourName]._meta.totalStepCount;\n\n const handleSkip = () => {\n trackUsage('didSkipGuidedTour', { name: tourName });\n dispatch({ type: 'skip_tour', payload: tourName });\n };\n\n const handleNextStep = () => {\n if (currentStep === actualTourLength) {\n trackUsage('didCompleteGuidedTour', { name: tourName });\n }\n\n if (onNextStep) {\n onNextStep();\n } else {\n dispatch({ type: 'next_step', payload: tourName });\n }\n };\n\n const handlePreviousStep = () => {\n if (onPreviousStep) {\n onPreviousStep();\n } else {\n dispatch({ type: 'previous_step', payload: tourName });\n }\n };\n\n return (\n <Flex gap={2}>\n {showSkip && (\n <Button variant=\"tertiary\" onClick={handleSkip}>\n <FormattedMessage id=\"tours.skip\" defaultMessage=\"Skip\" />\n </Button>\n )}\n {!showSkip && showPrevious && (\n <Button variant=\"tertiary\" onClick={handlePreviousStep}>\n <FormattedMessage id=\"tours.previous\" defaultMessage=\"Previous\" />\n </Button>\n )}\n {to ? (\n <LinkButton tag={NavLink} to={to} onClick={handleNextStep}>\n <FormattedMessage id=\"tours.next\" defaultMessage=\"Next\" />\n </LinkButton>\n ) : (\n <Button onClick={handleNextStep}>\n <FormattedMessage id=\"tours.next\" defaultMessage=\"Next\" />\n </Button>\n )}\n </Flex>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Step factory\n * -----------------------------------------------------------------------------------------------*/\n\ntype WithChildren = {\n children: React.ReactNode;\n id?: never;\n defaultMessage?: never;\n};\n\ntype WithIntl = {\n children?: undefined;\n id: MessageDescriptor['id'];\n defaultMessage: MessageDescriptor['defaultMessage'];\n withArrow?: boolean;\n};\n\ntype WithActionsChildren = {\n children: React.ReactNode;\n showStepCount?: boolean;\n showSkip?: boolean;\n showPrevious?: boolean;\n};\n\ntype WithActionsProps = {\n children?: undefined;\n showStepCount?: boolean;\n showSkip?: boolean;\n showPrevious?: boolean;\n};\n\ntype StepProps = WithChildren | WithIntl;\ntype ActionsProps = WithActionsChildren | WithActionsProps;\n\ntype Step = {\n Root: React.ForwardRefExoticComponent<\n React.ComponentProps<typeof Popover.Content> & { withArrow?: boolean }\n >;\n Title: (props: StepProps) => React.ReactNode;\n Content: (\n props: StepProps & {\n values?: Record<string, React.ReactNode | ((chunks: React.ReactNode) => React.ReactNode)>;\n }\n ) => React.ReactNode;\n Actions: (props: ActionsProps & { to?: string } & FlexProps) => React.ReactNode;\n};\n\nconst ActionsContainer = styled(Flex)`\n border-top: ${({ theme }) => `1px solid ${theme.colors.neutral150}`};\n`;\n\nconst ContentContainer = styled(Box)`\n p {\n margin-top: ${({ theme }) => theme.spaces[5]};\n }\n ul {\n list-style-type: disc;\n padding-left: ${({ theme }) => theme.spaces[4]};\n }\n`;\n\n/**\n * TODO:\n * We should probably move all arrow styles + svg to the DS\n */\nconst PopoverArrow = styled(Popover.Arrow)`\n fill: ${({ theme }) => theme.colors.neutral0};\n transform: translateY(-16px) rotate(-90deg);\n`;\n\nconst createStepComponents = (tourName: ValidTourName): Step => ({\n Root: React.forwardRef(({ withArrow = true, ...props }, ref) => {\n return (\n <Popover.Content\n ref={ref}\n aria-labelledby=\"guided-tour-title\"\n side=\"top\"\n align=\"center\"\n style={{ border: 'none' }}\n onClick={(e) => e.stopPropagation()}\n {...props}\n >\n {withArrow && (\n <PopoverArrow asChild>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"23\"\n height=\"25\"\n viewBox=\"0 0 23 25\"\n fill=\"none\"\n >\n <path d=\"M11 24.5L1.82843 15.3284C0.266332 13.7663 0.26633 11.2337 1.82843 9.67157L11 0.5L23 12.5L11 24.5Z\" />\n </svg>\n </PopoverArrow>\n )}\n <Flex width=\"360px\" direction=\"column\" alignItems=\"start\">\n {props.children}\n </Flex>\n </Popover.Content>\n );\n }),\n\n Title: (props) => {\n return (\n <Box paddingTop={5} paddingLeft={5} paddingRight={5} paddingBottom={1} width=\"100%\">\n {'children' in props ? (\n props.children\n ) : (\n <Typography tag=\"h1\" id=\"guided-tour-title\" variant=\"omega\" fontWeight=\"bold\">\n <FormattedMessage id={props.id} defaultMessage={props.defaultMessage} />\n </Typography>\n )}\n </Box>\n );\n },\n\n Content: (props) => {\n const { formatMessage } = useIntl();\n let content = '';\n if (!('children' in props)) {\n content = formatMessage({\n id: props.id,\n defaultMessage: props.defaultMessage,\n });\n }\n return (\n <Box paddingBottom={5} paddingLeft={5} paddingRight={5} width=\"100%\">\n {'children' in props ? (\n props.children\n ) : (\n <ContentContainer>\n <Typography tag=\"div\" variant=\"omega\" dangerouslySetInnerHTML={{ __html: content }} />\n </ContentContainer>\n )}\n </Box>\n );\n },\n\n Actions: ({\n showStepCount = true,\n showPrevious = true,\n showSkip = false,\n to,\n children,\n ...flexProps\n }) => {\n return (\n <ActionsContainer\n width=\"100%\"\n padding={3}\n paddingLeft={5}\n justifyContent={showStepCount ? 'space-between' : 'flex-end'}\n {...flexProps}\n >\n {children ? (\n children\n ) : (\n <>\n {showStepCount && <StepCount tourName={tourName} />}\n <DefaultActions\n tourName={tourName}\n showSkip={showSkip}\n showPrevious={!showSkip && showPrevious}\n to={to}\n />\n </>\n )}\n </ActionsContainer>\n );\n },\n});\n\nexport type { Step };\nexport { createStepComponents, GotItAction, StepCount, DefaultActions };\n"],"names":["StepCount","tourName","displayedCurrentStep","displayedTourLength","state","useGuidedTour","s","currentStep","tours","displayedStepCount","_meta","_jsx","Typography","variant","fontSize","FormattedMessage","id","defaultMessage","values","tourLength","GotItAction","onClick","Button","DefaultActions","showSkip","showPrevious","to","onNextStep","onPreviousStep","trackUsage","useTracking","dispatch","actualTourLength","totalStepCount","handleSkip","name","type","payload","handleNextStep","handlePreviousStep","_jsxs","Flex","gap","LinkButton","tag","NavLink","ActionsContainer","styled","theme","colors","neutral150","ContentContainer","Box","spaces","PopoverArrow","Popover","Arrow","neutral0","createStepComponents","Root","React","forwardRef","withArrow","props","ref","Content","aria-labelledby","side","align","style","border","e","stopPropagation","asChild","svg","xmlns","width","height","viewBox","fill","path","d","direction","alignItems","children","Title","paddingTop","paddingLeft","paddingRight","paddingBottom","fontWeight","formatMessage","useIntl","content","dangerouslySetInnerHTML","__html","Actions","showStepCount","flexProps","padding","justifyContent","_Fragment"],"mappings":"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"}