@instructure/canvas-rce 5.10.0 → 5.10.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.
@@ -1,4 +1,4 @@
1
- var _Intl, _Intl$DateTimeFormat, _Intl$DateTimeFormat$;
1
+ var _dec, _class, _class2, _Intl, _Intl$DateTimeFormat, _Intl$DateTimeFormat$;
2
2
 
3
3
  /*
4
4
  * Copyright (C) 2018 - present Instructure, Inc.
@@ -21,6 +21,7 @@ import React, { Suspense } from 'react';
21
21
  import { Editor } from '@tinymce/tinymce-react';
22
22
  import _ from 'lodash';
23
23
  import { StoreProvider } from './plugins/shared/StoreContext';
24
+ import themeable from '@instructure/ui-themeable';
24
25
  import { IconKeyboardShortcutsLine } from '@instructure/ui-icons';
25
26
  import { Alert } from '@instructure/ui-alerts';
26
27
  import { Spinner } from '@instructure/ui-spinner';
@@ -44,6 +45,7 @@ import CanvasContentTray from './plugins/shared/CanvasContentTray';
44
45
  import StatusBar, { PRETTY_HTML_EDITOR_VIEW, RAW_HTML_EDITOR_VIEW, WYSIWYG_VIEW } from './StatusBar';
45
46
  import { VIEW_CHANGE } from './customEvents';
46
47
  import ShowOnFocusButton from './ShowOnFocusButton';
48
+ import theme from '../skins/theme';
47
49
  import KeyboardShortcutModal from './KeyboardShortcutModal';
48
50
  import AlertMessageArea from './AlertMessageArea';
49
51
  import alertHandler from './alertHandler';
@@ -51,6 +53,977 @@ import { isFileLink, isImageEmbed } from './plugins/shared/ContentSelection';
51
53
  import { countShouldIgnore } from './plugins/instructure_wordcount/utils/countContent';
52
54
  import launchWordcountModal from './plugins/instructure_wordcount/clickCallback';
53
55
  import { determineOSDependentKey } from './userOS';
56
+ const styles = {
57
+ componentId: 'empSX',
58
+ template: function (theme) {
59
+ return `
60
+
61
+
62
+
63
+
64
+ .canvas-rce__skins--root {
65
+ background-color: ${theme.canvasBackgroundColor || 'inherit'};
66
+ }
67
+
68
+
69
+
70
+ .rce-wrapper textarea {
71
+ width: 100%;
72
+ box-sizing: border-box;
73
+ min-height: auto;
74
+ }
75
+
76
+ .tox,
77
+ .tox *:not(svg) {
78
+ color: inherit;
79
+ font-family: inherit;
80
+ }
81
+
82
+
83
+
84
+ [dir='rtl'] .tox :not(svg) {
85
+ direction: rtl;
86
+ }
87
+
88
+ .tox:not(.tox-tinymce-inline) .tox-editor-header {
89
+ background-color: ${theme.canvasBackgroundColor || 'inherit'};
90
+ }
91
+
92
+ .tox.tox-tinymce .screenreader-only {
93
+ border: 0;
94
+ clip: rect(0 0 0 0);
95
+ height: 1px;
96
+ margin: -1px;
97
+ overflow: hidden;
98
+ padding: 0;
99
+ position: absolute;
100
+ width: 1px;
101
+ transform: translatez(0);
102
+ }
103
+
104
+ .tox-tinymce-aux {
105
+ font-family: ${theme.canvasFontFamily || 'inherit'};
106
+ }
107
+
108
+
109
+
110
+ .tox.tox-tinymce-aux {
111
+ z-index: 10000;
112
+ }
113
+
114
+ .tox .tox-button {
115
+ background-color: ${theme.canvasPrimaryButtonHoverBackground || 'inherit'};
116
+ font-family: ${theme.canvasFontFamily || 'inherit'};
117
+ font-weight: ${theme.canvasButtonFontWeight || 'inherit'};
118
+ font-size: ${theme.canvasButtonFontSize || 'inherit'};
119
+ color: ${theme.canvasPrimaryButtonColor || 'inherit'};
120
+ border-color: ${theme.canvasPrimaryButtonBorderColor || 'inherit'};
121
+ line-height: calc(${theme.canvasButtonLineHeight || 'inherit'} - 2px);
122
+ padding: ${theme.canvasButtonPadding || 'inherit'};
123
+ }
124
+
125
+ .tox .tox-button[disabled] {
126
+ opacity: 0.5;
127
+ border-color: inherit;
128
+ color: inherit;
129
+ }
130
+
131
+ .tox .tox-button:focus:not(:disabled) {
132
+ background-color: ${theme.canvasPrimaryButtonBackground || 'inherit'};
133
+ color: ${theme.canvasPrimaryButtonColor || 'inherit'};
134
+ border-color: ${theme.canvasBackgroundColor || 'inherit'};
135
+ box-shadow: ${theme.canvasFocusBoxShadow || 'inherit'};
136
+ }
137
+
138
+ .tox .tox-button:hover:not(:disabled) {
139
+ background-color: ${theme.canvasPrimaryButtonHoverBackground || 'inherit'};
140
+ color: ${theme.canvasPrimaryButtonHoverColor || 'inherit'};
141
+ }
142
+
143
+ .tox .tox-button:active:not(:disabled) {
144
+ background-color: ${theme.canvasPrimaryButtonBackground || 'inherit'};
145
+ border-color: ${theme.canvasPrimaryButtonBorderColor || 'inherit'};
146
+ color: ${theme.canvasPrimaryButtonColor || 'inherit'};
147
+ }
148
+
149
+ .tox .tox-button--secondary {
150
+ background-color: ${theme.canvasSecondaryButtonBackground || 'inherit'};
151
+ border-color: ${theme.canvasSecondaryButtonBorderColor || 'inherit'};
152
+ color: ${theme.canvasSecondaryButtonColor || 'inherit'};
153
+ }
154
+
155
+ .tox .tox-button--secondary[disabled] {
156
+ background-color: inherit;
157
+ border-color: ${theme.canvasSecondaryButtonBorderColor || 'inherit'};
158
+ color: inherit;
159
+ opacity: 0.5;
160
+ }
161
+
162
+ .tox .tox-button--secondary:focus:not(:disabled) {
163
+ background-color: inherit;
164
+ border-color: ${theme.canvasFocusBorderColor || 'inherit'};
165
+ color: inherit;
166
+ }
167
+
168
+ .tox .tox-button--secondary:hover:not(:disabled) {
169
+ background-color: ${theme.canvasSecondaryButtonHoverBackground || 'inherit'};
170
+ border-color: ${theme.canvasSecondaryButtonBorderColor || 'inherit'};
171
+ color: ${theme.canvasSecondaryButtonHoverColor || 'inherit'};
172
+ }
173
+
174
+ .tox .tox-button--secondary:active:not(:disabled) {
175
+ background-color: inherit;
176
+ border-color: ${theme.canvasSecondaryButtonBorderColor || 'inherit'};
177
+ color: inherit;
178
+ }
179
+
180
+ .tox .tox-button-link {
181
+ font-family: ${theme.canvasFontFamily || 'inherit'};
182
+ }
183
+
184
+ .tox .tox-button--naked {
185
+ background: ${theme.canvasButtonBackground || 'inherit'};
186
+ border-color: ${theme.canvasButtonBorderColor || 'inherit'};
187
+ color: ${theme.canvasButtonColor || 'inherit'};
188
+ }
189
+
190
+ .tox .tox-button--naked:hover:not(:disabled) {
191
+ background-color: ${theme.canvasButtonHoverBackground || 'inherit'};
192
+ border-color: ${theme.canvasButtonBorderColor || 'inherit'};
193
+ color: ${theme.canvasButtonHoverColor || 'inherit'};
194
+ }
195
+
196
+ .tox .tox-button--naked:focus:not(:disabled) {
197
+ background-color: ${theme.canvasButtonBackground || 'inherit'};
198
+ color: ${theme.canvasButtonColor || 'inherit'};
199
+ border-color: ${theme.canvasBackgroundColor || 'inherit'};
200
+ box-shadow: ${theme.canvasFocusBoxShadow || 'inherit'};
201
+ }
202
+
203
+ .tox .tox-button--naked:active:not(:disabled) {
204
+ background-color: inherit;
205
+ color: inherit;
206
+ }
207
+
208
+ .tox .tox-button--naked.tox-button--icon {
209
+ color: ${theme.canvasButtonColor || 'inherit'};
210
+ }
211
+
212
+ .tox .tox-button--naked.tox-button--icon:hover:not(:disabled) {
213
+ background: ${theme.canvasButtonHoverBackground || 'inherit'};
214
+ color: ${theme.canvasButtonHoverColor || 'inherit'};
215
+ }
216
+
217
+ .tox .tox-checkbox__icons .tox-checkbox-icon__unchecked svg {
218
+ fill: rgba(45, 59, 69, 0.3);
219
+ }
220
+
221
+ .tox .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg {
222
+ fill: ${theme.canvasTextColor || 'inherit'};
223
+ }
224
+
225
+ .tox .tox-checkbox__icons .tox-checkbox-icon__checked svg {
226
+ fill: ${theme.canvasTextColor || 'inherit'};
227
+ }
228
+
229
+ .tox input.tox-checkbox__input:focus + .tox-checkbox__icons {
230
+ box-shadow: ${theme.canvasFocusBoxShadow || 'inherit'};
231
+ }
232
+
233
+ .tox .tox-collection--list .tox-collection__group {
234
+ border-color: ${theme.canvasBorderColor || 'inherit'};
235
+ }
236
+
237
+ .tox .tox-collection__group-heading {
238
+ background-color: #e3e6e8;
239
+ color: rgba(45, 59, 69, 0.6);
240
+ }
241
+
242
+ .tox .tox-collection__item {
243
+ color: ${theme.canvasTextColor || 'inherit'};
244
+ }
245
+
246
+ .tox .tox-collection__item--state-disabled {
247
+ background-color: unset;
248
+ opacity: 0.5;
249
+ cursor: default;
250
+ }
251
+
252
+ .tox .tox-collection--list .tox-collection__item--enabled {
253
+ color: contrast(inherit, ${theme.canvasTextColor || 'inherit'}, #fff);
254
+ }
255
+
256
+ .tox .tox-collection--list .tox-collection__item--active {
257
+ background-color: ${theme.activeMenuItemBackground || 'inherit'};
258
+ color: ${theme.activeMenuItemLabelColor || 'inherit'};
259
+ }
260
+
261
+ .tox
262
+ .tox-collection--list
263
+ .tox-collection__item--active:not(.tox-collection__item--state-disabled) {
264
+ background-color: ${theme.activeMenuItemBackground || 'inherit'};
265
+ color: ${theme.activeMenuItemLabelColor || 'inherit'};
266
+ }
267
+
268
+ .tox .tox-collection--toolbar .tox-collection__item--enabled {
269
+ background-color: #cbced1;
270
+ color: ${theme.canvasTextColor || 'inherit'};
271
+ }
272
+
273
+ .tox .tox-collection--toolbar .tox-collection__item--active {
274
+ background-color: #e0e2e3;
275
+ color: ${theme.canvasTextColor || 'inherit'};
276
+ }
277
+
278
+ .tox .tox-collection--grid .tox-collection__item--enabled {
279
+ background-color: #cbced1;
280
+ color: ${theme.canvasTextColor || 'inherit'};
281
+ }
282
+
283
+ .tox .tox-collection--grid .tox-collection__item--active {
284
+ background-color: #e0e2e3;
285
+ color: ${theme.canvasTextColor || 'inherit'};
286
+ }
287
+
288
+ .tox .tox-collection--list .tox-collection__item-icon:first-child {
289
+ margin-right: 8px;
290
+ }
291
+
292
+ .tox .tox-collection__item-accessory {
293
+ color: rgba(45, 59, 69, 0.6);
294
+ }
295
+
296
+ .tox .tox-sv-palette {
297
+ border: 1px solid black;
298
+ box-sizing: border-box;
299
+ }
300
+
301
+ .tox .tox-hue-slider {
302
+ border: 1px solid black;
303
+ }
304
+
305
+ .tox .tox-rgb-form input.tox-invalid {
306
+
307
+ border-color: ${theme.canvasErrorColor || 'inherit'} !important;
308
+ }
309
+
310
+ .tox .tox-rgb-form {
311
+ padding: 2px;
312
+ }
313
+
314
+ .tox .tox-swatches__picker-btn:hover {
315
+ background: #e0e2e3;
316
+ }
317
+
318
+ .tox .tox-comment-thread {
319
+ background: ${theme.canvasBackgroundColor || 'inherit'};
320
+ }
321
+
322
+ .tox .tox-comment {
323
+ background: ${theme.canvasBackgroundColor || 'inherit'};
324
+ border-color: ${theme.canvasBorderColor || 'inherit'};
325
+ box-shadow: 0 4px 8px 0 rgba(45, 59, 69, 0.1);
326
+ }
327
+
328
+ .tox .tox-comment__header {
329
+ color: ${theme.canvasTextColor || 'inherit'};
330
+ }
331
+
332
+ .tox .tox-comment__date {
333
+ color: rgba(45, 59, 69, 0.6);
334
+ }
335
+
336
+ .tox .tox-comment__body {
337
+ color: ${theme.canvasTextColor || 'inherit'};
338
+ }
339
+
340
+ .tox .tox-comment__expander p {
341
+ color: rgba(45, 59, 69, 0.6);
342
+ }
343
+
344
+ .tox .tox-comment-thread__overlay::after {
345
+ background: ${theme.canvasBackgroundColor || 'inherit'};
346
+ }
347
+
348
+ .tox .tox-comment__overlay {
349
+ background: ${theme.canvasBackgroundColor || 'inherit'};
350
+ }
351
+
352
+ .tox .tox-comment__loading-text {
353
+ color: ${theme.canvasTextColor || 'inherit'};
354
+ }
355
+
356
+ .tox .tox-comment__overlaytext p {
357
+ background-color: ${theme.canvasBackgroundColor || 'inherit'};
358
+ color: ${theme.canvasTextColor || 'inherit'};
359
+ }
360
+
361
+ .tox .tox-comment__busy-spinner {
362
+ background-color: ${theme.canvasBackgroundColor || 'inherit'};
363
+ }
364
+
365
+ .tox .tox-user__avatar svg {
366
+ fill: rgba(45, 59, 69, 0.6);
367
+ }
368
+
369
+ .tox .tox-user__name {
370
+ color: rgba(45, 59, 69, 0.6);
371
+ }
372
+
373
+ .tox .tox-dialog-wrap__backdrop {
374
+ background-color: rgba(255, 255, 255, 0.75);
375
+ }
376
+
377
+ .tox .tox-dialog {
378
+ background-color: ${theme.canvasBackgroundColor || 'inherit'};
379
+ border-color: ${theme.canvasBorderColor || 'inherit'};
380
+ box-shadow: ${theme.canvasModalShadow || 'inherit'};
381
+ }
382
+
383
+ .tox .tox-dialog__header {
384
+ background-color: ${theme.canvasBackgroundColor || 'inherit'};
385
+ color: ${theme.canvasTextColor || 'inherit'};
386
+ border-bottom: 1px solid ${theme.canvasBorderColor || 'inherit'};
387
+ padding: ${theme.canvasModalHeadingPadding || 'inherit'};
388
+ margin: 0;
389
+ }
390
+
391
+ .tox .tox-dialog__title {
392
+ font-family: ${theme.canvasFontFamily || 'inherit'};
393
+ font-size: ${theme.canvasModalHeadingFontSize || 'inherit'};
394
+ font-weight: ${theme.canvasModalHeadingFontWeight || 'inherit'};
395
+ }
396
+
397
+ .tox .tox-dialog__body {
398
+ color: ${theme.canvasTextColor || 'inherit'};
399
+ padding: ${theme.canvasModalBodyPadding || 'inherit'};
400
+ }
401
+
402
+ .tox .tox-dialog__body-nav-item {
403
+ color: rgba(45, 59, 69, 0.75);
404
+ }
405
+
406
+ .tox .tox-dialog__body-nav-item:focus {
407
+ box-shadow: ${theme.canvasFocusBoxShadow || 'inherit'};
408
+ }
409
+
410
+ .tox .tox-dialog__body-nav-item--active {
411
+ border-bottom-color: ${theme.canvasBrandColor || 'inherit'};
412
+ color: ${theme.canvasBrandColor || 'inherit'};
413
+ }
414
+
415
+ .tox .tox-dialog__footer {
416
+ background-color: ${theme.canvasModalFooterBackground || 'inherit'};
417
+ border-top: 1px solid ${theme.canvasBorderColor || 'inherit'};
418
+ padding: ${theme.canvasModalFooterPadding || 'inherit'};
419
+ margin: 0;
420
+ }
421
+
422
+ .tox .tox-dialog__table tbody tr {
423
+ border-bottom-color: ${theme.canvasBorderColor || 'inherit'};
424
+ }
425
+
426
+ .tox .tox-dropzone {
427
+ background: ${theme.canvasBackgroundColor || 'inherit'};
428
+ border: 2px dashed ${theme.canvasBorderColor || 'inherit'};
429
+ }
430
+
431
+ .tox .tox-dropzone p {
432
+ color: rgba(45, 59, 69, 0.6);
433
+ }
434
+
435
+ .tox .tox-edit-area {
436
+ border: 1px solid ${theme.canvasBorderColor || 'inherit'};
437
+ border-radius: 3px;
438
+ }
439
+
440
+ .tox .tox-edit-area__iframe {
441
+ background-color: ${theme.canvasBackgroundColor || 'inherit'};
442
+ border: ${theme.canvasFocusBorderWidth || 'inherit'} solid transparent;
443
+ }
444
+
445
+ .tox.tox-inline-edit-area {
446
+ border-color: ${theme.canvasBorderColor || 'inherit'};
447
+ }
448
+
449
+ .tox .tox-form__group {
450
+ padding: 2px;
451
+ }
452
+
453
+ .tox .tox-control-wrap .tox-textfield {
454
+ padding-right: 32px;
455
+ }
456
+
457
+ .tox .tox-control-wrap__status-icon-invalid svg {
458
+ fill: ${theme.canvasErrorColor || 'inherit'};
459
+ }
460
+
461
+ .tox .tox-control-wrap__status-icon-unknown svg {
462
+ fill: ${theme.canvasWarningColor || 'inherit'};
463
+ }
464
+
465
+ .tox .tox-control-wrap__status-icon-valid svg {
466
+ fill: ${theme.canvasSuccessColor || 'inherit'};
467
+ }
468
+
469
+ .tox .tox-color-input span {
470
+ border-color: rgba(45, 59, 69, 0.2);
471
+ }
472
+
473
+ .tox .tox-color-input span:focus {
474
+ border-color: ${theme.canvasBrandColor || 'inherit'};
475
+ }
476
+
477
+ .tox .tox-label,
478
+ .tox .tox-toolbar-label {
479
+ color: rgba(45, 59, 69, 0.6);
480
+ }
481
+
482
+ .tox .tox-form__group {
483
+ margin: ${theme.canvasFormElementMargin || 'inherit'};
484
+ }
485
+
486
+ .tox .tox-form__group:last-child {
487
+ margin: 0;
488
+ }
489
+
490
+ .tox .tox-form__group .tox-label {
491
+ color: ${theme.canvasFormElementLabelColor || 'inherit'};
492
+ margin: ${theme.canvasFormElementLabelMargin || 'inherit'};
493
+ font-size: ${theme.canvasFormElementLabelFontSize || 'inherit'};
494
+ font-weight: ${theme.canvasFormElementLabelFontWeight || 'inherit'};
495
+ }
496
+
497
+ .tox .tox-form__group--error {
498
+ color: ${theme.canvasErrorColor || 'inherit'};
499
+ }
500
+
501
+ .tox .tox-textfield,
502
+ .tox .tox-selectfield select,
503
+ .tox .tox-textarea,
504
+ .tox .tox-toolbar-textfield {
505
+ background-color: ${theme.canvasBackgroundColor || 'inherit'};
506
+ border-color: ${theme.canvasBorderColor || 'inherit'};
507
+ color: ${theme.canvasTextColor || 'inherit'};
508
+ font-family: ${theme.canvasFontFamily || 'inherit'};
509
+ }
510
+
511
+ .tox .tox-textfield:focus,
512
+ .tox .tox-selectfield select:focus,
513
+ .tox .tox-textarea:focus {
514
+
515
+ border-color: ${theme.canvasBorderColor || 'inherit'};
516
+ box-shadow: ${theme.canvasFocusBoxShadow || 'inherit'};
517
+ }
518
+
519
+ .tox .tox-naked-btn {
520
+ color: ${theme.canvasButtonColor || 'inherit'};
521
+ }
522
+
523
+ .tox .tox-naked-btn svg {
524
+ fill: ${theme.canvasButtonColor || 'inherit'};
525
+ }
526
+
527
+ .tox .tox-insert-table-picker > div {
528
+ border-color: #cccccc;
529
+ }
530
+
531
+ .tox .tox-insert-table-picker .tox-insert-table-picker__selected {
532
+ background-color: ${theme.tableSelectorHighlightColor || 'inherit'};
533
+ border-color: ${theme.tableSelectorHighlightColor || 'inherit'};
534
+ }
535
+
536
+ .tox-selected-menu .tox-insert-table-picker {
537
+ background-color: ${theme.canvasBackgroundColor || 'inherit'};
538
+ }
539
+
540
+ .tox .tox-insert-table-picker__label {
541
+ color: ${theme.canvasTextColor || 'inherit'};
542
+ }
543
+
544
+ .tox .tox-menu {
545
+ background-color: ${theme.canvasBackgroundColor || 'inherit'};
546
+ border-color: ${theme.canvasBorderColor || 'inherit'};
547
+ }
548
+
549
+ .tox .tox-menubar {
550
+ background-color: ${theme.canvasBackgroundColor || 'inherit'};
551
+ }
552
+
553
+ .tox .tox-mbtn {
554
+ color: ${theme.canvasButtonColor || 'inherit'};
555
+ }
556
+
557
+ .tox .tox-mbtn[disabled] {
558
+ opacity: 0.5;
559
+ }
560
+
561
+ .tox .tox-mbtn:hover:not(:disabled) {
562
+ background: ${theme.toolbarButtonHoverBackground || 'inherit'};
563
+ color: ${theme.canvasButtonColor || 'inherit'};
564
+ }
565
+
566
+ .tox .tox-mbtn:focus:not(:disabled) {
567
+ background-color: transparent;
568
+ color: ${theme.canvasButtonColor || 'inherit'};
569
+ border-color: ${theme.canvasBackgroundColor || 'inherit'};
570
+ box-shadow: ${theme.canvasFocusBoxShadow || 'inherit'};
571
+ }
572
+
573
+ .tox .tox-mbtn--active {
574
+ background: ${theme.toolbarButtonHoverBackground || 'inherit'};
575
+ color: ${theme.canvasButtonColor || 'inherit'};
576
+ }
577
+
578
+ .tox .tox-notification {
579
+ background-color: ${theme.canvasBackgroundColor || 'inherit'};
580
+ border-color: #c5c5c5;
581
+ }
582
+
583
+ .tox .tox-notification--success {
584
+ background-color: #dff0d8;
585
+ border-color: ${theme.canvasSuccessColor || 'inherit'};
586
+ }
587
+
588
+ .tox .tox-notification--error {
589
+ background-color: #f2dede;
590
+ border-color: ${theme.canvasErrorColor || 'inherit'};
591
+ }
592
+
593
+ .tox .tox-notification--warn {
594
+ background-color: #fcf8e3;
595
+ border-color: ${theme.canvasWarningColor || 'inherit'};
596
+ }
597
+
598
+ .tox .tox-notification--info {
599
+ background-color: #d9edf7;
600
+ border-color: ${theme.canvasInfoColor || 'inherit'};
601
+ }
602
+
603
+ .tox .tox-notification__body {
604
+ color: ${theme.canvasTextColor || 'inherit'};
605
+ }
606
+
607
+ .tox .tox-pop__dialog {
608
+ background-color: ${theme.canvasBackgroundColor || 'inherit'};
609
+ border-color: ${theme.canvasBorderColor || 'inherit'};
610
+ }
611
+
612
+ .tox .tox-pop.tox-pop--bottom::before {
613
+ border-color: ${theme.canvasBorderColor || 'inherit'} transparent transparent transparent;
614
+ }
615
+
616
+ .tox .tox-pop.tox-pop--top::before {
617
+ border-color: transparent transparent ${theme.canvasBorderColor || 'inherit'} transparent;
618
+ }
619
+
620
+ .tox .tox-pop.tox-pop--left::before {
621
+ border-color: transparent ${theme.canvasBorderColor || 'inherit'} transparent transparent;
622
+ }
623
+
624
+ .tox .tox-pop.tox-pop--right::before {
625
+ border-color: transparent transparent transparent ${theme.canvasBorderColor || 'inherit'};
626
+ }
627
+
628
+ .tox .tox-slider {
629
+ width: 100%;
630
+ }
631
+
632
+ .tox .tox-slider__rail {
633
+ border-color: ${theme.canvasBorderColor || 'inherit'};
634
+ }
635
+
636
+ .tox .tox-slider__handle {
637
+ background-color: ${theme.canvasBrandColor || 'inherit'};
638
+ }
639
+
640
+ .tox .tox-spinner > div {
641
+ background-color: rgba(45, 59, 69, 0.6);
642
+ }
643
+
644
+
645
+
646
+ .tox .tox-tbtn {
647
+ border-style: none;
648
+ color: ${theme.canvasButtonColor || 'inherit'};
649
+ position: relative;
650
+ }
651
+
652
+ .tox .tox-tbtn svg {
653
+ fill: ${theme.canvasButtonColor || 'inherit'};
654
+ }
655
+
656
+ .tox .tox-tbtn.tox-tbtn--enabled {
657
+ background: inherit;
658
+ }
659
+
660
+ .tox .tox-tbtn:focus,
661
+ .tox .tox-split-button:focus {
662
+ background: ${theme.canvasBackgroundColor || 'inherit'};
663
+ color: ${theme.canvasButtonColor || 'inherit'};
664
+ box-shadow: ${theme.canvasFocusBoxShadow || 'inherit'};
665
+ }
666
+
667
+ .tox .tox-tbtn:hover,
668
+ .tox .tox-split-button:hover,
669
+ .tox .tox-tbtn.tox-tbtn--enabled:hover,
670
+ .tox .tox-split-button .tox-tbtn.tox-split-button__chevron:hover {
671
+ background: ${theme.toolbarButtonHoverBackground || 'inherit'};
672
+ color: ${theme.canvasButtonColor || 'inherit'};
673
+ }
674
+
675
+ .tox-tbtn.tox-split-button__chevron {
676
+ position: relative;
677
+ }
678
+
679
+
680
+
681
+ .tox .tox-tbtn.tox-tbtn--enabled::after {
682
+ position: absolute;
683
+ top: -3px;
684
+ content: '\\25BC';
685
+ text-align: center;
686
+ height: 8px;
687
+ font-size: 8px;
688
+ width: 100%;
689
+ color: ${theme.canvasEnabledColor || 'inherit'};
690
+ }
691
+
692
+ [dir="ltr"] .tox .tox-tbtn.tox-tbtn--enabled::after {
693
+ text-align: center;
694
+ }
695
+
696
+ [dir="rtl"] .tox .tox-tbtn.tox-tbtn--enabled::after {
697
+ text-align: center;
698
+ }
699
+
700
+
701
+
702
+ .tox .tox-tbtn.tox-tbtn--enabled.tox-tbtn--select::after {
703
+ text-align: left;
704
+ padding-left: 18px;
705
+ }
706
+
707
+ [dir="ltr"] .tox .tox-tbtn.tox-tbtn--enabled.tox-tbtn--select::after {
708
+ text-align: left;
709
+ }
710
+
711
+ [dir="rtl"] .tox .tox-tbtn.tox-tbtn--enabled.tox-tbtn--select::after {
712
+ text-align: left;
713
+ }
714
+
715
+
716
+
717
+ .tox-tbtn.tox-split-button__chevron.tox-tbtn--enabled::after {
718
+ display: none;
719
+ }
720
+
721
+ .tox .tox-tbtn--disabled,
722
+ .tox .tox-tbtn--disabled:hover,
723
+ .tox .tox-tbtn:disabled,
724
+ .tox .tox-tbtn:disabled:hover {
725
+ opacity: 0.5;
726
+ }
727
+
728
+ .tox .tox-tbtn--disabled svg,
729
+ .tox .tox-tbtn--disabled:hover svg,
730
+ .tox .tox-tbtn:disabled svg,
731
+ .tox .tox-tbtn:disabled:hover svg {
732
+
733
+ opacity: 0.5;
734
+ }
735
+
736
+ .tox .tox-tbtn__select-chevron svg {
737
+ fill: ${theme.canvasButtonColor || 'inherit'};
738
+ width: 10px;
739
+ height: 10px;
740
+ }
741
+
742
+ .tox .tox-split-button__chevron svg {
743
+ fill: ${theme.canvasButtonColor || 'inherit'};
744
+ width: 10px;
745
+ height: 10px;
746
+ }
747
+
748
+ .tox .tox-split-button.tox-tbtn--disabled:hover,
749
+ .tox .tox-split-button.tox-tbtn--disabled:focus,
750
+ .tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:hover,
751
+ .tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:focus {
752
+ opacity: 0.5;
753
+ }
754
+
755
+ .tox .tox-toolbar {
756
+ background-color: ${theme.canvasBackgroundColor || 'inherit'};
757
+ border-top: 1px solid ${theme.canvasBorderColor || 'inherit'};
758
+ }
759
+
760
+ .tox .tox-toolbar__group:not(:last-of-type) {
761
+ border-right: 1px solid ${theme.canvasBorderColor || 'inherit'};
762
+ }
763
+
764
+ .tox .tox-tooltip__body {
765
+ background-color: ${theme.canvasTextColor || 'inherit'};
766
+ box-shadow: 0 2px 4px rgba(45, 59, 69, 0.3);
767
+ color: rgba(255, 255, 255, 0.75);
768
+ }
769
+
770
+ .tox .tox-tooltip--down .tox-tooltip__arrow {
771
+ border-top-color: ${theme.canvasTextColor || 'inherit'};
772
+ }
773
+
774
+ .tox .tox-tooltip--up .tox-tooltip__arrow {
775
+ border-bottom-color: ${theme.canvasTextColor || 'inherit'};
776
+ }
777
+
778
+ .tox .tox-tooltip--right .tox-tooltip__arrow {
779
+ border-left-color: ${theme.canvasTextColor || 'inherit'};
780
+ }
781
+
782
+ .tox .tox-tooltip--left .tox-tooltip__arrow {
783
+ border-right-color: ${theme.canvasTextColor || 'inherit'};
784
+ }
785
+
786
+ .tox .tox-well {
787
+ border-color: ${theme.canvasBorderColor || 'inherit'};
788
+ }
789
+
790
+ .tox .tox-custom-editor {
791
+ border-color: ${theme.canvasBorderColor || 'inherit'};
792
+ }
793
+
794
+ .tox a {
795
+ color: ${theme.canvasLinkColor || 'inherit'};
796
+ }
797
+
798
+ .tox.tox-tinymce {
799
+ border-style: none;
800
+ }
801
+
802
+
803
+
804
+ .tox-editor-container .tox-toolbar,
805
+ .tox-editor-container .tox-toolbar-overlord {
806
+ background-image: none;
807
+ margin-bottom: 5px;
808
+ }
809
+
810
+ .tox-editor-container .tox-toolbar__primary {
811
+ background-image: none;
812
+ }
813
+
814
+
815
+
816
+ .tox .tox-menubar + .tox-toolbar-overlord .tox-toolbar__primary {
817
+ border-style: none;
818
+ }
819
+
820
+ .tox .tox-toolbar .tox-toolbar__group,
821
+ .tox .tox-toolbar-overlord .tox-toolbar__group,
822
+ .tox-toolbar__overflow .tox-toolbar__group,
823
+ .tox:not([dir='rtl']) .tox-toolbar__group:not(:last-of-type),
824
+ .tox[dir='rtl'] .tox-toolbar__group:not(:last-of-type) {
825
+ border-style: none;
826
+ }
827
+
828
+ .tox-toolbar .tox-toolbar__group::after,
829
+ .tox-toolbar-overlord .tox-toolbar__group::after,
830
+ .tox-toolbar__overflow .tox-toolbar__group::after,
831
+ .tox-tinymce-aux .tox-toolbar .tox-toolbar__group::after {
832
+
833
+ content: '';
834
+ display: inline-block;
835
+ box-sizing: border-box;
836
+ border-inline-end: 1px solid ${theme.canvasBorderColor || 'inherit'};
837
+ width: 8px;
838
+ height: 24px;
839
+ }
840
+
841
+ [dir="ltr"] .tox-toolbar .tox-toolbar__group::after,
842
+ [dir="ltr"] .tox-toolbar-overlord .tox-toolbar__group::after,
843
+ [dir="ltr"] .tox-toolbar__overflow .tox-toolbar__group::after,
844
+ [dir="ltr"] .tox-tinymce-aux .tox-toolbar .tox-toolbar__group::after {
845
+ border-right: 1px solid ${theme.canvasBorderColor || 'inherit'};
846
+ }
847
+
848
+ [dir="rtl"] .tox-toolbar .tox-toolbar__group::after,
849
+ [dir="rtl"] .tox-toolbar-overlord .tox-toolbar__group::after,
850
+ [dir="rtl"] .tox-toolbar__overflow .tox-toolbar__group::after,
851
+ [dir="rtl"] .tox-tinymce-aux .tox-toolbar .tox-toolbar__group::after {
852
+ border-left: 1px solid ${theme.canvasBorderColor || 'inherit'};
853
+ }
854
+
855
+ .tox-toolbar .tox-toolbar__group:last-child::after,
856
+ .tox-toolbar-overlord .tox-toolbar__group:last-child::after,
857
+ .tox-toolbar__overflow .tox-toolbar__group:last-child::after,
858
+ .tox-tinymce-aux .tox-toolbar .tox-toolbar__group:last-child::after {
859
+ border-inline-end-width: 0;
860
+ padding-inline-start: 0;
861
+ width: 0;
862
+ }
863
+
864
+ [dir="ltr"] .tox-toolbar .tox-toolbar__group:last-child::after,
865
+ [dir="ltr"] .tox-toolbar-overlord .tox-toolbar__group:last-child::after,
866
+ [dir="ltr"] .tox-toolbar__overflow .tox-toolbar__group:last-child::after,
867
+ [dir="ltr"] .tox-tinymce-aux .tox-toolbar .tox-toolbar__group:last-child::after {
868
+ border-right-width: 0;
869
+ padding-left: 0;
870
+ }
871
+
872
+ [dir="rtl"] .tox-toolbar .tox-toolbar__group:last-child::after,
873
+ [dir="rtl"] .tox-toolbar-overlord .tox-toolbar__group:last-child::after,
874
+ [dir="rtl"] .tox-toolbar__overflow .tox-toolbar__group:last-child::after,
875
+ [dir="rtl"] .tox-tinymce-aux .tox-toolbar .tox-toolbar__group:last-child::after {
876
+ border-left-width: 0;
877
+ padding-right: 0;
878
+ }
879
+
880
+ .tox .tox-tbtn--bespoke .tox-tbtn__select-label {
881
+ width: auto;
882
+ padding-inline-end: 0;
883
+ }
884
+
885
+ [dir="ltr"] .tox .tox-tbtn--bespoke .tox-tbtn__select-label {
886
+ padding-right: 0;
887
+ }
888
+
889
+ [dir="rtl"] .tox .tox-tbtn--bespoke .tox-tbtn__select-label {
890
+ padding-left: 0;
891
+ }
892
+
893
+ .tox .tox-tbtn {
894
+ box-sizing: border-box;
895
+ }
896
+
897
+ .tox .tox-tbtn,
898
+ .tox .tox-split-button,
899
+ .tox .tox-tbtn--select {
900
+ border-style: none;
901
+ margin: 2px 2px 3px;
902
+ }
903
+
904
+ .tox .tox-split-button .tox-tbtn {
905
+ margin-inline-end: 0;
906
+ }
907
+
908
+ [dir="ltr"] .tox .tox-split-button .tox-tbtn {
909
+ margin-right: 0;
910
+ }
911
+
912
+ [dir="rtl"] .tox .tox-split-button .tox-tbtn {
913
+ margin-left: 0;
914
+ }
915
+
916
+ .tox .tox-split-button .tox-tbtn.tox-split-button__chevron {
917
+ margin-inline-start: 0;
918
+ }
919
+
920
+ [dir="ltr"] .tox .tox-split-button .tox-tbtn.tox-split-button__chevron {
921
+ margin-left: 0;
922
+ }
923
+
924
+ [dir="rtl"] .tox .tox-split-button .tox-tbtn.tox-split-button__chevron {
925
+ margin-right: 0;
926
+ }
927
+
928
+ .tox .tox-edit-area.active,
929
+ .tox .tox-edit-area.active iframe {
930
+ border-color: ${theme.canvasFocusBorderColor || 'inherit'};
931
+ }
932
+
933
+ .tox .tox-split-button .tox-tbtn {
934
+ margin-inline-end: 0;
935
+ }
936
+
937
+ [dir="ltr"] .tox .tox-split-button .tox-tbtn {
938
+ margin-right: 0;
939
+ }
940
+
941
+ [dir="rtl"] .tox .tox-split-button .tox-tbtn {
942
+ margin-left: 0;
943
+ }
944
+
945
+ .tox .tox-split-button .tox-tbtn.tox-split-button__chevron {
946
+ margin-inline-start: -6px;
947
+ background-color: ${theme.canvasBackgroundColor || 'inherit'};
948
+
949
+
950
+ width: 30px;
951
+ }
952
+
953
+ [dir="ltr"] .tox .tox-split-button .tox-tbtn.tox-split-button__chevron {
954
+ margin-left: -6px;
955
+ }
956
+
957
+ [dir="rtl"] .tox .tox-split-button .tox-tbtn.tox-split-button__chevron {
958
+ margin-right: -6px;
959
+ }
960
+
961
+ .tox .tox-split-button:hover {
962
+ box-shadow: none;
963
+ }
964
+
965
+ .tox .tox-split-button:hover .tox-split-button__chevron {
966
+ background: ${theme.canvasBackgroundColor || 'inherit'};
967
+ color: ${theme.canvasButtonColor || 'inherit'};
968
+ box-shadow: none;
969
+ }
970
+
971
+ .tox .tox-tbtn:hover.tox-split-button__chevron,
972
+ .tox .tox-tbtn:focus.tox-split-button__chevron {
973
+ box-shadow: none;
974
+ }
975
+
976
+ .tox .tox-toolbar__primary {
977
+ border-width: 0;
978
+ }
979
+
980
+ .tox-tbtn.tox-tbtn--select .tox-icon.tox-tbtn__icon-wrap {
981
+ margin-inline-end: 4px;
982
+ }
983
+
984
+ [dir="ltr"] .tox-tbtn.tox-tbtn--select .tox-icon.tox-tbtn__icon-wrap {
985
+ margin-right: 4px;
986
+ }
987
+
988
+ [dir="rtl"] .tox-tbtn.tox-tbtn--select .tox-icon.tox-tbtn__icon-wrap {
989
+ margin-left: 4px;
990
+ }
991
+
992
+
993
+
994
+ .tox .tox-icon svg:not([height]),
995
+ .tox .tox-collection__item-icon svg:not([height]) {
996
+ height: 16px;
997
+ }
998
+
999
+
1000
+
1001
+ .tox .tox-collection--toolbar-lg .tox-collection__item-icon {
1002
+ height: 30px;
1003
+ width: 30px;
1004
+ }
1005
+
1006
+
1007
+
1008
+ .tox-selectfield__icon-js svg {
1009
+ width: 10px;
1010
+ height: 10px;
1011
+ }
1012
+
1013
+
1014
+
1015
+ [data-canvascontenttray-content]:focus {
1016
+ outline-color: ${theme.canvasFocusBorderColor || 'inherit'};
1017
+ }
1018
+
1019
+ .tox .tox-toolbar-overlord .tox-toolbar__overflow {
1020
+
1021
+ background: none;
1022
+ }
1023
+ `;
1024
+ },
1025
+ 'root': 'canvas-rce__skins--root'
1026
+ };
54
1027
  const skinCSSBinding = {
55
1028
  componentId: 'djgIv',
56
1029
  template: function (theme) {
@@ -2374,7 +3347,6 @@ import { insertPlaceholder, placeholderInfoFor, removePlaceholder } from '../uti
2374
3347
  import { transformRceContentForEditing } from './transformContent';
2375
3348
  import { IconMoreSolid } from '@instructure/ui-icons/es/svg';
2376
3349
  import EncryptedStorage from '../util/encrypted-storage';
2377
- import buildStyle from './style';
2378
3350
  const RestoreAutoSaveModal = /*#__PURE__*/React.lazy(() => import('./RestoreAutoSaveModal'));
