@strapi/content-manager 0.0.0-next.24165c9d5cbc756c03fe23bc491569c77973f5ac → 0.0.0-next.2cc011c888f93c1bfab276c5f709a40fb3fc9aac
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.
- package/dist/admin/chunks/{ComponentConfigurationPage-Cgjg4CQj.js → ComponentConfigurationPage-BBCYsnnE.js} +3 -3
- package/dist/admin/chunks/{ComponentConfigurationPage-Cgjg4CQj.js.map → ComponentConfigurationPage-BBCYsnnE.js.map} +1 -1
- package/dist/admin/chunks/{ComponentConfigurationPage-D6mjS3eX.mjs → ComponentConfigurationPage-DNBN8tI3.mjs} +3 -3
- package/dist/admin/chunks/{ComponentConfigurationPage-D6mjS3eX.mjs.map → ComponentConfigurationPage-DNBN8tI3.mjs.map} +1 -1
- package/dist/admin/chunks/{EditConfigurationPage-DSSrKbwM.mjs → EditConfigurationPage-CoivzF-x.mjs} +3 -3
- package/dist/admin/chunks/{EditConfigurationPage-DSSrKbwM.mjs.map → EditConfigurationPage-CoivzF-x.mjs.map} +1 -1
- package/dist/admin/chunks/{EditConfigurationPage-C5E6D6NI.js → EditConfigurationPage-Cu0Vt-uc.js} +3 -3
- package/dist/admin/chunks/{EditConfigurationPage-C5E6D6NI.js.map → EditConfigurationPage-Cu0Vt-uc.js.map} +1 -1
- package/dist/admin/chunks/{EditViewPage-Cyt_AqcH.js → EditViewPage-B48r4DLX.js} +5 -5
- package/dist/admin/chunks/{EditViewPage-Cyt_AqcH.js.map → EditViewPage-B48r4DLX.js.map} +1 -1
- package/dist/admin/chunks/{EditViewPage-B9oaTSxh.mjs → EditViewPage-BpGtaOKG.mjs} +5 -5
- package/dist/admin/chunks/{EditViewPage-B9oaTSxh.mjs.map → EditViewPage-BpGtaOKG.mjs.map} +1 -1
- package/dist/admin/chunks/{Form-BynZsnG8.js → Form-DD49gSWW.js} +2 -2
- package/dist/admin/chunks/{Form-BynZsnG8.js.map → Form-DD49gSWW.js.map} +1 -1
- package/dist/admin/chunks/{Form-CiDhWFF2.mjs → Form-rQQtxfmF.mjs} +2 -2
- package/dist/admin/chunks/{Form-CiDhWFF2.mjs.map → Form-rQQtxfmF.mjs.map} +1 -1
- package/dist/admin/chunks/{History-BIzCrHlU.mjs → History-BdsTgpW-.mjs} +5 -5
- package/dist/admin/chunks/{History-BIzCrHlU.mjs.map → History-BdsTgpW-.mjs.map} +1 -1
- package/dist/admin/chunks/{History-D8x3KfXk.js → History-RLJ9Svg6.js} +5 -5
- package/dist/admin/chunks/{History-D8x3KfXk.js.map → History-RLJ9Svg6.js.map} +1 -1
- package/dist/admin/chunks/{Input-Cx7glRRR.js → Input-BUVu6H9n.js} +4 -4
- package/dist/admin/chunks/{Input-Cx7glRRR.js.map → Input-BUVu6H9n.js.map} +1 -1
- package/dist/admin/chunks/{Input-BrTcf7W8.mjs → Input-CtIJ2J0c.mjs} +4 -4
- package/dist/admin/chunks/{Input-BrTcf7W8.mjs.map → Input-CtIJ2J0c.mjs.map} +1 -1
- package/dist/admin/chunks/{ListConfigurationPage-JWHsiJKb.mjs → ListConfigurationPage-38s4e-VJ.mjs} +2 -2
- package/dist/admin/chunks/{ListConfigurationPage-JWHsiJKb.mjs.map → ListConfigurationPage-38s4e-VJ.mjs.map} +1 -1
- package/dist/admin/chunks/{ListConfigurationPage-C1HEB6A1.js → ListConfigurationPage-DfnrA3dw.js} +2 -2
- package/dist/admin/chunks/{ListConfigurationPage-C1HEB6A1.js.map → ListConfigurationPage-DfnrA3dw.js.map} +1 -1
- package/dist/admin/chunks/{ListViewPage-lpuA2rS8.mjs → ListViewPage-BTmlktgT.mjs} +3 -3
- package/dist/admin/chunks/{ListViewPage-lpuA2rS8.mjs.map → ListViewPage-BTmlktgT.mjs.map} +1 -1
- package/dist/admin/chunks/{ListViewPage-38RhQMrO.js → ListViewPage-D9-LGPq_.js} +3 -3
- package/dist/admin/chunks/{ListViewPage-38RhQMrO.js.map → ListViewPage-D9-LGPq_.js.map} +1 -1
- package/dist/admin/chunks/{NoContentTypePage-mxdu7QG9.mjs → NoContentTypePage-CcyR2i1K.mjs} +2 -2
- package/dist/admin/chunks/{NoContentTypePage-mxdu7QG9.mjs.map → NoContentTypePage-CcyR2i1K.mjs.map} +1 -1
- package/dist/admin/chunks/{NoContentTypePage-q48fU1h9.js → NoContentTypePage-owzdv-pl.js} +2 -2
- package/dist/admin/chunks/{NoContentTypePage-q48fU1h9.js.map → NoContentTypePage-owzdv-pl.js.map} +1 -1
- package/dist/admin/chunks/{NoPermissionsPage-B_p7s1uj.js → NoPermissionsPage-CM_r8w5u.js} +2 -2
- package/dist/admin/chunks/{NoPermissionsPage-B_p7s1uj.js.map → NoPermissionsPage-CM_r8w5u.js.map} +1 -1
- package/dist/admin/chunks/{NoPermissionsPage-CihsLbNC.mjs → NoPermissionsPage-lBonAXej.mjs} +2 -2
- package/dist/admin/chunks/{NoPermissionsPage-CihsLbNC.mjs.map → NoPermissionsPage-lBonAXej.mjs.map} +1 -1
- package/dist/admin/chunks/{Preview-CMoqDEKI.js → Preview-Bv3GKyWZ.js} +90 -85
- package/dist/admin/chunks/Preview-Bv3GKyWZ.js.map +1 -0
- package/dist/admin/chunks/{Preview-DGQMt8XZ.mjs → Preview-Dh5Z7aGp.mjs} +92 -87
- package/dist/admin/chunks/Preview-Dh5Z7aGp.mjs.map +1 -0
- package/dist/admin/chunks/{Relations-BemEu63h.mjs → Relations-DP5krCGC.mjs} +3 -3
- package/dist/admin/chunks/{Relations-BemEu63h.mjs.map → Relations-DP5krCGC.mjs.map} +1 -1
- package/dist/admin/chunks/{Relations-BtC_Gort.js → Relations-T8Cr0N9M.js} +3 -3
- package/dist/admin/chunks/{Relations-BtC_Gort.js.map → Relations-T8Cr0N9M.js.map} +1 -1
- package/dist/admin/chunks/{index-njcS3gUl.mjs → index-BkM_Z7pU.mjs} +23 -16
- package/dist/admin/chunks/index-BkM_Z7pU.mjs.map +1 -0
- package/dist/admin/chunks/{index-D7EkCTnw.js → index-CGBB9Dho.js} +23 -16
- package/dist/admin/chunks/index-CGBB9Dho.js.map +1 -0
- package/dist/admin/chunks/{layout-os6F94Aa.mjs → layout-D8ji6QNJ.mjs} +4 -4
- package/dist/admin/chunks/{layout-os6F94Aa.mjs.map → layout-D8ji6QNJ.mjs.map} +1 -1
- package/dist/admin/chunks/{layout-Ccv9FwbI.js → layout-Dbmjk7mC.js} +4 -4
- package/dist/admin/chunks/{layout-Ccv9FwbI.js.map → layout-Dbmjk7mC.js.map} +1 -1
- package/dist/admin/chunks/{relations-De8hSklO.mjs → relations-Dv0FHoBS.mjs} +2 -2
- package/dist/admin/chunks/{relations-De8hSklO.mjs.map → relations-Dv0FHoBS.mjs.map} +1 -1
- package/dist/admin/chunks/{relations-iguhDgFp.js → relations-jNJK8ESO.js} +2 -2
- package/dist/admin/chunks/{relations-iguhDgFp.js.map → relations-jNJK8ESO.js.map} +1 -1
- package/dist/admin/chunks/uk-BtM6WnaE.mjs +313 -0
- package/dist/admin/chunks/uk-BtM6WnaE.mjs.map +1 -0
- package/dist/admin/chunks/uk-DB6OgySY.js +318 -0
- package/dist/admin/chunks/uk-DB6OgySY.js.map +1 -0
- package/dist/admin/index.js +1 -1
- package/dist/admin/index.mjs +1 -1
- package/dist/admin/src/content-manager.d.ts +1 -0
- package/dist/admin/src/hooks/useDocument.d.ts +2 -0
- package/dist/admin/src/preview/components/PreviewContent.d.ts +1 -2
- package/dist/admin/src/preview/pages/Preview.d.ts +2 -0
- package/package.json +8 -8
- package/dist/admin/chunks/Preview-CMoqDEKI.js.map +0 -1
- package/dist/admin/chunks/Preview-DGQMt8XZ.mjs.map +0 -1
- package/dist/admin/chunks/index-D7EkCTnw.js.map +0 -1
- package/dist/admin/chunks/index-njcS3gUl.mjs.map +0 -1
- package/dist/admin/chunks/uk-B24MoTVg.js +0 -145
- package/dist/admin/chunks/uk-B24MoTVg.js.map +0 -1
- package/dist/admin/chunks/uk-Cpgmm7gE.mjs +0 -140
- package/dist/admin/chunks/uk-Cpgmm7gE.mjs.map +0 -1
@@ -0,0 +1,318 @@
|
|
1
|
+
'use strict';
|
2
|
+
|
3
|
+
var groups = "Групи";
|
4
|
+
var models = "Типи Колекцій";
|
5
|
+
var pageNotFound = "Сторінка не знайдена";
|
6
|
+
var uk = {
|
7
|
+
"App.schemas.data-loaded": "Схеми було успішно завантажено",
|
8
|
+
"actions.clone.error": "Під час спроби клонувати документ сталася помилка.",
|
9
|
+
"actions.clone.label": "Дублювати",
|
10
|
+
"actions.delete.dialog.body": "Ви впевнені, що хочете видалити цей документ? Ця дія незворотна.",
|
11
|
+
"actions.delete.error": "Під час спроби видалити документ сталася помилка.",
|
12
|
+
"actions.delete.label": "Видалити запис{isLocalized, select, true { (всі локалі)} other {}}",
|
13
|
+
"actions.discard.label": "Відхилити зміни",
|
14
|
+
"actions.discard.dialog.body": "Ви впевнені, що хочете відхилити зміни? Ця дія незворотна.",
|
15
|
+
"actions.edit.error": "Під час спроби редагувати документ сталася помилка.",
|
16
|
+
"actions.edit.label": "Редагувати",
|
17
|
+
"actions.unpublish.error": "Під час спроби скасувати публікацію документа сталася помилка.",
|
18
|
+
"actions.unpublish.dialog.body": "Ви впевнені, що хочете скасувати публікацію цього?",
|
19
|
+
"actions.unpublish.dialog.option.keep-draft": "Скасувати публікацію та зберегти останню чернетку",
|
20
|
+
"actions.unpublish.dialog.option.replace-draft": "Скасувати публікацію та замінити останню чернетку",
|
21
|
+
"ListViewTable.relation-loaded": "Зв'язки були завантажені",
|
22
|
+
"ListViewTable.relation-loading": "Зв'язки завантажуються",
|
23
|
+
"ListViewTable.relation-more": "Цей зв'язок містить більше сутностей, ніж відображено",
|
24
|
+
"EditRelations.title": "Зв'язок",
|
25
|
+
"HeaderLayout.button.label-add-entry": "Додати запис",
|
26
|
+
"api.id": "API ID",
|
27
|
+
"apiError.This attribute must be unique": "Поле {field} повинно бути унікальним",
|
28
|
+
"components.AddFilterCTA.add": "Фільтри",
|
29
|
+
"components.AddFilterCTA.hide": "Фільтри",
|
30
|
+
"components.DragHandle-label": "Перетягніть для зміни порядку",
|
31
|
+
"components.DraggableAttr.edit": "Натисніть щоб змінити",
|
32
|
+
"components.DraggableCard.delete.field": "Видалити {item}",
|
33
|
+
"components.DraggableCard.edit.field": "Редагувати {item}",
|
34
|
+
"components.DraggableCard.move.field": "Перемістити {item}",
|
35
|
+
"components.ListViewTable.row-line": "рядок елемента {number}",
|
36
|
+
"components.DynamicZone.ComponentPicker-label": "Виберіть один компонент",
|
37
|
+
"components.DynamicZone.add-component": "Додати компонент до {componentName}",
|
38
|
+
"components.DynamicZone.delete-label": "Видалити {name}",
|
39
|
+
"components.DynamicZone.error-message": "Компонент містить помилки",
|
40
|
+
"components.DynamicZone.missing-components": "Є {number, plural, =0 {# відсутніх компонентів} one {# відсутній компонент} other {# відсутніх компонентів}}",
|
41
|
+
"components.DynamicZone.extra-components": "Є {number, plural, =0 {# зайвих компонентів} one {# зайвий компонент} other {# зайвих компонентів}}",
|
42
|
+
"components.DynamicZone.move-down-label": "Перемістити компонент вниз",
|
43
|
+
"components.DynamicZone.move-up-label": "Перемістити компонент вгору",
|
44
|
+
"components.DynamicZone.pick-compo": "Виберіть один компонент",
|
45
|
+
"components.DynamicZone.required": "Компонент є обов'язковим",
|
46
|
+
"components.EmptyAttributesBlock.button": "Перейти до налаштувань",
|
47
|
+
"components.EmptyAttributesBlock.description": "Ви можете змінити свої налаштування",
|
48
|
+
"components.FieldItem.linkToComponentLayout": "Встановити макет компоненту",
|
49
|
+
"components.FieldSelect.label": "Додати поле",
|
50
|
+
"components.FilterOptions.button.apply": "Застосувати",
|
51
|
+
"components.FiltersPickWrapper.PluginHeader.actions.apply": "Застосувати",
|
52
|
+
"components.FiltersPickWrapper.PluginHeader.actions.clearAll": "Очистити все",
|
53
|
+
"components.FiltersPickWrapper.PluginHeader.description": "Вкажіть умови фільтрації записів",
|
54
|
+
"components.FiltersPickWrapper.PluginHeader.title.filter": "Фільтри",
|
55
|
+
"components.FiltersPickWrapper.hide": "Сховати",
|
56
|
+
"components.Filters.usersSelect.label": "Пошук та вибір користувача для фільтрації",
|
57
|
+
"components.LeftMenu.Search.label": "Пошук типу вмісту",
|
58
|
+
"components.LeftMenu.collection-types": "Типи колекцій",
|
59
|
+
"components.LeftMenu.single-types": "Типи одиниць",
|
60
|
+
"components.LimitSelect.itemsPerPage": "Елементів на сторінку",
|
61
|
+
"components.NotAllowedInput.text": "Вам не дозволено переглядати це поле",
|
62
|
+
"components.RelationInput.icon-button-aria-label": "Перетягнути",
|
63
|
+
"components.RepeatableComponent.error-message": "Компоненти містять помилки",
|
64
|
+
"components.Search.placeholder": "Пошук записів...",
|
65
|
+
"components.Select.draft-info-title": "Чернетка",
|
66
|
+
"components.Select.publish-info-title": "Опубліковано",
|
67
|
+
"components.SettingsViewWrapper.pluginHeader.description.edit-settings": "Налаштуйте, як буде виглядати екран редагування.",
|
68
|
+
"components.SettingsViewWrapper.pluginHeader.description.list-settings": "Визначте параметри вигяду списку.",
|
69
|
+
"components.SettingsViewWrapper.pluginHeader.title": "Налаштуйте вигляд - {name}",
|
70
|
+
"bulk-publish.already-published": "Вже опубліковано",
|
71
|
+
"bulk-unpublish.already-unpublished": "Вже скасовано публікацію",
|
72
|
+
"bulk-publish.modified": "Готово до публікації змін",
|
73
|
+
"components.TableDelete.delete": "Видалити все",
|
74
|
+
"components.TableDelete.deleteSelected": "Видалити обране",
|
75
|
+
"components.TableDelete.label": "Вибрано {number, plural, one {# запис} other {# записів}} selected",
|
76
|
+
"components.TableEmpty.withFilters": "Немає {contentType} з обраними фільтрами...",
|
77
|
+
"components.TableEmpty.withSearch": "Немає {contentType}, які відповідають пошуку \"{search}\"...",
|
78
|
+
"components.TableEmpty.withoutFilter": "Немає {contentType}...",
|
79
|
+
"components.empty-repeatable": "Немає записів. Натисніть кнопку нижче, щоб додати нову.",
|
80
|
+
"components.notification.info.maximum-requirement": "Ви досягли максимальної кількості полей",
|
81
|
+
"components.notification.info.minimum-requirement": "Поле було додано, щоб відповідати мінімальним вимогам",
|
82
|
+
"components.repeatable.reorder.error": "Сталася помилка під час зміни порядку поля вашого компонента, будь ласка, спробуйте ще раз",
|
83
|
+
"components.reset-entry": "Скинути запис",
|
84
|
+
"components.uid.apply": "Вибрати",
|
85
|
+
"components.uid.available": "Доступний",
|
86
|
+
"components.uid.regenerate": "Згенерувати",
|
87
|
+
"components.uid.suggested": "Рекомендоване",
|
88
|
+
"components.uid.unavailable": "Недоступний",
|
89
|
+
"containers.edit.tabs.label": "Статус документа",
|
90
|
+
"containers.edit.tabs.draft": "чернетка",
|
91
|
+
"containers.edit.tabs.published": "опубліковано",
|
92
|
+
"containers.edit.panels.default.title": "Запис",
|
93
|
+
"containers.edit.panels.default.more-actions": "Більше дій з документом",
|
94
|
+
"containers.Edit.delete": "Видалити",
|
95
|
+
"containers.edit.title.new": "Створити запис",
|
96
|
+
"containers.edit.header.more-actions": "Більше дій",
|
97
|
+
"containers.edit.information.last-published.label": "Опубліковано",
|
98
|
+
"containers.edit.information.last-published.value": "{time}{isAnonymous, select, true {} other { автор: {author}}}",
|
99
|
+
"containers.edit.information.last-draft.label": "Оновлено",
|
100
|
+
"containers.edit.information.last-draft.value": "{time}{isAnonymous, select, true {} other { автор: {author}}}",
|
101
|
+
"containers.edit.information.document.label": "Створено",
|
102
|
+
"containers.edit.information.document.value": "{time}{isAnonymous, select, true {} other { автор: {author}}}",
|
103
|
+
"containers.EditSettingsView.modal-form.edit-field": "Налаштуйте поле",
|
104
|
+
"containers.EditView.add.new-entry": "Add an entry",
|
105
|
+
"containers.EditView.notification.errors": "Форма містить деякі помилки",
|
106
|
+
"containers.Home.introduction": "Щоб редагувати ваші записи, перейдіть за посиланням в лівому меню. Цей плаґін не має належного способу редагування налаштувань і все ще активно розробляється.",
|
107
|
+
"containers.Home.pluginHeaderDescription": "Керуйте своїми записами за допомогою потужного та красивого інтерфейсу.",
|
108
|
+
"containers.Home.pluginHeaderTitle": "Контент-менеджер",
|
109
|
+
"containers.List.draft": "Чернетка",
|
110
|
+
"containers.List.published": "Опубліковано",
|
111
|
+
"containers.List.modified": "Змінено",
|
112
|
+
"containers.list.displayedFields": "Показувати поля",
|
113
|
+
"containers.list.items": "{number} {number, plural, =0 {елементів} one {елемент} other {елементів}}",
|
114
|
+
"containers.list.table.row-actions": "Дії рядка",
|
115
|
+
"containers.list.selectedEntriesModal.title": "Опублікувати записи",
|
116
|
+
"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 {записів}} чекають дій.",
|
117
|
+
"containers.list.selectedEntriesModal.selectedCount.unpublish": "<b>{draftCount}</b> {draftCount, plural, =0 {записів} one {запис} other {записів}} вже скасовано публікацію. <b>{publishedCount}</b> {publishedCount, plural, =0 {записів} one {запис} other {записів}} готові до скасування публікації.",
|
118
|
+
"containers.list.autoCloneModal.header": "Дублювати",
|
119
|
+
"containers.list.autoCloneModal.title": "Цей запис не може бути дубльований безпосередньо.",
|
120
|
+
"containers.list.autoCloneModal.description": "Новий запис буде створено з тим самим вмістом, але вам доведеться змінити наступні поля, щоб зберегти його.",
|
121
|
+
"containers.list.autoCloneModal.create": "Створити",
|
122
|
+
"containers.list.autoCloneModal.error.unique": "Ідентичні значення в унікальному полі не дозволені.",
|
123
|
+
"containers.list.autoCloneModal.error.relation": "Дублювання зв'язку може видалити його з оригінального запису.",
|
124
|
+
"containers.list-settings.modal-form.label": "Редагувати {fieldName}",
|
125
|
+
"containers.list-settings.modal-form.error": "Сталася помилка під час спроби відкрити форму.",
|
126
|
+
"containers.edit-settings.modal-form.error": "Сталася помилка під час спроби відкрити форму.",
|
127
|
+
"containers.edit-settings.modal-form.label": "Мітка",
|
128
|
+
"containers.edit-settings.modal-form.description": "Опис",
|
129
|
+
"containers.edit-settings.modal-form.placeholder": "Заповнювач",
|
130
|
+
"containers.edit-settings.modal-form.mainField": "Назва запису",
|
131
|
+
"containers.edit-settings.modal-form.mainField.hint": "Встановіть відображуване поле як у режимі редагування, так і в списку.",
|
132
|
+
"containers.edit-settings.modal-form.editable": "Редаговане поле",
|
133
|
+
"containers.edit-settings.modal-form.size": "Розмір",
|
134
|
+
"containers.SettingPage.add.field": "Додати ще одне поле",
|
135
|
+
"containers.SettingPage.add.relational-field": "Вставте ще одне пов’язане поле",
|
136
|
+
"containers.SettingPage.attributes": "Поля атрибутів",
|
137
|
+
"containers.SettingPage.attributes.description": "Визначте порядок атрибутів",
|
138
|
+
"containers.SettingPage.editSettings.description": "Перетягніть поля щоб налаштувати вигляд.",
|
139
|
+
"containers.SettingPage.editSettings.entry.title": "Заголовок запису",
|
140
|
+
"containers.SettingPage.editSettings.entry.title.description": "Встановіть поле, яке буде відображати запис.",
|
141
|
+
"containers.SettingPage.editSettings.relation-field.description": "Встановіть відображене поле як у переглядах редагування, так і в списку",
|
142
|
+
"containers.SettingPage.editSettings.title": "Змінити вигляд (налаштування)",
|
143
|
+
"containers.SettingPage.layout": "Компонування",
|
144
|
+
"containers.SettingPage.listSettings.description": "Налаштуйте параметри для цього Типу Колекцій",
|
145
|
+
"containers.SettingPage.listSettings.title": "Список (налаштування)",
|
146
|
+
"containers.SettingPage.pluginHeaderDescription": "Налаштуйте конкретні параметри для цього Типу Колекцій",
|
147
|
+
"containers.SettingPage.relations": "Пов’язані поля",
|
148
|
+
"containers.SettingPage.settings": "Налаштування",
|
149
|
+
"containers.SettingPage.view": "Вигляд",
|
150
|
+
"containers.SettingViewModel.pluginHeader.title": "Контент-менеджер - {name}",
|
151
|
+
"containers.SettingsPage.Block.contentType.description": "Налаштуйте конкретні параметри",
|
152
|
+
"containers.SettingsPage.Block.contentType.title": "Типи Колекцій",
|
153
|
+
"containers.SettingsPage.Block.generalSettings.description": "Налаштуйте параметри за замовчуванням для своїх Типи Колекцій",
|
154
|
+
"containers.SettingsPage.Block.generalSettings.title": "Загальне",
|
155
|
+
"containers.SettingsPage.pluginHeaderDescription": "Налаштуйте параметри для всіх ваших Типи Колекцій та груп",
|
156
|
+
"containers.SettingsView.list.subtitle": "Налаштуйте компонування та відображення ваших Типи Колекцій та груп",
|
157
|
+
"containers.SettingsView.list.title": "Налаштування відображення",
|
158
|
+
"dnd.cancel-item": "{item}, відпущено. Перестановка скасована.",
|
159
|
+
"dnd.drop-item": "{item}, відпущено. Кінцева позиція в списку: {position}.",
|
160
|
+
"dnd.grab-item": "{item}, взято. Поточна позиція в списку: {position}. Натисніть стрілки вгору та вниз, щоб змінити положення, пробіл для відпускання, Esc для скасування.",
|
161
|
+
"dnd.instructions": "Натисніть пробіл, щоб взяти та переставити.",
|
162
|
+
"dnd.reorder": "{item}, переміщено. Нова позиція в списку: {position}.",
|
163
|
+
"edit-settings-view.link-to-ctb.components": "Редагувати компонент",
|
164
|
+
"edit-settings-view.link-to-ctb.content-types": "Редагувати тип вмісту",
|
165
|
+
"emptyAttributes.button": "Перейдіть до конструктора Типу Колекцій",
|
166
|
+
"emptyAttributes.description": "Додайте перше поле в ваш Тип Колекцій",
|
167
|
+
"emptyAttributes.title": "Поки що немає полей",
|
168
|
+
"error.attribute.key.taken": "Значення вже існує",
|
169
|
+
"error.attribute.sameKeyAndName": "Не може співпадати",
|
170
|
+
"error.attribute.taken": "Це поле вже існує",
|
171
|
+
"error.contentTypeName.taken": "Ця назва вже існує",
|
172
|
+
"error.model.fetch": "Під час завантаження конфігурації моделей сталася помилка.",
|
173
|
+
"error.record.create": "Під час створення запису сталася помилка.",
|
174
|
+
"error.record.delete": "Під час видалення запису сталася помилка.",
|
175
|
+
"error.record.fetch": "Під час завантаження запису сталася помилка.",
|
176
|
+
"error.record.update": "Під час оновлення запису сталася помилка.",
|
177
|
+
"error.records.count": "Під час завантаження кількості записів сталася помилка.",
|
178
|
+
"error.records.fetch": "Під час завантаження записів сталася помилка.",
|
179
|
+
"error.records.fetch-draft-relatons": "Помилка сталася під час отримання проектів зв’язків на цьому документі.",
|
180
|
+
"error.schema.generation": "Під час створення схеми сталася помилка.",
|
181
|
+
"error.validation.json": "Це не відпоідає формату JSON",
|
182
|
+
"error.validation.max": "Значення занадто велике.",
|
183
|
+
"error.validation.maxLength": "Значення занадто довге.",
|
184
|
+
"error.validation.min": "Значення занадто мале.",
|
185
|
+
"error.validation.minLength": "Значення занадто коротке.",
|
186
|
+
"error.validation.minSupMax": "Не може бути більше",
|
187
|
+
"error.validation.regex": "Значення не відповідає регулярному виразу.",
|
188
|
+
"error.validation.required": "Це обов'язкове поле.",
|
189
|
+
"form.Input.bulkActions": "Дозволити масові дії",
|
190
|
+
"form.Input.defaultSort": "Сортування за замовчуванням",
|
191
|
+
"form.Input.description": "Опис",
|
192
|
+
"form.Input.description.placeholder": "Ім'я, для відображення в профілі",
|
193
|
+
"form.Input.editable": "Редагуєме поле",
|
194
|
+
"form.Input.filters": "Увімкнути фільтри",
|
195
|
+
"form.Input.hint.character.unit": "{maxValue, plural, one { символи} other { символів}}",
|
196
|
+
"form.Input.hint.minMaxDivider": " / ",
|
197
|
+
"form.Input.hint.text": "{min, select, undefined {} other {min. {min}}}{divider}{max, select, undefined {} other {max. {max}}}{unit}{br}{description}",
|
198
|
+
"form.Input.label": "Підпис",
|
199
|
+
"form.Input.label.inputDescription": "Це значення змінить підпис, який відображується у заголовку таблиці",
|
200
|
+
"form.Input.pageEntries": "записів на сторінці",
|
201
|
+
"form.Input.pageEntries.inputDescription": "Зауважте, що ви можете змінити це значення на сторінці налаштувань Типу Колекцій.",
|
202
|
+
"form.Input.placeholder": "Плейсхолдер",
|
203
|
+
"form.Input.placeholder.placeholder": "Моє значення",
|
204
|
+
"form.Input.search": "Увімкнути пошук",
|
205
|
+
"form.Input.search.field": "Дозволити шукати за цим полем",
|
206
|
+
"form.Input.sort.field": "Дозволити сортувати за цим полем",
|
207
|
+
"form.Input.sort.order": "Порядок сортування за замовчуванням",
|
208
|
+
"form.Input.wysiwyg": "Відображувати як WYSIWYG",
|
209
|
+
"global.displayedFields": "Відображені поля",
|
210
|
+
groups: groups,
|
211
|
+
"groups.numbered": "Групи ({number})",
|
212
|
+
"header.name": "Менеджер контенту",
|
213
|
+
"link-to-ctb": "Відредагуйте модель",
|
214
|
+
models: models,
|
215
|
+
"models.numbered": "Типи Колекцій ({number})",
|
216
|
+
"notification.error.displayedFields": "Потрібне хоча б одне поле для відображення.",
|
217
|
+
"notification.error.relationship.fetch": "Під час завантаження зв'язків сталася помилка.",
|
218
|
+
"notification.info.SettingPage.disableSort": "Потріен хоча б один атрібут дозволений для сортування.",
|
219
|
+
"notification.info.minimumFields": "Необхідно відобразити хоча б одне поле.",
|
220
|
+
"notification.upload.error": "Під час завантаження файлів сталася помилка.",
|
221
|
+
pageNotFound: pageNotFound,
|
222
|
+
"pages.ListView.header-subtitle": "Знайдено {number, plural, =0 {# записів} one {# запис} other {# записів}}",
|
223
|
+
"pages.NoContentType.button": "Створити ваш перший Тип Вмісту",
|
224
|
+
"pages.NoContentType.text": "У вас ще немає вмісту, ми рекомендуємо створити ваш перший Тип Вмісту.",
|
225
|
+
"permissions.not-allowed.create": "Вам не дозволено створювати документ",
|
226
|
+
"permissions.not-allowed.update": "Вам не дозволено переглядати цей документ",
|
227
|
+
"plugin.description.long": "Швидкий спосіб перегляду, редагування та видалення даних у вашій базі даних.",
|
228
|
+
"plugin.description.short": "Швидкий спосіб перегляду, редагування та видалення даних у вашій базі даних.",
|
229
|
+
"popUpWarning.bodyMessage.contentType.delete": "Ви впевнені, що хочете видалити цей запис?",
|
230
|
+
"popUpWarning.bodyMessage.contentType.delete.all": "Ви впевнені, що хочете видалити ці записи?",
|
231
|
+
"popUpWarning.bodyMessage.contentType.publish.all": "Ви впевнені, що хочете опублікувати ці записи?",
|
232
|
+
"popUpWarning.bodyMessage.contentType.unpublish.all": "Ви впевнені, що хочете скасувати публікацію цих записів?",
|
233
|
+
"popUpWarning.warning.has-draft-relations.title": "Підтвердження",
|
234
|
+
"popUpWarning.warning.has-draft-relations.message": "Цей запис пов'язаний з {count, plural, one {# чернеткою} other {# чернетками}}. Опублікування може призвести до зламаних посилань у вашому застосунку.",
|
235
|
+
"popUpwarning.warning.has-draft-relations.button-confirm": "Так, опублікувати",
|
236
|
+
"popUpwarning.warning.bulk-has-draft-relations.message": "<b>{count} {count, plural, one {зв'язок} other {зв'язки}} з {entities} {entities, plural, one {запису} other {записів}} {count, plural, one {є} other {є}}</b> ще не опубліковані й можуть призвести до непередбачуваної поведінки.",
|
237
|
+
"popUpWarning.warning.publish-question": "Ви все ще хочете опублікувати?",
|
238
|
+
"popUpWarning.warning.unpublish": "Якщо ви не опублікуєте цей вміст, він автоматично стане чернеткою.",
|
239
|
+
"popUpWarning.warning.unpublish-question": "Ви впевнені, що не хочете опублікувати цього?",
|
240
|
+
"popUpWarning.warning.updateAllSettings": "Це змінить всі ваші налаштування",
|
241
|
+
"popover.display-relations.label": "Показати зв'язки",
|
242
|
+
"preview.panel.title": "Попередній перегляд",
|
243
|
+
"preview.panel.button": "Відкрити попередній перегляд",
|
244
|
+
"preview.page-title": "{contentType} попередній перегляд",
|
245
|
+
"preview.header.close": "Закрити попередній перегляд",
|
246
|
+
"preview.copy.label": "Скопіювати посилання на попередній перегляд",
|
247
|
+
"preview.copy.success": "Посилання на попередній перегляд скопійовано",
|
248
|
+
"preview.tabs.label": "Статус попереднього перегляду",
|
249
|
+
"relation.add": "Додати зв'язок",
|
250
|
+
"relation.disconnect": "Від'єднати",
|
251
|
+
"relation.error-adding-relation": "Сталася помилка при спробі додати зв'язок.",
|
252
|
+
"relation.isLoading": "Зв'язки завантажуються",
|
253
|
+
"relation.loadMore": "Завантажити більше",
|
254
|
+
"relation.notAvailable": "Немає доступних зв'язків",
|
255
|
+
"relation.publicationState.draft": "Чернетка",
|
256
|
+
"relation.publicationState.published": "Опубліковано",
|
257
|
+
"reviewWorkflows.stage.label": "Етап перегляду",
|
258
|
+
"select.currently.selected": "{count} зараз вибрано",
|
259
|
+
"success.record.clone": "Документ клоновано",
|
260
|
+
"success.record.discard": "Зміни відхилено",
|
261
|
+
"success.record.delete": "Видалено документ",
|
262
|
+
"success.record.publish": "Опубліковано документ",
|
263
|
+
"success.record.publishing": "Публікується...",
|
264
|
+
"success.record.save": "Збережено",
|
265
|
+
"success.record.unpublish": "Скасовано публікацію документа",
|
266
|
+
"success.records.delete": "Успішно видалено.",
|
267
|
+
"success.records.unpublish": "Успішно скасовано публікацію.",
|
268
|
+
"success.records.publish": "Успішно опубліковано.",
|
269
|
+
"utils.data-loaded": "Завантажено {number, plural, =1 {# запис} other {# записів}}",
|
270
|
+
"listView.validation.errors.title": "Необхідна дія",
|
271
|
+
"listView.validation.errors.message": "Будь ласка, переконайтеся, що всі поля правильні перед публікацією (обов’язкові поля, мін/макс обмеження символів тощо).",
|
272
|
+
"history.document-action": "Історія вмісту",
|
273
|
+
"history.page-title": "Історія {contentType}",
|
274
|
+
"history.sidebar.title": "Версії",
|
275
|
+
"history.sidebar.version-card.aria-label": "Карточка версії",
|
276
|
+
"history.sidebar.versionDescription": "{distanceToNow}{isAnonymous, select, true {} other { автор: {author}}}{isCurrent, select, true { <b>(поточна)</b>} other {}}",
|
277
|
+
"history.sidebar.show-newer": "Показати новіші версії",
|
278
|
+
"history.sidebar.show-older": "Показати старіші версії",
|
279
|
+
"history.version.subtitle": "{hasLocale, select, true {{subtitle}, в {locale}} other {{subtitle}}}",
|
280
|
+
"history.content.new-field.title": "Нове поле",
|
281
|
+
"history.content.new-field.message": "Це поле не існувало, коли ця версія була збережена. Якщо ви відновите цю версію, воно буде порожнім.",
|
282
|
+
"history.content.unknown-fields.title": "Невідомі поля",
|
283
|
+
"history.content.unknown-fields.message": "Ці поля були видалені або перейменовані в Конструкторі типів вмісту. <b>Ці поля не будуть відновлені.</b>",
|
284
|
+
"history.content.missing-assets.title": "{number, plural, =1 {Відсутній ресурс} other {{number} відсутніх ресурсів}}",
|
285
|
+
"history.content.missing-assets.message": "{number, plural, =1 {Його} other {Їх}} було видалено в Медіабібліотеці і не може бути відновлено.",
|
286
|
+
"history.content.missing-relations.title": "{number, plural, =1 {Відсутній зв'язок} other {{number} відсутніх зв'язків}}",
|
287
|
+
"history.content.missing-relations.message": "{number, plural, =1 {Його} other {Їх}} було видалені і не може бути відновлено.",
|
288
|
+
"history.content.no-relations": "Немає зв'язків.",
|
289
|
+
"history.content.localized": "Це значення специфічне для цієї локалі. Якщо ви відновите цю версію, вміст не буде замінено для інших локалей.",
|
290
|
+
"history.content.not-localized": "Це значення є загальним для всіх локалей. Якщо ви відновите цю версію, вміст буде замінено для всіх локалей.",
|
291
|
+
"history.restore.confirm.button": "Відновити",
|
292
|
+
"history.restore.confirm.title": "Ви впевнені, що хочете відновити цю версію?",
|
293
|
+
"history.restore.confirm.message": "{isDraft, select, true {Відновлений вміст перекриє вашу чернетку.} other {Відновлений вміст не буде опублікований, він перекриє чернетку і буде збережений як очікувані зміни. Ви зможете опублікувати зміни в будь-який час.}}",
|
294
|
+
"history.restore.success.title": "Версію відновлено.",
|
295
|
+
"history.restore.success.message": "Вміст відновленої версії ще не опубліковано.",
|
296
|
+
"history.restore.error.message": "Не вдалося відновити версію.",
|
297
|
+
"validation.error": "У вашому документі є помилки. Будь ласка, виправте їх перед збереженням.",
|
298
|
+
"bulk-publish.edit": "Редагувати",
|
299
|
+
"containers.Edit.Link.Layout": "Налаштувати компонування",
|
300
|
+
"containers.Edit.Link.Model": "Змінити Тип Колекцій",
|
301
|
+
"containers.Edit.addAnItem": "Додати елемент...",
|
302
|
+
"containers.Edit.clickToJump": "Натисніть щоб перейти до запису",
|
303
|
+
"containers.Edit.editing": "Редагування...",
|
304
|
+
"containers.Edit.pluginHeader.title.new": "Створити запис",
|
305
|
+
"containers.Edit.reset": "Скинути",
|
306
|
+
"containers.Edit.returnList": "Повернутися до списку",
|
307
|
+
"containers.Edit.seeDetails": "Докладніше",
|
308
|
+
"containers.Edit.submit": "Зберегти",
|
309
|
+
"containers.List.errorFetchRecords": "Помилка",
|
310
|
+
"containers.ListSettingsView.modal-form.edit-label": "Налаштуйте підпис",
|
311
|
+
"popUpWarning.warning.cancelAllSettings": "Ви впевнені, що хочете скасувати свої зміни?"
|
312
|
+
};
|
313
|
+
|
314
|
+
exports.default = uk;
|
315
|
+
exports.groups = groups;
|
316
|
+
exports.models = models;
|
317
|
+
exports.pageNotFound = pageNotFound;
|
318
|
+
//# sourceMappingURL=uk-DB6OgySY.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"uk-DB6OgySY.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/admin/index.js
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
4
4
|
|
5
5
|
require('@strapi/icons');
|
6
|
-
var index = require('./chunks/index-
|
6
|
+
var index = require('./chunks/index-CGBB9Dho.js');
|
7
7
|
require('prismjs');
|
8
8
|
require('react/jsx-runtime');
|
9
9
|
require('@strapi/admin/strapi-admin');
|
package/dist/admin/index.mjs
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
import '@strapi/icons';
|
2
|
-
export { l as DocumentRBAC, D as DocumentStatus, d as buildValidParams, Q as default, U as unstable_useContentManagerContext, M as unstable_useDocument, V as unstable_useDocumentActions, h as unstable_useDocumentLayout, f as useDocumentRBAC } from './chunks/index-
|
2
|
+
export { l as DocumentRBAC, D as DocumentStatus, d as buildValidParams, Q as default, U as unstable_useContentManagerContext, M as unstable_useDocument, V as unstable_useDocumentActions, h as unstable_useDocumentLayout, f as useDocumentRBAC } from './chunks/index-BkM_Z7pU.mjs';
|
3
3
|
import 'prismjs';
|
4
4
|
import 'react/jsx-runtime';
|
5
5
|
import '@strapi/admin/strapi-admin';
|
@@ -57,6 +57,7 @@ interface PanelComponent extends DescriptionComponent<PanelComponentProps, Panel
|
|
57
57
|
type?: 'actions' | 'releases';
|
58
58
|
}
|
59
59
|
interface DocumentActionProps extends EditViewContext {
|
60
|
+
onPreview?: () => void;
|
60
61
|
}
|
61
62
|
interface DocumentActionComponent extends DescriptionComponent<DocumentActionProps, DocumentActionDescription> {
|
62
63
|
type?: 'clone' | 'configure-the-view' | 'delete' | 'discard' | 'edit' | 'edit-the-model' | 'history' | 'publish' | 'unpublish' | 'update';
|
@@ -34,6 +34,7 @@ type UseDocument = (args: UseDocumentArgs, opts?: UseDocumentOpts) => {
|
|
34
34
|
schema?: Schema;
|
35
35
|
schemas?: Schema[];
|
36
36
|
hasError?: boolean;
|
37
|
+
refetch: () => void;
|
37
38
|
validate: (document: Document) => null | FormErrors;
|
38
39
|
/**
|
39
40
|
* Get the document's title
|
@@ -91,6 +92,7 @@ declare const useDoc: () => {
|
|
91
92
|
schema?: ContentType | undefined;
|
92
93
|
schemas?: ContentType[] | undefined;
|
93
94
|
hasError?: boolean | undefined;
|
95
|
+
refetch: () => void;
|
94
96
|
validate: (document: Document) => null | FormErrors;
|
95
97
|
/**
|
96
98
|
* Get the document's title
|
@@ -1,3 +1,4 @@
|
|
1
|
+
import * as React from 'react';
|
1
2
|
import { type UseDocument } from '../../hooks/useDocument';
|
2
3
|
import { type EditLayout } from '../../hooks/useDocumentLayout';
|
3
4
|
interface PreviewContextValue {
|
@@ -7,6 +8,7 @@ interface PreviewContextValue {
|
|
7
8
|
meta: NonNullable<ReturnType<UseDocument>['meta']>;
|
8
9
|
schema: NonNullable<ReturnType<UseDocument>['schema']>;
|
9
10
|
layout: EditLayout;
|
11
|
+
iframeRef?: React.RefObject<HTMLIFrameElement>;
|
10
12
|
}
|
11
13
|
declare const usePreviewContext: <Selected>(consumerName: string, selector: (value: PreviewContextValue) => Selected) => Selected;
|
12
14
|
declare const ProtectedPreviewPage: () => import("react/jsx-runtime").JSX.Element;
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@strapi/content-manager",
|
3
|
-
"version": "0.0.0-next.
|
3
|
+
"version": "0.0.0-next.2cc011c888f93c1bfab276c5f709a40fb3fc9aac",
|
4
4
|
"description": "A powerful UI to easily manage your data.",
|
5
5
|
"repository": {
|
6
6
|
"type": "git",
|
@@ -64,16 +64,16 @@
|
|
64
64
|
"@radix-ui/react-toolbar": "1.0.4",
|
65
65
|
"@reduxjs/toolkit": "1.9.7",
|
66
66
|
"@sindresorhus/slugify": "1.1.0",
|
67
|
-
"@strapi/design-system": "2.0.0-rc.
|
68
|
-
"@strapi/icons": "2.0.0-rc.
|
69
|
-
"@strapi/types": "0.0.0-next.
|
70
|
-
"@strapi/utils": "0.0.0-next.
|
67
|
+
"@strapi/design-system": "2.0.0-rc.18",
|
68
|
+
"@strapi/icons": "2.0.0-rc.18",
|
69
|
+
"@strapi/types": "0.0.0-next.2cc011c888f93c1bfab276c5f709a40fb3fc9aac",
|
70
|
+
"@strapi/utils": "0.0.0-next.2cc011c888f93c1bfab276c5f709a40fb3fc9aac",
|
71
71
|
"codemirror5": "npm:codemirror@^5.65.11",
|
72
72
|
"date-fns": "2.30.0",
|
73
73
|
"fractional-indexing": "3.2.0",
|
74
74
|
"highlight.js": "^10.4.1",
|
75
75
|
"immer": "9.0.21",
|
76
|
-
"koa": "2.15.
|
76
|
+
"koa": "2.15.4",
|
77
77
|
"lodash": "4.17.21",
|
78
78
|
"markdown-it": "^12.3.2",
|
79
79
|
"markdown-it-abbr": "^1.0.4",
|
@@ -102,8 +102,8 @@
|
|
102
102
|
"yup": "0.32.9"
|
103
103
|
},
|
104
104
|
"devDependencies": {
|
105
|
-
"@strapi/admin": "0.0.0-next.
|
106
|
-
"@strapi/database": "0.0.0-next.
|
105
|
+
"@strapi/admin": "0.0.0-next.2cc011c888f93c1bfab276c5f709a40fb3fc9aac",
|
106
|
+
"@strapi/database": "0.0.0-next.2cc011c888f93c1bfab276c5f709a40fb3fc9aac",
|
107
107
|
"@testing-library/react": "15.0.7",
|
108
108
|
"@types/jest": "29.5.2",
|
109
109
|
"@types/lodash": "^4.14.191",
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"Preview-CMoqDEKI.js","sources":["../../../admin/src/preview/components/PreviewContent.tsx","../../../admin/src/preview/components/PreviewHeader.tsx","../../../admin/src/preview/pages/Preview.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Flex, IconButton } from '@strapi/design-system';\nimport { ArrowLeft } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { FormLayout } from '../../pages/EditView/components/FormLayout';\nimport { usePreviewContext } from '../pages/Preview';\n\n// TODO use ArrowLineLeft once it's available in the DS\nconst AnimatedArrow = styled(ArrowLeft)<{ isSideEditorOpen: boolean }>`\n will-change: transform;\n rotate: ${(props) => (props.isSideEditorOpen ? '0deg' : '180deg')};\n transition: rotate 0.2s ease-in-out;\n`;\n\nconst UnstablePreviewContent = () => {\n const previewUrl = usePreviewContext('PreviewContent', (state) => state.url);\n const layout = usePreviewContext('PreviewContent', (state) => state.layout);\n\n const { formatMessage } = useIntl();\n\n const [isSideEditorOpen, setIsSideEditorOpen] = React.useState(true);\n\n return (\n <Flex flex={1} overflow=\"auto\" alignItems=\"stretch\">\n <Box\n overflow=\"auto\"\n width={isSideEditorOpen ? '50%' : 0}\n borderWidth=\"0 1px 0 0\"\n borderColor=\"neutral150\"\n paddingTop={6}\n paddingBottom={6}\n // Remove horizontal padding when the editor is closed or it won't fully disappear\n paddingLeft={isSideEditorOpen ? 6 : 0}\n paddingRight={isSideEditorOpen ? 6 : 0}\n transition=\"all 0.2s ease-in-out\"\n >\n <FormLayout layout={layout.layout} hasBackground />\n </Box>\n <Box position=\"relative\" flex={1} height=\"100%\" overflow=\"hidden\">\n <Box\n src={previewUrl}\n /**\n * For some reason, changing an iframe's src tag causes the browser to add a new item in the\n * history stack. This is an issue for us as it means clicking the back button will not let us\n * go back to the edit view. To fix it, we need to trick the browser into thinking this is a\n * different iframe when the preview URL changes. So we set a key prop to force React\n * to mount a different node when the src changes.\n */\n key={previewUrl}\n title={formatMessage({\n id: 'content-manager.preview.panel.title',\n defaultMessage: 'Preview',\n })}\n width=\"100%\"\n height=\"100%\"\n borderWidth={0}\n tag=\"iframe\"\n />\n <IconButton\n variant=\"tertiary\"\n label={formatMessage(\n isSideEditorOpen\n ? {\n id: 'content-manager.preview.content.close-editor',\n defaultMessage: 'Close editor',\n }\n : {\n id: 'content-manager.preview.content.open-editor',\n defaultMessage: 'Open editor',\n }\n )}\n onClick={() => setIsSideEditorOpen((prev) => !prev)}\n position=\"absolute\"\n top={2}\n left={2}\n >\n <AnimatedArrow isSideEditorOpen={isSideEditorOpen} />\n </IconButton>\n </Box>\n </Flex>\n );\n};\n\nconst PreviewContent = () => {\n const previewUrl = usePreviewContext('PreviewContent', (state) => state.url);\n\n const { formatMessage } = useIntl();\n\n return (\n <Box\n src={previewUrl}\n /**\n * For some reason, changing an iframe's src tag causes the browser to add a new item in the\n * history stack. This is an issue for us as it means clicking the back button will not let us\n * go back to the edit view. To fix it, we need to trick the browser into thinking this is a\n * different iframe when the preview URL changes. So we set a key prop to force React\n * to mount a different node when the src changes.\n */\n key={previewUrl}\n title={formatMessage({\n id: 'content-manager.preview.panel.title',\n defaultMessage: 'Preview',\n })}\n width=\"100%\"\n height=\"100%\"\n borderWidth={0}\n tag=\"iframe\"\n />\n );\n};\n\nexport { PreviewContent, UnstablePreviewContent };\n","import * as React from 'react';\n\nimport {\n DescriptionComponentRenderer,\n useClipboard,\n useHistory,\n useNotification,\n useQueryParams,\n useStrapiApp,\n} from '@strapi/admin/strapi-admin';\nimport { IconButton, Tabs, Typography, Grid, Flex } from '@strapi/design-system';\nimport { Cross, Link as LinkIcon } from '@strapi/icons';\nimport { stringify } from 'qs';\nimport { useIntl } from 'react-intl';\nimport { Link, type To } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { InjectionZone } from '../../components/InjectionZone';\nimport { DocumentActionButton } from '../../pages/EditView/components/DocumentActions';\nimport { DocumentStatus } from '../../pages/EditView/components/DocumentStatus';\nimport { getDocumentStatus } from '../../pages/EditView/EditViewPage';\nimport { usePreviewContext } from '../pages/Preview';\n\nimport type { ContentManagerPlugin, DocumentActionProps } from '../../content-manager';\n\n/* -------------------------------------------------------------------------------------------------\n * ClosePreviewButton\n * -----------------------------------------------------------------------------------------------*/\n\nconst ClosePreviewButton = () => {\n const [{ query }] = useQueryParams<{\n plugins?: Record<string, unknown>;\n }>();\n const { formatMessage } = useIntl();\n\n const canGoBack = useHistory('BackButton', (state) => state.canGoBack);\n const goBack = useHistory('BackButton', (state) => state.goBack);\n const history = useHistory('BackButton', (state) => state.history);\n const locationIndex = useHistory('BackButton', (state) => state.currentLocationIndex);\n\n /**\n * Get the link destination from the history.\n * Rely on a fallback (the parent edit view page) if there's no page to go back .\n */\n const historyTo = canGoBack ? history.at(locationIndex - 2) : undefined;\n const fallback = {\n pathname: '..',\n search: stringify(query, { encode: false }),\n } satisfies To;\n const toWithFallback = historyTo ?? fallback;\n\n const handleClick = (e: React.MouseEvent) => {\n if (canGoBack) {\n // Prevent normal link behavior, go back in the history stack instead\n e.preventDefault();\n goBack();\n return;\n }\n\n // Otherwise rely on native link behavior to go back to the edit view. We don't use navigate()\n // here in order to get the relative=\"path\" functionality from the Link component.\n };\n\n return (\n <IconButton\n variant=\"ghost\"\n tag={Link}\n relative=\"path\"\n to={toWithFallback}\n onClick={handleClick}\n label={formatMessage({\n id: 'content-manager.preview.header.close',\n defaultMessage: 'Close preview',\n })}\n >\n <Cross />\n </IconButton>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Status\n * -----------------------------------------------------------------------------------------------*/\n\nconst Status = () => {\n // Get status\n const document = usePreviewContext('PreviewHeader', (state) => state.document);\n const schema = usePreviewContext('PreviewHeader', (state) => state.schema);\n const meta = usePreviewContext('PreviewHeader', (state) => state.meta);\n const hasDraftAndPublished = schema?.options?.draftAndPublish ?? false;\n\n if (!hasDraftAndPublished) {\n return null;\n }\n\n const status = getDocumentStatus(document, meta);\n\n return <DocumentStatus status={status} size=\"XS\" />;\n};\n\nconst PreviewTabs = () => {\n const { formatMessage } = useIntl();\n\n // URL query params\n const [{ query }, setQuery] = useQueryParams<{ status: 'draft' | 'published' }>();\n\n // Get status\n const document = usePreviewContext('PreviewHeader', (state) => state.document);\n const schema = usePreviewContext('PreviewHeader', (state) => state.schema);\n const meta = usePreviewContext('PreviewHeader', (state) => state.meta);\n const hasDraftAndPublish = schema?.options?.draftAndPublish ?? false;\n const documentStatus = getDocumentStatus(document, meta);\n\n const handleTabChange = (status: string) => {\n if (status === 'published' || status === 'draft') {\n setQuery({ status }, 'push', true);\n }\n };\n\n if (!hasDraftAndPublish) {\n return null;\n }\n\n return (\n <Tabs.Root variant=\"simple\" value={query.status || 'draft'} onValueChange={handleTabChange}>\n <Tabs.List\n aria-label={formatMessage({\n id: 'preview.tabs.label',\n defaultMessage: 'Document status',\n })}\n >\n <StatusTab value=\"draft\">\n {formatMessage({\n id: 'content-manager.containers.List.draft',\n defaultMessage: 'draft',\n })}\n </StatusTab>\n <StatusTab value=\"published\" disabled={documentStatus === 'draft'}>\n {formatMessage({\n id: 'content-manager.containers.List.published',\n defaultMessage: 'published',\n })}\n </StatusTab>\n </Tabs.List>\n </Tabs.Root>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * PreviewHeader\n * -----------------------------------------------------------------------------------------------*/\n\nconst UnstablePreviewHeader = () => {\n const title = usePreviewContext('PreviewHeader', (state) => state.title);\n const document = usePreviewContext('PreviewHeader', (state) => state.document);\n const schema = usePreviewContext('PreviewHeader', (state) => state.schema);\n const meta = usePreviewContext('PreviewHeader', (state) => state.meta);\n const plugins = useStrapiApp('PreviewHeader', (state) => state.plugins);\n\n const [{ query }] = useQueryParams<{\n status?: 'draft' | 'published';\n }>();\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const { copy } = useClipboard();\n\n const handleCopyLink = () => {\n copy(window.location.href);\n toggleNotification({\n message: formatMessage({\n id: 'content-manager.preview.copy.success',\n defaultMessage: 'Copied preview link',\n }),\n type: 'success',\n });\n };\n\n const hasDraftAndPublish = schema.options?.draftAndPublish ?? false;\n const props = {\n activeTab: query.status ?? null,\n collectionType: schema.kind === 'collectionType' ? 'collection-types' : 'single-types',\n model: schema.uid,\n documentId: document.documentId,\n document,\n meta,\n } satisfies DocumentActionProps;\n\n return (\n <Flex height=\"48px\" gap={4} background=\"neutral0\" borderColor=\"neutral150\" tag=\"header\">\n {/* Title and status */}\n <TitleContainer height=\"100%\" paddingLeft={2} paddingRight={4}>\n <ClosePreviewButton />\n <PreviewTitle\n tag=\"h1\"\n title={title}\n maxWidth=\"200px\"\n fontSize={2}\n paddingLeft={2}\n paddingRight={3}\n fontWeight={600}\n >\n {title}\n </PreviewTitle>\n <Status />\n </TitleContainer>\n\n {/* Tabs and actions */}\n <Flex\n flex={1}\n paddingRight={2}\n gap={2}\n justifyContent={hasDraftAndPublish ? 'space-between' : 'flex-end'}\n >\n <Flex flex=\"1 1 70%\">\n <PreviewTabs />\n </Flex>\n <Flex gap={2}>\n <IconButton\n type=\"button\"\n label={formatMessage({\n id: 'preview.copy.label',\n defaultMessage: 'Copy preview link',\n })}\n onClick={handleCopyLink}\n >\n <LinkIcon />\n </IconButton>\n <InjectionZone area=\"preview.actions\" />\n <DescriptionComponentRenderer\n props={props}\n descriptions={(\n plugins['content-manager'].apis as ContentManagerPlugin['config']['apis']\n ).getDocumentActions('preview')}\n >\n {(actions) => {\n const filteredActions = actions.filter((action) =>\n [action.position].flat().includes('preview')\n );\n const [primaryAction, secondaryAction] = filteredActions;\n\n if (!primaryAction && !secondaryAction) return null;\n\n // Both actions are available when draft and publish enabled\n if (primaryAction && secondaryAction) {\n return (\n <>\n {/* Save */}\n <DocumentActionButton\n {...secondaryAction}\n variant={secondaryAction.variant || 'secondary'}\n />\n {/* Publish */}\n <DocumentActionButton\n {...primaryAction}\n variant={primaryAction.variant || 'default'}\n />\n </>\n );\n }\n\n // Otherwise we just have the save action\n return (\n <DocumentActionButton\n {...primaryAction}\n variant={primaryAction.variant || 'secondary'}\n />\n );\n }}\n </DescriptionComponentRenderer>\n </Flex>\n </Flex>\n </Flex>\n );\n};\n\nconst PreviewHeader = () => {\n // Get the document title\n const title = usePreviewContext('PreviewHeader', (state) => state.title);\n\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const { copy } = useClipboard();\n\n const handleCopyLink = () => {\n copy(window.location.href);\n toggleNotification({\n message: formatMessage({\n id: 'content-manager.preview.copy.success',\n defaultMessage: 'Copied preview link',\n }),\n type: 'success',\n });\n };\n\n return (\n <Grid.Root\n gap={3}\n gridCols={3}\n paddingLeft={2}\n paddingRight={2}\n background=\"neutral0\"\n borderColor=\"neutral150\"\n tag=\"header\"\n >\n {/* Title and status */}\n <Grid.Item xs={1} paddingTop={2} paddingBottom={2} gap={3}>\n <ClosePreviewButton />\n <PreviewTitle tag=\"h1\" fontWeight={600} fontSize={2} maxWidth=\"200px\" title={title}>\n {title}\n </PreviewTitle>\n <Status />\n </Grid.Item>\n {/* Tabs */}\n <Grid.Item xs={1} marginBottom=\"-1px\" alignItems=\"end\" margin=\"auto\">\n <PreviewTabs />\n </Grid.Item>\n {/* Copy link */}\n <Grid.Item xs={1} justifyContent=\"end\" paddingTop={2} paddingBottom={2}>\n <IconButton\n type=\"button\"\n label={formatMessage({\n id: 'preview.copy.label',\n defaultMessage: 'Copy preview link',\n })}\n onClick={handleCopyLink}\n >\n <LinkIcon />\n </IconButton>\n </Grid.Item>\n </Grid.Root>\n );\n};\n\nconst PreviewTitle = styled(Typography)`\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n`;\n\nconst StatusTab = styled(Tabs.Trigger)`\n text-transform: uppercase;\n`;\n\nconst TitleContainer = styled(Flex)`\n border-right: 1px solid ${({ theme }) => theme.colors.neutral150};\n`;\n\nexport { PreviewHeader, UnstablePreviewHeader };\n","import * as React from 'react';\n\nimport {\n Page,\n useQueryParams,\n useRBAC,\n createContext,\n Form as FormContext,\n} from '@strapi/admin/strapi-admin';\nimport { Box, Flex, FocusTrap, Portal } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { useLocation, useParams } from 'react-router-dom';\n\nimport { GetPreviewUrl } from '../../../../shared/contracts/preview';\nimport { COLLECTION_TYPES } from '../../constants/collections';\nimport { DocumentRBAC } from '../../features/DocumentRBAC';\nimport { type UseDocument, useDocument } from '../../hooks/useDocument';\nimport { type EditLayout, useDocumentLayout } from '../../hooks/useDocumentLayout';\nimport { buildValidParams } from '../../utils/api';\nimport { createYupSchema } from '../../utils/validation';\nimport { PreviewContent, UnstablePreviewContent } from '../components/PreviewContent';\nimport { PreviewHeader, UnstablePreviewHeader } from '../components/PreviewHeader';\nimport { useGetPreviewUrlQuery } from '../services/preview';\n\nimport type { UID } from '@strapi/types';\n\n/* -------------------------------------------------------------------------------------------------\n * PreviewProvider\n * -----------------------------------------------------------------------------------------------*/\n\ninterface PreviewContextValue {\n url: string;\n title: string;\n document: NonNullable<ReturnType<UseDocument>['document']>;\n meta: NonNullable<ReturnType<UseDocument>['meta']>;\n schema: NonNullable<ReturnType<UseDocument>['schema']>;\n layout: EditLayout;\n}\n\nconst [PreviewProvider, usePreviewContext] = createContext<PreviewContextValue>('PreviewPage');\n\n/* -------------------------------------------------------------------------------------------------\n * PreviewPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst PreviewPage = () => {\n const location = useLocation();\n const { formatMessage } = useIntl();\n\n // Read all the necessary data from the URL to find the right preview URL\n const {\n slug: model,\n id: documentId,\n collectionType,\n } = useParams<{\n slug: UID.ContentType;\n id: string;\n collectionType: string;\n }>();\n const [{ query }] = useQueryParams<{\n plugins?: Record<string, unknown>;\n status?: string;\n }>();\n\n const params = React.useMemo(() => buildValidParams(query), [query]);\n\n if (!collectionType) {\n throw new Error('Could not find collectionType in url params');\n }\n\n if (!model) {\n throw new Error('Could not find model in url params');\n }\n\n // Only collection types must have a documentId\n if (collectionType === COLLECTION_TYPES && !documentId) {\n throw new Error('Could not find documentId in url params');\n }\n\n const previewUrlResponse = useGetPreviewUrlQuery({\n params: {\n contentType: model,\n },\n query: {\n documentId,\n locale: params.locale,\n status: params.status as GetPreviewUrl.Request['query']['status'],\n },\n });\n\n const documentResponse = useDocument({\n model,\n collectionType,\n documentId,\n params,\n });\n\n const documentLayoutResponse = useDocumentLayout(model);\n\n if (\n documentResponse.isLoading ||\n previewUrlResponse.isLoading ||\n documentLayoutResponse.isLoading\n ) {\n return <Page.Loading />;\n }\n\n const initialValues = documentResponse.getInitialFormValues();\n\n if (\n previewUrlResponse.error ||\n documentLayoutResponse.error ||\n !documentResponse.document ||\n !documentResponse.meta ||\n !documentResponse.schema ||\n !initialValues\n ) {\n return <Page.Error />;\n }\n\n if (!previewUrlResponse.data?.data?.url) {\n return <Page.NoData />;\n }\n\n const documentTitle = documentResponse.getTitle(documentLayoutResponse.edit.settings.mainField);\n\n const validateSync = (values: Record<string, unknown>, options: Record<string, string>) => {\n const yupSchema = createYupSchema(\n documentResponse.schema?.attributes,\n documentResponse.components,\n {\n status: documentResponse.document?.status,\n ...options,\n }\n );\n\n return yupSchema.validateSync(values, { abortEarly: false });\n };\n\n return (\n <>\n <Page.Title>\n {formatMessage(\n {\n id: 'content-manager.preview.page-title',\n defaultMessage: '{contentType} preview',\n },\n {\n contentType: documentTitle,\n }\n )}\n </Page.Title>\n <PreviewProvider\n url={previewUrlResponse.data.data.url}\n document={documentResponse.document}\n title={documentTitle}\n meta={documentResponse.meta}\n schema={documentResponse.schema}\n layout={documentLayoutResponse.edit}\n >\n <FormContext\n method=\"PUT\"\n disabled={\n query.status === 'published' &&\n documentResponse &&\n documentResponse.document.status === 'published'\n }\n initialValues={documentResponse.getInitialFormValues()}\n initialErrors={location?.state?.forceValidation ? validateSync(initialValues, {}) : {}}\n height=\"100%\"\n validate={(values: Record<string, unknown>, options: Record<string, string>) => {\n const yupSchema = createYupSchema(\n documentResponse.schema?.attributes,\n documentResponse.components,\n {\n status: documentResponse.document?.status,\n ...options,\n }\n );\n\n return yupSchema.validate(values, { abortEarly: false });\n }}\n >\n <Flex direction=\"column\" height=\"100%\" alignItems=\"stretch\">\n {window.strapi.future.isEnabled('unstablePreviewSideEditor') ? (\n <>\n <UnstablePreviewHeader />\n <UnstablePreviewContent />\n </>\n ) : (\n <>\n <PreviewHeader />\n <PreviewContent />\n </>\n )}\n </Flex>\n </FormContext>\n </PreviewProvider>\n </>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ProtectedPreviewPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProtectedPreviewPageImpl = () => {\n const { slug: model } = useParams<{\n slug: string;\n }>();\n const {\n permissions = [],\n isLoading,\n error,\n } = useRBAC([\n { action: 'plugin::content-manager.explorer.read', subject: model },\n { action: 'plugin::content-manager.explorer.update', subject: model },\n { action: 'plugin::content-manager.explorer.publish', subject: model },\n ]);\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n if (error || !model) {\n return (\n <Box\n height=\"100vh\"\n width=\"100vw\"\n position=\"fixed\"\n top={0}\n left={0}\n zIndex={2}\n background=\"neutral0\"\n >\n <Page.Error />\n </Box>\n );\n }\n\n return (\n <Box\n height=\"100vh\"\n width=\"100vw\"\n position=\"fixed\"\n top={0}\n left={0}\n zIndex={2}\n background=\"neutral0\"\n >\n <Page.Protect\n permissions={permissions.filter((permission) =>\n permission.action.includes('explorer.read')\n )}\n >\n <DocumentRBAC permissions={permissions}>\n <PreviewPage />\n </DocumentRBAC>\n </Page.Protect>\n </Box>\n );\n};\n\nconst ProtectedPreviewPage = () => {\n return (\n <Portal>\n <FocusTrap>\n <ProtectedPreviewPageImpl />\n </FocusTrap>\n </Portal>\n );\n};\n\nexport { ProtectedPreviewPage, usePreviewContext };\n"],"names":["AnimatedArrow","styled","ArrowLeft","props","isSideEditorOpen","UnstablePreviewContent","previewUrl","usePreviewContext","state","url","layout","formatMessage","useIntl","setIsSideEditorOpen","React","useState","_jsxs","Flex","flex","overflow","alignItems","_jsx","Box","width","borderWidth","borderColor","paddingTop","paddingBottom","paddingLeft","paddingRight","transition","FormLayout","hasBackground","position","height","src","title","id","defaultMessage","tag","IconButton","variant","label","onClick","prev","top","left","PreviewContent","ClosePreviewButton","query","useQueryParams","canGoBack","useHistory","goBack","history","locationIndex","currentLocationIndex","historyTo","at","undefined","fallback","pathname","search","stringify","encode","toWithFallback","handleClick","e","preventDefault","Link","relative","to","Cross","Status","document","schema","meta","hasDraftAndPublished","options","draftAndPublish","status","getDocumentStatus","DocumentStatus","size","PreviewTabs","setQuery","hasDraftAndPublish","documentStatus","handleTabChange","Tabs","Root","value","onValueChange","List","aria-label","StatusTab","disabled","UnstablePreviewHeader","plugins","useStrapiApp","toggleNotification","useNotification","copy","useClipboard","handleCopyLink","window","location","href","message","type","activeTab","collectionType","kind","model","uid","documentId","gap","background","TitleContainer","PreviewTitle","maxWidth","fontSize","fontWeight","justifyContent","LinkIcon","InjectionZone","area","DescriptionComponentRenderer","descriptions","apis","getDocumentActions","actions","filteredActions","filter","action","flat","includes","primaryAction","secondaryAction","_Fragment","DocumentActionButton","PreviewHeader","Grid","gridCols","Item","xs","marginBottom","margin","Typography","Trigger","theme","colors","neutral150","PreviewProvider","createContext","PreviewPage","useLocation","slug","useParams","params","useMemo","buildValidParams","Error","COLLECTION_TYPES","previewUrlResponse","useGetPreviewUrlQuery","contentType","locale","documentResponse","useDocument","documentLayoutResponse","useDocumentLayout","isLoading","Page","Loading","initialValues","getInitialFormValues","error","data","NoData","documentTitle","getTitle","edit","settings","mainField","validateSync","values","yupSchema","createYupSchema","attributes","components","abortEarly","Title","FormContext","method","initialErrors","forceValidation","validate","direction","strapi","future","isEnabled","ProtectedPreviewPageImpl","permissions","useRBAC","subject","zIndex","Protect","permission","DocumentRBAC","ProtectedPreviewPage","Portal","FocusTrap"],"mappings":"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"}
|