@comet/cms-admin 9.0.0-beta.3 → 9.0.0-beta.5

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 (240) hide show
  1. package/lib/blocks/PixelImageBlock.d.ts.map +1 -1
  2. package/lib/blocks/PixelImageBlock.fragment.d.ts +2 -0
  3. package/lib/blocks/PixelImageBlock.fragment.d.ts.map +1 -0
  4. package/lib/blocks/PixelImageBlock.fragment.generated.d.ts +20 -0
  5. package/lib/blocks/PixelImageBlock.fragment.generated.d.ts.map +1 -0
  6. package/lib/blocks/PixelImageBlock.fragment.generated.js +5 -0
  7. package/lib/blocks/PixelImageBlock.fragment.js +4 -0
  8. package/lib/blocks/PixelImageBlock.js +3 -2
  9. package/lib/blocks/__stories__/BlockInFinalForm.stories.js +53 -0
  10. package/lib/blocks/__stories__/RichTextBlock.stories.js +53 -0
  11. package/lib/blocks/createLinkBlock.d.ts.map +1 -1
  12. package/lib/blocks/createLinkBlock.js +50 -1
  13. package/lib/blocks/createRichTextBlock.d.ts.map +1 -1
  14. package/lib/blocks/createRichTextBlock.js +56 -20
  15. package/lib/blocks/createSeoBlock.d.ts.map +1 -1
  16. package/lib/blocks/createSeoBlock.js +6 -4
  17. package/lib/blocks/createTextLinkBlock.d.ts.map +1 -1
  18. package/lib/blocks/createTextLinkBlock.js +36 -1
  19. package/lib/blocks/factories/createBlocksBlock.d.ts.map +1 -1
  20. package/lib/blocks/factories/createBlocksBlock.js +70 -13
  21. package/lib/blocks/factories/createColumnsBlock.d.ts.map +1 -1
  22. package/lib/blocks/factories/createColumnsBlock.js +56 -6
  23. package/lib/blocks/factories/createListBlock.d.ts.map +1 -1
  24. package/lib/blocks/factories/createListBlock.js +56 -6
  25. package/lib/blocks/factories/createOneOfBlock.d.ts.map +1 -1
  26. package/lib/blocks/factories/createOneOfBlock.js +62 -5
  27. package/lib/blocks/factories/createOptionalBlock.d.ts.map +1 -1
  28. package/lib/blocks/factories/createOptionalBlock.js +38 -1
  29. package/lib/blocks/helpers/__stories__/createCompositeBlockSelectField.stories.js +106 -0
  30. package/lib/blocks/helpers/composeBlocks/composeBlocks.d.ts.map +1 -1
  31. package/lib/blocks/helpers/composeBlocks/composeBlocks.js +52 -16
  32. package/lib/blocks/helpers/composeBlocks/createCompositeBlockField.d.ts +2 -1
  33. package/lib/blocks/helpers/composeBlocks/createCompositeBlockField.d.ts.map +1 -1
  34. package/lib/blocks/helpers/composeBlocks/createCompositeBlockField.js +4 -2
  35. package/lib/blocks/helpers/composeBlocks/createSettingsBlock.d.ts +2 -1
  36. package/lib/blocks/helpers/composeBlocks/createSettingsBlock.d.ts.map +1 -1
  37. package/lib/blocks/helpers/composeBlocks/createSettingsBlock.js +5 -1
  38. package/lib/blocks/helpers/createBlockSkeleton.js +15 -1
  39. package/lib/blocks/helpers/createCompositeBlockTextField.d.ts +2 -1
  40. package/lib/blocks/helpers/createCompositeBlockTextField.d.ts.map +1 -1
  41. package/lib/blocks/helpers/createCompositeBlockTextField.js +20 -2
  42. package/lib/blocks/table/TableBlockGrid.d.ts.map +1 -1
  43. package/lib/blocks/table/TableBlockGrid.js +3 -1
  44. package/lib/blocks/table/utils/column.d.ts +16 -21
  45. package/lib/blocks/table/utils/column.d.ts.map +1 -1
  46. package/lib/blocks/table/utils/column.js +0 -11
  47. package/lib/blocks/table/utils/getClipboardValueForSchema.d.ts +1 -1
  48. package/lib/blocks/table/utils/getClipboardValueForSchema.d.ts.map +1 -1
  49. package/lib/blocks/table/utils/row.d.ts +3 -18
  50. package/lib/blocks/table/utils/row.d.ts.map +1 -1
  51. package/lib/blocks/table/utils/row.js +1 -1
  52. package/lib/blocks/table/utils/rteSchema.d.ts +1 -5
  53. package/lib/blocks/table/utils/rteSchema.d.ts.map +1 -1
  54. package/lib/blocks/tipTap/BlockStyleContext.d.ts +3 -0
  55. package/lib/blocks/tipTap/BlockStyleContext.d.ts.map +1 -0
  56. package/lib/blocks/tipTap/BlockStyleContext.js +2 -0
  57. package/lib/blocks/tipTap/InlineStyleContext.d.ts +3 -0
  58. package/lib/blocks/tipTap/InlineStyleContext.d.ts.map +1 -0
  59. package/lib/blocks/tipTap/InlineStyleContext.js +2 -0
  60. package/lib/blocks/tipTap/TipTapLinkDialog.d.ts +10 -0
  61. package/lib/blocks/tipTap/TipTapLinkDialog.d.ts.map +1 -0
  62. package/lib/blocks/tipTap/TipTapLinkDialog.js +105 -0
  63. package/lib/blocks/tipTap/TipTapToolbar.d.ts +13 -0
  64. package/lib/blocks/tipTap/TipTapToolbar.d.ts.map +1 -0
  65. package/lib/blocks/tipTap/TipTapToolbar.js +666 -0
  66. package/lib/blocks/tipTap/__stories__/TipTapRichTextBlock.stories.js +1841 -0
  67. package/lib/blocks/tipTap/createTipTapRichTextBlock.d.ts +61 -0
  68. package/lib/blocks/tipTap/createTipTapRichTextBlock.d.ts.map +1 -0
  69. package/lib/blocks/tipTap/createTipTapRichTextBlock.js +424 -0
  70. package/lib/blocks/tipTap/extensions/BlockStyleHeading.d.ts +2 -0
  71. package/lib/blocks/tipTap/extensions/BlockStyleHeading.d.ts.map +1 -0
  72. package/lib/blocks/tipTap/extensions/BlockStyleHeading.js +57 -0
  73. package/lib/blocks/tipTap/extensions/BlockStyleParagraph.d.ts +2 -0
  74. package/lib/blocks/tipTap/extensions/BlockStyleParagraph.d.ts.map +1 -0
  75. package/lib/blocks/tipTap/extensions/BlockStyleParagraph.js +56 -0
  76. package/lib/blocks/tipTap/extensions/CmsLink.d.ts +13 -0
  77. package/lib/blocks/tipTap/extensions/CmsLink.d.ts.map +1 -0
  78. package/lib/blocks/tipTap/extensions/CmsLink.js +42 -0
  79. package/lib/blocks/tipTap/extensions/InlineStyleMark.d.ts +13 -0
  80. package/lib/blocks/tipTap/extensions/InlineStyleMark.d.ts.map +1 -0
  81. package/lib/blocks/tipTap/extensions/InlineStyleMark.js +71 -0
  82. package/lib/blocks/tipTap/extensions/NonBreakingSpace.d.ts +10 -0
  83. package/lib/blocks/tipTap/extensions/NonBreakingSpace.d.ts.map +1 -0
  84. package/lib/blocks/tipTap/extensions/NonBreakingSpace.js +57 -0
  85. package/lib/blocks/tipTap/extensions/Placeholder.d.ts +10 -0
  86. package/lib/blocks/tipTap/extensions/Placeholder.d.ts.map +1 -0
  87. package/lib/blocks/tipTap/extensions/Placeholder.js +78 -0
  88. package/lib/blocks/tipTap/extensions/SoftHyphen.d.ts +10 -0
  89. package/lib/blocks/tipTap/extensions/SoftHyphen.d.ts.map +1 -0
  90. package/lib/blocks/tipTap/extensions/SoftHyphen.js +51 -0
  91. package/lib/blocks/tipTap/listLevelMaxHelpers.d.ts +6 -0
  92. package/lib/blocks/tipTap/listLevelMaxHelpers.d.ts.map +1 -0
  93. package/lib/blocks/tipTap/listLevelMaxHelpers.js +108 -0
  94. package/lib/blocks/types.d.ts +7 -0
  95. package/lib/blocks/types.d.ts.map +1 -1
  96. package/lib/builds/PublisherPage.js +2 -2
  97. package/lib/builds/StartBuildsDialog.d.ts.map +1 -1
  98. package/lib/builds/StartBuildsDialog.js +1 -1
  99. package/lib/common/__stories__/MasterMenuInMasterLayout.stories.js +87 -0
  100. package/lib/config/CometConfigContext.d.ts +8 -1
  101. package/lib/config/CometConfigContext.d.ts.map +1 -1
  102. package/lib/config/CometConfigContext.js +9 -5
  103. package/lib/contentScope/__stories__/ContentScopeProvider.stories.js +85 -0
  104. package/lib/contentScope/__stories__/ContentScopeSelect.stories.js +655 -0
  105. package/lib/contentScope/noContentScopeFallback/__stories__/NoContentScopeFallback.stories.js +7 -0
  106. package/lib/cronJobs/CronJobsGrid.js +1 -1
  107. package/lib/cronJobs/JobsGrid.js +1 -1
  108. package/lib/dam/DamTable.d.ts +5 -1
  109. package/lib/dam/DamTable.d.ts.map +1 -1
  110. package/lib/dam/DamTable.js +5 -1
  111. package/lib/dam/DataGrid/FolderDataGrid.d.ts +1 -1
  112. package/lib/dam/DataGrid/FolderDataGrid.d.ts.map +1 -1
  113. package/lib/dam/DataGrid/FolderDataGrid.js +58 -47
  114. package/lib/dam/DataGrid/selection/DamSelectionContext.d.ts +7 -4
  115. package/lib/dam/DataGrid/selection/DamSelectionContext.d.ts.map +1 -1
  116. package/lib/dam/DataGrid/selection/DamSelectionContext.js +11 -3
  117. package/lib/dam/FileForm/EditFile.d.ts.map +1 -1
  118. package/lib/dam/FileForm/EditFile.js +5 -2
  119. package/lib/dam/mediaAlternatives/MediaAlternativesGrid.d.ts.map +1 -1
  120. package/lib/dam/mediaAlternatives/MediaAlternativesGrid.js +1 -1
  121. package/lib/dashboard/widgets/LatestBuildsDashboardWidget.js +1 -1
  122. package/lib/dashboard/widgets/LatestContentUpdatesDashboardWidget.d.ts +1 -1
  123. package/lib/dashboard/widgets/LatestContentUpdatesDashboardWidget.d.ts.map +1 -1
  124. package/lib/dashboard/widgets/LatestContentUpdatesDashboardWidget.js +1 -1
  125. package/lib/dashboard/widgets/__stories__/DashboardWidgetRoot.stories.js +82 -0
  126. package/lib/dataGrid/DataGrid.d.ts +3 -0
  127. package/lib/dataGrid/DataGrid.d.ts.map +1 -0
  128. package/lib/dataGrid/DataGrid.js +19 -0
  129. package/lib/dependencies/DependenciesList.d.ts.map +1 -1
  130. package/lib/dependencies/DependenciesList.js +1 -1
  131. package/lib/dependencies/DependentsList.d.ts.map +1 -1
  132. package/lib/dependencies/DependentsList.js +1 -1
  133. package/lib/form/file/FileField.d.ts +15 -12
  134. package/lib/form/file/FileField.d.ts.map +1 -1
  135. package/lib/form/file/FileField.gql.d.ts +2 -0
  136. package/lib/form/file/FileField.gql.d.ts.map +1 -1
  137. package/lib/form/file/FileField.gql.generated.d.ts +40 -0
  138. package/lib/form/file/FileField.gql.generated.d.ts.map +1 -1
  139. package/lib/form/file/FileField.gql.generated.js +2 -1
  140. package/lib/form/file/FileField.gql.js +6 -3
  141. package/lib/form/file/FileField.js +170 -86
  142. package/lib/form/file/FileFieldMenu.d.ts +17 -0
  143. package/lib/form/file/FileFieldMenu.d.ts.map +1 -0
  144. package/lib/form/file/FileFieldMenu.js +91 -0
  145. package/lib/form/file/FileFieldRow.d.ts +12 -0
  146. package/lib/form/file/FileFieldRow.d.ts.map +1 -0
  147. package/lib/form/file/FileFieldRow.js +96 -0
  148. package/lib/form/file/__stories__/FileUploadField.stories.js +351 -0
  149. package/lib/form/file/chooseFile/BaseChooseDamFileDialog.d.ts +20 -0
  150. package/lib/form/file/chooseFile/BaseChooseDamFileDialog.d.ts.map +1 -0
  151. package/lib/form/file/chooseFile/BaseChooseDamFileDialog.js +106 -0
  152. package/lib/form/file/chooseFile/ChooseDamFileDialog.d.ts.map +1 -1
  153. package/lib/form/file/chooseFile/ChooseDamFileDialog.js +34 -89
  154. package/lib/form/file/chooseFile/ChooseDamFilesDialog.d.ts +9 -0
  155. package/lib/form/file/chooseFile/ChooseDamFilesDialog.d.ts.map +1 -0
  156. package/lib/form/file/chooseFile/ChooseDamFilesDialog.js +117 -0
  157. package/lib/graphql.generated.d.ts +19 -1
  158. package/lib/graphql.generated.d.ts.map +1 -1
  159. package/lib/index.d.ts +10 -1
  160. package/lib/index.d.ts.map +1 -1
  161. package/lib/index.js +7 -0
  162. package/lib/pages/createEditPageNode.d.ts.map +1 -1
  163. package/lib/pages/createEditPageNode.js +1 -12
  164. package/lib/pages/createUsePage.d.ts +1 -0
  165. package/lib/pages/createUsePage.d.ts.map +1 -1
  166. package/lib/pages/createUsePage.js +135 -6
  167. package/lib/pages/pageTree/PageActions.d.ts.map +1 -1
  168. package/lib/pages/pageTree/PageActions.js +21 -3
  169. package/lib/pages/pageTree/findAvailableSlug.d.ts +11 -0
  170. package/lib/pages/pageTree/findAvailableSlug.d.ts.map +1 -0
  171. package/lib/pages/pageTree/findAvailableSlug.generated.d.ts +16 -0
  172. package/lib/pages/pageTree/findAvailableSlug.generated.d.ts.map +1 -0
  173. package/lib/pages/pageTree/findAvailableSlug.generated.js +5 -0
  174. package/lib/pages/pageTree/findAvailableSlug.js +62 -0
  175. package/lib/pages/pageTree/transformToSlug.d.ts +2 -0
  176. package/lib/pages/pageTree/transformToSlug.d.ts.map +1 -0
  177. package/lib/pages/pageTree/transformToSlug.js +12 -0
  178. package/lib/pages/pageTree/useCopyPastePages/sendPages.d.ts.map +1 -1
  179. package/lib/pages/pageTree/useCopyPastePages/sendPages.generated.d.ts +0 -10
  180. package/lib/pages/pageTree/useCopyPastePages/sendPages.generated.d.ts.map +1 -1
  181. package/lib/pages/pageTree/useCopyPastePages/sendPages.generated.js +0 -1
  182. package/lib/pages/pageTree/useCopyPastePages/sendPages.js +19 -40
  183. package/lib/pages/pageTree/useCopyPastePages.d.ts.map +1 -1
  184. package/lib/pages/pageTree/useCopyPastePages.js +1 -1
  185. package/lib/pages/pageTree/{useCopyPastePages/ProgressDialog.d.ts → useProgressDialog.d.ts} +1 -1
  186. package/lib/pages/pageTree/useProgressDialog.d.ts.map +1 -0
  187. package/lib/pages/pageTree/useTranslatePagesAction.d.ts +16 -0
  188. package/lib/pages/pageTree/useTranslatePagesAction.d.ts.map +1 -0
  189. package/lib/pages/pageTree/useTranslatePagesAction.generated.d.ts +20 -0
  190. package/lib/pages/pageTree/useTranslatePagesAction.generated.d.ts.map +1 -0
  191. package/lib/pages/pageTree/useTranslatePagesAction.generated.js +5 -0
  192. package/lib/pages/pageTree/useTranslatePagesAction.js +339 -0
  193. package/lib/pages/pagesPage/PagesPageActionToolbar.d.ts.map +1 -1
  194. package/lib/pages/pagesPage/PagesPageActionToolbar.js +29 -2
  195. package/lib/pages/pagesPage/PagesPageActionToolbar.sc.d.ts +2 -2
  196. package/lib/redirects/RedirectsGrid.d.ts +1 -1
  197. package/lib/redirects/RedirectsGrid.d.ts.map +1 -1
  198. package/lib/redirects/RedirectsGrid.gql.d.ts +1 -0
  199. package/lib/redirects/RedirectsGrid.gql.d.ts.map +1 -1
  200. package/lib/redirects/RedirectsGrid.gql.generated.d.ts +8 -0
  201. package/lib/redirects/RedirectsGrid.gql.generated.d.ts.map +1 -1
  202. package/lib/redirects/RedirectsGrid.gql.generated.js +2 -1
  203. package/lib/redirects/RedirectsGrid.gql.js +3 -2
  204. package/lib/redirects/RedirectsGrid.js +107 -15
  205. package/lib/translation/AzureAiTranslatorProvider.d.ts +1 -1
  206. package/lib/translation/AzureAiTranslatorProvider.d.ts.map +1 -1
  207. package/lib/translation/AzureAiTranslatorProvider.generated.d.ts +8 -0
  208. package/lib/translation/AzureAiTranslatorProvider.generated.d.ts.map +1 -1
  209. package/lib/translation/AzureAiTranslatorProvider.generated.js +2 -1
  210. package/lib/translation/AzureAiTranslatorProvider.js +31 -2
  211. package/lib/translation/TranslatableInterface.d.ts +4 -0
  212. package/lib/translation/TranslatableInterface.d.ts.map +1 -0
  213. package/lib/translation/TranslatableInterface.js +1 -0
  214. package/lib/translation/TranslateContentMenuItem.d.ts +7 -0
  215. package/lib/translation/TranslateContentMenuItem.d.ts.map +1 -0
  216. package/lib/translation/TranslateContentMenuItem.js +99 -0
  217. package/lib/translation/createDocumentTranslationMethods.d.ts +4 -0
  218. package/lib/translation/createDocumentTranslationMethods.d.ts.map +1 -0
  219. package/lib/translation/createDocumentTranslationMethods.js +62 -0
  220. package/lib/userPermissions/UserGrid.d.ts +1 -1
  221. package/lib/userPermissions/UserGrid.d.ts.map +1 -1
  222. package/lib/userPermissions/UserGrid.js +2 -2
  223. package/lib/userPermissions/user/permissions/ContentScopeGrid.d.ts.map +1 -1
  224. package/lib/userPermissions/user/permissions/ContentScopeGrid.js +1 -1
  225. package/lib/userPermissions/user/permissions/OverrideContentScopesDialog.js +1 -1
  226. package/lib/userPermissions/user/permissions/PermissionGrid.d.ts.map +1 -1
  227. package/lib/userPermissions/user/permissions/PermissionGrid.js +1 -1
  228. package/lib/userPermissions/user/permissions/selectScopesDialogContent/SelectScopesDialogContent.d.ts.map +1 -1
  229. package/lib/userPermissions/user/permissions/selectScopesDialogContent/SelectScopesDialogContent.js +1 -1
  230. package/lib/validation/validateJson.d.ts +2 -0
  231. package/lib/validation/validateJson.d.ts.map +1 -0
  232. package/lib/validation/validateJson.js +15 -0
  233. package/lib/warnings/LatestWarningsDashboardWidget.js +1 -1
  234. package/lib/warnings/WarningsGrid.d.ts.map +1 -1
  235. package/lib/warnings/WarningsGrid.js +1 -1
  236. package/package.json +36 -26
  237. package/lib/dashboard/__stories__/DateTime.stories.d.ts +0 -7
  238. package/lib/dashboard/__stories__/DateTime.stories.d.ts.map +0 -1
  239. package/lib/pages/pageTree/useCopyPastePages/ProgressDialog.d.ts.map +0 -1
  240. /package/lib/pages/pageTree/{useCopyPastePages/ProgressDialog.js → useProgressDialog.js} +0 -0
