@testgorilla/tgo-typing-test 1.0.0 → 2.0.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 (134) hide show
  1. package/.eslintrc.json +46 -0
  2. package/jest.config.ts +21 -0
  3. package/ng-package.json +15 -0
  4. package/package.json +7 -22
  5. package/project.json +36 -0
  6. package/src/lib/components/tgo-typing-replay-input/tgo-typing-replay-input.component.html +30 -0
  7. package/src/lib/components/tgo-typing-replay-input/tgo-typing-replay-input.component.spec.ts +250 -0
  8. package/src/lib/components/tgo-typing-replay-input/tgo-typing-replay-input.component.ts +47 -0
  9. package/src/lib/components/tgo-typing-test/tgo-typing-test.component.html +72 -0
  10. package/src/lib/components/tgo-typing-test/tgo-typing-test.component.spec.ts +699 -0
  11. package/src/lib/components/tgo-typing-test/tgo-typing-test.component.ts +287 -0
  12. package/src/lib/helpers/config.ts +28 -0
  13. package/src/lib/helpers/constants/default-config.ts +103 -0
  14. package/src/lib/helpers/controllers/input-controller.ts +710 -0
  15. package/src/lib/helpers/controllers/quotes-controller.ts +183 -0
  16. package/src/lib/helpers/observables/banner-event.ts +18 -0
  17. package/src/lib/helpers/observables/config-event.ts +31 -0
  18. package/src/lib/helpers/observables/timer-event.ts +18 -0
  19. package/src/lib/helpers/states/active-page.ts +9 -0
  20. package/src/lib/helpers/states/composition.ts +29 -0
  21. package/src/lib/helpers/states/page-transition.ts +9 -0
  22. package/src/lib/helpers/states/slow-timer.ts +16 -0
  23. package/src/lib/helpers/states/test-active.ts +9 -0
  24. package/src/lib/helpers/states/time.ts +13 -0
  25. package/src/lib/helpers/test/caps-warning.ts +50 -0
  26. package/src/lib/helpers/test/caret.ts +92 -0
  27. package/src/lib/helpers/test/custom-text.ts +73 -0
  28. package/src/lib/helpers/test/english-punctuation.ts +38 -0
  29. package/src/lib/helpers/test/focus.ts +39 -0
  30. package/src/lib/helpers/test/manual-restart-tracker.ts +13 -0
  31. package/src/lib/helpers/test/out-of-focus.ts +19 -0
  32. package/src/lib/helpers/test/replay.ts +265 -0
  33. package/src/lib/helpers/test/test-input.ts +320 -0
  34. package/src/lib/helpers/test/test-logic.ts +1039 -0
  35. package/src/lib/helpers/test/test-state.ts +17 -0
  36. package/src/lib/helpers/test/test-stats.ts +442 -0
  37. package/src/lib/helpers/test/test-timer.ts +209 -0
  38. package/src/lib/helpers/test/test-ui.ts +370 -0
  39. package/src/lib/helpers/test/test-words.ts +72 -0
  40. package/src/lib/helpers/test/timer-progress.ts +16 -0
  41. package/src/lib/helpers/test/tts.ts +42 -0
  42. package/src/lib/helpers/test/weak-spot.ts +74 -0
  43. package/src/lib/helpers/test/wordset.ts +109 -0
  44. package/src/lib/styles/animations.scss +101 -0
  45. package/src/lib/styles/caret.scss +108 -0
  46. package/src/lib/styles/core.scss +498 -0
  47. package/src/lib/styles/index.scss +19 -0
  48. package/src/lib/styles/inputs.scss +290 -0
  49. package/src/lib/styles/popups.scss +1311 -0
  50. package/src/lib/styles/test.scss +1008 -0
  51. package/src/lib/styles/z_media-queries.scss +848 -0
  52. package/src/lib/types/types.d.ts +731 -0
  53. package/src/lib/utils/misc.ts +776 -0
  54. package/src/test-setup.ts +20 -0
  55. package/tsconfig.json +16 -0
  56. package/tsconfig.lib.json +14 -0
  57. package/tsconfig.lib.prod.json +9 -0
  58. package/tsconfig.spec.json +11 -0
  59. package/esm2022/index.mjs +0 -3
  60. package/esm2022/lib/components/tgo-typing-replay-input/tgo-typing-replay-input.component.mjs +0 -45
  61. package/esm2022/lib/components/tgo-typing-test/tgo-typing-test.component.mjs +0 -299
  62. package/esm2022/lib/helpers/config.mjs +0 -24
  63. package/esm2022/lib/helpers/constants/default-config.mjs +0 -103
  64. package/esm2022/lib/helpers/controllers/input-controller.mjs +0 -586
  65. package/esm2022/lib/helpers/controllers/quotes-controller.mjs +0 -118
  66. package/esm2022/lib/helpers/observables/config-event.mjs +0 -16
  67. package/esm2022/lib/helpers/observables/timer-event.mjs +0 -16
  68. package/esm2022/lib/helpers/states/active-page.mjs +0 -8
  69. package/esm2022/lib/helpers/states/composition.mjs +0 -20
  70. package/esm2022/lib/helpers/states/page-transition.mjs +0 -8
  71. package/esm2022/lib/helpers/states/slow-timer.mjs +0 -15
  72. package/esm2022/lib/helpers/states/test-active.mjs +0 -8
  73. package/esm2022/lib/helpers/states/time.mjs +0 -11
  74. package/esm2022/lib/helpers/test/caps-warning.mjs +0 -50
  75. package/esm2022/lib/helpers/test/caret.mjs +0 -80
  76. package/esm2022/lib/helpers/test/custom-text.mjs +0 -59
  77. package/esm2022/lib/helpers/test/english-punctuation.mjs +0 -29
  78. package/esm2022/lib/helpers/test/focus.mjs +0 -35
  79. package/esm2022/lib/helpers/test/manual-restart-tracker.mjs +0 -11
  80. package/esm2022/lib/helpers/test/out-of-focus.mjs +0 -14
  81. package/esm2022/lib/helpers/test/replay.mjs +0 -217
  82. package/esm2022/lib/helpers/test/test-input.mjs +0 -264
  83. package/esm2022/lib/helpers/test/test-logic.mjs +0 -927
  84. package/esm2022/lib/helpers/test/test-state.mjs +0 -13
  85. package/esm2022/lib/helpers/test/test-stats.mjs +0 -342
  86. package/esm2022/lib/helpers/test/test-timer.mjs +0 -207
  87. package/esm2022/lib/helpers/test/test-ui.mjs +0 -341
  88. package/esm2022/lib/helpers/test/test-words.mjs +0 -69
  89. package/esm2022/lib/helpers/test/timer-progress.mjs +0 -15
  90. package/esm2022/lib/helpers/test/weak-spot.mjs +0 -65
  91. package/esm2022/lib/helpers/test/wordset.mjs +0 -100
  92. package/esm2022/lib/utils/misc.mjs +0 -673
  93. package/esm2022/testgorilla-tgo-typing-test.mjs +0 -5
  94. package/fesm2022/testgorilla-tgo-typing-test.mjs +0 -4707
  95. package/fesm2022/testgorilla-tgo-typing-test.mjs.map +0 -1
  96. package/lib/components/tgo-typing-replay-input/tgo-typing-replay-input.component.d.ts +0 -14
  97. package/lib/components/tgo-typing-test/tgo-typing-test.component.d.ts +0 -54
  98. package/lib/helpers/config.d.ts +0 -98
  99. package/lib/helpers/constants/default-config.d.ts +0 -3
  100. package/lib/helpers/controllers/input-controller.d.ts +0 -16
  101. package/lib/helpers/controllers/quotes-controller.d.ts +0 -20
  102. package/lib/helpers/observables/config-event.d.ts +0 -5
  103. package/lib/helpers/observables/timer-event.d.ts +0 -4
  104. package/lib/helpers/states/active-page.d.ts +0 -2
  105. package/lib/helpers/states/composition.d.ts +0 -10
  106. package/lib/helpers/states/page-transition.d.ts +0 -2
  107. package/lib/helpers/states/slow-timer.d.ts +0 -3
  108. package/lib/helpers/states/test-active.d.ts +0 -2
  109. package/lib/helpers/states/time.d.ts +0 -3
  110. package/lib/helpers/test/caps-warning.d.ts +0 -5
  111. package/lib/helpers/test/caret.d.ts +0 -11
  112. package/lib/helpers/test/custom-text.d.ts +0 -16
  113. package/lib/helpers/test/english-punctuation.d.ts +0 -3
  114. package/lib/helpers/test/focus.d.ts +0 -7
  115. package/lib/helpers/test/manual-restart-tracker.d.ts +0 -3
  116. package/lib/helpers/test/out-of-focus.d.ts +0 -4
  117. package/lib/helpers/test/replay.d.ts +0 -20
  118. package/lib/helpers/test/test-input.d.ts +0 -86
  119. package/lib/helpers/test/test-logic.d.ts +0 -25
  120. package/lib/helpers/test/test-state.d.ts +0 -7
  121. package/lib/helpers/test/test-stats.d.ts +0 -92
  122. package/lib/helpers/test/test-timer.d.ts +0 -6
  123. package/lib/helpers/test/test-ui.d.ts +0 -27
  124. package/lib/helpers/test/test-words.d.ts +0 -23
  125. package/lib/helpers/test/timer-progress.d.ts +0 -3
  126. package/lib/helpers/test/weak-spot.d.ts +0 -3
  127. package/lib/helpers/test/wordset.d.ts +0 -7
  128. package/lib/utils/misc.d.ts +0 -81
  129. /package/{assets → src/assets}/typing-test-languages/english.json +0 -0
  130. /package/{assets → src/assets}/typing-test-languages/english_punctuation.json +0 -0
  131. /package/{assets → src/assets}/typing-test-languages/quotes/english_version_1.json +0 -0
  132. /package/{assets → src/assets}/typing-test-languages/quotes/english_version_2.json +0 -0
  133. /package/{assets → src/assets}/typing-test-languages/quotes/filtered_sources.json +0 -0
  134. /package/{index.d.ts → src/index.ts} +0 -0
