@strapi/admin 4.12.0-beta.0 → 4.12.0-beta.3

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 (226) hide show
  1. package/admin/src/content-manager/components/CollectionTypeFormWrapper/index.js +1 -3
  2. package/admin/src/content-manager/components/RelationInput/components/Option.js +6 -5
  3. package/admin/src/content-manager/components/SingleTypeFormWrapper/index.js +7 -7
  4. package/admin/src/content-manager/pages/EditSettingsView/components/DisplayedFields.js +23 -21
  5. package/admin/src/content-manager/pages/EditSettingsView/components/ModalForm.js +21 -23
  6. package/admin/src/content-manager/pages/EditView/Information/index.js +1 -1
  7. package/admin/src/content-manager/pages/EditView/InformationBox/InformationBoxCE.js +1 -2
  8. package/admin/src/content-manager/pages/EditView/InformationBox/index.js +1 -3
  9. package/admin/src/content-manager/pages/EditView/index.js +14 -2
  10. package/admin/src/content-manager/pages/ListSettingsView/components/SortDisplayedFields.js +24 -22
  11. package/admin/src/content-manager/pages/ListView/components/Body/index.js +191 -0
  12. package/admin/src/content-manager/pages/ListView/components/BulkActionButtons/ConfirmBulkActionDialog/index.js +164 -0
  13. package/admin/src/content-manager/pages/ListView/components/BulkActionButtons/SelectedEntriesModal/index.js +468 -0
  14. package/admin/src/content-manager/{components/DynamicTable/BulkActionsBar → pages/ListView/components/BulkActionButtons}/index.js +56 -132
  15. package/admin/src/content-manager/pages/ListView/components/CellContent/RelationMultiple/index.js +63 -69
  16. package/admin/src/content-manager/pages/ListView/components/CellContent/RepeatableComponent/index.js +28 -21
  17. package/admin/src/content-manager/pages/ListView/index.js +191 -132
  18. package/admin/src/hooks/useSettingsMenu/index.js +35 -21
  19. package/admin/src/layouts/UnauthenticatedLayout/LocaleToggle/index.js +7 -7
  20. package/admin/src/pages/AuthPage/components/Login/index.js +3 -5
  21. package/admin/src/pages/AuthPage/constants.js +3 -2
  22. package/admin/src/pages/AuthPage/index.js +18 -1
  23. package/admin/src/pages/HomePage/index.js +19 -7
  24. package/admin/src/pages/ProfilePage/index.js +6 -11
  25. package/admin/src/pages/SettingsPage/components/SettingsNav/index.js +13 -11
  26. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/index.js +17 -1
  27. package/admin/src/pages/SettingsPage/pages/Users/EditPage/index.js +15 -2
  28. package/admin/src/pages/SettingsPage/pages/Users/ListPage/CreateAction/index.js +2 -4
  29. package/admin/src/pages/SettingsPage/pages/Users/ListPage/ModalForm/index.js +15 -1
  30. package/admin/src/pages/SettingsPage/pages/Users/ListPage/index.js +36 -5
  31. package/admin/src/pages/SettingsPage/pages/Users/components/MagicLink/index.js +3 -5
  32. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/EventTable/index.js +1 -3
  33. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/WebhookForm/index.js +16 -1
  34. package/admin/src/translations/ca.json +4 -4
  35. package/admin/src/translations/de.json +4 -4
  36. package/admin/src/translations/dk.json +2 -2
  37. package/admin/src/translations/en.json +23 -4
  38. package/admin/src/translations/es.json +4 -4
  39. package/admin/src/translations/eu.json +4 -4
  40. package/admin/src/translations/fr.json +2 -2
  41. package/admin/src/translations/gu.json +4 -4
  42. package/admin/src/translations/hi.json +4 -4
  43. package/admin/src/translations/hu.json +4 -4
  44. package/admin/src/translations/ja.json +2 -2
  45. package/admin/src/translations/ko.json +2 -2
  46. package/admin/src/translations/ml.json +4 -4
  47. package/admin/src/translations/nl.json +4 -4
  48. package/admin/src/translations/pl.json +4 -4
  49. package/admin/src/translations/pt-BR.json +4 -4
  50. package/admin/src/translations/ru.json +4 -4
  51. package/admin/src/translations/sa.json +4 -4
  52. package/admin/src/translations/sk.json +4 -4
  53. package/admin/src/translations/sv.json +4 -4
  54. package/admin/src/translations/tr.json +4 -4
  55. package/admin/src/translations/zh-Hans.json +4 -4
  56. package/admin/src/translations/zh.json +4 -4
  57. package/build/1049.758a01f5.chunk.js +1 -0
  58. package/build/{3528.4845cf92.chunk.js → 1386.762d6eb8.chunk.js} +1 -1
  59. package/build/1727.b49f0713.chunk.js +1 -0
  60. package/build/{5563.a146acac.chunk.js → 2225.15d1df72.chunk.js} +2 -2
  61. package/build/2379.d33a2e16.chunk.js +1 -0
  62. package/build/2395.b0419a54.chunk.js +26 -0
  63. package/build/2801.18f38baf.chunk.js +1 -0
  64. package/build/{7394.423886bd.chunk.js → 3100.21c343fa.chunk.js} +1 -1
  65. package/build/311.cb0884bb.chunk.js +1 -0
  66. package/build/3483.ddd2d6df.chunk.js +1 -0
  67. package/build/{970.89601f27.chunk.js → 3739.63e352f1.chunk.js} +52 -20
  68. package/build/3984.ea7b8036.chunk.js +1 -0
  69. package/build/4546.ff9fdf30.chunk.js +1 -0
  70. package/build/502.ccb38223.chunk.js +1 -0
  71. package/build/5483.ed2c7efa.chunk.js +6 -0
  72. package/build/{5542.c62d0daf.chunk.js → 5542.2415a393.chunk.js} +6 -6
  73. package/build/6158.c974fd83.chunk.js +1 -0
  74. package/build/6691.f880a0b6.chunk.js +105 -0
  75. package/build/7030.b98dcedf.chunk.js +1 -0
  76. package/build/7464.c6d0565c.chunk.js +1 -0
  77. package/build/8276.23e0763b.chunk.js +26 -0
  78. package/build/8298.fd253c9f.chunk.js +117 -0
  79. package/build/918.54414509.chunk.js +1 -0
  80. package/build/{9932.7e2b71de.chunk.js → 9806.91360bb6.chunk.js} +79 -79
  81. package/build/{9944.29289a16.chunk.js → 9944.7af075a5.chunk.js} +1 -1
  82. package/build/{Admin-authenticatedApp.9d3afb79.chunk.js → Admin-authenticatedApp.36b3826c.chunk.js} +5 -5
  83. package/build/Admin_InternalErrorPage.f45f2462.chunk.js +1 -0
  84. package/build/{Admin_homePage.be30ef4e.chunk.js → Admin_homePage.ac9dfb86.chunk.js} +23 -15
  85. package/build/{Admin_marketplace.74a58e20.chunk.js → Admin_marketplace.f0b87fce.chunk.js} +1 -1
  86. package/build/{Admin_pluginsPage.ce464189.chunk.js → Admin_pluginsPage.8728ff6e.chunk.js} +1 -1
  87. package/build/{Admin_profilePage.2131eb68.chunk.js → Admin_profilePage.a968035f.chunk.js} +2 -2
  88. package/build/Admin_settingsPage.8c600d1a.chunk.js +111 -0
  89. package/build/Upload_ConfigureTheView.345ac1e0.chunk.js +1 -0
  90. package/build/admin-app.1c3f7fd6.chunk.js +36 -0
  91. package/build/{admin-edit-roles-page.3fdd6b9d.chunk.js → admin-edit-roles-page.a49b9f4f.chunk.js} +4 -4
  92. package/build/admin-edit-users.67704088.chunk.js +10 -0
  93. package/build/{admin-roles-list.e17b00d7.chunk.js → admin-roles-list.0c129e98.chunk.js} +1 -1
  94. package/build/admin-users.3279ffb0.chunk.js +11 -0
  95. package/build/api-tokens-create-page.46c2ea84.chunk.js +1 -0
  96. package/build/{api-tokens-edit-page.9a1dd2fa.chunk.js → api-tokens-edit-page.58139df9.chunk.js} +1 -1
  97. package/build/{api-tokens-list-page.a103f526.chunk.js → api-tokens-list-page.505bf7e0.chunk.js} +2 -2
  98. package/build/audit-logs-settings-page.4b422831.chunk.js +1 -0
  99. package/build/{ca-json.1fed5d8b.chunk.js → ca-json.a53c10b6.chunk.js} +1 -1
  100. package/build/content-manager.b8d593d4.chunk.js +1103 -0
  101. package/build/{content-type-builder-list-view.a200a358.chunk.js → content-type-builder-list-view.bf9be456.chunk.js} +9 -9
  102. package/build/{content-type-builder-translation-ar-json.56d8fcf4.chunk.js → content-type-builder-translation-ar-json.3e808e2f.chunk.js} +1 -1
  103. package/build/{content-type-builder-translation-cs-json.a5b299ca.chunk.js → content-type-builder-translation-cs-json.1ef9e106.chunk.js} +1 -1
  104. package/build/{content-type-builder-translation-de-json.393a76c0.chunk.js → content-type-builder-translation-de-json.63fcff7b.chunk.js} +1 -1
  105. package/build/{content-type-builder-translation-dk-json.fbd39bb7.chunk.js → content-type-builder-translation-dk-json.fd626b67.chunk.js} +1 -1
  106. package/build/{content-type-builder-translation-en-json.38e20391.chunk.js → content-type-builder-translation-en-json.ed29ff4d.chunk.js} +1 -1
  107. package/build/{content-type-builder-translation-es-json.9288474b.chunk.js → content-type-builder-translation-es-json.a4a361a9.chunk.js} +1 -1
  108. package/build/{content-type-builder-translation-fr-json.d35e269c.chunk.js → content-type-builder-translation-fr-json.499c3a46.chunk.js} +1 -1
  109. package/build/{content-type-builder-translation-id-json.f0513929.chunk.js → content-type-builder-translation-id-json.65255f93.chunk.js} +1 -1
  110. package/build/{content-type-builder-translation-it-json.aaf16753.chunk.js → content-type-builder-translation-it-json.e268ab74.chunk.js} +1 -1
  111. package/build/{content-type-builder-translation-ko-json.8fe21a7f.chunk.js → content-type-builder-translation-ko-json.04cb309d.chunk.js} +1 -1
  112. package/build/{content-type-builder-translation-ms-json.3b5d2d3e.chunk.js → content-type-builder-translation-ms-json.f6b743b9.chunk.js} +1 -1
  113. package/build/{content-type-builder-translation-nl-json.225ef5d3.chunk.js → content-type-builder-translation-nl-json.997fe8cc.chunk.js} +1 -1
  114. package/build/{content-type-builder-translation-pl-json.92f36be2.chunk.js → content-type-builder-translation-pl-json.634f638b.chunk.js} +1 -1
  115. package/build/{content-type-builder-translation-pt-BR-json.3bd10f89.chunk.js → content-type-builder-translation-pt-BR-json.6a95dc71.chunk.js} +1 -1
  116. package/build/{content-type-builder-translation-ru-json.9bfe47ce.chunk.js → content-type-builder-translation-ru-json.3af65503.chunk.js} +1 -1
  117. package/build/{content-type-builder-translation-sk-json.d03cc18a.chunk.js → content-type-builder-translation-sk-json.c6078082.chunk.js} +1 -1
  118. package/build/{content-type-builder-translation-sv-json.d23dcd32.chunk.js → content-type-builder-translation-sv-json.a6df2462.chunk.js} +1 -1
  119. package/build/{content-type-builder-translation-th-json.7ad256e2.chunk.js → content-type-builder-translation-th-json.122277cc.chunk.js} +1 -1
  120. package/build/{content-type-builder-translation-tr-json.926f6191.chunk.js → content-type-builder-translation-tr-json.41f44f77.chunk.js} +1 -1
  121. package/build/{content-type-builder-translation-uk-json.7bf19546.chunk.js → content-type-builder-translation-uk-json.e1315acd.chunk.js} +1 -1
  122. package/build/{content-type-builder-translation-zh-Hans-json.415577fb.chunk.js → content-type-builder-translation-zh-Hans-json.6ff57db6.chunk.js} +1 -1
  123. package/build/{content-type-builder-translation-zh-json.ad24dbeb.chunk.js → content-type-builder-translation-zh-json.3532b962.chunk.js} +1 -1
  124. package/build/content-type-builder.40534de5.chunk.js +170 -0
  125. package/build/{de-json.fcac7381.chunk.js → de-json.b3be02c7.chunk.js} +1 -1
  126. package/build/{dk-json.e34cad0d.chunk.js → dk-json.842aa391.chunk.js} +1 -1
  127. package/build/{email-settings-page.45695daa.chunk.js → email-settings-page.d494d1eb.chunk.js} +2 -2
  128. package/build/{en-json.fb9f6ddd.chunk.js → en-json.4c733bd1.chunk.js} +1 -1
  129. package/build/{es-json.42096084.chunk.js → es-json.f57b5335.chunk.js} +1 -1
  130. package/build/{eu-json.fb17c8f9.chunk.js → eu-json.633025f0.chunk.js} +1 -1
  131. package/build/{fr-json.69789980.chunk.js → fr-json.aa8839d2.chunk.js} +1 -1
  132. package/build/{gu-json.4d667d0c.chunk.js → gu-json.5bd62812.chunk.js} +1 -1
  133. package/build/{hi-json.323be97d.chunk.js → hi-json.9104eb78.chunk.js} +1 -1
  134. package/build/{hu-json.fe71e6c8.chunk.js → hu-json.9f4aae42.chunk.js} +1 -1
  135. package/build/{i18n-settings-page.29308d0b.chunk.js → i18n-settings-page.47f78016.chunk.js} +1 -1
  136. package/build/index.html +1 -1
  137. package/build/{ja-json.81b6d1e3.chunk.js → ja-json.91286391.chunk.js} +1 -1
  138. package/build/{ko-json.4539f4ba.chunk.js → ko-json.fcf3ec4b.chunk.js} +1 -1
  139. package/build/main.a12c4c0f.js +2856 -0
  140. package/build/{ml-json.8988e374.chunk.js → ml-json.557aa14c.chunk.js} +1 -1
  141. package/build/{nl-json.98345913.chunk.js → nl-json.b2b16eea.chunk.js} +1 -1
  142. package/build/{pl-json.59a5dab3.chunk.js → pl-json.f094a417.chunk.js} +1 -1
  143. package/build/{pt-BR-json.9410688b.chunk.js → pt-BR-json.dec7fb01.chunk.js} +1 -1
  144. package/build/review-workflows-settings-create-view.dfd87e1f.chunk.js +1 -0
  145. package/build/review-workflows-settings-edit-view.53c00afe.chunk.js +1 -0
  146. package/build/review-workflows-settings-list-view.a34be805.chunk.js +56 -0
  147. package/build/{ru-json.678cd48b.chunk.js → ru-json.8193d8c4.chunk.js} +1 -1
  148. package/build/{runtime~main.5e9bf4b3.js → runtime~main.d197f488.js} +2 -2
  149. package/build/{sa-json.6359a11c.chunk.js → sa-json.a56836f1.chunk.js} +1 -1
  150. package/build/{sk-json.2374f129.chunk.js → sk-json.bf2f057a.chunk.js} +1 -1
  151. package/build/sso-settings-page.ed6f3f15.chunk.js +1 -0
  152. package/build/{sv-json.ae6e71ea.chunk.js → sv-json.fd0e86c6.chunk.js} +1 -1
  153. package/build/{tr-json.bac5dbd3.chunk.js → tr-json.56c32cf6.chunk.js} +1 -1
  154. package/build/transfer-tokens-create-page.1597e6ab.chunk.js +1 -0
  155. package/build/transfer-tokens-edit-page.8741529f.chunk.js +1 -0
  156. package/build/{transfer-tokens-list-page.7237443d.chunk.js → transfer-tokens-list-page.22147d2c.chunk.js} +2 -2
  157. package/build/upload-settings.cac210a0.chunk.js +14 -0
  158. package/build/upload.cbfeefa5.chunk.js +58 -0
  159. package/build/{users-advanced-settings-page.750b1f76.chunk.js → users-advanced-settings-page.18379a56.chunk.js} +1 -1
  160. package/build/users-email-settings-page.a87978e5.chunk.js +9 -0
  161. package/build/users-providers-settings-page.8876c1ee.chunk.js +14 -0
  162. package/build/{users-roles-settings-page.d286426a.chunk.js → users-roles-settings-page.0431f48c.chunk.js} +2 -2
  163. package/build/webhook-edit-page.a91f27a1.chunk.js +33 -0
  164. package/build/{webhook-list-page.940a40f1.chunk.js → webhook-list-page.65e1b5bb.chunk.js} +1 -1
  165. package/build/{zh-Hans-json.fada6f40.chunk.js → zh-Hans-json.36d81cdc.chunk.js} +1 -1
  166. package/build/{zh-json.3529f1e5.chunk.js → zh-json.1cc86ff0.chunk.js} +1 -1
  167. package/ee/admin/content-manager/pages/EditView/InformationBox/InformationBoxEE.js +6 -3
  168. package/ee/admin/content-manager/pages/EditView/InformationBox/index.js +1 -3
  169. package/ee/admin/content-manager/pages/ListView/ReviewWorkflowsColumn/constants.js +2 -2
  170. package/ee/admin/pages/AuthPage/components/Login/index.js +3 -5
  171. package/ee/admin/pages/HomePage/index.js +11 -0
  172. package/ee/admin/pages/SettingsPage/pages/ApplicationInfosPage/components/AdminSeatInfo/index.js +1 -3
  173. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/ProtectedPage/ProtectedPage.js +1 -1
  174. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/Stages/Stage/Stage.js +1 -1
  175. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/pages/CreateView/CreateView.js +38 -10
  176. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/pages/EditView/EditView.js +57 -8
  177. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/pages/ListView/ListView.js +3 -3
  178. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/utils/{getWorkflowValidationSchema.js → validateWorkflow.js} +33 -2
  179. package/ee/admin/pages/SettingsPage/pages/Users/ListPage/CreateAction/index.js +2 -4
  180. package/ee/admin/pages/SettingsPage/pages/Users/ListPage/index.js +13 -0
  181. package/ee/admin/pages/SettingsPage/pages/Users/components/MagicLink/index.js +3 -5
  182. package/ee/admin/pages/SettingsPage/pages/Webhooks/EditView/components/EventTable/index.js +1 -3
  183. package/ee/server/constants/default-stages.json +1 -1
  184. package/ee/server/constants/workflows.js +1 -0
  185. package/ee/server/services/review-workflows/validation.js +6 -0
  186. package/ee/server/validation/review-workflows.js +6 -2
  187. package/index.js +0 -14
  188. package/package.json +12 -20
  189. package/webpack.alias.js +0 -3
  190. package/webpack.config.js +1 -75
  191. package/admin/src/content-manager/pages/ListView/components/TableRows/index.js +0 -300
  192. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/AdminSeatInfo/index.js +0 -5
  193. package/build/1386.3b2aa6a7.chunk.js +0 -3
  194. package/build/1970.39a2d75e.chunk.js +0 -1
  195. package/build/2799.cf9b491f.chunk.js +0 -1
  196. package/build/3269.1ea0f5a6.chunk.js +0 -1
  197. package/build/4485.d3c6dd1d.chunk.js +0 -6
  198. package/build/539.865446c0.chunk.js +0 -1
  199. package/build/6691.e6d5ac38.chunk.js +0 -105
  200. package/build/7018.f3dad3c1.chunk.js +0 -1
  201. package/build/7259.0e25ab5d.chunk.js +0 -1
  202. package/build/9465.d8fc1377.chunk.js +0 -112
  203. package/build/Admin_InternalErrorPage.8911cb49.chunk.js +0 -1
  204. package/build/Admin_settingsPage.074655f6.chunk.js +0 -79
  205. package/build/Upload_ConfigureTheView.7a1cb9c9.chunk.js +0 -1
  206. package/build/admin-app.3ede71ad.chunk.js +0 -61
  207. package/build/admin-edit-users.78552758.chunk.js +0 -10
  208. package/build/admin-users.c23322fc.chunk.js +0 -11
  209. package/build/api-tokens-create-page.3dd4e921.chunk.js +0 -1
  210. package/build/audit-logs-settings-page.37fe915c.chunk.js +0 -1
  211. package/build/content-manager.08541eeb.chunk.js +0 -1094
  212. package/build/content-type-builder.de22f7c9.chunk.js +0 -166
  213. package/build/main.a8ede50d.js +0 -2927
  214. package/build/review-workflows-settings-create-view.56f61e18.chunk.js +0 -1
  215. package/build/review-workflows-settings-edit-view.912bc9c0.chunk.js +0 -1
  216. package/build/review-workflows-settings-list-view.cf6a08d3.chunk.js +0 -56
  217. package/build/sso-settings-page.0cdb96a6.chunk.js +0 -1
  218. package/build/transfer-tokens-create-page.de14cad4.chunk.js +0 -1
  219. package/build/transfer-tokens-edit-page.4f5e39af.chunk.js +0 -1
  220. package/build/upload-settings.cb6c14c3.chunk.js +0 -14
  221. package/build/upload.7e629643.chunk.js +0 -26
  222. package/build/users-email-settings-page.e9bcd865.chunk.js +0 -9
  223. package/build/users-providers-settings-page.a94253e9.chunk.js +0 -14
  224. package/build/webhook-edit-page.77ef4f1a.chunk.js +0 -33
  225. /package/admin/src/content-manager/components/{DynamicTable → ListViewTable}/CellContent/PublicationState/PublicationState.js +0 -0
  226. /package/admin/src/content-manager/components/{DynamicTable → ListViewTable}/CellContent/PublicationState/index.js +0 -0
