@strapi/content-manager 5.10.3 → 5.11.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 (92) hide show
  1. package/dist/admin/chunks/{ComponentConfigurationPage-C5H-5L1u.js → ComponentConfigurationPage-BBCYsnnE.js} +3 -3
  2. package/dist/admin/chunks/{ComponentConfigurationPage-C5H-5L1u.js.map → ComponentConfigurationPage-BBCYsnnE.js.map} +1 -1
  3. package/dist/admin/chunks/{ComponentConfigurationPage-BN2kOtDm.mjs → ComponentConfigurationPage-DNBN8tI3.mjs} +3 -3
  4. package/dist/admin/chunks/{ComponentConfigurationPage-BN2kOtDm.mjs.map → ComponentConfigurationPage-DNBN8tI3.mjs.map} +1 -1
  5. package/dist/admin/chunks/{EditConfigurationPage-tMgOELQG.mjs → EditConfigurationPage-CoivzF-x.mjs} +3 -3
  6. package/dist/admin/chunks/{EditConfigurationPage-tMgOELQG.mjs.map → EditConfigurationPage-CoivzF-x.mjs.map} +1 -1
  7. package/dist/admin/chunks/{EditConfigurationPage-BExtZuB7.js → EditConfigurationPage-Cu0Vt-uc.js} +3 -3
  8. package/dist/admin/chunks/{EditConfigurationPage-BExtZuB7.js.map → EditConfigurationPage-Cu0Vt-uc.js.map} +1 -1
  9. package/dist/admin/chunks/{EditViewPage-DFkloeMZ.js → EditViewPage-B48r4DLX.js} +6 -9
  10. package/dist/admin/chunks/EditViewPage-B48r4DLX.js.map +1 -0
  11. package/dist/admin/chunks/{EditViewPage-CYe7wAXF.mjs → EditViewPage-BpGtaOKG.mjs} +6 -9
  12. package/dist/admin/chunks/EditViewPage-BpGtaOKG.mjs.map +1 -0
  13. package/dist/admin/chunks/{Form-DGUP3zQO.js → Form-DD49gSWW.js} +2 -2
  14. package/dist/admin/chunks/{Form-DGUP3zQO.js.map → Form-DD49gSWW.js.map} +1 -1
  15. package/dist/admin/chunks/{Form-DTO0ZIaB.mjs → Form-rQQtxfmF.mjs} +2 -2
  16. package/dist/admin/chunks/{Form-DTO0ZIaB.mjs.map → Form-rQQtxfmF.mjs.map} +1 -1
  17. package/dist/admin/chunks/{History-C333pgXF.mjs → History-BdsTgpW-.mjs} +5 -5
  18. package/dist/admin/chunks/{History-C333pgXF.mjs.map → History-BdsTgpW-.mjs.map} +1 -1
  19. package/dist/admin/chunks/{History-CQznK1pG.js → History-RLJ9Svg6.js} +5 -5
  20. package/dist/admin/chunks/{History-CQznK1pG.js.map → History-RLJ9Svg6.js.map} +1 -1
  21. package/dist/admin/chunks/{Input-DLJZHw9Y.js → Input-BUVu6H9n.js} +4 -4
  22. package/dist/admin/chunks/{Input-DLJZHw9Y.js.map → Input-BUVu6H9n.js.map} +1 -1
  23. package/dist/admin/chunks/{Input-BexkC_pp.mjs → Input-CtIJ2J0c.mjs} +4 -4
  24. package/dist/admin/chunks/{Input-BexkC_pp.mjs.map → Input-CtIJ2J0c.mjs.map} +1 -1
  25. package/dist/admin/chunks/{ListConfigurationPage-BX2WR7MI.mjs → ListConfigurationPage-38s4e-VJ.mjs} +2 -2
  26. package/dist/admin/chunks/{ListConfigurationPage-BX2WR7MI.mjs.map → ListConfigurationPage-38s4e-VJ.mjs.map} +1 -1
  27. package/dist/admin/chunks/{ListConfigurationPage-71I_stAM.js → ListConfigurationPage-DfnrA3dw.js} +2 -2
  28. package/dist/admin/chunks/{ListConfigurationPage-71I_stAM.js.map → ListConfigurationPage-DfnrA3dw.js.map} +1 -1
  29. package/dist/admin/chunks/{ListViewPage-BDeT3Dkk.mjs → ListViewPage-BTmlktgT.mjs} +3 -3
  30. package/dist/admin/chunks/{ListViewPage-BDeT3Dkk.mjs.map → ListViewPage-BTmlktgT.mjs.map} +1 -1
  31. package/dist/admin/chunks/{ListViewPage-DV3heO4F.js → ListViewPage-D9-LGPq_.js} +3 -3
  32. package/dist/admin/chunks/{ListViewPage-DV3heO4F.js.map → ListViewPage-D9-LGPq_.js.map} +1 -1
  33. package/dist/admin/chunks/{NoContentTypePage-9JHYpYVX.mjs → NoContentTypePage-CcyR2i1K.mjs} +2 -2
  34. package/dist/admin/chunks/{NoContentTypePage-9JHYpYVX.mjs.map → NoContentTypePage-CcyR2i1K.mjs.map} +1 -1
  35. package/dist/admin/chunks/{NoContentTypePage-COih9y2J.js → NoContentTypePage-owzdv-pl.js} +2 -2
  36. package/dist/admin/chunks/{NoContentTypePage-COih9y2J.js.map → NoContentTypePage-owzdv-pl.js.map} +1 -1
  37. package/dist/admin/chunks/{NoPermissionsPage-DGAwRIlN.js → NoPermissionsPage-CM_r8w5u.js} +2 -2
  38. package/dist/admin/chunks/{NoPermissionsPage-DGAwRIlN.js.map → NoPermissionsPage-CM_r8w5u.js.map} +1 -1
  39. package/dist/admin/chunks/{NoPermissionsPage-DTe9I47q.mjs → NoPermissionsPage-lBonAXej.mjs} +2 -2
  40. package/dist/admin/chunks/{NoPermissionsPage-DTe9I47q.mjs.map → NoPermissionsPage-lBonAXej.mjs.map} +1 -1
  41. package/dist/admin/chunks/{Preview-CXtc9yEV.js → Preview-Bv3GKyWZ.js} +209 -86
  42. package/dist/admin/chunks/Preview-Bv3GKyWZ.js.map +1 -0
  43. package/dist/admin/chunks/{Preview-BEq0FXda.mjs → Preview-Dh5Z7aGp.mjs} +213 -90
  44. package/dist/admin/chunks/Preview-Dh5Z7aGp.mjs.map +1 -0
  45. package/dist/admin/chunks/{Relations-qeZyLDgQ.mjs → Relations-DP5krCGC.mjs} +3 -3
  46. package/dist/admin/chunks/{Relations-qeZyLDgQ.mjs.map → Relations-DP5krCGC.mjs.map} +1 -1
  47. package/dist/admin/chunks/{Relations-o7_hVGyK.js → Relations-T8Cr0N9M.js} +3 -3
  48. package/dist/admin/chunks/{Relations-o7_hVGyK.js.map → Relations-T8Cr0N9M.js.map} +1 -1
  49. package/dist/admin/chunks/{en-LfhocNG2.mjs → en-CImiNxXE.mjs} +3 -1
  50. package/dist/admin/chunks/{en-LfhocNG2.mjs.map → en-CImiNxXE.mjs.map} +1 -1
  51. package/dist/admin/chunks/{en-C1CjdAtC.js → en-CLf4SuMQ.js} +3 -1
  52. package/dist/admin/chunks/{en-C1CjdAtC.js.map → en-CLf4SuMQ.js.map} +1 -1
  53. package/dist/admin/chunks/{index-Cs6qwFQu.mjs → index-BkM_Z7pU.mjs} +78 -40
  54. package/dist/admin/chunks/index-BkM_Z7pU.mjs.map +1 -0
  55. package/dist/admin/chunks/{index-BHimg6jW.js → index-CGBB9Dho.js} +78 -39
  56. package/dist/admin/chunks/index-CGBB9Dho.js.map +1 -0
  57. package/dist/admin/chunks/{layout-DStNia_P.mjs → layout-D8ji6QNJ.mjs} +4 -4
  58. package/dist/admin/chunks/{layout-DStNia_P.mjs.map → layout-D8ji6QNJ.mjs.map} +1 -1
  59. package/dist/admin/chunks/{layout-Dtahn4Ue.js → layout-Dbmjk7mC.js} +4 -4
  60. package/dist/admin/chunks/{layout-Dtahn4Ue.js.map → layout-Dbmjk7mC.js.map} +1 -1
  61. package/dist/admin/chunks/{relations-Cq8NRUto.mjs → relations-Dv0FHoBS.mjs} +2 -2
  62. package/dist/admin/chunks/{relations-Cq8NRUto.mjs.map → relations-Dv0FHoBS.mjs.map} +1 -1
  63. package/dist/admin/chunks/{relations-XOYEEqMz.js → relations-jNJK8ESO.js} +2 -2
  64. package/dist/admin/chunks/{relations-XOYEEqMz.js.map → relations-jNJK8ESO.js.map} +1 -1
  65. package/dist/admin/chunks/uk-BtM6WnaE.mjs +313 -0
  66. package/dist/admin/chunks/uk-BtM6WnaE.mjs.map +1 -0
  67. package/dist/admin/chunks/uk-DB6OgySY.js +318 -0
  68. package/dist/admin/chunks/uk-DB6OgySY.js.map +1 -0
  69. package/dist/admin/index.js +1 -1
  70. package/dist/admin/index.mjs +1 -1
  71. package/dist/admin/src/components/InjectionZone.d.ts +7 -1
  72. package/dist/admin/src/content-manager.d.ts +4 -0
  73. package/dist/admin/src/hooks/useDocument.d.ts +2 -0
  74. package/dist/admin/src/hooks/useDocumentActions.d.ts +1 -0
  75. package/dist/admin/src/pages/EditView/components/DocumentActions.d.ts +2 -1
  76. package/dist/admin/src/preview/components/PreviewContent.d.ts +1 -2
  77. package/dist/admin/src/preview/pages/Preview.d.ts +2 -0
  78. package/dist/server/index.js +1 -1
  79. package/dist/server/index.js.map +1 -1
  80. package/dist/server/index.mjs +1 -1
  81. package/dist/server/index.mjs.map +1 -1
  82. package/package.json +8 -8
  83. package/dist/admin/chunks/EditViewPage-CYe7wAXF.mjs.map +0 -1
  84. package/dist/admin/chunks/EditViewPage-DFkloeMZ.js.map +0 -1
  85. package/dist/admin/chunks/Preview-BEq0FXda.mjs.map +0 -1
  86. package/dist/admin/chunks/Preview-CXtc9yEV.js.map +0 -1
  87. package/dist/admin/chunks/index-BHimg6jW.js.map +0 -1
  88. package/dist/admin/chunks/index-Cs6qwFQu.mjs.map +0 -1
  89. package/dist/admin/chunks/uk-B24MoTVg.js +0 -145
  90. package/dist/admin/chunks/uk-B24MoTVg.js.map +0 -1
  91. package/dist/admin/chunks/uk-Cpgmm7gE.mjs +0 -140
  92. package/dist/admin/chunks/uk-Cpgmm7gE.mjs.map +0 -1
