@instructure/canvas-rce 7.0.0 → 7.3.0

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.
Files changed (152) hide show
  1. package/CHANGELOG.md +60 -1
  2. package/__tests__/common/indicate.test.js +5 -6
  3. package/es/bridge/Bridge.js +2 -4
  4. package/es/canvasFileBrowser/FileBrowser.js +2 -4
  5. package/es/defaultTinymceConfig.d.ts +1 -1
  6. package/es/defaultTinymceConfig.js +149 -114
  7. package/es/enhance-user-content/doc_previews.js +1 -14
  8. package/es/enhance-user-content/enhance_user_content.js +7 -1
  9. package/es/enhance-user-content/instructure_helper.js +4 -0
  10. package/es/enhance-user-content/youtube_overlay.d.ts +1 -0
  11. package/es/enhance-user-content/youtube_overlay.js +87 -0
  12. package/es/format-message.d.js +1 -0
  13. package/es/format-message.js +5 -0
  14. package/es/index.d.ts +2 -1
  15. package/es/index.js +2 -1
  16. package/es/rce/AlertMessageArea.d.ts +2 -2
  17. package/es/rce/AlertMessageArea.js +4 -6
  18. package/es/rce/RCE.d.ts +0 -1
  19. package/es/rce/RCE.js +5 -10
  20. package/es/rce/RCEGlobals.d.ts +2 -0
  21. package/es/rce/RCEGlobals.js +1 -0
  22. package/es/rce/RCEVariants.d.ts +8 -3
  23. package/es/rce/RCEVariants.js +31 -5
  24. package/es/rce/RCEWrapper.d.ts +16 -14
  25. package/es/rce/RCEWrapper.js +260 -244
  26. package/es/rce/RCEWrapperProps.d.ts +1 -1
  27. package/es/rce/ShowOnFocusButton/index.js +4 -2
  28. package/es/rce/StatusBar.js +61 -15
  29. package/es/rce/alertHandler.js +6 -7
  30. package/es/rce/plugins/instructure-ui-icons/plugin.js +2 -2
  31. package/es/rce/plugins/instructure_equation/EquationEditorModal/index.js +6 -10
  32. package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/Course.d.ts +5 -15
  33. package/es/rce/plugins/instructure_icon_maker/components/CreateIconMakerForm/ImageSection/Course.js +4 -10
  34. package/es/rce/plugins/instructure_image/ImageEmbedOptions.d.ts +7 -0
  35. package/es/rce/plugins/instructure_image/ImageEmbedOptions.js +45 -2
  36. package/es/rce/plugins/instructure_keyboard_shortcuts_header/clickCallback.d.ts +2 -0
  37. package/es/rce/plugins/instructure_keyboard_shortcuts_header/clickCallback.js +45 -0
  38. package/es/rce/plugins/instructure_keyboard_shortcuts_header/plugin.d.ts +1 -0
  39. package/es/rce/plugins/instructure_keyboard_shortcuts_header/plugin.js +43 -0
  40. package/es/rce/plugins/instructure_rce_external_tools/components/ExternalToolDialog/ExternalToolDialog.d.ts +1 -8
  41. package/es/rce/plugins/instructure_rce_external_tools/components/ExternalToolDialog/ExternalToolDialog.js +13 -33
  42. package/es/rce/plugins/instructure_rce_external_tools/components/ExternalToolDialog/ExternalToolDialogModal.d.ts +1 -2
  43. package/es/rce/plugins/instructure_rce_external_tools/components/ExternalToolDialog/ExternalToolDialogModal.js +2 -1
  44. package/es/rce/plugins/instructure_rce_external_tools/components/ExternalToolSelectionDialog/ExternalToolSelectionDialog.d.ts +1 -1
  45. package/es/rce/plugins/instructure_rce_external_tools/components/ExternalToolSelectionDialog/ExternalToolSelectionDialog.js +25 -25
  46. package/es/rce/plugins/instructure_record/AudioOptionsTray/TrayController.d.ts +1 -1
  47. package/es/rce/plugins/instructure_record/AudioOptionsTray/TrayController.js +2 -1
  48. package/es/rce/plugins/instructure_record/VideoOptionsTray/TrayController.d.ts +1 -1
  49. package/es/rce/plugins/instructure_record/VideoOptionsTray/TrayController.js +2 -1
  50. package/es/rce/plugins/instructure_record/VideoOptionsTray/index.js +10 -7
  51. package/es/rce/plugins/instructure_record/mediaTranslations.js +1 -1
  52. package/es/rce/plugins/instructure_studio_media_options/plugin.js +109 -14
  53. package/es/rce/plugins/instructure_studio_media_options/studioToolbarIcons.d.ts +5 -0
  54. package/es/rce/plugins/instructure_studio_media_options/studioToolbarIcons.js +23 -0
  55. package/es/rce/plugins/instructure_wordcount_header/plugin.d.ts +1 -0
  56. package/es/rce/plugins/instructure_wordcount_header/plugin.js +75 -0
  57. package/es/rce/plugins/shared/ContentSelection.d.ts +1 -2
  58. package/es/rce/plugins/shared/ContentSelection.js +1 -18
  59. package/es/rce/plugins/shared/DimensionsInput/index.js +3 -3
  60. package/es/rce/plugins/shared/FixedContentTray.d.ts +7 -23
  61. package/es/rce/plugins/shared/FixedContentTray.js +7 -16
  62. package/es/rce/plugins/shared/ImageCropper/constants.d.ts +1 -1
  63. package/es/rce/plugins/shared/ImageCropper/constants.js +1 -1
  64. package/es/rce/plugins/shared/ImageCropper/controls/CustomNumberInput.js +1 -1
  65. package/es/rce/plugins/shared/PreviewIcon.js +1 -1
  66. package/es/rce/plugins/shared/StudioLtiSupportUtils.d.ts +9 -1
  67. package/es/rce/plugins/shared/StudioLtiSupportUtils.js +94 -1
  68. package/es/rce/plugins/shared/Upload/ComputerPanel.js +1 -1
  69. package/es/rce/plugins/shared/Upload/UploadFileModal.js +37 -4
  70. package/es/rce/plugins/shared/Upload/VideoUrlPanel.d.ts +15 -0
  71. package/es/rce/plugins/shared/Upload/VideoUrlPanel.js +51 -0
  72. package/es/rce/plugins/shared/Upload/videoValidationUtils.d.ts +7 -0
  73. package/es/rce/plugins/shared/Upload/videoValidationUtils.js +58 -0
  74. package/es/rce/plugins/shared/ai_tools/aiicons.d.ts +3 -3
  75. package/es/rce/plugins/shared/ai_tools/aiicons.js +11 -11
  76. package/es/rce/plugins/shared/iframeUtils.d.ts +1 -0
  77. package/es/rce/plugins/shared/iframeUtils.js +37 -0
  78. package/es/rce/plugins/tinymce-a11y-checker/components/checker.js +7 -1
  79. package/es/rce/plugins/tinymce-a11y-checker/utils/indicate.d.ts +1 -1
  80. package/es/rce/plugins/tinymce-a11y-checker/utils/indicate.js +1 -1
  81. package/es/rce/style.js +19 -17
  82. package/es/rce/tinyRCE.js +2 -0
  83. package/es/sidebar/actions/upload.d.ts +1 -0
  84. package/es/sidebar/actions/upload.js +56 -0
  85. package/es/sidebar/containers/sidebarHandlers.d.ts +1 -0
  86. package/es/sidebar/containers/sidebarHandlers.js +2 -1
  87. package/es/translations/locales/ar.js +44 -11
  88. package/es/translations/locales/ca.js +47 -14
  89. package/es/translations/locales/cy.js +44 -11
  90. package/es/translations/locales/da-x-k12.js +44 -11
  91. package/es/translations/locales/da.js +44 -11
  92. package/es/translations/locales/de.js +44 -11
  93. package/es/translations/locales/el.js +6 -0
  94. package/es/translations/locales/en-AU-x-unimelb.js +44 -11
  95. package/es/translations/locales/en-GB-x-ukhe.js +44 -11
  96. package/es/translations/locales/en.js +47 -11
  97. package/es/translations/locales/en_AU.js +44 -11
  98. package/es/translations/locales/en_CA.js +44 -11
  99. package/es/translations/locales/en_CY.js +44 -11
  100. package/es/translations/locales/en_GB.js +44 -11
  101. package/es/translations/locales/es.js +44 -11
  102. package/es/translations/locales/es_ES.js +44 -11
  103. package/es/translations/locales/fa_IR.js +6 -6
  104. package/es/translations/locales/fi.js +44 -11
  105. package/es/translations/locales/fr.js +44 -11
  106. package/es/translations/locales/fr_CA.js +49 -16
  107. package/es/translations/locales/ga.js +61 -28
  108. package/es/translations/locales/he.js +6 -0
  109. package/es/translations/locales/hi.js +44 -11
  110. package/es/translations/locales/ht.js +44 -11
  111. package/es/translations/locales/hu.js +6 -12
  112. package/es/translations/locales/hy.js +6 -0
  113. package/es/translations/locales/id.js +44 -11
  114. package/es/translations/locales/is.js +44 -11
  115. package/es/translations/locales/it.js +44 -11
  116. package/es/translations/locales/ja.js +44 -11
  117. package/es/translations/locales/ko.js +6 -0
  118. package/es/translations/locales/mi.js +44 -11
  119. package/es/translations/locales/ms.js +44 -11
  120. package/es/translations/locales/nb-x-k12.js +44 -11
  121. package/es/translations/locales/nb.js +44 -11
  122. package/es/translations/locales/nl.js +44 -11
  123. package/es/translations/locales/nn.js +6 -12
  124. package/es/translations/locales/pl.js +44 -11
  125. package/es/translations/locales/pt.js +44 -11
  126. package/es/translations/locales/pt_BR.js +44 -11
  127. package/es/translations/locales/ru.js +44 -11
  128. package/es/translations/locales/sl.js +44 -11
  129. package/es/translations/locales/sv-x-k12.js +44 -11
  130. package/es/translations/locales/sv.js +44 -11
  131. package/es/translations/locales/th.js +44 -11
  132. package/es/translations/locales/tr.js +6 -3
  133. package/es/translations/locales/uk_UA.js +6 -9
  134. package/es/translations/locales/vi.js +44 -11
  135. package/es/translations/locales/zh-Hans.js +44 -11
  136. package/es/translations/locales/zh-Hant.js +44 -11
  137. package/es/translations/locales/zh.js +44 -11
  138. package/es/translations/locales/zh_HK.js +44 -11
  139. package/es/util/contextHelper.d.ts +7 -0
  140. package/{testcafe/axe.test.js → es/util/contextHelper.js} +10 -21
  141. package/es/util/loadingPlaceholder.js +11 -11
  142. package/eslint.config.js +3 -25
  143. package/jest/jest-setup.js +27 -2
  144. package/jest.config.js +5 -1
  145. package/package.json +61 -84
  146. package/testcafe/RCEWrapper.test.js +0 -319
  147. package/testcafe/StatusBar.test.js +0 -108
  148. package/testcafe/enhanceUserContent.html +0 -58
  149. package/testcafe/enhanceUserContent.test.js +0 -44
  150. package/testcafe/entry.jsx +0 -77
  151. package/testcafe/testcafe.html +0 -14
  152. package/webpack.testcafe.config.js +0 -61