@@ -0,0 +1,339 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ var _templateObject;
3
+ var _excluded = ["__typename", "id", "updatedAt"];
4
+ function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
5
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
6
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
7
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
8
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
9
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
10
+ function _regeneratorValues(e) { if (null != e) { var t = e["function" == typeof Symbol && Symbol.iterator || "@@iterator"], r = 0; if (t) return t.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) return { next: function next() { return e && r >= e.length && (e = void 0), { value: e && e[r++], done: !e }; } }; } throw new TypeError(_typeof(e) + " is not iterable"); }
11
+ function _toArray(r) { return _arrayWithHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableRest(); }
12
+ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
13
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
14
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
15
+ function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
16
+ function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
17
+ function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
18
+ function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
19
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
20
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
21
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
22
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
23
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
24
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
25
+ import { gql, useApolloClient } from "@apollo/client";
26
+ import { Button, Dialog, messages, useContentTranslationService, useErrorDialog } from "@comet/admin";
27
+ import { DialogActions, DialogContent, DialogContentText } from "@mui/material";
28
+ import { useState } from "react";
29
+ import { FormattedMessage } from "react-intl";
30
+ import { useContentScope } from "../../contentScope/Provider";
31
+ import { findAvailableSlug } from "./findAvailableSlug";
32
+ import { transformToSlug } from "./transformToSlug";
33
+ import { useProgressDialog } from "./useProgressDialog";
34
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
35
+ function isTranslatable(documentType) {
36
+ return "translateContent" in documentType && !!documentType.getQuery && !!documentType.updateMutation;
37
+ }
38
+ export function useTranslatePagesAction(_ref) {
39
+ var pages = _ref.pages,
40
+ documentTypes = _ref.documentTypes;
41
+ var apolloClient = useApolloClient();
42
+ var _useContentTranslatio = useContentTranslationService(),
43
+ enabled = _useContentTranslatio.enabled,
44
+ translate = _useContentTranslatio.translate,
45
+ batchTranslate = _useContentTranslatio.batchTranslate;
46
+ var _useContentScope = useContentScope(),
47
+ scope = _useContentScope.scope;
48
+ var errorDialog = useErrorDialog();
49
+ var _useState = useState(false),
50
+ _useState2 = _slicedToArray(_useState, 2),
51
+ translating = _useState2[0],
52
+ setTranslating = _useState2[1];
53
+ var _useState3 = useState(false),
54
+ _useState4 = _slicedToArray(_useState3, 2),
55
+ confirmDialogOpen = _useState4[0],
56
+ setConfirmDialogOpen = _useState4[1];
57
+ var progress = useProgressDialog({
58
+ title: /*#__PURE__*/_jsx(FormattedMessage, {
59
+ id: "comet.translator.progress.title",
60
+ defaultMessage: "Translating pages"
61
+ })
62
+ });
63
+ var eligiblePages = pages.filter(function (page) {
64
+ return page.visibility !== "Archived";
65
+ });
66
+ var hasTranslatableContent = eligiblePages.some(function (page) {
67
+ var documentType = documentTypes[page.documentType];
68
+ return documentType && isTranslatable(documentType);
69
+ });
70
+ var handleTranslate = /*#__PURE__*/function () {
71
+ var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4() {
72
+ var effectiveBatchTranslate, _loop, i, _t;
73
+ return _regenerator().w(function (_context5) {
74
+ while (1) switch (_context5.p = _context5.n) {
75
+ case 0:
76
+ setConfirmDialogOpen(false);
77
+ setTranslating(true);
78
+ effectiveBatchTranslate = batchTranslate !== null && batchTranslate !== void 0 ? batchTranslate : (/*#__PURE__*/function () {
79
+ var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(texts) {
80
+ return _regenerator().w(function (_context) {
81
+ while (1) switch (_context.n) {
82
+ case 0:
83
+ return _context.a(2, Promise.all(texts.map(translate)));
84
+ }
85
+ }, _callee);
86
+ }));
87
+ return function (_x) {
88
+ return _ref3.apply(this, arguments);
89
+ };
90
+ }());
91
+ _context5.p = 1;
92
+ _loop = /*#__PURE__*/_regenerator().m(function _loop() {
93
+ var page, documentType, hasTranslatableContent, shouldTranslateName, collectedTexts, documentInput, documentId, _pageData$page, _yield$apolloClient$q, pageData, document, _ref4, _, id, _updatedAt, input, translatedTexts, translatedContentTexts, _translatedTexts, translatedName, rest, translatedSlug, available, textIndex, translatedOutput;
94
+ return _regenerator().w(function (_context4) {
95
+ while (1) switch (_context4.n) {
96
+ case 0:
97
+ page = eligiblePages[i];
98
+ documentType = documentTypes[page.documentType];
99
+ hasTranslatableContent = documentType && isTranslatable(documentType);
100
+ progress.updateProgress(i / eligiblePages.length * 100, /*#__PURE__*/_jsx(FormattedMessage, {
101
+ id: "comet.translator.progress.message",
102
+ defaultMessage: "Translating {current} of {total}: {name}",
103
+ values: {
104
+ current: i + 1,
105
+ total: eligiblePages.length,
106
+ name: page.name
107
+ }
108
+ }));
109
+ shouldTranslateName = hasTranslatableContent && page.slug !== "home"; // Pass 1: Collect all translatable texts
110
+ collectedTexts = shouldTranslateName ? [page.name] : [];
111
+ if (!hasTranslatableContent) {
112
+ _context4.n = 2;
113
+ break;
114
+ }
115
+ _context4.n = 1;
116
+ return apolloClient.query({
117
+ query: documentType.getQuery,
118
+ variables: {
119
+ id: page.id
120
+ },
121
+ fetchPolicy: "network-only"
122
+ });
123
+ case 1:
124
+ _yield$apolloClient$q = _context4.v;
125
+ pageData = _yield$apolloClient$q.data;
126
+ document = pageData === null || pageData === void 0 || (_pageData$page = pageData.page) === null || _pageData$page === void 0 ? void 0 : _pageData$page.document;
127
+ if (!document) {
128
+ _context4.n = 2;
129
+ break;
130
+ }
131
+ _ref4 = document, _ = _ref4.__typename, id = _ref4.id, _updatedAt = _ref4.updatedAt, input = _objectWithoutProperties(_ref4, _excluded);
132
+ documentInput = input;
133
+ documentId = id;
134
+ _context4.n = 2;
135
+ return documentType.translateContent(documentInput, /*#__PURE__*/function () {
136
+ var _ref5 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(text) {
137
+ return _regenerator().w(function (_context2) {
138
+ while (1) switch (_context2.n) {
139
+ case 0:
140
+ collectedTexts.push(text);
141
+ return _context2.a(2, text);
142
+ }
143
+ }, _callee2);
144
+ }));
145
+ return function (_x2) {
146
+ return _ref5.apply(this, arguments);
147
+ };
148
+ }());
149
+ case 2:
150
+ if (!(collectedTexts.length === 0)) {
151
+ _context4.n = 3;
152
+ break;
153
+ }
154
+ return _context4.a(2, 1);
155
+ case 3:
156
+ _context4.n = 4;
157
+ return effectiveBatchTranslate(collectedTexts);
158
+ case 4:
159
+ translatedTexts = _context4.v;
160
+ if (!shouldTranslateName) {
161
+ _context4.n = 7;
162
+ break;
163
+ }
164
+ _translatedTexts = _toArray(translatedTexts), translatedName = _translatedTexts[0], rest = _arrayLikeToArray(_translatedTexts).slice(1);
165
+ translatedContentTexts = rest;
166
+ translatedSlug = transformToSlug(translatedName, scope.language);
167
+ if (!(translatedName !== page.name || translatedSlug !== page.slug)) {
168
+ _context4.n = 6;
169
+ break;
170
+ }
171
+ _context4.n = 5;
172
+ return findAvailableSlug(apolloClient, {
173
+ slug: translatedSlug,
174
+ name: translatedName,
175
+ parentId: page.parentId,
176
+ scope: scope
177
+ });
178
+ case 5:
179
+ available = _context4.v;
180
+ _context4.n = 6;
181
+ return apolloClient.mutate({
182
+ mutation: updatePageTreeNodeMutation,
183
+ variables: {
184
+ id: page.id,
185
+ input: {
186
+ name: available.name,
187
+ slug: available.slug
188
+ }
189
+ }
190
+ });
191
+ case 6:
192
+ _context4.n = 8;
193
+ break;
194
+ case 7:
195
+ translatedContentTexts = translatedTexts;
196
+ case 8:
197
+ if (!(hasTranslatableContent && documentInput && documentId)) {
198
+ _context4.n = 10;
199
+ break;
200
+ }
201
+ textIndex = 0;
202
+ _context4.n = 9;
203
+ return documentType.translateContent(documentInput, /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3() {
204
+ return _regenerator().w(function (_context3) {
205
+ while (1) switch (_context3.n) {
206
+ case 0:
207
+ return _context3.a(2, translatedContentTexts[textIndex++]);
208
+ }
209
+ }, _callee3);
210
+ })));
211
+ case 9:
212
+ translatedOutput = _context4.v;
213
+ _context4.n = 10;
214
+ return apolloClient.mutate({
215
+ mutation: documentType.updateMutation,
216
+ variables: {
217
+ pageId: documentId,
218
+ input: translatedOutput,
219
+ attachedPageTreeNodeId: page.id
220
+ }
221
+ });
222
+ case 10:
223
+ return _context4.a(2);
224
+ }
225
+ }, _loop);
226
+ });
227
+ i = 0;
228
+ case 2:
229
+ if (!(i < eligiblePages.length)) {
230
+ _context5.n = 5;
231
+ break;
232
+ }
233
+ return _context5.d(_regeneratorValues(_loop()), 3);
234
+ case 3:
235
+ if (!_context5.v) {
236
+ _context5.n = 4;
237
+ break;
238
+ }
239
+ return _context5.a(3, 4);
240
+ case 4:
241
+ i++;
242
+ _context5.n = 2;
243
+ break;
244
+ case 5:
245
+ progress.updateProgress(undefined);
246
+ _context5.n = 6;
247
+ return apolloClient.refetchQueries({
248
+ include: ["Pages"]
249
+ });
250
+ case 6:
251
+ _context5.n = 8;
252
+ break;
253
+ case 7:
254
+ _context5.p = 7;
255
+ _t = _context5.v;
256
+ progress.updateProgress(undefined);
257
+ errorDialog === null || errorDialog === void 0 || errorDialog.showError({
258
+ title: /*#__PURE__*/_jsx(FormattedMessage, {
259
+ id: "comet.translator.error.title",
260
+ defaultMessage: "Translation failed"
261
+ }),
262
+ userMessage: /*#__PURE__*/_jsx(FormattedMessage, {
263
+ id: "comet.translator.error.message",
264
+ defaultMessage: "An error occurred while translating the content. Please try again."
265
+ }),
266
+ error: _t instanceof Error ? _t.message : "Translation failed"
267
+ });
268
+ case 8:
269
+ _context5.p = 8;
270
+ setTranslating(false);
271
+ return _context5.f(8);
272
+ case 9:
273
+ return _context5.a(2);
274
+ }
275
+ }, _callee4, null, [[1, 7, 8, 9]]);
276
+ }));
277
+ return function handleTranslate() {
278
+ return _ref2.apply(this, arguments);
279
+ };
280
+ }();
281
+ var isSinglePage = eligiblePages.length === 1;
282
+ var dialogs = /*#__PURE__*/_jsxs(_Fragment, {
283
+ children: [/*#__PURE__*/_jsxs(Dialog, {
284
+ open: confirmDialogOpen,
285
+ onClose: function onClose() {
286
+ return setConfirmDialogOpen(false);
287
+ },
288
+ title: isSinglePage ? /*#__PURE__*/_jsx(FormattedMessage, {
289
+ id: "comet.translator.confirmDialog.title",
290
+ defaultMessage: "Translate page content?"
291
+ }) : /*#__PURE__*/_jsx(FormattedMessage, {
292
+ id: "comet.translator.confirmDialog.titleMultiple",
293
+ defaultMessage: "Translate {count} pages?",
294
+ values: {
295
+ count: eligiblePages.length
296
+ }
297
+ }),
298
+ children: [/*#__PURE__*/_jsx(DialogContent, {
299
+ children: /*#__PURE__*/_jsx(DialogContentText, {
300
+ children: isSinglePage ? /*#__PURE__*/_jsx(FormattedMessage, {
301
+ id: "comet.translator.confirmDialog.message",
302
+ defaultMessage: "All text content of this page will be translated. This action cannot be reverted."
303
+ }) : /*#__PURE__*/_jsx(FormattedMessage, {
304
+ id: "comet.translator.confirmDialog.messageMultiple",
305
+ defaultMessage: "All text content of {count} pages will be translated. This action cannot be reverted.",
306
+ values: {
307
+ count: eligiblePages.length
308
+ }
309
+ })
310
+ })
311
+ }), /*#__PURE__*/_jsxs(DialogActions, {
312
+ children: [/*#__PURE__*/_jsx(Button, {
313
+ onClick: function onClick() {
314
+ return setConfirmDialogOpen(false);
315
+ },
316
+ variant: "textDark",
317
+ children: /*#__PURE__*/_jsx(FormattedMessage, _objectSpread({}, messages.cancel))
318
+ }), /*#__PURE__*/_jsx(Button, {
319
+ onClick: handleTranslate,
320
+ variant: "primary",
321
+ children: /*#__PURE__*/_jsx(FormattedMessage, {
322
+ id: "comet.translator.confirmDialog.confirm",
323
+ defaultMessage: "Translate"
324
+ })
325
+ })]
326
+ })]
327
+ }), progress.dialog]
328
+ });
329
+ return {
330
+ dialogs: dialogs,
331
+ translating: translating,
332
+ enabled: enabled,
333
+ hasTranslatableContent: hasTranslatableContent,
334
+ openDialog: function openDialog() {
335
+ return setConfirmDialogOpen(true);
336
+ }
337
+ };
338
+ }
339
+ var updatePageTreeNodeMutation = gql(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n mutation TranslatePageTreeNode($id: ID!, $input: PageTreeNodeUpdateInput!) {\n updatePageTreeNode(id: $id, input: $input) {\n id\n name\n slug\n }\n }\n"])));
@@ -1 +1 @@
1
- {"version":3,"file":"PagesPageActionToolbar.d.ts","sourceRoot":"","sources":["../../../src/pages/pagesPage/PagesPageActionToolbar.tsx"],"names":[],"mappings":"AASA,OAAO,EAAY,KAAK,OAAO,EAAkB,MAAM,kCAAkC,CAAC;AAE1F,OAAO,KAAK,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAQ/F,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,CAAC;AAO7D,UAAU,2BAA2B;IACjC,aAAa,EAAE,sBAAsB,CAAC;IACtC,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAE/B,YAAY,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAG/C,mBAAmB,EAAE,OAAO,CAAC;IAC7B,oBAAoB,EAAE,MAAM,IAAI,CAAC;CACpC;AAED,eAAO,MAAM,sBAAsB,GAAI,iGAMpC,2BAA2B,4CAkQ7B,CAAC"}
1
+ {"version":3,"file":"PagesPageActionToolbar.d.ts","sourceRoot":"","sources":["../../../src/pages/pagesPage/PagesPageActionToolbar.tsx"],"names":[],"mappings":"AASA,OAAO,EAAY,KAAK,OAAO,EAAkB,MAAM,kCAAkC,CAAC;AAE1F,OAAO,KAAK,EAAE,uBAAuB,EAAgB,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAU7G,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,CAAC;AAO7D,UAAU,2BAA2B;IACjC,aAAa,EAAE,sBAAsB,CAAC;IACtC,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAE/B,YAAY,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAG/C,mBAAmB,EAAE,OAAO,CAAC;IAC7B,oBAAoB,EAAE,MAAM,IAAI,CAAC;CACpC;AAED,eAAO,MAAM,sBAAsB,GAAI,iGAMpC,2BAA2B,4CAyR7B,CAAC"}
@@ -10,7 +10,7 @@ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" !=
10
10
  function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
11
11
  import { useApolloClient } from "@apollo/client";
12
12
  import { Button, Tooltip, UndoSnackbar, useSnackbarApi } from "@comet/admin";
13
- import { Archive, Copy, Delete, Offline, Online, Paste, ThreeDotSaving, TreeCollapseAll } from "@comet/admin-icons";
13
+ import { Archive, Copy, Delete, Offline, Online, Paste, ThreeDotSaving, Translate, TreeCollapseAll } from "@comet/admin-icons";
14
14
  import { Checkbox, Grid, IconButton, useTheme } from "@mui/material";
15
15
  import { useState } from "react";
16
16
  import { FormattedMessage } from "react-intl";
@@ -19,6 +19,8 @@ import { PageDeleteDialog } from "../pageTree/PageDeleteDialog";
19
19
  import { traverse, treeMapToArray } from "../pageTree/treemap/TreeMapUtils";
20
20
  import { useCopyPastePages } from "../pageTree/useCopyPastePages";
21
21
  import { usePageTreeContext } from "../pageTree/usePageTreeContext";
22
+ import { useTranslatePagesAction } from "../pageTree/useTranslatePagesAction";
23
+ import { usePageTreeConfig } from "../pageTreeConfig";
22
24
  import { areAllSubTreesFullSelected } from "./areAllSubTreesFullSelected";
23
25
  import { ConfirmPageActionDialog } from "./ConfirmPageActionDialog";
24
26
  import { PageCanNotDeleteDialog } from "./PageCanNotDeleteDialog";
@@ -45,6 +47,18 @@ export var PagesPageActionToolbar = function PagesPageActionToolbar(_ref) {
45
47
  setConfirmAction = _useState6[1];
46
48
  var _usePageTreeContext = usePageTreeContext(),
47
49
  tree = _usePageTreeContext.tree;
50
+ var _usePageTreeConfig = usePageTreeConfig(),
51
+ documentTypes = _usePageTreeConfig.documentTypes;
52
+ var selectedPages = treeMapToArray(selectedTree);
53
+ var _useTranslatePagesAct = useTranslatePagesAction({
54
+ pages: selectedPages,
55
+ documentTypes: documentTypes
56
+ }),
57
+ translateDialogs = _useTranslatePagesAct.dialogs,
58
+ translating = _useTranslatePagesAct.translating,
59
+ translateEnabled = _useTranslatePagesAct.enabled,
60
+ hasTranslatableContent = _useTranslatePagesAct.hasTranslatableContent,
61
+ openTranslateDialog = _useTranslatePagesAct.openDialog;
48
62
  var _useState7 = useState(false),
49
63
  _useState8 = _slicedToArray(_useState7, 2),
50
64
  publishLoading = _useState8[0],
@@ -342,6 +356,19 @@ export var PagesPageActionToolbar = function PagesPageActionToolbar(_ref) {
342
356
  children: !pasteLoading ? /*#__PURE__*/_jsx(Paste, {}) : /*#__PURE__*/_jsx(ThreeDotSaving, {})
343
357
  })
344
358
  })