@@ -2,7 +2,7 @@
2
2
 
3
3
  var React = require('react');
4
4
  var fractionalIndexing = require('fractional-indexing');
5
- var index = require('./index-BHimg6jW.js');
5
+ var index = require('./index-CGBB9Dho.js');
6
6
 
7
7
  function useDebounce(value, delay) {
8
8
  const [debouncedValue, setDebouncedValue] = React.useState(value);
@@ -175,4 +175,4 @@ exports.getRelationLabel = getRelationLabel;
175
175
  exports.useDebounce = useDebounce;
176
176
  exports.useGetRelationsQuery = useGetRelationsQuery;
177
177
  exports.useLazySearchRelationsQuery = useLazySearchRelationsQuery;
178
- //# sourceMappingURL=relations-XOYEEqMz.js.map
178
+ //# sourceMappingURL=relations-jNJK8ESO.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"relations-XOYEEqMz.js","sources":["../../../admin/src/hooks/useDebounce.ts","../../../admin/src/services/relations.ts","../../../admin/src/utils/relations.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nexport function useDebounce<TValue>(value: TValue, delay: number): TValue {\n const [debouncedValue, setDebouncedValue] = useState(value);\n\n useEffect(() => {\n const handler = setTimeout(() => {\n setDebouncedValue(value);\n }, delay);\n\n return () => {\n clearTimeout(handler);\n };\n }, [value, delay]);\n\n return debouncedValue;\n}\n","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":["useDebounce","value","delay","debouncedValue","setDebouncedValue","useState","useEffect","handler","setTimeout","clearTimeout","relationsApi","contentManagerApi","injectEndpoints","endpoints","build","getRelations","query","model","id","targetField","params","url","method","config","serializeQueryArgs","args","endpointName","queryArgs","locale","status","merge","currentCache","newItems","pagination","page","results","prepareTempKeys","forceRefetch","currentArg","previousArg","pageSize","transformResponse","response","toReversed","providesTags","searchRelations","_q","idsToOmit","idsToInclude","existingIds","map","item","documentId","uniqueNewItems","filter","includes","push","relations","existingRelations","firstItem","slice","keys","generateNKeysBetween","__temp_key__","length","datum","index","useGetRelationsQuery","useLazySearchRelationsQuery","getRelationLabel","relation","mainField","label","name"],"mappings":"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"}
1
+ {"version":3,"file":"relations-jNJK8ESO.js","sources":["../../../admin/src/hooks/useDebounce.ts","../../../admin/src/services/relations.ts","../../../admin/src/utils/relations.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nexport function useDebounce<TValue>(value: TValue, delay: number): TValue {\n const [debouncedValue, setDebouncedValue] = useState(value);\n\n useEffect(() => {\n const handler = setTimeout(() => {\n setDebouncedValue(value);\n }, delay);\n\n return () => {\n clearTimeout(handler);\n };\n }, [value, delay]);\n\n return debouncedValue;\n}\n","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":["useDebounce","value","delay","debouncedValue","setDebouncedValue","useState","useEffect","handler","setTimeout","clearTimeout","relationsApi","contentManagerApi","injectEndpoints","endpoints","build","getRelations","query","model","id","targetField","params","url","method","config","serializeQueryArgs","args","endpointName","queryArgs","locale","status","merge","currentCache","newItems","pagination","page","results","prepareTempKeys","forceRefetch","currentArg","previousArg","pageSize","transformResponse","response","toReversed","providesTags","searchRelations","_q","idsToOmit","idsToInclude","existingIds","map","item","documentId","uniqueNewItems","filter","includes","push","relations","existingRelations","firstItem","slice","keys","generateNKeysBetween","__temp_key__","length","datum","index","useGetRelationsQuery","useLazySearchRelationsQuery","getRelationLabel","relation","mainField","label","name"],"mappings":"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"}
@@ -0,0 +1,313 @@
1
+ var groups = "Групи";
2
+ var models = "Типи Колекцій";
3
+ var pageNotFound = "Сторінка не знайдена";
4
+ var uk = {
5
+ "App.schemas.data-loaded": "Схеми було успішно завантажено",
6
+ "actions.clone.error": "Під час спроби клонувати документ сталася помилка.",
7
+ "actions.clone.label": "Дублювати",
8
+ "actions.delete.dialog.body": "Ви впевнені, що хочете видалити цей документ? Ця дія незворотна.",
9
+ "actions.delete.error": "Під час спроби видалити документ сталася помилка.",
10
+ "actions.delete.label": "Видалити запис{isLocalized, select, true { (всі локалі)} other {}}",
11
+ "actions.discard.label": "Відхилити зміни",
12
+ "actions.discard.dialog.body": "Ви впевнені, що хочете відхилити зміни? Ця дія незворотна.",
13
+ "actions.edit.error": "Під час спроби редагувати документ сталася помилка.",
14
+ "actions.edit.label": "Редагувати",
15
+ "actions.unpublish.error": "Під час спроби скасувати публікацію документа сталася помилка.",
16
+ "actions.unpublish.dialog.body": "Ви впевнені, що хочете скасувати публікацію цього?",
17
+ "actions.unpublish.dialog.option.keep-draft": "Скасувати публікацію та зберегти останню чернетку",
18
+ "actions.unpublish.dialog.option.replace-draft": "Скасувати публікацію та замінити останню чернетку",
19
+ "ListViewTable.relation-loaded": "Зв'язки були завантажені",
20
+ "ListViewTable.relation-loading": "Зв'язки завантажуються",
21
+ "ListViewTable.relation-more": "Цей зв'язок містить більше сутностей, ніж відображено",
22
+ "EditRelations.title": "Зв'язок",
23
+ "HeaderLayout.button.label-add-entry": "Додати запис",
24
+ "api.id": "API ID",
25
+ "apiError.This attribute must be unique": "Поле {field} повинно бути унікальним",
26
+ "components.AddFilterCTA.add": "Фільтри",
27
+ "components.AddFilterCTA.hide": "Фільтри",
28
+ "components.DragHandle-label": "Перетягніть для зміни порядку",
29
+ "components.DraggableAttr.edit": "Натисніть щоб змінити",
30
+ "components.DraggableCard.delete.field": "Видалити {item}",
31
+ "components.DraggableCard.edit.field": "Редагувати {item}",
32
+ "components.DraggableCard.move.field": "Перемістити {item}",
33
+ "components.ListViewTable.row-line": "рядок елемента {number}",
34
+ "components.DynamicZone.ComponentPicker-label": "Виберіть один компонент",
35
+ "components.DynamicZone.add-component": "Додати компонент до {componentName}",
36
+ "components.DynamicZone.delete-label": "Видалити {name}",
37
+ "components.DynamicZone.error-message": "Компонент містить помилки",
38
+ "components.DynamicZone.missing-components": "Є {number, plural, =0 {# відсутніх компонентів} one {# відсутній компонент} other {# відсутніх компонентів}}",
39
+ "components.DynamicZone.extra-components": "Є {number, plural, =0 {# зайвих компонентів} one {# зайвий компонент} other {# зайвих компонентів}}",
40
+ "components.DynamicZone.move-down-label": "Перемістити компонент вниз",
41
+ "components.DynamicZone.move-up-label": "Перемістити компонент вгору",
42
+ "components.DynamicZone.pick-compo": "Виберіть один компонент",
43
+ "components.DynamicZone.required": "Компонент є обов'язковим",
44
+ "components.EmptyAttributesBlock.button": "Перейти до налаштувань",
45
+ "components.EmptyAttributesBlock.description": "Ви можете змінити свої налаштування",
46
+ "components.FieldItem.linkToComponentLayout": "Встановити макет компоненту",
47
+ "components.FieldSelect.label": "Додати поле",
48
+ "components.FilterOptions.button.apply": "Застосувати",
49
+ "components.FiltersPickWrapper.PluginHeader.actions.apply": "Застосувати",
50
+ "components.FiltersPickWrapper.PluginHeader.actions.clearAll": "Очистити все",
51
+ "components.FiltersPickWrapper.PluginHeader.description": "Вкажіть умови фільтрації записів",
52
+ "components.FiltersPickWrapper.PluginHeader.title.filter": "Фільтри",
53
+ "components.FiltersPickWrapper.hide": "Сховати",
54
+ "components.Filters.usersSelect.label": "Пошук та вибір користувача для фільтрації",
55
+ "components.LeftMenu.Search.label": "Пошук типу вмісту",
56
+ "components.LeftMenu.collection-types": "Типи колекцій",
57
+ "components.LeftMenu.single-types": "Типи одиниць",
58
+ "components.LimitSelect.itemsPerPage": "Елементів на сторінку",
59
+ "components.NotAllowedInput.text": "Вам не дозволено переглядати це поле",
60
+ "components.RelationInput.icon-button-aria-label": "Перетягнути",
61
+ "components.RepeatableComponent.error-message": "Компоненти містять помилки",
62
+ "components.Search.placeholder": "Пошук записів...",
63
+ "components.Select.draft-info-title": "Чернетка",
64
+ "components.Select.publish-info-title": "Опубліковано",
65
+ "components.SettingsViewWrapper.pluginHeader.description.edit-settings": "Налаштуйте, як буде виглядати екран редагування.",
66
+ "components.SettingsViewWrapper.pluginHeader.description.list-settings": "Визначте параметри вигяду списку.",
67
+ "components.SettingsViewWrapper.pluginHeader.title": "Налаштуйте вигляд - {name}",
68
+ "bulk-publish.already-published": "Вже опубліковано",
69
+ "bulk-unpublish.already-unpublished": "Вже скасовано публікацію",
70
+ "bulk-publish.modified": "Готово до публікації змін",
71
+ "components.TableDelete.delete": "Видалити все",
72
+ "components.TableDelete.deleteSelected": "Видалити обране",
73
+ "components.TableDelete.label": "Вибрано {number, plural, one {# запис} other {# записів}} selected",
74
+ "components.TableEmpty.withFilters": "Немає {contentType} з обраними фільтрами...",
75
+ "components.TableEmpty.withSearch": "Немає {contentType}, які відповідають пошуку \"{search}\"...",
76
+ "components.TableEmpty.withoutFilter": "Немає {contentType}...",
77
+ "components.empty-repeatable": "Немає записів. Натисніть кнопку нижче, щоб додати нову.",
78
+ "components.notification.info.maximum-requirement": "Ви досягли максимальної кількості полей",
79
+ "components.notification.info.minimum-requirement": "Поле було додано, щоб відповідати мінімальним вимогам",
80
+ "components.repeatable.reorder.error": "Сталася помилка під час зміни порядку поля вашого компонента, будь ласка, спробуйте ще раз",
81
+ "components.reset-entry": "Скинути запис",
82
+ "components.uid.apply": "Вибрати",
83
+ "components.uid.available": "Доступний",
84
+ "components.uid.regenerate": "Згенерувати",
85
+ "components.uid.suggested": "Рекомендоване",
86
+ "components.uid.unavailable": "Недоступний",
87
+ "containers.edit.tabs.label": "Статус документа",
88
+ "containers.edit.tabs.draft": "чернетка",
89
+ "containers.edit.tabs.published": "опубліковано",
90
+ "containers.edit.panels.default.title": "Запис",
91
+ "containers.edit.panels.default.more-actions": "Більше дій з документом",
92
+ "containers.Edit.delete": "Видалити",
93
+ "containers.edit.title.new": "Створити запис",
94
+ "containers.edit.header.more-actions": "Більше дій",
95
+ "containers.edit.information.last-published.label": "Опубліковано",
96
+ "containers.edit.information.last-published.value": "{time}{isAnonymous, select, true {} other { автор: {author}}}",
97
+ "containers.edit.information.last-draft.label": "Оновлено",
98
+ "containers.edit.information.last-draft.value": "{time}{isAnonymous, select, true {} other { автор: {author}}}",
99
+ "containers.edit.information.document.label": "Створено",
100
+ "containers.edit.information.document.value": "{time}{isAnonymous, select, true {} other { автор: {author}}}",
101
+ "containers.EditSettingsView.modal-form.edit-field": "Налаштуйте поле",
102
+ "containers.EditView.add.new-entry": "Add an entry",
103
+ "containers.EditView.notification.errors": "Форма містить деякі помилки",
104
+ "containers.Home.introduction": "Щоб редагувати ваші записи, перейдіть за посиланням в лівому меню. Цей плаґін не має належного способу редагування налаштувань і все ще активно розробляється.",
105
+ "containers.Home.pluginHeaderDescription": "Керуйте своїми записами за допомогою потужного та красивого інтерфейсу.",
106
+ "containers.Home.pluginHeaderTitle": "Контент-менеджер",
107
+ "containers.List.draft": "Чернетка",
108
+ "containers.List.published": "Опубліковано",
109
+ "containers.List.modified": "Змінено",
110
+ "containers.list.displayedFields": "Показувати поля",
111
+ "containers.list.items": "{number} {number, plural, =0 {елементів} one {елемент} other {елементів}}",
112
+ "containers.list.table.row-actions": "Дії рядка",
113
+ "containers.list.selectedEntriesModal.title": "Опублікувати записи",
114
+ "containers.list.selectedEntriesModal.selectedCount.publish": "<b>{publishedCount}</b> {publishedCount, plural, =0 {записів} one {запис} other {записів}} вже опубліковано. <b>{draftCount}</b> {draftCount, plural, =0 {записів} one {запис} other {записів}} готові до публікації. <b>{withErrorsCount}</b> {withErrorsCount, plural, =0 {записів} one {запис} other {записів}} чекають дій.",
115
+ "containers.list.selectedEntriesModal.selectedCount.unpublish": "<b>{draftCount}</b> {draftCount, plural, =0 {записів} one {запис} other {записів}} вже скасовано публікацію. <b>{publishedCount}</b> {publishedCount, plural, =0 {записів} one {запис} other {записів}} готові до скасування публікації.",
116
+ "containers.list.autoCloneModal.header": "Дублювати",
117
+ "containers.list.autoCloneModal.title": "Цей запис не може бути дубльований безпосередньо.",
118
+ "containers.list.autoCloneModal.description": "Новий запис буде створено з тим самим вмістом, але вам доведеться змінити наступні поля, щоб зберегти його.",
119
+ "containers.list.autoCloneModal.create": "Створити",
120
+ "containers.list.autoCloneModal.error.unique": "Ідентичні значення в унікальному полі не дозволені.",
121
+ "containers.list.autoCloneModal.error.relation": "Дублювання зв'язку може видалити його з оригінального запису.",
122
+ "containers.list-settings.modal-form.label": "Редагувати {fieldName}",
123
+ "containers.list-settings.modal-form.error": "Сталася помилка під час спроби відкрити форму.",
124
+ "containers.edit-settings.modal-form.error": "Сталася помилка під час спроби відкрити форму.",
125
+ "containers.edit-settings.modal-form.label": "Мітка",
126
+ "containers.edit-settings.modal-form.description": "Опис",
127
+ "containers.edit-settings.modal-form.placeholder": "Заповнювач",
128
+ "containers.edit-settings.modal-form.mainField": "Назва запису",
129
+ "containers.edit-settings.modal-form.mainField.hint": "Встановіть відображуване поле як у режимі редагування, так і в списку.",
130
+ "containers.edit-settings.modal-form.editable": "Редаговане поле",
131
+ "containers.edit-settings.modal-form.size": "Розмір",
132
+ "containers.SettingPage.add.field": "Додати ще одне поле",
133
+ "containers.SettingPage.add.relational-field": "Вставте ще одне пов’язане поле",
134
+ "containers.SettingPage.attributes": "Поля атрибутів",
135
+ "containers.SettingPage.attributes.description": "Визначте порядок атрибутів",
136
+ "containers.SettingPage.editSettings.description": "Перетягніть поля щоб налаштувати вигляд.",
137
+ "containers.SettingPage.editSettings.entry.title": "Заголовок запису",
138
+ "containers.SettingPage.editSettings.entry.title.description": "Встановіть поле, яке буде відображати запис.",
139
+ "containers.SettingPage.editSettings.relation-field.description": "Встановіть відображене поле як у переглядах редагування, так і в списку",
140
+ "containers.SettingPage.editSettings.title": "Змінити вигляд (налаштування)",
141
+ "containers.SettingPage.layout": "Компонування",
142
+ "containers.SettingPage.listSettings.description": "Налаштуйте параметри для цього Типу Колекцій",
143
+ "containers.SettingPage.listSettings.title": "Список (налаштування)",
144
+ "containers.SettingPage.pluginHeaderDescription": "Налаштуйте конкретні параметри для цього Типу Колекцій",
145
+ "containers.SettingPage.relations": "Пов’язані поля",
146
+ "containers.SettingPage.settings": "Налаштування",
147
+ "containers.SettingPage.view": "Вигляд",
148
+ "containers.SettingViewModel.pluginHeader.title": "Контент-менеджер - {name}",
149
+ "containers.SettingsPage.Block.contentType.description": "Налаштуйте конкретні параметри",
150
+ "containers.SettingsPage.Block.contentType.title": "Типи Колекцій",
151
+ "containers.SettingsPage.Block.generalSettings.description": "Налаштуйте параметри за замовчуванням для своїх Типи Колекцій",
152
+ "containers.SettingsPage.Block.generalSettings.title": "Загальне",
153
+ "containers.SettingsPage.pluginHeaderDescription": "Налаштуйте параметри для всіх ваших Типи Колекцій та груп",
154
+ "containers.SettingsView.list.subtitle": "Налаштуйте компонування та відображення ваших Типи Колекцій та груп",
155
+ "containers.SettingsView.list.title": "Налаштування відображення",
156
+ "dnd.cancel-item": "{item}, відпущено. Перестановка скасована.",
157
+ "dnd.drop-item": "{item}, відпущено. Кінцева позиція в списку: {position}.",
158
+ "dnd.grab-item": "{item}, взято. Поточна позиція в списку: {position}. Натисніть стрілки вгору та вниз, щоб змінити положення, пробіл для відпускання, Esc для скасування.",
159
+ "dnd.instructions": "Натисніть пробіл, щоб взяти та переставити.",
160
+ "dnd.reorder": "{item}, переміщено. Нова позиція в списку: {position}.",
161
+ "edit-settings-view.link-to-ctb.components": "Редагувати компонент",
162
+ "edit-settings-view.link-to-ctb.content-types": "Редагувати тип вмісту",
163
+ "emptyAttributes.button": "Перейдіть до конструктора Типу Колекцій",
164
+ "emptyAttributes.description": "Додайте перше поле в ваш Тип Колекцій",
165
+ "emptyAttributes.title": "Поки що немає полей",
166
+ "error.attribute.key.taken": "Значення вже існує",
167
+ "error.attribute.sameKeyAndName": "Не може співпадати",
168
+ "error.attribute.taken": "Це поле вже існує",
169
+ "error.contentTypeName.taken": "Ця назва вже існує",
170
+ "error.model.fetch": "Під час завантаження конфігурації моделей сталася помилка.",
171
+ "error.record.create": "Під час створення запису сталася помилка.",
172
+ "error.record.delete": "Під час видалення запису сталася помилка.",
173
+ "error.record.fetch": "Під час завантаження запису сталася помилка.",
174
+ "error.record.update": "Під час оновлення запису сталася помилка.",
175
+ "error.records.count": "Під час завантаження кількості записів сталася помилка.",
176
+ "error.records.fetch": "Під час завантаження записів сталася помилка.",
177
+ "error.records.fetch-draft-relatons": "Помилка сталася під час отримання проектів зв’язків на цьому документі.",
178
+ "error.schema.generation": "Під час створення схеми сталася помилка.",
179
+ "error.validation.json": "Це не відпоідає формату JSON",
180
+ "error.validation.max": "Значення занадто велике.",
181
+ "error.validation.maxLength": "Значення занадто довге.",
182
+ "error.validation.min": "Значення занадто мале.",
183
+ "error.validation.minLength": "Значення занадто коротке.",
184
+ "error.validation.minSupMax": "Не може бути більше",
185
+ "error.validation.regex": "Значення не відповідає регулярному виразу.",
186
+ "error.validation.required": "Це обов'язкове поле.",
187
+ "form.Input.bulkActions": "Дозволити масові дії",
188
+ "form.Input.defaultSort": "Сортування за замовчуванням",
189
+ "form.Input.description": "Опис",
190
+ "form.Input.description.placeholder": "Ім'я, для відображення в профілі",
191
+ "form.Input.editable": "Редагуєме поле",
192
+ "form.Input.filters": "Увімкнути фільтри",
193
+ "form.Input.hint.character.unit": "{maxValue, plural, one { символи} other { символів}}",
194
+ "form.Input.hint.minMaxDivider": " / ",
195
+ "form.Input.hint.text": "{min, select, undefined {} other {min. {min}}}{divider}{max, select, undefined {} other {max. {max}}}{unit}{br}{description}",
196
+ "form.Input.label": "Підпис",
197
+ "form.Input.label.inputDescription": "Це значення змінить підпис, який відображується у заголовку таблиці",
198
+ "form.Input.pageEntries": "записів на сторінці",
199
+ "form.Input.pageEntries.inputDescription": "Зауважте, що ви можете змінити це значення на сторінці налаштувань Типу Колекцій.",
200
+ "form.Input.placeholder": "Плейсхолдер",
201
+ "form.Input.placeholder.placeholder": "Моє значення",
202
+ "form.Input.search": "Увімкнути пошук",
203
+ "form.Input.search.field": "Дозволити шукати за цим полем",
204
+ "form.Input.sort.field": "Дозволити сортувати за цим полем",
205
+ "form.Input.sort.order": "Порядок сортування за замовчуванням",
206
+ "form.Input.wysiwyg": "Відображувати як WYSIWYG",
207
+ "global.displayedFields": "Відображені поля",
208
+ groups: groups,
209
+ "groups.numbered": "Групи ({number})",
210
+ "header.name": "Менеджер контенту",
211
+ "link-to-ctb": "Відредагуйте модель",
212
+ models: models,
213
+ "models.numbered": "Типи Колекцій ({number})",
214
+ "notification.error.displayedFields": "Потрібне хоча б одне поле для відображення.",
215
+ "notification.error.relationship.fetch": "Під час завантаження зв'язків сталася помилка.",
216
+ "notification.info.SettingPage.disableSort": "Потріен хоча б один атрібут дозволений для сортування.",
217
+ "notification.info.minimumFields": "Необхідно відобразити хоча б одне поле.",
218
+ "notification.upload.error": "Під час завантаження файлів сталася помилка.",
219
+ pageNotFound: pageNotFound,
220
+ "pages.ListView.header-subtitle": "Знайдено {number, plural, =0 {# записів} one {# запис} other {# записів}}",
221
+ "pages.NoContentType.button": "Створити ваш перший Тип Вмісту",
222
+ "pages.NoContentType.text": "У вас ще немає вмісту, ми рекомендуємо створити ваш перший Тип Вмісту.",
223
+ "permissions.not-allowed.create": "Вам не дозволено створювати документ",
224
+ "permissions.not-allowed.update": "Вам не дозволено переглядати цей документ",
225
+ "plugin.description.long": "Швидкий спосіб перегляду, редагування та видалення даних у вашій базі даних.",
226
+ "plugin.description.short": "Швидкий спосіб перегляду, редагування та видалення даних у вашій базі даних.",
227
+ "popUpWarning.bodyMessage.contentType.delete": "Ви впевнені, що хочете видалити цей запис?",
228
+ "popUpWarning.bodyMessage.contentType.delete.all": "Ви впевнені, що хочете видалити ці записи?",
229
+ "popUpWarning.bodyMessage.contentType.publish.all": "Ви впевнені, що хочете опублікувати ці записи?",
230
+ "popUpWarning.bodyMessage.contentType.unpublish.all": "Ви впевнені, що хочете скасувати публікацію цих записів?",
231
+ "popUpWarning.warning.has-draft-relations.title": "Підтвердження",
232
+ "popUpWarning.warning.has-draft-relations.message": "Цей запис пов'язаний з {count, plural, one {# чернеткою} other {# чернетками}}. Опублікування може призвести до зламаних посилань у вашому застосунку.",
233
+ "popUpwarning.warning.has-draft-relations.button-confirm": "Так, опублікувати",
234
+ "popUpwarning.warning.bulk-has-draft-relations.message": "<b>{count} {count, plural, one {зв'язок} other {зв'язки}} з {entities} {entities, plural, one {запису} other {записів}} {count, plural, one {є} other {є}}</b> ще не опубліковані й можуть призвести до непередбачуваної поведінки.",
235
+ "popUpWarning.warning.publish-question": "Ви все ще хочете опублікувати?",
236
+ "popUpWarning.warning.unpublish": "Якщо ви не опублікуєте цей вміст, він автоматично стане чернеткою.",
237
+ "popUpWarning.warning.unpublish-question": "Ви впевнені, що не хочете опублікувати цього?",
238
+ "popUpWarning.warning.updateAllSettings": "Це змінить всі ваші налаштування",
239
+ "popover.display-relations.label": "Показати зв'язки",
240
+ "preview.panel.title": "Попередній перегляд",
241
+ "preview.panel.button": "Відкрити попередній перегляд",
242
+ "preview.page-title": "{contentType} попередній перегляд",
243
+ "preview.header.close": "Закрити попередній перегляд",
244
+ "preview.copy.label": "Скопіювати посилання на попередній перегляд",
245
+ "preview.copy.success": "Посилання на попередній перегляд скопійовано",
246
+ "preview.tabs.label": "Статус попереднього перегляду",
247
+ "relation.add": "Додати зв'язок",
248
+ "relation.disconnect": "Від'єднати",
249
+ "relation.error-adding-relation": "Сталася помилка при спробі додати зв'язок.",
250
+ "relation.isLoading": "Зв'язки завантажуються",
251
+ "relation.loadMore": "Завантажити більше",
252
+ "relation.notAvailable": "Немає доступних зв'язків",
253
+ "relation.publicationState.draft": "Чернетка",
254
+ "relation.publicationState.published": "Опубліковано",
255
+ "reviewWorkflows.stage.label": "Етап перегляду",
256
+ "select.currently.selected": "{count} зараз вибрано",
257
+ "success.record.clone": "Документ клоновано",
258
+ "success.record.discard": "Зміни відхилено",
259
+ "success.record.delete": "Видалено документ",
260
+ "success.record.publish": "Опубліковано документ",
261
+ "success.record.publishing": "Публікується...",
262
+ "success.record.save": "Збережено",
263
+ "success.record.unpublish": "Скасовано публікацію документа",
264
+ "success.records.delete": "Успішно видалено.",
265
+ "success.records.unpublish": "Успішно скасовано публікацію.",
266
+ "success.records.publish": "Успішно опубліковано.",
267
+ "utils.data-loaded": "Завантажено {number, plural, =1 {# запис} other {# записів}}",
268
+ "listView.validation.errors.title": "Необхідна дія",
269
+ "listView.validation.errors.message": "Будь ласка, переконайтеся, що всі поля правильні перед публікацією (обов’язкові поля, мін/макс обмеження символів тощо).",
270
+ "history.document-action": "Історія вмісту",
271
+ "history.page-title": "Історія {contentType}",
272
+ "history.sidebar.title": "Версії",
273
+ "history.sidebar.version-card.aria-label": "Карточка версії",
274
+ "history.sidebar.versionDescription": "{distanceToNow}{isAnonymous, select, true {} other { автор: {author}}}{isCurrent, select, true { <b>(поточна)</b>} other {}}",
275
+ "history.sidebar.show-newer": "Показати новіші версії",
276
+ "history.sidebar.show-older": "Показати старіші версії",
277
+ "history.version.subtitle": "{hasLocale, select, true {{subtitle}, в {locale}} other {{subtitle}}}",
278
+ "history.content.new-field.title": "Нове поле",
279
+ "history.content.new-field.message": "Це поле не існувало, коли ця версія була збережена. Якщо ви відновите цю версію, воно буде порожнім.",
280
+ "history.content.unknown-fields.title": "Невідомі поля",
281
+ "history.content.unknown-fields.message": "Ці поля були видалені або перейменовані в Конструкторі типів вмісту. <b>Ці поля не будуть відновлені.</b>",
282
+ "history.content.missing-assets.title": "{number, plural, =1 {Відсутній ресурс} other {{number} відсутніх ресурсів}}",
283
+ "history.content.missing-assets.message": "{number, plural, =1 {Його} other {Їх}} було видалено в Медіабібліотеці і не може бути відновлено.",
284
+ "history.content.missing-relations.title": "{number, plural, =1 {Відсутній зв'язок} other {{number} відсутніх зв'язків}}",
285
+ "history.content.missing-relations.message": "{number, plural, =1 {Його} other {Їх}} було видалені і не може бути відновлено.",
286
+ "history.content.no-relations": "Немає зв'язків.",
287
+ "history.content.localized": "Це значення специфічне для цієї локалі. Якщо ви відновите цю версію, вміст не буде замінено для інших локалей.",
288
+ "history.content.not-localized": "Це значення є загальним для всіх локалей. Якщо ви відновите цю версію, вміст буде замінено для всіх локалей.",
289
+ "history.restore.confirm.button": "Відновити",
290
+ "history.restore.confirm.title": "Ви впевнені, що хочете відновити цю версію?",
291
+ "history.restore.confirm.message": "{isDraft, select, true {Відновлений вміст перекриє вашу чернетку.} other {Відновлений вміст не буде опублікований, він перекриє чернетку і буде збережений як очікувані зміни. Ви зможете опублікувати зміни в будь-який час.}}",
292
+ "history.restore.success.title": "Версію відновлено.",
293
+ "history.restore.success.message": "Вміст відновленої версії ще не опубліковано.",
294
+ "history.restore.error.message": "Не вдалося відновити версію.",
295
+ "validation.error": "У вашому документі є помилки. Будь ласка, виправте їх перед збереженням.",
296
+ "bulk-publish.edit": "Редагувати",
297
+ "containers.Edit.Link.Layout": "Налаштувати компонування",
298
+ "containers.Edit.Link.Model": "Змінити Тип Колекцій",
299
+ "containers.Edit.addAnItem": "Додати елемент...",
300
+ "containers.Edit.clickToJump": "Натисніть щоб перейти до запису",
301
+ "containers.Edit.editing": "Редагування...",
302
+ "containers.Edit.pluginHeader.title.new": "Створити запис",
303
+ "containers.Edit.reset": "Скинути",
304
+ "containers.Edit.returnList": "Повернутися до списку",
305
+ "containers.Edit.seeDetails": "Докладніше",
306
+ "containers.Edit.submit": "Зберегти",
307
+ "containers.List.errorFetchRecords": "Помилка",
308
+ "containers.ListSettingsView.modal-form.edit-label": "Налаштуйте підпис",
309
+ "popUpWarning.warning.cancelAllSettings": "Ви впевнені, що хочете скасувати свої зміни?"
310
+ };
311
+
312
+ export { uk as default, groups, models, pageNotFound };
313
+ //# sourceMappingURL=uk-BtM6WnaE.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uk-BtM6WnaE.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}