@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,13 @@
1
+ import { type Editor } from "@tiptap/react";
2
+ import type { BlockInterface, LinkBlockInterface } from "../types";
3
+ import type { TipTapBlockStyle, TipTapInlineStyle, TipTapPlaceholder, TipTapSupports } from "./createTipTapRichTextBlock";
4
+ export declare const TipTapToolbar: ({ editor, supports, blockStyles, inlineStyles, placeholders, linkBlock, listLevelMax, }: {
5
+ editor: Editor;
6
+ supports: TipTapSupports[];
7
+ blockStyles: TipTapBlockStyle[];
8
+ inlineStyles: TipTapInlineStyle[];
9
+ placeholders: TipTapPlaceholder[];
10
+ linkBlock?: BlockInterface & LinkBlockInterface;
11
+ listLevelMax?: number;
12
+ }) => import("react/jsx-runtime").JSX.Element;
13
+ //# sourceMappingURL=TipTapToolbar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TipTapToolbar.d.ts","sourceRoot":"","sources":["../../../src/blocks/tipTap/TipTapToolbar.tsx"],"names":[],"mappings":"AAiCA,OAAO,EAAE,KAAK,MAAM,EAAkB,MAAM,eAAe,CAAC;AAI5D,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAmB,iBAAiB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AA8G3I,eAAO,MAAM,aAAa,GAAI,yFAQ3B;IACC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,WAAW,EAAE,gBAAgB,EAAE,CAAC;IAChC,YAAY,EAAE,iBAAiB,EAAE,CAAC;IAClC,YAAY,EAAE,iBAAiB,EAAE,CAAC;IAClC,SAAS,CAAC,EAAE,cAAc,GAAG,kBAAkB,CAAC;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB,4CAubA,CAAC"}
@@ -0,0 +1,666 @@
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
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
3
+ 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."); }
4
+ 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; } }
5
+ 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; }
6
+ 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; } }
7
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
8
+ 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; }
9
+ 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; }
10
+ 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; }
11
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
12
+ 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); }
13
+ import { greyPalette, Tooltip } from "@comet/admin";
14
+ import { MoreHorizontal, RteBold, RteClearLink, RteIndentDecrease, RteIndentIncrease, RteItalic, RteLink, RteNonBreakingSpace, RteOl, RteRedo, RteSoftHyphen, RteStrikethrough, RteSub, RteSup, RteTextPlaceholder, RteUl, RteUndo } from "@comet/admin-icons";
15
+ import { Box, FormControl, inputBaseClasses, ListItemIcon, Menu, MenuItem, Select, selectClasses } from "@mui/material";
16
+ import { grey as muiGreyPalette } from "@mui/material/colors";
17
+ import { useEditorState } from "@tiptap/react";
18
+ import { useState } from "react";
19
+ import { FormattedMessage, useIntl } from "react-intl";
20
+ import { TipTapLinkDialog } from "./TipTapLinkDialog";
21
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
22
+ var toolbarButtonSx = {
23
+ display: "flex",
24
+ justifyContent: "center",
25
+ alignItems: "center",
26
+ height: 24,
27
+ width: 24,
28
+ padding: 0,
29
+ backgroundColor: "transparent",
30
+ border: "1px solid transparent",
31
+ boxSizing: "border-box",
32
+ transition: "background-color 200ms, border-color 200ms, color 200ms",
33
+ color: muiGreyPalette[600],
34
+ "&:hover": {
35
+ backgroundColor: muiGreyPalette[200],
36
+ borderColor: muiGreyPalette[400]
37
+ },
38
+ "&:disabled": {
39
+ color: muiGreyPalette[300],
40
+ "&, &:hover": {
41
+ backgroundColor: "transparent",
42
+ borderColor: "transparent"
43
+ }
44
+ }
45
+ };
46
+ var toolbarButtonSelectedSx = {
47
+ "&:not(:disabled), &:not(:disabled):hover": {
48
+ borderColor: muiGreyPalette[400],
49
+ backgroundColor: "white"
50
+ }
51
+ };
52
+ var ToolbarButton = function ToolbarButton(_ref) {
53
+ var editor = _ref.editor,
54
+ Icon = _ref.icon,
55
+ tooltip = _ref.tooltip,
56
+ isActive = _ref.isActive,
57
+ disabled = _ref.disabled,
58
+ onToggle = _ref.onToggle;
59
+ return /*#__PURE__*/_jsx(Tooltip, {
60
+ title: tooltip,
61
+ children: /*#__PURE__*/_jsx(Box, {
62
+ component: "button",
63
+ type: "button",
64
+ disabled: disabled,
65
+ onMouseDown: function onMouseDown(e) {
66
+ e.preventDefault();
67
+ onToggle();
68
+ },
69
+ sx: _objectSpread(_objectSpread({}, toolbarButtonSx), isActive && editor.isActive(isActive) ? toolbarButtonSelectedSx : {}),
70
+ children: /*#__PURE__*/_jsx(Icon, {
71
+ sx: {
72
+ fontSize: 15
73
+ },
74
+ color: "inherit"
75
+ })
76
+ })
77
+ });
78
+ };
79
+ var toolbarSlotSx = {
80
+ display: "flex",
81
+ alignItems: "center",
82
+ flexShrink: 0,
83
+ flexGrow: 0,
84
+ height: 34,
85
+ boxSizing: "border-box",
86
+ py: "5px",
87
+ pr: "6px",
88
+ mr: "5px",
89
+ borderRight: "1px solid ".concat(greyPalette[100]),
90
+ "&:last-child": {
91
+ mr: 0,
92
+ pr: 0,
93
+ borderRight: "none"
94
+ }
95
+ };
96
+ var ToolbarGroup = function ToolbarGroup(_ref2) {
97
+ var children = _ref2.children;
98
+ return /*#__PURE__*/_jsx(Box, {
99
+ sx: toolbarSlotSx,
100
+ children: children
101
+ });
102
+ };
103
+ var selectFormControlSx = _defineProperty(_defineProperty({}, "& .".concat(inputBaseClasses.root), {
104
+ backgroundColor: "transparent",
105
+ height: "auto",
106
+ border: "none",
107
+ "&, &:hover": {
108
+ "&:before, &:after": {
109
+ borderBottomWidth: 0
110
+ }
111
+ }
112
+ }), "& .".concat(selectClasses.icon), {
113
+ top: "auto",
114
+ color: "inherit"
115
+ });
116
+ var selectSx = _defineProperty({}, "& .".concat(selectClasses.select, ".").concat(inputBaseClasses.input), {
117
+ minHeight: 0,
118
+ color: muiGreyPalette[600],
119
+ minWidth: 180,
120
+ lineHeight: "24px",
121
+ fontSize: 14,
122
+ p: 0
123
+ });
124
+ export var TipTapToolbar = function TipTapToolbar(_ref3) {
125
+ var editor = _ref3.editor,
126
+ supports = _ref3.supports,
127
+ blockStyles = _ref3.blockStyles,
128
+ inlineStyles = _ref3.inlineStyles,
129
+ placeholders = _ref3.placeholders,
130
+ linkBlock = _ref3.linkBlock,
131
+ listLevelMax = _ref3.listLevelMax;
132
+ var intl = useIntl();
133
+ var _useState = useState(null),
134
+ _useState2 = _slicedToArray(_useState, 2),
135
+ moreAnchorEl = _useState2[0],
136
+ setMoreAnchorEl = _useState2[1];
137
+ var _useState3 = useState(null),
138
+ _useState4 = _slicedToArray(_useState3, 2),
139
+ placeholderAnchorEl = _useState4[0],
140
+ setPlaceholderAnchorEl = _useState4[1];
141
+ var _useState5 = useState(false),
142
+ _useState6 = _slicedToArray(_useState5, 2),
143
+ linkDialogOpen = _useState6[0],
144
+ setLinkDialogOpen = _useState6[1];
145
+ var hasInlineFormatButtons = ["bold", "italic", "strike"].some(function (s) {
146
+ return supports.includes(s);
147
+ });
148
+ var moreOptions = ["sub", "sup"].some(function (s) {
149
+ return supports.includes(s);
150
+ });
151
+ var lists = ["ordered-list", "unordered-list"].some(function (s) {
152
+ return supports.includes(s);
153
+ });
154
+ var specialChars = ["non-breaking-space", "soft-hyphen"].some(function (s) {
155
+ return supports.includes(s);
156
+ });
157
+ var hasLink = supports.includes("link") && !!linkBlock;
158
+ var hasPlaceholders = placeholders.length > 0;
159
+ var hasInlineStyles = inlineStyles.length > 0;
160
+ var editorState = useEditorState({
161
+ editor: editor,
162
+ selector: function selector(_ref4) {
163
+ var _ref6;
164
+ var e = _ref4.editor;
165
+ var activeBlockType = function () {
166
+ for (var level = 1; level <= 6; level++) {
167
+ if (e.isActive("heading", {
168
+ level: level
169
+ })) {
170
+ return String(level);
171
+ }
172
+ }
173
+ return "paragraph";
174
+ }();
175
+ var activeTipTapBlockType = function () {
176
+ if (e.isActive("orderedList")) {
177
+ return "ordered-list";
178
+ }
179
+ if (e.isActive("bulletList")) {
180
+ return "unordered-list";
181
+ }
182
+ for (var level = 1; level <= 6; level++) {
183
+ if (e.isActive("heading", {
184
+ level: level
185
+ })) {
186
+ return "heading-".concat(level);
187
+ }
188
+ }
189
+ return "paragraph";
190
+ }();
191
+ var attrs = e.isActive("heading") ? e.getAttributes("heading") : e.getAttributes("paragraph");
192
+ var activeInlineStyle = function (_ref5) {
193
+ if (!hasInlineStyles) {
194
+ return "";
195
+ }
196
+ var inlineStyleAttrs = e.getAttributes("inlineStyle");
197
+ return (_ref5 = inlineStyleAttrs.type) !== null && _ref5 !== void 0 ? _ref5 : "";
198
+ }();
199
+
200
+ // Calculate current list nesting depth for listLevelMax enforcement
201
+ var canIndent = e.can().sinkListItem("listItem");
202
+ if (canIndent && listLevelMax !== undefined) {
203
+ var $from = e.state.selection.$from;
204
+ var listDepth = 0;
205
+ for (var d = 0; d <= $from.depth; d++) {
206
+ var node = $from.node(d);
207
+ if (node.type.name === "bulletList" || node.type.name === "orderedList") {
208
+ listDepth++;
209
+ }
210
+ }
211
+ if (listDepth >= listLevelMax) {
212
+ canIndent = false;
213
+ }
214
+ }
215
+ return {
216
+ activeBlockType: activeBlockType,
217
+ activeTipTapBlockType: activeTipTapBlockType,
218
+ activeBlockStyle: (_ref6 = attrs.blockStyle) !== null && _ref6 !== void 0 ? _ref6 : "",
219
+ activeInlineStyle: activeInlineStyle,
220
+ canUndo: e.can().undo(),
221
+ canRedo: e.can().redo(),
222
+ canIndent: canIndent,
223
+ canDedent: e.can().liftListItem("listItem"),
224
+ isBoldActive: e.isActive("bold"),
225
+ isItalicActive: e.isActive("italic"),
226
+ isStrikeActive: e.isActive("strike"),
227
+ isSuperscriptActive: e.isActive("superscript"),
228
+ isSubscriptActive: e.isActive("subscript"),
229
+ isOrderedListActive: e.isActive("orderedList"),
230
+ isBulletListActive: e.isActive("bulletList"),
231
+ isLinkActive: e.isActive("link"),
232
+ selectionEmpty: e.state.selection.empty
233
+ };
234
+ }
235
+ });
236
+ var handleMoreClose = function handleMoreClose() {
237
+ setMoreAnchorEl(null);
238
+ setTimeout(function () {
239
+ return editor.commands.focus();
240
+ }, 0);
241
+ };
242
+ var handlePlaceholderClose = function handlePlaceholderClose() {
243
+ setPlaceholderAnchorEl(null);
244
+ setTimeout(function () {
245
+ return editor.commands.focus();
246
+ }, 0);
247
+ };
248
+ var applicableBlockStyles = blockStyles.filter(function (style) {
249
+ return !style.appliesTo || style.appliesTo.includes(editorState.activeTipTapBlockType);
250
+ });
251
+ var applicableInlineStyles = inlineStyles.filter(function (style) {
252
+ return !style.appliesTo || style.appliesTo.includes(editorState.activeTipTapBlockType);
253
+ });
254
+ var handleBlockTypeChange = function handleBlockTypeChange(e) {
255
+ var value = e.target.value;
256
+ if (value === "paragraph") {
257
+ editor.chain().focus().setParagraph().run();
258
+ } else {
259
+ editor.chain().focus().setHeading({
260
+ level: Number(value)
261
+ }).run();
262
+ }
263
+
264
+ // Clear blockStyle if it's not applicable to the new block type
265
+ if (blockStyles.length > 0) {
266
+ var activeBlockStyle = editorState.activeBlockStyle;
267
+ if (activeBlockStyle) {
268
+ var newType = value === "paragraph" ? "paragraph" : "heading-".concat(value);
269
+ var styleConfig = blockStyles.find(function (s) {
270
+ return s.name === activeBlockStyle;
271
+ });
272
+ if (styleConfig !== null && styleConfig !== void 0 && styleConfig.appliesTo && !styleConfig.appliesTo.includes(newType)) {
273
+ var nodeType = value === "paragraph" ? "paragraph" : "heading";
274
+ editor.chain().updateAttributes(nodeType, {
275
+ blockStyle: null
276
+ }).run();
277
+ }
278
+ }
279
+ }
280
+ };
281
+ var handleBlockStyleChange = function handleBlockStyleChange(e) {
282
+ var value = e.target.value || null;
283
+ var nodeType = editor.isActive("heading") ? "heading" : "paragraph";
284
+ editor.chain().focus().updateAttributes(nodeType, {
285
+ blockStyle: value
286
+ }).run();
287
+ };
288
+ var handleInlineStyleChange = function handleInlineStyleChange(e) {
289
+ var value = e.target.value;
290
+ if (value) {
291
+ editor.chain().focus().setInlineStyle({
292
+ type: value
293
+ }).run();
294
+ } else {
295
+ editor.chain().focus().unsetInlineStyle().run();
296
+ }
297
+ };
298
+ return /*#__PURE__*/_jsxs(Box, {
299
+ sx: {
300
+ display: "flex",
301
+ flexWrap: "wrap",
302
+ borderTop: "1px solid ".concat(greyPalette[100]),
303
+ backgroundColor: muiGreyPalette[100],
304
+ px: "6px"
305
+ },
306
+ children: [supports.includes("history") && /*#__PURE__*/_jsxs(ToolbarGroup, {
307
+ children: [/*#__PURE__*/_jsx(ToolbarButton, {
308
+ editor: editor,
309
+ icon: RteUndo,
310
+ tooltip: /*#__PURE__*/_jsx(FormattedMessage, {
311
+ id: "comet.blocks.tipTapRichText.undo.tooltip",
312
+ defaultMessage: "Undo"
313
+ }),
314
+ disabled: !editorState.canUndo,
315
+ onToggle: function onToggle() {
316
+ return editor.chain().focus().undo().run();
317
+ }
318
+ }), /*#__PURE__*/_jsx(ToolbarButton, {
319
+ editor: editor,
320
+ icon: RteRedo,
321
+ tooltip: /*#__PURE__*/_jsx(FormattedMessage, {
322
+ id: "comet.blocks.tipTapRichText.redo.tooltip",
323
+ defaultMessage: "Redo"
324
+ }),
325
+ disabled: !editorState.canRedo,
326
+ onToggle: function onToggle() {
327
+ return editor.chain().focus().redo().run();
328
+ }
329
+ })]
330
+ }), supports.includes("heading") && /*#__PURE__*/_jsx(ToolbarGroup, {
331
+ children: /*#__PURE__*/_jsx(FormControl, {
332
+ sx: selectFormControlSx,
333
+ children: /*#__PURE__*/_jsxs(Select, {
334
+ value: editorState.activeBlockType,
335
+ onChange: handleBlockTypeChange,
336
+ displayEmpty: true,
337
+ variant: "filled",
338
+ MenuProps: {
339
+ elevation: 1
340
+ },
341
+ sx: selectSx,
342
+ children: [/*#__PURE__*/_jsx(MenuItem, {
343
+ value: "paragraph",
344
+ dense: true,
345
+ children: /*#__PURE__*/_jsx(FormattedMessage, {
346
+ id: "comet.blocks.tipTapRichText.blockType.default",
347
+ defaultMessage: "Default"
348
+ })
349
+ }), [1, 2, 3, 4, 5, 6].map(function (level) {
350
+ return /*#__PURE__*/_jsx(MenuItem, {
351
+ value: String(level),
352
+ dense: true,
353
+ children: /*#__PURE__*/_jsx(FormattedMessage, {
354
+ id: "comet.blocks.tipTapRichText.blockType.heading",
355
+ defaultMessage: "Heading {level}",
356
+ values: {
357
+ level: level
358
+ }
359
+ })
360
+ }, level);
361
+ })]
362
+ })
363
+ })
364
+ }), applicableBlockStyles.length > 0 && /*#__PURE__*/_jsx(ToolbarGroup, {
365
+ children: /*#__PURE__*/_jsx(FormControl, {
366
+ sx: selectFormControlSx,
367
+ children: /*#__PURE__*/_jsxs(Select, {
368
+ value: editorState.activeBlockStyle,
369
+ onChange: handleBlockStyleChange,
370
+ displayEmpty: true,
371
+ variant: "filled",
372
+ MenuProps: {
373
+ elevation: 1
374
+ },
375
+ sx: selectSx,
376
+ children: [/*#__PURE__*/_jsx(MenuItem, {
377
+ value: "",
378
+ dense: true,
379
+ children: /*#__PURE__*/_jsx(FormattedMessage, {
380
+ id: "comet.blocks.tipTapRichText.blockStyle.default",
381
+ defaultMessage: "Default"
382
+ })
383
+ }), applicableBlockStyles.map(function (style) {
384
+ return /*#__PURE__*/_jsx(MenuItem, {
385
+ value: style.name,
386
+ dense: true,
387
+ children: style.label
388
+ }, style.name);
389
+ })]
390
+ })
391
+ })
392
+ }), applicableInlineStyles.length > 0 && /*#__PURE__*/_jsx(ToolbarGroup, {
393
+ children: /*#__PURE__*/_jsx(FormControl, {
394
+ sx: selectFormControlSx,
395
+ children: /*#__PURE__*/_jsxs(Select, {
396
+ value: editorState.activeInlineStyle,
397
+ onChange: handleInlineStyleChange,
398
+ displayEmpty: true,
399
+ variant: "filled",
400
+ MenuProps: {
401
+ elevation: 1
402
+ },
403
+ sx: selectSx,
404
+ disabled: editorState.selectionEmpty,
405
+ children: [/*#__PURE__*/_jsx(MenuItem, {
406
+ value: "",
407
+ dense: true,
408
+ children: /*#__PURE__*/_jsx(FormattedMessage, {
409
+ id: "comet.blocks.tipTapRichText.inlineStyle.default",
410
+ defaultMessage: "Default"
411
+ })
412
+ }), applicableInlineStyles.map(function (style) {
413
+ return /*#__PURE__*/_jsx(MenuItem, {
414
+ value: style.name,
415
+ dense: true,
416
+ children: style.label
417
+ }, style.name);
418
+ })]
419
+ })
420
+ })
421
+ }), (hasInlineFormatButtons || moreOptions) && /*#__PURE__*/_jsxs(ToolbarGroup, {
422
+ children: [supports.includes("bold") && /*#__PURE__*/_jsx(ToolbarButton, {
423
+ editor: editor,
424
+ icon: RteBold,
425
+ tooltip: /*#__PURE__*/_jsx(FormattedMessage, {
426
+ id: "comet.blocks.tipTapRichText.bold.tooltip",
427
+ defaultMessage: "Bold"
428
+ }),
429
+ isActive: "bold",
430
+ onToggle: function onToggle() {
431
+ return editor.chain().focus().toggleBold().run();
432
+ }
433
+ }), supports.includes("italic") && /*#__PURE__*/_jsx(ToolbarButton, {
434
+ editor: editor,
435
+ icon: RteItalic,
436
+ tooltip: /*#__PURE__*/_jsx(FormattedMessage, {
437
+ id: "comet.blocks.tipTapRichText.italic.tooltip",
438
+ defaultMessage: "Italic"
439
+ }),
440
+ isActive: "italic",
441
+ onToggle: function onToggle() {
442
+ return editor.chain().focus().toggleItalic().run();
443
+ }
444
+ }), supports.includes("strike") && /*#__PURE__*/_jsx(ToolbarButton, {
445
+ editor: editor,
446
+ icon: RteStrikethrough,
447
+ tooltip: /*#__PURE__*/_jsx(FormattedMessage, {
448
+ id: "comet.blocks.tipTapRichText.strike.tooltip",
449
+ defaultMessage: "Strikethrough"
450
+ }),
451
+ isActive: "strike",
452
+ onToggle: function onToggle() {
453
+ return editor.chain().focus().toggleStrike().run();
454
+ }
455
+ }), moreOptions && /*#__PURE__*/_jsxs(_Fragment, {
456
+ children: [/*#__PURE__*/_jsx(Tooltip, {
457
+ title: /*#__PURE__*/_jsx(FormattedMessage, {
458
+ id: "comet.blocks.tipTapRichText.moreOptions.tooltip",
459
+ defaultMessage: "More options"
460
+ }),
461
+ children: /*#__PURE__*/_jsx(Box, {
462
+ component: "button",
463
+ type: "button",
464
+ onMouseDown: function onMouseDown(e) {
465
+ e.preventDefault();
466
+ setMoreAnchorEl(e.currentTarget);
467
+ },
468
+ sx: toolbarButtonSx,
469
+ children: /*#__PURE__*/_jsx(MoreHorizontal, {
470
+ sx: {
471
+ fontSize: 15
472
+ },
473
+ color: "inherit"
474
+ })
475
+ })
476
+ }), /*#__PURE__*/_jsxs(Menu, {
477
+ open: Boolean(moreAnchorEl),
478
+ anchorEl: moreAnchorEl,
479
+ onClose: handleMoreClose,
480
+ children: [supports.includes("sup") && /*#__PURE__*/_jsxs(MenuItem, {
481
+ selected: editor.isActive("superscript"),
482
+ onMouseDown: function onMouseDown(e) {
483
+ handleMoreClose();
484
+ e.persist();
485
+ setTimeout(function () {
486
+ return editor.chain().focus().toggleSuperscript().run();
487
+ }, 0);
488
+ },
489
+ children: [/*#__PURE__*/_jsx(FormattedMessage, {
490
+ id: "comet.blocks.tipTapRichText.superscript.label",
491
+ defaultMessage: "Superscript"
492
+ }), /*#__PURE__*/_jsx(ListItemIcon, {
493
+ sx: {
494
+ justifyContent: "flex-end"
495
+ },
496
+ children: /*#__PURE__*/_jsx(RteSup, {})
497
+ })]
498
+ }), supports.includes("sub") && /*#__PURE__*/_jsxs(MenuItem, {
499
+ selected: editor.isActive("subscript"),
500
+ onMouseDown: function onMouseDown(e) {
501
+ handleMoreClose();
502
+ e.persist();
503
+ setTimeout(function () {
504
+ return editor.chain().focus().toggleSubscript().run();
505
+ }, 0);
506
+ },
507
+ children: [/*#__PURE__*/_jsx(FormattedMessage, {
508
+ id: "comet.blocks.tipTapRichText.subscript.label",
509
+ defaultMessage: "Subscript"
510
+ }), /*#__PURE__*/_jsx(ListItemIcon, {
511
+ sx: {
512
+ justifyContent: "flex-end"
513
+ },
514
+ children: /*#__PURE__*/_jsx(RteSub, {})
515
+ })]
516
+ })]
517
+ })]
518
+ })]
519
+ }), lists && /*#__PURE__*/_jsxs(ToolbarGroup, {
520
+ children: [supports.includes("ordered-list") && /*#__PURE__*/_jsx(ToolbarButton, {
521
+ editor: editor,
522
+ icon: RteOl,
523
+ tooltip: /*#__PURE__*/_jsx(FormattedMessage, {
524
+ id: "comet.blocks.tipTapRichText.orderedList.tooltip",
525
+ defaultMessage: "Ordered list"
526
+ }),
527
+ isActive: "orderedList",
528
+ onToggle: function onToggle() {
529
+ return editor.chain().focus().toggleOrderedList().run();
530
+ }
531
+ }), supports.includes("unordered-list") && /*#__PURE__*/_jsx(ToolbarButton, {
532
+ editor: editor,
533
+ icon: RteUl,
534
+ tooltip: /*#__PURE__*/_jsx(FormattedMessage, {
535
+ id: "comet.blocks.tipTapRichText.bulletList.tooltip",
536
+ defaultMessage: "Bullet list"
537
+ }),
538
+ isActive: "bulletList",
539
+ onToggle: function onToggle() {
540
+ return editor.chain().focus().toggleBulletList().run();
541
+ }
542
+ }), /*#__PURE__*/_jsx(ToolbarButton, {
543
+ editor: editor,
544
+ icon: RteIndentIncrease,
545
+ tooltip: /*#__PURE__*/_jsx(FormattedMessage, {
546
+ id: "comet.blocks.tipTapRichText.indent.tooltip",
547
+ defaultMessage: "Increase indent"
548
+ }),
549
+ disabled: !editorState.canIndent,
550
+ onToggle: function onToggle() {
551
+ return editor.chain().focus().sinkListItem("listItem").run();
552
+ }
553
+ }), /*#__PURE__*/_jsx(ToolbarButton, {
554
+ editor: editor,
555
+ icon: RteIndentDecrease,
556
+ tooltip: /*#__PURE__*/_jsx(FormattedMessage, {
557
+ id: "comet.blocks.tipTapRichText.dedent.tooltip",
558
+ defaultMessage: "Decrease indent"
559
+ }),
560
+ disabled: !editorState.canDedent,
561
+ onToggle: function onToggle() {
562
+ return editor.chain().focus().liftListItem("listItem").run();
563
+ }
564
+ })]
565
+ }), specialChars && /*#__PURE__*/_jsxs(ToolbarGroup, {
566
+ children: [supports.includes("non-breaking-space") && /*#__PURE__*/_jsx(ToolbarButton, {
567
+ editor: editor,
568
+ icon: RteNonBreakingSpace,
569
+ tooltip: /*#__PURE__*/_jsx(FormattedMessage, {
570
+ id: "comet.blocks.tipTapRichText.nonBreakingSpace.tooltip",
571
+ defaultMessage: "Insert a non-breaking space"
572
+ }),
573
+ onToggle: function onToggle() {
574
+ return editor.chain().focus().insertContent({
575
+ type: "nonBreakingSpace"
576
+ }).run();
577
+ }
578
+ }), supports.includes("soft-hyphen") && /*#__PURE__*/_jsx(ToolbarButton, {
579
+ editor: editor,
580
+ icon: RteSoftHyphen,
581
+ tooltip: /*#__PURE__*/_jsx(FormattedMessage, {
582
+ id: "comet.blocks.tipTapRichText.softHyphen.tooltip",
583
+ defaultMessage: "Insert a soft hyphen"
584
+ }),
585
+ onToggle: function onToggle() {
586
+ return editor.chain().focus().insertContent({
587
+ type: "softHyphen"
588
+ }).run();
589
+ }
590
+ })]
591
+ }), hasPlaceholders && /*#__PURE__*/_jsxs(ToolbarGroup, {
592
+ children: [/*#__PURE__*/_jsx(Tooltip, {
593
+ title: /*#__PURE__*/_jsx(FormattedMessage, {
594
+ id: "comet.blocks.tipTapRichText.placeholder.tooltip",
595
+ defaultMessage: "Insert placeholder"
596
+ }),
597
+ children: /*#__PURE__*/_jsx(Box, {
598
+ component: "button",
599
+ type: "button",
600
+ "aria-label": intl.formatMessage({
601
+ id: "comet.blocks.tipTapRichText.placeholder.tooltip",
602
+ defaultMessage: "Insert placeholder"
603
+ }),
604
+ onMouseDown: function onMouseDown(e) {
605
+ e.preventDefault();
606
+ setPlaceholderAnchorEl(e.currentTarget);
607
+ },
608
+ sx: toolbarButtonSx,
609
+ children: /*#__PURE__*/_jsx(RteTextPlaceholder, {
610
+ sx: {
611
+ fontSize: 15
612
+ },
613
+ color: "inherit"
614
+ })
615
+ })
616
+ }), /*#__PURE__*/_jsx(Menu, {
617
+ open: Boolean(placeholderAnchorEl),
618
+ anchorEl: placeholderAnchorEl,
619
+ onClose: handlePlaceholderClose,
620
+ children: placeholders.map(function (placeholder) {
621
+ return /*#__PURE__*/_jsx(MenuItem, {
622
+ onMouseDown: function onMouseDown(e) {
623
+ handlePlaceholderClose();
624
+ e.persist();
625
+ setTimeout(function () {
626
+ return editor.chain().focus().insertPlaceholder(placeholder.name).run();
627
+ }, 0);
628
+ },
629
+ children: placeholder.label
630
+ }, placeholder.name);
631
+ })
632
+ })]
633
+ }), hasLink && linkBlock && /*#__PURE__*/_jsxs(ToolbarGroup, {
634
+ children: [/*#__PURE__*/_jsx(ToolbarButton, {
635
+ editor: editor,
636
+ icon: RteLink,
637
+ tooltip: /*#__PURE__*/_jsx(FormattedMessage, {
638
+ id: "comet.blocks.tipTapRichText.link.tooltip",
639
+ defaultMessage: "Link"
640
+ }),
641
+ isActive: "link",
642
+ disabled: editorState.selectionEmpty && !editorState.isLinkActive,
643
+ onToggle: function onToggle() {
644
+ return setLinkDialogOpen(true);
645
+ }
646
+ }), /*#__PURE__*/_jsx(ToolbarButton, {
647
+ editor: editor,
648
+ icon: RteClearLink,
649
+ tooltip: /*#__PURE__*/_jsx(FormattedMessage, {
650
+ id: "comet.blocks.tipTapRichText.removeLink.tooltip",
651
+ defaultMessage: "Remove link"
652
+ }),
653
+ disabled: !editorState.isLinkActive,
654
+ onToggle: function onToggle() {
655
+ return editor.chain().focus().extendMarkRange("link").unsetCmsLink().run();
656
+ }
657
+ })]
658
+ }), linkDialogOpen && linkBlock && /*#__PURE__*/_jsx(TipTapLinkDialog, {
659
+ editor: editor,
660
+ linkBlock: linkBlock,
661
+ onClose: function onClose() {
662
+ return setLinkDialogOpen(false);
663
+ }
664
+ })]
665
+ });
666
+ };