@strapi/admin 4.20.5 → 4.21.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (249) hide show
  1. package/dist/_chunks/{AdminSeatInfo-VeqDpwGV.js → AdminSeatInfo-MibiuVe3.js} +9 -8
  2. package/dist/_chunks/{AdminSeatInfo-VeqDpwGV.js.map → AdminSeatInfo-MibiuVe3.js.map} +1 -1
  3. package/dist/_chunks/{AdminSeatInfo-0PZPHqsd.mjs → AdminSeatInfo-hYZ8eUpF.mjs} +9 -8
  4. package/dist/_chunks/{AdminSeatInfo-0PZPHqsd.mjs.map → AdminSeatInfo-hYZ8eUpF.mjs.map} +1 -1
  5. package/dist/_chunks/{AuthenticatedApp-3loM1zPQ.js → AuthenticatedApp-2mUijYOI.js} +21 -21
  6. package/dist/_chunks/{AuthenticatedApp-3loM1zPQ.js.map → AuthenticatedApp-2mUijYOI.js.map} +1 -1
  7. package/dist/_chunks/{AuthenticatedApp-p_Hoz4w0.mjs → AuthenticatedApp-nvm4fRcu.mjs} +21 -21
  8. package/dist/_chunks/{AuthenticatedApp-p_Hoz4w0.mjs.map → AuthenticatedApp-nvm4fRcu.mjs.map} +1 -1
  9. package/dist/_chunks/{CreateActionEE-BvBzN3ej.mjs → CreateActionEE-28yZAU6X.mjs} +8 -7
  10. package/dist/_chunks/{CreateActionEE-BvBzN3ej.mjs.map → CreateActionEE-28yZAU6X.mjs.map} +1 -1
  11. package/dist/_chunks/{CreateActionEE-msdEHH2t.js → CreateActionEE-u_QUOWRr.js} +8 -7
  12. package/dist/_chunks/{CreateActionEE-msdEHH2t.js.map → CreateActionEE-u_QUOWRr.js.map} +1 -1
  13. package/dist/_chunks/{CreatePage-tYv61v1J.js → CreatePage-Cqqvxnxa.js} +13 -12
  14. package/dist/_chunks/{CreatePage-tYv61v1J.js.map → CreatePage-Cqqvxnxa.js.map} +1 -1
  15. package/dist/_chunks/{CreatePage-eh67IoKV.mjs → CreatePage-ObDt4GbK.mjs} +9 -8
  16. package/dist/_chunks/{CreatePage-eh67IoKV.mjs.map → CreatePage-ObDt4GbK.mjs.map} +1 -1
  17. package/dist/_chunks/{CreatePage-DvbIy_jN.mjs → CreatePage-bPmBTOep.mjs} +13 -12
  18. package/dist/_chunks/{CreatePage-DvbIy_jN.mjs.map → CreatePage-bPmBTOep.mjs.map} +1 -1
  19. package/dist/_chunks/{CreatePage-CXHGEXMF.mjs → CreatePage-ed7j4RJV.mjs} +12 -11
  20. package/dist/_chunks/{CreatePage-CXHGEXMF.mjs.map → CreatePage-ed7j4RJV.mjs.map} +1 -1
  21. package/dist/_chunks/{CreatePage-TnWHEKrd.js → CreatePage-hacPLJKo.js} +9 -8
  22. package/dist/_chunks/{CreatePage-TnWHEKrd.js.map → CreatePage-hacPLJKo.js.map} +1 -1
  23. package/dist/_chunks/{CreatePage-0a6OdLKp.js → CreatePage-mBRa_iNg.js} +12 -11
  24. package/dist/_chunks/{CreatePage-0a6OdLKp.js.map → CreatePage-mBRa_iNg.js.map} +1 -1
  25. package/dist/_chunks/{CreateView-hFjKdwYu.mjs → CreateView--GAlOvKq.mjs} +12 -11
  26. package/dist/_chunks/{CreateView-hFjKdwYu.mjs.map → CreateView--GAlOvKq.mjs.map} +1 -1
  27. package/dist/_chunks/{CreateView-37DEWWCT.js → CreateView-3jGheoI1.js} +12 -11
  28. package/dist/_chunks/{CreateView-37DEWWCT.js.map → CreateView-3jGheoI1.js.map} +1 -1
  29. package/dist/_chunks/{CreateView-lQqp9igR.js → CreateView-VPheqVVt.js} +12 -11
  30. package/dist/_chunks/{CreateView-lQqp9igR.js.map → CreateView-VPheqVVt.js.map} +1 -1
  31. package/dist/_chunks/{CreateView-8a8sE0PN.mjs → CreateView-pVkFTxKp.mjs} +12 -11
  32. package/dist/_chunks/{CreateView-8a8sE0PN.mjs.map → CreateView-pVkFTxKp.mjs.map} +1 -1
  33. package/dist/_chunks/{EditPage-RrSgOYln.mjs → EditPage-0awwE3Ot.mjs} +14 -13
  34. package/dist/_chunks/{EditPage-RrSgOYln.mjs.map → EditPage-0awwE3Ot.mjs.map} +1 -1
  35. package/dist/_chunks/{EditPage-EFPGPMV_.js → EditPage-33i7ujZ8.js} +6 -6
  36. package/dist/_chunks/{EditPage-EFPGPMV_.js.map → EditPage-33i7ujZ8.js.map} +1 -1
  37. package/dist/_chunks/{EditPage-fOldhH6r.js → EditPage-7Ct3E98b.js} +12 -11
  38. package/dist/_chunks/{EditPage-fOldhH6r.js.map → EditPage-7Ct3E98b.js.map} +1 -1
  39. package/dist/_chunks/{EditPage-JS93HO0g.mjs → EditPage-MeydsvUK.mjs} +12 -11
  40. package/dist/_chunks/{EditPage-JS93HO0g.mjs.map → EditPage-MeydsvUK.mjs.map} +1 -1
  41. package/dist/_chunks/{EditPage-D0i2YdDb.js → EditPage-TpJ6dyZw.js} +10 -9
  42. package/dist/_chunks/{EditPage-D0i2YdDb.js.map → EditPage-TpJ6dyZw.js.map} +1 -1
  43. package/dist/_chunks/{EditPage-fVWNx5Oh.js → EditPage-VALeceJX.js} +14 -13
  44. package/dist/_chunks/{EditPage-fVWNx5Oh.js.map → EditPage-VALeceJX.js.map} +1 -1
  45. package/dist/_chunks/{EditPage-H51hPwcO.mjs → EditPage-ZTvR20S6.mjs} +6 -6
  46. package/dist/_chunks/{EditPage-H51hPwcO.mjs.map → EditPage-ZTvR20S6.mjs.map} +1 -1
  47. package/dist/_chunks/{EditPage-CbpEmXk3.mjs → EditPage-yKqM0bST.mjs} +10 -9
  48. package/dist/_chunks/{EditPage-CbpEmXk3.mjs.map → EditPage-yKqM0bST.mjs.map} +1 -1
  49. package/dist/_chunks/{EditView-o4vADGcb.js → EditView-4N0l1pQE.js} +10 -9
  50. package/dist/_chunks/{EditView-o4vADGcb.js.map → EditView-4N0l1pQE.js.map} +1 -1
  51. package/dist/_chunks/{EditView-lgBWjHOT.mjs → EditView-CsBrOadn.mjs} +10 -9
  52. package/dist/_chunks/{EditView-lgBWjHOT.mjs.map → EditView-CsBrOadn.mjs.map} +1 -1
  53. package/dist/_chunks/{EditViewPage-qJ7nFINE.mjs → EditViewPage-I4t8PYvh.mjs} +10 -9
  54. package/dist/_chunks/{EditViewPage-qJ7nFINE.mjs.map → EditViewPage-I4t8PYvh.mjs.map} +1 -1
  55. package/dist/_chunks/{EditViewPage-mqbskolf.js → EditViewPage-fepB7pKP.js} +10 -9
  56. package/dist/_chunks/{EditViewPage-mqbskolf.js.map → EditViewPage-fepB7pKP.js.map} +1 -1
  57. package/dist/_chunks/{EventsTable--TwAHLZA.js → EventsTable-1uoHb_3J.js} +12 -11
  58. package/dist/_chunks/{EventsTable--TwAHLZA.js.map → EventsTable-1uoHb_3J.js.map} +1 -1
  59. package/dist/_chunks/{EventsTable-Fvc-JpRm.mjs → EventsTable-uqU4ebwR.mjs} +12 -11
  60. package/dist/_chunks/{EventsTable-Fvc-JpRm.mjs.map → EventsTable-uqU4ebwR.mjs.map} +1 -1
  61. package/dist/_chunks/{HomePage-uF97iLvr.js → HomePage-UQWsRrI5.js} +11 -10
  62. package/dist/_chunks/{HomePage-uF97iLvr.js.map → HomePage-UQWsRrI5.js.map} +1 -1
  63. package/dist/_chunks/{HomePage-nOmgQyML.mjs → HomePage-q365diV4.mjs} +12 -11
  64. package/dist/_chunks/{HomePage-nOmgQyML.mjs.map → HomePage-q365diV4.mjs.map} +1 -1
  65. package/dist/_chunks/{HomePage-uLq-MN1K.js → HomePage-uCLCPqBp.js} +12 -11
  66. package/dist/_chunks/{HomePage-uLq-MN1K.js.map → HomePage-uCLCPqBp.js.map} +1 -1
  67. package/dist/_chunks/{HomePage-a1vOU1ul.mjs → HomePage-zpdV3R_J.mjs} +11 -10
  68. package/dist/_chunks/{HomePage-a1vOU1ul.mjs.map → HomePage-zpdV3R_J.mjs.map} +1 -1
  69. package/dist/_chunks/{InformationBoxEE-zr8UNPkv.mjs → InformationBoxEE-FcEBL8Fl.mjs} +9 -8
  70. package/dist/_chunks/{InformationBoxEE-zr8UNPkv.mjs.map → InformationBoxEE-FcEBL8Fl.mjs.map} +1 -1
  71. package/dist/_chunks/{InformationBoxEE-rompvdum.js → InformationBoxEE-ZTOhi2sn.js} +9 -8
  72. package/dist/_chunks/{InformationBoxEE-rompvdum.js.map → InformationBoxEE-ZTOhi2sn.js.map} +1 -1
  73. package/dist/_chunks/{InstalledPluginsPage-fCay7xDO.js → InstalledPluginsPage-CsNrEWNA.js} +9 -8
  74. package/dist/_chunks/{InstalledPluginsPage-fCay7xDO.js.map → InstalledPluginsPage-CsNrEWNA.js.map} +1 -1
  75. package/dist/_chunks/{InstalledPluginsPage-swMYXqyB.mjs → InstalledPluginsPage-QxMzZSAA.mjs} +9 -8
  76. package/dist/_chunks/{InstalledPluginsPage-swMYXqyB.mjs.map → InstalledPluginsPage-QxMzZSAA.mjs.map} +1 -1
  77. package/dist/_chunks/{Layout-BcpbdKNS.js → Layout-BfXkf1tg.js} +2 -2
  78. package/dist/_chunks/{Layout-BcpbdKNS.js.map → Layout-BfXkf1tg.js.map} +1 -1
  79. package/dist/_chunks/{Layout-vuQrq1Uu.mjs → Layout-BquZQAb2.mjs} +2 -2
  80. package/dist/_chunks/{Layout-vuQrq1Uu.mjs.map → Layout-BquZQAb2.mjs.map} +1 -1
  81. package/dist/_chunks/{ListPage-G5KMMFsZ.mjs → ListPage-4xBsXFzo.mjs} +12 -11
  82. package/dist/_chunks/{ListPage-G5KMMFsZ.mjs.map → ListPage-4xBsXFzo.mjs.map} +1 -1
  83. package/dist/_chunks/{ListPage-AKGBR4U_.mjs → ListPage-FEAgz6nH.mjs} +8 -7
  84. package/dist/_chunks/{ListPage-AKGBR4U_.mjs.map → ListPage-FEAgz6nH.mjs.map} +1 -1
  85. package/dist/_chunks/{ListPage-2GK03p5D.js → ListPage-LOriRfBq.js} +8 -7
  86. package/dist/_chunks/{ListPage-2GK03p5D.js.map → ListPage-LOriRfBq.js.map} +1 -1
  87. package/dist/_chunks/{ListPage-bxulds-R.js → ListPage-NrSchY-X.js} +10 -9
  88. package/dist/_chunks/{ListPage-bxulds-R.js.map → ListPage-NrSchY-X.js.map} +1 -1
  89. package/dist/_chunks/{ListPage-8ZPXoi72.js → ListPage-iL3qGB-7.js} +12 -11
  90. package/dist/_chunks/{ListPage-8ZPXoi72.js.map → ListPage-iL3qGB-7.js.map} +1 -1
  91. package/dist/_chunks/{ListPage-txDe-JTh.js → ListPage-l9uLwOUs.js} +14 -13
  92. package/dist/_chunks/{ListPage-txDe-JTh.js.map → ListPage-l9uLwOUs.js.map} +1 -1
  93. package/dist/_chunks/{ListPage-hFe-nYXL.mjs → ListPage-qafrcs26.mjs} +9 -8
  94. package/dist/_chunks/{ListPage-hFe-nYXL.mjs.map → ListPage-qafrcs26.mjs.map} +1 -1
  95. package/dist/_chunks/{ListPage-oOPktA3S.mjs → ListPage-wfXHUaaw.mjs} +10 -9
  96. package/dist/_chunks/{ListPage-oOPktA3S.mjs.map → ListPage-wfXHUaaw.mjs.map} +1 -1
  97. package/dist/_chunks/{ListPage-Tebxu06N.mjs → ListPage-wz4r1cje.mjs} +13 -12
  98. package/dist/_chunks/{ListPage-Tebxu06N.mjs.map → ListPage-wz4r1cje.mjs.map} +1 -1
  99. package/dist/_chunks/{ListPage-JIwwNmac.mjs → ListPage-xannISFa.mjs} +14 -13
  100. package/dist/_chunks/{ListPage-JIwwNmac.mjs.map → ListPage-xannISFa.mjs.map} +1 -1
  101. package/dist/_chunks/{ListPage-IqEVyyyf.js → ListPage-y0INhiFO.js} +9 -8
  102. package/dist/_chunks/{ListPage-IqEVyyyf.js.map → ListPage-y0INhiFO.js.map} +1 -1
  103. package/dist/_chunks/{ListPage-LA0lT654.js → ListPage-ydOBPR53.js} +13 -12
  104. package/dist/_chunks/{ListPage-LA0lT654.js.map → ListPage-ydOBPR53.js.map} +1 -1
  105. package/dist/_chunks/{ListView-07uZxF2i.mjs → ListView-BCc3qmYg.mjs} +9 -8
  106. package/dist/_chunks/{ListView-07uZxF2i.mjs.map → ListView-BCc3qmYg.mjs.map} +1 -1
  107. package/dist/_chunks/{ListView-BHlcoKKy.mjs → ListView-CBlwwUD_.mjs} +9 -8
  108. package/dist/_chunks/{ListView-BHlcoKKy.mjs.map → ListView-CBlwwUD_.mjs.map} +1 -1
  109. package/dist/_chunks/{ListView-ESH3o0Lu.js → ListView-CD7jHNFH.js} +9 -8
  110. package/dist/_chunks/{ListView-ESH3o0Lu.js.map → ListView-CD7jHNFH.js.map} +1 -1
  111. package/dist/_chunks/{ListView-qaE8Vcb3.js → ListView-mY1VfCWs.js} +9 -8
  112. package/dist/_chunks/{ListView-qaE8Vcb3.js.map → ListView-mY1VfCWs.js.map} +1 -1
  113. package/dist/_chunks/{Login-ZETxeuNn.mjs → Login-JfsOEES0.mjs} +8 -7
  114. package/dist/_chunks/{Login-ZETxeuNn.mjs.map → Login-JfsOEES0.mjs.map} +1 -1
  115. package/dist/_chunks/{Login-POtw5QbC.js → Login-x6cjYspM.js} +8 -7
  116. package/dist/_chunks/{Login-POtw5QbC.js.map → Login-x6cjYspM.js.map} +1 -1
  117. package/dist/_chunks/{MagicLinkEE-VHh9i6gc.js → MagicLinkEE-faQF742D.js} +10 -9
  118. package/dist/_chunks/{MagicLinkEE-VHh9i6gc.js.map → MagicLinkEE-faQF742D.js.map} +1 -1
  119. package/dist/_chunks/{MagicLinkEE-HMr2D5cP.mjs → MagicLinkEE-s7jLtjiz.mjs} +10 -9
  120. package/dist/_chunks/{MagicLinkEE-HMr2D5cP.mjs.map → MagicLinkEE-s7jLtjiz.mjs.map} +1 -1
  121. package/dist/_chunks/{MarketplacePage-h7hniYgx.js → MarketplacePage-1mCa5BDJ.js} +9 -8
  122. package/dist/_chunks/{MarketplacePage-h7hniYgx.js.map → MarketplacePage-1mCa5BDJ.js.map} +1 -1
  123. package/dist/_chunks/{MarketplacePage-ZRMsVYJZ.mjs → MarketplacePage-wtul_pNK.mjs} +9 -8
  124. package/dist/_chunks/{MarketplacePage-ZRMsVYJZ.mjs.map → MarketplacePage-wtul_pNK.mjs.map} +1 -1
  125. package/dist/_chunks/{Permissions-0WY1QWWe.js → Permissions--a4GyuI7.js} +2 -2
  126. package/dist/_chunks/{Permissions-0WY1QWWe.js.map → Permissions--a4GyuI7.js.map} +1 -1
  127. package/dist/_chunks/{Permissions-ZU9ueRGQ.mjs → Permissions-M9xmouDR.mjs} +2 -2
  128. package/dist/_chunks/{Permissions-ZU9ueRGQ.mjs.map → Permissions-M9xmouDR.mjs.map} +1 -1
  129. package/dist/_chunks/{ProfilePage-1Lw2oTjj.js → ProfilePage-I8K2wpuC.js} +9 -8
  130. package/dist/_chunks/{ProfilePage-1Lw2oTjj.js.map → ProfilePage-I8K2wpuC.js.map} +1 -1
  131. package/dist/_chunks/{ProfilePage-nhuFpc-j.mjs → ProfilePage-fzPpJZLL.mjs} +9 -8
  132. package/dist/_chunks/{ProfilePage-nhuFpc-j.mjs.map → ProfilePage-fzPpJZLL.mjs.map} +1 -1
  133. package/dist/_chunks/{PurchaseAuditLogs-zQio54Q3.mjs → PurchaseAuditLogs-KILCZp5x.mjs} +2 -2
  134. package/dist/_chunks/PurchaseAuditLogs-KILCZp5x.mjs.map +1 -0
  135. package/dist/_chunks/{PurchaseAuditLogs--hjsKHHW.js → PurchaseAuditLogs-bs-tiD4M.js} +2 -2
  136. package/dist/_chunks/PurchaseAuditLogs-bs-tiD4M.js.map +1 -0
  137. package/dist/_chunks/{PurchaseReviewWorkflows-P-FACd5s.js → PurchaseReviewWorkflows-cdGh-HED.js} +2 -2
  138. package/dist/_chunks/PurchaseReviewWorkflows-cdGh-HED.js.map +1 -0
  139. package/dist/_chunks/{PurchaseReviewWorkflows-zGnRRqrC.mjs → PurchaseReviewWorkflows-rVcCufNv.mjs} +2 -2
  140. package/dist/_chunks/PurchaseReviewWorkflows-rVcCufNv.mjs.map +1 -0
  141. package/dist/_chunks/{PurchaseSingleSignOn-BQ5PU-6E.mjs → PurchaseSingleSignOn-H8KWtk1K.mjs} +2 -2
  142. package/dist/_chunks/PurchaseSingleSignOn-H8KWtk1K.mjs.map +1 -0
  143. package/dist/_chunks/{PurchaseSingleSignOn-m2pnP9Ou.js → PurchaseSingleSignOn-OqlM4WkQ.js} +2 -2
  144. package/dist/_chunks/PurchaseSingleSignOn-OqlM4WkQ.js.map +1 -0
  145. package/dist/_chunks/{ReviewWorkflowsColumn-RLBHKpSx.js → ReviewWorkflowsColumn-K_K8J7hl.js} +8 -7
  146. package/dist/_chunks/{ReviewWorkflowsColumn-RLBHKpSx.js.map → ReviewWorkflowsColumn-K_K8J7hl.js.map} +1 -1
  147. package/dist/_chunks/{ReviewWorkflowsColumn-chpd_GQz.mjs → ReviewWorkflowsColumn-_MYDc8Ry.mjs} +8 -7
  148. package/dist/_chunks/{ReviewWorkflowsColumn-chpd_GQz.mjs.map → ReviewWorkflowsColumn-_MYDc8Ry.mjs.map} +1 -1
  149. package/dist/_chunks/{SelectRoles-J-cOmNPg.mjs → SelectRoles-5dhVQuV2.mjs} +3 -3
  150. package/dist/_chunks/{SelectRoles-J-cOmNPg.mjs.map → SelectRoles-5dhVQuV2.mjs.map} +1 -1
  151. package/dist/_chunks/{SelectRoles-G7h5eMx7.js → SelectRoles-Gyf7Ze1D.js} +3 -3
  152. package/dist/_chunks/{SelectRoles-G7h5eMx7.js.map → SelectRoles-Gyf7Ze1D.js.map} +1 -1
  153. package/dist/_chunks/{SettingsPage-RxG0zNmi.js → SettingsPage-jUSxQ0ho.js} +30 -29
  154. package/dist/_chunks/{SettingsPage-RxG0zNmi.js.map → SettingsPage-jUSxQ0ho.js.map} +1 -1
  155. package/dist/_chunks/{SettingsPage-LJF4HQu3.mjs → SettingsPage-s5Dj-61C.mjs} +30 -29
  156. package/dist/_chunks/{SettingsPage-LJF4HQu3.mjs.map → SettingsPage-s5Dj-61C.mjs.map} +1 -1
  157. package/dist/_chunks/{SingleSignOnPage-mUWnhmYK.mjs → SingleSignOnPage-TT4oryGn.mjs} +9 -8
  158. package/dist/_chunks/{SingleSignOnPage-mUWnhmYK.mjs.map → SingleSignOnPage-TT4oryGn.mjs.map} +1 -1
  159. package/dist/_chunks/{SingleSignOnPage-5tR5Di3-.js → SingleSignOnPage-b0O5egmz.js} +9 -8
  160. package/dist/_chunks/{SingleSignOnPage-5tR5Di3-.js.map → SingleSignOnPage-b0O5egmz.js.map} +1 -1
  161. package/dist/_chunks/{TokenTypeSelect-Pu2u4u60.js → TokenTypeSelect-6njzWQeV.js} +2 -2
  162. package/dist/_chunks/{TokenTypeSelect-Pu2u4u60.js.map → TokenTypeSelect-6njzWQeV.js.map} +1 -1
  163. package/dist/_chunks/{TokenTypeSelect--jNeSLmd.mjs → TokenTypeSelect-gkAdWU2y.mjs} +2 -2
  164. package/dist/_chunks/{TokenTypeSelect--jNeSLmd.mjs.map → TokenTypeSelect-gkAdWU2y.mjs.map} +1 -1
  165. package/dist/_chunks/{apiTokens--6uAVPWd.js → apiTokens-UtJ8rJCr.js} +2 -2
  166. package/dist/_chunks/{apiTokens--6uAVPWd.js.map → apiTokens-UtJ8rJCr.js.map} +1 -1
  167. package/dist/_chunks/{apiTokens-kqDQ_zpb.mjs → apiTokens-h0AaRihg.mjs} +2 -2
  168. package/dist/_chunks/{apiTokens-kqDQ_zpb.mjs.map → apiTokens-h0AaRihg.mjs.map} +1 -1
  169. package/dist/_chunks/{constants-7tUiUGm7.js → constants--ce1rwK1.js} +6 -6
  170. package/dist/_chunks/{constants-7tUiUGm7.js.map → constants--ce1rwK1.js.map} +1 -1
  171. package/dist/_chunks/{constants-oGpvjQcC.mjs → constants-3oj946tc.mjs} +6 -6
  172. package/dist/_chunks/{constants-oGpvjQcC.mjs.map → constants-3oj946tc.mjs.map} +1 -1
  173. package/dist/_chunks/{constants-pDLet6IX.js → constants-6LdQgFgh.js} +8 -7
  174. package/dist/_chunks/{constants-pDLet6IX.js.map → constants-6LdQgFgh.js.map} +1 -1
  175. package/dist/_chunks/{constants-jbMn10wi.js → constants-P-KABNaY.js} +10 -9
  176. package/dist/_chunks/{constants-jbMn10wi.js.map → constants-P-KABNaY.js.map} +1 -1
  177. package/dist/_chunks/{constants-qrsi70P9.mjs → constants-PCBjswmE.mjs} +8 -7
  178. package/dist/_chunks/{constants-qrsi70P9.mjs.map → constants-PCBjswmE.mjs.map} +1 -1
  179. package/dist/_chunks/{constants-8R4e_wL4.mjs → constants-cOPVDhHQ.mjs} +10 -9
  180. package/dist/_chunks/{constants-8R4e_wL4.mjs.map → constants-cOPVDhHQ.mjs.map} +1 -1
  181. package/dist/_chunks/{constants-I89xL90x.js → constants-ctzjEs9Q.js} +8 -7
  182. package/dist/_chunks/{constants-I89xL90x.js.map → constants-ctzjEs9Q.js.map} +1 -1
  183. package/dist/_chunks/{constants-wqvQZos7.mjs → constants-i_FIHwfG.mjs} +8 -7
  184. package/dist/_chunks/{constants-wqvQZos7.mjs.map → constants-i_FIHwfG.mjs.map} +1 -1
  185. package/dist/_chunks/{en-ZBAy2GQ0.mjs → en-ZwaF4t5c.mjs} +4 -4
  186. package/dist/_chunks/{en-ZBAy2GQ0.mjs.map → en-ZwaF4t5c.mjs.map} +1 -1
  187. package/dist/_chunks/{en-l5S8Gv-y.js → en-sP8T18rk.js} +4 -4
  188. package/dist/_chunks/{en-l5S8Gv-y.js.map → en-sP8T18rk.js.map} +1 -1
  189. package/dist/_chunks/{index-ydPzLfs7.js → index-5bHZZ1bQ.js} +13590 -13280
  190. package/dist/_chunks/index-5bHZZ1bQ.js.map +1 -0
  191. package/dist/_chunks/{index-yRyOfi01.mjs → index-pisKLsr8.mjs} +13592 -13283
  192. package/dist/_chunks/index-pisKLsr8.mjs.map +1 -0
  193. package/dist/_chunks/{reviewWorkflows-zkQBDTm_.mjs → reviewWorkflows-_QwFJdPf.mjs} +2 -2
  194. package/dist/_chunks/{reviewWorkflows-zkQBDTm_.mjs.map → reviewWorkflows-_QwFJdPf.mjs.map} +1 -1
  195. package/dist/_chunks/{reviewWorkflows-qkvwfbFl.js → reviewWorkflows-qY9w_Srd.js} +2 -2
  196. package/dist/_chunks/{reviewWorkflows-qkvwfbFl.js.map → reviewWorkflows-qY9w_Srd.js.map} +1 -1
  197. package/dist/_chunks/{transferTokens-8RJcRrF7.mjs → transferTokens-SaRdrMx_.mjs} +2 -2
  198. package/dist/_chunks/{transferTokens-8RJcRrF7.mjs.map → transferTokens-SaRdrMx_.mjs.map} +1 -1
  199. package/dist/_chunks/{transferTokens-mBIXwjnE.js → transferTokens-xykSY8aM.js} +2 -2
  200. package/dist/_chunks/{transferTokens-mBIXwjnE.js.map → transferTokens-xykSY8aM.js.map} +1 -1
  201. package/dist/_chunks/{useAdminRoles-2lOWH8Kw.js → useAdminRoles-2_gv0THe.js} +2 -2
  202. package/dist/_chunks/{useAdminRoles-2lOWH8Kw.js.map → useAdminRoles-2_gv0THe.js.map} +1 -1
  203. package/dist/_chunks/{useAdminRoles-0FSsVVVF.mjs → useAdminRoles-3IFEVyaA.mjs} +2 -2
  204. package/dist/_chunks/{useAdminRoles-0FSsVVVF.mjs.map → useAdminRoles-3IFEVyaA.mjs.map} +1 -1
  205. package/dist/_chunks/{useContentTypes-JzGTxjad.js → useContentTypes-9PaxXISe.js} +2 -2
  206. package/dist/_chunks/{useContentTypes-JzGTxjad.js.map → useContentTypes-9PaxXISe.js.map} +1 -1
  207. package/dist/_chunks/{useContentTypes-GOmCpezl.mjs → useContentTypes-rYXD3ohE.mjs} +2 -2
  208. package/dist/_chunks/{useContentTypes-GOmCpezl.mjs.map → useContentTypes-rYXD3ohE.mjs.map} +1 -1
  209. package/dist/_chunks/{useLicenseLimitNotification-U_gpKHX2.mjs → useLicenseLimitNotification-O_Ayr57V.mjs} +2 -2
  210. package/dist/_chunks/{useLicenseLimitNotification-U_gpKHX2.mjs.map → useLicenseLimitNotification-O_Ayr57V.mjs.map} +1 -1
  211. package/dist/_chunks/{useLicenseLimitNotification-MeYE7YEx.js → useLicenseLimitNotification-buPAIxAM.js} +2 -2
  212. package/dist/_chunks/{useLicenseLimitNotification-MeYE7YEx.js.map → useLicenseLimitNotification-buPAIxAM.js.map} +1 -1
  213. package/dist/_chunks/{useReviewWorkflows--Q0J_Ge3.js → useReviewWorkflows-UoegtQMR.js} +2 -2
  214. package/dist/_chunks/{useReviewWorkflows--Q0J_Ge3.js.map → useReviewWorkflows-UoegtQMR.js.map} +1 -1
  215. package/dist/_chunks/{useReviewWorkflows-JseCtS_K.mjs → useReviewWorkflows-rZwsjTIf.mjs} +2 -2
  216. package/dist/_chunks/{useReviewWorkflows-JseCtS_K.mjs.map → useReviewWorkflows-rZwsjTIf.mjs.map} +1 -1
  217. package/dist/_chunks/{useWebhooks-GBt4UUQt.mjs → useWebhooks-g4gI6Wxf.mjs} +2 -2
  218. package/dist/_chunks/{useWebhooks-GBt4UUQt.mjs.map → useWebhooks-g4gI6Wxf.mjs.map} +1 -1
  219. package/dist/_chunks/{useWebhooks-rkAK3kK5.js → useWebhooks-hX8Kb83I.js} +2 -2
  220. package/dist/_chunks/{useWebhooks-rkAK3kK5.js.map → useWebhooks-hX8Kb83I.js.map} +1 -1
  221. package/dist/_chunks/{validateWorkflow-Owsa2rpu.mjs → validateWorkflow-l4Zr41nC.mjs} +2 -2
  222. package/dist/_chunks/{validateWorkflow-Owsa2rpu.mjs.map → validateWorkflow-l4Zr41nC.mjs.map} +1 -1
  223. package/dist/_chunks/{validateWorkflow-K0uDqmsX.js → validateWorkflow-s4PVrbQP.js} +2 -2
  224. package/dist/_chunks/{validateWorkflow-K0uDqmsX.js.map → validateWorkflow-s4PVrbQP.js.map} +1 -1
  225. package/dist/admin/index.js +7 -6
  226. package/dist/admin/index.js.map +1 -1
  227. package/dist/admin/index.mjs +7 -6
  228. package/dist/admin/index.mjs.map +1 -1
  229. package/dist/admin/src/StrapiApp.d.ts +4 -0
  230. package/dist/admin/src/components/DescriptionComponentRenderer.d.ts +31 -0
  231. package/dist/admin/src/content-manager/pages/ListView/components/BulkActions/Actions.d.ts +51 -0
  232. package/dist/admin/src/content-manager/pages/ListView/components/BulkActions/{SelectedEntriesModal.d.ts → PublishAction.d.ts} +10 -10
  233. package/dist/admin/src/content-manager/pages/ListView/hooks/useAllowedActions.d.ts +2 -0
  234. package/dist/admin/src/core/apis/Plugin.d.ts +7 -6
  235. package/dist/admin/src/core/apis/content-manager.d.ts +58 -0
  236. package/dist/admin/src/hooks/useForceUpdate.d.ts +7 -0
  237. package/dist/admin/src/hooks/useIsMounted.d.ts +3 -0
  238. package/dist/admin/src/hooks/useThrottledCallback.d.ts +22 -0
  239. package/dist/admin/src/utils/shims.d.ts +4 -0
  240. package/package.json +13 -13
  241. package/dist/_chunks/PurchaseAuditLogs--hjsKHHW.js.map +0 -1
  242. package/dist/_chunks/PurchaseAuditLogs-zQio54Q3.mjs.map +0 -1
  243. package/dist/_chunks/PurchaseReviewWorkflows-P-FACd5s.js.map +0 -1
  244. package/dist/_chunks/PurchaseReviewWorkflows-zGnRRqrC.mjs.map +0 -1
  245. package/dist/_chunks/PurchaseSingleSignOn-BQ5PU-6E.mjs.map +0 -1
  246. package/dist/_chunks/PurchaseSingleSignOn-m2pnP9Ou.js.map +0 -1
  247. package/dist/_chunks/index-yRyOfi01.mjs.map +0 -1
  248. package/dist/_chunks/index-ydPzLfs7.js.map +0 -1
  249. package/dist/admin/src/content-manager/pages/ListView/components/BulkActions/Buttons.d.ts +0 -27
