@instructure/canvas-rce 5.12.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 (476) hide show
  1. package/CHANGELOG.md +8 -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/enhance-user-content/doc_previews.js +4 -0
  6. package/es/enhance-user-content/enhance_user_content.js +4 -59
  7. package/es/enhance-user-content/external_links.js +75 -0
  8. package/es/enhance-user-content/mathml.js +9 -7
  9. package/es/index.js +1 -1
  10. package/es/rce/RCEWrapper.js +3 -2322
  11. package/es/rce/plugins/instructure_equation/EquationEditorModal/index.js +1 -1
  12. package/es/rce/plugins/instructure_equation/EquationEditorModal/styles.js +3 -11
  13. package/es/rce/plugins/instructure_equation/mathlive/index.js +5 -13
  14. package/es/rce/tinymce.oxide.content.min.css.js +732 -0
  15. package/es/rce/tinymce.oxide.skin.min.css.js +7 -0
  16. package/jest.config.js +0 -7
  17. package/package.json +1 -5
  18. package/scripts/build.js +1 -7
  19. package/lib/bridge/Bridge.js +0 -287
  20. package/lib/bridge/index.js +0 -21
  21. package/lib/canvasFileBrowser/FileBrowser.js +0 -457
  22. package/lib/canvasFileBrowser/en-US.js +0 -234
  23. package/lib/common/FlashAlert.js +0 -263
  24. package/lib/common/browser.js +0 -40
  25. package/lib/common/components/FileTree/File.js +0 -64
  26. package/lib/common/components/FileTree/Folder.js +0 -110
  27. package/lib/common/components/FileTree/index.js +0 -84
  28. package/lib/common/components/FileTree/styles.js +0 -72
  29. package/lib/common/components/Loading.js +0 -83
  30. package/lib/common/fileUrl.js +0 -152
  31. package/lib/common/getCookie.js +0 -32
  32. package/lib/common/incremental-loading/LoadMoreButton.js +0 -40
  33. package/lib/common/incremental-loading/LoadingIndicator.js +0 -36
  34. package/lib/common/incremental-loading/LoadingStatus.js +0 -47
  35. package/lib/common/incremental-loading/index.js +0 -21
  36. package/lib/common/incremental-loading/useIncrementalLoading.js +0 -58
  37. package/lib/common/indicate.js +0 -75
  38. package/lib/common/mimeClass.js +0 -120
  39. package/lib/common/natcompare.js +0 -47
  40. package/lib/defaultTinymceConfig.js +0 -160
  41. package/lib/elementDenylist.js +0 -19
  42. package/lib/enhance-user-content/doc_previews.js +0 -233
  43. package/lib/enhance-user-content/enhance_user_content.js +0 -396
  44. package/lib/enhance-user-content/index.js +0 -21
  45. package/lib/enhance-user-content/instructure_helper.js +0 -207
  46. package/lib/enhance-user-content/jqueryish_funcs.js +0 -88
  47. package/lib/enhance-user-content/mathml.js +0 -397
  48. package/lib/enhance-user-content/media_comment_thumbnail.js +0 -130
  49. package/lib/format-message.js +0 -30
  50. package/lib/getThemeVars.js +0 -46
  51. package/lib/getTranslations.js +0 -340
  52. package/lib/index.js +0 -51
  53. package/lib/rce/AlertMessageArea.js +0 -47
  54. package/lib/rce/DraggingBlocker.js +0 -43
  55. package/lib/rce/KeyboardShortcutModal.js +0 -88
  56. package/lib/rce/RCE.js +0 -150
  57. package/lib/rce/RCEGlobals.js +0 -62
  58. package/lib/rce/RCEWrapper.js +0 -4274
  59. package/lib/rce/RCEWrapperProps.js +0 -130
  60. package/lib/rce/RceHtmlEditor.js +0 -142
  61. package/lib/rce/ResizeHandle.js +0 -102
  62. package/lib/rce/RestoreAutoSaveModal.js +0 -82
  63. package/lib/rce/ShowOnFocusButton/index.js +0 -93
  64. package/lib/rce/StatusBar.js +0 -386
  65. package/lib/rce/__mocks__/_mockCryptoEs.js +0 -124
  66. package/lib/rce/__mocks__/styleMock.js +0 -18
  67. package/lib/rce/__mocks__/tinymceReact.js +0 -55
  68. package/lib/rce/alertHandler.js +0 -46
  69. package/lib/rce/contentInsertion.js +0 -325
  70. package/lib/rce/contentInsertionUtils.js +0 -85
  71. package/lib/rce/contentRendering.js +0 -145
  72. package/lib/rce/customEvents.js +0 -18
  73. package/lib/rce/editorLanguage.js +0 -101
  74. package/lib/rce/indicatorRegion.js +0 -49
  75. package/lib/rce/normalizeLocale.js +0 -50
  76. package/lib/rce/normalizeProps.js +0 -29
  77. package/lib/rce/plugins/instructure-ui-icons/plugin.js +0 -122
  78. package/lib/rce/plugins/instructure_condensed_buttons/core/ListUtils.js +0 -24
  79. package/lib/rce/plugins/instructure_condensed_buttons/plugin.js +0 -27
  80. package/lib/rce/plugins/instructure_condensed_buttons/ui/alignment-button.js +0 -63
  81. package/lib/rce/plugins/instructure_condensed_buttons/ui/directionality-button.js +0 -48
  82. package/lib/rce/plugins/instructure_condensed_buttons/ui/indent-outdent-button.js +0 -41
  83. package/lib/rce/plugins/instructure_condensed_buttons/ui/list-button.js +0 -145
  84. package/lib/rce/plugins/instructure_condensed_buttons/ui/subscript-superscript-button.js +0 -56
  85. package/lib/rce/plugins/instructure_documents/clickCallback.js +0 -23
  86. package/lib/rce/plugins/instructure_documents/components/DocumentsPanel.js +0 -120
  87. package/lib/rce/plugins/instructure_documents/components/Link.js +0 -219
  88. package/lib/rce/plugins/instructure_documents/plugin.js +0 -123
  89. package/lib/rce/plugins/instructure_equation/EquationEditorModal/advancedOnlySyntax.js +0 -25
  90. package/lib/rce/plugins/instructure_equation/EquationEditorModal/advancedPreference.js +0 -51
  91. package/lib/rce/plugins/instructure_equation/EquationEditorModal/index.js +0 -321
  92. package/lib/rce/plugins/instructure_equation/EquationEditorModal/latexTextareaUtil.js +0 -116
  93. package/lib/rce/plugins/instructure_equation/EquationEditorModal/parseLatex.js +0 -91
  94. package/lib/rce/plugins/instructure_equation/EquationEditorModal/styles.js +0 -46
  95. package/lib/rce/plugins/instructure_equation/EquationEditorToolbar/buttons.js +0 -728
  96. package/lib/rce/plugins/instructure_equation/EquationEditorToolbar/index.js +0 -84
  97. package/lib/rce/plugins/instructure_equation/MathIcon/index.js +0 -41
  98. package/lib/rce/plugins/instructure_equation/MathIcon/svgs.js +0 -236
  99. package/lib/rce/plugins/instructure_equation/clickCallback.js +0 -53
  100. package/lib/rce/plugins/instructure_equation/mathlive/index.js +0 -36
  101. package/lib/rce/plugins/instructure_equation/plugin.js +0 -69
  102. package/lib/rce/plugins/instructure_fullscreen/plugin.js +0 -50
  103. package/lib/rce/plugins/instructure_html_view/clickCallback.js +0 -21
  104. package/lib/rce/plugins/instructure_html_view/plugin.js +0 -37
  105. package/lib/rce/plugins/instructure_icon_maker/clickCallback.js +0 -57
  106. package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ColorSection.js +0 -82
  107. package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/CreateIconMakerForm.js +0 -56
  108. package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Footer.js +0 -78
  109. package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Group.js +0 -36
  110. package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Header.js +0 -110
  111. package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/Course.js +0 -169
  112. package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/ImageOptions.js +0 -186
  113. package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/ImageSection.js +0 -243
  114. package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/ModeSelect.js +0 -64
  115. package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/MultiColor/index.js +0 -73
  116. package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/MultiColor/svg.js +0 -298
  117. package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/SVGList.js +0 -86
  118. package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/SVGThumbnail.js +0 -55
  119. package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/SingleColor/index.js +0 -70
  120. package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/SingleColor/svg.js +0 -317
  121. package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/Upload.js +0 -149
  122. package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/index.js +0 -18
  123. package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/propTypes.js +0 -32
  124. package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/utils.js +0 -25
  125. package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Preview.js +0 -60
  126. package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ShapeSection.js +0 -87
  127. package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/TextSection.js +0 -139
  128. package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/index.js +0 -18
  129. package/lib/rce/plugins/instructure_icon_maker/components/IconMakerTray.js +0 -323
  130. package/lib/rce/plugins/instructure_icon_maker/components/SavedIconMakerList.js +0 -91
  131. package/lib/rce/plugins/instructure_icon_maker/plugin.js +0 -110
  132. package/lib/rce/plugins/instructure_icon_maker/reducers/imageSection.js +0 -194
  133. package/lib/rce/plugins/instructure_icon_maker/reducers/svgSettings.js +0 -98
  134. package/lib/rce/plugins/instructure_icon_maker/registerEditToolbar.js +0 -56
  135. package/lib/rce/plugins/instructure_icon_maker/svg/clipPath.js +0 -25
  136. package/lib/rce/plugins/instructure_icon_maker/svg/constants.js +0 -100
  137. package/lib/rce/plugins/instructure_icon_maker/svg/font.js +0 -25
  138. package/lib/rce/plugins/instructure_icon_maker/svg/image.js +0 -354
  139. package/lib/rce/plugins/instructure_icon_maker/svg/index.js +0 -122
  140. package/lib/rce/plugins/instructure_icon_maker/svg/metadata.js +0 -48
  141. package/lib/rce/plugins/instructure_icon_maker/svg/settings.js +0 -179
  142. package/lib/rce/plugins/instructure_icon_maker/svg/shape.js +0 -316
  143. package/lib/rce/plugins/instructure_icon_maker/svg/text.js +0 -468
  144. package/lib/rce/plugins/instructure_icon_maker/svg/utils.js +0 -70
  145. package/lib/rce/plugins/instructure_icon_maker/utils/IconMakerClose.js +0 -45
  146. package/lib/rce/plugins/instructure_icon_maker/utils/IconMakerFormHasChanges.js +0 -83
  147. package/lib/rce/plugins/instructure_icon_maker/utils/addIconMakerAttributes.js +0 -28
  148. package/lib/rce/plugins/instructure_icon_maker/utils/iconValidation.js +0 -35
  149. package/lib/rce/plugins/instructure_icon_maker/utils/iconsLabels.js +0 -375
  150. package/lib/rce/plugins/instructure_icon_maker/utils/useDebouncedValue.js +0 -59
  151. package/lib/rce/plugins/instructure_image/ImageEmbedOptions.js +0 -202
  152. package/lib/rce/plugins/instructure_image/ImageList/Image.js +0 -106
  153. package/lib/rce/plugins/instructure_image/ImageList/index.js +0 -69
  154. package/lib/rce/plugins/instructure_image/ImageOptionsTray/TrayController.js +0 -166
  155. package/lib/rce/plugins/instructure_image/ImageOptionsTray/index.js +0 -246
  156. package/lib/rce/plugins/instructure_image/Images/index.js +0 -122
  157. package/lib/rce/plugins/instructure_image/clickCallback.js +0 -24
  158. package/lib/rce/plugins/instructure_image/plugin.js +0 -157
  159. package/lib/rce/plugins/instructure_links/clickCallback.js +0 -22
  160. package/lib/rce/plugins/instructure_links/components/AccordionSection.js +0 -60
  161. package/lib/rce/plugins/instructure_links/components/CollectionPanel.js +0 -84
  162. package/lib/rce/plugins/instructure_links/components/Link.js +0 -213
  163. package/lib/rce/plugins/instructure_links/components/LinkOptionsDialog/LinkOptionsDialogController.js +0 -127
  164. package/lib/rce/plugins/instructure_links/components/LinkOptionsDialog/index.js +0 -141
  165. package/lib/rce/plugins/instructure_links/components/LinkOptionsTray/LinkOptionsTrayController.js +0 -125
  166. package/lib/rce/plugins/instructure_links/components/LinkOptionsTray/index.js +0 -245
  167. package/lib/rce/plugins/instructure_links/components/LinkSet.js +0 -195
  168. package/lib/rce/plugins/instructure_links/components/LinksPanel.js +0 -100
  169. package/lib/rce/plugins/instructure_links/components/NavigationPanel.js +0 -141
  170. package/lib/rce/plugins/instructure_links/components/NoResults.js +0 -87
  171. package/lib/rce/plugins/instructure_links/components/propTypes.js +0 -41
  172. package/lib/rce/plugins/instructure_links/plugin.js +0 -294
  173. package/lib/rce/plugins/instructure_links/validateURL.js +0 -70
  174. package/lib/rce/plugins/instructure_media_embed/clickCallback.js +0 -48
  175. package/lib/rce/plugins/instructure_media_embed/components/Embed.js +0 -68
  176. package/lib/rce/plugins/instructure_media_embed/plugin.js +0 -36
  177. package/lib/rce/plugins/instructure_paste/pasteMenuCommand.js +0 -117
  178. package/lib/rce/plugins/instructure_paste/plugin.js +0 -174
  179. package/lib/rce/plugins/instructure_rce_external_tools/ExternalToolsEnv.js +0 -169
  180. package/lib/rce/plugins/instructure_rce_external_tools/RceToolWrapper.js +0 -225
  181. package/lib/rce/plugins/instructure_rce_external_tools/components/ExternalToolDialog/ExternalToolDialog.js +0 -297
  182. package/lib/rce/plugins/instructure_rce_external_tools/components/ExternalToolDialog/ExternalToolDialogModal.js +0 -46
  183. package/lib/rce/plugins/instructure_rce_external_tools/components/ExternalToolDialog/ExternalToolDialogTray.js +0 -79
  184. package/lib/rce/plugins/instructure_rce_external_tools/components/ExternalToolSelectionDialog/ExternalToolSelectionDialog.js +0 -153
  185. package/lib/rce/plugins/instructure_rce_external_tools/components/ExternalToolSelectionDialog/ExternalToolSelectionItem.js +0 -94
  186. package/lib/rce/plugins/instructure_rce_external_tools/components/util/ExpandoText.js +0 -90
  187. package/lib/rce/plugins/instructure_rce_external_tools/components/util/ToolLaunchIframe.js +0 -35
  188. package/lib/rce/plugins/instructure_rce_external_tools/dialog-helper.js +0 -29
  189. package/lib/rce/plugins/instructure_rce_external_tools/helpers/tags.js +0 -55
  190. package/lib/rce/plugins/instructure_rce_external_tools/jquery/jquery.dropdownList.js +0 -172
  191. package/lib/rce/plugins/instructure_rce_external_tools/lti11-content-items/RceLti11ContentItem.js +0 -203
  192. package/lib/rce/plugins/instructure_rce_external_tools/lti13-content-items/Lti13ContentItemJson.js +0 -23
  193. package/lib/rce/plugins/instructure_rce_external_tools/lti13-content-items/RceLti13ContentItem.js +0 -111
  194. package/lib/rce/plugins/instructure_rce_external_tools/lti13-content-items/models/BaseLinkContentItem.js +0 -79
  195. package/lib/rce/plugins/instructure_rce_external_tools/lti13-content-items/models/HtmlFragmentContentItem.js +0 -47
  196. package/lib/rce/plugins/instructure_rce_external_tools/lti13-content-items/models/ImageContentItem.js +0 -57
  197. package/lib/rce/plugins/instructure_rce_external_tools/lti13-content-items/models/LinkContentItem.js +0 -26
  198. package/lib/rce/plugins/instructure_rce_external_tools/lti13-content-items/models/ResourceLinkContentItem.js +0 -47
  199. package/lib/rce/plugins/instructure_rce_external_tools/lti13-content-items/processEditorContentItems.js +0 -67
  200. package/lib/rce/plugins/instructure_rce_external_tools/lti13-content-items/rceLti13ContentItemFromJson.js +0 -48
  201. package/lib/rce/plugins/instructure_rce_external_tools/plugin.js +0 -112
  202. package/lib/rce/plugins/instructure_rce_external_tools/util/addParentFrameContextToUrl.js +0 -27
  203. package/lib/rce/plugins/instructure_record/AudioOptionsTray/TrayController.js +0 -152
  204. package/lib/rce/plugins/instructure_record/AudioOptionsTray/index.js +0 -154
  205. package/lib/rce/plugins/instructure_record/MediaPanel/index.js +0 -123
  206. package/lib/rce/plugins/instructure_record/VideoOptionsTray/TrayController.js +0 -240
  207. package/lib/rce/plugins/instructure_record/VideoOptionsTray/index.js +0 -350
  208. package/lib/rce/plugins/instructure_record/clickCallback.js +0 -105
  209. package/lib/rce/plugins/instructure_record/mediaTranslations.js +0 -94
  210. package/lib/rce/plugins/instructure_record/plugin.js +0 -173
  211. package/lib/rce/plugins/instructure_studio_media_options/plugin.js +0 -42
  212. package/lib/rce/plugins/instructure_wordcount/clickCallback.js +0 -49
  213. package/lib/rce/plugins/instructure_wordcount/components/WordCountModal.js +0 -88
  214. package/lib/rce/plugins/instructure_wordcount/plugin.js +0 -30
  215. package/lib/rce/plugins/instructure_wordcount/utils/countContent.js +0 -78
  216. package/lib/rce/plugins/instructure_wordcount/utils/tableContent.js +0 -40
  217. package/lib/rce/plugins/shared/CanvasContentTray.js +0 -580
  218. package/lib/rce/plugins/shared/CheckerboardStyling.js +0 -25
  219. package/lib/rce/plugins/shared/ColorInput.js +0 -233
  220. package/lib/rce/plugins/shared/ConditionalTooltip.js +0 -32
  221. package/lib/rce/plugins/shared/ContentSelection.js +0 -269
  222. package/lib/rce/plugins/shared/DimensionUtils.js +0 -66
  223. package/lib/rce/plugins/shared/DimensionsInput/DimensionInput.js +0 -62
  224. package/lib/rce/plugins/shared/DimensionsInput/index.js +0 -161
  225. package/lib/rce/plugins/shared/DimensionsInput/useDimensionsState.js +0 -220
  226. package/lib/rce/plugins/shared/ErrorBoundary.js +0 -54
  227. package/lib/rce/plugins/shared/EventUtils.js +0 -39
  228. package/lib/rce/plugins/shared/Filter.js +0 -353
  229. package/lib/rce/plugins/shared/FixedContentTray.js +0 -115
  230. package/lib/rce/plugins/shared/ImageCropper/DirectionRegion.js +0 -67
  231. package/lib/rce/plugins/shared/ImageCropper/Modal.js +0 -153
  232. package/lib/rce/plugins/shared/ImageCropper/Preview.js +0 -148
  233. package/lib/rce/plugins/shared/ImageCropper/constants.js +0 -39
  234. package/lib/rce/plugins/shared/ImageCropper/controls/CustomNumberInput.js +0 -83
  235. package/lib/rce/plugins/shared/ImageCropper/controls/ResetControls.js +0 -38
  236. package/lib/rce/plugins/shared/ImageCropper/controls/RotationControls.js +0 -89
  237. package/lib/rce/plugins/shared/ImageCropper/controls/ShapeControls.js +0 -82
  238. package/lib/rce/plugins/shared/ImageCropper/controls/ZoomControls.js +0 -111
  239. package/lib/rce/plugins/shared/ImageCropper/controls/index.js +0 -61
  240. package/lib/rce/plugins/shared/ImageCropper/controls/useDebouncedNumericValue.js +0 -94
  241. package/lib/rce/plugins/shared/ImageCropper/controls/utils.js +0 -41
  242. package/lib/rce/plugins/shared/ImageCropper/imageCropUtils.js +0 -149
  243. package/lib/rce/plugins/shared/ImageCropper/index.js +0 -18
  244. package/lib/rce/plugins/shared/ImageCropper/propTypes.js +0 -26
  245. package/lib/rce/plugins/shared/ImageCropper/reducers/imageCropper.js +0 -72
  246. package/lib/rce/plugins/shared/ImageCropper/shape.js +0 -27
  247. package/lib/rce/plugins/shared/ImageCropper/svg/index.js +0 -89
  248. package/lib/rce/plugins/shared/ImageCropper/svg/shape.js +0 -125
  249. package/lib/rce/plugins/shared/ImageCropper/svg/utils.js +0 -26
  250. package/lib/rce/plugins/shared/ImageCropper/useKeyMouseEvents.js +0 -233
  251. package/lib/rce/plugins/shared/ImageCropper/useMouseWheel.js +0 -66
  252. package/lib/rce/plugins/shared/ImageOptionsForm.js +0 -140
  253. package/lib/rce/plugins/shared/LinkDisplay.js +0 -96
  254. package/lib/rce/plugins/shared/PreviewIcon.js +0 -112
  255. package/lib/rce/plugins/shared/Previewable.js +0 -22
  256. package/lib/rce/plugins/shared/RceFileBrowser.js +0 -106
  257. package/lib/rce/plugins/shared/StoreContext.js +0 -57
  258. package/lib/rce/plugins/shared/StudioLtiSupportUtils.js +0 -71
  259. package/lib/rce/plugins/shared/UnknownFileTypePanel.js +0 -29
  260. package/lib/rce/plugins/shared/Upload/CategoryProcessor.js +0 -27
  261. package/lib/rce/plugins/shared/Upload/ComputerPanel.js +0 -334
  262. package/lib/rce/plugins/shared/Upload/SvgCategoryProcessor.js +0 -35
  263. package/lib/rce/plugins/shared/Upload/UploadFile.js +0 -171
  264. package/lib/rce/plugins/shared/Upload/UploadFileModal.js +0 -273
  265. package/lib/rce/plugins/shared/Upload/UrlPanel.js +0 -38
  266. package/lib/rce/plugins/shared/Upload/UsageRightsSelectBox.js +0 -172
  267. package/lib/rce/plugins/shared/Upload/doFileUpload.js +0 -77
  268. package/lib/rce/plugins/shared/__mocks__/screenfull.js +0 -24
  269. package/lib/rce/plugins/shared/buildDownloadUrl.js +0 -31
  270. package/lib/rce/plugins/shared/compressionUtils.js +0 -98
  271. package/lib/rce/plugins/shared/dateUtils.js +0 -28
  272. package/lib/rce/plugins/shared/fileShape.js +0 -129
  273. package/lib/rce/plugins/shared/fileTypeUtils.js +0 -139
  274. package/lib/rce/plugins/shared/fileUtils.js +0 -25
  275. package/lib/rce/plugins/shared/linkUtils.js +0 -89
  276. package/lib/rce/plugins/shared/round.js +0 -25
  277. package/lib/rce/plugins/shared/trayUtils.js +0 -34
  278. package/lib/rce/plugins/shared/useDataUrl.js +0 -76
  279. package/lib/rce/plugins/tinymce-a11y-checker/components/ColorField.js +0 -86
  280. package/lib/rce/plugins/tinymce-a11y-checker/components/checker.js +0 -558
  281. package/lib/rce/plugins/tinymce-a11y-checker/components/color-picker.js +0 -59
  282. package/lib/rce/plugins/tinymce-a11y-checker/components/placeholder-svg.js +0 -90
  283. package/lib/rce/plugins/tinymce-a11y-checker/components/pointer.js +0 -32
  284. package/lib/rce/plugins/tinymce-a11y-checker/node-checker.js +0 -54
  285. package/lib/rce/plugins/tinymce-a11y-checker/plugin.js +0 -90
  286. package/lib/rce/plugins/tinymce-a11y-checker/rules/__mocks__/index.js +0 -53
  287. package/lib/rce/plugins/tinymce-a11y-checker/rules/adjacent-links.js +0 -129
  288. package/lib/rce/plugins/tinymce-a11y-checker/rules/headings-sequence.js +0 -200
  289. package/lib/rce/plugins/tinymce-a11y-checker/rules/headings-start-at-h2.js +0 -67
  290. package/lib/rce/plugins/tinymce-a11y-checker/rules/img-alt-filename.js +0 -63
  291. package/lib/rce/plugins/tinymce-a11y-checker/rules/img-alt-length.js +0 -49
  292. package/lib/rce/plugins/tinymce-a11y-checker/rules/img-alt.js +0 -61
  293. package/lib/rce/plugins/tinymce-a11y-checker/rules/index.js +0 -31
  294. package/lib/rce/plugins/tinymce-a11y-checker/rules/large-text-contrast.js +0 -51
  295. package/lib/rce/plugins/tinymce-a11y-checker/rules/list-structure.js +0 -144
  296. package/lib/rce/plugins/tinymce-a11y-checker/rules/paragraphs-for-headings.js +0 -61
  297. package/lib/rce/plugins/tinymce-a11y-checker/rules/small-text-contrast.js +0 -75
  298. package/lib/rce/plugins/tinymce-a11y-checker/rules/table-caption.js +0 -54
  299. package/lib/rce/plugins/tinymce-a11y-checker/rules/table-header-scope.js +0 -52
  300. package/lib/rce/plugins/tinymce-a11y-checker/rules/table-header.js +0 -81
  301. package/lib/rce/plugins/tinymce-a11y-checker/utils/colors.js +0 -43
  302. package/lib/rce/plugins/tinymce-a11y-checker/utils/describe.js +0 -66
  303. package/lib/rce/plugins/tinymce-a11y-checker/utils/dom.js +0 -160
  304. package/lib/rce/plugins/tinymce-a11y-checker/utils/indicate.js +0 -83
  305. package/lib/rce/plugins/tinymce-a11y-checker/utils/rgb-hex.js +0 -57
  306. package/lib/rce/plugins/tinymce-a11y-checker/utils/strings.js +0 -40
  307. package/lib/rce/root.js +0 -58
  308. package/lib/rce/sanitizePlugins.js +0 -32
  309. package/lib/rce/style.js +0 -843
  310. package/lib/rce/tinyRCE.js +0 -66
  311. package/lib/rce/transformContent.js +0 -73
  312. package/lib/rce/userOS.js +0 -31
  313. package/lib/rce/wrapInitCb.js +0 -78
  314. package/lib/rcs/api.js +0 -672
  315. package/lib/rcs/buildError.js +0 -98
  316. package/lib/rcs/fake.js +0 -621
  317. package/lib/sidebar/actions/all_files.js +0 -29
  318. package/lib/sidebar/actions/data.js +0 -105
  319. package/lib/sidebar/actions/documents.js +0 -107
  320. package/lib/sidebar/actions/files.js +0 -167
  321. package/lib/sidebar/actions/filter.js +0 -63
  322. package/lib/sidebar/actions/flickr.js +0 -60
  323. package/lib/sidebar/actions/images.js +0 -153
  324. package/lib/sidebar/actions/links.js +0 -23
  325. package/lib/sidebar/actions/media.js +0 -142
  326. package/lib/sidebar/actions/session.js +0 -34
  327. package/lib/sidebar/actions/ui.js +0 -49
  328. package/lib/sidebar/actions/upload.js +0 -550
  329. package/lib/sidebar/containers/Sidebar.js +0 -67
  330. package/lib/sidebar/containers/sidebarHandlers.js +0 -73
  331. package/lib/sidebar/dragHtml.js +0 -49
  332. package/lib/sidebar/reducers/all_files.js +0 -35
  333. package/lib/sidebar/reducers/collection.js +0 -72
  334. package/lib/sidebar/reducers/collections.js +0 -52
  335. package/lib/sidebar/reducers/documents.js +0 -89
  336. package/lib/sidebar/reducers/files.js +0 -38
  337. package/lib/sidebar/reducers/filter.js +0 -61
  338. package/lib/sidebar/reducers/flickr.js +0 -51
  339. package/lib/sidebar/reducers/folder.js +0 -92
  340. package/lib/sidebar/reducers/folders.js +0 -39
  341. package/lib/sidebar/reducers/images.js +0 -115
  342. package/lib/sidebar/reducers/index.js +0 -57
  343. package/lib/sidebar/reducers/media.js +0 -84
  344. package/lib/sidebar/reducers/newPageLinkExpanded.js +0 -30
  345. package/lib/sidebar/reducers/noop.js +0 -21
  346. package/lib/sidebar/reducers/rootFolderId.js +0 -30
  347. package/lib/sidebar/reducers/session.js +0 -33
  348. package/lib/sidebar/reducers/ui.js +0 -87
  349. package/lib/sidebar/reducers/upload.js +0 -206
  350. package/lib/sidebar/store/configureStore.js +0 -26
  351. package/lib/sidebar/store/initialState.js +0 -173
  352. package/lib/translations/locales/ab.js +0 -26
  353. package/lib/translations/locales/ar.js +0 -2427
  354. package/lib/translations/locales/ca.js +0 -2427
  355. package/lib/translations/locales/cs.js +0 -27
  356. package/lib/translations/locales/cs_CZ.js +0 -27
  357. package/lib/translations/locales/cy.js +0 -2427
  358. package/lib/translations/locales/da-x-k12.js +0 -2427
  359. package/lib/translations/locales/da.js +0 -2427
  360. package/lib/translations/locales/da_DK.js +0 -27
  361. package/lib/translations/locales/de.js +0 -2427
  362. package/lib/translations/locales/el.js +0 -459
  363. package/lib/translations/locales/en-AU-x-unimelb.js +0 -2427
  364. package/lib/translations/locales/en-GB-x-ukhe.js +0 -2427
  365. package/lib/translations/locales/en.js +0 -2427
  366. package/lib/translations/locales/en_AU.js +0 -2427
  367. package/lib/translations/locales/en_CA.js +0 -2426
  368. package/lib/translations/locales/en_CY.js +0 -2426
  369. package/lib/translations/locales/en_GB.js +0 -2427
  370. package/lib/translations/locales/en_NZ.js +0 -26
  371. package/lib/translations/locales/en_SE.js +0 -26
  372. package/lib/translations/locales/en_US.js +0 -26
  373. package/lib/translations/locales/es.js +0 -2427
  374. package/lib/translations/locales/es_ES.js +0 -2427
  375. package/lib/translations/locales/es_GT.js +0 -27
  376. package/lib/translations/locales/fa_IR.js +0 -615
  377. package/lib/translations/locales/fi.js +0 -2427
  378. package/lib/translations/locales/fr.js +0 -2427
  379. package/lib/translations/locales/fr_CA.js +0 -2427
  380. package/lib/translations/locales/he.js +0 -486
  381. package/lib/translations/locales/ht.js +0 -2426
  382. package/lib/translations/locales/hu.js +0 -2007
  383. package/lib/translations/locales/hu_HU.js +0 -27
  384. package/lib/translations/locales/hy.js +0 -444
  385. package/lib/translations/locales/id.js +0 -2426
  386. package/lib/translations/locales/id_ID.js +0 -26
  387. package/lib/translations/locales/is.js +0 -2426
  388. package/lib/translations/locales/it.js +0 -2427
  389. package/lib/translations/locales/ja.js +0 -2427
  390. package/lib/translations/locales/ko.js +0 -342
  391. package/lib/translations/locales/ko_KR.js +0 -27
  392. package/lib/translations/locales/lt.js +0 -26
  393. package/lib/translations/locales/lt_LT.js +0 -26
  394. package/lib/translations/locales/mi.js +0 -2426
  395. package/lib/translations/locales/mn_MN.js +0 -26
  396. package/lib/translations/locales/ms.js +0 -2426
  397. package/lib/translations/locales/nb-x-k12.js +0 -2427
  398. package/lib/translations/locales/nb.js +0 -2427
  399. package/lib/translations/locales/nl.js +0 -2427
  400. package/lib/translations/locales/nl_NL.js +0 -27
  401. package/lib/translations/locales/nn.js +0 -2247
  402. package/lib/translations/locales/pl.js +0 -2427
  403. package/lib/translations/locales/pt.js +0 -2427
  404. package/lib/translations/locales/pt_BR.js +0 -2427
  405. package/lib/translations/locales/ro.js +0 -27
  406. package/lib/translations/locales/ru.js +0 -2427
  407. package/lib/translations/locales/se.js +0 -26
  408. package/lib/translations/locales/sl.js +0 -2427
  409. package/lib/translations/locales/sv-x-k12.js +0 -2427
  410. package/lib/translations/locales/sv.js +0 -2427
  411. package/lib/translations/locales/sv_SE.js +0 -27
  412. package/lib/translations/locales/tg.js +0 -26
  413. package/lib/translations/locales/th.js +0 -2427
  414. package/lib/translations/locales/th_TH.js +0 -27
  415. package/lib/translations/locales/tl_PH.js +0 -26
  416. package/lib/translations/locales/tr.js +0 -687
  417. package/lib/translations/locales/uk_UA.js +0 -519
  418. package/lib/translations/locales/vi.js +0 -2427
  419. package/lib/translations/locales/vi_VN.js +0 -27
  420. package/lib/translations/locales/zh-Hans.js +0 -2427
  421. package/lib/translations/locales/zh-Hant.js +0 -2427
  422. package/lib/translations/locales/zh.js +0 -2427
  423. package/lib/translations/locales/zh_HK.js +0 -2427
  424. package/lib/translations/locales/zh_TW.Big5.js +0 -27
  425. package/lib/translations/locales/zh_TW.js +0 -27
  426. package/lib/translations/tinymce/ar_SA.js +0 -211
  427. package/lib/translations/tinymce/bg_BG.js +0 -419
  428. package/lib/translations/tinymce/ca.js +0 -419
  429. package/lib/translations/tinymce/cs.js +0 -419
  430. package/lib/translations/tinymce/cy.js +0 -418
  431. package/lib/translations/tinymce/da.js +0 -419
  432. package/lib/translations/tinymce/de.js +0 -419
  433. package/lib/translations/tinymce/el.js +0 -261
  434. package/lib/translations/tinymce/en_GB.js +0 -230
  435. package/lib/translations/tinymce/es.js +0 -419
  436. package/lib/translations/tinymce/fa_IR.js +0 -390
  437. package/lib/translations/tinymce/fi.js +0 -19
  438. package/lib/translations/tinymce/fr_FR.js +0 -419
  439. package/lib/translations/tinymce/he_IL.js +0 -420
  440. package/lib/translations/tinymce/hu_HU.js +0 -419
  441. package/lib/translations/tinymce/hy.js +0 -419
  442. package/lib/translations/tinymce/it.js +0 -419
  443. package/lib/translations/tinymce/ja.js +0 -419
  444. package/lib/translations/tinymce/ko_KR.js +0 -419
  445. package/lib/translations/tinymce/nb_NO.js +0 -419
  446. package/lib/translations/tinymce/nl.js +0 -419
  447. package/lib/translations/tinymce/pl.js +0 -419
  448. package/lib/translations/tinymce/pt_BR.js +0 -419
  449. package/lib/translations/tinymce/pt_PT.js +0 -419
  450. package/lib/translations/tinymce/ro.js +0 -418
  451. package/lib/translations/tinymce/ru.js +0 -436
  452. package/lib/translations/tinymce/ru_RU.js +0 -71
  453. package/lib/translations/tinymce/sl.js +0 -462
  454. package/lib/translations/tinymce/sr.js +0 -278
  455. package/lib/translations/tinymce/sv_SE.js +0 -419
  456. package/lib/translations/tinymce/th.js +0 -479
  457. package/lib/translations/tinymce/tr_TR.js +0 -389
  458. package/lib/translations/tinymce/uk_UA.js +0 -278
  459. package/lib/translations/tinymce/vi_VN.js +0 -277
  460. package/lib/translations/tinymce/zh_CN.js +0 -419
  461. package/lib/translations/tinymce/zh_TW.js +0 -419
  462. package/lib/util/DeepPartialNullable.js +0 -1
  463. package/lib/util/ExtractRequired.js +0 -1
  464. package/lib/util/TypedDict.js +0 -131
  465. package/lib/util/assertNever.js +0 -44
  466. package/lib/util/elem-util.js +0 -26
  467. package/lib/util/encrypted-storage.js +0 -84
  468. package/lib/util/file-url-util.js +0 -44
  469. package/lib/util/fullscreenHelpers.js +0 -27
  470. package/lib/util/instui-icon-helper.js +0 -31
  471. package/lib/util/loadingPlaceholder.js +0 -436
  472. package/lib/util/simpleCache.js +0 -41
  473. package/lib/util/string-util.js +0 -48
  474. package/lib/util/textarea-editing-util.js +0 -87
  475. package/lib/util/tinymce-plugin-util.js +0 -52
  476. package/lib/util/url-util.js +0 -138