@@ -0,0 +1,290 @@
1
+ input,
2
+ textarea {
3
+ outline: none;
4
+ border: none;
5
+ border-radius: $--roundness;
6
+ background: $--sub-alt-color;
7
+ color: $--text-color;
8
+ padding: 0.5rem;
9
+ font-size: 1rem;
10
+ font-family: $--font;
11
+ caret-color: $--main-color;
12
+ }
13
+
14
+ textarea {
15
+ resize: vertical;
16
+ }
17
+
18
+ input[type="range"] {
19
+ -webkit-appearance: none;
20
+ padding: 0;
21
+ width: 100%;
22
+ height: 1rem;
23
+ border-radius: $--roundness;
24
+ &::-webkit-slider-thumb {
25
+ -webkit-appearance: none;
26
+ padding: 0;
27
+ border: none;
28
+ width: 25%;
29
+ height: 1rem;
30
+ border-radius: $--roundness;
31
+ background-color: $--main-color;
32
+ &:hover {
33
+ cursor: grab;
34
+ }
35
+ &:active {
36
+ cursor: grabbing;
37
+ }
38
+ }
39
+
40
+ &::-moz-range-thumb {
41
+ -webkit-appearance: none;
42
+ padding: 0;
43
+ border: none;
44
+ width: 25%;
45
+ height: 1rem;
46
+ border-radius: $--roundness;
47
+ background-color: $--main-color;
48
+ &:hover {
49
+ cursor: grab;
50
+ }
51
+ &:active {
52
+ cursor: grabbing;
53
+ }
54
+ }
55
+ }
56
+
57
+ input[type="color"] {
58
+ height: 3px;
59
+ opacity: 0;
60
+ padding: 0;
61
+ margin: 0;
62
+ position: absolute;
63
+ pointer-events: none;
64
+ }
65
+
66
+ input:disabled,
67
+ textarea:disabled {
68
+ opacity: 0.33;
69
+ }
70
+
71
+ ::-moz-color-swatch {
72
+ border: none;
73
+ }
74
+
75
+ input[type="number"]::-webkit-inner-spin-button,
76
+ input[type="number"]::-webkit-outer-spin-button {
77
+ -webkit-appearance: none;
78
+ -moz-appearance: none;
79
+ appearance: none;
80
+ margin: 0;
81
+ }
82
+
83
+ input[type="number"] {
84
+ -moz-appearance: textfield;
85
+ }
86
+
87
+ /* Change Autocomplete styles in Chrome*/
88
+ input:-webkit-autofill,
89
+ input:-webkit-autofill:hover,
90
+ input:-webkit-autofill:focus,
91
+ textarea:-webkit-autofill,
92
+ textarea:-webkit-autofill:hover,
93
+ textarea:-webkit-autofill:focus,
94
+ select:-webkit-autofill,
95
+ select:-webkit-autofill:hover,
96
+ select:-webkit-autofill:focus {
97
+ border: none;
98
+ outline: 2px solid $--main-color;
99
+ font-family: inherit;
100
+ -webkit-text-fill-color: $--text-color;
101
+ -webkit-box-shadow: 0 0 0 1000000px $--sub-alt-color inset;
102
+ caret-color: $--text-color;
103
+ }
104
+
105
+ .select2-dropdown {
106
+ background-color: $--bg-color;
107
+ color: $--text-color;
108
+ outline: none;
109
+ }
110
+ .select2-container--default.select2-container--disabled
111
+ .select2-selection--single {
112
+ background: $--sub-alt-color !important;
113
+ opacity: 0.33;
114
+ cursor: default;
115
+ pointer-events: none;
116
+ }
117
+
118
+ .select2-selection {
119
+ background: $--sub-alt-color;
120
+ height: fit-content;
121
+ height: -moz-fit-content;
122
+ padding: 5px;
123
+ border-radius: $--roundness;
124
+ color: $--text-color;
125
+ font: $--font;
126
+ border: none;
127
+ outline: none;
128
+ }
129
+
130
+ .select2-container--default
131
+ .select2-selection--single
132
+ .select2-selection__rendered {
133
+ color: $--text-color;
134
+ outline: none;
135
+ }
136
+
137
+ .select2-container--default
138
+ .select2-results__option--highlighted.select2-results__option--selectable {
139
+ background-color: $--text-color;
140
+ color: $--bg-color;
141
+ }
142
+
143
+ .select2-container--default .select2-results__option--selected {
144
+ background-color: $--main-color;
145
+ color: $--bg-color;
146
+ }
147
+
148
+ .select2-container--open .select2-dropdown--below,
149
+ .select2-container--open .select2-dropdown--above {
150
+ border-color: $--sub-alt-color;
151
+ background: $--bg-color;
152
+ color: $--sub-color;
153
+ border-radius: $--roundness;
154
+ }
155
+
156
+ .select2-container--default .select2-selection--single {
157
+ color: $--text-color;
158
+ background: $--sub-alt-color;
159
+ outline: none;
160
+ border: none;
161
+ height: auto;
162
+ border-radius: $--roundness;
163
+ }
164
+
165
+ .select2-container--default.select2-container--disabled
166
+ .select2-selection--single {
167
+ background: #5051517a;
168
+ }
169
+
170
+ .select2-selection:focus {
171
+ height: fit-content;
172
+ height: -moz-fit-content;
173
+ padding: 5px;
174
+ border-radius: $--roundness;
175
+ color: $--text-color;
176
+ font: $--font;
177
+ border: none;
178
+ outline: none;
179
+ }
180
+ .select2-selection:active {
181
+ height: fit-content;
182
+ height: -moz-fit-content;
183
+ padding: 5px;
184
+ border-radius: $--roundness;
185
+ color: $--text-color;
186
+ font: $--font;
187
+ border: none;
188
+ outline: none;
189
+ }
190
+
191
+ .select2-container--default
192
+ .select2-selection--single
193
+ .select2-selection__arrow {
194
+ height: 35px;
195
+ }
196
+
197
+ .select2-container--default
198
+ .select2-selection--single
199
+ .select2-selection__arrow
200
+ b {
201
+ border-color: $--text-color transparent transparent transparent;
202
+ }
203
+
204
+ .select2-container--default.select2-container--open
205
+ .select2-selection--single
206
+ .select2-selection__arrow
207
+ b {
208
+ border-color: $--text-color transparent;
209
+ }
210
+
211
+ .select2-container--default .select2-search--dropdown .select2-search__field {
212
+ border-color: $--sub-alt-color;
213
+ background: $--bg-color;
214
+ color: $--text-color;
215
+ border-radius: $--roundness;
216
+ }
217
+
218
+ .select2-container--default .select2-results__group {
219
+ color: $--text-color;
220
+ }
221
+
222
+ .select2-container--default .select2-selection--multiple {
223
+ background: $--sub-alt-color;
224
+ border-radius: $--roundness;
225
+ color: $--text-color;
226
+ outline: none;
227
+ border: none;
228
+ }
229
+
230
+ .select2-selection__choice__display {
231
+ color: $--bg-color;
232
+ }
233
+
234
+ .select2-selection__choice__remove {
235
+ color: $--main-color !important;
236
+ }
237
+
238
+ .select2-container .select2-search--inline .select2-search__field {
239
+ margin: 0;
240
+ border-radius: 0;
241
+ font-family: $--font;
242
+ line-height: 1rem;
243
+ }
244
+
245
+ .select2-container--default.select2-container--focus
246
+ .select2-selection--multiple {
247
+ border: none;
248
+ }
249
+
250
+ .select2-container--default .select2-selection--multiple {
251
+ border: none;
252
+ padding: 0.5rem;
253
+ font-family: $--font;
254
+ }
255
+
256
+ .select2-container--default
257
+ .select2-selection--multiple
258
+ .select2-selection__choice {
259
+ background-color: $--main-color;
260
+ border: none;
261
+ border-radius: calc($--roundness / 2);
262
+ box-sizing: border-box;
263
+ display: inline-block;
264
+ margin-left: 0;
265
+ margin-top: 0;
266
+ margin-right: 0.5rem;
267
+ padding: 0;
268
+ padding-left: 1.25rem;
269
+ position: relative;
270
+ max-width: 100%;
271
+ overflow: hidden;
272
+ text-overflow: ellipsis;
273
+ vertical-align: bottom;
274
+ white-space: nowrap;
275
+ }
276
+
277
+ .select2-container--default
278
+ .select2-selection--multiple
279
+ .select2-selection__choice__remove {
280
+ line-height: 1.5rem;
281
+ border-right: 1px solid $--bg-color;
282
+ color: $--bg-color !important;
283
+ transition: 0.125s;
284
+ }
285
+
286
+ .select2-container--default
287
+ .select2-selection--multiple
288
+ .select2-selection__choice__remove:hover {
289
+ background-color: $--text-color;
290
+ }