@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,153 +0,0 @@
|
|
|
1
|
-
import _pt from "prop-types";
|
|
2
|
-
// @ts-nocheck
|
|
3
|
-
|
|
4
|
-
/*
|
|
5
|
-
* Copyright (C) 2019 - present Instructure, Inc.
|
|
6
|
-
*
|
|
7
|
-
* This file is part of Canvas.
|
|
8
|
-
*
|
|
9
|
-
* Canvas is free software: you can redistribute it and/or modify it under
|
|
10
|
-
* the terms of the GNU Affero General Public License as published by the Free
|
|
11
|
-
* Software Foundation, version 3 of the License.
|
|
12
|
-
*
|
|
13
|
-
* Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
14
|
-
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
|
15
|
-
* A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
|
|
16
|
-
* details.
|
|
17
|
-
*
|
|
18
|
-
* You should have received a copy of the GNU Affero General Public License along
|
|
19
|
-
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
20
|
-
*/
|
|
21
|
-
import React, { useState } from 'react';
|
|
22
|
-
import { Modal } from '@instructure/ui-modal';
|
|
23
|
-
import { Button, CloseButton } from '@instructure/ui-buttons';
|
|
24
|
-
import { Heading } from '@instructure/ui-heading';
|
|
25
|
-
import { View } from '@instructure/ui-view';
|
|
26
|
-
import { ScreenReaderContent } from '@instructure/ui-a11y-content';
|
|
27
|
-
import { List } from '@instructure/ui-list';
|
|
28
|
-
import { Flex } from '@instructure/ui-flex';
|
|
29
|
-
import { TextInput } from '@instructure/ui-text-input';
|
|
30
|
-
import { IconSearchLine } from '@instructure/ui-icons';
|
|
31
|
-
import { Alert } from '@instructure/ui-alerts';
|
|
32
|
-
import formatMessage from '../../../../../format-message';
|
|
33
|
-
import ExternalToolSelectionItem from './ExternalToolSelectionItem';
|
|
34
|
-
import { instuiPopupMountNode } from '../../../../../util/fullscreenHelpers';
|
|
35
|
-
|
|
36
|
-
// TODO: we really need a way for the client to pass this to the RCE
|
|
37
|
-
const getLiveRegion = () => document.getElementById('flash_screenreader_holder');
|
|
38
|
-
/**
|
|
39
|
-
* Returns a filtered list of items based on the term.
|
|
40
|
-
*
|
|
41
|
-
* This was copied from legacy code, and feels like it should be replaced by a string matching library.
|
|
42
|
-
*
|
|
43
|
-
* @param searchString search term
|
|
44
|
-
* @param items objects to filter
|
|
45
|
-
* @return matching items if a non-blank search term is provided, otherwise a copy of the original list
|
|
46
|
-
*/
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
export function filterItemsByTitleSubstring(searchString, items) {
|
|
50
|
-
if (searchString == null || searchString.length === 0) {
|
|
51
|
-
return items;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
const lowerTerm = searchString.toLocaleLowerCase();
|
|
55
|
-
return items.filter(item => item.title.toLocaleLowerCase().includes(lowerTerm));
|
|
56
|
-
}
|
|
57
|
-
export function ExternalToolSelectionDialog(props) {
|
|
58
|
-
const [filterTerm, setFilterTerm] = useState('');
|
|
59
|
-
const [filteredResults, setFilteredResults] = useState(props.ltiButtons);
|
|
60
|
-
|
|
61
|
-
const handleFilterChange = e => {
|
|
62
|
-
var _e$target;
|
|
63
|
-
|
|
64
|
-
setFilterTerm((_e$target = e.target) === null || _e$target === void 0 ? void 0 : _e$target.value);
|
|
65
|
-
setFilteredResults(filterItemsByTitleSubstring(e.target.value, props.ltiButtons));
|
|
66
|
-
};
|
|
67
|
-
|
|
68
|
-
const filterEmpty = filteredResults.length <= 0;
|
|
69
|
-
return /*#__PURE__*/React.createElement(Modal, {
|
|
70
|
-
"data-mce-component": true,
|
|
71
|
-
liveRegion: getLiveRegion,
|
|
72
|
-
size: "medium",
|
|
73
|
-
themeOverride: {
|
|
74
|
-
mediumMaxWidth: '42rem'
|
|
75
|
-
},
|
|
76
|
-
label: formatMessage('Apps'),
|
|
77
|
-
mountNode: instuiPopupMountNode,
|
|
78
|
-
onDismiss: props.onDismiss,
|
|
79
|
-
open: true,
|
|
80
|
-
shouldCloseOnDocumentClick: false
|
|
81
|
-
}, /*#__PURE__*/React.createElement(Modal.Header, {
|
|
82
|
-
themeOverride: {
|
|
83
|
-
padding: '0.5rem'
|
|
84
|
-
}
|
|
85
|
-
}, /*#__PURE__*/React.createElement(CloseButton, {
|
|
86
|
-
placement: "end",
|
|
87
|
-
offset: "medium",
|
|
88
|
-
onClick: props.onDismiss,
|
|
89
|
-
screenReaderLabel: formatMessage('Close')
|
|
90
|
-
}), /*#__PURE__*/React.createElement(Heading, {
|
|
91
|
-
margin: "small"
|
|
92
|
-
}, formatMessage('All Apps')), /*#__PURE__*/React.createElement(View, {
|
|
93
|
-
as: "div",
|
|
94
|
-
padding: "x-small none x-small medium"
|
|
95
|
-
}, /*#__PURE__*/React.createElement(TextInput, {
|
|
96
|
-
type: "search",
|
|
97
|
-
renderLabel: /*#__PURE__*/React.createElement(ScreenReaderContent, null, formatMessage('Search')),
|
|
98
|
-
placeholder: formatMessage('Search'),
|
|
99
|
-
renderAfterInput: /*#__PURE__*/React.createElement(IconSearchLine, {
|
|
100
|
-
inline: false
|
|
101
|
-
}),
|
|
102
|
-
onChange: handleFilterChange
|
|
103
|
-
}))), /*#__PURE__*/React.createElement(Modal.Body, {
|
|
104
|
-
overflow: "fit"
|
|
105
|
-
}, /*#__PURE__*/React.createElement(Flex, {
|
|
106
|
-
as: "div",
|
|
107
|
-
direction: "column"
|
|
108
|
-
}, /*#__PURE__*/React.createElement(Flex.Item, {
|
|
109
|
-
as: "div",
|
|
110
|
-
shouldShrink: true,
|
|
111
|
-
shouldGrow: true
|
|
112
|
-
}, /*#__PURE__*/React.createElement(Alert, {
|
|
113
|
-
liveRegion: getLiveRegion,
|
|
114
|
-
variant: "info",
|
|
115
|
-
screenReaderOnly: !filterEmpty
|
|
116
|
-
}, filterEmpty && formatMessage('No results found for {filterTerm}', {
|
|
117
|
-
filterTerm
|
|
118
|
-
}), !filterEmpty && formatMessage(`Found { count, plural,
|
|
119
|
-
=0 {# results}
|
|
120
|
-
one {# result}
|
|
121
|
-
other {# results}
|
|
122
|
-
}`, {
|
|
123
|
-
count: filteredResults.length
|
|
124
|
-
})), renderTools(filteredResults)))), /*#__PURE__*/React.createElement(Modal.Footer, null, /*#__PURE__*/React.createElement(Button, {
|
|
125
|
-
onClick: props.onDismiss,
|
|
126
|
-
color: "primary"
|
|
127
|
-
}, formatMessage('Done'))));
|
|
128
|
-
|
|
129
|
-
function renderTools(ltiButtons) {
|
|
130
|
-
return /*#__PURE__*/React.createElement(List, {
|
|
131
|
-
isUnstyled: true
|
|
132
|
-
}, ltiButtons.sort((a, b) => a.title.localeCompare(b.title)).map(b => {
|
|
133
|
-
return /*#__PURE__*/React.createElement(List.Item, {
|
|
134
|
-
key: b.id
|
|
135
|
-
}, /*#__PURE__*/React.createElement(View, {
|
|
136
|
-
as: "div",
|
|
137
|
-
padding: "medium medium small none"
|
|
138
|
-
}, /*#__PURE__*/React.createElement(ExternalToolSelectionItem, {
|
|
139
|
-
title: b.title,
|
|
140
|
-
image: b.image,
|
|
141
|
-
onAction: () => {
|
|
142
|
-
props.onDismiss();
|
|
143
|
-
b.openDialog();
|
|
144
|
-
},
|
|
145
|
-
description: b.description
|
|
146
|
-
})));
|
|
147
|
-
}));
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
ExternalToolSelectionDialog.propTypes = {
|
|
151
|
-
ltiButtons: _pt.array.isRequired,
|
|
152
|
-
onDismiss: _pt.func.isRequired
|
|
153
|
-
};
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
import _pt from "prop-types";
|
|
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 React, { useState } from 'react';
|
|
21
|
-
import { Text } from '@instructure/ui-text';
|
|
22
|
-
import { View } from '@instructure/ui-view';
|
|
23
|
-
import ExpandoText from '../util/ExpandoText';
|
|
24
|
-
import formatMessage from '../../../../../format-message';
|
|
25
|
-
import { css, StyleSheet } from 'aphrodite';
|
|
26
|
-
export default function ExternalToolSelectionItem(props) {
|
|
27
|
-
const [focused, setFocused] = useState(false);
|
|
28
|
-
const {
|
|
29
|
-
title,
|
|
30
|
-
image,
|
|
31
|
-
description,
|
|
32
|
-
onAction
|
|
33
|
-
} = props;
|
|
34
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(View, {
|
|
35
|
-
as: "span",
|
|
36
|
-
withFocusOutline: focused,
|
|
37
|
-
className: css(styles.appButton),
|
|
38
|
-
padding: "xxx-small xxx-small xx-small",
|
|
39
|
-
borderRadius: "medium",
|
|
40
|
-
role: "button",
|
|
41
|
-
position: "relative",
|
|
42
|
-
onClick: () => {
|
|
43
|
-
onAction();
|
|
44
|
-
},
|
|
45
|
-
onKeyDown: e => {
|
|
46
|
-
if (e.keyCode === 13 || e.keyCode === 32) {
|
|
47
|
-
onAction();
|
|
48
|
-
}
|
|
49
|
-
},
|
|
50
|
-
onFocus: () => setFocused(true),
|
|
51
|
-
onBlur: () => setFocused(false),
|
|
52
|
-
tabIndex: 0
|
|
53
|
-
}, /*#__PURE__*/React.createElement("span", null, image != null && /*#__PURE__*/React.createElement("img", {
|
|
54
|
-
src: image,
|
|
55
|
-
width: "28",
|
|
56
|
-
height: "28",
|
|
57
|
-
alt: ""
|
|
58
|
-
})), /*#__PURE__*/React.createElement(View, {
|
|
59
|
-
as: "span",
|
|
60
|
-
className: css(styles.appTitle),
|
|
61
|
-
margin: "none none none small"
|
|
62
|
-
}, /*#__PURE__*/React.createElement(Text, {
|
|
63
|
-
"aria-label": formatMessage('Open {title} application', {
|
|
64
|
-
title
|
|
65
|
-
}),
|
|
66
|
-
weight: "bold"
|
|
67
|
-
}, title))), renderDescription(description));
|
|
68
|
-
|
|
69
|
-
function renderDescription(desc) {
|
|
70
|
-
if (desc == null || desc === '') return null;
|
|
71
|
-
return /*#__PURE__*/React.createElement(View, {
|
|
72
|
-
as: "span",
|
|
73
|
-
margin: "none none none large",
|
|
74
|
-
display: "block"
|
|
75
|
-
}, /*#__PURE__*/React.createElement(ExpandoText, {
|
|
76
|
-
text: desc,
|
|
77
|
-
title: title
|
|
78
|
-
}));
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
ExternalToolSelectionItem.propTypes = {
|
|
82
|
-
title: _pt.string.isRequired,
|
|
83
|
-
image: _pt.oneOfType([_pt.string, _pt.oneOf([null])]),
|
|
84
|
-
onAction: _pt.func.isRequired,
|
|
85
|
-
description: _pt.oneOfType([_pt.string, _pt.oneOf([null])])
|
|
86
|
-
};
|
|
87
|
-
export const styles = StyleSheet.create({
|
|
88
|
-
appTitle: {
|
|
89
|
-
verticalAlign: 'middle'
|
|
90
|
-
},
|
|
91
|
-
appButton: {
|
|
92
|
-
cursor: 'pointer'
|
|
93
|
-
}
|
|
94
|
-
});
|
|
@@ -1,90 +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 { css, StyleSheet } from 'aphrodite';
|
|
20
|
-
import { Text } from '@instructure/ui-text';
|
|
21
|
-
import { View } from '@instructure/ui-view';
|
|
22
|
-
import formatMessage from '../../../../../format-message';
|
|
23
|
-
export default function ExpandoText(props) {
|
|
24
|
-
const [descExpanded, setDescExpanded] = useState(false);
|
|
25
|
-
const [focused, setFocused] = useState(false);
|
|
26
|
-
const {
|
|
27
|
-
text,
|
|
28
|
-
title
|
|
29
|
-
} = props;
|
|
30
|
-
const label = descExpanded ? formatMessage('Hide {title} description', {
|
|
31
|
-
title
|
|
32
|
-
}) : formatMessage('View {title} description', {
|
|
33
|
-
title
|
|
34
|
-
});
|
|
35
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(View, {
|
|
36
|
-
as: "button",
|
|
37
|
-
background: "transparent",
|
|
38
|
-
display: "block",
|
|
39
|
-
borderWidth: "none",
|
|
40
|
-
textAlign: "start",
|
|
41
|
-
type: "button",
|
|
42
|
-
position: "relative",
|
|
43
|
-
padding: "none none none xx-small",
|
|
44
|
-
"aria-expanded": descExpanded,
|
|
45
|
-
borderRadius: "medium",
|
|
46
|
-
withFocusOutline: focused,
|
|
47
|
-
onClick: () => {
|
|
48
|
-
setDescExpanded(!descExpanded);
|
|
49
|
-
},
|
|
50
|
-
onFocus: () => setFocused(true),
|
|
51
|
-
onBlur: () => setFocused(false)
|
|
52
|
-
}, /*#__PURE__*/React.createElement(View, {
|
|
53
|
-
as: "span",
|
|
54
|
-
"aria-live": "assertive",
|
|
55
|
-
"aria-relevant": "text"
|
|
56
|
-
}, /*#__PURE__*/React.createElement(Text, {
|
|
57
|
-
color: "brand",
|
|
58
|
-
size: "x-small",
|
|
59
|
-
"aria-label": label
|
|
60
|
-
}, descExpanded ? formatMessage('Hide description') : formatMessage('View description')))), descExpanded && /*#__PURE__*/React.createElement(View, {
|
|
61
|
-
as: "span",
|
|
62
|
-
margin: "small none none xx-small",
|
|
63
|
-
display: "block",
|
|
64
|
-
minWidth: "10rem",
|
|
65
|
-
role: "presentation"
|
|
66
|
-
}, /*#__PURE__*/React.createElement(Text, {
|
|
67
|
-
as: "span",
|
|
68
|
-
color: "secondary"
|
|
69
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
70
|
-
className: css(styles.descriptionText),
|
|
71
|
-
dangerouslySetInnerHTML: {
|
|
72
|
-
__html: text
|
|
73
|
-
}
|
|
74
|
-
}))));
|
|
75
|
-
}
|
|
76
|
-
export const styles = StyleSheet.create({
|
|
77
|
-
descriptionText: {
|
|
78
|
-
lineHeight: '1.2rem',
|
|
79
|
-
p: {
|
|
80
|
-
margin: '1rem 0'
|
|
81
|
-
},
|
|
82
|
-
':nth-child(1n)> :first-child': {
|
|
83
|
-
marginTop: '0',
|
|
84
|
-
display: 'inline-block'
|
|
85
|
-
},
|
|
86
|
-
':nth-child(1n)> :last-child': {
|
|
87
|
-
marginBottom: '0'
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
});
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (C) 2022 - present Instructure, Inc.
|
|
3
|
-
*
|
|
4
|
-
* This file is part of Canvas.
|
|
5
|
-
*
|
|
6
|
-
* Canvas is free software: you can redistribute it and/or modify it under
|
|
7
|
-
* the terms of the GNU Affero General Public License as published by the Free
|
|
8
|
-
* Software Foundation, version 3 of the License.
|
|
9
|
-
*
|
|
10
|
-
* Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
11
|
-
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
|
12
|
-
* A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
|
|
13
|
-
* details.
|
|
14
|
-
*
|
|
15
|
-
* You should have received a copy of the GNU Affero General Public License along
|
|
16
|
-
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
|
-
*/
|
|
18
|
-
import React from 'react';
|
|
19
|
-
import formatMessage from '../../../../../format-message';
|
|
20
|
-
/**
|
|
21
|
-
* Provide an iframe for launching an LTI tool directly from the frontend.
|
|
22
|
-
* Works just like all existing usages of the LTI <iframe> element, including
|
|
23
|
-
* extracting a ref of the <iframe> directly and setting things on it later.
|
|
24
|
-
*/
|
|
25
|
-
|
|
26
|
-
const ToolLaunchIframe = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
27
|
-
return /*#__PURE__*/React.createElement("iframe", Object.assign({
|
|
28
|
-
title: formatMessage('External tool frame'),
|
|
29
|
-
ref: ref,
|
|
30
|
-
className: "tool_launch"
|
|
31
|
-
}, props, {
|
|
32
|
-
"data-lti-launch": "true"
|
|
33
|
-
}));
|
|
34
|
-
});
|
|
35
|
-
export default ToolLaunchIframe;
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import ReactDOM from 'react-dom';
|
|
2
|
-
import ExternalToolDialog from './components/ExternalToolDialog/ExternalToolDialog';
|
|
3
|
-
import React, { createRef } from 'react';
|
|
4
|
-
const ensureToolDialogContainerId = 'external-tool-dialog-container';
|
|
5
|
-
export function ensureToolDialogContainerElem() {
|
|
6
|
-
let dialogContainer = document.getElementById(ensureToolDialogContainerId);
|
|
7
|
-
|
|
8
|
-
if (dialogContainer === null) {
|
|
9
|
-
dialogContainer = document.createElement('div');
|
|
10
|
-
dialogContainer.id = ensureToolDialogContainerId;
|
|
11
|
-
document.body.appendChild(dialogContainer);
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
return dialogContainer;
|
|
15
|
-
}
|
|
16
|
-
export function openToolDialogFor(toolHelper) {
|
|
17
|
-
const dialogRef = /*#__PURE__*/createRef();
|
|
18
|
-
const env = toolHelper.env;
|
|
19
|
-
ReactDOM.render( /*#__PURE__*/React.createElement(ExternalToolDialog, {
|
|
20
|
-
ref: dialogRef,
|
|
21
|
-
env: env,
|
|
22
|
-
iframeAllowances: env.ltiIframeAllowPolicy,
|
|
23
|
-
resourceSelectionUrlOverride: env.resourceSelectionUrlOverride
|
|
24
|
-
}), ensureToolDialogContainerElem(), () => {
|
|
25
|
-
var _dialogRef$current;
|
|
26
|
-
|
|
27
|
-
(_dialogRef$current = dialogRef.current) === null || _dialogRef$current === void 0 ? void 0 : _dialogRef$current.open(toolHelper);
|
|
28
|
-
});
|
|
29
|
-
}
|
|
@@ -1,55 +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
|
-
* Performs interpolation on the given text, replacing `{{name}}` with `value`.
|
|
21
|
-
*
|
|
22
|
-
* @param text The text to interpolate
|
|
23
|
-
* @param name The name of the tag to replace
|
|
24
|
-
* @param value The value to replace the tag with
|
|
25
|
-
*/
|
|
26
|
-
export function replaceOneTag(text, name, value) {
|
|
27
|
-
if (!text) {
|
|
28
|
-
return text;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
const strName = name !== null && name !== void 0 ? name : '';
|
|
32
|
-
const strValue = (value !== null && value !== void 0 ? value : '').replace(/\s/g, '+');
|
|
33
|
-
const itemExpression = new RegExp(`(%7B|{){2}[\\s|%20|\+]*${strName}[\\s|%20|\+]*(%7D|}){2}`, 'g');
|
|
34
|
-
return text.replace(itemExpression, strValue);
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Performs interpolation on the given text, replacing one or more tags in the form `{{tag}}` with a value.
|
|
38
|
-
*
|
|
39
|
-
* Takes either a single tag name and value, or a record of tag name -> tag value
|
|
40
|
-
*
|
|
41
|
-
* @param text The text to interpolate
|
|
42
|
-
* @param mappingOrName The mapping record or tag name
|
|
43
|
-
* @param maybeValue The value to replace with, if a single tag name was provided
|
|
44
|
-
*/
|
|
45
|
-
|
|
46
|
-
export function replaceTags(text, mappingOrName, maybeValue) {
|
|
47
|
-
if (typeof mappingOrName === 'object') {
|
|
48
|
-
Object.keys(mappingOrName).forEach(name => {
|
|
49
|
-
text = replaceOneTag(text, name, mappingOrName[name]);
|
|
50
|
-
});
|
|
51
|
-
return text;
|
|
52
|
-
} else {
|
|
53
|
-
return replaceOneTag(text, mappingOrName, maybeValue);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
@@ -1,172 +0,0 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
|
-
|
|
3
|
-
/*
|
|
4
|
-
* Copyright (C) 2011 - 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 $ from 'jquery';
|
|
21
|
-
/**
|
|
22
|
-
* TL;DR: Remove this file when possible.
|
|
23
|
-
*
|
|
24
|
-
* Please note that this file is considered very legacy. All instances of it
|
|
25
|
-
* should be evaluated and replaced with the newer and far better looking
|
|
26
|
-
* KyleMenu. The only other place that I've seen it in used is the file
|
|
27
|
-
* attendance.js which is on the chopping block at some point in the future.
|
|
28
|
-
* Once that file has been axed, then this file should be able to be removed.
|
|
29
|
-
*/
|
|
30
|
-
|
|
31
|
-
// Simple dropdown list. Takes the list of attributes specified in "options" and displays them
|
|
32
|
-
// in a menu anchored to the selected element.
|
|
33
|
-
$.fn.dropdownList = Object.assign(function (options) {
|
|
34
|
-
if (this.length) {
|
|
35
|
-
var _this$offset, _this$outerHeight, _$div$offset$left, _$div$offset, _$div$width, _$$width;
|
|
36
|
-
|
|
37
|
-
let $div = $('#instructure_dropdown_list');
|
|
38
|
-
|
|
39
|
-
if (options === 'hide' || options === 'remove' || $div.data('current_dropdown_initiator') === this[0]) {
|
|
40
|
-
$div.remove().data('current_dropdown_initiator', null);
|
|
41
|
-
return this;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
options = $.extend({}, $.fn.dropdownList.defaults, options);
|
|
45
|
-
let $list = $div.children('div.list');
|
|
46
|
-
|
|
47
|
-
if (!$list.length) {
|
|
48
|
-
$div = $("<div id='instructure_dropdown_list'><div class='list ui-widget-content'></div></div>").appendTo('body');
|
|
49
|
-
$(document).mousedown(event => {
|
|
50
|
-
if ($div.data('current_dropdown_initiator') && !$(event.target).closest('#instructure_dropdown_list').length) {
|
|
51
|
-
$div.hide().data('current_dropdown_initiator', null);
|
|
52
|
-
}
|
|
53
|
-
}).mouseup(event => {
|
|
54
|
-
if ($div.data('current_dropdown_initiator') && !$(event.target).closest('#instructure_dropdown_list').length) {
|
|
55
|
-
$div.hide();
|
|
56
|
-
setTimeout(() => {
|
|
57
|
-
$div.data('current_dropdown_initiator', null);
|
|
58
|
-
}, 100);
|
|
59
|
-
}
|
|
60
|
-
}).add(this).add($div).keydown(event => {
|
|
61
|
-
if ($div.data('current_dropdown_initiator')) {
|
|
62
|
-
const $current = $div.find('.ui-state-hover,.ui-state-active');
|
|
63
|
-
|
|
64
|
-
if (event.keyCode === 38) {
|
|
65
|
-
// up
|
|
66
|
-
if ($current.length && $current.prev().length) {
|
|
67
|
-
$current.removeClass('ui-state-hover ui-state-active').addClass('minimal').prev().addClass('ui-state-hover').removeClass('minimal').find('span').focus();
|
|
68
|
-
} else {
|
|
69
|
-
var _$item;
|
|
70
|
-
|
|
71
|
-
;
|
|
72
|
-
(_$item = window.$item) === null || _$item === void 0 ? void 0 : _$item.focus();
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
return false;
|
|
76
|
-
} else if (event.keyCode === 40) {
|
|
77
|
-
// down
|
|
78
|
-
if (!$current.length) {
|
|
79
|
-
$div.find('.option:first').addClass('ui-state-hover').removeClass('minimal').find('span').focus();
|
|
80
|
-
} else if ($current.next().length) {
|
|
81
|
-
$current.removeClass('ui-state-hover ui-state-active').addClass('minimal').next().addClass('ui-state-hover').removeClass('minimal').find('span').focus();
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
return false;
|
|
85
|
-
} else if (event.keyCode === 13 && $current.length) {
|
|
86
|
-
$current.click();
|
|
87
|
-
return false;
|
|
88
|
-
} else {
|
|
89
|
-
$div.hide().data('current_dropdown_initiator', null);
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
});
|
|
93
|
-
$div.find('.option').removeClass('ui-state-hover ui-state-active').addClass('minimal');
|
|
94
|
-
$div.click(_event => {
|
|
95
|
-
$div.hide().data('current_dropdown_initiator', null);
|
|
96
|
-
});
|
|
97
|
-
$list = $div.children('div.list');
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
$div.data('current_dropdown_initiator', this[0]);
|
|
101
|
-
|
|
102
|
-
if (options.width) {
|
|
103
|
-
$div.width(options.width);
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
if (options.height) {
|
|
107
|
-
$div.find('.list').css('maxHeight', options.height);
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
$list.empty();
|
|
111
|
-
$.each(options.options, (optionHtml, callback) => {
|
|
112
|
-
const $option = $("<div class='option minimal' style='cursor: pointer; padding: 2px 5px; overflow: hidden; white-space: nowrap;'>" + " <span tabindex='-1'>" + optionHtml.toString() + '</span>' + '</div>').appendTo($list);
|
|
113
|
-
|
|
114
|
-
function unhoverOtherOptions() {
|
|
115
|
-
$option.parent().find('div.option').removeClass('ui-state-hover ui-state-active').addClass('minimal');
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
if ($.isFunction(callback)) {
|
|
119
|
-
$option.addClass('ui-state-default').bind({
|
|
120
|
-
mouseenter() {
|
|
121
|
-
unhoverOtherOptions();
|
|
122
|
-
$option.addClass('ui-state-hover').removeClass('minimal');
|
|
123
|
-
},
|
|
124
|
-
|
|
125
|
-
mouseleave: unhoverOtherOptions,
|
|
126
|
-
|
|
127
|
-
mousedown(event) {
|
|
128
|
-
event.preventDefault();
|
|
129
|
-
unhoverOtherOptions();
|
|
130
|
-
$option.addClass('ui-state-active').removeClass('minimal');
|
|
131
|
-
},
|
|
132
|
-
|
|
133
|
-
mouseup: unhoverOtherOptions,
|
|
134
|
-
click: callback
|
|
135
|
-
});
|
|
136
|
-
} else {
|
|
137
|
-
$option.addClass('ui-state-disabled').bind({
|
|
138
|
-
mousedown(event) {
|
|
139
|
-
event.preventDefault();
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
});
|
|
143
|
-
}
|
|
144
|
-
});
|
|
145
|
-
const offset = (_this$offset = this.offset()) !== null && _this$offset !== void 0 ? _this$offset : {
|
|
146
|
-
top: 0,
|
|
147
|
-
left: 0
|
|
148
|
-
};
|
|
149
|
-
const height = (_this$outerHeight = this.outerHeight()) !== null && _this$outerHeight !== void 0 ? _this$outerHeight : 0;
|
|
150
|
-
$div.css({
|
|
151
|
-
whiteSpace: 'nowrap',
|
|
152
|
-
position: 'absolute',
|
|
153
|
-
top: offset.top + height,
|
|
154
|
-
left: offset.left + 5,
|
|
155
|
-
right: ''
|
|
156
|
-
}).hide().show(); // this is a fix so that if the dropdown ends up being off the page then move it back in so that it is on the page.
|
|
157
|
-
|
|
158
|
-
if (((_$div$offset$left = (_$div$offset = $div.offset()) === null || _$div$offset === void 0 ? void 0 : _$div$offset.left) !== null && _$div$offset$left !== void 0 ? _$div$offset$left : 0) + ((_$div$width = $div.width()) !== null && _$div$width !== void 0 ? _$div$width : 0) > ((_$$width = $(window).width()) !== null && _$$width !== void 0 ? _$$width : 0)) {
|
|
159
|
-
$div.css({
|
|
160
|
-
left: '',
|
|
161
|
-
right: 0
|
|
162
|
-
});
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
return this;
|
|
167
|
-
}, {
|
|
168
|
-
defaults: {
|
|
169
|
-
height: 250,
|
|
170
|
-
width: 'auto'
|
|
171
|
-
}
|
|
172
|
-
});
|