@@ -11,8 +11,8 @@ const reactHelmet = require("react-helmet");
11
11
  const reactIntl = require("react-intl");
12
12
  const styled = require("styled-components");
13
13
  const yup = require("yup");
14
- const index = require("./index-ydPzLfs7.js");
15
- const AuthenticatedApp = require("./AuthenticatedApp-3loM1zPQ.js");
14
+ const index = require("./index-5bHZZ1bQ.js");
15
+ const AuthenticatedApp = require("./AuthenticatedApp-2mUijYOI.js");
16
16
  const validation = require("./validation-j25hbp81.js");
17
17
  require("react-dom/client");
18
18
  require("invariant");
@@ -35,14 +35,18 @@ require("immer");
35
35
  require("lodash/get");
36
36
  require("lodash/set");
37
37
  require("lodash/defaultsDeep");
38
+ require("lodash/isEqual");
39
+ require("lodash/throttle");
40
+ require("lodash/isBoolean");
41
+ require("lodash/isEmpty");
42
+ require("lodash/isNaN");
43
+ require("lodash/toNumber");
38
44
  require("react-dnd");
39
45
  require("react-dnd-html5-backend");
40
46
  require("react-window");
41
47
  require("lodash/cloneDeep");
42
- require("lodash/isEqual");
43
48
  require("prop-types");
