@strapi/content-manager 0.0.0-experimental.d1602f22dc638a4c3c5084965fd6126fff5e9d4f → 0.0.0-experimental.d325780feab1caf1b9e4423588eb1cc73b74c376

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 (441) hide show
  1. package/dist/_chunks/CardDragPreview-C0QyJgRA.js +69 -0
  2. package/dist/_chunks/CardDragPreview-C0QyJgRA.js.map +1 -0
  3. package/dist/_chunks/CardDragPreview-DOxamsuj.mjs +70 -0
  4. package/dist/_chunks/CardDragPreview-DOxamsuj.mjs.map +1 -0
  5. package/dist/_chunks/ComponentConfigurationPage-Cx-bPC7o.mjs +236 -0
  6. package/dist/_chunks/ComponentConfigurationPage-Cx-bPC7o.mjs.map +1 -0
  7. package/dist/_chunks/ComponentConfigurationPage-Dco_oGcv.js +254 -0
  8. package/dist/_chunks/ComponentConfigurationPage-Dco_oGcv.js.map +1 -0
  9. package/dist/_chunks/ComponentIcon-CRbtQEUV.js +175 -0
  10. package/dist/_chunks/ComponentIcon-CRbtQEUV.js.map +1 -0
  11. package/dist/_chunks/ComponentIcon-u4bIXTFY.mjs +157 -0
  12. package/dist/_chunks/ComponentIcon-u4bIXTFY.mjs.map +1 -0
  13. package/dist/_chunks/EditConfigurationPage-2JHTYC9l.mjs +132 -0
  14. package/dist/_chunks/EditConfigurationPage-2JHTYC9l.mjs.map +1 -0
  15. package/dist/_chunks/EditConfigurationPage-7ex5BamM.js +150 -0
  16. package/dist/_chunks/EditConfigurationPage-7ex5BamM.js.map +1 -0
  17. package/dist/_chunks/EditViewPage-BUdd4V-E.mjs +191 -0
  18. package/dist/_chunks/EditViewPage-BUdd4V-E.mjs.map +1 -0
  19. package/dist/_chunks/EditViewPage-CpSt4shF.js +209 -0
  20. package/dist/_chunks/EditViewPage-CpSt4shF.js.map +1 -0
  21. package/dist/_chunks/FieldTypeIcon-CMlNO8PE.mjs +50 -0
  22. package/dist/_chunks/FieldTypeIcon-CMlNO8PE.mjs.map +1 -0
  23. package/dist/_chunks/FieldTypeIcon-Dnwq_IRF.js +49 -0
  24. package/dist/_chunks/FieldTypeIcon-Dnwq_IRF.js.map +1 -0
  25. package/dist/_chunks/Form-B5wai69r.js +778 -0
  26. package/dist/_chunks/Form-B5wai69r.js.map +1 -0
  27. package/dist/_chunks/Form-CKvmIxLb.mjs +758 -0
  28. package/dist/_chunks/Form-CKvmIxLb.mjs.map +1 -0
  29. package/dist/_chunks/History-BtUvMl3c.mjs +999 -0
  30. package/dist/_chunks/History-BtUvMl3c.mjs.map +1 -0
  31. package/dist/_chunks/History-_uVRZnTx.js +1019 -0
  32. package/dist/_chunks/History-_uVRZnTx.js.map +1 -0
  33. package/dist/_chunks/Input-C7kIupyO.mjs +5585 -0
  34. package/dist/_chunks/Input-C7kIupyO.mjs.map +1 -0
  35. package/dist/_chunks/Input-D_lWa2v5.js +5617 -0
  36. package/dist/_chunks/Input-D_lWa2v5.js.map +1 -0
  37. package/dist/_chunks/ListConfigurationPage-B8V2YLn_.mjs +633 -0
  38. package/dist/_chunks/ListConfigurationPage-B8V2YLn_.mjs.map +1 -0
  39. package/dist/_chunks/ListConfigurationPage-mzxHRiSU.js +652 -0
  40. package/dist/_chunks/ListConfigurationPage-mzxHRiSU.js.map +1 -0
  41. package/dist/_chunks/ListViewPage-CmYoPeqC.js +877 -0
  42. package/dist/_chunks/ListViewPage-CmYoPeqC.js.map +1 -0
  43. package/dist/_chunks/ListViewPage-GTcTc1Mh.mjs +854 -0
  44. package/dist/_chunks/ListViewPage-GTcTc1Mh.mjs.map +1 -0
  45. package/dist/_chunks/NoContentTypePage-CurjDsnX.js +51 -0
  46. package/dist/_chunks/NoContentTypePage-CurjDsnX.js.map +1 -0
  47. package/dist/_chunks/NoContentTypePage-aTTRCOJI.mjs +51 -0
  48. package/dist/_chunks/NoContentTypePage-aTTRCOJI.mjs.map +1 -0
  49. package/dist/_chunks/NoPermissionsPage-BaC4j1Lu.mjs +23 -0
  50. package/dist/_chunks/NoPermissionsPage-BaC4j1Lu.mjs.map +1 -0
  51. package/dist/_chunks/NoPermissionsPage-DW7_REzi.js +23 -0
  52. package/dist/_chunks/NoPermissionsPage-DW7_REzi.js.map +1 -0
  53. package/dist/_chunks/Preview-DTUxeZDR.js +305 -0
  54. package/dist/_chunks/Preview-DTUxeZDR.js.map +1 -0
  55. package/dist/_chunks/Preview-k2MYjnIi.mjs +287 -0
  56. package/dist/_chunks/Preview-k2MYjnIi.mjs.map +1 -0
  57. package/dist/_chunks/Relations-CkfzR66V.js +750 -0
  58. package/dist/_chunks/Relations-CkfzR66V.js.map +1 -0
  59. package/dist/_chunks/Relations-ClCLZFKk.mjs +731 -0
  60. package/dist/_chunks/Relations-ClCLZFKk.mjs.map +1 -0
  61. package/dist/_chunks/ar-BUUWXIYu.js +226 -0
  62. package/dist/{admin/chunks/ar-DckYq_WK.js.map → _chunks/ar-BUUWXIYu.js.map} +1 -1
  63. package/dist/_chunks/ar-CCEVvqGG.mjs +226 -0
  64. package/dist/_chunks/ar-CCEVvqGG.mjs.map +1 -0
  65. package/dist/_chunks/ca-5U32ON2v.mjs +201 -0
  66. package/dist/_chunks/ca-5U32ON2v.mjs.map +1 -0
  67. package/dist/_chunks/ca-Cmk45QO6.js +201 -0
  68. package/dist/{admin/chunks/de-CbImAUA5.js.map → _chunks/ca-Cmk45QO6.js.map} +1 -1
  69. package/dist/_chunks/cs-CM2aBUar.mjs +125 -0
  70. package/dist/_chunks/cs-CM2aBUar.mjs.map +1 -0
  71. package/dist/_chunks/cs-CkJy6B2v.js +125 -0
  72. package/dist/{admin/chunks/cs-C7OSYFQ7.js.map → _chunks/cs-CkJy6B2v.js.map} +1 -1
  73. package/dist/_chunks/de-C72KDNOl.mjs +199 -0
  74. package/dist/_chunks/de-C72KDNOl.mjs.map +1 -0
  75. package/dist/_chunks/de-CCEmbAah.js +199 -0
  76. package/dist/{admin/chunks/es-C8vLuvZL.js.map → _chunks/de-CCEmbAah.js.map} +1 -1
  77. package/dist/_chunks/en-BR48D_RH.js +312 -0
  78. package/dist/{admin/chunks/en-LfhocNG2.js.map → _chunks/en-BR48D_RH.js.map} +1 -1
  79. package/dist/_chunks/en-D65uIF6Y.mjs +312 -0
  80. package/dist/{admin/chunks/en-C1CjdAtC.js.map → _chunks/en-D65uIF6Y.mjs.map} +1 -1
  81. package/dist/_chunks/es-9K52xZIr.js +196 -0
  82. package/dist/{admin/chunks/de-5QRlDHyR.js.map → _chunks/es-9K52xZIr.js.map} +1 -1
  83. package/dist/_chunks/es-D34tqjMw.mjs +196 -0
  84. package/dist/_chunks/es-D34tqjMw.mjs.map +1 -0
  85. package/dist/_chunks/eu-CdALomew.mjs +202 -0
  86. package/dist/_chunks/eu-CdALomew.mjs.map +1 -0
  87. package/dist/_chunks/eu-VDH-3ovk.js +202 -0
  88. package/dist/_chunks/eu-VDH-3ovk.js.map +1 -0
  89. package/dist/_chunks/fr-C43IbhA_.js +219 -0
  90. package/dist/_chunks/fr-C43IbhA_.js.map +1 -0
  91. package/dist/_chunks/fr-DBseuRuB.mjs +219 -0
  92. package/dist/_chunks/fr-DBseuRuB.mjs.map +1 -0
  93. package/dist/_chunks/gu-BRmF601H.js +200 -0
  94. package/dist/_chunks/gu-BRmF601H.js.map +1 -0
  95. package/dist/_chunks/gu-CNpaMDpH.mjs +200 -0
  96. package/dist/_chunks/gu-CNpaMDpH.mjs.map +1 -0
  97. package/dist/_chunks/hi-CCJBptSq.js +200 -0
  98. package/dist/_chunks/hi-CCJBptSq.js.map +1 -0
  99. package/dist/_chunks/hi-Dwvd04m3.mjs +200 -0
  100. package/dist/_chunks/hi-Dwvd04m3.mjs.map +1 -0
  101. package/dist/{admin/chunks/hooks-D-sOYd1s.js → _chunks/hooks-BAaaKPS_.js} +3 -6
  102. package/dist/_chunks/hooks-BAaaKPS_.js.map +1 -0
  103. package/dist/_chunks/hooks-E5u1mcgM.mjs +8 -0
  104. package/dist/_chunks/hooks-E5u1mcgM.mjs.map +1 -0
  105. package/dist/_chunks/hu-CeYvaaO0.mjs +202 -0
  106. package/dist/_chunks/hu-CeYvaaO0.mjs.map +1 -0
  107. package/dist/_chunks/hu-sNV_yLYy.js +202 -0
  108. package/dist/_chunks/hu-sNV_yLYy.js.map +1 -0
  109. package/dist/_chunks/id-B5Ser98A.js +160 -0
  110. package/dist/{admin/chunks/it-BAHrwmYS.js.map → _chunks/id-B5Ser98A.js.map} +1 -1
  111. package/dist/_chunks/id-BtwA9WJT.mjs +160 -0
  112. package/dist/_chunks/id-BtwA9WJT.mjs.map +1 -0
  113. package/dist/_chunks/index-CIIIuVmx.mjs +4481 -0
  114. package/dist/_chunks/index-CIIIuVmx.mjs.map +1 -0
  115. package/dist/_chunks/index-CwbxJQVl.js +4500 -0
  116. package/dist/_chunks/index-CwbxJQVl.js.map +1 -0
  117. package/dist/_chunks/it-BrVPqaf1.mjs +162 -0
  118. package/dist/_chunks/it-BrVPqaf1.mjs.map +1 -0
  119. package/dist/_chunks/it-DkBIs7vD.js +162 -0
  120. package/dist/{admin/chunks/id-D7V5S1rB.js.map → _chunks/it-DkBIs7vD.js.map} +1 -1
  121. package/dist/_chunks/ja-7sfIbjxE.js +196 -0
  122. package/dist/{admin/chunks/it-CQFpa_Dc.js.map → _chunks/ja-7sfIbjxE.js.map} +1 -1
  123. package/dist/_chunks/ja-BHqhDq4V.mjs +196 -0
  124. package/dist/_chunks/ja-BHqhDq4V.mjs.map +1 -0
  125. package/dist/_chunks/ko-HVQRlfUI.mjs +195 -0
  126. package/dist/_chunks/ko-HVQRlfUI.mjs.map +1 -0
  127. package/dist/_chunks/ko-woFZPmLk.js +195 -0
  128. package/dist/{admin/chunks/es-DkoWSExG.js.map → _chunks/ko-woFZPmLk.js.map} +1 -1
  129. package/dist/_chunks/layout-B1sUBgaT.js +488 -0
  130. package/dist/_chunks/layout-B1sUBgaT.js.map +1 -0
  131. package/dist/_chunks/layout-CpUqPtOS.mjs +471 -0
  132. package/dist/_chunks/layout-CpUqPtOS.mjs.map +1 -0
  133. package/dist/_chunks/ml-BihZwQit.mjs +200 -0
  134. package/dist/_chunks/ml-BihZwQit.mjs.map +1 -0
  135. package/dist/_chunks/ml-C2W8N8k1.js +200 -0
  136. package/dist/_chunks/ml-C2W8N8k1.js.map +1 -0
  137. package/dist/_chunks/ms-BuFotyP_.js +144 -0
  138. package/dist/{admin/chunks/cs-BJFxwIWj.js.map → _chunks/ms-BuFotyP_.js.map} +1 -1
  139. package/dist/_chunks/ms-m_WjyWx7.mjs +144 -0
  140. package/dist/_chunks/ms-m_WjyWx7.mjs.map +1 -0
  141. package/dist/_chunks/nl-D4R9gHx5.mjs +202 -0
  142. package/dist/_chunks/nl-D4R9gHx5.mjs.map +1 -0
  143. package/dist/_chunks/nl-bbEOHChV.js +202 -0
  144. package/dist/_chunks/nl-bbEOHChV.js.map +1 -0
  145. package/dist/_chunks/objects-BcXOv6_9.js +47 -0
  146. package/dist/_chunks/objects-BcXOv6_9.js.map +1 -0
  147. package/dist/_chunks/objects-D6yBsdmx.mjs +45 -0
  148. package/dist/_chunks/objects-D6yBsdmx.mjs.map +1 -0
  149. package/dist/_chunks/pl-sbx9mSt_.mjs +199 -0
  150. package/dist/_chunks/pl-sbx9mSt_.mjs.map +1 -0
  151. package/dist/_chunks/pl-uzwG-hk7.js +199 -0
  152. package/dist/{admin/chunks/ca-DviY7mRj.js.map → _chunks/pl-uzwG-hk7.js.map} +1 -1
  153. package/dist/_chunks/pt-BR-BiOz37D9.js +201 -0
  154. package/dist/{admin/chunks/pt-BR-CcotyBGJ.js.map → _chunks/pt-BR-BiOz37D9.js.map} +1 -1
  155. package/dist/_chunks/pt-BR-C71iDxnh.mjs +201 -0
  156. package/dist/_chunks/pt-BR-C71iDxnh.mjs.map +1 -0
  157. package/dist/_chunks/pt-BsaFvS8-.mjs +95 -0
  158. package/dist/_chunks/pt-BsaFvS8-.mjs.map +1 -0
  159. package/dist/_chunks/pt-CeXQuq50.js +95 -0
  160. package/dist/_chunks/pt-CeXQuq50.js.map +1 -0
  161. package/dist/_chunks/relations-B6L5kXX8.js +133 -0
  162. package/dist/_chunks/relations-B6L5kXX8.js.map +1 -0
  163. package/dist/_chunks/relations-DU-iUzo_.mjs +134 -0
  164. package/dist/_chunks/relations-DU-iUzo_.mjs.map +1 -0
  165. package/dist/_chunks/ru-BE6A4Exp.mjs +231 -0
  166. package/dist/{admin/chunks/ar-DeQBSsfl.js.map → _chunks/ru-BE6A4Exp.mjs.map} +1 -1
  167. package/dist/_chunks/ru-BT3ybNny.js +231 -0
  168. package/dist/{admin/chunks/ru-CB4BUyQp.js.map → _chunks/ru-BT3ybNny.js.map} +1 -1
  169. package/dist/_chunks/sa-CcvkYInH.js +200 -0
  170. package/dist/_chunks/sa-CcvkYInH.js.map +1 -0
  171. package/dist/_chunks/sa-Dag0k-Z8.mjs +200 -0
  172. package/dist/_chunks/sa-Dag0k-Z8.mjs.map +1 -0
  173. package/dist/_chunks/sk-BFg-R8qJ.mjs +202 -0
  174. package/dist/_chunks/sk-BFg-R8qJ.mjs.map +1 -0
  175. package/dist/_chunks/sk-CvY09Xjv.js +202 -0
  176. package/dist/_chunks/sk-CvY09Xjv.js.map +1 -0
  177. package/dist/_chunks/sv-CUnfWGsh.mjs +202 -0
  178. package/dist/_chunks/sv-CUnfWGsh.mjs.map +1 -0
  179. package/dist/_chunks/sv-MYDuzgvT.js +202 -0
  180. package/dist/_chunks/sv-MYDuzgvT.js.map +1 -0
  181. package/dist/_chunks/th-BqbI8lIT.mjs +148 -0
  182. package/dist/_chunks/th-BqbI8lIT.mjs.map +1 -0
  183. package/dist/_chunks/th-D9_GfAjc.js +148 -0
  184. package/dist/{admin/chunks/ms-CvSC0OdG.js.map → _chunks/th-D9_GfAjc.js.map} +1 -1
  185. package/dist/_chunks/tr-CgeK3wJM.mjs +199 -0
  186. package/dist/_chunks/tr-CgeK3wJM.mjs.map +1 -0
  187. package/dist/_chunks/tr-D9UH-O_R.js +199 -0
  188. package/dist/_chunks/tr-D9UH-O_R.js.map +1 -0
  189. package/dist/_chunks/uk-C8EiqJY7.js +144 -0
  190. package/dist/{admin/chunks/ms-Bh09NFff.js.map → _chunks/uk-C8EiqJY7.js.map} +1 -1
  191. package/dist/_chunks/uk-CR-zDhAY.mjs +144 -0
  192. package/dist/_chunks/uk-CR-zDhAY.mjs.map +1 -0
  193. package/dist/_chunks/useDragAndDrop-BMtgCYzL.js +245 -0
  194. package/dist/_chunks/useDragAndDrop-BMtgCYzL.js.map +1 -0
  195. package/dist/_chunks/useDragAndDrop-DJ6jqvZN.mjs +228 -0
  196. package/dist/_chunks/useDragAndDrop-DJ6jqvZN.mjs.map +1 -0
  197. package/dist/_chunks/usePrev-CZGy2Vjf.mjs +29 -0
  198. package/dist/_chunks/usePrev-CZGy2Vjf.mjs.map +1 -0
  199. package/dist/_chunks/usePrev-D5J_2fEu.js +28 -0
  200. package/dist/_chunks/usePrev-D5J_2fEu.js.map +1 -0
  201. package/dist/_chunks/vi-CJlYDheJ.js +111 -0
  202. package/dist/{admin/chunks/vi-CvBGlTjr.js.map → _chunks/vi-CJlYDheJ.js.map} +1 -1
  203. package/dist/_chunks/vi-DUXIk_fw.mjs +111 -0
  204. package/dist/_chunks/vi-DUXIk_fw.mjs.map +1 -0
  205. package/dist/_chunks/zh-BWZspA60.mjs +209 -0
  206. package/dist/_chunks/zh-BWZspA60.mjs.map +1 -0
  207. package/dist/_chunks/zh-CQQfszqR.js +209 -0
  208. package/dist/{admin/chunks/ca-ClDTvatJ.js.map → _chunks/zh-CQQfszqR.js.map} +1 -1
  209. package/dist/_chunks/zh-Hans-9kOncHGw.js +952 -0
  210. package/dist/{admin/chunks/zh-Hans-CI0HKio3.js.map → _chunks/zh-Hans-9kOncHGw.js.map} +1 -1
  211. package/dist/_chunks/zh-Hans-BPQcRIyH.mjs +952 -0
  212. package/dist/{admin/chunks/zh-Hans-JVK9x7xr.js.map → _chunks/zh-Hans-BPQcRIyH.mjs.map} +1 -1
  213. package/dist/admin/index.js +4 -23
  214. package/dist/admin/index.js.map +1 -1
  215. package/dist/admin/index.mjs +13 -16
  216. package/dist/admin/index.mjs.map +1 -1
  217. package/dist/admin/src/history/services/historyVersion.d.ts +1 -1
  218. package/dist/admin/src/hooks/useDocument.d.ts +2 -2
  219. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/Blocks/Code.d.ts +1 -0
  220. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/Blocks/utils/prismLanguages.d.ts +49 -0
  221. package/dist/admin/src/preview/components/PreviewContent.d.ts +1 -2
  222. package/dist/admin/src/preview/components/PreviewHeader.d.ts +1 -2
  223. package/dist/admin/src/preview/index.d.ts +3 -2
  224. package/dist/server/index.js +4396 -5468
  225. package/dist/server/index.js.map +1 -1
  226. package/dist/server/index.mjs +4368 -5442
  227. package/dist/server/index.mjs.map +1 -1
  228. package/dist/server/src/controllers/utils/metadata.d.ts +1 -1
  229. package/dist/server/src/controllers/utils/metadata.d.ts.map +1 -1
  230. package/dist/server/src/history/services/utils.d.ts.map +1 -1
  231. package/dist/server/src/services/utils/count.d.ts +1 -1
  232. package/dist/server/src/services/utils/count.d.ts.map +1 -1
  233. package/dist/server/src/services/utils/populate.d.ts +1 -1
  234. package/dist/server/src/services/utils/populate.d.ts.map +1 -1
  235. package/dist/shared/contracts/collection-types.d.ts +1 -0
  236. package/dist/shared/contracts/components.d.ts +1 -0
  237. package/dist/shared/contracts/content-types.d.ts +1 -0
  238. package/dist/shared/contracts/history-versions.d.ts +1 -0
  239. package/dist/shared/contracts/index.d.ts +1 -0
  240. package/dist/shared/contracts/init.d.ts +1 -0
  241. package/dist/shared/contracts/preview.d.ts +1 -0
  242. package/dist/shared/contracts/relations.d.ts +2 -1
  243. package/dist/shared/contracts/relations.d.ts.map +1 -1
  244. package/dist/shared/contracts/review-workflows.d.ts +1 -0
  245. package/dist/shared/contracts/single-types.d.ts +1 -0
  246. package/dist/shared/contracts/uid.d.ts +1 -0
  247. package/dist/shared/index.d.ts +1 -0
  248. package/dist/shared/index.js +24 -35
  249. package/dist/shared/index.js.map +1 -1
  250. package/dist/shared/index.mjs +25 -34
  251. package/dist/shared/index.mjs.map +1 -1
  252. package/package.json +10 -13
  253. package/dist/admin/chunks/CardDragPreview-DwuraT0K.js +0 -80
  254. package/dist/admin/chunks/CardDragPreview-DwuraT0K.js.map +0 -1
  255. package/dist/admin/chunks/CardDragPreview-_dubYgXO.js +0 -82
  256. package/dist/admin/chunks/CardDragPreview-_dubYgXO.js.map +0 -1
  257. package/dist/admin/chunks/ComponentConfigurationPage-DXwOtpq1.js +0 -298
  258. package/dist/admin/chunks/ComponentConfigurationPage-DXwOtpq1.js.map +0 -1
  259. package/dist/admin/chunks/ComponentConfigurationPage-DhYZp4nN.js +0 -276
  260. package/dist/admin/chunks/ComponentConfigurationPage-DhYZp4nN.js.map +0 -1
  261. package/dist/admin/chunks/ComponentIcon-BZcTc4rj.js +0 -153
  262. package/dist/admin/chunks/ComponentIcon-BZcTc4rj.js.map +0 -1
  263. package/dist/admin/chunks/ComponentIcon-C-EjOUPA.js +0 -176
  264. package/dist/admin/chunks/ComponentIcon-C-EjOUPA.js.map +0 -1
  265. package/dist/admin/chunks/EditConfigurationPage-D0Ng758X.js +0 -180
  266. package/dist/admin/chunks/EditConfigurationPage-D0Ng758X.js.map +0 -1
  267. package/dist/admin/chunks/EditConfigurationPage-DDuPch5d.js +0 -158
  268. package/dist/admin/chunks/EditConfigurationPage-DDuPch5d.js.map +0 -1
  269. package/dist/admin/chunks/EditViewPage-jCZnUuCR.js +0 -265
  270. package/dist/admin/chunks/EditViewPage-jCZnUuCR.js.map +0 -1
  271. package/dist/admin/chunks/EditViewPage-zSnDwLz3.js +0 -288
  272. package/dist/admin/chunks/EditViewPage-zSnDwLz3.js.map +0 -1
  273. package/dist/admin/chunks/FieldTypeIcon-BY6MrVF4.js +0 -56
  274. package/dist/admin/chunks/FieldTypeIcon-BY6MrVF4.js.map +0 -1
  275. package/dist/admin/chunks/FieldTypeIcon-Bxh-7Jin.js +0 -58
  276. package/dist/admin/chunks/FieldTypeIcon-Bxh-7Jin.js.map +0 -1
  277. package/dist/admin/chunks/Form-BEqiuSvQ.js +0 -978
  278. package/dist/admin/chunks/Form-BEqiuSvQ.js.map +0 -1
  279. package/dist/admin/chunks/Form-CZmB6JIg.js +0 -955
  280. package/dist/admin/chunks/Form-CZmB6JIg.js.map +0 -1
  281. package/dist/admin/chunks/History-BlLKDZSw.js +0 -1331
  282. package/dist/admin/chunks/History-BlLKDZSw.js.map +0 -1
  283. package/dist/admin/chunks/History-CPYXgxkS.js +0 -1308
  284. package/dist/admin/chunks/History-CPYXgxkS.js.map +0 -1
  285. package/dist/admin/chunks/Input-CLX3C5DI.js +0 -6711
  286. package/dist/admin/chunks/Input-CLX3C5DI.js.map +0 -1
  287. package/dist/admin/chunks/Input-DiR2Xfa7.js +0 -6742
  288. package/dist/admin/chunks/Input-DiR2Xfa7.js.map +0 -1
  289. package/dist/admin/chunks/ListConfigurationPage-CNvotSqe.js +0 -795
  290. package/dist/admin/chunks/ListConfigurationPage-CNvotSqe.js.map +0 -1
  291. package/dist/admin/chunks/ListConfigurationPage-DdTp-HxB.js +0 -818
  292. package/dist/admin/chunks/ListConfigurationPage-DdTp-HxB.js.map +0 -1
  293. package/dist/admin/chunks/ListViewPage-BtXYjEYz.js +0 -1154
  294. package/dist/admin/chunks/ListViewPage-BtXYjEYz.js.map +0 -1
  295. package/dist/admin/chunks/ListViewPage-MJNfQTp-.js +0 -1132
  296. package/dist/admin/chunks/ListViewPage-MJNfQTp-.js.map +0 -1
  297. package/dist/admin/chunks/NoContentTypePage-BJrZvYPY.js +0 -57
  298. package/dist/admin/chunks/NoContentTypePage-BJrZvYPY.js.map +0 -1
  299. package/dist/admin/chunks/NoContentTypePage-CVvVpwj4.js +0 -59
  300. package/dist/admin/chunks/NoContentTypePage-CVvVpwj4.js.map +0 -1
  301. package/dist/admin/chunks/NoPermissionsPage-BulvG4hB.js +0 -36
  302. package/dist/admin/chunks/NoPermissionsPage-BulvG4hB.js.map +0 -1
  303. package/dist/admin/chunks/NoPermissionsPage-C5yWg70d.js +0 -38
  304. package/dist/admin/chunks/NoPermissionsPage-C5yWg70d.js.map +0 -1
  305. package/dist/admin/chunks/Preview-DEuQgQg2.js +0 -482
  306. package/dist/admin/chunks/Preview-DEuQgQg2.js.map +0 -1
  307. package/dist/admin/chunks/Preview-H74FQ9Cq.js +0 -504
  308. package/dist/admin/chunks/Preview-H74FQ9Cq.js.map +0 -1
  309. package/dist/admin/chunks/Relations-C8jbZPVK.js +0 -827
  310. package/dist/admin/chunks/Relations-C8jbZPVK.js.map +0 -1
  311. package/dist/admin/chunks/Relations-mxOUS7TJ.js +0 -853
  312. package/dist/admin/chunks/Relations-mxOUS7TJ.js.map +0 -1
  313. package/dist/admin/chunks/ar-DckYq_WK.js +0 -222
  314. package/dist/admin/chunks/ar-DeQBSsfl.js +0 -227
  315. package/dist/admin/chunks/ca-ClDTvatJ.js +0 -202
  316. package/dist/admin/chunks/ca-DviY7mRj.js +0 -197
  317. package/dist/admin/chunks/cs-BJFxwIWj.js +0 -126
  318. package/dist/admin/chunks/cs-C7OSYFQ7.js +0 -122
  319. package/dist/admin/chunks/de-5QRlDHyR.js +0 -195
  320. package/dist/admin/chunks/de-CbImAUA5.js +0 -200
  321. package/dist/admin/chunks/en-C1CjdAtC.js +0 -313
  322. package/dist/admin/chunks/en-LfhocNG2.js +0 -308
  323. package/dist/admin/chunks/es-C8vLuvZL.js +0 -197
  324. package/dist/admin/chunks/es-DkoWSExG.js +0 -192
  325. package/dist/admin/chunks/eu-BG1xX7HK.js +0 -198
  326. package/dist/admin/chunks/eu-BG1xX7HK.js.map +0 -1
  327. package/dist/admin/chunks/eu-BJW3AvXu.js +0 -203
  328. package/dist/admin/chunks/eu-BJW3AvXu.js.map +0 -1
  329. package/dist/admin/chunks/fr-CFdRaRVj.js +0 -215
  330. package/dist/admin/chunks/fr-CFdRaRVj.js.map +0 -1
  331. package/dist/admin/chunks/fr-gQSilC7w.js +0 -220
  332. package/dist/admin/chunks/fr-gQSilC7w.js.map +0 -1
  333. package/dist/admin/chunks/gu-D5MMMXRs.js +0 -196
  334. package/dist/admin/chunks/gu-D5MMMXRs.js.map +0 -1
  335. package/dist/admin/chunks/gu-DPU4wyx7.js +0 -201
  336. package/dist/admin/chunks/gu-DPU4wyx7.js.map +0 -1
  337. package/dist/admin/chunks/hi-Dp4omeBb.js +0 -201
  338. package/dist/admin/chunks/hi-Dp4omeBb.js.map +0 -1
  339. package/dist/admin/chunks/hi-lp17SCjr.js +0 -196
  340. package/dist/admin/chunks/hi-lp17SCjr.js.map +0 -1
  341. package/dist/admin/chunks/hooks-D-sOYd1s.js.map +0 -1
  342. package/dist/admin/chunks/hooks-DMvik5y_.js +0 -7
  343. package/dist/admin/chunks/hooks-DMvik5y_.js.map +0 -1
  344. package/dist/admin/chunks/hu-CLka1U2C.js +0 -198
  345. package/dist/admin/chunks/hu-CLka1U2C.js.map +0 -1
  346. package/dist/admin/chunks/hu-CtFJuhTd.js +0 -203
  347. package/dist/admin/chunks/hu-CtFJuhTd.js.map +0 -1
  348. package/dist/admin/chunks/id-D7V5S1rB.js +0 -161
  349. package/dist/admin/chunks/id-USfY9m1g.js +0 -156
  350. package/dist/admin/chunks/id-USfY9m1g.js.map +0 -1
  351. package/dist/admin/chunks/index-BRlRBRLb.js +0 -5350
  352. package/dist/admin/chunks/index-BRlRBRLb.js.map +0 -1
  353. package/dist/admin/chunks/index-ZIwOPk6p.js +0 -5416
  354. package/dist/admin/chunks/index-ZIwOPk6p.js.map +0 -1
  355. package/dist/admin/chunks/it-BAHrwmYS.js +0 -158
  356. package/dist/admin/chunks/it-CQFpa_Dc.js +0 -163
  357. package/dist/admin/chunks/ja-BWKmBJFT.js +0 -192
  358. package/dist/admin/chunks/ja-BWKmBJFT.js.map +0 -1
  359. package/dist/admin/chunks/ja-jdQM-B79.js +0 -197
  360. package/dist/admin/chunks/ja-jdQM-B79.js.map +0 -1
  361. package/dist/admin/chunks/ko-CgADGBNt.js +0 -191
  362. package/dist/admin/chunks/ko-CgADGBNt.js.map +0 -1
  363. package/dist/admin/chunks/ko-k46sEyzt.js +0 -196
  364. package/dist/admin/chunks/ko-k46sEyzt.js.map +0 -1
  365. package/dist/admin/chunks/layout-B3-guCPG.js +0 -598
  366. package/dist/admin/chunks/layout-B3-guCPG.js.map +0 -1
  367. package/dist/admin/chunks/layout-ameRNiAM.js +0 -618
  368. package/dist/admin/chunks/layout-ameRNiAM.js.map +0 -1
  369. package/dist/admin/chunks/ml-CnhCfOn_.js +0 -196
  370. package/dist/admin/chunks/ml-CnhCfOn_.js.map +0 -1
  371. package/dist/admin/chunks/ml-DqxPwODx.js +0 -201
  372. package/dist/admin/chunks/ml-DqxPwODx.js.map +0 -1
  373. package/dist/admin/chunks/ms-Bh09NFff.js +0 -140
  374. package/dist/admin/chunks/ms-CvSC0OdG.js +0 -145
  375. package/dist/admin/chunks/nl-BEubhS8C.js +0 -203
  376. package/dist/admin/chunks/nl-BEubhS8C.js.map +0 -1
  377. package/dist/admin/chunks/nl-C8HYflTc.js +0 -198
  378. package/dist/admin/chunks/nl-C8HYflTc.js.map +0 -1
  379. package/dist/admin/chunks/objects-C3EebVVe.js +0 -76
  380. package/dist/admin/chunks/objects-C3EebVVe.js.map +0 -1
  381. package/dist/admin/chunks/objects-wl73iEma.js +0 -73
  382. package/dist/admin/chunks/objects-wl73iEma.js.map +0 -1
  383. package/dist/admin/chunks/pl-DWhGDzmM.js +0 -200
  384. package/dist/admin/chunks/pl-DWhGDzmM.js.map +0 -1
  385. package/dist/admin/chunks/pl-MFCZJZuZ.js +0 -195
  386. package/dist/admin/chunks/pl-MFCZJZuZ.js.map +0 -1
  387. package/dist/admin/chunks/pt-BR-CPtAXD-4.js +0 -202
  388. package/dist/admin/chunks/pt-BR-CPtAXD-4.js.map +0 -1
  389. package/dist/admin/chunks/pt-BR-CcotyBGJ.js +0 -197
  390. package/dist/admin/chunks/pt-BoPxN80n.js +0 -96
  391. package/dist/admin/chunks/pt-BoPxN80n.js.map +0 -1
  392. package/dist/admin/chunks/pt-HbmgeiYO.js +0 -93
  393. package/dist/admin/chunks/pt-HbmgeiYO.js.map +0 -1
  394. package/dist/admin/chunks/relations-CmoFVrKj.js +0 -178
  395. package/dist/admin/chunks/relations-CmoFVrKj.js.map +0 -1
  396. package/dist/admin/chunks/relations-DYQAaXwZ.js +0 -173
  397. package/dist/admin/chunks/relations-DYQAaXwZ.js.map +0 -1
  398. package/dist/admin/chunks/ru-C0op0ALG.js +0 -232
  399. package/dist/admin/chunks/ru-C0op0ALG.js.map +0 -1
  400. package/dist/admin/chunks/ru-CB4BUyQp.js +0 -230
  401. package/dist/admin/chunks/sa-B_FuPyMw.js +0 -201
  402. package/dist/admin/chunks/sa-B_FuPyMw.js.map +0 -1
  403. package/dist/admin/chunks/sa-n_aPA-pU.js +0 -196
  404. package/dist/admin/chunks/sa-n_aPA-pU.js.map +0 -1
  405. package/dist/admin/chunks/sk-D_iXML2C.js +0 -203
  406. package/dist/admin/chunks/sk-D_iXML2C.js.map +0 -1
  407. package/dist/admin/chunks/sk-tn_BDjE2.js +0 -198
  408. package/dist/admin/chunks/sk-tn_BDjE2.js.map +0 -1
  409. package/dist/admin/chunks/sv-BstBC1Yp.js +0 -203
  410. package/dist/admin/chunks/sv-BstBC1Yp.js.map +0 -1
  411. package/dist/admin/chunks/sv-cq4ZrQRd.js +0 -198
  412. package/dist/admin/chunks/sv-cq4ZrQRd.js.map +0 -1
  413. package/dist/admin/chunks/th-lXoOCqPC.js +0 -149
  414. package/dist/admin/chunks/th-lXoOCqPC.js.map +0 -1
  415. package/dist/admin/chunks/th-mUH7hEtc.js +0 -144
  416. package/dist/admin/chunks/th-mUH7hEtc.js.map +0 -1
  417. package/dist/admin/chunks/tr-CkS6sLIE.js +0 -200
  418. package/dist/admin/chunks/tr-CkS6sLIE.js.map +0 -1
  419. package/dist/admin/chunks/tr-Yt38daxh.js +0 -195
  420. package/dist/admin/chunks/tr-Yt38daxh.js.map +0 -1
  421. package/dist/admin/chunks/uk-B24MoTVg.js +0 -145
  422. package/dist/admin/chunks/uk-B24MoTVg.js.map +0 -1
  423. package/dist/admin/chunks/uk-Cpgmm7gE.js +0 -140
  424. package/dist/admin/chunks/uk-Cpgmm7gE.js.map +0 -1
  425. package/dist/admin/chunks/useDragAndDrop-HYwNDExe.js +0 -247
  426. package/dist/admin/chunks/useDragAndDrop-HYwNDExe.js.map +0 -1
  427. package/dist/admin/chunks/useDragAndDrop-gcqEJMnO.js +0 -271
  428. package/dist/admin/chunks/useDragAndDrop-gcqEJMnO.js.map +0 -1
  429. package/dist/admin/chunks/usePrev-Bjw2dhmq.js +0 -18
  430. package/dist/admin/chunks/usePrev-Bjw2dhmq.js.map +0 -1
  431. package/dist/admin/chunks/usePrev-DIYl-IAL.js +0 -21
  432. package/dist/admin/chunks/usePrev-DIYl-IAL.js.map +0 -1
  433. package/dist/admin/chunks/vi-BGr1X_HZ.js +0 -112
  434. package/dist/admin/chunks/vi-BGr1X_HZ.js.map +0 -1
  435. package/dist/admin/chunks/vi-CvBGlTjr.js +0 -108
  436. package/dist/admin/chunks/zh-BmF-sHaT.js +0 -205
  437. package/dist/admin/chunks/zh-BmF-sHaT.js.map +0 -1
  438. package/dist/admin/chunks/zh-DwFu_Kfj.js +0 -210
  439. package/dist/admin/chunks/zh-DwFu_Kfj.js.map +0 -1
  440. package/dist/admin/chunks/zh-Hans-CI0HKio3.js +0 -934
  441. package/dist/admin/chunks/zh-Hans-JVK9x7xr.js +0 -953