package/es/rce/style.js CHANGED
@@ -93,13 +93,13 @@ export default function buildStyle() {
93
93
  const toolbarButtonHoverBackgroundConst = darken(variables.colors.contrasts.white1010, 5);
94
94
  const tinySplitButtonChevronHoverBackgroundConst = darken(toolbarButtonHoverBackgroundConst, 10);
95
95
  const theme = {
96
- canvasBackgroundColor: variables.colors.white,
96
+ canvasBackgroundColor: variables.colors.primitives.white,
97
97
  canvasTextColor: themeCanvasTextColor,
98
98
  canvasErrorColor: variables.colors.contrasts.red4570,
99
99
  canvasWarningColor: variables.colors.contrasts.orange4570,
100
100
  canvasInfoColor: variables.colors.contrasts.blue4570,
101
101
  canvasSuccessColor: variables.colors.contrasts.green4570,
102
- canvasBorderColor: variables.colors.contrasts.grey1214,
102
+ canvasBorderColor: variables.colors.contrasts.grey3045,
103
103
  toolbarButtonHoverBackground: toolbarButtonHoverBackgroundConst,
104
104
  // copied from INSTUI "light" Button
105
105
  tinySplitButtonChevronHoverBackground: tinySplitButtonChevronHoverBackgroundConst,
@@ -282,7 +282,7 @@ export default function buildStyle() {
282
282
  color: ${theme.canvasButtonHoverColor};
283
283
  }
284
284
  .tox .tox-checkbox__icons .tox-checkbox-icon__unchecked svg {
285
- fill: rgba(45, 59, 69, 0.3);
285
+ fill: rgba(39, 53, 64, 0.3);
286
286
  }
287
287
  .tox .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg {
288
288
  fill: ${theme.canvasTextColor};
@@ -298,7 +298,7 @@ export default function buildStyle() {
298
298
  }
299
299
  .tox .tox-collection__group-heading {
300
300
  background-color: #e3e6e8;
301
- color: rgba(45, 59, 69, 0.6);
301
+ color: rgba(39, 53, 64, 0.6);
302
302
  }
303
303
  .tox .tox-collection__item {
304
304
  color: ${theme.canvasTextColor};
@@ -339,7 +339,7 @@ export default function buildStyle() {
339
339
  margin-right: 8px;
340
340
  }
341
341
  .tox .tox-collection__item-accessory {
342
- color: rgba(45, 59, 69, 0.6);
342
+ color: rgba(39, 53, 64, 0.6);
343
343
  }
344
344
  .tox .tox-sv-palette {
345
345
  border: 1px solid black;
@@ -365,19 +365,19 @@ export default function buildStyle() {
365
365
  .tox .tox-comment {
366
366
  background: ${theme.canvasBackgroundColor};
367
367
  border-color: ${theme.canvasBorderColor};
368
- box-shadow: 0 4px 8px 0 rgba(45, 59, 69, 0.1);
368
+ box-shadow: 0 4px 8px 0 rgba(39, 53, 64, 0.1);
369
369
  }
370
370
  .tox .tox-comment__header {
371
371
  color: ${theme.canvasTextColor};
372
372
  }
373
373
  .tox .tox-comment__date {
374
- color: rgba(45, 59, 69, 0.6);
374
+ color: rgba(39, 53, 64, 0.6);
375
375
  }
376
376
  .tox .tox-comment__body {
377
377
  color: ${theme.canvasTextColor};
378
378
  }
379
379
  .tox .tox-comment__expander p {
380
- color: rgba(45, 59, 69, 0.6);
380
+ color: rgba(39, 53, 64, 0.6);
381
381
  }
382
382
  .tox .tox-comment-thread__overlay::after {
383
383
  background: ${theme.canvasBackgroundColor};
@@ -396,10 +396,10 @@ export default function buildStyle() {
396
396
  background-color: ${theme.canvasBackgroundColor};
397
397
  }
398
398
  .tox .tox-user__avatar svg {
399
- fill: rgba(45, 59, 69, 0.6);
399
+ fill: rgba(39, 53, 64, 0.6);
400
400
  }
401
401
  .tox .tox-user__name {
402
- color: rgba(45, 59, 69, 0.6);
402
+ color: rgba(39, 53, 64, 0.6);
403
403
  }
404
404
  .tox .tox-dialog-wrap__backdrop {
405
405
  background-color: rgba(255, 255, 255, 0.75);
@@ -426,7 +426,7 @@ export default function buildStyle() {
426
426
  padding: ${theme.canvasModalBodyPadding};
427
427
  }
428
428
  .tox .tox-dialog__body-nav-item {
429
- color: rgba(45, 59, 69, 0.75);
429
+ color: rgba(39, 53, 64, 0.75);
430
430
  }
431
431
  .tox .tox-dialog__body-nav-item:focus {
432
432
  box-shadow: ${theme.canvasFocusBoxShadow};
@@ -449,10 +449,10 @@ export default function buildStyle() {
449
449
  border: 2px dashed ${theme.canvasBorderColor};
450
450
  }
451
451
  .tox .tox-dropzone p {
452
- color: rgba(45, 59, 69, 0.6);
452
+ color: rgba(39, 53, 64, 0.6);
453
453
  }
454
454
  .tox .tox-edit-area {
455
- border: 1px solid ${theme.canvasBorderColor};
455
+ border: 1px solid rgba(122, 122, 122);
456
456
  border-radius: 3px;
457
457
  }
458
458
  .tox .tox-edit-area__iframe {
@@ -478,14 +478,14 @@ export default function buildStyle() {
478
478
  fill: ${theme.canvasSuccessColor};
479
479
  }
480
480
  .tox .tox-color-input span {
481
- border-color: rgba(45, 59, 69, 0.2);
481
+ border-color: rgba(39, 53, 64, 0.2);
482
482
  }
483
483
  .tox .tox-color-input span:focus {
484
484
  border-color: ${theme.canvasBrandColor};
485
485
  }
486
486
  .tox .tox-label,
487
487
  .tox .tox-toolbar-label {
488
- color: rgba(45, 59, 69, 0.6);
488
+ color: rgba(39, 53, 64, 0.6);
489
489
  }
490
490
  .tox .tox-form__group {
491
491
  margin: ${theme.canvasFormElementMargin};
@@ -543,6 +543,7 @@ export default function buildStyle() {
543
543
  }
544
544
  .tox .tox-menubar {
545
545
  background-color: ${theme.canvasBackgroundColor};
546
+ font-family: ${theme.canvasFontFamily};
546
547
  }
547
548
  .tox .tox-mbtn {
548
549
  color: ${theme.canvasButtonColor};
@@ -613,7 +614,7 @@ export default function buildStyle() {
613
614
  background-color: ${theme.canvasBrandColor};
614
615
  }
615
616
  .tox .tox-spinner > div {
616
- background-color: rgba(45, 59, 69, 0.6);
617
+ background-color: rgba(39, 53, 64, 0.6);
617
618
  }
618
619
  .tox .tox-tbtn {
619
620
  border-style: none;
@@ -697,7 +698,7 @@ export default function buildStyle() {
697
698
  }
698
699
  .tox .tox-tooltip__body {
699
700
  background-color: ${theme.canvasTextColor};
700
- box-shadow: 0 2px 4px rgba(45, 59, 69, 0.3);
701
+ box-shadow: 0 2px 4px rgba(39, 53, 64, 0.3);
701
702
  color: rgba(255, 255, 255, 0.75);
702
703
  }
703
704
  .tox .tox-tooltip--down .tox-tooltip__arrow {
@@ -728,6 +729,7 @@ export default function buildStyle() {
728
729
  .tox-editor-container .tox-toolbar-overlord {
729
730
  background-image: none;
730
731
  margin-bottom: 5px;
732
+ font-family: ${theme.canvasFontFamily};
731
733
  }
732
734
  .tox-editor-container .tox-toolbar__primary {
733
735
  background-image: none;
package/es/rce/tinyRCE.js CHANGED
@@ -55,6 +55,8 @@ import './plugins/instructure_html_view/plugin';
55
55
  import './plugins/instructure_media_embed/plugin';
56
56
  import './plugins/instructure_icon_maker/plugin';
57
57
  import './plugins/instructure_wordcount/plugin';
58
+ import './plugins/instructure_wordcount_header/plugin';
59
+ import './plugins/instructure_keyboard_shortcuts_header/plugin';
58
60
  import './plugins/instructure_paste/plugin';
59
61
  import './plugins/instructure_fullscreen/plugin';
60
62
  import './plugins/instructure_studio_media_options/plugin';
@@ -91,6 +91,7 @@ export function fetchFolders(bookmark: any): (dispatch: any, getState: any) => a
91
91
  export function mediaUploadComplete(error: any, uploadData: any): (dispatch: any, _getState: any) => void;
92
92
  export function createMediaServerSession(): (dispatch: any, getState: any) => any;
93
93
  export function uploadToIconMakerFolder(svg: any, uploadSettings?: {}): (_dispatch: any, getState: any) => any;
94
+ export function uploadToMediaFolderWithoutEditor(fileMetaProps: any): (_: any, getState: any) => any;
94
95
  export function uploadToMediaFolder(tabContext: any, fileMetaProps: any): (dispatch: any, getState: any) => any;
95
96
  export function setUsageRights(source: any, fileMetaProps: any, results: any): any;
96
97
  export function getFileUrlIfMissing(source: any, results: any): any;
@@ -330,6 +330,62 @@ export function uploadToIconMakerFolder(svg, uploadSettings = {}) {
330
330
  });
331
331
  };
332
332
  }
333
+ export function uploadToMediaFolderWithoutEditor(fileMetaProps) {
334
+ return (_, getState) => {
335
+ const {
336
+ source,
337
+ jwt,
338
+ host,
339
+ contextId,
340
+ contextType
341
+ } = getState();
342
+ return source.fetchMediaFolder({
343
+ jwt,
344
+ host,
345
+ contextId,
346
+ contextType
347
+ }).then(async ({
348
+ folders
349
+ }) => {
350
+ fileMetaProps.parentFolderId = folders[0].id;
351
+ if (fileMetaProps.domObject) {
352
+ delete fileMetaProps.domObject.preview; // don't need this anymore
353
+ }
354
+ const getCategory = async fileProps => {
355
+ const categoryObject = await CategoryProcessor.process(fileProps.domObject);
356
+ return categoryObject?.category;
357
+ };
358
+ const category = await getCategory(fileMetaProps);
359
+ return source.preflightUpload(fileMetaProps, {
360
+ jwt,
361
+ host,
362
+ contextId,
363
+ contextType,
364
+ category
365
+ }).then(results => {
366
+ return source.uploadFRD(fileMetaProps.domObject, results);
367
+ }).then(results => {
368
+ return setUsageRights(source, fileMetaProps, results);
369
+ }).then(results => {
370
+ return getFileUrlIfMissing(source, results);
371
+ }).then(results => {
372
+ return fixupFileUrl(contextType, contextId, results, source.canvasOrigin);
373
+ }).then(results => {
374
+ return setAltText(fileMetaProps.altText, results);
375
+ }).then(results => {
376
+ if (fileMetaProps.isDecorativeImage) {
377
+ results.isDecorativeImage = fileMetaProps.isDecorativeImage;
378
+ }
379
+ if (fileMetaProps.displayAs) {
380
+ results.displayAs = fileMetaProps.displayAs;
381
+ }
382
+ return results;
383
+ });
384
+ }).catch(e => {
385
+ console.error('Upload to the media folder failed.', e);
386
+ });
387
+ };
388
+ }
333
389
  export function uploadToMediaFolder(tabContext, fileMetaProps) {
334
390
  return (dispatch, getState) => {
335
391
  const editorComponent = bridge.activeEditor();
@@ -19,6 +19,7 @@ export default function propsFromDispatch(dispatch: any): {
19
19
  toggleNewPageForm: () => any;
20
20
  startIconMakerUpload: (fileMetaProps: any, uploadSettings: any) => any;
21
21
  startMediaUpload: (tabContext: any, fileMetaProps: any) => any;
22
+ startMediaUploadInStandaloneMode: (fileMetaProps: any) => any;
22
23
  createMediaServerSession: () => any;
23
24
  mediaUploadComplete: (error: any, uploadData: any) => any;
24
25
  fetchInitialDocs: () => any;
@@ -21,7 +21,7 @@ import { fetchInitialPage, fetchNextPage } from '../actions/data';
21
21
  import { fetchInitialImages, fetchNextImages } from '../actions/images';
22
22
  import { createMediaServerSession, fetchFolders, openOrCloseUploadForm,
23
23
  // saveMediaRecording,
24
- mediaUploadComplete, uploadPreflight, uploadToIconMakerFolder, uploadToMediaFolder } from '../actions/upload';
24
+ mediaUploadComplete, uploadPreflight, uploadToIconMakerFolder, uploadToMediaFolder, uploadToMediaFolderWithoutEditor } from '../actions/upload';
25
25
  import { searchFlickr, openOrCloseFlickrForm } from '../actions/flickr';
26
26
  import { toggle as toggleFolder } from '../actions/files';
27
27
  import { openOrCloseNewPageForm } from '../actions/links';
@@ -53,6 +53,7 @@ export default function propsFromDispatch(dispatch) {
53
53
  toggleNewPageForm: () => dispatch(openOrCloseNewPageForm()),
54
54
  startIconMakerUpload: (fileMetaProps, uploadSettings) => dispatch(uploadToIconMakerFolder(fileMetaProps, uploadSettings)),
55
55
  startMediaUpload: (tabContext, fileMetaProps) => dispatch(uploadToMediaFolder(tabContext, fileMetaProps)),
56
+ startMediaUploadInStandaloneMode: fileMetaProps => dispatch(uploadToMediaFolderWithoutEditor(fileMetaProps)),
56
57
  createMediaServerSession: () => dispatch(createMediaServerSession()),
57
58
  // saveMediaRecording: (file, editor, dismiss) => dispatch(saveMediaRecording(file, editor, dismiss)),
58
59
  mediaUploadComplete: (error, uploadData) => dispatch(mediaUploadComplete(error, uploadData)),
@@ -301,12 +301,6 @@ const locale = {
301
301
  "clear_image_3213fe62": {
302
302
  "message": "مسح الصورة"
303
303
  },
304
- "clear_selected_file_82388e50": {
305
- "message": "مسح الملف المحدد"
306
- },
307
- "clear_selected_file_filename_2fe8a58e": {
308
- "message": "مسح الملف المحدد: { filename }"
309
- },
310
304
  "click_or_shift_click_for_the_html_editor_25d70bb4": {
311
305
  "message": "انقر أو نقرة + shift للوصول إلى محرر html."
312
306
  },
@@ -400,6 +394,9 @@ const locale = {
400
394
  "content_type_2cf90d95": {
401
395
  "message": "نوع المحتوى"
402
396
  },
397
+ "continue_to_youtube_content_a34f0f85": {
398
+ "message": "المتابعة إلى محتوى YouTube"
399
+ },
403
400
  "coproduct_e7838082": {
404
401
  "message": "منتج مشترك"
405
402
  },
@@ -499,6 +496,9 @@ const locale = {
499
496
  "decrease_indent_d9cf469d": {
500
497
  "message": "تقليل المسافة البادئة"
501
498
  },
499
+ "decrease_rich_content_area_82068f64": {
500
+ "message": "تقليل منطقة محتوى النص المنسق"
501
+ },
502
502
  "deep_purple_bb3e2907": {
503
503
  "message": "أرجواني داكن"
504
504
  },
@@ -1081,6 +1081,9 @@ const locale = {
1081
1081
  "increase_indent_6af90f7c": {
1082
1082
  "message": "زيادة المسافة البادئة"
1083
1083
  },
1084
+ "increase_rich_content_area_340b775": {
1085
+ "message": "زيادة منطقة محتوى النص المنسق"
1086
+ },
1084
1087
  "indefinite_integral_6623307e": {
1085
1088
  "message": "قيمة التكامل غير المحدد"
1086
1089
  },
@@ -1123,6 +1126,9 @@ const locale = {
1123
1126
  "intersection_cd4590e4": {
1124
1127
  "message": "تقاطع"
1125
1128
  },
1129
+ "invalid_description_991e23bb": {
1130
+ "message": "وصف غير صالح"
1131
+ },
1126
1132
  "invalid_entry_f7d2a0f5": {
1127
1133
  "message": "إدخال غير صالح."
1128
1134
  },
@@ -1690,9 +1696,21 @@ const locale = {
1690
1696
  "please_allow_canvas_to_access_your_microphone_and__dc2c3079": {
1691
1697
  "message": "يرجى السماح لـ Canvas بالوصول إلى الميكروفون وكاميرا الويب لديك."
1692
1698
  },
1699
+ "please_choose_a_file_c2449cc": {
1700
+ "message": "يرجى اختيار ملف"
1701
+ },
1693
1702
  "please_decribe_what_you_would_like_to_compose_27a51be5": {
1694
1703
  "message": "يرجى وصف ما ترغب في إنشائه."
1695
1704
  },
1705
+ "please_enter_a_file_name_f159edc1": {
1706
+ "message": "يرجى إدخال اسم الملف"
1707
+ },
1708
+ "please_enter_a_valid_video_url_from_a_supported_pl_30dc0596": {
1709
+ "message": "يُرجى إدخال عنوان URL صالح للفيديو من منصة مدعومة."
1710
+ },
1711
+ "please_select_a_file_of_a_supported_type_1fc578f2": {
1712
+ "message": "يرجى تحديد ملف بنوع مدعوم"
1713
+ },
1696
1714
  "plus_d43cd4ec": {
1697
1715
  "message": "موجب"
1698
1716
  },
@@ -1807,6 +1825,12 @@ const locale = {
1807
1825
  "religion_icon_246e0be1": {
1808
1826
  "message": "أيقونة الدين"
1809
1827
  },
1828
+ "remove_f47dc62a": {
1829
+ "message": "إزالة"
1830
+ },
1831
+ "remove_filename_3ea029f6": {
1832
+ "message": "إزالة { filename }"
1833
+ },
1810
1834
  "remove_heading_style_5fdc8855": {
1811
1835
  "message": "إزالة نمط العنوان"
1812
1836
  },
@@ -2242,8 +2266,11 @@ const locale = {
2242
2266
  "the_first_heading_on_a_page_should_be_an_h2_859089f2": {
2243
2267
  "message": "يجب أن يكون أول عنوان في الصفحة هو H2."
2244
2268
  },
2245
- "the_following_content_is_partner_provided_ed1da756": {
2246
- "message": "المحتوى التالي تم إدخاله بواسطة شريك"
2269
+ "the_height_of_rich_content_area_is_decreased_36920e0": {
2270
+ "message": "قل ارتفاع منطقة محتوى النص المنسق."
2271
+ },
2272
+ "the_height_of_rich_content_area_is_increased_74c2358d": {
2273
+ "message": "زاد ارتفاع منطقة محتوى النص المنسق."
2247
2274
  },
2248
2275
  "the_material_is_in_the_public_domain_279c39a3": {
2249
2276
  "message": "توجد المادة في المجال العام"
@@ -2254,9 +2281,6 @@ const locale = {
2254
2281
  "the_material_is_subject_to_an_exception_e_g_fair_u_a39c8ca2": {
2255
2282
  "message": "المادة خاضعة لاستثناء - مثال استخدام عادل أو حق الاقتباس أو استثناءات أخرى بموجب قوانين حقوق النشر المعمول بها"
2256
2283
  },
2257
- "the_preceding_content_is_partner_provided_d753928c": {
2258
- "message": "المحتوى السابق تم إدخاله بواسطة شريك"
2259
- },
2260
2284
  "the_pretty_html_editor_is_not_keyboard_accessible__d6d5d2b": {
2261
2285
  "message": "محرر HTML الأنيق لا يمكن الوصول إليه من خلال لوحة المفاتيح. اضغط على Shift-O لفتح محرر HTML البسيط."
2262
2286
  },
@@ -2296,6 +2320,9 @@ const locale = {
2296
2320
  "this_image_is_currently_unavailable_25c68857": {
2297
2321
  "message": "هذه الصورة غير متوفرة حاليًا"
2298
2322
  },
2323
+ "this_video_may_display_youtube_ads_4d19d590": {
2324
+ "message": "قد يعرض هذا الفيديو إعلانات YouTube."
2325
+ },
2299
2326
  "though_your_video_will_have_the_correct_title_in_t_90e427f3": {
2300
2327
  "message": "بالرغم من أن مقطع الفيديو الخاص بك سيشتمل على العنوان الصحيح في المستعرض، لم نتمكن من تحديثه في قاعدة البيانات."
2301
2328
  },
@@ -2518,6 +2545,9 @@ const locale = {
2518
2545
  "video_player_for_title_ffd9fbc4": {
2519
2546
  "message": "مشغل الفيديو لـ { title }"
2520
2547
  },
2548
+ "video_url_889d3263": {
2549
+ "message": "عنوان URL الفيديو"
2550
+ },
2521
2551
  "view_all_e13bf0a6": {
2522
2552
  "message": "عرض الكل"
2523
2553
  },
@@ -2632,6 +2662,9 @@ const locale = {
2632
2662
  "your_webcam_may_already_be_in_use_6cd64c25": {
2633
2663
  "message": "قد تكون كاميرا الويب الخاصة بك قيد الاستخدام بالفعل."
2634
2664
  },
2665
+ "youtube_embed_url_5c1018d4": {
2666
+ "message": "عنوان URL المضمن لـ YouTube"
2667
+ },
2635
2668
  "zeta_5ef24f0e": {
2636
2669
  "message": "Zeta"
2637
2670
  },
@@ -301,12 +301,6 @@ const locale = {
301
301
  "clear_image_3213fe62": {
302
302
  "message": "Esborra la imatge"
303
303
  },
304
- "clear_selected_file_82388e50": {
305
- "message": "Esborra el fitxer seleccionat"
306
- },
307
- "clear_selected_file_filename_2fe8a58e": {
308
- "message": "Esborra el fitxer seleccionat: { filename }"
309
- },
310
304
  "click_or_shift_click_for_the_html_editor_25d70bb4": {
311
305
  "message": "Feu clic aquí o feu-hi clic mentre premeu la tecla Maj per obrir l’editor d’HTML."
312
306
  },
@@ -400,6 +394,9 @@ const locale = {
400
394
  "content_type_2cf90d95": {
401
395
  "message": "Tipus de contingut"
402
396
  },
397
+ "continue_to_youtube_content_a34f0f85": {
398
+ "message": "Continueu cap al contingut de YouTube"
399
+ },
403
400
  "coproduct_e7838082": {
404
401
  "message": "Coproducte"
405
402
  },
@@ -499,6 +496,9 @@ const locale = {
499
496
  "decrease_indent_d9cf469d": {
500
497
  "message": "Redueix la sagnia"
501
498
  },
499
+ "decrease_rich_content_area_82068f64": {
500
+ "message": "Reduïu l’àrea de contingut enriquit"
501
+ },
502
502
  "deep_purple_bb3e2907": {
503
503
  "message": "Porpra fosc"
504
504
  },
@@ -818,7 +818,7 @@ const locale = {
818
818
  "message": "Cerca"
819
819
  },
820
820
  "find_and_replace_6e345933": {
821
- "message": "Cerca i substituir"
821
+ "message": "Cerca i substitució"
822
822
  },
823
823
  "finish_bc343002": {
824
824
  "message": "Finalitza"
@@ -1081,6 +1081,9 @@ const locale = {
1081
1081
  "increase_indent_6af90f7c": {
1082
1082
  "message": "Augmenta la sagnia"
1083
1083
  },
1084
+ "increase_rich_content_area_340b775": {
1085
+ "message": "Augmenteu l’àrea de contingut enriquit"
1086
+ },
1084
1087
  "indefinite_integral_6623307e": {
1085
1088
  "message": "Integral indefinida"
1086
1089
  },
@@ -1123,6 +1126,9 @@ const locale = {
1123
1126
  "intersection_cd4590e4": {
1124
1127
  "message": "Intersecció"
1125
1128
  },
1129
+ "invalid_description_991e23bb": {
1130
+ "message": "La descripció no és vàlida"
1131
+ },
1126
1132
  "invalid_entry_f7d2a0f5": {
1127
1133
  "message": "Entrada no vàlida."
1128
1134
  },
@@ -1690,9 +1696,21 @@ const locale = {
1690
1696
  "please_allow_canvas_to_access_your_microphone_and__dc2c3079": {
1691
1697
  "message": "Permeteu que el Canvas accedeixi al micròfon i a la càmera web."
1692
1698
  },
1699
+ "please_choose_a_file_c2449cc": {
1700
+ "message": "Trieu un fitxer"
1701
+ },
1693
1702
  "please_decribe_what_you_would_like_to_compose_27a51be5": {
1694
1703
  "message": "Descriviu què voldríeu redactar."
1695
1704
  },
1705
+ "please_enter_a_file_name_f159edc1": {
1706
+ "message": "Introduïu un nom de fitxer"
1707
+ },
1708
+ "please_enter_a_valid_video_url_from_a_supported_pl_30dc0596": {
1709
+ "message": "Introduïu un URL de vídeo vàlid des d’una plataforma admesa."
1710
+ },
1711
+ "please_select_a_file_of_a_supported_type_1fc578f2": {
1712
+ "message": "Seleccioneu un fitxer d’un tipus admès"
1713
+ },
1696
1714
  "plus_d43cd4ec": {
1697
1715
  "message": "Més"
1698
1716
  },
@@ -1807,6 +1825,12 @@ const locale = {
1807
1825
  "religion_icon_246e0be1": {
1808
1826
  "message": "Icona de religió"
1809
1827
  },
1828
+ "remove_f47dc62a": {
1829
+ "message": "Suprimeix-ho"
1830
+ },
1831
+ "remove_filename_3ea029f6": {
1832
+ "message": "Suprimiu { filename }"
1833
+ },
1810
1834
  "remove_heading_style_5fdc8855": {
1811
1835
  "message": "Suprimeix l''estil de la capçalera"
1812
1836
  },
@@ -1814,7 +1838,7 @@ const locale = {
1814
1838
  "message": "Elimina l''enllaç"
1815
1839
  },
1816
1840
  "replace_all_d3d68b3": {
1817
- "message": "Substitueixo-ho tot"
1841
+ "message": "Substitueix-ho tot"
1818
1842
  },
1819
1843
  "replace_all_findtext_with_replacetext_da574b32": {
1820
1844
  "message": "Substitueix tot { findText } amb { replaceText }"
@@ -1826,7 +1850,7 @@ const locale = {
1826
1850
  "message": "Substitueix { findText } amb { replaceText }"
1827
1851
  },
1828
1852
  "replace_with_eeff01ad": {
1829
- "message": "Substitueixo-ho per"
1853
+ "message": "Substitueix-ho per"
1830
1854
  },
1831
1855
  "replaced_alertfindtext_with_alertreplacetext_de5c1795": {
1832
1856
  "message": "S’ha substituït { alertFindText } amb { alertReplaceText }"
@@ -2242,8 +2266,11 @@ const locale = {
2242
2266
  "the_first_heading_on_a_page_should_be_an_h2_859089f2": {
2243
2267
  "message": "La primera capçalera d’una pàgina ha de ser una H2."
2244
2268
  },
2245
- "the_following_content_is_partner_provided_ed1da756": {
2246
- "message": "El contingut següent està proporcionat per proveïdors"
2269
+ "the_height_of_rich_content_area_is_decreased_36920e0": {
2270
+ "message": "S’ha reduït l’altura de l’àrea de contingut enriquit."
2271
+ },
2272
+ "the_height_of_rich_content_area_is_increased_74c2358d": {
2273
+ "message": "S’ha augmentat l’altura de l’àrea de contingut enriquit."
2247
2274
  },
2248
2275
  "the_material_is_in_the_public_domain_279c39a3": {
2249
2276
  "message": "El material és de domini públic"
@@ -2254,9 +2281,6 @@ const locale = {
2254
2281
  "the_material_is_subject_to_an_exception_e_g_fair_u_a39c8ca2": {
2255
2282
  "message": "El material està subjecte una excepció: p. ex. ús raonable, dret a quota o d''altres sota les lleis de copyright aplicables"
2256
2283
  },
2257
- "the_preceding_content_is_partner_provided_d753928c": {
2258
- "message": "El contingut anterior està proporcionat per proveïdors"
2259
- },
2260
2284
  "the_pretty_html_editor_is_not_keyboard_accessible__d6d5d2b": {
2261
2285
  "message": "No es pot accedir a l’editor de dades HTML processades amb el teclat. Premeu Maj+O per obrir l''editor de dades HTML sense processar."
2262
2286
  },
@@ -2296,6 +2320,9 @@ const locale = {
2296
2320
  "this_image_is_currently_unavailable_25c68857": {
2297
2321
  "message": "En aquest moment, aquesta imatge no està disponible."
2298
2322
  },
2323
+ "this_video_may_display_youtube_ads_4d19d590": {
2324
+ "message": "Pot ser que en aquest vídeo es mostrin anuncis de YouTube."
2325
+ },
2299
2326
  "though_your_video_will_have_the_correct_title_in_t_90e427f3": {
2300
2327
  "message": "Tot i que el títol del vídeo que es mostra al explorador és el correcte, no hem pogut actualitzar-lo a la base de dades."
2301
2328
  },
@@ -2518,6 +2545,9 @@ const locale = {
2518
2545
  "video_player_for_title_ffd9fbc4": {
2519
2546
  "message": "Reproductor de vídeo per a { title }"
2520
2547
  },
2548
+ "video_url_889d3263": {
2549
+ "message": "URL de vídeo"
2550
+ },
2521
2551
  "view_all_e13bf0a6": {
2522
2552
  "message": "Mostra-ho tot"
2523
2553
  },
@@ -2632,6 +2662,9 @@ const locale = {
2632
2662
  "your_webcam_may_already_be_in_use_6cd64c25": {
2633
2663
  "message": "És possible que la càmera web ja s''estigui utilitzant."
2634
2664
  },
2665
+ "youtube_embed_url_5c1018d4": {
2666
+ "message": "URL integrat de YouTube"
2667
+ },
2635
2668
  "zeta_5ef24f0e": {
2636
2669
  "message": "Zeta"
2637
2670
  },