44
49
  require("lodash/fp");
45
- require("lodash/isNaN");
46
50
  require("lodash/take");
47
51
  require("slate");
48
52
  require("slate-history");
@@ -64,10 +68,7 @@ require("markdown-it-sup");
64
68
  require("highlight.js/styles/solarized-dark.css");
65
69
  require("codemirror5/addon/display/placeholder");
66
70
  require("lodash/toString");
67
- require("lodash/isEmpty");
68
71
  require("react-dom");
69
- require("lodash/isBoolean");
70
- require("lodash/toNumber");
71
72
  require("fractional-indexing");
72
73
  require("lodash/uniqBy");
73
74
  require("lodash/unset");
@@ -665,4 +666,4 @@ const UserInfoSection = ({ errors, onChange, values }) => {
665
666
  );
666
667
  };
667
668
  exports.ProfilePage = ProfilePage;
668
- //# sourceMappingURL=ProfilePage-1Lw2oTjj.js.map
669
+ //# sourceMappingURL=ProfilePage-I8K2wpuC.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProfilePage-1Lw2oTjj.js","sources":["../../admin/src/pages/ProfilePage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Box,\n Button,\n ContentLayout,\n Flex,\n HeaderLayout,\n Main,\n useNotifyAT,\n Grid,\n GridItem,\n Typography,\n SingleSelect,\n SingleSelectOption,\n TextInput,\n FieldAction,\n} from '@strapi/design-system';\nimport {\n Form,\n GenericInput,\n GenericInputProps,\n LoadingIndicatorPage,\n pxToRem,\n translatedErrors,\n useFocusWhenNavigate,\n useNotification,\n useOverlayBlocker,\n useTracking,\n useAPIErrorHandler,\n} from '@strapi/helper-plugin';\nimport { Check, Eye, EyeStriked } from '@strapi/icons';\nimport { Formik, FormikHelpers } from 'formik';\nimport upperFirst from 'lodash/upperFirst';\nimport { Helmet } from 'react-helmet';\nimport { useIntl } from 'react-intl';\nimport styled from 'styled-components';\nimport * as yup from 'yup';\n\nimport { useTypedDispatch, useTypedSelector } from '../core/store/hooks';\nimport { useAuth } from '../features/Auth';\nimport { AppState, setAppTheme } from '../reducer';\nimport { useIsSSOLockedQuery, useUpdateMeMutation } from '../services/auth';\nimport { isBaseQueryError } from '../utils/baseQuery';\nimport { getFullName } from '../utils/getFullName';\n\nimport { COMMON_USER_SCHEMA } from './Settings/pages/Users/utils/validation';\n\nimport type { UpdateMe } from '../../../shared/contracts/users';\n\nconst PROFILE_VALIDTION_SCHEMA = yup.object().shape({\n ...COMMON_USER_SCHEMA,\n currentPassword: yup\n .string()\n // @ts-expect-error – no idea why this is failing.\n .when(['password', 'confirmPassword'], (password, confirmPassword, passSchema) => {\n return password || confirmPassword\n ? passSchema.required(translatedErrors.required)\n : passSchema;\n }),\n preferedLanguage: yup.string().nullable(),\n});\n\n/* -------------------------------------------------------------------------------------------------\n * ProfilePage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProfilePage = () => {\n const localeNames = useTypedSelector((state) => state.admin_app.language.localeNames);\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const toggleNotification = useNotification();\n const { lockApp, unlockApp } = useOverlayBlocker();\n const { notifyStatus } = useNotifyAT();\n const currentTheme = useTypedSelector((state) => state.admin_app.theme.currentTheme);\n const dispatch = useTypedDispatch();\n const {\n _unstableFormatValidationErrors: formatValidationErrors,\n _unstableFormatAPIError: formatApiError,\n } = useAPIErrorHandler();\n\n useFocusWhenNavigate();\n\n const user = useAuth('ProfilePage', (state) => state.user);\n\n React.useEffect(() => {\n if (user) {\n notifyStatus(\n formatMessage({\n id: 'Settings.profile.form.notify.data.loaded',\n defaultMessage: 'Your profile data has been loaded',\n })\n );\n } else {\n toggleNotification({\n type: 'warning',\n message: { id: 'notification.error', defaultMessage: 'An error occured' },\n });\n }\n }, [formatMessage, notifyStatus, toggleNotification, user]);\n\n const [updateMe, { isLoading: isSubmittingForm }] = useUpdateMeMutation();\n\n const {\n isLoading,\n data: dataSSO,\n error,\n } = useIsSSOLockedQuery(undefined, {\n skip: !(window.strapi.isEE && window.strapi.features.isEnabled('sso')),\n });\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({\n type: 'warning',\n message: { id: 'Settings.permissions.users.sso.provider.error' },\n });\n }\n }, [error, toggleNotification]);\n\n type UpdateUsersMeBody = UpdateMe.Request['body'] & {\n confirmPassword: string;\n currentTheme: AppState['theme']['currentTheme'];\n };\n\n const handleSubmit = async (\n body: UpdateUsersMeBody,\n { setErrors }: FormikHelpers<UpdateUsersMeBody>\n ) => {\n // @ts-expect-error – we're going to implement a context assertion to avoid this\n lockApp();\n\n const { confirmPassword: _confirmPassword, currentTheme, ...bodyRest } = body;\n let dataToSend = bodyRest;\n\n // The password fields are optional. If the user didn't touch them, don't send any password\n // to the API, because an empty string would throw a validation error\n if (dataToSend.password === '') {\n const {\n password: _password,\n currentPassword: _currentPassword,\n ...passwordRequestBodyRest\n } = dataToSend;\n dataToSend = passwordRequestBodyRest;\n }\n\n const res = await updateMe(dataToSend);\n\n if ('data' in res) {\n dispatch(setAppTheme(currentTheme));\n\n trackUsage('didChangeMode', { newMode: currentTheme });\n\n toggleNotification({\n type: 'success',\n message: { id: 'notification.success.saved', defaultMessage: 'Saved' },\n });\n }\n\n if ('error' in res) {\n if (\n isBaseQueryError(res.error) &&\n (res.error.name === 'ValidationError' || res.error.message === 'ValidationError')\n ) {\n // @ts-expect-error – We get a BadRequest error here instead of a ValidationError if the currentPassword is wrong.\n setErrors(formatValidationErrors(res.error));\n } else if (isBaseQueryError(res.error)) {\n toggleNotification({\n type: 'warning',\n message: formatApiError(res.error),\n });\n } else {\n toggleNotification({\n type: 'warning',\n message: { id: 'notification.error', defaultMessage: 'An error occured' },\n });\n }\n }\n\n unlockApp?.();\n };\n\n if (isLoading) {\n return (\n <Main aria-busy=\"true\">\n <Helmet\n title={formatMessage({\n id: 'Settings.profile.form.section.helmet.title',\n defaultMessage: 'User profile',\n })}\n />\n <HeaderLayout\n title={formatMessage({\n id: 'Settings.profile.form.section.profile.page.title',\n defaultMessage: 'Profile page',\n })}\n />\n <ContentLayout>\n <LoadingIndicatorPage />\n </ContentLayout>\n </Main>\n );\n }\n\n const hasLockedRole = dataSSO?.isSSOLocked ?? false;\n const { email, firstname, lastname, username, preferedLanguage } = user ?? {};\n const initialData = {\n email,\n firstname,\n lastname,\n username,\n preferedLanguage,\n currentTheme,\n confirmPassword: '',\n password: '',\n };\n\n return (\n <Main aria-busy={isSubmittingForm}>\n <Helmet\n title={formatMessage({\n id: 'Settings.profile.form.section.helmet.title',\n defaultMessage: 'User profile',\n })}\n />\n <Formik\n onSubmit={handleSubmit}\n initialValues={initialData}\n validateOnChange={false}\n validationSchema={PROFILE_VALIDTION_SCHEMA}\n enableReinitialize\n >\n {({\n errors,\n values: {\n email,\n firstname,\n lastname,\n username,\n preferedLanguage,\n currentTheme,\n ...passwordValues\n },\n handleChange,\n isSubmitting,\n dirty,\n }) => {\n return (\n <Form>\n <HeaderLayout\n title={username || getFullName(firstname ?? '', lastname)}\n primaryAction={\n <Button\n startIcon={<Check />}\n loading={isSubmitting}\n type=\"submit\"\n disabled={!dirty}\n >\n {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}\n </Button>\n }\n />\n <Box paddingBottom={10}>\n <ContentLayout>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <UserInfoSection\n errors={errors}\n onChange={handleChange}\n values={{\n firstname,\n lastname,\n username,\n email,\n }}\n />\n {!hasLockedRole && (\n <PasswordSection\n errors={errors}\n onChange={handleChange}\n values={passwordValues}\n />\n )}\n <PreferencesSection\n onChange={handleChange}\n values={{\n preferedLanguage,\n currentTheme,\n }}\n localeNames={localeNames}\n />\n </Flex>\n </ContentLayout>\n </Box>\n </Form>\n );\n }}\n </Formik>\n </Main>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * PasswordSection\n * -----------------------------------------------------------------------------------------------*/\n\ninterface PasswordSectionProps {\n errors: { currentPassword?: string; password?: string; confirmPassword?: string };\n onChange: React.ChangeEventHandler<HTMLInputElement>;\n values: {\n currentPassword?: string;\n password?: string;\n confirmPassword?: string;\n };\n}\n\nconst PasswordSection = ({ errors, onChange, values }: PasswordSectionProps) => {\n const { formatMessage } = useIntl();\n const [currentPasswordShown, setCurrentPasswordShown] = React.useState(false);\n const [passwordShown, setPasswordShown] = React.useState(false);\n const [passwordConfirmShown, setPasswordConfirmShown] = React.useState(false);\n\n return (\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"filterShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Typography variant=\"delta\" as=\"h2\">\n {formatMessage({\n id: 'global.change-password',\n defaultMessage: 'Change password',\n })}\n </Typography>\n <Grid gap={5}>\n <GridItem s={12} col={6}>\n <TextInput\n error={\n errors.currentPassword\n ? formatMessage({\n id: errors.currentPassword,\n defaultMessage: errors.currentPassword,\n })\n : ''\n }\n onChange={onChange}\n value={values.currentPassword}\n label={formatMessage({\n id: 'Auth.form.currentPassword.label',\n defaultMessage: 'Current Password',\n })}\n name=\"currentPassword\"\n type={currentPasswordShown ? 'text' : 'password'}\n endAction={\n <FieldActionWrapper\n onClick={(e) => {\n e.stopPropagation();\n setCurrentPasswordShown((prev) => !prev);\n }}\n label={formatMessage(\n currentPasswordShown\n ? {\n id: 'Auth.form.password.show-password',\n defaultMessage: 'Show password',\n }\n : {\n id: 'Auth.form.password.hide-password',\n defaultMessage: 'Hide password',\n }\n )}\n >\n {currentPasswordShown ? <Eye /> : <EyeStriked />}\n </FieldActionWrapper>\n }\n />\n </GridItem>\n </Grid>\n <Grid gap={5}>\n <GridItem s={12} col={6}>\n <PasswordInput\n error={\n errors.password\n ? formatMessage({\n id: errors.password,\n defaultMessage: errors.password,\n })\n : ''\n }\n onChange={onChange}\n value={values.password}\n label={formatMessage({\n id: 'global.password',\n defaultMessage: 'Password',\n })}\n name=\"password\"\n type={passwordShown ? 'text' : 'password'}\n autoComplete=\"new-password\"\n endAction={\n <FieldActionWrapper\n onClick={(e) => {\n e.stopPropagation();\n setPasswordShown((prev) => !prev);\n }}\n label={formatMessage(\n passwordShown\n ? {\n id: 'Auth.form.password.show-password',\n defaultMessage: 'Show password',\n }\n : {\n id: 'Auth.form.password.hide-password',\n defaultMessage: 'Hide password',\n }\n )}\n >\n {passwordShown ? <Eye /> : <EyeStriked />}\n </FieldActionWrapper>\n }\n />\n </GridItem>\n <GridItem s={12} col={6}>\n <PasswordInput\n error={\n errors.confirmPassword\n ? formatMessage({\n id: errors.confirmPassword,\n defaultMessage: errors.confirmPassword,\n })\n : ''\n }\n onChange={onChange}\n value={values.confirmPassword}\n label={formatMessage({\n id: 'Auth.form.confirmPassword.label',\n defaultMessage: 'Confirm Password',\n })}\n name=\"confirmPassword\"\n type={passwordConfirmShown ? 'text' : 'password'}\n autoComplete=\"new-password\"\n endAction={\n <FieldActionWrapper\n onClick={(e) => {\n e.stopPropagation();\n setPasswordConfirmShown((prev) => !prev);\n }}\n label={formatMessage(\n passwordConfirmShown\n ? {\n id: 'Auth.form.password.show-password',\n defaultMessage: 'Show password',\n }\n : {\n id: 'Auth.form.password.hide-password',\n defaultMessage: 'Hide password',\n }\n )}\n >\n {passwordConfirmShown ? <Eye /> : <EyeStriked />}\n </FieldActionWrapper>\n }\n />\n </GridItem>\n </Grid>\n </Flex>\n </Box>\n );\n};\n\nconst PasswordInput = styled(TextInput)`\n ::-ms-reveal {\n display: none;\n }\n`;\n\n// Wrapper of the Eye Icon able to show or hide the Password inside the field\nconst FieldActionWrapper = styled(FieldAction)`\n svg {\n height: ${pxToRem(16)};\n width: ${pxToRem(16)};\n path {\n fill: ${({ theme }) => theme.colors.neutral600};\n }\n }\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * PreferencesSection\n * -----------------------------------------------------------------------------------------------*/\n\ninterface PreferencesSectionProps extends Pick<GenericInputProps, 'onChange'> {\n values: {\n preferedLanguage?: string;\n currentTheme?: string;\n };\n localeNames: Record<string, string>;\n}\n\nconst PreferencesSection = ({ onChange, values, localeNames }: PreferencesSectionProps) => {\n const { formatMessage } = useIntl();\n const themesToDisplay = useTypedSelector((state) => state.admin_app.theme.availableThemes);\n\n return (\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"filterShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={1}>\n <Typography variant=\"delta\" as=\"h2\">\n {formatMessage({\n id: 'Settings.profile.form.section.experience.title',\n defaultMessage: 'Experience',\n })}\n </Typography>\n <Typography>\n {formatMessage(\n {\n id: 'Settings.profile.form.section.experience.interfaceLanguageHelp',\n defaultMessage:\n 'Preference changes will apply only to you. More information is available {here}.',\n },\n {\n here: (\n <Box\n as=\"a\"\n color=\"primary600\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n href=\"https://docs.strapi.io/developer-docs/latest/development/admin-customization.html#locales\"\n >\n {formatMessage({\n id: 'Settings.profile.form.section.experience.here',\n defaultMessage: 'here',\n })}\n </Box>\n ),\n }\n )}\n </Typography>\n </Flex>\n <Grid gap={5}>\n <GridItem s={12} col={6}>\n <SingleSelect\n label={formatMessage({\n id: 'Settings.profile.form.section.experience.interfaceLanguage',\n defaultMessage: 'Interface language',\n })}\n placeholder={formatMessage({\n id: 'global.select',\n defaultMessage: 'Select',\n })}\n hint={formatMessage({\n id: 'Settings.profile.form.section.experience.interfaceLanguage.hint',\n defaultMessage: 'This will only display your own interface in the chosen language.',\n })}\n onClear={() => {\n onChange({\n target: { name: 'preferedLanguage', value: null },\n });\n }}\n clearLabel={formatMessage({\n id: 'Settings.profile.form.section.experience.clear.select',\n defaultMessage: 'Clear the interface language selected',\n })}\n value={values.preferedLanguage}\n onChange={(e) => {\n onChange({\n target: { name: 'preferedLanguage', value: e },\n });\n }}\n >\n {Object.entries(localeNames).map(([language, langName]) => (\n <SingleSelectOption value={language} key={language}>\n {langName}\n </SingleSelectOption>\n ))}\n </SingleSelect>\n </GridItem>\n <GridItem s={12} col={6}>\n <SingleSelect\n label={formatMessage({\n id: 'Settings.profile.form.section.experience.mode.label',\n defaultMessage: 'Interface mode',\n })}\n placeholder={formatMessage({\n id: 'components.Select.placeholder',\n defaultMessage: 'Select',\n })}\n hint={formatMessage({\n id: 'Settings.profile.form.section.experience.mode.hint',\n defaultMessage: 'Displays your interface in the chosen mode.',\n })}\n value={values.currentTheme}\n onChange={(e) => {\n onChange({\n target: { name: 'currentTheme', value: e },\n });\n }}\n >\n <SingleSelectOption value=\"system\">\n {formatMessage({\n id: 'Settings.profile.form.section.experience.mode.option-system-label',\n defaultMessage: 'Use system settings',\n })}\n </SingleSelectOption>\n {themesToDisplay.map((theme) => (\n <SingleSelectOption value={theme} key={theme}>\n {formatMessage(\n {\n id: 'Settings.profile.form.section.experience.mode.option-label',\n defaultMessage: '{name} mode',\n },\n {\n name: formatMessage({\n id: theme,\n defaultMessage: upperFirst(theme),\n }),\n }\n )}\n </SingleSelectOption>\n ))}\n </SingleSelect>\n </GridItem>\n </Grid>\n </Flex>\n </Box>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * UserInfoSection\n * -----------------------------------------------------------------------------------------------*/\n\ninterface UserInfoSectionProps extends Pick<GenericInputProps, 'onChange'> {\n errors: { firstname?: string; lastname?: string; username?: string; email?: string };\n values: {\n firstname?: string;\n lastname?: string;\n username?: string;\n email?: string;\n };\n}\n\nconst UserInfoSection = ({ errors, onChange, values }: UserInfoSectionProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"filterShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Typography variant=\"delta\" as=\"h2\">\n {formatMessage({\n id: 'global.profile',\n defaultMessage: 'Profile',\n })}\n </Typography>\n <Grid gap={5}>\n <GridItem s={12} col={6}>\n <GenericInput\n intlLabel={{\n id: 'Auth.form.firstname.label',\n defaultMessage: 'First name',\n }}\n error={errors.firstname}\n onChange={onChange}\n value={values.firstname}\n type=\"text\"\n name=\"firstname\"\n required\n />\n </GridItem>\n <GridItem s={12} col={6}>\n <GenericInput\n intlLabel={{\n id: 'Auth.form.lastname.label',\n defaultMessage: 'Last name',\n }}\n error={errors.lastname}\n onChange={onChange}\n value={values.lastname}\n type=\"text\"\n name=\"lastname\"\n />\n </GridItem>\n <GridItem s={12} col={6}>\n <GenericInput\n intlLabel={{ id: 'Auth.form.email.label', defaultMessage: 'Email' }}\n error={errors.email}\n onChange={onChange}\n value={values.email}\n type=\"email\"\n name=\"email\"\n required\n />\n </GridItem>\n <GridItem s={12} col={6}>\n <GenericInput\n intlLabel={{\n id: 'Auth.form.username.label',\n defaultMessage: 'Username',\n }}\n error={errors.username}\n onChange={onChange}\n value={values.username}\n type=\"text\"\n name=\"username\"\n />\n </GridItem>\n </Grid>\n </Flex>\n </Box>\n );\n};\n\nexport { ProfilePage };\n"],"names":["yup","COMMON_USER_SCHEMA","translatedErrors","useTypedSelector","useIntl","useTracking","useNotification","useOverlayBlocker","useNotifyAT","useTypedDispatch","useAPIErrorHandler","useFocusWhenNavigate","useAuth","React","useUpdateMeMutation","useIsSSOLockedQuery","currentTheme","setAppTheme","isBaseQueryError","jsxs","Main","jsx","Helmet","HeaderLayout","ContentLayout","LoadingIndicatorPage","Formik","email","firstname","lastname","username","preferedLanguage","Form","getFullName","Button","Check","Box","Flex","Typography","Grid","GridItem","TextInput","Eye","EyeStriked","styled","FieldAction","pxToRem","SingleSelect","SingleSelectOption","upperFirst","GenericInput"],"mappings":"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"}
1
+ {"version":3,"file":"ProfilePage-I8K2wpuC.js","sources":["../../admin/src/pages/ProfilePage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Box,\n Button,\n ContentLayout,\n Flex,\n HeaderLayout,\n Main,\n useNotifyAT,\n Grid,\n GridItem,\n Typography,\n SingleSelect,\n SingleSelectOption,\n TextInput,\n FieldAction,\n} from '@strapi/design-system';\nimport {\n Form,\n GenericInput,\n GenericInputProps,\n LoadingIndicatorPage,\n pxToRem,\n translatedErrors,\n useFocusWhenNavigate,\n useNotification,\n useOverlayBlocker,\n useTracking,\n useAPIErrorHandler,\n} from '@strapi/helper-plugin';\nimport { Check, Eye, EyeStriked } from '@strapi/icons';\nimport { Formik, FormikHelpers } from 'formik';\nimport upperFirst from 'lodash/upperFirst';\nimport { Helmet } from 'react-helmet';\nimport { useIntl } from 'react-intl';\nimport styled from 'styled-components';\nimport * as yup from 'yup';\n\nimport { useTypedDispatch, useTypedSelector } from '../core/store/hooks';\nimport { useAuth } from '../features/Auth';\nimport { AppState, setAppTheme } from '../reducer';\nimport { useIsSSOLockedQuery, useUpdateMeMutation } from '../services/auth';\nimport { isBaseQueryError } from '../utils/baseQuery';\nimport { getFullName } from '../utils/getFullName';\n\nimport { COMMON_USER_SCHEMA } from './Settings/pages/Users/utils/validation';\n\nimport type { UpdateMe } from '../../../shared/contracts/users';\n\nconst PROFILE_VALIDTION_SCHEMA = yup.object().shape({\n ...COMMON_USER_SCHEMA,\n currentPassword: yup\n .string()\n // @ts-expect-error – no idea why this is failing.\n .when(['password', 'confirmPassword'], (password, confirmPassword, passSchema) => {\n return password || confirmPassword\n ? passSchema.required(translatedErrors.required)\n : passSchema;\n }),\n preferedLanguage: yup.string().nullable(),\n});\n\n/* -------------------------------------------------------------------------------------------------\n * ProfilePage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProfilePage = () => {\n const localeNames = useTypedSelector((state) => state.admin_app.language.localeNames);\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const toggleNotification = useNotification();\n const { lockApp, unlockApp } = useOverlayBlocker();\n const { notifyStatus } = useNotifyAT();\n const currentTheme = useTypedSelector((state) => state.admin_app.theme.currentTheme);\n const dispatch = useTypedDispatch();\n const {\n _unstableFormatValidationErrors: formatValidationErrors,\n _unstableFormatAPIError: formatApiError,\n } = useAPIErrorHandler();\n\n useFocusWhenNavigate();\n\n const user = useAuth('ProfilePage', (state) => state.user);\n\n React.useEffect(() => {\n if (user) {\n notifyStatus(\n formatMessage({\n id: 'Settings.profile.form.notify.data.loaded',\n defaultMessage: 'Your profile data has been loaded',\n })\n );\n } else {\n toggleNotification({\n type: 'warning',\n message: { id: 'notification.error', defaultMessage: 'An error occured' },\n });\n }\n }, [formatMessage, notifyStatus, toggleNotification, user]);\n\n const [updateMe, { isLoading: isSubmittingForm }] = useUpdateMeMutation();\n\n const {\n isLoading,\n data: dataSSO,\n error,\n } = useIsSSOLockedQuery(undefined, {\n skip: !(window.strapi.isEE && window.strapi.features.isEnabled('sso')),\n });\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({\n type: 'warning',\n message: { id: 'Settings.permissions.users.sso.provider.error' },\n });\n }\n }, [error, toggleNotification]);\n\n type UpdateUsersMeBody = UpdateMe.Request['body'] & {\n confirmPassword: string;\n currentTheme: AppState['theme']['currentTheme'];\n };\n\n const handleSubmit = async (\n body: UpdateUsersMeBody,\n { setErrors }: FormikHelpers<UpdateUsersMeBody>\n ) => {\n // @ts-expect-error – we're going to implement a context assertion to avoid this\n lockApp();\n\n const { confirmPassword: _confirmPassword, currentTheme, ...bodyRest } = body;\n let dataToSend = bodyRest;\n\n // The password fields are optional. If the user didn't touch them, don't send any password\n // to the API, because an empty string would throw a validation error\n if (dataToSend.password === '') {\n const {\n password: _password,\n currentPassword: _currentPassword,\n ...passwordRequestBodyRest\n } = dataToSend;\n dataToSend = passwordRequestBodyRest;\n }\n\n const res = await updateMe(dataToSend);\n\n if ('data' in res) {\n dispatch(setAppTheme(currentTheme));\n\n trackUsage('didChangeMode', { newMode: currentTheme });\n\n toggleNotification({\n type: 'success',\n message: { id: 'notification.success.saved', defaultMessage: 'Saved' },\n });\n }\n\n if ('error' in res) {\n if (\n isBaseQueryError(res.error) &&\n (res.error.name === 'ValidationError' || res.error.message === 'ValidationError')\n ) {\n // @ts-expect-error – We get a BadRequest error here instead of a ValidationError if the currentPassword is wrong.\n setErrors(formatValidationErrors(res.error));\n } else if (isBaseQueryError(res.error)) {\n toggleNotification({\n type: 'warning',\n message: formatApiError(res.error),\n });\n } else {\n toggleNotification({\n type: 'warning',\n message: { id: 'notification.error', defaultMessage: 'An error occured' },\n });\n }\n }\n\n unlockApp?.();\n };\n\n if (isLoading) {\n return (\n <Main aria-busy=\"true\">\n <Helmet\n title={formatMessage({\n id: 'Settings.profile.form.section.helmet.title',\n defaultMessage: 'User profile',\n })}\n />\n <HeaderLayout\n title={formatMessage({\n id: 'Settings.profile.form.section.profile.page.title',\n defaultMessage: 'Profile page',\n })}\n />\n <ContentLayout>\n <LoadingIndicatorPage />\n </ContentLayout>\n </Main>\n );\n }\n\n const hasLockedRole = dataSSO?.isSSOLocked ?? false;\n const { email, firstname, lastname, username, preferedLanguage } = user ?? {};\n const initialData = {\n email,\n firstname,\n lastname,\n username,\n preferedLanguage,\n currentTheme,\n confirmPassword: '',\n password: '',\n };\n\n return (\n <Main aria-busy={isSubmittingForm}>\n <Helmet\n title={formatMessage({\n id: 'Settings.profile.form.section.helmet.title',\n defaultMessage: 'User profile',\n })}\n />\n <Formik\n onSubmit={handleSubmit}\n initialValues={initialData}\n validateOnChange={false}\n validationSchema={PROFILE_VALIDTION_SCHEMA}\n enableReinitialize\n >\n {({\n errors,\n values: {\n email,\n firstname,\n lastname,\n username,\n preferedLanguage,\n currentTheme,\n ...passwordValues\n },\n handleChange,\n isSubmitting,\n dirty,\n }) => {\n return (\n <Form>\n <HeaderLayout\n title={username || getFullName(firstname ?? '', lastname)}\n primaryAction={\n <Button\n startIcon={<Check />}\n loading={isSubmitting}\n type=\"submit\"\n disabled={!dirty}\n >\n {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}\n </Button>\n }\n />\n <Box paddingBottom={10}>\n <ContentLayout>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <UserInfoSection\n errors={errors}\n onChange={handleChange}\n values={{\n firstname,\n lastname,\n username,\n email,\n }}\n />\n {!hasLockedRole && (\n <PasswordSection\n errors={errors}\n onChange={handleChange}\n values={passwordValues}\n />\n )}\n <PreferencesSection\n onChange={handleChange}\n values={{\n preferedLanguage,\n currentTheme,\n }}\n localeNames={localeNames}\n />\n </Flex>\n </ContentLayout>\n </Box>\n </Form>\n );\n }}\n </Formik>\n </Main>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * PasswordSection\n * -----------------------------------------------------------------------------------------------*/\n\ninterface PasswordSectionProps {\n errors: { currentPassword?: string; password?: string; confirmPassword?: string };\n onChange: React.ChangeEventHandler<HTMLInputElement>;\n values: {\n currentPassword?: string;\n password?: string;\n confirmPassword?: string;\n };\n}\n\nconst PasswordSection = ({ errors, onChange, values }: PasswordSectionProps) => {\n const { formatMessage } = useIntl();\n const [currentPasswordShown, setCurrentPasswordShown] = React.useState(false);\n const [passwordShown, setPasswordShown] = React.useState(false);\n const [passwordConfirmShown, setPasswordConfirmShown] = React.useState(false);\n\n return (\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"filterShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Typography variant=\"delta\" as=\"h2\">\n {formatMessage({\n id: 'global.change-password',\n defaultMessage: 'Change password',\n })}\n </Typography>\n <Grid gap={5}>\n <GridItem s={12} col={6}>\n <TextInput\n error={\n errors.currentPassword\n ? formatMessage({\n id: errors.currentPassword,\n defaultMessage: errors.currentPassword,\n })\n : ''\n }\n onChange={onChange}\n value={values.currentPassword}\n label={formatMessage({\n id: 'Auth.form.currentPassword.label',\n defaultMessage: 'Current Password',\n })}\n name=\"currentPassword\"\n type={currentPasswordShown ? 'text' : 'password'}\n endAction={\n <FieldActionWrapper\n onClick={(e) => {\n e.stopPropagation();\n setCurrentPasswordShown((prev) => !prev);\n }}\n label={formatMessage(\n currentPasswordShown\n ? {\n id: 'Auth.form.password.show-password',\n defaultMessage: 'Show password',\n }\n : {\n id: 'Auth.form.password.hide-password',\n defaultMessage: 'Hide password',\n }\n )}\n >\n {currentPasswordShown ? <Eye /> : <EyeStriked />}\n </FieldActionWrapper>\n }\n />\n </GridItem>\n </Grid>\n <Grid gap={5}>\n <GridItem s={12} col={6}>\n <PasswordInput\n error={\n errors.password\n ? formatMessage({\n id: errors.password,\n defaultMessage: errors.password,\n })\n : ''\n }\n onChange={onChange}\n value={values.password}\n label={formatMessage({\n id: 'global.password',\n defaultMessage: 'Password',\n })}\n name=\"password\"\n type={passwordShown ? 'text' : 'password'}\n autoComplete=\"new-password\"\n endAction={\n <FieldActionWrapper\n onClick={(e) => {\n e.stopPropagation();\n setPasswordShown((prev) => !prev);\n }}\n label={formatMessage(\n passwordShown\n ? {\n id: 'Auth.form.password.show-password',\n defaultMessage: 'Show password',\n }\n : {\n id: 'Auth.form.password.hide-password',\n defaultMessage: 'Hide password',\n }\n )}\n >\n {passwordShown ? <Eye /> : <EyeStriked />}\n </FieldActionWrapper>\n }\n />\n </GridItem>\n <GridItem s={12} col={6}>\n <PasswordInput\n error={\n errors.confirmPassword\n ? formatMessage({\n id: errors.confirmPassword,\n defaultMessage: errors.confirmPassword,\n })\n : ''\n }\n onChange={onChange}\n value={values.confirmPassword}\n label={formatMessage({\n id: 'Auth.form.confirmPassword.label',\n defaultMessage: 'Confirm Password',\n })}\n name=\"confirmPassword\"\n type={passwordConfirmShown ? 'text' : 'password'}\n autoComplete=\"new-password\"\n endAction={\n <FieldActionWrapper\n onClick={(e) => {\n e.stopPropagation();\n setPasswordConfirmShown((prev) => !prev);\n }}\n label={formatMessage(\n passwordConfirmShown\n ? {\n id: 'Auth.form.password.show-password',\n defaultMessage: 'Show password',\n }\n : {\n id: 'Auth.form.password.hide-password',\n defaultMessage: 'Hide password',\n }\n )}\n >\n {passwordConfirmShown ? <Eye /> : <EyeStriked />}\n </FieldActionWrapper>\n }\n />\n </GridItem>\n </Grid>\n </Flex>\n </Box>\n );\n};\n\nconst PasswordInput = styled(TextInput)`\n ::-ms-reveal {\n display: none;\n }\n`;\n\n// Wrapper of the Eye Icon able to show or hide the Password inside the field\nconst FieldActionWrapper = styled(FieldAction)`\n svg {\n height: ${pxToRem(16)};\n width: ${pxToRem(16)};\n path {\n fill: ${({ theme }) => theme.colors.neutral600};\n }\n }\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * PreferencesSection\n * -----------------------------------------------------------------------------------------------*/\n\ninterface PreferencesSectionProps extends Pick<GenericInputProps, 'onChange'> {\n values: {\n preferedLanguage?: string;\n currentTheme?: string;\n };\n localeNames: Record<string, string>;\n}\n\nconst PreferencesSection = ({ onChange, values, localeNames }: PreferencesSectionProps) => {\n const { formatMessage } = useIntl();\n const themesToDisplay = useTypedSelector((state) => state.admin_app.theme.availableThemes);\n\n return (\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"filterShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={1}>\n <Typography variant=\"delta\" as=\"h2\">\n {formatMessage({\n id: 'Settings.profile.form.section.experience.title',\n defaultMessage: 'Experience',\n })}\n </Typography>\n <Typography>\n {formatMessage(\n {\n id: 'Settings.profile.form.section.experience.interfaceLanguageHelp',\n defaultMessage:\n 'Preference changes will apply only to you. More information is available {here}.',\n },\n {\n here: (\n <Box\n as=\"a\"\n color=\"primary600\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n href=\"https://docs.strapi.io/developer-docs/latest/development/admin-customization.html#locales\"\n >\n {formatMessage({\n id: 'Settings.profile.form.section.experience.here',\n defaultMessage: 'here',\n })}\n </Box>\n ),\n }\n )}\n </Typography>\n </Flex>\n <Grid gap={5}>\n <GridItem s={12} col={6}>\n <SingleSelect\n label={formatMessage({\n id: 'Settings.profile.form.section.experience.interfaceLanguage',\n defaultMessage: 'Interface language',\n })}\n placeholder={formatMessage({\n id: 'global.select',\n defaultMessage: 'Select',\n })}\n hint={formatMessage({\n id: 'Settings.profile.form.section.experience.interfaceLanguage.hint',\n defaultMessage: 'This will only display your own interface in the chosen language.',\n })}\n onClear={() => {\n onChange({\n target: { name: 'preferedLanguage', value: null },\n });\n }}\n clearLabel={formatMessage({\n id: 'Settings.profile.form.section.experience.clear.select',\n defaultMessage: 'Clear the interface language selected',\n })}\n value={values.preferedLanguage}\n onChange={(e) => {\n onChange({\n target: { name: 'preferedLanguage', value: e },\n });\n }}\n >\n {Object.entries(localeNames).map(([language, langName]) => (\n <SingleSelectOption value={language} key={language}>\n {langName}\n </SingleSelectOption>\n ))}\n </SingleSelect>\n </GridItem>\n <GridItem s={12} col={6}>\n <SingleSelect\n label={formatMessage({\n id: 'Settings.profile.form.section.experience.mode.label',\n defaultMessage: 'Interface mode',\n })}\n placeholder={formatMessage({\n id: 'components.Select.placeholder',\n defaultMessage: 'Select',\n })}\n hint={formatMessage({\n id: 'Settings.profile.form.section.experience.mode.hint',\n defaultMessage: 'Displays your interface in the chosen mode.',\n })}\n value={values.currentTheme}\n onChange={(e) => {\n onChange({\n target: { name: 'currentTheme', value: e },\n });\n }}\n >\n <SingleSelectOption value=\"system\">\n {formatMessage({\n id: 'Settings.profile.form.section.experience.mode.option-system-label',\n defaultMessage: 'Use system settings',\n })}\n </SingleSelectOption>\n {themesToDisplay.map((theme) => (\n <SingleSelectOption value={theme} key={theme}>\n {formatMessage(\n {\n id: 'Settings.profile.form.section.experience.mode.option-label',\n defaultMessage: '{name} mode',\n },\n {\n name: formatMessage({\n id: theme,\n defaultMessage: upperFirst(theme),\n }),\n }\n )}\n </SingleSelectOption>\n ))}\n </SingleSelect>\n </GridItem>\n </Grid>\n </Flex>\n </Box>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * UserInfoSection\n * -----------------------------------------------------------------------------------------------*/\n\ninterface UserInfoSectionProps extends Pick<GenericInputProps, 'onChange'> {\n errors: { firstname?: string; lastname?: string; username?: string; email?: string };\n values: {\n firstname?: string;\n lastname?: string;\n username?: string;\n email?: string;\n };\n}\n\nconst UserInfoSection = ({ errors, onChange, values }: UserInfoSectionProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"filterShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Typography variant=\"delta\" as=\"h2\">\n {formatMessage({\n id: 'global.profile',\n defaultMessage: 'Profile',\n })}\n </Typography>\n <Grid gap={5}>\n <GridItem s={12} col={6}>\n <GenericInput\n intlLabel={{\n id: 'Auth.form.firstname.label',\n defaultMessage: 'First name',\n }}\n error={errors.firstname}\n onChange={onChange}\n value={values.firstname}\n type=\"text\"\n name=\"firstname\"\n required\n />\n </GridItem>\n <GridItem s={12} col={6}>\n <GenericInput\n intlLabel={{\n id: 'Auth.form.lastname.label',\n defaultMessage: 'Last name',\n }}\n error={errors.lastname}\n onChange={onChange}\n value={values.lastname}\n type=\"text\"\n name=\"lastname\"\n />\n </GridItem>\n <GridItem s={12} col={6}>\n <GenericInput\n intlLabel={{ id: 'Auth.form.email.label', defaultMessage: 'Email' }}\n error={errors.email}\n onChange={onChange}\n value={values.email}\n type=\"email\"\n name=\"email\"\n required\n />\n </GridItem>\n <GridItem s={12} col={6}>\n <GenericInput\n intlLabel={{\n id: 'Auth.form.username.label',\n defaultMessage: 'Username',\n }}\n error={errors.username}\n onChange={onChange}\n value={values.username}\n type=\"text\"\n name=\"username\"\n />\n </GridItem>\n </Grid>\n </Flex>\n </Box>\n );\n};\n\nexport { ProfilePage };\n"],"names":["yup","COMMON_USER_SCHEMA","translatedErrors","useTypedSelector","useIntl","useTracking","useNotification","useOverlayBlocker","useNotifyAT","useTypedDispatch","useAPIErrorHandler","useFocusWhenNavigate","useAuth","React","useUpdateMeMutation","useIsSSOLockedQuery","currentTheme","setAppTheme","isBaseQueryError","jsxs","Main","jsx","Helmet","HeaderLayout","ContentLayout","LoadingIndicatorPage","Formik","email","firstname","lastname","username","preferedLanguage","Form","getFullName","Button","Check","Box","Flex","Typography","Grid","GridItem","TextInput","Eye","EyeStriked","styled","FieldAction","pxToRem","SingleSelect","SingleSelectOption","upperFirst","GenericInput"],"mappings":"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"}
@@ -9,8 +9,8 @@ import { Helmet } from "react-helmet";
9
9
  import { useIntl } from "react-intl";