359
+ }), translateEnabled && /*#__PURE__*/_jsx(Tooltip, {
360
+ title: /*#__PURE__*/_jsx(FormattedMessage, {
361
+ id: "comet.pagesPageActionToolbar.tooltip.translate",
362
+ defaultMessage: "Translate"
363
+ }),
364
+ children: /*#__PURE__*/_jsx("span", {
365
+ children: /*#__PURE__*/_jsx(IconButton, {
366
+ disabled: selectedTree.size === 0 || translating || !hasTranslatableContent,
367
+ onClick: openTranslateDialog,
368
+ size: "large",
369
+ children: !translating ? /*#__PURE__*/_jsx(Translate, {}) : /*#__PURE__*/_jsx(ThreeDotSaving, {})
370
+ })
371
+ })
345
372
  }), /*#__PURE__*/_jsx(Tooltip, {
346
373
  title: /*#__PURE__*/_jsx(FormattedMessage, {
347
374
  id: "comet.pagesPageActionToolbar.tooltip.delete",
@@ -387,7 +414,7 @@ export var PagesPageActionToolbar = function PagesPageActionToolbar(_ref) {
387
414
  })
388
415
  })
389
416
  })]
390
- }), /*#__PURE__*/_jsx(ConfirmPageActionDialog, {
417
+ }), translateDialogs, /*#__PURE__*/_jsx(ConfirmPageActionDialog, {
391
418
  open: confirmAction !== null,
392
419
  action: confirmAction === null || confirmAction === void 0 ? void 0 : confirmAction.action,
393
420
  onCloseDialog: function onCloseDialog(confirmed) {
@@ -1,9 +1,9 @@
1
1
  export declare const Root: import("@emotion/styled").StyledComponent<import("@mui/material").GridBaseProps & {
2
- sx?: import("@mui/system").SxProps<import("@mui/material").Theme>;
2
+ sx?: import("@mui/system").SxProps<import("@mui/material").Theme> | undefined;
3
3
  } & import("@mui/system").SystemProps<import("@mui/material").Theme> & Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "sx" | ("left" | "right" | "color" | "fontSize" | "p" | "height" | "width" | "display" | "fontFamily" | "fontStyle" | "fontWeight" | "letterSpacing" | "order" | "overflow" | "visibility" | "alignContent" | "alignItems" | "alignSelf" | "bottom" | "boxShadow" | "boxSizing" | "columnGap" | "flexBasis" | "flexDirection" | "flexGrow" | "flexShrink" | "flexWrap" | "gridAutoColumns" | "gridAutoFlow" | "gridAutoRows" | "gridTemplateAreas" | "gridTemplateColumns" | "gridTemplateRows" | "justifyContent" | "justifyItems" | "justifySelf" | "lineHeight" | "marginBlockEnd" | "marginBlockStart" | "marginBottom" | "marginInlineEnd" | "marginInlineStart" | "marginLeft" | "marginRight" | "marginTop" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "paddingBlockEnd" | "paddingBlockStart" | "paddingBottom" | "paddingInlineEnd" | "paddingInlineStart" | "paddingLeft" | "paddingRight" | "paddingTop" | "position" | "rowGap" | "textAlign" | "textOverflow" | "textTransform" | "top" | "whiteSpace" | "zIndex" | "border" | "borderBottom" | "borderColor" | "borderLeft" | "borderRadius" | "borderRight" | "borderTop" | "flex" | "gap" | "gridArea" | "gridColumn" | "gridRow" | "margin" | "marginBlock" | "marginInline" | "padding" | "paddingBlock" | "paddingInline" | "displayPrint" | "bgcolor" | "m" | "mt" | "mr" | "mb" | "ml" | "mx" | "my" | "pt" | "pr" | "pb" | "pl" | "px" | "py" | "marginX" | "marginY" | "paddingX" | "paddingY" | "typography") | keyof import("@mui/material").GridBaseProps> & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, {}, {}>;
4
4
  export declare const SelectAllLabel: import("@emotion/styled").StyledComponent<import("@mui/material").FormControlLabelProps & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, {}, {}>;
5
5
  export declare const CenterContainer: import("@emotion/styled").StyledComponent<import("@mui/material").GridBaseProps & {
6
- sx?: import("@mui/system").SxProps<import("@mui/material").Theme>;
6
+ sx?: import("@mui/system").SxProps<import("@mui/material").Theme> | undefined;
7
7
  } & import("@mui/system").SystemProps<import("@mui/material").Theme> & Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "sx" | ("left" | "right" | "color" | "fontSize" | "p" | "height" | "width" | "display" | "fontFamily" | "fontStyle" | "fontWeight" | "letterSpacing" | "order" | "overflow" | "visibility" | "alignContent" | "alignItems" | "alignSelf" | "bottom" | "boxShadow" | "boxSizing" | "columnGap" | "flexBasis" | "flexDirection" | "flexGrow" | "flexShrink" | "flexWrap" | "gridAutoColumns" | "gridAutoFlow" | "gridAutoRows" | "gridTemplateAreas" | "gridTemplateColumns" | "gridTemplateRows" | "justifyContent" | "justifyItems" | "justifySelf" | "lineHeight" | "marginBlockEnd" | "marginBlockStart" | "marginBottom" | "marginInlineEnd" | "marginInlineStart" | "marginLeft" | "marginRight" | "marginTop" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "paddingBlockEnd" | "paddingBlockStart" | "paddingBottom" | "paddingInlineEnd" | "paddingInlineStart" | "paddingLeft" | "paddingRight" | "paddingTop" | "position" | "rowGap" | "textAlign" | "textOverflow" | "textTransform" | "top" | "whiteSpace" | "zIndex" | "border" | "borderBottom" | "borderColor" | "borderLeft" | "borderRadius" | "borderRight" | "borderTop" | "flex" | "gap" | "gridArea" | "gridColumn" | "gridRow" | "margin" | "marginBlock" | "marginInline" | "padding" | "paddingBlock" | "paddingInline" | "displayPrint" | "bgcolor" | "m" | "mt" | "mr" | "mb" | "ml" | "mx" | "my" | "pt" | "pr" | "pb" | "pl" | "px" | "py" | "marginX" | "marginY" | "paddingX" | "paddingY" | "typography") | keyof import("@mui/material").GridBaseProps> & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, {}, {}>;
8
8
  export declare const Separator: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
9
9
  //# sourceMappingURL=PagesPageActionToolbar.sc.d.ts.map
@@ -1,4 +1,4 @@
1
- import type { JSX } from "react";
1
+ import { type JSX } from "react";
2
2
  import type { BlockInterface } from "../blocks/types";
3
3
  interface Props {
4
4
  linkBlock: BlockInterface;
@@ -1 +1 @@
1
- {"version":3,"file":"RedirectsGrid.d.ts","sourceRoot":"","sources":["../../src/redirects/RedirectsGrid.tsx"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAIjC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAKtD,UAAU,KAAK;IACX,SAAS,EAAE,cAAc,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAeD,wBAAgB,aAAa,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,KAAK,GAAG,GAAG,CAAC,OAAO,CAmJtE"}
1
+ {"version":3,"file":"RedirectsGrid.d.ts","sourceRoot":"","sources":["../../src/redirects/RedirectsGrid.tsx"],"names":[],"mappings":"AAgCA,OAAO,EAAE,KAAK,GAAG,EAAY,MAAM,OAAO,CAAC;AAI3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAYtD,UAAU,KAAK;IACX,SAAS,EAAE,cAAc,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AA8BD,wBAAgB,aAAa,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,KAAK,GAAG,GAAG,CAAC,OAAO,CAuLtE"}
@@ -1,3 +1,4 @@
1
1
  export declare const paginatedRedirectsQuery: import("graphql").DocumentNode;
2
2
  export declare const deleteRedirectMutation: import("graphql").DocumentNode;
3
+ export declare const deleteRedirectsMutation: import("graphql").DocumentNode;
3
4
  //# sourceMappingURL=RedirectsGrid.gql.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RedirectsGrid.gql.d.ts","sourceRoot":"","sources":["../../src/redirects/RedirectsGrid.gql.ts"],"names":[],"mappings":"AAqBA,eAAO,MAAM,uBAAuB,gCAiBnC,CAAC;AAEF,eAAO,MAAM,sBAAsB,gCAIlC,CAAC"}
1
+ {"version":3,"file":"RedirectsGrid.gql.d.ts","sourceRoot":"","sources":["../../src/redirects/RedirectsGrid.gql.ts"],"names":[],"mappings":"AAqBA,eAAO,MAAM,uBAAuB,gCAiBnC,CAAC;AAEF,eAAO,MAAM,sBAAsB,gCAIlC,CAAC;AAEF,eAAO,MAAM,uBAAuB,gCAInC,CAAC"}
@@ -5,6 +5,7 @@ export declare const namedOperations: {
5
5
  };
6
6
  Mutation: {
7
7
  DeleteRedirect: string;
8
+ DeleteRedirects: string;
8
9
  };
9
10
  Fragment: {
10
11
  RedirectTable: string;
@@ -54,4 +55,11 @@ export type GQLDeleteRedirectMutation = {
54
55
  __typename?: 'Mutation';
55
56
  deleteRedirect: boolean;
56
57
  };
58
+ export type GQLDeleteRedirectsMutationVariables = Types.Exact<{
59
+ ids: Array<Types.Scalars['ID']['input']> | Types.Scalars['ID']['input'];
60
+ }>;
61
+ export type GQLDeleteRedirectsMutation = {
62
+ __typename?: 'Mutation';
63
+ deleteRedirects: boolean;
64
+ };
57
65
  //# sourceMappingURL=RedirectsGrid.gql.generated.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RedirectsGrid.gql.generated.d.ts","sourceRoot":"","sources":["../../src/redirects/RedirectsGrid.gql.generated.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,sBAAsB,CAAC;AAE9C,eAAO,MAAM,eAAe;;;;;;;;;;CAU3B,CAAA;AACD,MAAM,MAAM,wBAAwB,GAAG;IAAE,UAAU,CAAC,EAAE,UAAU,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,GAAG,GAAG,IAAI,CAAC;IAAC,UAAU,EAAE,KAAK,CAAC,qBAAqB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,GAAG,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,cAAc,EAAE,KAAK,CAAC,yBAAyB,CAAA;CAAE,CAAC;AAExQ,MAAM,MAAM,mCAAmC,GAAG,KAAK,CAAC,KAAK,CAAC;IAC5D,KAAK,EAAE,KAAK,CAAC,qBAAqB,CAAC;IACnC,MAAM,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACnD,MAAM,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5D,IAAI,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC;IAC9E,MAAM,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACzD,KAAK,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CACzD,CAAC,CAAC;AAGH,MAAM,MAAM,0BAA0B,GAAG;IAAE,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,kBAAkB,EAAE;QAAE,UAAU,CAAC,EAAE,oBAAoB,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAC;YAAE,UAAU,CAAC,EAAE,UAAU,CAAC;YAAC,EAAE,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,OAAO,CAAC;YAAC,WAAW,EAAE,GAAG,GAAG,IAAI,CAAC;YAAC,UAAU,EAAE,KAAK,CAAC,qBAAqB,CAAC;YAAC,MAAM,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,GAAG,CAAC;YAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;YAAC,cAAc,EAAE,KAAK,CAAC,yBAAyB,CAAA;SAAE,CAAC,CAAA;KAAE,CAAA;CAAE,CAAC;AAEjY,MAAM,MAAM,kCAAkC,GAAG,KAAK,CAAC,KAAK,CAAC;IAC3D,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;CAClC,CAAC,CAAC;AAGH,MAAM,MAAM,yBAAyB,GAAG;IAAE,UAAU,CAAC,EAAE,UAAU,CAAC;IAAC,cAAc,EAAE,OAAO,CAAA;CAAE,CAAC"}
1
+ {"version":3,"file":"RedirectsGrid.gql.generated.d.ts","sourceRoot":"","sources":["../../src/redirects/RedirectsGrid.gql.generated.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,sBAAsB,CAAC;AAE9C,eAAO,MAAM,eAAe;;;;;;;;;;;CAW3B,CAAA;AACD,MAAM,MAAM,wBAAwB,GAAG;IAAE,UAAU,CAAC,EAAE,UAAU,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,GAAG,GAAG,IAAI,CAAC;IAAC,UAAU,EAAE,KAAK,CAAC,qBAAqB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,GAAG,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,cAAc,EAAE,KAAK,CAAC,yBAAyB,CAAA;CAAE,CAAC;AAExQ,MAAM,MAAM,mCAAmC,GAAG,KAAK,CAAC,KAAK,CAAC;IAC5D,KAAK,EAAE,KAAK,CAAC,qBAAqB,CAAC;IACnC,MAAM,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACnD,MAAM,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5D,IAAI,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC;IAC9E,MAAM,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACzD,KAAK,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CACzD,CAAC,CAAC;AAGH,MAAM,MAAM,0BAA0B,GAAG;IAAE,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,kBAAkB,EAAE;QAAE,UAAU,CAAC,EAAE,oBAAoB,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAC;YAAE,UAAU,CAAC,EAAE,UAAU,CAAC;YAAC,EAAE,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,OAAO,CAAC;YAAC,WAAW,EAAE,GAAG,GAAG,IAAI,CAAC;YAAC,UAAU,EAAE,KAAK,CAAC,qBAAqB,CAAC;YAAC,MAAM,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,GAAG,CAAC;YAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;YAAC,cAAc,EAAE,KAAK,CAAC,yBAAyB,CAAA;SAAE,CAAC,CAAA;KAAE,CAAA;CAAE,CAAC;AAEjY,MAAM,MAAM,kCAAkC,GAAG,KAAK,CAAC,KAAK,CAAC;IAC3D,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;CAClC,CAAC,CAAC;AAGH,MAAM,MAAM,yBAAyB,GAAG;IAAE,UAAU,CAAC,EAAE,UAAU,CAAC;IAAC,cAAc,EAAE,OAAO,CAAA;CAAE,CAAC;AAE7F,MAAM,MAAM,mCAAmC,GAAG,KAAK,CAAC,KAAK,CAAC;IAC5D,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;CACzE,CAAC,CAAC;AAGH,MAAM,MAAM,0BAA0B,GAAG;IAAE,UAAU,CAAC,EAAE,UAAU,CAAC;IAAC,eAAe,EAAE,OAAO,CAAA;CAAE,CAAC"}
@@ -3,7 +3,8 @@ export var namedOperations = {
3
3
  PaginatedRedirects: 'PaginatedRedirects'
4
4
  },
5
5
  Mutation: {
6
- DeleteRedirect: 'DeleteRedirect'
6
+ DeleteRedirect: 'DeleteRedirect',
7
+ DeleteRedirects: 'DeleteRedirects'
7
8
  },
8
9
  Fragment: {
9
10
  RedirectTable: 'RedirectTable'
@@ -1,4 +1,4 @@
1
- var _templateObject, _templateObject2, _templateObject3;
1
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4;
2
2
  function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
3
3
  import { gql } from "@apollo/client";
4
4
  import { redirectActivenessFragment } from "./RedirectActiveness";
@@ -7,4 +7,5 @@ import { redirectActivenessFragment } from "./RedirectActiveness";
7
7
  //
8
8
  var redirectTableFragment = gql(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n fragment RedirectTable on Redirect {\n id\n active\n activatedAt\n sourceType\n source\n target\n comment\n generationType\n ...RedirectActiveness\n }\n ", "\n"])), redirectActivenessFragment);
9
9
  export var paginatedRedirectsQuery = gql(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n query PaginatedRedirects(\n $scope: RedirectScopeInput!\n $filter: RedirectFilter\n $search: String\n $sort: [RedirectSort!]\n $offset: Int\n $limit: Int\n ) {\n paginatedRedirects(scope: $scope, filter: $filter, search: $search, sort: $sort, offset: $offset, limit: $limit) {\n nodes {\n ...RedirectTable\n }\n totalCount\n }\n }\n ", "\n"])), redirectTableFragment);
10
- export var deleteRedirectMutation = gql(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n mutation DeleteRedirect($id: ID!) {\n deleteRedirect(id: $id)\n }\n"])));
10
+ export var deleteRedirectMutation = gql(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n mutation DeleteRedirect($id: ID!) {\n deleteRedirect(id: $id)\n }\n"])));
11
+ export var deleteRedirectsMutation = gql(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n mutation DeleteRedirects($ids: [ID!]!) {\n deleteRedirects(ids: $ids)\n }\n"])));