@windward/core 0.2.3 → 0.4.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 (173) hide show
  1. package/babel.config.js +1 -1
  2. package/components/Content/Blocks/Accordion.vue +37 -0
  3. package/components/Content/Blocks/ClickableIcons.vue +107 -20
  4. package/components/Content/Blocks/Email.vue +9 -0
  5. package/components/Content/Blocks/Image.vue +48 -20
  6. package/components/Content/Blocks/UserUpload/ManageDataTableUserFiles.vue +1 -1
  7. package/components/Content/Blocks/UserUpload.vue +1 -1
  8. package/components/Content/Blocks/Video.vue +80 -9
  9. package/components/Navigation/Items/AskTheExpert.vue +2 -1
  10. package/components/Navigation/Items/CourseGlossaryToolNav.vue +2 -1
  11. package/components/Settings/AccordionSettings.vue +64 -4
  12. package/components/Settings/BlockQuoteSettings.vue +9 -1
  13. package/components/Settings/ClickableIconsSettings.vue +104 -13
  14. package/components/Settings/EmailSettings.vue +13 -13
  15. package/components/Settings/FeedbackSettings.vue +2 -1
  16. package/components/Settings/HorizontalRuleSettings.vue +2 -1
  17. package/components/Settings/ImageSettings.vue +148 -39
  18. package/components/Settings/MathSettings.vue +6 -5
  19. package/components/Settings/OpenResponseCollateSettings.vue +5 -1
  20. package/components/Settings/OpenResponseSettings.vue +9 -4
  21. package/components/Settings/ScenarioChoiceSettings.vue +15 -4
  22. package/components/Settings/TabSettings.vue +12 -4
  23. package/components/Settings/TextEditorSettings.vue +14 -7
  24. package/components/Settings/UserUploadSettings.vue +11 -4
  25. package/components/Settings/VideoSettings.vue +121 -66
  26. package/components/utils/ContentViewer.vue +6 -1
  27. package/components/utils/MathExpressionEditor.vue +10 -5
  28. package/components/utils/TinyMCEWrapper.vue +120 -19
  29. package/components/utils/assets/tinymce/content/dark/content.scss +4 -0
  30. package/components/utils/assets/tinymce/{css/content.scss → content/global.scss} +38 -37
  31. package/components/utils/assets/tinymce/content/light/content.scss +4 -0
  32. package/components/utils/assets/tinymce/ui/dark/content.scss +803 -0
  33. package/components/utils/assets/tinymce/ui/dark/skin.scss +4727 -0
  34. package/components/utils/assets/tinymce/ui/global.scss +19 -0
  35. package/components/utils/assets/tinymce/ui/light/content.scss +822 -0
  36. package/components/utils/assets/tinymce/ui/light/skin.scss +4731 -0
  37. package/components/utils/glossary/CourseGlossary.vue +4 -3
  38. package/components/utils/glossary/CourseGlossaryForm.vue +1 -1
  39. package/config/tinymce.config.ts +22 -14
  40. package/helpers/FillInBlankHelper.ts +34 -28
  41. package/helpers/GlossaryHelper.ts +90 -73
  42. package/helpers/MathHelper.ts +49 -28
  43. package/helpers/tinymce/plugin.ts +9 -7
  44. package/i18n/en-US/components/content/blocks/image.ts +1 -1
  45. package/i18n/en-US/components/settings/clickable_icon.ts +2 -0
  46. package/i18n/en-US/components/settings/image.ts +6 -1
  47. package/i18n/en-US/shared/settings.ts +3 -0
  48. package/i18n/es-ES/components/content/blocks/image.ts +1 -1
  49. package/i18n/es-ES/components/settings/clickable_icon.ts +2 -0
  50. package/i18n/es-ES/components/settings/image.ts +8 -1
  51. package/i18n/es-ES/shared/settings.ts +3 -0
  52. package/i18n/sv-SE/components/content/blocks/image.ts +1 -1
  53. package/i18n/sv-SE/components/settings/clickable_icon.ts +2 -0
  54. package/i18n/sv-SE/components/settings/image.ts +6 -1
  55. package/i18n/sv-SE/shared/settings.ts +3 -0
  56. package/package.json +4 -3
  57. package/test/Components/Settings/AccordionSettings.spec.js +16 -2
  58. package/test/__mocks__/componentsMock.js +57 -97
  59. package/test/__mocks__/contentBlockMock.js +7 -1
  60. package/test/__mocks__/contentSettingsMock.js +8 -1
  61. package/test/__mocks__/helpersMock.js +9 -0
  62. package/test/__mocks__/modelMock.js +101 -31
  63. package/test/helpers/MathHelper.spec.js +22 -3
  64. package/tsconfig.json +1 -0
  65. package/.idea/codeStyles/Project.xml +0 -58
  66. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  67. package/.idea/inspectionProfiles/Project_Default.xml +0 -6
  68. package/.idea/modules.xml +0 -8
  69. package/.idea/php-docker-settings.xml +0 -24
  70. package/.idea/php.xml +0 -19
  71. package/.idea/vcs.xml +0 -6
  72. package/.idea/watcherTasks.xml +0 -4
  73. package/.idea/windward-ui-plugin-core.iml +0 -8
  74. package/coverage/clover.xml +0 -223
  75. package/coverage/coverage-final.json +0 -16
  76. package/coverage/lcov-report/base.css +0 -224
  77. package/coverage/lcov-report/block-navigation.js +0 -87
  78. package/coverage/lcov-report/components/Content/Blocks/Accordion.vue.html +0 -430
  79. package/coverage/lcov-report/components/Content/Blocks/Image.vue.html +0 -394
  80. package/coverage/lcov-report/components/Content/Blocks/Math.vue.html +0 -262
  81. package/coverage/lcov-report/components/Content/Blocks/RichText.vue.html +0 -295
  82. package/coverage/lcov-report/components/Content/Blocks/Tab.vue.html +0 -415
  83. package/coverage/lcov-report/components/Content/Blocks/Table.vue.html +0 -667
  84. package/coverage/lcov-report/components/Content/Blocks/Video.vue.html +0 -2275
  85. package/coverage/lcov-report/components/Content/Blocks/index.html +0 -206
  86. package/coverage/lcov-report/components/utils/ContentViewer.vue.html +0 -199
  87. package/coverage/lcov-report/components/utils/MathExpressionEditor.vue.html +0 -919
  88. package/coverage/lcov-report/components/utils/MathLiveWrapper.vue.html +0 -343
  89. package/coverage/lcov-report/components/utils/TinyMCEWrapper.vue.html +0 -271
  90. package/coverage/lcov-report/components/utils/index.html +0 -161
  91. package/coverage/lcov-report/config/index.html +0 -116
  92. package/coverage/lcov-report/config/tinymce.config.js.html +0 -493
  93. package/coverage/lcov-report/favicon.png +0 -0
  94. package/coverage/lcov-report/helpers/MathHelper.ts.html +0 -793
  95. package/coverage/lcov-report/helpers/index.html +0 -116
  96. package/coverage/lcov-report/helpers/tinymce/index.html +0 -116
  97. package/coverage/lcov-report/helpers/tinymce/plugin.ts.html +0 -334
  98. package/coverage/lcov-report/index.html +0 -191
  99. package/coverage/lcov-report/prettify.css +0 -1
  100. package/coverage/lcov-report/prettify.js +0 -2
  101. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  102. package/coverage/lcov-report/sorter.js +0 -196
  103. package/coverage/lcov-report/test/index.html +0 -116
  104. package/coverage/lcov-report/test/mocks.js.html +0 -457
  105. package/coverage/lcov.info +0 -403
  106. package/lib/helpers/GlossaryHelper.d.ts +0 -9
  107. package/lib/helpers/GlossaryHelper.js +0 -118
  108. package/lib/helpers/GlossaryTerm.d.ts +0 -10
  109. package/lib/helpers/GlossaryTerm.js +0 -22
  110. package/lib/helpers/MathHelper.d.ts +0 -99
  111. package/lib/helpers/MathHelper.js +0 -194
  112. package/lib/helpers/tinymce/plugin.d.ts +0 -2
  113. package/lib/helpers/tinymce/plugin.js +0 -86
  114. package/lib/i18n/en-US/components/content/blocks/image.d.ts +0 -6
  115. package/lib/i18n/en-US/components/content/blocks/image.js +0 -7
  116. package/lib/i18n/en-US/components/content/blocks/index.d.ts +0 -75
  117. package/lib/i18n/en-US/components/content/blocks/index.js +0 -14
  118. package/lib/i18n/en-US/components/content/blocks/tab.d.ts +0 -5
  119. package/lib/i18n/en-US/components/content/blocks/tab.js +0 -6
  120. package/lib/i18n/en-US/components/content/blocks/table.d.ts +0 -5
  121. package/lib/i18n/en-US/components/content/blocks/table.js +0 -6
  122. package/lib/i18n/en-US/components/content/blocks/user_upload.d.ts +0 -13
  123. package/lib/i18n/en-US/components/content/blocks/user_upload.js +0 -14
  124. package/lib/i18n/en-US/components/content/blocks/video.d.ts +0 -48
  125. package/lib/i18n/en-US/components/content/blocks/video.js +0 -49
  126. package/lib/i18n/en-US/components/content/index.d.ts +0 -77
  127. package/lib/i18n/en-US/components/content/index.js +0 -6
  128. package/lib/i18n/en-US/components/index.d.ts +0 -140
  129. package/lib/i18n/en-US/components/index.js +0 -12
  130. package/lib/i18n/en-US/components/navigation/image.d.ts +0 -5
  131. package/lib/i18n/en-US/components/navigation/image.js +0 -6
  132. package/lib/i18n/en-US/components/navigation/index.d.ts +0 -10
  133. package/lib/i18n/en-US/components/navigation/index.js +0 -8
  134. package/lib/i18n/en-US/components/navigation/user_upload.d.ts +0 -4
  135. package/lib/i18n/en-US/components/navigation/user_upload.js +0 -5
  136. package/lib/i18n/en-US/components/settings/clickable_icon.d.ts +0 -6
  137. package/lib/i18n/en-US/components/settings/clickable_icon.js +0 -7
  138. package/lib/i18n/en-US/components/settings/image.d.ts +0 -2
  139. package/lib/i18n/en-US/components/settings/image.js +0 -3
  140. package/lib/i18n/en-US/components/settings/index.d.ts +0 -39
  141. package/lib/i18n/en-US/components/settings/index.js +0 -14
  142. package/lib/i18n/en-US/components/settings/text_editor.d.ts +0 -8
  143. package/lib/i18n/en-US/components/settings/text_editor.js +0 -9
  144. package/lib/i18n/en-US/components/settings/user_upload.d.ts +0 -12
  145. package/lib/i18n/en-US/components/settings/user_upload.js +0 -13
  146. package/lib/i18n/en-US/components/settings/video.d.ts +0 -13
  147. package/lib/i18n/en-US/components/settings/video.js +0 -14
  148. package/lib/i18n/en-US/components/utils/index.d.ts +0 -15
  149. package/lib/i18n/en-US/components/utils/index.js +0 -6
  150. package/lib/i18n/en-US/components/utils/tiny_mce_wrapper.d.ts +0 -13
  151. package/lib/i18n/en-US/components/utils/tiny_mce_wrapper.js +0 -14
  152. package/lib/i18n/en-US/index.d.ts +0 -197
  153. package/lib/i18n/en-US/index.js +0 -16
  154. package/lib/i18n/en-US/modules/index.d.ts +0 -2
  155. package/lib/i18n/en-US/modules/index.js +0 -6
  156. package/lib/i18n/en-US/pages/glossary.d.ts +0 -8
  157. package/lib/i18n/en-US/pages/glossary.js +0 -9
  158. package/lib/i18n/en-US/pages/index.d.ts +0 -13
  159. package/lib/i18n/en-US/pages/index.js +0 -8
  160. package/lib/i18n/en-US/pages/user_upload.d.ts +0 -4
  161. package/lib/i18n/en-US/pages/user_upload.js +0 -5
  162. package/lib/i18n/en-US/shared/content_blocks.d.ts +0 -20
  163. package/lib/i18n/en-US/shared/content_blocks.js +0 -21
  164. package/lib/i18n/en-US/shared/index.d.ts +0 -39
  165. package/lib/i18n/en-US/shared/index.js +0 -10
  166. package/lib/i18n/en-US/shared/menu.d.ts +0 -4
  167. package/lib/i18n/en-US/shared/menu.js +0 -5
  168. package/lib/i18n/en-US/shared/settings.d.ts +0 -15
  169. package/lib/i18n/en-US/shared/settings.js +0 -16
  170. package/lib/i18n/en-US.d.ts +0 -197
  171. package/lib/i18n/en-US.js +0 -15
  172. package/lib/models/UserFileAsset.d.ts +0 -5
  173. package/lib/models/UserFileAsset.js +0 -37