10
10
  import styled from "styled-components";
11
11
  import * as yup from "yup";
12
- import { j as useTypedSelector, s as useTypedDispatch, a as useAuth, t as useUpdateMeMutation, v as useIsSSOLockedQuery, w as setAppTheme, x as isBaseQueryError } from "./index-yRyOfi01.mjs";
13
- import { g as getFullName } from "./AuthenticatedApp-p_Hoz4w0.mjs";
12
+ import { j as useTypedSelector, s as useTypedDispatch, a as useAuth, t as useUpdateMeMutation, v as useIsSSOLockedQuery, w as setAppTheme, x as isBaseQueryError } from "./index-pisKLsr8.mjs";
13
+ import { g as getFullName } from "./AuthenticatedApp-nvm4fRcu.mjs";
14
14
  import { C as COMMON_USER_SCHEMA } from "./validation-f9rGWFeU.mjs";
15
15
  import "react-dom/client";
16
16
  import "invariant";
@@ -33,14 +33,18 @@ import "immer";
33
33
  import "lodash/get";
34
34
  import "lodash/set";
35
35
  import "lodash/defaultsDeep";
36
+ import "lodash/isEqual";
37
+ import "lodash/throttle";
38
+ import "lodash/isBoolean";
39
+ import "lodash/isEmpty";
40
+ import "lodash/isNaN";
41
+ import "lodash/toNumber";
36
42
  import "react-dnd";
