@instructure/canvas-rce 5.11.1 → 5.12.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +32 -0
- package/babel-register.js +0 -7
- package/babel.config.cjs.js +0 -7
- package/babel.config.js +0 -9
- package/es/canvasFileBrowser/FileBrowser.js +6 -1
- package/es/common/fileUrl.js +3 -4
- package/es/defaultTinymceConfig.js +1 -1
- package/{lib/rce/plugins/instructure_rce_external_tools/lti13-content-items/Lti13ContentItemJson.js → es/elementDenylist.js} +2 -6
- package/es/enhance-user-content/doc_previews.js +4 -0
- package/es/enhance-user-content/enhance_user_content.js +4 -59
- package/es/enhance-user-content/external_links.js +75 -0
- package/es/enhance-user-content/mathml.js +9 -7
- package/es/getThemeVars.js +4 -3
- package/es/getTranslations.js +77 -1
- package/es/index.js +1 -1
- package/es/rce/RCEWrapper.js +5 -2328
- package/es/rce/StatusBar.js +8 -2
- package/es/rce/contentInsertion.js +5 -2
- package/es/rce/plugins/instructure_documents/components/DocumentsPanel.js +3 -9
- package/es/rce/plugins/instructure_equation/EquationEditorModal/index.js +1 -1
- package/es/rce/plugins/instructure_equation/EquationEditorModal/styles.js +3 -11
- package/es/rce/plugins/instructure_equation/mathlive/index.js +5 -13
- package/es/rce/plugins/instructure_html_view/plugin.js +2 -2
- package/es/rce/plugins/instructure_icon_maker/components/SavedIconMakerList.js +3 -2
- package/es/rce/plugins/instructure_image/ImageList/Image.js +2 -2
- package/es/rce/plugins/instructure_image/Images/index.js +3 -10
- package/es/rce/plugins/instructure_rce_external_tools/components/ExternalToolDialog/ExternalToolDialog.js +3 -0
- package/es/rce/plugins/instructure_rce_external_tools/lti13-content-items/models/ResourceLinkContentItem.js +3 -1
- package/es/rce/plugins/instructure_record/AudioOptionsTray/TrayController.js +26 -1
- package/es/rce/plugins/instructure_record/AudioOptionsTray/index.js +9 -3
- package/es/rce/plugins/instructure_record/MediaPanel/index.js +3 -9
- package/es/rce/plugins/instructure_record/VideoOptionsTray/TrayController.js +27 -2
- package/es/rce/plugins/instructure_record/VideoOptionsTray/index.js +35 -6
- package/es/rce/plugins/shared/fileShape.js +81 -9
- package/es/rce/plugins/shared/fileTypeUtils.js +6 -0
- package/es/rce/tinymce.oxide.content.min.css.js +732 -0
- package/es/rce/tinymce.oxide.skin.min.css.js +7 -0
- package/es/rcs/api.js +6 -4
- package/es/sidebar/store/configureStore.js +2 -2
- package/{lib/translations/locales/tg.js → es/translations/locales/ab.js} +1 -1
- package/es/translations/locales/cs.js +27 -0
- package/es/translations/locales/cs_CZ.js +27 -0
- package/{lib/translations/locales/sv_SE.js → es/translations/locales/da_DK.js} +2 -2
- package/{lib/translations/locales/se.js → es/translations/locales/en_NZ.js} +2 -2
- package/es/translations/locales/en_SE.js +26 -0
- package/es/translations/locales/en_US.js +26 -0
- package/es/translations/locales/hu_HU.js +27 -0
- package/{lib/translations/locales/ms.js → es/translations/locales/id.js} +632 -632
- package/{lib/translations/locales/th.js → es/translations/locales/id_ID.js} +1 -2
- package/{lib/translations/locales/vi_VN.js → es/translations/locales/ko_KR.js} +2 -2
- package/es/translations/locales/lt.js +26 -0
- package/es/translations/locales/lt_LT.js +26 -0
- package/es/translations/locales/mn_MN.js +26 -0
- package/es/translations/locales/nl_NL.js +27 -0
- package/{lib/translations/locales/es_GT.js → es/translations/locales/ro.js} +3 -3
- package/es/translations/locales/ru.js +2375 -32
- package/es/translations/locales/sv.js +2379 -30
- package/es/translations/locales/th.js +2401 -1
- package/es/translations/locales/tl_PH.js +26 -0
- package/es/translations/locales/tr.js +3 -0
- package/es/translations/locales/vi.js +2396 -8
- package/es/translations/locales/zh_TW.Big5.js +27 -0
- package/{lib/translations/locales/th_TH.js → es/translations/locales/zh_TW.js} +2 -2
- package/jest.config.js +0 -7
- package/package.json +9 -11
- package/scripts/build.js +1 -7
- package/scripts/publish_to_npm.sh +26 -0
- package/canvas/README.md +0 -84
- package/canvas/locales/en.json +0 -934
- package/canvas/package.json +0 -189
- package/es/common/scroll.js +0 -45
- package/es/types/inst-ui.d.js +0 -18
- package/es/types/ts-migration.js +0 -1
- package/lib/bridge/Bridge.js +0 -287
- package/lib/bridge/index.js +0 -21
- package/lib/canvasFileBrowser/FileBrowser.js +0 -452
- package/lib/canvasFileBrowser/en-US.js +0 -234
- package/lib/common/FlashAlert.js +0 -263
- package/lib/common/browser.js +0 -40
- package/lib/common/components/FileTree/File.js +0 -64
- package/lib/common/components/FileTree/Folder.js +0 -110
- package/lib/common/components/FileTree/index.js +0 -84
- package/lib/common/components/FileTree/styles.js +0 -72
- package/lib/common/components/Loading.js +0 -83
- package/lib/common/fileUrl.js +0 -153
- package/lib/common/getCookie.js +0 -32
- package/lib/common/incremental-loading/LoadMoreButton.js +0 -40
- package/lib/common/incremental-loading/LoadingIndicator.js +0 -36
- package/lib/common/incremental-loading/LoadingStatus.js +0 -47
- package/lib/common/incremental-loading/index.js +0 -21
- package/lib/common/incremental-loading/useIncrementalLoading.js +0 -58
- package/lib/common/indicate.js +0 -75
- package/lib/common/mimeClass.js +0 -120
- package/lib/common/natcompare.js +0 -47
- package/lib/common/scroll.js +0 -45
- package/lib/defaultTinymceConfig.js +0 -160
- package/lib/enhance-user-content/doc_previews.js +0 -233
- package/lib/enhance-user-content/enhance_user_content.js +0 -396
- package/lib/enhance-user-content/index.js +0 -21
- package/lib/enhance-user-content/instructure_helper.js +0 -207
- package/lib/enhance-user-content/jqueryish_funcs.js +0 -88
- package/lib/enhance-user-content/mathml.js +0 -397
- package/lib/enhance-user-content/media_comment_thumbnail.js +0 -130
- package/lib/format-message.js +0 -30
- package/lib/getThemeVars.js +0 -45
- package/lib/getTranslations.js +0 -264
- package/lib/index.js +0 -51
- package/lib/rce/AlertMessageArea.js +0 -47
- package/lib/rce/DraggingBlocker.js +0 -43
- package/lib/rce/KeyboardShortcutModal.js +0 -88
- package/lib/rce/RCE.js +0 -150
- package/lib/rce/RCEGlobals.js +0 -62
- package/lib/rce/RCEWrapper.js +0 -4278
- package/lib/rce/RCEWrapperProps.js +0 -130
- package/lib/rce/RceHtmlEditor.js +0 -142
- package/lib/rce/ResizeHandle.js +0 -102
- package/lib/rce/RestoreAutoSaveModal.js +0 -82
- package/lib/rce/ShowOnFocusButton/index.js +0 -93
- package/lib/rce/StatusBar.js +0 -380
- package/lib/rce/__mocks__/_mockCryptoEs.js +0 -124
- package/lib/rce/__mocks__/styleMock.js +0 -18
- package/lib/rce/__mocks__/tinymceReact.js +0 -55
- package/lib/rce/alertHandler.js +0 -46
- package/lib/rce/contentInsertion.js +0 -322
- package/lib/rce/contentInsertionUtils.js +0 -85
- package/lib/rce/contentRendering.js +0 -145
- package/lib/rce/customEvents.js +0 -18
- package/lib/rce/editorLanguage.js +0 -101
- package/lib/rce/indicatorRegion.js +0 -49
- package/lib/rce/normalizeLocale.js +0 -50
- package/lib/rce/normalizeProps.js +0 -29
- package/lib/rce/plugins/instructure-ui-icons/plugin.js +0 -122
- package/lib/rce/plugins/instructure_condensed_buttons/core/ListUtils.js +0 -24
- package/lib/rce/plugins/instructure_condensed_buttons/plugin.js +0 -27
- package/lib/rce/plugins/instructure_condensed_buttons/ui/alignment-button.js +0 -63
- package/lib/rce/plugins/instructure_condensed_buttons/ui/directionality-button.js +0 -48
- package/lib/rce/plugins/instructure_condensed_buttons/ui/indent-outdent-button.js +0 -41
- package/lib/rce/plugins/instructure_condensed_buttons/ui/list-button.js +0 -145
- package/lib/rce/plugins/instructure_condensed_buttons/ui/subscript-superscript-button.js +0 -56
- package/lib/rce/plugins/instructure_documents/clickCallback.js +0 -23
- package/lib/rce/plugins/instructure_documents/components/DocumentsPanel.js +0 -126
- package/lib/rce/plugins/instructure_documents/components/Link.js +0 -219
- package/lib/rce/plugins/instructure_documents/plugin.js +0 -123
- package/lib/rce/plugins/instructure_equation/EquationEditorModal/advancedOnlySyntax.js +0 -25
- package/lib/rce/plugins/instructure_equation/EquationEditorModal/advancedPreference.js +0 -51
- package/lib/rce/plugins/instructure_equation/EquationEditorModal/index.js +0 -321
- package/lib/rce/plugins/instructure_equation/EquationEditorModal/latexTextareaUtil.js +0 -116
- package/lib/rce/plugins/instructure_equation/EquationEditorModal/parseLatex.js +0 -91
- package/lib/rce/plugins/instructure_equation/EquationEditorModal/styles.js +0 -46
- package/lib/rce/plugins/instructure_equation/EquationEditorToolbar/buttons.js +0 -728
- package/lib/rce/plugins/instructure_equation/EquationEditorToolbar/index.js +0 -84
- package/lib/rce/plugins/instructure_equation/MathIcon/index.js +0 -41
- package/lib/rce/plugins/instructure_equation/MathIcon/svgs.js +0 -236
- package/lib/rce/plugins/instructure_equation/clickCallback.js +0 -53
- package/lib/rce/plugins/instructure_equation/mathlive/index.js +0 -36
- package/lib/rce/plugins/instructure_equation/plugin.js +0 -69
- package/lib/rce/plugins/instructure_fullscreen/plugin.js +0 -50
- package/lib/rce/plugins/instructure_html_view/clickCallback.js +0 -21
- package/lib/rce/plugins/instructure_html_view/plugin.js +0 -37
- package/lib/rce/plugins/instructure_icon_maker/clickCallback.js +0 -57
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ColorSection.js +0 -82
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/CreateIconMakerForm.js +0 -56
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Footer.js +0 -78
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Group.js +0 -36
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Header.js +0 -110
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/Course.js +0 -169
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/ImageOptions.js +0 -186
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/ImageSection.js +0 -243
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/ModeSelect.js +0 -64
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/MultiColor/index.js +0 -73
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/MultiColor/svg.js +0 -298
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/SVGList.js +0 -86
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/SVGThumbnail.js +0 -55
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/SingleColor/index.js +0 -70
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/SingleColor/svg.js +0 -317
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/Upload.js +0 -149
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/index.js +0 -18
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/propTypes.js +0 -32
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/utils.js +0 -25
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/Preview.js +0 -60
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ShapeSection.js +0 -87
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/TextSection.js +0 -139
- package/lib/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/index.js +0 -18
- package/lib/rce/plugins/instructure_icon_maker/components/IconMakerTray.js +0 -323
- package/lib/rce/plugins/instructure_icon_maker/components/SavedIconMakerList.js +0 -90
- package/lib/rce/plugins/instructure_icon_maker/plugin.js +0 -110
- package/lib/rce/plugins/instructure_icon_maker/reducers/imageSection.js +0 -194
- package/lib/rce/plugins/instructure_icon_maker/reducers/svgSettings.js +0 -98
- package/lib/rce/plugins/instructure_icon_maker/registerEditToolbar.js +0 -56
- package/lib/rce/plugins/instructure_icon_maker/svg/clipPath.js +0 -25
- package/lib/rce/plugins/instructure_icon_maker/svg/constants.js +0 -100
- package/lib/rce/plugins/instructure_icon_maker/svg/font.js +0 -25
- package/lib/rce/plugins/instructure_icon_maker/svg/image.js +0 -354
- package/lib/rce/plugins/instructure_icon_maker/svg/index.js +0 -122
- package/lib/rce/plugins/instructure_icon_maker/svg/metadata.js +0 -48
- package/lib/rce/plugins/instructure_icon_maker/svg/settings.js +0 -179
- package/lib/rce/plugins/instructure_icon_maker/svg/shape.js +0 -316
- package/lib/rce/plugins/instructure_icon_maker/svg/text.js +0 -468
- package/lib/rce/plugins/instructure_icon_maker/svg/utils.js +0 -70
- package/lib/rce/plugins/instructure_icon_maker/utils/IconMakerClose.js +0 -45
- package/lib/rce/plugins/instructure_icon_maker/utils/IconMakerFormHasChanges.js +0 -83
- package/lib/rce/plugins/instructure_icon_maker/utils/addIconMakerAttributes.js +0 -28
- package/lib/rce/plugins/instructure_icon_maker/utils/iconValidation.js +0 -35
- package/lib/rce/plugins/instructure_icon_maker/utils/iconsLabels.js +0 -375
- package/lib/rce/plugins/instructure_icon_maker/utils/useDebouncedValue.js +0 -59
- package/lib/rce/plugins/instructure_image/ImageEmbedOptions.js +0 -202
- package/lib/rce/plugins/instructure_image/ImageList/Image.js +0 -106
- package/lib/rce/plugins/instructure_image/ImageList/index.js +0 -69
- package/lib/rce/plugins/instructure_image/ImageOptionsTray/TrayController.js +0 -166
- package/lib/rce/plugins/instructure_image/ImageOptionsTray/index.js +0 -246
- package/lib/rce/plugins/instructure_image/Images/index.js +0 -129
- package/lib/rce/plugins/instructure_image/clickCallback.js +0 -24
- package/lib/rce/plugins/instructure_image/plugin.js +0 -157
- package/lib/rce/plugins/instructure_links/clickCallback.js +0 -22
- package/lib/rce/plugins/instructure_links/components/AccordionSection.js +0 -60
- package/lib/rce/plugins/instructure_links/components/CollectionPanel.js +0 -84
- package/lib/rce/plugins/instructure_links/components/Link.js +0 -213
- package/lib/rce/plugins/instructure_links/components/LinkOptionsDialog/LinkOptionsDialogController.js +0 -127
- package/lib/rce/plugins/instructure_links/components/LinkOptionsDialog/index.js +0 -141
- package/lib/rce/plugins/instructure_links/components/LinkOptionsTray/LinkOptionsTrayController.js +0 -125
- package/lib/rce/plugins/instructure_links/components/LinkOptionsTray/index.js +0 -245
- package/lib/rce/plugins/instructure_links/components/LinkSet.js +0 -195
- package/lib/rce/plugins/instructure_links/components/LinksPanel.js +0 -100
- package/lib/rce/plugins/instructure_links/components/NavigationPanel.js +0 -141
- package/lib/rce/plugins/instructure_links/components/NoResults.js +0 -87
- package/lib/rce/plugins/instructure_links/components/propTypes.js +0 -41
- package/lib/rce/plugins/instructure_links/plugin.js +0 -294
- package/lib/rce/plugins/instructure_links/validateURL.js +0 -70
- package/lib/rce/plugins/instructure_media_embed/clickCallback.js +0 -48
- package/lib/rce/plugins/instructure_media_embed/components/Embed.js +0 -68
- package/lib/rce/plugins/instructure_media_embed/plugin.js +0 -36
- package/lib/rce/plugins/instructure_paste/pasteMenuCommand.js +0 -117
- package/lib/rce/plugins/instructure_paste/plugin.js +0 -174
- package/lib/rce/plugins/instructure_rce_external_tools/ExternalToolsEnv.js +0 -169
- package/lib/rce/plugins/instructure_rce_external_tools/RceToolWrapper.js +0 -225
- package/lib/rce/plugins/instructure_rce_external_tools/components/ExternalToolDialog/ExternalToolDialog.js +0 -294
- package/lib/rce/plugins/instructure_rce_external_tools/components/ExternalToolDialog/ExternalToolDialogModal.js +0 -46
- package/lib/rce/plugins/instructure_rce_external_tools/components/ExternalToolDialog/ExternalToolDialogTray.js +0 -79
- package/lib/rce/plugins/instructure_rce_external_tools/components/ExternalToolSelectionDialog/ExternalToolSelectionDialog.js +0 -153
- package/lib/rce/plugins/instructure_rce_external_tools/components/ExternalToolSelectionDialog/ExternalToolSelectionItem.js +0 -94
- package/lib/rce/plugins/instructure_rce_external_tools/components/util/ExpandoText.js +0 -90
- package/lib/rce/plugins/instructure_rce_external_tools/components/util/ToolLaunchIframe.js +0 -35
- package/lib/rce/plugins/instructure_rce_external_tools/dialog-helper.js +0 -29
- package/lib/rce/plugins/instructure_rce_external_tools/helpers/tags.js +0 -55
- package/lib/rce/plugins/instructure_rce_external_tools/jquery/jquery.dropdownList.js +0 -172
- package/lib/rce/plugins/instructure_rce_external_tools/lti11-content-items/RceLti11ContentItem.js +0 -203
- package/lib/rce/plugins/instructure_rce_external_tools/lti13-content-items/RceLti13ContentItem.js +0 -111
- package/lib/rce/plugins/instructure_rce_external_tools/lti13-content-items/models/BaseLinkContentItem.js +0 -79
- package/lib/rce/plugins/instructure_rce_external_tools/lti13-content-items/models/HtmlFragmentContentItem.js +0 -47
- package/lib/rce/plugins/instructure_rce_external_tools/lti13-content-items/models/ImageContentItem.js +0 -57
- package/lib/rce/plugins/instructure_rce_external_tools/lti13-content-items/models/LinkContentItem.js +0 -26
- package/lib/rce/plugins/instructure_rce_external_tools/lti13-content-items/models/ResourceLinkContentItem.js +0 -45
- package/lib/rce/plugins/instructure_rce_external_tools/lti13-content-items/processEditorContentItems.js +0 -67
- package/lib/rce/plugins/instructure_rce_external_tools/lti13-content-items/rceLti13ContentItemFromJson.js +0 -48
- package/lib/rce/plugins/instructure_rce_external_tools/plugin.js +0 -112
- package/lib/rce/plugins/instructure_rce_external_tools/util/addParentFrameContextToUrl.js +0 -27
- package/lib/rce/plugins/instructure_record/AudioOptionsTray/TrayController.js +0 -127
- package/lib/rce/plugins/instructure_record/AudioOptionsTray/index.js +0 -148
- package/lib/rce/plugins/instructure_record/MediaPanel/index.js +0 -129
- package/lib/rce/plugins/instructure_record/VideoOptionsTray/TrayController.js +0 -215
- package/lib/rce/plugins/instructure_record/VideoOptionsTray/index.js +0 -321
- package/lib/rce/plugins/instructure_record/clickCallback.js +0 -105
- package/lib/rce/plugins/instructure_record/mediaTranslations.js +0 -94
- package/lib/rce/plugins/instructure_record/plugin.js +0 -173
- package/lib/rce/plugins/instructure_studio_media_options/plugin.js +0 -42
- package/lib/rce/plugins/instructure_wordcount/clickCallback.js +0 -49
- package/lib/rce/plugins/instructure_wordcount/components/WordCountModal.js +0 -88
- package/lib/rce/plugins/instructure_wordcount/plugin.js +0 -30
- package/lib/rce/plugins/instructure_wordcount/utils/countContent.js +0 -78
- package/lib/rce/plugins/instructure_wordcount/utils/tableContent.js +0 -40
- package/lib/rce/plugins/shared/CanvasContentTray.js +0 -580
- package/lib/rce/plugins/shared/CheckerboardStyling.js +0 -25
- package/lib/rce/plugins/shared/ColorInput.js +0 -233
- package/lib/rce/plugins/shared/ConditionalTooltip.js +0 -32
- package/lib/rce/plugins/shared/ContentSelection.js +0 -269
- package/lib/rce/plugins/shared/DimensionUtils.js +0 -66
- package/lib/rce/plugins/shared/DimensionsInput/DimensionInput.js +0 -62
- package/lib/rce/plugins/shared/DimensionsInput/index.js +0 -161
- package/lib/rce/plugins/shared/DimensionsInput/useDimensionsState.js +0 -220
- package/lib/rce/plugins/shared/ErrorBoundary.js +0 -54
- package/lib/rce/plugins/shared/EventUtils.js +0 -39
- package/lib/rce/plugins/shared/Filter.js +0 -353
- package/lib/rce/plugins/shared/FixedContentTray.js +0 -115
- package/lib/rce/plugins/shared/ImageCropper/DirectionRegion.js +0 -67
- package/lib/rce/plugins/shared/ImageCropper/Modal.js +0 -153
- package/lib/rce/plugins/shared/ImageCropper/Preview.js +0 -148
- package/lib/rce/plugins/shared/ImageCropper/constants.js +0 -39
- package/lib/rce/plugins/shared/ImageCropper/controls/CustomNumberInput.js +0 -83
- package/lib/rce/plugins/shared/ImageCropper/controls/ResetControls.js +0 -38
- package/lib/rce/plugins/shared/ImageCropper/controls/RotationControls.js +0 -89
- package/lib/rce/plugins/shared/ImageCropper/controls/ShapeControls.js +0 -82
- package/lib/rce/plugins/shared/ImageCropper/controls/ZoomControls.js +0 -111
- package/lib/rce/plugins/shared/ImageCropper/controls/index.js +0 -61
- package/lib/rce/plugins/shared/ImageCropper/controls/useDebouncedNumericValue.js +0 -94
- package/lib/rce/plugins/shared/ImageCropper/controls/utils.js +0 -41
- package/lib/rce/plugins/shared/ImageCropper/imageCropUtils.js +0 -149
- package/lib/rce/plugins/shared/ImageCropper/index.js +0 -18
- package/lib/rce/plugins/shared/ImageCropper/propTypes.js +0 -26
- package/lib/rce/plugins/shared/ImageCropper/reducers/imageCropper.js +0 -72
- package/lib/rce/plugins/shared/ImageCropper/shape.js +0 -27
- package/lib/rce/plugins/shared/ImageCropper/svg/index.js +0 -89
- package/lib/rce/plugins/shared/ImageCropper/svg/shape.js +0 -125
- package/lib/rce/plugins/shared/ImageCropper/svg/utils.js +0 -26
- package/lib/rce/plugins/shared/ImageCropper/useKeyMouseEvents.js +0 -233
- package/lib/rce/plugins/shared/ImageCropper/useMouseWheel.js +0 -66
- package/lib/rce/plugins/shared/ImageOptionsForm.js +0 -140
- package/lib/rce/plugins/shared/LinkDisplay.js +0 -96
- package/lib/rce/plugins/shared/PreviewIcon.js +0 -112
- package/lib/rce/plugins/shared/Previewable.js +0 -22
- package/lib/rce/plugins/shared/RceFileBrowser.js +0 -106
- package/lib/rce/plugins/shared/StoreContext.js +0 -57
- package/lib/rce/plugins/shared/StudioLtiSupportUtils.js +0 -71
- package/lib/rce/plugins/shared/UnknownFileTypePanel.js +0 -29
- package/lib/rce/plugins/shared/Upload/CategoryProcessor.js +0 -27
- package/lib/rce/plugins/shared/Upload/ComputerPanel.js +0 -334
- package/lib/rce/plugins/shared/Upload/SvgCategoryProcessor.js +0 -35
- package/lib/rce/plugins/shared/Upload/UploadFile.js +0 -171
- package/lib/rce/plugins/shared/Upload/UploadFileModal.js +0 -273
- package/lib/rce/plugins/shared/Upload/UrlPanel.js +0 -38
- package/lib/rce/plugins/shared/Upload/UsageRightsSelectBox.js +0 -172
- package/lib/rce/plugins/shared/Upload/doFileUpload.js +0 -77
- package/lib/rce/plugins/shared/__mocks__/screenfull.js +0 -24
- package/lib/rce/plugins/shared/buildDownloadUrl.js +0 -31
- package/lib/rce/plugins/shared/compressionUtils.js +0 -98
- package/lib/rce/plugins/shared/dateUtils.js +0 -28
- package/lib/rce/plugins/shared/fileShape.js +0 -57
- package/lib/rce/plugins/shared/fileTypeUtils.js +0 -133
- package/lib/rce/plugins/shared/fileUtils.js +0 -25
- package/lib/rce/plugins/shared/linkUtils.js +0 -89
- package/lib/rce/plugins/shared/round.js +0 -25
- package/lib/rce/plugins/shared/trayUtils.js +0 -34
- package/lib/rce/plugins/shared/useDataUrl.js +0 -76
- package/lib/rce/plugins/tinymce-a11y-checker/components/ColorField.js +0 -86
- package/lib/rce/plugins/tinymce-a11y-checker/components/checker.js +0 -558
- package/lib/rce/plugins/tinymce-a11y-checker/components/color-picker.js +0 -59
- package/lib/rce/plugins/tinymce-a11y-checker/components/placeholder-svg.js +0 -90
- package/lib/rce/plugins/tinymce-a11y-checker/components/pointer.js +0 -32
- package/lib/rce/plugins/tinymce-a11y-checker/node-checker.js +0 -54
- package/lib/rce/plugins/tinymce-a11y-checker/plugin.js +0 -90
- package/lib/rce/plugins/tinymce-a11y-checker/rules/__mocks__/index.js +0 -53
- package/lib/rce/plugins/tinymce-a11y-checker/rules/adjacent-links.js +0 -129
- package/lib/rce/plugins/tinymce-a11y-checker/rules/headings-sequence.js +0 -200
- package/lib/rce/plugins/tinymce-a11y-checker/rules/headings-start-at-h2.js +0 -67
- package/lib/rce/plugins/tinymce-a11y-checker/rules/img-alt-filename.js +0 -63
- package/lib/rce/plugins/tinymce-a11y-checker/rules/img-alt-length.js +0 -49
- package/lib/rce/plugins/tinymce-a11y-checker/rules/img-alt.js +0 -61
- package/lib/rce/plugins/tinymce-a11y-checker/rules/index.js +0 -31
- package/lib/rce/plugins/tinymce-a11y-checker/rules/large-text-contrast.js +0 -51
- package/lib/rce/plugins/tinymce-a11y-checker/rules/list-structure.js +0 -144
- package/lib/rce/plugins/tinymce-a11y-checker/rules/paragraphs-for-headings.js +0 -61
- package/lib/rce/plugins/tinymce-a11y-checker/rules/small-text-contrast.js +0 -75
- package/lib/rce/plugins/tinymce-a11y-checker/rules/table-caption.js +0 -54
- package/lib/rce/plugins/tinymce-a11y-checker/rules/table-header-scope.js +0 -52
- package/lib/rce/plugins/tinymce-a11y-checker/rules/table-header.js +0 -81
- package/lib/rce/plugins/tinymce-a11y-checker/utils/colors.js +0 -43
- package/lib/rce/plugins/tinymce-a11y-checker/utils/describe.js +0 -66
- package/lib/rce/plugins/tinymce-a11y-checker/utils/dom.js +0 -160
- package/lib/rce/plugins/tinymce-a11y-checker/utils/indicate.js +0 -83
- package/lib/rce/plugins/tinymce-a11y-checker/utils/rgb-hex.js +0 -57
- package/lib/rce/plugins/tinymce-a11y-checker/utils/strings.js +0 -40
- package/lib/rce/root.js +0 -58
- package/lib/rce/sanitizePlugins.js +0 -32
- package/lib/rce/style.js +0 -843
- package/lib/rce/tinyRCE.js +0 -66
- package/lib/rce/transformContent.js +0 -73
- package/lib/rce/userOS.js +0 -31
- package/lib/rce/wrapInitCb.js +0 -78
- package/lib/rcs/api.js +0 -670
- package/lib/rcs/buildError.js +0 -98
- package/lib/rcs/fake.js +0 -621
- package/lib/sidebar/actions/all_files.js +0 -29
- package/lib/sidebar/actions/data.js +0 -105
- package/lib/sidebar/actions/documents.js +0 -107
- package/lib/sidebar/actions/files.js +0 -167
- package/lib/sidebar/actions/filter.js +0 -63
- package/lib/sidebar/actions/flickr.js +0 -60
- package/lib/sidebar/actions/images.js +0 -153
- package/lib/sidebar/actions/links.js +0 -23
- package/lib/sidebar/actions/media.js +0 -142
- package/lib/sidebar/actions/session.js +0 -34
- package/lib/sidebar/actions/ui.js +0 -49
- package/lib/sidebar/actions/upload.js +0 -550
- package/lib/sidebar/containers/Sidebar.js +0 -67
- package/lib/sidebar/containers/sidebarHandlers.js +0 -73
- package/lib/sidebar/dragHtml.js +0 -49
- package/lib/sidebar/reducers/all_files.js +0 -35
- package/lib/sidebar/reducers/collection.js +0 -72
- package/lib/sidebar/reducers/collections.js +0 -52
- package/lib/sidebar/reducers/documents.js +0 -89
- package/lib/sidebar/reducers/files.js +0 -38
- package/lib/sidebar/reducers/filter.js +0 -61
- package/lib/sidebar/reducers/flickr.js +0 -51
- package/lib/sidebar/reducers/folder.js +0 -92
- package/lib/sidebar/reducers/folders.js +0 -39
- package/lib/sidebar/reducers/images.js +0 -115
- package/lib/sidebar/reducers/index.js +0 -57
- package/lib/sidebar/reducers/media.js +0 -84
- package/lib/sidebar/reducers/newPageLinkExpanded.js +0 -30
- package/lib/sidebar/reducers/noop.js +0 -21
- package/lib/sidebar/reducers/rootFolderId.js +0 -30
- package/lib/sidebar/reducers/session.js +0 -33
- package/lib/sidebar/reducers/ui.js +0 -87
- package/lib/sidebar/reducers/upload.js +0 -206
- package/lib/sidebar/store/configureStore.js +0 -26
- package/lib/sidebar/store/initialState.js +0 -173
- package/lib/translations/locales/ar.js +0 -2427
- package/lib/translations/locales/ca.js +0 -2427
- package/lib/translations/locales/cy.js +0 -2427
- package/lib/translations/locales/da-x-k12.js +0 -2427
- package/lib/translations/locales/da.js +0 -2427
- package/lib/translations/locales/de.js +0 -2427
- package/lib/translations/locales/el.js +0 -459
- package/lib/translations/locales/en-AU-x-unimelb.js +0 -2427
- package/lib/translations/locales/en-GB-x-ukhe.js +0 -2427
- package/lib/translations/locales/en.js +0 -2427
- package/lib/translations/locales/en_AU.js +0 -2427
- package/lib/translations/locales/en_CA.js +0 -2426
- package/lib/translations/locales/en_CY.js +0 -2426
- package/lib/translations/locales/en_GB.js +0 -2427
- package/lib/translations/locales/es.js +0 -2427
- package/lib/translations/locales/es_ES.js +0 -2427
- package/lib/translations/locales/fa_IR.js +0 -615
- package/lib/translations/locales/fi.js +0 -2427
- package/lib/translations/locales/fr.js +0 -2427
- package/lib/translations/locales/fr_CA.js +0 -2427
- package/lib/translations/locales/he.js +0 -486
- package/lib/translations/locales/ht.js +0 -2426
- package/lib/translations/locales/hu.js +0 -2007
- package/lib/translations/locales/hy.js +0 -444
- package/lib/translations/locales/is.js +0 -2426
- package/lib/translations/locales/it.js +0 -2427
- package/lib/translations/locales/ja.js +0 -2427
- package/lib/translations/locales/ko.js +0 -342
- package/lib/translations/locales/mi.js +0 -2426
- package/lib/translations/locales/nb-x-k12.js +0 -2427
- package/lib/translations/locales/nb.js +0 -2427
- package/lib/translations/locales/nl.js +0 -2427
- package/lib/translations/locales/nn.js +0 -2247
- package/lib/translations/locales/pl.js +0 -2427
- package/lib/translations/locales/pt.js +0 -2427
- package/lib/translations/locales/pt_BR.js +0 -2427
- package/lib/translations/locales/ru.js +0 -84
- package/lib/translations/locales/sl.js +0 -2427
- package/lib/translations/locales/sv-x-k12.js +0 -2427
- package/lib/translations/locales/sv.js +0 -78
- package/lib/translations/locales/tr.js +0 -684
- package/lib/translations/locales/uk_UA.js +0 -519
- package/lib/translations/locales/vi.js +0 -39
- package/lib/translations/locales/zh-Hans.js +0 -2427
- package/lib/translations/locales/zh-Hant.js +0 -2427
- package/lib/translations/locales/zh.js +0 -2427
- package/lib/translations/locales/zh_HK.js +0 -2427
- package/lib/translations/tinymce/ar_SA.js +0 -211
- package/lib/translations/tinymce/bg_BG.js +0 -419
- package/lib/translations/tinymce/ca.js +0 -419
- package/lib/translations/tinymce/cs.js +0 -419
- package/lib/translations/tinymce/cy.js +0 -418
- package/lib/translations/tinymce/da.js +0 -419
- package/lib/translations/tinymce/de.js +0 -419
- package/lib/translations/tinymce/el.js +0 -261
- package/lib/translations/tinymce/en_GB.js +0 -230
- package/lib/translations/tinymce/es.js +0 -419
- package/lib/translations/tinymce/fa_IR.js +0 -390
- package/lib/translations/tinymce/fi.js +0 -19
- package/lib/translations/tinymce/fr_FR.js +0 -419
- package/lib/translations/tinymce/he_IL.js +0 -420
- package/lib/translations/tinymce/hu_HU.js +0 -419
- package/lib/translations/tinymce/hy.js +0 -419
- package/lib/translations/tinymce/it.js +0 -419
- package/lib/translations/tinymce/ja.js +0 -419
- package/lib/translations/tinymce/ko_KR.js +0 -419
- package/lib/translations/tinymce/nb_NO.js +0 -419
- package/lib/translations/tinymce/nl.js +0 -419
- package/lib/translations/tinymce/pl.js +0 -419
- package/lib/translations/tinymce/pt_BR.js +0 -419
- package/lib/translations/tinymce/pt_PT.js +0 -419
- package/lib/translations/tinymce/ro.js +0 -418
- package/lib/translations/tinymce/ru.js +0 -436
- package/lib/translations/tinymce/ru_RU.js +0 -71
- package/lib/translations/tinymce/sl.js +0 -462
- package/lib/translations/tinymce/sr.js +0 -278
- package/lib/translations/tinymce/sv_SE.js +0 -419
- package/lib/translations/tinymce/th.js +0 -479
- package/lib/translations/tinymce/tr_TR.js +0 -389
- package/lib/translations/tinymce/uk_UA.js +0 -278
- package/lib/translations/tinymce/vi_VN.js +0 -277
- package/lib/translations/tinymce/zh_CN.js +0 -419
- package/lib/translations/tinymce/zh_TW.js +0 -419
- package/lib/types/inst-ui.d.js +0 -18
- package/lib/types/ts-migration.js +0 -1
- package/lib/util/DeepPartialNullable.js +0 -1
- package/lib/util/ExtractRequired.js +0 -1
- package/lib/util/TypedDict.js +0 -131
- package/lib/util/assertNever.js +0 -44
- package/lib/util/elem-util.js +0 -26
- package/lib/util/encrypted-storage.js +0 -84
- package/lib/util/file-url-util.js +0 -44
- package/lib/util/fullscreenHelpers.js +0 -27
- package/lib/util/instui-icon-helper.js +0 -31
- package/lib/util/loadingPlaceholder.js +0 -436
- package/lib/util/simpleCache.js +0 -41
- package/lib/util/string-util.js +0 -48
- package/lib/util/textarea-editing-util.js +0 -87
- package/lib/util/tinymce-plugin-util.js +0 -52
- package/lib/util/url-util.js +0 -138
|
@@ -1,233 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (C) 2021 - 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, { useEffect, useState } from 'react';
|
|
19
|
-
import { View } from '@instructure/ui-view';
|
|
20
|
-
import { Flex } from '@instructure/ui-flex';
|
|
21
|
-
import { TextInput } from '@instructure/ui-text-input';
|
|
22
|
-
import { Popover } from '@instructure/ui-popover';
|
|
23
|
-
import { IconArrowOpenDownLine, IconArrowOpenUpLine } from '@instructure/ui-icons';
|
|
24
|
-
import { BaseButton, CloseButton, IconButton } from '@instructure/ui-buttons';
|
|
25
|
-
import { ScreenReaderContent } from '@instructure/ui-a11y-content';
|
|
26
|
-
import PreviewIcon from './PreviewIcon';
|
|
27
|
-
import formatMessage from '../../../format-message';
|
|
28
|
-
const NAMED_COLORS = [{
|
|
29
|
-
color: '#BD3C14',
|
|
30
|
-
name: formatMessage('Brick')
|
|
31
|
-
}, {
|
|
32
|
-
color: '#FF2717',
|
|
33
|
-
name: formatMessage('Red')
|
|
34
|
-
}, {
|
|
35
|
-
color: '#E71F63',
|
|
36
|
-
name: formatMessage('Magenta')
|
|
37
|
-
}, {
|
|
38
|
-
color: '#8F3E97',
|
|
39
|
-
name: formatMessage('Purple')
|
|
40
|
-
}, {
|
|
41
|
-
color: '#65499D',
|
|
42
|
-
name: formatMessage('Deep Purple')
|
|
43
|
-
}, {
|
|
44
|
-
color: '#4554A4',
|
|
45
|
-
name: formatMessage('Indigo')
|
|
46
|
-
}, {
|
|
47
|
-
color: '#1770AB',
|
|
48
|
-
name: formatMessage('Blue')
|
|
49
|
-
}, {
|
|
50
|
-
color: '#0B9BE3',
|
|
51
|
-
name: formatMessage('Light Blue')
|
|
52
|
-
}, {
|
|
53
|
-
color: '#06A3B7',
|
|
54
|
-
name: formatMessage('Cyan')
|
|
55
|
-
}, {
|
|
56
|
-
color: '#009688',
|
|
57
|
-
name: formatMessage('Teal')
|
|
58
|
-
}, {
|
|
59
|
-
color: '#009606',
|
|
60
|
-
name: formatMessage('Green')
|
|
61
|
-
}, {
|
|
62
|
-
color: '#8D9900',
|
|
63
|
-
name: formatMessage('Olive')
|
|
64
|
-
}, {
|
|
65
|
-
color: '#D97900',
|
|
66
|
-
name: formatMessage('Pumpkin')
|
|
67
|
-
}, {
|
|
68
|
-
color: '#FD5D10',
|
|
69
|
-
name: formatMessage('Orange')
|
|
70
|
-
}, {
|
|
71
|
-
color: '#F06291',
|
|
72
|
-
name: formatMessage('Pink')
|
|
73
|
-
}, {
|
|
74
|
-
color: '#000000',
|
|
75
|
-
name: formatMessage('Black')
|
|
76
|
-
}, {
|
|
77
|
-
color: '#556572',
|
|
78
|
-
name: formatMessage('Steel Blue')
|
|
79
|
-
}, {
|
|
80
|
-
color: '#6B7780',
|
|
81
|
-
name: formatMessage('Grey')
|
|
82
|
-
}, {
|
|
83
|
-
color: '#FFFFFF',
|
|
84
|
-
name: formatMessage('White')
|
|
85
|
-
}, null];
|
|
86
|
-
export const ColorInput = _ref => {
|
|
87
|
-
var _NAMED_COLORS$find;
|
|
88
|
-
|
|
89
|
-
let {
|
|
90
|
-
color,
|
|
91
|
-
label,
|
|
92
|
-
name,
|
|
93
|
-
onChange,
|
|
94
|
-
popoverMountNode,
|
|
95
|
-
width = '11rem',
|
|
96
|
-
readonly = false,
|
|
97
|
-
requireColor = false
|
|
98
|
-
} = _ref;
|
|
99
|
-
const [isOpen, setIsOpen] = useState(false);
|
|
100
|
-
const [inputValue, setInputValue] = useState(color);
|
|
101
|
-
const colorName = (_NAMED_COLORS$find = NAMED_COLORS.find(c => (c === null || c === void 0 ? void 0 : c.color) === color)) === null || _NAMED_COLORS$find === void 0 ? void 0 : _NAMED_COLORS$find.name;
|
|
102
|
-
useEffect(() => {
|
|
103
|
-
setInputValue(color);
|
|
104
|
-
}, [color]); // fire onChange in case value is valid
|
|
105
|
-
|
|
106
|
-
const handleColorChange = hex => {
|
|
107
|
-
if (isValidHex(hex)) {
|
|
108
|
-
onChange(hex);
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
if (!hex || !hex.length) {
|
|
112
|
-
onChange(null);
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
setInputValue(hex);
|
|
116
|
-
}; // reset the input value on blur if invalid
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
const handleInputBlur = () => {
|
|
120
|
-
if (!inputValue || inputValue.length > 0 && !isValidHex(inputValue)) {
|
|
121
|
-
setInputValue(color);
|
|
122
|
-
}
|
|
123
|
-
};
|
|
124
|
-
|
|
125
|
-
const colorPreviews = NAMED_COLORS.map(c => /*#__PURE__*/React.createElement(ColorPreview, {
|
|
126
|
-
key: `${name}-${c === null || c === void 0 ? void 0 : c.color}`,
|
|
127
|
-
color: c === null || c === void 0 ? void 0 : c.color,
|
|
128
|
-
name: c === null || c === void 0 ? void 0 : c.name,
|
|
129
|
-
disabled: !isOpen,
|
|
130
|
-
onSelect: () => {
|
|
131
|
-
handleColorChange(c === null || c === void 0 ? void 0 : c.color);
|
|
132
|
-
setIsOpen(false);
|
|
133
|
-
}
|
|
134
|
-
}));
|
|
135
|
-
|
|
136
|
-
function renderPopover() {
|
|
137
|
-
const pickerLabel = colorName ? formatMessage('Color Picker ({colorName} selected)', {
|
|
138
|
-
colorName
|
|
139
|
-
}) : formatMessage('Color Picker');
|
|
140
|
-
return /*#__PURE__*/React.createElement(Popover, {
|
|
141
|
-
on: "click",
|
|
142
|
-
isShowingContent: isOpen,
|
|
143
|
-
onShowContent: () => setIsOpen(true),
|
|
144
|
-
onHideContent: () => setIsOpen(false),
|
|
145
|
-
shouldContainFocus: true,
|
|
146
|
-
shouldReturnFocus: true,
|
|
147
|
-
mountNode: popoverMountNode,
|
|
148
|
-
renderTrigger: /*#__PURE__*/React.createElement(IconButton, {
|
|
149
|
-
screenReaderLabel: pickerLabel,
|
|
150
|
-
size: "small",
|
|
151
|
-
withBackground: false,
|
|
152
|
-
withBorder: false,
|
|
153
|
-
interaction: "enabled",
|
|
154
|
-
"data-testid": `${name}-popover-trigger`
|
|
155
|
-
}, isOpen ? /*#__PURE__*/React.createElement(IconArrowOpenUpLine, null) : /*#__PURE__*/React.createElement(IconArrowOpenDownLine, null))
|
|
156
|
-
}, /*#__PURE__*/React.createElement(CloseButton, {
|
|
157
|
-
placement: "end",
|
|
158
|
-
onClick: () => setIsOpen(false),
|
|
159
|
-
screenReaderLabel: formatMessage('Close')
|
|
160
|
-
}), /*#__PURE__*/React.createElement(Flex, {
|
|
161
|
-
alignItems: "center",
|
|
162
|
-
as: "div",
|
|
163
|
-
justifyItems: requireColor ? 'start' : 'center',
|
|
164
|
-
padding: "x-large x-small small",
|
|
165
|
-
width: "175px",
|
|
166
|
-
wrap: "wrap",
|
|
167
|
-
"data-testid": `${name}-popover`
|
|
168
|
-
}, requireColor ? colorPreviews.slice(0, -1) : colorPreviews));
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
return /*#__PURE__*/React.createElement(View, {
|
|
172
|
-
as: "div"
|
|
173
|
-
}, /*#__PURE__*/React.createElement(TextInput, {
|
|
174
|
-
"data-testid": `icon-maker-color-input-${name}`,
|
|
175
|
-
display: "inline-block",
|
|
176
|
-
name: name,
|
|
177
|
-
onBlur: handleInputBlur,
|
|
178
|
-
onChange: (e, value) => handleColorChange(value),
|
|
179
|
-
placeholder: formatMessage('None'),
|
|
180
|
-
renderBeforeInput: /*#__PURE__*/React.createElement(ColorPreview, {
|
|
181
|
-
color: color,
|
|
182
|
-
disabled: true,
|
|
183
|
-
margin: "0"
|
|
184
|
-
}),
|
|
185
|
-
renderAfterInput: renderPopover,
|
|
186
|
-
renderLabel: label,
|
|
187
|
-
shouldNotWrap: true,
|
|
188
|
-
value: inputValue || '',
|
|
189
|
-
width: width,
|
|
190
|
-
interaction: readonly ? 'readonly' : undefined
|
|
191
|
-
}));
|
|
192
|
-
};
|
|
193
|
-
|
|
194
|
-
function ColorPreview(_ref2) {
|
|
195
|
-
let {
|
|
196
|
-
color,
|
|
197
|
-
name,
|
|
198
|
-
disabled,
|
|
199
|
-
margin = 'xxx-small',
|
|
200
|
-
onSelect
|
|
201
|
-
} = _ref2;
|
|
202
|
-
return /*#__PURE__*/React.createElement(BaseButton, {
|
|
203
|
-
interaction: disabled ? 'readonly' : undefined,
|
|
204
|
-
isCondensed: true,
|
|
205
|
-
margin: margin,
|
|
206
|
-
onClick: onSelect,
|
|
207
|
-
size: "small",
|
|
208
|
-
withBackground: false,
|
|
209
|
-
withBorder: false,
|
|
210
|
-
"aria-hidden": disabled
|
|
211
|
-
}, /*#__PURE__*/React.createElement(ScreenReaderContent, null, color ? formatMessage('{name} ({color})', {
|
|
212
|
-
name,
|
|
213
|
-
color
|
|
214
|
-
}) : formatMessage('None')), /*#__PURE__*/React.createElement(PreviewIcon, {
|
|
215
|
-
color: color,
|
|
216
|
-
testId: `colorPreview-${color || 'none'}`
|
|
217
|
-
}));
|
|
218
|
-
}
|
|
219
|
-
|
|
220
|
-
function isValidHex(color) {
|
|
221
|
-
if (!color) return false;
|
|
222
|
-
|
|
223
|
-
switch (color.length) {
|
|
224
|
-
case 4:
|
|
225
|
-
return /^#[0-9A-F]{3}$/i.test(color);
|
|
226
|
-
|
|
227
|
-
case 7:
|
|
228
|
-
return /^#[0-9A-F]{6}$/i.test(color);
|
|
229
|
-
|
|
230
|
-
default:
|
|
231
|
-
return false;
|
|
232
|
-
}
|
|
233
|
-
}
|
|
@@ -1,32 +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 { bool, element, oneOfType, arrayOf } from 'prop-types';
|
|
20
|
-
import { Tooltip } from '@instructure/ui-tooltip';
|
|
21
|
-
export const ConditionalTooltip = _ref => {
|
|
22
|
-
let {
|
|
23
|
-
condition,
|
|
24
|
-
children,
|
|
25
|
-
...tooltipProps
|
|
26
|
-
} = _ref;
|
|
27
|
-
return condition ? /*#__PURE__*/React.createElement(Tooltip, tooltipProps, children) : /*#__PURE__*/React.createElement(React.Fragment, null, children);
|
|
28
|
-
};
|
|
29
|
-
ConditionalTooltip.propTypes = {
|
|
30
|
-
condition: bool.isRequired,
|
|
31
|
-
children: oneOfType([element, arrayOf(element)]).isRequired
|
|
32
|
-
};
|
|
@@ -1,269 +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 { fromImageEmbed, fromVideoEmbed } from '../instructure_image/ImageEmbedOptions';
|
|
19
|
-
import { isOnlyTextSelected } from '../../contentInsertionUtils';
|
|
20
|
-
import * as url from 'url';
|
|
21
|
-
import formatMessage from '../../../format-message';
|
|
22
|
-
import { isStudioEmbeddedMedia } from './StudioLtiSupportUtils';
|
|
23
|
-
const FILE_DOWNLOAD_PATH_REGEX = /^\/(courses\/\d+\/)?files\/\d+\/download$/;
|
|
24
|
-
export const LINK_TYPE = 'link';
|
|
25
|
-
export const FILE_LINK_TYPE = 'file-link';
|
|
26
|
-
export const IMAGE_EMBED_TYPE = 'image-embed';
|
|
27
|
-
export const VIDEO_EMBED_TYPE = 'video-embed';
|
|
28
|
-
export const TEXT_TYPE = 'text';
|
|
29
|
-
export const NONE_TYPE = 'none';
|
|
30
|
-
export const DISPLAY_AS_LINK = 'link';
|
|
31
|
-
export const DISPLAY_AS_EMBED = 'embed';
|
|
32
|
-
export const DISPLAY_AS_EMBED_DISABLED = 'embed-disabled';
|
|
33
|
-
export const DISPLAY_AS_DOWNLOAD_LINK = 'download-link';
|
|
34
|
-
export function asImageEmbed($element) {
|
|
35
|
-
const nodeName = $element === null || $element === void 0 ? void 0 : $element.nodeName.toLowerCase();
|
|
36
|
-
|
|
37
|
-
if (nodeName !== 'img') {
|
|
38
|
-
return null;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
return { ...fromImageEmbed($element),
|
|
42
|
-
$element,
|
|
43
|
-
type: IMAGE_EMBED_TYPE
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
export function asLink($element, editor) {
|
|
47
|
-
var _$link;
|
|
48
|
-
|
|
49
|
-
let $link = $element;
|
|
50
|
-
|
|
51
|
-
if (((_$link = $link) === null || _$link === void 0 ? void 0 : _$link.tagName) !== 'A') {
|
|
52
|
-
// the user may have selected some text that is w/in a link
|
|
53
|
-
// but didn't include the <a>. Let's see if that's true
|
|
54
|
-
$link = editor.dom.getParent($link, 'a[href]');
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
if (!$link || $link.tagName !== 'A' || !$link.href) {
|
|
58
|
-
return null;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
const {
|
|
62
|
-
pathname
|
|
63
|
-
} = url.parse($link.href);
|
|
64
|
-
const type = FILE_DOWNLOAD_PATH_REGEX.test(pathname) ? FILE_LINK_TYPE : LINK_TYPE;
|
|
65
|
-
let displayAs = DISPLAY_AS_LINK;
|
|
66
|
-
|
|
67
|
-
if ($link.classList.contains('no_preview')) {
|
|
68
|
-
displayAs = DISPLAY_AS_DOWNLOAD_LINK;
|
|
69
|
-
} else if ($link.classList.contains('auto_open')) {
|
|
70
|
-
displayAs = DISPLAY_AS_EMBED;
|
|
71
|
-
} else if ($link.classList.contains('inline_disabled')) {
|
|
72
|
-
displayAs = DISPLAY_AS_EMBED_DISABLED;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
const contentType = $link.getAttribute('data-course-type');
|
|
76
|
-
const fileName = $link.getAttribute('title');
|
|
77
|
-
const published = $link.getAttribute('data-published') === 'true';
|
|
78
|
-
const isPreviewable = $link.hasAttribute('data-canvas-previewable') || $link.classList.contains('instructure_scribd_file'); // needed to cover docs linked while there was a bug didn't add the data attr.
|
|
79
|
-
|
|
80
|
-
return {
|
|
81
|
-
$element: $link,
|
|
82
|
-
displayAs,
|
|
83
|
-
text: $link.textContent,
|
|
84
|
-
onlyTextSelected: isOnlyTextSelected(editor.selection.getContent()),
|
|
85
|
-
type,
|
|
86
|
-
isPreviewable,
|
|
87
|
-
url: $link.href,
|
|
88
|
-
contentType,
|
|
89
|
-
fileName,
|
|
90
|
-
published
|
|
91
|
-
};
|
|
92
|
-
} // the video element is a bit tricky.
|
|
93
|
-
// tinymce won't let me add many attributes to the iframe,
|
|
94
|
-
// even though I've listed them in tinymce.config.js
|
|
95
|
-
// extended_valid_elements.
|
|
96
|
-
// we have to rely on the span tinymce wraps around the iframe
|
|
97
|
-
// and it's attributes, even though this could change with future
|
|
98
|
-
// tinymce releases.
|
|
99
|
-
// see https://github.com/tinymce/tinymce/issues/5181
|
|
100
|
-
|
|
101
|
-
export function asVideoElement($element) {
|
|
102
|
-
var _$videoElem$parentEle;
|
|
103
|
-
|
|
104
|
-
const $videoElem = findMediaPlayerIframe($element);
|
|
105
|
-
|
|
106
|
-
if (!isVideoElement($videoElem) && !isStudioEmbeddedMedia($videoElem)) {
|
|
107
|
-
return null;
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
return { ...fromVideoEmbed($videoElem),
|
|
111
|
-
$element,
|
|
112
|
-
type: VIDEO_EMBED_TYPE,
|
|
113
|
-
id: ((_$videoElem$parentEle = $videoElem.parentElement) === null || _$videoElem$parentEle === void 0 ? void 0 : _$videoElem$parentEle.getAttribute('data-mce-p-data-media-id')) || $videoElem.getAttribute('data-mce-p-data-media-id')
|
|
114
|
-
};
|
|
115
|
-
}
|
|
116
|
-
export function asAudioElement($element) {
|
|
117
|
-
var _$element$parentEleme;
|
|
118
|
-
|
|
119
|
-
if (!$element) {
|
|
120
|
-
return null;
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
const $audioIframe = $element.tagName === 'IFRAME' ? $element : $element.firstElementChild;
|
|
124
|
-
const $tinymceIframeShim = $audioIframe.parentElement;
|
|
125
|
-
const title = ($audioIframe.getAttribute('title') || $tinymceIframeShim.getAttribute('data-mce-p-title') || '').replace(formatMessage('Video player for '), '');
|
|
126
|
-
const audioOptions = {
|
|
127
|
-
titleText: title,
|
|
128
|
-
id: ((_$element$parentEleme = $element.parentElement) === null || _$element$parentEleme === void 0 ? void 0 : _$element$parentEleme.getAttribute('data-mce-p-data-media-id')) || $element.getAttribute('data-mce-p-data-media-id')
|
|
129
|
-
};
|
|
130
|
-
|
|
131
|
-
if ($audioIframe.tagName === 'IFRAME') {
|
|
132
|
-
const audioDoc = $audioIframe.contentDocument;
|
|
133
|
-
|
|
134
|
-
try {
|
|
135
|
-
var _audioDoc$querySelect;
|
|
136
|
-
|
|
137
|
-
const trackSJson = (_audioDoc$querySelect = audioDoc.querySelector('[data-tracks]')) === null || _audioDoc$querySelect === void 0 ? void 0 : _audioDoc$querySelect.getAttribute('data-tracks');
|
|
138
|
-
|
|
139
|
-
if (trackSJson) {
|
|
140
|
-
audioOptions.tracks = JSON.parse(trackSJson);
|
|
141
|
-
} // eslint-disable-next-line no-empty
|
|
142
|
-
|
|
143
|
-
} catch (e) {}
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
return audioOptions;
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
function asText($element, editor) {
|
|
150
|
-
const text = editor && editor.selection.getContent({
|
|
151
|
-
format: 'text'
|
|
152
|
-
});
|
|
153
|
-
|
|
154
|
-
if (!text) {
|
|
155
|
-
return null;
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
return {
|
|
159
|
-
$element,
|
|
160
|
-
text,
|
|
161
|
-
type: TEXT_TYPE
|
|
162
|
-
};
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
function asNone($element) {
|
|
166
|
-
return {
|
|
167
|
-
$element: $element || null,
|
|
168
|
-
type: NONE_TYPE
|
|
169
|
-
};
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
export function getContentFromElement($element, editor) {
|
|
173
|
-
if (!($element && $element.nodeName)) {
|
|
174
|
-
return asNone();
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
const content = asLink($element, editor) || asImageEmbed($element) || asVideoElement($element) || asText($element, editor) || asNone($element);
|
|
178
|
-
return content;
|
|
179
|
-
}
|
|
180
|
-
export function getContentFromEditor(editor) {
|
|
181
|
-
let expandSelection = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
182
|
-
let $element;
|
|
183
|
-
|
|
184
|
-
if (editor && editor.selection) {
|
|
185
|
-
// tinymce selects the element around the cursor, whether it's
|
|
186
|
-
// content is selected in the copy/paste sense or not.
|
|
187
|
-
// We want to include this content if it's _really_ selected,
|
|
188
|
-
// or if editing the surrounding link, but not if creating a new link
|
|
189
|
-
if (expandSelection || !editor.selection.isCollapsed()) {
|
|
190
|
-
$element = editor.selection.getNode();
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
if ($element == null) {
|
|
195
|
-
return asNone();
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
return getContentFromElement($element, editor);
|
|
199
|
-
} // if the selection is somewhere w/in a <a>,
|
|
200
|
-
// find the <a> and return it's info
|
|
201
|
-
|
|
202
|
-
export function getLinkContentFromEditor(editor) {
|
|
203
|
-
const $element = editor.selection.getNode();
|
|
204
|
-
return $element ? asLink($element, editor) : null;
|
|
205
|
-
}
|
|
206
|
-
export function isFileLink($element, editor) {
|
|
207
|
-
return !!asLink($element, editor);
|
|
208
|
-
}
|
|
209
|
-
export function isImageEmbed($element) {
|
|
210
|
-
return !!asImageEmbed($element) && !$element.getAttribute('data-placeholder-for');
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
function isMediaElement($element, mediaType) {
|
|
214
|
-
var _tinymceIframeShim$fi;
|
|
215
|
-
|
|
216
|
-
// the video is hosted in an iframe, but tinymce
|
|
217
|
-
// wraps it in a span with swizzled attribute names
|
|
218
|
-
if (!($element !== null && $element !== void 0 && $element.getAttribute) || !$element) {
|
|
219
|
-
return false;
|
|
220
|
-
}
|
|
221
|
-
|
|
222
|
-
const tinymceIframeShim = $element.tagName === 'IFRAME' ? $element.parentElement : $element;
|
|
223
|
-
|
|
224
|
-
if (((_tinymceIframeShim$fi = tinymceIframeShim.firstElementChild) === null || _tinymceIframeShim$fi === void 0 ? void 0 : _tinymceIframeShim$fi.tagName) !== 'IFRAME') {
|
|
225
|
-
return false;
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
const media_obj_id = tinymceIframeShim.getAttribute('data-mce-p-data-media-id');
|
|
229
|
-
|
|
230
|
-
if (!media_obj_id) {
|
|
231
|
-
return false;
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
const media_type = tinymceIframeShim.getAttribute('data-mce-p-data-media-type');
|
|
235
|
-
return media_type === mediaType;
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
export function isVideoElement($element) {
|
|
239
|
-
return isMediaElement($element, 'video');
|
|
240
|
-
}
|
|
241
|
-
export function isAudioElement($element) {
|
|
242
|
-
return isMediaElement($element, 'audio');
|
|
243
|
-
}
|
|
244
|
-
export function findMediaPlayerIframe(elem) {
|
|
245
|
-
var _elem$firstElementChi;
|
|
246
|
-
|
|
247
|
-
if (!elem) return null;
|
|
248
|
-
|
|
249
|
-
if (elem.tagName === 'IFRAME') {
|
|
250
|
-
// we have the iframe
|
|
251
|
-
return elem;
|
|
252
|
-
}
|
|
253
|
-
|
|
254
|
-
if (((_elem$firstElementChi = elem.firstElementChild) === null || _elem$firstElementChi === void 0 ? void 0 : _elem$firstElementChi.tagName) === 'IFRAME') {
|
|
255
|
-
// we have the shim tinymce puts around the iframe
|
|
256
|
-
return elem.firstElementChild;
|
|
257
|
-
}
|
|
258
|
-
|
|
259
|
-
if (elem.classList.contains('mce-shim')) {
|
|
260
|
-
var _elem$previousSibling;
|
|
261
|
-
|
|
262
|
-
// tinymce puts a <span class='mce-shin'> after the iframe (since v5, I think)
|
|
263
|
-
if (((_elem$previousSibling = elem.previousSibling) === null || _elem$previousSibling === void 0 ? void 0 : _elem$previousSibling.tagName) === 'IFRAME') {
|
|
264
|
-
return elem.previousSibling;
|
|
265
|
-
}
|
|
266
|
-
}
|
|
267
|
-
|
|
268
|
-
return null;
|
|
269
|
-
}
|
|
@@ -1,66 +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
|
-
function scaleEvenly(width, height, scaleFactor, constraints) {
|
|
19
|
-
const minHeight = constraints.minHeight || 0;
|
|
20
|
-
const minWidth = constraints.minWidth || 0;
|
|
21
|
-
const scaledWidth = width * scaleFactor;
|
|
22
|
-
const scaledHeight = height * scaleFactor;
|
|
23
|
-
let minimumScaleFactor = scaleFactor;
|
|
24
|
-
|
|
25
|
-
if (scaledWidth < minWidth) {
|
|
26
|
-
const atLeastMinWidth = Math.max(scaledWidth, minWidth);
|
|
27
|
-
minimumScaleFactor = atLeastMinWidth / width;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
if (scaledHeight < minHeight) {
|
|
31
|
-
const atLeastMinHeight = Math.max(scaledHeight, minHeight);
|
|
32
|
-
minimumScaleFactor = Math.max(atLeastMinHeight / height, minimumScaleFactor);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
return {
|
|
36
|
-
height: Math.round(height * minimumScaleFactor),
|
|
37
|
-
width: Math.round(width * minimumScaleFactor)
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
export function scaleForHeight(width, height, targetHeight) {
|
|
42
|
-
let constraints = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
|
|
43
|
-
|
|
44
|
-
if (targetHeight == null) {
|
|
45
|
-
return {
|
|
46
|
-
height: null,
|
|
47
|
-
width: null
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
const scaleFactor = targetHeight / height;
|
|
52
|
-
return scaleEvenly(width, height, scaleFactor, constraints);
|
|
53
|
-
}
|
|
54
|
-
export function scaleForWidth(width, height, targetWidth) {
|
|
55
|
-
let constraints = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
|
|
56
|
-
|
|
57
|
-
if (targetWidth == null) {
|
|
58
|
-
return {
|
|
59
|
-
height: null,
|
|
60
|
-
width: null
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
const scaleFactor = targetWidth / width;
|
|
65
|
-
return scaleEvenly(width, height, scaleFactor, constraints);
|
|
66
|
-
}
|
|
@@ -1,62 +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 from 'react';
|
|
19
|
-
import { func, shape, string } from 'prop-types';
|
|
20
|
-
import { ScreenReaderContent } from '@instructure/ui-a11y-content';
|
|
21
|
-
import { NumberInput } from '@instructure/ui-number-input';
|
|
22
|
-
export default function DimensionInput(props) {
|
|
23
|
-
const {
|
|
24
|
-
dimensionState,
|
|
25
|
-
label
|
|
26
|
-
} = props;
|
|
27
|
-
const {
|
|
28
|
-
addOffset,
|
|
29
|
-
inputValue,
|
|
30
|
-
setInputValue
|
|
31
|
-
} = dimensionState;
|
|
32
|
-
|
|
33
|
-
function handleChange(_event, value) {
|
|
34
|
-
setInputValue(value);
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
function handleDecrement() {
|
|
38
|
-
addOffset(-1);
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
function handleIncrement() {
|
|
42
|
-
addOffset(1);
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
return /*#__PURE__*/React.createElement(NumberInput, {
|
|
46
|
-
renderLabel: /*#__PURE__*/React.createElement(ScreenReaderContent, null, label),
|
|
47
|
-
onChange: handleChange,
|
|
48
|
-
onDecrement: handleDecrement,
|
|
49
|
-
onIncrement: handleIncrement,
|
|
50
|
-
isRequired: true,
|
|
51
|
-
showArrows: false,
|
|
52
|
-
value: inputValue
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
DimensionInput.propTypes = {
|
|
56
|
-
dimensionState: shape({
|
|
57
|
-
addOffset: func.isRequired,
|
|
58
|
-
inputValue: string.isRequired,
|
|
59
|
-
setInputValue: func.isRequired
|
|
60
|
-
}),
|
|
61
|
-
label: string.isRequired
|
|
62
|
-
};
|