@strapi/plugin-documentation 0.0.0-experimental.62ce06180fe9a772eaeb3d43d238b26644f39f7c → 0.0.0-experimental.6340da17068c3bed7fb006e7bcc554c71129e282

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 (396) hide show
  1. package/LICENSE +18 -3
  2. package/README.md +2 -2
  3. package/dist/admin/components/SettingsForm.js +203 -0
  4. package/dist/admin/components/SettingsForm.js.map +1 -0
  5. package/dist/admin/components/SettingsForm.mjs +180 -0
  6. package/dist/admin/components/SettingsForm.mjs.map +1 -0
  7. package/dist/admin/constants.js +47 -0
  8. package/dist/admin/constants.js.map +1 -0
  9. package/dist/admin/constants.mjs +45 -0
  10. package/dist/admin/constants.mjs.map +1 -0
  11. package/dist/admin/index.js +96 -4
  12. package/dist/admin/index.js.map +1 -1
  13. package/dist/admin/index.mjs +91 -4
  14. package/dist/admin/index.mjs.map +1 -1
  15. package/dist/admin/pages/App.js +254 -0
  16. package/dist/admin/pages/App.js.map +1 -0
  17. package/dist/admin/pages/App.mjs +232 -0
  18. package/dist/admin/pages/App.mjs.map +1 -0
  19. package/dist/admin/pages/Settings.js +54 -0
  20. package/dist/admin/pages/Settings.js.map +1 -0
  21. package/dist/admin/pages/Settings.mjs +52 -0
  22. package/dist/admin/pages/Settings.mjs.map +1 -0
  23. package/dist/admin/pluginId.js +6 -0
  24. package/dist/admin/pluginId.js.map +1 -0
  25. package/dist/admin/pluginId.mjs +4 -0
  26. package/dist/admin/pluginId.mjs.map +1 -0
  27. package/dist/admin/services/api.js +55 -0
  28. package/dist/admin/services/api.js.map +1 -0
  29. package/dist/admin/services/api.mjs +50 -0
  30. package/dist/admin/services/api.mjs.map +1 -0
  31. package/dist/admin/src/index.d.ts +3 -2
  32. package/dist/admin/src/pages/tests/App.test.d.ts +1 -0
  33. package/dist/admin/src/pages/tests/Settings.test.d.ts +1 -0
  34. package/dist/admin/src/services/api.d.ts +4 -4
  35. package/dist/admin/translations/ar.json.js +25 -0
  36. package/dist/admin/translations/ar.json.js.map +1 -0
  37. package/dist/admin/translations/ar.json.mjs +23 -0
  38. package/dist/admin/translations/ar.json.mjs.map +1 -0
  39. package/dist/admin/translations/cs.json.js +47 -0
  40. package/dist/admin/translations/cs.json.js.map +1 -0
  41. package/dist/admin/translations/cs.json.mjs +45 -0
  42. package/dist/admin/translations/cs.json.mjs.map +1 -0
  43. package/dist/admin/translations/da.json.js +44 -0
  44. package/dist/admin/translations/da.json.js.map +1 -0
  45. package/dist/admin/translations/da.json.mjs +42 -0
  46. package/dist/admin/translations/da.json.mjs.map +1 -0
  47. package/dist/admin/translations/de.json.js +47 -0
  48. package/dist/admin/translations/de.json.js.map +1 -0
  49. package/dist/admin/translations/de.json.mjs +45 -0
  50. package/dist/admin/translations/de.json.mjs.map +1 -0
  51. package/dist/admin/translations/en.json.js +47 -0
  52. package/dist/admin/translations/en.json.js.map +1 -0
  53. package/dist/admin/translations/en.json.mjs +45 -0
  54. package/dist/admin/translations/en.json.mjs.map +1 -0
  55. package/dist/admin/translations/es.json.js +47 -0
  56. package/dist/admin/translations/es.json.js.map +1 -0
  57. package/dist/admin/translations/es.json.mjs +45 -0
  58. package/dist/admin/translations/es.json.mjs.map +1 -0
  59. package/dist/admin/translations/fr.json.js +31 -0
  60. package/dist/admin/translations/fr.json.js.map +1 -0
  61. package/dist/admin/translations/fr.json.mjs +29 -0
  62. package/dist/admin/translations/fr.json.mjs.map +1 -0
  63. package/dist/admin/translations/id.json.js +29 -0
  64. package/dist/admin/translations/id.json.js.map +1 -0
  65. package/dist/admin/translations/id.json.mjs +27 -0
  66. package/dist/admin/translations/id.json.mjs.map +1 -0
  67. package/dist/admin/translations/it.json.js +31 -0
  68. package/dist/admin/translations/it.json.js.map +1 -0
  69. package/dist/admin/translations/it.json.mjs +29 -0
  70. package/dist/admin/translations/it.json.mjs.map +1 -0
  71. package/dist/admin/translations/ko.json.js +44 -0
  72. package/dist/admin/translations/ko.json.js.map +1 -0
  73. package/dist/admin/translations/ko.json.mjs +42 -0
  74. package/dist/admin/translations/ko.json.mjs.map +1 -0
  75. package/dist/admin/translations/ms.json.js +28 -0
  76. package/dist/admin/translations/ms.json.js.map +1 -0
  77. package/dist/admin/translations/ms.json.mjs +26 -0
  78. package/dist/admin/translations/ms.json.mjs.map +1 -0
  79. package/dist/admin/translations/nl.json.js +26 -0
  80. package/dist/admin/translations/nl.json.js.map +1 -0
  81. package/dist/admin/translations/nl.json.mjs +24 -0
  82. package/dist/admin/translations/nl.json.mjs.map +1 -0
  83. package/dist/admin/translations/pl.json.js +47 -0
  84. package/dist/admin/translations/pl.json.js.map +1 -0
  85. package/dist/admin/translations/pl.json.mjs +45 -0
  86. package/dist/admin/translations/pl.json.mjs.map +1 -0
  87. package/dist/admin/translations/pt-BR.json.js +26 -0
  88. package/dist/admin/translations/pt-BR.json.js.map +1 -0
  89. package/dist/admin/translations/pt-BR.json.mjs +24 -0
  90. package/dist/admin/translations/pt-BR.json.mjs.map +1 -0
  91. package/dist/admin/translations/pt.json.js +26 -0
  92. package/dist/admin/translations/pt.json.js.map +1 -0
  93. package/dist/admin/translations/pt.json.mjs +24 -0
  94. package/dist/admin/translations/pt.json.mjs.map +1 -0
  95. package/dist/admin/translations/ru.json.js +47 -0
  96. package/dist/admin/translations/ru.json.js.map +1 -0
  97. package/dist/admin/translations/ru.json.mjs +45 -0
  98. package/dist/admin/translations/ru.json.mjs.map +1 -0
  99. package/dist/admin/translations/sk.json.js +47 -0
  100. package/dist/admin/translations/sk.json.js.map +1 -0
  101. package/dist/admin/translations/sk.json.mjs +45 -0
  102. package/dist/admin/translations/sk.json.mjs.map +1 -0
  103. package/dist/admin/translations/sv.json.js +44 -0
  104. package/dist/admin/translations/sv.json.js.map +1 -0
  105. package/dist/admin/translations/sv.json.mjs +42 -0
  106. package/dist/admin/translations/sv.json.mjs.map +1 -0
  107. package/dist/admin/translations/th.json.js +29 -0
  108. package/dist/admin/translations/th.json.js.map +1 -0
  109. package/dist/admin/translations/th.json.mjs +27 -0
  110. package/dist/admin/translations/th.json.mjs.map +1 -0
  111. package/dist/admin/translations/tr.json.js +44 -0
  112. package/dist/admin/translations/tr.json.js.map +1 -0
  113. package/dist/admin/translations/tr.json.mjs +42 -0
  114. package/dist/admin/translations/tr.json.mjs.map +1 -0
  115. package/dist/admin/translations/uk.json.js +47 -0
  116. package/dist/admin/translations/uk.json.js.map +1 -0
  117. package/dist/admin/translations/uk.json.mjs +45 -0
  118. package/dist/admin/translations/uk.json.mjs.map +1 -0
  119. package/dist/admin/translations/vi.json.js +29 -0
  120. package/dist/admin/translations/vi.json.js.map +1 -0
  121. package/dist/admin/translations/vi.json.mjs +27 -0
  122. package/dist/admin/translations/vi.json.mjs.map +1 -0
  123. package/dist/admin/translations/zh-Hans.json.js +33 -0
  124. package/dist/admin/translations/zh-Hans.json.js.map +1 -0
  125. package/dist/admin/translations/zh-Hans.json.mjs +31 -0
  126. package/dist/admin/translations/zh-Hans.json.mjs.map +1 -0
  127. package/dist/admin/translations/zh.json.js +44 -0
  128. package/dist/admin/translations/zh.json.js.map +1 -0
  129. package/dist/admin/translations/zh.json.mjs +42 -0
  130. package/dist/admin/translations/zh.json.mjs.map +1 -0
  131. package/dist/admin/utils/baseQuery.js +8 -0
  132. package/dist/admin/utils/baseQuery.js.map +1 -0
  133. package/dist/admin/utils/baseQuery.mjs +6 -0
  134. package/dist/admin/utils/baseQuery.mjs.map +1 -0
  135. package/dist/admin/utils/getTrad.js +8 -0
  136. package/dist/admin/utils/getTrad.js.map +1 -0
  137. package/dist/admin/utils/getTrad.mjs +6 -0
  138. package/dist/admin/utils/getTrad.mjs.map +1 -0
  139. package/dist/admin/utils/prefixPluginTranslations.js +11 -0
  140. package/dist/admin/utils/prefixPluginTranslations.js.map +1 -0
  141. package/dist/admin/utils/prefixPluginTranslations.mjs +9 -0
  142. package/dist/admin/utils/prefixPluginTranslations.mjs.map +1 -0
  143. package/dist/server/bootstrap.js +57 -0
  144. package/dist/server/bootstrap.js.map +1 -0
  145. package/dist/server/bootstrap.mjs +55 -0
  146. package/dist/server/bootstrap.mjs.map +1 -0
  147. package/dist/server/config/default-plugin-config.js +88 -0
  148. package/dist/server/config/default-plugin-config.js.map +1 -0
  149. package/dist/server/config/default-plugin-config.mjs +86 -0
  150. package/dist/server/config/default-plugin-config.mjs.map +1 -0
  151. package/dist/server/config/index.js +10 -0
  152. package/dist/server/config/index.js.map +1 -0
  153. package/dist/server/config/index.mjs +8 -0
  154. package/dist/server/config/index.mjs.map +1 -0
  155. package/dist/server/controllers/documentation.js +194 -0
  156. package/dist/server/controllers/documentation.js.map +1 -0
  157. package/dist/server/controllers/documentation.mjs +182 -0
  158. package/dist/server/controllers/documentation.mjs.map +1 -0
  159. package/dist/server/controllers/index.js +10 -0
  160. package/dist/server/controllers/index.js.map +1 -0
  161. package/dist/server/controllers/index.mjs +8 -0
  162. package/dist/server/controllers/index.mjs.map +1 -0
  163. package/dist/server/index.js +18 -1261
  164. package/dist/server/index.js.map +1 -1
  165. package/dist/server/index.mjs +17 -1237
  166. package/dist/server/index.mjs.map +1 -1
  167. package/dist/server/middlewares/documentation.js +33 -0
  168. package/dist/server/middlewares/documentation.js.map +1 -0
  169. package/dist/server/middlewares/documentation.mjs +25 -0
  170. package/dist/server/middlewares/documentation.mjs.map +1 -0
  171. package/dist/server/middlewares/restrict-access.js +23 -0
  172. package/dist/server/middlewares/restrict-access.js.map +1 -0
  173. package/dist/server/middlewares/restrict-access.mjs +21 -0
  174. package/dist/server/middlewares/restrict-access.mjs.map +1 -0
  175. package/dist/server/public/index.html.js +6 -0
  176. package/dist/server/public/index.html.js.map +1 -0
  177. package/dist/server/public/index.html.mjs +4 -0
  178. package/dist/server/public/index.html.mjs.map +1 -0
  179. package/dist/server/public/login.html.js +6 -0
  180. package/dist/server/public/login.html.js.map +1 -0
  181. package/dist/server/public/login.html.mjs +4 -0
  182. package/dist/server/public/login.html.mjs.map +1 -0
  183. package/dist/server/register.js +12 -0
  184. package/dist/server/register.js.map +1 -0
  185. package/dist/server/register.mjs +10 -0
  186. package/dist/server/register.mjs.map +1 -0
  187. package/dist/server/routes/index.js +106 -0
  188. package/dist/server/routes/index.js.map +1 -0
  189. package/dist/server/routes/index.mjs +104 -0
  190. package/dist/server/routes/index.mjs.map +1 -0
  191. package/dist/server/services/documentation.js +193 -0
  192. package/dist/server/services/documentation.js.map +1 -0
  193. package/dist/server/services/documentation.mjs +186 -0
  194. package/dist/server/services/documentation.mjs.map +1 -0
  195. package/dist/server/services/helpers/build-api-endpoint-path.js +166 -0
  196. package/dist/server/services/helpers/build-api-endpoint-path.js.map +1 -0
  197. package/dist/server/services/helpers/build-api-endpoint-path.mjs +141 -0
  198. package/dist/server/services/helpers/build-api-endpoint-path.mjs.map +1 -0
  199. package/dist/server/services/helpers/build-component-schema.js +178 -0
  200. package/dist/server/services/helpers/build-component-schema.js.map +1 -0
  201. package/dist/server/services/helpers/build-component-schema.mjs +172 -0
  202. package/dist/server/services/helpers/build-component-schema.mjs.map +1 -0
  203. package/dist/server/services/helpers/utils/clean-schema-attributes.js +315 -0
  204. package/dist/server/services/helpers/utils/clean-schema-attributes.js.map +1 -0
  205. package/dist/server/services/helpers/utils/clean-schema-attributes.mjs +313 -0
  206. package/dist/server/services/helpers/utils/clean-schema-attributes.mjs.map +1 -0
  207. package/dist/server/services/helpers/utils/get-api-responses.js +88 -0
  208. package/dist/server/services/helpers/utils/get-api-responses.js.map +1 -0
  209. package/dist/server/services/helpers/utils/get-api-responses.mjs +86 -0
  210. package/dist/server/services/helpers/utils/get-api-responses.mjs.map +1 -0
  211. package/dist/server/services/helpers/utils/get-schema-data.js +57 -0
  212. package/dist/server/services/helpers/utils/get-schema-data.js.map +1 -0
  213. package/dist/server/services/helpers/utils/get-schema-data.mjs +55 -0
  214. package/dist/server/services/helpers/utils/get-schema-data.mjs.map +1 -0
  215. package/dist/server/services/helpers/utils/loop-content-type-names.js +44 -0
  216. package/dist/server/services/helpers/utils/loop-content-type-names.js.map +1 -0
  217. package/dist/server/services/helpers/utils/loop-content-type-names.mjs +38 -0
  218. package/dist/server/services/helpers/utils/loop-content-type-names.mjs.map +1 -0
  219. package/dist/server/services/helpers/utils/pascal-case.js +14 -0
  220. package/dist/server/services/helpers/utils/pascal-case.js.map +1 -0
  221. package/dist/server/services/helpers/utils/pascal-case.mjs +8 -0
  222. package/dist/server/services/helpers/utils/pascal-case.mjs.map +1 -0
  223. package/dist/server/services/helpers/utils/query-params.js +109 -0
  224. package/dist/server/services/helpers/utils/query-params.js.map +1 -0
  225. package/dist/server/services/helpers/utils/query-params.mjs +107 -0
  226. package/dist/server/services/helpers/utils/query-params.mjs.map +1 -0
  227. package/dist/server/services/helpers/utils/routes.js +11 -0
  228. package/dist/server/services/helpers/utils/routes.js.map +1 -0
  229. package/dist/server/services/helpers/utils/routes.mjs +9 -0
  230. package/dist/server/services/helpers/utils/routes.mjs.map +1 -0
  231. package/dist/server/services/index.js +13 -0
  232. package/dist/server/services/index.js.map +1 -0
  233. package/dist/server/services/index.mjs +11 -0
  234. package/dist/server/services/index.mjs.map +1 -0
  235. package/dist/server/services/override.js +45 -0
  236. package/dist/server/services/override.js.map +1 -0
  237. package/dist/server/services/override.mjs +43 -0
  238. package/dist/server/services/override.mjs.map +1 -0
  239. package/dist/server/services/utils/get-plugins-that-need-documentation.js +24 -0
  240. package/dist/server/services/utils/get-plugins-that-need-documentation.js.map +1 -0
  241. package/dist/server/services/utils/get-plugins-that-need-documentation.mjs +22 -0
  242. package/dist/server/services/utils/get-plugins-that-need-documentation.mjs.map +1 -0
  243. package/dist/server/src/bootstrap.d.ts.map +1 -1
  244. package/dist/server/src/controllers/documentation.d.ts +2 -2
  245. package/dist/server/src/controllers/documentation.d.ts.map +1 -1
  246. package/dist/server/src/controllers/index.d.ts +2 -3
  247. package/dist/server/src/controllers/index.d.ts.map +1 -1
  248. package/dist/server/src/index.d.ts +5 -6
  249. package/dist/server/src/index.d.ts.map +1 -1
  250. package/dist/server/src/middlewares/documentation.d.ts.map +1 -1
  251. package/dist/server/src/middlewares/restrict-access.d.ts.map +1 -1
  252. package/dist/server/src/routes/index.d.ts +0 -1
  253. package/dist/server/src/routes/index.d.ts.map +1 -1
  254. package/dist/server/src/services/documentation.d.ts.map +1 -1
  255. package/dist/server/src/services/helpers/build-api-endpoint-path.d.ts.map +1 -1
  256. package/dist/server/src/services/helpers/build-component-schema.d.ts.map +1 -1
  257. package/dist/server/src/services/helpers/utils/clean-schema-attributes.d.ts +1 -1
  258. package/dist/server/src/services/helpers/utils/clean-schema-attributes.d.ts.map +1 -1
  259. package/dist/server/src/services/helpers/utils/get-api-responses.d.ts.map +1 -1
  260. package/dist/server/src/services/helpers/utils/get-schema-data.d.ts.map +1 -1
  261. package/dist/server/src/services/helpers/utils/loop-content-type-names.d.ts.map +1 -1
  262. package/dist/server/src/services/helpers/utils/pascal-case.d.ts.map +1 -1
  263. package/dist/server/src/services/helpers/utils/query-params.d.ts.map +1 -1
  264. package/dist/server/src/services/helpers/utils/routes.d.ts.map +1 -1
  265. package/dist/server/src/services/index.d.ts +3 -3
  266. package/dist/server/src/services/index.d.ts.map +1 -1
  267. package/dist/server/src/services/override.d.ts.map +1 -1
  268. package/dist/server/src/services/utils/get-plugins-that-need-documentation.d.ts.map +1 -1
  269. package/dist/server/src/utils.d.ts.map +1 -1
  270. package/dist/server/utils.js +10 -0
  271. package/dist/server/utils.js.map +1 -0
  272. package/dist/server/utils.mjs +8 -0
  273. package/dist/server/utils.mjs.map +1 -0
  274. package/dist/tests/server.d.ts +2 -0
  275. package/package.json +35 -31
  276. package/dist/_chunks/App-Cmiagsr-.js +0 -203
  277. package/dist/_chunks/App-Cmiagsr-.js.map +0 -1
  278. package/dist/_chunks/App-pk6g9tYL.mjs +0 -184
  279. package/dist/_chunks/App-pk6g9tYL.mjs.map +0 -1
  280. package/dist/_chunks/Settings-CqLmbMfv.mjs +0 -223
  281. package/dist/_chunks/Settings-CqLmbMfv.mjs.map +0 -1
  282. package/dist/_chunks/Settings-MmkmHoxg.js +0 -243
  283. package/dist/_chunks/Settings-MmkmHoxg.js.map +0 -1
  284. package/dist/_chunks/ar-CkqTE6jh.js +0 -24
  285. package/dist/_chunks/ar-CkqTE6jh.js.map +0 -1
  286. package/dist/_chunks/ar-ckp9T43y.mjs +0 -24
  287. package/dist/_chunks/ar-ckp9T43y.mjs.map +0 -1
  288. package/dist/_chunks/cs-BbyKo6Hc.js +0 -25
  289. package/dist/_chunks/cs-BbyKo6Hc.js.map +0 -1
  290. package/dist/_chunks/cs-ciLYCxgd.mjs +0 -25
  291. package/dist/_chunks/cs-ciLYCxgd.mjs.map +0 -1
  292. package/dist/_chunks/de-CHwC0A85.js +0 -30
  293. package/dist/_chunks/de-CHwC0A85.js.map +0 -1
  294. package/dist/_chunks/de-DqkAUMvP.mjs +0 -30
  295. package/dist/_chunks/de-DqkAUMvP.mjs.map +0 -1
  296. package/dist/_chunks/dk-DgCq8mF-.mjs +0 -43
  297. package/dist/_chunks/dk-DgCq8mF-.mjs.map +0 -1
  298. package/dist/_chunks/dk-qlI2J6S0.js +0 -43
  299. package/dist/_chunks/dk-qlI2J6S0.js.map +0 -1
  300. package/dist/_chunks/en-Cfq2Inmo.js +0 -43
  301. package/dist/_chunks/en-Cfq2Inmo.js.map +0 -1
  302. package/dist/_chunks/en-DfCC9sZn.mjs +0 -43
  303. package/dist/_chunks/en-DfCC9sZn.mjs.map +0 -1
  304. package/dist/_chunks/es-CEiXVnsb.mjs +0 -43
  305. package/dist/_chunks/es-CEiXVnsb.mjs.map +0 -1
  306. package/dist/_chunks/es-DH1GVZe7.js +0 -43
  307. package/dist/_chunks/es-DH1GVZe7.js.map +0 -1
  308. package/dist/_chunks/fr-B1x-Nj5w.js +0 -30
  309. package/dist/_chunks/fr-B1x-Nj5w.js.map +0 -1
  310. package/dist/_chunks/fr-BlX-v4UF.mjs +0 -30
  311. package/dist/_chunks/fr-BlX-v4UF.mjs.map +0 -1
  312. package/dist/_chunks/getTrad-AjYeGjZg.mjs +0 -51
  313. package/dist/_chunks/getTrad-AjYeGjZg.mjs.map +0 -1
  314. package/dist/_chunks/getTrad-CPA7x4Cg.js +0 -50
  315. package/dist/_chunks/getTrad-CPA7x4Cg.js.map +0 -1
  316. package/dist/_chunks/id-CPOl6_EU.mjs +0 -28
  317. package/dist/_chunks/id-CPOl6_EU.mjs.map +0 -1
  318. package/dist/_chunks/id-D3yFE72d.js +0 -28
  319. package/dist/_chunks/id-D3yFE72d.js.map +0 -1
  320. package/dist/_chunks/index-BTFWrNiz.mjs +0 -75
  321. package/dist/_chunks/index-BTFWrNiz.mjs.map +0 -1
  322. package/dist/_chunks/index-Bjeq6z8p.js +0 -100
  323. package/dist/_chunks/index-Bjeq6z8p.js.map +0 -1
  324. package/dist/_chunks/index-CEoG11hQ.mjs +0 -101
  325. package/dist/_chunks/index-CEoG11hQ.mjs.map +0 -1
  326. package/dist/_chunks/index-CYcTK1eg.js +0 -75
  327. package/dist/_chunks/index-CYcTK1eg.js.map +0 -1
  328. package/dist/_chunks/it-DWJI563z.mjs +0 -30
  329. package/dist/_chunks/it-DWJI563z.mjs.map +0 -1
  330. package/dist/_chunks/it-WuNBIqG8.js +0 -30
  331. package/dist/_chunks/it-WuNBIqG8.js.map +0 -1
  332. package/dist/_chunks/ko-CFzSHayG.mjs +0 -43
  333. package/dist/_chunks/ko-CFzSHayG.mjs.map +0 -1
  334. package/dist/_chunks/ko-De5iYa_O.js +0 -43
  335. package/dist/_chunks/ko-De5iYa_O.js.map +0 -1
  336. package/dist/_chunks/login-EQSKn2h7.js +0 -150
  337. package/dist/_chunks/login-EQSKn2h7.js.map +0 -1
  338. package/dist/_chunks/login-KS59cQ6U.mjs +0 -150
  339. package/dist/_chunks/login-KS59cQ6U.mjs.map +0 -1
  340. package/dist/_chunks/ms-CUgPFo4U.mjs +0 -27
  341. package/dist/_chunks/ms-CUgPFo4U.mjs.map +0 -1
  342. package/dist/_chunks/ms-DQfa3FDx.js +0 -27
  343. package/dist/_chunks/ms-DQfa3FDx.js.map +0 -1
  344. package/dist/_chunks/nl-BZHlqphk.js +0 -25
  345. package/dist/_chunks/nl-BZHlqphk.js.map +0 -1
  346. package/dist/_chunks/nl-B_7CHwVD.mjs +0 -25
  347. package/dist/_chunks/nl-B_7CHwVD.mjs.map +0 -1
  348. package/dist/_chunks/pl-DDl5i_mP.js +0 -43
  349. package/dist/_chunks/pl-DDl5i_mP.js.map +0 -1
  350. package/dist/_chunks/pl-DwLr8sw9.mjs +0 -43
  351. package/dist/_chunks/pl-DwLr8sw9.mjs.map +0 -1
  352. package/dist/_chunks/pt-4GQ8ermL.js +0 -25
  353. package/dist/_chunks/pt-4GQ8ermL.js.map +0 -1
  354. package/dist/_chunks/pt-BR-D24CJ0qp.js +0 -25
  355. package/dist/_chunks/pt-BR-D24CJ0qp.js.map +0 -1
  356. package/dist/_chunks/pt-BR-MVXc6V9P.mjs +0 -25
  357. package/dist/_chunks/pt-BR-MVXc6V9P.mjs.map +0 -1
  358. package/dist/_chunks/pt-C2N9fdeh.mjs +0 -25
  359. package/dist/_chunks/pt-C2N9fdeh.mjs.map +0 -1
  360. package/dist/_chunks/ru-BddeNlU0.mjs +0 -43
  361. package/dist/_chunks/ru-BddeNlU0.mjs.map +0 -1
  362. package/dist/_chunks/ru-QwZYcU6K.js +0 -43
  363. package/dist/_chunks/ru-QwZYcU6K.js.map +0 -1
  364. package/dist/_chunks/sk-BmT4uZTG.mjs +0 -28
  365. package/dist/_chunks/sk-BmT4uZTG.mjs.map +0 -1
  366. package/dist/_chunks/sk-DgAXilB1.js +0 -28
  367. package/dist/_chunks/sk-DgAXilB1.js.map +0 -1
  368. package/dist/_chunks/sv-CCLcAo3U.js +0 -43
  369. package/dist/_chunks/sv-CCLcAo3U.js.map +0 -1
  370. package/dist/_chunks/sv-D_-KBtcw.mjs +0 -43
  371. package/dist/_chunks/sv-D_-KBtcw.mjs.map +0 -1
  372. package/dist/_chunks/th-BhgV1BbW.js +0 -28
  373. package/dist/_chunks/th-BhgV1BbW.js.map +0 -1
  374. package/dist/_chunks/th-DkuoSGii.mjs +0 -28
  375. package/dist/_chunks/th-DkuoSGii.mjs.map +0 -1
  376. package/dist/_chunks/tr-BysnAErC.js +0 -43
  377. package/dist/_chunks/tr-BysnAErC.js.map +0 -1
  378. package/dist/_chunks/tr-l-xxK4Yk.mjs +0 -43
  379. package/dist/_chunks/tr-l-xxK4Yk.mjs.map +0 -1
  380. package/dist/_chunks/uk-CNlbntFx.js +0 -27
  381. package/dist/_chunks/uk-CNlbntFx.js.map +0 -1
  382. package/dist/_chunks/uk-Cpmsxyku.mjs +0 -27
  383. package/dist/_chunks/uk-Cpmsxyku.mjs.map +0 -1
  384. package/dist/_chunks/vi-ClWGrFm9.mjs +0 -28
  385. package/dist/_chunks/vi-ClWGrFm9.mjs.map +0 -1
  386. package/dist/_chunks/vi-_ib0GmNl.js +0 -28
  387. package/dist/_chunks/vi-_ib0GmNl.js.map +0 -1
  388. package/dist/_chunks/zh-Glkg1L2g.mjs +0 -43
  389. package/dist/_chunks/zh-Glkg1L2g.mjs.map +0 -1
  390. package/dist/_chunks/zh-Hans-L_5U2KqC.js +0 -32
  391. package/dist/_chunks/zh-Hans-L_5U2KqC.js.map +0 -1
  392. package/dist/_chunks/zh-Hans-XLMwjASk.mjs +0 -32
  393. package/dist/_chunks/zh-Hans-XLMwjASk.mjs.map +0 -1
  394. package/dist/_chunks/zh-aEZZdkOu.js +0 -43
  395. package/dist/_chunks/zh-aEZZdkOu.js.map +0 -1
  396. package/strapi-server.js +0 -3