@@ -1,11 +1,15 @@
1
1
  <template>
2
2
  <div :class="'tinymce-included-' + seed">
3
- <div>
4
- <editor
5
- :key="seed + config.skin"
3
+ <div
4
+ :class="
5
+ 'windward-tinymce-wrapper windward-tinymce-wrapper' +
6
+ (isDarkTheme ? '--theme-dark' : '--theme-light')
7
+ "
8
+ >
9
+ <Editor
10
+ :key="seed + (isDarkTheme ? '-theme-dark' : '-theme-light')"
6
11
  v-model="text"
7
12
  initial-value=""
8
- :api-key="api_key"
9
13
  :init="config"
10
14
  tag-name="div"
11
15
  model-events="change keydown blur focus mouseDown paste input submit SetContent"
@@ -16,7 +20,7 @@
16
20
  include,
17
21
  }"
18
22
  >
19
- </editor>
23
+ </Editor>
20
24
  </div>
21
25
 
22
26
  <v-btn-toggle dense multiple class="pt-1 d-flex justify-end">
@@ -41,14 +45,66 @@
41
45
 
42
46
  <script>
43
47
  import _ from 'lodash'
48
+ import 'tinymce'
44
49
  import Editor from '@tinymce/tinymce-vue'
50
+
51
+ /* Required TinyMCE components */
52
+ import 'tinymce/icons/default/icons.min.js'
53
+ import 'tinymce/themes/silver/theme.min.js'
54
+ import 'tinymce/models/dom/model.min.js'
55
+
56
+ /* Import a skin (can be a custom skin instead of the default) */
57
+ import 'tinymce/skins/ui/oxide/skin.js'
58
+ import 'tinymce/skins/ui/oxide-dark/skin.js'
59
+
60
+ /* Import plugins */
61
+ import 'tinymce/plugins/accordion'
62
+ import 'tinymce/plugins/advlist'
63
+ import 'tinymce/plugins/anchor'
64
+ import 'tinymce/plugins/autolink'
65
+ import 'tinymce/plugins/autoresize'
66
+ import 'tinymce/plugins/autosave'
67
+ import 'tinymce/plugins/charmap'
68
+ import 'tinymce/plugins/code'
69
+ import 'tinymce/plugins/codesample'
70
+ import 'tinymce/plugins/directionality'
71
+ import 'tinymce/plugins/emoticons'
72
+ import 'tinymce/plugins/fullscreen'
73
+ import 'tinymce/plugins/help'
74
+ import 'tinymce/plugins/image'
75
+ import 'tinymce/plugins/importcss'
76
+ import 'tinymce/plugins/insertdatetime'
77
+ import 'tinymce/plugins/link'
78
+ import 'tinymce/plugins/lists'
79
+ import 'tinymce/plugins/media'
80
+ import 'tinymce/plugins/nonbreaking'
81
+ import 'tinymce/plugins/pagebreak'
82
+ import 'tinymce/plugins/preview'
83
+ import 'tinymce/plugins/quickbars'
84
+ import 'tinymce/plugins/save'
85
+ import 'tinymce/plugins/searchreplace'
86
+ import 'tinymce/plugins/table'
87
+ import 'tinymce/plugins/visualblocks'
88
+ import 'tinymce/plugins/visualchars'
89
+ import 'tinymce/plugins/wordcount'
90
+
91
+ /* content UI CSS is required */
92
+ import 'tinymce/skins/ui/oxide/content.js'
93
+ import 'tinymce/skins/ui/oxide-dark/content.js'
94
+
95
+ /* The default content CSS can be changed or replaced with appropriate CSS for the editor content. */
96
+ import 'tinymce/skins/content/default/content.js'
97
+ import 'tinymce/skins/content/dark/content.js'
98
+
45
99
  import { WindwardPlugins } from '../../helpers/tinymce/plugin'
