@instructure/canvas-rce 5.11.1 → 5.12.2

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 (505) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/babel-register.js +0 -7
  3. package/babel.config.cjs.js +0 -7
  4. package/babel.config.js +0 -9
  5. package/es/canvasFileBrowser/FileBrowser.js +6 -1
  6. package/es/common/fileUrl.js +3 -4
  7. package/es/defaultTinymceConfig.js +1 -1
  8. package/{lib/rce/plugins/instructure_rce_external_tools/lti13-content-items/Lti13ContentItemJson.js → es/elementDenylist.js} +2 -6
  9. package/es/enhance-user-content/doc_previews.js +4 -0
  10. package/es/enhance-user-content/enhance_user_content.js +4 -59
  11. package/es/enhance-user-content/external_links.js +75 -0
  12. package/es/enhance-user-content/mathml.js +9 -7
  13. package/es/getThemeVars.js +4 -3
  14. package/es/getTranslations.js +77 -1
  15. package/es/index.js +1 -1
  16. package/es/rce/RCEWrapper.js +5 -2328
  17. package/es/rce/StatusBar.js +8 -2
  18. package/es/rce/contentInsertion.js +5 -2
  19. package/es/rce/plugins/instructure_documents/components/DocumentsPanel.js +3 -9
  20. package/es/rce/plugins/instructure_equation/EquationEditorModal/index.js +1 -1
  21. package/es/rce/plugins/instructure_equation/EquationEditorModal/styles.js +3 -11
  22. package/es/rce/plugins/instructure_equation/mathlive/index.js +5 -13
  23. package/es/rce/plugins/instructure_html_view/plugin.js +2 -2
  24. package/es/rce/plugins/instructure_icon_maker/components/SavedIconMakerList.js +3 -2
  25. package/es/rce/plugins/instructure_image/ImageList/Image.js +2 -2
  26. package/es/rce/plugins/instructure_image/Images/index.js +3 -10
  27. package/es/rce/plugins/instructure_rce_external_tools/components/ExternalToolDialog/ExternalToolDialog.js +3 -0
  28. package/es/rce/plugins/instructure_rce_external_tools/lti13-content-items/models/ResourceLinkContentItem.js +3 -1
  29. package/es/rce/plugins/instructure_record/AudioOptionsTray/TrayController.js +26 -1
  30. package/es/rce/plugins/instructure_record/AudioOptionsTray/index.js +9 -3
  31. package/es/rce/plugins/instructure_record/MediaPanel/index.js +3 -9
  32. package/es/rce/plugins/instructure_record/VideoOptionsTray/TrayController.js +27 -2
  33. package/es/rce/plugins/instructure_record/VideoOptionsTray/index.js +35 -6
  34. package/es/rce/plugins/shared/fileShape.js +81 -9
  35. package/es/rce/plugins/shared/fileTypeUtils.js +6 -0
  36. package/es/rce/tinymce.oxide.content.min.css.js +732 -0
  37. package/es/rce/tinymce.oxide.skin.min.css.js +7 -0
  38. package/es/rcs/api.js +6 -4
  39. package/es/sidebar/store/configureStore.js +2 -2
  40. package/{lib/translations/locales/tg.js → es/translations/locales/ab.js} +1 -1
  41. package/es/translations/locales/cs.js +27 -0
  42. package/es/translations/locales/cs_CZ.js +27 -0
  43. package/{lib/translations/locales/sv_SE.js → es/translations/locales/da_DK.js} +2 -2
  44. package/{lib/translations/locales/se.js → es/translations/locales/en_NZ.js} +2 -2
  45. package/es/translations/locales/en_SE.js +26 -0
  46. package/es/translations/locales/en_US.js +26 -0
  47. package/es/translations/locales/hu_HU.js +27 -0
  48. package/{lib/translations/locales/ms.js → es/translations/locales/id.js} +632 -632
  49. package/{lib/translations/locales/th.js → es/translations/locales/id_ID.js} +1 -2
  50. package/{lib/translations/locales/vi_VN.js → es/translations/locales/ko_KR.js} +2 -2
  51. package/es/translations/locales/lt.js +26 -0
  52. package/es/translations/locales/lt_LT.js +26 -0
  53. package/es/translations/locales/mn_MN.js +26 -0
  54. package/es/translations/locales/nl_NL.js +27 -0
  55. package/{lib/translations/locales/es_GT.js → es/translations/locales/ro.js} +3 -3
  56. package/es/translations/locales/ru.js +2375 -32
  57. package/es/translations/locales/sv.js +2379 -30
  58. package/es/translations/locales/th.js +2401 -1
  59. package/es/translations/locales/tl_PH.js +26 -0
  60. package/es/translations/locales/tr.js +3 -0
  61. package/es/translations/locales/vi.js +2396 -8
  62. package/es/translations/locales/zh_TW.Big5.js +27 -0
  63. package/{lib/translations/locales/th_TH.js → es/translations/locales/zh_TW.js} +2 -2
  64. package/jest.config.js +0 -7
  65. package/package.json +9 -11
  66. package/scripts/build.js +1 -7
  67. package/scripts/publish_to_npm.sh +26 -0
  68. package/canvas/README.md +0 -84
  69. package/canvas/locales/en.json +0 -934
  70. package/canvas/package.json +0 -189
  71. package/es/common/scroll.js +0 -45
  72. package/es/types/inst-ui.d.js +0 -18
  73. package/es/types/ts-migration.js +0 -1
  74. package/lib/bridge/Bridge.js +0 -287
  75. package/lib/bridge/index.js +0 -21
  76. package/lib/canvasFileBrowser/FileBrowser.js +0 -452
  77. package/lib/canvasFileBrowser/en-US.js +0 -234
  78. package/lib/common/FlashAlert.js +0 -263
  79. package/lib/common/browser.js +0 -40
  80. package/lib/common/components/FileTree/File.js +0 -64
  81. package/lib/common/components/FileTree/Folder.js +0 -110
  82. package/lib/common/components/FileTree/index.js +0 -84
  83. package/lib/common/components/FileTree/styles.js +0 -72
  84. package/lib/common/components/Loading.js +0 -83
  85. package/lib/common/fileUrl.js +0 -153
  86. package/lib/common/getCookie.js +0 -32
  87. package/lib/common/incremental-loading/LoadMoreButton.js +0 -40
  88. package/lib/common/incremental-loading/LoadingIndicator.js +0 -36
  89. package/lib/common/incremental-loading/LoadingStatus.js +0 -47
  90. package/lib/common/incremental-loading/index.js +0 -21
  91. package/lib/common/incremental-loading/useIncrementalLoading.js +0 -58
  92. package/lib/common/indicate.js +0 -75
  93. package/lib/common/mimeClass.js +0 -120
  94. package/lib/common/natcompare.js +0 -47
  95. package/lib/common/scroll.js +0 -45
  96. package/lib/defaultTinymceConfig.js +0 -160
  97. package/lib/enhance-user-content/doc_previews.js +0 -233
  98. package/lib/enhance-user-content/enhance_user_content.js +0 -396
  99. package/lib/enhance-user-content/index.js +0 -21
  100. package/lib/enhance-user-content/instructure_helper.js +0 -207
  101. package/lib/enhance-user-content/jqueryish_funcs.js +0 -88
  102. package/lib/enhance-user-content/mathml.js +0 -397
  103. package/lib/enhance-user-content/media_comment_thumbnail.js +0 -130
  104. package/lib/format-message.js +0 -30
  105. package/lib/getThemeVars.js +0 -45
  106. package/lib/getTranslations.js +0 -264
  107. package/lib/index.js +0 -51
  108. package/lib/rce/AlertMessageArea.js +0 -47
  109. package/lib/rce/DraggingBlocker.js +0 -43
  110. package/lib/rce/KeyboardShortcutModal.js +0 -88
  111. package/lib/rce/RCE.js +0 -150
  112. package/lib/rce/RCEGlobals.js +0 -62
  113. package/lib/rce/RCEWrapper.js +0 -4278
  114. package/lib/rce/RCEWrapperProps.js +0 -130
  115. package/lib/rce/RceHtmlEditor.js +0 -142
  116. package/lib/rce/ResizeHandle.js +0 -102
  117. package/lib/rce/RestoreAutoSaveModal.js +0 -82
  118. package/lib/rce/ShowOnFocusButton/index.js +0 -93
  119. package/lib/rce/StatusBar.js +0 -380
  120. package/lib/rce/__mocks__/_mockCryptoEs.js +0 -124
  121. package/lib/rce/__mocks__/styleMock.js +0 -18
  122. package/lib/rce/__mocks__/tinymceReact.js +0 -55
  123. package/lib/rce/alertHandler.js +0 -46
  124. package/lib/rce/contentInsertion.js +0 -322
  125. package/lib/rce/contentInsertionUtils.js +0 -85
  126. package/lib/rce/contentRendering.js +0 -145
  127. package/lib/rce/customEvents.js +0 -18
  128. package/lib/rce/editorLanguage.js +0 -101
  129. package/lib/rce/indicatorRegion.js +0 -49
  130. package/lib/rce/normalizeLocale.js +0 -50
  131. package/lib/rce/normalizeProps.js +0 -29
  132. package/lib/rce/plugins/instructure-ui-icons/plugin.js +0 -122
  133. package/lib/rce/plugins/instructure_condensed_buttons/core/ListUtils.js +0 -24
  134. package/lib/rce/plugins/instructure_condensed_buttons/plugin.js +0 -27
  135. package/lib/rce/plugins/instructure_condensed_buttons/ui/alignment-button.js +0 -63
  136. package/lib/rce/plugins/instructure_condensed_buttons/ui/directionality-button.js +0 -48
  137. package/lib/rce/plugins/instructure_condensed_buttons/ui/indent-outdent-button.js +0 -41
  138. package/lib/rce/plugins/instructure_condensed_buttons/ui/list-button.js +0 -145
  139. package/lib/rce/plugins/instructure_condensed_buttons/ui/subscript-superscript-button.js +0 -56
  140. package/lib/rce/plugins/instructure_documents/clickCallback.js +0 -23
  141. package/lib/rce/plugins/instructure_documents/components/DocumentsPanel.js +0 -126
  142. package/lib/rce/plugins/instructure_documents/components/Link.js +0 -219
  143. package/lib/rce/plugins/instructure_documents/plugin.js +0 -123
  144. package/lib/rce/plugins/instructure_equation/EquationEditorModal/advancedOnlySyntax.js +0 -25
  145. package/lib/rce/plugins/instructure_equation/EquationEditorModal/advancedPreference.js +0 -51
  146. package/lib/rce/plugins/instructure_equation/EquationEditorModal/index.js +0 -321
  147. package/lib/rce/plugins/instructure_equation/EquationEditorModal/latexTextareaUtil.js +0 -116
  148. package/lib/rce/plugins/instructure_equation/EquationEditorModal/parseLatex.js +0 -91
  149. package/lib/rce/plugins/instructure_equation/EquationEditorModal/styles.js +0 -46
  150. package/lib/rce/plugins/instructure_equation/EquationEditorToolbar/buttons.js +0 -728
  151. package/lib/rce/plugins/instructure_equation/EquationEditorToolbar/index.js +0 -84
  152. package/lib/rce/plugins/instructure_equation/MathIcon/index.js +0 -41
  153. package/lib/rce/plugins/instructure_equation/MathIcon/svgs.js +0 -236
  154. package/lib/rce/plugins/instructure_equation/clickCallback.js +0 -53
  155. package/lib/rce/plugins/instructure_equation/mathlive/index.js +0 -36
  156. package/lib/rce/plugins/instructure_equation/plugin.js +0 -69
  157. package/lib/rce/plugins/instructure_fullscreen/plugin.js +0 -50
  158. package/lib/rce/plugins/instructure_html_view/clickCallback.js +0 -21
  159. package/lib/rce/plugins/instructure_html_view/plugin.js +0 -37
  160. package/lib/rce/plugins/instructure_icon_maker/clickCallback.js +0 -57
  161. package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ColorSection.js +0 -82
  162. package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/CreateIconMakerForm.js +0 -56
  163. package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Footer.js +0 -78
  164. package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Group.js +0 -36
  165. package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Header.js +0 -110
  166. package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/Course.js +0 -169
  167. package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/ImageOptions.js +0 -186
  168. package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/ImageSection.js +0 -243
  169. package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/ModeSelect.js +0 -64
  170. package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/MultiColor/index.js +0 -73
  171. package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/MultiColor/svg.js +0 -298
  172. package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/SVGList.js +0 -86
  173. package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/SVGThumbnail.js +0 -55
  174. package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/SingleColor/index.js +0 -70
  175. package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/SingleColor/svg.js +0 -317
  176. package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/Upload.js +0 -149
  177. package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/index.js +0 -18
  178. package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/propTypes.js +0 -32
  179. package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/utils.js +0 -25
  180. package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Preview.js +0 -60
  181. package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ShapeSection.js +0 -87
  182. package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/TextSection.js +0 -139
  183. package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/index.js +0 -18
  184. package/lib/rce/plugins/instructure_icon_maker/components/IconMakerTray.js +0 -323
  185. package/lib/rce/plugins/instructure_icon_maker/components/SavedIconMakerList.js +0 -90
  186. package/lib/rce/plugins/instructure_icon_maker/plugin.js +0 -110
  187. package/lib/rce/plugins/instructure_icon_maker/reducers/imageSection.js +0 -194
  188. package/lib/rce/plugins/instructure_icon_maker/reducers/svgSettings.js +0 -98
  189. package/lib/rce/plugins/instructure_icon_maker/registerEditToolbar.js +0 -56
  190. package/lib/rce/plugins/instructure_icon_maker/svg/clipPath.js +0 -25
  191. package/lib/rce/plugins/instructure_icon_maker/svg/constants.js +0 -100
  192. package/lib/rce/plugins/instructure_icon_maker/svg/font.js +0 -25
  193. package/lib/rce/plugins/instructure_icon_maker/svg/image.js +0 -354
  194. package/lib/rce/plugins/instructure_icon_maker/svg/index.js +0 -122
  195. package/lib/rce/plugins/instructure_icon_maker/svg/metadata.js +0 -48
  196. package/lib/rce/plugins/instructure_icon_maker/svg/settings.js +0 -179
  197. package/lib/rce/plugins/instructure_icon_maker/svg/shape.js +0 -316
  198. package/lib/rce/plugins/instructure_icon_maker/svg/text.js +0 -468
  199. package/lib/rce/plugins/instructure_icon_maker/svg/utils.js +0 -70
  200. package/lib/rce/plugins/instructure_icon_maker/utils/IconMakerClose.js +0 -45
  201. package/lib/rce/plugins/instructure_icon_maker/utils/IconMakerFormHasChanges.js +0 -83
  202. package/lib/rce/plugins/instructure_icon_maker/utils/addIconMakerAttributes.js +0 -28
  203. package/lib/rce/plugins/instructure_icon_maker/utils/iconValidation.js +0 -35
  204. package/lib/rce/plugins/instructure_icon_maker/utils/iconsLabels.js +0 -375
  205. package/lib/rce/plugins/instructure_icon_maker/utils/useDebouncedValue.js +0 -59
  206. package/lib/rce/plugins/instructure_image/ImageEmbedOptions.js +0 -202
  207. package/lib/rce/plugins/instructure_image/ImageList/Image.js +0 -106
  208. package/lib/rce/plugins/instructure_image/ImageList/index.js +0 -69
  209. package/lib/rce/plugins/instructure_image/ImageOptionsTray/TrayController.js +0 -166
  210. package/lib/rce/plugins/instructure_image/ImageOptionsTray/index.js +0 -246
  211. package/lib/rce/plugins/instructure_image/Images/index.js +0 -129
  212. package/lib/rce/plugins/instructure_image/clickCallback.js +0 -24
  213. package/lib/rce/plugins/instructure_image/plugin.js +0 -157
  214. package/lib/rce/plugins/instructure_links/clickCallback.js +0 -22
  215. package/lib/rce/plugins/instructure_links/components/AccordionSection.js +0 -60
  216. package/lib/rce/plugins/instructure_links/components/CollectionPanel.js +0 -84
  217. package/lib/rce/plugins/instructure_links/components/Link.js +0 -213
  218. package/lib/rce/plugins/instructure_links/components/LinkOptionsDialog/LinkOptionsDialogController.js +0 -127
  219. package/lib/rce/plugins/instructure_links/components/LinkOptionsDialog/index.js +0 -141
  220. package/lib/rce/plugins/instructure_links/components/LinkOptionsTray/LinkOptionsTrayController.js +0 -125
  221. package/lib/rce/plugins/instructure_links/components/LinkOptionsTray/index.js +0 -245
  222. package/lib/rce/plugins/instructure_links/components/LinkSet.js +0 -195
  223. package/lib/rce/plugins/instructure_links/components/LinksPanel.js +0 -100
  224. package/lib/rce/plugins/instructure_links/components/NavigationPanel.js +0 -141
  225. package/lib/rce/plugins/instructure_links/components/NoResults.js +0 -87
  226. package/lib/rce/plugins/instructure_links/components/propTypes.js +0 -41
  227. package/lib/rce/plugins/instructure_links/plugin.js +0 -294
  228. package/lib/rce/plugins/instructure_links/validateURL.js +0 -70
  229. package/lib/rce/plugins/instructure_media_embed/clickCallback.js +0 -48
  230. package/lib/rce/plugins/instructure_media_embed/components/Embed.js +0 -68
  231. package/lib/rce/plugins/instructure_media_embed/plugin.js +0 -36
  232. package/lib/rce/plugins/instructure_paste/pasteMenuCommand.js +0 -117
  233. package/lib/rce/plugins/instructure_paste/plugin.js +0 -174
  234. package/lib/rce/plugins/instructure_rce_external_tools/ExternalToolsEnv.js +0 -169
  235. package/lib/rce/plugins/instructure_rce_external_tools/RceToolWrapper.js +0 -225
  236. package/lib/rce/plugins/instructure_rce_external_tools/components/ExternalToolDialog/ExternalToolDialog.js +0 -294
  237. package/lib/rce/plugins/instructure_rce_external_tools/components/ExternalToolDialog/ExternalToolDialogModal.js +0 -46
  238. package/lib/rce/plugins/instructure_rce_external_tools/components/ExternalToolDialog/ExternalToolDialogTray.js +0 -79
  239. package/lib/rce/plugins/instructure_rce_external_tools/components/ExternalToolSelectionDialog/ExternalToolSelectionDialog.js +0 -153
  240. package/lib/rce/plugins/instructure_rce_external_tools/components/ExternalToolSelectionDialog/ExternalToolSelectionItem.js +0 -94
  241. package/lib/rce/plugins/instructure_rce_external_tools/components/util/ExpandoText.js +0 -90
  242. package/lib/rce/plugins/instructure_rce_external_tools/components/util/ToolLaunchIframe.js +0 -35
  243. package/lib/rce/plugins/instructure_rce_external_tools/dialog-helper.js +0 -29
  244. package/lib/rce/plugins/instructure_rce_external_tools/helpers/tags.js +0 -55
  245. package/lib/rce/plugins/instructure_rce_external_tools/jquery/jquery.dropdownList.js +0 -172
  246. package/lib/rce/plugins/instructure_rce_external_tools/lti11-content-items/RceLti11ContentItem.js +0 -203
  247. package/lib/rce/plugins/instructure_rce_external_tools/lti13-content-items/RceLti13ContentItem.js +0 -111
  248. package/lib/rce/plugins/instructure_rce_external_tools/lti13-content-items/models/BaseLinkContentItem.js +0 -79
  249. package/lib/rce/plugins/instructure_rce_external_tools/lti13-content-items/models/HtmlFragmentContentItem.js +0 -47
  250. package/lib/rce/plugins/instructure_rce_external_tools/lti13-content-items/models/ImageContentItem.js +0 -57
  251. package/lib/rce/plugins/instructure_rce_external_tools/lti13-content-items/models/LinkContentItem.js +0 -26
  252. package/lib/rce/plugins/instructure_rce_external_tools/lti13-content-items/models/ResourceLinkContentItem.js +0 -45
  253. package/lib/rce/plugins/instructure_rce_external_tools/lti13-content-items/processEditorContentItems.js +0 -67
  254. package/lib/rce/plugins/instructure_rce_external_tools/lti13-content-items/rceLti13ContentItemFromJson.js +0 -48
  255. package/lib/rce/plugins/instructure_rce_external_tools/plugin.js +0 -112
  256. package/lib/rce/plugins/instructure_rce_external_tools/util/addParentFrameContextToUrl.js +0 -27
  257. package/lib/rce/plugins/instructure_record/AudioOptionsTray/TrayController.js +0 -127
  258. package/lib/rce/plugins/instructure_record/AudioOptionsTray/index.js +0 -148
  259. package/lib/rce/plugins/instructure_record/MediaPanel/index.js +0 -129
  260. package/lib/rce/plugins/instructure_record/VideoOptionsTray/TrayController.js +0 -215
  261. package/lib/rce/plugins/instructure_record/VideoOptionsTray/index.js +0 -321
  262. package/lib/rce/plugins/instructure_record/clickCallback.js +0 -105
  263. package/lib/rce/plugins/instructure_record/mediaTranslations.js +0 -94
  264. package/lib/rce/plugins/instructure_record/plugin.js +0 -173
  265. package/lib/rce/plugins/instructure_studio_media_options/plugin.js +0 -42
  266. package/lib/rce/plugins/instructure_wordcount/clickCallback.js +0 -49
  267. package/lib/rce/plugins/instructure_wordcount/components/WordCountModal.js +0 -88
  268. package/lib/rce/plugins/instructure_wordcount/plugin.js +0 -30
  269. package/lib/rce/plugins/instructure_wordcount/utils/countContent.js +0 -78
  270. package/lib/rce/plugins/instructure_wordcount/utils/tableContent.js +0 -40
  271. package/lib/rce/plugins/shared/CanvasContentTray.js +0 -580
  272. package/lib/rce/plugins/shared/CheckerboardStyling.js +0 -25
  273. package/lib/rce/plugins/shared/ColorInput.js +0 -233
  274. package/lib/rce/plugins/shared/ConditionalTooltip.js +0 -32
  275. package/lib/rce/plugins/shared/ContentSelection.js +0 -269
  276. package/lib/rce/plugins/shared/DimensionUtils.js +0 -66
  277. package/lib/rce/plugins/shared/DimensionsInput/DimensionInput.js +0 -62
  278. package/lib/rce/plugins/shared/DimensionsInput/index.js +0 -161
  279. package/lib/rce/plugins/shared/DimensionsInput/useDimensionsState.js +0 -220
  280. package/lib/rce/plugins/shared/ErrorBoundary.js +0 -54
  281. package/lib/rce/plugins/shared/EventUtils.js +0 -39
  282. package/lib/rce/plugins/shared/Filter.js +0 -353
  283. package/lib/rce/plugins/shared/FixedContentTray.js +0 -115
  284. package/lib/rce/plugins/shared/ImageCropper/DirectionRegion.js +0 -67
  285. package/lib/rce/plugins/shared/ImageCropper/Modal.js +0 -153
  286. package/lib/rce/plugins/shared/ImageCropper/Preview.js +0 -148
  287. package/lib/rce/plugins/shared/ImageCropper/constants.js +0 -39
  288. package/lib/rce/plugins/shared/ImageCropper/controls/CustomNumberInput.js +0 -83
  289. package/lib/rce/plugins/shared/ImageCropper/controls/ResetControls.js +0 -38
  290. package/lib/rce/plugins/shared/ImageCropper/controls/RotationControls.js +0 -89
  291. package/lib/rce/plugins/shared/ImageCropper/controls/ShapeControls.js +0 -82
  292. package/lib/rce/plugins/shared/ImageCropper/controls/ZoomControls.js +0 -111
  293. package/lib/rce/plugins/shared/ImageCropper/controls/index.js +0 -61
  294. package/lib/rce/plugins/shared/ImageCropper/controls/useDebouncedNumericValue.js +0 -94
  295. package/lib/rce/plugins/shared/ImageCropper/controls/utils.js +0 -41
  296. package/lib/rce/plugins/shared/ImageCropper/imageCropUtils.js +0 -149
  297. package/lib/rce/plugins/shared/ImageCropper/index.js +0 -18
  298. package/lib/rce/plugins/shared/ImageCropper/propTypes.js +0 -26
  299. package/lib/rce/plugins/shared/ImageCropper/reducers/imageCropper.js +0 -72
  300. package/lib/rce/plugins/shared/ImageCropper/shape.js +0 -27
  301. package/lib/rce/plugins/shared/ImageCropper/svg/index.js +0 -89
  302. package/lib/rce/plugins/shared/ImageCropper/svg/shape.js +0 -125
  303. package/lib/rce/plugins/shared/ImageCropper/svg/utils.js +0 -26
  304. package/lib/rce/plugins/shared/ImageCropper/useKeyMouseEvents.js +0 -233
  305. package/lib/rce/plugins/shared/ImageCropper/useMouseWheel.js +0 -66
  306. package/lib/rce/plugins/shared/ImageOptionsForm.js +0 -140
  307. package/lib/rce/plugins/shared/LinkDisplay.js +0 -96
  308. package/lib/rce/plugins/shared/PreviewIcon.js +0 -112
  309. package/lib/rce/plugins/shared/Previewable.js +0 -22
  310. package/lib/rce/plugins/shared/RceFileBrowser.js +0 -106
  311. package/lib/rce/plugins/shared/StoreContext.js +0 -57
  312. package/lib/rce/plugins/shared/StudioLtiSupportUtils.js +0 -71
  313. package/lib/rce/plugins/shared/UnknownFileTypePanel.js +0 -29
  314. package/lib/rce/plugins/shared/Upload/CategoryProcessor.js +0 -27
  315. package/lib/rce/plugins/shared/Upload/ComputerPanel.js +0 -334
  316. package/lib/rce/plugins/shared/Upload/SvgCategoryProcessor.js +0 -35
  317. package/lib/rce/plugins/shared/Upload/UploadFile.js +0 -171
  318. package/lib/rce/plugins/shared/Upload/UploadFileModal.js +0 -273
  319. package/lib/rce/plugins/shared/Upload/UrlPanel.js +0 -38
  320. package/lib/rce/plugins/shared/Upload/UsageRightsSelectBox.js +0 -172
  321. package/lib/rce/plugins/shared/Upload/doFileUpload.js +0 -77
  322. package/lib/rce/plugins/shared/__mocks__/screenfull.js +0 -24
  323. package/lib/rce/plugins/shared/buildDownloadUrl.js +0 -31
  324. package/lib/rce/plugins/shared/compressionUtils.js +0 -98
  325. package/lib/rce/plugins/shared/dateUtils.js +0 -28
  326. package/lib/rce/plugins/shared/fileShape.js +0 -57
  327. package/lib/rce/plugins/shared/fileTypeUtils.js +0 -133
  328. package/lib/rce/plugins/shared/fileUtils.js +0 -25
  329. package/lib/rce/plugins/shared/linkUtils.js +0 -89
  330. package/lib/rce/plugins/shared/round.js +0 -25
  331. package/lib/rce/plugins/shared/trayUtils.js +0 -34
  332. package/lib/rce/plugins/shared/useDataUrl.js +0 -76
  333. package/lib/rce/plugins/tinymce-a11y-checker/components/ColorField.js +0 -86
  334. package/lib/rce/plugins/tinymce-a11y-checker/components/checker.js +0 -558
  335. package/lib/rce/plugins/tinymce-a11y-checker/components/color-picker.js +0 -59
  336. package/lib/rce/plugins/tinymce-a11y-checker/components/placeholder-svg.js +0 -90
  337. package/lib/rce/plugins/tinymce-a11y-checker/components/pointer.js +0 -32
  338. package/lib/rce/plugins/tinymce-a11y-checker/node-checker.js +0 -54
  339. package/lib/rce/plugins/tinymce-a11y-checker/plugin.js +0 -90
  340. package/lib/rce/plugins/tinymce-a11y-checker/rules/__mocks__/index.js +0 -53
  341. package/lib/rce/plugins/tinymce-a11y-checker/rules/adjacent-links.js +0 -129
  342. package/lib/rce/plugins/tinymce-a11y-checker/rules/headings-sequence.js +0 -200
  343. package/lib/rce/plugins/tinymce-a11y-checker/rules/headings-start-at-h2.js +0 -67
  344. package/lib/rce/plugins/tinymce-a11y-checker/rules/img-alt-filename.js +0 -63
  345. package/lib/rce/plugins/tinymce-a11y-checker/rules/img-alt-length.js +0 -49
  346. package/lib/rce/plugins/tinymce-a11y-checker/rules/img-alt.js +0 -61
  347. package/lib/rce/plugins/tinymce-a11y-checker/rules/index.js +0 -31
  348. package/lib/rce/plugins/tinymce-a11y-checker/rules/large-text-contrast.js +0 -51
  349. package/lib/rce/plugins/tinymce-a11y-checker/rules/list-structure.js +0 -144
  350. package/lib/rce/plugins/tinymce-a11y-checker/rules/paragraphs-for-headings.js +0 -61
  351. package/lib/rce/plugins/tinymce-a11y-checker/rules/small-text-contrast.js +0 -75
  352. package/lib/rce/plugins/tinymce-a11y-checker/rules/table-caption.js +0 -54
  353. package/lib/rce/plugins/tinymce-a11y-checker/rules/table-header-scope.js +0 -52
  354. package/lib/rce/plugins/tinymce-a11y-checker/rules/table-header.js +0 -81
  355. package/lib/rce/plugins/tinymce-a11y-checker/utils/colors.js +0 -43
  356. package/lib/rce/plugins/tinymce-a11y-checker/utils/describe.js +0 -66
  357. package/lib/rce/plugins/tinymce-a11y-checker/utils/dom.js +0 -160
  358. package/lib/rce/plugins/tinymce-a11y-checker/utils/indicate.js +0 -83
  359. package/lib/rce/plugins/tinymce-a11y-checker/utils/rgb-hex.js +0 -57
  360. package/lib/rce/plugins/tinymce-a11y-checker/utils/strings.js +0 -40
  361. package/lib/rce/root.js +0 -58
  362. package/lib/rce/sanitizePlugins.js +0 -32
  363. package/lib/rce/style.js +0 -843
  364. package/lib/rce/tinyRCE.js +0 -66
  365. package/lib/rce/transformContent.js +0 -73
  366. package/lib/rce/userOS.js +0 -31
  367. package/lib/rce/wrapInitCb.js +0 -78
  368. package/lib/rcs/api.js +0 -670
  369. package/lib/rcs/buildError.js +0 -98
  370. package/lib/rcs/fake.js +0 -621
  371. package/lib/sidebar/actions/all_files.js +0 -29
  372. package/lib/sidebar/actions/data.js +0 -105
  373. package/lib/sidebar/actions/documents.js +0 -107
  374. package/lib/sidebar/actions/files.js +0 -167
  375. package/lib/sidebar/actions/filter.js +0 -63
  376. package/lib/sidebar/actions/flickr.js +0 -60
  377. package/lib/sidebar/actions/images.js +0 -153
  378. package/lib/sidebar/actions/links.js +0 -23
  379. package/lib/sidebar/actions/media.js +0 -142
  380. package/lib/sidebar/actions/session.js +0 -34
  381. package/lib/sidebar/actions/ui.js +0 -49
  382. package/lib/sidebar/actions/upload.js +0 -550
  383. package/lib/sidebar/containers/Sidebar.js +0 -67
  384. package/lib/sidebar/containers/sidebarHandlers.js +0 -73
  385. package/lib/sidebar/dragHtml.js +0 -49
  386. package/lib/sidebar/reducers/all_files.js +0 -35
  387. package/lib/sidebar/reducers/collection.js +0 -72
  388. package/lib/sidebar/reducers/collections.js +0 -52
  389. package/lib/sidebar/reducers/documents.js +0 -89
  390. package/lib/sidebar/reducers/files.js +0 -38
  391. package/lib/sidebar/reducers/filter.js +0 -61
  392. package/lib/sidebar/reducers/flickr.js +0 -51
  393. package/lib/sidebar/reducers/folder.js +0 -92
  394. package/lib/sidebar/reducers/folders.js +0 -39
  395. package/lib/sidebar/reducers/images.js +0 -115
  396. package/lib/sidebar/reducers/index.js +0 -57
  397. package/lib/sidebar/reducers/media.js +0 -84
  398. package/lib/sidebar/reducers/newPageLinkExpanded.js +0 -30
  399. package/lib/sidebar/reducers/noop.js +0 -21
  400. package/lib/sidebar/reducers/rootFolderId.js +0 -30
  401. package/lib/sidebar/reducers/session.js +0 -33
  402. package/lib/sidebar/reducers/ui.js +0 -87
  403. package/lib/sidebar/reducers/upload.js +0 -206
  404. package/lib/sidebar/store/configureStore.js +0 -26
  405. package/lib/sidebar/store/initialState.js +0 -173
  406. package/lib/translations/locales/ar.js +0 -2427
  407. package/lib/translations/locales/ca.js +0 -2427
  408. package/lib/translations/locales/cy.js +0 -2427
  409. package/lib/translations/locales/da-x-k12.js +0 -2427
  410. package/lib/translations/locales/da.js +0 -2427
  411. package/lib/translations/locales/de.js +0 -2427
  412. package/lib/translations/locales/el.js +0 -459
  413. package/lib/translations/locales/en-AU-x-unimelb.js +0 -2427
  414. package/lib/translations/locales/en-GB-x-ukhe.js +0 -2427
  415. package/lib/translations/locales/en.js +0 -2427
  416. package/lib/translations/locales/en_AU.js +0 -2427
  417. package/lib/translations/locales/en_CA.js +0 -2426
  418. package/lib/translations/locales/en_CY.js +0 -2426
  419. package/lib/translations/locales/en_GB.js +0 -2427
  420. package/lib/translations/locales/es.js +0 -2427
  421. package/lib/translations/locales/es_ES.js +0 -2427
  422. package/lib/translations/locales/fa_IR.js +0 -615
  423. package/lib/translations/locales/fi.js +0 -2427
  424. package/lib/translations/locales/fr.js +0 -2427
  425. package/lib/translations/locales/fr_CA.js +0 -2427
  426. package/lib/translations/locales/he.js +0 -486
  427. package/lib/translations/locales/ht.js +0 -2426
  428. package/lib/translations/locales/hu.js +0 -2007
  429. package/lib/translations/locales/hy.js +0 -444
  430. package/lib/translations/locales/is.js +0 -2426
  431. package/lib/translations/locales/it.js +0 -2427
  432. package/lib/translations/locales/ja.js +0 -2427
  433. package/lib/translations/locales/ko.js +0 -342
  434. package/lib/translations/locales/mi.js +0 -2426
  435. package/lib/translations/locales/nb-x-k12.js +0 -2427
  436. package/lib/translations/locales/nb.js +0 -2427
  437. package/lib/translations/locales/nl.js +0 -2427
  438. package/lib/translations/locales/nn.js +0 -2247
  439. package/lib/translations/locales/pl.js +0 -2427
  440. package/lib/translations/locales/pt.js +0 -2427
  441. package/lib/translations/locales/pt_BR.js +0 -2427
  442. package/lib/translations/locales/ru.js +0 -84
  443. package/lib/translations/locales/sl.js +0 -2427
  444. package/lib/translations/locales/sv-x-k12.js +0 -2427
  445. package/lib/translations/locales/sv.js +0 -78
  446. package/lib/translations/locales/tr.js +0 -684
  447. package/lib/translations/locales/uk_UA.js +0 -519
  448. package/lib/translations/locales/vi.js +0 -39
  449. package/lib/translations/locales/zh-Hans.js +0 -2427
  450. package/lib/translations/locales/zh-Hant.js +0 -2427
  451. package/lib/translations/locales/zh.js +0 -2427
  452. package/lib/translations/locales/zh_HK.js +0 -2427
  453. package/lib/translations/tinymce/ar_SA.js +0 -211
  454. package/lib/translations/tinymce/bg_BG.js +0 -419
  455. package/lib/translations/tinymce/ca.js +0 -419
  456. package/lib/translations/tinymce/cs.js +0 -419
  457. package/lib/translations/tinymce/cy.js +0 -418
  458. package/lib/translations/tinymce/da.js +0 -419
  459. package/lib/translations/tinymce/de.js +0 -419
  460. package/lib/translations/tinymce/el.js +0 -261
  461. package/lib/translations/tinymce/en_GB.js +0 -230
  462. package/lib/translations/tinymce/es.js +0 -419
  463. package/lib/translations/tinymce/fa_IR.js +0 -390
  464. package/lib/translations/tinymce/fi.js +0 -19
  465. package/lib/translations/tinymce/fr_FR.js +0 -419
  466. package/lib/translations/tinymce/he_IL.js +0 -420
  467. package/lib/translations/tinymce/hu_HU.js +0 -419
  468. package/lib/translations/tinymce/hy.js +0 -419
  469. package/lib/translations/tinymce/it.js +0 -419
  470. package/lib/translations/tinymce/ja.js +0 -419
  471. package/lib/translations/tinymce/ko_KR.js +0 -419
  472. package/lib/translations/tinymce/nb_NO.js +0 -419
  473. package/lib/translations/tinymce/nl.js +0 -419
  474. package/lib/translations/tinymce/pl.js +0 -419
  475. package/lib/translations/tinymce/pt_BR.js +0 -419
  476. package/lib/translations/tinymce/pt_PT.js +0 -419
  477. package/lib/translations/tinymce/ro.js +0 -418
  478. package/lib/translations/tinymce/ru.js +0 -436
  479. package/lib/translations/tinymce/ru_RU.js +0 -71
  480. package/lib/translations/tinymce/sl.js +0 -462
  481. package/lib/translations/tinymce/sr.js +0 -278
  482. package/lib/translations/tinymce/sv_SE.js +0 -419
  483. package/lib/translations/tinymce/th.js +0 -479
  484. package/lib/translations/tinymce/tr_TR.js +0 -389
  485. package/lib/translations/tinymce/uk_UA.js +0 -278
  486. package/lib/translations/tinymce/vi_VN.js +0 -277
  487. package/lib/translations/tinymce/zh_CN.js +0 -419
  488. package/lib/translations/tinymce/zh_TW.js +0 -419
  489. package/lib/types/inst-ui.d.js +0 -18
  490. package/lib/types/ts-migration.js +0 -1
  491. package/lib/util/DeepPartialNullable.js +0 -1
  492. package/lib/util/ExtractRequired.js +0 -1
  493. package/lib/util/TypedDict.js +0 -131
  494. package/lib/util/assertNever.js +0 -44
  495. package/lib/util/elem-util.js +0 -26
  496. package/lib/util/encrypted-storage.js +0 -84
  497. package/lib/util/file-url-util.js +0 -44
  498. package/lib/util/fullscreenHelpers.js +0 -27
  499. package/lib/util/instui-icon-helper.js +0 -31
  500. package/lib/util/loadingPlaceholder.js +0 -436
  501. package/lib/util/simpleCache.js +0 -41
  502. package/lib/util/string-util.js +0 -48
  503. package/lib/util/textarea-editing-util.js +0 -87
  504. package/lib/util/tinymce-plugin-util.js +0 -52
  505. package/lib/util/url-util.js +0 -138