@@ -0,0 +1,232 @@
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
2
+ import * as React from 'react';
3
+ import { Table, Thead, Tr, Th, Typography, Tbody, Td, Flex, IconButton, EmptyStateLayout, Dialog, LinkButton } from '@strapi/design-system';
4
+ import { Eye, ArrowClockwise, Trash } from '@strapi/icons';
5
+ import { useNotification, useAPIErrorHandler, useRBAC, Page, Layouts, ConfirmDialog } from '@strapi/strapi/admin';
6
+ import { useIntl } from 'react-intl';
7
+ import { styled } from 'styled-components';
8
+ import { PERMISSIONS } from '../constants.mjs';
9
+ import { useGetInfoQuery, useRegenerateDocMutation, useDeleteVersionMutation } from '../services/api.mjs';
10
+ import { getTrad } from '../utils/getTrad.mjs';
11
+
12
+ const App = ()=>{
13
+ const { formatMessage } = useIntl();
14
+ const { toggleNotification } = useNotification();
15
+ const { formatAPIError } = useAPIErrorHandler();
16
+ const { data, isLoading: isLoadingInfo, isError } = useGetInfoQuery();
17
+ const [regenerate] = useRegenerateDocMutation();
18
+ const [deleteVersion] = useDeleteVersionMutation();
19
+ const [showConfirmDelete, setShowConfirmDelete] = React.useState(false);
20
+ const [versionToDelete, setVersionToDelete] = React.useState();
21
+ const { allowedActions, isLoading: isLoadingRBAC } = useRBAC(PERMISSIONS);
22
+ const isLoading = isLoadingInfo || isLoadingRBAC;
23
+ const colCount = 4;
24
+ const rowCount = (data?.docVersions?.length || 0) + 1;
25
+ const handleRegenerateDoc = (version)=>{
26
+ regenerate({
27
+ version
28
+ }).unwrap().then(()=>{
29
+ toggleNotification({
30
+ type: 'success',
31
+ message: formatMessage({
32
+ id: getTrad('notification.generate.success'),
33
+ defaultMessage: 'Successfully generated documentation'
34
+ })
35
+ });
36
+ }).catch((err)=>{
37
+ toggleNotification({
38
+ type: 'warning',
39
+ message: formatAPIError(err)
40
+ });
41
+ });
42
+ };
43
+ const handleConfirmDelete = async ()=>{
44
+ if (!versionToDelete) {
45
+ // nothing to delete
46
+ return;
47
+ }
48
+ await deleteVersion({
49
+ version: versionToDelete
50
+ }).unwrap().then(()=>{
51
+ toggleNotification({
52
+ type: 'success',
53
+ message: formatMessage({
54
+ id: getTrad('notification.delete.success'),
55
+ defaultMessage: 'Successfully deleted documentation'
56
+ })
57
+ });
58
+ }).catch((err)=>{
59
+ toggleNotification({
60
+ type: 'warning',
61
+ message: formatAPIError(err)
62
+ });
63
+ });
64
+ setShowConfirmDelete(!showConfirmDelete);
65
+ };
66
+ const handleClickDelete = (version)=>{
67
+ setVersionToDelete(version);
68
+ setShowConfirmDelete(!showConfirmDelete);
69
+ };
70
+ const title = formatMessage({
71
+ id: getTrad('plugin.name'),
72
+ defaultMessage: 'Documentation'
73
+ });
74
+ if (isLoading) {
75
+ return /*#__PURE__*/ jsx(Page.Loading, {});
76
+ }
77
+ if (isError) {
78
+ return /*#__PURE__*/ jsx(Page.Error, {});
79
+ }
80
+ return /*#__PURE__*/ jsxs(Layouts.Root, {
81
+ children: [
82
+ /*#__PURE__*/ jsx(Page.Title, {
83
+ children: title
84
+ }),
85
+ /*#__PURE__*/ jsxs(Page.Main, {
86
+ children: [
87
+ /*#__PURE__*/ jsx(Layouts.Header, {
88
+ title: title,
89
+ subtitle: formatMessage({
90
+ id: getTrad('pages.PluginPage.header.description'),
91
+ defaultMessage: 'Configure the documentation plugin'
92
+ }),
93
+ primaryAction: /*#__PURE__*/ jsx(OpenDocLink, {
94
+ disabled: !allowedActions.canRead || !data?.currentVersion || !data?.prefix,
95
+ href: createDocumentationHref(`${data?.prefix}/v${data?.currentVersion}`),
96
+ startIcon: /*#__PURE__*/ jsx(Eye, {}),
97
+ fullWidth: true,
98
+ children: formatMessage({
99
+ id: getTrad('pages.PluginPage.Button.open'),
100
+ defaultMessage: 'Open Documentation'
101
+ })
102
+ })
103
+ }),
104
+ /*#__PURE__*/ jsx(Layouts.Content, {
105
+ children: data?.docVersions.length ? /*#__PURE__*/ jsxs(Table, {
106
+ colCount: colCount,
107
+ rowCount: rowCount,
108
+ children: [
109
+ /*#__PURE__*/ jsx(Thead, {
110
+ children: /*#__PURE__*/ jsxs(Tr, {
111
+ children: [
112
+ /*#__PURE__*/ jsx(Th, {
113
+ children: /*#__PURE__*/ jsx(Typography, {
114
+ variant: "sigma",
115
+ textColor: "neutral600",
116
+ children: formatMessage({
117
+ id: getTrad('pages.PluginPage.table.version'),
118
+ defaultMessage: 'Version'
119
+ })
120
+ })
121
+ }),
122
+ /*#__PURE__*/ jsx(Th, {
123
+ children: /*#__PURE__*/ jsx(Typography, {
124
+ variant: "sigma",
125
+ textColor: "neutral600",
126
+ children: formatMessage({
127
+ id: getTrad('pages.PluginPage.table.generated'),
128
+ defaultMessage: 'Last Generated'
129
+ })
130
+ })
131
+ })
132
+ ]
133
+ })
134
+ }),
135
+ /*#__PURE__*/ jsx(Tbody, {
136
+ children: data.docVersions.slice(0).sort((a, b)=>a.generatedDate < b.generatedDate ? 1 : -1).map((doc)=>/*#__PURE__*/ jsxs(Tr, {
137
+ children: [
138
+ /*#__PURE__*/ jsx(Td, {
139
+ width: "50%",
140
+ children: /*#__PURE__*/ jsx(Typography, {
141
+ children: doc.version
142
+ })
143
+ }),
144
+ /*#__PURE__*/ jsx(Td, {
145
+ width: "50%",
146
+ children: /*#__PURE__*/ jsx(Typography, {
147
+ children: doc.generatedDate
148
+ })
149
+ }),
150
+ /*#__PURE__*/ jsx(Td, {
151
+ children: /*#__PURE__*/ jsxs(Flex, {
152
+ justifyContent: "end",
153
+ onClick: (e)=>e.stopPropagation(),
154
+ children: [
155
+ /*#__PURE__*/ jsx(IconButton, {
156
+ tag: "a",
157
+ disabled: !allowedActions.canRead,
158
+ href: createDocumentationHref(`${data.prefix}/v${doc.version}`),
159
+ variant: "ghost",
160
+ target: "_blank",
161
+ rel: "noopener noreferrer",
162
+ label: formatMessage({
163
+ id: getTrad('pages.PluginPage.table.icon.show'),
164
+ defaultMessage: 'Open {target}'
165
+ }, {
166
+ target: `${doc.version}`
167
+ }),
168
+ children: /*#__PURE__*/ jsx(Eye, {})
169
+ }),
170
+ allowedActions.canRegenerate ? /*#__PURE__*/ jsx(IconButton, {
171
+ onClick: ()=>handleRegenerateDoc(doc.version),
172
+ variant: "ghost",
173
+ label: formatMessage({
174
+ id: getTrad('pages.PluginPage.table.icon.regenerate'),
175
+ defaultMessage: 'Regenerate {target}'
176
+ }, {
177
+ target: `${doc.version}`
178
+ }),
179
+ children: /*#__PURE__*/ jsx(ArrowClockwise, {})
180
+ }) : null,
181
+ allowedActions.canUpdate && doc.version !== data.currentVersion ? /*#__PURE__*/ jsx(IconButton, {
182
+ onClick: ()=>handleClickDelete(doc.version),
183
+ variant: "ghost",
184
+ label: formatMessage({
185
+ id: 'global.delete-target',
186
+ defaultMessage: 'Delete {target}'
187
+ }, {
188
+ target: `${doc.version}`
189
+ }),
190
+ children: /*#__PURE__*/ jsx(Trash, {})
191
+ }) : null
192
+ ]
193
+ })
194
+ })
195
+ ]
196
+ }, doc.version))
197
+ })
198
+ ]
199
+ }) : /*#__PURE__*/ jsx(EmptyStateLayout, {
200
+ content: "",
201
+ icon: null
202
+ })
203
+ }),
204
+ /*#__PURE__*/ jsx(Dialog.Root, {
205
+ open: showConfirmDelete,
206
+ onOpenChange: setShowConfirmDelete,
207
+ children: /*#__PURE__*/ jsx(ConfirmDialog, {
208
+ onConfirm: handleConfirmDelete
209
+ })
210
+ })
211
+ ]
212
+ })
213
+ ]
214
+ });
215
+ };
216
+ /**
217
+ * TODO: should this be fixed in the DS?
218
+ */ const OpenDocLink = styled(LinkButton)`
219
+ text-decoration: none;
220
+ `;
221
+ const createDocumentationHref = (path)=>{
222
+ if (path.startsWith('http')) {
223
+ return path;
224
+ }
225
+ if (path.startsWith('/')) {
226
+ return `${window.strapi.backendURL}${path}`;
227
+ }
228
+ return `${window.strapi.backendURL}/${path}`;
229
+ };
230
+
231
+ export { App };
232
+ //# sourceMappingURL=App.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"App.mjs","sources":["../../../admin/src/pages/App.tsx"],"sourcesContent":["/* eslint-disable import/no-default-export */\nimport * as React from 'react';\n\nimport {\n LinkButton,\n Flex,\n IconButton,\n Table,\n Tbody,\n Td,\n Th,\n Thead,\n Tr,\n Typography,\n EmptyStateLayout,\n Dialog,\n} from '@strapi/design-system';\nimport { Eye as Show, ArrowClockwise as Reload, Trash } from '@strapi/icons';\nimport {\n ConfirmDialog,\n useRBAC,\n Page,\n useAPIErrorHandler,\n useNotification,\n Layouts,\n} from '@strapi/strapi/admin';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { PERMISSIONS } from '../constants';\nimport {\n useGetInfoQuery,\n useRegenerateDocMutation,\n useDeleteVersionMutation,\n} from '../services/api';\nimport { getTrad } from '../utils';\n\nconst App = () => {\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const { formatAPIError } = useAPIErrorHandler();\n const { data, isLoading: isLoadingInfo, isError } = useGetInfoQuery();\n const [regenerate] = useRegenerateDocMutation();\n const [deleteVersion] = useDeleteVersionMutation();\n const [showConfirmDelete, setShowConfirmDelete] = React.useState<boolean>(false);\n const [versionToDelete, setVersionToDelete] = React.useState<string>();\n const { allowedActions, isLoading: isLoadingRBAC } = useRBAC(PERMISSIONS);\n\n const isLoading = isLoadingInfo || isLoadingRBAC;\n\n const colCount = 4;\n const rowCount = (data?.docVersions?.length || 0) + 1;\n\n const handleRegenerateDoc = (version: string) => {\n regenerate({ version })\n .unwrap()\n .then(() => {\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: getTrad('notification.generate.success'),\n defaultMessage: 'Successfully generated documentation',\n }),\n });\n })\n .catch((err) => {\n toggleNotification({\n type: 'warning',\n message: formatAPIError(err),\n });\n });\n };\n\n const handleShowConfirmDelete = () => {\n setShowConfirmDelete(!showConfirmDelete);\n };\n\n const handleConfirmDelete = async () => {\n if (!versionToDelete) {\n // nothing to delete\n return;\n }\n\n await deleteVersion({ version: versionToDelete })\n .unwrap()\n .then(() => {\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: getTrad('notification.delete.success'),\n defaultMessage: 'Successfully deleted documentation',\n }),\n });\n })\n .catch((err) => {\n toggleNotification({\n type: 'warning',\n message: formatAPIError(err),\n });\n });\n\n setShowConfirmDelete(!showConfirmDelete);\n };\n\n const handleClickDelete = (version: string) => {\n setVersionToDelete(version);\n setShowConfirmDelete(!showConfirmDelete);\n };\n\n const title = formatMessage({\n id: getTrad('plugin.name'),\n defaultMessage: 'Documentation',\n });\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n if (isError) {\n return <Page.Error />;\n }\n\n return (\n <Layouts.Root>\n <Page.Title>{title}</Page.Title>\n <Page.Main>\n <Layouts.Header\n title={title}\n subtitle={formatMessage({\n id: getTrad('pages.PluginPage.header.description'),\n defaultMessage: 'Configure the documentation plugin',\n })}\n primaryAction={\n <OpenDocLink\n disabled={!allowedActions.canRead || !data?.currentVersion || !data?.prefix}\n href={createDocumentationHref(`${data?.prefix}/v${data?.currentVersion}`)}\n startIcon={<Show />}\n fullWidth\n >\n {formatMessage({\n id: getTrad('pages.PluginPage.Button.open'),\n defaultMessage: 'Open Documentation',\n })}\n </OpenDocLink>\n }\n />\n <Layouts.Content>\n {data?.docVersions.length ? (\n <Table colCount={colCount} rowCount={rowCount}>\n <Thead>\n <Tr>\n <Th>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: getTrad('pages.PluginPage.table.version'),\n defaultMessage: 'Version',\n })}\n </Typography>\n </Th>\n <Th>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: getTrad('pages.PluginPage.table.generated'),\n defaultMessage: 'Last Generated',\n })}\n </Typography>\n </Th>\n </Tr>\n </Thead>\n <Tbody>\n {data.docVersions\n .slice(0)\n .sort((a, b) => (a.generatedDate < b.generatedDate ? 1 : -1))\n .map((doc) => (\n <Tr key={doc.version}>\n <Td width=\"50%\">\n <Typography>{doc.version}</Typography>\n </Td>\n <Td width=\"50%\">\n <Typography>{doc.generatedDate}</Typography>\n </Td>\n <Td>\n <Flex justifyContent=\"end\" onClick={(e) => e.stopPropagation()}>\n <IconButton\n tag=\"a\"\n disabled={!allowedActions.canRead}\n href={createDocumentationHref(`${data.prefix}/v${doc.version}`)}\n variant=\"ghost\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n label={formatMessage(\n {\n id: getTrad('pages.PluginPage.table.icon.show'),\n defaultMessage: 'Open {target}',\n },\n { target: `${doc.version}` }\n )}\n >\n <Show />\n </IconButton>\n {allowedActions.canRegenerate ? (\n <IconButton\n onClick={() => handleRegenerateDoc(doc.version)}\n variant=\"ghost\"\n label={formatMessage(\n {\n id: getTrad('pages.PluginPage.table.icon.regenerate'),\n defaultMessage: 'Regenerate {target}',\n },\n { target: `${doc.version}` }\n )}\n >\n <Reload />\n </IconButton>\n ) : null}\n {allowedActions.canUpdate && doc.version !== data.currentVersion ? (\n <IconButton\n onClick={() => handleClickDelete(doc.version)}\n variant=\"ghost\"\n label={formatMessage(\n {\n id: 'global.delete-target',\n defaultMessage: 'Delete {target}',\n },\n { target: `${doc.version}` }\n )}\n >\n <Trash />\n </IconButton>\n ) : null}\n </Flex>\n </Td>\n </Tr>\n ))}\n </Tbody>\n </Table>\n ) : (\n <EmptyStateLayout content=\"\" icon={null} />\n )}\n </Layouts.Content>\n <Dialog.Root open={showConfirmDelete} onOpenChange={setShowConfirmDelete}>\n <ConfirmDialog onConfirm={handleConfirmDelete} />\n </Dialog.Root>\n </Page.Main>\n </Layouts.Root>\n );\n};\n\n/**\n * TODO: should this be fixed in the DS?\n */\nconst OpenDocLink = styled(LinkButton)`\n text-decoration: none;\n`;\n\nconst createDocumentationHref = (path: string) => {\n if (path.startsWith('http')) {\n return path;\n }\n\n if (path.startsWith('/')) {\n return `${window.strapi.backendURL}${path}`;\n }\n\n return `${window.strapi.backendURL}/${path}`;\n};\n\nexport { App };\n"],"names":["App","formatMessage","useIntl","toggleNotification","useNotification","formatAPIError","useAPIErrorHandler","data","isLoading","isLoadingInfo","isError","useGetInfoQuery","regenerate","useRegenerateDocMutation","deleteVersion","useDeleteVersionMutation","showConfirmDelete","setShowConfirmDelete","React","useState","versionToDelete","setVersionToDelete","allowedActions","isLoadingRBAC","useRBAC","PERMISSIONS","colCount","rowCount","docVersions","length","handleRegenerateDoc","version","unwrap","then","type","message","id","getTrad","defaultMessage","catch","err","handleConfirmDelete","handleClickDelete","title","_jsx","Page","Loading","Error","_jsxs","Layouts","Root","Title","Main","Header","subtitle","primaryAction","OpenDocLink","disabled","canRead","currentVersion","prefix","href","createDocumentationHref","startIcon","Show","fullWidth","Content","Table","Thead","Tr","Th","Typography","variant","textColor","Tbody","slice","sort","a","b","generatedDate","map","doc","Td","width","Flex","justifyContent","onClick","e","stopPropagation","IconButton","tag","target","rel","label","canRegenerate","Reload","canUpdate","Trash","EmptyStateLayout","content","icon","Dialog","open","onOpenChange","ConfirmDialog","onConfirm","styled","LinkButton","path","startsWith","window","strapi","backendURL"],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ require('react');
5
+ var designSystem = require('@strapi/design-system');
6
+ var admin = require('@strapi/strapi/admin');
7
+ var reactIntl = require('react-intl');
8
+ var SettingsForm = require('../components/SettingsForm.js');
9
+ var api = require('../services/api.js');
10
+ var getTrad = require('../utils/getTrad.js');
11
+ var baseQuery = require('../utils/baseQuery.js');
12
+
13
+ const SettingsPage = ()=>{
14
+ const { toggleNotification } = admin.useNotification();
15
+ const { formatMessage } = reactIntl.useIntl();
16
+ const { _unstableFormatAPIError: formatAPIError, _unstableFormatValidationErrors: formatValidationErrors } = admin.useAPIErrorHandler();
17
+ const { data, isError, isLoading, isFetching } = api.useGetInfoQuery();
18
+ const [updateSettings] = api.useUpdateSettingsMutation();
19
+ const onUpdateSettings = async (body, formik)=>{
20
+ return updateSettings({
21
+ body
22
+ }).unwrap().then(()=>{
23
+ toggleNotification({
24
+ type: 'success',
25
+ message: formatMessage({
26
+ id: getTrad.getTrad('notification.update.success'),
27
+ defaultMessage: 'Successfully updated settings'
28
+ })
29
+ });
30
+ }).catch((err)=>{
31
+ if (baseQuery.isBaseQueryError(err) && err.name === 'ValidationError') {
32
+ toggleNotification({
33
+ type: 'danger',
34
+ message: formatAPIError(err)
35
+ });
36
+ }
37
+ });
38
+ };
39
+ if (isLoading || isFetching) {
40
+ return /*#__PURE__*/ jsxRuntime.jsx(admin.Page.Loading, {});
41
+ }
42
+ if (isError) {
43
+ return /*#__PURE__*/ jsxRuntime.jsx(admin.Page.Error, {});
44
+ }
45
+ return /*#__PURE__*/ jsxRuntime.jsx(designSystem.Main, {
46
+ children: /*#__PURE__*/ jsxRuntime.jsx(SettingsForm.SettingsForm, {
47
+ data: data,
48
+ onSubmit: onUpdateSettings
49
+ })
50
+ });
51
+ };
52
+
53
+ exports.SettingsPage = SettingsPage;
54
+ //# sourceMappingURL=Settings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Settings.js","sources":["../../../admin/src/pages/Settings.tsx"],"sourcesContent":["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 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":["SettingsPage","toggleNotification","useNotification","formatMessage","useIntl","_unstableFormatAPIError","formatAPIError","_unstableFormatValidationErrors","formatValidationErrors","useAPIErrorHandler","data","isError","isLoading","isFetching","useGetInfoQuery","updateSettings","useUpdateSettingsMutation","onUpdateSettings","body","formik","unwrap","then","type","message","id","getTrad","defaultMessage","catch","err","isBaseQueryError","name","_jsx","Page","Loading","Error","Main","SettingsForm","onSubmit"],"mappings":";;;;;;;;;;;;AAaA,MAAMA,YAAAA,GAAe,IAAA;IACnB,MAAM,EAAEC,kBAAkB,EAAE,GAAGC,qBAAAA,EAAAA;IAC/B,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;AAC1B,IAAA,MAAM,EACJC,uBAAAA,EAAyBC,cAAc,EACvCC,+BAAAA,EAAiCC,sBAAsB,EACxD,GAAGC,wBAAAA,EAAAA;IACJ,MAAM,EAAEC,IAAI,EAAEC,OAAO,EAAEC,SAAS,EAAEC,UAAU,EAAE,GAAGC,mBAAAA,EAAAA;IACjD,MAAM,CAACC,eAAe,GAAGC,6BAAAA,EAAAA;IAEzB,MAAMC,gBAAAA,GAAmB,OAAOC,IAAAA,EAAqBC,MAAAA,GAAAA;AACnD,QAAA,OAAOJ,cAAAA,CAAe;AAAEG,YAAAA;SAAK,CAAA,CAC1BE,MAAM,EAAA,CACNC,IAAI,CAAC,IAAA;YACJpB,kBAAAA,CAAmB;gBACjBqB,IAAAA,EAAM,SAAA;AACNC,gBAAAA,OAAAA,EAASpB,aAAAA,CAAc;AACrBqB,oBAAAA,EAAAA,EAAIC,eAAAA,CAAQ,6BAAA,CAAA;oBACZC,cAAAA,EAAgB;AAClB,iBAAA;AACF,aAAA,CAAA;QACF,CAAA,CAAA,CACCC,KAAK,CAAC,CAACC,GAAAA,GAAAA;AACN,YAAA,IAAIC,0BAAAA,CAAiBD,GAAAA,CAAAA,IAAQA,GAAAA,CAAIE,IAAI,KAAK,iBAAA,EAAmB;gBAC3D7B,kBAAAA,CAAmB;oBACjBqB,IAAAA,EAAM,QAAA;AACNC,oBAAAA,OAAAA,EAASjB,cAAAA,CAAesB,GAAAA;AAC1B,iBAAA,CAAA;AACF,YAAA;AACF,QAAA,CAAA,CAAA;AACJ,IAAA,CAAA;AAEA,IAAA,IAAIhB,aAAaC,UAAAA,EAAY;QAC3B,qBAAOkB,cAAA,CAACC,WAAKC,OAAO,EAAA,EAAA,CAAA;AACtB,IAAA;AAEA,IAAA,IAAItB,OAAAA,EAAS;QACX,qBAAOoB,cAAA,CAACC,WAAKE,KAAK,EAAA,EAAA,CAAA;AACpB,IAAA;AAEA,IAAA,qBACEH,cAAA,CAACI,iBAAAA,EAAAA;AACC,QAAA,QAAA,gBAAAJ,cAAA,CAACK,yBAAAA,EAAAA;YAAa1B,IAAAA,EAAMA,IAAAA;YAAM2B,QAAAA,EAAUpB;;;AAG1C;;;;"}
@@ -0,0 +1,52 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import 'react';
3
+ import { Main } from '@strapi/design-system';
4
+ import { useNotification, useAPIErrorHandler, Page } from '@strapi/strapi/admin';
5
+ import { useIntl } from 'react-intl';
6
+ import { SettingsForm } from '../components/SettingsForm.mjs';
7
+ import { useGetInfoQuery, useUpdateSettingsMutation } from '../services/api.mjs';
8
+ import { getTrad } from '../utils/getTrad.mjs';
9
+ import { isBaseQueryError } from '../utils/baseQuery.mjs';
10
+
11
+ const SettingsPage = ()=>{
12
+ const { toggleNotification } = useNotification();
13
+ const { formatMessage } = useIntl();
14
+ const { _unstableFormatAPIError: formatAPIError, _unstableFormatValidationErrors: formatValidationErrors } = useAPIErrorHandler();
15
+ const { data, isError, isLoading, isFetching } = useGetInfoQuery();
16
+ const [updateSettings] = useUpdateSettingsMutation();
17
+ const onUpdateSettings = async (body, formik)=>{
18
+ return updateSettings({
19
+ body
20
+ }).unwrap().then(()=>{
21
+ toggleNotification({
22
+ type: 'success',
23
+ message: formatMessage({
24
+ id: getTrad('notification.update.success'),
25
+ defaultMessage: 'Successfully updated settings'
26
+ })
27
+ });
28
+ }).catch((err)=>{
29
+ if (isBaseQueryError(err) && err.name === 'ValidationError') {
30
+ toggleNotification({
31
+ type: 'danger',
32
+ message: formatAPIError(err)
33
+ });
34
+ }
35
+ });
36
+ };
37
+ if (isLoading || isFetching) {
38
+ return /*#__PURE__*/ jsx(Page.Loading, {});
39
+ }
40
+ if (isError) {
41
+ return /*#__PURE__*/ jsx(Page.Error, {});
42
+ }
43
+ return /*#__PURE__*/ jsx(Main, {
44
+ children: /*#__PURE__*/ jsx(SettingsForm, {
45
+ data: data,
46
+ onSubmit: onUpdateSettings
47
+ })
48
+ });
49
+ };
50
+
51
+ export { SettingsPage };
52
+ //# sourceMappingURL=Settings.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Settings.mjs","sources":["../../../admin/src/pages/Settings.tsx"],"sourcesContent":["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 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":["SettingsPage","toggleNotification","useNotification","formatMessage","useIntl","_unstableFormatAPIError","formatAPIError","_unstableFormatValidationErrors","formatValidationErrors","useAPIErrorHandler","data","isError","isLoading","isFetching","useGetInfoQuery","updateSettings","useUpdateSettingsMutation","onUpdateSettings","body","formik","unwrap","then","type","message","id","getTrad","defaultMessage","catch","err","isBaseQueryError","name","_jsx","Page","Loading","Error","Main","SettingsForm","onSubmit"],"mappings":";;;;;;;;;;AAaA,MAAMA,YAAAA,GAAe,IAAA;IACnB,MAAM,EAAEC,kBAAkB,EAAE,GAAGC,eAAAA,EAAAA;IAC/B,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAC1B,IAAA,MAAM,EACJC,uBAAAA,EAAyBC,cAAc,EACvCC,+BAAAA,EAAiCC,sBAAsB,EACxD,GAAGC,kBAAAA,EAAAA;IACJ,MAAM,EAAEC,IAAI,EAAEC,OAAO,EAAEC,SAAS,EAAEC,UAAU,EAAE,GAAGC,eAAAA,EAAAA;IACjD,MAAM,CAACC,eAAe,GAAGC,yBAAAA,EAAAA;IAEzB,MAAMC,gBAAAA,GAAmB,OAAOC,IAAAA,EAAqBC,MAAAA,GAAAA;AACnD,QAAA,OAAOJ,cAAAA,CAAe;AAAEG,YAAAA;SAAK,CAAA,CAC1BE,MAAM,EAAA,CACNC,IAAI,CAAC,IAAA;YACJpB,kBAAAA,CAAmB;gBACjBqB,IAAAA,EAAM,SAAA;AACNC,gBAAAA,OAAAA,EAASpB,aAAAA,CAAc;AACrBqB,oBAAAA,EAAAA,EAAIC,OAAAA,CAAQ,6BAAA,CAAA;oBACZC,cAAAA,EAAgB;AAClB,iBAAA;AACF,aAAA,CAAA;QACF,CAAA,CAAA,CACCC,KAAK,CAAC,CAACC,GAAAA,GAAAA;AACN,YAAA,IAAIC,gBAAAA,CAAiBD,GAAAA,CAAAA,IAAQA,GAAAA,CAAIE,IAAI,KAAK,iBAAA,EAAmB;gBAC3D7B,kBAAAA,CAAmB;oBACjBqB,IAAAA,EAAM,QAAA;AACNC,oBAAAA,OAAAA,EAASjB,cAAAA,CAAesB,GAAAA;AAC1B,iBAAA,CAAA;AACF,YAAA;AACF,QAAA,CAAA,CAAA;AACJ,IAAA,CAAA;AAEA,IAAA,IAAIhB,aAAaC,UAAAA,EAAY;QAC3B,qBAAOkB,GAAA,CAACC,KAAKC,OAAO,EAAA,EAAA,CAAA;AACtB,IAAA;AAEA,IAAA,IAAItB,OAAAA,EAAS;QACX,qBAAOoB,GAAA,CAACC,KAAKE,KAAK,EAAA,EAAA,CAAA;AACpB,IAAA;AAEA,IAAA,qBACEH,GAAA,CAACI,IAAAA,EAAAA;AACC,QAAA,QAAA,gBAAAJ,GAAA,CAACK,YAAAA,EAAAA;YAAa1B,IAAAA,EAAMA,IAAAA;YAAM2B,QAAAA,EAAUpB;;;AAG1C;;;;"}
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ const pluginId = 'documentation';
4
+
5
+ exports.pluginId = pluginId;
6
+ //# sourceMappingURL=pluginId.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pluginId.js","sources":["../../admin/src/pluginId.ts"],"sourcesContent":["export const pluginId = 'documentation';\n"],"names":["pluginId"],"mappings":";;AAAO,MAAMA,WAAW;;;;"}
@@ -0,0 +1,4 @@
1
+ const pluginId = 'documentation';
2
+
3
+ export { pluginId };
4
+ //# sourceMappingURL=pluginId.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pluginId.mjs","sources":["../../admin/src/pluginId.ts"],"sourcesContent":["export const pluginId = 'documentation';\n"],"names":["pluginId"],"mappings":"AAAO,MAAMA,WAAW;;;;"}
@@ -0,0 +1,55 @@
1
+ 'use strict';
2
+
3
+ var strapiAdmin = require('@strapi/admin/strapi-admin');
4
+
5
+ const api = strapiAdmin.adminApi.enhanceEndpoints({
6
+ addTagTypes: [
7
+ 'DocumentInfo'
8
+ ]
9
+ }).injectEndpoints({
10
+ endpoints: (builder)=>{
11
+ return {
12
+ getInfo: builder.query({
13
+ query: ()=>'/documentation/getInfos',
14
+ providesTags: [
15
+ 'DocumentInfo'
16
+ ]
17
+ }),
18
+ deleteVersion: builder.mutation({
19
+ query: ({ version })=>({
20
+ url: `/documentation/deleteDoc/${version}`,
21
+ method: 'DELETE'
22
+ }),
23
+ invalidatesTags: [
24
+ 'DocumentInfo'
25
+ ]
26
+ }),
27
+ updateSettings: builder.mutation({
28
+ query: ({ body })=>({
29
+ url: `/documentation/updateSettings`,
30
+ method: 'PUT',
31
+ data: body
32
+ }),
33
+ invalidatesTags: [
34
+ 'DocumentInfo'
35
+ ]
36
+ }),
37
+ regenerateDoc: builder.mutation({
38
+ query: ({ version })=>({
39
+ url: `/documentation/regenerateDoc`,
40
+ method: 'POST',
41
+ data: {
42
+ version
43
+ }
44
+ })
45
+ })
46
+ };
47
+ }
48
+ });
49
+ const { useGetInfoQuery, useDeleteVersionMutation, useUpdateSettingsMutation, useRegenerateDocMutation } = api;
50
+
51
+ exports.useDeleteVersionMutation = useDeleteVersionMutation;
52
+ exports.useGetInfoQuery = useGetInfoQuery;
53
+ exports.useRegenerateDocMutation = useRegenerateDocMutation;
54
+ exports.useUpdateSettingsMutation = useUpdateSettingsMutation;
55
+ //# sourceMappingURL=api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.js","sources":["../../../admin/src/services/api.ts"],"sourcesContent":["import { adminApi } from '@strapi/admin/strapi-admin';\n\nimport { DocumentInfos } from '../types';\n\ntype SettingsInput = {\n restrictedAccess: boolean;\n password: string;\n};\n\nconst api = adminApi\n .enhanceEndpoints({\n addTagTypes: ['DocumentInfo'],\n })\n .injectEndpoints({\n endpoints: (builder) => {\n return {\n getInfo: builder.query<DocumentInfos, void>({\n query: () => '/documentation/getInfos',\n providesTags: ['DocumentInfo'],\n }),\n\n deleteVersion: builder.mutation<void, { version: string }>({\n query: ({ version }) => ({\n url: `/documentation/deleteDoc/${version}`,\n method: 'DELETE',\n }),\n invalidatesTags: ['DocumentInfo'],\n }),\n\n updateSettings: builder.mutation<void, { body: SettingsInput }>({\n query: ({ body }) => ({\n url: `/documentation/updateSettings`,\n method: 'PUT',\n data: body,\n }),\n invalidatesTags: ['DocumentInfo'],\n }),\n\n regenerateDoc: builder.mutation<void, { version: string }>({\n query: ({ version }) => ({\n url: `/documentation/regenerateDoc`,\n method: 'POST',\n data: { version },\n }),\n }),\n };\n },\n });\n\nexport const {\n useGetInfoQuery,\n useDeleteVersionMutation,\n useUpdateSettingsMutation,\n useRegenerateDocMutation,\n} = api;\n"],"names":["api","adminApi","enhanceEndpoints","addTagTypes","injectEndpoints","endpoints","builder","getInfo","query","providesTags","deleteVersion","mutation","version","url","method","invalidatesTags","updateSettings","body","data","regenerateDoc","useGetInfoQuery","useDeleteVersionMutation","useUpdateSettingsMutation","useRegenerateDocMutation"],"mappings":";;;;AASA,MAAMA,GAAAA,GAAMC,oBAAAA,CACTC,gBAAgB,CAAC;IAChBC,WAAAA,EAAa;AAAC,QAAA;AAAe;AAC/B,CAAA,CAAA,CACCC,eAAe,CAAC;AACfC,IAAAA,SAAAA,EAAW,CAACC,OAAAA,GAAAA;QACV,OAAO;YACLC,OAAAA,EAASD,OAAAA,CAAQE,KAAK,CAAsB;AAC1CA,gBAAAA,KAAAA,EAAO,IAAM,yBAAA;gBACbC,YAAAA,EAAc;AAAC,oBAAA;AAAe;AAChC,aAAA,CAAA;YAEAC,aAAAA,EAAeJ,OAAAA,CAAQK,QAAQ,CAA4B;AACzDH,gBAAAA,KAAAA,EAAO,CAAC,EAAEI,OAAO,EAAE,IAAM;wBACvBC,GAAAA,EAAK,CAAC,yBAAyB,EAAED,OAAAA,CAAAA,CAAS;wBAC1CE,MAAAA,EAAQ;qBACV,CAAA;gBACAC,eAAAA,EAAiB;AAAC,oBAAA;AAAe;AACnC,aAAA,CAAA;YAEAC,cAAAA,EAAgBV,OAAAA,CAAQK,QAAQ,CAAgC;AAC9DH,gBAAAA,KAAAA,EAAO,CAAC,EAAES,IAAI,EAAE,IAAM;wBACpBJ,GAAAA,EAAK,CAAC,6BAA6B,CAAC;wBACpCC,MAAAA,EAAQ,KAAA;wBACRI,IAAAA,EAAMD;qBACR,CAAA;gBACAF,eAAAA,EAAiB;AAAC,oBAAA;AAAe;AACnC,aAAA,CAAA;YAEAI,aAAAA,EAAeb,OAAAA,CAAQK,QAAQ,CAA4B;AACzDH,gBAAAA,KAAAA,EAAO,CAAC,EAAEI,OAAO,EAAE,IAAM;wBACvBC,GAAAA,EAAK,CAAC,4BAA4B,CAAC;wBACnCC,MAAAA,EAAQ,MAAA;wBACRI,IAAAA,EAAM;AAAEN,4BAAAA;AAAQ;qBAClB;AACF,aAAA;AACF,SAAA;AACF,IAAA;AACF,CAAA,CAAA;AAEK,MAAM,EACXQ,eAAe,EACfC,wBAAwB,EACxBC,yBAAyB,EACzBC,wBAAwB,EACzB,GAAGvB;;;;;;;"}
@@ -0,0 +1,50 @@
1
+ import { adminApi } from '@strapi/admin/strapi-admin';
2
+
3
+ const api = adminApi.enhanceEndpoints({
4
+ addTagTypes: [
5
+ 'DocumentInfo'
6
+ ]
7
+ }).injectEndpoints({
8
+ endpoints: (builder)=>{
9
+ return {
10
+ getInfo: builder.query({
11
+ query: ()=>'/documentation/getInfos',
12
+ providesTags: [
13
+ 'DocumentInfo'
14
+ ]
15
+ }),
16
+ deleteVersion: builder.mutation({
17
+ query: ({ version })=>({
18
+ url: `/documentation/deleteDoc/${version}`,
19
+ method: 'DELETE'
20
+ }),
21
+ invalidatesTags: [
22
+ 'DocumentInfo'
23
+ ]
24
+ }),
25
+ updateSettings: builder.mutation({
26
+ query: ({ body })=>({
27
+ url: `/documentation/updateSettings`,
28
+ method: 'PUT',
29
+ data: body
30
+ }),
31
+ invalidatesTags: [
32
+ 'DocumentInfo'
33
+ ]
34
+ }),
35
+ regenerateDoc: builder.mutation({
36
+ query: ({ version })=>({
37
+ url: `/documentation/regenerateDoc`,
38
+ method: 'POST',
39
+ data: {
40
+ version
41
+ }
42
+ })
43
+ })
44
+ };
45
+ }
46
+ });
47
+ const { useGetInfoQuery, useDeleteVersionMutation, useUpdateSettingsMutation, useRegenerateDocMutation } = api;
48
+
49
+ export { useDeleteVersionMutation, useGetInfoQuery, useRegenerateDocMutation, useUpdateSettingsMutation };
50
+ //# sourceMappingURL=api.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.mjs","sources":["../../../admin/src/services/api.ts"],"sourcesContent":["import { adminApi } from '@strapi/admin/strapi-admin';\n\nimport { DocumentInfos } from '../types';\n\ntype SettingsInput = {\n restrictedAccess: boolean;\n password: string;\n};\n\nconst api = adminApi\n .enhanceEndpoints({\n addTagTypes: ['DocumentInfo'],\n })\n .injectEndpoints({\n endpoints: (builder) => {\n return {\n getInfo: builder.query<DocumentInfos, void>({\n query: () => '/documentation/getInfos',\n providesTags: ['DocumentInfo'],\n }),\n\n deleteVersion: builder.mutation<void, { version: string }>({\n query: ({ version }) => ({\n url: `/documentation/deleteDoc/${version}`,\n method: 'DELETE',\n }),\n invalidatesTags: ['DocumentInfo'],\n }),\n\n updateSettings: builder.mutation<void, { body: SettingsInput }>({\n query: ({ body }) => ({\n url: `/documentation/updateSettings`,\n method: 'PUT',\n data: body,\n }),\n invalidatesTags: ['DocumentInfo'],\n }),\n\n regenerateDoc: builder.mutation<void, { version: string }>({\n query: ({ version }) => ({\n url: `/documentation/regenerateDoc`,\n method: 'POST',\n data: { version },\n }),\n }),\n };\n },\n });\n\nexport const {\n useGetInfoQuery,\n useDeleteVersionMutation,\n useUpdateSettingsMutation,\n useRegenerateDocMutation,\n} = api;\n"],"names":["api","adminApi","enhanceEndpoints","addTagTypes","injectEndpoints","endpoints","builder","getInfo","query","providesTags","deleteVersion","mutation","version","url","method","invalidatesTags","updateSettings","body","data","regenerateDoc","useGetInfoQuery","useDeleteVersionMutation","useUpdateSettingsMutation","useRegenerateDocMutation"],"mappings":";;AASA,MAAMA,GAAAA,GAAMC,QAAAA,CACTC,gBAAgB,CAAC;IAChBC,WAAAA,EAAa;AAAC,QAAA;AAAe;AAC/B,CAAA,CAAA,CACCC,eAAe,CAAC;AACfC,IAAAA,SAAAA,EAAW,CAACC,OAAAA,GAAAA;QACV,OAAO;YACLC,OAAAA,EAASD,OAAAA,CAAQE,KAAK,CAAsB;AAC1CA,gBAAAA,KAAAA,EAAO,IAAM,yBAAA;gBACbC,YAAAA,EAAc;AAAC,oBAAA;AAAe;AAChC,aAAA,CAAA;YAEAC,aAAAA,EAAeJ,OAAAA,CAAQK,QAAQ,CAA4B;AACzDH,gBAAAA,KAAAA,EAAO,CAAC,EAAEI,OAAO,EAAE,IAAM;wBACvBC,GAAAA,EAAK,CAAC,yBAAyB,EAAED,OAAAA,CAAAA,CAAS;wBAC1CE,MAAAA,EAAQ;qBACV,CAAA;gBACAC,eAAAA,EAAiB;AAAC,oBAAA;AAAe;AACnC,aAAA,CAAA;YAEAC,cAAAA,EAAgBV,OAAAA,CAAQK,QAAQ,CAAgC;AAC9DH,gBAAAA,KAAAA,EAAO,CAAC,EAAES,IAAI,EAAE,IAAM;wBACpBJ,GAAAA,EAAK,CAAC,6BAA6B,CAAC;wBACpCC,MAAAA,EAAQ,KAAA;wBACRI,IAAAA,EAAMD;qBACR,CAAA;gBACAF,eAAAA,EAAiB;AAAC,oBAAA;AAAe;AACnC,aAAA,CAAA;YAEAI,aAAAA,EAAeb,OAAAA,CAAQK,QAAQ,CAA4B;AACzDH,gBAAAA,KAAAA,EAAO,CAAC,EAAEI,OAAO,EAAE,IAAM;wBACvBC,GAAAA,EAAK,CAAC,4BAA4B,CAAC;wBACnCC,MAAAA,EAAQ,MAAA;wBACRI,IAAAA,EAAM;AAAEN,4BAAAA;AAAQ;qBAClB;AACF,aAAA;AACF,SAAA;AACF,IAAA;AACF,CAAA,CAAA;AAEK,MAAM,EACXQ,eAAe,EACfC,wBAAwB,EACxBC,yBAAyB,EACzBC,wBAAwB,EACzB,GAAGvB;;;;"}
@@ -1,6 +1,7 @@
1
+ import type { StrapiApp } from '@strapi/admin/strapi-admin';
1
2
  declare const _default: {
2
- register(app: any): void;
3
- bootstrap(app: any): void;
3
+ register(app: StrapiApp): void;
4
+ bootstrap(app: StrapiApp): void;
4
5
  registerTrads({ locales }: {
5
6
  locales: string[];
6
7
  }): Promise<({
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -3,11 +3,11 @@ type SettingsInput = {
3
3
  restrictedAccess: boolean;
4
4
  password: string;
5
5
  };
6
- export declare const useGetInfoQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/query").QueryDefinition<void, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@strapi/admin/strapi-admin").QueryArguments, unknown, import("@strapi/admin/strapi-admin").BaseQueryError, {}, {}>, "DocumentInfo", DocumentInfos, "adminApi">>, useDeleteVersionMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query").MutationDefinition<{
6
+ export declare const useGetInfoQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/query").QueryDefinition<void, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@strapi/admin/strapi-admin").QueryArguments, unknown, import("@strapi/admin/strapi-admin").BaseQueryError, {}, {}>, "GuidedTourMeta" | "HomepageKeyStatistics" | "AiUsage" | "AiFeatureConfig" | "DocumentInfo", DocumentInfos, "adminApi">>, useDeleteVersionMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query").MutationDefinition<{
7
7
  version: string;
8
- }, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@strapi/admin/strapi-admin").QueryArguments, unknown, import("@strapi/admin/strapi-admin").BaseQueryError, {}, {}>, "DocumentInfo", void, "adminApi">>, useUpdateSettingsMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query").MutationDefinition<{
8
+ }, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@strapi/admin/strapi-admin").QueryArguments, unknown, import("@strapi/admin/strapi-admin").BaseQueryError, {}, {}>, "GuidedTourMeta" | "HomepageKeyStatistics" | "AiUsage" | "AiFeatureConfig" | "DocumentInfo", void, "adminApi">>, useUpdateSettingsMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query").MutationDefinition<{
9
9
  body: SettingsInput;
10
- }, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@strapi/admin/strapi-admin").QueryArguments, unknown, import("@strapi/admin/strapi-admin").BaseQueryError, {}, {}>, "DocumentInfo", void, "adminApi">>, useRegenerateDocMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query").MutationDefinition<{
10
+ }, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@strapi/admin/strapi-admin").QueryArguments, unknown, import("@strapi/admin/strapi-admin").BaseQueryError, {}, {}>, "GuidedTourMeta" | "HomepageKeyStatistics" | "AiUsage" | "AiFeatureConfig" | "DocumentInfo", void, "adminApi">>, useRegenerateDocMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query").MutationDefinition<{
11
11
  version: string;
12
- }, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@strapi/admin/strapi-admin").QueryArguments, unknown, import("@strapi/admin/strapi-admin").BaseQueryError, {}, {}>, "DocumentInfo", void, "adminApi">>;
12
+ }, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@strapi/admin/strapi-admin").QueryArguments, unknown, import("@strapi/admin/strapi-admin").BaseQueryError, {}, {}>, "GuidedTourMeta" | "HomepageKeyStatistics" | "AiUsage" | "AiFeatureConfig" | "DocumentInfo", void, "adminApi">>;
13
13
  export {};
