@strapi/plugin-documentation 5.0.0-beta.0 → 5.0.0-beta.10

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 (332) hide show
  1. package/README.md +0 -1
  2. package/dist/_chunks/{index-D1KkfApT.js → App-Cmiagsr-.js} +93 -53
  3. package/dist/_chunks/App-Cmiagsr-.js.map +1 -0
  4. package/dist/_chunks/{index-7xstUX8_.mjs → App-pk6g9tYL.mjs} +69 -46
  5. package/dist/_chunks/App-pk6g9tYL.mjs.map +1 -0
  6. package/dist/_chunks/Settings-CqLmbMfv.mjs +223 -0
  7. package/dist/_chunks/Settings-CqLmbMfv.mjs.map +1 -0
  8. package/dist/_chunks/Settings-MmkmHoxg.js +243 -0
  9. package/dist/_chunks/Settings-MmkmHoxg.js.map +1 -0
  10. package/dist/_chunks/{ar-4yWQcJB-.js → ar-CkqTE6jh.js} +1 -1
  11. package/dist/_chunks/ar-CkqTE6jh.js.map +1 -0
  12. package/dist/_chunks/{ar-dlnabvQE.mjs → ar-ckp9T43y.mjs} +1 -1
  13. package/dist/_chunks/ar-ckp9T43y.mjs.map +1 -0
  14. package/dist/_chunks/{cs-knLCHelx.js → cs-BbyKo6Hc.js} +1 -1
  15. package/dist/_chunks/cs-BbyKo6Hc.js.map +1 -0
  16. package/dist/_chunks/{cs-x2Pr-Y38.mjs → cs-ciLYCxgd.mjs} +1 -1
  17. package/dist/_chunks/cs-ciLYCxgd.mjs.map +1 -0
  18. package/dist/_chunks/{de-D0HJjv1r.js → de-CHwC0A85.js} +1 -1
  19. package/dist/_chunks/de-CHwC0A85.js.map +1 -0
  20. package/dist/_chunks/{de-10J3uf4y.mjs → de-DqkAUMvP.mjs} +1 -1
  21. package/dist/_chunks/de-DqkAUMvP.mjs.map +1 -0
  22. package/dist/_chunks/{dk-_8JEfZdj.mjs → dk-DgCq8mF-.mjs} +1 -1
  23. package/dist/_chunks/dk-DgCq8mF-.mjs.map +1 -0
  24. package/dist/_chunks/{dk-OGCIxZ4f.js → dk-qlI2J6S0.js} +1 -1
  25. package/dist/_chunks/dk-qlI2J6S0.js.map +1 -0
  26. package/dist/_chunks/{en-YgFnjikD.js → en-Cfq2Inmo.js} +1 -1
  27. package/dist/_chunks/en-Cfq2Inmo.js.map +1 -0
  28. package/dist/_chunks/{en-V4ac9UMW.mjs → en-DfCC9sZn.mjs} +1 -1
  29. package/dist/_chunks/en-DfCC9sZn.mjs.map +1 -0
  30. package/dist/_chunks/{es-f_rfLY5r.mjs → es-CEiXVnsb.mjs} +1 -1
  31. package/dist/_chunks/es-CEiXVnsb.mjs.map +1 -0
  32. package/dist/_chunks/{es-5fRDaTSK.js → es-DH1GVZe7.js} +1 -1
  33. package/dist/_chunks/es-DH1GVZe7.js.map +1 -0
  34. package/dist/_chunks/{fr-qviymkcR.js → fr-B1x-Nj5w.js} +1 -1
  35. package/dist/_chunks/fr-B1x-Nj5w.js.map +1 -0
  36. package/dist/_chunks/{fr-L2xRpd2l.mjs → fr-BlX-v4UF.mjs} +1 -1
  37. package/dist/_chunks/fr-BlX-v4UF.mjs.map +1 -0
  38. package/dist/_chunks/getTrad-AjYeGjZg.mjs +51 -0
  39. package/dist/_chunks/getTrad-AjYeGjZg.mjs.map +1 -0
  40. package/dist/_chunks/getTrad-CPA7x4Cg.js +50 -0
  41. package/dist/_chunks/getTrad-CPA7x4Cg.js.map +1 -0
  42. package/dist/_chunks/{id-l-r-lPDE.mjs → id-CPOl6_EU.mjs} +1 -1
  43. package/dist/_chunks/id-CPOl6_EU.mjs.map +1 -0
  44. package/dist/_chunks/{id-caKGgafZ.js → id-D3yFE72d.js} +1 -1
  45. package/dist/_chunks/id-D3yFE72d.js.map +1 -0
  46. package/{server/public/index.html → dist/_chunks/index-BTFWrNiz.mjs} +9 -4
  47. package/dist/_chunks/index-BTFWrNiz.mjs.map +1 -0
  48. package/dist/_chunks/index-Bjeq6z8p.js +100 -0
  49. package/dist/_chunks/index-Bjeq6z8p.js.map +1 -0
  50. package/dist/_chunks/index-CEoG11hQ.mjs +101 -0
  51. package/dist/_chunks/index-CEoG11hQ.mjs.map +1 -0
  52. package/dist/_chunks/index-CYcTK1eg.js +75 -0
  53. package/dist/_chunks/index-CYcTK1eg.js.map +1 -0
  54. package/dist/_chunks/{it-nCSZoaet.mjs → it-DWJI563z.mjs} +1 -1
  55. package/dist/_chunks/it-DWJI563z.mjs.map +1 -0
  56. package/dist/_chunks/{it-e3T319Va.js → it-WuNBIqG8.js} +1 -1
  57. package/dist/_chunks/it-WuNBIqG8.js.map +1 -0
  58. package/dist/_chunks/{ko-pUwRxmfG.mjs → ko-CFzSHayG.mjs} +1 -1
  59. package/dist/_chunks/ko-CFzSHayG.mjs.map +1 -0
  60. package/dist/_chunks/{ko-nWCOH-TF.js → ko-De5iYa_O.js} +1 -1
  61. package/dist/_chunks/ko-De5iYa_O.js.map +1 -0
  62. package/dist/_chunks/login-EQSKn2h7.js +150 -0
  63. package/dist/_chunks/login-EQSKn2h7.js.map +1 -0
  64. package/{server/public/login.html → dist/_chunks/login-KS59cQ6U.mjs} +6 -1
  65. package/dist/_chunks/login-KS59cQ6U.mjs.map +1 -0
  66. package/dist/_chunks/{ms-8e8SEhhY.mjs → ms-CUgPFo4U.mjs} +1 -1
  67. package/dist/_chunks/ms-CUgPFo4U.mjs.map +1 -0
  68. package/dist/_chunks/{ms-CSGAOmvV.js → ms-DQfa3FDx.js} +1 -1
  69. package/dist/_chunks/ms-DQfa3FDx.js.map +1 -0
  70. package/dist/_chunks/{nl-82NK6g7v.js → nl-BZHlqphk.js} +1 -1
  71. package/dist/_chunks/nl-BZHlqphk.js.map +1 -0
  72. package/dist/_chunks/{nl-RjdbZWuM.mjs → nl-B_7CHwVD.mjs} +1 -1
  73. package/dist/_chunks/nl-B_7CHwVD.mjs.map +1 -0
  74. package/dist/_chunks/{pl-UMuW3iDh.js → pl-DDl5i_mP.js} +1 -1
  75. package/dist/_chunks/pl-DDl5i_mP.js.map +1 -0
  76. package/dist/_chunks/{pl-sh4sAKA8.mjs → pl-DwLr8sw9.mjs} +1 -1
  77. package/dist/_chunks/pl-DwLr8sw9.mjs.map +1 -0
  78. package/dist/_chunks/{pt-2sEtQifY.js → pt-4GQ8ermL.js} +1 -1
  79. package/dist/_chunks/pt-4GQ8ermL.js.map +1 -0
  80. package/dist/_chunks/{pt-BR-G0-nWgFV.js → pt-BR-D24CJ0qp.js} +1 -1
  81. package/dist/_chunks/pt-BR-D24CJ0qp.js.map +1 -0
  82. package/dist/_chunks/{pt-BR-uX3O_t0X.mjs → pt-BR-MVXc6V9P.mjs} +1 -1
  83. package/dist/_chunks/pt-BR-MVXc6V9P.mjs.map +1 -0
  84. package/dist/_chunks/{pt-GqKRRnNe.mjs → pt-C2N9fdeh.mjs} +1 -1
  85. package/dist/_chunks/pt-C2N9fdeh.mjs.map +1 -0
  86. package/dist/_chunks/{ru-dQr7xFOb.mjs → ru-BddeNlU0.mjs} +1 -1
  87. package/dist/_chunks/ru-BddeNlU0.mjs.map +1 -0
  88. package/dist/_chunks/{ru-wJyWus4I.js → ru-QwZYcU6K.js} +1 -1
  89. package/dist/_chunks/ru-QwZYcU6K.js.map +1 -0
  90. package/dist/_chunks/{sk-nreoyD6V.mjs → sk-BmT4uZTG.mjs} +1 -1
  91. package/dist/_chunks/sk-BmT4uZTG.mjs.map +1 -0
  92. package/dist/_chunks/{sk-mcEz1PMW.js → sk-DgAXilB1.js} +1 -1
  93. package/dist/_chunks/sk-DgAXilB1.js.map +1 -0
  94. package/dist/_chunks/{sv-V86KaP9y.js → sv-CCLcAo3U.js} +1 -1
  95. package/dist/_chunks/sv-CCLcAo3U.js.map +1 -0
  96. package/dist/_chunks/{sv-kIUD_46v.mjs → sv-D_-KBtcw.mjs} +1 -1
  97. package/dist/_chunks/sv-D_-KBtcw.mjs.map +1 -0
  98. package/dist/_chunks/{th-pZN4HdUY.js → th-BhgV1BbW.js} +1 -1
  99. package/dist/_chunks/th-BhgV1BbW.js.map +1 -0
  100. package/dist/_chunks/{th-IcmZ0Yif.mjs → th-DkuoSGii.mjs} +1 -1
  101. package/dist/_chunks/th-DkuoSGii.mjs.map +1 -0
  102. package/dist/_chunks/{tr-fCijT6nA.js → tr-BysnAErC.js} +1 -1
  103. package/dist/_chunks/tr-BysnAErC.js.map +1 -0
  104. package/dist/_chunks/{tr-CkXew0gQ.mjs → tr-l-xxK4Yk.mjs} +1 -1
  105. package/dist/_chunks/tr-l-xxK4Yk.mjs.map +1 -0
  106. package/dist/_chunks/{uk-TEHpQuls.js → uk-CNlbntFx.js} +1 -1
  107. package/dist/_chunks/uk-CNlbntFx.js.map +1 -0
  108. package/dist/_chunks/{uk-E8Js7gDb.mjs → uk-Cpmsxyku.mjs} +1 -1
  109. package/dist/_chunks/uk-Cpmsxyku.mjs.map +1 -0
  110. package/dist/_chunks/{vi-k1R3Y3mS.mjs → vi-ClWGrFm9.mjs} +1 -1
  111. package/dist/_chunks/vi-ClWGrFm9.mjs.map +1 -0
  112. package/dist/_chunks/{vi-Nxtm0xZz.js → vi-_ib0GmNl.js} +1 -1
  113. package/dist/_chunks/vi-_ib0GmNl.js.map +1 -0
  114. package/dist/_chunks/{zh-Vd3mfBR-.mjs → zh-Glkg1L2g.mjs} +1 -1
  115. package/dist/_chunks/zh-Glkg1L2g.mjs.map +1 -0
  116. package/dist/_chunks/{zh-Hans-tFSnVett.js → zh-Hans-L_5U2KqC.js} +1 -1
  117. package/dist/_chunks/zh-Hans-L_5U2KqC.js.map +1 -0
  118. package/dist/_chunks/{zh-Hans-FdUTcggu.mjs → zh-Hans-XLMwjASk.mjs} +1 -1
  119. package/dist/_chunks/zh-Hans-XLMwjASk.mjs.map +1 -0
  120. package/dist/_chunks/{zh-bgauBZz8.js → zh-aEZZdkOu.js} +1 -1
  121. package/dist/_chunks/zh-aEZZdkOu.js.map +1 -0
  122. package/dist/admin/index.js +1 -1
  123. package/dist/admin/index.mjs +1 -1
  124. package/dist/admin/src/components/SettingsForm.d.ts +8 -0
  125. package/dist/admin/src/constants.d.ts +18 -0
  126. package/dist/admin/src/index.d.ts +14 -0
  127. package/dist/admin/src/pages/App.d.ts +2 -0
  128. package/dist/admin/src/pages/Settings.d.ts +2 -0
  129. package/dist/admin/src/pluginId.d.ts +1 -0
  130. package/dist/admin/src/services/api.d.ts +13 -0
  131. package/dist/admin/src/types.d.ts +16 -0
  132. package/dist/admin/src/utils/baseQuery.d.ts +5 -0
  133. package/dist/admin/src/utils/getTrad.d.ts +1 -0
  134. package/dist/admin/src/utils/index.d.ts +2 -0
  135. package/dist/admin/src/utils/prefixPluginTranslations.d.ts +2 -0
  136. package/dist/server/index.js +1263 -0
  137. package/dist/server/index.js.map +1 -0
  138. package/dist/server/index.mjs +1238 -0
  139. package/dist/server/index.mjs.map +1 -0
  140. package/dist/server/src/bootstrap.d.ts +5 -0
  141. package/dist/server/src/bootstrap.d.ts.map +1 -0
  142. package/dist/server/src/config/default-plugin-config.d.ts +3 -0
  143. package/dist/server/src/config/default-plugin-config.d.ts.map +1 -0
  144. package/dist/server/src/config/index.d.ts +4 -0
  145. package/dist/server/src/config/index.d.ts.map +1 -0
  146. package/dist/server/src/controllers/documentation.d.ts +12 -0
  147. package/dist/server/src/controllers/documentation.d.ts.map +1 -0
  148. package/dist/server/src/controllers/index.d.ts +14 -0
  149. package/dist/server/src/controllers/index.d.ts.map +1 -0
  150. package/dist/server/src/index.d.ts +91 -0
  151. package/dist/server/src/index.d.ts.map +1 -0
  152. package/dist/server/src/middlewares/documentation.d.ts +5 -0
  153. package/dist/server/src/middlewares/documentation.d.ts.map +1 -0
  154. package/dist/server/src/middlewares/restrict-access.d.ts +4 -0
  155. package/dist/server/src/middlewares/restrict-access.d.ts.map +1 -0
  156. package/dist/server/src/register.d.ts +5 -0
  157. package/dist/server/src/register.d.ts.map +1 -0
  158. package/dist/server/src/routes/index.d.ts +36 -0
  159. package/dist/server/src/routes/index.d.ts.map +1 -0
  160. package/dist/server/src/services/__mocks__/mock-content-types.d.ts +449 -0
  161. package/dist/server/src/services/__mocks__/mock-content-types.d.ts.map +1 -0
  162. package/dist/server/src/services/__mocks__/mock-strapi-data.d.ts +592 -0
  163. package/dist/server/src/services/__mocks__/mock-strapi-data.d.ts.map +1 -0
  164. package/dist/server/src/services/documentation.d.ts +36 -0
  165. package/dist/server/src/services/documentation.d.ts.map +1 -0
  166. package/dist/server/src/services/helpers/build-api-endpoint-path.d.ts +7 -0
  167. package/dist/server/src/services/helpers/build-api-endpoint-path.d.ts.map +1 -0
  168. package/dist/server/src/services/helpers/build-component-schema.d.ts +4 -0
  169. package/dist/server/src/services/helpers/build-component-schema.d.ts.map +1 -0
  170. package/dist/server/src/services/helpers/index.d.ts +4 -0
  171. package/dist/server/src/services/helpers/index.d.ts.map +1 -0
  172. package/dist/server/src/services/helpers/utils/clean-schema-attributes.d.ts +15 -0
  173. package/dist/server/src/services/helpers/utils/clean-schema-attributes.d.ts.map +1 -0
  174. package/dist/server/src/services/helpers/utils/get-api-responses.d.ts +15 -0
  175. package/dist/server/src/services/helpers/utils/get-api-responses.d.ts.map +1 -0
  176. package/dist/server/src/services/helpers/utils/get-schema-data.d.ts +12 -0
  177. package/dist/server/src/services/helpers/utils/get-schema-data.d.ts.map +1 -0
  178. package/dist/server/src/services/helpers/utils/loop-content-type-names.d.ts +7 -0
  179. package/dist/server/src/services/helpers/utils/loop-content-type-names.d.ts.map +1 -0
  180. package/dist/server/src/services/helpers/utils/pascal-case.d.ts +3 -0
  181. package/dist/server/src/services/helpers/utils/pascal-case.d.ts.map +1 -0
  182. package/dist/server/src/services/helpers/utils/query-params.d.ts +4 -0
  183. package/dist/server/src/services/helpers/utils/query-params.d.ts.map +1 -0
  184. package/dist/server/src/services/helpers/utils/routes.d.ts +3 -0
  185. package/dist/server/src/services/helpers/utils/routes.d.ts.map +1 -0
  186. package/dist/server/src/services/index.d.ts +43 -0
  187. package/dist/server/src/services/index.d.ts.map +1 -0
  188. package/dist/server/src/services/override.d.ts +21 -0
  189. package/dist/server/src/services/override.d.ts.map +1 -0
  190. package/dist/server/src/services/utils/get-plugins-that-need-documentation.d.ts +4 -0
  191. package/dist/server/src/services/utils/get-plugins-that-need-documentation.d.ts.map +1 -0
  192. package/dist/server/src/types.d.ts +28 -0
  193. package/dist/server/src/types.d.ts.map +1 -0
  194. package/dist/server/src/utils.d.ts +12 -0
  195. package/dist/server/src/utils.d.ts.map +1 -0
  196. package/package.json +45 -25
  197. package/strapi-server.js +1 -1
  198. package/.eslintignore +0 -1
  199. package/.eslintrc +0 -17
  200. package/admin/src/constants.js +0 -17
  201. package/admin/src/hooks/useDocumentation.js +0 -81
  202. package/admin/src/index.js +0 -62
  203. package/admin/src/pages/PluginPage/index.jsx +0 -212
  204. package/admin/src/pages/PluginPage/tests/index.test.jsx +0 -160
  205. package/admin/src/pages/SettingsPage/index.jsx +0 -202
  206. package/admin/src/pages/SettingsPage/tests/index.test.jsx +0 -72
  207. package/admin/src/pluginId.js +0 -5
  208. package/admin/src/translations/ar.json +0 -20
  209. package/admin/src/translations/cs.json +0 -21
  210. package/admin/src/translations/de.json +0 -26
  211. package/admin/src/translations/dk.json +0 -39
  212. package/admin/src/translations/en.json +0 -39
  213. package/admin/src/translations/es.json +0 -39
  214. package/admin/src/translations/fr.json +0 -26
  215. package/admin/src/translations/id.json +0 -24
  216. package/admin/src/translations/it.json +0 -26
  217. package/admin/src/translations/ko.json +0 -39
  218. package/admin/src/translations/ms.json +0 -23
  219. package/admin/src/translations/nl.json +0 -21
  220. package/admin/src/translations/pl.json +0 -39
  221. package/admin/src/translations/pt-BR.json +0 -21
  222. package/admin/src/translations/pt.json +0 -21
  223. package/admin/src/translations/ru.json +0 -39
  224. package/admin/src/translations/sk.json +0 -24
  225. package/admin/src/translations/sv.json +0 -39
  226. package/admin/src/translations/th.json +0 -24
  227. package/admin/src/translations/tr.json +0 -39
  228. package/admin/src/translations/uk.json +0 -23
  229. package/admin/src/translations/vi.json +0 -24
  230. package/admin/src/translations/zh-Hans.json +0 -28
  231. package/admin/src/translations/zh.json +0 -39
  232. package/admin/src/utils/getTrad.js +0 -5
  233. package/admin/src/utils/index.js +0 -2
  234. package/admin/src/utils/prefixPluginTranslations.js +0 -13
  235. package/dist/_chunks/ar-4yWQcJB-.js.map +0 -1
  236. package/dist/_chunks/ar-dlnabvQE.mjs.map +0 -1
  237. package/dist/_chunks/cs-knLCHelx.js.map +0 -1
  238. package/dist/_chunks/cs-x2Pr-Y38.mjs.map +0 -1
  239. package/dist/_chunks/de-10J3uf4y.mjs.map +0 -1
  240. package/dist/_chunks/de-D0HJjv1r.js.map +0 -1
  241. package/dist/_chunks/dk-OGCIxZ4f.js.map +0 -1
  242. package/dist/_chunks/dk-_8JEfZdj.mjs.map +0 -1
  243. package/dist/_chunks/en-V4ac9UMW.mjs.map +0 -1
  244. package/dist/_chunks/en-YgFnjikD.js.map +0 -1
  245. package/dist/_chunks/es-5fRDaTSK.js.map +0 -1
  246. package/dist/_chunks/es-f_rfLY5r.mjs.map +0 -1
  247. package/dist/_chunks/fr-L2xRpd2l.mjs.map +0 -1
  248. package/dist/_chunks/fr-qviymkcR.js.map +0 -1
  249. package/dist/_chunks/id-caKGgafZ.js.map +0 -1
  250. package/dist/_chunks/id-l-r-lPDE.mjs.map +0 -1
  251. package/dist/_chunks/index-7xstUX8_.mjs.map +0 -1
  252. package/dist/_chunks/index-D1KkfApT.js.map +0 -1
  253. package/dist/_chunks/index-NbPCucJl.js +0 -195
  254. package/dist/_chunks/index-NbPCucJl.js.map +0 -1
  255. package/dist/_chunks/index-NvJ4m2q5.mjs +0 -201
  256. package/dist/_chunks/index-NvJ4m2q5.mjs.map +0 -1
  257. package/dist/_chunks/index-VpLAJXMs.mjs +0 -174
  258. package/dist/_chunks/index-VpLAJXMs.mjs.map +0 -1
  259. package/dist/_chunks/index-r7HsQTou.js +0 -200
  260. package/dist/_chunks/index-r7HsQTou.js.map +0 -1
  261. package/dist/_chunks/it-e3T319Va.js.map +0 -1
  262. package/dist/_chunks/it-nCSZoaet.mjs.map +0 -1
  263. package/dist/_chunks/ko-nWCOH-TF.js.map +0 -1
  264. package/dist/_chunks/ko-pUwRxmfG.mjs.map +0 -1
  265. package/dist/_chunks/ms-8e8SEhhY.mjs.map +0 -1
  266. package/dist/_chunks/ms-CSGAOmvV.js.map +0 -1
  267. package/dist/_chunks/nl-82NK6g7v.js.map +0 -1
  268. package/dist/_chunks/nl-RjdbZWuM.mjs.map +0 -1
  269. package/dist/_chunks/pl-UMuW3iDh.js.map +0 -1
  270. package/dist/_chunks/pl-sh4sAKA8.mjs.map +0 -1
  271. package/dist/_chunks/pt-2sEtQifY.js.map +0 -1
  272. package/dist/_chunks/pt-BR-G0-nWgFV.js.map +0 -1
  273. package/dist/_chunks/pt-BR-uX3O_t0X.mjs.map +0 -1
  274. package/dist/_chunks/pt-GqKRRnNe.mjs.map +0 -1
  275. package/dist/_chunks/ru-dQr7xFOb.mjs.map +0 -1
  276. package/dist/_chunks/ru-wJyWus4I.js.map +0 -1
  277. package/dist/_chunks/sk-mcEz1PMW.js.map +0 -1
  278. package/dist/_chunks/sk-nreoyD6V.mjs.map +0 -1
  279. package/dist/_chunks/sv-V86KaP9y.js.map +0 -1
  280. package/dist/_chunks/sv-kIUD_46v.mjs.map +0 -1
  281. package/dist/_chunks/th-IcmZ0Yif.mjs.map +0 -1
  282. package/dist/_chunks/th-pZN4HdUY.js.map +0 -1
  283. package/dist/_chunks/tr-CkXew0gQ.mjs.map +0 -1
  284. package/dist/_chunks/tr-fCijT6nA.js.map +0 -1
  285. package/dist/_chunks/uk-E8Js7gDb.mjs.map +0 -1
  286. package/dist/_chunks/uk-TEHpQuls.js.map +0 -1
  287. package/dist/_chunks/useDocumentation-6Ks-_Ms6.mjs +0 -68
  288. package/dist/_chunks/useDocumentation-6Ks-_Ms6.mjs.map +0 -1
  289. package/dist/_chunks/useDocumentation-S0e4mU-U.js +0 -67
  290. package/dist/_chunks/useDocumentation-S0e4mU-U.js.map +0 -1
  291. package/dist/_chunks/vi-Nxtm0xZz.js.map +0 -1
  292. package/dist/_chunks/vi-k1R3Y3mS.mjs.map +0 -1
  293. package/dist/_chunks/zh-Hans-FdUTcggu.mjs.map +0 -1
  294. package/dist/_chunks/zh-Hans-tFSnVett.js.map +0 -1
  295. package/dist/_chunks/zh-Vd3mfBR-.mjs.map +0 -1
  296. package/dist/_chunks/zh-bgauBZz8.js.map +0 -1
  297. package/jest.config.front.js +0 -7
  298. package/jest.config.js +0 -6
  299. package/packup.config.ts +0 -22
  300. package/server/bootstrap.js +0 -54
  301. package/server/config/default-plugin-config.js +0 -35
  302. package/server/config/index.js +0 -7
  303. package/server/controllers/documentation.js +0 -241
  304. package/server/controllers/index.js +0 -7
  305. package/server/index.js +0 -17
  306. package/server/middlewares/documentation.js +0 -25
  307. package/server/middlewares/index.js +0 -7
  308. package/server/middlewares/restrict-access.js +0 -24
  309. package/server/register.js +0 -11
  310. package/server/routes/index.js +0 -84
  311. package/server/services/__mocks__/mock-content-types.js +0 -264
  312. package/server/services/__mocks__/mock-strapi-data.js +0 -183
  313. package/server/services/__tests__/build-component-schema.test.js +0 -761
  314. package/server/services/__tests__/documentation.test.js +0 -481
  315. package/server/services/__tests__/override.test.js +0 -85
  316. package/server/services/documentation.js +0 -246
  317. package/server/services/helpers/build-api-endpoint-path.js +0 -186
  318. package/server/services/helpers/build-component-schema.js +0 -254
  319. package/server/services/helpers/index.js +0 -9
  320. package/server/services/helpers/utils/clean-schema-attributes.js +0 -246
  321. package/server/services/helpers/utils/get-api-responses.js +0 -105
  322. package/server/services/helpers/utils/get-schema-data.js +0 -32
  323. package/server/services/helpers/utils/loop-content-type-names.js +0 -55
  324. package/server/services/helpers/utils/pascal-case.js +0 -9
  325. package/server/services/helpers/utils/query-params.js +0 -105
  326. package/server/services/helpers/utils/routes.js +0 -10
  327. package/server/services/index.js +0 -9
  328. package/server/services/override.js +0 -52
  329. package/server/services/utils/default-openapi-components.js +0 -40
  330. package/server/services/utils/get-plugins-that-need-documentation.js +0 -24
  331. package/tests/server.js +0 -37
  332. package/tests/setup.js +0 -15
