@strapi/admin 4.15.5 → 4.16.0

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/dist/_chunks/{AuthenticatedApp-61dfdab8.js → AuthenticatedApp-12b0b80d.js} +23 -23
  2. package/dist/_chunks/{AuthenticatedApp-61dfdab8.js.map → AuthenticatedApp-12b0b80d.js.map} +1 -1
  3. package/dist/_chunks/{AuthenticatedApp-da1595e9.mjs → AuthenticatedApp-2b5530b9.mjs} +23 -23
  4. package/dist/_chunks/{AuthenticatedApp-da1595e9.mjs.map → AuthenticatedApp-2b5530b9.mjs.map} +1 -1
  5. package/dist/_chunks/{HomePage-48934b34.js → HomePage-3ad80266.js} +4 -4
  6. package/dist/_chunks/{HomePage-48934b34.js.map → HomePage-3ad80266.js.map} +1 -1
  7. package/dist/_chunks/{HomePage-f3052b59.js → HomePage-763d3a5f.js} +4 -4
  8. package/dist/_chunks/{HomePage-f3052b59.js.map → HomePage-763d3a5f.js.map} +1 -1
  9. package/dist/_chunks/{HomePage-2690d237.mjs → HomePage-93e2ba01.mjs} +4 -4
  10. package/dist/_chunks/{HomePage-2690d237.mjs.map → HomePage-93e2ba01.mjs.map} +1 -1
  11. package/dist/_chunks/{HomePage-3792b299.mjs → HomePage-f6a78451.mjs} +4 -4
  12. package/dist/_chunks/{HomePage-3792b299.mjs.map → HomePage-f6a78451.mjs.map} +1 -1
  13. package/dist/_chunks/{InstalledPluginsPage-3bd06321.mjs → InstalledPluginsPage-83eaebad.mjs} +3 -3
  14. package/dist/_chunks/{InstalledPluginsPage-3bd06321.mjs.map → InstalledPluginsPage-83eaebad.mjs.map} +1 -1
  15. package/dist/_chunks/{InstalledPluginsPage-da0780c1.js → InstalledPluginsPage-e3d10fcd.js} +3 -3
  16. package/dist/_chunks/{InstalledPluginsPage-da0780c1.js.map → InstalledPluginsPage-e3d10fcd.js.map} +1 -1
  17. package/dist/_chunks/{Login-ab4b47ad.js → Login-a48df094.js} +2 -2
  18. package/dist/_chunks/{Login-ab4b47ad.js.map → Login-a48df094.js.map} +1 -1
  19. package/dist/_chunks/{Login-8f68c65a.mjs → Login-e12abb16.mjs} +2 -2
  20. package/dist/_chunks/{Login-8f68c65a.mjs.map → Login-e12abb16.mjs.map} +1 -1
  21. package/dist/_chunks/{MarketplacePage-935fca72.js → MarketplacePage-193e4eca.js} +3 -3
  22. package/dist/_chunks/{MarketplacePage-935fca72.js.map → MarketplacePage-193e4eca.js.map} +1 -1
  23. package/dist/_chunks/{MarketplacePage-95af86bb.mjs → MarketplacePage-b1679fa5.mjs} +3 -3
  24. package/dist/_chunks/{MarketplacePage-95af86bb.mjs.map → MarketplacePage-b1679fa5.mjs.map} +1 -1
  25. package/dist/_chunks/{ProfilePage-20de1b54.mjs → ProfilePage-3858db75.mjs} +3 -3
  26. package/dist/_chunks/{ProfilePage-20de1b54.mjs.map → ProfilePage-3858db75.mjs.map} +1 -1
  27. package/dist/_chunks/{ProfilePage-b8b29c4d.js → ProfilePage-4a1eb00d.js} +3 -3
  28. package/dist/_chunks/{ProfilePage-b8b29c4d.js.map → ProfilePage-4a1eb00d.js.map} +1 -1
  29. package/dist/_chunks/{SalesPage-c5cbb366.js → SalesPage-4a0a68fb.js} +2 -2
  30. package/dist/_chunks/SalesPage-4a0a68fb.js.map +1 -0
  31. package/dist/_chunks/{SalesPage-c7c94c3f.mjs → SalesPage-fceedf48.mjs} +2 -2
  32. package/dist/_chunks/{SalesPage-c7c94c3f.mjs.map → SalesPage-fceedf48.mjs.map} +1 -1
  33. package/dist/_chunks/{build-92e15b93.mjs → build-1026ce7c.mjs} +2 -2
  34. package/dist/_chunks/{build-92e15b93.mjs.map → build-1026ce7c.mjs.map} +1 -1
  35. package/dist/_chunks/{build-df2f219f.js → build-d99bcc06.js} +2 -2
  36. package/dist/_chunks/{build-df2f219f.js.map → build-d99bcc06.js.map} +1 -1
  37. package/dist/_chunks/{constants-db792b94.mjs → constants-481b3914.mjs} +3 -3
  38. package/dist/_chunks/{constants-db792b94.mjs.map → constants-481b3914.mjs.map} +1 -1
  39. package/dist/_chunks/{constants-797ada28.js → constants-49d63c92.js} +6 -6
  40. package/dist/_chunks/{constants-797ada28.js.map → constants-49d63c92.js.map} +1 -1
  41. package/dist/_chunks/{constants-008a1527.js → constants-5fd54815.js} +5 -5
  42. package/dist/_chunks/{constants-008a1527.js.map → constants-5fd54815.js.map} +1 -1
  43. package/dist/_chunks/{constants-278adc05.mjs → constants-6876b155.mjs} +6 -6
  44. package/dist/_chunks/{constants-278adc05.mjs.map → constants-6876b155.mjs.map} +1 -1
  45. package/dist/_chunks/{constants-1d345364.mjs → constants-8bdc91a9.mjs} +5 -5
  46. package/dist/_chunks/{constants-1d345364.mjs.map → constants-8bdc91a9.mjs.map} +1 -1
  47. package/dist/_chunks/{constants-29d123f8.mjs → constants-b0bc030f.mjs} +2 -2
  48. package/dist/_chunks/{constants-29d123f8.mjs.map → constants-b0bc030f.mjs.map} +1 -1
  49. package/dist/_chunks/{constants-ec71917d.js → constants-dd4a9742.js} +3 -3
  50. package/dist/_chunks/{constants-ec71917d.js.map → constants-dd4a9742.js.map} +1 -1
  51. package/dist/_chunks/{constants-4be682e5.js → constants-fac0ce8c.js} +2 -2
  52. package/dist/_chunks/{constants-4be682e5.js.map → constants-fac0ce8c.js.map} +1 -1
  53. package/dist/_chunks/{develop-a46fed01.mjs → develop-72394876.mjs} +2 -2
  54. package/dist/_chunks/{develop-a46fed01.mjs.map → develop-72394876.mjs.map} +1 -1
  55. package/dist/_chunks/{develop-4d25a6e0.js → develop-da585b1e.js} +2 -2
  56. package/dist/_chunks/{develop-4d25a6e0.js.map → develop-da585b1e.js.map} +1 -1
  57. package/dist/_chunks/{index-40d047a8.mjs → index-0dcabbdd.mjs} +3 -3
  58. package/dist/_chunks/{index-40d047a8.mjs.map → index-0dcabbdd.mjs.map} +1 -1
  59. package/dist/_chunks/{index-1ebd9d8c.mjs → index-1d2a74ca.mjs} +5 -5
  60. package/dist/_chunks/{index-1ebd9d8c.mjs.map → index-1d2a74ca.mjs.map} +1 -1
  61. package/dist/_chunks/{index-f5b276a8.mjs → index-1ddec644.mjs} +21 -21
  62. package/dist/_chunks/{index-f5b276a8.mjs.map → index-1ddec644.mjs.map} +1 -1
  63. package/dist/_chunks/{index-a9625818.mjs → index-1eef7482.mjs} +5 -5
  64. package/dist/_chunks/{index-a9625818.mjs.map → index-1eef7482.mjs.map} +1 -1
  65. package/dist/_chunks/{index-834fad5c.mjs → index-20454411.mjs} +5 -5
  66. package/dist/_chunks/{index-834fad5c.mjs.map → index-20454411.mjs.map} +1 -1
  67. package/dist/_chunks/{index-40495ca1.mjs → index-296f0769.mjs} +2 -2
  68. package/dist/_chunks/{index-40495ca1.mjs.map → index-296f0769.mjs.map} +1 -1
  69. package/dist/_chunks/{index-d2b3c398.mjs → index-34233ee7.mjs} +3 -3
  70. package/dist/_chunks/{index-d2b3c398.mjs.map → index-34233ee7.mjs.map} +1 -1
  71. package/dist/_chunks/{index-924a1288.js → index-42a0b19b.js} +3 -3
  72. package/dist/_chunks/{index-924a1288.js.map → index-42a0b19b.js.map} +1 -1
  73. package/dist/_chunks/{index-dc89c18c.mjs → index-49b7e6ff.mjs} +8 -4
  74. package/dist/_chunks/index-49b7e6ff.mjs.map +1 -0
  75. package/dist/_chunks/{index-bc709e72.js → index-4ac37d7c.js} +3 -3
  76. package/dist/_chunks/{index-bc709e72.js.map → index-4ac37d7c.js.map} +1 -1
  77. package/dist/_chunks/{index-0fbbca7a.js → index-4ff0e245.js} +3 -3
  78. package/dist/_chunks/{index-0fbbca7a.js.map → index-4ff0e245.js.map} +1 -1
  79. package/dist/_chunks/{index-cbf9952d.js → index-526ea946.js} +2 -2
  80. package/dist/_chunks/{index-cbf9952d.js.map → index-526ea946.js.map} +1 -1
  81. package/dist/_chunks/{index-1932eedf.mjs → index-55f565cf.mjs} +3 -3
  82. package/dist/_chunks/{index-1932eedf.mjs.map → index-55f565cf.mjs.map} +1 -1
  83. package/dist/_chunks/{index-e34335f1.js → index-56cc01e0.js} +3 -3
  84. package/dist/_chunks/{index-e34335f1.js.map → index-56cc01e0.js.map} +1 -1
  85. package/dist/_chunks/{index-51986071.mjs → index-5d044c87.mjs} +3 -3
  86. package/dist/_chunks/{index-51986071.mjs.map → index-5d044c87.mjs.map} +1 -1
  87. package/dist/_chunks/{index-3c693658.mjs → index-5d14fd43.mjs} +3 -3
  88. package/dist/_chunks/{index-3c693658.mjs.map → index-5d14fd43.mjs.map} +1 -1
  89. package/dist/_chunks/{index-f3e7f8cc.mjs → index-5e9a93b3.mjs} +4 -4
  90. package/dist/_chunks/{index-f3e7f8cc.mjs.map → index-5e9a93b3.mjs.map} +1 -1
  91. package/dist/_chunks/{index-46c3ee85.mjs → index-60941eee.mjs} +3 -3
  92. package/dist/_chunks/{index-46c3ee85.mjs.map → index-60941eee.mjs.map} +1 -1
  93. package/dist/_chunks/{index-9c26fffe.js → index-60e19de0.js} +4 -4
  94. package/dist/_chunks/{index-9c26fffe.js.map → index-60e19de0.js.map} +1 -1
  95. package/dist/_chunks/{index-003c2cab.mjs → index-6757c461.mjs} +5 -5
  96. package/dist/_chunks/{index-003c2cab.mjs.map → index-6757c461.mjs.map} +1 -1
  97. package/dist/_chunks/{index-b42866c5.mjs → index-69dbf2cf.mjs} +2 -2
  98. package/dist/_chunks/{index-b42866c5.mjs.map → index-69dbf2cf.mjs.map} +1 -1
  99. package/dist/_chunks/{index-035f8c59.js → index-71c88425.js} +3 -3
  100. package/dist/_chunks/{index-035f8c59.js.map → index-71c88425.js.map} +1 -1
  101. package/dist/_chunks/{index-f7cf652c.js → index-74601a9b.js} +4 -4
  102. package/dist/_chunks/{index-f7cf652c.js.map → index-74601a9b.js.map} +1 -1
  103. package/dist/_chunks/{index-cc38783c.mjs → index-7e31e982.mjs} +3 -3
  104. package/dist/_chunks/{index-cc38783c.mjs.map → index-7e31e982.mjs.map} +1 -1
  105. package/dist/_chunks/{index-787a0db6.js → index-8759f1d9.js} +5 -5
  106. package/dist/_chunks/{index-787a0db6.js.map → index-8759f1d9.js.map} +1 -1
  107. package/dist/_chunks/{index-f55a69e7.mjs → index-89a1d72c.mjs} +4 -4
  108. package/dist/_chunks/{index-f55a69e7.mjs.map → index-89a1d72c.mjs.map} +1 -1
  109. package/dist/_chunks/{index-0ed05075.js → index-8b79ee6c.js} +14 -8
  110. package/dist/_chunks/{index-0ed05075.js.map → index-8b79ee6c.js.map} +1 -1
  111. package/dist/_chunks/{index-154693de.mjs → index-8c5b4bda.mjs} +3 -3
  112. package/dist/_chunks/{index-154693de.mjs.map → index-8c5b4bda.mjs.map} +1 -1
  113. package/dist/_chunks/{index-7bfab5f5.js → index-912140fa.js} +4 -4
  114. package/dist/_chunks/{index-7bfab5f5.js.map → index-912140fa.js.map} +1 -1
  115. package/dist/_chunks/{index-eebad65d.js → index-947668f7.js} +3 -3
  116. package/dist/_chunks/{index-eebad65d.js.map → index-947668f7.js.map} +1 -1
  117. package/dist/_chunks/{index-8e034257.mjs → index-95d9bcb0.mjs} +3 -3
  118. package/dist/_chunks/{index-8e034257.mjs.map → index-95d9bcb0.mjs.map} +1 -1
  119. package/dist/_chunks/{index-56b499fb.mjs → index-98221317.mjs} +5 -5
  120. package/dist/_chunks/{index-56b499fb.mjs.map → index-98221317.mjs.map} +1 -1
  121. package/dist/_chunks/{index-6797e259.mjs → index-9881aa54.mjs} +3 -3
  122. package/dist/_chunks/{index-6797e259.mjs.map → index-9881aa54.mjs.map} +1 -1
  123. package/dist/_chunks/{index-9304d6de.js → index-9d98e8b2.js} +511 -475
  124. package/dist/_chunks/index-9d98e8b2.js.map +1 -0
  125. package/dist/_chunks/{index-97a59f73.js → index-9ebd4c75.js} +4 -4
  126. package/dist/_chunks/{index-97a59f73.js.map → index-9ebd4c75.js.map} +1 -1
  127. package/dist/_chunks/{index-b6ee936b.mjs → index-9f08bcc3.mjs} +14 -8
  128. package/dist/_chunks/{index-b6ee936b.mjs.map → index-9f08bcc3.mjs.map} +1 -1
  129. package/dist/_chunks/{index-eaff38ba.js → index-a1707d3b.js} +3 -3
  130. package/dist/_chunks/{index-eaff38ba.js.map → index-a1707d3b.js.map} +1 -1
  131. package/dist/_chunks/{index-039f8e26.mjs → index-a61e2ef0.mjs} +4 -4
  132. package/dist/_chunks/{index-039f8e26.mjs.map → index-a61e2ef0.mjs.map} +1 -1
  133. package/dist/_chunks/{index-b2d4d126.js → index-a8c829e4.js} +5 -5
  134. package/dist/_chunks/{index-b2d4d126.js.map → index-a8c829e4.js.map} +1 -1
  135. package/dist/_chunks/{index-72494b79.js → index-a9574ead.js} +3 -3
  136. package/dist/_chunks/{index-72494b79.js.map → index-a9574ead.js.map} +1 -1
  137. package/dist/_chunks/{index-9118a940.mjs → index-a98002b5.mjs} +4 -4
  138. package/dist/_chunks/{index-9118a940.mjs.map → index-a98002b5.mjs.map} +1 -1
  139. package/dist/_chunks/{index-d9882c45.mjs → index-ad85a00a.mjs} +4 -4
  140. package/dist/_chunks/{index-d9882c45.mjs.map → index-ad85a00a.mjs.map} +1 -1
  141. package/dist/_chunks/{index-bde05e9e.mjs → index-b6e7426d.mjs} +3 -3
  142. package/dist/_chunks/{index-bde05e9e.mjs.map → index-b6e7426d.mjs.map} +1 -1
  143. package/dist/_chunks/{index-46138ec7.mjs → index-bcafdc00.mjs} +4 -4
  144. package/dist/_chunks/{index-46138ec7.mjs.map → index-bcafdc00.mjs.map} +1 -1
  145. package/dist/_chunks/{index-a6f1ccf6.mjs → index-bd42fb77.mjs} +6 -6
  146. package/dist/_chunks/{index-a6f1ccf6.mjs.map → index-bd42fb77.mjs.map} +1 -1
  147. package/dist/_chunks/{index-bac648de.js → index-bdb23c76.js} +5 -5
  148. package/dist/_chunks/{index-bac648de.js.map → index-bdb23c76.js.map} +1 -1
  149. package/dist/_chunks/{index-81509193.mjs → index-c0f59e46.mjs} +513 -477
  150. package/dist/_chunks/index-c0f59e46.mjs.map +1 -0
  151. package/dist/_chunks/{index-557e0c47.js → index-c8be54b1.js} +2 -2
  152. package/dist/_chunks/{index-557e0c47.js.map → index-c8be54b1.js.map} +1 -1
  153. package/dist/_chunks/{index-345c0ae9.js → index-c8f0ea8f.js} +6 -6
  154. package/dist/_chunks/{index-345c0ae9.js.map → index-c8f0ea8f.js.map} +1 -1
  155. package/dist/_chunks/{index-f7dbd21b.js → index-caa6ed37.js} +2 -2
  156. package/dist/_chunks/{index-f7dbd21b.js.map → index-caa6ed37.js.map} +1 -1
  157. package/dist/_chunks/{index-25975989.js → index-ccae5f17.js} +4 -4
  158. package/dist/_chunks/{index-25975989.js.map → index-ccae5f17.js.map} +1 -1
  159. package/dist/_chunks/{index-d5f569ab.js → index-cf24d5a0.js} +5 -5
  160. package/dist/_chunks/{index-d5f569ab.js.map → index-cf24d5a0.js.map} +1 -1
  161. package/dist/_chunks/{index-6353193a.mjs → index-d8d56664.mjs} +5 -5
  162. package/dist/_chunks/{index-6353193a.mjs.map → index-d8d56664.mjs.map} +1 -1
  163. package/dist/_chunks/{index-69d47db4.js → index-da64448f.js} +3 -3
  164. package/dist/_chunks/{index-69d47db4.js.map → index-da64448f.js.map} +1 -1
  165. package/dist/_chunks/{index-be3e5f69.mjs → index-e04aafb3.mjs} +2 -2
  166. package/dist/_chunks/{index-be3e5f69.mjs.map → index-e04aafb3.mjs.map} +1 -1
  167. package/dist/_chunks/{index-9f30a92e.js → index-e76dc085.js} +4 -4
  168. package/dist/_chunks/{index-9f30a92e.js.map → index-e76dc085.js.map} +1 -1
  169. package/dist/_chunks/{index-bfb581a2.js → index-eab05381.js} +3 -3
  170. package/dist/_chunks/{index-bfb581a2.js.map → index-eab05381.js.map} +1 -1
  171. package/dist/_chunks/{index-2b22b1a0.js → index-eb720419.js} +5 -5
  172. package/dist/_chunks/{index-2b22b1a0.js.map → index-eb720419.js.map} +1 -1
  173. package/dist/_chunks/{index-4f557234.mjs → index-ebd0c6b2.mjs} +3 -3
  174. package/dist/_chunks/{index-4f557234.mjs.map → index-ebd0c6b2.mjs.map} +1 -1
  175. package/dist/_chunks/{index-e0e235a0.js → index-ef2c6efd.js} +3 -3
  176. package/dist/_chunks/{index-e0e235a0.js.map → index-ef2c6efd.js.map} +1 -1
  177. package/dist/_chunks/{index-1f4afa21.js → index-f09ec538.js} +3 -3
  178. package/dist/_chunks/{index-1f4afa21.js.map → index-f09ec538.js.map} +1 -1
  179. package/dist/_chunks/{index-9f2d5dc8.js → index-f5a00b06.js} +3 -3
  180. package/dist/_chunks/{index-9f2d5dc8.js.map → index-f5a00b06.js.map} +1 -1
  181. package/dist/_chunks/{index-5a5b0567.js → index-f762b27d.js} +21 -21
  182. package/dist/_chunks/{index-5a5b0567.js.map → index-f762b27d.js.map} +1 -1
  183. package/dist/_chunks/{index-f52ae628.mjs → index-faf78cfd.mjs} +3 -3
  184. package/dist/_chunks/{index-f52ae628.mjs.map → index-faf78cfd.mjs.map} +1 -1
  185. package/dist/_chunks/{index-0c9fceff.js → index-ff413b1a.js} +5 -5
  186. package/dist/_chunks/{index-0c9fceff.js.map → index-ff413b1a.js.map} +1 -1
  187. package/dist/_chunks/{index-1a74fa41.js → index-ffd2f664.js} +8 -4
  188. package/dist/_chunks/index-ffd2f664.js.map +1 -0
  189. package/dist/_chunks/{ru-d43423ea.mjs → ru-9aad40c5.mjs} +91 -42
  190. package/dist/_chunks/{ru-d43423ea.mjs.map → ru-9aad40c5.mjs.map} +1 -1
  191. package/dist/_chunks/{ru-07958f09.js → ru-c0293425.js} +91 -42
  192. package/dist/_chunks/{ru-07958f09.js.map → ru-c0293425.js.map} +1 -1
  193. package/dist/_chunks/{schema-a7f695ae.mjs → schema-da392e23.mjs} +2 -2
  194. package/dist/_chunks/{schema-a7f695ae.mjs.map → schema-da392e23.mjs.map} +1 -1
  195. package/dist/_chunks/{schema-15e33d1c.js → schema-e8bfd9c4.js} +2 -2
  196. package/dist/_chunks/{schema-15e33d1c.js.map → schema-e8bfd9c4.js.map} +1 -1
  197. package/dist/_chunks/{validateWorkflow-6b5dffaf.js → validateWorkflow-34ccfb57.js} +3 -3
  198. package/dist/_chunks/{validateWorkflow-6b5dffaf.js.map → validateWorkflow-34ccfb57.js.map} +1 -1
  199. package/dist/_chunks/{validateWorkflow-2f84e76e.mjs → validateWorkflow-67154f59.mjs} +3 -3
  200. package/dist/_chunks/{validateWorkflow-2f84e76e.mjs.map → validateWorkflow-67154f59.mjs.map} +1 -1
  201. package/dist/admin/index.js +1 -1
  202. package/dist/admin/index.mjs +1 -1
  203. package/dist/admin/src/content-manager/components/BlocksInput/BlocksContent.d.ts +5 -0
  204. package/dist/admin/src/content-manager/components/BlocksInput/BlocksEditor.d.ts +34 -0
  205. package/dist/admin/src/content-manager/components/BlocksInput/BlocksInput.d.ts +18 -0
  206. package/dist/admin/src/content-manager/components/BlocksInput/BlocksToolbar.d.ts +2 -0
  207. package/dist/admin/src/content-manager/components/BlocksInput/hooks/useBlocksStore.d.ts +32 -0
  208. package/dist/admin/src/content-manager/components/BlocksInput/hooks/useModifiersStore.d.ts +20 -0
  209. package/dist/admin/src/content-manager/components/BlocksInput/plugins/withLinks.d.ts +8 -0
  210. package/dist/admin/src/content-manager/components/BlocksInput/plugins/withStrapiSchema.d.ts +8 -0
  211. package/dist/admin/src/content-manager/components/BlocksInput/tests/mock-schema.d.ts +2 -0
  212. package/dist/admin/src/content-manager/components/BlocksInput/utils/links.d.ts +10 -0
  213. package/dist/admin/src/content-manager/components/BlocksInput/utils/types.d.ts +6 -0
  214. package/dist/admin/src/hooks/useAdminUsers.d.ts +3 -3
  215. package/dist/admin/src/index.d.ts +1 -0
  216. package/dist/admin/src/render.d.ts +3 -1
  217. package/dist/cli.js +1 -1
  218. package/dist/cli.mjs +1 -1
  219. package/package.json +14 -14
  220. package/server/services/__tests__/user.test.js +15 -0
  221. package/server/services/user.js +1 -4
  222. package/dist/_chunks/SalesPage-c5cbb366.js.map +0 -1
  223. package/dist/_chunks/index-1a74fa41.js.map +0 -1
  224. package/dist/_chunks/index-81509193.mjs.map +0 -1
  225. package/dist/_chunks/index-9304d6de.js.map +0 -1
  226. package/dist/_chunks/index-dc89c18c.mjs.map +0 -1