@@ -446,9 +446,9 @@
446
446
  "components.popUpWarning.message": "क्या आप वाकई इसे हटाना चाहते हैं?",
447
447
  "components.popUpWarning.title": "कृपया पुष्टि करें",
448
448
  "content-manager.App.schemas.data-loaded": "स्कीमा सफलतापूर्वक लोड हो गए हैं",
449
- "content-manager.DynamicTable.relation-loaded": "रिश्तों को लोड किया गया है",
450
- "content-manager.DynamicTable.relation-loading": "संबंध लोड हो रहे हैं",
451
- "content-manager.DynamicTable.relation-more": "इस संबंध में प्रदर्शित की तुलना में अधिक इकाइयां हैं",
449
+ "content-manager.ListViewTable.relation-loaded": "रिश्तों को लोड किया गया है",
450
+ "content-manager.ListViewTable.relation-loading": "संबंध लोड हो रहे हैं",
451
+ "content-manager.ListViewTable.relation-more": "इस संबंध में प्रदर्शित की तुलना में अधिक इकाइयां हैं",
452
452
  "content-manager.EditRelations.title": "संबंधपरक डेटा",
453
453
  "content-manager.HeaderLayout.button.label-add-entry": "नई प्रविष्टि बनाएं",
454
454
  "content-manager.api.id": "एपीआई आईडी",
@@ -459,7 +459,7 @@
459
459
  "content-manager.components.DraggableCard.delete.field": "चीज़ें हटाएं}",
460
460
  "content-manager.components.DraggableCard.edit.field": "संपादित {item}",
461
461
  "content-manager.components.DraggableCard.move.field": "{आइटम} ले जाएँ",
462
- "content-manager.components.DynamicTable.row-line": "आइटम लाइन {नंबर}",
462
+ "content-manager.components.ListViewTable.row-line": "आइटम लाइन {नंबर}",
463
463
  "content-manager.components.DynamicZone.ComponentPicker-label": "एक घटक चुनें",
464
464
  "content-manager.components.DynamicZone.add-component": "{घटक नाम} में एक घटक जोड़ें",
465
465
  "content-manager.components.DynamicZone.delete-label": "{नाम} हटाएं",
@@ -526,9 +526,9 @@
526
526
  "components.popUpWarning.message": "Biztosan törölni szeretné?",
527
527
  "components.popUpWarning.title": "Erősítse meg",
528
528
  "content-manager.App.schemas.data-loaded": "A sémák sikeresen betöltve",
529
- "content-manager.DynamicTable.relation-loaded": "A kapcsolatok betöltődtek",
530
- "content-manager.DynamicTable.relation-loading": "Relations are loading",
531
- "content-manager.DynamicTable.relation-more": "This relation contains more entities than displayed",
529
+ "content-manager.ListViewTable.relation-loaded": "A kapcsolatok betöltődtek",
530
+ "content-manager.ListViewTable.relation-loading": "Relations are loading",
531
+ "content-manager.ListViewTable.relation-more": "This relation contains more entities than displayed",
532
532
  "content-manager.EditRelations.title": "Relációs adatok",
533
533
  "content-manager.HeaderLayout.button.label-add-entry": "Új bejegyzés létrehozása",
534
534
  "content-manager.api.id": "API ID",
@@ -539,7 +539,7 @@
539
539
  "content-manager.components.DraggableCard.delete.field": "{item} törlése",
540
540
  "content-manager.components.DraggableCard.edit.field": "{item} szerkesztése",
541
541
  "content-manager.components.DraggableCard.move.field": "{item} mozgatása",
542
- "content-manager.components.DynamicTable.row-line": "{number}. sor",
542
+ "content-manager.components.ListViewTable.row-line": "{number}. sor",
543
543
  "content-manager.components.DynamicZone.ComponentPicker-label": "Válasszon egy komponenst",
544
544
  "content-manager.components.DynamicZone.add-component": "Komponens hozzáadása a {componentName}-hoz",
545
545
  "content-manager.components.DynamicZone.delete-label": "{name} törlése",
@@ -390,7 +390,7 @@
390
390
  "components.popUpWarning.message": "本当に削除しますか?",
391
391
  "components.popUpWarning.title": "確認してください",
392
392
  "content-manager.App.schemas.data-loaded": "The schemas have been successfully loaded",
393
- "content-manager.DynamicTable.relation-loaded": "The relations have been loaded",
393
+ "content-manager.ListViewTable.relation-loaded": "The relations have been loaded",
394
394
  "content-manager.EditRelations.title": "リレーショナルデータ",
395
395
  "content-manager.HeaderLayout.button.label-add-entry": "Create new entry",
396
396
  "content-manager.api.id": "API ID",
@@ -401,7 +401,7 @@
401
401
  "content-manager.components.DraggableCard.delete.field": "{item}を削除",
402
402
  "content-manager.components.DraggableCard.edit.field": "{item}を編集",
403
403
  "content-manager.components.DraggableCard.move.field": "Move {item}",
404
- "content-manager.components.DynamicTable.row-line": "item line {number}",
404
+ "content-manager.components.ListViewTable.row-line": "item line {number}",
405
405
  "content-manager.components.DynamicZone.ComponentPicker-label": "Pick one component",
406
406
  "content-manager.components.DynamicZone.add-component": "Add a component to {componentName}",
407
407
  "content-manager.components.DynamicZone.delete-label": "{name}を削除",
@@ -389,7 +389,7 @@
389
389
  "components.popUpWarning.message": "삭제하시겠습니까?",
390
390
  "components.popUpWarning.title": "확인",
391
391
  "content-manager.App.schemas.data-loaded": "스키마를 불러왔습니다.",
392
- "content-manager.DynamicTable.relation-loaded": "릴레이션을 불러왔습니다.",
392
+ "content-manager.ListViewTable.relation-loaded": "릴레이션을 불러왔습니다.",
393
393
  "content-manager.EditRelations.title": "관계 데이터",
394
394
  "content-manager.HeaderLayout.button.label-add-entry": "새 항목 추가",
395
395
  "content-manager.api.id": "API ID",
@@ -400,7 +400,7 @@
400
400
  "content-manager.components.DraggableCard.delete.field": "{item} 삭제",
401
401
  "content-manager.components.DraggableCard.edit.field": "{item} 수정",
402
402
  "content-manager.components.DraggableCard.move.field": "{item} 이동",
403
- "content-manager.components.DynamicTable.row-line": "item line {number}",
403
+ "content-manager.components.ListViewTable.row-line": "item line {number}",
404
404
  "content-manager.components.DynamicZone.ComponentPicker-label": "Pick one component",
405
405
  "content-manager.components.DynamicZone.add-component": "Add a component to {componentName}",
406
406
  "content-manager.components.DynamicZone.delete-label": "{name} 삭제",
@@ -446,9 +446,9 @@
446
446
  "components.popUpWarning.message": "ഇത് ഇല്ലാതാക്കണമെന്ന് തീർച്ചയാണോ?",
447
447
  "components.popUpWarning.title": "ദയവായി സ്ഥിരീകരിക്കുക",
448
448
  "content-manager.App.schemas.data-loaded": "സ്കീമകൾ വിജയകരമായി ലോഡ് ചെയ്തു",
449
- "content-manager.DynamicTable.relation-loaded": "ബന്ധങ്ങൾ ലോഡ് ചെയ്തു",
450
- "content-manager.DynamicTable.relation-loading": "ബന്ധങ്ങൾ ലോഡുചെയ്യുന്നു",
451
- "content-manager.DynamicTable.relation-more": "പ്രദർശിപ്പിച്ചതിനേക്കാൾ കൂടുതൽ എന്റിറ്റികൾ ഈ ബന്ധത്തിൽ അടങ്ങിയിരിക്കുന്നു",
449
+ "content-manager.ListViewTable.relation-loaded": "ബന്ധങ്ങൾ ലോഡ് ചെയ്തു",
450
+ "content-manager.ListViewTable.relation-loading": "ബന്ധങ്ങൾ ലോഡുചെയ്യുന്നു",
451
+ "content-manager.ListViewTable.relation-more": "പ്രദർശിപ്പിച്ചതിനേക്കാൾ കൂടുതൽ എന്റിറ്റികൾ ഈ ബന്ധത്തിൽ അടങ്ങിയിരിക്കുന്നു",
452
452
  "content-manager.EditRelations.title": "റിലേഷണൽ ഡാറ്റ",
453
453
  "content-manager.HeaderLayout.button.label-add-entry": "പുതിയ എൻട്രി സൃഷ്ടിക്കുക",
454
454
  "content-manager.api.id": "API ഐഡി",
@@ -459,7 +459,7 @@
459
459
  "content-manager.components.DraggableCard.delete.field": "{item} ഇല്ലാതാക്കുക",
460
460
  "content-manager.components.DraggableCard.edit.field": "എഡിറ്റ് {ഇനം}",
461
461
  "content-manager.components.DraggableCard.move.field": "നീക്കുക {ഇനം}",
462
- "content-manager.components.DynamicTable.row-line": "ഇനത്തിന്റെ വരി {number}",
462
+ "content-manager.components.ListViewTable.row-line": "ഇനത്തിന്റെ വരി {number}",
463
463
  "content-manager.components.DynamicZone.ComponentPicker-label": "ഒരു ഘടകം തിരഞ്ഞെടുക്കുക",
464
464
  "content-manager.components.DynamicZone.add-component": "{componentName} എന്നതിലേക്ക് ഒരു ഘടകം ചേർക്കുക",
465
465
  "content-manager.components.DynamicZone.delete-label": "{name} ഇല്ലാതാക്കുക",
@@ -522,9 +522,9 @@
522
522
  "components.popUpWarning.message": "Weet je zeker dat je dit wilt verwijderen?",
523
523
  "components.popUpWarning.title": "Bevestig a.u.b.",
524
524
  "content-manager.App.schemas.data-loaded": "De schema's zijn succesvol geladen",
525
- "content-manager.DynamicTable.relation-loaded": "De relaties zijn geladen",
526
- "content-manager.DynamicTable.relation-loading": "Relaties worden geladen",
527
- "content-manager.DynamicTable.relation-more": "Deze relatie bevat meer entiteiten dan weergegeven",
525
+ "content-manager.ListViewTable.relation-loaded": "De relaties zijn geladen",
526
+ "content-manager.ListViewTable.relation-loading": "Relaties worden geladen",
527
+ "content-manager.ListViewTable.relation-more": "Deze relatie bevat meer entiteiten dan weergegeven",
528
528
  "content-manager.EditRelations.title": "Gerelateerde data",
529
529
  "content-manager.HeaderLayout.button.label-add-entry": "Nieuwe invoer",
530
530
  "content-manager.api.id": "API ID",
@@ -535,7 +535,7 @@
535
535
  "content-manager.components.DraggableCard.delete.field": "Verwijder {item}",
536
536
  "content-manager.components.DraggableCard.edit.field": "Pas {item} aan",
537
537
  "content-manager.components.DraggableCard.move.field": "Verplaats {item}",
538
- "content-manager.components.DynamicTable.row-line": "item regel {number}",
538
+ "content-manager.components.ListViewTable.row-line": "item regel {number}",
539
539
  "content-manager.components.DynamicZone.ComponentPicker-label": "Kies één component",
540
540
  "content-manager.components.DynamicZone.add-component": "Voeg een component toe aan {componentName}",
541
541
  "content-manager.components.DynamicZone.delete-label": "Verwijder {name}",
@@ -446,9 +446,9 @@
446
446
  "components.popUpWarning.message": "Czy na pewno chcesz to usunąć?",
447
447
  "components.popUpWarning.title": "Proszę potwierdzić",
448
448
  "content-manager.App.schemas.data-loaded": "Schematy zostały poprawnie załadowane",
449
- "content-manager.DynamicTable.relation-loaded": "Relacje zostały załadowane",
450
- "content-manager.DynamicTable.relation-loading": "Trwa ładowanie relacji",
451
- "content-manager.DynamicTable.relation-more": "Ta relacja zwiera więcej wartości nież wyświetlana",
449
+ "content-manager.ListViewTable.relation-loaded": "Relacje zostały załadowane",
450
+ "content-manager.ListViewTable.relation-loading": "Trwa ładowanie relacji",
451
+ "content-manager.ListViewTable.relation-more": "Ta relacja zwiera więcej wartości nież wyświetlana",
452
452
  "content-manager.EditRelations.title": "Relacje",
453
453
  "content-manager.HeaderLayout.button.label-add-entry": "Dodaj nowy wpis",
454
454
  "content-manager.api.id": "API ID",
@@ -459,7 +459,7 @@
459
459
  "content-manager.components.DraggableCard.delete.field": "Usuń {item}",
460
460
  "content-manager.components.DraggableCard.edit.field": "Edytuj {item}",
461
461
  "content-manager.components.DraggableCard.move.field": "Przenieś {item}",
462
- "content-manager.components.DynamicTable.row-line": "rząd {number}",
462
+ "content-manager.components.ListViewTable.row-line": "rząd {number}",
463
463
  "content-manager.components.DynamicZone.ComponentPicker-label": "Wybierz komponent",
464
464
  "content-manager.components.DynamicZone.add-component": "Dodaj komponent do {componentName}",
465
465
  "content-manager.components.DynamicZone.delete-label": "Usuń {name}",
@@ -481,9 +481,9 @@
481
481
  "components.popUpWarning.message": "Tem certeza que deseja remover isso?",
482
482
  "components.popUpWarning.title": "Por favor, confirme",
483
483
  "content-manager.App.schemas.data-loaded": "Os esquemas foram carregados com sucesso",
484
- "content-manager.DynamicTable.relation-loaded": "Os relacionamentos foram carregados",
485
- "content-manager.DynamicTable.relation-loading": "As relações estão carregando",
486
- "content-manager.DynamicTable.relation-more": "Esta relação contém mais entidades do que as exibidas",
484
+ "content-manager.ListViewTable.relation-loaded": "Os relacionamentos foram carregados",
485
+ "content-manager.ListViewTable.relation-loading": "As relações estão carregando",
486
+ "content-manager.ListViewTable.relation-more": "Esta relação contém mais entidades do que as exibidas",
487
487
  "content-manager.EditRelations.title": "Dados relacionais",
488
488
  "content-manager.HeaderLayout.button.label-add-entry": "Criar novo registro",
489
489
  "content-manager.api.id": "API ID",
@@ -494,7 +494,7 @@
494
494
  "content-manager.components.DraggableCard.delete.field": "Remover {item}",
495
495
  "content-manager.components.DraggableCard.edit.field": "Editar {item}",
496
496
  "content-manager.components.DraggableCard.move.field": "Mover {item}",