@@ -0,0 +1,223 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { Field, Button, Box, Flex, Typography, Grid, Toggle, TextInput, Main } from "@strapi/design-system";
3
+ import { translatedErrors, useRBAC, Layouts, useNotification, useAPIErrorHandler, Page } from "@strapi/strapi/admin";
4
+ import { useIntl } from "react-intl";
5
+ import * as React from "react";
6
+ import { Check, Eye, EyeStriked } from "@strapi/icons";
7
+ import { Formik, Form } from "formik";
8
+ import { styled } from "styled-components";
9
+ import * as yup from "yup";
10
+ import { P as PERMISSIONS } from "./index-CEoG11hQ.mjs";
11
+ import { g as getTrad, u as useGetInfoQuery, c as useUpdateSettingsMutation } from "./getTrad-AjYeGjZg.mjs";
12
+ const isBaseQueryError = (error) => {
13
+ return error.name !== void 0;
14
+ };
15
+ const schema = yup.object().shape({
16
+ restrictedAccess: yup.boolean(),
17
+ password: yup.string().when("restrictedAccess", (value, initSchema) => {
18
+ return value ? initSchema.required(translatedErrors.required.id) : initSchema;
19
+ })
20
+ });
21
+ const FieldActionWrapper = styled(Field.Action)`
22
+ svg {
23
+ height: 1.6rem;
24
+ width: 1.6rem;
25
+ path {
26
+ fill: ${({ theme }) => theme.colors.neutral600};
27
+ }
28
+ }
29
+ `;
30
+ const SettingsForm = ({ data, onSubmit }) => {
31
+ const { formatMessage } = useIntl();
32
+ const [passwordShown, setPasswordShown] = React.useState(false);
33
+ const { allowedActions } = useRBAC(PERMISSIONS);
34
+ return /* @__PURE__ */ jsx(
35
+ Formik,
36
+ {
37
+ enableReinitialize: true,
38
+ initialValues: {
39
+ restrictedAccess: data?.documentationAccess.restrictedAccess || false,
40
+ password: ""
41
+ },
42
+ onSubmit,
43
+ validationSchema: schema,
44
+ children: ({
45
+ handleSubmit,
46
+ values,
47
+ handleChange,
48
+ errors,
49
+ setFieldTouched,
50
+ setFieldValue,
51
+ setFieldError,
52
+ dirty
53
+ }) => {
54
+ return /* @__PURE__ */ jsxs(Form, { noValidate: true, onSubmit: handleSubmit, children: [
55
+ /* @__PURE__ */ jsx(
56
+ Layouts.Header,
57
+ {
58
+ title: formatMessage({
59
+ id: getTrad("plugin.name"),
60
+ defaultMessage: "Documentation"
61
+ }),
62
+ subtitle: formatMessage({
63
+ id: getTrad("pages.SettingsPage.header.description"),
64
+ defaultMessage: "Configure the documentation plugin"
65
+ }),
66
+ primaryAction: /* @__PURE__ */ jsx(
67
+ Button,
68
+ {
69
+ type: "submit",
70
+ startIcon: /* @__PURE__ */ jsx(Check, {}),
71
+ disabled: !dirty && allowedActions.canUpdate,
72
+ children: formatMessage({
73
+ id: getTrad("pages.SettingsPage.Button.save"),
74
+ defaultMessage: "Save"
75
+ })
76
+ }
77
+ )
78
+ }
79
+ ),
80
+ /* @__PURE__ */ jsx(Layouts.Content, { children: /* @__PURE__ */ jsx(
81
+ Box,
82
+ {
83
+ background: "neutral0",
84
+ hasRadius: true,
85
+ shadow: "filterShadow",
86
+ paddingTop: 6,
87
+ paddingBottom: 6,
88
+ paddingLeft: 7,
89
+ paddingRight: 7,
90
+ children: /* @__PURE__ */ jsxs(Flex, { direction: "column", alignItems: "stretch", gap: 4, children: [
91
+ /* @__PURE__ */ jsx(Typography, { variant: "delta", tag: "h2", children: formatMessage({
92
+ id: "global.settings",
93
+ defaultMessage: "Settings"
94
+ }) }),
95
+ /* @__PURE__ */ jsxs(Grid.Root, { gap: 4, children: [
96
+ /* @__PURE__ */ jsx(Grid.Item, { col: 6, s: 12, children: /* @__PURE__ */ jsxs(
97
+ Field.Root,
98
+ {
99
+ name: "restrictedAccess",
100
+ hint: formatMessage({
101
+ id: getTrad("pages.SettingsPage.toggle.hint"),
102
+ defaultMessage: "Make the documentation endpoint private"
103
+ }),
104
+ children: [
105
+ /* @__PURE__ */ jsx(Field.Label, { children: formatMessage({
106
+ id: getTrad("pages.SettingsPage.toggle.label"),
107
+ defaultMessage: "Restricted Access"
108
+ }) }),
109
+ /* @__PURE__ */ jsx(
110
+ Toggle,
111
+ {
112
+ checked: values.restrictedAccess,
113
+ onChange: () => {
114
+ if (values.restrictedAccess === true) {
115
+ setFieldValue("password", "", false);
116
+ setFieldTouched("password", false, false);
117
+ setFieldError("password", void 0);
118
+ }
119
+ setFieldValue("restrictedAccess", !values.restrictedAccess, false);
120
+ },
121
+ onLabel: "On",
122
+ offLabel: "Off"
123
+ }
124
+ ),
125
+ /* @__PURE__ */ jsx(Field.Hint, {})
126
+ ]
127
+ }
128
+ ) }),
129
+ values.restrictedAccess && /* @__PURE__ */ jsx(Grid.Item, { col: 6, s: 12, children: /* @__PURE__ */ jsxs(
130
+ Field.Root,
131
+ {
132
+ name: "password",
133
+ error: errors.password ? formatMessage({
134
+ id: errors.password,
135
+ defaultMessage: errors.password
136
+ }) : void 0,
137
+ children: [
138
+ /* @__PURE__ */ jsx(Field.Label, { children: formatMessage({
139
+ id: "global.password",
140
+ defaultMessage: "Password"
141
+ }) }),
142
+ /* @__PURE__ */ jsx(
143
+ TextInput,
144
+ {
145
+ placeholder: "**********",
146
+ type: passwordShown ? "text" : "password",
147
+ value: values.password,
148
+ onChange: handleChange,
149
+ endAction: /* @__PURE__ */ jsx(
150
+ FieldActionWrapper,
151
+ {
152
+ onClick: (e) => {
153
+ e.stopPropagation();
154
+ setPasswordShown((prev) => !prev);
155
+ },
156
+ label: formatMessage(
157
+ passwordShown ? {
158
+ id: "Auth.form.password.show-password",
159
+ defaultMessage: "Show password"
160
+ } : {
161
+ id: "Auth.form.password.hide-password",
162
+ defaultMessage: "Hide password"
163
+ }
164
+ ),
165
+ children: passwordShown ? /* @__PURE__ */ jsx(Eye, {}) : /* @__PURE__ */ jsx(EyeStriked, {})
166
+ }
167
+ )
168
+ }
169
+ ),
170
+ /* @__PURE__ */ jsx(Field.Error, {})
171
+ ]
172
+ }
173
+ ) })
174
+ ] })
175
+ ] })
176
+ }
177
+ ) })
178
+ ] });
179
+ }
180
+ }
181
+ );
182
+ };
183
+ const SettingsPage = () => {
184
+ const { toggleNotification } = useNotification();
185
+ const { formatMessage } = useIntl();
186
+ const {
187
+ _unstableFormatAPIError: formatAPIError,
188
+ _unstableFormatValidationErrors: formatValidationErrors
189
+ } = useAPIErrorHandler();
190
+ const { data, isError, isLoading, isFetching } = useGetInfoQuery();
191
+ const [updateSettings] = useUpdateSettingsMutation();
192
+ const onUpdateSettings = async (body, formik) => {
193
+ return updateSettings({ body }).unwrap().then(() => {
194
+ toggleNotification({
195
+ type: "success",
196
+ message: formatMessage({
197
+ id: getTrad("notification.update.success"),
198
+ defaultMessage: "Successfully updated settings"
199
+ })
200
+ });
201
+ }).catch((err) => {
202
+ if (isBaseQueryError(err) && err.name === "ValidationError") {
203
+ formik.setErrors(formatValidationErrors(err));
204
+ } else {
205
+ toggleNotification({
206
+ type: "danger",
207
+ message: formatAPIError(err)
208
+ });
209
+ }
210
+ });
211
+ };
212
+ if (isLoading || isFetching) {
213
+ return /* @__PURE__ */ jsx(Page.Loading, {});
214
+ }
215
+ if (isError) {
216
+ return /* @__PURE__ */ jsx(Page.Error, {});
217
+ }
218
+ return /* @__PURE__ */ jsx(Main, { children: /* @__PURE__ */ jsx(SettingsForm, { data, onSubmit: onUpdateSettings }) });
219
+ };
220
+ export {
221
+ SettingsPage
222
+ };
223
+ //# sourceMappingURL=Settings-CqLmbMfv.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Settings-CqLmbMfv.mjs","sources":["../../admin/src/utils/baseQuery.ts","../../admin/src/components/SettingsForm.tsx","../../admin/src/pages/Settings.tsx"],"sourcesContent":["import { SerializedError } from '@reduxjs/toolkit';\nimport { type UnknownApiError, type ApiError } from '@strapi/strapi/admin';\n\ntype BaseQueryError = ApiError | UnknownApiError | SerializedError;\n\nconst isBaseQueryError = (error: BaseQueryError): error is ApiError | UnknownApiError => {\n return error.name !== undefined;\n};\n\nexport { isBaseQueryError };\n","import * as React from 'react';\n\nimport {\n Box,\n Button,\n Flex,\n Grid,\n TextInput,\n Toggle,\n Typography,\n Field,\n} from '@strapi/design-system';\n// Strapi Icons\nimport { Check, Eye as Show, EyeStriked as Hide } from '@strapi/icons';\nimport { translatedErrors, useRBAC, Layouts } from '@strapi/strapi/admin';\nimport { Form, Formik, FormikHelpers } from 'formik';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\nimport * as yup from 'yup';\n\nimport { PERMISSIONS } from '../constants';\nimport { DocumentInfos, SettingsInput } from '../types';\nimport { getTrad } from '../utils';\n\nconst schema = yup.object().shape({\n restrictedAccess: yup.boolean(),\n password: yup.string().when('restrictedAccess', (value, initSchema) => {\n return value ? initSchema.required(translatedErrors.required.id) : initSchema;\n }),\n});\n\nconst FieldActionWrapper = styled(Field.Action)`\n svg {\n height: 1.6rem;\n width: 1.6rem;\n path {\n fill: ${({ theme }) => theme.colors.neutral600};\n }\n }\n`;\n\ntype SettingsFormProps = {\n data?: DocumentInfos;\n onSubmit: (body: SettingsInput, formik: FormikHelpers<SettingsInput>) => Promise<void>;\n};\n\nexport const SettingsForm = ({ data, onSubmit }: SettingsFormProps) => {\n const { formatMessage } = useIntl();\n const [passwordShown, setPasswordShown] = React.useState(false);\n const { allowedActions } = useRBAC(PERMISSIONS);\n\n return (\n <Formik\n enableReinitialize\n initialValues={{\n restrictedAccess: data?.documentationAccess.restrictedAccess || false,\n password: '',\n }}\n onSubmit={onSubmit}\n validationSchema={schema}\n >\n {({\n handleSubmit,\n values,\n handleChange,\n errors,\n setFieldTouched,\n setFieldValue,\n setFieldError,\n dirty,\n }) => {\n return (\n <Form noValidate onSubmit={handleSubmit}>\n <Layouts.Header\n title={formatMessage({\n id: getTrad('plugin.name'),\n defaultMessage: 'Documentation',\n })}\n subtitle={formatMessage({\n id: getTrad('pages.SettingsPage.header.description'),\n defaultMessage: 'Configure the documentation plugin',\n })}\n primaryAction={\n <Button\n type=\"submit\"\n startIcon={<Check />}\n disabled={!dirty && allowedActions.canUpdate}\n >\n {formatMessage({\n id: getTrad('pages.SettingsPage.Button.save'),\n defaultMessage: 'Save',\n })}\n </Button>\n }\n />\n <Layouts.Content>\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\" tag=\"h2\">\n {formatMessage({\n id: 'global.settings',\n defaultMessage: 'Settings',\n })}\n </Typography>\n <Grid.Root gap={4}>\n <Grid.Item col={6} s={12}>\n <Field.Root\n name=\"restrictedAccess\"\n hint={formatMessage({\n id: getTrad('pages.SettingsPage.toggle.hint'),\n defaultMessage: 'Make the documentation endpoint private',\n })}\n >\n <Field.Label>\n {formatMessage({\n id: getTrad('pages.SettingsPage.toggle.label'),\n defaultMessage: 'Restricted Access',\n })}\n </Field.Label>\n <Toggle\n checked={values.restrictedAccess}\n onChange={() => {\n if (values.restrictedAccess === true) {\n setFieldValue('password', '', false);\n setFieldTouched('password', false, false);\n setFieldError('password', undefined);\n }\n\n setFieldValue('restrictedAccess', !values.restrictedAccess, false);\n }}\n onLabel=\"On\"\n offLabel=\"Off\"\n />\n <Field.Hint />\n </Field.Root>\n </Grid.Item>\n {values.restrictedAccess && (\n <Grid.Item col={6} s={12}>\n <Field.Root\n name=\"password\"\n error={\n errors.password\n ? formatMessage({\n id: errors.password,\n defaultMessage: errors.password,\n })\n : undefined\n }\n >\n <Field.Label>\n {formatMessage({\n id: 'global.password',\n defaultMessage: 'Password',\n })}\n </Field.Label>\n <TextInput\n placeholder=\"**********\"\n type={passwordShown ? 'text' : 'password'}\n value={values.password}\n onChange={handleChange}\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 ? <Show /> : <Hide />}\n </FieldActionWrapper>\n }\n />\n <Field.Error />\n </Field.Root>\n </Grid.Item>\n )}\n </Grid.Root>\n </Flex>\n </Box>\n </Layouts.Content>\n </Form>\n );\n }}\n </Formik>\n );\n};\n","import * as React from 'react';\n\nimport { Main } from '@strapi/design-system';\nimport { useAPIErrorHandler, Page, useNotification } from '@strapi/strapi/admin';\nimport { FormikHelpers } from 'formik';\nimport { useIntl } from 'react-intl';\n\nimport { SettingsForm } from '../components/SettingsForm';\nimport { useGetInfoQuery, useUpdateSettingsMutation } from '../services/api';\nimport { getTrad, isBaseQueryError } from '../utils';\n\nimport type { SettingsInput } from '../types';\n\nconst SettingsPage = () => {\n const { toggleNotification } = useNotification();\n const { formatMessage } = useIntl();\n const {\n _unstableFormatAPIError: formatAPIError,\n _unstableFormatValidationErrors: formatValidationErrors,\n } = useAPIErrorHandler();\n const { data, isError, isLoading, isFetching } = useGetInfoQuery();\n const [updateSettings] = useUpdateSettingsMutation();\n\n const onUpdateSettings = async (body: SettingsInput, formik: FormikHelpers<SettingsInput>) => {\n return updateSettings({ body })\n .unwrap()\n .then(() => {\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: getTrad('notification.update.success'),\n defaultMessage: 'Successfully updated settings',\n }),\n });\n })\n .catch((err) => {\n if (isBaseQueryError(err) && err.name === 'ValidationError') {\n formik.setErrors(formatValidationErrors(err));\n } else {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(err),\n });\n }\n });\n };\n\n if (isLoading || isFetching) {\n return <Page.Loading />;\n }\n\n if (isError) {\n return <Page.Error />;\n }\n\n return (\n <Main>\n <SettingsForm data={data} onSubmit={onUpdateSettings} />\n </Main>\n );\n};\n\nexport { SettingsPage };\n"],"names":["Show","Hide"],"mappings":"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"}
@@ -0,0 +1,243 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const designSystem = require("@strapi/design-system");
5
+ const admin = require("@strapi/strapi/admin");
6
+ const reactIntl = require("react-intl");
7
+ const React = require("react");
8
+ const icons = require("@strapi/icons");
9
+ const formik = require("formik");
10
+ const styledComponents = require("styled-components");
11
+ const yup = require("yup");
12
+ const index = require("./index-Bjeq6z8p.js");
13
+ const getTrad = require("./getTrad-CPA7x4Cg.js");
14
+ function _interopNamespace(e) {
15
+ if (e && e.__esModule)
16
+ return e;
17
+ const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
18
+ if (e) {
19
+ for (const k in e) {
20
+ if (k !== "default") {
21
+ const d = Object.getOwnPropertyDescriptor(e, k);
22
+ Object.defineProperty(n, k, d.get ? d : {
23
+ enumerable: true,
24
+ get: () => e[k]
25
+ });
26
+ }
27
+ }
28
+ }
29
+ n.default = e;
30
+ return Object.freeze(n);
31
+ }
32
+ const React__namespace = /* @__PURE__ */ _interopNamespace(React);
33
+ const yup__namespace = /* @__PURE__ */ _interopNamespace(yup);
34
+ const isBaseQueryError = (error) => {
35
+ return error.name !== void 0;
36
+ };
37
+ const schema = yup__namespace.object().shape({
38
+ restrictedAccess: yup__namespace.boolean(),
39
+ password: yup__namespace.string().when("restrictedAccess", (value, initSchema) => {
40
+ return value ? initSchema.required(admin.translatedErrors.required.id) : initSchema;
41
+ })
42
+ });
43
+ const FieldActionWrapper = styledComponents.styled(designSystem.Field.Action)`
44
+ svg {
45
+ height: 1.6rem;
46
+ width: 1.6rem;
47
+ path {
48
+ fill: ${({ theme }) => theme.colors.neutral600};
49
+ }
50
+ }
51
+ `;
52
+ const SettingsForm = ({ data, onSubmit }) => {
53
+ const { formatMessage } = reactIntl.useIntl();
54
+ const [passwordShown, setPasswordShown] = React__namespace.useState(false);
55
+ const { allowedActions } = admin.useRBAC(index.PERMISSIONS);
56
+ return /* @__PURE__ */ jsxRuntime.jsx(
57
+ formik.Formik,
58
+ {
59
+ enableReinitialize: true,
60
+ initialValues: {
61
+ restrictedAccess: data?.documentationAccess.restrictedAccess || false,
62
+ password: ""
63
+ },
64
+ onSubmit,
65
+ validationSchema: schema,
66
+ children: ({
67
+ handleSubmit,
68
+ values,
69
+ handleChange,
70
+ errors,
71
+ setFieldTouched,
72
+ setFieldValue,
73
+ setFieldError,
74
+ dirty
75
+ }) => {
76
+ return /* @__PURE__ */ jsxRuntime.jsxs(formik.Form, { noValidate: true, onSubmit: handleSubmit, children: [
77
+ /* @__PURE__ */ jsxRuntime.jsx(
78
+ admin.Layouts.Header,
79
+ {
80
+ title: formatMessage({
81
+ id: getTrad.getTrad("plugin.name"),
82
+ defaultMessage: "Documentation"
83
+ }),
84
+ subtitle: formatMessage({
85
+ id: getTrad.getTrad("pages.SettingsPage.header.description"),
86
+ defaultMessage: "Configure the documentation plugin"
87
+ }),
88
+ primaryAction: /* @__PURE__ */ jsxRuntime.jsx(
89
+ designSystem.Button,
90
+ {
91
+ type: "submit",
92
+ startIcon: /* @__PURE__ */ jsxRuntime.jsx(icons.Check, {}),
93
+ disabled: !dirty && allowedActions.canUpdate,
94
+ children: formatMessage({
95
+ id: getTrad.getTrad("pages.SettingsPage.Button.save"),
96
+ defaultMessage: "Save"
97
+ })
98
+ }
99
+ )
100
+ }
101
+ ),
102
+ /* @__PURE__ */ jsxRuntime.jsx(admin.Layouts.Content, { children: /* @__PURE__ */ jsxRuntime.jsx(
103
+ designSystem.Box,
104
+ {
105
+ background: "neutral0",
106
+ hasRadius: true,
107
+ shadow: "filterShadow",
108
+ paddingTop: 6,
109
+ paddingBottom: 6,
110
+ paddingLeft: 7,
111
+ paddingRight: 7,
112
+ children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", alignItems: "stretch", gap: 4, children: [
113
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "delta", tag: "h2", children: formatMessage({
114
+ id: "global.settings",
115
+ defaultMessage: "Settings"
116
+ }) }),
117
+ /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Grid.Root, { gap: 4, children: [
118
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Item, { col: 6, s: 12, children: /* @__PURE__ */ jsxRuntime.jsxs(
119
+ designSystem.Field.Root,
120
+ {
121
+ name: "restrictedAccess",
122
+ hint: formatMessage({
123
+ id: getTrad.getTrad("pages.SettingsPage.toggle.hint"),
124
+ defaultMessage: "Make the documentation endpoint private"
125
+ }),
126
+ children: [
127
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Field.Label, { children: formatMessage({
128
+ id: getTrad.getTrad("pages.SettingsPage.toggle.label"),
129
+ defaultMessage: "Restricted Access"
130
+ }) }),
131
+ /* @__PURE__ */ jsxRuntime.jsx(
132
+ designSystem.Toggle,
133
+ {
134
+ checked: values.restrictedAccess,
135
+ onChange: () => {
136
+ if (values.restrictedAccess === true) {
137
+ setFieldValue("password", "", false);
138
+ setFieldTouched("password", false, false);
139
+ setFieldError("password", void 0);
140
+ }
141
+ setFieldValue("restrictedAccess", !values.restrictedAccess, false);
142
+ },
143
+ onLabel: "On",
144
+ offLabel: "Off"
145
+ }
146
+ ),
147
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Field.Hint, {})
148
+ ]
149
+ }
150
+ ) }),
151
+ values.restrictedAccess && /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Item, { col: 6, s: 12, children: /* @__PURE__ */ jsxRuntime.jsxs(
152
+ designSystem.Field.Root,
153
+ {
154
+ name: "password",
155
+ error: errors.password ? formatMessage({
156
+ id: errors.password,
157
+ defaultMessage: errors.password
158
+ }) : void 0,
159
+ children: [
160
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Field.Label, { children: formatMessage({
161
+ id: "global.password",
162
+ defaultMessage: "Password"
163
+ }) }),
164
+ /* @__PURE__ */ jsxRuntime.jsx(
165
+ designSystem.TextInput,
166
+ {
167
+ placeholder: "**********",
168
+ type: passwordShown ? "text" : "password",
169
+ value: values.password,
170
+ onChange: handleChange,
171
+ endAction: /* @__PURE__ */ jsxRuntime.jsx(
172
+ FieldActionWrapper,
173
+ {
174
+ onClick: (e) => {
175
+ e.stopPropagation();
176
+ setPasswordShown((prev) => !prev);
177
+ },
178
+ label: formatMessage(
179
+ passwordShown ? {
180
+ id: "Auth.form.password.show-password",
181
+ defaultMessage: "Show password"
182
+ } : {
183
+ id: "Auth.form.password.hide-password",
184
+ defaultMessage: "Hide password"
185
+ }
186
+ ),
187
+ children: passwordShown ? /* @__PURE__ */ jsxRuntime.jsx(icons.Eye, {}) : /* @__PURE__ */ jsxRuntime.jsx(icons.EyeStriked, {})
188
+ }
189
+ )
190
+ }
191
+ ),
192
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Field.Error, {})
193
+ ]
194
+ }
195
+ ) })
196
+ ] })
197
+ ] })
198
+ }
199
+ ) })
200
+ ] });
201
+ }
202
+ }
203
+ );
204
+ };
205
+ const SettingsPage = () => {
206
+ const { toggleNotification } = admin.useNotification();
207
+ const { formatMessage } = reactIntl.useIntl();
208
+ const {
209
+ _unstableFormatAPIError: formatAPIError,
210
+ _unstableFormatValidationErrors: formatValidationErrors
211
+ } = admin.useAPIErrorHandler();
212
+ const { data, isError, isLoading, isFetching } = getTrad.useGetInfoQuery();
213
+ const [updateSettings] = getTrad.useUpdateSettingsMutation();
214
+ const onUpdateSettings = async (body, formik2) => {
215
+ return updateSettings({ body }).unwrap().then(() => {
216
+ toggleNotification({
217
+ type: "success",
218
+ message: formatMessage({
219
+ id: getTrad.getTrad("notification.update.success"),
220
+ defaultMessage: "Successfully updated settings"
221
+ })
222
+ });
223
+ }).catch((err) => {
224
+ if (isBaseQueryError(err) && err.name === "ValidationError") {
225
+ formik2.setErrors(formatValidationErrors(err));
226
+ } else {
227
+ toggleNotification({
228
+ type: "danger",
229
+ message: formatAPIError(err)
230
+ });
231
+ }
232
+ });
233
+ };
234
+ if (isLoading || isFetching) {
235
+ return /* @__PURE__ */ jsxRuntime.jsx(admin.Page.Loading, {});
236
+ }
237
+ if (isError) {
238
+ return /* @__PURE__ */ jsxRuntime.jsx(admin.Page.Error, {});
239
+ }
240
+ return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Main, { children: /* @__PURE__ */ jsxRuntime.jsx(SettingsForm, { data, onSubmit: onUpdateSettings }) });
241
+ };
242
+ exports.SettingsPage = SettingsPage;
243
+ //# sourceMappingURL=Settings-MmkmHoxg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Settings-MmkmHoxg.js","sources":["../../admin/src/utils/baseQuery.ts","../../admin/src/components/SettingsForm.tsx","../../admin/src/pages/Settings.tsx"],"sourcesContent":["import { SerializedError } from '@reduxjs/toolkit';\nimport { type UnknownApiError, type ApiError } from '@strapi/strapi/admin';\n\ntype BaseQueryError = ApiError | UnknownApiError | SerializedError;\n\nconst isBaseQueryError = (error: BaseQueryError): error is ApiError | UnknownApiError => {\n return error.name !== undefined;\n};\n\nexport { isBaseQueryError };\n","import * as React from 'react';\n\nimport {\n Box,\n Button,\n Flex,\n Grid,\n TextInput,\n Toggle,\n Typography,\n Field,\n} from '@strapi/design-system';\n// Strapi Icons\nimport { Check, Eye as Show, EyeStriked as Hide } from '@strapi/icons';\nimport { translatedErrors, useRBAC, Layouts } from '@strapi/strapi/admin';\nimport { Form, Formik, FormikHelpers } from 'formik';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\nimport * as yup from 'yup';\n\nimport { PERMISSIONS } from '../constants';\nimport { DocumentInfos, SettingsInput } from '../types';\nimport { getTrad } from '../utils';\n\nconst schema = yup.object().shape({\n restrictedAccess: yup.boolean(),\n password: yup.string().when('restrictedAccess', (value, initSchema) => {\n return value ? initSchema.required(translatedErrors.required.id) : initSchema;\n }),\n});\n\nconst FieldActionWrapper = styled(Field.Action)`\n svg {\n height: 1.6rem;\n width: 1.6rem;\n path {\n fill: ${({ theme }) => theme.colors.neutral600};\n }\n }\n`;\n\ntype SettingsFormProps = {\n data?: DocumentInfos;\n onSubmit: (body: SettingsInput, formik: FormikHelpers<SettingsInput>) => Promise<void>;\n};\n\nexport const SettingsForm = ({ data, onSubmit }: SettingsFormProps) => {\n const { formatMessage } = useIntl();\n const [passwordShown, setPasswordShown] = React.useState(false);\n const { allowedActions } = useRBAC(PERMISSIONS);\n\n return (\n <Formik\n enableReinitialize\n initialValues={{\n restrictedAccess: data?.documentationAccess.restrictedAccess || false,\n password: '',\n }}\n onSubmit={onSubmit}\n validationSchema={schema}\n >\n {({\n handleSubmit,\n values,\n handleChange,\n errors,\n setFieldTouched,\n setFieldValue,\n setFieldError,\n dirty,\n }) => {\n return (\n <Form noValidate onSubmit={handleSubmit}>\n <Layouts.Header\n title={formatMessage({\n id: getTrad('plugin.name'),\n defaultMessage: 'Documentation',\n })}\n subtitle={formatMessage({\n id: getTrad('pages.SettingsPage.header.description'),\n defaultMessage: 'Configure the documentation plugin',\n })}\n primaryAction={\n <Button\n type=\"submit\"\n startIcon={<Check />}\n disabled={!dirty && allowedActions.canUpdate}\n >\n {formatMessage({\n id: getTrad('pages.SettingsPage.Button.save'),\n defaultMessage: 'Save',\n })}\n </Button>\n }\n />\n <Layouts.Content>\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\" tag=\"h2\">\n {formatMessage({\n id: 'global.settings',\n defaultMessage: 'Settings',\n })}\n </Typography>\n <Grid.Root gap={4}>\n <Grid.Item col={6} s={12}>\n <Field.Root\n name=\"restrictedAccess\"\n hint={formatMessage({\n id: getTrad('pages.SettingsPage.toggle.hint'),\n defaultMessage: 'Make the documentation endpoint private',\n })}\n >\n <Field.Label>\n {formatMessage({\n id: getTrad('pages.SettingsPage.toggle.label'),\n defaultMessage: 'Restricted Access',\n })}\n </Field.Label>\n <Toggle\n checked={values.restrictedAccess}\n onChange={() => {\n if (values.restrictedAccess === true) {\n setFieldValue('password', '', false);\n setFieldTouched('password', false, false);\n setFieldError('password', undefined);\n }\n\n setFieldValue('restrictedAccess', !values.restrictedAccess, false);\n }}\n onLabel=\"On\"\n offLabel=\"Off\"\n />\n <Field.Hint />\n </Field.Root>\n </Grid.Item>\n {values.restrictedAccess && (\n <Grid.Item col={6} s={12}>\n <Field.Root\n name=\"password\"\n error={\n errors.password\n ? formatMessage({\n id: errors.password,\n defaultMessage: errors.password,\n })\n : undefined\n }\n >\n <Field.Label>\n {formatMessage({\n id: 'global.password',\n defaultMessage: 'Password',\n })}\n </Field.Label>\n <TextInput\n placeholder=\"**********\"\n type={passwordShown ? 'text' : 'password'}\n value={values.password}\n onChange={handleChange}\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 ? <Show /> : <Hide />}\n </FieldActionWrapper>\n }\n />\n <Field.Error />\n </Field.Root>\n </Grid.Item>\n )}\n </Grid.Root>\n </Flex>\n </Box>\n </Layouts.Content>\n </Form>\n );\n }}\n </Formik>\n );\n};\n","import * as React from 'react';\n\nimport { Main } from '@strapi/design-system';\nimport { useAPIErrorHandler, Page, useNotification } from '@strapi/strapi/admin';\nimport { FormikHelpers } from 'formik';\nimport { useIntl } from 'react-intl';\n\nimport { SettingsForm } from '../components/SettingsForm';\nimport { useGetInfoQuery, useUpdateSettingsMutation } from '../services/api';\nimport { getTrad, isBaseQueryError } from '../utils';\n\nimport type { SettingsInput } from '../types';\n\nconst SettingsPage = () => {\n const { toggleNotification } = useNotification();\n const { formatMessage } = useIntl();\n const {\n _unstableFormatAPIError: formatAPIError,\n _unstableFormatValidationErrors: formatValidationErrors,\n } = useAPIErrorHandler();\n const { data, isError, isLoading, isFetching } = useGetInfoQuery();\n const [updateSettings] = useUpdateSettingsMutation();\n\n const onUpdateSettings = async (body: SettingsInput, formik: FormikHelpers<SettingsInput>) => {\n return updateSettings({ body })\n .unwrap()\n .then(() => {\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: getTrad('notification.update.success'),\n defaultMessage: 'Successfully updated settings',\n }),\n });\n })\n .catch((err) => {\n if (isBaseQueryError(err) && err.name === 'ValidationError') {\n formik.setErrors(formatValidationErrors(err));\n } else {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(err),\n });\n }\n });\n };\n\n if (isLoading || isFetching) {\n return <Page.Loading />;\n }\n\n if (isError) {\n return <Page.Error />;\n }\n\n return (\n <Main>\n <SettingsForm data={data} onSubmit={onUpdateSettings} />\n </Main>\n );\n};\n\nexport { SettingsPage };\n"],"names":["yup","translatedErrors","styled","Field","useIntl","React","useRBAC","PERMISSIONS","jsx","Formik","jsxs","Form","Layouts","getTrad","Button","Check","Box","Flex","Typography","Grid","Toggle","TextInput","Show","Hide","useNotification","useAPIErrorHandler","useGetInfoQuery","useUpdateSettingsMutation","formik","Page","Main"],"mappings":"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"}
@@ -21,4 +21,4 @@ const ar = {
21
21
  "notification.update.success": "Settings updated successfully"
22
22
  };