@@ -1,88 +0,0 @@
1
- /*
2
- * Copyright (C) 2022 - 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
- export function hidden(elem) {
19
- const width = elem.offsetWidth,
20
- height = elem.offsetHeight;
21
- return width === 0 && height === 0;
22
- }
23
- export function visible(elem) {
24
- return !hidden(elem);
25
- } // start: the element where we start
26
- // selector: find an ancestor to elem that matches this
27
- // context: optional DOM element within which the matching element may be found
28
-
29
- export function closest(start, selector, context) {
30
- const upperbound = context || document.body;
31
- let elem = start;
32
-
33
- while (elem) {
34
- if (elem.matches(selector)) {
35
- return elem;
36
- }
37
-
38
- if (elem === upperbound) {
39
- return null;
40
- }
41
-
42
- elem = elem.parentElement;
43
- }
44
- }
45
- export function hide(elem) {
46
- setData(elem, 'olddisplay', elem.style.display);
47
- elem.style.display = 'none';
48
- }
49
- export function show(elem) {
50
- elem.style.display = getData(elem, 'olddisplay');
51
- }
52
- export function capitalize(word) {
53
- return word.replace(/^./, letter => letter.toUpperCase());
54
- } // this implementation of get|setData does not
55
- // deal with elements being recreated in the dom
56
- // but that seems to be OK
57
- //
58
- // If jquery exists, use it because if this file is used
59
- // from canvas, there is other code that expects to use
60
- // jquery data saved in enhanceUserContent, but if not
61
- // so something useful anyway.
62
-
63
- /* eslint-disable no-undef */
64
-
65
- export function setData(elem, key, value) {
66
- if (typeof $ !== 'undefined') {
67
- $(elem).data(key, value);
68
- } else {
69
- if (!elem.data) elem.data = {};
70
- elem.data[key] = value;
71
- }
72
- }
73
- export function getData(elem, key) {
74
- if (typeof $ !== 'undefined') {
75
- return $(elem).data(key);
76
- }
77
-
78
- if (elem.data && key in elem.data) {
79
- return elem.data[key];
80
- }
81
-
82
- return elem.getAttribute(`data-${key}`);
83
- }
84
- /* eslint-enable no-undef */
85
-
86
- export function insertAfter(new_elem, reference_element) {
87
- reference_element.parentNode.insertBefore(new_elem, reference_element.nextSibling);
88
- }
@@ -1,397 +0,0 @@
1
- /*
2
- * Copyright (C) 2017 - 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 $ from 'jquery';
19
- const MathJaxDirective = Object.freeze({
20
- Ignore: 'mathjax_ignore',
21
- Process: 'mathjax_process'
22
- }); // configure MathJax to use 'color' extension fo LaTeX coding
23
-
24
- const localConfig = {
25
- TeX: {
26
- extensions: ['autoload-all.js']
27
- },
28
- tex2jax: {
29
- ignoreClass: MathJaxDirective.Ignore
30
- },
31
- extensions: ['Safe.js'],
32
- Safe: {
33
- safeProtocols: {
34
- http: true,
35
- https: true,
36
- file: false,
37
- javascript: false,
38
- data: false
39
- }
40
- },
41
- MathMenu: {
42
- styles: {
43
- '.MathJax_Menu': {
44
- 'z-index': 2001
45
- }
46
- }
47
- },
48
- showMathMenu: true,
49
- messageStyle: 'none'
50
- };
51
-
52
- class Mathml {
53
- constructor() {
54
- let features = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
55
- let config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
56
- this._features = features;
57
- this._config = config;
58
- }
59
-
60
- loadMathJax() {
61
- let configFile = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'TeX-MML-AM_SVG';
62
- let cb = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
63
-
64
- if (this.preventMathJax()) {
65
- return;
66
- }
67
-
68
- if (!this.isMathJaxLoaded()) {
69
- var _this$_features, _this$_config;
70
-
71
- // Statically declare this in the localConfig above as part of MAT-1219
72
- if ((_this$_features = this._features) !== null && _this$_features !== void 0 && _this$_features.explicit_latex_typesetting) {
73
- localConfig.elements = document.getElementsByClassName(MathJaxDirective.Process);
74
- localConfig.tex2jax.processClass = MathJaxDirective.Process;
75
- }
76
-
77
- const locale = ((_this$_config = this._config) === null || _this$_config === void 0 ? void 0 : _this$_config.locale) || 'en'; // signal local config to mathjax as it loads
78
-
79
- window.MathJax = localConfig;
80
- if (window.MathJaxIsLoading) return;
81
- window.MathJaxIsLoading = true;
82
- const scriptPromise = new Promise((resolve, reject) => {
83
- const script = document.createElement('script');
84
- document.head.appendChild(script);
85
- script.onload = resolve;
86
- script.onerror = reject;
87
- script.async = true;
88
- script.src = `//cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=${configFile}&locale=${locale}`;
89
- }); // eslint-disable-next-line promise/catch-or-return
90
-
91
- scriptPromise.then(() => {
92
- var _this$_features2;
93
-
94
- window.MathJax.Hub.Register.StartupHook('MathMenu Ready', function () {
95
- // get the mathjax context menu above the rce's equation editor
96
- window.MathJax.Menu.BGSTYLE['z-index'] = 2000;
97
- });
98
- window.MathJax.Hub.Register.StartupHook('End Config', function () {
99
- // wait until MathJAx is configured before calling the callback
100
- cb === null || cb === void 0 ? void 0 : cb();
101
- });
102
-
103
- if ((_this$_features2 = this._features) !== null && _this$_features2 !== void 0 && _this$_features2.new_math_equation_handling) {
104
- window.MathJax.Hub.Register.MessageHook('Begin PreProcess', function (message) {
105
- mathImageHelper.catchEquationImages(message[1]);
106
- });
107
- window.MathJax.Hub.Register.MessageHook('Math Processing Error', function (message) {
108
- var _elem$parentElement;
109
-
110
- const elem = Array.isArray(message[1]) ? message[1][0] : message[1]; // ".math_equation_latex" is the elem we added for MathJax to typeset the image equation
111
-
112
- if ((_elem$parentElement = elem.parentElement) !== null && _elem$parentElement !== void 0 && _elem$parentElement.classList.contains('math_equation_latex')) {
113
- var _elem$parentElement$p;
114
-
115
- // The equation we image we were trying to replace and failed is up 1 and back 1.
116
- // If we remove its "mathjaxified" attribute, the "End Math" handler
117
- // won't remove it from the DOM.
118
- if ((_elem$parentElement$p = elem.parentElement.previousElementSibling) !== null && _elem$parentElement$p !== void 0 && _elem$parentElement$p.hasAttribute('mathjaxified')) {
119
- elem.parentElement.previousElementSibling.removeAttribute('mathjaxified');
120
- } // remove the "math processing error" mathjax output.
121
-
122
-
123
- elem.parentElement.remove();
124
- }
125
- });
126
- window.MathJax.Hub.Register.MessageHook('End Math', function (message) {
127
- const elem = Array.isArray(message[1]) ? message[1][0] : message[1];
128
- mathImageHelper.removeStrayEquationImages(elem);
129
- mathImageHelper.nearlyInfiniteStyleFix(elem);
130
- elem.querySelectorAll('.math_equation_latex').forEach(m => m.classList.add('fade-in-equation'));
131
- });
132
- } else {
133
- // though isMathInElement ignores <math> w/in .hidden-readable elements,
134
- // MathJax does not and will process it anyway. This is a problem when
135
- // you open the equation editor while editing a quiz and it adds to the DOM
136
- // elements that will get saved with the quiz.
137
- // There's a feature request against MathJax (https://github.com/mathjax/MathJax/issues/505)
138
- // to add an ignoreClass config prop to the mml2jax processor, but it's not available.
139
- // Since we want to ignore <math> in .hidden-readable spans, let's remove the MathJunk™
140
- // right after MathJax adds it.
141
- window.MathJax.Hub.Register.MessageHook('End Math', function (message) {
142
- const elm = Array.isArray(message[1]) ? message[1][0] : message[1];
143
- $(elm).find('.hidden-readable [class^="MathJax"], .hidden-readable [id^="MathJax"]').remove();
144
- });
145
- } // leaving this here so I don't have to keep looking up how to see all messages
146
- // window.MathJax.Hub.Startup.signal.Interest(function (message) {
147
- // console.log('>>> MathJax startup:', message)
148
- // })
149
- // window.MathJax.Hub.signal.Interest(function(message) {
150
- // console.log('>>> MathJax signal', message)
151
- // })
152
-
153
-
154
- delete window.MathJaxIsLoading;
155
- });
156
- } else {
157
- // Make sure we always call the callback if it is loaded already and make sure we
158
- // also reprocess the page since chances are if we are requesting MathJax again,
159
- // something has changed on the page and needs to get pulled into the MathJax ecosystem
160
- // window.MathJax.Hub.Reprocess([document.body])
161
- window.MathJax.Hub.Queue(['Typeset', window.MathJax.Hub]);
162
- cb === null || cb === void 0 ? void 0 : cb();
163
- }
164
- }
165
-
166
- preventMathJax() {
167
- return /(?:rubrics|\/files)/.test(window.location.pathname);
168
- }
169
-
170
- isMathOnPage() {
171
- return this.isMathInElement(document.body);
172
- }
173
-
174
- isMathInElement(elem) {
175
- var _this$_features3;
176
-
177
- if ((elem === null || elem === void 0 ? void 0 : elem.getAttribute('data-testid')) === 'mathml-preview-element') {
178
- return true;
179
- }
180
-
181
- if ((_this$_features3 = this._features) !== null && _this$_features3 !== void 0 && _this$_features3.new_math_equation_handling) {
182
- // handle the change from image + hidden mathml to mathjax formatted latex
183
- if (elem.querySelector('.math_equation_latex,.math_equation_mml')) {
184
- return true;
185
- }
186
-
187
- if (elem.querySelector('img.equation_image')) {
188
- return true;
189
- } // look for latex the user may have entered w/o the equation editor by
190
- // looking for mathjax's opening delimiters
191
-
192
-
193
- if (/(?:\$\$|\\\()/.test(elem.textContent)) {
194
- return true;
195
- }
196
- }
197
-
198
- const mathElements = elem.getElementsByTagName('math');
199
-
200
- for (let i = 0; i < mathElements.length; i++) {
201
- const $el = $(mathElements[i]);
202
-
203
- if ($el.is(':visible') && $el.parent('.hidden-readable').length <= 0 && $el.parent('.MJX_Assistive_MathML').length <= 0 // already mathjax'd
204
- ) {
205
- return true;
206
- }
207
- }
208
-
209
- return false;
210
- }
211
-
212
- get mathJaxGenerated() {
213
- return /^MathJax|MJX/;
214
- } // elements to ignore selector
215
-
216
-
217
- get ignore_list() {
218
- return '#header,#mobile-header,#left-side,#quiz-elapsed-time,.ui-menu-carat';
219
- }
220
-
221
- isMathJaxIgnored(elem) {
222
- var _this$_features4, _elem$parentElement2;
223
-
224
- if (!elem) return true;
225
-
226
- if ((_this$_features4 = this._features) !== null && _this$_features4 !== void 0 && _this$_features4.explicit_latex_typesetting && !elem.classList.contains(MathJaxDirective.Process)) {
227
- return true;
228
- } // ignore disconnected elements
229
-
230
-
231
- if (!document.body.contains(elem)) return true; // check if elem is in the ignore list
232
-
233
- if (((_elem$parentElement2 = elem.parentElement) === null || _elem$parentElement2 === void 0 ? void 0 : _elem$parentElement2.querySelector(this.ignore_list)) === elem) {
234
- return true;
235
- } // check if elem is a child of something we're ignoring
236
-
237
-
238
- while (elem !== document.body) {
239
- // child of ignored element?
240
- if (elem.classList.contains(MathJaxDirective.Ignore)) {
241
- return true;
242
- } // // child of MathJax generated element?
243
- // if (
244
- // this.mathJaxGenerated.test(elem.id) ||
245
- // this.mathJaxGenerated.test(elem.getAttribute('class'))
246
- // ) {
247
- // return true
248
- // }
249
-
250
-
251
- elem = elem.parentElement;
252
- }
253
-
254
- return false;
255
- } // legacy api
256
-
257
-
258
- isMathMLOnPage() {
259
- return this.isMathOnPage();
260
- }
261
-
262
- isMathJaxLoaded() {
263
- var _window$MathJax;
264
-
265
- return !!((_window$MathJax = window.MathJax) !== null && _window$MathJax !== void 0 && _window$MathJax.Hub);
266
- }
267
-
268
- shouldProcess(elem) {
269
- return this.isMathInElement(elem) && !this.isMathJaxIgnored(elem);
270
- }
271
-
272
- processNewMathInElem(elem) {
273
- if (this.shouldProcess(elem)) {
274
- if (this.isMathJaxLoaded()) {
275
- this.reloadElement(elem);
276
- } else {
277
- this.loadMathJax(undefined);
278
- }
279
- }
280
- }
281
- /*
282
- * elem: string with elementId or en elem object
283
- */
284
-
285
-
286
- reloadElement(elem) {
287
- if (this.isMathJaxLoaded()) {
288
- window.MathJax.Hub.Queue(['Typeset', window.MathJax.Hub, elem]);
289
- }
290
- }
291
-
292
- static get processNewMathEventName() {
293
- return 'process-new-math';
294
- }
295
-
296
- }
297
-
298
- const mathImageHelper = {
299
- getImageEquationText(img) {
300
- let equation_text;
301
- const src = img.getAttribute('src');
302
-
303
- if (src) {
304
- try {
305
- const url = new URL(src, 'http://localhost'); // we don't care about the host
306
-
307
- const srceq = url.pathname.split('/equation_images/')[1];
308
-
309
- if (srceq) {
310
- equation_text = decodeURIComponent(decodeURIComponent(srceq));
311
- }
312
- } catch (_ex) {// If we failed to parse the src URL, something is wrong.
313
- }
314
- }
315
-
316
- return equation_text;
317
- },
318
-
319
- catchEquationImages(refnode) {
320
- refnode = Array.isArray(refnode) ? refnode[0] : refnode; // find equation images and replace with inline LaTeX
321
-
322
- const eqimgs = refnode.querySelectorAll('img.equation_image');
323
-
324
- if (eqimgs.length > 0) {
325
- eqimgs.forEach(img => {
326
- const equation_text = this.getImageEquationText(img);
327
-
328
- if (equation_text) {
329
- img.setAttribute('mathjaxified', '');
330
- const mathtex = document.createElement('span');
331
- mathtex.setAttribute('class', 'math_equation_latex');
332
- mathtex.setAttribute('style', img.getAttribute('style'));
333
- mathtex.textContent = `\\(${equation_text}\\)`;
334
- mathtex.style.maxWidth = '';
335
-
336
- if (img.nextSibling) {
337
- img.parentElement.insertBefore(mathtex, img.nextSibling);
338
- } else {
339
- img.parentElement.appendChild(mathtex);
340
- }
341
- }
342
- });
343
- return true;
344
- }
345
- },
346
-
347
- removeStrayEquationImages(refnode) {
348
- const eqimgs = refnode.querySelectorAll('img.equation_image');
349
- eqimgs.forEach(img => {
350
- if (img.hasAttribute('mathjaxified')) {
351
- img.parentElement.removeChild(img);
352
- }
353
- });
354
- },
355
-
356
- nearlyInfiniteStyleFix(elem) {
357
- elem.querySelectorAll('[style*=clip], [style*=vertical-align]').forEach(e => {
358
- let changed = false;
359
- let s = e.getAttribute('style');
360
- const r = e.style.clip;
361
-
362
- if (/[\d.]+e\+?\d/.test(r)) {
363
- // e.g. "rect(1e+07em, -9.999e+06em, -1e+07em, -999.997em)"
364
- s = s.replace(/clip: rect[^;]+;/, '');
365
- changed = true;
366
- }
367
-
368
- const v = e.style.verticalAlign;
369
-
370
- if (Math.abs(parseFloat(v)) > 10000) {
371
- // 10000 is a ridiculously large number
372
- s = s.replace(/vertical-align[^;]+;/, '');
373
- changed = true;
374
- }
375
-
376
- if (changed) {
377
- e.setAttribute('style', s);
378
- }
379
- });
380
- }
381
-
382
- };
383
-
384
- function handleNewMath(event) {
385
- if (event !== null && event !== void 0 && event.detail) {
386
- const {
387
- features,
388
- config,
389
- target
390
- } = event.detail;
391
- const mathml = new Mathml(features, config);
392
- mathml.processNewMathInElem(target);
393
- }
394
- }
395
-
396
- window.addEventListener(Mathml.processNewMathEventName, handleNewMath);
397
- export { Mathml as default, mathImageHelper, MathJaxDirective };
@@ -1,130 +0,0 @@
1
- /*
2
- * Copyright (C) 2022 - 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 { closest, getData, setData } from './jqueryish_funcs';
20
- const MEDIA_COMMENT_THUMBNAIL_SIZES = {
21
- normal: {
22
- width: 140,
23
- height: 100
24
- },
25
- small: {
26
- width: 70,
27
- height: 50
28
- }
29
- };
30
-
31
- function createMediaCommentThumbnail(elem, size, keepOriginalText, kalturaSettings) {
32
- var _window$INST, _$link$querySelector, _$link$parentElement$, _$link$parentElement$2;
33
-
34
- // a lot of places in canvas rely on INST.kalturaSettings. Fallback if they are not provided
35
- const kalturaSettings_ = kalturaSettings || ((_window$INST = window.INST) === null || _window$INST === void 0 ? void 0 : _window$INST.kalturaSettings); // eslint-disable-next-line no-console
36
-
37
- if (!kalturaSettings_) return console.log('Kaltura has not been enabled for this account');
38
- let idAttr, url;
39
- const $link = elem;
40
-
41
- try {
42
- const a = document.createElement('a');
43
- a.href = $link.getAttribute('href');
44
- url = a;
45
- } catch (error) {
46
- // eslint-disable-next-line no-console
47
- console.error(error);
48
- }
49
-
50
- if (url) {
51
- const urlParams = new URLSearchParams(url.search);
52
- if (urlParams.has('no_preview') && urlParams.get('no_preview') !== 'false') return;
53
- }
54
-
55
- const dimensions = MEDIA_COMMENT_THUMBNAIL_SIZES[size] || MEDIA_COMMENT_THUMBNAIL_SIZES.normal;
56
- const id = getData($link, 'media_comment_id') || $link.getAttribute('data-media_comment_id') || ((_$link$querySelector = $link.querySelector('.media_comment_id')) === null || _$link$querySelector === void 0 ? void 0 : _$link$querySelector.textContent) || (idAttr = $link.id) && idAttr.match(/^media_comment_/) && idAttr.substring(14) || ((_$link$parentElement$ = $link.parentElement.querySelector('.media_comment_id')) === null || _$link$parentElement$ === void 0 ? void 0 : (_$link$parentElement$2 = _$link$parentElement$.textContent) === null || _$link$parentElement$2 === void 0 ? void 0 : _$link$parentElement$2.trim());
57
- const authorName = getData($link, 'author') || $link.getAttribute('data-author');
58
- const createdAt = getData($link, 'created_at') || $link.getAttribute('data-created_at');
59
- let altText;
60
-
61
- if (authorName && createdAt) {
62
- altText = formatMessage('Play media comment by {name} from {createdAt}.', {
63
- name: authorName,
64
- createdAt
65
- });
66
- } else {
67
- altText = formatMessage('Play media comment.');
68
- }
69
-
70
- if (id) {
71
- const domain = `https://${kalturaSettings_.resource_domain}`;
72
- const backgroundUrl = `${domain}/p/${kalturaSettings_.partner_id}/thumbnail/entry_id/${id}/width/` + `${dimensions.width}/height/${dimensions.height}/bgcolor/000000/type/2/vid_sec/5`;
73
- const $thumbnail = document.createElement('span');
74
- $thumbnail.setAttribute('style', `background-image: url(${backgroundUrl});`);
75
- $thumbnail.setAttribute('class', `media_comment_thumbnail media_comment_thumbnail-${size}`);
76
- const span1 = document.createElement('span');
77
- span1.classList.add('media_comment_thumbnail_play_button');
78
- const span2 = document.createElement('span');
79
- span2.classList.add('screenreader-only');
80
- span2.textContent = altText;
81
- span1.appendChild(span2);
82
- $thumbnail.appendChild(span1);
83
- const $p = closest($link, 'p');
84
-
85
- if ($p && !$p.getAttribute('title')) {
86
- $p.setAttribute('title', altText);
87
- }
88
-
89
- let $a = $link;
90
-
91
- if (keepOriginalText) {
92
- $a = $link.cloneNode();
93
- $a.classList.remove('instructure_file_link');
94
- const $holder = $link.parentElement;
95
-
96
- if ($holder.matches('.instructure_file_link_holder')) {
97
- $holder.appendChild($a);
98
- } else {
99
- $link.after($a);
100
- }
101
- } else {
102
- $link.innerHTML = '';
103
- }
104
-
105
- $a.setAttribute('data-download', $a.getAttribute('href'));
106
- $a.setAttribute('href', '#');
107
- $a.classList.add('instructure_inline_media_comment');
108
- $a.appendChild($thumbnail);
109
- $a.style.backgroundImage = '';
110
- $a.style.padding = 0;
111
- }
112
- } // public API
113
-
114
-
115
- export default function mediaCommentThumbnail(comment_element) {
116
- let size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'normal';
117
- let keepOriginalText = arguments.length > 2 ? arguments[2] : undefined;
118
- let kalturaSettings = arguments.length > 3 ? arguments[3] : undefined;
119
- let jqueryData = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : undefined;
120
- // defer each thumbnail generation till the next time through the event loop to not kill browser rendering,
121
- // has the effect of saying "only work on thumbnailing these while the browser is not doing something else"
122
- return new Promise(resolve => window.setTimeout(() => {
123
- if (jqueryData) {
124
- Object.keys(jqueryData).forEach(k => setData(comment_element, k, jqueryData[k]));
125
- }
126
-
127
- createMediaCommentThumbnail(comment_element, size, keepOriginalText, kalturaSettings);
128
- resolve();
129
- }, 1));
130
- }
@@ -1,30 +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
- const formatMessage = require('format-message');
19
-
20
- const ns = formatMessage.namespace();
21
-
22
- ns.addLocale = translations => {
23
- ns.setup({
24
- translations: { ...ns.setup().translations,
25
- ...translations
26
- }
27
- });
28
- };
29
-
30
- module.exports = ns;
@@ -1,46 +0,0 @@
1
- /*
2
- * Copyright (C) 2023 - 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 { getRegistry } from '@instructure/theme-registry';
19
- import { merge, cloneDeep } from 'lodash'; // The running theme is the running theme for this page load, and it never
20
- // changes, so there's no point in doing the work more than once.
21
-
22
- let memoizedVariables;
23
-
24
- function getThemeVars() {
25
- if (memoizedVariables) return memoizedVariables;
26
- const {
27
- currentThemeKey,
28
- overrides,
29
- themes
30
- } = getRegistry(); // Just assume the "canvas" theme if the default key is null. This will
31
- // never happen in the live app because one way or another a theme gets
32
- // used, but unit tests don't always do that.
33
- // Also we have to cloneDeep this because the merge below is about to
34
- // mutate the whole thing.
35
-
36
- const themeKey = currentThemeKey || 'canvas';
37
- const variables = cloneDeep(themes[themeKey]);
38
- merge(variables, overrides);
39
- memoizedVariables = {
40
- variables,
41
- key: themeKey
42
- };
43
- return memoizedVariables;
44
- }
45
-
46
- export { getThemeVars };