@strapi/admin 4.1.6-alpha.1 → 4.1.8

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 (381) hide show
  1. package/admin/src/assets/images/icon_offline-cloud.svg +5 -0
  2. package/admin/src/content-manager/components/CollectionTypeFormWrapper/index.js +17 -3
  3. package/admin/src/content-manager/components/DynamicTable/CellContent/utils/hasContent.js +37 -2
  4. package/admin/src/content-manager/components/EditViewDataManagerProvider/index.js +37 -37
  5. package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/getAPIInnerError.js +18 -0
  6. package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/handleAPIError.js +15 -0
  7. package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/index.js +0 -1
  8. package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/schema.js +9 -7
  9. package/admin/src/content-manager/components/FieldComponent/index.js +0 -1
  10. package/admin/src/content-manager/components/InputUID/index.js +1 -5
  11. package/admin/src/content-manager/components/Inputs/index.js +4 -6
  12. package/admin/src/content-manager/components/RepeatableComponent/index.js +3 -18
  13. package/admin/src/content-manager/components/RepeatableComponent/utils/getComponentErrorKeys.js +10 -0
  14. package/admin/src/content-manager/components/SingleTypeFormWrapper/index.js +15 -3
  15. package/admin/src/content-manager/components/Wysiwyg/index.js +3 -4
  16. package/admin/src/content-manager/pages/EditSettingsView/components/ModalForm.js +6 -1
  17. package/admin/src/content-manager/pages/EditSettingsView/index.js +1 -1
  18. package/admin/src/content-manager/pages/EditSettingsView/utils/layout.js +7 -1
  19. package/admin/src/content-manager/pages/EditView/DeleteLink/index.js +1 -4
  20. package/admin/src/content-manager/pages/EditView/DraftAndPublishBadge/index.js +1 -4
  21. package/admin/src/content-manager/pages/ListView/selectors.js +3 -6
  22. package/admin/src/content-manager/testUtils/data.js +5 -1
  23. package/admin/src/content-manager/utils/isFieldTypeNumber.js +3 -0
  24. package/admin/src/hooks/useNavigatorOnLine/index.js +31 -0
  25. package/admin/src/pages/MarketplacePage/components/MissingPluginBanner/index.js +40 -0
  26. package/admin/src/pages/MarketplacePage/components/PageHeader/index.js +46 -0
  27. package/admin/src/pages/MarketplacePage/index.js +48 -26
  28. package/admin/src/translations/de.json +244 -23
  29. package/admin/src/translations/en.json +6 -0
  30. package/build/1856.e2bce2e8.chunk.js +171 -0
  31. package/build/2481.5fe150c7.chunk.js +184 -0
  32. package/build/2758.19d211ea.chunk.js +161 -0
  33. package/build/2912.5a7b0406.chunk.js +252 -0
  34. package/build/372.f3b7829c.chunk.js +896 -0
  35. package/build/4715.7f616cf6.chunk.js +387 -0
  36. package/build/4800.d3ebc81d.chunk.js +1 -0
  37. package/build/497.2ba35e90.chunk.js +284 -0
  38. package/build/4982.91235074.chunk.js +310 -0
  39. package/build/5289.ef1a4517.chunk.js +349 -0
  40. package/build/6404.25d0f0d8.chunk.js +508 -0
  41. package/build/6706.b0b5124d.chunk.js +113 -0
  42. package/build/6925.fafef528.chunk.js +761 -0
  43. package/build/7589.f3b26345.chunk.js +194 -0
  44. package/build/7841.0d73dde1.chunk.js +252 -0
  45. package/build/8469.3af1823d.chunk.js +1 -0
  46. package/build/9115.318a6841.chunk.js +1 -0
  47. package/build/9298.22f09063.chunk.js +345 -0
  48. package/build/948.d64fb515.chunk.js +2 -0
  49. package/build/9853.b7d6aba5.chunk.js +354 -0
  50. package/build/Admin-authenticatedApp.f7b81029.chunk.js +80 -0
  51. package/build/Admin_homePage.50b6c129.chunk.js +71 -0
  52. package/build/Admin_marketplace.514ace37.chunk.js +11 -0
  53. package/build/Admin_pluginsPage.e895d79f.chunk.js +1 -0
  54. package/build/Admin_profilePage.33cfed9b.chunk.js +15 -0
  55. package/build/Admin_settingsPage.f83a7c21.chunk.js +172 -0
  56. package/build/a6b842e0b6d2b61135d1.svg +5 -0
  57. package/build/admin-edit-roles-page.06f3d288.chunk.js +1 -0
  58. package/build/admin-edit-users.6a325cca.chunk.js +11 -0
  59. package/build/admin-users.b89adf82.chunk.js +12 -0
  60. package/build/api-tokens-create-page.635e20c8.chunk.js +1 -0
  61. package/build/api-tokens-edit-page.db07253e.chunk.js +1 -0
  62. package/build/api-tokens-list-page.346c2149.chunk.js +15 -0
  63. package/build/ar-json.d4cb26d9.chunk.js +1 -0
  64. package/build/codemirror-addon-closebrackets.c0f97916.chunk.js +2 -0
  65. package/build/codemirror-addon-lint-js.7c35dcb0.chunk.js +1 -0
  66. package/build/codemirror-addon-lint.505ff1d4.chunk.js +1 -0
  67. package/build/codemirror-addon-mark-selection.653e904d.chunk.js +1 -0
  68. package/build/codemirror-css.98490df3.chunk.js +346 -0
  69. package/build/codemirror-javacript.cafbda9c.chunk.js +1 -0
  70. package/build/codemirror-theme.b3c64617.chunk.js +34 -0
  71. package/build/content-manager.78e3f35c.chunk.js +1204 -0
  72. package/build/content-type-builder-translation-ar-json.142327af.chunk.js +1 -0
  73. package/build/content-type-builder-translation-cs-json.4aafb972.chunk.js +1 -0
  74. package/build/content-type-builder-translation-de-json.0d7696b9.chunk.js +1 -0
  75. package/build/{content-type-builder-translation-dk-json.52805572.chunk.js → content-type-builder-translation-dk-json.4729f055.chunk.js} +1 -1
  76. package/build/content-type-builder-translation-en-json.e5110288.chunk.js +1 -0
  77. package/build/{content-type-builder-translation-es-json.5a362abf.chunk.js → content-type-builder-translation-es-json.333cf47f.chunk.js} +1 -1
  78. package/build/content-type-builder-translation-fr-json.aa6eeea8.chunk.js +1 -0
  79. package/build/{content-type-builder-translation-id-json.4a21dfab.chunk.js → content-type-builder-translation-id-json.7c00a32a.chunk.js} +1 -1
  80. package/build/content-type-builder-translation-it-json.a906b389.chunk.js +1 -0
  81. package/build/content-type-builder-translation-ja-json.87f71930.chunk.js +1 -0
  82. package/build/content-type-builder-translation-ko-json.51201b12.chunk.js +1 -0
  83. package/build/{content-type-builder-translation-ms-json.3755f8c8.chunk.js → content-type-builder-translation-ms-json.963a1a01.chunk.js} +1 -1
  84. package/build/{content-type-builder-translation-nl-json.6f8d924b.chunk.js → content-type-builder-translation-nl-json.c46c8f30.chunk.js} +1 -1
  85. package/build/{content-type-builder-translation-pl-json.fc0b0c20.chunk.js → content-type-builder-translation-pl-json.a866acda.chunk.js} +1 -1
  86. package/build/content-type-builder-translation-pt-BR-json.5739a2aa.chunk.js +1 -0
  87. package/build/content-type-builder-translation-pt-json.766bd747.chunk.js +1 -0
  88. package/build/content-type-builder-translation-ru-json.cf8d7c5c.chunk.js +1 -0
  89. package/build/content-type-builder-translation-sk-json.3a6defe0.chunk.js +1 -0
  90. package/build/content-type-builder-translation-th-json.c96a2d3f.chunk.js +1 -0
  91. package/build/content-type-builder-translation-tr-json.2e52bc60.chunk.js +1 -0
  92. package/build/content-type-builder-translation-uk-json.d8c0b6dd.chunk.js +1 -0
  93. package/build/content-type-builder-translation-zh-Hans-json.92a27f59.chunk.js +1 -0
  94. package/build/content-type-builder-translation-zh-json.2cc55621.chunk.js +1 -0
  95. package/build/content-type-builder.0d8729ad.chunk.js +141 -0
  96. package/build/cropper-css.0055cd53.chunk.js +306 -0
  97. package/build/cs-json.c8f28ba8.chunk.js +1 -0
  98. package/build/de-json.0b92acd2.chunk.js +1 -0
  99. package/build/{dk-json.fb9ee45a.chunk.js → dk-json.9f1bc016.chunk.js} +1 -1
  100. package/build/email-settings-page.c520fd0d.chunk.js +103 -0
  101. package/build/{email-translation-de-json.559a7d5f.chunk.js → email-translation-ar-json.c624512d.chunk.js} +1 -1
  102. package/build/{email-translation-ar-json.95d90eb4.chunk.js → email-translation-cs-json.cb18caab.chunk.js} +1 -1
  103. package/build/{email-translation-it-json.3de61cb6.chunk.js → email-translation-de-json.54743260.chunk.js} +1 -1
  104. package/build/{email-translation-dk-json.f8a595bf.chunk.js → email-translation-dk-json.f323fe4e.chunk.js} +1 -1
  105. package/build/{email-translation-en-json.fa0dc92b.chunk.js → email-translation-en-json.6da7e388.chunk.js} +1 -1
  106. package/build/{email-translation-es-json.eb303dea.chunk.js → email-translation-es-json.9021417d.chunk.js} +1 -1
  107. package/build/{email-translation-fr-json.49c3c888.chunk.js → email-translation-fr-json.9f125db0.chunk.js} +1 -1
  108. package/build/email-translation-id-json.3bcae5f5.chunk.js +1 -0
  109. package/build/{email-translation-cs-json.dfd1f3f2.chunk.js → email-translation-it-json.6ffd1774.chunk.js} +1 -1
  110. package/build/email-translation-ja-json.72b3f73c.chunk.js +1 -0
  111. package/build/email-translation-ko-json.e61d4e7a.chunk.js +1 -0
  112. package/build/email-translation-ms-json.b2b11e05.chunk.js +1 -0
  113. package/build/email-translation-nl-json.5349635f.chunk.js +1 -0
  114. package/build/email-translation-pl-json.6da50d0f.chunk.js +1 -0
  115. package/build/email-translation-pt-BR-json.2c98ab20.chunk.js +1 -0
  116. package/build/email-translation-pt-json.959ea070.chunk.js +1 -0
  117. package/build/email-translation-ru-json.d508cf3e.chunk.js +1 -0
  118. package/build/email-translation-sk-json.fa1fd4b3.chunk.js +1 -0
  119. package/build/email-translation-th-json.989cfecc.chunk.js +1 -0
  120. package/build/email-translation-tr-json.87f2feb3.chunk.js +1 -0
  121. package/build/email-translation-uk-json.0396a803.chunk.js +1 -0
  122. package/build/email-translation-vi-json.c0d8c414.chunk.js +1 -0
  123. package/build/email-translation-zh-Hans-json.b463cb25.chunk.js +1 -0
  124. package/build/email-translation-zh-json.3455468b.chunk.js +1 -0
  125. package/build/en-json.3e1a222e.chunk.js +1 -0
  126. package/build/{es-json.8f4d89e2.chunk.js → es-json.2a5a9fc1.chunk.js} +1 -1
  127. package/build/fontawesome-css-all.b88d464e.chunk.js +4618 -0
  128. package/build/fontawesome-css.59dc4459.chunk.js +6 -0
  129. package/build/fontawesome-js.252cc5f3.chunk.js +7 -0
  130. package/build/fr-json.84064a0b.chunk.js +1 -0
  131. package/build/he-json.d40da459.chunk.js +1 -0
  132. package/build/highlight.js.9d8ef460.chunk.js +86 -0
  133. package/build/hu-json.c81ce352.chunk.js +1 -0
  134. package/build/i18n-settings-page.24c106d4.chunk.js +101 -0
  135. package/build/{i18n-translation-de-json.96ae1f68.chunk.js → i18n-translation-de-json.92534555.chunk.js} +1 -1
  136. package/build/{i18n-translation-dk-json.ecf02d28.chunk.js → i18n-translation-dk-json.54f410ca.chunk.js} +1 -1
  137. package/build/{i18n-translation-en-json.4d823f62.chunk.js → i18n-translation-en-json.85bc892c.chunk.js} +1 -1
  138. package/build/i18n-translation-es-json.488206ae.chunk.js +1 -0
  139. package/build/i18n-translation-fr-json.0839d68d.chunk.js +1 -0
  140. package/build/i18n-translation-ko-json.d0bc1203.chunk.js +1 -0
  141. package/build/i18n-translation-zh-Hans-json.560a98e3.chunk.js +1 -0
  142. package/build/{id-json.fef679cb.chunk.js → id-json.fad45d17.chunk.js} +1 -1
  143. package/build/index.html +1 -1
  144. package/build/it-json.12df4cdf.chunk.js +1 -0
  145. package/build/ja-json.850237e9.chunk.js +1 -0
  146. package/build/ko-json.2f3d256e.chunk.js +1 -0
  147. package/build/main.3ca0e44c.js +7918 -0
  148. package/build/{ms-json.f46167ef.chunk.js → ms-json.836ed013.chunk.js} +1 -1
  149. package/build/nl-json.465b173f.chunk.js +1 -0
  150. package/build/{no-json.17ecda5d.chunk.js → no-json.e8749dd4.chunk.js} +1 -1
  151. package/build/{pl-json.0db77f2c.chunk.js → pl-json.94f05d2c.chunk.js} +1 -1
  152. package/build/{pt-BR-json.4c90cb2d.chunk.js → pt-BR-json.6301d49b.chunk.js} +1 -1
  153. package/build/pt-json.c23020ab.chunk.js +1 -0
  154. package/build/ru-json.4560906c.chunk.js +1 -0
  155. package/build/runtime~main.fcd5a5b5.js +2 -0
  156. package/build/sk-json.5b33afc2.chunk.js +1 -0
  157. package/build/sso-settings-page.0b4d2106.chunk.js +1 -0
  158. package/build/sv-json.cdcac02d.chunk.js +1 -0
  159. package/build/th-json.3aadaec6.chunk.js +1 -0
  160. package/build/tr-json.276e59fe.chunk.js +1 -0
  161. package/build/uk-json.5b5b9c27.chunk.js +1 -0
  162. package/build/upload-settings.4fcb502d.chunk.js +101 -0
  163. package/build/upload-translation-de-json.b642da08.chunk.js +1 -0
  164. package/build/{upload-translation-dk-json.b74134c8.chunk.js → upload-translation-dk-json.fc61df13.chunk.js} +1 -1
  165. package/build/{upload-translation-en-json.c4e56528.chunk.js → upload-translation-en-json.59269508.chunk.js} +1 -1
  166. package/build/{upload-translation-es-json.15a3015f.chunk.js → upload-translation-es-json.8ec935ef.chunk.js} +1 -1
  167. package/build/upload-translation-fr-json.eb9b4f84.chunk.js +1 -0
  168. package/build/upload-translation-he-json.c226f2dc.chunk.js +1 -0
  169. package/build/upload-translation-it-json.8e58456e.chunk.js +1 -0
  170. package/build/upload-translation-ja-json.1378a2e7.chunk.js +1 -0
  171. package/build/upload-translation-ko-json.5e06e112.chunk.js +1 -0
  172. package/build/{upload-translation-ms-json.30974c82.chunk.js → upload-translation-ms-json.dc3bf0d7.chunk.js} +1 -1
  173. package/build/{upload-translation-pl-json.3740abed.chunk.js → upload-translation-pl-json.6071e38c.chunk.js} +1 -1
  174. package/build/upload-translation-pt-BR-json.7e8d9550.chunk.js +1 -0
  175. package/build/upload-translation-ru-json.da2529f3.chunk.js +1 -0
  176. package/build/upload-translation-sk-json.bfdf4f09.chunk.js +1 -0
  177. package/build/upload-translation-th-json.6a48b826.chunk.js +1 -0
  178. package/build/upload-translation-uk-json.6fb09148.chunk.js +1 -0
  179. package/build/upload-translation-zh-Hans-json.c9622577.chunk.js +1 -0
  180. package/build/upload-translation-zh-json.711f804b.chunk.js +1 -0
  181. package/build/upload.0ca61128.chunk.js +105 -0
  182. package/build/users-advanced-settings-page.a8c38517.chunk.js +101 -0
  183. package/build/users-email-settings-page.8b561ea3.chunk.js +1 -0
  184. package/build/users-permissions-translation-ar-json.e8123ed2.chunk.js +1 -0
  185. package/build/users-permissions-translation-cs-json.e6649c5f.chunk.js +1 -0
  186. package/build/{users-permissions-translation-de-json.a5c8db9c.chunk.js → users-permissions-translation-de-json.c3628843.chunk.js} +1 -1
  187. package/build/{users-permissions-translation-dk-json.1fe5e07a.chunk.js → users-permissions-translation-dk-json.fe39c74b.chunk.js} +1 -1
  188. package/build/users-permissions-translation-en-json.3fe86528.chunk.js +1 -0
  189. package/build/{users-permissions-translation-es-json.05669296.chunk.js → users-permissions-translation-es-json.1bb9cde2.chunk.js} +1 -1
  190. package/build/users-permissions-translation-fr-json.172aa69f.chunk.js +1 -0
  191. package/build/{users-permissions-translation-id-json.186a3f65.chunk.js → users-permissions-translation-id-json.5aadd143.chunk.js} +1 -1
  192. package/build/users-permissions-translation-it-json.7d377480.chunk.js +1 -0
  193. package/build/users-permissions-translation-ja-json.4967badf.chunk.js +1 -0
  194. package/build/users-permissions-translation-ko-json.3be77775.chunk.js +1 -0
  195. package/build/{users-permissions-translation-ms-json.3a128ff4.chunk.js → users-permissions-translation-ms-json.ea8a2baf.chunk.js} +1 -1
  196. package/build/{users-permissions-translation-nl-json.4146aed1.chunk.js → users-permissions-translation-nl-json.d638c4ce.chunk.js} +1 -1
  197. package/build/{users-permissions-translation-pl-json.a61de7ed.chunk.js → users-permissions-translation-pl-json.3c4fe81c.chunk.js} +1 -1
  198. package/build/users-permissions-translation-pt-BR-json.f6791a86.chunk.js +1 -0
  199. package/build/users-permissions-translation-pt-json.38afed04.chunk.js +1 -0
  200. package/build/users-permissions-translation-ru-json.319d51ef.chunk.js +1 -0
  201. package/build/users-permissions-translation-sk-json.ba1cd385.chunk.js +1 -0
  202. package/build/users-permissions-translation-sv-json.83c60841.chunk.js +1 -0
  203. package/build/users-permissions-translation-th-json.68873214.chunk.js +1 -0
  204. package/build/users-permissions-translation-tr-json.cdc49a3c.chunk.js +1 -0
  205. package/build/users-permissions-translation-uk-json.63eaa01c.chunk.js +1 -0
  206. package/build/users-permissions-translation-vi-json.dccc02fc.chunk.js +1 -0
  207. package/build/users-permissions-translation-zh-Hans-json.c3fd301b.chunk.js +1 -0
  208. package/build/users-permissions-translation-zh-json.e03ae2a4.chunk.js +1 -0
  209. package/build/users-providers-settings-page.82141ace.chunk.js +1 -0
  210. package/build/users-roles-settings-page.97d7092d.chunk.js +30 -0
  211. package/build/vi-json.3d14e91e.chunk.js +1 -0
  212. package/build/webhook-edit-page.2e6727ab.chunk.js +23 -0
  213. package/build/webhook-list-page.d893312b.chunk.js +132 -0
  214. package/build/zh-Hans-json.c84ce330.chunk.js +1 -0
  215. package/build/zh-json.96bf6019.chunk.js +1 -0
  216. package/package.json +8 -12
  217. package/scripts/build.js +1 -1
  218. package/server/bootstrap.js +3 -1
  219. package/server/config/index.js +0 -1
  220. package/server/controllers/admin.js +7 -1
  221. package/server/services/api-token.js +15 -14
  222. package/server/services/token.js +13 -0
  223. package/server/validation/permission.js +5 -1
  224. package/webpack.config.js +77 -58
  225. package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/getYupInnerErrors.js +0 -17
  226. package/build/1094.e1db3a1a.chunk.js +0 -1
  227. package/build/1454.f065d92a.chunk.js +0 -2
  228. package/build/1454.f065d92a.chunk.js.LICENSE.txt +0 -7
  229. package/build/1856.a30bd09b.chunk.js +0 -1
  230. package/build/2481.4eae9408.chunk.js +0 -1
  231. package/build/2912.c5f76e65.chunk.js +0 -1
  232. package/build/4362.d8299f0c.chunk.js +0 -1
  233. package/build/4715.8a2db02a.chunk.js +0 -1
  234. package/build/4800.f4a1384a.chunk.js +0 -1
  235. package/build/497.3fcf6196.chunk.js +0 -1
  236. package/build/4982.601f6196.chunk.js +0 -1
  237. package/build/6404.3c2d0a81.chunk.js +0 -1
  238. package/build/6925.bd694b04.chunk.js +0 -2
  239. package/build/6925.bd694b04.chunk.js.LICENSE.txt +0 -5
  240. package/build/7841.490dbbf1.chunk.js +0 -1
  241. package/build/8042.1d66811a.chunk.js +0 -2
  242. package/build/8042.1d66811a.chunk.js.LICENSE.txt +0 -4
  243. package/build/8469.8d819a3c.chunk.js +0 -1
  244. package/build/849.82c29ba7.chunk.js +0 -1
  245. package/build/9235.ced8aebf.chunk.js +0 -1
  246. package/build/9260.4233fae2.chunk.js +0 -2
  247. package/build/9260.4233fae2.chunk.js.LICENSE.txt +0 -15
  248. package/build/9853.6ff595fa.chunk.js +0 -1
  249. package/build/9988.fe838ba6.chunk.js +0 -2
  250. package/build/9988.fe838ba6.chunk.js.LICENSE.txt +0 -9
  251. package/build/Admin-authenticatedApp.cf7104f9.chunk.js +0 -1
  252. package/build/Admin_homePage.4a3aa22e.chunk.js +0 -1
  253. package/build/Admin_marketplace.4748c8f6.chunk.js +0 -1
  254. package/build/Admin_pluginsPage.89a96d29.chunk.js +0 -1
  255. package/build/Admin_profilePage.7869a07a.chunk.js +0 -1
  256. package/build/Admin_settingsPage.2763454c.chunk.js +0 -1
  257. package/build/admin-edit-roles-page.fbcc195d.chunk.js +0 -1
  258. package/build/admin-edit-users.91e8f5e4.chunk.js +0 -1
  259. package/build/admin-users.0a6acd73.chunk.js +0 -1
  260. package/build/api-tokens-create-page.76e13a35.chunk.js +0 -1
  261. package/build/api-tokens-edit-page.b3d48a7f.chunk.js +0 -1
  262. package/build/api-tokens-list-page.4e822ac8.chunk.js +0 -1
  263. package/build/ar-json.cc19c13c.chunk.js +0 -1
  264. package/build/codemirror-addon-closebrackets.0cfe64d0.chunk.js +0 -1
  265. package/build/codemirror-addon-lint-js.a6eeef9c.chunk.js +0 -1
  266. package/build/codemirror-addon-lint.91580cda.chunk.js +0 -1
  267. package/build/codemirror-addon-mark-selection.4dca121f.chunk.js +0 -1
  268. package/build/codemirror-css.48b438c9.chunk.js +0 -1
  269. package/build/codemirror-javacript.8c7c015d.chunk.js +0 -1
  270. package/build/codemirror-theme.b5559efc.chunk.js +0 -1
  271. package/build/content-manager.2f6a2082.chunk.js +0 -1
  272. package/build/content-type-builder-translation-ar-json.ab0a0caa.chunk.js +0 -1
  273. package/build/content-type-builder-translation-cs-json.e3913c9f.chunk.js +0 -1
  274. package/build/content-type-builder-translation-de-json.5eb3135d.chunk.js +0 -1
  275. package/build/content-type-builder-translation-en-json.e51b2ec3.chunk.js +0 -1
  276. package/build/content-type-builder-translation-fr-json.afd4a12f.chunk.js +0 -1
  277. package/build/content-type-builder-translation-it-json.4fa203b1.chunk.js +0 -1
  278. package/build/content-type-builder-translation-ja-json.cbb3b88a.chunk.js +0 -1
  279. package/build/content-type-builder-translation-ko-json.7daf86c3.chunk.js +0 -1
  280. package/build/content-type-builder-translation-pt-BR-json.86b192fa.chunk.js +0 -1
  281. package/build/content-type-builder-translation-pt-json.b584f79f.chunk.js +0 -1
  282. package/build/content-type-builder-translation-ru-json.7648049a.chunk.js +0 -1
  283. package/build/content-type-builder-translation-sk-json.c12a8dec.chunk.js +0 -1
  284. package/build/content-type-builder-translation-th-json.668cd5f5.chunk.js +0 -1
  285. package/build/content-type-builder-translation-tr-json.0f52e1e8.chunk.js +0 -1
  286. package/build/content-type-builder-translation-uk-json.4bf80448.chunk.js +0 -1
  287. package/build/content-type-builder-translation-zh-Hans-json.76e58138.chunk.js +0 -1
  288. package/build/content-type-builder-translation-zh-json.0bec81f1.chunk.js +0 -1
  289. package/build/content-type-builder.19ae7eef.chunk.js +0 -1
  290. package/build/cropper-css.ace19575.chunk.js +0 -1
  291. package/build/cs-json.ce6f2e52.chunk.js +0 -1
  292. package/build/de-json.2087d61e.chunk.js +0 -1
  293. package/build/email-settings-page.40ee2bda.chunk.js +0 -1
  294. package/build/email-translation-id-json.e3c2101d.chunk.js +0 -1
  295. package/build/email-translation-ja-json.66337e44.chunk.js +0 -1
  296. package/build/email-translation-ko-json.52bbd7b4.chunk.js +0 -1
  297. package/build/email-translation-ms-json.e39256df.chunk.js +0 -1
  298. package/build/email-translation-nl-json.12d28adb.chunk.js +0 -1
  299. package/build/email-translation-pl-json.9585a84e.chunk.js +0 -1
  300. package/build/email-translation-pt-BR-json.6c04b3ef.chunk.js +0 -1
  301. package/build/email-translation-pt-json.0239be04.chunk.js +0 -1
  302. package/build/email-translation-ru-json.f3b4fecc.chunk.js +0 -1
  303. package/build/email-translation-sk-json.76dbaaa6.chunk.js +0 -1
  304. package/build/email-translation-th-json.25ad73e7.chunk.js +0 -1
  305. package/build/email-translation-tr-json.ae04a9f2.chunk.js +0 -1
  306. package/build/email-translation-uk-json.03b27b08.chunk.js +0 -1
  307. package/build/email-translation-vi-json.3e1dd5b3.chunk.js +0 -1
  308. package/build/email-translation-zh-Hans-json.0df4ca59.chunk.js +0 -1
  309. package/build/email-translation-zh-json.82978eb0.chunk.js +0 -1
  310. package/build/en-json.c55e5344.chunk.js +0 -1
  311. package/build/fontawesome-css-all.3b89f909.chunk.js +0 -1
  312. package/build/fontawesome-css.36cff9ae.chunk.js +0 -1
  313. package/build/fontawesome-js.2639263c.chunk.js +0 -2
  314. package/build/fontawesome-js.2639263c.chunk.js.LICENSE.txt +0 -4
  315. package/build/fr-json.2a0b93ed.chunk.js +0 -1
  316. package/build/he-json.917d416c.chunk.js +0 -1
  317. package/build/highlight.js.6321cb45.chunk.js +0 -1
  318. package/build/hu-json.bee23c51.chunk.js +0 -1
  319. package/build/i18n-settings-page.1f6be747.chunk.js +0 -1
  320. package/build/i18n-translation-es-json.7049afa2.chunk.js +0 -1
  321. package/build/i18n-translation-fr-json.c6367bc9.chunk.js +0 -1
  322. package/build/i18n-translation-ko-json.aecb7e01.chunk.js +0 -1
  323. package/build/i18n-translation-zh-Hans-json.258b2e1a.chunk.js +0 -1
  324. package/build/it-json.937b2108.chunk.js +0 -1
  325. package/build/ja-json.b4818378.chunk.js +0 -1
  326. package/build/ko-json.8294a7fc.chunk.js +0 -1
  327. package/build/main.06e1a4bf.js +0 -2
  328. package/build/main.06e1a4bf.js.LICENSE.txt +0 -91
  329. package/build/nl-json.86eae27d.chunk.js +0 -1
  330. package/build/pt-json.ef0efd89.chunk.js +0 -1
  331. package/build/ru-json.da33236d.chunk.js +0 -1
  332. package/build/runtime~main.b090a1bb.js +0 -1
  333. package/build/sk-json.797e898f.chunk.js +0 -1
  334. package/build/sso-settings-page.c5dda65d.chunk.js +0 -1
  335. package/build/sv-json.5bbe6a4f.chunk.js +0 -1
  336. package/build/th-json.c1393c06.chunk.js +0 -1
  337. package/build/tr-json.57cde8b0.chunk.js +0 -1
  338. package/build/uk-json.c6df66d2.chunk.js +0 -1
  339. package/build/upload-settings.9d3231f4.chunk.js +0 -1
  340. package/build/upload-translation-de-json.55a7e43a.chunk.js +0 -1
  341. package/build/upload-translation-fr-json.b12f7247.chunk.js +0 -1
  342. package/build/upload-translation-he-json.bee013d1.chunk.js +0 -1
  343. package/build/upload-translation-it-json.43ec0a8d.chunk.js +0 -1
  344. package/build/upload-translation-ja-json.03f1af04.chunk.js +0 -1
  345. package/build/upload-translation-ko-json.08ad9013.chunk.js +0 -1
  346. package/build/upload-translation-pt-BR-json.c7656183.chunk.js +0 -1
  347. package/build/upload-translation-ru-json.0dd4f526.chunk.js +0 -1
  348. package/build/upload-translation-sk-json.55cacd22.chunk.js +0 -1
  349. package/build/upload-translation-th-json.f7aa9392.chunk.js +0 -1
  350. package/build/upload-translation-uk-json.696a16f3.chunk.js +0 -1
  351. package/build/upload-translation-zh-Hans-json.de7bc63f.chunk.js +0 -1
  352. package/build/upload-translation-zh-json.bbc1ed41.chunk.js +0 -1
  353. package/build/upload.8edef1ea.chunk.js +0 -1
  354. package/build/users-advanced-settings-page.48c437f0.chunk.js +0 -1
  355. package/build/users-email-settings-page.f39866d6.chunk.js +0 -1
  356. package/build/users-permissions-translation-ar-json.667e7eee.chunk.js +0 -1
  357. package/build/users-permissions-translation-cs-json.995b5d76.chunk.js +0 -1
  358. package/build/users-permissions-translation-en-json.0e0bc290.chunk.js +0 -1
  359. package/build/users-permissions-translation-fr-json.3e3522c3.chunk.js +0 -1
  360. package/build/users-permissions-translation-it-json.ee5742c4.chunk.js +0 -1
  361. package/build/users-permissions-translation-ja-json.c9cafa6e.chunk.js +0 -1
  362. package/build/users-permissions-translation-ko-json.170f89c2.chunk.js +0 -1
  363. package/build/users-permissions-translation-pt-BR-json.51b1cc15.chunk.js +0 -1
  364. package/build/users-permissions-translation-pt-json.85f0e0e1.chunk.js +0 -1
  365. package/build/users-permissions-translation-ru-json.a19b2400.chunk.js +0 -1
  366. package/build/users-permissions-translation-sk-json.27af7260.chunk.js +0 -1
  367. package/build/users-permissions-translation-sv-json.739657b9.chunk.js +0 -1
  368. package/build/users-permissions-translation-th-json.f001fff3.chunk.js +0 -1
  369. package/build/users-permissions-translation-tr-json.3aae5dda.chunk.js +0 -1
  370. package/build/users-permissions-translation-uk-json.a66c7a8c.chunk.js +0 -1
  371. package/build/users-permissions-translation-vi-json.685c65cc.chunk.js +0 -1
  372. package/build/users-permissions-translation-zh-Hans-json.2202741e.chunk.js +0 -1
  373. package/build/users-permissions-translation-zh-json.429a3190.chunk.js +0 -1
  374. package/build/users-providers-settings-page.574ed765.chunk.js +0 -1
  375. package/build/users-roles-settings-page.b836dc30.chunk.js +0 -1
  376. package/build/vi-json.104a6f3a.chunk.js +0 -1
  377. package/build/webhook-edit-page.b791c6f9.chunk.js +0 -1
  378. package/build/webhook-list-page.502d1236.chunk.js +0 -1
  379. package/build/zh-Hans-json.9afc1adf.chunk.js +0 -1
  380. package/build/zh-json.f36abb77.chunk.js +0 -1
  381. package/server/config/api-token.js +0 -7
