@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.
- package/CHANGELOG.md +32 -0
- package/babel-register.js +0 -7
- package/babel.config.cjs.js +0 -7
- package/babel.config.js +0 -9
- package/es/canvasFileBrowser/FileBrowser.js +6 -1
- package/es/common/fileUrl.js +3 -4
- package/es/defaultTinymceConfig.js +1 -1
- package/{lib/rce/plugins/instructure_rce_external_tools/lti13-content-items/Lti13ContentItemJson.js → es/elementDenylist.js} +2 -6
- package/es/enhance-user-content/doc_previews.js +4 -0
- package/es/enhance-user-content/enhance_user_content.js +4 -59
- package/es/enhance-user-content/external_links.js +75 -0
- package/es/enhance-user-content/mathml.js +9 -7
- package/es/getThemeVars.js +4 -3
- package/es/getTranslations.js +77 -1
- package/es/index.js +1 -1
- package/es/rce/RCEWrapper.js +5 -2328
- package/es/rce/StatusBar.js +8 -2
- package/es/rce/contentInsertion.js +5 -2
- package/es/rce/plugins/instructure_documents/components/DocumentsPanel.js +3 -9
- package/es/rce/plugins/instructure_equation/EquationEditorModal/index.js +1 -1
- package/es/rce/plugins/instructure_equation/EquationEditorModal/styles.js +3 -11
- package/es/rce/plugins/instructure_equation/mathlive/index.js +5 -13
- package/es/rce/plugins/instructure_html_view/plugin.js +2 -2
- package/es/rce/plugins/instructure_icon_maker/components/SavedIconMakerList.js +3 -2
- package/es/rce/plugins/instructure_image/ImageList/Image.js +2 -2
- package/es/rce/plugins/instructure_image/Images/index.js +3 -10
- package/es/rce/plugins/instructure_rce_external_tools/components/ExternalToolDialog/ExternalToolDialog.js +3 -0
- package/es/rce/plugins/instructure_rce_external_tools/lti13-content-items/models/ResourceLinkContentItem.js +3 -1
- package/es/rce/plugins/instructure_record/AudioOptionsTray/TrayController.js +26 -1
- package/es/rce/plugins/instructure_record/AudioOptionsTray/index.js +9 -3
- package/es/rce/plugins/instructure_record/MediaPanel/index.js +3 -9
- package/es/rce/plugins/instructure_record/VideoOptionsTray/TrayController.js +27 -2
- package/es/rce/plugins/instructure_record/VideoOptionsTray/index.js +35 -6
- package/es/rce/plugins/shared/fileShape.js +81 -9
- package/es/rce/plugins/shared/fileTypeUtils.js +6 -0
- package/es/rce/tinymce.oxide.content.min.css.js +732 -0
- package/es/rce/tinymce.oxide.skin.min.css.js +7 -0
- package/es/rcs/api.js +6 -4
- package/es/sidebar/store/configureStore.js +2 -2
- package/{lib/translations/locales/tg.js → es/translations/locales/ab.js} +1 -1
- package/es/translations/locales/cs.js +27 -0
- package/es/translations/locales/cs_CZ.js +27 -0
- package/{lib/translations/locales/sv_SE.js → es/translations/locales/da_DK.js} +2 -2
- package/{lib/translations/locales/se.js → es/translations/locales/en_NZ.js} +2 -2
- package/es/translations/locales/en_SE.js +26 -0
- package/es/translations/locales/en_US.js +26 -0
- package/es/translations/locales/hu_HU.js +27 -0
- package/{lib/translations/locales/ms.js → es/translations/locales/id.js} +632 -632
- package/{lib/translations/locales/th.js → es/translations/locales/id_ID.js} +1 -2
- package/{lib/translations/locales/vi_VN.js → es/translations/locales/ko_KR.js} +2 -2
- package/es/translations/locales/lt.js +26 -0
- package/es/translations/locales/lt_LT.js +26 -0
- package/es/translations/locales/mn_MN.js +26 -0
- package/es/translations/locales/nl_NL.js +27 -0
- package/{lib/translations/locales/es_GT.js → es/translations/locales/ro.js} +3 -3
- package/es/translations/locales/ru.js +2375 -32
- package/es/translations/locales/sv.js +2379 -30
- package/es/translations/locales/th.js +2401 -1
- package/es/translations/locales/tl_PH.js +26 -0
- package/es/translations/locales/tr.js +3 -0
- package/es/translations/locales/vi.js +2396 -8
- package/es/translations/locales/zh_TW.Big5.js +27 -0
- package/{lib/translations/locales/th_TH.js → es/translations/locales/zh_TW.js} +2 -2
- package/jest.config.js +0 -7
- package/package.json +9 -11
- package/scripts/build.js +1 -7
- package/scripts/publish_to_npm.sh +26 -0
- package/canvas/README.md +0 -84
- package/canvas/locales/en.json +0 -934
- package/canvas/package.json +0 -189
- package/es/common/scroll.js +0 -45
- package/es/types/inst-ui.d.js +0 -18
- package/es/types/ts-migration.js +0 -1
- package/lib/bridge/Bridge.js +0 -287
- package/lib/bridge/index.js +0 -21
- package/lib/canvasFileBrowser/FileBrowser.js +0 -452
- package/lib/canvasFileBrowser/en-US.js +0 -234
- package/lib/common/FlashAlert.js +0 -263
- package/lib/common/browser.js +0 -40
- package/lib/common/components/FileTree/File.js +0 -64
- package/lib/common/components/FileTree/Folder.js +0 -110
- package/lib/common/components/FileTree/index.js +0 -84
- package/lib/common/components/FileTree/styles.js +0 -72
- package/lib/common/components/Loading.js +0 -83
- package/lib/common/fileUrl.js +0 -153
- package/lib/common/getCookie.js +0 -32
- package/lib/common/incremental-loading/LoadMoreButton.js +0 -40
- package/lib/common/incremental-loading/LoadingIndicator.js +0 -36
- package/lib/common/incremental-loading/LoadingStatus.js +0 -47
- package/lib/common/incremental-loading/index.js +0 -21
- package/lib/common/incremental-loading/useIncrementalLoading.js +0 -58
- package/lib/common/indicate.js +0 -75
- package/lib/common/mimeClass.js +0 -120
- package/lib/common/natcompare.js +0 -47
- package/lib/common/scroll.js +0 -45
- package/lib/defaultTinymceConfig.js +0 -160
- package/lib/enhance-user-content/doc_previews.js +0 -233
- package/lib/enhance-user-content/enhance_user_content.js +0 -396
- package/lib/enhance-user-content/index.js +0 -21
- package/lib/enhance-user-content/instructure_helper.js +0 -207
- package/lib/enhance-user-content/jqueryish_funcs.js +0 -88
- package/lib/enhance-user-content/mathml.js +0 -397
- package/lib/enhance-user-content/media_comment_thumbnail.js +0 -130
- package/lib/format-message.js +0 -30
- package/lib/getThemeVars.js +0 -45
- package/lib/getTranslations.js +0 -264
- package/lib/index.js +0 -51
- package/lib/rce/AlertMessageArea.js +0 -47
- package/lib/rce/DraggingBlocker.js +0 -43
- package/lib/rce/KeyboardShortcutModal.js +0 -88
- package/lib/rce/RCE.js +0 -150
- package/lib/rce/RCEGlobals.js +0 -62
- package/lib/rce/RCEWrapper.js +0 -4278
- package/lib/rce/RCEWrapperProps.js +0 -130
- package/lib/rce/RceHtmlEditor.js +0 -142
- package/lib/rce/ResizeHandle.js +0 -102
- package/lib/rce/RestoreAutoSaveModal.js +0 -82
- package/lib/rce/ShowOnFocusButton/index.js +0 -93
- package/lib/rce/StatusBar.js +0 -380
- package/lib/rce/__mocks__/_mockCryptoEs.js +0 -124
- package/lib/rce/__mocks__/styleMock.js +0 -18
- package/lib/rce/__mocks__/tinymceReact.js +0 -55
- package/lib/rce/alertHandler.js +0 -46
- package/lib/rce/contentInsertion.js +0 -322
- package/lib/rce/contentInsertionUtils.js +0 -85
- package/lib/rce/contentRendering.js +0 -145
- package/lib/rce/customEvents.js +0 -18
- package/lib/rce/editorLanguage.js +0 -101
- package/lib/rce/indicatorRegion.js +0 -49
- package/lib/rce/normalizeLocale.js +0 -50
- package/lib/rce/normalizeProps.js +0 -29
- package/lib/rce/plugins/instructure-ui-icons/plugin.js +0 -122
- package/lib/rce/plugins/instructure_condensed_buttons/core/ListUtils.js +0 -24
- package/lib/rce/plugins/instructure_condensed_buttons/plugin.js +0 -27
- package/lib/rce/plugins/instructure_condensed_buttons/ui/alignment-button.js +0 -63
- package/lib/rce/plugins/instructure_condensed_buttons/ui/directionality-button.js +0 -48
- package/lib/rce/plugins/instructure_condensed_buttons/ui/indent-outdent-button.js +0 -41
- package/lib/rce/plugins/instructure_condensed_buttons/ui/list-button.js +0 -145
- package/lib/rce/plugins/instructure_condensed_buttons/ui/subscript-superscript-button.js +0 -56
- package/lib/rce/plugins/instructure_documents/clickCallback.js +0 -23
- package/lib/rce/plugins/instructure_documents/components/DocumentsPanel.js +0 -126
- package/lib/rce/plugins/instructure_documents/components/Link.js +0 -219
- package/lib/rce/plugins/instructure_documents/plugin.js +0 -123
- package/lib/rce/plugins/instructure_equation/EquationEditorModal/advancedOnlySyntax.js +0 -25
- package/lib/rce/plugins/instructure_equation/EquationEditorModal/advancedPreference.js +0 -51
- package/lib/rce/plugins/instructure_equation/EquationEditorModal/index.js +0 -321
- package/lib/rce/plugins/instructure_equation/EquationEditorModal/latexTextareaUtil.js +0 -116
- package/lib/rce/plugins/instructure_equation/EquationEditorModal/parseLatex.js +0 -91
- package/lib/rce/plugins/instructure_equation/EquationEditorModal/styles.js +0 -46
- package/lib/rce/plugins/instructure_equation/EquationEditorToolbar/buttons.js +0 -728
- package/lib/rce/plugins/instructure_equation/EquationEditorToolbar/index.js +0 -84
- package/lib/rce/plugins/instructure_equation/MathIcon/index.js +0 -41
- package/lib/rce/plugins/instructure_equation/MathIcon/svgs.js +0 -236
- package/lib/rce/plugins/instructure_equation/clickCallback.js +0 -53
- package/lib/rce/plugins/instructure_equation/mathlive/index.js +0 -36
- package/lib/rce/plugins/instructure_equation/plugin.js +0 -69
- package/lib/rce/plugins/instructure_fullscreen/plugin.js +0 -50
- package/lib/rce/plugins/instructure_html_view/clickCallback.js +0 -21
- package/lib/rce/plugins/instructure_html_view/plugin.js +0 -37
- package/lib/rce/plugins/instructure_icon_maker/clickCallback.js +0 -57
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ColorSection.js +0 -82
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/CreateIconMakerForm.js +0 -56
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Footer.js +0 -78
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Group.js +0 -36
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Header.js +0 -110
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/Course.js +0 -169
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/ImageOptions.js +0 -186
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/ImageSection.js +0 -243
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/ModeSelect.js +0 -64
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/MultiColor/index.js +0 -73
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/MultiColor/svg.js +0 -298
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/SVGList.js +0 -86
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/SVGThumbnail.js +0 -55
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/SingleColor/index.js +0 -70
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/SingleColor/svg.js +0 -317
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/Upload.js +0 -149
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/index.js +0 -18
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/propTypes.js +0 -32
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/utils.js +0 -25
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Preview.js +0 -60
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ShapeSection.js +0 -87
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/TextSection.js +0 -139
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/index.js +0 -18
- package/lib/rce/plugins/instructure_icon_maker/components/IconMakerTray.js +0 -323
- package/lib/rce/plugins/instructure_icon_maker/components/SavedIconMakerList.js +0 -90
- package/lib/rce/plugins/instructure_icon_maker/plugin.js +0 -110
- package/lib/rce/plugins/instructure_icon_maker/reducers/imageSection.js +0 -194
- package/lib/rce/plugins/instructure_icon_maker/reducers/svgSettings.js +0 -98
- package/lib/rce/plugins/instructure_icon_maker/registerEditToolbar.js +0 -56
- package/lib/rce/plugins/instructure_icon_maker/svg/clipPath.js +0 -25
- package/lib/rce/plugins/instructure_icon_maker/svg/constants.js +0 -100
- package/lib/rce/plugins/instructure_icon_maker/svg/font.js +0 -25
- package/lib/rce/plugins/instructure_icon_maker/svg/image.js +0 -354
- package/lib/rce/plugins/instructure_icon_maker/svg/index.js +0 -122
- package/lib/rce/plugins/instructure_icon_maker/svg/metadata.js +0 -48
- package/lib/rce/plugins/instructure_icon_maker/svg/settings.js +0 -179
- package/lib/rce/plugins/instructure_icon_maker/svg/shape.js +0 -316
- package/lib/rce/plugins/instructure_icon_maker/svg/text.js +0 -468
- package/lib/rce/plugins/instructure_icon_maker/svg/utils.js +0 -70
- package/lib/rce/plugins/instructure_icon_maker/utils/IconMakerClose.js +0 -45
- package/lib/rce/plugins/instructure_icon_maker/utils/IconMakerFormHasChanges.js +0 -83
- package/lib/rce/plugins/instructure_icon_maker/utils/addIconMakerAttributes.js +0 -28
- package/lib/rce/plugins/instructure_icon_maker/utils/iconValidation.js +0 -35
- package/lib/rce/plugins/instructure_icon_maker/utils/iconsLabels.js +0 -375
- package/lib/rce/plugins/instructure_icon_maker/utils/useDebouncedValue.js +0 -59
- package/lib/rce/plugins/instructure_image/ImageEmbedOptions.js +0 -202
- package/lib/rce/plugins/instructure_image/ImageList/Image.js +0 -106
- package/lib/rce/plugins/instructure_image/ImageList/index.js +0 -69
- package/lib/rce/plugins/instructure_image/ImageOptionsTray/TrayController.js +0 -166
- package/lib/rce/plugins/instructure_image/ImageOptionsTray/index.js +0 -246
- package/lib/rce/plugins/instructure_image/Images/index.js +0 -129
- package/lib/rce/plugins/instructure_image/clickCallback.js +0 -24
- package/lib/rce/plugins/instructure_image/plugin.js +0 -157
- package/lib/rce/plugins/instructure_links/clickCallback.js +0 -22
- package/lib/rce/plugins/instructure_links/components/AccordionSection.js +0 -60
- package/lib/rce/plugins/instructure_links/components/CollectionPanel.js +0 -84
- package/lib/rce/plugins/instructure_links/components/Link.js +0 -213
- package/lib/rce/plugins/instructure_links/components/LinkOptionsDialog/LinkOptionsDialogController.js +0 -127
- package/lib/rce/plugins/instructure_links/components/LinkOptionsDialog/index.js +0 -141
- package/lib/rce/plugins/instructure_links/components/LinkOptionsTray/LinkOptionsTrayController.js +0 -125
- package/lib/rce/plugins/instructure_links/components/LinkOptionsTray/index.js +0 -245
- package/lib/rce/plugins/instructure_links/components/LinkSet.js +0 -195
- package/lib/rce/plugins/instructure_links/components/LinksPanel.js +0 -100
- package/lib/rce/plugins/instructure_links/components/NavigationPanel.js +0 -141
- package/lib/rce/plugins/instructure_links/components/NoResults.js +0 -87
- package/lib/rce/plugins/instructure_links/components/propTypes.js +0 -41
- package/lib/rce/plugins/instructure_links/plugin.js +0 -294
- package/lib/rce/plugins/instructure_links/validateURL.js +0 -70
- package/lib/rce/plugins/instructure_media_embed/clickCallback.js +0 -48
- package/lib/rce/plugins/instructure_media_embed/components/Embed.js +0 -68
- package/lib/rce/plugins/instructure_media_embed/plugin.js +0 -36
- package/lib/rce/plugins/instructure_paste/pasteMenuCommand.js +0 -117
- package/lib/rce/plugins/instructure_paste/plugin.js +0 -174
- package/lib/rce/plugins/instructure_rce_external_tools/ExternalToolsEnv.js +0 -169
- package/lib/rce/plugins/instructure_rce_external_tools/RceToolWrapper.js +0 -225
- package/lib/rce/plugins/instructure_rce_external_tools/components/ExternalToolDialog/ExternalToolDialog.js +0 -294
- package/lib/rce/plugins/instructure_rce_external_tools/components/ExternalToolDialog/ExternalToolDialogModal.js +0 -46
- package/lib/rce/plugins/instructure_rce_external_tools/components/ExternalToolDialog/ExternalToolDialogTray.js +0 -79
- package/lib/rce/plugins/instructure_rce_external_tools/components/ExternalToolSelectionDialog/ExternalToolSelectionDialog.js +0 -153
- package/lib/rce/plugins/instructure_rce_external_tools/components/ExternalToolSelectionDialog/ExternalToolSelectionItem.js +0 -94
- package/lib/rce/plugins/instructure_rce_external_tools/components/util/ExpandoText.js +0 -90
- package/lib/rce/plugins/instructure_rce_external_tools/components/util/ToolLaunchIframe.js +0 -35
- package/lib/rce/plugins/instructure_rce_external_tools/dialog-helper.js +0 -29
- package/lib/rce/plugins/instructure_rce_external_tools/helpers/tags.js +0 -55
- package/lib/rce/plugins/instructure_rce_external_tools/jquery/jquery.dropdownList.js +0 -172
- package/lib/rce/plugins/instructure_rce_external_tools/lti11-content-items/RceLti11ContentItem.js +0 -203
- package/lib/rce/plugins/instructure_rce_external_tools/lti13-content-items/RceLti13ContentItem.js +0 -111
- package/lib/rce/plugins/instructure_rce_external_tools/lti13-content-items/models/BaseLinkContentItem.js +0 -79
- package/lib/rce/plugins/instructure_rce_external_tools/lti13-content-items/models/HtmlFragmentContentItem.js +0 -47
- package/lib/rce/plugins/instructure_rce_external_tools/lti13-content-items/models/ImageContentItem.js +0 -57
- package/lib/rce/plugins/instructure_rce_external_tools/lti13-content-items/models/LinkContentItem.js +0 -26
- package/lib/rce/plugins/instructure_rce_external_tools/lti13-content-items/models/ResourceLinkContentItem.js +0 -45
- package/lib/rce/plugins/instructure_rce_external_tools/lti13-content-items/processEditorContentItems.js +0 -67
- package/lib/rce/plugins/instructure_rce_external_tools/lti13-content-items/rceLti13ContentItemFromJson.js +0 -48
- package/lib/rce/plugins/instructure_rce_external_tools/plugin.js +0 -112
- package/lib/rce/plugins/instructure_rce_external_tools/util/addParentFrameContextToUrl.js +0 -27
- package/lib/rce/plugins/instructure_record/AudioOptionsTray/TrayController.js +0 -127
- package/lib/rce/plugins/instructure_record/AudioOptionsTray/index.js +0 -148
- package/lib/rce/plugins/instructure_record/MediaPanel/index.js +0 -129
- package/lib/rce/plugins/instructure_record/VideoOptionsTray/TrayController.js +0 -215
- package/lib/rce/plugins/instructure_record/VideoOptionsTray/index.js +0 -321
- package/lib/rce/plugins/instructure_record/clickCallback.js +0 -105
- package/lib/rce/plugins/instructure_record/mediaTranslations.js +0 -94
- package/lib/rce/plugins/instructure_record/plugin.js +0 -173
- package/lib/rce/plugins/instructure_studio_media_options/plugin.js +0 -42
- package/lib/rce/plugins/instructure_wordcount/clickCallback.js +0 -49
- package/lib/rce/plugins/instructure_wordcount/components/WordCountModal.js +0 -88
- package/lib/rce/plugins/instructure_wordcount/plugin.js +0 -30
- package/lib/rce/plugins/instructure_wordcount/utils/countContent.js +0 -78
- package/lib/rce/plugins/instructure_wordcount/utils/tableContent.js +0 -40
- package/lib/rce/plugins/shared/CanvasContentTray.js +0 -580
- package/lib/rce/plugins/shared/CheckerboardStyling.js +0 -25
- package/lib/rce/plugins/shared/ColorInput.js +0 -233
- package/lib/rce/plugins/shared/ConditionalTooltip.js +0 -32
- package/lib/rce/plugins/shared/ContentSelection.js +0 -269
- package/lib/rce/plugins/shared/DimensionUtils.js +0 -66
- package/lib/rce/plugins/shared/DimensionsInput/DimensionInput.js +0 -62
- package/lib/rce/plugins/shared/DimensionsInput/index.js +0 -161
- package/lib/rce/plugins/shared/DimensionsInput/useDimensionsState.js +0 -220
- package/lib/rce/plugins/shared/ErrorBoundary.js +0 -54
- package/lib/rce/plugins/shared/EventUtils.js +0 -39
- package/lib/rce/plugins/shared/Filter.js +0 -353
- package/lib/rce/plugins/shared/FixedContentTray.js +0 -115
- package/lib/rce/plugins/shared/ImageCropper/DirectionRegion.js +0 -67
- package/lib/rce/plugins/shared/ImageCropper/Modal.js +0 -153
- package/lib/rce/plugins/shared/ImageCropper/Preview.js +0 -148
- package/lib/rce/plugins/shared/ImageCropper/constants.js +0 -39
- package/lib/rce/plugins/shared/ImageCropper/controls/CustomNumberInput.js +0 -83
- package/lib/rce/plugins/shared/ImageCropper/controls/ResetControls.js +0 -38
- package/lib/rce/plugins/shared/ImageCropper/controls/RotationControls.js +0 -89
- package/lib/rce/plugins/shared/ImageCropper/controls/ShapeControls.js +0 -82
- package/lib/rce/plugins/shared/ImageCropper/controls/ZoomControls.js +0 -111
- package/lib/rce/plugins/shared/ImageCropper/controls/index.js +0 -61
- package/lib/rce/plugins/shared/ImageCropper/controls/useDebouncedNumericValue.js +0 -94
- package/lib/rce/plugins/shared/ImageCropper/controls/utils.js +0 -41
- package/lib/rce/plugins/shared/ImageCropper/imageCropUtils.js +0 -149
- package/lib/rce/plugins/shared/ImageCropper/index.js +0 -18
- package/lib/rce/plugins/shared/ImageCropper/propTypes.js +0 -26
- package/lib/rce/plugins/shared/ImageCropper/reducers/imageCropper.js +0 -72
- package/lib/rce/plugins/shared/ImageCropper/shape.js +0 -27
- package/lib/rce/plugins/shared/ImageCropper/svg/index.js +0 -89
- package/lib/rce/plugins/shared/ImageCropper/svg/shape.js +0 -125
- package/lib/rce/plugins/shared/ImageCropper/svg/utils.js +0 -26
- package/lib/rce/plugins/shared/ImageCropper/useKeyMouseEvents.js +0 -233
- package/lib/rce/plugins/shared/ImageCropper/useMouseWheel.js +0 -66
- package/lib/rce/plugins/shared/ImageOptionsForm.js +0 -140
- package/lib/rce/plugins/shared/LinkDisplay.js +0 -96
- package/lib/rce/plugins/shared/PreviewIcon.js +0 -112
- package/lib/rce/plugins/shared/Previewable.js +0 -22
- package/lib/rce/plugins/shared/RceFileBrowser.js +0 -106
- package/lib/rce/plugins/shared/StoreContext.js +0 -57
- package/lib/rce/plugins/shared/StudioLtiSupportUtils.js +0 -71
- package/lib/rce/plugins/shared/UnknownFileTypePanel.js +0 -29
- package/lib/rce/plugins/shared/Upload/CategoryProcessor.js +0 -27
- package/lib/rce/plugins/shared/Upload/ComputerPanel.js +0 -334
- package/lib/rce/plugins/shared/Upload/SvgCategoryProcessor.js +0 -35
- package/lib/rce/plugins/shared/Upload/UploadFile.js +0 -171
- package/lib/rce/plugins/shared/Upload/UploadFileModal.js +0 -273
- package/lib/rce/plugins/shared/Upload/UrlPanel.js +0 -38
- package/lib/rce/plugins/shared/Upload/UsageRightsSelectBox.js +0 -172
- package/lib/rce/plugins/shared/Upload/doFileUpload.js +0 -77
- package/lib/rce/plugins/shared/__mocks__/screenfull.js +0 -24
- package/lib/rce/plugins/shared/buildDownloadUrl.js +0 -31
- package/lib/rce/plugins/shared/compressionUtils.js +0 -98
- package/lib/rce/plugins/shared/dateUtils.js +0 -28
- package/lib/rce/plugins/shared/fileShape.js +0 -57
- package/lib/rce/plugins/shared/fileTypeUtils.js +0 -133
- package/lib/rce/plugins/shared/fileUtils.js +0 -25
- package/lib/rce/plugins/shared/linkUtils.js +0 -89
- package/lib/rce/plugins/shared/round.js +0 -25
- package/lib/rce/plugins/shared/trayUtils.js +0 -34
- package/lib/rce/plugins/shared/useDataUrl.js +0 -76
- package/lib/rce/plugins/tinymce-a11y-checker/components/ColorField.js +0 -86
- package/lib/rce/plugins/tinymce-a11y-checker/components/checker.js +0 -558
- package/lib/rce/plugins/tinymce-a11y-checker/components/color-picker.js +0 -59
- package/lib/rce/plugins/tinymce-a11y-checker/components/placeholder-svg.js +0 -90
- package/lib/rce/plugins/tinymce-a11y-checker/components/pointer.js +0 -32
- package/lib/rce/plugins/tinymce-a11y-checker/node-checker.js +0 -54
- package/lib/rce/plugins/tinymce-a11y-checker/plugin.js +0 -90
- package/lib/rce/plugins/tinymce-a11y-checker/rules/__mocks__/index.js +0 -53
- package/lib/rce/plugins/tinymce-a11y-checker/rules/adjacent-links.js +0 -129
- package/lib/rce/plugins/tinymce-a11y-checker/rules/headings-sequence.js +0 -200
- package/lib/rce/plugins/tinymce-a11y-checker/rules/headings-start-at-h2.js +0 -67
- package/lib/rce/plugins/tinymce-a11y-checker/rules/img-alt-filename.js +0 -63
- package/lib/rce/plugins/tinymce-a11y-checker/rules/img-alt-length.js +0 -49
- package/lib/rce/plugins/tinymce-a11y-checker/rules/img-alt.js +0 -61
- package/lib/rce/plugins/tinymce-a11y-checker/rules/index.js +0 -31
- package/lib/rce/plugins/tinymce-a11y-checker/rules/large-text-contrast.js +0 -51
- package/lib/rce/plugins/tinymce-a11y-checker/rules/list-structure.js +0 -144
- package/lib/rce/plugins/tinymce-a11y-checker/rules/paragraphs-for-headings.js +0 -61
- package/lib/rce/plugins/tinymce-a11y-checker/rules/small-text-contrast.js +0 -75
- package/lib/rce/plugins/tinymce-a11y-checker/rules/table-caption.js +0 -54
- package/lib/rce/plugins/tinymce-a11y-checker/rules/table-header-scope.js +0 -52
- package/lib/rce/plugins/tinymce-a11y-checker/rules/table-header.js +0 -81
- package/lib/rce/plugins/tinymce-a11y-checker/utils/colors.js +0 -43
- package/lib/rce/plugins/tinymce-a11y-checker/utils/describe.js +0 -66
- package/lib/rce/plugins/tinymce-a11y-checker/utils/dom.js +0 -160
- package/lib/rce/plugins/tinymce-a11y-checker/utils/indicate.js +0 -83
- package/lib/rce/plugins/tinymce-a11y-checker/utils/rgb-hex.js +0 -57
- package/lib/rce/plugins/tinymce-a11y-checker/utils/strings.js +0 -40
- package/lib/rce/root.js +0 -58
- package/lib/rce/sanitizePlugins.js +0 -32
- package/lib/rce/style.js +0 -843
- package/lib/rce/tinyRCE.js +0 -66
- package/lib/rce/transformContent.js +0 -73
- package/lib/rce/userOS.js +0 -31
- package/lib/rce/wrapInitCb.js +0 -78
- package/lib/rcs/api.js +0 -670
- package/lib/rcs/buildError.js +0 -98
- package/lib/rcs/fake.js +0 -621
- package/lib/sidebar/actions/all_files.js +0 -29
- package/lib/sidebar/actions/data.js +0 -105
- package/lib/sidebar/actions/documents.js +0 -107
- package/lib/sidebar/actions/files.js +0 -167
- package/lib/sidebar/actions/filter.js +0 -63
- package/lib/sidebar/actions/flickr.js +0 -60
- package/lib/sidebar/actions/images.js +0 -153
- package/lib/sidebar/actions/links.js +0 -23
- package/lib/sidebar/actions/media.js +0 -142
- package/lib/sidebar/actions/session.js +0 -34
- package/lib/sidebar/actions/ui.js +0 -49
- package/lib/sidebar/actions/upload.js +0 -550
- package/lib/sidebar/containers/Sidebar.js +0 -67
- package/lib/sidebar/containers/sidebarHandlers.js +0 -73
- package/lib/sidebar/dragHtml.js +0 -49
- package/lib/sidebar/reducers/all_files.js +0 -35
- package/lib/sidebar/reducers/collection.js +0 -72
- package/lib/sidebar/reducers/collections.js +0 -52
- package/lib/sidebar/reducers/documents.js +0 -89
- package/lib/sidebar/reducers/files.js +0 -38
- package/lib/sidebar/reducers/filter.js +0 -61
- package/lib/sidebar/reducers/flickr.js +0 -51
- package/lib/sidebar/reducers/folder.js +0 -92
- package/lib/sidebar/reducers/folders.js +0 -39
- package/lib/sidebar/reducers/images.js +0 -115
- package/lib/sidebar/reducers/index.js +0 -57
- package/lib/sidebar/reducers/media.js +0 -84
- package/lib/sidebar/reducers/newPageLinkExpanded.js +0 -30
- package/lib/sidebar/reducers/noop.js +0 -21
- package/lib/sidebar/reducers/rootFolderId.js +0 -30
- package/lib/sidebar/reducers/session.js +0 -33
- package/lib/sidebar/reducers/ui.js +0 -87
- package/lib/sidebar/reducers/upload.js +0 -206
- package/lib/sidebar/store/configureStore.js +0 -26
- package/lib/sidebar/store/initialState.js +0 -173
- package/lib/translations/locales/ar.js +0 -2427
- package/lib/translations/locales/ca.js +0 -2427
- package/lib/translations/locales/cy.js +0 -2427
- package/lib/translations/locales/da-x-k12.js +0 -2427
- package/lib/translations/locales/da.js +0 -2427
- package/lib/translations/locales/de.js +0 -2427
- package/lib/translations/locales/el.js +0 -459
- package/lib/translations/locales/en-AU-x-unimelb.js +0 -2427
- package/lib/translations/locales/en-GB-x-ukhe.js +0 -2427
- package/lib/translations/locales/en.js +0 -2427
- package/lib/translations/locales/en_AU.js +0 -2427
- package/lib/translations/locales/en_CA.js +0 -2426
- package/lib/translations/locales/en_CY.js +0 -2426
- package/lib/translations/locales/en_GB.js +0 -2427
- package/lib/translations/locales/es.js +0 -2427
- package/lib/translations/locales/es_ES.js +0 -2427
- package/lib/translations/locales/fa_IR.js +0 -615
- package/lib/translations/locales/fi.js +0 -2427
- package/lib/translations/locales/fr.js +0 -2427
- package/lib/translations/locales/fr_CA.js +0 -2427
- package/lib/translations/locales/he.js +0 -486
- package/lib/translations/locales/ht.js +0 -2426
- package/lib/translations/locales/hu.js +0 -2007
- package/lib/translations/locales/hy.js +0 -444
- package/lib/translations/locales/is.js +0 -2426
- package/lib/translations/locales/it.js +0 -2427
- package/lib/translations/locales/ja.js +0 -2427
- package/lib/translations/locales/ko.js +0 -342
- package/lib/translations/locales/mi.js +0 -2426
- package/lib/translations/locales/nb-x-k12.js +0 -2427
- package/lib/translations/locales/nb.js +0 -2427
- package/lib/translations/locales/nl.js +0 -2427
- package/lib/translations/locales/nn.js +0 -2247
- package/lib/translations/locales/pl.js +0 -2427
- package/lib/translations/locales/pt.js +0 -2427
- package/lib/translations/locales/pt_BR.js +0 -2427
- package/lib/translations/locales/ru.js +0 -84
- package/lib/translations/locales/sl.js +0 -2427
- package/lib/translations/locales/sv-x-k12.js +0 -2427
- package/lib/translations/locales/sv.js +0 -78
- package/lib/translations/locales/tr.js +0 -684
- package/lib/translations/locales/uk_UA.js +0 -519
- package/lib/translations/locales/vi.js +0 -39
- package/lib/translations/locales/zh-Hans.js +0 -2427
- package/lib/translations/locales/zh-Hant.js +0 -2427
- package/lib/translations/locales/zh.js +0 -2427
- package/lib/translations/locales/zh_HK.js +0 -2427
- package/lib/translations/tinymce/ar_SA.js +0 -211
- package/lib/translations/tinymce/bg_BG.js +0 -419
- package/lib/translations/tinymce/ca.js +0 -419
- package/lib/translations/tinymce/cs.js +0 -419
- package/lib/translations/tinymce/cy.js +0 -418
- package/lib/translations/tinymce/da.js +0 -419
- package/lib/translations/tinymce/de.js +0 -419
- package/lib/translations/tinymce/el.js +0 -261
- package/lib/translations/tinymce/en_GB.js +0 -230
- package/lib/translations/tinymce/es.js +0 -419
- package/lib/translations/tinymce/fa_IR.js +0 -390
- package/lib/translations/tinymce/fi.js +0 -19
- package/lib/translations/tinymce/fr_FR.js +0 -419
- package/lib/translations/tinymce/he_IL.js +0 -420
- package/lib/translations/tinymce/hu_HU.js +0 -419
- package/lib/translations/tinymce/hy.js +0 -419
- package/lib/translations/tinymce/it.js +0 -419
- package/lib/translations/tinymce/ja.js +0 -419
- package/lib/translations/tinymce/ko_KR.js +0 -419
- package/lib/translations/tinymce/nb_NO.js +0 -419
- package/lib/translations/tinymce/nl.js +0 -419
- package/lib/translations/tinymce/pl.js +0 -419
- package/lib/translations/tinymce/pt_BR.js +0 -419
- package/lib/translations/tinymce/pt_PT.js +0 -419
- package/lib/translations/tinymce/ro.js +0 -418
- package/lib/translations/tinymce/ru.js +0 -436
- package/lib/translations/tinymce/ru_RU.js +0 -71
- package/lib/translations/tinymce/sl.js +0 -462
- package/lib/translations/tinymce/sr.js +0 -278
- package/lib/translations/tinymce/sv_SE.js +0 -419
- package/lib/translations/tinymce/th.js +0 -479
- package/lib/translations/tinymce/tr_TR.js +0 -389
- package/lib/translations/tinymce/uk_UA.js +0 -278
- package/lib/translations/tinymce/vi_VN.js +0 -277
- package/lib/translations/tinymce/zh_CN.js +0 -419
- package/lib/translations/tinymce/zh_TW.js +0 -419
- package/lib/types/inst-ui.d.js +0 -18
- package/lib/types/ts-migration.js +0 -1
- package/lib/util/DeepPartialNullable.js +0 -1
- package/lib/util/ExtractRequired.js +0 -1
- package/lib/util/TypedDict.js +0 -131
- package/lib/util/assertNever.js +0 -44
- package/lib/util/elem-util.js +0 -26
- package/lib/util/encrypted-storage.js +0 -84
- package/lib/util/file-url-util.js +0 -44
- package/lib/util/fullscreenHelpers.js +0 -27
- package/lib/util/instui-icon-helper.js +0 -31
- package/lib/util/loadingPlaceholder.js +0 -436
- package/lib/util/simpleCache.js +0 -41
- package/lib/util/string-util.js +0 -48
- package/lib/util/textarea-editing-util.js +0 -87
- package/lib/util/tinymce-plugin-util.js +0 -52
- 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
|
-
}
|
package/lib/format-message.js
DELETED
|
@@ -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;
|
package/lib/getThemeVars.js
DELETED
|
@@ -1,45 +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
|
-
defaultThemeKey,
|
|
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 variables = cloneDeep(themes[defaultThemeKey !== null && defaultThemeKey !== void 0 ? defaultThemeKey : 'canvas']);
|
|
37
|
-
merge(variables, overrides);
|
|
38
|
-
memoizedVariables = {
|
|
39
|
-
variables,
|
|
40
|
-
key: defaultThemeKey
|
|
41
|
-
};
|
|
42
|
-
return memoizedVariables;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
export { getThemeVars };
|