2379
3351
  const RceHtmlEditor = /*#__PURE__*/React.lazy(() => import('./RceHtmlEditor'));
2380
3352
  const ASYNC_FOCUS_TIMEOUT = 250;
@@ -2468,8 +3440,7 @@ function renderLoading() {
2468
3440
  }
2469
3441
 
2470
3442
  let alertIdValue = 0;
2471
-
2472
- class RCEWrapper extends React.Component {
3443
+ let RCEWrapper = (_dec = themeable(theme, styles), _dec(_class = (_class2 = class RCEWrapper extends React.Component {
2473
3444
  static getByEditor(editor) {
2474
3445
  return editorWrappers.get(editor);
2475
3446
  }
@@ -2714,67 +3685,9 @@ class RCEWrapper extends React.Component {
2714
3685
 
2715
3686
  this.checkAccessibility();
2716
3687
  this.fixToolbarKeyboardNavigation();
2717
- this.forwardPostMessages();
2718
3688
  (_this$props$onInitted = (_this$props = this.props).onInitted) === null || _this$props$onInitted === void 0 ? void 0 : _this$props$onInitted.call(_this$props, editor);
2719
3689
  };
2720
3690
 
2721
- this.forwardPostMessages = () => {
2722
- const windowReferences = [];
2723
- const rceWindow = this.editor.getWin(); // explicitly assign name for reference by parent window
2724
-
2725
- rceWindow.name = `${RCEWrapper.editorFrameName}_${this.id}`;
2726
- rceWindow.addEventListener('message', this.forwardPostMessagesHandler(rceWindow, windowReferences));
2727
- };
2728
-
2729
- this.forwardPostMessagesHandler = (rceWindow, windowReferences) => e => {
2730
- let message;
2731
-
2732
- try {
2733
- message = typeof e.data === 'string' ? JSON.parse(e.data) : e.data;
2734
- } catch (err) {
2735
- // unparseable message may not be meant for our handlers
2736
- return false;
2737
- } // NOTE: the code to encode/decode `sourceToolInfo` is duplicated in
2738
- // the ui/features/post_message_forwarding/index.ts, and
2739
- // cannot be DRY'd because RCE is in a package
2740
-
2741
-
2742
- if (e.origin === rceWindow.origin) {
2743
- const {
2744
- sourceToolInfo,
2745
- ...messageWithoutSourceToolInfo
2746
- } = message;
2747
- const targetOrigin = sourceToolInfo === null || sourceToolInfo === void 0 ? void 0 : sourceToolInfo.origin;
2748
- const targetWindow = windowReferences[sourceToolInfo === null || sourceToolInfo === void 0 ? void 0 : sourceToolInfo.windowId];
2749
-
2750
- if (!targetOrigin || !targetWindow) {
2751
- return false;
2752
- }
2753
-
2754
- targetWindow === null || targetWindow === void 0 ? void 0 : targetWindow.postMessage(messageWithoutSourceToolInfo, targetOrigin);
2755
- } else {
2756
- // message is from tool, forward to Canvas window
2757
- // We can't forward the whole `e.source` window in the postMessage,
2758
- // so we keep a list (`windowReferences`) of all windows we've received
2759
- // messages from, and include the index into that list as `windowId`
2760
- let windowId = windowReferences.indexOf(e.source);
2761
-
2762
- if (windowId === -1) {
2763
- windowReferences.push(e.source);
2764
- windowId = windowReferences.length - 1;
2765
- }
2766
-
2767
- const newMessage = { ...message,
2768
- sourceToolInfo: {
2769
- origin: e.origin,
2770
- windowId
2771
- },
2772
- frameName: rceWindow.name
2773
- };
2774
- rceWindow.parent.postMessage(newMessage, rceWindow.origin);
2775
- }
2776
- };
2777
-
2778
3691
  this.fixToolbarKeyboardNavigation = () => {
2779
3692
  var _this$_elementRef$cur2;
2780
3693
 
@@ -3107,10 +4020,9 @@ class RCEWrapper extends React.Component {
3107
4020
  alertIdValue = 0;
3108
4021
  };
3109
4022
 
3110
- this.style = buildStyle(); // Set up some limited global state that can be referenced
4023
+ // Set up some limited global state that can be referenced
3111
4024
  // as needed in RCE's components and function / plugin definitions
3112
4025
  // Not intended to be dynamically changed!
3113
-
3114
4026
  RCEGlobals.setFeatures(this.getRequiredFeatureStatuses());
3115
4027
  RCEGlobals.setConfig(this.getRequiredConfigValues());
3116
4028
  this.editor = null; // my tinymce editor instance
@@ -3873,7 +4785,7 @@ class RCEWrapper extends React.Component {
3873
4785
  addKebabIcon(editor);
3874
4786
  editorWrappers.set(editor, this);
3875
4787
  const trayPropsWithColor = {
3876
- brandColor: this.style.theme.canvasBrandColor,
4788
+ brandColor: this.theme.canvasBrandColor,
3877
4789
  ...this.props.trayProps
3878
4790
  };
3879
4791
  (_bridge$trayProps = bridge.trayProps) === null || _bridge$trayProps === void 0 ? void 0 : _bridge$trayProps.set(editor, trayPropsWithColor);
@@ -4142,7 +5054,7 @@ class RCEWrapper extends React.Component {
4142
5054
  });
4143
5055
  }
4144
5056
 
4145
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("style", null, this.style.css), /*#__PURE__*/React.createElement(StoreProvider, {
5057
+ return /*#__PURE__*/React.createElement(StoreProvider, {
4146
5058
  jwt: (_this$props$trayProps5 = this.props.trayProps) === null || _this$props$trayProps5 === void 0 ? void 0 : _this$props$trayProps5.jwt,
4147
5059
  refreshToken: (_this$props$trayProps6 = this.props.trayProps) === null || _this$props$trayProps6 === void 0 ? void 0 : _this$props$trayProps6.refreshToken,
4148
5060
  host: (_this$props$trayProps7 = this.props.trayProps) === null || _this$props$trayProps7 === void 0 ? void 0 : _this$props$trayProps7.host,
@@ -4154,7 +5066,7 @@ class RCEWrapper extends React.Component {
4154
5066
 
4155
5067
  return /*#__PURE__*/React.createElement("div", {
4156
5068
  key: this.id,
4157
- className: `${this.style.classNames.root} rce-wrapper`,
5069
+ className: `${styles.root} rce-wrapper`,
4158
5070
  ref: this._elementRef,
4159
5071
  onFocus: this.handleFocusRCE,
4160
5072
  onBlur: this.handleBlurRCE
@@ -4185,8 +5097,7 @@ class RCEWrapper extends React.Component {
4185
5097
  onFocus: this.handleFocusEditor,
4186
5098
  onBlur: this.handleBlurEditor,
4187
5099
  onNodeChange: this.onNodeChange,
4188
- onEditorChange: this.onEditorChange,
4189
- liveRegion: this.props.liveRegion
5100
+ onEditorChange: this.onEditorChange
4190
5101
  })), /*#__PURE__*/React.createElement(StatusBar, {
4191
5102
  id: this._statusBarId,
4192
5103
  rceIsFullscreen: this._isFullscreen(),
@@ -4200,7 +5111,7 @@ class RCEWrapper extends React.Component {
4200
5111
  onKBShortcutModalOpen: this.openKBShortcutModal,
4201
5112
  onA11yChecker: this.onA11yChecker,
4202
5113
  onFullscreen: this.handleClickFullscreen,
4203
- a11yBadgeColor: this.style.theme.canvasBadgeBackgroundColor,
5114
+ a11yBadgeColor: this.theme.canvasBadgeBackgroundColor,
4204
5115
  a11yErrorsCount: this.state.a11yErrorsCount,
4205
5116
  onWordcountModalOpen: () => launchWordcountModal(this.mceInstance(), document, {
4206
5117
  skipEditorFocus: true
@@ -4234,17 +5145,10 @@ class RCEWrapper extends React.Component {
4234
5145
  screenReaderOnly: true,
4235
5146
  liveRegion: this.props.liveRegion
4236
5147
  }, this.state.announcement));
4237
- }));
5148
+ });
4238
5149
  }
4239
5150
 
4240
- } // standard: string of tinymce menu commands
4241
- // e.g. 'instructure_links | inserttable instructure_media_embed | hr'
4242
- // custom: a string of tinymce menu commands
4243
- // returns: standard + custom with any duplicate commands removed from custom
4244
-
4245
-
4246
- RCEWrapper.propTypes = rceWrapperPropTypes;
4247
- RCEWrapper.defaultProps = {
5151
+ }, _class2.propTypes = rceWrapperPropTypes, _class2.defaultProps = {
4248
5152
  trayProps: null,
4249
5153
  autosave: {
4250
5154
  enabled: false
@@ -4255,9 +5159,10 @@ RCEWrapper.defaultProps = {
4255
5159
  features: {},
4256
5160
  timezone: (_Intl = Intl) === null || _Intl === void 0 ? void 0 : (_Intl$DateTimeFormat = _Intl.DateTimeFormat()) === null || _Intl$DateTimeFormat === void 0 ? void 0 : (_Intl$DateTimeFormat$ = _Intl$DateTimeFormat.resolvedOptions()) === null || _Intl$DateTimeFormat$ === void 0 ? void 0 : _Intl$DateTimeFormat$.timeZone,
4257
5161
  canvasOrigin: ''
4258
- };
4259
- RCEWrapper.skinCssInjected = false;
4260
- RCEWrapper.editorFrameName = 'active_rce_frame';
5162
+ }, _class2.skinCssInjected = false, _class2)) || _class); // standard: string of tinymce menu commands
5163
+ // e.g. 'instructure_links | inserttable instructure_media_embed | hr'
5164
+ // custom: a string of tinymce menu commands
5165
+ // returns: standard + custom with any duplicate commands removed from custom
4261
5166
 
4262
5167
  function mergeMenuItems(standard, custom) {
4263
5168
  var _custom$trim;