@instructure/canvas-rce 5.14.1 → 5.14.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 +5 -0
- package/DEVELOPMENT.md +1 -1
- package/README.md +0 -8
- package/__tests__/common/indicate.test.js +84 -0
- package/__tests__/common/mimeClass.test.js +85 -0
- package/__tests__/module/contentInsertionUtils.test.js +52 -0
- package/__tests__/module/indicatorRegion.test.js +75 -0
- package/__tests__/module/normalizeLocale.test.js +46 -0
- package/__tests__/module/normalizeProps.test.js +51 -0
- package/__tests__/module/sanitizePlugins.test.js +48 -0
- package/__tests__/module/wrapInitCb.test.js +56 -0
- package/__tests__/rcs/api.test.js +819 -0
- package/{mocha-reporter-config.js → __tests__/sidebar/actions/all_files.test.js} +10 -9
- package/__tests__/sidebar/actions/data.test.js +196 -0
- package/__tests__/sidebar/actions/utils.js +44 -0
- package/{es/rce/plugins/shared/__mocks__/screenfull.js → __tests__/sidebar/reducers/all_files.test.js} +10 -6
- package/babel.config.js +3 -1
- package/es/bridge/Bridge.js +8 -56
- package/es/bridge/index.js +1 -0
- package/es/canvasFileBrowser/FileBrowser.js +12 -59
- package/es/canvasFileBrowser/en-US.js +3 -6
- package/es/common/FlashAlert.js +7 -28
- package/es/common/browser.js +4 -2
- package/es/common/fileUrl.js +104 -59
- package/es/common/incremental-loading/LoadMoreButton.js +1 -0
- package/es/common/incremental-loading/LoadingIndicator.js +1 -2
- package/es/common/incremental-loading/LoadingStatus.js +1 -2
- package/es/common/incremental-loading/index.js +1 -0
- package/es/common/incremental-loading/useIncrementalLoading.js +1 -3
- package/es/common/indicate.js +15 -8
- package/es/common/mimeClass.js +3 -4
- package/es/common/natcompare.js +1 -4
- package/es/defaultTinymceConfig.js +5 -3
- package/es/elementDenylist.js +1 -0
- package/es/enhance-user-content/doc_previews.js +17 -28
- package/es/enhance-user-content/enhance_user_content.js +28 -60
- package/es/enhance-user-content/external_links.js +5 -8
- package/es/enhance-user-content/index.js +1 -0
- package/es/enhance-user-content/instructure_helper.js +12 -34
- package/es/enhance-user-content/jqueryish_funcs.js +8 -11
- package/es/enhance-user-content/mathml.js +35 -82
- package/es/enhance-user-content/media_comment_thumbnail.js +5 -17
- package/es/format-message.js +3 -4
- package/es/getThemeVars.js +8 -6
- package/es/getTranslations.js +1 -78
- package/es/index.js +3 -1
- package/es/rce/AlertMessageArea.js +1 -1
- package/es/rce/DraggingBlocker.js +4 -2
- package/es/rce/KeyboardShortcutModal.js +1 -0
- package/es/rce/RCE.js +12 -11
- package/es/rce/RCEGlobals.js +12 -10
- package/es/rce/RCEVariants.js +27 -10
- package/es/rce/RCEWrapper.js +167 -386
- package/es/rce/RCEWrapperProps.js +8 -3
- package/es/rce/RceHtmlEditor.js +5 -8
- package/es/rce/ResizeHandle.js +3 -8
- package/es/rce/RestoreAutoSaveModal.js +1 -2
- package/es/rce/ShowOnFocusButton/index.js +0 -6
- package/es/rce/StatusBar.js +8 -37
- package/es/rce/alertHandler.js +1 -4
- package/es/rce/contentInsertion.js +35 -57
- package/es/rce/contentInsertionUtils.js +6 -8
- package/es/rce/contentRendering.js +7 -12
- package/es/rce/customEvents.js +1 -0
- package/es/rce/editorLanguage.js +22 -10
- package/es/rce/indicatorRegion.js +6 -5
- package/es/rce/normalizeLocale.js +5 -3
- package/es/rce/normalizeProps.js +3 -1
- package/es/rce/plugins/instructure-ui-icons/plugin.js +21 -3
- package/es/rce/plugins/instructure_color/clickCallback.js +84 -0
- package/es/rce/plugins/instructure_color/components/ColorPicker.js +299 -0
- package/es/rce/plugins/instructure_color/components/ColorPopup.js +68 -0
- package/es/rce/plugins/instructure_color/components/colorUtils.js +60 -0
- package/es/rce/plugins/instructure_color/plugin.js +40 -0
- package/es/rce/plugins/instructure_condensed_buttons/core/ListUtils.js +10 -3
- package/es/rce/plugins/instructure_condensed_buttons/plugin.js +1 -0
- package/es/rce/plugins/instructure_condensed_buttons/ui/alignment-button.js +1 -2
- package/es/rce/plugins/instructure_condensed_buttons/ui/directionality-button.js +3 -2
- package/es/rce/plugins/instructure_condensed_buttons/ui/indent-outdent-button.js +1 -0
- package/es/rce/plugins/instructure_condensed_buttons/ui/list-button.js +22 -15
- package/es/rce/plugins/instructure_condensed_buttons/ui/subscript-superscript-button.js +1 -2
- package/es/rce/plugins/instructure_documents/clickCallback.js +1 -0
- package/es/rce/plugins/instructure_documents/components/DocumentsPanel.js +1 -9
- package/es/rce/plugins/instructure_documents/components/Link.js +3 -18
- package/es/rce/plugins/instructure_documents/plugin.js +7 -14
- package/es/rce/plugins/instructure_equation/EquationEditorModal/advancedOnlySyntax.js +4 -2
- package/es/rce/plugins/instructure_equation/EquationEditorModal/advancedPreference.js +1 -2
- package/es/rce/plugins/instructure_equation/EquationEditorModal/index.js +12 -29
- package/es/rce/plugins/instructure_equation/EquationEditorModal/latexTextareaUtil.js +11 -12
- package/es/rce/plugins/instructure_equation/EquationEditorModal/parseLatex.js +4 -3
- package/es/rce/plugins/instructure_equation/EquationEditorModal/styles.js +4 -2
- package/es/rce/plugins/instructure_equation/EquationEditorToolbar/buttons.js +13 -7
- package/es/rce/plugins/instructure_equation/EquationEditorToolbar/index.js +4 -7
- package/es/rce/plugins/instructure_equation/MathIcon/index.js +1 -1
- package/es/rce/plugins/instructure_equation/MathIcon/svgs.js +1 -1
- package/es/rce/plugins/instructure_equation/clickCallback.js +2 -5
- package/es/rce/plugins/instructure_equation/mathlive/index.js +1 -1
- package/es/rce/plugins/instructure_equation/plugin.js +7 -10
- package/es/rce/plugins/instructure_fullscreen/plugin.js +3 -6
- package/es/rce/plugins/instructure_html_view/clickCallback.js +1 -0
- package/es/rce/plugins/instructure_html_view/plugin.js +5 -4
- package/es/rce/plugins/instructure_icon_maker/clickCallback.js +2 -4
- package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ColorSection.js +1 -2
- package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/CreateIconMakerForm.js +1 -0
- package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Footer.js +1 -0
- package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Group.js +1 -0
- package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Header.js +1 -2
- package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/Course.js +25 -22
- package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/ImageOptions.js +7 -11
- package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/ImageSection.js +27 -23
- package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/ModeSelect.js +5 -4
- package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/MultiColor/index.js +11 -9
- package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/MultiColor/svg.js +1 -0
- package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/SVGList.js +5 -4
- package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/SVGThumbnail.js +1 -3
- package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/SingleColor/index.js +7 -7
- package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/SingleColor/svg.js +1 -0
- package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/Upload.js +27 -20
- package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/index.js +1 -0
- package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/propTypes.js +1 -0
- package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/utils.js +1 -0
- package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Preview.js +4 -4
- package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ShapeSection.js +1 -2
- package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/TextSection.js +1 -5
- package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/index.js +1 -0
- package/es/rce/plugins/instructure_icon_maker/components/IconMakerTray.js +18 -33
- package/es/rce/plugins/instructure_icon_maker/components/SavedIconMakerList.js +4 -4
- package/es/rce/plugins/instructure_icon_maker/plugin.js +10 -14
- package/es/rce/plugins/instructure_icon_maker/reducers/imageSection.js +37 -38
- package/es/rce/plugins/instructure_icon_maker/reducers/svgSettings.js +24 -24
- package/es/rce/plugins/instructure_icon_maker/registerEditToolbar.js +1 -3
- package/es/rce/plugins/instructure_icon_maker/svg/constants.js +4 -3
- package/es/rce/plugins/instructure_icon_maker/svg/font.js +3 -1
- package/es/rce/plugins/instructure_icon_maker/svg/image.js +69 -83
- package/es/rce/plugins/instructure_icon_maker/svg/index.js +11 -15
- package/es/rce/plugins/instructure_icon_maker/svg/metadata.js +1 -0
- package/es/rce/plugins/instructure_icon_maker/svg/settings.js +32 -39
- package/es/rce/plugins/instructure_icon_maker/svg/shape.js +1 -49
- package/es/rce/plugins/instructure_icon_maker/svg/text.js +7 -92
- package/es/rce/plugins/instructure_icon_maker/svg/utils.js +1 -7
- package/es/rce/plugins/instructure_icon_maker/utils/IconMakerClose.js +2 -6
- package/es/rce/plugins/instructure_icon_maker/utils/IconMakerFormHasChanges.js +1 -15
- package/es/rce/plugins/instructure_icon_maker/utils/addIconMakerAttributes.js +3 -4
- package/es/rce/plugins/instructure_icon_maker/utils/iconValidation.js +1 -1
- package/es/rce/plugins/instructure_icon_maker/utils/iconsLabels.js +1 -0
- package/es/rce/plugins/instructure_icon_maker/utils/useDebouncedValue.js +12 -13
- package/es/rce/plugins/instructure_image/ImageEmbedOptions.js +6 -24
- package/es/rce/plugins/instructure_image/ImageList/Image.js +1 -6
- package/es/rce/plugins/instructure_image/ImageList/index.js +1 -2
- package/es/rce/plugins/instructure_image/ImageOptionsTray/TrayController.js +7 -27
- package/es/rce/plugins/instructure_image/ImageOptionsTray/index.js +3 -16
- package/es/rce/plugins/instructure_image/Images/index.js +1 -3
- package/es/rce/plugins/instructure_image/clickCallback.js +1 -0
- package/es/rce/plugins/instructure_image/plugin.js +13 -18
- package/es/rce/plugins/instructure_links/clickCallback.js +1 -0
- package/es/rce/plugins/instructure_links/components/AccordionSection.js +1 -0
- package/es/rce/plugins/instructure_links/components/CollectionPanel.js +1 -3
- package/es/rce/plugins/instructure_links/components/Link.js +7 -19
- package/es/rce/plugins/instructure_links/components/LinkOptionsDialog/LinkOptionsDialogController.js +1 -21
- package/es/rce/plugins/instructure_links/components/LinkOptionsDialog/index.js +1 -4
- package/es/rce/plugins/instructure_links/components/LinkOptionsTray/LinkOptionsTrayController.js +3 -20
- package/es/rce/plugins/instructure_links/components/LinkOptionsTray/index.js +1 -12
- package/es/rce/plugins/instructure_links/components/LinkSet.js +4 -20
- package/es/rce/plugins/instructure_links/components/LinksPanel.js +1 -2
- package/es/rce/plugins/instructure_links/components/NavigationPanel.js +7 -9
- package/es/rce/plugins/instructure_links/components/NoResults.js +1 -7
- package/es/rce/plugins/instructure_links/plugin.js +17 -40
- package/es/rce/plugins/instructure_links/validateURL.js +81 -36
- package/es/rce/plugins/instructure_media_embed/clickCallback.js +2 -5
- package/es/rce/plugins/instructure_media_embed/components/Embed.js +1 -0
- package/es/rce/plugins/instructure_media_embed/plugin.js +7 -3
- package/es/rce/plugins/instructure_paste/pasteMenuCommand.js +1 -5
- package/es/rce/plugins/instructure_paste/plugin.js +27 -29
- package/es/rce/plugins/instructure_rce_external_tools/ExternalToolsEnv.js +14 -53
- package/es/rce/plugins/instructure_rce_external_tools/RceToolWrapper.js +21 -49
- package/es/rce/plugins/instructure_rce_external_tools/components/ExternalToolDialog/ExternalToolDialog.js +11 -42
- package/es/rce/plugins/instructure_rce_external_tools/components/ExternalToolDialog/ExternalToolDialogModal.js +1 -2
- package/es/rce/plugins/instructure_rce_external_tools/components/ExternalToolDialog/ExternalToolDialogTray.js +1 -1
- package/es/rce/plugins/instructure_rce_external_tools/components/ExternalToolSelectionDialog/ExternalToolSelectionDialog.js +2 -10
- package/es/rce/plugins/instructure_rce_external_tools/components/ExternalToolSelectionDialog/ExternalToolSelectionItem.js +1 -2
- package/es/rce/plugins/instructure_rce_external_tools/components/util/ExpandoText.js +1 -0
- package/es/rce/plugins/instructure_rce_external_tools/components/util/ToolLaunchIframe.js +2 -1
- package/es/rce/{__mocks__/_mockStudioPlayer.js → plugins/instructure_rce_external_tools/constants.js} +11 -3
- package/es/rce/plugins/instructure_rce_external_tools/dialog-helper.js +19 -4
- package/es/rce/plugins/instructure_rce_external_tools/helpers/tags.js +0 -2
- package/es/rce/plugins/instructure_rce_external_tools/jquery/jquery.dropdownList.js +130 -136
- package/es/rce/plugins/instructure_rce_external_tools/lti11-content-items/RceLti11ContentItem.js +100 -95
- package/es/rce/plugins/instructure_rce_external_tools/lti13-content-items/Lti13ContentItemJson.js +1 -0
- package/es/rce/plugins/instructure_rce_external_tools/lti13-content-items/RceLti13ContentItem.js +2 -19
- package/es/rce/plugins/instructure_rce_external_tools/lti13-content-items/models/BaseLinkContentItem.js +1 -14
- package/es/rce/plugins/instructure_rce_external_tools/lti13-content-items/models/HtmlFragmentContentItem.js +1 -6
- package/es/rce/plugins/instructure_rce_external_tools/lti13-content-items/models/ImageContentItem.js +1 -9
- package/es/rce/plugins/instructure_rce_external_tools/lti13-content-items/models/LinkContentItem.js +1 -1
- package/es/rce/plugins/instructure_rce_external_tools/lti13-content-items/models/ResourceLinkContentItem.js +3 -5
- package/es/rce/plugins/instructure_rce_external_tools/lti13-content-items/processEditorContentItems.js +18 -10
- package/es/rce/plugins/instructure_rce_external_tools/lti13-content-items/rceLti13ContentItemFromJson.js +4 -4
- package/es/rce/plugins/instructure_rce_external_tools/plugin.js +7 -16
- package/es/rce/plugins/instructure_rce_external_tools/util/addParentFrameContextToUrl.js +1 -1
- package/es/rce/plugins/instructure_record/AudioOptionsTray/TrayController.js +1 -25
- package/es/rce/plugins/instructure_record/AudioOptionsTray/index.js +1 -4
- package/es/rce/plugins/instructure_record/MediaPanel/index.js +1 -9
- package/es/rce/plugins/instructure_record/VideoOptionsTray/TrayController.js +8 -51
- package/es/rce/plugins/instructure_record/VideoOptionsTray/index.js +4 -17
- package/es/rce/plugins/instructure_record/clickCallback.js +7 -15
- package/es/rce/plugins/instructure_record/mediaTranslations.js +1 -0
- package/es/rce/plugins/instructure_record/plugin.js +11 -18
- package/es/rce/plugins/instructure_search_and_replace/clickCallback.js +2 -5
- package/es/rce/plugins/instructure_search_and_replace/components/FindReplaceTray.js +20 -35
- package/es/rce/plugins/instructure_search_and_replace/components/FindReplaceTrayController.js +3 -18
- package/es/rce/plugins/instructure_search_and_replace/getSelectionContext.js +2 -9
- package/es/rce/plugins/instructure_search_and_replace/plugin.js +1 -3
- package/es/rce/plugins/instructure_studio_media_options/plugin.js +1 -1
- package/es/rce/plugins/instructure_wordcount/clickCallback.js +2 -5
- package/es/rce/plugins/instructure_wordcount/components/WordCountModal.js +1 -4
- package/es/rce/plugins/instructure_wordcount/plugin.js +1 -0
- package/es/rce/plugins/instructure_wordcount/utils/countContent.js +1 -8
- package/es/rce/plugins/instructure_wordcount/utils/tableContent.js +1 -0
- package/es/rce/plugins/shared/CanvasContentTray.js +22 -49
- package/es/rce/plugins/shared/CheckerboardStyling.js +1 -1
- package/es/rce/plugins/shared/ColorInput.js +5 -14
- package/es/rce/plugins/shared/ConditionalTooltip.js +1 -0
- package/es/rce/plugins/shared/ContentSelection.js +17 -58
- package/es/rce/plugins/shared/DimensionUtils.js +1 -8
- package/es/rce/plugins/shared/DimensionsInput/DimensionInput.js +6 -6
- package/es/rce/plugins/shared/DimensionsInput/index.js +37 -15
- package/es/rce/plugins/shared/DimensionsInput/useDimensionsState.js +5 -29
- package/es/rce/plugins/shared/ErrorBoundary.js +2 -5
- package/es/rce/plugins/shared/EventUtils.js +1 -3
- package/es/rce/plugins/shared/Filter.js +8 -38
- package/es/rce/plugins/shared/FixedContentTray.js +3 -3
- package/es/rce/plugins/shared/ImageCropper/DirectionRegion.js +1 -8
- package/es/rce/plugins/shared/ImageCropper/Modal.js +4 -7
- package/es/rce/plugins/shared/ImageCropper/Preview.js +7 -11
- package/es/rce/plugins/shared/ImageCropper/constants.js +1 -0
- package/es/rce/plugins/shared/ImageCropper/controls/CustomNumberInput.js +2 -5
- package/es/rce/plugins/shared/ImageCropper/controls/ResetControls.js +1 -0
- package/es/rce/plugins/shared/ImageCropper/controls/RotationControls.js +1 -10
- package/es/rce/plugins/shared/ImageCropper/controls/ShapeControls.js +1 -0
- package/es/rce/plugins/shared/ImageCropper/controls/ZoomControls.js +1 -11
- package/es/rce/plugins/shared/ImageCropper/controls/index.js +1 -0
- package/es/rce/plugins/shared/ImageCropper/controls/useDebouncedNumericValue.js +3 -16
- package/es/rce/plugins/shared/ImageCropper/controls/utils.js +1 -2
- package/es/rce/plugins/shared/ImageCropper/imageCropUtils.js +1 -10
- package/es/rce/plugins/shared/ImageCropper/index.js +1 -0
- package/es/rce/plugins/shared/ImageCropper/propTypes.js +1 -0
- package/es/rce/plugins/shared/ImageCropper/reducers/imageCropper.js +15 -14
- package/es/rce/plugins/shared/ImageCropper/shape.js +1 -0
- package/es/rce/plugins/shared/ImageCropper/svg/index.js +1 -2
- package/es/rce/plugins/shared/ImageCropper/svg/shape.js +1 -17
- package/es/rce/plugins/shared/ImageCropper/svg/utils.js +1 -0
- package/es/rce/plugins/shared/ImageCropper/useKeyMouseEvents.js +19 -46
- package/es/rce/plugins/shared/ImageCropper/useMouseWheel.js +8 -10
- package/es/rce/plugins/shared/ImageOptionsForm.js +1 -2
- package/es/rce/plugins/shared/LinkDisplay.js +1 -2
- package/es/rce/plugins/shared/PreviewIcon.js +1 -6
- package/es/rce/plugins/shared/Previewable.js +1 -0
- package/es/rce/plugins/shared/RceFileBrowser.js +5 -7
- package/es/rce/plugins/shared/StoreContext.js +1 -2
- package/es/rce/plugins/shared/StudioLtiSupportUtils.js +10 -6
- package/es/rce/plugins/shared/UnknownFileTypePanel.js +1 -0
- package/es/rce/plugins/shared/Upload/CanvasContentPanel.js +13 -18
- package/es/rce/plugins/shared/Upload/CategoryProcessor.js +1 -1
- package/es/rce/plugins/shared/Upload/ComputerPanel.js +8 -26
- package/es/rce/plugins/shared/Upload/PanelFilter.js +3 -12
- package/es/rce/plugins/shared/Upload/SvgCategoryProcessor.js +4 -3
- package/es/rce/plugins/shared/Upload/UploadFile.js +15 -18
- package/es/rce/plugins/shared/Upload/UploadFileModal.js +9 -25
- package/es/rce/plugins/shared/Upload/UrlPanel.js +1 -0
- package/es/rce/plugins/shared/Upload/UsageRightsSelectBox.js +7 -12
- package/es/rce/plugins/shared/Upload/doFileUpload.js +4 -6
- package/es/rce/plugins/shared/Upload/index.js +1 -0
- package/es/rce/plugins/shared/ai_tools/AIResponseModal.js +1 -3
- package/es/rce/plugins/shared/ai_tools/AIToolsTray.js +6 -24
- package/es/rce/plugins/shared/ai_tools/aiicons.js +1 -0
- package/es/rce/plugins/shared/ai_tools/index.js +1 -0
- package/es/rce/plugins/shared/buildDownloadUrl.js +0 -2
- package/es/rce/plugins/shared/canvasContentUtils.js +6 -9
- package/es/rce/plugins/shared/compressionUtils.js +1 -8
- package/es/rce/plugins/shared/dateUtils.js +1 -1
- package/es/rce/plugins/shared/do-fetch-api-effect/defaultFetchOptions.js +4 -2
- package/es/rce/plugins/shared/do-fetch-api-effect/doFetchApi.js +7 -10
- package/es/rce/plugins/shared/do-fetch-api-effect/index.js +1 -0
- package/es/rce/plugins/shared/do-fetch-api-effect/parse-link-header.js +6 -20
- package/es/rce/plugins/shared/do-fetch-api-effect/query-string-encoding.js +5 -3
- package/es/rce/plugins/shared/fileShape.js +4 -9
- package/es/rce/plugins/shared/fileTypeUtils.js +32 -42
- package/es/rce/plugins/shared/fileUtils.js +1 -2
- package/es/rce/plugins/shared/linkUtils.js +1 -16
- package/es/rce/plugins/shared/round.js +1 -0
- package/es/rce/plugins/shared/trayUtils.js +4 -3
- package/es/rce/plugins/shared/useDataUrl.js +9 -9
- package/es/rce/plugins/shared/useFilterSettings.js +3 -3
- package/es/rce/plugins/tinymce-a11y-checker/components/ColorField.js +2 -6
- package/es/rce/plugins/tinymce-a11y-checker/components/checker.js +5 -63
- package/es/rce/plugins/tinymce-a11y-checker/components/color-picker.js +1 -2
- package/es/rce/plugins/tinymce-a11y-checker/components/placeholder-svg.js +1 -0
- package/es/rce/plugins/tinymce-a11y-checker/components/pointer.js +1 -0
- package/es/rce/plugins/tinymce-a11y-checker/node-checker.js +1 -6
- package/es/rce/plugins/tinymce-a11y-checker/plugin.js +4 -7
- package/es/rce/plugins/tinymce-a11y-checker/rules/adjacent-links.js +3 -26
- package/es/rce/plugins/tinymce-a11y-checker/rules/headings-sequence.js +9 -38
- package/es/rce/plugins/tinymce-a11y-checker/rules/headings-start-at-h2.js +1 -5
- package/es/rce/plugins/tinymce-a11y-checker/rules/img-alt-filename.js +1 -2
- package/es/rce/plugins/tinymce-a11y-checker/rules/img-alt-length.js +1 -1
- package/es/rce/plugins/tinymce-a11y-checker/rules/img-alt.js +1 -2
- package/es/rce/plugins/tinymce-a11y-checker/rules/index.js +1 -0
- package/es/rce/plugins/tinymce-a11y-checker/rules/large-text-contrast.js +1 -4
- package/es/rce/plugins/tinymce-a11y-checker/rules/list-structure.js +5 -24
- package/es/rce/plugins/tinymce-a11y-checker/rules/paragraphs-for-headings.js +1 -3
- package/es/rce/plugins/tinymce-a11y-checker/rules/small-text-contrast.js +1 -6
- package/es/rce/plugins/tinymce-a11y-checker/rules/table-caption.js +1 -3
- package/es/rce/plugins/tinymce-a11y-checker/rules/table-header-scope.js +1 -2
- package/es/rce/plugins/tinymce-a11y-checker/rules/table-header.js +1 -9
- package/es/rce/plugins/tinymce-a11y-checker/utils/colors.js +1 -0
- package/es/rce/plugins/tinymce-a11y-checker/utils/describe.js +1 -7
- package/es/rce/plugins/tinymce-a11y-checker/utils/dom.js +1 -26
- package/es/rce/plugins/tinymce-a11y-checker/utils/indicate.js +16 -15
- package/es/rce/plugins/tinymce-a11y-checker/utils/rgb-hex.js +7 -10
- package/es/rce/plugins/tinymce-a11y-checker/utils/strings.js +1 -4
- package/es/rce/root.js +9 -8
- package/es/rce/sanitizePlugins.js +1 -3
- package/es/rce/style.js +1 -4
- package/es/rce/tinyRCE.js +13 -9
- package/es/rce/tinymce.oxide.content.min.css.js +1 -0
- package/es/rce/tinymce.oxide.skin.min.css.js +1 -0
- package/es/rce/transformContent.js +8 -10
- package/es/rce/types.js +1 -0
- package/es/rce/userOS.js +1 -1
- package/es/rce/wrapInitCb.js +50 -43
- package/es/rcs/api.js +61 -116
- package/es/rcs/buildError.js +5 -17
- package/es/rcs/fake.js +4 -13
- package/es/sidebar/actions/all_files.js +2 -0
- package/es/sidebar/actions/data.js +4 -7
- package/es/sidebar/actions/documents.js +9 -6
- package/es/sidebar/actions/files.js +3 -6
- package/es/sidebar/actions/filter.js +1 -0
- package/es/sidebar/actions/flickr.js +1 -1
- package/es/sidebar/actions/images.js +12 -11
- package/es/sidebar/actions/links.js +1 -0
- package/es/sidebar/actions/media.js +12 -10
- package/es/sidebar/actions/session.js +1 -3
- package/es/sidebar/actions/ui.js +1 -0
- package/es/sidebar/actions/upload.js +14 -39
- package/es/sidebar/containers/Sidebar.js +1 -2
- package/es/sidebar/containers/sidebarHandlers.js +3 -1
- package/es/sidebar/dragHtml.js +5 -3
- package/es/sidebar/reducers/all_files.js +4 -3
- package/es/sidebar/reducers/collection.js +12 -13
- package/es/sidebar/reducers/collections.js +5 -5
- package/es/sidebar/reducers/documents.js +6 -13
- package/es/sidebar/reducers/files.js +3 -3
- package/es/sidebar/reducers/filter.js +1 -8
- package/es/sidebar/reducers/flickr.js +9 -9
- package/es/sidebar/reducers/folder.js +15 -15
- package/es/sidebar/reducers/folders.js +3 -3
- package/es/sidebar/reducers/images.js +3 -13
- package/es/sidebar/reducers/index.js +3 -1
- package/es/sidebar/reducers/media.js +6 -13
- package/es/sidebar/reducers/newPageLinkExpanded.js +1 -2
- package/es/sidebar/reducers/noop.js +1 -0
- package/es/sidebar/reducers/rootFolderId.js +1 -2
- package/es/sidebar/reducers/session.js +3 -3
- package/es/sidebar/reducers/ui.js +3 -16
- package/es/sidebar/reducers/upload.js +8 -40
- package/es/sidebar/store/configureStore.js +1 -0
- package/es/sidebar/store/initialState.js +13 -24
- package/es/translations/locales/ab.js +1 -0
- package/es/translations/locales/ar.js +67 -9
- package/es/translations/locales/ca.js +67 -9
- package/es/translations/locales/cs.js +1 -0
- package/es/translations/locales/cs_CZ.js +1 -0
- package/es/translations/locales/cy.js +67 -9
- package/es/translations/locales/da-x-k12.js +67 -9
- package/es/translations/locales/da.js +67 -9
- package/es/translations/locales/da_DK.js +1 -0
- package/es/translations/locales/de.js +67 -9
- package/es/translations/locales/el.js +4 -0
- package/es/translations/locales/en-AU-x-unimelb.js +67 -9
- package/es/translations/locales/en-GB-x-ukhe.js +67 -9
- package/es/translations/locales/en.js +72 -8
- package/es/translations/locales/en_AU.js +67 -9
- package/es/translations/locales/en_CA.js +67 -9
- package/es/translations/locales/en_CY.js +67 -9
- package/es/translations/locales/en_GB.js +67 -9
- package/es/translations/locales/en_NZ.js +1 -0
- package/es/translations/locales/en_SE.js +1 -0
- package/es/translations/locales/en_US.js +1 -0
- package/es/translations/locales/es.js +67 -9
- package/es/translations/locales/es_ES.js +67 -9
- package/es/translations/locales/es_GT.js +1 -0
- package/es/translations/locales/fa_IR.js +7 -0
- package/es/translations/locales/fi.js +67 -9
- package/es/translations/locales/fr.js +67 -9
- package/es/translations/locales/fr_CA.js +68 -10
- package/es/translations/locales/ga.js +5 -13
- package/es/translations/locales/he.js +7 -0
- package/es/translations/locales/hi.js +67 -9
- package/es/translations/locales/ht.js +67 -9
- package/es/translations/locales/hu.js +7 -6
- package/es/translations/locales/hu_HU.js +1 -0
- package/es/translations/locales/hy.js +1 -0
- package/es/translations/locales/id.js +67 -9
- package/es/translations/locales/id_ID.js +1 -0
- package/es/translations/locales/is.js +67 -9
- package/es/translations/locales/it.js +67 -9
- package/es/translations/locales/ja.js +67 -9
- package/es/translations/locales/ko.js +1 -0
- package/es/translations/locales/ko_KR.js +1 -0
- package/es/translations/locales/lt.js +1 -0
- package/es/translations/locales/lt_LT.js +1 -0
- package/es/translations/locales/mi.js +67 -9
- package/es/translations/locales/mn_MN.js +1 -0
- package/es/translations/locales/ms.js +67 -9
- package/es/translations/locales/nb-x-k12.js +67 -9
- package/es/translations/locales/nb.js +67 -9
- package/es/translations/locales/nl.js +67 -9
- package/es/translations/locales/nl_NL.js +1 -0
- package/es/translations/locales/nn.js +7 -6
- package/es/translations/locales/pl.js +67 -9
- package/es/translations/locales/pt.js +67 -9
- package/es/translations/locales/pt_BR.js +67 -9
- package/es/translations/locales/ro.js +1 -0
- package/es/translations/locales/ru.js +67 -9
- package/es/translations/locales/se.js +1 -0
- package/es/translations/locales/sl.js +67 -9
- package/es/translations/locales/sv-x-k12.js +67 -9
- package/es/translations/locales/sv.js +67 -9
- package/es/translations/locales/sv_SE.js +1 -0
- package/es/translations/locales/tg.js +1 -0
- package/es/translations/locales/th.js +67 -9
- package/es/translations/locales/th_TH.js +1 -0
- package/es/translations/locales/tl_PH.js +1 -0
- package/es/translations/locales/tr.js +7 -0
- package/es/translations/locales/uk_UA.js +7 -0
- package/es/translations/locales/vi.js +67 -9
- package/es/translations/locales/vi_VN.js +1 -0
- package/es/translations/locales/zh-Hans.js +67 -9
- package/es/translations/locales/zh-Hant.js +67 -9
- package/es/translations/locales/zh.js +67 -9
- package/es/translations/locales/zh_HK.js +67 -9
- package/es/translations/locales/zh_TW.Big5.js +1 -0
- package/es/translations/locales/zh_TW.js +1 -0
- package/es/translations/tinymce/ar_SA.js +1 -0
- package/es/translations/tinymce/fi.js +1 -0
- package/es/translations/tinymce/ga.js +1 -0
- package/es/translations/tinymce/id.js +1 -0
- package/es/translations/tinymce/ru.js +1 -0
- package/es/translations/tinymce/ru_RU.js +1 -0
- package/es/translations/tinymce/sl.js +1 -0
- package/es/translations/tinymce/sr.js +1 -0
- package/es/translations/tinymce/th.js +1 -0
- package/es/translations/tinymce/uk_UA.js +1 -0
- package/es/translations/tinymce/vi_VN.js +1 -0
- package/es/util/TypedDict.js +4 -2
- package/es/util/encrypted-storage.js +3 -13
- package/es/util/file-url-util.js +1 -6
- package/es/util/fullscreenHelpers.js +4 -1
- package/es/util/instui-icon-helper.js +4 -3
- package/es/util/loadingPlaceholder.js +38 -39
- package/es/util/simpleCache.js +0 -3
- package/es/util/string-util.js +1 -1
- package/es/util/textarea-editing-util.js +3 -7
- package/es/util/tinymce-plugin-util.js +0 -5
- package/es/util/url-util.js +16 -25
- package/eslint.config.js +239 -0
- package/jest.config.js +1 -1
- package/package.json +76 -81
- package/scripts/build-canvas +2 -1
- package/scripts/build.js +4 -4
- package/testcafe/RCEWrapper.test.js +0 -1
- package/testcafe/StatusBar.test.js +0 -1
- package/testcafe/axe.test.js +3 -4
- package/testcafe/enhanceUserContent.test.js +0 -1
- package/tsconfig.json +20 -15
- package/.eslintrc +0 -45
- package/.prettierignore +0 -6
- package/es/rce/__mocks__/_mockCryptoEs.js +0 -124
- package/es/rce/__mocks__/styleMock.js +0 -18
- package/es/rce/__mocks__/tinymceReact.js +0 -55
- package/es/rce/plugins/tinymce-a11y-checker/rules/__mocks__/index.js +0 -53
package/eslint.config.js
ADDED
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
const globals = require('globals')
|
|
2
|
+
const pluginJs = require('@eslint/js')
|
|
3
|
+
const tseslint = require('typescript-eslint')
|
|
4
|
+
const pluginReact = require('eslint-plugin-react')
|
|
5
|
+
const jsxA11y = require('eslint-plugin-jsx-a11y')
|
|
6
|
+
const pluginReactHooks = require('eslint-plugin-react-hooks')
|
|
7
|
+
const pluginPromise = require('eslint-plugin-promise')
|
|
8
|
+
const importPlugin = require('eslint-plugin-import')
|
|
9
|
+
const notice = require('eslint-plugin-notice')
|
|
10
|
+
const comments = require('@eslint-community/eslint-plugin-eslint-comments/configs')
|
|
11
|
+
const pluginJest = require('eslint-plugin-jest')
|
|
12
|
+
|
|
13
|
+
/** @type {import('eslint').Linter.Config[]} */
|
|
14
|
+
module.exports = tseslint.config(
|
|
15
|
+
// General
|
|
16
|
+
{
|
|
17
|
+
files: ['src/**/*.ts', 'testcafe/**/*.{js,mjs,ts,jsx,tsx}'],
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
ignores: [
|
|
21
|
+
'es/**/*',
|
|
22
|
+
'./src/translations/*/*',
|
|
23
|
+
'scripts',
|
|
24
|
+
'packages/canvas-rce/webpack.testcafe.config.js',
|
|
25
|
+
'testcafe/',
|
|
26
|
+
'webpack.*.config.js',
|
|
27
|
+
],
|
|
28
|
+
},
|
|
29
|
+
|
|
30
|
+
// Globals
|
|
31
|
+
{
|
|
32
|
+
languageOptions: {
|
|
33
|
+
ecmaVersion: 'latest',
|
|
34
|
+
sourceType: 'commonjs',
|
|
35
|
+
globals: {
|
|
36
|
+
...globals.node,
|
|
37
|
+
...globals.browser,
|
|
38
|
+
ENV: true,
|
|
39
|
+
JSX: true,
|
|
40
|
+
INST: true,
|
|
41
|
+
tinyMCE: true,
|
|
42
|
+
tinymce: true,
|
|
43
|
+
structuredClone: true,
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
},
|
|
47
|
+
|
|
48
|
+
{
|
|
49
|
+
rules: {
|
|
50
|
+
'no-console': 'warn',
|
|
51
|
+
'no-undef': 'warn',
|
|
52
|
+
'no-unused-private-class-members': 'warn',
|
|
53
|
+
'prefer-const': 'warn',
|
|
54
|
+
'prefer-rest-params': 'off',
|
|
55
|
+
},
|
|
56
|
+
},
|
|
57
|
+
|
|
58
|
+
// TypeScript
|
|
59
|
+
...tseslint.configs.recommended,
|
|
60
|
+
{
|
|
61
|
+
rules: {
|
|
62
|
+
'@typescript-eslint/ban-ts-comment': 'off',
|
|
63
|
+
'@typescript-eslint/no-empty-object-type': 'warn',
|
|
64
|
+
'@typescript-eslint/no-explicit-any': 'off',
|
|
65
|
+
'@typescript-eslint/no-non-null-asserted-optional-chain': 'warn',
|
|
66
|
+
'@typescript-eslint/no-require-imports': 'off',
|
|
67
|
+
'@typescript-eslint/no-this-alias': 'off',
|
|
68
|
+
'@typescript-eslint/no-unsafe-function-type': 'warn',
|
|
69
|
+
'@typescript-eslint/no-unused-expressions': 'warn',
|
|
70
|
+
'@typescript-eslint/no-unused-vars': 'warn',
|
|
71
|
+
'@typescript-eslint/no-wrapper-object-types': 'warn',
|
|
72
|
+
'no-undef': 'warn',
|
|
73
|
+
},
|
|
74
|
+
languageOptions: {
|
|
75
|
+
ecmaVersion: 'latest',
|
|
76
|
+
sourceType: 'commonjs',
|
|
77
|
+
globals: {
|
|
78
|
+
...globals.typescript,
|
|
79
|
+
},
|
|
80
|
+
},
|
|
81
|
+
},
|
|
82
|
+
|
|
83
|
+
// JavaScript
|
|
84
|
+
pluginJs.configs.recommended,
|
|
85
|
+
{
|
|
86
|
+
rules: {
|
|
87
|
+
'no-constant-binary-expression': 'warn',
|
|
88
|
+
'no-dupe-class-members': 'warn',
|
|
89
|
+
'no-dupe-keys': 'warn',
|
|
90
|
+
'no-import-assign': 'warn',
|
|
91
|
+
'no-loss-of-precision': 'warn',
|
|
92
|
+
'no-prototype-builtins': 'off',
|
|
93
|
+
'no-redeclare': 'warn',
|
|
94
|
+
'no-unexpected-multiline': 'warn',
|
|
95
|
+
'no-unsafe-optional-chaining': 'warn',
|
|
96
|
+
'no-unused-expressions': 'off',
|
|
97
|
+
'no-unused-vars': 'warn',
|
|
98
|
+
'no-useless-escape': 'warn',
|
|
99
|
+
'prefer-const': 'warn',
|
|
100
|
+
'prefer-rest-params': 'off',
|
|
101
|
+
},
|
|
102
|
+
},
|
|
103
|
+
|
|
104
|
+
// React
|
|
105
|
+
pluginReact.configs.flat.recommended,
|
|
106
|
+
{
|
|
107
|
+
plugins: {react: pluginReact},
|
|
108
|
+
settings: {
|
|
109
|
+
react: {
|
|
110
|
+
version: 'detect',
|
|
111
|
+
},
|
|
112
|
+
},
|
|
113
|
+
rules: {
|
|
114
|
+
'react/no-deprecated': 'warn',
|
|
115
|
+
'react/prop-types': 'warn',
|
|
116
|
+
'react/display-name': 'off',
|
|
117
|
+
'react/jsx-key': 'warn',
|
|
118
|
+
'react/no-string-refs': 'warn',
|
|
119
|
+
'react/no-find-dom-node': 'warn',
|
|
120
|
+
'react/no-unknown-property': 'warn',
|
|
121
|
+
'react/jsx-no-target-blank': 'warn',
|
|
122
|
+
},
|
|
123
|
+
},
|
|
124
|
+
|
|
125
|
+
// Copyright / Open Source Header
|
|
126
|
+
{
|
|
127
|
+
files: ['src/**/*.{js,mjs,ts,jsx,tsx}'],
|
|
128
|
+
ignores: ['**/*.config.js', 'es/**/*', 'src/translations/**/*'],
|
|
129
|
+
plugins: {
|
|
130
|
+
notice,
|
|
131
|
+
},
|
|
132
|
+
rules: {
|
|
133
|
+
// Lenient so we don't automatically put our copyright notice on
|
|
134
|
+
// top of something already copyrighted by someone else.
|
|
135
|
+
'notice/notice': [
|
|
136
|
+
'error',
|
|
137
|
+
{
|
|
138
|
+
templateFile: '../../config/copyright-template.js',
|
|
139
|
+
mustMatch: 'Copyright ',
|
|
140
|
+
},
|
|
141
|
+
],
|
|
142
|
+
},
|
|
143
|
+
},
|
|
144
|
+
|
|
145
|
+
// Promises
|
|
146
|
+
pluginPromise.configs['flat/recommended'],
|
|
147
|
+
{
|
|
148
|
+
rules: {
|
|
149
|
+
'promise/always-return': 'off',
|
|
150
|
+
'promise/catch-or-return': 'off',
|
|
151
|
+
},
|
|
152
|
+
},
|
|
153
|
+
|
|
154
|
+
// Imports
|
|
155
|
+
importPlugin.flatConfigs.recommended,
|
|
156
|
+
{
|
|
157
|
+
files: [
|
|
158
|
+
'__tests__/**/*.{js,mjs,ts,jsx,tsx}',
|
|
159
|
+
'src/**/*.{js,mjs,ts,jsx,tsx}',
|
|
160
|
+
'testcafe/**/*.{js,mjs,ts,jsx,tsx}',
|
|
161
|
+
],
|
|
162
|
+
ignores: ['src/translations/**'],
|
|
163
|
+
languageOptions: {
|
|
164
|
+
ecmaVersion: 'latest',
|
|
165
|
+
sourceType: 'commonjs',
|
|
166
|
+
},
|
|
167
|
+
rules: {
|
|
168
|
+
'import/no-dynamic-require': 'warn',
|
|
169
|
+
'import/no-nodejs-modules': 'warn',
|
|
170
|
+
'import/no-unresolved': 'warn',
|
|
171
|
+
'import/named': 'off',
|
|
172
|
+
'import/namespace': 'off',
|
|
173
|
+
},
|
|
174
|
+
},
|
|
175
|
+
|
|
176
|
+
// React Hooks
|
|
177
|
+
{
|
|
178
|
+
plugins: {'react-hooks': pluginReactHooks},
|
|
179
|
+
rules: {
|
|
180
|
+
'react-hooks/rules-of-hooks': 'warn',
|
|
181
|
+
'react-hooks/exhaustive-deps': 'warn',
|
|
182
|
+
},
|
|
183
|
+
},
|
|
184
|
+
|
|
185
|
+
// JSX A11y
|
|
186
|
+
jsxA11y.flatConfigs.recommended,
|
|
187
|
+
{
|
|
188
|
+
rules: {
|
|
189
|
+
'jsx-a11y/no-interactive-element-to-noninteractive-role': 'warn',
|
|
190
|
+
'@eslint-community/eslint-comments/no-duplicate-disable': 'warn',
|
|
191
|
+
'jsx-a11y/role-has-required-aria-props': 'warn',
|
|
192
|
+
'jsx-a11y/no-autofocus': 'warn',
|
|
193
|
+
},
|
|
194
|
+
},
|
|
195
|
+
|
|
196
|
+
// Extra ESLint Comment rules
|
|
197
|
+
comments.recommended,
|
|
198
|
+
{
|
|
199
|
+
rules: {
|
|
200
|
+
'@eslint-community/eslint-comments/disable-enable-pair': ['error', {allowWholeFile: true}],
|
|
201
|
+
},
|
|
202
|
+
},
|
|
203
|
+
|
|
204
|
+
// Testcafe
|
|
205
|
+
{
|
|
206
|
+
files: ['testcafe/**/*.{js,mjs,ts,jsx,tsx}'],
|
|
207
|
+
languageOptions: {
|
|
208
|
+
globals: {
|
|
209
|
+
test: true,
|
|
210
|
+
fixture: true,
|
|
211
|
+
},
|
|
212
|
+
},
|
|
213
|
+
},
|
|
214
|
+
|
|
215
|
+
// Jest
|
|
216
|
+
{
|
|
217
|
+
files: [
|
|
218
|
+
'__tests__/**/*.{js,mjs,ts,jsx,tsx}',
|
|
219
|
+
'src/**/__tests__/**/*.{js,mjs,ts,jsx,tsx}',
|
|
220
|
+
'src/rce/plugins/tinymce-a11y-checker/rules/__mocks__/index.js',
|
|
221
|
+
],
|
|
222
|
+
ignores: ['es/**'],
|
|
223
|
+
plugins: {jest: pluginJest},
|
|
224
|
+
languageOptions: {
|
|
225
|
+
globals: {
|
|
226
|
+
...pluginJest.environments.globals.globals,
|
|
227
|
+
global: true,
|
|
228
|
+
},
|
|
229
|
+
},
|
|
230
|
+
rules: {
|
|
231
|
+
'jest/no-disabled-tests': 'warn',
|
|
232
|
+
'jest/no-focused-tests': 'error',
|
|
233
|
+
'jest/no-identical-title': 'warn',
|
|
234
|
+
'jest/prefer-to-have-length': 'warn',
|
|
235
|
+
'jest/valid-expect': 'error',
|
|
236
|
+
'react/no-deprecated': 'warn',
|
|
237
|
+
},
|
|
238
|
+
}
|
|
239
|
+
)
|
package/jest.config.js
CHANGED
|
@@ -42,7 +42,7 @@ module.exports = {
|
|
|
42
42
|
testMatch: ['**/__tests__/**/?(*.)(spec|test).[jt]s?(x)'],
|
|
43
43
|
modulePathIgnorePatterns: ['<rootDir>/es', '<rootDir>/canvas'],
|
|
44
44
|
transformIgnorePatterns: [`/node_modules/(?!${esModules})`],
|
|
45
|
-
testEnvironment: '
|
|
45
|
+
testEnvironment: 'jsdom',
|
|
46
46
|
moduleNameMapper: {
|
|
47
47
|
// jest can't import css
|
|
48
48
|
'\\.(css|less)$': '<rootDir>/src/rce/__mocks__/styleMock.js',
|
package/package.json
CHANGED
|
@@ -1,20 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@instructure/canvas-rce",
|
|
3
|
-
"version": "5.14.
|
|
3
|
+
"version": "5.14.2",
|
|
4
4
|
"description": "A component wrapping Canvas's usage of Tinymce",
|
|
5
5
|
"main": "es/index.js",
|
|
6
|
+
"types": "es/index.d.ts",
|
|
6
7
|
"owner": "LF",
|
|
7
8
|
"scripts": {
|
|
8
|
-
"i18n:extract": "format-message extract \"src/**/*.
|
|
9
|
+
"i18n:extract": "format-message extract \"src/**/*.{js,jsx,ts,tsx}\" -g underscored_crc32 -o locales/en.json",
|
|
9
10
|
"integration-test": "nightwatch --env integration",
|
|
10
|
-
"lint": "eslint
|
|
11
|
-
"lint:fix": "eslint --fix
|
|
12
|
-
"test": "
|
|
13
|
-
"test:parallel": "
|
|
14
|
-
"test:serial": "yarn test:
|
|
15
|
-
"test:mocha": "env TS_NODE_COMPILER_OPTIONS='{\"module\": \"commonjs\"}' mocha 'test/**/*.test.{js,ts,tsx}' --timeout 5000 --reporter mocha-multi-reporters --reporter-options configFile=mocha-reporter-config.js --exit",
|
|
16
|
-
"test:mocha:one": "env TS_NODE_COMPILER_OPTIONS='{\"module\": \"commonjs\"}' mocha --timeout 5000 --reporter mocha-multi-reporters --reporter-options configFile=mocha-reporter-config.js",
|
|
17
|
-
"test:mocha:debug": "env TS_NODE_COMPILER_OPTIONS='{\"module\": \"commonjs\"}' mocha --inspect-brk --timeout 5000 --reporter mocha-multi-reporters --reporter-options configFile=mocha-reporter-config.js",
|
|
11
|
+
"lint": "eslint --quiet",
|
|
12
|
+
"lint:fix": "eslint --quiet --fix",
|
|
13
|
+
"test": "yarn test:serial",
|
|
14
|
+
"test:parallel": "yarn test:jest",
|
|
15
|
+
"test:serial": "yarn test:jest",
|
|
18
16
|
"test:jest": "jest --color --runInBand",
|
|
19
17
|
"test:cafe": "yarn build:cafe && yarn test:cafe:only",
|
|
20
18
|
"test:cafe:ui": "yarn build:cafe && yarn test:cafe:only:ui",
|
|
@@ -24,30 +22,28 @@
|
|
|
24
22
|
"test:cafe:one": "testcafe chrome testcafe/**/*.test.js --test ",
|
|
25
23
|
"test:cafe:all": "yarn build:cafe && testcafe chrome,firefox,safari testcafe/**/*.test.js",
|
|
26
24
|
"test:cafe:debug": "yarn build:cafe && yarn test:cafe:only:debug",
|
|
27
|
-
"test:watch": "mocha 'test/**/*.test.js' --watch",
|
|
28
|
-
"test:coverage": "cross-env nyc -r html -r json node_modules/.bin/mocha 'test/**/*.test.js'",
|
|
29
25
|
"test:jest:debug": "node --inspect-brk node_modules/.bin/jest --runInBand",
|
|
30
26
|
"test:jest:watch": "node node_modules/.bin/jest --watch",
|
|
31
|
-
"debug": "inspect _mocha --no-timeouts --debug-brk 'test/**/*.test.js'",
|
|
32
27
|
"demo": "scripts/demo.sh",
|
|
33
28
|
"demo:clean": "rm -f github-pages/dist/*",
|
|
34
29
|
"demo:build": "wp -c ./webpack.demo.config.js",
|
|
35
30
|
"demo:dev": "yarn demo:clean && mkdir -p ./github-pages/dist && cp ./github-pages/index.html ./github-pages/dist && wp -c ./webpack.dev.config.js",
|
|
36
31
|
"installTranslations": "scripts/installTranslations.js",
|
|
37
32
|
"commitTranslations": "scripts/commitTranslations.sh",
|
|
33
|
+
"build": "scripts/build-canvas",
|
|
38
34
|
"build:all": "scripts/build.js",
|
|
39
35
|
"build:es": "babel --out-dir es src --ignore '**/__tests__,**/__mocks__' --extensions '.ts,.tsx,.js,.jsx'",
|
|
40
36
|
"build:types": "tsc",
|
|
41
|
-
"build:canvas": "
|
|
37
|
+
"build:canvas": "yarn run build",
|
|
42
38
|
"build:watch": "yarn clean:es && yarn build:es --watch",
|
|
43
39
|
"build:cafe": "wp --config webpack.testcafe.config.js",
|
|
44
40
|
"prepublishOnly": "yarn build:all && yarn test",
|
|
45
|
-
"fmt:check": "
|
|
46
|
-
"fmt:fix": "
|
|
41
|
+
"fmt:check": "biome check",
|
|
42
|
+
"fmt:fix": "biome format --write",
|
|
47
43
|
"clean": "rm -rf lib && yarn clean:es && rm -rf coverage && yarn demo:clean",
|
|
48
44
|
"clean:es": "rm -rf es",
|
|
49
45
|
"check:ts": "tsc -p tsconfig.json",
|
|
50
|
-
"generate-svgs": "yarn build:es && node --experimental-modules scripts/generateSvgs.js
|
|
46
|
+
"generate-svgs": "yarn build:es && node --experimental-modules scripts/generateSvgs.js",
|
|
51
47
|
"publishToNpm": "scripts/publish_to_npm.sh"
|
|
52
48
|
},
|
|
53
49
|
"keywords": [
|
|
@@ -76,61 +72,64 @@
|
|
|
76
72
|
"instrument": false
|
|
77
73
|
},
|
|
78
74
|
"dependencies": {
|
|
79
|
-
"@instructure/canvas-theme": "
|
|
75
|
+
"@instructure/canvas-theme": "9.10.0",
|
|
80
76
|
"@instructure/canvas-media": "*",
|
|
81
|
-
"@instructure/debounce": "
|
|
82
|
-
"@instructure/emotion": "
|
|
77
|
+
"@instructure/debounce": "9.10.0",
|
|
78
|
+
"@instructure/emotion": "9.10.0",
|
|
83
79
|
"@instructure/k5uploader": "*",
|
|
84
80
|
"@instructure/media-capture": "^9.0.0",
|
|
85
|
-
"@instructure/theme-registry": "
|
|
86
|
-
"@instructure/ui-a11y-content": "
|
|
87
|
-
"@instructure/ui-a11y-utils": "
|
|
88
|
-
"@instructure/ui-alerts": "
|
|
89
|
-
"@instructure/ui-avatar": "
|
|
90
|
-
"@instructure/ui-badge": "
|
|
91
|
-
"@instructure/ui-billboard": "
|
|
92
|
-
"@instructure/ui-buttons": "
|
|
93
|
-
"@instructure/ui-checkbox": "
|
|
94
|
-
"@instructure/ui-source-code-editor": "
|
|
95
|
-
"@instructure/ui-color-
|
|
96
|
-
"@instructure/ui-
|
|
97
|
-
"@instructure/ui-
|
|
98
|
-
"@instructure/ui-
|
|
99
|
-
"@instructure/ui-
|
|
100
|
-
"@instructure/ui-
|
|
101
|
-
"@instructure/ui-
|
|
102
|
-
"@instructure/ui-
|
|
103
|
-
"@instructure/ui-
|
|
104
|
-
"@instructure/ui-
|
|
105
|
-
"@instructure/ui-
|
|
81
|
+
"@instructure/theme-registry": "9.10.0",
|
|
82
|
+
"@instructure/ui-a11y-content": "9.10.0",
|
|
83
|
+
"@instructure/ui-a11y-utils": "9.10.0",
|
|
84
|
+
"@instructure/ui-alerts": "9.10.0",
|
|
85
|
+
"@instructure/ui-avatar": "9.10.0",
|
|
86
|
+
"@instructure/ui-badge": "9.10.0",
|
|
87
|
+
"@instructure/ui-billboard": "9.10.0",
|
|
88
|
+
"@instructure/ui-buttons": "9.10.0",
|
|
89
|
+
"@instructure/ui-checkbox": "9.10.0",
|
|
90
|
+
"@instructure/ui-source-code-editor": "9.10.0",
|
|
91
|
+
"@instructure/ui-color-picker": "8.56.4",
|
|
92
|
+
"@instructure/ui-color-utils": "9.10.0",
|
|
93
|
+
"@instructure/ui-file-drop": "9.10.0",
|
|
94
|
+
"@instructure/ui-flex": "9.10.0",
|
|
95
|
+
"@instructure/ui-focusable": "9.10.0",
|
|
96
|
+
"@instructure/ui-form-field": "9.10.0",
|
|
97
|
+
"@instructure/ui-grid": "9.10.0",
|
|
98
|
+
"@instructure/ui-heading": "9.10.0",
|
|
99
|
+
"@instructure/ui-icons": "9.10.0",
|
|
100
|
+
"@instructure/ui-img": "9.10.0",
|
|
101
|
+
"@instructure/ui-link": "9.10.0",
|
|
102
|
+
"@instructure/ui-list": "9.10.0",
|
|
106
103
|
"@instructure/ui-media-player": "^9.0.0",
|
|
107
|
-
"@instructure/ui-menu": "
|
|
108
|
-
"@instructure/ui-modal": "
|
|
109
|
-
"@instructure/ui-motion": "
|
|
110
|
-
"@instructure/ui-number-input": "
|
|
111
|
-
"@instructure/ui-overlays": "
|
|
112
|
-
"@instructure/ui-pagination": "
|
|
113
|
-
"@instructure/ui-
|
|
114
|
-
"@instructure/ui-
|
|
115
|
-
"@instructure/ui-
|
|
116
|
-
"@instructure/ui-
|
|
117
|
-
"@instructure/ui-
|
|
118
|
-
"@instructure/ui-
|
|
119
|
-
"@instructure/ui-
|
|
120
|
-
"@instructure/ui-
|
|
121
|
-
"@instructure/ui-
|
|
122
|
-
"@instructure/ui-text-
|
|
123
|
-
"@instructure/ui-text": "
|
|
124
|
-
"@instructure/ui-
|
|
125
|
-
"@instructure/ui-
|
|
126
|
-
"@instructure/ui-
|
|
127
|
-
"@instructure/ui-
|
|
128
|
-
"@instructure/ui-
|
|
129
|
-
"@instructure/ui-
|
|
130
|
-
"@instructure/ui-
|
|
131
|
-
"@instructure/ui-
|
|
132
|
-
"@instructure/
|
|
104
|
+
"@instructure/ui-menu": "9.10.0",
|
|
105
|
+
"@instructure/ui-modal": "9.10.0",
|
|
106
|
+
"@instructure/ui-motion": "9.10.0",
|
|
107
|
+
"@instructure/ui-number-input": "9.10.0",
|
|
108
|
+
"@instructure/ui-overlays": "9.10.0",
|
|
109
|
+
"@instructure/ui-pagination": "9.10.0",
|
|
110
|
+
"@instructure/ui-pill": "9.10.0",
|
|
111
|
+
"@instructure/ui-popover": "9.10.0",
|
|
112
|
+
"@instructure/ui-radio-input": "9.10.0",
|
|
113
|
+
"@instructure/ui-react-utils": "9.10.0",
|
|
114
|
+
"@instructure/ui-simple-select": "9.10.0",
|
|
115
|
+
"@instructure/ui-spinner": "9.10.0",
|
|
116
|
+
"@instructure/ui-svg-images": "9.10.0",
|
|
117
|
+
"@instructure/ui-table": "9.10.0",
|
|
118
|
+
"@instructure/ui-tabs": "9.10.0",
|
|
119
|
+
"@instructure/ui-text-area": "9.10.0",
|
|
120
|
+
"@instructure/ui-text-input": "9.10.0",
|
|
121
|
+
"@instructure/ui-text": "9.10.0",
|
|
122
|
+
"@instructure/ui-themes": "9.10.0",
|
|
123
|
+
"@instructure/ui-toggle-details": "9.10.0",
|
|
124
|
+
"@instructure/ui-tooltip": "9.10.0",
|
|
125
|
+
"@instructure/ui-tray": "9.10.0",
|
|
126
|
+
"@instructure/ui-tree-browser": "9.10.0",
|
|
127
|
+
"@instructure/ui-truncate-text": "9.10.0",
|
|
128
|
+
"@instructure/ui-utils": "9.10.0",
|
|
129
|
+
"@instructure/ui-view": "9.10.0",
|
|
130
|
+
"@instructure/uid": "9.10.0",
|
|
133
131
|
"@sheerun/mutationobserver-shim": "^0.3.2",
|
|
132
|
+
"@types/tinycolor2": "^1.4.6",
|
|
134
133
|
"@tinymce/tinymce-react": "~3.8.4",
|
|
135
134
|
"aphrodite": "^2",
|
|
136
135
|
"axios": "^0.21.1",
|
|
@@ -160,6 +159,7 @@
|
|
|
160
159
|
"redux-batch-middleware": "^0.2.0",
|
|
161
160
|
"redux-thunk": "^3.1.0",
|
|
162
161
|
"text-field-edit": "^3.2.0",
|
|
162
|
+
"tinycolor2": "^1.6.0",
|
|
163
163
|
"tinymce": "^5",
|
|
164
164
|
"uri-js": "^4.2.2",
|
|
165
165
|
"wcag-element-contrast": "^1.0.1"
|
|
@@ -171,12 +171,13 @@
|
|
|
171
171
|
"@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
|
|
172
172
|
"@babel/preset-typescript": "^7",
|
|
173
173
|
"@babel/register": "7",
|
|
174
|
+
"@biomejs/biome": "*",
|
|
174
175
|
"@instructure/browserslist-config-canvas-lms": ">=2",
|
|
175
176
|
"@instructure/translations": ">=1",
|
|
176
177
|
"@testing-library/dom": "^8",
|
|
177
178
|
"@testing-library/jest-dom": "^5",
|
|
178
|
-
"@testing-library/react": "^12",
|
|
179
179
|
"@testing-library/react-hooks": "^5",
|
|
180
|
+
"@testing-library/react": "^12",
|
|
180
181
|
"@testing-library/user-event": "^14",
|
|
181
182
|
"@types/testing-library__jest-dom": "^5.0.0",
|
|
182
183
|
"axe-testcafe": "^3",
|
|
@@ -190,39 +191,33 @@
|
|
|
190
191
|
"babel-plugin-typescript-to-proptypes": "^2.1.0",
|
|
191
192
|
"cross-env": "^5.0.0",
|
|
192
193
|
"escape-html": "^1",
|
|
193
|
-
"eslint-plugin-mocha": "^6",
|
|
194
|
-
"eslint-plugin-testcafe": "^0.2.1",
|
|
195
194
|
"fetch-mock": "^6",
|
|
196
195
|
"format-message-cli": "^6",
|
|
197
196
|
"format-message-parse": "^6",
|
|
198
|
-
"jest": "^28",
|
|
199
197
|
"jest-canvas-mock": "^2",
|
|
200
198
|
"jest-junit": "^7",
|
|
201
199
|
"jest-mock-proxy": "3.1.2",
|
|
200
|
+
"jest": "^28",
|
|
202
201
|
"mathjax": "^3.2.0",
|
|
203
|
-
"mocha": "^6",
|
|
204
|
-
"mocha-junit-reporter": "^1.18.0",
|
|
205
|
-
"mocha-multi-reporters": "^1.1.7",
|
|
206
202
|
"moxios": "^0.4",
|
|
207
203
|
"nyc": "^13",
|
|
208
|
-
"prettier": "^2.2.1",
|
|
209
204
|
"proxyquire": "1.7.4",
|
|
210
205
|
"shelljs": "^0.8.3",
|
|
211
206
|
"sinon": "^7",
|
|
212
207
|
"skin-deep": "^1",
|
|
213
208
|
"source-map-support": "0.5.21",
|
|
214
|
-
"testcafe": "1.14.2",
|
|
215
209
|
"testcafe-browser-provider-selenium": "^1.2.0",
|
|
216
210
|
"testcafe-react-selectors": "^3.3.0",
|
|
217
|
-
"
|
|
218
|
-
"
|
|
211
|
+
"testcafe": "1.14.2",
|
|
212
|
+
"ts-node": "^10.9.2",
|
|
213
|
+
"typescript": "*",
|
|
219
214
|
"url-loader": "^4.1.1",
|
|
220
|
-
"webpack": "^5",
|
|
221
215
|
"webpack-merge": "^5",
|
|
222
216
|
"webpack-nano": "^1",
|
|
223
|
-
"webpack-plugin-serve": "^1"
|
|
217
|
+
"webpack-plugin-serve": "^1",
|
|
218
|
+
"webpack": "^5"
|
|
224
219
|
},
|
|
225
220
|
"resolutions": {
|
|
226
221
|
"format-message-estree-util": "./packages/format-message-estree-util"
|
|
227
222
|
}
|
|
228
|
-
}
|
|
223
|
+
}
|
package/scripts/build-canvas
CHANGED
package/scripts/build.js
CHANGED
|
@@ -18,8 +18,6 @@
|
|
|
18
18
|
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
19
19
|
*/
|
|
20
20
|
|
|
21
|
-
// Generates all the pre-translated code in lib/translated/{locale}.
|
|
22
|
-
|
|
23
21
|
const shell = require('shelljs')
|
|
24
22
|
|
|
25
23
|
shell.set('-e')
|
|
@@ -34,7 +32,9 @@ shell.exec('mkdir -p es')
|
|
|
34
32
|
// delete everything in it.
|
|
35
33
|
shell.exec('rm -rf lib/*')
|
|
36
34
|
shell.exec('rm -rf es/*')
|
|
37
|
-
shell.exec('
|
|
35
|
+
shell.exec('yarn installTranslations')
|
|
38
36
|
|
|
39
37
|
shell.echo('Building')
|
|
40
|
-
shell.exec(
|
|
38
|
+
shell.exec('yarn build:es')
|
|
39
|
+
shell.echo('Building TypeScript declarations')
|
|
40
|
+
shell.exec('yarn build:types')
|
package/testcafe/axe.test.js
CHANGED
|
@@ -16,7 +16,6 @@
|
|
|
16
16
|
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
17
|
*/
|
|
18
18
|
import {axeCheck, createReport} from 'axe-testcafe'
|
|
19
|
-
// eslint-disable-next-line babel/no-unused-expressions
|
|
20
19
|
fixture`aXe a11y checking`.page`./testcafe.html`
|
|
21
20
|
|
|
22
21
|
async function runAxeCheck(t, context, options) {
|
|
@@ -28,13 +27,13 @@ async function runAxeCheck(t, context, options) {
|
|
|
28
27
|
|
|
29
28
|
test('automated a11y testing', async t => {
|
|
30
29
|
const axeContext = {
|
|
31
|
-
include: 'body'
|
|
30
|
+
include: 'body',
|
|
32
31
|
}
|
|
33
32
|
const axeOptions = {
|
|
34
33
|
runOnly: {
|
|
35
34
|
type: 'tag',
|
|
36
|
-
values: ['wcag21a', 'wcag21aa', 'best-practice', 'section508']
|
|
37
|
-
}
|
|
35
|
+
values: ['wcag21a', 'wcag21aa', 'best-practice', 'section508'],
|
|
36
|
+
},
|
|
38
37
|
}
|
|
39
38
|
await runAxeCheck(t, axeContext, axeOptions)
|
|
40
39
|
})
|
package/tsconfig.json
CHANGED
|
@@ -1,23 +1,28 @@
|
|
|
1
1
|
{
|
|
2
2
|
"compilerOptions": {
|
|
3
|
-
"allowJs": true,
|
|
4
|
-
"esModuleInterop": true,
|
|
5
|
-
"isolatedModules": true,
|
|
6
|
-
"jsx": "react",
|
|
7
|
-
"lib": ["dom", "es2020", "esnext"],
|
|
8
|
-
"module": "ES2020",
|
|
9
|
-
"moduleResolution": "node",
|
|
3
|
+
"allowJs": true,
|
|
4
|
+
"esModuleInterop": true,
|
|
5
|
+
"isolatedModules": true,
|
|
6
|
+
"jsx": "react",
|
|
7
|
+
"lib": ["dom", "es2020", "esnext"],
|
|
8
|
+
"module": "ES2020",
|
|
9
|
+
"moduleResolution": "node",
|
|
10
10
|
"declaration": true,
|
|
11
|
-
"
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"
|
|
11
|
+
"declarationDir": "es",
|
|
12
|
+
"emitDeclarationOnly": true,
|
|
13
|
+
"resolveJsonModule": true,
|
|
14
|
+
"skipLibCheck": true,
|
|
15
|
+
"strict": true,
|
|
16
|
+
"target": "ES2020",
|
|
16
17
|
"noImplicitAny": true,
|
|
17
18
|
"experimentalDecorators": true,
|
|
18
|
-
"
|
|
19
|
+
"composite": true,
|
|
20
|
+
"rootDir": "src",
|
|
21
|
+
"verbatimModuleSyntax": false,
|
|
22
|
+
"paths": {
|
|
23
|
+
"@instructure/*": ["../packages/*"]
|
|
24
|
+
}
|
|
19
25
|
},
|
|
20
26
|
"include": ["src/**/*"],
|
|
21
|
-
"exclude": ["**/node_modules", "**/.*/"]
|
|
22
|
-
|
|
27
|
+
"exclude": ["**/node_modules", "**/.*/", "**/__tests__/*", "**/__mocks__/*"]
|
|
23
28
|
}
|