37
43
  import "react-dnd-html5-backend";
38
44
  import "react-window";
39
45
  import "lodash/cloneDeep";
40
- import "lodash/isEqual";
41
46
  import "prop-types";
42
47
  import "lodash/fp";
43
- import "lodash/isNaN";
44
48
  import "lodash/take";
45
49
  import "slate";
46
50
  import "slate-history";
@@ -62,10 +66,7 @@ import "markdown-it-sup";
62
66
  import "highlight.js/styles/solarized-dark.css";
63
67
  import "codemirror5/addon/display/placeholder";
64
68
  import "lodash/toString";
65
- import "lodash/isEmpty";
66
69
  import "react-dom";
67
- import "lodash/isBoolean";
68
- import "lodash/toNumber";
69
70
  import "fractional-indexing";
70
71
  import "lodash/uniqBy";
71
72
  import "lodash/unset";
@@ -642,4 +643,4 @@ const UserInfoSection = ({ errors, onChange, values }) => {
642
643
  export {
643
644
  ProfilePage
644
645
  };
645
- //# sourceMappingURL=ProfilePage-nhuFpc-j.mjs.map
646
+ //# sourceMappingURL=ProfilePage-fzPpJZLL.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProfilePage-nhuFpc-j.mjs","sources":["../../admin/src/pages/ProfilePage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Box,\n Button,\n ContentLayout,\n Flex,\n HeaderLayout,\n Main,\n useNotifyAT,\n Grid,\n GridItem,\n Typography,\n SingleSelect,\n SingleSelectOption,\n TextInput,\n FieldAction,\n} from '@strapi/design-system';\nimport {\n Form,\n GenericInput,\n GenericInputProps,\n LoadingIndicatorPage,\n pxToRem,\n translatedErrors,\n useFocusWhenNavigate,\n useNotification,\n useOverlayBlocker,\n useTracking,\n useAPIErrorHandler,\n} from '@strapi/helper-plugin';\nimport { Check, Eye, EyeStriked } from '@strapi/icons';\nimport { Formik, FormikHelpers } from 'formik';\nimport upperFirst from 'lodash/upperFirst';\nimport { Helmet } from 'react-helmet';\nimport { useIntl } from 'react-intl';\nimport styled from 'styled-components';\nimport * as yup from 'yup';\n\nimport { useTypedDispatch, useTypedSelector } from '../core/store/hooks';\nimport { useAuth } from '../features/Auth';\nimport { AppState, setAppTheme } from '../reducer';\nimport { useIsSSOLockedQuery, useUpdateMeMutation } from '../services/auth';\nimport { isBaseQueryError } from '../utils/baseQuery';\nimport { getFullName } from '../utils/getFullName';\n\nimport { COMMON_USER_SCHEMA } from './Settings/pages/Users/utils/validation';\n\nimport type { UpdateMe } from '../../../shared/contracts/users';\n\nconst PROFILE_VALIDTION_SCHEMA = yup.object().shape({\n ...COMMON_USER_SCHEMA,\n currentPassword: yup\n .string()\n // @ts-expect-error – no idea why this is failing.\n .when(['password', 'confirmPassword'], (password, confirmPassword, passSchema) => {\n return password || confirmPassword\n ? passSchema.required(translatedErrors.required)\n : passSchema;\n }),\n preferedLanguage: yup.string().nullable(),\n});\n\n/* -------------------------------------------------------------------------------------------------\n * ProfilePage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProfilePage = () => {\n const localeNames = useTypedSelector((state) => state.admin_app.language.localeNames);\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const toggleNotification = useNotification();\n const { lockApp, unlockApp } = useOverlayBlocker();\n const { notifyStatus } = useNotifyAT();\n const currentTheme = useTypedSelector((state) => state.admin_app.theme.currentTheme);\n const dispatch = useTypedDispatch();\n const {\n _unstableFormatValidationErrors: formatValidationErrors,\n _unstableFormatAPIError: formatApiError,\n } = useAPIErrorHandler();\n\n useFocusWhenNavigate();\n\n const user = useAuth('ProfilePage', (state) => state.user);\n\n React.useEffect(() => {\n if (user) {\n notifyStatus(\n formatMessage({\n id: 'Settings.profile.form.notify.data.loaded',\n defaultMessage: 'Your profile data has been loaded',\n })\n );\n } else {\n toggleNotification({\n type: 'warning',\n message: { id: 'notification.error', defaultMessage: 'An error occured' },\n });\n }\n }, [formatMessage, notifyStatus, toggleNotification, user]);\n\n const [updateMe, { isLoading: isSubmittingForm }] = useUpdateMeMutation();\n\n const {\n isLoading,\n data: dataSSO,\n error,\n } = useIsSSOLockedQuery(undefined, {\n skip: !(window.strapi.isEE && window.strapi.features.isEnabled('sso')),\n });\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({\n type: 'warning',\n message: { id: 'Settings.permissions.users.sso.provider.error' },\n });\n }\n }, [error, toggleNotification]);\n\n type UpdateUsersMeBody = UpdateMe.Request['body'] & {\n confirmPassword: string;\n currentTheme: AppState['theme']['currentTheme'];\n };\n\n const handleSubmit = async (\n body: UpdateUsersMeBody,\n { setErrors }: FormikHelpers<UpdateUsersMeBody>\n ) => {\n // @ts-expect-error – we're going to implement a context assertion to avoid this\n lockApp();\n\n const { confirmPassword: _confirmPassword, currentTheme, ...bodyRest } = body;\n let dataToSend = bodyRest;\n\n // The password fields are optional. If the user didn't touch them, don't send any password\n // to the API, because an empty string would throw a validation error\n if (dataToSend.password === '') {\n const {\n password: _password,\n currentPassword: _currentPassword,\n ...passwordRequestBodyRest\n } = dataToSend;\n dataToSend = passwordRequestBodyRest;\n }\n\n const res = await updateMe(dataToSend);\n\n if ('data' in res) {\n dispatch(setAppTheme(currentTheme));\n\n trackUsage('didChangeMode', { newMode: currentTheme });\n\n toggleNotification({\n type: 'success',\n message: { id: 'notification.success.saved', defaultMessage: 'Saved' },\n });\n }\n\n if ('error' in res) {\n if (\n isBaseQueryError(res.error) &&\n (res.error.name === 'ValidationError' || res.error.message === 'ValidationError')\n ) {\n // @ts-expect-error – We get a BadRequest error here instead of a ValidationError if the currentPassword is wrong.\n setErrors(formatValidationErrors(res.error));\n } else if (isBaseQueryError(res.error)) {\n toggleNotification({\n type: 'warning',\n message: formatApiError(res.error),\n });\n } else {\n toggleNotification({\n type: 'warning',\n message: { id: 'notification.error', defaultMessage: 'An error occured' },\n });\n }\n }\n\n unlockApp?.();\n };\n\n if (isLoading) {\n return (\n <Main aria-busy=\"true\">\n <Helmet\n title={formatMessage({\n id: 'Settings.profile.form.section.helmet.title',\n defaultMessage: 'User profile',\n })}\n />\n <HeaderLayout\n title={formatMessage({\n id: 'Settings.profile.form.section.profile.page.title',\n defaultMessage: 'Profile page',\n })}\n />\n <ContentLayout>\n <LoadingIndicatorPage />\n </ContentLayout>\n </Main>\n );\n }\n\n const hasLockedRole = dataSSO?.isSSOLocked ?? false;\n const { email, firstname, lastname, username, preferedLanguage } = user ?? {};\n const initialData = {\n email,\n firstname,\n lastname,\n username,\n preferedLanguage,\n currentTheme,\n confirmPassword: '',\n password: '',\n };\n\n return (\n <Main aria-busy={isSubmittingForm}>\n <Helmet\n title={formatMessage({\n id: 'Settings.profile.form.section.helmet.title',\n defaultMessage: 'User profile',\n })}\n />\n <Formik\n onSubmit={handleSubmit}\n initialValues={initialData}\n validateOnChange={false}\n validationSchema={PROFILE_VALIDTION_SCHEMA}\n enableReinitialize\n >\n {({\n errors,\n values: {\n email,\n firstname,\n lastname,\n username,\n preferedLanguage,\n currentTheme,\n ...passwordValues\n },\n handleChange,\n isSubmitting,\n dirty,\n }) => {\n return (\n <Form>\n <HeaderLayout\n title={username || getFullName(firstname ?? '', lastname)}\n primaryAction={\n <Button\n startIcon={<Check />}\n loading={isSubmitting}\n type=\"submit\"\n disabled={!dirty}\n >\n {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}\n </Button>\n }\n />\n <Box paddingBottom={10}>\n <ContentLayout>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <UserInfoSection\n errors={errors}\n onChange={handleChange}\n values={{\n firstname,\n lastname,\n username,\n email,\n }}\n />\n {!hasLockedRole && (\n <PasswordSection\n errors={errors}\n onChange={handleChange}\n values={passwordValues}\n />\n )}\n <PreferencesSection\n onChange={handleChange}\n values={{\n preferedLanguage,\n currentTheme,\n }}\n localeNames={localeNames}\n />\n </Flex>\n </ContentLayout>\n </Box>\n </Form>\n );\n }}\n </Formik>\n </Main>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * PasswordSection\n * -----------------------------------------------------------------------------------------------*/\n\ninterface PasswordSectionProps {\n errors: { currentPassword?: string; password?: string; confirmPassword?: string };\n onChange: React.ChangeEventHandler<HTMLInputElement>;\n values: {\n currentPassword?: string;\n password?: string;\n confirmPassword?: string;\n };\n}\n\nconst PasswordSection = ({ errors, onChange, values }: PasswordSectionProps) => {\n const { formatMessage } = useIntl();\n const [currentPasswordShown, setCurrentPasswordShown] = React.useState(false);\n const [passwordShown, setPasswordShown] = React.useState(false);\n const [passwordConfirmShown, setPasswordConfirmShown] = React.useState(false);\n\n return (\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"filterShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Typography variant=\"delta\" as=\"h2\">\n {formatMessage({\n id: 'global.change-password',\n defaultMessage: 'Change password',\n })}\n </Typography>\n <Grid gap={5}>\n <GridItem s={12} col={6}>\n <TextInput\n error={\n errors.currentPassword\n ? formatMessage({\n id: errors.currentPassword,\n defaultMessage: errors.currentPassword,\n })\n : ''\n }\n onChange={onChange}\n value={values.currentPassword}\n label={formatMessage({\n id: 'Auth.form.currentPassword.label',\n defaultMessage: 'Current Password',\n })}\n name=\"currentPassword\"\n type={currentPasswordShown ? 'text' : 'password'}\n endAction={\n <FieldActionWrapper\n onClick={(e) => {\n e.stopPropagation();\n setCurrentPasswordShown((prev) => !prev);\n }}\n label={formatMessage(\n currentPasswordShown\n ? {\n id: 'Auth.form.password.show-password',\n defaultMessage: 'Show password',\n }\n : {\n id: 'Auth.form.password.hide-password',\n defaultMessage: 'Hide password',\n }\n )}\n >\n {currentPasswordShown ? <Eye /> : <EyeStriked />}\n </FieldActionWrapper>\n }\n />\n </GridItem>\n </Grid>\n <Grid gap={5}>\n <GridItem s={12} col={6}>\n <PasswordInput\n error={\n errors.password\n ? formatMessage({\n id: errors.password,\n defaultMessage: errors.password,\n })\n : ''\n }\n onChange={onChange}\n value={values.password}\n label={formatMessage({\n id: 'global.password',\n defaultMessage: 'Password',\n })}\n name=\"password\"\n type={passwordShown ? 'text' : 'password'}\n autoComplete=\"new-password\"\n endAction={\n <FieldActionWrapper\n onClick={(e) => {\n e.stopPropagation();\n setPasswordShown((prev) => !prev);\n }}\n label={formatMessage(\n passwordShown\n ? {\n id: 'Auth.form.password.show-password',\n defaultMessage: 'Show password',\n }\n : {\n id: 'Auth.form.password.hide-password',\n defaultMessage: 'Hide password',\n }\n )}\n >\n {passwordShown ? <Eye /> : <EyeStriked />}\n </FieldActionWrapper>\n }\n />\n </GridItem>\n <GridItem s={12} col={6}>\n <PasswordInput\n error={\n errors.confirmPassword\n ? formatMessage({\n id: errors.confirmPassword,\n defaultMessage: errors.confirmPassword,\n })\n : ''\n }\n onChange={onChange}\n value={values.confirmPassword}\n label={formatMessage({\n id: 'Auth.form.confirmPassword.label',\n defaultMessage: 'Confirm Password',\n })}\n name=\"confirmPassword\"\n type={passwordConfirmShown ? 'text' : 'password'}\n autoComplete=\"new-password\"\n endAction={\n <FieldActionWrapper\n onClick={(e) => {\n e.stopPropagation();\n setPasswordConfirmShown((prev) => !prev);\n }}\n label={formatMessage(\n passwordConfirmShown\n ? {\n id: 'Auth.form.password.show-password',\n defaultMessage: 'Show password',\n }\n : {\n id: 'Auth.form.password.hide-password',\n defaultMessage: 'Hide password',\n }\n )}\n >\n {passwordConfirmShown ? <Eye /> : <EyeStriked />}\n </FieldActionWrapper>\n }\n />\n </GridItem>\n </Grid>\n </Flex>\n </Box>\n );\n};\n\nconst PasswordInput = styled(TextInput)`\n ::-ms-reveal {\n display: none;\n }\n`;\n\n// Wrapper of the Eye Icon able to show or hide the Password inside the field\nconst FieldActionWrapper = styled(FieldAction)`\n svg {\n height: ${pxToRem(16)};\n width: ${pxToRem(16)};\n path {\n fill: ${({ theme }) => theme.colors.neutral600};\n }\n }\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * PreferencesSection\n * -----------------------------------------------------------------------------------------------*/\n\ninterface PreferencesSectionProps extends Pick<GenericInputProps, 'onChange'> {\n values: {\n preferedLanguage?: string;\n currentTheme?: string;\n };\n localeNames: Record<string, string>;\n}\n\nconst PreferencesSection = ({ onChange, values, localeNames }: PreferencesSectionProps) => {\n const { formatMessage } = useIntl();\n const themesToDisplay = useTypedSelector((state) => state.admin_app.theme.availableThemes);\n\n return (\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"filterShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={1}>\n <Typography variant=\"delta\" as=\"h2\">\n {formatMessage({\n id: 'Settings.profile.form.section.experience.title',\n defaultMessage: 'Experience',\n })}\n </Typography>\n <Typography>\n {formatMessage(\n {\n id: 'Settings.profile.form.section.experience.interfaceLanguageHelp',\n defaultMessage:\n 'Preference changes will apply only to you. More information is available {here}.',\n },\n {\n here: (\n <Box\n as=\"a\"\n color=\"primary600\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n href=\"https://docs.strapi.io/developer-docs/latest/development/admin-customization.html#locales\"\n >\n {formatMessage({\n id: 'Settings.profile.form.section.experience.here',\n defaultMessage: 'here',\n })}\n </Box>\n ),\n }\n )}\n </Typography>\n </Flex>\n <Grid gap={5}>\n <GridItem s={12} col={6}>\n <SingleSelect\n label={formatMessage({\n id: 'Settings.profile.form.section.experience.interfaceLanguage',\n defaultMessage: 'Interface language',\n })}\n placeholder={formatMessage({\n id: 'global.select',\n defaultMessage: 'Select',\n })}\n hint={formatMessage({\n id: 'Settings.profile.form.section.experience.interfaceLanguage.hint',\n defaultMessage: 'This will only display your own interface in the chosen language.',\n })}\n onClear={() => {\n onChange({\n target: { name: 'preferedLanguage', value: null },\n });\n }}\n clearLabel={formatMessage({\n id: 'Settings.profile.form.section.experience.clear.select',\n defaultMessage: 'Clear the interface language selected',\n })}\n value={values.preferedLanguage}\n onChange={(e) => {\n onChange({\n target: { name: 'preferedLanguage', value: e },\n });\n }}\n >\n {Object.entries(localeNames).map(([language, langName]) => (\n <SingleSelectOption value={language} key={language}>\n {langName}\n </SingleSelectOption>\n ))}\n </SingleSelect>\n </GridItem>\n <GridItem s={12} col={6}>\n <SingleSelect\n label={formatMessage({\n id: 'Settings.profile.form.section.experience.mode.label',\n defaultMessage: 'Interface mode',\n })}\n placeholder={formatMessage({\n id: 'components.Select.placeholder',\n defaultMessage: 'Select',\n })}\n hint={formatMessage({\n id: 'Settings.profile.form.section.experience.mode.hint',\n defaultMessage: 'Displays your interface in the chosen mode.',\n })}\n value={values.currentTheme}\n onChange={(e) => {\n onChange({\n target: { name: 'currentTheme', value: e },\n });\n }}\n >\n <SingleSelectOption value=\"system\">\n {formatMessage({\n id: 'Settings.profile.form.section.experience.mode.option-system-label',\n defaultMessage: 'Use system settings',\n })}\n </SingleSelectOption>\n {themesToDisplay.map((theme) => (\n <SingleSelectOption value={theme} key={theme}>\n {formatMessage(\n {\n id: 'Settings.profile.form.section.experience.mode.option-label',\n defaultMessage: '{name} mode',\n },\n {\n name: formatMessage({\n id: theme,\n defaultMessage: upperFirst(theme),\n }),\n }\n )}\n </SingleSelectOption>\n ))}\n </SingleSelect>\n </GridItem>\n </Grid>\n </Flex>\n </Box>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * UserInfoSection\n * -----------------------------------------------------------------------------------------------*/\n\ninterface UserInfoSectionProps extends Pick<GenericInputProps, 'onChange'> {\n errors: { firstname?: string; lastname?: string; username?: string; email?: string };\n values: {\n firstname?: string;\n lastname?: string;\n username?: string;\n email?: string;\n };\n}\n\nconst UserInfoSection = ({ errors, onChange, values }: UserInfoSectionProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"filterShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Typography variant=\"delta\" as=\"h2\">\n {formatMessage({\n id: 'global.profile',\n defaultMessage: 'Profile',\n })}\n </Typography>\n <Grid gap={5}>\n <GridItem s={12} col={6}>\n <GenericInput\n intlLabel={{\n id: 'Auth.form.firstname.label',\n defaultMessage: 'First name',\n }}\n error={errors.firstname}\n onChange={onChange}\n value={values.firstname}\n type=\"text\"\n name=\"firstname\"\n required\n />\n </GridItem>\n <GridItem s={12} col={6}>\n <GenericInput\n intlLabel={{\n id: 'Auth.form.lastname.label',\n defaultMessage: 'Last name',\n }}\n error={errors.lastname}\n onChange={onChange}\n value={values.lastname}\n type=\"text\"\n name=\"lastname\"\n />\n </GridItem>\n <GridItem s={12} col={6}>\n <GenericInput\n intlLabel={{ id: 'Auth.form.email.label', defaultMessage: 'Email' }}\n error={errors.email}\n onChange={onChange}\n value={values.email}\n type=\"email\"\n name=\"email\"\n required\n />\n </GridItem>\n <GridItem s={12} col={6}>\n <GenericInput\n intlLabel={{\n id: 'Auth.form.username.label',\n defaultMessage: 'Username',\n }}\n error={errors.username}\n onChange={onChange}\n value={values.username}\n type=\"text\"\n name=\"username\"\n />\n </GridItem>\n </Grid>\n </Flex>\n </Box>\n );\n};\n\nexport { ProfilePage };\n"],"names":["currentTheme","email","firstname","lastname","username","preferedLanguage"],"mappings":"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"}
1
+ {"version":3,"file":"ProfilePage-fzPpJZLL.mjs","sources":["../../admin/src/pages/ProfilePage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Box,\n Button,\n ContentLayout,\n Flex,\n HeaderLayout,\n Main,\n useNotifyAT,\n Grid,\n GridItem,\n Typography,\n SingleSelect,\n SingleSelectOption,\n TextInput,\n FieldAction,\n} from '@strapi/design-system';\nimport {\n Form,\n GenericInput,\n GenericInputProps,\n LoadingIndicatorPage,\n pxToRem,\n translatedErrors,\n useFocusWhenNavigate,\n useNotification,\n useOverlayBlocker,\n useTracking,\n useAPIErrorHandler,\n} from '@strapi/helper-plugin';\nimport { Check, Eye, EyeStriked } from '@strapi/icons';\nimport { Formik, FormikHelpers } from 'formik';\nimport upperFirst from 'lodash/upperFirst';\nimport { Helmet } from 'react-helmet';\nimport { useIntl } from 'react-intl';\nimport styled from 'styled-components';\nimport * as yup from 'yup';\n\nimport { useTypedDispatch, useTypedSelector } from '../core/store/hooks';\nimport { useAuth } from '../features/Auth';\nimport { AppState, setAppTheme } from '../reducer';\nimport { useIsSSOLockedQuery, useUpdateMeMutation } from '../services/auth';\nimport { isBaseQueryError } from '../utils/baseQuery';\nimport { getFullName } from '../utils/getFullName';\n\nimport { COMMON_USER_SCHEMA } from './Settings/pages/Users/utils/validation';\n\nimport type { UpdateMe } from '../../../shared/contracts/users';\n\nconst PROFILE_VALIDTION_SCHEMA = yup.object().shape({\n ...COMMON_USER_SCHEMA,\n currentPassword: yup\n .string()\n // @ts-expect-error – no idea why this is failing.\n .when(['password', 'confirmPassword'], (password, confirmPassword, passSchema) => {\n return password || confirmPassword\n ? passSchema.required(translatedErrors.required)\n : passSchema;\n }),\n preferedLanguage: yup.string().nullable(),\n});\n\n/* -------------------------------------------------------------------------------------------------\n * ProfilePage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProfilePage = () => {\n const localeNames = useTypedSelector((state) => state.admin_app.language.localeNames);\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const toggleNotification = useNotification();\n const { lockApp, unlockApp } = useOverlayBlocker();\n const { notifyStatus } = useNotifyAT();\n const currentTheme = useTypedSelector((state) => state.admin_app.theme.currentTheme);\n const dispatch = useTypedDispatch();\n const {\n _unstableFormatValidationErrors: formatValidationErrors,\n _unstableFormatAPIError: formatApiError,\n } = useAPIErrorHandler();\n\n useFocusWhenNavigate();\n\n const user = useAuth('ProfilePage', (state) => state.user);\n\n React.useEffect(() => {\n if (user) {\n notifyStatus(\n formatMessage({\n id: 'Settings.profile.form.notify.data.loaded',\n defaultMessage: 'Your profile data has been loaded',\n })\n );\n } else {\n toggleNotification({\n type: 'warning',\n message: { id: 'notification.error', defaultMessage: 'An error occured' },\n });\n }\n }, [formatMessage, notifyStatus, toggleNotification, user]);\n\n const [updateMe, { isLoading: isSubmittingForm }] = useUpdateMeMutation();\n\n const {\n isLoading,\n data: dataSSO,\n error,\n } = useIsSSOLockedQuery(undefined, {\n skip: !(window.strapi.isEE && window.strapi.features.isEnabled('sso')),\n });\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({\n type: 'warning',\n message: { id: 'Settings.permissions.users.sso.provider.error' },\n });\n }\n }, [error, toggleNotification]);\n\n type UpdateUsersMeBody = UpdateMe.Request['body'] & {\n confirmPassword: string;\n currentTheme: AppState['theme']['currentTheme'];\n };\n\n const handleSubmit = async (\n body: UpdateUsersMeBody,\n { setErrors }: FormikHelpers<UpdateUsersMeBody>\n ) => {\n // @ts-expect-error – we're going to implement a context assertion to avoid this\n lockApp();\n\n const { confirmPassword: _confirmPassword, currentTheme, ...bodyRest } = body;\n let dataToSend = bodyRest;\n\n // The password fields are optional. If the user didn't touch them, don't send any password\n // to the API, because an empty string would throw a validation error\n if (dataToSend.password === '') {\n const {\n password: _password,\n currentPassword: _currentPassword,\n ...passwordRequestBodyRest\n } = dataToSend;\n dataToSend = passwordRequestBodyRest;\n }\n\n const res = await updateMe(dataToSend);\n\n if ('data' in res) {\n dispatch(setAppTheme(currentTheme));\n\n trackUsage('didChangeMode', { newMode: currentTheme });\n\n toggleNotification({\n type: 'success',\n message: { id: 'notification.success.saved', defaultMessage: 'Saved' },\n });\n }\n\n if ('error' in res) {\n if (\n isBaseQueryError(res.error) &&\n (res.error.name === 'ValidationError' || res.error.message === 'ValidationError')\n ) {\n // @ts-expect-error – We get a BadRequest error here instead of a ValidationError if the currentPassword is wrong.\n setErrors(formatValidationErrors(res.error));\n } else if (isBaseQueryError(res.error)) {\n toggleNotification({\n type: 'warning',\n message: formatApiError(res.error),\n });\n } else {\n toggleNotification({\n type: 'warning',\n message: { id: 'notification.error', defaultMessage: 'An error occured' },\n });\n }\n }\n\n unlockApp?.();\n };\n\n if (isLoading) {\n return (\n <Main aria-busy=\"true\">\n <Helmet\n title={formatMessage({\n id: 'Settings.profile.form.section.helmet.title',\n defaultMessage: 'User profile',\n })}\n />\n <HeaderLayout\n title={formatMessage({\n id: 'Settings.profile.form.section.profile.page.title',\n defaultMessage: 'Profile page',\n })}\n />\n <ContentLayout>\n <LoadingIndicatorPage />\n </ContentLayout>\n </Main>\n );\n }\n\n const hasLockedRole = dataSSO?.isSSOLocked ?? false;\n const { email, firstname, lastname, username, preferedLanguage } = user ?? {};\n const initialData = {\n email,\n firstname,\n lastname,\n username,\n preferedLanguage,\n currentTheme,\n confirmPassword: '',\n password: '',\n };\n\n return (\n <Main aria-busy={isSubmittingForm}>\n <Helmet\n title={formatMessage({\n id: 'Settings.profile.form.section.helmet.title',\n defaultMessage: 'User profile',\n })}\n />\n <Formik\n onSubmit={handleSubmit}\n initialValues={initialData}\n validateOnChange={false}\n validationSchema={PROFILE_VALIDTION_SCHEMA}\n enableReinitialize\n >\n {({\n errors,\n values: {\n email,\n firstname,\n lastname,\n username,\n preferedLanguage,\n currentTheme,\n ...passwordValues\n },\n handleChange,\n isSubmitting,\n dirty,\n }) => {\n return (\n <Form>\n <HeaderLayout\n title={username || getFullName(firstname ?? '', lastname)}\n primaryAction={\n <Button\n startIcon={<Check />}\n loading={isSubmitting}\n type=\"submit\"\n disabled={!dirty}\n >\n {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}\n </Button>\n }\n />\n <Box paddingBottom={10}>\n <ContentLayout>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <UserInfoSection\n errors={errors}\n onChange={handleChange}\n values={{\n firstname,\n lastname,\n username,\n email,\n }}\n />\n {!hasLockedRole && (\n <PasswordSection\n errors={errors}\n onChange={handleChange}\n values={passwordValues}\n />\n )}\n <PreferencesSection\n onChange={handleChange}\n values={{\n preferedLanguage,\n currentTheme,\n }}\n localeNames={localeNames}\n />\n </Flex>\n </ContentLayout>\n </Box>\n </Form>\n );\n }}\n </Formik>\n </Main>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * PasswordSection\n * -----------------------------------------------------------------------------------------------*/\n\ninterface PasswordSectionProps {\n errors: { currentPassword?: string; password?: string; confirmPassword?: string };\n onChange: React.ChangeEventHandler<HTMLInputElement>;\n values: {\n currentPassword?: string;\n password?: string;\n confirmPassword?: string;\n };\n}\n\nconst PasswordSection = ({ errors, onChange, values }: PasswordSectionProps) => {\n const { formatMessage } = useIntl();\n const [currentPasswordShown, setCurrentPasswordShown] = React.useState(false);\n const [passwordShown, setPasswordShown] = React.useState(false);\n const [passwordConfirmShown, setPasswordConfirmShown] = React.useState(false);\n\n return (\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"filterShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Typography variant=\"delta\" as=\"h2\">\n {formatMessage({\n id: 'global.change-password',\n defaultMessage: 'Change password',\n })}\n </Typography>\n <Grid gap={5}>\n <GridItem s={12} col={6}>\n <TextInput\n error={\n errors.currentPassword\n ? formatMessage({\n id: errors.currentPassword,\n defaultMessage: errors.currentPassword,\n })\n : ''\n }\n onChange={onChange}\n value={values.currentPassword}\n label={formatMessage({\n id: 'Auth.form.currentPassword.label',\n defaultMessage: 'Current Password',\n })}\n name=\"currentPassword\"\n type={currentPasswordShown ? 'text' : 'password'}\n endAction={\n <FieldActionWrapper\n onClick={(e) => {\n e.stopPropagation();\n setCurrentPasswordShown((prev) => !prev);\n }}\n label={formatMessage(\n currentPasswordShown\n ? {\n id: 'Auth.form.password.show-password',\n defaultMessage: 'Show password',\n }\n : {\n id: 'Auth.form.password.hide-password',\n defaultMessage: 'Hide password',\n }\n )}\n >\n {currentPasswordShown ? <Eye /> : <EyeStriked />}\n </FieldActionWrapper>\n }\n />\n </GridItem>\n </Grid>\n <Grid gap={5}>\n <GridItem s={12} col={6}>\n <PasswordInput\n error={\n errors.password\n ? formatMessage({\n id: errors.password,\n defaultMessage: errors.password,\n })\n : ''\n }\n onChange={onChange}\n value={values.password}\n label={formatMessage({\n id: 'global.password',\n defaultMessage: 'Password',\n })}\n name=\"password\"\n type={passwordShown ? 'text' : 'password'}\n autoComplete=\"new-password\"\n endAction={\n <FieldActionWrapper\n onClick={(e) => {\n e.stopPropagation();\n setPasswordShown((prev) => !prev);\n }}\n label={formatMessage(\n passwordShown\n ? {\n id: 'Auth.form.password.show-password',\n defaultMessage: 'Show password',\n }\n : {\n id: 'Auth.form.password.hide-password',\n defaultMessage: 'Hide password',\n }\n )}\n >\n {passwordShown ? <Eye /> : <EyeStriked />}\n </FieldActionWrapper>\n }\n />\n </GridItem>\n <GridItem s={12} col={6}>\n <PasswordInput\n error={\n errors.confirmPassword\n ? formatMessage({\n id: errors.confirmPassword,\n defaultMessage: errors.confirmPassword,\n })\n : ''\n }\n onChange={onChange}\n value={values.confirmPassword}\n label={formatMessage({\n id: 'Auth.form.confirmPassword.label',\n defaultMessage: 'Confirm Password',\n })}\n name=\"confirmPassword\"\n type={passwordConfirmShown ? 'text' : 'password'}\n autoComplete=\"new-password\"\n endAction={\n <FieldActionWrapper\n onClick={(e) => {\n e.stopPropagation();\n setPasswordConfirmShown((prev) => !prev);\n }}\n label={formatMessage(\n passwordConfirmShown\n ? {\n id: 'Auth.form.password.show-password',\n defaultMessage: 'Show password',\n }\n : {\n id: 'Auth.form.password.hide-password',\n defaultMessage: 'Hide password',\n }\n )}\n >\n {passwordConfirmShown ? <Eye /> : <EyeStriked />}\n </FieldActionWrapper>\n }\n />\n </GridItem>\n </Grid>\n </Flex>\n </Box>\n );\n};\n\nconst PasswordInput = styled(TextInput)`\n ::-ms-reveal {\n display: none;\n }\n`;\n\n// Wrapper of the Eye Icon able to show or hide the Password inside the field\nconst FieldActionWrapper = styled(FieldAction)`\n svg {\n height: ${pxToRem(16)};\n width: ${pxToRem(16)};\n path {\n fill: ${({ theme }) => theme.colors.neutral600};\n }\n }\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * PreferencesSection\n * -----------------------------------------------------------------------------------------------*/\n\ninterface PreferencesSectionProps extends Pick<GenericInputProps, 'onChange'> {\n values: {\n preferedLanguage?: string;\n currentTheme?: string;\n };\n localeNames: Record<string, string>;\n}\n\nconst PreferencesSection = ({ onChange, values, localeNames }: PreferencesSectionProps) => {\n const { formatMessage } = useIntl();\n const themesToDisplay = useTypedSelector((state) => state.admin_app.theme.availableThemes);\n\n return (\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"filterShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={1}>\n <Typography variant=\"delta\" as=\"h2\">\n {formatMessage({\n id: 'Settings.profile.form.section.experience.title',\n defaultMessage: 'Experience',\n })}\n </Typography>\n <Typography>\n {formatMessage(\n {\n id: 'Settings.profile.form.section.experience.interfaceLanguageHelp',\n defaultMessage:\n 'Preference changes will apply only to you. More information is available {here}.',\n },\n {\n here: (\n <Box\n as=\"a\"\n color=\"primary600\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n href=\"https://docs.strapi.io/developer-docs/latest/development/admin-customization.html#locales\"\n >\n {formatMessage({\n id: 'Settings.profile.form.section.experience.here',\n defaultMessage: 'here',\n })}\n </Box>\n ),\n }\n )}\n </Typography>\n </Flex>\n <Grid gap={5}>\n <GridItem s={12} col={6}>\n <SingleSelect\n label={formatMessage({\n id: 'Settings.profile.form.section.experience.interfaceLanguage',\n defaultMessage: 'Interface language',\n })}\n placeholder={formatMessage({\n id: 'global.select',\n defaultMessage: 'Select',\n })}\n hint={formatMessage({\n id: 'Settings.profile.form.section.experience.interfaceLanguage.hint',\n defaultMessage: 'This will only display your own interface in the chosen language.',\n })}\n onClear={() => {\n onChange({\n target: { name: 'preferedLanguage', value: null },\n });\n }}\n clearLabel={formatMessage({\n id: 'Settings.profile.form.section.experience.clear.select',\n defaultMessage: 'Clear the interface language selected',\n })}\n value={values.preferedLanguage}\n onChange={(e) => {\n onChange({\n target: { name: 'preferedLanguage', value: e },\n });\n }}\n >\n {Object.entries(localeNames).map(([language, langName]) => (\n <SingleSelectOption value={language} key={language}>\n {langName}\n </SingleSelectOption>\n ))}\n </SingleSelect>\n </GridItem>\n <GridItem s={12} col={6}>\n <SingleSelect\n label={formatMessage({\n id: 'Settings.profile.form.section.experience.mode.label',\n defaultMessage: 'Interface mode',\n })}\n placeholder={formatMessage({\n id: 'components.Select.placeholder',\n defaultMessage: 'Select',\n })}\n hint={formatMessage({\n id: 'Settings.profile.form.section.experience.mode.hint',\n defaultMessage: 'Displays your interface in the chosen mode.',\n })}\n value={values.currentTheme}\n onChange={(e) => {\n onChange({\n target: { name: 'currentTheme', value: e },\n });\n }}\n >\n <SingleSelectOption value=\"system\">\n {formatMessage({\n id: 'Settings.profile.form.section.experience.mode.option-system-label',\n defaultMessage: 'Use system settings',\n })}\n </SingleSelectOption>\n {themesToDisplay.map((theme) => (\n <SingleSelectOption value={theme} key={theme}>\n {formatMessage(\n {\n id: 'Settings.profile.form.section.experience.mode.option-label',\n defaultMessage: '{name} mode',\n },\n {\n name: formatMessage({\n id: theme,\n defaultMessage: upperFirst(theme),\n }),\n }\n )}\n </SingleSelectOption>\n ))}\n </SingleSelect>\n </GridItem>\n </Grid>\n </Flex>\n </Box>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * UserInfoSection\n * -----------------------------------------------------------------------------------------------*/\n\ninterface UserInfoSectionProps extends Pick<GenericInputProps, 'onChange'> {\n errors: { firstname?: string; lastname?: string; username?: string; email?: string };\n values: {\n firstname?: string;\n lastname?: string;\n username?: string;\n email?: string;\n };\n}\n\nconst UserInfoSection = ({ errors, onChange, values }: UserInfoSectionProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"filterShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Typography variant=\"delta\" as=\"h2\">\n {formatMessage({\n id: 'global.profile',\n defaultMessage: 'Profile',\n })}\n </Typography>\n <Grid gap={5}>\n <GridItem s={12} col={6}>\n <GenericInput\n intlLabel={{\n id: 'Auth.form.firstname.label',\n defaultMessage: 'First name',\n }}\n error={errors.firstname}\n onChange={onChange}\n value={values.firstname}\n type=\"text\"\n name=\"firstname\"\n required\n />\n </GridItem>\n <GridItem s={12} col={6}>\n <GenericInput\n intlLabel={{\n id: 'Auth.form.lastname.label',\n defaultMessage: 'Last name',\n }}\n error={errors.lastname}\n onChange={onChange}\n value={values.lastname}\n type=\"text\"\n name=\"lastname\"\n />\n </GridItem>\n <GridItem s={12} col={6}>\n <GenericInput\n intlLabel={{ id: 'Auth.form.email.label', defaultMessage: 'Email' }}\n error={errors.email}\n onChange={onChange}\n value={values.email}\n type=\"email\"\n name=\"email\"\n required\n />\n </GridItem>\n <GridItem s={12} col={6}>\n <GenericInput\n intlLabel={{\n id: 'Auth.form.username.label',\n defaultMessage: 'Username',\n }}\n error={errors.username}\n onChange={onChange}\n value={values.username}\n type=\"text\"\n name=\"username\"\n />\n </GridItem>\n </Grid>\n </Flex>\n </Box>\n );\n};\n\nexport { ProfilePage };\n"],"names":["currentTheme","email","firstname","lastname","username","preferedLanguage"],"mappings":"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"}
@@ -22,7 +22,7 @@ const PurchaseAuditLogs = () => {
22
22
  icon: /* @__PURE__ */ jsx(EmptyPermissions, { width: "10rem" }),
23
23
  content: formatMessage({
24
24
  id: "Settings.permissions.auditLogs.not-available",
25
- defaultMessage: "Audit Logs is only available as part of the Enterprise Edition. Upgrade to get a searchable and filterable display of all activities."
25
+ defaultMessage: "Audit Logs is only available as part of a paid plan. Upgrade to get a searchable and filterable display of all activities."
26
26
  }),
27
27
  action: /* @__PURE__ */ jsx(
28
28
  LinkButton,
@@ -45,4 +45,4 @@ const PurchaseAuditLogs = () => {
45
45
  export {
46
46
  PurchaseAuditLogs
47
47
  };
48
- //# sourceMappingURL=PurchaseAuditLogs-zQio54Q3.mjs.map
48
+ //# sourceMappingURL=PurchaseAuditLogs-KILCZp5x.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PurchaseAuditLogs-KILCZp5x.mjs","sources":["../../admin/src/pages/Settings/pages/PurchaseAuditLogs.tsx"],"sourcesContent":["import { Box, Layout, Main, HeaderLayout, EmptyStateLayout } from '@strapi/design-system';\nimport { LinkButton } from '@strapi/design-system/v2';\nimport { ExternalLink, EmptyPermissions } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nconst PurchaseAuditLogs = () => {\n const { formatMessage } = useIntl();\n\n return (\n <Layout>\n <Main>\n <HeaderLayout\n title={formatMessage({ id: 'global.auditLogs', defaultMessage: 'Audit Logs' })}\n subtitle={formatMessage({\n id: 'Settings.permissions.auditLogs.listview.header.subtitle',\n defaultMessage: 'Logs of all the activities that happened in your environment',\n })}\n />\n <Box paddingLeft={10} paddingRight={10}>\n <EmptyStateLayout\n icon={<EmptyPermissions width=\"10rem\" />}\n content={formatMessage({\n id: 'Settings.permissions.auditLogs.not-available',\n defaultMessage:\n 'Audit Logs is only available as part of a paid plan. Upgrade to get a searchable and filterable display of all activities.',\n })}\n action={\n <LinkButton\n variant=\"default\"\n endIcon={<ExternalLink />}\n href=\"https://strp.cc/45mbAdF\"\n isExternal\n target=\"_blank\"\n >\n {formatMessage({\n id: 'global.learn-more',\n defaultMessage: 'Learn more',\n })}\n </LinkButton>\n }\n />\n </Box>\n </Main>\n </Layout>\n );\n};\n\nexport { PurchaseAuditLogs };\n"],"names":[],"mappings":";;;;;AAKA,MAAM,oBAAoB,MAAM;AACxB,QAAA,EAAE,kBAAkB;AAGxB,SAAA,oBAAC,QACC,EAAA,UAAA,qBAAC,MACC,EAAA,UAAA;AAAA,IAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,OAAO,cAAc,EAAE,IAAI,oBAAoB,gBAAgB,cAAc;AAAA,QAC7E,UAAU,cAAc;AAAA,UACtB,IAAI;AAAA,UACJ,gBAAgB;AAAA,QAAA,CACjB;AAAA,MAAA;AAAA,IACH;AAAA,IACC,oBAAA,KAAA,EAAI,aAAa,IAAI,cAAc,IAClC,UAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAM,oBAAC,kBAAiB,EAAA,OAAM,QAAQ,CAAA;AAAA,QACtC,SAAS,cAAc;AAAA,UACrB,IAAI;AAAA,UACJ,gBACE;AAAA,QAAA,CACH;AAAA,QACD,QACE;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,SAAQ;AAAA,YACR,6BAAU,cAAa,EAAA;AAAA,YACvB,MAAK;AAAA,YACL,YAAU;AAAA,YACV,QAAO;AAAA,YAEN,UAAc,cAAA;AAAA,cACb,IAAI;AAAA,cACJ,gBAAgB;AAAA,YAAA,CACjB;AAAA,UAAA;AAAA,QACH;AAAA,MAAA;AAAA,IAAA,GAGN;AAAA,EAAA,EACF,CAAA,EACF,CAAA;AAEJ;"}
@@ -24,7 +24,7 @@ const PurchaseAuditLogs = () => {
24
24
  icon: /* @__PURE__ */ jsxRuntime.jsx(Icons.EmptyPermissions, { width: "10rem" }),
25
25
  content: formatMessage({
26
26
  id: "Settings.permissions.auditLogs.not-available",
27
- defaultMessage: "Audit Logs is only available as part of the Enterprise Edition. Upgrade to get a searchable and filterable display of all activities."
27
+ defaultMessage: "Audit Logs is only available as part of a paid plan. Upgrade to get a searchable and filterable display of all activities."
28
28
  }),
29
29
  action: /* @__PURE__ */ jsxRuntime.jsx(
30
30
  v2.LinkButton,
@@ -45,4 +45,4 @@ const PurchaseAuditLogs = () => {
45
45
  ] }) });
46
46
  };
47
47
  exports.PurchaseAuditLogs = PurchaseAuditLogs;
48
- //# sourceMappingURL=PurchaseAuditLogs--hjsKHHW.js.map
48
+ //# sourceMappingURL=PurchaseAuditLogs-bs-tiD4M.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PurchaseAuditLogs-bs-tiD4M.js","sources":["../../admin/src/pages/Settings/pages/PurchaseAuditLogs.tsx"],"sourcesContent":["import { Box, Layout, Main, HeaderLayout, EmptyStateLayout } from '@strapi/design-system';\nimport { LinkButton } from '@strapi/design-system/v2';\nimport { ExternalLink, EmptyPermissions } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nconst PurchaseAuditLogs = () => {\n const { formatMessage } = useIntl();\n\n return (\n <Layout>\n <Main>\n <HeaderLayout\n title={formatMessage({ id: 'global.auditLogs', defaultMessage: 'Audit Logs' })}\n subtitle={formatMessage({\n id: 'Settings.permissions.auditLogs.listview.header.subtitle',\n defaultMessage: 'Logs of all the activities that happened in your environment',\n })}\n />\n <Box paddingLeft={10} paddingRight={10}>\n <EmptyStateLayout\n icon={<EmptyPermissions width=\"10rem\" />}\n content={formatMessage({\n id: 'Settings.permissions.auditLogs.not-available',\n defaultMessage:\n 'Audit Logs is only available as part of a paid plan. Upgrade to get a searchable and filterable display of all activities.',\n })}\n action={\n <LinkButton\n variant=\"default\"\n endIcon={<ExternalLink />}\n href=\"https://strp.cc/45mbAdF\"\n isExternal\n target=\"_blank\"\n >\n {formatMessage({\n id: 'global.learn-more',\n defaultMessage: 'Learn more',\n })}\n </LinkButton>\n }\n />\n </Box>\n </Main>\n </Layout>\n );\n};\n\nexport { PurchaseAuditLogs };\n"],"names":["useIntl","jsx","Layout","jsxs","Main","HeaderLayout","Box","EmptyStateLayout","EmptyPermissions","LinkButton","ExternalLink"],"mappings":";;;;;;;AAKA,MAAM,oBAAoB,MAAM;AACxB,QAAA,EAAE,kBAAkBA,UAAAA;AAGxB,SAAAC,2BAAAA,IAACC,aAAAA,QACC,EAAA,UAAAC,2BAAAA,KAACC,aAAAA,MACC,EAAA,UAAA;AAAA,IAAAH,2BAAA;AAAA,MAACI,aAAA;AAAA,MAAA;AAAA,QACC,OAAO,cAAc,EAAE,IAAI,oBAAoB,gBAAgB,cAAc;AAAA,QAC7E,UAAU,cAAc;AAAA,UACtB,IAAI;AAAA,UACJ,gBAAgB;AAAA,QAAA,CACjB;AAAA,MAAA;AAAA,IACH;AAAA,IACCJ,2BAAA,IAAAK,aAAA,KAAA,EAAI,aAAa,IAAI,cAAc,IAClC,UAAAL,2BAAA;AAAA,MAACM,aAAA;AAAA,MAAA;AAAA,QACC,MAAMN,2BAAAA,IAACO,MAAAA,kBAAiB,EAAA,OAAM,QAAQ,CAAA;AAAA,QACtC,SAAS,cAAc;AAAA,UACrB,IAAI;AAAA,UACJ,gBACE;AAAA,QAAA,CACH;AAAA,QACD,QACEP,2BAAA;AAAA,UAACQ,GAAA;AAAA,UAAA;AAAA,YACC,SAAQ;AAAA,YACR,wCAAUC,MAAa,cAAA,EAAA;AAAA,YACvB,MAAK;AAAA,YACL,YAAU;AAAA,YACV,QAAO;AAAA,YAEN,UAAc,cAAA;AAAA,cACb,IAAI;AAAA,cACJ,gBAAgB;AAAA,YAAA,CACjB;AAAA,UAAA;AAAA,QACH;AAAA,MAAA;AAAA,IAAA,GAGN;AAAA,EAAA,EACF,CAAA,EACF,CAAA;AAEJ;;"}
@@ -27,7 +27,7 @@ const PurchaseReviewWorkflows = () => {
27
27
  icon: /* @__PURE__ */ jsxRuntime.jsx(Icons.EmptyPermissions, { width: "10rem" }),
28
28
  content: formatMessage({
29
29
  id: "Settings.review-workflows.not-available",
30
- defaultMessage: "Review Workflows is only available as part of the Enterprise Edition. Upgrade to create and manage workflows."
30
+ defaultMessage: "Review Workflows is only available as part of a paid plan. Upgrade to create and manage workflows."
31
31
  }),
32
32
  action: /* @__PURE__ */ jsxRuntime.jsx(
33
33
  v2.LinkButton,
@@ -48,4 +48,4 @@ const PurchaseReviewWorkflows = () => {
48
48
  ] }) });