@@ -1,49 +0,0 @@
1
- /*
2
- * Copyright (C) 2018 - present Instructure, Inc.
3
- *
4
- * This file is part of Canvas.
5
- *
6
- * Canvas is free software: you can redistribute it and/or modify it under
7
- * the terms of the GNU Affero General Public License as published by the Free
8
- * Software Foundation, version 3 of the License.
9
- *
10
- * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
11
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
12
- * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
13
- * details.
14
- *
15
- * You should have received a copy of the GNU Affero General Public License along
16
- * with this program. If not, see <http://www.gnu.org/licenses/>.
17
- */
18
- import offset from 'bloody-offset'; // the editor's iframe
19
-
20
- function editorIframe(editor) {
21
- return editor.getContainer().querySelector('iframe');
22
- }
23
-
24
- function box(el) {
25
- const b = el.getBoundingClientRect();
26
- return {
27
- top: b.top,
28
- left: b.left,
29
- width: b.right - b.left,
30
- height: b.bottom - b.top
31
- };
32
- } //
33
- // the shape of the target's sillhouette on the editor's container. have to
34
- // subtract out the iframe's scroll since the target's position is relative to
35
- // the iframe's _document_, not its visible window.
36
-
37
-
38
- export default function indicatorRegion(editor, target) {
39
- let offsetFn = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : offset;
40
- const iframe = editorIframe(editor);
41
- const outerShape = offsetFn(iframe);
42
- const innerShape = box(target);
43
- return {
44
- width: innerShape.width,
45
- height: innerShape.height,
46
- left: outerShape.left + innerShape.left,
47
- top: outerShape.top + innerShape.top
48
- };
49
- }
@@ -1,50 +0,0 @@
1
- /*
2
- * Copyright (C) 2018 - present Instructure, Inc.
3
- *
4
- * This file is part of Canvas.
5
- *
6
- * Canvas is free software: you can redistribute it and/or modify it under
7
- * the terms of the GNU Affero General Public License as published by the Free
8
- * Software Foundation, version 3 of the License.
9
- *
10
- * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
11
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
12
- * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
13
- * details.
14
- *
15
- * You should have received a copy of the GNU Affero General Public License along
16
- * with this program. If not, see <http://www.gnu.org/licenses/>.
17
- */
18
- import { getLocaleList } from '../getTranslations'; // keys = "qualified" locales old canvas sent, values = corresponding standard
19
- // locales that canvas now sends. old locales absent from this mapping (e.g.
20
- // pt-BR) didn't change.
21
-
22
- const mapping = {
23
- fa: 'fa-IR',
24
- uk: 'uk-UA',
25
- 'zh-CN': 'zh-Hans',
26
- 'zh-HK': 'zh-Hant'
27
- };
28
- export default function normalizeLocale(locale) {
29
- const recognized = getLocaleList();
30
-
31
- if (!locale) {
32
- // default to english
33
- return 'en';
34
- } else if (recognized.indexOf(locale) >= 0) {
35
- // pass through recognized locales
36
- return locale;
37
- } else if (mapping[locale]) {
38
- // translate recognized old-style locale to standard style
39
- return mapping[locale];
40
- } else if (locale.match('-x-')) {
41
- // reduce unrecognized custom locales to their base locale
42
- locale = locale.split('-x-')[0];
43
- return normalizeLocale(locale);
44
- } else if (recognized.indexOf(locale.split('-')[0]) >= 0) {
45
- return locale.split('-')[0];
46
- } else {
47
- // default to english for unrecognized locales
48
- return 'en';
49
- }
50
- }
@@ -1,29 +0,0 @@
1
- /*
2
- * Copyright (C) 2018 - present Instructure, Inc.
3
- *
4
- * This file is part of Canvas.
5
- *
6
- * Canvas is free software: you can redistribute it and/or modify it under
7
- * the terms of the GNU Affero General Public License as published by the Free
8
- * Software Foundation, version 3 of the License.
9
- *
10
- * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
11
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
12
- * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
13
- * details.
14
- *
15
- * You should have received a copy of the GNU Affero General Public License along
16
- * with this program. If not, see <http://www.gnu.org/licenses/>.
17
- */
18
- import wrapInitCb from './wrapInitCb';
19
- export default function (props, tinymce) {
20
- const initialEditorOptions = props.editorOptions(tinymce);
21
- const editorOptions = wrapInitCb(props.mirroredAttrs, initialEditorOptions);
22
- return { // other props, including overrides
23
- ...props,
24
- // enforced values, in addition to props and cannot be overridden by
25
- // props
26
- editorOptions,
27
- tinymce
28
- };
29
- }
@@ -1,122 +0,0 @@
1
- // @ts-nocheck
2
-
3
- /*
4
- * Copyright (C) 2019 - present Instructure, Inc.
5
- *
6
- * This file is part of Canvas.
7
- *
8
- * Canvas is free software: you can redistribute it and/or modify it under
9
- * the terms of the GNU Affero General Public License as published by the Free
10
- * Software Foundation, version 3 of the License.
11
- *
12
- * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
13
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
14
- * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
15
- * details.
16
- *
17
- * You should have received a copy of the GNU Affero General Public License along
18
- * with this program. If not, see <http://www.gnu.org/licenses/>.
19
- */
20
- import { IconArrowOpenDownLine, IconAttachMediaLine, IconBoldLine, IconBulletListAlphaLine, IconBulletListCircleOutlineLine, IconBulletListLine, IconBulletListRomanLine, IconBulletListSquareLine, IconClearTextFormattingLine, IconDocumentLine, IconExitFullScreenLine, IconFullScreenLine, IconImageLine, IconIndentLine, IconItalicLine, IconLinkLine, IconLtiLine, IconNumberedListLine, IconOutdentLine, IconRemoveLinkLine, IconStrikethroughLine, IconTextCenteredLine, IconTextDirectionLtrLine, IconTextDirectionRtlLine, IconTextEndLine, IconTextStartLine, IconTextSubscriptLine, IconTextSuperscriptLine, IconUnderlineLine } from '@instructure/ui-icons/es/svg';
21
- import tinymce from 'tinymce';
22
- tinymce.PluginManager.add('instructure-ui-icons', function (editor) {
23
- // the keys here are what tinymce calls it. the values are the svgs from instUI
24
- // there are few things here that are commented out that are things that we
25
- // might want to have our own icon for but one doesn't exist in @instructure/ui-icons
26
- const icons = {
27
- 'align-center': IconTextCenteredLine,
28
- 'align-left': IconTextStartLine,
29
- 'align-right': IconTextEndLine,
30
- 'list-bull-default': IconBulletListLine,
31
- 'list-num-default': IconNumberedListLine,
32
- bold: IconBoldLine,
33
- image: IconImageLine,
34
- indent: IconIndentLine,
35
- italic: IconItalicLine,
36
- underline: IconUnderlineLine,
37
- link: IconLinkLine,
38
- video: IconAttachMediaLine,
39
- document: IconDocumentLine,
40
- // if @instructure/ui-icons ever gets icons for these, lets use those. But until
41
- // then these are the same as the stock tinyMCE ones but with the viewbox
42
- // adjusted so they look right next to our icons
43
- 'list-bull-circle': IconBulletListCircleOutlineLine,
44
- 'list-bull-square': IconBulletListSquareLine,
45
- 'list-num-upper-alpha': IconBulletListAlphaLine,
46
- 'list-num-upper-roman': IconBulletListRomanLine,
47
- 'ordered-list': IconNumberedListLine,
48
- lti: IconLtiLine,
49
- outdent: IconOutdentLine,
50
- 'remove-formatting': IconClearTextFormattingLine,
51
- 'strike-through': IconStrikethroughLine,
52
- subscript: IconTextSubscriptLine,
53
- superscript: IconTextSuperscriptLine,
54
- // not using instUI's table icon for now because there are a lot of other table related icons
55
- // that tinyMCE uses that we'd want to match our table icon. So unless we get instUI versions of all
56
- // those too, it probably makes sense to just use TinyMCE's for everything table related.
57
- // table: IconTableLine,
58
- // The `tox-icon-*` path ids on these 2 are important. It is what tinyMCE
59
- // looks for to update the color when you select a new one
60
- 'text-color': {
61
- src: `<svg viewBox="7 7 1773 1920">
62
- <g fill="none" fill-rule="evenodd">
63
- <g fill="#2B3B46" fill-rule="nonzero">
64
- <path id="tox-icon-text-color__color" d="M0 1920v-443.07692h1772.30769V1920z"/>
65
- <path d="M736.526769.05907692h299.224611L1545.14215 1227.08677l-136.46769 56.56615-164.97231-397.587689H528.576L363.603692 1283.65292 227.136 1227.08677 736.526769.05907692zM835.332923 147.751385L589.868308 738.372923h592.541542L937.09292 147.751385H835.332923z" id="A"/>
66
- </g>
67
- </g>
68
- </svg>`
69
- },
70
- 'highlight-bg-color': {
71
- src: `<svg viewBox="0 0 1920 1920" version="1.1">
72
- <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
73
- <path id="tox-icon-highlight-bg-color__color" fill="#2B3B46" d="M74 1918.14125 1841 1918.14125 1841 1469.14125 74 1469.14125z"/>
74
- <path d="M1543.03014,312.225305 L1056.25966,861 L795,619.351719 L1335.45236,123.521776 C1343.65702,115.67377 1355.72958,114.736695 1363.23098,121.647625 L1541.15479,286.221467 C1548.53898,293.015262 1548.65619,305.19724 1543.03014,312.225305 L1543.03014,312.225305 Z M898.711011,994.448142 C836.706813,972.459128 767.201162,989.769628 721.489183,1038.89402 L701.094608,1061 L616,982.517932 L636.628996,960.294992 C681.989345,911.287561 694.179206,840.758966 667.220859,780.757027 C659.250565,762.627787 664.056183,740.638772 678.355828,726.95412 L708.830481,699 L979,948.481745 L952.393284,978.190307 C939.148531,994.565105 917.699064,1000.76414 898.711011,994.448142 L898.711011,994.448142 Z M598.157143,1171.267 L416,1171.618 L532.908571,1065.382 L621,1146.931 L598.157143,1171.267 Z M1620.96383,200.201811 L1443.1176,35.7209178 C1390.27923,-13.0965429 1307.56551,-11.4575874 1255.6644,38.0622828 L598.40662,641.080844 C547.442781,689.781237 532.212208,764.939054 560.330188,828.15591 C567.945475,845.013738 564.079252,866.203091 550.606054,880.602486 L492.261245,943.819342 L304.690887,1114.38778 C276.104274,1140.494 265.208557,1179.82894 276.221432,1216.8225 C287.234308,1253.93314 317.929769,1280.85884 365.37886,1287.6488 L649.136142,1288 L707.246634,1226.18796 L707.480951,1226.4221 L743.448533,1187.55544 L747.080439,1183.69219 L807.534096,1118.25104 C821.35877,1103.50044 842.09578,1098.23236 859.200884,1104.43698 C924.45803,1127.73356 998.267727,1106.77835 1041.49912,1053.98057 L1632.44533,387.979285 C1678.60569,331.43532 1673.56788,248.902203 1620.96383,200.201811 L1620.96383,200.201811 Z" id="Fill-1" fill="#2B3B46"/>
75
- </g>
76
- </svg>`
77
- },
78
- unlink: IconRemoveLinkLine,
79
- 'unordered-list': IconBulletListLine,
80
- ltr: IconTextDirectionLtrLine,
81
- rtl: IconTextDirectionRtlLine,
82
- 'chevron-down': IconArrowOpenDownLine,
83
- fullscreen: IconFullScreenLine,
84
- fullscreen_exit: IconExitFullScreenLine,
85
- // svg copied from StatusBar.js
86
- htmlview: {
87
- src: `<svg viewBox="0 0 24 24" font-size="16px" width="24" height="24" ">
88
- <g role="presentation">
89
- <text textAnchor="start" x="0" y="18px">
90
- &lt;/&gt;
91
- </text>
92
- </g>
93
- </svg>`
94
- },
95
- embed: {
96
- src: `<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
97
- <path fill-rule="evenodd" clip-rule="evenodd" d="M13.7647 5.21417C13.6694 5.21417 13.5773 5.23988 13.482 5.24631C12.8329 3.36281 11.0795 2 9 2C6.53506 2 4.52435 3.91029 4.28294 6.34234C4.09341 6.31127 3.90176 6.28556 3.70588 6.28556C1.66235 6.28556 0 7.96764 0 10.0354C0 12.1032 1.66235 13.7853 3.70588 13.7853L5 13.7853V12.7139L3.70588 12.7139C2.24682 12.7139 1.05882 11.5129 1.05882 10.0354C1.05882 8.55798 2.24682 7.35695 3.70588 7.35695C4.40259 7.35695 5.06012 7.62908 5.55882 8.12192L6.29894 7.35588C6.00565 7.0666 5.66788 6.84483 5.30894 6.66912C5.38941 4.67419 7.00835 3.07139 9 3.07139C11.0435 3.07139 12.7059 4.75347 12.7059 6.82126C12.7059 7.1491 12.6635 7.47266 12.582 7.78658L13.6059 8.06085C13.7107 7.65801 13.7647 7.24124 13.7647 6.82126C13.7647 6.64019 13.7308 6.4677 13.7118 6.29199C13.7298 6.29199 13.7467 6.28556 13.7647 6.28556C15.516 6.28556 16.9412 7.72765 16.9412 9.49973C16.9412 11.2718 15.516 12.7139 13.7647 12.7139L13 12.7139V13.7853L13.7647 13.7853C16.1005 13.7853 18 11.8632 18 9.49973C18 7.13624 16.1005 5.21417 13.7647 5.21417Z" fill="#2B3B46"/>
98
- <path fill-rule="evenodd" clip-rule="evenodd" d="M7.72039 10.6479L8.3603 11.1813L6.75882 13.1025L8.36029 15.0239L7.72038 15.5573L5.6748 13.1024L7.72039 10.6479ZM10.2802 10.6479L12.3258 13.1024L10.2802 15.5573L9.64031 15.0239L11.2418 13.1025L9.6403 11.1813L10.2802 10.6479Z" fill="#2D3B45"/>
99
- </svg>`
100
- },
101
- buttons: {
102
- src: `
103
- <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 18 18">
104
- <g fill="#2D3B45" clip-path="url(#clip0)">
105
- <path fill-rule="evenodd" d="M.999993 11l.000001 6H6.99999v-6H.999993zm-.99999933 7H7.99999v-8H-.00000668l3.5e-7 8zM4 7c1.65685 0 3-1.34315 3-3S5.65685 1 4 1 1 2.34315 1 4s1.34315 3 3 3zm0 1c2.20914 0 4-1.79086 4-4S6.20914 0 4 0-3e-7 1.79086-3e-7 4 1.79086 8 4 8z" clip-rule="evenodd"/>
106
- <path d="M12.5 10h1v8h-1v-8z"/>
107
- <path d="M17 13.5v1H9v-1h8z"/>
108
- <path fill-rule="evenodd" d="M13 0L8.66987 7.5h8.66023L13 0zm0 2l-2.5981 4.5h5.1962L13 2z" clip-rule="evenodd"/>
109
- </g>
110
- <defs>
111
- <clipPath id="clip0">
112
- <path fill="white" d="M0 0h18v18H0z"/>
113
- </clipPath>
114
- </defs>
115
- </svg>
116
- `
117
- }
118
- };
119
- Object.keys(icons).forEach(key => {
120
- editor.ui.registry.addIcon(key, icons[key].src);
121
- });
122
- });
@@ -1,24 +0,0 @@
1
- /**
2
- * Copyright (c) Tiny Technologies, Inc. All rights reserved.
3
- * Licensed under the LGPL or a commercial license.
4
- * For LGPL see License.txt in the project root for license information.
5
- * For commercial licenses see https://www.tiny.cloud/
6
- */
7
- const isChildOfBody = (editor, node) => !!editor.$.contains(editor.getBody(), node);
8
-
9
- export const isTableCellNode = node => node && /^(TH|TD)$/.test(node.nodeName);
10
- export const isListNode = editor => node => node && /^(OL|UL|DL)$/.test(node.nodeName) && isChildOfBody(editor, node);
11
- export function listStyleForSelectionOfEditor(editor) {
12
- const listElm = editor.dom.getParent(editor.selection.getNode(), 'ol,ul');
13
-
14
- if (listElm) {
15
- return {
16
- // This is not type safe, but the above getParent selector enforces that this will be
17
- // either 'OL' or 'UL'
18
- listType: listElm.nodeName,
19
- listStyleType: editor.dom.getStyle(listElm, 'listStyleType')
20
- };
21
- } else {
22
- return undefined;
23
- }
24
- }
@@ -1,27 +0,0 @@
1
- /*
2
- * Copyright (C) 2019 - present Instructure, Inc.
3
- *
4
- * This file is part of Canvas.
5
- *
6
- * Canvas is free software: you can redistribute it and/or modify it under
7
- * the terms of the GNU Affero General Public License as published by the Free
8
- * Software Foundation, version 3 of the License.
9
- *
10
- * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
11
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
12
- * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
13
- * details.
14
- *
15
- * You should have received a copy of the GNU Affero General Public License along
16
- * with this program. If not, see <http://www.gnu.org/licenses/>.
17
- */
18
- import registerAlignmentButton from './ui/alignment-button';
19
- import registerIndentOutdentButton from './ui/indent-outdent-button';
20
- import registerListButton from './ui/list-button';
21
- import registerSubscriptSuperscriptButton from './ui/subscript-superscript-button';
22
- import registerDirectionalityButton from './ui/directionality-button';
23
- import tinymce from 'tinymce';
24
- tinymce.PluginManager.add('instructure_condensed_buttons', function (editor) {
25
- ;
26
- [registerAlignmentButton, registerIndentOutdentButton, registerListButton, registerSubscriptSuperscriptButton, registerDirectionalityButton].forEach(register => register(editor));
27
- });
@@ -1,63 +0,0 @@
1
- /*
2
- * Copyright (C) 2019 - present Instructure, Inc.
3
- *
4
- * This file is part of Canvas.
5
- *
6
- * Canvas is free software: you can redistribute it and/or modify it under
7
- * the terms of the GNU Affero General Public License as published by the Free
8
- * Software Foundation, version 3 of the License.
9
- *
10
- * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
11
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
12
- * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
13
- * details.
14
- *
15
- * You should have received a copy of the GNU Affero General Public License along
16
- * with this program. If not, see <http://www.gnu.org/licenses/>.
17
- */
18
- import formatMessage from '../../../../format-message';
19
- import { toolbarIconHelperFor } from '../../../../util/tinymce-plugin-util';
20
- export default function (editor) {
21
- const alignToolbarButtons = [{
22
- name: 'alignleft',
23
- text: formatMessage('Left Align'),
24
- cmd: 'JustifyLeft',
25
- icon: 'align-left'
26
- }, {
27
- name: 'aligncenter',
28
- text: formatMessage('Center Align'),
29
- cmd: 'JustifyCenter',
30
- icon: 'align-center'
31
- }, {
32
- name: 'alignright',
33
- text: formatMessage('Right Align'),
34
- cmd: 'JustifyRight',
35
- icon: 'align-right'
36
- }];
37
- const alignButtonLabel = formatMessage('Align');
38
- editor.ui.registry.addMenuButton('align', {
39
- tooltip: alignButtonLabel,
40
- icon: 'align-left',
41
- fetch: callback => callback(alignToolbarButtons.map(button => ({
42
- type: 'menuitem',
43
- value: button.cmd,
44
- icon: button.icon,
45
- text: button.text,
46
- onAction: () => editor.execCommand(button.cmd)
47
- }))),
48
- onSetup: api => {
49
- const iconHelper = toolbarIconHelperFor(editor, alignButtonLabel);
50
-
51
- function nodeChangeHandler() {
52
- const activeAlignment = alignToolbarButtons.find(b => editor.formatter.match(b.name));
53
- const icon = activeAlignment ? activeAlignment.icon : 'align-left';
54
- api.setActive(!!activeAlignment);
55
- iconHelper.updateIcon(icon);
56
- }
57
-
58
- nodeChangeHandler();
59
- editor.on('NodeChange', nodeChangeHandler);
60
- return () => editor.off('NodeChange', nodeChangeHandler);
61
- }
62
- });
63
- }
@@ -1,48 +0,0 @@
1
- /*
2
- * Copyright (C) 2019 - present Instructure, Inc.
3
- *
4
- * This file is part of Canvas.
5
- *
6
- * Canvas is free software: you can redistribute it and/or modify it under
7
- * the terms of the GNU Affero General Public License as published by the Free
8
- * Software Foundation, version 3 of the License.
9
- *
10
- * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
11
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
12
- * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
13
- * details.
14
- *
15
- * You should have received a copy of the GNU Affero General Public License along
16
- * with this program. If not, see <http://www.gnu.org/licenses/>.
17
- */
18
- import formatMessage from '../../../../format-message';
19
- export default function (editor) {
20
- function defaultDirectionality() {
21
- return document.dir;
22
- }
23
-
24
- const directionalityMenuItems = [{
25
- name: 'ltr',
26
- text: formatMessage('Left-to-Right'),
27
- cmd: 'mceDirectionLTR',
28
- icon: 'ltr'
29
- }, {
30
- name: 'rtl',
31
- text: formatMessage('Right-to-Left'),
32
- cmd: 'mceDirectionRTL',
33
- icon: 'rtl'
34
- }];
35
- if (defaultDirectionality() === 'rtl') directionalityMenuItems.reverse(); // Register menu item
36
-
37
- editor.ui.registry.addNestedMenuItem('directionality', {
38
- text: formatMessage('Directionality'),
39
- getSubmenuItems: () => [directionalityMenuItems[0].name, directionalityMenuItems[1].name]
40
- });
41
- directionalityMenuItems.forEach(button => {
42
- editor.ui.registry.addMenuItem(button.name, {
43
- text: button.text,
44
- icon: button.icon,
45
- onAction: () => editor.execCommand(button.cmd)
46
- });
47
- });
48
- }
@@ -1,41 +0,0 @@
1
- /*
2
- * Copyright (C) 2019 - present Instructure, Inc.
3
- *
4
- * This file is part of Canvas.
5
- *
6
- * Canvas is free software: you can redistribute it and/or modify it under
7
- * the terms of the GNU Affero General Public License as published by the Free
8
- * Software Foundation, version 3 of the License.
9
- *
10
- * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
11
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
12
- * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
13
- * details.
14
- *
15
- * You should have received a copy of the GNU Affero General Public License along
16
- * with this program. If not, see <http://www.gnu.org/licenses/>.
17
- */
18
- import formatMessage from '../../../../format-message';
19
- export default function register(editor) {
20
- const indentButtons = [{
21
- name: 'indent',
22
- text: formatMessage('Increase Indent'),
23
- cmd: 'indent'
24
- }, {
25
- name: 'outdent',
26
- text: formatMessage('Decrease Indent'),
27
- cmd: 'outdent'
28
- }];
29
- const buttonLabel = formatMessage('Increase Indent');
30
- editor.ui.registry.addMenuButton('inst_indent', {
31
- tooltip: buttonLabel,
32
- icon: 'indent',
33
- fetch: callback => callback(indentButtons.map(button => ({
34
- type: 'menuitem',
35
- value: button.cmd,
36
- icon: button.name,
37
- text: button.text,
38
- onAction: () => editor.execCommand(button.cmd)
39
- })))
40
- });
41
- }
@@ -1,145 +0,0 @@
1
- // @ts-nocheck
2
-
3
- /*
4
- * Copyright (C) 2019 - present Instructure, Inc.
5
- *
6
- * This file is part of Canvas.
7
- *
8
- * Canvas is free software: you can redistribute it and/or modify it under
9
- * the terms of the GNU Affero General Public License as published by the Free
10
- * Software Foundation, version 3 of the License.
11
- *
12
- * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
13
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
14
- * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
15
- * details.
16
- *
17
- * You should have received a copy of the GNU Affero General Public License along
18
- * with this program. If not, see <http://www.gnu.org/licenses/>.
19
- */
20
- import formatMessage from '../../../../format-message';
21
- import { typedKeyDict } from '../../../../util/TypedDict';
22
- import { listStyleForSelectionOfEditor } from '../core/ListUtils';
23
-
24
- /**
25
- * List of list styles supported by the RCE. These will ultimately appear in the toolbar as buttons under the main
26
- * list button.
27
- */
28
- const listStyleInfos = typedKeyDict({
29
- disc: {
30
- listType: 'UL',
31
- icon: 'list-bull-default',
32
- getTooltipText: () => formatMessage('default bulleted unordered list')
33
- },
34
- circle: {
35
- listType: 'UL',
36
- icon: 'list-bull-circle',
37
- getTooltipText: () => formatMessage('circle unordered list')
38
- },
39
- square: {
40
- listType: 'UL',
41
- icon: 'list-bull-square',
42
- getTooltipText: () => formatMessage('square unordered list')
43
- },
44
- decimal: {
45
- listType: 'OL',
46
- icon: 'list-num-default',
47
- getTooltipText: () => formatMessage('default numerical ordered list')
48
- },
49
- 'upper-alpha': {
50
- listType: 'OL',
51
- icon: 'list-num-upper-alpha',
52
- getTooltipText: () => formatMessage('uppercase alphabetic ordered list')
53
- },
54
- 'upper-roman': {
55
- listType: 'OL',
56
- icon: 'list-num-upper-roman',
57
- getTooltipText: () => formatMessage('uppercase Roman numeral ordered list')
58
- }
59
- }, 'listStyleType');
60
- /**
61
- * Defines the default `list-style-type` infos for the different list element types.
62
- */
63
-
64
- const defaultStyleInfoForListType = {
65
- UL: listStyleInfos.byKey.disc,
66
- OL: listStyleInfos.byKey.decimal
67
- };
68
- /**
69
- * Determines the inner-most list type for the selection in the given Editor.
70
- */
71
-
72
- function listStyleInfoForSelectionOfEditor(editor) {
73
- const selectedStyleType = listStyleForSelectionOfEditor(editor);
74
- if (!selectedStyleType) return null; // Prefer to use `list-style-type`-based type infos.
75
-
76
- if (selectedStyleType.listStyleType) {
77
- const fromStyleType = listStyleInfos.byKey[selectedStyleType.listStyleType];
78
- if (fromStyleType) return fromStyleType;
79
- } // Default to style based on the list element type
80
-
81
-
82
- return defaultStyleInfoForListType[selectedStyleType.listType];
83
- }
84
- /**
85
- * Get the button label.
86
- *
87
- * Note: Needs to be a function because translation files aren't loaded when top-level code runs.
88
- */
89
-
90
-
91
- const getButtonLabel = () => formatMessage('Ordered and Unordered Lists');
92
-
93
- export default function register(editor) {
94
- editor.ui.registry.addSplitButton('bullist', {
95
- tooltip: getButtonLabel(),
96
- icon: 'unordered-list',
97
- presets: 'listpreview',
98
- columns: 3,
99
- fetch: callback => callback(listStyleInfos.values.map(listType => ({
100
- type: 'choiceitem',
101
- value: listType.listStyleType,
102
- icon: listType.icon,
103
- text: listType.getTooltipText()
104
- }))),
105
- onAction: () => {
106
- var _listStyleInfoForSele;
107
-
108
- return editor.execCommand(((_listStyleInfoForSele = listStyleInfoForSelectionOfEditor(editor)) === null || _listStyleInfoForSele === void 0 ? void 0 : _listStyleInfoForSele.listType) === 'OL' ? 'InsertOrderedList' : 'InsertUnorderedList');
109
- },
110
- onItemAction: (splitButtonApi, value) => {
111
- const desiredListStyleInfo = listStyleInfos.byKey[value] || defaultStyleInfoForListType.UL;
112
- const currentListStyleInfo = listStyleInfoForSelectionOfEditor(editor); // When the user clicks the list button that matches the current list style in the selection,
113
- // we want to interpret that as un-list-ifying the selection
114
-
115
- if ((currentListStyleInfo === null || currentListStyleInfo === void 0 ? void 0 : currentListStyleInfo.listStyleType) !== desiredListStyleInfo.listStyleType) {
116
- editor.execCommand(desiredListStyleInfo.listType === 'UL' ? 'InsertUnorderedList' : 'InsertOrderedList', false, {
117
- 'list-style-type': desiredListStyleInfo.listStyleType
118
- });
119
- } else {
120
- editor.execCommand('RemoveList');
121
- }
122
- },
123
- select: value => {
124
- var _listStyleInfoForSele2;
125
-
126
- return ((_listStyleInfoForSele2 = listStyleInfoForSelectionOfEditor(editor)) === null || _listStyleInfoForSele2 === void 0 ? void 0 : _listStyleInfoForSele2.listStyleType) === value;
127
- },
128
- onSetup: api => {
129
- // Handle updating the icon on the toolbar based on
130
- // the type of list the user's selection is currently within
131
- const $iconSvgContainer = editor.$(`.tox-split-button[aria-label="${getButtonLabel()}"] .tox-icon`, document);
132
- const allIcons = editor.ui.registry.getAll().icons;
133
-
134
- const nodeChangeHandler = () => {
135
- const activeListType = listStyleInfoForSelectionOfEditor(editor);
136
- api.setActive(!!activeListType);
137
- $iconSvgContainer.html(allIcons[(activeListType === null || activeListType === void 0 ? void 0 : activeListType.icon) || 'list-bull-default']);
138
- };
139
-
140
- nodeChangeHandler();
141
- editor.on('NodeChange', nodeChangeHandler);
142
- return () => editor.off('NodeChange', nodeChangeHandler);
143
- }
144
- });
145
- }
@@ -1,56 +0,0 @@
1
- /*
2
- * Copyright (C) 2019 - present Instructure, Inc.
3
- *
4
- * This file is part of Canvas.
5
- *
6
- * Canvas is free software: you can redistribute it and/or modify it under
7
- * the terms of the GNU Affero General Public License as published by the Free
8
- * Software Foundation, version 3 of the License.
9
- *
10
- * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
11
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
12
- * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
13
- * details.
14
- *
15
- * You should have received a copy of the GNU Affero General Public License along
16
- * with this program. If not, see <http://www.gnu.org/licenses/>.
17
- */
18
- import formatMessage from '../../../../format-message';
19
- import { toolbarIconHelperFor } from '../../../../util/tinymce-plugin-util';
20
- export default function register(editor) {
21
- const styleInfos = [{
22
- icon: 'superscript',
23
- text: formatMessage('Superscript'),
24
- cmd: 'Superscript'
25
- }, {
26
- icon: 'subscript',
27
- text: formatMessage('Subscript'),
28
- cmd: 'Subscript'
29
- }];
30
- const buttonLabel = formatMessage('Superscript and Subscript');
31
- const defaultIcon = styleInfos[0].icon;
32
- editor.ui.registry.addMenuButton('inst_superscript', {
33
- tooltip: buttonLabel,
34
- icon: defaultIcon,
35
- fetch: callback => callback(styleInfos.map(button => ({
36
- type: 'menuitem',
37
- value: button.cmd,
38
- icon: button.icon,
39
- text: button.text,
40
- onAction: () => editor.execCommand(button.cmd)
41
- }))),
42
- onSetup: api => {
43
- const iconHelper = toolbarIconHelperFor(editor, buttonLabel);
44
-
45
- function nodeChangeHandler() {
46
- const activeStyleInfo = styleInfos.find(b => editor.formatter.match(b.icon));
47
- api.setActive(!!activeStyleInfo);
48
- iconHelper.updateIcon((activeStyleInfo === null || activeStyleInfo === void 0 ? void 0 : activeStyleInfo.icon) || defaultIcon);
49
- }
50
-
51
- nodeChangeHandler();
52
- editor.on('NodeChange', nodeChangeHandler);
53
- return () => editor.off('NodeChange', nodeChangeHandler);
54
- }
55
- });
56
- }