@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,49 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (C) 2018 - present Instructure, Inc.
|
|
3
|
-
*
|
|
4
|
-
* This file is part of Canvas.
|
|
5
|
-
*
|
|
6
|
-
* Canvas is free software: you can redistribute it and/or modify it under
|
|
7
|
-
* the terms of the GNU Affero General Public License as published by the Free
|
|
8
|
-
* Software Foundation, version 3 of the License.
|
|
9
|
-
*
|
|
10
|
-
* Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
11
|
-
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
|
12
|
-
* A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
|
|
13
|
-
* details.
|
|
14
|
-
*
|
|
15
|
-
* You should have received a copy of the GNU Affero General Public License along
|
|
16
|
-
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
|
-
*/
|
|
18
|
-
import offset from 'bloody-offset'; // the editor's iframe
|
|
19
|
-
|
|
20
|
-
function editorIframe(editor) {
|
|
21
|
-
return editor.getContainer().querySelector('iframe');
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
function box(el) {
|
|
25
|
-
const b = el.getBoundingClientRect();
|
|
26
|
-
return {
|
|
27
|
-
top: b.top,
|
|
28
|
-
left: b.left,
|
|
29
|
-
width: b.right - b.left,
|
|
30
|
-
height: b.bottom - b.top
|
|
31
|
-
};
|
|
32
|
-
} //
|
|
33
|
-
// the shape of the target's sillhouette on the editor's container. have to
|
|
34
|
-
// subtract out the iframe's scroll since the target's position is relative to
|
|
35
|
-
// the iframe's _document_, not its visible window.
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
export default function indicatorRegion(editor, target) {
|
|
39
|
-
let offsetFn = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : offset;
|
|
40
|
-
const iframe = editorIframe(editor);
|
|
41
|
-
const outerShape = offsetFn(iframe);
|
|
42
|
-
const innerShape = box(target);
|
|
43
|
-
return {
|
|
44
|
-
width: innerShape.width,
|
|
45
|
-
height: innerShape.height,
|
|
46
|
-
left: outerShape.left + innerShape.left,
|
|
47
|
-
top: outerShape.top + innerShape.top
|
|
48
|
-
};
|
|
49
|
-
}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (C) 2018 - present Instructure, Inc.
|
|
3
|
-
*
|
|
4
|
-
* This file is part of Canvas.
|
|
5
|
-
*
|
|
6
|
-
* Canvas is free software: you can redistribute it and/or modify it under
|
|
7
|
-
* the terms of the GNU Affero General Public License as published by the Free
|
|
8
|
-
* Software Foundation, version 3 of the License.
|
|
9
|
-
*
|
|
10
|
-
* Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
11
|
-
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
|
12
|
-
* A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
|
|
13
|
-
* details.
|
|
14
|
-
*
|
|
15
|
-
* You should have received a copy of the GNU Affero General Public License along
|
|
16
|
-
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
|
-
*/
|
|
18
|
-
import { getLocaleList } from '../getTranslations'; // keys = "qualified" locales old canvas sent, values = corresponding standard
|
|
19
|
-
// locales that canvas now sends. old locales absent from this mapping (e.g.
|
|
20
|
-
// pt-BR) didn't change.
|
|
21
|
-
|
|
22
|
-
const mapping = {
|
|
23
|
-
fa: 'fa-IR',
|
|
24
|
-
uk: 'uk-UA',
|
|
25
|
-
'zh-CN': 'zh-Hans',
|
|
26
|
-
'zh-HK': 'zh-Hant'
|
|
27
|
-
};
|
|
28
|
-
export default function normalizeLocale(locale) {
|
|
29
|
-
const recognized = getLocaleList();
|
|
30
|
-
|
|
31
|
-
if (!locale) {
|
|
32
|
-
// default to english
|
|
33
|
-
return 'en';
|
|
34
|
-
} else if (recognized.indexOf(locale) >= 0) {
|
|
35
|
-
// pass through recognized locales
|
|
36
|
-
return locale;
|
|
37
|
-
} else if (mapping[locale]) {
|
|
38
|
-
// translate recognized old-style locale to standard style
|
|
39
|
-
return mapping[locale];
|
|
40
|
-
} else if (locale.match('-x-')) {
|
|
41
|
-
// reduce unrecognized custom locales to their base locale
|
|
42
|
-
locale = locale.split('-x-')[0];
|
|
43
|
-
return normalizeLocale(locale);
|
|
44
|
-
} else if (recognized.indexOf(locale.split('-')[0]) >= 0) {
|
|
45
|
-
return locale.split('-')[0];
|
|
46
|
-
} else {
|
|
47
|
-
// default to english for unrecognized locales
|
|
48
|
-
return 'en';
|
|
49
|
-
}
|
|
50
|
-
}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (C) 2018 - present Instructure, Inc.
|
|
3
|
-
*
|
|
4
|
-
* This file is part of Canvas.
|
|
5
|
-
*
|
|
6
|
-
* Canvas is free software: you can redistribute it and/or modify it under
|
|
7
|
-
* the terms of the GNU Affero General Public License as published by the Free
|
|
8
|
-
* Software Foundation, version 3 of the License.
|
|
9
|
-
*
|
|
10
|
-
* Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
11
|
-
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
|
12
|
-
* A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
|
|
13
|
-
* details.
|
|
14
|
-
*
|
|
15
|
-
* You should have received a copy of the GNU Affero General Public License along
|
|
16
|
-
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
|
-
*/
|
|
18
|
-
import wrapInitCb from './wrapInitCb';
|
|
19
|
-
export default function (props, tinymce) {
|
|
20
|
-
const initialEditorOptions = props.editorOptions(tinymce);
|
|
21
|
-
const editorOptions = wrapInitCb(props.mirroredAttrs, initialEditorOptions);
|
|
22
|
-
return { // other props, including overrides
|
|
23
|
-
...props,
|
|
24
|
-
// enforced values, in addition to props and cannot be overridden by
|
|
25
|
-
// props
|
|
26
|
-
editorOptions,
|
|
27
|
-
tinymce
|
|
28
|
-
};
|
|
29
|
-
}
|
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
|
-
|
|
3
|
-
/*
|
|
4
|
-
* Copyright (C) 2019 - present Instructure, Inc.
|
|
5
|
-
*
|
|
6
|
-
* This file is part of Canvas.
|
|
7
|
-
*
|
|
8
|
-
* Canvas is free software: you can redistribute it and/or modify it under
|
|
9
|
-
* the terms of the GNU Affero General Public License as published by the Free
|
|
10
|
-
* Software Foundation, version 3 of the License.
|
|
11
|
-
*
|
|
12
|
-
* Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
13
|
-
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
|
14
|
-
* A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
|
|
15
|
-
* details.
|
|
16
|
-
*
|
|
17
|
-
* You should have received a copy of the GNU Affero General Public License along
|
|
18
|
-
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
19
|
-
*/
|
|
20
|
-
import { IconArrowOpenDownLine, IconAttachMediaLine, IconBoldLine, IconBulletListAlphaLine, IconBulletListCircleOutlineLine, IconBulletListLine, IconBulletListRomanLine, IconBulletListSquareLine, IconClearTextFormattingLine, IconDocumentLine, IconExitFullScreenLine, IconFullScreenLine, IconImageLine, IconIndentLine, IconItalicLine, IconLinkLine, IconLtiLine, IconNumberedListLine, IconOutdentLine, IconRemoveLinkLine, IconStrikethroughLine, IconTextCenteredLine, IconTextDirectionLtrLine, IconTextDirectionRtlLine, IconTextEndLine, IconTextStartLine, IconTextSubscriptLine, IconTextSuperscriptLine, IconUnderlineLine } from '@instructure/ui-icons/es/svg';
|
|
21
|
-
import tinymce from 'tinymce';
|
|
22
|
-
tinymce.PluginManager.add('instructure-ui-icons', function (editor) {
|
|
23
|
-
// the keys here are what tinymce calls it. the values are the svgs from instUI
|
|
24
|
-
// there are few things here that are commented out that are things that we
|
|
25
|
-
// might want to have our own icon for but one doesn't exist in @instructure/ui-icons
|
|
26
|
-
const icons = {
|
|
27
|
-
'align-center': IconTextCenteredLine,
|
|
28
|
-
'align-left': IconTextStartLine,
|
|
29
|
-
'align-right': IconTextEndLine,
|
|
30
|
-
'list-bull-default': IconBulletListLine,
|
|
31
|
-
'list-num-default': IconNumberedListLine,
|
|
32
|
-
bold: IconBoldLine,
|
|
33
|
-
image: IconImageLine,
|
|
34
|
-
indent: IconIndentLine,
|
|
35
|
-
italic: IconItalicLine,
|
|
36
|
-
underline: IconUnderlineLine,
|
|
37
|
-
link: IconLinkLine,
|
|
38
|
-
video: IconAttachMediaLine,
|
|
39
|
-
document: IconDocumentLine,
|
|
40
|
-
// if @instructure/ui-icons ever gets icons for these, lets use those. But until
|
|
41
|
-
// then these are the same as the stock tinyMCE ones but with the viewbox
|
|
42
|
-
// adjusted so they look right next to our icons
|
|
43
|
-
'list-bull-circle': IconBulletListCircleOutlineLine,
|
|
44
|
-
'list-bull-square': IconBulletListSquareLine,
|
|
45
|
-
'list-num-upper-alpha': IconBulletListAlphaLine,
|
|
46
|
-
'list-num-upper-roman': IconBulletListRomanLine,
|
|
47
|
-
'ordered-list': IconNumberedListLine,
|
|
48
|
-
lti: IconLtiLine,
|
|
49
|
-
outdent: IconOutdentLine,
|
|
50
|
-
'remove-formatting': IconClearTextFormattingLine,
|
|
51
|
-
'strike-through': IconStrikethroughLine,
|
|
52
|
-
subscript: IconTextSubscriptLine,
|
|
53
|
-
superscript: IconTextSuperscriptLine,
|
|
54
|
-
// not using instUI's table icon for now because there are a lot of other table related icons
|
|
55
|
-
// that tinyMCE uses that we'd want to match our table icon. So unless we get instUI versions of all
|
|
56
|
-
// those too, it probably makes sense to just use TinyMCE's for everything table related.
|
|
57
|
-
// table: IconTableLine,
|
|
58
|
-
// The `tox-icon-*` path ids on these 2 are important. It is what tinyMCE
|
|
59
|
-
// looks for to update the color when you select a new one
|
|
60
|
-
'text-color': {
|
|
61
|
-
src: `<svg viewBox="7 7 1773 1920">
|
|
62
|
-
<g fill="none" fill-rule="evenodd">
|
|
63
|
-
<g fill="#2B3B46" fill-rule="nonzero">
|
|
64
|
-
<path id="tox-icon-text-color__color" d="M0 1920v-443.07692h1772.30769V1920z"/>
|
|
65
|
-
<path d="M736.526769.05907692h299.224611L1545.14215 1227.08677l-136.46769 56.56615-164.97231-397.587689H528.576L363.603692 1283.65292 227.136 1227.08677 736.526769.05907692zM835.332923 147.751385L589.868308 738.372923h592.541542L937.09292 147.751385H835.332923z" id="A"/>
|
|
66
|
-
</g>
|
|
67
|
-
</g>
|
|
68
|
-
</svg>`
|
|
69
|
-
},
|
|
70
|
-
'highlight-bg-color': {
|
|
71
|
-
src: `<svg viewBox="0 0 1920 1920" version="1.1">
|
|
72
|
-
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
|
73
|
-
<path id="tox-icon-highlight-bg-color__color" fill="#2B3B46" d="M74 1918.14125 1841 1918.14125 1841 1469.14125 74 1469.14125z"/>
|
|
74
|
-
<path d="M1543.03014,312.225305 L1056.25966,861 L795,619.351719 L1335.45236,123.521776 C1343.65702,115.67377 1355.72958,114.736695 1363.23098,121.647625 L1541.15479,286.221467 C1548.53898,293.015262 1548.65619,305.19724 1543.03014,312.225305 L1543.03014,312.225305 Z M898.711011,994.448142 C836.706813,972.459128 767.201162,989.769628 721.489183,1038.89402 L701.094608,1061 L616,982.517932 L636.628996,960.294992 C681.989345,911.287561 694.179206,840.758966 667.220859,780.757027 C659.250565,762.627787 664.056183,740.638772 678.355828,726.95412 L708.830481,699 L979,948.481745 L952.393284,978.190307 C939.148531,994.565105 917.699064,1000.76414 898.711011,994.448142 L898.711011,994.448142 Z M598.157143,1171.267 L416,1171.618 L532.908571,1065.382 L621,1146.931 L598.157143,1171.267 Z M1620.96383,200.201811 L1443.1176,35.7209178 C1390.27923,-13.0965429 1307.56551,-11.4575874 1255.6644,38.0622828 L598.40662,641.080844 C547.442781,689.781237 532.212208,764.939054 560.330188,828.15591 C567.945475,845.013738 564.079252,866.203091 550.606054,880.602486 L492.261245,943.819342 L304.690887,1114.38778 C276.104274,1140.494 265.208557,1179.82894 276.221432,1216.8225 C287.234308,1253.93314 317.929769,1280.85884 365.37886,1287.6488 L649.136142,1288 L707.246634,1226.18796 L707.480951,1226.4221 L743.448533,1187.55544 L747.080439,1183.69219 L807.534096,1118.25104 C821.35877,1103.50044 842.09578,1098.23236 859.200884,1104.43698 C924.45803,1127.73356 998.267727,1106.77835 1041.49912,1053.98057 L1632.44533,387.979285 C1678.60569,331.43532 1673.56788,248.902203 1620.96383,200.201811 L1620.96383,200.201811 Z" id="Fill-1" fill="#2B3B46"/>
|
|
75
|
-
</g>
|
|
76
|
-
</svg>`
|
|
77
|
-
},
|
|
78
|
-
unlink: IconRemoveLinkLine,
|
|
79
|
-
'unordered-list': IconBulletListLine,
|
|
80
|
-
ltr: IconTextDirectionLtrLine,
|
|
81
|
-
rtl: IconTextDirectionRtlLine,
|
|
82
|
-
'chevron-down': IconArrowOpenDownLine,
|
|
83
|
-
fullscreen: IconFullScreenLine,
|
|
84
|
-
fullscreen_exit: IconExitFullScreenLine,
|
|
85
|
-
// svg copied from StatusBar.js
|
|
86
|
-
htmlview: {
|
|
87
|
-
src: `<svg viewBox="0 0 24 24" font-size="16px" width="24" height="24" ">
|
|
88
|
-
<g role="presentation">
|
|
89
|
-
<text textAnchor="start" x="0" y="18px">
|
|
90
|
-
</>
|
|
91
|
-
</text>
|
|
92
|
-
</g>
|
|
93
|
-
</svg>`
|
|
94
|
-
},
|
|
95
|
-
embed: {
|
|
96
|
-
src: `<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
97
|
-
<path fill-rule="evenodd" clip-rule="evenodd" d="M13.7647 5.21417C13.6694 5.21417 13.5773 5.23988 13.482 5.24631C12.8329 3.36281 11.0795 2 9 2C6.53506 2 4.52435 3.91029 4.28294 6.34234C4.09341 6.31127 3.90176 6.28556 3.70588 6.28556C1.66235 6.28556 0 7.96764 0 10.0354C0 12.1032 1.66235 13.7853 3.70588 13.7853L5 13.7853V12.7139L3.70588 12.7139C2.24682 12.7139 1.05882 11.5129 1.05882 10.0354C1.05882 8.55798 2.24682 7.35695 3.70588 7.35695C4.40259 7.35695 5.06012 7.62908 5.55882 8.12192L6.29894 7.35588C6.00565 7.0666 5.66788 6.84483 5.30894 6.66912C5.38941 4.67419 7.00835 3.07139 9 3.07139C11.0435 3.07139 12.7059 4.75347 12.7059 6.82126C12.7059 7.1491 12.6635 7.47266 12.582 7.78658L13.6059 8.06085C13.7107 7.65801 13.7647 7.24124 13.7647 6.82126C13.7647 6.64019 13.7308 6.4677 13.7118 6.29199C13.7298 6.29199 13.7467 6.28556 13.7647 6.28556C15.516 6.28556 16.9412 7.72765 16.9412 9.49973C16.9412 11.2718 15.516 12.7139 13.7647 12.7139L13 12.7139V13.7853L13.7647 13.7853C16.1005 13.7853 18 11.8632 18 9.49973C18 7.13624 16.1005 5.21417 13.7647 5.21417Z" fill="#2B3B46"/>
|
|
98
|
-
<path fill-rule="evenodd" clip-rule="evenodd" d="M7.72039 10.6479L8.3603 11.1813L6.75882 13.1025L8.36029 15.0239L7.72038 15.5573L5.6748 13.1024L7.72039 10.6479ZM10.2802 10.6479L12.3258 13.1024L10.2802 15.5573L9.64031 15.0239L11.2418 13.1025L9.6403 11.1813L10.2802 10.6479Z" fill="#2D3B45"/>
|
|
99
|
-
</svg>`
|
|
100
|
-
},
|
|
101
|
-
buttons: {
|
|
102
|
-
src: `
|
|
103
|
-
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 18 18">
|
|
104
|
-
<g fill="#2D3B45" clip-path="url(#clip0)">
|
|
105
|
-
<path fill-rule="evenodd" d="M.999993 11l.000001 6H6.99999v-6H.999993zm-.99999933 7H7.99999v-8H-.00000668l3.5e-7 8zM4 7c1.65685 0 3-1.34315 3-3S5.65685 1 4 1 1 2.34315 1 4s1.34315 3 3 3zm0 1c2.20914 0 4-1.79086 4-4S6.20914 0 4 0-3e-7 1.79086-3e-7 4 1.79086 8 4 8z" clip-rule="evenodd"/>
|
|
106
|
-
<path d="M12.5 10h1v8h-1v-8z"/>
|
|
107
|
-
<path d="M17 13.5v1H9v-1h8z"/>
|
|
108
|
-
<path fill-rule="evenodd" d="M13 0L8.66987 7.5h8.66023L13 0zm0 2l-2.5981 4.5h5.1962L13 2z" clip-rule="evenodd"/>
|
|
109
|
-
</g>
|
|
110
|
-
<defs>
|
|
111
|
-
<clipPath id="clip0">
|
|
112
|
-
<path fill="white" d="M0 0h18v18H0z"/>
|
|
113
|
-
</clipPath>
|
|
114
|
-
</defs>
|
|
115
|
-
</svg>
|
|
116
|
-
`
|
|
117
|
-
}
|
|
118
|
-
};
|
|
119
|
-
Object.keys(icons).forEach(key => {
|
|
120
|
-
editor.ui.registry.addIcon(key, icons[key].src);
|
|
121
|
-
});
|
|
122
|
-
});
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright (c) Tiny Technologies, Inc. All rights reserved.
|
|
3
|
-
* Licensed under the LGPL or a commercial license.
|
|
4
|
-
* For LGPL see License.txt in the project root for license information.
|
|
5
|
-
* For commercial licenses see https://www.tiny.cloud/
|
|
6
|
-
*/
|
|
7
|
-
const isChildOfBody = (editor, node) => !!editor.$.contains(editor.getBody(), node);
|
|
8
|
-
|
|
9
|
-
export const isTableCellNode = node => node && /^(TH|TD)$/.test(node.nodeName);
|
|
10
|
-
export const isListNode = editor => node => node && /^(OL|UL|DL)$/.test(node.nodeName) && isChildOfBody(editor, node);
|
|
11
|
-
export function listStyleForSelectionOfEditor(editor) {
|
|
12
|
-
const listElm = editor.dom.getParent(editor.selection.getNode(), 'ol,ul');
|
|
13
|
-
|
|
14
|
-
if (listElm) {
|
|
15
|
-
return {
|
|
16
|
-
// This is not type safe, but the above getParent selector enforces that this will be
|
|
17
|
-
// either 'OL' or 'UL'
|
|
18
|
-
listType: listElm.nodeName,
|
|
19
|
-
listStyleType: editor.dom.getStyle(listElm, 'listStyleType')
|
|
20
|
-
};
|
|
21
|
-
} else {
|
|
22
|
-
return undefined;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (C) 2019 - present Instructure, Inc.
|
|
3
|
-
*
|
|
4
|
-
* This file is part of Canvas.
|
|
5
|
-
*
|
|
6
|
-
* Canvas is free software: you can redistribute it and/or modify it under
|
|
7
|
-
* the terms of the GNU Affero General Public License as published by the Free
|
|
8
|
-
* Software Foundation, version 3 of the License.
|
|
9
|
-
*
|
|
10
|
-
* Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
11
|
-
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
|
12
|
-
* A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
|
|
13
|
-
* details.
|
|
14
|
-
*
|
|
15
|
-
* You should have received a copy of the GNU Affero General Public License along
|
|
16
|
-
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
|
-
*/
|
|
18
|
-
import registerAlignmentButton from './ui/alignment-button';
|
|
19
|
-
import registerIndentOutdentButton from './ui/indent-outdent-button';
|
|
20
|
-
import registerListButton from './ui/list-button';
|
|
21
|
-
import registerSubscriptSuperscriptButton from './ui/subscript-superscript-button';
|
|
22
|
-
import registerDirectionalityButton from './ui/directionality-button';
|
|
23
|
-
import tinymce from 'tinymce';
|
|
24
|
-
tinymce.PluginManager.add('instructure_condensed_buttons', function (editor) {
|
|
25
|
-
;
|
|
26
|
-
[registerAlignmentButton, registerIndentOutdentButton, registerListButton, registerSubscriptSuperscriptButton, registerDirectionalityButton].forEach(register => register(editor));
|
|
27
|
-
});
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (C) 2019 - present Instructure, Inc.
|
|
3
|
-
*
|
|
4
|
-
* This file is part of Canvas.
|
|
5
|
-
*
|
|
6
|
-
* Canvas is free software: you can redistribute it and/or modify it under
|
|
7
|
-
* the terms of the GNU Affero General Public License as published by the Free
|
|
8
|
-
* Software Foundation, version 3 of the License.
|
|
9
|
-
*
|
|
10
|
-
* Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
11
|
-
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
|
12
|
-
* A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
|
|
13
|
-
* details.
|
|
14
|
-
*
|
|
15
|
-
* You should have received a copy of the GNU Affero General Public License along
|
|
16
|
-
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
|
-
*/
|
|
18
|
-
import formatMessage from '../../../../format-message';
|
|
19
|
-
import { toolbarIconHelperFor } from '../../../../util/tinymce-plugin-util';
|
|
20
|
-
export default function (editor) {
|
|
21
|
-
const alignToolbarButtons = [{
|
|
22
|
-
name: 'alignleft',
|
|
23
|
-
text: formatMessage('Left Align'),
|
|
24
|
-
cmd: 'JustifyLeft',
|
|
25
|
-
icon: 'align-left'
|
|
26
|
-
}, {
|
|
27
|
-
name: 'aligncenter',
|
|
28
|
-
text: formatMessage('Center Align'),
|
|
29
|
-
cmd: 'JustifyCenter',
|
|
30
|
-
icon: 'align-center'
|
|
31
|
-
}, {
|
|
32
|
-
name: 'alignright',
|
|
33
|
-
text: formatMessage('Right Align'),
|
|
34
|
-
cmd: 'JustifyRight',
|
|
35
|
-
icon: 'align-right'
|
|
36
|
-
}];
|
|
37
|
-
const alignButtonLabel = formatMessage('Align');
|
|
38
|
-
editor.ui.registry.addMenuButton('align', {
|
|
39
|
-
tooltip: alignButtonLabel,
|
|
40
|
-
icon: 'align-left',
|
|
41
|
-
fetch: callback => callback(alignToolbarButtons.map(button => ({
|
|
42
|
-
type: 'menuitem',
|
|
43
|
-
value: button.cmd,
|
|
44
|
-
icon: button.icon,
|
|
45
|
-
text: button.text,
|
|
46
|
-
onAction: () => editor.execCommand(button.cmd)
|
|
47
|
-
}))),
|
|
48
|
-
onSetup: api => {
|
|
49
|
-
const iconHelper = toolbarIconHelperFor(editor, alignButtonLabel);
|
|
50
|
-
|
|
51
|
-
function nodeChangeHandler() {
|
|
52
|
-
const activeAlignment = alignToolbarButtons.find(b => editor.formatter.match(b.name));
|
|
53
|
-
const icon = activeAlignment ? activeAlignment.icon : 'align-left';
|
|
54
|
-
api.setActive(!!activeAlignment);
|
|
55
|
-
iconHelper.updateIcon(icon);
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
nodeChangeHandler();
|
|
59
|
-
editor.on('NodeChange', nodeChangeHandler);
|
|
60
|
-
return () => editor.off('NodeChange', nodeChangeHandler);
|
|
61
|
-
}
|
|
62
|
-
});
|
|
63
|
-
}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (C) 2019 - present Instructure, Inc.
|
|
3
|
-
*
|
|
4
|
-
* This file is part of Canvas.
|
|
5
|
-
*
|
|
6
|
-
* Canvas is free software: you can redistribute it and/or modify it under
|
|
7
|
-
* the terms of the GNU Affero General Public License as published by the Free
|
|
8
|
-
* Software Foundation, version 3 of the License.
|
|
9
|
-
*
|
|
10
|
-
* Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
11
|
-
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
|
12
|
-
* A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
|
|
13
|
-
* details.
|
|
14
|
-
*
|
|
15
|
-
* You should have received a copy of the GNU Affero General Public License along
|
|
16
|
-
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
|
-
*/
|
|
18
|
-
import formatMessage from '../../../../format-message';
|
|
19
|
-
export default function (editor) {
|
|
20
|
-
function defaultDirectionality() {
|
|
21
|
-
return document.dir;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
const directionalityMenuItems = [{
|
|
25
|
-
name: 'ltr',
|
|
26
|
-
text: formatMessage('Left-to-Right'),
|
|
27
|
-
cmd: 'mceDirectionLTR',
|
|
28
|
-
icon: 'ltr'
|
|
29
|
-
}, {
|
|
30
|
-
name: 'rtl',
|
|
31
|
-
text: formatMessage('Right-to-Left'),
|
|
32
|
-
cmd: 'mceDirectionRTL',
|
|
33
|
-
icon: 'rtl'
|
|
34
|
-
}];
|
|
35
|
-
if (defaultDirectionality() === 'rtl') directionalityMenuItems.reverse(); // Register menu item
|
|
36
|
-
|
|
37
|
-
editor.ui.registry.addNestedMenuItem('directionality', {
|
|
38
|
-
text: formatMessage('Directionality'),
|
|
39
|
-
getSubmenuItems: () => [directionalityMenuItems[0].name, directionalityMenuItems[1].name]
|
|
40
|
-
});
|
|
41
|
-
directionalityMenuItems.forEach(button => {
|
|
42
|
-
editor.ui.registry.addMenuItem(button.name, {
|
|
43
|
-
text: button.text,
|
|
44
|
-
icon: button.icon,
|
|
45
|
-
onAction: () => editor.execCommand(button.cmd)
|
|
46
|
-
});
|
|
47
|
-
});
|
|
48
|
-
}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (C) 2019 - present Instructure, Inc.
|
|
3
|
-
*
|
|
4
|
-
* This file is part of Canvas.
|
|
5
|
-
*
|
|
6
|
-
* Canvas is free software: you can redistribute it and/or modify it under
|
|
7
|
-
* the terms of the GNU Affero General Public License as published by the Free
|
|
8
|
-
* Software Foundation, version 3 of the License.
|
|
9
|
-
*
|
|
10
|
-
* Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
11
|
-
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
|
12
|
-
* A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
|
|
13
|
-
* details.
|
|
14
|
-
*
|
|
15
|
-
* You should have received a copy of the GNU Affero General Public License along
|
|
16
|
-
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
|
-
*/
|
|
18
|
-
import formatMessage from '../../../../format-message';
|
|
19
|
-
export default function register(editor) {
|
|
20
|
-
const indentButtons = [{
|
|
21
|
-
name: 'indent',
|
|
22
|
-
text: formatMessage('Increase Indent'),
|
|
23
|
-
cmd: 'indent'
|
|
24
|
-
}, {
|
|
25
|
-
name: 'outdent',
|
|
26
|
-
text: formatMessage('Decrease Indent'),
|
|
27
|
-
cmd: 'outdent'
|
|
28
|
-
}];
|
|
29
|
-
const buttonLabel = formatMessage('Increase Indent');
|
|
30
|
-
editor.ui.registry.addMenuButton('inst_indent', {
|
|
31
|
-
tooltip: buttonLabel,
|
|
32
|
-
icon: 'indent',
|
|
33
|
-
fetch: callback => callback(indentButtons.map(button => ({
|
|
34
|
-
type: 'menuitem',
|
|
35
|
-
value: button.cmd,
|
|
36
|
-
icon: button.name,
|
|
37
|
-
text: button.text,
|
|
38
|
-
onAction: () => editor.execCommand(button.cmd)
|
|
39
|
-
})))
|
|
40
|
-
});
|
|
41
|
-
}
|
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
|
-
|
|
3
|
-
/*
|
|
4
|
-
* Copyright (C) 2019 - present Instructure, Inc.
|
|
5
|
-
*
|
|
6
|
-
* This file is part of Canvas.
|
|
7
|
-
*
|
|
8
|
-
* Canvas is free software: you can redistribute it and/or modify it under
|
|
9
|
-
* the terms of the GNU Affero General Public License as published by the Free
|
|
10
|
-
* Software Foundation, version 3 of the License.
|
|
11
|
-
*
|
|
12
|
-
* Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
13
|
-
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
|
14
|
-
* A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
|
|
15
|
-
* details.
|
|
16
|
-
*
|
|
17
|
-
* You should have received a copy of the GNU Affero General Public License along
|
|
18
|
-
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
19
|
-
*/
|
|
20
|
-
import formatMessage from '../../../../format-message';
|
|
21
|
-
import { typedKeyDict } from '../../../../util/TypedDict';
|
|
22
|
-
import { listStyleForSelectionOfEditor } from '../core/ListUtils';
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* List of list styles supported by the RCE. These will ultimately appear in the toolbar as buttons under the main
|
|
26
|
-
* list button.
|
|
27
|
-
*/
|
|
28
|
-
const listStyleInfos = typedKeyDict({
|
|
29
|
-
disc: {
|
|
30
|
-
listType: 'UL',
|
|
31
|
-
icon: 'list-bull-default',
|
|
32
|
-
getTooltipText: () => formatMessage('default bulleted unordered list')
|
|
33
|
-
},
|
|
34
|
-
circle: {
|
|
35
|
-
listType: 'UL',
|
|
36
|
-
icon: 'list-bull-circle',
|
|
37
|
-
getTooltipText: () => formatMessage('circle unordered list')
|
|
38
|
-
},
|
|
39
|
-
square: {
|
|
40
|
-
listType: 'UL',
|
|
41
|
-
icon: 'list-bull-square',
|
|
42
|
-
getTooltipText: () => formatMessage('square unordered list')
|
|
43
|
-
},
|
|
44
|
-
decimal: {
|
|
45
|
-
listType: 'OL',
|
|
46
|
-
icon: 'list-num-default',
|
|
47
|
-
getTooltipText: () => formatMessage('default numerical ordered list')
|
|
48
|
-
},
|
|
49
|
-
'upper-alpha': {
|
|
50
|
-
listType: 'OL',
|
|
51
|
-
icon: 'list-num-upper-alpha',
|
|
52
|
-
getTooltipText: () => formatMessage('uppercase alphabetic ordered list')
|
|
53
|
-
},
|
|
54
|
-
'upper-roman': {
|
|
55
|
-
listType: 'OL',
|
|
56
|
-
icon: 'list-num-upper-roman',
|
|
57
|
-
getTooltipText: () => formatMessage('uppercase Roman numeral ordered list')
|
|
58
|
-
}
|
|
59
|
-
}, 'listStyleType');
|
|
60
|
-
/**
|
|
61
|
-
* Defines the default `list-style-type` infos for the different list element types.
|
|
62
|
-
*/
|
|
63
|
-
|
|
64
|
-
const defaultStyleInfoForListType = {
|
|
65
|
-
UL: listStyleInfos.byKey.disc,
|
|
66
|
-
OL: listStyleInfos.byKey.decimal
|
|
67
|
-
};
|
|
68
|
-
/**
|
|
69
|
-
* Determines the inner-most list type for the selection in the given Editor.
|
|
70
|
-
*/
|
|
71
|
-
|
|
72
|
-
function listStyleInfoForSelectionOfEditor(editor) {
|
|
73
|
-
const selectedStyleType = listStyleForSelectionOfEditor(editor);
|
|
74
|
-
if (!selectedStyleType) return null; // Prefer to use `list-style-type`-based type infos.
|
|
75
|
-
|
|
76
|
-
if (selectedStyleType.listStyleType) {
|
|
77
|
-
const fromStyleType = listStyleInfos.byKey[selectedStyleType.listStyleType];
|
|
78
|
-
if (fromStyleType) return fromStyleType;
|
|
79
|
-
} // Default to style based on the list element type
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
return defaultStyleInfoForListType[selectedStyleType.listType];
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* Get the button label.
|
|
86
|
-
*
|
|
87
|
-
* Note: Needs to be a function because translation files aren't loaded when top-level code runs.
|
|
88
|
-
*/
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
const getButtonLabel = () => formatMessage('Ordered and Unordered Lists');
|
|
92
|
-
|
|
93
|
-
export default function register(editor) {
|
|
94
|
-
editor.ui.registry.addSplitButton('bullist', {
|
|
95
|
-
tooltip: getButtonLabel(),
|
|
96
|
-
icon: 'unordered-list',
|
|
97
|
-
presets: 'listpreview',
|
|
98
|
-
columns: 3,
|
|
99
|
-
fetch: callback => callback(listStyleInfos.values.map(listType => ({
|
|
100
|
-
type: 'choiceitem',
|
|
101
|
-
value: listType.listStyleType,
|
|
102
|
-
icon: listType.icon,
|
|
103
|
-
text: listType.getTooltipText()
|
|
104
|
-
}))),
|
|
105
|
-
onAction: () => {
|
|
106
|
-
var _listStyleInfoForSele;
|
|
107
|
-
|
|
108
|
-
return editor.execCommand(((_listStyleInfoForSele = listStyleInfoForSelectionOfEditor(editor)) === null || _listStyleInfoForSele === void 0 ? void 0 : _listStyleInfoForSele.listType) === 'OL' ? 'InsertOrderedList' : 'InsertUnorderedList');
|
|
109
|
-
},
|
|
110
|
-
onItemAction: (splitButtonApi, value) => {
|
|
111
|
-
const desiredListStyleInfo = listStyleInfos.byKey[value] || defaultStyleInfoForListType.UL;
|
|
112
|
-
const currentListStyleInfo = listStyleInfoForSelectionOfEditor(editor); // When the user clicks the list button that matches the current list style in the selection,
|
|
113
|
-
// we want to interpret that as un-list-ifying the selection
|
|
114
|
-
|
|
115
|
-
if ((currentListStyleInfo === null || currentListStyleInfo === void 0 ? void 0 : currentListStyleInfo.listStyleType) !== desiredListStyleInfo.listStyleType) {
|
|
116
|
-
editor.execCommand(desiredListStyleInfo.listType === 'UL' ? 'InsertUnorderedList' : 'InsertOrderedList', false, {
|
|
117
|
-
'list-style-type': desiredListStyleInfo.listStyleType
|
|
118
|
-
});
|
|
119
|
-
} else {
|
|
120
|
-
editor.execCommand('RemoveList');
|
|
121
|
-
}
|
|
122
|
-
},
|
|
123
|
-
select: value => {
|
|
124
|
-
var _listStyleInfoForSele2;
|
|
125
|
-
|
|
126
|
-
return ((_listStyleInfoForSele2 = listStyleInfoForSelectionOfEditor(editor)) === null || _listStyleInfoForSele2 === void 0 ? void 0 : _listStyleInfoForSele2.listStyleType) === value;
|
|
127
|
-
},
|
|
128
|
-
onSetup: api => {
|
|
129
|
-
// Handle updating the icon on the toolbar based on
|
|
130
|
-
// the type of list the user's selection is currently within
|
|
131
|
-
const $iconSvgContainer = editor.$(`.tox-split-button[aria-label="${getButtonLabel()}"] .tox-icon`, document);
|
|
132
|
-
const allIcons = editor.ui.registry.getAll().icons;
|
|
133
|
-
|
|
134
|
-
const nodeChangeHandler = () => {
|
|
135
|
-
const activeListType = listStyleInfoForSelectionOfEditor(editor);
|
|
136
|
-
api.setActive(!!activeListType);
|
|
137
|
-
$iconSvgContainer.html(allIcons[(activeListType === null || activeListType === void 0 ? void 0 : activeListType.icon) || 'list-bull-default']);
|
|
138
|
-
};
|
|
139
|
-
|
|
140
|
-
nodeChangeHandler();
|
|
141
|
-
editor.on('NodeChange', nodeChangeHandler);
|
|
142
|
-
return () => editor.off('NodeChange', nodeChangeHandler);
|
|
143
|
-
}
|
|
144
|
-
});
|
|
145
|
-
}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (C) 2019 - present Instructure, Inc.
|
|
3
|
-
*
|
|
4
|
-
* This file is part of Canvas.
|
|
5
|
-
*
|
|
6
|
-
* Canvas is free software: you can redistribute it and/or modify it under
|
|
7
|
-
* the terms of the GNU Affero General Public License as published by the Free
|
|
8
|
-
* Software Foundation, version 3 of the License.
|
|
9
|
-
*
|
|
10
|
-
* Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
11
|
-
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
|
12
|
-
* A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
|
|
13
|
-
* details.
|
|
14
|
-
*
|
|
15
|
-
* You should have received a copy of the GNU Affero General Public License along
|
|
16
|
-
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
|
-
*/
|
|
18
|
-
import formatMessage from '../../../../format-message';
|
|
19
|
-
import { toolbarIconHelperFor } from '../../../../util/tinymce-plugin-util';
|
|
20
|
-
export default function register(editor) {
|
|
21
|
-
const styleInfos = [{
|
|
22
|
-
icon: 'superscript',
|
|
23
|
-
text: formatMessage('Superscript'),
|
|
24
|
-
cmd: 'Superscript'
|
|
25
|
-
}, {
|
|
26
|
-
icon: 'subscript',
|
|
27
|
-
text: formatMessage('Subscript'),
|
|
28
|
-
cmd: 'Subscript'
|
|
29
|
-
}];
|
|
30
|
-
const buttonLabel = formatMessage('Superscript and Subscript');
|
|
31
|
-
const defaultIcon = styleInfos[0].icon;
|
|
32
|
-
editor.ui.registry.addMenuButton('inst_superscript', {
|
|
33
|
-
tooltip: buttonLabel,
|
|
34
|
-
icon: defaultIcon,
|
|
35
|
-
fetch: callback => callback(styleInfos.map(button => ({
|
|
36
|
-
type: 'menuitem',
|
|
37
|
-
value: button.cmd,
|
|
38
|
-
icon: button.icon,
|
|
39
|
-
text: button.text,
|
|
40
|
-
onAction: () => editor.execCommand(button.cmd)
|
|
41
|
-
}))),
|
|
42
|
-
onSetup: api => {
|
|
43
|
-
const iconHelper = toolbarIconHelperFor(editor, buttonLabel);
|
|
44
|
-
|
|
45
|
-
function nodeChangeHandler() {
|
|
46
|
-
const activeStyleInfo = styleInfos.find(b => editor.formatter.match(b.icon));
|
|
47
|
-
api.setActive(!!activeStyleInfo);
|
|
48
|
-
iconHelper.updateIcon((activeStyleInfo === null || activeStyleInfo === void 0 ? void 0 : activeStyleInfo.icon) || defaultIcon);
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
nodeChangeHandler();
|
|
52
|
-
editor.on('NodeChange', nodeChangeHandler);
|
|
53
|
-
return () => editor.off('NodeChange', nodeChangeHandler);
|
|
54
|
-
}
|
|
55
|
-
});
|
|
56
|
-
}
|