23
23
  exports.default = ar;
24
- //# sourceMappingURL=ar-4yWQcJB-.js.map
24
+ //# sourceMappingURL=ar-CkqTE6jh.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ar-CkqTE6jh.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;"}
@@ -21,4 +21,4 @@ const ar = {
21
21
  export {
22
22
  ar as default
23
23
  };
24
- //# sourceMappingURL=ar-dlnabvQE.mjs.map
24
+ //# sourceMappingURL=ar-ckp9T43y.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ar-ckp9T43y.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;"}
@@ -22,4 +22,4 @@ const cs = {
22
22
  "plugin.name": "Dokumentace"
23
23
  };
24
24
  exports.default = cs;
25
- //# sourceMappingURL=cs-knLCHelx.js.map
25
+ //# sourceMappingURL=cs-BbyKo6Hc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cs-BbyKo6Hc.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -22,4 +22,4 @@ const cs = {
22
22
  export {
23
23
  cs as default
24
24
  };
25
- //# sourceMappingURL=cs-x2Pr-Y38.mjs.map
25
+ //# sourceMappingURL=cs-ciLYCxgd.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cs-ciLYCxgd.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;"}
@@ -27,4 +27,4 @@ const de = {
27
27
  "plugin.name": "Dokumentation"
28
28
  };
29
29
  exports.default = de;
30
- //# sourceMappingURL=de-D0HJjv1r.js.map
30
+ //# sourceMappingURL=de-CHwC0A85.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"de-CHwC0A85.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -27,4 +27,4 @@ const de = {
27
27
  export {
28
28
  de as default
29
29
  };
30
- //# sourceMappingURL=de-10J3uf4y.mjs.map
30
+ //# sourceMappingURL=de-DqkAUMvP.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"de-DqkAUMvP.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -40,4 +40,4 @@ const dk = {
40
40
  export {
41
41
  dk as default
42
42
  };
43
- //# sourceMappingURL=dk-_8JEfZdj.mjs.map
43
+ //# sourceMappingURL=dk-DgCq8mF-.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dk-DgCq8mF-.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -40,4 +40,4 @@ const dk = {
40
40
  "plugin.name": "Dokumentation"
41
41
  };
42
42
  exports.default = dk;
43
- //# sourceMappingURL=dk-OGCIxZ4f.js.map
43
+ //# sourceMappingURL=dk-qlI2J6S0.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dk-qlI2J6S0.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -40,4 +40,4 @@ const en = {
40
40
  "plugin.name": "Documentation"
41
41
  };
42
42
  exports.default = en;
43
- //# sourceMappingURL=en-YgFnjikD.js.map
43
+ //# sourceMappingURL=en-Cfq2Inmo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"en-Cfq2Inmo.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -40,4 +40,4 @@ const en = {
40
40
  export {
41
41
  en as default
42
42
  };
43
- //# sourceMappingURL=en-V4ac9UMW.mjs.map
43
+ //# sourceMappingURL=en-DfCC9sZn.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"en-DfCC9sZn.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -40,4 +40,4 @@ const es = {
40
40
  export {
41
41
  es as default
42
42
  };
43
- //# sourceMappingURL=es-f_rfLY5r.mjs.map
43
+ //# sourceMappingURL=es-CEiXVnsb.mjs.map