@@ -15,12 +15,9 @@ const listViewDomain = () => state => state['content-manager_listView'] || initi
15
15
  */
16
16
 
17
17
  const makeSelectListView = () =>
18
- createSelector(
19
- listViewDomain(),
20
- substate => {
21
- return substate;
22
- }
23
- );
18
+ createSelector(listViewDomain(), substate => {
19
+ return substate;
20
+ });
24
21
 
25
22
  const selectDisplayedHeaders = state => {
26
23
  const { displayedHeaders } = state['content-manager_listView'];
@@ -140,7 +140,11 @@ const testData = {
140
140
  id: 1,
141
141
  name: 'name',
142
142
  subcomponotrepeatable: { id: 4, name: 'name' },
143
- subrepeatable: [{ id: 1, name: 'name' }, { id: 2, name: 'name' }, { id: 3, name: 'name' }],
143
+ subrepeatable: [
144
+ { id: 1, name: 'name' },
145
+ { id: 2, name: 'name' },
146
+ { id: 3, name: 'name' },
147
+ ],
144
148
  },
145
149
  repeatable: [
146
150
  {
@@ -0,0 +1,3 @@
1
+ export default function isFieldTypeNumber(type) {
2
+ return ['integer', 'biginteger', 'decimal', 'float', 'number'].includes(type);
3
+ }
@@ -0,0 +1,31 @@
1
+ import { useEffect, useState } from 'react';
2
+
3
+ /**
4
+ * For more details about this hook see:
5
+ * https://www.30secondsofcode.org/react/s/use-navigator-on-line
6
+ */
7
+ const useNavigatorOnLine = () => {
8
+ const onlineStatus =
9
+ typeof navigator !== 'undefined' && typeof navigator.onLine === 'boolean'
10
+ ? navigator.onLine
11
+ : true;
12
+
13
+ const [isOnline, setIsOnline] = useState(onlineStatus);
14
+
15
+ const setOnline = () => setIsOnline(true);
16
+ const setOffline = () => setIsOnline(false);
17
+
18
+ useEffect(() => {
19
+ window.addEventListener('online', setOnline);
20
+ window.addEventListener('offline', setOffline);
21
+
22
+ return () => {
23
+ window.removeEventListener('online', setOnline);
24
+ window.removeEventListener('offline', setOffline);
25
+ };
26
+ }, []);
27
+
28
+ return isOnline;
29
+ };
30
+
31
+ export default useNavigatorOnLine;
@@ -0,0 +1,40 @@
1
+ import React from 'react';
2
+ import { useIntl } from 'react-intl';
3
+ import { ContentBox, useTracking } from '@strapi/helper-plugin';
4
+ import GlassesSquare from '@strapi/icons/GlassesSquare';
5
+ import ExternalLink from '@strapi/icons/ExternalLink';
6
+ import { Icon } from '@strapi/design-system/Icon';
7
+
8
+ const MissingPluginBanner = () => {
9
+ const { formatMessage } = useIntl();
10
+ const { trackUsage } = useTracking();
11
+
12
+ return (
13
+ <a
14
+ href="https://strapi.canny.io/plugin-requests"
15
+ target="_blank"
16
+ rel="noopener noreferrer nofollow"
17
+ style={{ textDecoration: 'none' }}
18
+ onClick={() => trackUsage('didMissMarketplacePlugin')}
19
+ >
20
+ <ContentBox
21
+ title={formatMessage({
22
+ id: 'admin.pages.MarketPlacePage.missingPlugin.title',
23
+ defaultMessage: 'Documentation',
24
+ })}
25
+ subtitle={formatMessage({
26
+ id: 'admin.pages.MarketPlacePage.missingPlugin.description',
27
+ defaultMessage:
28
+ "Tell us what plugin you are looking for and we'll let our community plugin developers know in case they are in search for inspiration!",
29
+ })}
30
+ icon={<GlassesSquare />}
31
+ iconBackground="alternative100"
32
+ endAction={
33
+ <Icon as={ExternalLink} color="neutral600" width={3} height={3} marginLeft={2} />
34
+ }
35
+ />
36
+ </a>
37
+ );
38
+ };
39
+
40
+ export default MissingPluginBanner;
@@ -0,0 +1,46 @@
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import { useIntl } from 'react-intl';
4
+ import { HeaderLayout } from '@strapi/design-system/Layout';
5
+ import { LinkButton } from '@strapi/design-system/LinkButton';
6
+ import Upload from '@strapi/icons/Upload';
7
+ import { useTracking } from '@strapi/helper-plugin';
8
+
9
+ const PageHeader = ({ isOnline }) => {
10
+ const { formatMessage } = useIntl();
11
+ const { trackUsage } = useTracking();
12
+
13
+ return (
14
+ <HeaderLayout
15
+ title={formatMessage({
16
+ id: 'global.marketplace',
17
+ defaultMessage: 'Marketplace',
18
+ })}
19
+ subtitle={formatMessage({
20
+ id: 'admin.pages.MarketPlacePage.subtitle',
21
+ defaultMessage: 'Get more out of Strapi',
22
+ })}
23
+ primaryAction={
24
+ isOnline && (
25
+ <LinkButton
26
+ startIcon={<Upload />}
27
+ variant="tertiary"
28
+ href="https://market.strapi.io/submit-plugin"
29
+ onClick={() => trackUsage('didSubmitPlugin')}
30
+ >
31
+ {formatMessage({
32
+ id: 'admin.pages.MarketPlacePage.submit.plugin.link',
33
+ defaultMessage: 'Submit your plugin',
34
+ })}
35
+ </LinkButton>
36
+ )
37
+ }
38
+ />
39
+ );
40
+ };
41
+
42
+ export default PageHeader;
43
+
44
+ PageHeader.propTypes = {
45
+ isOnline: PropTypes.bool.isRequired,
46
+ };
@@ -13,20 +13,24 @@ import {
13
13
  useAppInfos,
14
14
  } from '@strapi/helper-plugin';
15
15
  import { Grid, GridItem } from '@strapi/design-system/Grid';
16
- import { Layout, HeaderLayout, ContentLayout } from '@strapi/design-system/Layout';
16
+ import { Layout, ContentLayout } from '@strapi/design-system/Layout';
17
17
  import { Main } from '@strapi/design-system/Main';
18
18
  import { Searchbar } from '@strapi/design-system/Searchbar';
19
19
  import { Box } from '@strapi/design-system/Box';
20
- import { LinkButton } from '@strapi/design-system/LinkButton';
21
20
  import { useNotifyAT } from '@strapi/design-system/LiveRegions';
22
- import Upload from '@strapi/icons/Upload';
21
+ import { Typography } from '@strapi/design-system/Typography';
22
+ import { Flex } from '@strapi/design-system/Flex';
23
23
 
24
24
  import PluginCard from './components/PluginCard';
25
25
  import { EmptyPluginSearch } from './components/EmptyPluginSearch';
26
+ import PageHeader from './components/PageHeader';
26
27
  import { fetchAppInformation } from './utils/api';
27
28
  import useFetchInstalledPlugins from '../../hooks/useFetchInstalledPlugins';
28
29
  import useFetchMarketplacePlugins from '../../hooks/useFetchMarketplacePlugins';
29
30
  import adminPermissions from '../../permissions';
31
+ import offlineCloud from '../../assets/images/icon_offline-cloud.svg';
32
+ import useNavigatorOnLine from '../../hooks/useNavigatorOnLine';
33
+ import MissingPluginBanner from './components/MissingPluginBanner';
30
34
 
31
35
  const matchSearch = (plugins, search) => {
32
36
  return matchSorter(plugins, search, {
@@ -48,6 +52,7 @@ const MarketPlacePage = () => {
48
52
  const toggleNotification = useNotification();
49
53
  const [searchQuery, setSearchQuery] = useState('');
50
54
  const { autoReload: isInDevelopmentMode } = useAppInfos();
55
+ const isOnline = useNavigatorOnLine();
51
56
 
52
57
  useFocusWhenNavigate();
53
58
 
@@ -116,6 +121,42 @@ const MarketPlacePage = () => {
116
121
  }
117
122
  }, [toggleNotification, isInDevelopmentMode]);
118
123
 
124
+ if (!isOnline) {
125
+ return (
126
+ <Layout>
127
+ <Main>
128
+ <PageHeader isOnline={isOnline} />
129
+ <Flex
130
+ width="100%"
131
+ direction="column"
132
+ alignItems="center"
133
+ justifyContent="center"
134
+ style={{ paddingTop: '120px' }}
135
+ >
136
+ <Box paddingBottom={2}>
137
+ <Typography textColor="neutral700" variant="alpha">
138
+ {formatMessage({
139
+ id: 'admin.pages.MarketPlacePage.offline.title',
140
+ defaultMessage: 'You are offline',
141
+ })}
142
+ </Typography>
143
+ </Box>
144
+ <Box paddingBottom={6}>
145
+ <Typography textColor="neutral700" variant="epsilon">
146
+ {formatMessage({
147
+ id: 'admin.pages.MarketPlacePage.offline.subtitle',
148
+ defaultMessage:
149
+ 'You need to be connected to the Internet to access Strapi Market.',
150
+ })}
151
+ </Typography>
152
+ </Box>
153
+ <img src={offlineCloud} alt="offline" style={{ width: '88px', height: '88px' }} />
154
+ </Flex>
155
+ </Main>
156
+ </Layout>
157
+ );
158
+ }
159
+
119
160
  if (hasFailed) {
120
161
  return (
121
162
  <Layout>
@@ -150,29 +191,7 @@ const MarketPlacePage = () => {
150
191
  defaultMessage: 'Marketplace - Plugins',
151
192
  })}
152
193
  />
153
- <HeaderLayout
154
- title={formatMessage({
155
- id: 'global.marketplace',
156
- defaultMessage: 'Marketplace',
157
- })}
158
- subtitle={formatMessage({
159
- id: 'admin.pages.MarketPlacePage.subtitle',
160
- defaultMessage: 'Get more out of Strapi',
161
- })}
162
- primaryAction={
163
- <LinkButton
164
- startIcon={<Upload />}
165
- variant="tertiary"
166
- href="https://market.strapi.io/submit-plugin"
167
- onClick={() => trackUsage('didSubmitPlugin')}
168
- >
169
- {formatMessage({
170
- id: 'admin.pages.MarketPlacePage.submit.plugin.link',
171
- defaultMessage: 'Submit your plugin',
172
- })}
173
- </LinkButton>
174
- }
175
- />
194
+ <PageHeader isOnline={isOnline} />
176
195
  <ContentLayout>
177
196
  <Box width="25%" paddingBottom={4}>
178
197
  <Searchbar
@@ -219,6 +238,9 @@ const MarketPlacePage = () => {
219
238
  ))}
220
239
  </Grid>
221
240
  )}
241
+ <Box paddingTop={7}>
242
+ <MissingPluginBanner />
243
+ </Box>
222
244
  </ContentLayout>
223
245
  </Main>
224
246
  </Layout>