46
- import contentCss from '!raw-loader!sass-loader!./assets/tinymce/css/content.scss'
100
+ import ContentCss from '!raw-loader!sass-loader!./assets/tinymce/content/global.scss'
101
+ import EditorCss from '!raw-loader!sass-loader!./assets/tinymce/ui/global.scss'
47
102
  import Crypto from '~/helpers/Crypto'
103
+ import MathHelper from '../../helpers/MathHelper'
48
104
  export default {
49
105
  name: 'ContentEditorRichText',
50
106
  components: {
51
- editor: Editor,
107
+ Editor,
52
108
  },
53
109
  props: {
54
110
  value: { type: String, required: true, default: '' },
@@ -69,7 +125,11 @@ export default {
69
125
  label: { type: String, required: true, default: '' },
70
126
  },
71
127
  beforeMount() {
72
- this.text = this.value
128
+ if (MathHelper.containsLatex(this.value)) {
129
+ this.text = MathHelper.wrapMathContentForTinyMCE(this.value)
130
+ } else {
131
+ this.text = this.value
132
+ }
73
133
  },
74
134
  data() {
75
135
  return {
@@ -84,6 +144,9 @@ export default {
84
144
  },
85
145
  },
86
146
  computed: {
147
+ isDarkTheme() {
148
+ return this.$vuetify.theme.isDark
149
+ },
87
150
  filteredMenubar() {
88
151
  if (this.render) {
89
152
  return this.menubar
@@ -117,6 +180,15 @@ export default {
117
180
  browser_spellcheck: true,
118
181
  contextmenu: false,
119
182
  statusbar: false,
183
+ promotion: false,
184
+ license_key: 'gpl',
185
+ ui_mode: 'split',
186
+ dialog_type: 'modal',
187
+ body_class: this.isDarkTheme
188
+ ? 'editor--theme-dark'
189
+ : 'editor--theme-light',
190
+ block_formats:
191
+ 'Paragraph=p; Heading 3=h3; Heading 4=h4; Heading 5=h5; Heading 6=h6;',
120
192
  menu: {
121
193
  insert: {
122
194
  title: 'Insert',
@@ -132,10 +204,21 @@ export default {
132
204
  },
133
205
  },
134
206
  plugins: [
135
- 'advlist autolink lists link charmap',
136
- 'searchreplace visualblocks code fullscreen',
137
- 'anchor insertdatetime ',
138
- 'paste code wordcount table WindwardToolKit',
207
+ 'advlist',
208
+ 'autolink',
209
+ 'lists',
210
+ 'link',
211
+ 'charmap',
212
+ 'searchreplace',
213
+ 'visualblocks',
214
+ 'code',
215
+ 'fullscreen',
216
+ 'anchor',
217
+ 'insertdatetime',
218
+ 'code',
219
+ 'wordcount',
220
+ 'table',
221
+ 'WindwardToolKit',
139
222
  ],
140
223
  toolbar: this.filteredToolbar,
141
224
  table_advtab: false,
@@ -289,12 +372,13 @@ export default {
289
372
  'windward.core.shared.settings.title.placeholder'
290
373
  ),
291
374
  //required as it will be displayed as inline style in tinymce renderer
292
-
293
- skin: this.$vuetify.theme.isDark ? 'oxide-dark' : 'oxide',
375
+ skin: false,
294
376
  content_css: this.$vuetify.theme.isDark ? 'dark' : 'default',
377
+
295
378
  //we need to inject the glossary style directly
296
379
  content_style:
297
- contentCss +
380
+ ContentCss +
381
+ EditorCss +
298
382
  ' .glossary-word {\n' +
299
383
  ' display: inline-block;\n' +
300
384
  ' border-radius: 12px;\n' +
@@ -308,7 +392,12 @@ export default {
308
392
  },
309
393
 
310
394
  elementBody() {
311
- return [document.querySelector('.tinymce-included-' + this.seed)]
395
+ const ele = document.querySelector('.tinymce-included-' + this.seed)
396
+
397
+ if (ele) {
398
+ return [ele]
399
+ }
400
+ return []
312
401
  },
313
402
  },
314
403
  methods: {
@@ -340,10 +429,11 @@ export default {
340
429
  }
341
430
 
342
431
  if (
343
- parentNode.closest('.tinymce-included-' + this.seed) ||
432
+ (parentNode &&
433
+ (parentNode.closest('.tinymce-included-' + this.seed) ||
434
+ _.includes(parentNode.className, 'tox'))) ||
344
435
  _.includes(targetClass, 'tinymce-included-' + this.seed) ||
345
- _.includes(targetClass, 'tox') ||
346
- _.includes(parentNode.className, 'tox')
436
+ _.includes(targetClass, 'tox')
347
437
  ) {
348
438
  return false
349
439
  } else {
@@ -354,3 +444,14 @@ export default {
354
444
  },
355
445
  }
356
446
  </script>
447
+
448
+ <style lang="scss">
449
+ html:has(body.theme--light) {
450
+ @import './assets/tinymce/ui/light/content.scss';
451
+ @import './assets/tinymce/ui/light/skin.scss';
452
+ }
453
+ html:has(body.theme--dark) {
454
+ @import './assets/tinymce/ui/dark/content.scss';
455
+ @import './assets/tinymce/ui/dark/skin.scss';
456
+ }
457
+ </style>
@@ -0,0 +1,4 @@
1
+ body {
2
+ background-color: #24292a;
3
+ color: #fff;
4
+ }
@@ -1,32 +1,30 @@
1
-
2
1
  table {
3
2
  max-width: 100%;
4
- border: 1px solid var(--v-primary-base) !important;
3
+ border: 1px solid var(--v-primary-base);
5
4
  border-spacing: 0;
6
5
 
7
- th, td {
8
- border: 1px solid var(--v-primary-base) !important;
6
+ th,
7
+ td {
8
+ border: 1px solid var(--v-primary-base);
9
9
  padding: 3px;
10
10
  }
11
-
12
11
  }
13
12
  table {
14
- &.windward-table-default {
15
-
13
+ &.windward-table-default {
16
14
  color: black;
17
15
 
18
16
  th {
19
17
  color: white;
20
18
  padding: 16px;
21
- background-color: #3B4143FF;
19
+ background-color: #3b4143ff;
22
20
  }
23
21
 
24
- th, td {
22
+ th,
23
+ td {
25
24
  text-align: left;
26
25
  border: 1px solid black;
27
26
  }
28
27
 
29
-
30
28
  tr:nth-child(even) {
31
29
  td {
32
30
  background-color: #ffffff;
@@ -35,19 +33,18 @@ table {
35
33
 
36
34
  tr:nth-child(odd) {
37
35
  td {
38
- background-color: #EAEAEC;
36
+ background-color: #eaeaec;
39
37
  }
40
38
  }
41
39
 
42
-
43
- &--lines{
44
- border: 1px solid #ffffff;
45
- th, td {
46
- border: 1px solid #ffffff;
47
- }
48
- }
49
-
50
- }
40
+ &--lines {
41
+ border: 1px solid #ffffff;
42
+ th,
43
+ td {
44
+ border: 1px solid #ffffff;
45
+ }
46
+ }
47
+ }
51
48
 
52
49
  &.windward-table-excel {
53
50
  padding-bottom: 20px;
@@ -62,7 +59,7 @@ table {
62
59
  padding: 3px;
63
60
  text-align: center;
64
61
  color: black;
65
- background-color: #D7CCC8;
62
+ background-color: #d7ccc8;
66
63
  }
67
64
 
68
65
  td {
@@ -70,7 +67,6 @@ table {
70
67
  color: #000;
71
68
  padding: 5px;
72
69
  text-align: left;
73
-
74
70
  }
75
71
  }
76
72
 
@@ -83,23 +79,20 @@ table {
83
79
  background-color: #206e8c;
84
80
  }
85
81
 
86
- th, td {
82
+ th,
83
+ td {
87
84
  text-align: left;
88
-
89
85
  }
90
86
 
91
87
  tr:nth-child(even) {
92
88
  th {
93
89
  border: 1px solid black;
94
-
95
90
  }
96
91
 
97
92
  td {
98
93
  border: 1px solid black;
99
94
  background-color: #ffffff;
100
-
101
95
  }
102
-
103
96
  }
104
97
 
105
98
  tr:nth-child(odd) {
@@ -109,12 +102,11 @@ table {
109
102
 
110
103
  td {
111
104
  border: 1px solid black;
112
- background-color: #EAEAEC;
105
+ background-color: #eaeaec;
113
106
  }
114
107
  }
115
108
  }
116
109
 
117
-
118
110
  /* ledger table */
119
111
  &.windward-table-ledger {
120
112
  &--right-align {
@@ -129,12 +121,12 @@ table {
129
121
  background-color: white;
130
122
  color: black;
131
123
 
132
- thead, th {
124
+ thead,
125
+ th {
133
126
  border: 3px solid black;
134
127
  font-weight: bold;
135
128
  }
136
129
 
137
-
138
130
  tr {
139
131
  td {
140
132
  border: 1px solid black;
@@ -153,7 +145,8 @@ table {
153
145
  font-weight: bold;
154
146
  }
155
147
 
156
- th:last-child, td:last-child {
148
+ th:last-child,
149
+ td:last-child {
157
150
  border-right: 0;
158
151
  }
159
152
 
@@ -170,20 +163,20 @@ table {
170
163
  text-align: left;
171
164
  padding: 11px;
172
165
 
173
- thead, th {
166
+ thead,
167
+ th {
174
168
  font-weight: bold;
175
- background-color: #EAEAEC;
169
+ background-color: #eaeaec;
176
170
  padding: 3px;
177
171
  }
178
172
 
179
173
  td th {
180
174
  border: 1px solid black;
181
175
  }
182
-
183
176
  }
184
177
  }
185
178
 
186
- span.windward-fill-blank{
179
+ span.windward-fill-blank {
187
180
  display: inline-block;
188
181
  cursor: pointer;
189
182
  border: 2px solid #206e8c;
@@ -193,5 +186,13 @@ span.windward-fill-blank{
193
186
  color: #000000;
194
187
  }
195
188
 
196
- body { font-family: 'Roboto', sans-serif; }
189
+ body {
190
+ font-family: 'Roboto', sans-serif;
191
+ }
197
192
 
193
+ html:has(body.editor--theme-light) {
194
+ @import './light/content.scss';
195
+ }
196
+ html:has(body.editor--theme-dark) {
197
+ @import './dark/content.scss';
198
+ }
@@ -0,0 +1,4 @@
1
+ body {
2
+ background-color: #fff;
3
+ color: #1a1d1e;
4
+ }