@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.
- package/CHANGELOG.md +8 -0
- package/babel-register.js +0 -7
- package/babel.config.cjs.js +0 -7
- package/babel.config.js +0 -9
- 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/index.js +1 -1
- package/es/rce/RCEWrapper.js +3 -2322
- 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/tinymce.oxide.content.min.css.js +732 -0
- package/es/rce/tinymce.oxide.skin.min.css.js +7 -0
- package/jest.config.js +0 -7
- package/package.json +1 -5
- package/scripts/build.js +1 -7
- package/lib/bridge/Bridge.js +0 -287
- package/lib/bridge/index.js +0 -21
- package/lib/canvasFileBrowser/FileBrowser.js +0 -457
- 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 -152
- 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/defaultTinymceConfig.js +0 -160
- package/lib/elementDenylist.js +0 -19
- 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 -46
- package/lib/getTranslations.js +0 -340
- 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 -4274
- 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 -386
- 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 -325
- 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 -120
- 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 -91
- 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 -122
- 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 -297
- 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/Lti13ContentItemJson.js +0 -23
- 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 -47
- 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 -152
- package/lib/rce/plugins/instructure_record/AudioOptionsTray/index.js +0 -154
- package/lib/rce/plugins/instructure_record/MediaPanel/index.js +0 -123
- package/lib/rce/plugins/instructure_record/VideoOptionsTray/TrayController.js +0 -240
- package/lib/rce/plugins/instructure_record/VideoOptionsTray/index.js +0 -350
- 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 -129
- package/lib/rce/plugins/shared/fileTypeUtils.js +0 -139
- 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 -672
- 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/ab.js +0 -26
- package/lib/translations/locales/ar.js +0 -2427
- package/lib/translations/locales/ca.js +0 -2427
- package/lib/translations/locales/cs.js +0 -27
- package/lib/translations/locales/cs_CZ.js +0 -27
- 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/da_DK.js +0 -27
- 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/en_NZ.js +0 -26
- package/lib/translations/locales/en_SE.js +0 -26
- package/lib/translations/locales/en_US.js +0 -26
- package/lib/translations/locales/es.js +0 -2427
- package/lib/translations/locales/es_ES.js +0 -2427
- package/lib/translations/locales/es_GT.js +0 -27
- 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/hu_HU.js +0 -27
- package/lib/translations/locales/hy.js +0 -444
- package/lib/translations/locales/id.js +0 -2426
- package/lib/translations/locales/id_ID.js +0 -26
- 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/ko_KR.js +0 -27
- package/lib/translations/locales/lt.js +0 -26
- package/lib/translations/locales/lt_LT.js +0 -26
- package/lib/translations/locales/mi.js +0 -2426
- package/lib/translations/locales/mn_MN.js +0 -26
- package/lib/translations/locales/ms.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/nl_NL.js +0 -27
- 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/ro.js +0 -27
- package/lib/translations/locales/ru.js +0 -2427
- package/lib/translations/locales/se.js +0 -26
- 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 -2427
- package/lib/translations/locales/sv_SE.js +0 -27
- package/lib/translations/locales/tg.js +0 -26
- package/lib/translations/locales/th.js +0 -2427
- package/lib/translations/locales/th_TH.js +0 -27
- package/lib/translations/locales/tl_PH.js +0 -26
- package/lib/translations/locales/tr.js +0 -687
- package/lib/translations/locales/uk_UA.js +0 -519
- package/lib/translations/locales/vi.js +0 -2427
- package/lib/translations/locales/vi_VN.js +0 -27
- 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/locales/zh_TW.Big5.js +0 -27
- package/lib/translations/locales/zh_TW.js +0 -27
- 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/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,130 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (C) 2018 - present Instructure, Inc.
|
|
3
|
-
*
|
|
4
|
-
* This file is part of Canvas.
|
|
5
|
-
*
|
|
6
|
-
* Canvas is free software: you can redistribute it and/or modify it under
|
|
7
|
-
* the terms of the GNU Affero General Public License as published by the Free
|
|
8
|
-
* Software Foundation, version 3 of the License.
|
|
9
|
-
*
|
|
10
|
-
* Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
11
|
-
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
|
12
|
-
* A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
|
|
13
|
-
* details.
|
|
14
|
-
*
|
|
15
|
-
* You should have received a copy of the GNU Affero General Public License along
|
|
16
|
-
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
|
-
*/
|
|
18
|
-
import PropTypes from 'prop-types';
|
|
19
|
-
import { trayPropTypes } from './plugins/shared/CanvasContentTray';
|
|
20
|
-
import { PRETTY_HTML_EDITOR_VIEW, RAW_HTML_EDITOR_VIEW, WYSIWYG_VIEW } from './StatusBar'; // This file contains the prop types for the RCEWrapper component, so that types can be shared without having
|
|
21
|
-
// to refactor RCEWrapper.js into typescript.
|
|
22
|
-
|
|
23
|
-
export const toolbarPropType = PropTypes.arrayOf(PropTypes.shape({
|
|
24
|
-
// name of the toolbar the items are added to
|
|
25
|
-
// if this toolbar doesn't exist, it is created
|
|
26
|
-
// tinymce toolbar config does not
|
|
27
|
-
// include a key to identify the individual toolbars, just a name
|
|
28
|
-
// which is translated. This toolbar's name must be translated
|
|
29
|
-
// in order to be merged correctly.
|
|
30
|
-
name: PropTypes.string.isRequired,
|
|
31
|
-
// items added to the toolbar
|
|
32
|
-
// each is the name of the button some plugin has
|
|
33
|
-
// registered with tinymce
|
|
34
|
-
items: PropTypes.arrayOf(PropTypes.string).isRequired
|
|
35
|
-
}));
|
|
36
|
-
export const menuPropType = PropTypes.objectOf( // the key is the name of the menu item a plugin has
|
|
37
|
-
// registered with tinymce. If it does not exist in the
|
|
38
|
-
// default menubar, it will be added.
|
|
39
|
-
PropTypes.shape({
|
|
40
|
-
// if this is a new menu in the menubar, title is it's label.
|
|
41
|
-
// if these are items being merged into an existing menu, title is ignored
|
|
42
|
-
title: PropTypes.string,
|
|
43
|
-
// items is a space separated list it menu_items
|
|
44
|
-
// some plugin has registered with tinymce
|
|
45
|
-
items: PropTypes.string.isRequired
|
|
46
|
-
}));
|
|
47
|
-
export const ltiToolsPropType = PropTypes.arrayOf(PropTypes.shape({
|
|
48
|
-
// id of the tool
|
|
49
|
-
id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
|
|
50
|
-
// is this a favorite tool?
|
|
51
|
-
favorite: PropTypes.bool,
|
|
52
|
-
name: PropTypes.string,
|
|
53
|
-
description: PropTypes.string,
|
|
54
|
-
icon_url: PropTypes.string,
|
|
55
|
-
height: PropTypes.number,
|
|
56
|
-
width: PropTypes.number,
|
|
57
|
-
use_tray: PropTypes.bool,
|
|
58
|
-
canvas_icon_class: PropTypes.oneOfType([PropTypes.string, // Sometimes this is an object with an icon_url. Not sure why, see MAT-1354
|
|
59
|
-
PropTypes.shape({
|
|
60
|
-
icon_url: PropTypes.string
|
|
61
|
-
}), PropTypes.any])
|
|
62
|
-
}));
|
|
63
|
-
export const editorOptionsPropType = PropTypes.shape({
|
|
64
|
-
// height of the RCE.
|
|
65
|
-
// if a number interpreted as pixels.
|
|
66
|
-
// if a string as a CSS value.
|
|
67
|
-
height: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
|
|
68
|
-
// entries you want merged into the toolbar. See toolBarPropType above.
|
|
69
|
-
toolbar: toolbarPropType,
|
|
70
|
-
// entries you want merged into to the menus. See menuPropType above.
|
|
71
|
-
// If an entry defines a new menu, tinymce's menubar config option will
|
|
72
|
-
// be updated for you. In fact, if you provide an editorOptions.menubar value
|
|
73
|
-
// it will be overwritten.
|
|
74
|
-
menu: menuPropType,
|
|
75
|
-
// additional plugins that get merged into the default list of plugins
|
|
76
|
-
// it is up to you to import the plugin's definition which will
|
|
77
|
-
// register it and any related toolbar or menu entries with tinymce.
|
|
78
|
-
plugins: PropTypes.arrayOf(PropTypes.string),
|
|
79
|
-
// is this RCE readonly?
|
|
80
|
-
readonly: PropTypes.bool,
|
|
81
|
-
selector: PropTypes.string,
|
|
82
|
-
init_instance_callback: PropTypes.func
|
|
83
|
-
});
|
|
84
|
-
export const externalToolsConfigPropType = PropTypes.shape({
|
|
85
|
-
// List of iframe allow statements to used with LTI iframes.
|
|
86
|
-
ltiIframeAllowances: PropTypes.arrayOf(PropTypes.string),
|
|
87
|
-
// Tool id of the LTI tool using the RCE. Used to allow the RCE to launch additional LTI tools from Canvas.
|
|
88
|
-
containingCanvasLtiToolId: PropTypes.string,
|
|
89
|
-
// Override URL for LTI resource selection
|
|
90
|
-
resourceSelectionUrlOverride: PropTypes.string,
|
|
91
|
-
isA2StudentView: PropTypes.bool,
|
|
92
|
-
maxMruTools: PropTypes.number
|
|
93
|
-
});
|
|
94
|
-
export const rceWrapperPropTypes = {
|
|
95
|
-
autosave: PropTypes.shape({
|
|
96
|
-
enabled: PropTypes.bool,
|
|
97
|
-
maxAge: PropTypes.number
|
|
98
|
-
}),
|
|
99
|
-
canvasOrigin: PropTypes.string,
|
|
100
|
-
defaultContent: PropTypes.string,
|
|
101
|
-
editorOptions: editorOptionsPropType,
|
|
102
|
-
handleUnmount: PropTypes.func,
|
|
103
|
-
editorView: PropTypes.oneOf([WYSIWYG_VIEW, PRETTY_HTML_EDITOR_VIEW, RAW_HTML_EDITOR_VIEW]),
|
|
104
|
-
renderKBShortcutModal: PropTypes.bool,
|
|
105
|
-
id: PropTypes.string,
|
|
106
|
-
language: PropTypes.string,
|
|
107
|
-
liveRegion: PropTypes.func.isRequired,
|
|
108
|
-
ltiTools: ltiToolsPropType,
|
|
109
|
-
onContentChange: PropTypes.func,
|
|
110
|
-
onFocus: PropTypes.func,
|
|
111
|
-
onBlur: PropTypes.func,
|
|
112
|
-
onInitted: PropTypes.func,
|
|
113
|
-
onRemove: PropTypes.func,
|
|
114
|
-
textareaClassName: PropTypes.string,
|
|
115
|
-
textareaId: PropTypes.string.isRequired,
|
|
116
|
-
readOnly: PropTypes.bool,
|
|
117
|
-
tinymce: PropTypes.object,
|
|
118
|
-
trayProps: trayPropTypes,
|
|
119
|
-
toolbar: toolbarPropType,
|
|
120
|
-
menu: menuPropType,
|
|
121
|
-
instRecordDisabled: PropTypes.bool,
|
|
122
|
-
highContrastCSS: PropTypes.arrayOf(PropTypes.string),
|
|
123
|
-
maxInitRenderedRCEs: PropTypes.number,
|
|
124
|
-
use_rce_icon_maker: PropTypes.bool,
|
|
125
|
-
features: PropTypes.objectOf(PropTypes.bool),
|
|
126
|
-
flashAlertTimeout: PropTypes.number,
|
|
127
|
-
timezone: PropTypes.string,
|
|
128
|
-
userCacheKey: PropTypes.string,
|
|
129
|
-
externalToolsConfig: externalToolsConfigPropType
|
|
130
|
-
};
|
package/lib/rce/RceHtmlEditor.js
DELETED
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (C) 2020 - 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 React, { useCallback, useEffect, useRef, useState } from 'react';
|
|
19
|
-
import { func, string } from 'prop-types';
|
|
20
|
-
import formatMessage from '../format-message';
|
|
21
|
-
import { CodeEditor } from '@instructure/ui-code-editor';
|
|
22
|
-
import beautify from 'js-beautify';
|
|
23
|
-
const RceHtmlEditor = /*#__PURE__*/React.forwardRef((_ref, editorRef) => {
|
|
24
|
-
let {
|
|
25
|
-
onFocus,
|
|
26
|
-
...props
|
|
27
|
-
} = _ref;
|
|
28
|
-
const [code, setCode] = useState(props.code);
|
|
29
|
-
const label = formatMessage('html code editor');
|
|
30
|
-
const [dir, setDir] = useState(getComputedStyle(document.body, null).direction);
|
|
31
|
-
const [codeMirrorEditorDiv, setCodeMirrorEditorDiv] = useState(null);
|
|
32
|
-
useEffect(() => {
|
|
33
|
-
;
|
|
34
|
-
|
|
35
|
-
(async () => {
|
|
36
|
-
const p = new Promise(resolve => {
|
|
37
|
-
const timerid = setInterval(() => {
|
|
38
|
-
// scoping querySelector to the container div makes sure we're targeting this CodeEditor
|
|
39
|
-
// The CodeMirror docs (https://codemirror.net/doc/manual.html#styling)
|
|
40
|
-
// say this is the element we use to set the editor's height
|
|
41
|
-
const editor = editorRef.current.querySelector('.CodeMirror');
|
|
42
|
-
|
|
43
|
-
if (editor) {
|
|
44
|
-
clearInterval(timerid);
|
|
45
|
-
setCodeMirrorEditorDiv(editor);
|
|
46
|
-
resolve();
|
|
47
|
-
}
|
|
48
|
-
}, 60);
|
|
49
|
-
});
|
|
50
|
-
await p;
|
|
51
|
-
})();
|
|
52
|
-
}, [editorRef]);
|
|
53
|
-
useEffect(() => {
|
|
54
|
-
setCode(beautify.html(props.code)); // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
55
|
-
}, []);
|
|
56
|
-
useEffect(() => {
|
|
57
|
-
// INSTUI sets the CodeEditor's surrounding label's
|
|
58
|
-
// display inline-block so it doesn't fill the width
|
|
59
|
-
// of its container unless there's wide content.
|
|
60
|
-
// Override that.
|
|
61
|
-
// It would be nice to use webpack's style-loader
|
|
62
|
-
// but babel doesn't copy css files to its output
|
|
63
|
-
// dir, and the instui babel plugin mangles class names
|
|
64
|
-
// the simplest approach is to manually inject the stylesheet
|
|
65
|
-
if (!document.getElementById('RceHtmlEditorStyle')) {
|
|
66
|
-
const stylesheet = document.createElement('style');
|
|
67
|
-
stylesheet.setAttribute('id', 'RceHtmlEditorStyle');
|
|
68
|
-
stylesheet.setAttribute('type', 'text/css');
|
|
69
|
-
stylesheet.textContent = `
|
|
70
|
-
.RceHtmlEditor label {
|
|
71
|
-
display: block;
|
|
72
|
-
margin-bottom: 0; /* get rid of the margin on CodeEditor's label */
|
|
73
|
-
}
|
|
74
|
-
`;
|
|
75
|
-
document.head.appendChild(stylesheet);
|
|
76
|
-
} // odds are, this won't change the dir.
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
setDir(getComputedStyle(editorRef.current || document.body, null).direction);
|
|
80
|
-
}, [dir, editorRef]);
|
|
81
|
-
useEffect(() => {
|
|
82
|
-
if (codeMirrorEditorDiv) {
|
|
83
|
-
codeMirrorEditorDiv.CodeMirror.setSize(null, props.height);
|
|
84
|
-
codeMirrorEditorDiv.style.margin = '0';
|
|
85
|
-
codeMirrorEditorDiv.style.border = '0';
|
|
86
|
-
}
|
|
87
|
-
}, [codeMirrorEditorDiv, props.height]);
|
|
88
|
-
const isFocused = useRef(false); // move cursor to the top of the html code when the editor is focused for the first time
|
|
89
|
-
|
|
90
|
-
const handleFocus = useCallback((editor, event) => {
|
|
91
|
-
if (!isFocused.current) {
|
|
92
|
-
editor.setCursor(0, 0);
|
|
93
|
-
isFocused.current = true;
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
onFocus(event);
|
|
97
|
-
}, [onFocus]); // setting height on the container keeps the RCE toolbar from jumping
|
|
98
|
-
|
|
99
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
100
|
-
ref: editorRef,
|
|
101
|
-
className: "RceHtmlEditor",
|
|
102
|
-
style: {
|
|
103
|
-
height: props.height,
|
|
104
|
-
overflow: 'hidden',
|
|
105
|
-
textAlign: 'start'
|
|
106
|
-
}
|
|
107
|
-
}, /*#__PURE__*/React.createElement(CodeEditor, {
|
|
108
|
-
label: label,
|
|
109
|
-
language: "html",
|
|
110
|
-
options: {
|
|
111
|
-
lineNumbers: true,
|
|
112
|
-
lineWrapping: true,
|
|
113
|
-
autofocus: false,
|
|
114
|
-
spellcheck: true,
|
|
115
|
-
extraKeys: {
|
|
116
|
-
Tab: false,
|
|
117
|
-
'Shift-Tab': false
|
|
118
|
-
},
|
|
119
|
-
screenReaderLabel: label,
|
|
120
|
-
direction: dir,
|
|
121
|
-
rtlMoveVisually: true
|
|
122
|
-
},
|
|
123
|
-
value: code,
|
|
124
|
-
onChange: value => {
|
|
125
|
-
setCode(value);
|
|
126
|
-
props.onChange(value);
|
|
127
|
-
},
|
|
128
|
-
onFocus: handleFocus
|
|
129
|
-
}));
|
|
130
|
-
});
|
|
131
|
-
RceHtmlEditor.propTypes = {
|
|
132
|
-
code: string.isRequired,
|
|
133
|
-
height: string,
|
|
134
|
-
onChange: func,
|
|
135
|
-
onFocus: func
|
|
136
|
-
};
|
|
137
|
-
RceHtmlEditor.defaultProps = {
|
|
138
|
-
height: 'auto',
|
|
139
|
-
onChange: _value => {},
|
|
140
|
-
onFocus: () => {}
|
|
141
|
-
};
|
|
142
|
-
export default RceHtmlEditor;
|
package/lib/rce/ResizeHandle.js
DELETED
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (C) 2019 - present Instructure, Inc.
|
|
3
|
-
*
|
|
4
|
-
* This file is part of Canvas.
|
|
5
|
-
*
|
|
6
|
-
* Canvas is free software: you can redistribute it and/or modify it under
|
|
7
|
-
* the terms of the GNU Affero General Public License as published by the Free
|
|
8
|
-
* Software Foundation, version 3 of the License.
|
|
9
|
-
*
|
|
10
|
-
* Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
11
|
-
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
|
12
|
-
* A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
|
|
13
|
-
* details.
|
|
14
|
-
*
|
|
15
|
-
* You should have received a copy of the GNU Affero General Public License along
|
|
16
|
-
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
|
-
*/
|
|
18
|
-
import React, { useState } from 'react';
|
|
19
|
-
import { func, string, number } from 'prop-types';
|
|
20
|
-
import { DraggableCore } from 'react-draggable';
|
|
21
|
-
import keycode from 'keycode';
|
|
22
|
-
import { View } from '@instructure/ui-view';
|
|
23
|
-
import { IconDragHandleLine } from '@instructure/ui-icons';
|
|
24
|
-
import DraggingBlocker from './DraggingBlocker';
|
|
25
|
-
import formatMessage from '../format-message';
|
|
26
|
-
const RESIZE_STEP = 16;
|
|
27
|
-
export default function ResizeHandle(props) {
|
|
28
|
-
function handleKey(event) {
|
|
29
|
-
if (event.keyCode === keycode.codes.up) {
|
|
30
|
-
event.preventDefault();
|
|
31
|
-
event.stopPropagation();
|
|
32
|
-
props.onDrag(event, {
|
|
33
|
-
deltaY: -RESIZE_STEP
|
|
34
|
-
});
|
|
35
|
-
} else if (event.keyCode === keycode.codes.down) {
|
|
36
|
-
event.preventDefault();
|
|
37
|
-
event.stopPropagation();
|
|
38
|
-
props.onDrag(event, {
|
|
39
|
-
deltaY: RESIZE_STEP
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
function handleFocus(event) {
|
|
45
|
-
var _props$onFocus;
|
|
46
|
-
|
|
47
|
-
setIsFocused(true);
|
|
48
|
-
(_props$onFocus = props.onFocus) === null || _props$onFocus === void 0 ? void 0 : _props$onFocus.call(props, event);
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
function handleBlur() {
|
|
52
|
-
setIsFocused(false);
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
function handleDragStart(_e) {
|
|
56
|
-
setDragging(true);
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
function handleDragStop(_e) {
|
|
60
|
-
setDragging(false);
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
const [dragging, setDragging] = useState(false); // tracking isFocused rather than leveraging instui Focusable
|
|
64
|
-
// because Focusable doesn't detect whan ResizeHandle gets focus
|
|
65
|
-
|
|
66
|
-
const [isFocused, setIsFocused] = useState(false);
|
|
67
|
-
return /*#__PURE__*/React.createElement(View, {
|
|
68
|
-
"aria-label": formatMessage('Drag handle. Use up and down arrows to resize'),
|
|
69
|
-
title: formatMessage('Resize'),
|
|
70
|
-
as: "span",
|
|
71
|
-
borderRadius: "medium",
|
|
72
|
-
display: "inline-block",
|
|
73
|
-
withFocusOutline: isFocused,
|
|
74
|
-
padding: "0 xx-small",
|
|
75
|
-
position: "relative",
|
|
76
|
-
role: "button",
|
|
77
|
-
"data-btn-id": props['data-btn-id'],
|
|
78
|
-
tabIndex: props.tabIndex,
|
|
79
|
-
onKeyDown: handleKey,
|
|
80
|
-
onFocus: handleFocus,
|
|
81
|
-
onBlur: handleBlur
|
|
82
|
-
}, /*#__PURE__*/React.createElement(DraggableCore, {
|
|
83
|
-
offsetParent: document.body,
|
|
84
|
-
onDrag: props.onDrag,
|
|
85
|
-
onStart: handleDragStart,
|
|
86
|
-
onStop: handleDragStop
|
|
87
|
-
}, /*#__PURE__*/React.createElement(View, {
|
|
88
|
-
cursor: "ns-resize"
|
|
89
|
-
}, /*#__PURE__*/React.createElement(IconDragHandleLine, null))), /*#__PURE__*/React.createElement(DraggingBlocker, {
|
|
90
|
-
dragging: dragging
|
|
91
|
-
}));
|
|
92
|
-
}
|
|
93
|
-
ResizeHandle.propTypes = {
|
|
94
|
-
onDrag: func,
|
|
95
|
-
onFocus: func,
|
|
96
|
-
tabIndex: number,
|
|
97
|
-
'data-btn-id': string
|
|
98
|
-
};
|
|
99
|
-
ResizeHandle.defaultProps = {
|
|
100
|
-
onDrag: () => {},
|
|
101
|
-
tabIndex: -1
|
|
102
|
-
};
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (C) 2020 - 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 React, { useState } from 'react';
|
|
19
|
-
import { bool, func, string } from 'prop-types';
|
|
20
|
-
import { Alert } from '@instructure/ui-alerts';
|
|
21
|
-
import { Heading } from '@instructure/ui-heading';
|
|
22
|
-
import { Modal } from '@instructure/ui-modal';
|
|
23
|
-
import { Button, CloseButton } from '@instructure/ui-buttons';
|
|
24
|
-
import { ToggleGroup } from '@instructure/ui-toggle-details';
|
|
25
|
-
import { View } from '@instructure/ui-view';
|
|
26
|
-
import formatMessage from '../format-message';
|
|
27
|
-
export default function RestoreAutoSaveModal(props) {
|
|
28
|
-
const [previewExpanded, setPreviewExpanded] = useState(false);
|
|
29
|
-
|
|
30
|
-
const toggleLabel = () => previewExpanded ? formatMessage('Click to hide preview') : formatMessage('Click to show preview');
|
|
31
|
-
|
|
32
|
-
return /*#__PURE__*/React.createElement(Modal, {
|
|
33
|
-
"data-testid": "RCE_RestoreAutoSaveModal",
|
|
34
|
-
"data-mce-component": true,
|
|
35
|
-
label: formatMessage('Restore auto-save?'),
|
|
36
|
-
open: props.open,
|
|
37
|
-
shouldCloseOnDocumentClick: false,
|
|
38
|
-
shouldReturnFocus: true,
|
|
39
|
-
size: "medium",
|
|
40
|
-
onDismiss: props.onNo
|
|
41
|
-
}, /*#__PURE__*/React.createElement(Modal.Header, null, /*#__PURE__*/React.createElement(CloseButton, {
|
|
42
|
-
placement: "end",
|
|
43
|
-
offset: "medium",
|
|
44
|
-
color: "primary",
|
|
45
|
-
onClick: props.onNo,
|
|
46
|
-
screenReaderLabel: formatMessage('Close')
|
|
47
|
-
}), /*#__PURE__*/React.createElement(Heading, null, formatMessage('Found auto-saved content'))), /*#__PURE__*/React.createElement(Modal.Body, null, /*#__PURE__*/React.createElement(View, {
|
|
48
|
-
as: "div",
|
|
49
|
-
margin: "small"
|
|
50
|
-
}, /*#__PURE__*/React.createElement(Alert, {
|
|
51
|
-
variant: "info",
|
|
52
|
-
margin: "none"
|
|
53
|
-
}, formatMessage('Auto-saved content exists. Would you like to load the auto-saved content instead?'))), /*#__PURE__*/React.createElement(ToggleGroup, {
|
|
54
|
-
summary: formatMessage('Preview'),
|
|
55
|
-
toggleLabel: toggleLabel,
|
|
56
|
-
onToggle: (_e, expanded) => {
|
|
57
|
-
setPreviewExpanded(expanded);
|
|
58
|
-
}
|
|
59
|
-
}, /*#__PURE__*/React.createElement(View, {
|
|
60
|
-
as: "div",
|
|
61
|
-
dangerouslySetInnerHTML: {
|
|
62
|
-
__html: props.savedContent
|
|
63
|
-
},
|
|
64
|
-
padding: "0 x-small",
|
|
65
|
-
overflowX: "auto"
|
|
66
|
-
}))), /*#__PURE__*/React.createElement(Modal.Footer, null, /*#__PURE__*/React.createElement(Button, {
|
|
67
|
-
margin: "0 x-small",
|
|
68
|
-
onClick: props.onNo
|
|
69
|
-
}, formatMessage('No')), "\xA0", /*#__PURE__*/React.createElement(Button, {
|
|
70
|
-
color: "primary",
|
|
71
|
-
onClick: props.onYes
|
|
72
|
-
}, formatMessage('Yes'))));
|
|
73
|
-
}
|
|
74
|
-
RestoreAutoSaveModal.propTypes = {
|
|
75
|
-
savedContent: string,
|
|
76
|
-
open: bool.isRequired,
|
|
77
|
-
onNo: func.isRequired,
|
|
78
|
-
onYes: func.isRequired
|
|
79
|
-
};
|
|
80
|
-
RestoreAutoSaveModal.defaultProps = {
|
|
81
|
-
savedContent: ''
|
|
82
|
-
};
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (C) 2019 - present Instructure, Inc.
|
|
3
|
-
*
|
|
4
|
-
* This file is part of Canvas.
|
|
5
|
-
*
|
|
6
|
-
* Canvas is free software: you can redistribute it and/or modify it under
|
|
7
|
-
* the terms of the GNU Affero General Public License as published by the Free
|
|
8
|
-
* Software Foundation, version 3 of the License.
|
|
9
|
-
*
|
|
10
|
-
* Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
11
|
-
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
|
12
|
-
* A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
|
|
13
|
-
* details.
|
|
14
|
-
*
|
|
15
|
-
* You should have received a copy of the GNU Affero General Public License along
|
|
16
|
-
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
|
-
*/
|
|
18
|
-
|
|
19
|
-
/*
|
|
20
|
-
* This component is a near verbatim copy of
|
|
21
|
-
* canvas-lms/packages/canvas-planner/src/components/ShowOnFocusButton
|
|
22
|
-
* which is necessary until we have a package for sharing components
|
|
23
|
-
* among canvas' sub-packages.
|
|
24
|
-
*/
|
|
25
|
-
import React, { Component } from 'react';
|
|
26
|
-
import { func, node, oneOfType, string } from 'prop-types';
|
|
27
|
-
import { IconButton } from '@instructure/ui-buttons';
|
|
28
|
-
const hideStyle = {
|
|
29
|
-
position: 'absolute',
|
|
30
|
-
left: '-9999px'
|
|
31
|
-
};
|
|
32
|
-
export default class ShowOnFocusButton extends Component {
|
|
33
|
-
constructor() {
|
|
34
|
-
super(...arguments);
|
|
35
|
-
this.state = {
|
|
36
|
-
visible: false
|
|
37
|
-
};
|
|
38
|
-
|
|
39
|
-
this.handleFocus = () => {
|
|
40
|
-
this.setState({
|
|
41
|
-
visible: true
|
|
42
|
-
});
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
this.handleBlur = () => {
|
|
46
|
-
this.setState({
|
|
47
|
-
visible: false
|
|
48
|
-
});
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
focus() {
|
|
53
|
-
this.btnRef.focus();
|
|
54
|
-
this.setState({
|
|
55
|
-
visible: true
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
renderButton() {
|
|
60
|
-
return /*#__PURE__*/React.createElement(IconButton, {
|
|
61
|
-
id: this.props.id,
|
|
62
|
-
"data-testid": "ShowOnFocusButton__button",
|
|
63
|
-
color: "primary",
|
|
64
|
-
"aria-haspopup": "dialog",
|
|
65
|
-
margin: this.props.margin,
|
|
66
|
-
ref: btn => {
|
|
67
|
-
this.btnRef = btn;
|
|
68
|
-
},
|
|
69
|
-
onFocus: this.handleFocus,
|
|
70
|
-
onBlur: this.handleBlur,
|
|
71
|
-
onClick: this.props.onClick,
|
|
72
|
-
screenReaderLabel: this.props.screenReaderLabel,
|
|
73
|
-
withBackground: false,
|
|
74
|
-
withBorder: false
|
|
75
|
-
}, this.props.children);
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
render() {
|
|
79
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
80
|
-
"data-testid": "ShowOnFocusButton__wrapper",
|
|
81
|
-
style: this.state.visible ? null : hideStyle
|
|
82
|
-
}, this.renderButton());
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
}
|
|
86
|
-
ShowOnFocusButton.propTypes = {
|
|
87
|
-
children: oneOfType([node, func]).isRequired,
|
|
88
|
-
// func === functional component
|
|
89
|
-
onClick: func,
|
|
90
|
-
screenReaderLabel: string.isRequired,
|
|
91
|
-
margin: string,
|
|
92
|
-
id: string.isRequired
|
|
93
|
-
};
|