@@ -76,7 +76,7 @@ const ru = {
76
76
  "Auth.privacy-policy-agreement.terms": "Условия использования",
77
77
  "Auth.reset-password.title": "Сброс пароля",
78
78
  "Content Manager": "Редактор контента",
79
- "Content Type Builder": "Типы контента",
79
+ "Content Type Builder": "Конструктор типов содержимого",
80
80
  Documentation,
81
81
  Email,
82
82
  "Files Upload": "Загрузка файлов",
@@ -84,7 +84,7 @@ const ru = {
84
84
  "HomePage.roadmap": "Смотрите нашу дорожную карту",
85
85
  "HomePage.welcome.congrats": "Поздравляем!",
86
86
  "HomePage.welcome.congrats.content": "Вы вошли как первый администратор. Чтобы открыть для себя мощные функции, предоставляемые Strapi,",
87
- "HomePage.welcome.congrats.content.bold": "мы рекомендуем вам создать свою первую Коллекцию.",
87
+ "HomePage.welcome.congrats.content.bold": "мы рекомендуем вам создать свой первый тип коллекции.",
88
88
  "Media Library": "Библиотека медиа",
89
89
  "New entry": "Новая запись",
90
90
  Password,
@@ -95,10 +95,10 @@ const ru = {
95
95
  "Roles.ListPage.notification.delete-all-not-allowed": "Некоторые роли нельзя было удалить, так как они связаны с пользователями",
96
96
  "Roles.ListPage.notification.delete-not-allowed": "Невозможно удалить роль, если она связана с пользователями",
97
97
  "Roles.RoleRow.select-all": "Выберите {name} для групповых действий",
98
- "Roles.RoleRow.user-count": "{number, plural, =0 {# пользователей} one {# пользователь} other {# пользователей}}",
98
+ "Roles.RoleRow.user-count": "{number, plural, =0{# пользователей} one{# пользователь} few{# пользователя} many {# пользователей}}",
99
99
  "Roles.components.List.empty.withSearch": "Нет роли, соответствующей поиску ({search})...",
100
100
  "Settings.PageTitle": "Настройки — {name}",
101
- "Settings.apiTokens.ListView.headers.createdAt": "Создан",
101
+ "Settings.apiTokens.ListView.headers.createdAt": "Cоздан в",
102
102
  "Settings.apiTokens.ListView.headers.description": "Описание",
103
103
  "Settings.apiTokens.ListView.headers.lastUsedAt": "Последнее использование",
104
104
  "Settings.apiTokens.ListView.headers.name": "Название",
@@ -107,17 +107,18 @@ const ru = {
107
107
  "Settings.apiTokens.addNewToken": "Добавить новый API-токен",
108
108
  "Settings.apiTokens.create": "Создайте новый API-токен",
109
109
  "Settings.apiTokens.createPage.BoundRoute.title": "Связанный маршрут к",
110
- "Settings.apiTokens.createPage.permissions.description": "Ниже перечислены только действия, связанные с маршрутом.",
110
+ "Settings.apiTokens.createPage.permissions.description": "Ниже перечислены только действия связанные с маршрутом.",
111
111
  "Settings.apiTokens.createPage.permissions.header.hint": "Выберите действия для приложения или плагина и нажмите на значок шестеренки, чтобы отобразить связанный маршрут",
112
112
  "Settings.apiTokens.createPage.permissions.header.title": "Дополнительные настройки",
113
113
  "Settings.apiTokens.createPage.permissions.title": "Разрешения",
114
114
  "Settings.apiTokens.createPage.title": "Создать API-токен",
115
115
  "Settings.apiTokens.description": "Список сгенерированных токенов для использования API",
116
116
  "Settings.apiTokens.emptyStateLayout": "У вас ещё нет контента...",
117
+ "Settings.apiTokens.lastHour": "последний час",
117
118
  "Settings.apiTokens.regenerate": "Перегенерировать",
118
119
  "Settings.apiTokens.title": "API-токены",
119
120
  "Settings.application.customization": "Персонализация",
120
- "Settings.application.customization.auth-logo.carousel-hint": "Замените логотип на странице авторизации",
121
+ "Settings.application.customization.auth-logo.carousel-hint": "Заменить логотип на страницах аутентификации",
121
122
  "Settings.application.customization.carousel-hint": "Изменить логотип панели администратора (максимальный размер: {dimension}x{dimension}, максимальный размер файла: {size}KB)",
122
123
  "Settings.application.customization.carousel-slide.label": "Слайд с логотипом",
123
124
  "Settings.application.customization.carousel.auth-logo.title": "Логотип на странице авторизации",
@@ -146,7 +147,7 @@ const ru = {
146
147
  "Settings.application.customization.modal.upload.from-url.input-label": "URL",
147
148
  "Settings.application.customization.modal.upload.next": "Далее",
148
149
  "Settings.application.customization.size-details": "Максимальное разрешение: {dimension}×{dimension}, максимальный размер файла: {size}KB",
149
- "Settings.application.description": "Посмотреть детали вашего проекта",
150
+ "Settings.application.description": "Глобальная информация панели администратора",
150
151
  "Settings.application.edition-title": "Текущий план",
151
152
  "Settings.application.ee-or-ce": "{communityEdition, select, true {Community Edition} other {Enterprise Edition}}",
152
153
  "Settings.application.ee.admin-seats.add-seats": "{isHostedOnStrapiCloud, select, true {Добавить места} other {Обратитесь в отдел продаж}}",
@@ -158,19 +159,19 @@ const ru = {
158
159
  "Settings.application.node-version": "Версия Node",
159
160
  "Settings.application.strapi-version": "Версия Strapi",
160
161
  "Settings.application.strapiVersion": "Версия Strapi",
161
- "Settings.application.title": "Приложение",
162
+ "Settings.application.title": "Обзор",
162
163
  "Settings.error": "Ошибка",
163
164
  "Settings.global": "Глобальные Настройки",
164
165
  "Settings.permissions": "Панель администратора",
165
166
  "Settings.permissions.auditLogs.action": "Действие",
166
167
  "Settings.permissions.auditLogs.admin.auth.success": "Вход администратора",
167
168
  "Settings.permissions.auditLogs.admin.logout": "Выход администратора",
168
- "Settings.permissions.auditLogs.component.create": "Создал компонент",
169
- "Settings.permissions.auditLogs.component.delete": "Удалил компонент",
170
- "Settings.permissions.auditLogs.component.update": "Обновил компонент",
171
- "Settings.permissions.auditLogs.content-type.create": "Создал тип контента",
172
- "Settings.permissions.auditLogs.content-type.delete": "Удалил тип контента",
173
- "Settings.permissions.auditLogs.content-type.update": "Обновил тип контента",
169
+ "Settings.permissions.auditLogs.component.create": "Создать компонент",
170
+ "Settings.permissions.auditLogs.component.delete": "Удалить компонент",
171
+ "Settings.permissions.auditLogs.component.update": "Обновить компонент",
172
+ "Settings.permissions.auditLogs.content-type.create": "Создать тип контента",
173
+ "Settings.permissions.auditLogs.content-type.delete": "Удалить тип контента",
174
+ "Settings.permissions.auditLogs.content-type.update": "Обновить тип контента",
174
175
  "Settings.permissions.auditLogs.date": "Дата",
175
176
  "Settings.permissions.auditLogs.details": "Детали лога",
176
177
  "Settings.permissions.auditLogs.entry.create": "Создать {model, select, undefined {} other { ({model})}}",
@@ -180,21 +181,21 @@ const ru = {
180
181
  "Settings.permissions.auditLogs.entry.update": "Обновить {model, select, undefined {} other { ({model})}}",
181
182
  "Settings.permissions.auditLogs.filters.combobox.aria-label": "Выполните поиск и выберите вариант для фильтрации",
182
183
  "Settings.permissions.auditLogs.listview.header.subtitle": "Журналы всех действий, которые произошли в вашей среде",
183
- "Settings.permissions.auditLogs.media.create": "Создал медиафайл",
184
- "Settings.permissions.auditLogs.media.delete": "Удалил медиафайл",
185
- "Settings.permissions.auditLogs.media.update": "Обновил медиафайл",
184
+ "Settings.permissions.auditLogs.media.create": "Создать медиафайл",
185
+ "Settings.permissions.auditLogs.media.delete": "Удалить медиафайл",
186
+ "Settings.permissions.auditLogs.media.update": "Обновить медиафайл",
186
187
  "Settings.permissions.auditLogs.payload": "Полезная нагрузка",
187
- "Settings.permissions.auditLogs.permission.create": "Создал разрешение",
188
- "Settings.permissions.auditLogs.permission.delete": "Удалил разрешение",
189
- "Settings.permissions.auditLogs.permission.update": "Обновил разрешение",
190
- "Settings.permissions.auditLogs.role.create": "Создал роль",
191
- "Settings.permissions.auditLogs.role.delete": "Удалил роль",
192
- "Settings.permissions.auditLogs.role.update": "Обновил роль",
188
+ "Settings.permissions.auditLogs.permission.create": "Создать разрешение",
189
+ "Settings.permissions.auditLogs.permission.delete": "Удалить разрешение",
190
+ "Settings.permissions.auditLogs.permission.update": "Обновить разрешение",
191
+ "Settings.permissions.auditLogs.role.create": "Создать роль",
192
+ "Settings.permissions.auditLogs.role.delete": "Удалить роль",
193
+ "Settings.permissions.auditLogs.role.update": "Обновить роль",
193
194
  "Settings.permissions.auditLogs.user": "Пользователь",
194
- "Settings.permissions.auditLogs.user.create": "Создал пользователя",
195
- "Settings.permissions.auditLogs.user.delete": "Удалил пользователя",
195
+ "Settings.permissions.auditLogs.user.create": "Создать пользователя",
196
+ "Settings.permissions.auditLogs.user.delete": "Удалить пользователя",
196
197
  "Settings.permissions.auditLogs.user.fullname": "{firstname} {lastname}",
197
- "Settings.permissions.auditLogs.user.update": "Обновил пользователя",
198
+ "Settings.permissions.auditLogs.user.update": "Обновить пользователя",
198
199
  "Settings.permissions.auditLogs.userId": "ID пользователя",
199
200
  "Settings.permissions.category": "Настройки разрешений для {category}",
200
201
  "Settings.permissions.category.plugins": "Настройки разрешений для плагина {category}",
@@ -220,6 +221,7 @@ const ru = {
220
221
  "Settings.permissions.users.lastname": "Фамилия",
221
222
  "Settings.permissions.users.listview.header.subtitle": "Все пользователи, имеющие доступ к панели администратора Strapi",
222
223
  "Settings.permissions.users.roles": "Роли",
224
+ "Settings.permissions.users.sso.provider.error": "Произошла ошибка при запросе настроек единого входа (SSO)",
223
225
  "Settings.permissions.users.strapi-author": "Автор",
224
226
  "Settings.permissions.users.strapi-editor": "Редактор",
225
227
  "Settings.permissions.users.strapi-super-admin": "Супер-администратор",
@@ -238,10 +240,10 @@ const ru = {
238
240
  "Settings.profile.form.section.experience.title": "Опыт",
239
241
  "Settings.profile.form.section.helmet.title": "Профиль пользователя",
240
242
  "Settings.profile.form.section.profile.page.title": "Страница профиля",
241
- "Settings.review-workflows.page.title": "Просмотр рабочих процессов",
242
- "Settings.review-workflows.page.subtitle": "{count, plural, =0 {# этапов} one {# этап} other {# этапа}}",
243
- "Settings.review-workflows.page.isLoading": "Рабочие процессы загружаются",
244
243
  "Settings.review-workflows.page.delete.confirm.body": "Все записи, назначенные удаленным этапам, будут перемещены на предыдущий этап. Вы уверены, что хотите сохранить?",
244
+ "Settings.review-workflows.page.isLoading": "Рабочие процессы загружаются",
245
+ "Settings.review-workflows.page.subtitle": "{count, plural, =0{# этапов} one{# этап} few{# этапа} many {# этапов}}",
246
+ "Settings.review-workflows.page.title": "Просмотр рабочих процессов",
245
247
  "Settings.review-workflows.stage.name.label": "Имя этапа",
246
248
  "Settings.roles.create.description": "Определите права, предоставленные ролью",
247
249
  "Settings.roles.create.title": "Создать роль",
@@ -264,6 +266,8 @@ const ru = {
264
266
  "Settings.sso.form.defaultRole.description": "Присоединит нового аутентифицированного пользователя к выбранной роли",
265
267
  "Settings.sso.form.defaultRole.description-not-allowed": "У вас должно быть разрешение на чтение ролей администратора",
266
268
  "Settings.sso.form.defaultRole.label": "Роль по умолчанию",
269
+ "Settings.sso.form.localAuthenticationLock.description": "Выберите роли, для которых вы хотите отключить локальную проверку аутентификацию",
270
+ "Settings.sso.form.localAuthenticationLock.label": "Блокировать локальную аутентификацию",
267
271
  "Settings.sso.form.registration.description": "Создать нового пользователя при входе через SSO, если учётной записи нет",
268
272
  "Settings.sso.form.registration.label": "Авто-регистрация",
269
273
  "Settings.sso.title": "Функция единого входа",
@@ -304,7 +308,10 @@ const ru = {
304
308
  "Settings.webhooks.create.header": "Создание нового заголовка",
305
309
  "Settings.webhooks.created": "Webhook создан",
306
310
  "Settings.webhooks.event.publish-tooltip": "Это событие существует только для содержимого с включенной системой Черновиков/Публикаций",
311
+ "Settings.webhooks.event.select": "Выберите событие",
307
312
  "Settings.webhooks.events.create": "Создание",
313
+ "Settings.webhooks.events.delete": "Удалить вебхук",
314
+ "Settings.webhooks.events.isLoading": "Загрузка событий",
308
315
  "Settings.webhooks.events.update": "Обновление",
309
316
  "Settings.webhooks.form.events": "События",
310
317
  "Settings.webhooks.form.headers": "Заголовки",
@@ -316,11 +323,12 @@ const ru = {
316
323
  "Settings.webhooks.list.empty.description": "Добавить первый в этот список",
317
324
  "Settings.webhooks.list.empty.link": "Просмотреть документацию",
318
325
  "Settings.webhooks.list.empty.title": "Пока ещё нет ни одного webhook'а",
326
+ "Settings.webhooks.list.loading.success": "Вебхуки были загружены",
319
327
  "Settings.webhooks.list.th.actions": "действия",
320
328
  "Settings.webhooks.list.th.status": "статус",
321
329
  "Settings.webhooks.singular": "webhook",
322
330
  "Settings.webhooks.title": "Webhook'и",
323
- "Settings.webhooks.to.delete": "{webhooksToDeleteLength, plural, =0 {# ассетов} one {# ассет} other {# ассеты}} выбраны",
331
+ "Settings.webhooks.to.delete": "{webhooksToDeleteLength, plural, =0{# ассетов} one{# ассет} few{# ассета} many {# ассетов}} выбраны",
324
332
  "Settings.webhooks.trigger": "Триггер",
325
333
  "Settings.webhooks.trigger.cancel": "Отмена триггера",
326
334
  "Settings.webhooks.trigger.pending": "Ожидание…",
@@ -329,6 +337,12 @@ const ru = {
329
337
  "Settings.webhooks.trigger.success.label": "Триггер выполнен",
330
338
  "Settings.webhooks.trigger.test": "Тест триггер",
331
339
  "Settings.webhooks.trigger.title": "Сохранить перед триггером",
340
+ "Settings.webhooks.validation.key": "Ключ обязателен",
341
+ "Settings.webhooks.validation.name.regex": "Имя должно начинаться с буквы и содержать только буквы, цифры, пробелы и подчеркивания",
342
+ "Settings.webhooks.validation.name.required": "Имя обязательно",
343
+ "Settings.webhooks.validation.url.regex": "Значение должно быть допустимым URL-адресом",
344
+ "Settings.webhooks.validation.url.required": "URL-адрес обязателен",
345
+ "Settings.webhooks.validation.value": "Значение обязательно",
332
346
  "Settings.webhooks.value": "Значение",
333
347
  "Usecase.back-end": "Back-end разработчик",
334
348
  "Usecase.button.skip": "Пропустить этот вопрос",
@@ -345,11 +359,10 @@ const ru = {
345
359
  "Users.components.List.empty": "Нет пользователей...",
346
360
  "Users.components.List.empty.withFilters": "Нет пользователей с применёнными фильтрами...",
347
361
  "Users.components.List.empty.withSearch": "Нет пользователей, соответствующих запросу ({search})...",
348
- "admin.pages.MarketPlacePage.sort.label": "Сортировка",
349
362
  "admin.pages.MarketPlacePage.filters.categories": "Категории",
350
- "admin.pages.MarketPlacePage.filters.categoriesSelected": "Выбрано {count, plural, =0 {# категорий} one {# категория} other {# категории}}",
363
+ "admin.pages.MarketPlacePage.filters.categoriesSelected": "Выбрано {count, plural, =0{# категорий} one{# категория} few{# категории} many {# категорий}}",
351
364
  "admin.pages.MarketPlacePage.filters.collections": "Коллекции",
352
- "admin.pages.MarketPlacePage.filters.collectionsSelected": "Выбрано {count, plural, =0 {# Коллекций} one {# Коллекция} other {# Коллекции}}",
365
+ "admin.pages.MarketPlacePage.filters.collectionsSelected": "Выбрано {count, plural, =0{# Коллекций} one{# Коллекция} few{# Коллекции} many {# Коллекций}}",
353
366
  "admin.pages.MarketPlacePage.helmet": "Маркет плагинов — Плагины",
354
367
  "admin.pages.MarketPlacePage.missingPlugin.description": "Расскажите нам, какой плагин вы ищете, и мы сообщим об этом разработчикам плагинов нашего сообщества на случай, если они ищут вдохновение!",
355
368
  "admin.pages.MarketPlacePage.missingPlugin.title": "Вам не хватает плагина?",
@@ -378,6 +391,7 @@ const ru = {
378
391
  "admin.pages.MarketPlacePage.sort.alphabetical.selected": "Сортировать по алфавиту",
379
392
  "admin.pages.MarketPlacePage.sort.githubStars": "По звёздам на GitHub",
380
393
  "admin.pages.MarketPlacePage.sort.githubStars.selected": "Сортировать по звёздам на GitHub",
394
+ "admin.pages.MarketPlacePage.sort.label": "Сортировка",
381
395
  "admin.pages.MarketPlacePage.sort.newest": "Новые",
382
396
  "admin.pages.MarketPlacePage.sort.newest.selected": "Сортировать по новейшим",
383
397
  "admin.pages.MarketPlacePage.sort.npmDownloads": "Количество загрузок",
@@ -484,6 +498,13 @@ const ru = {
484
498
  "app.components.MarketplaceBanner.link": "Посмотреть",
485
499
  "app.components.NotFoundPage.back": "Вернуться на главную",
486
500
  "app.components.NotFoundPage.description": "Не найдено",
501
+ "app.components.NpsSurvey.banner-title": "Насколько велика вероятность того, что вы порекомендуете Strapi другу или коллеге?",
502
+ "app.components.NpsSurvey.dismiss-survey-label": "Отказаться от опроса",
503
+ "app.components.NpsSurvey.feedback-question": "Есть ли у вас какие-либо предложения по улучшению?",
504
+ "app.components.NpsSurvey.feedback-response": "Большое вам спасибо за ваш отзыв!",
505
+ "app.components.NpsSurvey.happy-to-recommend": "Чрезвычайно вероятно",
506
+ "app.components.NpsSurvey.no-recommendation": "Совсем маловероятно",
507
+ "app.components.NpsSurvey.submit-feedback": "Отправить отзыв",
487
508
  "app.components.Official": "Официальный",
488
509
  "app.components.Onboarding.help.button": "Кнопка помощь",
489
510
  "app.components.Onboarding.label.completed": "% завершено",
@@ -545,6 +566,9 @@ const ru = {
545
566
  "app.utils.notify.data-loaded": "{target} загружена",
546
567
  "app.utils.placeholder.defaultMessage": " ",
547
568
  "app.utils.publish": "Опубликовать",
569
+ "app.utils.published": "Опубликовано",
570
+ "app.utils.ready-to-publish": "Готово к публикации",
571
+ "app.utils.refresh": "Обновить",
548
572
  "app.utils.select-all": "Выбрать все",
549
573
  "app.utils.select-field": "Выберите поле",
550
574
  "app.utils.select-filter": "Выберите фильтр",
@@ -583,16 +607,27 @@ const ru = {
583
607
  "components.Input.error.custom-error": "{errorMessage} ",
584
608
  "components.Input.error.password.noMatch": "Пароли не совпадают",
585
609
  "components.Input.error.validation.email": "Неправильный или написанный с ошибкой email",
610
+ "components.Input.error.validation.email.withField": "Поле {field} — содержит неверный адрес электронной почты",
586
611
  "components.Input.error.validation.json": "Не соответствует JSON формату",
612
+ "components.Input.error.validation.json.withField": "Поле {field} — не соответствует формату JSON",
587
613
  "components.Input.error.validation.lowercase": "Значение должно быть строкой в нижнем регистре",
614
+ "components.Input.error.validation.lowercase.withField": "Поле {field} — должно быть строкой в нижнем регистре (без заглавных букв)",
588
615
  "components.Input.error.validation.max": "Значение слишком большое.",
616
+ "components.Input.error.validation.max.withField": "Поле {field} — слишком велико.",
589
617
  "components.Input.error.validation.maxLength": "Значение слишком длинное.",
618
+ "components.Input.error.validation.maxLength.withField": "Поле {field} — слишком длинное.",
590
619
  "components.Input.error.validation.min": "Значение слишком маленькое.",
620
+ "components.Input.error.validation.min.withField": "Поле {field} — слишком мало.",
591
621
  "components.Input.error.validation.minLength": "Значение слишком короткое.",
622
+ "components.Input.error.validation.minLength.withField": "Поле {field} — слишком короткое.",
592
623
  "components.Input.error.validation.minSupMax": "Не может быть больше",
624
+ "components.Input.error.validation.minSupMax.withField": "Поле {field} — не может быть выше",
593
625
  "components.Input.error.validation.regex": "Значение не соответствует регулярному выражению.",
626
+ "components.Input.error.validation.regex.withField": "Поле {field} — не соответствует формату регулярных выражений.",
594
627
  "components.Input.error.validation.required": "Обязательное значение.",
628
+ "components.Input.error.validation.required.withField": "Поле {field} — обязательное.",
595
629
  "components.Input.error.validation.unique": "Это значение уже используется.",
630
+ "components.Input.error.validation.unique.withField": "Поле {field} — уже используется.",
596
631
  "components.InputSelect.option.placeholder": "Выберите здесь",
597
632
  "components.ListRow.empty": "Нет данных для отображения.",
598
633
  "components.NotAllowedInput.text": "Нет прав на просмотр этого поля",
@@ -605,6 +640,7 @@ const ru = {
605
640
  "components.ProductionBlocker.header": "Этот плагин доступен только на стадии разработки.",
606
641
  "components.Search.placeholder": "Поиск...",
607
642
  "components.TableHeader.sort": "Сортировать по {label}",
643
+ "components.ViewSettings.tooltip": "Настройки просмотра",
608
644
  "components.Wysiwyg.ToggleMode.markdown-mode": "Режим разметки",
609
645
  "components.Wysiwyg.ToggleMode.preview-mode": "Режим предпросмотра",
610
646
  "components.Wysiwyg.collapse": "Свернуть",
@@ -628,13 +664,14 @@ const ru = {
628
664
  "components.popUpWarning.message": "Вы уверены, что хотите удалить это?",
629
665
  "components.popUpWarning.title": "Пожалуйста, подтвердите",
630
666
  "content-manager.App.schemas.data-loaded": "Схемы были успешно загружены",
667
+ "content-manager.EditRelations.title": "Связанные данные",
668
+ "content-manager.HeaderLayout.button.label-add-entry": "Создать новую запись",
631
669
  "content-manager.ListViewTable.relation-loaded": "Отношения были загружены",
632
670
  "content-manager.ListViewTable.relation-loading": "Отношения загружаются",
633
671
  "content-manager.ListViewTable.relation-more": "Это отношение содержит больше сущностей, чем отображается",
634
- "content-manager.EditRelations.title": "Связанные данные",
635
- "content-manager.HeaderLayout.button.label-add-entry": "Создать новую запись",
636
672
  "content-manager.api.id": "API ID",
637
673
  "content-manager.apiError.This attribute must be unique": "{field} должно быть уникальным",
674
+ "content-manager.bulk-publish.already-published": "Уже опубликовано",
638
675
  "content-manager.components.AddFilterCTA.add": "Фильтры",
639
676
  "content-manager.components.AddFilterCTA.hide": "Фильтры",
640
677
  "content-manager.components.DragHandle-label": "Перетащить",
@@ -642,12 +679,11 @@ const ru = {
642
679
  "content-manager.components.DraggableCard.delete.field": "Удалить {item}",
643
680
  "content-manager.components.DraggableCard.edit.field": "Редактировать {item}",
644
681
  "content-manager.components.DraggableCard.move.field": "Переместить {item}",
645
- "content-manager.components.ListViewTable.row-line": "строка {number}",
646
682
  "content-manager.components.DynamicZone.ComponentPicker-label": "Выберите один компонент",
647
683
  "content-manager.components.DynamicZone.add-component": "Добавить компонент в {componentName}",
648
684
  "content-manager.components.DynamicZone.delete-label": "Удалить {name}",
649
685
  "content-manager.components.DynamicZone.error-message": "Компонент содержит ошибку(-и)",
650
- "content-manager.components.DynamicZone.missing-components": "{number, plural, =0 {# отсутствующих компонентов} one {# отсутствующий компонент} other {# отсутствующих компонентов}}",
686
+ "content-manager.components.DynamicZone.missing-components": "{number, plural, =0{# отсутствующих компонентов} one{# отсутствующий компонент} few{# отсутствующих компонента} many {# отсутствующих компонентов}}",
651
687
  "content-manager.components.DynamicZone.move-down-label": "Переместить компонент вниз",
652
688
  "content-manager.components.DynamicZone.move-up-label": "Переместить компонент вверх",
653
689
  "content-manager.components.DynamicZone.pick-compo": "Выберите компонент",
@@ -657,6 +693,7 @@ const ru = {
657
693
  "content-manager.components.FieldItem.linkToComponentLayout": "Установить компоновку компонентов",
658
694
  "content-manager.components.FieldSelect.label": "Добавить поле",
659
695
  "content-manager.components.FilterOptions.button.apply": "Применить",
696
+ "content-manager.components.Filters.usersSelect.label": "Поиск и выбор пользователя для фильтрации по",
660
697
  "content-manager.components.FiltersPickWrapper.PluginHeader.actions.apply": "Применить",
661
698
  "content-manager.components.FiltersPickWrapper.PluginHeader.actions.clearAll": "Очистить все",
662
699
  "content-manager.components.FiltersPickWrapper.PluginHeader.description": "Укажите условия для фильтрации записей",
@@ -666,6 +703,7 @@ const ru = {
666
703
  "content-manager.components.LeftMenu.collection-types": "Типы Коллекций",
667
704
  "content-manager.components.LeftMenu.single-types": "Одиночные Типы",
668
705
  "content-manager.components.LimitSelect.itemsPerPage": "Элементов на странице",
706
+ "content-manager.components.ListViewTable.row-line": "строка {number}",
669
707
  "content-manager.components.NotAllowedInput.text": "Нет разрешений на просмотр этого поля",
670
708
  "content-manager.components.RelationInput.icon-button-aria-label": "Тяни",
671
709
  "content-manager.components.RepeatableComponent.error-message": "Компонент(-ы) содержит(-ат) ошибку(-и)",
@@ -720,7 +758,10 @@ const ru = {
720
758
  "content-manager.containers.List.errorFetchRecords": "Ошибка",
721
759
  "content-manager.containers.List.published": "Опубликован",
722
760
  "content-manager.containers.ListPage.displayedFields": "Отображаемые поля",
723
- "content-manager.containers.ListPage.items": "{number, plural, =0 {элементов} one {элемент} other {элементы}}",
761
+ "content-manager.containers.ListPage.items": "{number, plural, =0{# элементов} one{# элемент} few{# элемента} many {# элементов}}",
762
+ "content-manager.containers.ListPage.selectedEntriesModal.publishedCount": "<b>{publishedCount}</b> {publishedCount, plural, =0{# записей} one{# запись} few{# записи} many {# записей}} опубликованы. <b>{withErrorsCount}</b> {withErrorsCount, plural, =0{# записей} one{# запись} few{# записи} many {# записей}} ожидают действий.",
763
+ "content-manager.containers.ListPage.selectedEntriesModal.selectedCount": "<b>{readyToPublishCount}</b> {readyToPublishCount, plural, =0{# записей} one{# запись} few{# записи} many {# записей}} готовы к публикации. <b>{withErrorsCount}</b> {withErrorsCount, plural, =0{# записей} one{# запись} few{# записи} many {# записей}} ожидают действий.",
764
+ "content-manager.containers.ListPage.selectedEntriesModal.title": "Опубликовать записи",
724
765
  "content-manager.containers.ListPage.table-headers.publishedAt": "Состояние",
725
766
  "content-manager.containers.ListSettingsView.modal-form.edit-label": "Отредактировать {fieldName}",
726
767
  "content-manager.containers.SettingPage.add.field": "Добавить ещё одно поле",
@@ -783,7 +824,7 @@ const ru = {
783
824
  "content-manager.form.Input.description.placeholder": "Имя, отображаемое в профиле",
784
825
  "content-manager.form.Input.editable": "Редактируемое поле",
785
826
  "content-manager.form.Input.filters": "Включить фильтры",
786
- "content-manager.form.Input.hint.character.unit": "{maxValue, plural, one { символ} other { символов}}",
827
+ "content-manager.form.Input.hint.character.unit": "{maxValue, plural, =0{# символов} one{# символ} few{# символа} many {# символов}}",
787
828
  "content-manager.form.Input.hint.minMaxDivider": " / ",
788
829
  "content-manager.form.Input.hint.text": "{min, select, undefined {} other {мин. {min}}}{divider}{max, select, undefined {} other {макс. {max}}}{unit}{br}{description}",
789
830
  "content-manager.form.Input.label": "Подпись",
@@ -802,6 +843,8 @@ const ru = {
802
843
  "content-manager.groups.numbered": "Группы ({number})",
803
844
  "content-manager.header.name": "Контент",
804
845
  "content-manager.link-to-ctb": "Редактировать модель",
846
+ "content-manager.listView.validation.errors.message": "Пожалуйста, убедитесь перед публикацией, что все поля заполнены правильно (обязательное поле, минимальное/максимальное количество символов и т.д.).",
847
+ "content-manager.listView.validation.errors.title": "Требуется действие",
805
848
  "content-manager.models": "Типы Коллекции",
806
849
  "content-manager.models.numbered": "Типы Коллекции ({number})",
807
850
  "content-manager.notification.error.displayedFields": "Необходимо добавить хотя бы одно поле",
@@ -819,13 +862,16 @@ const ru = {
819
862
  "content-manager.plugin.description.short": "Быстрый способ увидеть, отредактировать и удалить данные в вашей базе данных.",
820
863
  "content-manager.popUpWarning.bodyMessage.contentType.delete": "Вы уверены, что хотите удалить эту запись?",
821
864
  "content-manager.popUpWarning.bodyMessage.contentType.delete.all": "Вы уверены, что хотите удалить эти записи?",
865
+ "content-manager.popUpWarning.bodyMessage.contentType.publish.all": "Are you sure you want to publish these entries?",
866
+ "content-manager.popUpWarning.bodyMessage.contentType.unpublish.all": "Are you sure you want to unpublish these entries?",
822
867
  "content-manager.popUpWarning.warning.has-draft-relations.title": "Подтверждение",
823
868
  "content-manager.popUpWarning.warning.publish-question": "Вы уверены, что хотите опубликовать запись?",
824
869
  "content-manager.popUpWarning.warning.unpublish": "Если вы не опубликуете этот контент, он автоматически превратится в Черновик.",
825
870
  "content-manager.popUpWarning.warning.unpublish-question": "Вы уверены, что хотите её не публиковать?",
826
871
  "content-manager.popUpWarning.warning.updateAllSettings": "Это изменит все ваши настройки",
872
+ "content-manager.popUpwarning.warning.bulk-has-draft-relations.message": "<b>{count} {count, plural, =0{# отношений} one{# отношение} few{# отношения} many {# отношений}} из {entities} {entities, =0{# записей} one{# записи} few{# записей} many {# записей}}</b> ещё не опубликованы и могут привести к неожиданному поведению.",
827
873
  "content-manager.popUpwarning.warning.has-draft-relations.button-confirm": "Да, публиковать",
828
- "content-manager.popUpwarning.warning.has-draft-relations.message": "<b>{count, plural, =0 {отношений записей} one {отношение записей} other {отношений записей}}</b> ещё не опубликованы.<br></br>Это может привести к появлению неработающих ссылок и ошибок в вашем проекте.",
874
+ "content-manager.popUpwarning.warning.has-draft-relations.message": "<b>{count, plural, =0{# отношений записей} one{# отношение записи} few{# отношения записи} many {# отношений записей}}</b> ещё не опубликованы.<br></br>Это может привести к появлению неработающих ссылок и ошибок в вашем проекте.",
829
875
  "content-manager.popover.display-relations.label": "Показать отношения",
830
876
  "content-manager.relation.add": "Добавить отношение",
831
877
  "content-manager.relation.disconnect": "Удалить",
@@ -838,9 +884,10 @@ const ru = {
838
884
  "content-manager.select.currently.selected": "{count} выбрано",
839
885
  "content-manager.success.record.delete": "Удалено",
840
886
  "content-manager.success.record.publish": "Опубликовано",
887
+ "content-manager.success.record.publishing": "Публикуем...",
841
888
  "content-manager.success.record.save": "Сохранено",
842
889
  "content-manager.success.record.unpublish": "Не опубликовано",
843
- "content-manager.utils.data-loaded": "{number, plural, =0 {записей} one {запись} other {записей}} успешно загружено",
890
+ "content-manager.utils.data-loaded": "{number, plural, =0{# записей} one{# запись} few{# записи} many {# записей}} успешно загружено",
844
891
  dark,
845
892
  "form.button.continue": "Продолжить",
846
893
  "form.button.done": "Выполнено",
@@ -849,6 +896,7 @@ const ru = {
849
896
  "global.back": "Назад",
850
897
  "global.cancel": "Отмена",
851
898
  "global.change-password": "Сменить пароль",
899
+ "global.close": "Закрыть",
852
900
  "global.content-manager": "Редактор контента",
853
901
  "global.continue": "Продолжить",
854
902
  "global.delete": "Удалить",
@@ -859,6 +907,7 @@ const ru = {
859
907
  "global.documentation": "Документация",
860
908
  "global.enabled": "Включено",
861
909
  "global.finish": "Готово",
910
+ "global.fullname": "{firstname} {lastname}",
862
911
  "global.marketplace": "Маркет",
863
912
  "global.name": "Имя",
864
913
  "global.none": "Нет",
@@ -941,4 +990,4 @@ exports.or = or;
941
990
  exports.selectButtonTitle = selectButtonTitle;
942
991
  exports.skipToContent = skipToContent;
943
992
  exports.submit = submit;
944
- //# sourceMappingURL=ru-07958f09.js.map
993
+ //# sourceMappingURL=ru-c0293425.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ru-07958f09.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ru-c0293425.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,7 +1,7 @@
1
1
  import { createContext, useState, useRef } from "react";
2
2
  import { useDrop, useDrag } from "react-dnd";
3
3
  import { createSelector } from "@reduxjs/toolkit";
4
- import { J as initialState } from "./index-b6ee936b.mjs";
4
+ import { J as initialState } from "./index-9f08bcc3.mjs";
5
5
  import { translatedErrors } from "@strapi/helper-plugin";
6
6
  import get from "lodash/get";
7
7
  import isBoolean from "lodash/isBoolean";
@@ -487,4 +487,4 @@ export {
487
487
  selectFieldSizes as s,
488
488
  useDragAndDrop as u
489
489
  };
490
- //# sourceMappingURL=schema-a7f695ae.mjs.map
490
+ //# sourceMappingURL=schema-da392e23.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema-a7f695ae.mjs","sources":["../../admin/src/content-manager/utils/getTrad.js","../../admin/src/content-manager/contexts/Wysiwyg.js","../../admin/src/content-manager/hooks/useKeyboardDragAndDrop.js","../../admin/src/content-manager/hooks/useDragAndDrop.js","../../admin/src/content-manager/pages/App/selectors.js","../../admin/src/content-manager/utils/composeRefs.js","../../admin/src/content-manager/utils/isFieldTypeNumber.js","../../admin/src/content-manager/utils/schema.js"],"sourcesContent":["const getTrad = (id) => `content-manager.${id}`;\n\nexport default getTrad;\n","import { createContext } from 'react';\n\nconst WysiwygContext = createContext();\n\nexport default WysiwygContext;\n","import { useState } from 'react';\n\n/**\n * @typedef UseKeyboardDragAndDropCallbacks\n *\n * @type {{\n * onCancel?: (index: number) => void,\n * onDropItem?: (index: number) => void,\n * onGrabItem?: (index: number) => void,\n * onMoveItem: (newIndex: number, currentIndex: number) => void,\n * }}\n */\n\n/**\n * Utility hook designed to implement keyboard accessibile drag and drop by\n * returning an onKeyDown handler to be passed to the drag icon button.\n *\n * @internal - You should use `useDragAndDrop` instead.\n *\n * @type {(active: boolean, index: number, callbacks: UseKeyboardDragAndDropCallbacks) => (event: React.KeyboardEvent<HTMLButtonElement>) => void}\n */\nexport const useKeyboardDragAndDrop = (\n active,\n index,\n { onCancel, onDropItem, onGrabItem, onMoveItem }\n) => {\n const [isSelected, setIsSelected] = useState(false);\n /**\n * @type {(movement: 'UP' | 'DOWN') => void})}\n */\n const handleMove = (movement) => {\n if (!isSelected) {\n return;\n }\n\n if (movement === 'UP') {\n onMoveItem(index - 1, index);\n } else if (movement === 'DOWN') {\n onMoveItem(index + 1, index);\n }\n };\n\n const handleDragClick = () => {\n if (isSelected) {\n if (onDropItem) {\n onDropItem(index);\n }\n setIsSelected(false);\n } else {\n if (onGrabItem) {\n onGrabItem(index);\n }\n setIsSelected(true);\n }\n };\n\n const handleCancel = () => {\n if (isSelected) {\n setIsSelected(false);\n\n if (onCancel) {\n onCancel(index);\n }\n }\n };\n\n /**\n * @type {React.KeyboardEventHandler<HTMLButtonElement>}\n */\n const handleKeyDown = (e) => {\n if (!active) {\n return;\n }\n\n if (e.key === 'Tab' && !isSelected) {\n return;\n }\n\n e.preventDefault();\n\n switch (e.key) {\n case ' ':\n case 'Enter':\n handleDragClick();\n break;\n\n case 'Escape':\n handleCancel();\n break;\n\n case 'ArrowDown':\n case 'ArrowRight':\n handleMove('DOWN');\n break;\n\n case 'ArrowUp':\n case 'ArrowLeft':\n handleMove('UP');\n break;\n\n default:\n }\n };\n\n return handleKeyDown;\n};\n","import { useRef } from 'react';\n\nimport { useDrag, useDrop } from 'react-dnd';\n\nimport { useKeyboardDragAndDrop } from './useKeyboardDragAndDrop';\n\n/**\n * @typedef UseDragAndDropOptions\n *\n * @type {{\n * type?: string,\n * index: number,\n * item?: object,\n * onStart?: () => void,\n * onEnd?: () => void,\n * dropSensitivity?: 'regular' | 'immediate'\n * } & import('./useKeyboardDragAndDrop').UseKeyboardDragAndDropCallbacks}\n */\n\n/**\n * @typedef UseDragAndDropReturn\n *\n * @type {[props: {handlerId: import('dnd-core').Identifier, isDragging: boolean, handleKeyDown: (event: import('react').KeyboardEvent<HTMLButtonElement>) => void}, objectRef: React.RefObject<HTMLElement>, dropRef: import('react-dnd').ConnectDropTarget, dragRef: import('react-dnd').ConnectDragSource, dragPreviewRef: import('react-dnd').ConnectDragPreview]}\n */\n\n/**\n * A utility hook abstracting the general drag and drop hooks from react-dnd.\n * Centralising the same behaviours and by default offering keyboard support.\n *\n * @type {(active: boolean, options: UseDragAndDropOptions) => UseDragAndDropReturn}\n */\nexport const useDragAndDrop = (\n active,\n {\n type = 'STRAPI_DND',\n index,\n item = {},\n onStart,\n onEnd,\n onGrabItem,\n onDropItem,\n onCancel,\n onMoveItem,\n dropSensitivity = 'regular',\n }\n) => {\n const objectRef = useRef(null);\n\n const [{ handlerId }, dropRef] = useDrop({\n accept: type,\n collect(monitor) {\n return {\n handlerId: monitor.getHandlerId(),\n };\n },\n hover(item, monitor) {\n if (!objectRef.current) {\n return;\n }\n const dragIndex = item.index;\n const newInd = index;\n\n // Don't replace items with themselves\n if (dragIndex === newInd) {\n return;\n }\n\n if (dropSensitivity === 'regular') {\n const hoverBoundingRect = objectRef.current.getBoundingClientRect();\n const hoverMiddleY = (hoverBoundingRect.bottom - hoverBoundingRect.top) / 2;\n const clientOffset = monitor.getClientOffset();\n const hoverClientY = clientOffset.y - hoverBoundingRect.top;\n\n // Dragging downwards\n if (dragIndex < newInd && hoverClientY < hoverMiddleY) {\n return;\n }\n\n // Dragging upwards\n if (dragIndex > newInd && hoverClientY > hoverMiddleY) {\n return;\n }\n }\n\n // Time to actually perform the action\n onMoveItem(newInd, dragIndex);\n item.index = newInd;\n },\n });\n\n const [{ isDragging }, dragRef, dragPreviewRef] = useDrag({\n type,\n item() {\n if (onStart) {\n onStart();\n }\n\n /**\n * This will be attached and it helps define the preview sizes\n * when a component is flexy e.g. Relations\n */\n const { width } = objectRef.current?.getBoundingClientRect() ?? {};\n\n return { index, width, ...item };\n },\n end() {\n if (onEnd) {\n onEnd();\n }\n },\n canDrag: active,\n /**\n * This is for useful when the item is in a virtualized list.\n * However, if we don't have an ID then we want the libraries\n * defaults to take care of this.\n */\n isDragging: item.id\n ? (monitor) => {\n return item.id === monitor.getItem().id;\n }\n : undefined,\n collect: (monitor) => ({\n isDragging: monitor.isDragging(),\n }),\n });\n\n const handleKeyDown = useKeyboardDragAndDrop(active, index, {\n onGrabItem,\n onDropItem,\n onCancel,\n onMoveItem,\n });\n\n return [{ handlerId, isDragging, handleKeyDown }, objectRef, dropRef, dragRef, dragPreviewRef];\n};\n","import { createSelector } from '@reduxjs/toolkit';\n\nimport { initialState } from './reducer';\n\nconst selectAppDomain = () => (state) => {\n return state['content-manager_app'] || initialState;\n};\n\nconst makeSelectApp = () =>\n createSelector(selectAppDomain(), (substate) => {\n return substate;\n });\n\nconst makeSelectModels = () => createSelector(selectAppDomain(), (state) => state.models);\n\nconst makeSelectModelLinks = () =>\n createSelector(selectAppDomain(), (state) => ({\n collectionTypeLinks: state.collectionTypeLinks,\n singleTypeLinks: state.singleTypeLinks,\n }));\n\nconst makeSelectModelAndComponentSchemas = () =>\n createSelector(selectAppDomain(), ({ components, models }) => ({\n schemas: [...components, ...models],\n }));\n\nconst selectFieldSizes = createSelector(selectAppDomain(), (state) => state.fieldSizes);\n\nexport default makeSelectApp;\nexport {\n makeSelectModelAndComponentSchemas,\n makeSelectModelLinks,\n makeSelectModels,\n selectAppDomain,\n selectFieldSizes,\n};\n","/**\n * @typedef PossibleRef<T>\n * @type {React.Ref<T> | undefined;}\n *\n * @typedef setRef\n * @type {<T>(ref: PossibleRef<T>, value: T) => React.RefCallback<T>}\n */\n\n/**\n * @type {setRef}\n */\nconst setRef = (ref, value) => {\n if (typeof ref === 'function') {\n ref(value);\n } else if (ref !== null && ref !== undefined) {\n ref.current = value;\n }\n};\n\n/**\n * A utility to compose multiple refs together\n * Accepts callback refs and RefObject(s)\n *\n * @type {<T>(...refs: PossibleRef<T>[]) => (node: T) => void}\n */\nexport const composeRefs = (...refs) => {\n return (node) => refs.forEach((ref) => setRef(ref, node));\n};\n","export default function isFieldTypeNumber(type) {\n return ['integer', 'biginteger', 'decimal', 'float', 'number'].includes(type);\n}\n","import { translatedErrors as errorsTrads } from '@strapi/helper-plugin';\nimport get from 'lodash/get';\nimport isBoolean from 'lodash/isBoolean';\nimport isEmpty from 'lodash/isEmpty';\nimport isNaN from 'lodash/isNaN';\nimport toNumber from 'lodash/toNumber';\nimport * as yup from 'yup';\n\nimport isFieldTypeNumber from './isFieldTypeNumber';\n\nyup.addMethod(yup.mixed, 'defined', function () {\n return this.test('defined', errorsTrads.required, (value) => value !== undefined);\n});\n\nyup.addMethod(yup.array, 'notEmptyMin', function (min) {\n return this.test('notEmptyMin', errorsTrads.min, (value) => {\n if (isEmpty(value)) {\n return true;\n }\n\n return value.length >= min;\n });\n});\n\nyup.addMethod(yup.string, 'isInferior', function (message, max) {\n return this.test('isInferior', message, function (value) {\n if (!value) {\n return true;\n }\n\n if (Number.isNaN(toNumber(value))) {\n return true;\n }\n\n return toNumber(max) >= toNumber(value);\n });\n});\n\nyup.addMethod(yup.string, 'isSuperior', function (message, min) {\n return this.test('isSuperior', message, function (value) {\n if (!value) {\n return true;\n }\n\n if (Number.isNaN(toNumber(value))) {\n return true;\n }\n\n return toNumber(value) >= toNumber(min);\n });\n});\n\nconst getAttributes = (data) => get(data, ['attributes'], {});\n\nconst createYupSchema = (\n model,\n { components },\n options = {\n isCreatingEntry: true,\n isDraft: true,\n isFromComponent: false,\n isJSONTestDisabled: false,\n }\n) => {\n const attributes = getAttributes(model);\n\n return yup.object().shape(\n Object.keys(attributes).reduce((acc, current) => {\n const attribute = attributes[current];\n\n if (\n attribute.type !== 'relation' &&\n attribute.type !== 'component' &&\n attribute.type !== 'dynamiczone'\n ) {\n const formatted = createYupSchemaAttribute(attribute.type, attribute, options);\n acc[current] = formatted;\n }\n\n if (attribute.type === 'relation') {\n acc[current] = [\n 'oneWay',\n 'oneToOne',\n 'manyToOne',\n 'oneToManyMorph',\n 'oneToOneMorph',\n ].includes(attribute.relationType)\n ? yup.object().nullable()\n : yup.array().nullable();\n }\n\n if (attribute.type === 'component') {\n const componentFieldSchema = createYupSchema(\n components[attribute.component],\n {\n components,\n },\n { ...options, isFromComponent: true }\n );\n\n if (attribute.repeatable === true) {\n const { min, max, required } = attribute;\n\n let componentSchema = yup.lazy((value) => {\n let baseSchema = yup.array().of(componentFieldSchema);\n\n if (min) {\n if (required) {\n baseSchema = baseSchema.min(min, errorsTrads.min);\n } else if (required !== true && isEmpty(value)) {\n baseSchema = baseSchema.nullable();\n } else {\n baseSchema = baseSchema.min(min, errorsTrads.min);\n }\n } else if (required && !options.isDraft) {\n baseSchema = baseSchema.min(1, errorsTrads.required);\n }\n\n if (max) {\n baseSchema = baseSchema.max(max, errorsTrads.max);\n }\n\n return baseSchema;\n });\n\n acc[current] = componentSchema;\n\n return acc;\n }\n const componentSchema = yup.lazy((obj) => {\n if (obj !== undefined) {\n return attribute.required === true && !options.isDraft\n ? componentFieldSchema.defined()\n : componentFieldSchema.nullable();\n }\n\n return attribute.required === true ? yup.object().defined() : yup.object().nullable();\n });\n\n acc[current] = componentSchema;\n\n return acc;\n }\n\n if (attribute.type === 'dynamiczone') {\n let dynamicZoneSchema = yup.array().of(\n yup.lazy(({ __component }) => {\n return createYupSchema(\n components[__component],\n { components },\n { ...options, isFromComponent: true }\n );\n })\n );\n\n const { max, min } = attribute;\n\n if (min) {\n if (attribute.required) {\n dynamicZoneSchema = dynamicZoneSchema\n .test('min', errorsTrads.min, (value) => {\n if (options.isCreatingEntry) {\n return value && value.length >= min;\n }\n\n if (value === undefined) {\n return true;\n }\n\n return value !== null && value.length >= min;\n })\n .test('required', errorsTrads.required, (value) => {\n if (options.isCreatingEntry) {\n return value !== null || value !== undefined;\n }\n\n if (value === undefined) {\n return true;\n }\n\n return value !== null;\n });\n } else {\n dynamicZoneSchema = dynamicZoneSchema.notEmptyMin(min);\n }\n } else if (attribute.required && !options.isDraft) {\n dynamicZoneSchema = dynamicZoneSchema.test('required', errorsTrads.required, (value) => {\n if (options.isCreatingEntry) {\n return value !== null || value !== undefined;\n }\n\n if (value === undefined) {\n return true;\n }\n\n return value !== null;\n });\n }\n\n if (max) {\n dynamicZoneSchema = dynamicZoneSchema.max(max, errorsTrads.max);\n }\n\n acc[current] = dynamicZoneSchema;\n }\n\n return acc;\n }, {})\n );\n};\n\nconst createYupSchemaAttribute = (type, validations, options) => {\n let schema = yup.mixed();\n\n if (['string', 'uid', 'text', 'richtext', 'email', 'password', 'enumeration'].includes(type)) {\n schema = yup.string();\n }\n\n if (type === 'blocks') {\n schema = yup.mixed().test('isJSON', errorsTrads.json, (value) => {\n // Disable the test for bulk publish, it's valid when it comes from the db\n if (options.isJSONTestDisabled) {\n return true;\n }\n\n // Don't run validations on drafts\n if (options.isDraft) {\n return true;\n }\n\n // The backend validates the actual schema, check if a value different than null is not an array\n if (value && !Array.isArray(value)) {\n return false;\n }\n\n return true;\n });\n }\n\n if (type === 'json') {\n schema = yup\n .mixed(errorsTrads.json)\n .test('isJSON', errorsTrads.json, (value) => {\n // Disable the test for bulk publish, it's valid when it comes from the db\n if (options.isJSONTestDisabled) {\n return true;\n }\n\n if (!value || !value.length) {\n return true;\n }\n\n try {\n JSON.parse(value);\n\n return true;\n } catch (err) {\n return false;\n }\n })\n .nullable()\n .test('required', errorsTrads.required, (value) => {\n if (validations.required && (!value || !value.length)) {\n return false;\n }\n\n return true;\n });\n }\n\n if (type === 'email') {\n schema = schema.email(errorsTrads.email);\n }\n\n if (['number', 'integer', 'float', 'decimal'].includes(type)) {\n schema = yup\n .number()\n .transform((cv) => (isNaN(cv) ? undefined : cv))\n .typeError();\n }\n\n if (type === 'biginteger') {\n schema = yup.string().matches(/^-?\\d*$/);\n }\n\n if (['date', 'datetime'].includes(type)) {\n schema = yup.date();\n }\n\n Object.keys(validations).forEach((validation) => {\n const validationValue = validations[validation];\n\n if (\n !!validationValue ||\n (!isBoolean(validationValue) && Number.isInteger(Math.floor(validationValue))) ||\n validationValue === 0\n ) {\n switch (validation) {\n case 'required': {\n if (!options.isDraft) {\n if (type === 'password' && options.isCreatingEntry) {\n schema = schema.required(errorsTrads.required);\n }\n\n if (type !== 'password') {\n if (options.isCreatingEntry) {\n schema = schema.required(errorsTrads.required);\n } else {\n schema = schema.test('required', errorsTrads.required, (value) => {\n // Field is not touched and the user is editing the entry\n if (value === undefined && !options.isFromComponent) {\n return true;\n }\n\n if (isFieldTypeNumber(type)) {\n if (value === 0) {\n return true;\n }\n\n return !!value;\n }\n\n if (type === 'boolean') {\n // Boolean value can be undefined/unset in modifiedData when generated in a new component\n return value !== null && value !== undefined;\n }\n\n if (type === 'date' || type === 'datetime') {\n if (typeof value === 'string') {\n return !isEmpty(value);\n }\n\n return !isEmpty(value?.toString());\n }\n\n return !isEmpty(value);\n });\n }\n }\n }\n\n break;\n }\n\n case 'max': {\n if (type === 'biginteger') {\n schema = schema.isInferior(errorsTrads.max, validationValue);\n } else {\n schema = schema.max(validationValue, errorsTrads.max);\n }\n break;\n }\n case 'maxLength':\n schema = schema.max(validationValue, errorsTrads.maxLength);\n break;\n case 'min': {\n if (type === 'biginteger') {\n schema = schema.isSuperior(errorsTrads.min, validationValue);\n } else {\n schema = schema.min(validationValue, errorsTrads.min);\n }\n break;\n }\n case 'minLength': {\n if (!options.isDraft) {\n schema = schema.min(validationValue, errorsTrads.minLength);\n }\n break;\n }\n case 'regex':\n schema = schema.matches(new RegExp(validationValue), {\n message: errorsTrads.regex,\n excludeEmptyString: !validations.required,\n });\n break;\n case 'lowercase':\n if (['text', 'textarea', 'email', 'string'].includes(type)) {\n schema = schema.strict().lowercase();\n }\n break;\n case 'uppercase':\n if (['text', 'textarea', 'email', 'string'].includes(type)) {\n schema = schema.strict().uppercase();\n }\n break;\n case 'positive':\n if (isFieldTypeNumber(type)) {\n schema = schema.positive();\n }\n break;\n case 'negative':\n if (isFieldTypeNumber(type)) {\n schema = schema.negative();\n }\n break;\n default:\n schema = schema.nullable();\n }\n }\n });\n\n return schema;\n};\n\nexport default createYupSchema;\n"],"names":["item","errorsTrads","componentSchema"],"mappings":"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"}
1
+ {"version":3,"file":"schema-da392e23.mjs","sources":["../../admin/src/content-manager/utils/getTrad.js","../../admin/src/content-manager/contexts/Wysiwyg.js","../../admin/src/content-manager/hooks/useKeyboardDragAndDrop.js","../../admin/src/content-manager/hooks/useDragAndDrop.js","../../admin/src/content-manager/pages/App/selectors.js","../../admin/src/content-manager/utils/composeRefs.js","../../admin/src/content-manager/utils/isFieldTypeNumber.js","../../admin/src/content-manager/utils/schema.js"],"sourcesContent":["const getTrad = (id) => `content-manager.${id}`;\n\nexport default getTrad;\n","import { createContext } from 'react';\n\nconst WysiwygContext = createContext();\n\nexport default WysiwygContext;\n","import { useState } from 'react';\n\n/**\n * @typedef UseKeyboardDragAndDropCallbacks\n *\n * @type {{\n * onCancel?: (index: number) => void,\n * onDropItem?: (index: number) => void,\n * onGrabItem?: (index: number) => void,\n * onMoveItem: (newIndex: number, currentIndex: number) => void,\n * }}\n */\n\n/**\n * Utility hook designed to implement keyboard accessibile drag and drop by\n * returning an onKeyDown handler to be passed to the drag icon button.\n *\n * @internal - You should use `useDragAndDrop` instead.\n *\n * @type {(active: boolean, index: number, callbacks: UseKeyboardDragAndDropCallbacks) => (event: React.KeyboardEvent<HTMLButtonElement>) => void}\n */\nexport const useKeyboardDragAndDrop = (\n active,\n index,\n { onCancel, onDropItem, onGrabItem, onMoveItem }\n) => {\n const [isSelected, setIsSelected] = useState(false);\n /**\n * @type {(movement: 'UP' | 'DOWN') => void})}\n */\n const handleMove = (movement) => {\n if (!isSelected) {\n return;\n }\n\n if (movement === 'UP') {\n onMoveItem(index - 1, index);\n } else if (movement === 'DOWN') {\n onMoveItem(index + 1, index);\n }\n };\n\n const handleDragClick = () => {\n if (isSelected) {\n if (onDropItem) {\n onDropItem(index);\n }\n setIsSelected(false);\n } else {\n if (onGrabItem) {\n onGrabItem(index);\n }\n setIsSelected(true);\n }\n };\n\n const handleCancel = () => {\n if (isSelected) {\n setIsSelected(false);\n\n if (onCancel) {\n onCancel(index);\n }\n }\n };\n\n /**\n * @type {React.KeyboardEventHandler<HTMLButtonElement>}\n */\n const handleKeyDown = (e) => {\n if (!active) {\n return;\n }\n\n if (e.key === 'Tab' && !isSelected) {\n return;\n }\n\n e.preventDefault();\n\n switch (e.key) {\n case ' ':\n case 'Enter':\n handleDragClick();\n break;\n\n case 'Escape':\n handleCancel();\n break;\n\n case 'ArrowDown':\n case 'ArrowRight':\n handleMove('DOWN');\n break;\n\n case 'ArrowUp':\n case 'ArrowLeft':\n handleMove('UP');\n break;\n\n default:\n }\n };\n\n return handleKeyDown;\n};\n","import { useRef } from 'react';\n\nimport { useDrag, useDrop } from 'react-dnd';\n\nimport { useKeyboardDragAndDrop } from './useKeyboardDragAndDrop';\n\n/**\n * @typedef UseDragAndDropOptions\n *\n * @type {{\n * type?: string,\n * index: number,\n * item?: object,\n * onStart?: () => void,\n * onEnd?: () => void,\n * dropSensitivity?: 'regular' | 'immediate'\n * } & import('./useKeyboardDragAndDrop').UseKeyboardDragAndDropCallbacks}\n */\n\n/**\n * @typedef UseDragAndDropReturn\n *\n * @type {[props: {handlerId: import('dnd-core').Identifier, isDragging: boolean, handleKeyDown: (event: import('react').KeyboardEvent<HTMLButtonElement>) => void}, objectRef: React.RefObject<HTMLElement>, dropRef: import('react-dnd').ConnectDropTarget, dragRef: import('react-dnd').ConnectDragSource, dragPreviewRef: import('react-dnd').ConnectDragPreview]}\n */\n\n/**\n * A utility hook abstracting the general drag and drop hooks from react-dnd.\n * Centralising the same behaviours and by default offering keyboard support.\n *\n * @type {(active: boolean, options: UseDragAndDropOptions) => UseDragAndDropReturn}\n */\nexport const useDragAndDrop = (\n active,\n {\n type = 'STRAPI_DND',\n index,\n item = {},\n onStart,\n onEnd,\n onGrabItem,\n onDropItem,\n onCancel,\n onMoveItem,\n dropSensitivity = 'regular',\n }\n) => {\n const objectRef = useRef(null);\n\n const [{ handlerId }, dropRef] = useDrop({\n accept: type,\n collect(monitor) {\n return {\n handlerId: monitor.getHandlerId(),\n };\n },\n hover(item, monitor) {\n if (!objectRef.current) {\n return;\n }\n const dragIndex = item.index;\n const newInd = index;\n\n // Don't replace items with themselves\n if (dragIndex === newInd) {\n return;\n }\n\n if (dropSensitivity === 'regular') {\n const hoverBoundingRect = objectRef.current.getBoundingClientRect();\n const hoverMiddleY = (hoverBoundingRect.bottom - hoverBoundingRect.top) / 2;\n const clientOffset = monitor.getClientOffset();\n const hoverClientY = clientOffset.y - hoverBoundingRect.top;\n\n // Dragging downwards\n if (dragIndex < newInd && hoverClientY < hoverMiddleY) {\n return;\n }\n\n // Dragging upwards\n if (dragIndex > newInd && hoverClientY > hoverMiddleY) {\n return;\n }\n }\n\n // Time to actually perform the action\n onMoveItem(newInd, dragIndex);\n item.index = newInd;\n },\n });\n\n const [{ isDragging }, dragRef, dragPreviewRef] = useDrag({\n type,\n item() {\n if (onStart) {\n onStart();\n }\n\n /**\n * This will be attached and it helps define the preview sizes\n * when a component is flexy e.g. Relations\n */\n const { width } = objectRef.current?.getBoundingClientRect() ?? {};\n\n return { index, width, ...item };\n },\n end() {\n if (onEnd) {\n onEnd();\n }\n },\n canDrag: active,\n /**\n * This is for useful when the item is in a virtualized list.\n * However, if we don't have an ID then we want the libraries\n * defaults to take care of this.\n */\n isDragging: item.id\n ? (monitor) => {\n return item.id === monitor.getItem().id;\n }\n : undefined,\n collect: (monitor) => ({\n isDragging: monitor.isDragging(),\n }),\n });\n\n const handleKeyDown = useKeyboardDragAndDrop(active, index, {\n onGrabItem,\n onDropItem,\n onCancel,\n onMoveItem,\n });\n\n return [{ handlerId, isDragging, handleKeyDown }, objectRef, dropRef, dragRef, dragPreviewRef];\n};\n","import { createSelector } from '@reduxjs/toolkit';\n\nimport { initialState } from './reducer';\n\nconst selectAppDomain = () => (state) => {\n return state['content-manager_app'] || initialState;\n};\n\nconst makeSelectApp = () =>\n createSelector(selectAppDomain(), (substate) => {\n return substate;\n });\n\nconst makeSelectModels = () => createSelector(selectAppDomain(), (state) => state.models);\n\nconst makeSelectModelLinks = () =>\n createSelector(selectAppDomain(), (state) => ({\n collectionTypeLinks: state.collectionTypeLinks,\n singleTypeLinks: state.singleTypeLinks,\n }));\n\nconst makeSelectModelAndComponentSchemas = () =>\n createSelector(selectAppDomain(), ({ components, models }) => ({\n schemas: [...components, ...models],\n }));\n\nconst selectFieldSizes = createSelector(selectAppDomain(), (state) => state.fieldSizes);\n\nexport default makeSelectApp;\nexport {\n makeSelectModelAndComponentSchemas,\n makeSelectModelLinks,\n makeSelectModels,\n selectAppDomain,\n selectFieldSizes,\n};\n","/**\n * @typedef PossibleRef<T>\n * @type {React.Ref<T> | undefined;}\n *\n * @typedef setRef\n * @type {<T>(ref: PossibleRef<T>, value: T) => React.RefCallback<T>}\n */\n\n/**\n * @type {setRef}\n */\nconst setRef = (ref, value) => {\n if (typeof ref === 'function') {\n ref(value);\n } else if (ref !== null && ref !== undefined) {\n ref.current = value;\n }\n};\n\n/**\n * A utility to compose multiple refs together\n * Accepts callback refs and RefObject(s)\n *\n * @type {<T>(...refs: PossibleRef<T>[]) => (node: T) => void}\n */\nexport const composeRefs = (...refs) => {\n return (node) => refs.forEach((ref) => setRef(ref, node));\n};\n","export default function isFieldTypeNumber(type) {\n return ['integer', 'biginteger', 'decimal', 'float', 'number'].includes(type);\n}\n","import { translatedErrors as errorsTrads } from '@strapi/helper-plugin';\nimport get from 'lodash/get';\nimport isBoolean from 'lodash/isBoolean';\nimport isEmpty from 'lodash/isEmpty';\nimport isNaN from 'lodash/isNaN';\nimport toNumber from 'lodash/toNumber';\nimport * as yup from 'yup';\n\nimport isFieldTypeNumber from './isFieldTypeNumber';\n\nyup.addMethod(yup.mixed, 'defined', function () {\n return this.test('defined', errorsTrads.required, (value) => value !== undefined);\n});\n\nyup.addMethod(yup.array, 'notEmptyMin', function (min) {\n return this.test('notEmptyMin', errorsTrads.min, (value) => {\n if (isEmpty(value)) {\n return true;\n }\n\n return value.length >= min;\n });\n});\n\nyup.addMethod(yup.string, 'isInferior', function (message, max) {\n return this.test('isInferior', message, function (value) {\n if (!value) {\n return true;\n }\n\n if (Number.isNaN(toNumber(value))) {\n return true;\n }\n\n return toNumber(max) >= toNumber(value);\n });\n});\n\nyup.addMethod(yup.string, 'isSuperior', function (message, min) {\n return this.test('isSuperior', message, function (value) {\n if (!value) {\n return true;\n }\n\n if (Number.isNaN(toNumber(value))) {\n return true;\n }\n\n return toNumber(value) >= toNumber(min);\n });\n});\n\nconst getAttributes = (data) => get(data, ['attributes'], {});\n\nconst createYupSchema = (\n model,\n { components },\n options = {\n isCreatingEntry: true,\n isDraft: true,\n isFromComponent: false,\n isJSONTestDisabled: false,\n }\n) => {\n const attributes = getAttributes(model);\n\n return yup.object().shape(\n Object.keys(attributes).reduce((acc, current) => {\n const attribute = attributes[current];\n\n if (\n attribute.type !== 'relation' &&\n attribute.type !== 'component' &&\n attribute.type !== 'dynamiczone'\n ) {\n const formatted = createYupSchemaAttribute(attribute.type, attribute, options);\n acc[current] = formatted;\n }\n\n if (attribute.type === 'relation') {\n acc[current] = [\n 'oneWay',\n 'oneToOne',\n 'manyToOne',\n 'oneToManyMorph',\n 'oneToOneMorph',\n ].includes(attribute.relationType)\n ? yup.object().nullable()\n : yup.array().nullable();\n }\n\n if (attribute.type === 'component') {\n const componentFieldSchema = createYupSchema(\n components[attribute.component],\n {\n components,\n },\n { ...options, isFromComponent: true }\n );\n\n if (attribute.repeatable === true) {\n const { min, max, required } = attribute;\n\n let componentSchema = yup.lazy((value) => {\n let baseSchema = yup.array().of(componentFieldSchema);\n\n if (min) {\n if (required) {\n baseSchema = baseSchema.min(min, errorsTrads.min);\n } else if (required !== true && isEmpty(value)) {\n baseSchema = baseSchema.nullable();\n } else {\n baseSchema = baseSchema.min(min, errorsTrads.min);\n }\n } else if (required && !options.isDraft) {\n baseSchema = baseSchema.min(1, errorsTrads.required);\n }\n\n if (max) {\n baseSchema = baseSchema.max(max, errorsTrads.max);\n }\n\n return baseSchema;\n });\n\n acc[current] = componentSchema;\n\n return acc;\n }\n const componentSchema = yup.lazy((obj) => {\n if (obj !== undefined) {\n return attribute.required === true && !options.isDraft\n ? componentFieldSchema.defined()\n : componentFieldSchema.nullable();\n }\n\n return attribute.required === true ? yup.object().defined() : yup.object().nullable();\n });\n\n acc[current] = componentSchema;\n\n return acc;\n }\n\n if (attribute.type === 'dynamiczone') {\n let dynamicZoneSchema = yup.array().of(\n yup.lazy(({ __component }) => {\n return createYupSchema(\n components[__component],\n { components },\n { ...options, isFromComponent: true }\n );\n })\n );\n\n const { max, min } = attribute;\n\n if (min) {\n if (attribute.required) {\n dynamicZoneSchema = dynamicZoneSchema\n .test('min', errorsTrads.min, (value) => {\n if (options.isCreatingEntry) {\n return value && value.length >= min;\n }\n\n if (value === undefined) {\n return true;\n }\n\n return value !== null && value.length >= min;\n })\n .test('required', errorsTrads.required, (value) => {\n if (options.isCreatingEntry) {\n return value !== null || value !== undefined;\n }\n\n if (value === undefined) {\n return true;\n }\n\n return value !== null;\n });\n } else {\n dynamicZoneSchema = dynamicZoneSchema.notEmptyMin(min);\n }\n } else if (attribute.required && !options.isDraft) {\n dynamicZoneSchema = dynamicZoneSchema.test('required', errorsTrads.required, (value) => {\n if (options.isCreatingEntry) {\n return value !== null || value !== undefined;\n }\n\n if (value === undefined) {\n return true;\n }\n\n return value !== null;\n });\n }\n\n if (max) {\n dynamicZoneSchema = dynamicZoneSchema.max(max, errorsTrads.max);\n }\n\n acc[current] = dynamicZoneSchema;\n }\n\n return acc;\n }, {})\n );\n};\n\nconst createYupSchemaAttribute = (type, validations, options) => {\n let schema = yup.mixed();\n\n if (['string', 'uid', 'text', 'richtext', 'email', 'password', 'enumeration'].includes(type)) {\n schema = yup.string();\n }\n\n if (type === 'blocks') {\n schema = yup.mixed().test('isJSON', errorsTrads.json, (value) => {\n // Disable the test for bulk publish, it's valid when it comes from the db\n if (options.isJSONTestDisabled) {\n return true;\n }\n\n // Don't run validations on drafts\n if (options.isDraft) {\n return true;\n }\n\n // The backend validates the actual schema, check if a value different than null is not an array\n if (value && !Array.isArray(value)) {\n return false;\n }\n\n return true;\n });\n }\n\n if (type === 'json') {\n schema = yup\n .mixed(errorsTrads.json)\n .test('isJSON', errorsTrads.json, (value) => {\n // Disable the test for bulk publish, it's valid when it comes from the db\n if (options.isJSONTestDisabled) {\n return true;\n }\n\n if (!value || !value.length) {\n return true;\n }\n\n try {\n JSON.parse(value);\n\n return true;\n } catch (err) {\n return false;\n }\n })\n .nullable()\n .test('required', errorsTrads.required, (value) => {\n if (validations.required && (!value || !value.length)) {\n return false;\n }\n\n return true;\n });\n }\n\n if (type === 'email') {\n schema = schema.email(errorsTrads.email);\n }\n\n if (['number', 'integer', 'float', 'decimal'].includes(type)) {\n schema = yup\n .number()\n .transform((cv) => (isNaN(cv) ? undefined : cv))\n .typeError();\n }\n\n if (type === 'biginteger') {\n schema = yup.string().matches(/^-?\\d*$/);\n }\n\n if (['date', 'datetime'].includes(type)) {\n schema = yup.date();\n }\n\n Object.keys(validations).forEach((validation) => {\n const validationValue = validations[validation];\n\n if (\n !!validationValue ||\n (!isBoolean(validationValue) && Number.isInteger(Math.floor(validationValue))) ||\n validationValue === 0\n ) {\n switch (validation) {\n case 'required': {\n if (!options.isDraft) {\n if (type === 'password' && options.isCreatingEntry) {\n schema = schema.required(errorsTrads.required);\n }\n\n if (type !== 'password') {\n if (options.isCreatingEntry) {\n schema = schema.required(errorsTrads.required);\n } else {\n schema = schema.test('required', errorsTrads.required, (value) => {\n // Field is not touched and the user is editing the entry\n if (value === undefined && !options.isFromComponent) {\n return true;\n }\n\n if (isFieldTypeNumber(type)) {\n if (value === 0) {\n return true;\n }\n\n return !!value;\n }\n\n if (type === 'boolean') {\n // Boolean value can be undefined/unset in modifiedData when generated in a new component\n return value !== null && value !== undefined;\n }\n\n if (type === 'date' || type === 'datetime') {\n if (typeof value === 'string') {\n return !isEmpty(value);\n }\n\n return !isEmpty(value?.toString());\n }\n\n return !isEmpty(value);\n });\n }\n }\n }\n\n break;\n }\n\n case 'max': {\n if (type === 'biginteger') {\n schema = schema.isInferior(errorsTrads.max, validationValue);\n } else {\n schema = schema.max(validationValue, errorsTrads.max);\n }\n break;\n }\n case 'maxLength':\n schema = schema.max(validationValue, errorsTrads.maxLength);\n break;\n case 'min': {\n if (type === 'biginteger') {\n schema = schema.isSuperior(errorsTrads.min, validationValue);\n } else {\n schema = schema.min(validationValue, errorsTrads.min);\n }\n break;\n }\n case 'minLength': {\n if (!options.isDraft) {\n schema = schema.min(validationValue, errorsTrads.minLength);\n }\n break;\n }\n case 'regex':\n schema = schema.matches(new RegExp(validationValue), {\n message: errorsTrads.regex,\n excludeEmptyString: !validations.required,\n });\n break;\n case 'lowercase':\n if (['text', 'textarea', 'email', 'string'].includes(type)) {\n schema = schema.strict().lowercase();\n }\n break;\n case 'uppercase':\n if (['text', 'textarea', 'email', 'string'].includes(type)) {\n schema = schema.strict().uppercase();\n }\n break;\n case 'positive':\n if (isFieldTypeNumber(type)) {\n schema = schema.positive();\n }\n break;\n case 'negative':\n if (isFieldTypeNumber(type)) {\n schema = schema.negative();\n }\n break;\n default:\n schema = schema.nullable();\n }\n }\n });\n\n return schema;\n};\n\nexport default createYupSchema;\n"],"names":["item","errorsTrads","componentSchema"],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  const React = require("react");
3
3
  const reactDnd = require("react-dnd");
4
4
  const toolkit = require("@reduxjs/toolkit");
5
- const index = require("./index-0ed05075.js");
5
+ const index = require("./index-8b79ee6c.js");
6
6
  const helperPlugin = require("@strapi/helper-plugin");
7
7
  const get = require("lodash/get");
8
8
  const isBoolean = require("lodash/isBoolean");
@@ -511,4 +511,4 @@ exports.makeSelectModelLinks = makeSelectModelLinks;
511
511
  exports.selectAppDomain = selectAppDomain;
512
512
  exports.selectFieldSizes = selectFieldSizes;
513
513
  exports.useDragAndDrop = useDragAndDrop;
514
- //# sourceMappingURL=schema-15e33d1c.js.map
514
+ //# sourceMappingURL=schema-e8bfd9c4.js.map