49
49
  };
50
50
  exports.PurchaseReviewWorkflows = PurchaseReviewWorkflows;
51
- //# sourceMappingURL=PurchaseReviewWorkflows-P-FACd5s.js.map
51
+ //# sourceMappingURL=PurchaseReviewWorkflows-cdGh-HED.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PurchaseReviewWorkflows-cdGh-HED.js","sources":["../../admin/src/pages/Settings/pages/PurchaseReviewWorkflows.tsx"],"sourcesContent":["import { Box, Layout, Main, HeaderLayout, EmptyStateLayout } from '@strapi/design-system';\nimport { LinkButton } from '@strapi/design-system/v2';\nimport { ExternalLink, EmptyPermissions } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nconst PurchaseReviewWorkflows = () => {\n const { formatMessage } = useIntl();\n\n return (\n <Layout>\n <Main>\n <HeaderLayout\n title={formatMessage({\n id: 'Settings.review-workflows.list.page.title',\n defaultMessage: 'Review Workflows',\n })}\n subtitle={formatMessage({\n id: 'Settings.review-workflows.list.page.subtitle',\n defaultMessage: 'Manage your content review process',\n })}\n />\n <Box paddingLeft={10} paddingRight={10}>\n <EmptyStateLayout\n icon={<EmptyPermissions width=\"10rem\" />}\n content={formatMessage({\n id: 'Settings.review-workflows.not-available',\n defaultMessage:\n 'Review Workflows is only available as part of a paid plan. Upgrade to create and manage workflows.',\n })}\n action={\n <LinkButton\n variant=\"default\"\n endIcon={<ExternalLink />}\n href=\"https://strp.cc/3tdNfJq\"\n isExternal\n target=\"_blank\"\n >\n {formatMessage({\n id: 'global.learn-more',\n defaultMessage: 'Learn more',\n })}\n </LinkButton>\n }\n />\n </Box>\n </Main>\n </Layout>\n );\n};\n\nexport { PurchaseReviewWorkflows };\n"],"names":["useIntl","jsx","Layout","jsxs","Main","HeaderLayout","Box","EmptyStateLayout","EmptyPermissions","LinkButton","ExternalLink"],"mappings":";;;;;;;AAKA,MAAM,0BAA0B,MAAM;AAC9B,QAAA,EAAE,kBAAkBA,UAAAA;AAGxB,SAAAC,2BAAAA,IAACC,aAAAA,QACC,EAAA,UAAAC,2BAAAA,KAACC,aAAAA,MACC,EAAA,UAAA;AAAA,IAAAH,2BAAA;AAAA,MAACI,aAAA;AAAA,MAAA;AAAA,QACC,OAAO,cAAc;AAAA,UACnB,IAAI;AAAA,UACJ,gBAAgB;AAAA,QAAA,CACjB;AAAA,QACD,UAAU,cAAc;AAAA,UACtB,IAAI;AAAA,UACJ,gBAAgB;AAAA,QAAA,CACjB;AAAA,MAAA;AAAA,IACH;AAAA,IACCJ,2BAAA,IAAAK,aAAA,KAAA,EAAI,aAAa,IAAI,cAAc,IAClC,UAAAL,2BAAA;AAAA,MAACM,aAAA;AAAA,MAAA;AAAA,QACC,MAAMN,2BAAAA,IAACO,MAAAA,kBAAiB,EAAA,OAAM,QAAQ,CAAA;AAAA,QACtC,SAAS,cAAc;AAAA,UACrB,IAAI;AAAA,UACJ,gBACE;AAAA,QAAA,CACH;AAAA,QACD,QACEP,2BAAA;AAAA,UAACQ,GAAA;AAAA,UAAA;AAAA,YACC,SAAQ;AAAA,YACR,wCAAUC,MAAa,cAAA,EAAA;AAAA,YACvB,MAAK;AAAA,YACL,YAAU;AAAA,YACV,QAAO;AAAA,YAEN,UAAc,cAAA;AAAA,cACb,IAAI;AAAA,cACJ,gBAAgB;AAAA,YAAA,CACjB;AAAA,UAAA;AAAA,QACH;AAAA,MAAA;AAAA,IAAA,GAGN;AAAA,EAAA,EACF,CAAA,EACF,CAAA;AAEJ;;"}
@@ -25,7 +25,7 @@ const PurchaseReviewWorkflows = () => {
25
25
  icon: /* @__PURE__ */ jsx(EmptyPermissions, { width: "10rem" }),
26
26
  content: formatMessage({
27
27
  id: "Settings.review-workflows.not-available",
28
- defaultMessage: "Review Workflows is only available as part of the Enterprise Edition. Upgrade to create and manage workflows."
28
+ defaultMessage: "Review Workflows is only available as part of a paid plan. Upgrade to create and manage workflows."
29
29
  }),
30
30
  action: /* @__PURE__ */ jsx(
31
31
  LinkButton,
@@ -48,4 +48,4 @@ const PurchaseReviewWorkflows = () => {
48
48
  export {
49
49
  PurchaseReviewWorkflows
50
50
  };
51
- //# sourceMappingURL=PurchaseReviewWorkflows-zGnRRqrC.mjs.map
51
+ //# sourceMappingURL=PurchaseReviewWorkflows-rVcCufNv.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PurchaseReviewWorkflows-rVcCufNv.mjs","sources":["../../admin/src/pages/Settings/pages/PurchaseReviewWorkflows.tsx"],"sourcesContent":["import { Box, Layout, Main, HeaderLayout, EmptyStateLayout } from '@strapi/design-system';\nimport { LinkButton } from '@strapi/design-system/v2';\nimport { ExternalLink, EmptyPermissions } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nconst PurchaseReviewWorkflows = () => {\n const { formatMessage } = useIntl();\n\n return (\n <Layout>\n <Main>\n <HeaderLayout\n title={formatMessage({\n id: 'Settings.review-workflows.list.page.title',\n defaultMessage: 'Review Workflows',\n })}\n subtitle={formatMessage({\n id: 'Settings.review-workflows.list.page.subtitle',\n defaultMessage: 'Manage your content review process',\n })}\n />\n <Box paddingLeft={10} paddingRight={10}>\n <EmptyStateLayout\n icon={<EmptyPermissions width=\"10rem\" />}\n content={formatMessage({\n id: 'Settings.review-workflows.not-available',\n defaultMessage:\n 'Review Workflows is only available as part of a paid plan. Upgrade to create and manage workflows.',\n })}\n action={\n <LinkButton\n variant=\"default\"\n endIcon={<ExternalLink />}\n href=\"https://strp.cc/3tdNfJq\"\n isExternal\n target=\"_blank\"\n >\n {formatMessage({\n id: 'global.learn-more',\n defaultMessage: 'Learn more',\n })}\n </LinkButton>\n }\n />\n </Box>\n </Main>\n </Layout>\n );\n};\n\nexport { PurchaseReviewWorkflows };\n"],"names":[],"mappings":";;;;;AAKA,MAAM,0BAA0B,MAAM;AAC9B,QAAA,EAAE,kBAAkB;AAGxB,SAAA,oBAAC,QACC,EAAA,UAAA,qBAAC,MACC,EAAA,UAAA;AAAA,IAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,OAAO,cAAc;AAAA,UACnB,IAAI;AAAA,UACJ,gBAAgB;AAAA,QAAA,CACjB;AAAA,QACD,UAAU,cAAc;AAAA,UACtB,IAAI;AAAA,UACJ,gBAAgB;AAAA,QAAA,CACjB;AAAA,MAAA;AAAA,IACH;AAAA,IACC,oBAAA,KAAA,EAAI,aAAa,IAAI,cAAc,IAClC,UAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAM,oBAAC,kBAAiB,EAAA,OAAM,QAAQ,CAAA;AAAA,QACtC,SAAS,cAAc;AAAA,UACrB,IAAI;AAAA,UACJ,gBACE;AAAA,QAAA,CACH;AAAA,QACD,QACE;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,SAAQ;AAAA,YACR,6BAAU,cAAa,EAAA;AAAA,YACvB,MAAK;AAAA,YACL,YAAU;AAAA,YACV,QAAO;AAAA,YAEN,UAAc,cAAA;AAAA,cACb,IAAI;AAAA,cACJ,gBAAgB;AAAA,YAAA,CACjB;AAAA,UAAA;AAAA,QACH;AAAA,MAAA;AAAA,IAAA,GAGN;AAAA,EAAA,EACF,CAAA,EACF,CAAA;AAEJ;"}
@@ -25,7 +25,7 @@ const PurchaseSingleSignOn = () => {
25
25
  icon: /* @__PURE__ */ jsx(EmptyPermissions, { width: "10rem" }),
26
26
  content: formatMessage({
27
27
  id: "Settings.sso.not-available",
28
- defaultMessage: "SSO is only available as part of the Enterprise Edition. Upgrade to configure additional sign-in & sign-up methods for your administration panel."
28
+ defaultMessage: "SSO is only available as part of a paid plan. Upgrade to configure additional sign-in & sign-up methods for your administration panel."
29
29
  }),
30
30
  action: /* @__PURE__ */ jsx(
31
31
  LinkButton,
@@ -48,4 +48,4 @@ const PurchaseSingleSignOn = () => {
48
48
  export {
49
49
  PurchaseSingleSignOn
50
50
  };
51
- //# sourceMappingURL=PurchaseSingleSignOn-BQ5PU-6E.mjs.map
51
+ //# sourceMappingURL=PurchaseSingleSignOn-H8KWtk1K.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PurchaseSingleSignOn-H8KWtk1K.mjs","sources":["../../admin/src/pages/Settings/pages/PurchaseSingleSignOn.tsx"],"sourcesContent":["import { Box, Layout, Main, HeaderLayout, EmptyStateLayout } from '@strapi/design-system';\nimport { LinkButton } from '@strapi/design-system/v2';\nimport { ExternalLink, EmptyPermissions } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nconst PurchaseSingleSignOn = () => {\n const { formatMessage } = useIntl();\n\n return (\n <Layout>\n <Main>\n <HeaderLayout\n title={formatMessage({\n id: 'Settings.sso.title',\n defaultMessage: 'Single Sign-On',\n })}\n subtitle={formatMessage({\n id: 'Settings.sso.subTitle',\n defaultMessage: 'Configure the settings for the Single Sign-On feature.',\n })}\n />\n <Box paddingLeft={10} paddingRight={10}>\n <EmptyStateLayout\n icon={<EmptyPermissions width=\"10rem\" />}\n content={formatMessage({\n id: 'Settings.sso.not-available',\n defaultMessage:\n 'SSO is only available as part of a paid plan. Upgrade to configure additional sign-in & sign-up methods for your administration panel.',\n })}\n action={\n <LinkButton\n variant=\"default\"\n endIcon={<ExternalLink />}\n href=\"https://strp.cc/46Fk1BA\"\n isExternal\n target=\"_blank\"\n >\n {formatMessage({\n id: 'global.learn-more',\n defaultMessage: 'Learn more',\n })}\n </LinkButton>\n }\n />\n </Box>\n </Main>\n </Layout>\n );\n};\n\nexport { PurchaseSingleSignOn };\n"],"names":[],"mappings":";;;;;AAKA,MAAM,uBAAuB,MAAM;AAC3B,QAAA,EAAE,kBAAkB;AAGxB,SAAA,oBAAC,QACC,EAAA,UAAA,qBAAC,MACC,EAAA,UAAA;AAAA,IAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,OAAO,cAAc;AAAA,UACnB,IAAI;AAAA,UACJ,gBAAgB;AAAA,QAAA,CACjB;AAAA,QACD,UAAU,cAAc;AAAA,UACtB,IAAI;AAAA,UACJ,gBAAgB;AAAA,QAAA,CACjB;AAAA,MAAA;AAAA,IACH;AAAA,IACC,oBAAA,KAAA,EAAI,aAAa,IAAI,cAAc,IAClC,UAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAM,oBAAC,kBAAiB,EAAA,OAAM,QAAQ,CAAA;AAAA,QACtC,SAAS,cAAc;AAAA,UACrB,IAAI;AAAA,UACJ,gBACE;AAAA,QAAA,CACH;AAAA,QACD,QACE;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,SAAQ;AAAA,YACR,6BAAU,cAAa,EAAA;AAAA,YACvB,MAAK;AAAA,YACL,YAAU;AAAA,YACV,QAAO;AAAA,YAEN,UAAc,cAAA;AAAA,cACb,IAAI;AAAA,cACJ,gBAAgB;AAAA,YAAA,CACjB;AAAA,UAAA;AAAA,QACH;AAAA,MAAA;AAAA,IAAA,GAGN;AAAA,EAAA,EACF,CAAA,EACF,CAAA;AAEJ;"}