@@ -0,0 +1,25 @@
1
+ 'use strict';
2
+
3
+ var ar = {
4
+ "components.Row.open": "Open",
5
+ "components.Row.regenerate": "Regenerate",
6
+ "containers.HomePage.Block.title": "Versions",
7
+ "containers.HomePage.Button.update": "Update",
8
+ "containers.HomePage.PluginHeader.title": "Documentation — Settings",
9
+ "containers.HomePage.PopUpWarning.confirm": "I understand",
10
+ "containers.HomePage.PopUpWarning.message": "Are you sure you want to delete this version?",
11
+ "containers.HomePage.form.password": "Password",
12
+ "containers.HomePage.form.password.inputDescription": "Set the password to access the documentation",
13
+ "containers.HomePage.form.restrictedAccess": "Restricted access",
14
+ "containers.HomePage.form.restrictedAccess.inputDescription": "Make the documentation endpoint private. By default, the access is public",
15
+ "containers.HomePage.form.showGeneratedFiles": "Show generated files",
16
+ "containers.HomePage.form.showGeneratedFiles.inputDescription": "Useful when you want to override the generated documentation. \nThe plugin will generate files split by model and plugin. \nBy enabling this option it will be easier to customize your documentation",
17
+ "error.deleteDoc.versionMissing": "The version you are trying to delete does not exist.",
18
+ "error.noVersion": "A version is required",
19
+ "error.regenerateDoc": "An error occurred while regenerating the doc",
20
+ "error.regenerateDoc.versionMissing": "The version you are trying to generate doesn't exist",
21
+ "notification.update.success": "Settings updated successfully"
22
+ };
23
+
24
+ module.exports = ar;
25
+ //# sourceMappingURL=ar.json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ar.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;"}