@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,468 +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 { createSvgElement, splitTextIntoLines } from './utils';
|
|
19
|
-
import { TEXT_BACKGROUND_PADDING, BASE_SIZE, TEXT_SIZE, MAX_CHAR_COUNT, Size, TEXT_SIZE_FONT_DIFF } from './constants';
|
|
20
|
-
import { Shape } from './shape';
|
|
21
|
-
export function buildText(_ref) {
|
|
22
|
-
let {
|
|
23
|
-
text,
|
|
24
|
-
textPosition,
|
|
25
|
-
textSize,
|
|
26
|
-
textColor,
|
|
27
|
-
shape,
|
|
28
|
-
size
|
|
29
|
-
} = _ref;
|
|
30
|
-
if (!text.trim()) return null;
|
|
31
|
-
const lines = splitTextIntoLines(text, MAX_CHAR_COUNT[textSize]);
|
|
32
|
-
const textElement = createSvgElement('text', {
|
|
33
|
-
x: Math.max(TEXT_BACKGROUND_PADDING, Math.floor(getTextXValue(text, textSize, size))),
|
|
34
|
-
y: getTextYValue(textPosition, textSize, shape, size, lines.length),
|
|
35
|
-
fill: textColor || '',
|
|
36
|
-
'font-family': 'Lato Extended',
|
|
37
|
-
'font-size': TEXT_SIZE[textSize],
|
|
38
|
-
'font-weight': 'bold'
|
|
39
|
-
});
|
|
40
|
-
const containerWidth = getContainerWidth({
|
|
41
|
-
text,
|
|
42
|
-
textSize,
|
|
43
|
-
size
|
|
44
|
-
});
|
|
45
|
-
lines.forEach((line, index) => {
|
|
46
|
-
const subtextWidth = getTextWidth(line, textSize);
|
|
47
|
-
const subtext = createSvgElement('tspan', {
|
|
48
|
-
x: Math.max(TEXT_BACKGROUND_PADDING, Math.floor((containerWidth - subtextWidth) * 0.5)),
|
|
49
|
-
dy: index === 0 ? 0 : TEXT_SIZE[textSize]
|
|
50
|
-
});
|
|
51
|
-
subtext.textContent = line;
|
|
52
|
-
textElement.appendChild(subtext);
|
|
53
|
-
});
|
|
54
|
-
return textElement;
|
|
55
|
-
}
|
|
56
|
-
export function buildTextBackground(_ref2) {
|
|
57
|
-
let {
|
|
58
|
-
text,
|
|
59
|
-
textPosition,
|
|
60
|
-
textSize,
|
|
61
|
-
textBackgroundColor,
|
|
62
|
-
shape,
|
|
63
|
-
size
|
|
64
|
-
} = _ref2;
|
|
65
|
-
if (!text.trim()) return null;
|
|
66
|
-
const linesCount = splitTextIntoLines(text, MAX_CHAR_COUNT[textSize]).length;
|
|
67
|
-
const xValue = getTextXValue(text, textSize, size);
|
|
68
|
-
const yValue = getTextYValue(textPosition, textSize, shape, size, linesCount);
|
|
69
|
-
const textWidth = getTextWidth(text, textSize); // An extra line is added due svg text baseline behavior the first line is not counted regularly.
|
|
70
|
-
|
|
71
|
-
const textHeight = getTextHeight(linesCount + 1, textSize);
|
|
72
|
-
const paddingSize = TEXT_BACKGROUND_PADDING * 2;
|
|
73
|
-
const pathElement = createSvgElement('path');
|
|
74
|
-
const radius = 4;
|
|
75
|
-
const fontWeight = 2;
|
|
76
|
-
const initialX = Math.max(0, Math.floor(xValue - TEXT_BACKGROUND_PADDING)) + radius;
|
|
77
|
-
const initialY = Math.floor(yValue - TEXT_SIZE[textSize] + TEXT_SIZE_FONT_DIFF[textSize] - TEXT_BACKGROUND_PADDING / 2);
|
|
78
|
-
const horizontalLineLength = Math.floor(textWidth + paddingSize + fontWeight) - radius * 2;
|
|
79
|
-
const verticalLineLength = Math.floor(textHeight + paddingSize + fontWeight) - radius * 2;
|
|
80
|
-
const d = `M${initialX},${initialY} h${horizontalLineLength} a${radius},${radius} 0 0 1 ${radius},${radius} v${verticalLineLength} a${radius},${radius} 0 0 1 ${-radius},${radius} h${-horizontalLineLength} a${radius},${radius} 0 0 1 ${-radius},${-radius} v${-verticalLineLength} a${radius},${radius} 0 0 1 ${radius},${-radius} z`;
|
|
81
|
-
pathElement.setAttribute('d', d);
|
|
82
|
-
pathElement.setAttribute('fill', textBackgroundColor || '');
|
|
83
|
-
return pathElement;
|
|
84
|
-
}
|
|
85
|
-
export function getContainerWidth(_ref3) {
|
|
86
|
-
let {
|
|
87
|
-
text,
|
|
88
|
-
textSize,
|
|
89
|
-
size
|
|
90
|
-
} = _ref3;
|
|
91
|
-
const fontWeight = 2;
|
|
92
|
-
const base = BASE_SIZE[size];
|
|
93
|
-
const textWidth = Math.floor(getTextWidth(text, textSize)) + TEXT_BACKGROUND_PADDING * 2 + fontWeight;
|
|
94
|
-
return Math.max(base, textWidth);
|
|
95
|
-
}
|
|
96
|
-
export function getContainerHeight(_ref4) {
|
|
97
|
-
let {
|
|
98
|
-
text,
|
|
99
|
-
textPosition,
|
|
100
|
-
textSize,
|
|
101
|
-
shape,
|
|
102
|
-
size
|
|
103
|
-
} = _ref4;
|
|
104
|
-
const base = BASE_SIZE[size];
|
|
105
|
-
|
|
106
|
-
if (!text || text.trim().length === 0) {
|
|
107
|
-
return base;
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
const linesCount = splitTextIntoLines(text, MAX_CHAR_COUNT[textSize]).length;
|
|
111
|
-
const textYValue = getTextYValue(textPosition, textSize, shape, size, linesCount);
|
|
112
|
-
const textHeight = getTextHeight(linesCount, textSize);
|
|
113
|
-
const textBackgroundHeight = textYValue + textHeight + TEXT_BACKGROUND_PADDING * 2;
|
|
114
|
-
return Math.max(base, textBackgroundHeight);
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
function getTextWidth(text, textSize) {
|
|
118
|
-
const canvas = document.createElement('canvas');
|
|
119
|
-
const context = canvas.getContext('2d');
|
|
120
|
-
context.font = `${TEXT_SIZE[textSize]}px "Lato Extended"`;
|
|
121
|
-
const lines = splitTextIntoLines(text, MAX_CHAR_COUNT[textSize]);
|
|
122
|
-
const widths = lines.map(line => context.measureText(line).width);
|
|
123
|
-
return Math.max(...widths);
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
function getTextHeight(linesCount, textSize) {
|
|
127
|
-
// Since the svg text's initial Y position starts on the bottom of the first line
|
|
128
|
-
// one line is subtracted to the count
|
|
129
|
-
return (linesCount - 1) * TEXT_SIZE[textSize];
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
function getTextXValue(text, textSize, size) {
|
|
133
|
-
const containerWidth = getContainerWidth({
|
|
134
|
-
text,
|
|
135
|
-
textSize,
|
|
136
|
-
size
|
|
137
|
-
});
|
|
138
|
-
const textWidth = getTextWidth(text, textSize);
|
|
139
|
-
return Math.floor((containerWidth - textWidth) * 0.5);
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
function getTextYValue(textPosition, textSize, shape, size, linesCount) {
|
|
143
|
-
switch (textPosition) {
|
|
144
|
-
case 'middle':
|
|
145
|
-
{
|
|
146
|
-
const baseline = getYMiddleText(textSize, shape, size); // Represents the Y difference for multiline text to keep it vertically centered
|
|
147
|
-
|
|
148
|
-
const multilineDiff = (linesCount - 1) * TEXT_SIZE[textSize] / 2;
|
|
149
|
-
return baseline - multilineDiff;
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
case 'bottom-third':
|
|
153
|
-
{
|
|
154
|
-
const baseline = getYBottomThirdText(textSize, shape, size); // Represents the Y difference for multiline text to keep it vertically centered
|
|
155
|
-
|
|
156
|
-
const multilineDiff = (linesCount - 1) * TEXT_SIZE[textSize] / 2;
|
|
157
|
-
return baseline - multilineDiff;
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
case 'below':
|
|
161
|
-
return getYBelowText(textSize, shape, size);
|
|
162
|
-
|
|
163
|
-
default:
|
|
164
|
-
throw new Error(`Invalid text position: ${textPosition}`);
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
function getYMiddleText(textSize, shape, size) {
|
|
169
|
-
switch (textSize) {
|
|
170
|
-
case Size.Small:
|
|
171
|
-
return getYMiddleTextForShape(getYMiddleSmallTextForShape, shape, size);
|
|
172
|
-
|
|
173
|
-
case Size.Medium:
|
|
174
|
-
return getYMiddleTextForShape(getYMiddleMediumTextForShape, shape, size);
|
|
175
|
-
|
|
176
|
-
case Size.Large:
|
|
177
|
-
return getYMiddleTextForShape(getYMiddleLargeTextForShape, shape, size);
|
|
178
|
-
|
|
179
|
-
case Size.ExtraLarge:
|
|
180
|
-
return getYMiddleTextForShape(getYMiddleXLargeTextForShape, shape, size);
|
|
181
|
-
|
|
182
|
-
default:
|
|
183
|
-
throw new Error(`Invalid text size: ${textSize}`);
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
function getYBottomThirdText(textSize, shape, size) {
|
|
188
|
-
switch (textSize) {
|
|
189
|
-
case Size.Small:
|
|
190
|
-
return getYMiddleTextForShape(getYBottomThirdSmallTextForShape, shape, size);
|
|
191
|
-
|
|
192
|
-
case Size.Medium:
|
|
193
|
-
return getYMiddleTextForShape(getYBottomThirdMediumTextForShape, shape, size);
|
|
194
|
-
|
|
195
|
-
case Size.Large:
|
|
196
|
-
return getYMiddleTextForShape(getYBottomThirdLargeTextForShape, shape, size);
|
|
197
|
-
|
|
198
|
-
case Size.ExtraLarge:
|
|
199
|
-
return getYMiddleTextForShape(getYBottomThirdXLargeTextForShape, shape, size);
|
|
200
|
-
|
|
201
|
-
default:
|
|
202
|
-
throw new Error(`Invalid text size: ${textSize}`);
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
function getYBelowText(textSize, shape, size) {
|
|
207
|
-
switch (textSize) {
|
|
208
|
-
case Size.Small:
|
|
209
|
-
return getYMiddleTextForShape(getYBelowSmallTextForShape, shape, size);
|
|
210
|
-
|
|
211
|
-
case Size.Medium:
|
|
212
|
-
return getYMiddleTextForShape(getYBelowMediumTextForShape, shape, size);
|
|
213
|
-
|
|
214
|
-
case Size.Large:
|
|
215
|
-
return getYMiddleTextForShape(getYBelowLargeTextForShape, shape, size);
|
|
216
|
-
|
|
217
|
-
case Size.ExtraLarge:
|
|
218
|
-
return getYMiddleTextForShape(getYBelowXLargeTextForShape, shape, size);
|
|
219
|
-
|
|
220
|
-
default:
|
|
221
|
-
throw new Error(`Invalid text size: ${textSize}`);
|
|
222
|
-
}
|
|
223
|
-
}
|
|
224
|
-
|
|
225
|
-
function getYMiddleTextForShape(getYTextSizeCallback, shape, size) {
|
|
226
|
-
switch (shape) {
|
|
227
|
-
case Shape.Square:
|
|
228
|
-
case Shape.Circle:
|
|
229
|
-
case Shape.Triangle:
|
|
230
|
-
case Shape.Diamond:
|
|
231
|
-
case Shape.Pentagon:
|
|
232
|
-
case Shape.Hexagon:
|
|
233
|
-
case Shape.Octagon:
|
|
234
|
-
case Shape.Star:
|
|
235
|
-
return getYTextSizeCallback(size);
|
|
236
|
-
|
|
237
|
-
default:
|
|
238
|
-
throw new Error(`Invalid shape: ${shape}`);
|
|
239
|
-
}
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
function getYMiddleSmallTextForShape(size) {
|
|
243
|
-
switch (size) {
|
|
244
|
-
case Size.ExtraSmall:
|
|
245
|
-
return 43;
|
|
246
|
-
|
|
247
|
-
case Size.Small:
|
|
248
|
-
return 67;
|
|
249
|
-
|
|
250
|
-
case Size.Medium:
|
|
251
|
-
return 85;
|
|
252
|
-
|
|
253
|
-
case Size.Large:
|
|
254
|
-
return 115;
|
|
255
|
-
|
|
256
|
-
default:
|
|
257
|
-
throw new Error(`Invalid size: ${size}`);
|
|
258
|
-
}
|
|
259
|
-
}
|
|
260
|
-
|
|
261
|
-
function getYMiddleMediumTextForShape(size) {
|
|
262
|
-
switch (size) {
|
|
263
|
-
case Size.ExtraSmall:
|
|
264
|
-
return 43;
|
|
265
|
-
|
|
266
|
-
case Size.Small:
|
|
267
|
-
return 67;
|
|
268
|
-
|
|
269
|
-
case Size.Medium:
|
|
270
|
-
return 85;
|
|
271
|
-
|
|
272
|
-
case Size.Large:
|
|
273
|
-
return 115;
|
|
274
|
-
|
|
275
|
-
default:
|
|
276
|
-
throw new Error(`Invalid size: ${size}`);
|
|
277
|
-
}
|
|
278
|
-
}
|
|
279
|
-
|
|
280
|
-
function getYMiddleLargeTextForShape(size) {
|
|
281
|
-
switch (size) {
|
|
282
|
-
case Size.ExtraSmall:
|
|
283
|
-
return 45;
|
|
284
|
-
|
|
285
|
-
case Size.Small:
|
|
286
|
-
return 69;
|
|
287
|
-
|
|
288
|
-
case Size.Medium:
|
|
289
|
-
return 87;
|
|
290
|
-
|
|
291
|
-
case Size.Large:
|
|
292
|
-
return 117;
|
|
293
|
-
|
|
294
|
-
default:
|
|
295
|
-
throw new Error(`Invalid size: ${size}`);
|
|
296
|
-
}
|
|
297
|
-
}
|
|
298
|
-
|
|
299
|
-
function getYMiddleXLargeTextForShape(size) {
|
|
300
|
-
switch (size) {
|
|
301
|
-
case Size.ExtraSmall:
|
|
302
|
-
return 47;
|
|
303
|
-
|
|
304
|
-
case Size.Small:
|
|
305
|
-
return 71;
|
|
306
|
-
|
|
307
|
-
case Size.Medium:
|
|
308
|
-
return 89;
|
|
309
|
-
|
|
310
|
-
case Size.Large:
|
|
311
|
-
return 119;
|
|
312
|
-
|
|
313
|
-
default:
|
|
314
|
-
throw new Error(`Invalid size: ${size}`);
|
|
315
|
-
}
|
|
316
|
-
}
|
|
317
|
-
|
|
318
|
-
function getYBottomThirdSmallTextForShape(size) {
|
|
319
|
-
switch (size) {
|
|
320
|
-
case Size.ExtraSmall:
|
|
321
|
-
return 73;
|
|
322
|
-
|
|
323
|
-
case Size.Small:
|
|
324
|
-
return 121;
|
|
325
|
-
|
|
326
|
-
case Size.Medium:
|
|
327
|
-
return 157;
|
|
328
|
-
|
|
329
|
-
case Size.Large:
|
|
330
|
-
return 217;
|
|
331
|
-
|
|
332
|
-
default:
|
|
333
|
-
throw new Error(`Invalid size: ${size}`);
|
|
334
|
-
}
|
|
335
|
-
}
|
|
336
|
-
|
|
337
|
-
function getYBottomThirdMediumTextForShape(size) {
|
|
338
|
-
switch (size) {
|
|
339
|
-
case Size.ExtraSmall:
|
|
340
|
-
return 74;
|
|
341
|
-
|
|
342
|
-
case Size.Small:
|
|
343
|
-
return 122;
|
|
344
|
-
|
|
345
|
-
case Size.Medium:
|
|
346
|
-
return 158;
|
|
347
|
-
|
|
348
|
-
case Size.Large:
|
|
349
|
-
return 218;
|
|
350
|
-
|
|
351
|
-
default:
|
|
352
|
-
throw new Error(`Invalid size: ${size}`);
|
|
353
|
-
}
|
|
354
|
-
}
|
|
355
|
-
|
|
356
|
-
function getYBottomThirdLargeTextForShape(size) {
|
|
357
|
-
switch (size) {
|
|
358
|
-
case Size.ExtraSmall:
|
|
359
|
-
return 75;
|
|
360
|
-
|
|
361
|
-
case Size.Small:
|
|
362
|
-
return 123;
|
|
363
|
-
|
|
364
|
-
case Size.Medium:
|
|
365
|
-
return 159;
|
|
366
|
-
|
|
367
|
-
case Size.Large:
|
|
368
|
-
return 219;
|
|
369
|
-
|
|
370
|
-
default:
|
|
371
|
-
throw new Error(`Invalid size: ${size}`);
|
|
372
|
-
}
|
|
373
|
-
}
|
|
374
|
-
|
|
375
|
-
function getYBottomThirdXLargeTextForShape(size) {
|
|
376
|
-
switch (size) {
|
|
377
|
-
case Size.ExtraSmall:
|
|
378
|
-
return 77;
|
|
379
|
-
|
|
380
|
-
case Size.Small:
|
|
381
|
-
return 125;
|
|
382
|
-
|
|
383
|
-
case Size.Medium:
|
|
384
|
-
return 161;
|
|
385
|
-
|
|
386
|
-
case Size.Large:
|
|
387
|
-
return 221;
|
|
388
|
-
|
|
389
|
-
default:
|
|
390
|
-
throw new Error(`Invalid size: ${size}`);
|
|
391
|
-
}
|
|
392
|
-
}
|
|
393
|
-
|
|
394
|
-
function getYBelowSmallTextForShape(size) {
|
|
395
|
-
switch (size) {
|
|
396
|
-
case Size.ExtraSmall:
|
|
397
|
-
return 96;
|
|
398
|
-
|
|
399
|
-
case Size.Small:
|
|
400
|
-
return 144;
|
|
401
|
-
|
|
402
|
-
case Size.Medium:
|
|
403
|
-
return 180;
|
|
404
|
-
|
|
405
|
-
case Size.Large:
|
|
406
|
-
return 240;
|
|
407
|
-
|
|
408
|
-
default:
|
|
409
|
-
throw new Error(`Invalid size: ${size}`);
|
|
410
|
-
}
|
|
411
|
-
}
|
|
412
|
-
|
|
413
|
-
function getYBelowMediumTextForShape(size) {
|
|
414
|
-
switch (size) {
|
|
415
|
-
case Size.ExtraSmall:
|
|
416
|
-
return 98;
|
|
417
|
-
|
|
418
|
-
case Size.Small:
|
|
419
|
-
return 146;
|
|
420
|
-
|
|
421
|
-
case Size.Medium:
|
|
422
|
-
return 182;
|
|
423
|
-
|
|
424
|
-
case Size.Large:
|
|
425
|
-
return 242;
|
|
426
|
-
|
|
427
|
-
default:
|
|
428
|
-
throw new Error(`Invalid size: ${size}`);
|
|
429
|
-
}
|
|
430
|
-
}
|
|
431
|
-
|
|
432
|
-
function getYBelowLargeTextForShape(size) {
|
|
433
|
-
switch (size) {
|
|
434
|
-
case Size.ExtraSmall:
|
|
435
|
-
return 104;
|
|
436
|
-
|
|
437
|
-
case Size.Small:
|
|
438
|
-
return 152;
|
|
439
|
-
|
|
440
|
-
case Size.Medium:
|
|
441
|
-
return 188;
|
|
442
|
-
|
|
443
|
-
case Size.Large:
|
|
444
|
-
return 248;
|
|
445
|
-
|
|
446
|
-
default:
|
|
447
|
-
throw new Error(`Invalid size: ${size}`);
|
|
448
|
-
}
|
|
449
|
-
}
|
|
450
|
-
|
|
451
|
-
function getYBelowXLargeTextForShape(size) {
|
|
452
|
-
switch (size) {
|
|
453
|
-
case Size.ExtraSmall:
|
|
454
|
-
return 110;
|
|
455
|
-
|
|
456
|
-
case Size.Small:
|
|
457
|
-
return 158;
|
|
458
|
-
|
|
459
|
-
case Size.Medium:
|
|
460
|
-
return 194;
|
|
461
|
-
|
|
462
|
-
case Size.Large:
|
|
463
|
-
return 254;
|
|
464
|
-
|
|
465
|
-
default:
|
|
466
|
-
throw new Error(`Invalid size: ${size}`);
|
|
467
|
-
}
|
|
468
|
-
}
|
|
@@ -1,70 +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
|
-
export function createSvgElement(tag) {
|
|
19
|
-
let attributes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
20
|
-
const element = document.createElementNS('http://www.w3.org/2000/svg', tag);
|
|
21
|
-
Object.entries(attributes).forEach(_ref => {
|
|
22
|
-
let [attr, value] = _ref;
|
|
23
|
-
element.setAttribute(attr, value);
|
|
24
|
-
});
|
|
25
|
-
return element;
|
|
26
|
-
}
|
|
27
|
-
export function splitTextIntoLines(text, maxChars) {
|
|
28
|
-
// Removes the beginning or trailing spaces, newlines or tabs.
|
|
29
|
-
const trimmedText = text.replace(/^\s+|\s+$/g, '');
|
|
30
|
-
|
|
31
|
-
if (!text || trimmedText.length === 0 || maxChars <= 0) {
|
|
32
|
-
return [];
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
const lines = [];
|
|
36
|
-
const words = trimmedText.match(/\S+/g);
|
|
37
|
-
|
|
38
|
-
while (words.length) {
|
|
39
|
-
let newLineNeeded = false;
|
|
40
|
-
let line = '';
|
|
41
|
-
let word;
|
|
42
|
-
|
|
43
|
-
while (!newLineNeeded && (word = words.shift())) {
|
|
44
|
-
word = word.trim();
|
|
45
|
-
const newLength = (line + word).length;
|
|
46
|
-
|
|
47
|
-
if (word.length >= maxChars + 1) {
|
|
48
|
-
// if a single word doesn't fit in a line
|
|
49
|
-
const start = word.substring(0, maxChars - 1);
|
|
50
|
-
const end = word.substring(maxChars - 1);
|
|
51
|
-
line += start + '-';
|
|
52
|
-
words.unshift(end);
|
|
53
|
-
newLineNeeded = line.length >= maxChars;
|
|
54
|
-
} else if (newLength) {
|
|
55
|
-
// if a new word can be added in current line
|
|
56
|
-
line += word.trim() + ' ';
|
|
57
|
-
newLineNeeded = line.length >= maxChars;
|
|
58
|
-
} else {
|
|
59
|
-
// if a new word can't be added in current line
|
|
60
|
-
newLineNeeded = true;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
line = line.trim();
|
|
65
|
-
lines.push(line);
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
return lines;
|
|
69
|
-
}
|
|
70
|
-
export const decode = input => new DOMParser().parseFromString(input, 'text/html').documentElement.textContent;
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
|
-
|
|
3
|
-
/*
|
|
4
|
-
* Copyright (C) 2022 - present Instructure, Inc.
|
|
5
|
-
*
|
|
6
|
-
* This file is part of Canvas.
|
|
7
|
-
*
|
|
8
|
-
* Canvas is free software: you can redistribute it and/or modify it under
|
|
9
|
-
* the terms of the GNU Affero General Public License as published by the Free
|
|
10
|
-
* Software Foundation, version 3 of the License.
|
|
11
|
-
*
|
|
12
|
-
* Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
13
|
-
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
|
14
|
-
* A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
|
|
15
|
-
* details.
|
|
16
|
-
*
|
|
17
|
-
* You should have received a copy of the GNU Affero General Public License along
|
|
18
|
-
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
19
|
-
*/
|
|
20
|
-
export const ICON_MAKER_ADD_IMAGE_MENU_ID = 'AddImageMenu';
|
|
21
|
-
export const shouldIgnoreClose = (target, editorId) => {
|
|
22
|
-
try {
|
|
23
|
-
if (editorId) {
|
|
24
|
-
return elementTreeHasAttribute(target, 'data-position-content', ICON_MAKER_ADD_IMAGE_MENU_ID) || elementTreeHasAttribute(target, 'data-id', editorId);
|
|
25
|
-
} else {
|
|
26
|
-
return elementTreeHasAttribute(target, 'data-position-content', ICON_MAKER_ADD_IMAGE_MENU_ID);
|
|
27
|
-
}
|
|
28
|
-
} catch (e) {
|
|
29
|
-
return false;
|
|
30
|
-
}
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
const elementTreeHasAttribute = (target, attribute, value) => {
|
|
34
|
-
while (target) {
|
|
35
|
-
var _target, _target$attributes, _target$attributes$at, _target2;
|
|
36
|
-
|
|
37
|
-
if (((_target = target) === null || _target === void 0 ? void 0 : (_target$attributes = _target.attributes) === null || _target$attributes === void 0 ? void 0 : (_target$attributes$at = _target$attributes[attribute]) === null || _target$attributes$at === void 0 ? void 0 : _target$attributes$at.value) === value) {
|
|
38
|
-
return true;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
target = (_target2 = target) === null || _target2 === void 0 ? void 0 : _target2.parentElement;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
return false;
|
|
45
|
-
};
|
|
@@ -1,83 +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 _ from 'lodash';
|
|
19
|
-
export class IconMakerFormHasChanges {
|
|
20
|
-
constructor(initSettings, currSettings) {
|
|
21
|
-
this.initialSettings = void 0;
|
|
22
|
-
this.currentSettings = void 0;
|
|
23
|
-
this.initialSettings = initSettings;
|
|
24
|
-
this.currentSettings = currSettings;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
hasNameChange() {
|
|
28
|
-
return 'name' in this.currentSettings && this.initialSettings.name !== this.currentSettings.name;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
hasAltChange() {
|
|
32
|
-
return 'alt' in this.currentSettings && this.initialSettings.alt !== this.currentSettings.alt;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
hasShapeNameChange() {
|
|
36
|
-
return 'shape' in this.currentSettings && this.initialSettings.shape !== this.currentSettings.shape;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
hasShapeSizeChange() {
|
|
40
|
-
return 'size' in this.currentSettings && this.initialSettings.size !== this.currentSettings.size;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
hasColorNameChange() {
|
|
44
|
-
return 'color' in this.currentSettings && this.initialSettings.color !== this.currentSettings.color;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
hasOutlineSizeChange() {
|
|
48
|
-
return 'outlineSize' in this.currentSettings && this.initialSettings.outlineSize !== this.currentSettings.outlineSize;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
hasOutlineColorChange() {
|
|
52
|
-
return 'outlineColor' in this.currentSettings && this.initialSettings.outlineColor !== this.currentSettings.outlineColor;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
hasTextChange() {
|
|
56
|
-
return 'text' in this.currentSettings && this.initialSettings.text !== this.currentSettings.text;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
hasTextSizeChange() {
|
|
60
|
-
return 'textSize' in this.currentSettings && this.initialSettings.textSize !== this.currentSettings.textSize;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
hasTextColorChange() {
|
|
64
|
-
return 'textColor' in this.currentSettings && this.initialSettings.textColor !== this.currentSettings.textColor;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
hasTextBackgroundColorChange() {
|
|
68
|
-
return 'textBackgroundColor' in this.currentSettings && this.initialSettings.textBackgroundColor !== this.currentSettings.textBackgroundColor;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
hasTextPositionChange() {
|
|
72
|
-
return 'textPosition' in this.currentSettings && this.initialSettings.textPosition !== this.currentSettings.textPosition;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
hasImageSettingsChange() {
|
|
76
|
-
return 'imageSettings' in this.currentSettings && !_.isEqual(this.initialSettings.imageSettings, this.currentSettings.imageSettings);
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
hasChanges() {
|
|
80
|
-
return this.hasNameChange() || this.hasAltChange() || this.hasShapeNameChange() || this.hasShapeSizeChange() || this.hasColorNameChange() || this.hasOutlineColorChange() || this.hasOutlineSizeChange() || this.hasTextChange() || this.hasTextSizeChange() || this.hasTextColorChange() || this.hasTextBackgroundColorChange() || this.hasTextPositionChange() || this.hasImageSettingsChange();
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
|
-
|
|
3
|
-
/*
|
|
4
|
-
* Copyright (C) 2022 - present Instructure, Inc.
|
|
5
|
-
*
|
|
6
|
-
* This file is part of Canvas.
|
|
7
|
-
*
|
|
8
|
-
* Canvas is free software: you can redistribute it and/or modify it under
|
|
9
|
-
* the terms of the GNU Affero General Public License as published by the Free
|
|
10
|
-
* Software Foundation, version 3 of the License.
|
|
11
|
-
*
|
|
12
|
-
* Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
13
|
-
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
|
14
|
-
* A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
|
|
15
|
-
* details.
|
|
16
|
-
*
|
|
17
|
-
* You should have received a copy of the GNU Affero General Public License along
|
|
18
|
-
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
19
|
-
*/
|
|
20
|
-
import { ICON_MAKER_ATTRIBUTE, ICON_MAKER_DOWNLOAD_URL_ATTR } from '../svg/constants';
|
|
21
|
-
import buildDownloadUrl from '../../shared/buildDownloadUrl';
|
|
22
|
-
|
|
23
|
-
const addIconMakerAttributes = imageAttributes => {
|
|
24
|
-
imageAttributes[ICON_MAKER_ATTRIBUTE] = true;
|
|
25
|
-
imageAttributes[ICON_MAKER_DOWNLOAD_URL_ATTR] = buildDownloadUrl(imageAttributes.src);
|
|
26
|
-
};
|
|
27
|
-
|
|
28
|
-
export default addIconMakerAttributes;
|