@instructure/canvas-rce 5.10.1 → 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
  }
@@ -3049,10 +4020,9 @@ class RCEWrapper extends React.Component {
3049
4020
  alertIdValue = 0;
3050
4021
  };
3051
4022
 
3052
- this.style = buildStyle(); // Set up some limited global state that can be referenced
4023
+ // Set up some limited global state that can be referenced
3053
4024
  // as needed in RCE's components and function / plugin definitions
3054
4025
  // Not intended to be dynamically changed!
3055
-
3056
4026
  RCEGlobals.setFeatures(this.getRequiredFeatureStatuses());
3057
4027
  RCEGlobals.setConfig(this.getRequiredConfigValues());
3058
4028
  this.editor = null; // my tinymce editor instance
@@ -3815,7 +4785,7 @@ class RCEWrapper extends React.Component {
3815
4785
  addKebabIcon(editor);
3816
4786
  editorWrappers.set(editor, this);
3817
4787
  const trayPropsWithColor = {
3818
- brandColor: this.style.theme.canvasBrandColor,
4788
+ brandColor: this.theme.canvasBrandColor,
3819
4789
  ...this.props.trayProps
3820
4790
  };
3821
4791
  (_bridge$trayProps = bridge.trayProps) === null || _bridge$trayProps === void 0 ? void 0 : _bridge$trayProps.set(editor, trayPropsWithColor);
@@ -4084,7 +5054,7 @@ class RCEWrapper extends React.Component {
4084
5054
  });
4085
5055
  }
4086
5056
 
4087
- 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, {
4088
5058
  jwt: (_this$props$trayProps5 = this.props.trayProps) === null || _this$props$trayProps5 === void 0 ? void 0 : _this$props$trayProps5.jwt,
4089
5059
  refreshToken: (_this$props$trayProps6 = this.props.trayProps) === null || _this$props$trayProps6 === void 0 ? void 0 : _this$props$trayProps6.refreshToken,
4090
5060
  host: (_this$props$trayProps7 = this.props.trayProps) === null || _this$props$trayProps7 === void 0 ? void 0 : _this$props$trayProps7.host,
@@ -4096,7 +5066,7 @@ class RCEWrapper extends React.Component {
4096
5066
 
4097
5067
  return /*#__PURE__*/React.createElement("div", {
4098
5068
  key: this.id,
4099
- className: `${this.style.classNames.root} rce-wrapper`,
5069
+ className: `${styles.root} rce-wrapper`,
4100
5070
  ref: this._elementRef,
4101
5071
  onFocus: this.handleFocusRCE,
4102
5072
  onBlur: this.handleBlurRCE
@@ -4127,8 +5097,7 @@ class RCEWrapper extends React.Component {
4127
5097
  onFocus: this.handleFocusEditor,
4128
5098
  onBlur: this.handleBlurEditor,
4129
5099
  onNodeChange: this.onNodeChange,
4130
- onEditorChange: this.onEditorChange,
4131
- liveRegion: this.props.liveRegion
5100
+ onEditorChange: this.onEditorChange
4132
5101
  })), /*#__PURE__*/React.createElement(StatusBar, {
4133
5102
  id: this._statusBarId,
4134
5103
  rceIsFullscreen: this._isFullscreen(),
@@ -4142,7 +5111,7 @@ class RCEWrapper extends React.Component {
4142
5111
  onKBShortcutModalOpen: this.openKBShortcutModal,
4143
5112
  onA11yChecker: this.onA11yChecker,
4144
5113
  onFullscreen: this.handleClickFullscreen,
4145
- a11yBadgeColor: this.style.theme.canvasBadgeBackgroundColor,
5114
+ a11yBadgeColor: this.theme.canvasBadgeBackgroundColor,
4146
5115
  a11yErrorsCount: this.state.a11yErrorsCount,
4147
5116
  onWordcountModalOpen: () => launchWordcountModal(this.mceInstance(), document, {
4148
5117
  skipEditorFocus: true
@@ -4176,17 +5145,10 @@ class RCEWrapper extends React.Component {
4176
5145
  screenReaderOnly: true,
4177
5146
  liveRegion: this.props.liveRegion
4178
5147
  }, this.state.announcement));
4179
- }));
5148
+ });
4180
5149
  }
4181
5150
 
4182
- } // standard: string of tinymce menu commands
4183
- // e.g. 'instructure_links | inserttable instructure_media_embed | hr'
4184
- // custom: a string of tinymce menu commands
4185
- // returns: standard + custom with any duplicate commands removed from custom
4186
-
4187
-
4188
- RCEWrapper.propTypes = rceWrapperPropTypes;
4189
- RCEWrapper.defaultProps = {
5151
+ }, _class2.propTypes = rceWrapperPropTypes, _class2.defaultProps = {
4190
5152
  trayProps: null,
4191
5153
  autosave: {
4192
5154
  enabled: false
@@ -4197,8 +5159,10 @@ RCEWrapper.defaultProps = {
4197
5159
  features: {},
4198
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,
4199
5161
  canvasOrigin: ''
4200
- };
4201
- RCEWrapper.skinCssInjected = false;
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
4202
5166
 
4203
5167
  function mergeMenuItems(standard, custom) {
4204
5168
  var _custom$trim;