497
- "content-manager.components.DynamicTable.row-line": "item {number}",
497
+ "content-manager.components.ListViewTable.row-line": "item {number}",
498
498
  "content-manager.components.DynamicZone.ComponentPicker-label": "Selecione um componente",
499
499
  "content-manager.components.DynamicZone.add-component": "Adicionar componente a {componentName}",
500
500
  "content-manager.components.DynamicZone.delete-label": "Remover {name}",
@@ -603,9 +603,9 @@
603
603
  "components.popUpWarning.message": "Вы уверены, что хотите удалить это?",
604
604
  "components.popUpWarning.title": "Пожалуйста, подтвердите",
605
605
  "content-manager.App.schemas.data-loaded": "Схемы были успешно загружены",
606
- "content-manager.DynamicTable.relation-loaded": "Отношения были загружены",
607
- "content-manager.DynamicTable.relation-loading": "Отношения загружаются",
608
- "content-manager.DynamicTable.relation-more": "Это отношение содержит больше сущностей, чем отображается",
606
+ "content-manager.ListViewTable.relation-loaded": "Отношения были загружены",
607
+ "content-manager.ListViewTable.relation-loading": "Отношения загружаются",
608
+ "content-manager.ListViewTable.relation-more": "Это отношение содержит больше сущностей, чем отображается",
609
609
  "content-manager.EditRelations.title": "Связанные данные",
610
610
  "content-manager.HeaderLayout.button.label-add-entry": "Создать новую запись",
611
611
  "content-manager.api.id": "API ID",
@@ -617,7 +617,7 @@
617
617
  "content-manager.components.DraggableCard.delete.field": "Удалить {item}",
618
618
  "content-manager.components.DraggableCard.edit.field": "Редактировать {item}",
619
619
  "content-manager.components.DraggableCard.move.field": "Переместить {item}",
620
- "content-manager.components.DynamicTable.row-line": "строка {number}",
620
+ "content-manager.components.ListViewTable.row-line": "строка {number}",
621
621
  "content-manager.components.DynamicZone.ComponentPicker-label": "Выберите один компонент",
622
622
  "content-manager.components.DynamicZone.add-component": "Добавить компонент в {componentName}",
623
623
  "content-manager.components.DynamicZone.delete-label": "Удалить {name}",
@@ -446,9 +446,9 @@
446
446
  "components.popUpWarning.message": "किं भवान् निश्चयेन एतत् विलोपयितुम् इच्छति?",
447
447
  "components.popUpWarning.title": "कृपया पुष्टि करें",
448
448
  "content-manager.App.schemas.data-loaded": "योजनानि सफलतया लोड् कृतानि",
449
- "content-manager.DynamicTable.relation-loaded": "सम्बन्धाः लोड् कृताः",
450
- "content-manager.DynamicTable.relation-loading": "सम्बन्धाः लोड् भवन्ति",
451
- "content-manager.DynamicTable.relation-more": "अस्मिन् सम्बन्धे प्रदर्शितापेक्षया अधिकानि सत्तानि सन्ति",
449
+ "content-manager.ListViewTable.relation-loaded": "सम्बन्धाः लोड् कृताः",
450
+ "content-manager.ListViewTable.relation-loading": "सम्बन्धाः लोड् भवन्ति",
451
+ "content-manager.ListViewTable.relation-more": "अस्मिन् सम्बन्धे प्रदर्शितापेक्षया अधिकानि सत्तानि सन्ति",
452
452
  "content-manager.EditRelations.title": "सम्बन्धित डेटा",
453
453
  "content-manager.HeaderLayout.button.label-add-entry": "नवीन प्रविष्टि रचयतु",
454
454
  "content-manager.api.id": "एपीआई आईडी",
@@ -459,7 +459,7 @@
459
459
  "content-manager.components.DraggableCard.delete.field": "{आइटम} को हटाएँ",
460
460
  "content-manager.components.DraggableCard.edit.field": "{आइटम} सम्पादित करें",
461
461
  "content-manager.components.DraggableCard.move.field": "{आइटम} को ले जाएँ",
462
- "content-manager.components.DynamicTable.row-line": "मदपङ्क्ति {संख्या}",
462
+ "content-manager.components.ListViewTable.row-line": "मदपङ्क्ति {संख्या}",
463
463
  "content-manager.components.DynamicZone.ComponentPicker-label": "एकं घटकं चिनुत",
464
464
  "content-manager.components.DynamicZone.add-component": "{घटकनाम} मध्ये एकं घटकं योजयन्तु",
465
465
  "content-manager.components.DynamicZone.delete-label": "{नाम} को हटाएँ",
@@ -402,9 +402,9 @@
402
402
  "components.popUpWarning.message": "Ste si istý, že to chcete odstrániť?",
403
403
  "components.popUpWarning.title": "Prosím potvrďte",
404
404
  "content-manager.App.schemas.data-loaded": "Schéma bola úspešne načítaná",
405
- "content-manager.DynamicTable.relation-loaded": "Prepojenia boli úspešne načítané",
406
- "content-manager.DynamicTable.relation-loading": "Prepojenia sa načítavajú",
407
- "content-manager.DynamicTable.relation-more": "Toto prepojenie obsahuje viac záznamov, ako je zobrazených",
405
+ "content-manager.ListViewTable.relation-loaded": "Prepojenia boli úspešne načítané",
406
+ "content-manager.ListViewTable.relation-loading": "Prepojenia sa načítavajú",
407
+ "content-manager.ListViewTable.relation-more": "Toto prepojenie obsahuje viac záznamov, ako je zobrazených",
408
408
  "content-manager.EditRelations.title": "Relačné dáta",
409
409
  "content-manager.HeaderLayout.button.label-add-entry": "Nový záznam",
410
410
  "content-manager.api.id": "API ID",
@@ -415,7 +415,7 @@
415
415
  "content-manager.components.DraggableCard.delete.field": "Odstrániť {item}",
416
416
  "content-manager.components.DraggableCard.edit.field": "Upraviť {item}",
417
417
  "content-manager.components.DraggableCard.move.field": "Presunúť {item}",
418
- "content-manager.components.DynamicTable.row-line": "riadok {number}",
418
+ "content-manager.components.ListViewTable.row-line": "riadok {number}",
419
419
  "content-manager.components.DynamicZone.ComponentPicker-label": "Vyberte komponent",
420
420
  "content-manager.components.DynamicZone.add-component": "Pridať komponent do {componentName}",
421
421
  "content-manager.components.DynamicZone.delete-label": "Odstrániť {name}",
@@ -522,9 +522,9 @@
522
522
  "components.popUpWarning.message": "Är du säker på att du vill radera detta?",
523
523
  "components.popUpWarning.title": "Var god bekräfta",
524
524
  "content-manager.App.schemas.data-loaded": "Scheman har lästs in",
525
- "content-manager.DynamicTable.relation-loaded": "Relationer har laddats",
526
- "content-manager.DynamicTable.relation-loading": "Relationer laddas",
527
- "content-manager.DynamicTable.relation-more": "Denna relation innehåller mer data än vad som visas",
525
+ "content-manager.ListViewTable.relation-loaded": "Relationer har laddats",
526
+ "content-manager.ListViewTable.relation-loading": "Relationer laddas",
527
+ "content-manager.ListViewTable.relation-more": "Denna relation innehåller mer data än vad som visas",
528
528
  "content-manager.EditRelations.title": "Relationsdata",
529
529
  "content-manager.HeaderLayout.button.label-add-entry": "Skapa innehåll",
530
530
  "content-manager.api.id": "API-id",
@@ -535,7 +535,7 @@
535
535
  "content-manager.components.DraggableCard.delete.field": "Ta bort {item}",
536
536
  "content-manager.components.DraggableCard.edit.field": "Redigera {item}",
537
537
  "content-manager.components.DraggableCard.move.field": "Flytta {item}",
538
- "content-manager.components.DynamicTable.row-line": "artikelrad {nummer}",
538
+ "content-manager.components.ListViewTable.row-line": "artikelrad {nummer}",
539
539
  "content-manager.components.DynamicZone.ComponentPicker-label": "Välj en komponent",
540
540
  "content-manager.components.DynamicZone.add-component": "Lägg till en komponent till {componentName}",
541
541
  "content-manager.components.DynamicZone.delete-label": "Ta bort {name}",
@@ -481,9 +481,9 @@
481
481
  "components.popUpWarning.message": "Bunu silmek istediğinizden emin misiniz?",
482
482
  "components.popUpWarning.title": "Lütfen onaylayın",
483
483
  "content-manager.App.schemas.data-loaded": "Şemalar başarıyla yüklendi",
484
- "content-manager.DynamicTable.relation-loaded": "İlişkiler yüklendi",
485
- "content-manager.DynamicTable.relation-loading": "İlişkiler yükleniyor",
486
- "content-manager.DynamicTable.relation-more": "Bu ilişki gösterilenden daha çok kayıt içeriyor",
484
+ "content-manager.ListViewTable.relation-loaded": "İlişkiler yüklendi",
485
+ "content-manager.ListViewTable.relation-loading": "İlişkiler yükleniyor",
486
+ "content-manager.ListViewTable.relation-more": "Bu ilişki gösterilenden daha çok kayıt içeriyor",
487
487
  "content-manager.EditRelations.title": "İlişkili Data",
488
488
  "content-manager.HeaderLayout.button.label-add-entry": "Yeni bir girdi oluştur",
489
489
  "content-manager.api.id": "API KİMLİK NO",
@@ -495,7 +495,7 @@
495
495
  "content-manager.components.DraggableCard.delete.field": "Sil: {item}",
496
496
  "content-manager.components.DraggableCard.edit.field": "Düzenle: {item}",
497
497
  "content-manager.components.DraggableCard.move.field": "Taşı: {item}",
498
- "content-manager.components.DynamicTable.row-line": "öğe satır {number}",
498
+ "content-manager.components.ListViewTable.row-line": "öğe satır {number}",
499
499
  "content-manager.components.DynamicZone.ComponentPicker-label": "Bir bileşen seç",
500
500
  "content-manager.components.DynamicZone.add-component": "{componentName}'e bir bileşen ekle",
501
501
  "content-manager.components.DynamicZone.delete-label": "Sil: {name}",
@@ -602,9 +602,9 @@
602
602
  "components.popUpWarning.message": "你确定要删除这个吗?",
603
603
  "components.popUpWarning.title": "请确认",
604
604
  "content-manager.App.schemas.data-loaded": "模式已经成功加载",
605
- "content-manager.DynamicTable.relation-loaded": "关联已经成功加载",
606
- "content-manager.DynamicTable.relation-loading": "Relations are loading",
607
- "content-manager.DynamicTable.relation-more": "This relation contains more entities than displayed",
605
+ "content-manager.ListViewTable.relation-loaded": "关联已经成功加载",
606
+ "content-manager.ListViewTable.relation-loading": "Relations are loading",
607
+ "content-manager.ListViewTable.relation-more": "This relation contains more entities than displayed",
608
608
  "content-manager.EditRelations.title": "关联数据",
609
609
  "content-manager.HeaderLayout.button.label-add-entry": "添加条目",
610
610
  "content-manager.api.id": "API ID",
@@ -616,7 +616,7 @@
616
616
  "content-manager.components.DraggableCard.delete.field": "删除 {item}",
617
617
  "content-manager.components.DraggableCard.edit.field": "编辑 {item}",
618
618
  "content-manager.components.DraggableCard.move.field": "移动 {item}",
619
- "content-manager.components.DynamicTable.row-line": "第 {number} 条记录",
619
+ "content-manager.components.ListViewTable.row-line": "第 {number} 条记录",
620
620
  "content-manager.components.DynamicZone.ComponentPicker-label": "选择一个组件",
621
621
  "content-manager.components.DynamicZone.add-component": "添加组件 {componentName}",
622
622
  "content-manager.components.DynamicZone.delete-label": "删除 {name}",
@@ -522,9 +522,9 @@
522
522
  "components.popUpWarning.message": "您確定要刪除此項目嗎?",
523
523
  "components.popUpWarning.title": "請確認",
524
524
  "content-manager.App.schemas.data-loaded": "這個 schemas 已經成功載入",
525
- "content-manager.DynamicTable.relation-loaded": "關聯已經載入",
526
- "content-manager.DynamicTable.relation-loading": "關聯正在載入",
527
- "content-manager.DynamicTable.relation-more": "此關聯包含的實體比已顯示的還多",
525
+ "content-manager.ListViewTable.relation-loaded": "關聯已經載入",
526
+ "content-manager.ListViewTable.relation-loading": "關聯正在載入",
527
+ "content-manager.ListViewTable.relation-more": "此關聯包含的實體比已顯示的還多",
528
528
  "content-manager.EditRelations.title": "關聯式資料",
529
529
  "content-manager.HeaderLayout.button.label-add-entry": "新增項目",
530
530
  "content-manager.api.id": "API ID",
@@ -535,7 +535,7 @@
535
535
  "content-manager.components.DraggableCard.delete.field": "刪除 {item}",
536
536
  "content-manager.components.DraggableCard.edit.field": "編輯 {item}",
537
537
  "content-manager.components.DraggableCard.move.field": "移動 {item}",
538
- "content-manager.components.DynamicTable.row-line": "項 行 {number}",
538
+ "content-manager.components.ListViewTable.row-line": "項 行 {number}",
539
539
  "content-manager.components.DynamicZone.ComponentPicker-label": "選一個組件",
540
540
  "content-manager.components.DynamicZone.add-component": "新增組件到 {componentName}",