@@ -0,0 +1,133 @@
1
+ "use strict";
2
+ const fractionalIndexing = require("fractional-indexing");
3
+ const index = require("./index-CwbxJQVl.js");
4
+ const relationsApi = index.contentManagerApi.injectEndpoints({
5
+ endpoints: (build) => ({
6
+ getRelations: build.query({
7
+ query: ({ model, id, targetField, params }) => {
8
+ return {
9
+ url: `/content-manager/relations/${model}/${id}/${targetField}`,
10
+ method: "GET",
11
+ config: {
12
+ params
13
+ }
14
+ };
15
+ },
16
+ serializeQueryArgs: (args) => {
17
+ const { endpointName, queryArgs } = args;
18
+ return {
19
+ endpointName,
20
+ model: queryArgs.model,
21
+ id: queryArgs.id,
22
+ targetField: queryArgs.targetField,
23
+ locale: queryArgs.params?.locale,
24
+ status: queryArgs.params?.status
25
+ };
26
+ },
27
+ merge: (currentCache, newItems) => {
28
+ if (currentCache.pagination && newItems.pagination) {
29
+ if (currentCache.pagination.page < newItems.pagination.page) {
30
+ currentCache.results = [
31
+ ...prepareTempKeys(newItems.results, currentCache.results),
32
+ ...currentCache.results
33
+ ];
34
+ currentCache.pagination = newItems.pagination;
35
+ } else if (newItems.pagination.page === 1) {
36
+ currentCache.results = prepareTempKeys(newItems.results);
37
+ currentCache.pagination = newItems.pagination;
38
+ }
39
+ }
40
+ },
41
+ forceRefetch({ currentArg, previousArg }) {
42
+ if (!currentArg?.params && !previousArg?.params) {
43
+ return false;
44
+ }
45
+ return currentArg?.params?.page !== previousArg?.params?.page || currentArg?.params?.pageSize !== previousArg?.params?.pageSize;
46
+ },
47
+ transformResponse: (response) => {
48
+ if ("results" in response && response.results) {
49
+ return {
50
+ ...response,
51
+ results: prepareTempKeys(response.results.toReversed())
52
+ };
53
+ } else {
54
+ return response;
55
+ }
56
+ },
57
+ providesTags: ["Relations"]
58
+ }),
59
+ searchRelations: build.query({
60
+ query: ({ model, targetField, params }) => {
61
+ return {
62
+ url: `/content-manager/relations/${model}/${targetField}`,
63
+ method: "GET",
64
+ config: {
65
+ params
66
+ }
67
+ };
68
+ },
69
+ serializeQueryArgs: (args) => {
70
+ const { endpointName, queryArgs } = args;
71
+ return {
72
+ endpointName,
73
+ model: queryArgs.model,
74
+ targetField: queryArgs.targetField,
75
+ _q: queryArgs.params?._q,
76
+ idsToOmit: queryArgs.params?.idsToOmit,
77
+ idsToInclude: queryArgs.params?.idsToInclude
78
+ };
79
+ },
80
+ merge: (currentCache, newItems) => {
81
+ if (currentCache.pagination && newItems.pagination) {
82
+ if (currentCache.pagination.page < newItems.pagination.page) {
83
+ const existingIds = currentCache.results.map((item) => item.documentId);
84
+ const uniqueNewItems = newItems.results.filter(
85
+ (item) => !existingIds.includes(item.documentId)
86
+ );
87
+ currentCache.results.push(...uniqueNewItems);
88
+ currentCache.pagination = newItems.pagination;
89
+ } else if (newItems.pagination.page === 1) {
90
+ currentCache.results = newItems.results;
91
+ currentCache.pagination = newItems.pagination;
92
+ }
93
+ }
94
+ },
95
+ forceRefetch({ currentArg, previousArg }) {
96
+ if (!currentArg?.params && !previousArg?.params) {
97
+ return false;
98
+ }
99
+ return currentArg?.params?.page !== previousArg?.params?.page || currentArg?.params?.pageSize !== previousArg?.params?.pageSize;
100
+ },
101
+ transformResponse: (response) => {
102
+ if (response.results) {
103
+ return {
104
+ ...response,
105
+ results: response.results
106
+ };
107
+ } else {
108
+ return response;
109
+ }
110
+ }
111
+ })
112
+ })
113
+ });
114
+ const prepareTempKeys = (relations, existingRelations = []) => {
115
+ const [firstItem] = existingRelations.slice(0);
116
+ const keys = fractionalIndexing.generateNKeysBetween(null, firstItem?.__temp_key__ ?? null, relations.length);
117
+ return relations.map((datum, index2) => ({
118
+ ...datum,
119
+ __temp_key__: keys[index2]
120
+ }));
121
+ };
122
+ const { useGetRelationsQuery, useLazySearchRelationsQuery } = relationsApi;
123
+ const getRelationLabel = (relation, mainField) => {
124
+ const label = mainField && relation[mainField.name] ? relation[mainField.name] : null;
125
+ if (typeof label === "string") {
126
+ return label;
127
+ }
128
+ return relation.documentId;
129
+ };
130
+ exports.getRelationLabel = getRelationLabel;
131
+ exports.useGetRelationsQuery = useGetRelationsQuery;
132
+ exports.useLazySearchRelationsQuery = useLazySearchRelationsQuery;
133
+ //# sourceMappingURL=relations-B6L5kXX8.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relations-B6L5kXX8.js","sources":["../../admin/src/services/relations.ts","../../admin/src/utils/relations.ts"],"sourcesContent":["import { generateNKeysBetween } from 'fractional-indexing';\n\nimport {\n RelationResult as RelResult,\n FindAvailable,\n FindExisting,\n} from '../../../shared/contracts/relations';\n\nimport { contentManagerApi } from './api';\n\nimport type { Modules } from '@strapi/types';\nimport type { errors } from '@strapi/utils';\n\ninterface RelationResult extends RelResult {\n __temp_key__: string;\n}\n\ntype GetRelationsResponse =\n | {\n results: Array<RelationResult>;\n pagination: {\n page: NonNullable<Modules.EntityService.Params.Pagination.PageNotation['page']>;\n pageSize: NonNullable<Modules.EntityService.Params.Pagination.PageNotation['pageSize']>;\n pageCount: number;\n total: number;\n } | null;\n error?: never;\n }\n | {\n results?: never;\n pagination?: never;\n error: errors.ApplicationError | errors.YupValidationError;\n };\n\nconst relationsApi = contentManagerApi.injectEndpoints({\n endpoints: (build) => ({\n getRelations: build.query<\n GetRelationsResponse,\n FindExisting.Params & {\n params?: FindExisting.Request['query'];\n }\n >({\n query: ({ model, id, targetField, params }) => {\n return {\n url: `/content-manager/relations/${model}/${id}/${targetField}`,\n method: 'GET',\n config: {\n params,\n },\n };\n },\n serializeQueryArgs: (args) => {\n const { endpointName, queryArgs } = args;\n return {\n endpointName,\n model: queryArgs.model,\n id: queryArgs.id,\n targetField: queryArgs.targetField,\n locale: queryArgs.params?.locale,\n status: queryArgs.params?.status,\n };\n },\n merge: (currentCache, newItems) => {\n if (currentCache.pagination && newItems.pagination) {\n if (currentCache.pagination.page < newItems.pagination.page) {\n /**\n * Relations will always have unique IDs, so we can therefore assume\n * that we only need to push the new items to the cache.\n *\n * Push new items at the beginning as latest items are shown first\n */\n currentCache.results = [\n ...prepareTempKeys(newItems.results, currentCache.results),\n ...currentCache.results,\n ];\n currentCache.pagination = newItems.pagination;\n } else if (newItems.pagination.page === 1) {\n /**\n * We're resetting the relations\n */\n currentCache.results = prepareTempKeys(newItems.results);\n currentCache.pagination = newItems.pagination;\n }\n }\n },\n forceRefetch({ currentArg, previousArg }) {\n if (!currentArg?.params && !previousArg?.params) {\n return false;\n }\n\n return (\n currentArg?.params?.page !== previousArg?.params?.page ||\n currentArg?.params?.pageSize !== previousArg?.params?.pageSize\n );\n },\n transformResponse: (response: FindExisting.Response) => {\n if ('results' in response && response.results) {\n return {\n ...response,\n results: prepareTempKeys(response.results.toReversed()),\n };\n } else {\n return response;\n }\n },\n providesTags: ['Relations'],\n }),\n searchRelations: build.query<\n FindAvailable.Response,\n FindAvailable.Params & {\n params?: FindAvailable.Request['query'];\n }\n >({\n query: ({ model, targetField, params }) => {\n return {\n url: `/content-manager/relations/${model}/${targetField}`,\n method: 'GET',\n config: {\n params,\n },\n };\n },\n serializeQueryArgs: (args) => {\n const { endpointName, queryArgs } = args;\n return {\n endpointName,\n model: queryArgs.model,\n targetField: queryArgs.targetField,\n _q: queryArgs.params?._q,\n idsToOmit: queryArgs.params?.idsToOmit,\n idsToInclude: queryArgs.params?.idsToInclude,\n };\n },\n merge: (currentCache, newItems) => {\n if (currentCache.pagination && newItems.pagination) {\n if (currentCache.pagination.page < newItems.pagination.page) {\n /**\n * Relations will always have unique IDs, so we can therefore assume\n * that we only need to push the new items to the cache.\n */\n const existingIds = currentCache.results.map((item) => item.documentId);\n const uniqueNewItems = newItems.results.filter(\n (item) => !existingIds.includes(item.documentId)\n );\n currentCache.results.push(...uniqueNewItems);\n currentCache.pagination = newItems.pagination;\n } else if (newItems.pagination.page === 1) {\n /**\n * We're resetting the relations\n */\n currentCache.results = newItems.results;\n currentCache.pagination = newItems.pagination;\n }\n }\n },\n forceRefetch({ currentArg, previousArg }) {\n if (!currentArg?.params && !previousArg?.params) {\n return false;\n }\n\n return (\n currentArg?.params?.page !== previousArg?.params?.page ||\n currentArg?.params?.pageSize !== previousArg?.params?.pageSize\n );\n },\n transformResponse: (response: FindAvailable.Response) => {\n if (response.results) {\n return {\n ...response,\n results: response.results,\n };\n } else {\n return response;\n }\n },\n }),\n }),\n});\n\n/**\n * @internal\n * @description Adds a `__temp_key__` to each relation item. This gives us\n * a stable identifier regardless of it's ids etc. that we can then use for drag and drop.\n */\nconst prepareTempKeys = (relations: RelResult[], existingRelations: RelationResult[] = []) => {\n const [firstItem] = existingRelations.slice(0);\n const keys = generateNKeysBetween(null, firstItem?.__temp_key__ ?? null, relations.length);\n\n return relations.map((datum, index) => ({\n ...datum,\n __temp_key__: keys[index],\n }));\n};\n\nconst { useGetRelationsQuery, useLazySearchRelationsQuery } = relationsApi;\n\nexport { useGetRelationsQuery, useLazySearchRelationsQuery };\nexport type { RelationResult };\n","import type { MainField } from './attributes';\nimport type { RelationResult } from '../../../shared/contracts/relations';\n\n/**\n * @internal\n * @description Get the label of a relation, the contract has [key: string]: unknown,\n * so we need to check if the mainFieldKey is defined and if the relation has a value\n * under that property. If it does, we then verify it's type of string and return it.\n *\n * We fallback to the documentId.\n */\nconst getRelationLabel = (relation: RelationResult, mainField?: MainField): string => {\n const label = mainField && relation[mainField.name] ? relation[mainField.name] : null;\n\n if (typeof label === 'string') {\n return label;\n }\n\n return relation.documentId;\n};\n\nexport { getRelationLabel };\n"],"names":["contentManagerApi","generateNKeysBetween","index"],"mappings":"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"}
@@ -0,0 +1,134 @@
1
+ import { generateNKeysBetween } from "fractional-indexing";
2
+ import { e as contentManagerApi } from "./index-CIIIuVmx.mjs";
3
+ const relationsApi = contentManagerApi.injectEndpoints({
4
+ endpoints: (build) => ({
5
+ getRelations: build.query({
6
+ query: ({ model, id, targetField, params }) => {
7
+ return {
8
+ url: `/content-manager/relations/${model}/${id}/${targetField}`,
9
+ method: "GET",
10
+ config: {
11
+ params
12
+ }
13
+ };
14
+ },
15
+ serializeQueryArgs: (args) => {
16
+ const { endpointName, queryArgs } = args;
17
+ return {
18
+ endpointName,
19
+ model: queryArgs.model,
20
+ id: queryArgs.id,
21
+ targetField: queryArgs.targetField,
22
+ locale: queryArgs.params?.locale,
23
+ status: queryArgs.params?.status
24
+ };
25
+ },
26
+ merge: (currentCache, newItems) => {
27
+ if (currentCache.pagination && newItems.pagination) {
28
+ if (currentCache.pagination.page < newItems.pagination.page) {
29
+ currentCache.results = [
30
+ ...prepareTempKeys(newItems.results, currentCache.results),
31
+ ...currentCache.results
32
+ ];
33
+ currentCache.pagination = newItems.pagination;
34
+ } else if (newItems.pagination.page === 1) {
35
+ currentCache.results = prepareTempKeys(newItems.results);
36
+ currentCache.pagination = newItems.pagination;
37
+ }
38
+ }
39
+ },
40
+ forceRefetch({ currentArg, previousArg }) {
41
+ if (!currentArg?.params && !previousArg?.params) {
42
+ return false;
43
+ }
44
+ return currentArg?.params?.page !== previousArg?.params?.page || currentArg?.params?.pageSize !== previousArg?.params?.pageSize;
45
+ },
46
+ transformResponse: (response) => {
47
+ if ("results" in response && response.results) {
48
+ return {
49
+ ...response,
50
+ results: prepareTempKeys(response.results.toReversed())
51
+ };
52
+ } else {
53
+ return response;
54
+ }
55
+ },
56
+ providesTags: ["Relations"]
57
+ }),
58
+ searchRelations: build.query({
59
+ query: ({ model, targetField, params }) => {
60
+ return {
61
+ url: `/content-manager/relations/${model}/${targetField}`,
62
+ method: "GET",
63
+ config: {
64
+ params
65
+ }
66
+ };
67
+ },
68
+ serializeQueryArgs: (args) => {
69
+ const { endpointName, queryArgs } = args;
70
+ return {
71
+ endpointName,
72
+ model: queryArgs.model,
73
+ targetField: queryArgs.targetField,
74
+ _q: queryArgs.params?._q,
75
+ idsToOmit: queryArgs.params?.idsToOmit,
76
+ idsToInclude: queryArgs.params?.idsToInclude
77
+ };
78
+ },
79
+ merge: (currentCache, newItems) => {
80
+ if (currentCache.pagination && newItems.pagination) {
81
+ if (currentCache.pagination.page < newItems.pagination.page) {
82
+ const existingIds = currentCache.results.map((item) => item.documentId);
83
+ const uniqueNewItems = newItems.results.filter(
84
+ (item) => !existingIds.includes(item.documentId)
85
+ );
86
+ currentCache.results.push(...uniqueNewItems);
87
+ currentCache.pagination = newItems.pagination;
88
+ } else if (newItems.pagination.page === 1) {
89
+ currentCache.results = newItems.results;
90
+ currentCache.pagination = newItems.pagination;
91
+ }
92
+ }
93
+ },
94
+ forceRefetch({ currentArg, previousArg }) {
95
+ if (!currentArg?.params && !previousArg?.params) {
96
+ return false;
97
+ }
98
+ return currentArg?.params?.page !== previousArg?.params?.page || currentArg?.params?.pageSize !== previousArg?.params?.pageSize;
99
+ },
100
+ transformResponse: (response) => {
101
+ if (response.results) {
102
+ return {
103
+ ...response,
104
+ results: response.results
105
+ };
106
+ } else {
107
+ return response;
108
+ }
109
+ }
110
+ })
111
+ })
112
+ });
113
+ const prepareTempKeys = (relations, existingRelations = []) => {
114
+ const [firstItem] = existingRelations.slice(0);
115
+ const keys = generateNKeysBetween(null, firstItem?.__temp_key__ ?? null, relations.length);
116
+ return relations.map((datum, index) => ({
117
+ ...datum,
118
+ __temp_key__: keys[index]
119
+ }));
120
+ };
121
+ const { useGetRelationsQuery, useLazySearchRelationsQuery } = relationsApi;
122
+ const getRelationLabel = (relation, mainField) => {
123
+ const label = mainField && relation[mainField.name] ? relation[mainField.name] : null;
124
+ if (typeof label === "string") {
125
+ return label;
126
+ }
127
+ return relation.documentId;
128
+ };
129
+ export {
130
+ useLazySearchRelationsQuery as a,
131
+ getRelationLabel as g,
132
+ useGetRelationsQuery as u
133
+ };
134
+ //# sourceMappingURL=relations-DU-iUzo_.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relations-DU-iUzo_.mjs","sources":["../../admin/src/services/relations.ts","../../admin/src/utils/relations.ts"],"sourcesContent":["import { generateNKeysBetween } from 'fractional-indexing';\n\nimport {\n RelationResult as RelResult,\n FindAvailable,\n FindExisting,\n} from '../../../shared/contracts/relations';\n\nimport { contentManagerApi } from './api';\n\nimport type { Modules } from '@strapi/types';\nimport type { errors } from '@strapi/utils';\n\ninterface RelationResult extends RelResult {\n __temp_key__: string;\n}\n\ntype GetRelationsResponse =\n | {\n results: Array<RelationResult>;\n pagination: {\n page: NonNullable<Modules.EntityService.Params.Pagination.PageNotation['page']>;\n pageSize: NonNullable<Modules.EntityService.Params.Pagination.PageNotation['pageSize']>;\n pageCount: number;\n total: number;\n } | null;\n error?: never;\n }\n | {\n results?: never;\n pagination?: never;\n error: errors.ApplicationError | errors.YupValidationError;\n };\n\nconst relationsApi = contentManagerApi.injectEndpoints({\n endpoints: (build) => ({\n getRelations: build.query<\n GetRelationsResponse,\n FindExisting.Params & {\n params?: FindExisting.Request['query'];\n }\n >({\n query: ({ model, id, targetField, params }) => {\n return {\n url: `/content-manager/relations/${model}/${id}/${targetField}`,\n method: 'GET',\n config: {\n params,\n },\n };\n },\n serializeQueryArgs: (args) => {\n const { endpointName, queryArgs } = args;\n return {\n endpointName,\n model: queryArgs.model,\n id: queryArgs.id,\n targetField: queryArgs.targetField,\n locale: queryArgs.params?.locale,\n status: queryArgs.params?.status,\n };\n },\n merge: (currentCache, newItems) => {\n if (currentCache.pagination && newItems.pagination) {\n if (currentCache.pagination.page < newItems.pagination.page) {\n /**\n * Relations will always have unique IDs, so we can therefore assume\n * that we only need to push the new items to the cache.\n *\n * Push new items at the beginning as latest items are shown first\n */\n currentCache.results = [\n ...prepareTempKeys(newItems.results, currentCache.results),\n ...currentCache.results,\n ];\n currentCache.pagination = newItems.pagination;\n } else if (newItems.pagination.page === 1) {\n /**\n * We're resetting the relations\n */\n currentCache.results = prepareTempKeys(newItems.results);\n currentCache.pagination = newItems.pagination;\n }\n }\n },\n forceRefetch({ currentArg, previousArg }) {\n if (!currentArg?.params && !previousArg?.params) {\n return false;\n }\n\n return (\n currentArg?.params?.page !== previousArg?.params?.page ||\n currentArg?.params?.pageSize !== previousArg?.params?.pageSize\n );\n },\n transformResponse: (response: FindExisting.Response) => {\n if ('results' in response && response.results) {\n return {\n ...response,\n results: prepareTempKeys(response.results.toReversed()),\n };\n } else {\n return response;\n }\n },\n providesTags: ['Relations'],\n }),\n searchRelations: build.query<\n FindAvailable.Response,\n FindAvailable.Params & {\n params?: FindAvailable.Request['query'];\n }\n >({\n query: ({ model, targetField, params }) => {\n return {\n url: `/content-manager/relations/${model}/${targetField}`,\n method: 'GET',\n config: {\n params,\n },\n };\n },\n serializeQueryArgs: (args) => {\n const { endpointName, queryArgs } = args;\n return {\n endpointName,\n model: queryArgs.model,\n targetField: queryArgs.targetField,\n _q: queryArgs.params?._q,\n idsToOmit: queryArgs.params?.idsToOmit,\n idsToInclude: queryArgs.params?.idsToInclude,\n };\n },\n merge: (currentCache, newItems) => {\n if (currentCache.pagination && newItems.pagination) {\n if (currentCache.pagination.page < newItems.pagination.page) {\n /**\n * Relations will always have unique IDs, so we can therefore assume\n * that we only need to push the new items to the cache.\n */\n const existingIds = currentCache.results.map((item) => item.documentId);\n const uniqueNewItems = newItems.results.filter(\n (item) => !existingIds.includes(item.documentId)\n );\n currentCache.results.push(...uniqueNewItems);\n currentCache.pagination = newItems.pagination;\n } else if (newItems.pagination.page === 1) {\n /**\n * We're resetting the relations\n */\n currentCache.results = newItems.results;\n currentCache.pagination = newItems.pagination;\n }\n }\n },\n forceRefetch({ currentArg, previousArg }) {\n if (!currentArg?.params && !previousArg?.params) {\n return false;\n }\n\n return (\n currentArg?.params?.page !== previousArg?.params?.page ||\n currentArg?.params?.pageSize !== previousArg?.params?.pageSize\n );\n },\n transformResponse: (response: FindAvailable.Response) => {\n if (response.results) {\n return {\n ...response,\n results: response.results,\n };\n } else {\n return response;\n }\n },\n }),\n }),\n});\n\n/**\n * @internal\n * @description Adds a `__temp_key__` to each relation item. This gives us\n * a stable identifier regardless of it's ids etc. that we can then use for drag and drop.\n */\nconst prepareTempKeys = (relations: RelResult[], existingRelations: RelationResult[] = []) => {\n const [firstItem] = existingRelations.slice(0);\n const keys = generateNKeysBetween(null, firstItem?.__temp_key__ ?? null, relations.length);\n\n return relations.map((datum, index) => ({\n ...datum,\n __temp_key__: keys[index],\n }));\n};\n\nconst { useGetRelationsQuery, useLazySearchRelationsQuery } = relationsApi;\n\nexport { useGetRelationsQuery, useLazySearchRelationsQuery };\nexport type { RelationResult };\n","import type { MainField } from './attributes';\nimport type { RelationResult } from '../../../shared/contracts/relations';\n\n/**\n * @internal\n * @description Get the label of a relation, the contract has [key: string]: unknown,\n * so we need to check if the mainFieldKey is defined and if the relation has a value\n * under that property. If it does, we then verify it's type of string and return it.\n *\n * We fallback to the documentId.\n */\nconst getRelationLabel = (relation: RelationResult, mainField?: MainField): string => {\n const label = mainField && relation[mainField.name] ? relation[mainField.name] : null;\n\n if (typeof label === 'string') {\n return label;\n }\n\n return relation.documentId;\n};\n\nexport { getRelationLabel };\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,231 @@
1
+ const ru = {
2
+ "content-manager.App.schemas.data-loaded": "Схемы были успешно загружены",
3
+ "content-manager.EditRelations.title": "Связанные данные",
4
+ "content-manager.HeaderLayout.button.label-add-entry": "Создать новую запись",
5
+ "content-manager.ListViewTable.relation-loaded": "Отношения были загружены",
6
+ "content-manager.ListViewTable.relation-loading": "Отношения загружаются",
7
+ "content-manager.ListViewTable.relation-more": "Это отношение содержит больше сущностей, чем отображается",
8
+ "content-manager.api.id": "API ID",
9
+ "content-manager.apiError.This attribute must be unique": "{field} должно быть уникальным",
10
+ "content-manager.bulk-publish.already-published": "Уже опубликовано",
11
+ "content-manager.components.AddFilterCTA.add": "Фильтры",
12
+ "content-manager.components.AddFilterCTA.hide": "Фильтры",
13
+ "content-manager.components.DragHandle-label": "Перетащить",
14
+ "content-manager.components.DraggableAttr.edit": "Нажмите чтобы редактировать",
15
+ "content-manager.components.DraggableCard.delete.field": "Удалить {item}",
16
+ "content-manager.components.DraggableCard.edit.field": "Редактировать {item}",
17
+ "content-manager.components.DraggableCard.move.field": "Переместить {item}",
18
+ "content-manager.components.DynamicZone.ComponentPicker-label": "Выберите один компонент",
19
+ "content-manager.components.DynamicZone.add-component": "Добавить компонент в {componentName}",
20
+ "content-manager.components.DynamicZone.delete-label": "Удалить {name}",
21
+ "content-manager.components.DynamicZone.error-message": "Компонент содержит ошибку(-и)",
22
+ "content-manager.components.DynamicZone.missing-components": "{number, plural, =0{# отсутствующих компонентов} one{# отсутствующий компонент} few{# отсутствующих компонента} many {# отсутствующих компонентов}}",
23
+ "content-manager.components.DynamicZone.move-down-label": "Переместить компонент вниз",
24
+ "content-manager.components.DynamicZone.move-up-label": "Переместить компонент вверх",
25
+ "content-manager.components.DynamicZone.pick-compo": "Выберите компонент",
26
+ "content-manager.components.DynamicZone.required": "Обязательный компонент",
27
+ "content-manager.components.EmptyAttributesBlock.button": "Перейти в настройки",
28
+ "content-manager.components.EmptyAttributesBlock.description": "Вы можете изменить текущие настройки",
29
+ "content-manager.components.FieldItem.linkToComponentLayout": "Установить компоновку компонентов",
30
+ "content-manager.components.FieldSelect.label": "Добавить поле",
31
+ "content-manager.components.FilterOptions.button.apply": "Применить",
32
+ "content-manager.components.Filters.usersSelect.label": "Поиск и выбор пользователя для фильтрации по",
33
+ "content-manager.components.FiltersPickWrapper.PluginHeader.actions.apply": "Применить",
34
+ "content-manager.components.FiltersPickWrapper.PluginHeader.actions.clearAll": "Очистить все",
35
+ "content-manager.components.FiltersPickWrapper.PluginHeader.description": "Укажите условия для фильтрации записей",
36
+ "content-manager.components.FiltersPickWrapper.PluginHeader.title.filter": "Фильтры",
37
+ "content-manager.components.FiltersPickWrapper.hide": "Скрыть",
38
+ "content-manager.components.LeftMenu.Search.label": "Поиск по типу содержимого",
39
+ "content-manager.components.LeftMenu.collection-types": "Типы Коллекций",
40
+ "content-manager.components.LeftMenu.single-types": "Одиночные Типы",
41
+ "content-manager.components.LimitSelect.itemsPerPage": "Элементов на странице",
42
+ "content-manager.components.ListViewTable.row-line": "строка {number}",
43
+ "content-manager.components.NotAllowedInput.text": "Нет разрешений на просмотр этого поля",
44
+ "content-manager.components.RelationInput.icon-button-aria-label": "Тяни",
45
+ "content-manager.components.RepeatableComponent.error-message": "Компонент(-ы) содержит(-ат) ошибку(-и)",
46
+ "content-manager.components.Search.placeholder": "Поиск записей...",
47
+ "content-manager.components.Select.draft-info-title": "Состояние: Черновик",
48
+ "content-manager.components.Select.publish-info-title": "Состояние: Опубликовано",
49
+ "content-manager.components.SettingsViewWrapper.pluginHeader.description.edit-settings": "Настройте, как будет выглядеть вид редактирования.",
50
+ "content-manager.components.SettingsViewWrapper.pluginHeader.description.list-settings": "Определите параметры представления списка.",
51
+ "content-manager.components.SettingsViewWrapper.pluginHeader.title": "Настройка представления — {name}",
52
+ "content-manager.components.TableDelete.delete": "Удалить все",
53
+ "content-manager.components.TableDelete.deleteSelected": "Удалить выбранное",
54
+ "content-manager.components.TableDelete.label": "выбрано записей: {number}",
55
+ "content-manager.components.TableEmpty.withFilters": "Нет {contentType} с применёнными фильтрами...",
56
+ "content-manager.components.TableEmpty.withSearch": "Нет {contentType} согласно поиску ({search})...",
57
+ "content-manager.components.TableEmpty.withoutFilter": "Нет {contentType}...",
58
+ "content-manager.components.empty-repeatable": "Ещё нет записей. Нажмите кнопку ниже, чтобы добавить.",
59
+ "content-manager.components.notification.info.maximum-requirement": "Вы уже достигли максимального количества полей",
60
+ "content-manager.components.notification.info.minimum-requirement": "Добавлено поле, соответствующее минимальным требованиям",
61
+ "content-manager.components.repeatable.reorder.error": "Произошла ошибка при изменении порядка полей вашего компонента. Попробуйте ещё раз.",
62
+ "content-manager.components.reset-entry": "Сбросить запись",
63
+ "content-manager.components.uid.apply": "Применить",
64
+ "content-manager.components.uid.available": "Доступный",
65
+ "content-manager.components.uid.regenerate": "Восстановить",
66
+ "content-manager.components.uid.suggested": "Предложенный",
67
+ "content-manager.components.uid.unavailable": "Недоступный",
68
+ "content-manager.containers.Edit.Link.Layout": "Настройка макета",
69
+ "content-manager.containers.Edit.Link.Model": "Измените тип Коллекции",
70
+ "content-manager.containers.Edit.addAnItem": "Добавить элемент...",
71
+ "content-manager.containers.Edit.clickToJump": "Нажмите для перехода к записи",
72
+ "content-manager.containers.Edit.delete": "Удалить",
73
+ "content-manager.containers.Edit.delete-entry": "Удалить эту запись",
74
+ "content-manager.containers.Edit.editing": "Редактирование...",
75
+ "content-manager.containers.Edit.information": "Информация",
76
+ "content-manager.containers.Edit.information.by": "Автор",
77
+ "content-manager.containers.Edit.information.created": "Создано",
78
+ "content-manager.containers.Edit.information.draftVersion": "черновая версия",
79
+ "content-manager.containers.Edit.information.editing": "Редактирование",
80
+ "content-manager.containers.Edit.information.lastUpdate": "Последнее обновление",
81
+ "content-manager.containers.Edit.information.publishedVersion": "опубликованная версия",
82
+ "content-manager.containers.Edit.pluginHeader.title.new": "Создать запись",
83
+ "content-manager.containers.Edit.reset": "Сбросить",
84
+ "content-manager.containers.Edit.returnList": "Вернуться к списку",
85
+ "content-manager.containers.Edit.seeDetails": "Подробнее",
86
+ "content-manager.containers.Edit.submit": "Сохранить",
87
+ "content-manager.containers.EditSettingsView.modal-form.edit-field": "Отредактируйте это поле",
88
+ "content-manager.containers.EditView.add.new-entry": "Добавить запись",
89
+ "content-manager.containers.EditView.notification.errors": "Форма содержит некоторые ошибки",
90
+ "content-manager.containers.Home.introduction": "Для того, чтобы отредактировать ваши записи используйте соответствующую ссылку в меню слева. У плагина отсутствует полноценная возможность редактировать настройки, и он всё ещё находится в стадии активной разработки.",
91
+ "content-manager.containers.Home.pluginHeaderDescription": "Управляйте своими записями с помощью мощного и красивого интерфейса.",
92
+ "content-manager.containers.Home.pluginHeaderTitle": "Редактор контента",
93
+ "content-manager.containers.List.draft": "Черновик",
94
+ "content-manager.containers.List.errorFetchRecords": "Ошибка",
95
+ "content-manager.containers.List.published": "Опубликован",
96
+ "content-manager.containers.list.displayedFields": "Отображаемые поля",
97
+ "content-manager.containers.list.items": "{number, plural, =0{# элементов} one{# элемент} few{# элемента} many {# элементов}}",
98
+ "content-manager.containers.list.selectedEntriesModal.publishedCount": "<b>{publishedCount}</b> {publishedCount, plural, =0{# записей} one{# запись} few{# записи} many {# записей}} опубликованы. <b>{withErrorsCount}</b> {withErrorsCount, plural, =0{# записей} one{# запись} few{# записи} many {# записей}} ожидают действий.",
99
+ "content-manager.containers.list.selectedEntriesModal.selectedCount": "<b>{readyToPublishCount}</b> {readyToPublishCount, plural, =0{# записей} one{# запись} few{# записи} many {# записей}} готовы к публикации. <b>{withErrorsCount}</b> {withErrorsCount, plural, =0{# записей} one{# запись} few{# записи} many {# записей}} ожидают действий.",
100
+ "content-manager.containers.list.selectedEntriesModal.title": "Опубликовать записи",
101
+ "content-manager.containers.list.table-headers.publishedAt": "Состояние",
102
+ "content-manager.containers.ListSettingsView.modal-form.edit-label": "Отредактировать {fieldName}",
103
+ "content-manager.containers.SettingPage.add.field": "Добавить ещё одно поле",
104
+ "content-manager.containers.SettingPage.add.relational-field": "Добавить ещё одно связанное поле",
105
+ "content-manager.containers.SettingPage.attributes": "Поля атрибутов",
106
+ "content-manager.containers.SettingPage.attributes.description": "Определить порядок атрибутов",
107
+ "content-manager.containers.SettingPage.editSettings.description": "Перетащите поля, чтобы определить макет",
108
+ "content-manager.containers.SettingPage.editSettings.entry.title": "Заголовок записи",
109
+ "content-manager.containers.SettingPage.editSettings.entry.title.description": "Установите отображаемое поле вашей записи",
110
+ "content-manager.containers.SettingPage.editSettings.relation-field.description": "Установите поле, которое будет отображаться как в режиме редактирования, так и в списке",
111
+ "content-manager.containers.SettingPage.editSettings.title": "Редактирование — Настройки",
112
+ "content-manager.containers.SettingPage.layout": "Макет",
113
+ "content-manager.containers.SettingPage.listSettings.description": "Настройте параметры для этого типа Коллекции",
114
+ "content-manager.containers.SettingPage.listSettings.title": "Просмотр списка — Настройки",
115
+ "content-manager.containers.SettingPage.pluginHeaderDescription": "Настройте конкретные параметры для этого типа Коллекции",
116
+ "content-manager.containers.SettingPage.relations": "Связанные поля",
117
+ "content-manager.containers.SettingPage.settings": "Настройки",
118
+ "content-manager.containers.SettingPage.view": "Вид",
119
+ "content-manager.containers.SettingViewModel.pluginHeader.title": "Контент менеджер — {name}",
120
+ "content-manager.containers.SettingsPage.Block.contentType.description": "Настроить отдельные параметры",
121
+ "content-manager.containers.SettingsPage.Block.contentType.title": "Типы Коллекций",
122
+ "content-manager.containers.SettingsPage.Block.generalSettings.description": "Настройте параметры по умолчанию для ваших типов Коллекций",
123
+ "content-manager.containers.SettingsPage.Block.generalSettings.title": "Общее",
124
+ "content-manager.containers.SettingsPage.pluginHeaderDescription": "Настройте параметры для всех ваших типов Коллекций и Групп",
125
+ "content-manager.containers.SettingsView.list.subtitle": "Настройте макет и отображение ваших типов Коллекций и и Групп",
126
+ "content-manager.containers.SettingsView.list.title": "Конфигурация отображения",
127
+ "content-manager.dnd.cancel-item": "{item}, перемещён. Изменение порядка не произошло.",
128
+ "content-manager.dnd.drop-item": "{item}, перемещён. Новое местоположение в списке: {position}.",
129
+ "content-manager.dnd.grab-item": "{item}, перемещён. Текущее местоположение в списке: {position}. Нажимайте стрелки вверх и вниз, чтобы изменить положение, пробел, чтобы переместить, Escape, чтобы отменить.",
130
+ "content-manager.dnd.instructions": "Нажмите пробел, чтобы захватить и изменить порядок",
131
+ "content-manager.dnd.reorder": "{item}, перемещён. Новое местоположение в списке: {position}.",
132
+ "content-manager.edit-settings-view.link-to-ctb.components": "Редактировать компонент",
133
+ "content-manager.edit-settings-view.link-to-ctb.content-types": "Редактирование типа содержимого",
134
+ "content-manager.emptyAttributes.button": "Перейдите в конструктор типов Коллекций",
135
+ "content-manager.emptyAttributes.description": "Добавьте своё первое поле в тип Коллекции",
136
+ "content-manager.emptyAttributes.title": "Пока нет полей",
137
+ "content-manager.error.attribute.key.taken": "Это значение уже существует",
138
+ "content-manager.error.attribute.sameKeyAndName": "Не может быть одинаковым",
139
+ "content-manager.error.attribute.taken": "Поле с таким названием уже существует",
140
+ "content-manager.error.contentTypeName.taken": "Это название уже существует",
141
+ "content-manager.error.model.fetch": "Произошла ошибка во время настройки конфигурации модели.",
142
+ "content-manager.error.record.create": "Произошла ошибка при создании записи.",
143
+ "content-manager.error.record.delete": "Произошла ошибка при удалении записи.",
144
+ "content-manager.error.record.fetch": "Произошла ошибка при извлечении записи.",
145
+ "content-manager.error.record.update": "Произошла ошибка при обновлении записи.",
146
+ "content-manager.error.records.count": "Произошла ошибка при подсчёте количества записей.",
147
+ "content-manager.error.records.fetch": "Произошла ошибка при извлечении записей.",
148
+ "content-manager.error.schema.generation": "Возникла ошибка во время генерации структуры.",
149
+ "content-manager.error.validation.json": "Это не JSON",
150
+ "content-manager.error.validation.max": "Слишком большое.",
151
+ "content-manager.error.validation.maxLength": "Слишком длинное.",
152
+ "content-manager.error.validation.min": "Слишком маленькое.",
153
+ "content-manager.error.validation.minLength": "Слишком короткое.",
154
+ "content-manager.error.validation.minSupMax": "Не может быть выше",
155
+ "content-manager.error.validation.regex": "Значение не соответствует регулярному выражению.",
156
+ "content-manager.error.validation.required": "Обязательное значение.",
157
+ "content-manager.form.Input.bulkActions": "Включить массовые действия",
158
+ "content-manager.form.Input.defaultSort": "Сортировка по умолчанию",
159
+ "content-manager.form.Input.description": "Описание",
160
+ "content-manager.form.Input.description.placeholder": "Имя, отображаемое в профиле",
161
+ "content-manager.form.Input.editable": "Редактируемое поле",
162
+ "content-manager.form.Input.filters": "Включить фильтры",
163
+ "content-manager.form.Input.hint.character.unit": "{maxValue, plural, =0{# символов} one{# символ} few{# символа} many {# символов}}",
164
+ "content-manager.form.Input.hint.minMaxDivider": " / ",
165
+ "content-manager.form.Input.hint.text": "{min, select, undefined {} other {мин. {min}}}{divider}{max, select, undefined {} other {макс. {max}}}{unit}{br}{description}",
166
+ "content-manager.form.Input.label": "Подпись",
167
+ "content-manager.form.Input.label.inputDescription": "Это значение переопределяет название, отображаемое в заголовке таблицы",
168
+ "content-manager.form.Input.pageEntries": "Записей на странице",
169
+ "content-manager.form.Input.pageEntries.inputDescription": "Примечание: вы можете переопределить это значение на странице настроек типа Коллекции.",
170
+ "content-manager.form.Input.placeholder": "Заполнитель",
171
+ "content-manager.form.Input.placeholder.placeholder": "Моё значение",
172
+ "content-manager.form.Input.search": "Включить поиск",
173
+ "content-manager.form.Input.search.field": "Включить поиск по этому полю",
174
+ "content-manager.form.Input.sort.field": "Включить сортировку по этому полю",
175
+ "content-manager.form.Input.sort.order": "Сортировка по умолчанию",
176
+ "content-manager.form.Input.wysiwyg": "Отображение в виде WYSIWYG",
177
+ "content-manager.global.displayedFields": "Отображение полей",
178
+ "content-manager.groups": "Группы",
179
+ "content-manager.groups.numbered": "Группы ({number})",
180
+ "content-manager.header.name": "Контент",
181
+ "content-manager.link-to-ctb": "Редактировать модель",
182
+ "content-manager.listView.validation.errors.message": "Пожалуйста, убедитесь перед публикацией, что все поля заполнены правильно (обязательное поле, минимальное/максимальное количество символов и т.д.).",
183
+ "content-manager.listView.validation.errors.title": "Требуется действие",
184
+ "content-manager.models": "Типы Коллекции",
185
+ "content-manager.models.numbered": "Типы Коллекции ({number})",
186
+ "content-manager.notification.error.displayedFields": "Необходимо добавить хотя бы одно поле",
187
+ "content-manager.notification.error.relationship.fetch": "Возникла ошибка при получении связей.",
188
+ "content-manager.notification.info.SettingPage.disableSort": "У вас должен быть один атрибут с разрешенной сортировкой",
189
+ "content-manager.notification.info.minimumFields": "Вам нужно иметь хотя бы одно отображаемое поле",
190
+ "content-manager.notification.upload.error": "Произошла ошибка при загрузке ваших файлов",
191
+ "content-manager.pageNotFound": "Страница не найдена",
192
+ "content-manager.pages.ListView.header-subtitle": "{number, plural, =0 {Ничего не найдено} other {Найдено записей: #}}",
193
+ "content-manager.pages.NoContentType.button": "Создайте свой первый тип контента",
194
+ "content-manager.pages.NoContentType.text": "У вас ещё нет никакого контента, мы рекомендуем вам создать свой первый тип контента.",
195
+ "content-manager.permissions.not-allowed.create": "У вас нет прав на создание документов",
196
+ "content-manager.permissions.not-allowed.update": "У вас нет прав на просмотр этого документа",
197
+ "content-manager.plugin.description.long": "Быстрый способ увидеть, отредактировать и удалить данные в вашей базе данных.",
198
+ "content-manager.plugin.description.short": "Быстрый способ увидеть, отредактировать и удалить данные в вашей базе данных.",
199
+ "content-manager.popUpWarning.bodyMessage.contentType.delete": "Вы уверены, что хотите удалить эту запись?",
200
+ "content-manager.popUpWarning.bodyMessage.contentType.delete.all": "Вы уверены, что хотите удалить эти записи?",
201
+ "content-manager.popUpWarning.bodyMessage.contentType.publish.all": "Are you sure you want to publish these entries?",
202
+ "content-manager.popUpWarning.bodyMessage.contentType.unpublish.all": "Are you sure you want to unpublish these entries?",
203
+ "content-manager.popUpWarning.warning.has-draft-relations.title": "Подтверждение",
204
+ "content-manager.popUpWarning.warning.publish-question": "Вы уверены, что хотите опубликовать запись?",
205
+ "content-manager.popUpWarning.warning.unpublish": "Если вы не опубликуете этот контент, он автоматически превратится в Черновик.",
206
+ "content-manager.popUpWarning.warning.unpublish-question": "Вы уверены, что хотите её не публиковать?",
207
+ "content-manager.popUpWarning.warning.updateAllSettings": "Это изменит все ваши настройки",
208
+ "content-manager.popUpwarning.warning.bulk-has-draft-relations.message": "<b>{count} {count, plural, =0{# отношений} one{# отношение} few{# отношения} many {# отношений}} из {entities} {entities, =0{# записей} one{# записи} few{# записей} many {# записей}}</b> ещё не опубликованы и могут привести к неожиданному поведению.",
209
+ "content-manager.popUpwarning.warning.has-draft-relations.button-confirm": "Да, публиковать",
210
+ "content-manager.popUpwarning.warning.has-draft-relations.message": "<b>{count, plural, =0{# отношений записей} one{# отношение записи} few{# отношения записи} many {# отношений записей}}</b> ещё не опубликованы.<br></br>Это может привести к появлению неработающих ссылок и ошибок в вашем проекте.",
211
+ "content-manager.popover.display-relations.label": "Показать отношения",
212
+ "content-manager.relation.add": "Добавить отношение",
213
+ "content-manager.relation.disconnect": "Удалить",
214
+ "content-manager.relation.isLoading": "Отношения загружаются",
215
+ "content-manager.relation.loadMore": "Загрузить ещё",
216
+ "content-manager.relation.notAvailable": "Нет отношений",
217
+ "content-manager.relation.publicationState.draft": "Черновик",
218
+ "content-manager.relation.publicationState.published": "Опубликовано",
219
+ "content-manager.reviewWorkflows.stage.label": "Просмотреть этап",
220
+ "content-manager.select.currently.selected": "{count} выбрано",
221
+ "content-manager.success.record.delete": "Удалено",
222
+ "content-manager.success.record.publish": "Опубликовано",
223
+ "content-manager.success.record.publishing": "Публикуем...",
224
+ "content-manager.success.record.save": "Сохранено",
225
+ "content-manager.success.record.unpublish": "Не опубликовано",
226
+ "content-manager.utils.data-loaded": "{number, plural, =0{# записей} one{# запись} few{# записи} many {# записей}} успешно загружено"
227
+ };
228
+ export {
229
+ ru as default
230
+ };
231
+ //# sourceMappingURL=ru-BE6A4Exp.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ar-DeQBSsfl.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ru-BE6A4Exp.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}