541
541
  "content-manager.components.DynamicZone.delete-label": "刪除 {name}",
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[1049],{39404:function(A,T,e){e.d(T,{Z:function(){return M}});var t=e(32735),y=e(82055),c=e(87933),o=e(41415),s=e(19565),a=e(66456),r=e(29439),f=e(60216),n=e.n(f),m=e(67879),u=e(44647),E=e(2160);const d=({onRegenerate:R,idToRegenerate:O,backUrl:L,onError:W})=>{const{formatMessage:i}=(0,m.Z)(),[K,B]=(0,t.useState)(!1),{regenerateData:U,isLoadingConfirmation:x}=(0,E.rW)(L,O,R,W),h=async()=>{U(),B(!1)};return t.createElement(t.Fragment,null,t.createElement(o.z,{startIcon:t.createElement(u.Z,null),type:"button",size:"S",variant:"tertiary",onClick:()=>B(!0),name:"regenerate"},i({id:"Settings.tokens.regenerate",defaultMessage:"Regenerate"})),t.createElement(s.QH,{bodyText:{id:"Settings.tokens.popUpWarning.message",defaultMessage:"Are you sure you want to regenerate this token?"},iconRightButton:t.createElement(u.Z,null),isConfirmButtonLoading:x,isOpen:K,onToggleDialog:()=>B(!1),onConfirm:h,leftButtonText:{id:"Settings.tokens.Button.cancel",defaultMessage:"Cancel"},rightButtonText:{id:"Settings.tokens.Button.regenerate",defaultMessage:"Regenerate"},title:{id:"Settings.tokens.RegenerateDialog.title",defaultMessage:"Regenerate token"}}))};d.defaultProps={onRegenerate(){},onError:void 0},d.propTypes={onRegenerate:n().func,idToRegenerate:n().oneOfType([n().number,n().string]).isRequired,backUrl:n().string.isRequired,onError:n().func};var g=d;const l=({title:R,token:O,setToken:L,canEditInputs:W,canRegenerate:i,isSubmitting:K,backUrl:B,regenerateUrl:U,onErrorRegenerate:x})=>{const{formatMessage:h}=(0,m.Z)(),z=j=>{L({...O,accessKey:j})};return t.createElement(y.T,{title:O?.name||h(R),primaryAction:W?t.createElement(c.k,{gap:2},i&&O?.id&&t.createElement(g,{backUrl:U,onRegenerate:z,idToRegenerate:O?.id,onError:x}),t.createElement(o.z,{disabled:K,loading:K,startIcon:t.createElement(a.Z,null),type:"submit",size:"S"},h({id:"global.save",defaultMessage:"Save"}))):i&&O?.id&&t.createElement(g,{onRegenerate:z,idToRegenerate:O?.id,backUrl:U}),navigationAction:t.createElement(s.rU,{startIcon:t.createElement(r.Z,null),to:B},h({id:"global.back",defaultMessage:"Back"})),ellipsis:!0})};l.propTypes={token:n().shape({id:n().oneOfType([n().number,n().string]),type:n().string,lifespan:n().oneOfType([n().number,n().string]),name:n().string,accessKey:n().string,permissions:n().array,description:n().string,createdAt:n().string}),canEditInputs:n().bool.isRequired,canRegenerate:n().bool.isRequired,setToken:n().func.isRequired,isSubmitting:n().bool.isRequired,backUrl:n().string.isRequired,title:n().shape({id:n().string,label:n().string}).isRequired,regenerateUrl:n().string.isRequired,onErrorRegenerate:n().func},l.defaultProps={token:void 0,onErrorRegenerate:void 0};var M=l},82505:function(A,T,e){var t=e(32735),y=e(68465),c=e(84967),o=e(49372),s=e(60216),a=e.n(s),r=e(67879),f=e(25652);const n=({token:m,errors:u,values:E,onChange:d,isCreating:g})=>{const{formatMessage:l}=(0,r.Z)();return t.createElement(t.Fragment,null,t.createElement(y.P,{name:"lifespan",label:l({id:"Settings.tokens.form.duration",defaultMessage:"Token duration"}),value:E.lifespan!==null?E.lifespan:"0",error:u.lifespan?l(u.lifespan?.id?u.lifespan:{id:u.lifespan,defaultMessage:u.lifespan}):null,onChange:M=>{d({target:{name:"lifespan",value:M}})},required:!0,disabled:!g,placeholder:"Select"},t.createElement(c.W,{value:"604800000"},l({id:"Settings.tokens.duration.7-days",defaultMessage:"7 days"})),t.createElement(c.W,{value:"2592000000"},l({id:"Settings.tokens.duration.30-days",defaultMessage:"30 days"})),t.createElement(c.W,{value:"7776000000"},l({id:"Settings.tokens.duration.90-days",defaultMessage:"90 days"})),t.createElement(c.W,{value:"0"},l({id:"Settings.tokens.duration.unlimited",defaultMessage:"Unlimited"}))),t.createElement(o.Z,{variant:"pi",textColor:"neutral600"},!g&&`${l({id:"Settings.tokens.duration.expiration-date",defaultMessage:"Expiration date"})}: ${(0,f.IX)(m?.createdAt,parseInt(E.lifespan,10))}`))};n.propTypes={errors:a().shape({lifespan:a().string}),onChange:a().func.isRequired,values:a().shape({lifespan:a().oneOfType([a().number,a().string])}).isRequired,isCreating:a().bool.isRequired,token:a().shape({id:a().oneOfType([a().number,a().string]),type:a().string,lifespan:a().string,name:a().string,accessKey:a().string,permissions:a().array,description:a().string,createdAt:a().string})},n.defaultProps={errors:{},token:{}},T.Z=n},7210:function(A,T,e){var t=e(32735),y=e(50563),c=e(19565),o=e(47765),s=e(11631),a=e(60216),r=e.n(a),f=e(67879);const n=({token:m,tokenType:u})=>{const{formatMessage:E}=(0,f.Z)(),d=(0,c.lm)(),{trackUsage:g}=(0,c.rS)(),{copy:l}=(0,c.VP)(),M=R=>async()=>{await l(R)&&(g("didCopyTokenKey",{tokenType:u}),d({type:"success",message:{id:"Settings.tokens.notification.copied"}}))};return t.createElement(c.Y_,{endAction:m&&t.createElement("span",{style:{alignSelf:"start"}},t.createElement(y.h,{label:E({id:"app.component.CopyToClipboard.label",defaultMessage:"Copy to clipboard"}),onClick:M(m),noBorder:!0,icon:t.createElement(o.Z,null),style:{padding:0,height:"1rem"}})),title:m||E({id:"Settings.tokens.copy.editTitle",defaultMessage:"This token isn\u2019t accessible anymore."}),subtitle:E(m?{id:"Settings.tokens.copy.lastWarning",defaultMessage:"Make sure to copy this token, you won\u2019t be able to see it again!"}:{id:"Settings.tokens.copy.editMessage",defaultMessage:"For security reasons, you can only see your token once."}),icon:t.createElement(s.Z,null),iconBackground:"neutral100"})};n.defaultProps={token:null},n.propTypes={token:r().string,tokenType:r().string.isRequired},T.Z=n},58380:function(A,T,e){var t=e(32735),y=e(33475),c=e(60216),o=e.n(c),s=e(67879);const a=({errors:r,values:f,onChange:n,canEditInputs:m})=>{const{formatMessage:u}=(0,s.Z)();return t.createElement(y.g,{label:u({id:"Settings.tokens.form.description",defaultMessage:"Description"}),id:"description",error:r.description?u(r.description?.id?r.description:{id:r.description,defaultMessage:r.description}):null,onChange:n,disabled:!m},f.description)};a.propTypes={errors:o().shape({description:o().string}),onChange:o().func.isRequired,canEditInputs:o().bool.isRequired,values:o().shape({description:o().string}).isRequired},a.defaultProps={errors:{}},T.Z=a},37823:function(A,T,e){var t=e(32735),y=e(10369),c=e(60216),o=e.n(c),s=e(67879);const a=({errors:r,values:f,onChange:n,canEditInputs:m})=>{const{formatMessage:u}=(0,s.Z)();return t.createElement(y.o,{name:"name",error:r.name?u(r.name?.id?r.name:{id:r.name,defaultMessage:r.name}):null,label:u({id:"Settings.tokens.form.name",defaultMessage:"Name"}),onChange:n,value:f.name,disabled:!m,required:!0})};a.propTypes={errors:o().shape({name:o().string}),onChange:o().func.isRequired,canEditInputs:o().bool.isRequired,values:o().shape({name:o().string}).isRequired},a.defaultProps={errors:{}},T.Z=a},32655:function(A,T,e){var t=e(32735),y=e(68465),c=e(84967),o=e(60216),s=e.n(o),a=e(67879);const r=({name:f,errors:n,values:m,onChange:u,canEditInputs:E,options:d,label:g})=>{const{formatMessage:l}=(0,a.Z)();return t.createElement(y.P,{name:f,label:l({id:g.id,defaultMessage:g.defaultMessage}),value:m&&m[f],error:n[f]?l(n[f]?.id?n[f]:{id:n[f],defaultMessage:n[f]}):null,onChange:u,placeholder:"Select",required:!0,disabled:!E},d&&d.map(({value:M,label:R})=>t.createElement(c.W,{key:M,value:M},l(R))))};r.propTypes={name:s().string,options:s().arrayOf(s().shape({label:s().shape({id:s().string,defaultMessage:s().string}),value:s().string})),errors:s().shape({type:s().string}),onChange:s().func.isRequired,canEditInputs:s().bool.isRequired,values:s().shape({type:s().string}).isRequired,label:s().shape({id:s().string,defaultMessage:s().string}).isRequired},r.defaultProps={name:"type",errors:{},options:[]},T.Z=r},49756:function(A,T,e){e.d(T,{Z:function(){return t},f:function(){return y}});const t="api-token",y="transfer-token"},25652:function(A,T,e){e.d(T,{IX:function(){return s},fK:function(){return n},mk:function(){return u}});var t=e(14723),y=e(85544),c=e(76698),s=(E,d,g="en")=>{if(d&&typeof d=="number"){const l=d/24/60/60/1e3;return(0,t.Z)((0,y.Z)(new Date(E),l),"PPP",{locale:c[g]})}return"Unlimited"},a=e(19565),r=e(24346),n=r.Ry().shape({name:r.Z_(a.I0.string).max(100).required(a.I0.required),type:r.Z_(a.I0.string).oneOf(["read-only","full-access","custom"]).required(a.I0.required),description:r.Z_().nullable(),lifespan:r.Rx().integer().min(0).nullable().defined(a.I0.required)}),u=E=>{const d={allActionsIds:[],permissions:[]};return d.permissions=Object.keys(E).map(g=>({apiId:g,label:g.split("::")[1],controllers:Object.keys(E[g].controllers).map(l=>({controller:l,actions:E[g].controllers[l].map(M=>{const R=`${g}.${l}.${M}`;return g.includes("api::")&&d.allActionsIds.push(R),{action:M,actionId:R}}).flat()})).flat()})),d}},1930:function(A,T,e){e.d(T,{Z:function(){return ne}});var t=e(32735),y=e(27649),c=e(17e3),o=e(87933),s=e(19565),a=e(92802),r=e(67879),f=e(20108),n=e(15062),m=e(53038),u=e(86209),E=e(30305),d=e(49756),g=e(39404),l=e(7210),M=e(72850),R=e(49372),O=e(15335),L=e(5803),W=e(60216),i=e.n(W),K=e(82505),B=e(58380),U=e(37823),x=e(32655);const h=({errors:C,onChange:k,canEditInputs:Z,isCreating:D,values:S,transferToken:v})=>{const{formatMessage:F}=(0,r.Z)(),Q=[{value:"push",label:{id:"Settings.transferTokens.types.push",defaultMessage:"Push"}},{value:"pull",label:{id:"Settings.transferTokens.types.pull",defaultMessage:"Pull"}},{value:"push-pull",label:{id:"Settings.transferTokens.types.push-pull",defaultMessage:"Full Access"}}];return t.createElement(M.x,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},t.createElement(o.k,{direction:"column",alignItems:"stretch",gap:4},t.createElement(R.Z,{variant:"delta",as:"h2"},F({id:"global.details",defaultMessage:"Details"})),t.createElement(O.r,{gap:5},t.createElement(L.P,{key:"name",col:6,xs:12},t.createElement(U.Z,{errors:C,values:S,canEditInputs:Z,onChange:k})),t.createElement(L.P,{key:"description",col:6,xs:12},t.createElement(B.Z,{errors:C,values:S,canEditInputs:Z,onChange:k})),t.createElement(L.P,{key:"lifespan",col:6,xs:12},t.createElement(K.Z,{isCreating:D,errors:C,values:S,onChange:k,token:v})),t.createElement(L.P,{key:"permissions",col:6,xs:12},t.createElement(x.Z,{name:"permissions",values:S,errors:C,label:{id:"Settings.tokens.form.type",defaultMessage:"Token type"},onChange:V=>{k({target:{name:"permissions",value:V}})},options:Q,canEditInputs:Z})))))};h.propTypes={errors:i().shape({name:i().string,description:i().string,lifespan:i().string,type:i().string}),onChange:i().func.isRequired,canEditInputs:i().bool.isRequired,values:i().shape({name:i().string,description:i().string,lifespan:i().oneOfType([i().number,i().string]),type:i().string}).isRequired,isCreating:i().bool.isRequired,transferToken:i().shape({id:i().oneOfType([i().number,i().string]),type:i().string,lifespan:i().string,name:i().string,accessKey:i().string,permissions:i().array,description:i().string,createdAt:i().string})},h.defaultProps={errors:{},transferToken:{}};var z=h,j=e(82055),_=e(41415),q=e(66456);const G=({transferTokenName:C})=>{const{formatMessage:k}=(0,r.Z)();return(0,s.go)(),t.createElement(y.o,{"aria-busy":"true"},t.createElement(s.SL,{name:"Transfer Tokens"}),t.createElement(j.T,{primaryAction:t.createElement(_.z,{disabled:!0,startIcon:t.createElement(q.Z,null),type:"button",size:"L"},k({id:"global.save",defaultMessage:"Save"})),title:C||k({id:"Settings.transferTokens.createPage.title",defaultMessage:"Create Transfer Token"})}),t.createElement(c.D,null,t.createElement(s.dO,null)))};G.defaultProps={transferTokenName:null},G.propTypes={transferTokenName:i().string};var w=G,N=e(24346),ee=N.Ry().shape({name:N.Z_(s.I0.string).max(100).required(s.I0.required),description:N.Z_().nullable(),lifespan:N.Rx().integer().min(0).nullable().defined(s.I0.required),permissions:N.Z_(s.I0.string).required(s.I0.required)});const te="Name already taken";var ne=()=>{(0,s.go)();const{formatMessage:C}=(0,r.Z)(),{lockApp:k,unlockApp:Z}=(0,s.o1)(),D=(0,s.lm)(),S=(0,m.k6)(),[v,F]=(0,t.useState)(S.location.state?.transferToken.accessKey?{...S.location.state.transferToken}:null),{trackUsage:Q}=(0,s.rS)(),V=(0,t.useRef)(Q),{setCurrentStep:se}=(0,s.c1)(),ae=(0,n.v9)(E._),{allowedActions:{canCreate:re,canUpdate:ie,canRegenerate:oe}}=(0,s.ss)(ae.settings["transfer-tokens"]),{params:{id:Y}}=(0,m.$B)("/settings/transfer-tokens/:id"),{get:le,post:de,put:ce}=(0,s.kY)(),P=Y==="create",{formatAPIError:J}=(0,s.So)();(0,t.useEffect)(()=>{V.current(P?"didAddTokenFromList":"didEditTokenFromList",{tokenType:d.f})},[P]);const{status:ue}=(0,f.useQuery)(["transfer-token",Y],async()=>{const{data:{data:p}}=await le(`/admin/transfer/tokens/${Y}`);return F({...p}),p},{enabled:!P&&!v,onError(p){p.response.data.error.details?.code==="INVALID_TOKEN_SALT"?D({type:"warning",message:{id:"notification.error.invalid.configuration",defaultMessage:"You have an invalid configuration, check your server log for more information."}}):D({type:"warning",message:J(p)})}}),ge=async(p,$)=>{V.current(P?"willCreateToken":"willEditToken",{tokenType:d.f}),k();const X=p.lifespan&&parseInt(p.lifespan,10)&&p.lifespan!=="0"?parseInt(p.lifespan,10):null,H=p.permissions.split("-");try{const{data:{data:I}}=P?await de("/admin/transfer/tokens",{...p,lifespan:X,permissions:H}):await ce(`/admin/transfer/tokens/${Y}`,{name:p.name,description:p.description,permissions:H});Z(),P&&(S.replace(`/settings/transfer-tokens/${I.id}`,{transferToken:I}),se("transferTokens.success")),F({...I}),D({type:"success",message:C(P?{id:"notification.success.transfertokencreated",defaultMessage:"Transfer Token successfully created"}:{id:"notification.success.transfertokenedited",defaultMessage:"Transfer Token successfully edited"})}),V.current(P?"didCreateToken":"didEditToken",{type:v?.permissions,tokenType:d.f})}catch(I){const fe=(0,u.Iz)(I.response.data);$.setErrors(fe),I?.response?.data?.error?.message===te?D({type:"warning",message:I.response.data.message||"notification.error.tokennamenotunique"}):I?.response?.data?.error?.details?.code==="INVALID_TOKEN_SALT"?D({type:"warning",message:{id:"notification.error.invalid.configuration",defaultMessage:"You have an invalid configuration, check your server log for more information."}}):D({type:"warning",message:I?.response?.data?.message||"notification.error"}),Z()}},b=ie&&!P||re&&P;if(!P&&!v&&ue!=="success")return t.createElement(w,{transferTokenName:v?.name});const pe=p=>{p?.response?.data?.error?.details?.code==="INVALID_TOKEN_SALT"?D({type:"warning",message:{id:"notification.error.invalid.configuration",defaultMessage:"You have an invalid configuration, check your server log for more information."}}):D({type:"warning",message:J(p)})};return t.createElement(y.o,null,t.createElement(s.SL,{name:"Transfer Tokens"}),t.createElement(a.J9,{validationSchema:ee,validateOnChange:!1,initialValues:{name:v?.name||"",description:v?.description||"",lifespan:v?.lifespan?v.lifespan.toString():v?.lifespan,permissions:v?.permissions.join("-")},enableReinitialize:!0,onSubmit:(p,$)=>ge(p,$)},({errors:p,handleChange:$,isSubmitting:X,values:H})=>t.createElement(s.l0,null,t.createElement(g.Z,{backUrl:"/settings/transfer-tokens",title:{id:"Settings.transferTokens.createPage.title",defaultMessage:"Create Transfer Token"},token:v,setToken:F,canEditInputs:b,canRegenerate:oe,isSubmitting:X,regenerateUrl:"/admin/transfer/tokens/",onErrorRegenerate:pe}),t.createElement(c.D,null,t.createElement(o.k,{direction:"column",alignItems:"stretch",gap:6},Boolean(v?.name)&&t.createElement(l.Z,{token:v?.accessKey,tokenType:d.f}),t.createElement(z,{errors:p,onChange:$,canEditInputs:b,isCreating:P,values:H,transferToken:v}))))))}}}]);
@@ -1,4 +1,4 @@
1
- (self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[3528],{53528:function(R,m,c){"use strict";c.r(m),c.d(m,{ROUTES_EE:function(){return t}});var u=c(32735),a=c(19565),l=c(49189),d=c.n(l),h=c(67879),n=c(53038),r=c(8997);const g=()=>{const{params:{authResponse:o}}=(0,n.$B)("/auth/login/:authResponse"),{formatMessage:e}=(0,h.Z)(),{push:f}=(0,n.k6)(),p=(0,u.useRef)(e);let i=(0,u.useCallback)(()=>{f(`/auth/oops?info=${encodeURIComponent(p.current({id:"Auth.form.button.login.providers.error",defaultMessage:"We cannot connect you through the selected provider."}))}`)},[f]);const{get:s}=(0,a.kY)(),v=(0,u.useCallback)(async()=>{try{const E=d().get("jwtToken");if(a.I8.clearAppStorage(),E){a.I8.setToken(E,!0);const I=(0,r.IF)("users/me"),{data:{data:A}}=await s(I);a.I8.setUserInfo(A,!0),d().remove("jwtToken"),f("/auth/login")}}catch{i()}},[s,f,i]);return(0,u.useEffect)(()=>{o==="error"&&i(),o==="success"&&v()},[o,v,i]),u.createElement(a.dO,null)};var C=null;const t=[{Component:()=>({default:g}),to:"/auth/login/:authResponse",exact:!0}]},49189:function(R,m,c){var u,a;/*!
1
+ (self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[1386],{31386:function(R,m,c){"use strict";c.r(m),c.d(m,{ROUTES_EE:function(){return t}});var u=c(32735),a=c(19565),l=c(49189),d=c.n(l),h=c(67879),n=c(53038),r=c(86209);const g=()=>{const{params:{authResponse:o}}=(0,n.$B)("/auth/login/:authResponse"),{formatMessage:e}=(0,h.Z)(),{push:f}=(0,n.k6)(),p=(0,u.useRef)(e);let i=(0,u.useCallback)(()=>{f(`/auth/oops?info=${encodeURIComponent(p.current({id:"Auth.form.button.login.providers.error",defaultMessage:"We cannot connect you through the selected provider."}))}`)},[f]);const{get:s}=(0,a.kY)(),v=(0,u.useCallback)(async()=>{try{const E=d().get("jwtToken");if(a.I8.clearAppStorage(),E){a.I8.setToken(E,!0);const I=(0,r.IF)("users/me"),{data:{data:A}}=await s(I);a.I8.setUserInfo(A,!0),d().remove("jwtToken"),f("/auth/login")}}catch{i()}},[s,f,i]);return(0,u.useEffect)(()=>{o==="error"&&i(),o==="success"&&v()},[o,v,i]),u.createElement(a.dO,null)};var C=null;const t=[{Component:()=>({default:g}),to:"/auth/login/:authResponse",exact:!0}]},49189:function(R,m,c){var u,a;/*!
2
2
  * JavaScript Cookie v2.2.1
3
3
  * https://github.com/js-cookie/js-cookie
4
4
  *
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[1727],{81727:function(E,s,n){n.r(s),n.d(s,{MagicLinkEE:function(){return t}});var a=n(32735),_=n(60216),c=n.n(_),g=n(67879),e=n(35231),i=n(84024);const t=({registrationToken:o})=>{const{formatMessage:r}=(0,g.Z)();return o?a.createElement(i.Z,{target:`${window.location.origin}${e.Z}auth/register?registrationToken=${o}`},r({id:"app.components.Users.MagicLink.connect",defaultMessage:"Copy and share this link to give access to this user"})):a.createElement(i.Z,{target:`${window.location.origin}${e.Z}auth/login`},r({id:"app.components.Users.MagicLink.connect.sso",defaultMessage:"Send this link to the user, the first login can be made via a SSO provider."}))};t.defaultProps={registrationToken:""},t.propTypes={registrationToken:c().string}}}]);
@@ -1,4 +1,4 @@
1
- (self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[5563],{30493:function(C,m,e){"use strict";e.d(m,{Z:function(){return M}});var t=e(32735),u=e(82055),r=e(87933),o=e(41415),a=e(19565),i=e(66456),d=e(29439),v=e(60216),s=e.n(v),y=e(67879),h=e(44647),n=e(10328);const g=({onRegenerate:P,idToRegenerate:I,backUrl:K,onError:N})=>{const{formatMessage:k}=(0,y.Z)(),[A,B]=(0,t.useState)(!1),{regenerateData:R,isLoadingConfirmation:H}=(0,n.rW)(K,I,P,N),Z=async()=>{R(),B(!1)};return t.createElement(t.Fragment,null,t.createElement(o.z,{startIcon:t.createElement(h.Z,null),type:"button",size:"S",variant:"tertiary",onClick:()=>B(!0),name:"regenerate"},k({id:"Settings.tokens.regenerate",defaultMessage:"Regenerate"})),t.createElement(a.QH,{bodyText:{id:"Settings.tokens.popUpWarning.message",defaultMessage:"Are you sure you want to regenerate this token?"},iconRightButton:t.createElement(h.Z,null),isConfirmButtonLoading:H,isOpen:A,onToggleDialog:()=>B(!1),onConfirm:Z,leftButtonText:{id:"Settings.tokens.Button.cancel",defaultMessage:"Cancel"},rightButtonText:{id:"Settings.tokens.Button.regenerate",defaultMessage:"Regenerate"},title:{id:"Settings.tokens.RegenerateDialog.title",defaultMessage:"Regenerate token"}}))};g.defaultProps={onRegenerate(){},onError:void 0},g.propTypes={onRegenerate:s().func,idToRegenerate:s().oneOfType([s().number,s().string]).isRequired,backUrl:s().string.isRequired,onError:s().func};var l=g;const c=({title:P,token:I,setToken:K,canEditInputs:N,canRegenerate:k,isSubmitting:A,backUrl:B,regenerateUrl:R,onErrorRegenerate:H})=>{const{formatMessage:Z}=(0,y.Z)(),Y=Q=>{K({...I,accessKey:Q})};return t.createElement(u.T,{title:I?.name||Z(P),primaryAction:N?t.createElement(r.k,{gap:2},k&&I?.id&&t.createElement(l,{backUrl:R,onRegenerate:Y,idToRegenerate:I?.id,onError:H}),t.createElement(o.z,{disabled:A,loading:A,startIcon:t.createElement(i.Z,null),type:"submit",size:"S"},Z({id:"global.save",defaultMessage:"Save"}))):k&&I?.id&&t.createElement(l,{onRegenerate:Y,idToRegenerate:I?.id,backUrl:R}),navigationAction:t.createElement(a.rU,{startIcon:t.createElement(d.Z,null),to:B},Z({id:"global.back",defaultMessage:"Back"})),ellipsis:!0})};c.propTypes={token:s().shape({id:s().oneOfType([s().number,s().string]),type:s().string,lifespan:s().oneOfType([s().number,s().string]),name:s().string,accessKey:s().string,permissions:s().array,description:s().string,createdAt:s().string}),canEditInputs:s().bool.isRequired,canRegenerate:s().bool.isRequired,setToken:s().func.isRequired,isSubmitting:s().bool.isRequired,backUrl:s().string.isRequired,title:s().shape({id:s().string,label:s().string}).isRequired,regenerateUrl:s().string.isRequired,onErrorRegenerate:s().func},c.defaultProps={token:void 0,onErrorRegenerate:void 0};var M=c},4321:function(C,m,e){"use strict";var t=e(32735),u=e(68465),r=e(84967),o=e(49372),a=e(60216),i=e.n(a),d=e(67879),v=e(37944);const s=({token:y,errors:h,values:n,onChange:g,isCreating:l})=>{const{formatMessage:c}=(0,d.Z)();return t.createElement(t.Fragment,null,t.createElement(u.P,{name:"lifespan",label:c({id:"Settings.tokens.form.duration",defaultMessage:"Token duration"}),value:n.lifespan!==null?n.lifespan:"0",error:h.lifespan?c(h.lifespan?.id?h.lifespan:{id:h.lifespan,defaultMessage:h.lifespan}):null,onChange:M=>{g({target:{name:"lifespan",value:M}})},required:!0,disabled:!l,placeholder:"Select"},t.createElement(r.W,{value:"604800000"},c({id:"Settings.tokens.duration.7-days",defaultMessage:"7 days"})),t.createElement(r.W,{value:"2592000000"},c({id:"Settings.tokens.duration.30-days",defaultMessage:"30 days"})),t.createElement(r.W,{value:"7776000000"},c({id:"Settings.tokens.duration.90-days",defaultMessage:"90 days"})),t.createElement(r.W,{value:"0"},c({id:"Settings.tokens.duration.unlimited",defaultMessage:"Unlimited"}))),t.createElement(o.Z,{variant:"pi",textColor:"neutral600"},!l&&`${c({id:"Settings.tokens.duration.expiration-date",defaultMessage:"Expiration date"})}: ${(0,v.IX)(y?.createdAt,parseInt(n.lifespan,10))}`))};s.propTypes={errors:i().shape({lifespan:i().string}),onChange:i().func.isRequired,values:i().shape({lifespan:i().oneOfType([i().number,i().string])}).isRequired,isCreating:i().bool.isRequired,token:i().shape({id:i().oneOfType([i().number,i().string]),type:i().string,lifespan:i().string,name:i().string,accessKey:i().string,permissions:i().array,description:i().string,createdAt:i().string})},s.defaultProps={errors:{},token:{}},m.Z=s},93682:function(C,m,e){"use strict";var t=e(32735),u=e(50563),r=e(19565),o=e(47765),a=e(11631),i=e(60216),d=e.n(i),v=e(67879);const s=({token:y,tokenType:h})=>{const{formatMessage:n}=(0,v.Z)(),g=(0,r.lm)(),{trackUsage:l}=(0,r.rS)(),{copy:c}=(0,r.VP)(),M=P=>async()=>{await c(P)&&(l("didCopyTokenKey",{tokenType:h}),g({type:"success",message:{id:"Settings.tokens.notification.copied"}}))};return t.createElement(r.Y_,{endAction:y&&t.createElement("span",{style:{alignSelf:"start"}},t.createElement(u.h,{label:n({id:"app.component.CopyToClipboard.label",defaultMessage:"Copy to clipboard"}),onClick:M(y),noBorder:!0,icon:t.createElement(o.Z,null),style:{padding:0,height:"1rem"}})),title:y||n({id:"Settings.tokens.copy.editTitle",defaultMessage:"This token isn\u2019t accessible anymore."}),subtitle:n(y?{id:"Settings.tokens.copy.lastWarning",defaultMessage:"Make sure to copy this token, you won\u2019t be able to see it again!"}:{id:"Settings.tokens.copy.editMessage",defaultMessage:"For security reasons, you can only see your token once."}),icon:t.createElement(a.Z,null),iconBackground:"neutral100"})};s.defaultProps={token:null},s.propTypes={token:d().string,tokenType:d().string.isRequired},m.Z=s},42789:function(C,m,e){"use strict";var t=e(32735),u=e(33475),r=e(60216),o=e.n(r),a=e(67879);const i=({errors:d,values:v,onChange:s,canEditInputs:y})=>{const{formatMessage:h}=(0,a.Z)();return t.createElement(u.g,{label:h({id:"Settings.tokens.form.description",defaultMessage:"Description"}),id:"description",error:d.description?h(d.description?.id?d.description:{id:d.description,defaultMessage:d.description}):null,onChange:s,disabled:!y},v.description)};i.propTypes={errors:o().shape({description:o().string}),onChange:o().func.isRequired,canEditInputs:o().bool.isRequired,values:o().shape({description:o().string}).isRequired},i.defaultProps={errors:{}},m.Z=i},8377:function(C,m,e){"use strict";var t=e(32735),u=e(10369),r=e(60216),o=e.n(r),a=e(67879);const i=({errors:d,values:v,onChange:s,canEditInputs:y})=>{const{formatMessage:h}=(0,a.Z)();return t.createElement(u.o,{name:"name",error:d.name?h(d.name?.id?d.name:{id:d.name,defaultMessage:d.name}):null,label:h({id:"Settings.tokens.form.name",defaultMessage:"Name"}),onChange:s,value:v.name,disabled:!y,required:!0})};i.propTypes={errors:o().shape({name:o().string}),onChange:o().func.isRequired,canEditInputs:o().bool.isRequired,values:o().shape({name:o().string}).isRequired},i.defaultProps={errors:{}},m.Z=i},49638:function(C,m,e){"use strict";var t=e(32735),u=e(68465),r=e(84967),o=e(60216),a=e.n(o),i=e(67879);const d=({name:v,errors:s,values:y,onChange:h,canEditInputs:n,options:g,label:l})=>{const{formatMessage:c}=(0,i.Z)();return t.createElement(u.P,{name:v,label:c({id:l.id,defaultMessage:l.defaultMessage}),value:y&&y[v],error:s[v]?c(s[v]?.id?s[v]:{id:s[v],defaultMessage:s[v]}):null,onChange:h,placeholder:"Select",required:!0,disabled:!n},g&&g.map(({value:M,label:P})=>t.createElement(r.W,{key:M,value:M},c(P))))};d.propTypes={name:a().string,options:a().arrayOf(a().shape({label:a().shape({id:a().string,defaultMessage:a().string}),value:a().string})),errors:a().shape({type:a().string}),onChange:a().func.isRequired,canEditInputs:a().bool.isRequired,values:a().shape({type:a().string}).isRequired,label:a().shape({id:a().string,defaultMessage:a().string}).isRequired},d.defaultProps={name:"type",errors:{},options:[]},m.Z=d},68774:function(C,m,e){"use strict";e.d(m,{Z:function(){return t},f:function(){return u}});const t="api-token",u="transfer-token"},35563:function(C,m,e){"use strict";e.d(m,{Z:function(){return Ge}});var t=e(32735),u=e(27649),r=e(17e3),o=e(87933),a=e(19565),i=e(92802),d=e(67879),v=e(20108),s=e(15062),y=e(53038),h=e(60216),n=e.n(h);const g=(0,t.createContext)({}),l=({children:p,...E})=>t.createElement(g.Provider,{value:E},p),c=()=>(0,t.useContext)(g);l.propTypes={children:n().node.isRequired};var M=e(8997),P=e(78125),I=e(68774),K=e(30493),N=e(93682),k=e(72850),A=e(49372),B=e(15335),R=e(5803),H=e(4321),Z=e(42789),Y=e(8377),Q=e(49638);const J=({errors:p,onChange:E,canEditInputs:f,isCreating:D,values:x,apiToken:S,onDispatch:O,setHasChangedPermissions:V})=>{const{formatMessage:j}=(0,d.Z)(),F=({target:{value:z}})=>{V(!1),z==="full-access"&&O({type:"SELECT_ALL_ACTIONS"}),z==="read-only"&&O({type:"ON_CHANGE_READ_ONLY"})},w=[{value:"read-only",label:{id:"Settings.tokens.types.read-only",defaultMessage:"Read-only"}},{value:"full-access",label:{id:"Settings.tokens.types.full-access",defaultMessage:"Full access"}},{value:"custom",label:{id:"Settings.tokens.types.custom",defaultMessage:"Custom"}}];return t.createElement(k.x,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},t.createElement(o.k,{direction:"column",alignItems:"stretch",gap:4},t.createElement(A.Z,{variant:"delta",as:"h2"},j({id:"global.details",defaultMessage:"Details"})),t.createElement(B.r,{gap:5},t.createElement(R.P,{key:"name",col:6,xs:12},t.createElement(Y.Z,{errors:p,values:x,canEditInputs:f,onChange:E})),t.createElement(R.P,{key:"description",col:6,xs:12},t.createElement(Z.Z,{errors:p,values:x,canEditInputs:f,onChange:E})),t.createElement(R.P,{key:"lifespan",col:6,xs:12},t.createElement(H.Z,{isCreating:D,errors:p,values:x,onChange:E,token:S})),t.createElement(R.P,{key:"type",col:6,xs:12},t.createElement(Q.Z,{values:x,errors:p,label:{id:"Settings.tokens.form.type",defaultMessage:"Token type"},onChange:z=>{F({target:{value:z}}),E({target:{name:"type",value:z}})},options:w,canEditInputs:f})))))};J.propTypes={errors:n().shape({name:n().string,description:n().string,lifespan:n().string,type:n().string}),onChange:n().func.isRequired,canEditInputs:n().bool.isRequired,values:n().shape({name:n().string,description:n().string,lifespan:n().oneOfType([n().number,n().string]),type:n().string}).isRequired,isCreating:n().bool.isRequired,apiToken:n().shape({id:n().oneOfType([n().number,n().string]),type:n().string,lifespan:n().string,name:n().string,accessKey:n().string,permissions:n().array,description:n().string,createdAt:n().string}),onDispatch:n().func.isRequired,setHasChangedPermissions:n().func.isRequired},J.defaultProps={errors:{},apiToken:{}};var X=J,ne=e(82055),le=e(41415),de=e(66456);const _=({apiTokenName:p})=>{const{formatMessage:E}=(0,d.Z)();return(0,a.go)(),t.createElement(u.o,{"aria-busy":"true"},t.createElement(a.SL,{name:"API Tokens"}),t.createElement(ne.T,{primaryAction:t.createElement(le.z,{disabled:!0,startIcon:t.createElement(de.Z,null),type:"button",size:"L"},E({id:"global.save",defaultMessage:"Save"})),title:p||E({id:"Settings.apiTokens.createPage.title",defaultMessage:"Create API Token"})}),t.createElement(r.D,null,t.createElement(a.dO,null)))};_.defaultProps={apiTokenName:null},_.propTypes={apiTokenName:n().string};var ce=_,se=e(37213),ae=e.n(se),oe=e(15738),Me=e.n(oe),re=e(8471),Ae=p=>{switch(p){case"POST":return{text:"success600",border:"success200",background:"success100"};case"GET":return{text:"secondary600",border:"secondary200",background:"secondary100"};case"PUT":return{text:"warning600",border:"warning200",background:"warning100"};case"DELETE":return{text:"danger600",border:"danger200",background:"danger100"};default:return{text:"neutral600",border:"neutral200",background:"neutral100"}}};const xe=(0,re.ZP)(k.x)`
1
+ (self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[2225],{39404:function(C,m,e){"use strict";e.d(m,{Z:function(){return M}});var t=e(32735),u=e(82055),r=e(87933),o=e(41415),a=e(19565),i=e(66456),d=e(29439),v=e(60216),s=e.n(v),y=e(67879),h=e(44647),n=e(2160);const g=({onRegenerate:P,idToRegenerate:I,backUrl:K,onError:N})=>{const{formatMessage:k}=(0,y.Z)(),[A,B]=(0,t.useState)(!1),{regenerateData:R,isLoadingConfirmation:H}=(0,n.rW)(K,I,P,N),Z=async()=>{R(),B(!1)};return t.createElement(t.Fragment,null,t.createElement(o.z,{startIcon:t.createElement(h.Z,null),type:"button",size:"S",variant:"tertiary",onClick:()=>B(!0),name:"regenerate"},k({id:"Settings.tokens.regenerate",defaultMessage:"Regenerate"})),t.createElement(a.QH,{bodyText:{id:"Settings.tokens.popUpWarning.message",defaultMessage:"Are you sure you want to regenerate this token?"},iconRightButton:t.createElement(h.Z,null),isConfirmButtonLoading:H,isOpen:A,onToggleDialog:()=>B(!1),onConfirm:Z,leftButtonText:{id:"Settings.tokens.Button.cancel",defaultMessage:"Cancel"},rightButtonText:{id:"Settings.tokens.Button.regenerate",defaultMessage:"Regenerate"},title:{id:"Settings.tokens.RegenerateDialog.title",defaultMessage:"Regenerate token"}}))};g.defaultProps={onRegenerate(){},onError:void 0},g.propTypes={onRegenerate:s().func,idToRegenerate:s().oneOfType([s().number,s().string]).isRequired,backUrl:s().string.isRequired,onError:s().func};var l=g;const c=({title:P,token:I,setToken:K,canEditInputs:N,canRegenerate:k,isSubmitting:A,backUrl:B,regenerateUrl:R,onErrorRegenerate:H})=>{const{formatMessage:Z}=(0,y.Z)(),Y=Q=>{K({...I,accessKey:Q})};return t.createElement(u.T,{title:I?.name||Z(P),primaryAction:N?t.createElement(r.k,{gap:2},k&&I?.id&&t.createElement(l,{backUrl:R,onRegenerate:Y,idToRegenerate:I?.id,onError:H}),t.createElement(o.z,{disabled:A,loading:A,startIcon:t.createElement(i.Z,null),type:"submit",size:"S"},Z({id:"global.save",defaultMessage:"Save"}))):k&&I?.id&&t.createElement(l,{onRegenerate:Y,idToRegenerate:I?.id,backUrl:R}),navigationAction:t.createElement(a.rU,{startIcon:t.createElement(d.Z,null),to:B},Z({id:"global.back",defaultMessage:"Back"})),ellipsis:!0})};c.propTypes={token:s().shape({id:s().oneOfType([s().number,s().string]),type:s().string,lifespan:s().oneOfType([s().number,s().string]),name:s().string,accessKey:s().string,permissions:s().array,description:s().string,createdAt:s().string}),canEditInputs:s().bool.isRequired,canRegenerate:s().bool.isRequired,setToken:s().func.isRequired,isSubmitting:s().bool.isRequired,backUrl:s().string.isRequired,title:s().shape({id:s().string,label:s().string}).isRequired,regenerateUrl:s().string.isRequired,onErrorRegenerate:s().func},c.defaultProps={token:void 0,onErrorRegenerate:void 0};var M=c},82505:function(C,m,e){"use strict";var t=e(32735),u=e(68465),r=e(84967),o=e(49372),a=e(60216),i=e.n(a),d=e(67879),v=e(25652);const s=({token:y,errors:h,values:n,onChange:g,isCreating:l})=>{const{formatMessage:c}=(0,d.Z)();return t.createElement(t.Fragment,null,t.createElement(u.P,{name:"lifespan",label:c({id:"Settings.tokens.form.duration",defaultMessage:"Token duration"}),value:n.lifespan!==null?n.lifespan:"0",error:h.lifespan?c(h.lifespan?.id?h.lifespan:{id:h.lifespan,defaultMessage:h.lifespan}):null,onChange:M=>{g({target:{name:"lifespan",value:M}})},required:!0,disabled:!l,placeholder:"Select"},t.createElement(r.W,{value:"604800000"},c({id:"Settings.tokens.duration.7-days",defaultMessage:"7 days"})),t.createElement(r.W,{value:"2592000000"},c({id:"Settings.tokens.duration.30-days",defaultMessage:"30 days"})),t.createElement(r.W,{value:"7776000000"},c({id:"Settings.tokens.duration.90-days",defaultMessage:"90 days"})),t.createElement(r.W,{value:"0"},c({id:"Settings.tokens.duration.unlimited",defaultMessage:"Unlimited"}))),t.createElement(o.Z,{variant:"pi",textColor:"neutral600"},!l&&`${c({id:"Settings.tokens.duration.expiration-date",defaultMessage:"Expiration date"})}: ${(0,v.IX)(y?.createdAt,parseInt(n.lifespan,10))}`))};s.propTypes={errors:i().shape({lifespan:i().string}),onChange:i().func.isRequired,values:i().shape({lifespan:i().oneOfType([i().number,i().string])}).isRequired,isCreating:i().bool.isRequired,token:i().shape({id:i().oneOfType([i().number,i().string]),type:i().string,lifespan:i().string,name:i().string,accessKey:i().string,permissions:i().array,description:i().string,createdAt:i().string})},s.defaultProps={errors:{},token:{}},m.Z=s},7210:function(C,m,e){"use strict";var t=e(32735),u=e(50563),r=e(19565),o=e(47765),a=e(11631),i=e(60216),d=e.n(i),v=e(67879);const s=({token:y,tokenType:h})=>{const{formatMessage:n}=(0,v.Z)(),g=(0,r.lm)(),{trackUsage:l}=(0,r.rS)(),{copy:c}=(0,r.VP)(),M=P=>async()=>{await c(P)&&(l("didCopyTokenKey",{tokenType:h}),g({type:"success",message:{id:"Settings.tokens.notification.copied"}}))};return t.createElement(r.Y_,{endAction:y&&t.createElement("span",{style:{alignSelf:"start"}},t.createElement(u.h,{label:n({id:"app.component.CopyToClipboard.label",defaultMessage:"Copy to clipboard"}),onClick:M(y),noBorder:!0,icon:t.createElement(o.Z,null),style:{padding:0,height:"1rem"}})),title:y||n({id:"Settings.tokens.copy.editTitle",defaultMessage:"This token isn\u2019t accessible anymore."}),subtitle:n(y?{id:"Settings.tokens.copy.lastWarning",defaultMessage:"Make sure to copy this token, you won\u2019t be able to see it again!"}:{id:"Settings.tokens.copy.editMessage",defaultMessage:"For security reasons, you can only see your token once."}),icon:t.createElement(a.Z,null),iconBackground:"neutral100"})};s.defaultProps={token:null},s.propTypes={token:d().string,tokenType:d().string.isRequired},m.Z=s},58380:function(C,m,e){"use strict";var t=e(32735),u=e(33475),r=e(60216),o=e.n(r),a=e(67879);const i=({errors:d,values:v,onChange:s,canEditInputs:y})=>{const{formatMessage:h}=(0,a.Z)();return t.createElement(u.g,{label:h({id:"Settings.tokens.form.description",defaultMessage:"Description"}),id:"description",error:d.description?h(d.description?.id?d.description:{id:d.description,defaultMessage:d.description}):null,onChange:s,disabled:!y},v.description)};i.propTypes={errors:o().shape({description:o().string}),onChange:o().func.isRequired,canEditInputs:o().bool.isRequired,values:o().shape({description:o().string}).isRequired},i.defaultProps={errors:{}},m.Z=i},37823:function(C,m,e){"use strict";var t=e(32735),u=e(10369),r=e(60216),o=e.n(r),a=e(67879);const i=({errors:d,values:v,onChange:s,canEditInputs:y})=>{const{formatMessage:h}=(0,a.Z)();return t.createElement(u.o,{name:"name",error:d.name?h(d.name?.id?d.name:{id:d.name,defaultMessage:d.name}):null,label:h({id:"Settings.tokens.form.name",defaultMessage:"Name"}),onChange:s,value:v.name,disabled:!y,required:!0})};i.propTypes={errors:o().shape({name:o().string}),onChange:o().func.isRequired,canEditInputs:o().bool.isRequired,values:o().shape({name:o().string}).isRequired},i.defaultProps={errors:{}},m.Z=i},32655:function(C,m,e){"use strict";var t=e(32735),u=e(68465),r=e(84967),o=e(60216),a=e.n(o),i=e(67879);const d=({name:v,errors:s,values:y,onChange:h,canEditInputs:n,options:g,label:l})=>{const{formatMessage:c}=(0,i.Z)();return t.createElement(u.P,{name:v,label:c({id:l.id,defaultMessage:l.defaultMessage}),value:y&&y[v],error:s[v]?c(s[v]?.id?s[v]:{id:s[v],defaultMessage:s[v]}):null,onChange:h,placeholder:"Select",required:!0,disabled:!n},g&&g.map(({value:M,label:P})=>t.createElement(r.W,{key:M,value:M},c(P))))};d.propTypes={name:a().string,options:a().arrayOf(a().shape({label:a().shape({id:a().string,defaultMessage:a().string}),value:a().string})),errors:a().shape({type:a().string}),onChange:a().func.isRequired,canEditInputs:a().bool.isRequired,values:a().shape({type:a().string}).isRequired,label:a().shape({id:a().string,defaultMessage:a().string}).isRequired},d.defaultProps={name:"type",errors:{},options:[]},m.Z=d},49756:function(C,m,e){"use strict";e.d(m,{Z:function(){return t},f:function(){return u}});const t="api-token",u="transfer-token"},72225:function(C,m,e){"use strict";e.d(m,{Z:function(){return Ge}});var t=e(32735),u=e(27649),r=e(17e3),o=e(87933),a=e(19565),i=e(92802),d=e(67879),v=e(20108),s=e(15062),y=e(53038),h=e(60216),n=e.n(h);const g=(0,t.createContext)({}),l=({children:p,...E})=>t.createElement(g.Provider,{value:E},p),c=()=>(0,t.useContext)(g);l.propTypes={children:n().node.isRequired};var M=e(86209),P=e(30305),I=e(49756),K=e(39404),N=e(7210),k=e(72850),A=e(49372),B=e(15335),R=e(5803),H=e(82505),Z=e(58380),Y=e(37823),Q=e(32655);const J=({errors:p,onChange:E,canEditInputs:f,isCreating:D,values:x,apiToken:S,onDispatch:O,setHasChangedPermissions:V})=>{const{formatMessage:j}=(0,d.Z)(),F=({target:{value:z}})=>{V(!1),z==="full-access"&&O({type:"SELECT_ALL_ACTIONS"}),z==="read-only"&&O({type:"ON_CHANGE_READ_ONLY"})},w=[{value:"read-only",label:{id:"Settings.tokens.types.read-only",defaultMessage:"Read-only"}},{value:"full-access",label:{id:"Settings.tokens.types.full-access",defaultMessage:"Full access"}},{value:"custom",label:{id:"Settings.tokens.types.custom",defaultMessage:"Custom"}}];return t.createElement(k.x,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},t.createElement(o.k,{direction:"column",alignItems:"stretch",gap:4},t.createElement(A.Z,{variant:"delta",as:"h2"},j({id:"global.details",defaultMessage:"Details"})),t.createElement(B.r,{gap:5},t.createElement(R.P,{key:"name",col:6,xs:12},t.createElement(Y.Z,{errors:p,values:x,canEditInputs:f,onChange:E})),t.createElement(R.P,{key:"description",col:6,xs:12},t.createElement(Z.Z,{errors:p,values:x,canEditInputs:f,onChange:E})),t.createElement(R.P,{key:"lifespan",col:6,xs:12},t.createElement(H.Z,{isCreating:D,errors:p,values:x,onChange:E,token:S})),t.createElement(R.P,{key:"type",col:6,xs:12},t.createElement(Q.Z,{values:x,errors:p,label:{id:"Settings.tokens.form.type",defaultMessage:"Token type"},onChange:z=>{F({target:{value:z}}),E({target:{name:"type",value:z}})},options:w,canEditInputs:f})))))};J.propTypes={errors:n().shape({name:n().string,description:n().string,lifespan:n().string,type:n().string}),onChange:n().func.isRequired,canEditInputs:n().bool.isRequired,values:n().shape({name:n().string,description:n().string,lifespan:n().oneOfType([n().number,n().string]),type:n().string}).isRequired,isCreating:n().bool.isRequired,apiToken:n().shape({id:n().oneOfType([n().number,n().string]),type:n().string,lifespan:n().string,name:n().string,accessKey:n().string,permissions:n().array,description:n().string,createdAt:n().string}),onDispatch:n().func.isRequired,setHasChangedPermissions:n().func.isRequired},J.defaultProps={errors:{},apiToken:{}};var X=J,ne=e(82055),le=e(41415),de=e(66456);const _=({apiTokenName:p})=>{const{formatMessage:E}=(0,d.Z)();return(0,a.go)(),t.createElement(u.o,{"aria-busy":"true"},t.createElement(a.SL,{name:"API Tokens"}),t.createElement(ne.T,{primaryAction:t.createElement(le.z,{disabled:!0,startIcon:t.createElement(de.Z,null),type:"button",size:"L"},E({id:"global.save",defaultMessage:"Save"})),title:p||E({id:"Settings.apiTokens.createPage.title",defaultMessage:"Create API Token"})}),t.createElement(r.D,null,t.createElement(a.dO,null)))};_.defaultProps={apiTokenName:null},_.propTypes={apiTokenName:n().string};var ce=_,se=e(37213),ae=e.n(se),oe=e(15738),Me=e.n(oe),re=e(8471),Ae=p=>{switch(p){case"POST":return{text:"success600",border:"success200",background:"success100"};case"GET":return{text:"secondary600",border:"secondary200",background:"secondary100"};case"PUT":return{text:"warning600",border:"warning200",background:"warning100"};case"DELETE":return{text:"danger600",border:"danger200",background:"danger100"};default:return{text:"neutral600",border:"neutral200",background:"neutral100"}}};const xe=(0,re.ZP)(k.x)`
2
2
  margin: -1px;
3
3
  border-radius: ${({theme:p})=>p.spaces[1]} 0 0 ${({theme:p})=>p.spaces[1]};
4
4
  `;function pe({route:p}){const{formatMessage:E}=(0,d.Z)(),{method:f,handler:D,path:x}=p,S=x?Me()(x.split("/")):[],[O="",V=""]=D?D.split("."):[],j=Ae(p.method);return t.createElement(o.k,{direction:"column",alignItems:"stretch",gap:2},t.createElement(A.Z,{variant:"delta",as:"h3"},E({id:"Settings.apiTokens.createPage.BoundRoute.title",defaultMessage:"Bound route to"}),"\xA0",t.createElement("span",null,O),t.createElement(A.Z,{variant:"delta",textColor:"primary600"},".",V)),t.createElement(o.k,{hasRadius:!0,background:"neutral0",borderColor:"neutral200",gap:0},t.createElement(xe,{background:j.background,borderColor:j.border,padding:2},t.createElement(A.Z,{fontWeight:"bold",textColor:j.text},f)),t.createElement(k.x,{paddingLeft:2,paddingRight:2},ae()(S,F=>t.createElement(A.Z,{key:F,textColor:F.includes(":")?"neutral600":"neutral900"},"/",F)))))}pe.defaultProps={route:{handler:"Nocontroller.error",method:"GET",path:"/there-is-no-path"}},pe.propTypes={route:n().shape({handler:n().string,method:n().string,path:n().string})};var Oe=pe,Re=()=>{const{value:{selectedAction:p,routes:E}}=c(),{formatMessage:f}=(0,d.Z)(),D=p?.split(".")[0];return t.createElement(R.P,{col:5,background:"neutral150",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7,style:{minHeight:"100%"}},p?t.createElement(o.k,{direction:"column",alignItems:"stretch",gap:2},E[D]?.map(x=>x.config.auth?.scope?.includes(p)||x.handler===p?t.createElement(Oe,{key:x.handler,route:x}):null)):t.createElement(o.k,{direction:"column",alignItems:"stretch",gap:2},t.createElement(A.Z,{variant:"delta",as:"h3"},f({id:"Settings.apiTokens.createPage.permissions.header.title",defaultMessage:"Advanced settings"})),t.createElement(A.Z,{as:"p",textColor:"neutral600"},f({id:"Settings.apiTokens.createPage.permissions.header.hint",defaultMessage:"Select the application's actions or the plugin's actions and click on the cog icon to display the bound route"}))))},Ie=e(83828),De=e(61762),ke=e(89966),Te=e(8284),Se=e(45112),Le=e(73400),Be=e.n(Le);const Ce=(0,re.iv)`
@@ -27,7 +27,7 @@
27
27
  flex: 1;
28
28
  align-self: center;
29
29
  border-top: 1px solid ${({theme:p})=>p.colors.neutral150};
30
- `,ue=({controllers:p,label:E,orderNumber:f,disabled:D,onExpanded:x,indexExpandendCollapsedContent:S})=>{const{value:{onChangeSelectAll:O,onChange:V,selectedActions:j,setSelectedAction:F,selectedAction:w}}=c(),[z,ie]=(0,t.useState)(!1),{formatMessage:Ee}=(0,d.Z)(),q=()=>{ie(L=>!L),x(f)};(0,t.useEffect)(()=>{S!==null&&S!==f&&z&&ie(!1)},[S,f,z]);const U=L=>L===w;return t.createElement(Ie.U,{expanded:z,onToggle:q,variant:f%2?"primary":"secondary"},t.createElement(De.B,{title:Be()(E)}),t.createElement(ke.v,null,p?.map(L=>{const ee=L.actions.every(W=>j.includes(W.actionId)),fe=L.actions.some(W=>j.includes(W.actionId));return t.createElement(k.x,{key:`${E}.${L?.controller}`},t.createElement(o.k,{justifyContent:"space-between",alignItems:"center",padding:4},t.createElement(k.x,{paddingRight:4},t.createElement(A.Z,{variant:"sigma",textColor:"neutral600"},L?.controller)),t.createElement(Ue,null),t.createElement(k.x,{paddingLeft:4},t.createElement(Te.X,{value:ee,indeterminate:!ee&&fe,onValueChange:()=>{O({target:{value:[...L.actions]}})},disabled:D},Ee({id:"app.utils.select-all",defaultMessage:"Select all"})))),t.createElement(B.r,{gap:4,padding:4},L?.actions&&L?.actions.map(W=>t.createElement(R.P,{col:6,key:W.actionId},t.createElement(be,{isActive:U(W.actionId),padding:2,hasRadius:!0},t.createElement(Te.X,{value:j.includes(W.actionId),name:W.actionId,onValueChange:()=>{V({target:{value:W.actionId}})},disabled:D},W.action),t.createElement("button",{type:"button","data-testid":"action-cog",onClick:()=>F({target:{value:W.actionId}}),style:{display:"inline-flex",alignItems:"center"}},t.createElement(Se.Z,null)))))))})))};ue.defaultProps={controllers:[],orderNumber:0,disabled:!1,onExpanded:()=>null,indexExpandendCollapsedContent:null},ue.propTypes={controllers:n().array,orderNumber:n().number,label:n().string.isRequired,disabled:n().bool,onExpanded:n().func,indexExpandendCollapsedContent:n().number};var Ze=ue;const ge=({section:p,...E})=>{const[f,D]=(0,t.useState)(null),x=S=>D(S);return t.createElement(k.x,{padding:4,background:"neutral0"},p&&p.map((S,O)=>t.createElement(Ze,{key:S.apiId,label:S.label,controllers:S.controllers,orderNumber:O,indexExpandendCollapsedContent:f,onExpanded:x,name:S.apiId,...E})))};ge.defaultProps={section:null},ge.propTypes={section:n().arrayOf(n().object)};var We=ge;const Ke=({...p})=>{const{value:{data:E}}=c(),{formatMessage:f}=(0,d.Z)();return t.createElement(B.r,{gap:0,shadow:"filterShadow",hasRadius:!0,background:"neutral0"},t.createElement(R.P,{col:7,paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},t.createElement(o.k,{direction:"column",alignItems:"stretch",gap:2},t.createElement(A.Z,{variant:"delta",as:"h2"},f({id:"Settings.apiTokens.createPage.permissions.title",defaultMessage:"Permissions"})),t.createElement(A.Z,{as:"p",textColor:"neutral600"},f({id:"Settings.apiTokens.createPage.permissions.description",defaultMessage:"Only actions bound by a route are listed below."}))),E?.permissions&&t.createElement(We,{section:E?.permissions,...p})),t.createElement(Re,null))};var Ne=(0,t.memo)(Ke),me=e(37944),$e=(p,E=[])=>({...p,selectedAction:null,routes:[],selectedActions:[],data:(0,me.mk)(E)}),je=e(97889),Fe=e(82879),Pe=e.n(Fe);const ze={data:{},selectedActions:[]};var He=(p,E)=>(0,je.ZP)(p,f=>{switch(E.type){case"ON_CHANGE":{f.selectedActions.includes(E.value)?Pe()(f.selectedActions,E.value):f.selectedActions.push(E.value);break}case"SELECT_ALL_IN_PERMISSION":{E.value.every(x=>f.selectedActions.includes(x.actionId))?E.value.forEach(x=>{Pe()(f.selectedActions,x.actionId)}):E.value.forEach(x=>{f.selectedActions.push(x.actionId)});break}case"SELECT_ALL_ACTIONS":{f.selectedActions=[...f.data.allActionsIds];break}case"ON_CHANGE_READ_ONLY":{const D=f.data.allActionsIds.filter(x=>x.includes("find")||x.includes("findOne"));f.selectedActions=[...D];break}case"UPDATE_PERMISSIONS_LAYOUT":{f.data=(0,me.mk)(E.value);break}case"UPDATE_ROUTES":{f.routes={...E.value};break}case"UPDATE_PERMISSIONS":{f.selectedActions=[...E.value];break}case"SET_SELECTED_ACTION":{f.selectedAction=E.value;break}default:return f}});const Ve="Name already taken";var Ge=()=>{(0,a.go)();const{formatMessage:p}=(0,d.Z)(),{lockApp:E,unlockApp:f}=(0,a.o1)(),D=(0,a.lm)(),x=(0,y.k6)(),S=(0,s.v9)(P._),[O,V]=(0,t.useState)(x.location.state?.apiToken.accessKey?{...x.location.state.apiToken}:null),{trackUsage:j}=(0,a.rS)(),F=(0,t.useRef)(j),{setCurrentStep:w}=(0,a.c1)(),{allowedActions:{canCreate:z,canUpdate:ie,canRegenerate:Ee}}=(0,a.ss)(S.settings["api-tokens"]),[q,U]=(0,t.useReducer)(He,ze,T=>$e(T,{})),{params:{id:L}}=(0,y.$B)("/settings/api-tokens/:id"),{get:ee,post:fe,put:W}=(0,a.kY)(),$=L==="create";(0,v.useQuery)("content-api-permissions",async()=>{const[T,G]=await Promise.all(["/admin/content-api/permissions","/admin/content-api/routes"].map(async te=>{const{data:b}=await ee(te);return b.data}));U({type:"UPDATE_PERMISSIONS_LAYOUT",value:T}),U({type:"UPDATE_ROUTES",value:G}),O&&(O?.type==="read-only"&&U({type:"ON_CHANGE_READ_ONLY"}),O?.type==="full-access"&&U({type:"SELECT_ALL_ACTIONS"}),O?.type==="custom"&&U({type:"UPDATE_PERMISSIONS",value:O?.permissions}))},{onError(){D({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}}),(0,t.useEffect)(()=>{F.current($?"didAddTokenFromList":"didEditTokenFromList",{tokenType:I.Z})},[$]);const{status:Ye}=(0,v.useQuery)(["api-token",L],async()=>{const{data:{data:T}}=await ee(`/admin/api-tokens/${L}`);return V({...T}),T?.type==="read-only"&&U({type:"ON_CHANGE_READ_ONLY"}),T?.type==="full-access"&&U({type:"SELECT_ALL_ACTIONS"}),T?.type==="custom"&&U({type:"UPDATE_PERMISSIONS",value:T?.permissions}),T},{enabled:!$&&!O,onError(){D({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}}),Qe=async(T,G)=>{F.current($?"willCreateToken":"willEditToken",{tokenType:I.Z}),E();const te=T.lifespan&&parseInt(T.lifespan,10)&&T.lifespan!=="0"?parseInt(T.lifespan,10):null;try{const{data:{data:b}}=$?await fe("/admin/api-tokens",{...T,lifespan:te,permissions:T.type==="custom"?q.selectedActions:null}):await W(`/admin/api-tokens/${L}`,{name:T.name,description:T.description,type:T.type,permissions:T.type==="custom"?q.selectedActions:null});$&&(x.replace(`/settings/api-tokens/${b.id}`,{apiToken:b}),w("apiTokens.success")),f(),V({...b}),D({type:"success",message:p($?{id:"notification.success.apitokencreated",defaultMessage:"API Token successfully created"}:{id:"notification.success.apitokenedited",defaultMessage:"API Token successfully edited"})}),F.current($?"didCreateToken":"didEditToken",{type:O.type,tokenType:I.Z})}catch(b){const ve=(0,M.Iz)(b.response.data);G.setErrors(ve),b?.response?.data?.error?.message===Ve?D({type:"warning",message:b.response.data.message||"notification.error.tokennamenotunique"}):D({type:"warning",message:b?.response?.data?.message||"notification.error"}),f()}},[Xe,ye]=(0,t.useState)(!1),Je={...q,onChange:({target:{value:T}})=>{ye(!0),U({type:"ON_CHANGE",value:T})},onChangeSelectAll:({target:{value:T}})=>{ye(!0),U({type:"SELECT_ALL_IN_PERMISSION",value:T})},setSelectedAction:({target:{value:T}})=>{U({type:"SET_SELECTED_ACTION",value:T})}},he=ie&&!$||z&&$;return!$&&!O&&Ye!=="success"?t.createElement(ce,{apiTokenName:O?.name}):t.createElement(l,{value:Je},t.createElement(u.o,null,t.createElement(a.SL,{name:"API Tokens"}),t.createElement(i.J9,{validationSchema:me.fK,validateOnChange:!1,initialValues:{name:O?.name||"",description:O?.description||"",type:O?.type,lifespan:O?.lifespan?O.lifespan.toString():O?.lifespan},enableReinitialize:!0,onSubmit:(T,G)=>Qe(T,G)},({errors:T,handleChange:G,isSubmitting:te,values:b,setFieldValue:ve})=>(Xe&&b?.type!=="custom"&&ve("type","custom"),t.createElement(a.l0,null,t.createElement(K.Z,{backUrl:"/settings/api-tokens",title:{id:"Settings.apiTokens.createPage.title",defaultMessage:"Create API Token"},token:O,setToken:V,canEditInputs:he,canRegenerate:Ee,isSubmitting:te,regenerateUrl:"/admin/api-tokens/"}),t.createElement(r.D,null,t.createElement(o.k,{direction:"column",alignItems:"stretch",gap:6},Boolean(O?.name)&&t.createElement(N.Z,{token:O?.accessKey,tokenType:I.Z}),t.createElement(X,{errors:T,onChange:G,canEditInputs:he,isCreating:$,values:b,apiToken:O,onDispatch:U,setHasChangedPermissions:ye}),t.createElement(Ne,{disabled:!he||b?.type==="read-only"||b?.type==="full-access"}))))))))}},37944:function(C,m,e){"use strict";e.d(m,{IX:function(){return a},fK:function(){return s},mk:function(){return h}});var t=e(14723),u=e(85544),r=e(76698),a=(n,g,l="en")=>{if(g&&typeof g=="number"){const c=g/24/60/60/1e3;return(0,t.Z)((0,u.Z)(new Date(n),c),"PPP",{locale:r[l]})}return"Unlimited"},i=e(19565),d=e(24346),s=d.Ry().shape({name:d.Z_(i.I0.string).max(100).required(i.I0.required),type:d.Z_(i.I0.string).oneOf(["read-only","full-access","custom"]).required(i.I0.required),description:d.Z_().nullable(),lifespan:d.Rx().integer().min(0).nullable().defined(i.I0.required)}),h=n=>{const g={allActionsIds:[],permissions:[]};return g.permissions=Object.keys(n).map(l=>({apiId:l,label:l.split("::")[1],controllers:Object.keys(n[l].controllers).map(c=>({controller:c,actions:n[l].controllers[c].map(M=>{const P=`${l}.${c}.${M}`;return l.includes("api::")&&g.allActionsIds.push(P),{action:M,actionId:P}}).flat()})).flat()})),g}},60528:function(C){function m(e,t,u,r){for(var o=e.length,a=u+(r?1:-1);r?a--:++a<o;)if(t(e[a],a,e))return a;return-1}C.exports=m},87650:function(C,m,e){var t=e(60528),u=e(25556),r=e(54256);function o(a,i,d){return i===i?r(a,i,d):t(a,u,d)}C.exports=o},15880:function(C){function m(e,t,u,r){for(var o=u-1,a=e.length;++o<a;)if(r(e[o],t))return o;return-1}C.exports=m},25556:function(C){function m(e){return e!==e}C.exports=m},11224:function(C,m,e){var t=e(26460),u=e(87650),r=e(15880),o=e(76535),a=e(66438),i=Array.prototype,d=i.splice;function v(s,y,h,n){var g=n?r:u,l=-1,c=y.length,M=s;for(s===y&&(y=a(y)),h&&(M=t(s,o(h)));++l<c;)for(var P=0,I=y[l],K=h?h(I):I;(P=g(M,K,P,n))>-1;)M!==s&&d.call(M,P,1),d.call(s,P,1);return s}C.exports=v},54256:function(C){function m(e,t,u){for(var r=u-1,o=e.length;++r<o;)if(e[r]===t)return r;return-1}C.exports=m},82879:function(C,m,e){var t=e(94569),u=e(83147),r=t(u);C.exports=r},83147:function(C,m,e){var t=e(11224);function u(r,o){return r&&r.length&&o&&o.length?t(r,o):r}C.exports=u},15738:function(C,m,e){var t=e(4293);function u(r){var o=r==null?0:r.length;return o?t(r,1,o):[]}C.exports=u},83828:function(C,m,e){"use strict";e.d(m,{U:function(){return n},y:function(){return y}});var t=e(74512),u=e(32735),r=e(8471),o=e(91045),a=e(74971),i=e(49372),d=e(87933),v=e(72850);const s=({theme:g,expanded:l,variant:c,disabled:M,error:P})=>P?`1px solid ${g.colors.danger600} !important`:M?`1px solid ${g.colors.neutral150}`:l?`1px solid ${g.colors.primary600}`:c==="primary"?`1px solid ${g.colors.neutral0}`:`1px solid ${g.colors.neutral100}`,y=(0,r.ZP)(i.Z)``,h=(0,r.ZP)(v.x)`
30
+ `,ue=({controllers:p,label:E,orderNumber:f,disabled:D,onExpanded:x,indexExpandendCollapsedContent:S})=>{const{value:{onChangeSelectAll:O,onChange:V,selectedActions:j,setSelectedAction:F,selectedAction:w}}=c(),[z,ie]=(0,t.useState)(!1),{formatMessage:Ee}=(0,d.Z)(),q=()=>{ie(L=>!L),x(f)};(0,t.useEffect)(()=>{S!==null&&S!==f&&z&&ie(!1)},[S,f,z]);const U=L=>L===w;return t.createElement(Ie.U,{expanded:z,onToggle:q,variant:f%2?"primary":"secondary"},t.createElement(De.B,{title:Be()(E)}),t.createElement(ke.v,null,p?.map(L=>{const ee=L.actions.every(W=>j.includes(W.actionId)),fe=L.actions.some(W=>j.includes(W.actionId));return t.createElement(k.x,{key:`${E}.${L?.controller}`},t.createElement(o.k,{justifyContent:"space-between",alignItems:"center",padding:4},t.createElement(k.x,{paddingRight:4},t.createElement(A.Z,{variant:"sigma",textColor:"neutral600"},L?.controller)),t.createElement(Ue,null),t.createElement(k.x,{paddingLeft:4},t.createElement(Te.X,{value:ee,indeterminate:!ee&&fe,onValueChange:()=>{O({target:{value:[...L.actions]}})},disabled:D},Ee({id:"app.utils.select-all",defaultMessage:"Select all"})))),t.createElement(B.r,{gap:4,padding:4},L?.actions&&L?.actions.map(W=>t.createElement(R.P,{col:6,key:W.actionId},t.createElement(be,{isActive:U(W.actionId),padding:2,hasRadius:!0},t.createElement(Te.X,{value:j.includes(W.actionId),name:W.actionId,onValueChange:()=>{V({target:{value:W.actionId}})},disabled:D},W.action),t.createElement("button",{type:"button","data-testid":"action-cog",onClick:()=>F({target:{value:W.actionId}}),style:{display:"inline-flex",alignItems:"center"}},t.createElement(Se.Z,null)))))))})))};ue.defaultProps={controllers:[],orderNumber:0,disabled:!1,onExpanded:()=>null,indexExpandendCollapsedContent:null},ue.propTypes={controllers:n().array,orderNumber:n().number,label:n().string.isRequired,disabled:n().bool,onExpanded:n().func,indexExpandendCollapsedContent:n().number};var Ze=ue;const ge=({section:p,...E})=>{const[f,D]=(0,t.useState)(null),x=S=>D(S);return t.createElement(k.x,{padding:4,background:"neutral0"},p&&p.map((S,O)=>t.createElement(Ze,{key:S.apiId,label:S.label,controllers:S.controllers,orderNumber:O,indexExpandendCollapsedContent:f,onExpanded:x,name:S.apiId,...E})))};ge.defaultProps={section:null},ge.propTypes={section:n().arrayOf(n().object)};var We=ge;const Ke=({...p})=>{const{value:{data:E}}=c(),{formatMessage:f}=(0,d.Z)();return t.createElement(B.r,{gap:0,shadow:"filterShadow",hasRadius:!0,background:"neutral0"},t.createElement(R.P,{col:7,paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},t.createElement(o.k,{direction:"column",alignItems:"stretch",gap:2},t.createElement(A.Z,{variant:"delta",as:"h2"},f({id:"Settings.apiTokens.createPage.permissions.title",defaultMessage:"Permissions"})),t.createElement(A.Z,{as:"p",textColor:"neutral600"},f({id:"Settings.apiTokens.createPage.permissions.description",defaultMessage:"Only actions bound by a route are listed below."}))),E?.permissions&&t.createElement(We,{section:E?.permissions,...p})),t.createElement(Re,null))};var Ne=(0,t.memo)(Ke),me=e(25652),$e=(p,E=[])=>({...p,selectedAction:null,routes:[],selectedActions:[],data:(0,me.mk)(E)}),je=e(97889),Fe=e(82879),Pe=e.n(Fe);const ze={data:{},selectedActions:[]};var He=(p,E)=>(0,je.ZP)(p,f=>{switch(E.type){case"ON_CHANGE":{f.selectedActions.includes(E.value)?Pe()(f.selectedActions,E.value):f.selectedActions.push(E.value);break}case"SELECT_ALL_IN_PERMISSION":{E.value.every(x=>f.selectedActions.includes(x.actionId))?E.value.forEach(x=>{Pe()(f.selectedActions,x.actionId)}):E.value.forEach(x=>{f.selectedActions.push(x.actionId)});break}case"SELECT_ALL_ACTIONS":{f.selectedActions=[...f.data.allActionsIds];break}case"ON_CHANGE_READ_ONLY":{const D=f.data.allActionsIds.filter(x=>x.includes("find")||x.includes("findOne"));f.selectedActions=[...D];break}case"UPDATE_PERMISSIONS_LAYOUT":{f.data=(0,me.mk)(E.value);break}case"UPDATE_ROUTES":{f.routes={...E.value};break}case"UPDATE_PERMISSIONS":{f.selectedActions=[...E.value];break}case"SET_SELECTED_ACTION":{f.selectedAction=E.value;break}default:return f}});const Ve="Name already taken";var Ge=()=>{(0,a.go)();const{formatMessage:p}=(0,d.Z)(),{lockApp:E,unlockApp:f}=(0,a.o1)(),D=(0,a.lm)(),x=(0,y.k6)(),S=(0,s.v9)(P._),[O,V]=(0,t.useState)(x.location.state?.apiToken.accessKey?{...x.location.state.apiToken}:null),{trackUsage:j}=(0,a.rS)(),F=(0,t.useRef)(j),{setCurrentStep:w}=(0,a.c1)(),{allowedActions:{canCreate:z,canUpdate:ie,canRegenerate:Ee}}=(0,a.ss)(S.settings["api-tokens"]),[q,U]=(0,t.useReducer)(He,ze,T=>$e(T,{})),{params:{id:L}}=(0,y.$B)("/settings/api-tokens/:id"),{get:ee,post:fe,put:W}=(0,a.kY)(),$=L==="create";(0,v.useQuery)("content-api-permissions",async()=>{const[T,G]=await Promise.all(["/admin/content-api/permissions","/admin/content-api/routes"].map(async te=>{const{data:b}=await ee(te);return b.data}));U({type:"UPDATE_PERMISSIONS_LAYOUT",value:T}),U({type:"UPDATE_ROUTES",value:G}),O&&(O?.type==="read-only"&&U({type:"ON_CHANGE_READ_ONLY"}),O?.type==="full-access"&&U({type:"SELECT_ALL_ACTIONS"}),O?.type==="custom"&&U({type:"UPDATE_PERMISSIONS",value:O?.permissions}))},{onError(){D({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}}),(0,t.useEffect)(()=>{F.current($?"didAddTokenFromList":"didEditTokenFromList",{tokenType:I.Z})},[$]);const{status:Ye}=(0,v.useQuery)(["api-token",L],async()=>{const{data:{data:T}}=await ee(`/admin/api-tokens/${L}`);return V({...T}),T?.type==="read-only"&&U({type:"ON_CHANGE_READ_ONLY"}),T?.type==="full-access"&&U({type:"SELECT_ALL_ACTIONS"}),T?.type==="custom"&&U({type:"UPDATE_PERMISSIONS",value:T?.permissions}),T},{enabled:!$&&!O,onError(){D({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}}),Qe=async(T,G)=>{F.current($?"willCreateToken":"willEditToken",{tokenType:I.Z}),E();const te=T.lifespan&&parseInt(T.lifespan,10)&&T.lifespan!=="0"?parseInt(T.lifespan,10):null;try{const{data:{data:b}}=$?await fe("/admin/api-tokens",{...T,lifespan:te,permissions:T.type==="custom"?q.selectedActions:null}):await W(`/admin/api-tokens/${L}`,{name:T.name,description:T.description,type:T.type,permissions:T.type==="custom"?q.selectedActions:null});$&&(x.replace(`/settings/api-tokens/${b.id}`,{apiToken:b}),w("apiTokens.success")),f(),V({...b}),D({type:"success",message:p($?{id:"notification.success.apitokencreated",defaultMessage:"API Token successfully created"}:{id:"notification.success.apitokenedited",defaultMessage:"API Token successfully edited"})}),F.current($?"didCreateToken":"didEditToken",{type:O.type,tokenType:I.Z})}catch(b){const ve=(0,M.Iz)(b.response.data);G.setErrors(ve),b?.response?.data?.error?.message===Ve?D({type:"warning",message:b.response.data.message||"notification.error.tokennamenotunique"}):D({type:"warning",message:b?.response?.data?.message||"notification.error"}),f()}},[Xe,ye]=(0,t.useState)(!1),Je={...q,onChange:({target:{value:T}})=>{ye(!0),U({type:"ON_CHANGE",value:T})},onChangeSelectAll:({target:{value:T}})=>{ye(!0),U({type:"SELECT_ALL_IN_PERMISSION",value:T})},setSelectedAction:({target:{value:T}})=>{U({type:"SET_SELECTED_ACTION",value:T})}},he=ie&&!$||z&&$;return!$&&!O&&Ye!=="success"?t.createElement(ce,{apiTokenName:O?.name}):t.createElement(l,{value:Je},t.createElement(u.o,null,t.createElement(a.SL,{name:"API Tokens"}),t.createElement(i.J9,{validationSchema:me.fK,validateOnChange:!1,initialValues:{name:O?.name||"",description:O?.description||"",type:O?.type,lifespan:O?.lifespan?O.lifespan.toString():O?.lifespan},enableReinitialize:!0,onSubmit:(T,G)=>Qe(T,G)},({errors:T,handleChange:G,isSubmitting:te,values:b,setFieldValue:ve})=>(Xe&&b?.type!=="custom"&&ve("type","custom"),t.createElement(a.l0,null,t.createElement(K.Z,{backUrl:"/settings/api-tokens",title:{id:"Settings.apiTokens.createPage.title",defaultMessage:"Create API Token"},token:O,setToken:V,canEditInputs:he,canRegenerate:Ee,isSubmitting:te,regenerateUrl:"/admin/api-tokens/"}),t.createElement(r.D,null,t.createElement(o.k,{direction:"column",alignItems:"stretch",gap:6},Boolean(O?.name)&&t.createElement(N.Z,{token:O?.accessKey,tokenType:I.Z}),t.createElement(X,{errors:T,onChange:G,canEditInputs:he,isCreating:$,values:b,apiToken:O,onDispatch:U,setHasChangedPermissions:ye}),t.createElement(Ne,{disabled:!he||b?.type==="read-only"||b?.type==="full-access"}))))))))}},25652:function(C,m,e){"use strict";e.d(m,{IX:function(){return a},fK:function(){return s},mk:function(){return h}});var t=e(14723),u=e(85544),r=e(76698),a=(n,g,l="en")=>{if(g&&typeof g=="number"){const c=g/24/60/60/1e3;return(0,t.Z)((0,u.Z)(new Date(n),c),"PPP",{locale:r[l]})}return"Unlimited"},i=e(19565),d=e(24346),s=d.Ry().shape({name:d.Z_(i.I0.string).max(100).required(i.I0.required),type:d.Z_(i.I0.string).oneOf(["read-only","full-access","custom"]).required(i.I0.required),description:d.Z_().nullable(),lifespan:d.Rx().integer().min(0).nullable().defined(i.I0.required)}),h=n=>{const g={allActionsIds:[],permissions:[]};return g.permissions=Object.keys(n).map(l=>({apiId:l,label:l.split("::")[1],controllers:Object.keys(n[l].controllers).map(c=>({controller:c,actions:n[l].controllers[c].map(M=>{const P=`${l}.${c}.${M}`;return l.includes("api::")&&g.allActionsIds.push(P),{action:M,actionId:P}}).flat()})).flat()})),g}},60528:function(C){function m(e,t,u,r){for(var o=e.length,a=u+(r?1:-1);r?a--:++a<o;)if(t(e[a],a,e))return a;return-1}C.exports=m},87650:function(C,m,e){var t=e(60528),u=e(25556),r=e(54256);function o(a,i,d){return i===i?r(a,i,d):t(a,u,d)}C.exports=o},15880:function(C){function m(e,t,u,r){for(var o=u-1,a=e.length;++o<a;)if(r(e[o],t))return o;return-1}C.exports=m},25556:function(C){function m(e){return e!==e}C.exports=m},25026:function(C,m,e){var t=e(26460),u=e(87650),r=e(15880),o=e(76535),a=e(66438),i=Array.prototype,d=i.splice;function v(s,y,h,n){var g=n?r:u,l=-1,c=y.length,M=s;for(s===y&&(y=a(y)),h&&(M=t(s,o(h)));++l<c;)for(var P=0,I=y[l],K=h?h(I):I;(P=g(M,K,P,n))>-1;)M!==s&&d.call(M,P,1),d.call(s,P,1);return s}C.exports=v},54256:function(C){function m(e,t,u){for(var r=u-1,o=e.length;++r<o;)if(e[r]===t)return r;return-1}C.exports=m},82879:function(C,m,e){var t=e(94569),u=e(83147),r=t(u);C.exports=r},83147:function(C,m,e){var t=e(25026);function u(r,o){return r&&r.length&&o&&o.length?t(r,o):r}C.exports=u},15738:function(C,m,e){var t=e(4293);function u(r){var o=r==null?0:r.length;return o?t(r,1,o):[]}C.exports=u},83828:function(C,m,e){"use strict";e.d(m,{U:function(){return n},y:function(){return y}});var t=e(74512),u=e(32735),r=e(8471),o=e(91045),a=e(74971),i=e(49372),d=e(87933),v=e(72850);const s=({theme:g,expanded:l,variant:c,disabled:M,error:P})=>P?`1px solid ${g.colors.danger600} !important`:M?`1px solid ${g.colors.neutral150}`:l?`1px solid ${g.colors.primary600}`:c==="primary"?`1px solid ${g.colors.neutral0}`:`1px solid ${g.colors.neutral100}`,y=(0,r.ZP)(i.Z)``,h=(0,r.ZP)(v.x)`
31
31
  border: ${s};
32
32
 
33
33
  &:hover:not([aria-disabled='true']) {
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[2379],{50337:function(U,d,t){t.d(d,{pl:function(){return A},aY:function(){return r},q5:function(){return o.Z}});var i=t(32735),a=t(19565),f=t(86209),L=t(97889);const g={data:[],isLoading:!0};var v=(e,n)=>(0,L.ZP)(e,s=>{switch(n.type){case"GET_DATA_SUCCEEDED":{s.data=n.data,s.isLoading=!1;break}case"GET_DATA_ERROR":{s.isLoading=!1;break}default:return s}}),A=({ssoEnabled:e})=>{const[n,s]=(0,i.useReducer)(v,g),l=(0,a.lm)(),{get:P}=(0,a.kY)();return(0,i.useEffect)(()=>{(async()=>{try{if(!e){s({type:"GET_DATA_SUCCEEDED",data:[]});return}const{data:m}=await P((0,f.IF)("providers"));s({type:"GET_DATA_SUCCEEDED",data:m})}catch(m){console.error(m),s({type:"GET_DATA_ERROR"}),l({type:"warning",message:{id:"notification.error"}})}})()},[P,e,l]),n},D=t(36866),T=t.n(D),M=t(67879),O=t(53038),o=t(53104);const u="strapi-notification-seat-limit",E="https://cloud.strapi.io/profile/billing",I="https://strapi.io/billing/request-seats";var r=()=>{const{formatMessage:e}=(0,M.Z)();let{license:n,isError:s,isLoading:l}=(0,o.Z)();const P=(0,a.lm)(),{pathname:R}=(0,O.TH)(),{enforcementUserCount:m,permittedSeats:S,licenseLimitStatus:c,isHostedOnStrapiCloud:_}=n;(0,i.useEffect)(()=>{if(s||l)return;const B=!T()(S)&&!window.sessionStorage.getItem(`${u}-${R}`)&&(c==="AT_LIMIT"||c==="OVER_LIMIT");let y;c==="OVER_LIMIT"?y="warning":c==="AT_LIMIT"&&(y="softWarning"),B&&P({type:y,message:e({id:"notification.ee.warning.over-.message",defaultMessage:"Add seats to {licenseLimitStatus, select, OVER_LIMIT {invite} other {re-enable}} Users. If you already did it but it's not reflected in Strapi yet, make sure to restart your app."},{licenseLimitStatus:c}),title:e({id:"notification.ee.warning.at-seat-limit.title",defaultMessage:"{licenseLimitStatus, select, OVER_LIMIT {Over} other {At}} seat limit ({enforcementUserCount}/{permittedSeats})"},{licenseLimitStatus:c,enforcementUserCount:m,permittedSeats:S}),link:{url:_?E:I,label:e({id:"notification.ee.warning.seat-limit.link",defaultMessage:"{isHostedOnStrapiCloud, select, true {ADD SEATS} other {CONTACT SALES}}"},{isHostedOnStrapiCloud:_})},blockTransition:!0,onClose(){window.sessionStorage.setItem(`${u}-${R}`,!0)}})},[P,n,R,e,l,S,c,m,_,s])}},53104:function(U,d,t){t.d(d,{Z:function(){return v}});var i=t(32735),a=t(19565),f=t(20108),L=t(15062),g=t(30305);function h(){const p=(0,L.v9)(g._),{get:A}=(0,a.kY)(),{isLoading:D,allowedActions:{canRead:T,canCreate:M,canUpdate:O,canDelete:o}}=(0,a.ss)(p.settings.users),u=T&&M&&O&&o,{data:E,isError:I,isLoading:C}=(0,f.useQuery)(["ee","license-limit-info"],async()=>{const{data:{data:n}}=await A("/admin/license-limit-information");return n},{enabled:!D&&u}),r=E??{},e=i.useCallback(n=>(r?.features??[]).find(l=>l.name===n)?.options??{},[r?.features]);return{license:r,getFeature:e,isError:I,isLoading:C}}var v=h},42379:function(U,d,t){t.r(d),t.d(d,{CreateActionEE:function(){return o}});var i=t(32735),a=t(87933),f=t(63919),L=t(99140),g=t(41415),h=t(69932),v=t(7961),p=t(36866),A=t.n(p),D=t(60216),T=t.n(D),M=t(67879),O=t(50337);const o=({onClick:u})=>{const{formatMessage:E}=(0,M.Z)(),{license:{permittedSeats:I,shouldStopCreate:C},isError:r,isLoading:e}=(0,O.q5)();return r||e?null:i.createElement(a.k,{gap:2},!A()(I)&&C&&i.createElement(f.u,{description:E({id:"Settings.application.admin-seats.at-limit-tooltip",defaultMessage:"At limit: add seats to invite more users"}),position:"left"},i.createElement(L.J,{width:`${14/16}rem`,height:`${14/16}rem`,color:"danger500",as:h.Z})),i.createElement(g.z,{"data-testid":"create-user-button",onClick:u,startIcon:i.createElement(v.Z,null),size:"S",disabled:C},E({id:"Settings.permissions.users.create",defaultMessage:"Invite new user"})))};o.propTypes={onClick:T().func.isRequired}}}]);
@@ -0,0 +1,26 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[2395],{50337:function(I,f,t){t.d(f,{pl:function(){return p},aY:function(){return n},q5:function(){return r.Z}});var e=t(32735),E=t(19565),u=t(86209),g=t(97889);const P={data:[],isLoading:!0};var c=(i,d)=>(0,g.ZP)(i,l=>{switch(d.type){case"GET_DATA_SUCCEEDED":{l.data=d.data,l.isLoading=!1;break}case"GET_DATA_ERROR":{l.isLoading=!1;break}default:return l}}),p=({ssoEnabled:i})=>{const[d,l]=(0,e.useReducer)(c,P),v=(0,E.lm)(),{get:R}=(0,E.kY)();return(0,e.useEffect)(()=>{(async()=>{try{if(!i){l({type:"GET_DATA_SUCCEEDED",data:[]});return}const{data:h}=await R((0,u.IF)("providers"));l({type:"GET_DATA_SUCCEEDED",data:h})}catch(h){console.error(h),l({type:"GET_DATA_ERROR"}),v({type:"warning",message:{id:"notification.error"}})}})()},[R,i,v]),d},D=t(36866),m=t.n(D),O=t(67879),M=t(53038),r=t(53104);const o="strapi-notification-seat-limit",s="https://cloud.strapi.io/profile/billing",_="https://strapi.io/billing/request-seats";var n=()=>{const{formatMessage:i}=(0,O.Z)();let{license:d,isError:l,isLoading:v}=(0,r.Z)();const R=(0,E.lm)(),{pathname:y}=(0,M.TH)(),{enforcementUserCount:h,permittedSeats:C,licenseLimitStatus:A,isHostedOnStrapiCloud:U}=d;(0,e.useEffect)(()=>{if(l||v)return;const B=!m()(C)&&!window.sessionStorage.getItem(`${o}-${y}`)&&(A==="AT_LIMIT"||A==="OVER_LIMIT");let S;A==="OVER_LIMIT"?S="warning":A==="AT_LIMIT"&&(S="softWarning"),B&&R({type:S,message:i({id:"notification.ee.warning.over-.message",defaultMessage:"Add seats to {licenseLimitStatus, select, OVER_LIMIT {invite} other {re-enable}} Users. If you already did it but it's not reflected in Strapi yet, make sure to restart your app."},{licenseLimitStatus:A}),title:i({id:"notification.ee.warning.at-seat-limit.title",defaultMessage:"{licenseLimitStatus, select, OVER_LIMIT {Over} other {At}} seat limit ({enforcementUserCount}/{permittedSeats})"},{licenseLimitStatus:A,enforcementUserCount:h,permittedSeats:C}),link:{url:U?s:_,label:i({id:"notification.ee.warning.seat-limit.link",defaultMessage:"{isHostedOnStrapiCloud, select, true {ADD SEATS} other {CONTACT SALES}}"},{isHostedOnStrapiCloud:U})},blockTransition:!0,onClose(){window.sessionStorage.setItem(`${o}-${y}`,!0)}})},[R,d,y,i,v,C,A,h,U,l])}},53104:function(I,f,t){t.d(f,{Z:function(){return c}});var e=t(32735),E=t(19565),u=t(20108),g=t(15062),P=t(30305);function L(){const a=(0,g.v9)(P._),{get:p}=(0,E.kY)(),{isLoading:D,allowedActions:{canRead:m,canCreate:O,canUpdate:M,canDelete:r}}=(0,E.ss)(a.settings.users),o=m&&O&&M&&r,{data:s,isError:_,isLoading:T}=(0,u.useQuery)(["ee","license-limit-info"],async()=>{const{data:{data:d}}=await p("/admin/license-limit-information");return d},{enabled:!D&&o}),n=s??{},i=e.useCallback(d=>(n?.features??[]).find(v=>v.name===d)?.options??{},[n?.features]);return{license:n,getFeature:i,isError:_,isLoading:T}}var c=L},82395:function(I,f,t){t.r(f),t.d(f,{LoginEE:function(){return o}});var e=t(32735),E=t(9026),u=t(72850),g=t(87933),P=t(49372),L=t(60216),c=t.n(L),a=t(67879),p=t(8471),D=t(11060),m=t(24436),O=t(50337),M=t(68726);const r=(0,p.ZP)(E.i)`
2
+ flex: 1;
3
+ `,o=s=>{const _=window.strapi.features.isEnabled(window.strapi.features.SSO),{isLoading:T,data:n}=(0,O.pl)({ssoEnabled:_}),{formatMessage:i}=(0,a.Z)();return!_||!T&&n.length===0?e.createElement(D.ZP,null,e.createElement(m.Z,{...s})):e.createElement(D.ZP,null,e.createElement(m.Z,{...s},e.createElement(u.x,{paddingTop:7},e.createElement(g.k,{direction:"column",alignItems:"stretch",gap:7},e.createElement(g.k,null,e.createElement(r,null),e.createElement(u.x,{paddingLeft:3,paddingRight:3},e.createElement(P.Z,{variant:"sigma",textColor:"neutral600"},i({id:"Auth.login.sso.divider"}))),e.createElement(r,null)),e.createElement(M.Z,{providers:n,displayAllProviders:!1})))))};o.defaultProps={onSubmit:s=>s.preventDefault(),requestError:null},o.propTypes={formErrors:c().object.isRequired,modifiedData:c().object.isRequired,onChange:c().func.isRequired,onSubmit:c().func,requestError:c().object}},68726:function(I,f,t){var e=t(32735),E=t(87933),u=t(63919),g=t(49372),P=t(15335),L=t(5803),c=t(60216),a=t.n(c),p=t(67879),D=t(14911),m=t(8471);const O=m.ZP.a`
4
+ width: ${136/16}rem;
5
+ display: flex;
6
+ justify-content: center;
7
+ align-items: center;
8
+ height: ${48/16}rem;
9
+ border: 1px solid ${({theme:s})=>s.colors.neutral150};
10
+ border-radius: ${({theme:s})=>s.borderRadius};
11
+ text-decoration: inherit;
12
+ &:link {
13
+ text-decoration: none;
14
+ }
15
+ color: ${({theme:s})=>s.colors.neutral600};
16
+ `,M=(0,m.ZP)(E.k)`
17
+ & a:not(:first-child):not(:last-child) {
18
+ margin: 0 ${({theme:s})=>s.spaces[2]};
19
+ }
20
+ & a:first-child {
21
+ margin-right: ${({theme:s})=>s.spaces[2]};
22
+ }
23
+ & a:last-child {
24
+ margin-left: ${({theme:s})=>s.spaces[2]};
25
+ }
26
+ `,r=({provider:s})=>e.createElement(u.u,{label:s.displayName},e.createElement(O,{href:`${window.strapi.backendURL}/admin/connect/${s.uid}`},s.icon?e.createElement("img",{src:s.icon,"aria-hidden":!0,alt:"",height:"32px"}):e.createElement(g.Z,null,s.displayName)));r.propTypes={provider:a().shape({icon:a().string,displayName:a().string.isRequired,uid:a().string.isRequired}).isRequired};const o=({providers:s,displayAllProviders:_})=>{const{formatMessage:T}=(0,p.Z)();return _?e.createElement(P.r,{gap:4},s.map(n=>e.createElement(L.P,{key:n.uid,col:4},e.createElement(r,{provider:n})))):s.length>2&&!_?e.createElement(P.r,{gap:4},s.slice(0,2).map(n=>e.createElement(L.P,{key:n.uid,col:4},e.createElement(r,{provider:n}))),e.createElement(L.P,{col:4},e.createElement(u.u,{label:T({id:"global.see-more"})},e.createElement(O,{as:D.rU,to:"/auth/providers"},e.createElement("span",{"aria-hidden":!0},"\u2022\u2022\u2022"))))):e.createElement(M,{justifyContent:"center"},s.map(n=>e.createElement(r,{key:n.uid,provider:n})))};o.defaultProps={displayAllProviders:!0},o.propTypes={providers:a().arrayOf(a().object).isRequired,displayAllProviders:a().bool},f.Z=o}}]);