@robotical/martyblocksjr 4.2.2 → 4.2.4

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 (47) hide show
  1. package/editions/free/src/app.bundle.js +1 -1
  2. package/editions/free/src/css/editor.css +5 -0
  3. package/editions/free/src/css/editorleftpanel.css +12 -6
  4. package/editions/free/src/inapp/about.html +55 -26
  5. package/editions/free/src/inapp/blocks.html +16 -459
  6. package/editions/free/src/inapp/images/interface.png +0 -0
  7. package/editions/free/src/inapp/images/paint.png +0 -0
  8. package/editions/free/src/inapp/interface.html +136 -123
  9. package/editions/free/src/inapp/style/about.css +333 -21
  10. package/editions/free/src/inapp/style/blocks.css +423 -82
  11. package/editions/free/src/inapp/style/interface.css +178 -453
  12. package/editions/free/src/localizations/bg.json +36 -2
  13. package/editions/free/src/localizations/ca.json +36 -2
  14. package/editions/free/src/localizations/cs.json +36 -2
  15. package/editions/free/src/localizations/cy.json +36 -2
  16. package/editions/free/src/localizations/da.json +36 -2
  17. package/editions/free/src/localizations/de.json +36 -2
  18. package/editions/free/src/localizations/el.json +36 -2
  19. package/editions/free/src/localizations/en.json +114 -7
  20. package/editions/free/src/localizations/es.json +36 -2
  21. package/editions/free/src/localizations/fi.json +36 -2
  22. package/editions/free/src/localizations/fr.json +36 -2
  23. package/editions/free/src/localizations/it.json +36 -2
  24. package/editions/free/src/localizations/ja.json +36 -2
  25. package/editions/free/src/localizations/ko.json +36 -2
  26. package/editions/free/src/localizations/nl.json +36 -2
  27. package/editions/free/src/localizations/no.json +36 -2
  28. package/editions/free/src/localizations/pl.json +36 -2
  29. package/editions/free/src/localizations/pt-br.json +36 -2
  30. package/editions/free/src/localizations/pt.json +36 -2
  31. package/editions/free/src/localizations/sv.json +36 -2
  32. package/editions/free/src/localizations/th.json +36 -2
  33. package/editions/free/src/localizations/tr.json +36 -2
  34. package/editions/free/src/localizations/uk.json +36 -2
  35. package/editions/free/src/localizations/zh-cn.json +36 -2
  36. package/editions/free/src/localizations/zh-tw.json +36 -2
  37. package/package.json +1 -1
  38. package/scripts/a11y-structure.mjs +9 -2
  39. package/tests/BlockGuideRegistry.test.js +60 -0
  40. package/tests/MartyManager.test.js +88 -0
  41. package/tests/e2e/accessibility.e2e.test.js +153 -10
  42. package/tests/e2e/blocks-jr-hidden-blocks.e2e.test.js +84 -0
  43. package/tests/e2e/chromium-79-smoke.test.js +12 -17
  44. package/tests/e2e/marty-connection-ui.e2e.test.js +177 -12
  45. package/tests/e2e/microbit-extension-project-reload.e2e.test.js +1 -6
  46. package/tests/e2e/project-load-progress-loop.e2e.test.js +1 -6
  47. package/tests/e2e/sidebar-scrollbars.e2e.test.js +179 -0
@@ -1,41 +1,353 @@
1
1
  @import url('../../css/font.css');
2
2
 
3
+ :root {
4
+ color: #24434b;
5
+ font-family: 'Lato Regular', Arial, sans-serif;
6
+ font-size: 16px;
7
+ line-height: 1.55;
8
+ }
9
+
10
+ * {
11
+ box-sizing: border-box;
12
+ }
13
+
3
14
  html {
4
15
  -webkit-user-select: none;
16
+ background: #f6f4ee;
5
17
  }
6
18
 
7
19
  body {
8
- color: #595959;
9
- font-family: 'Lato Regular';
10
- padding: ${css_vh(2)} 6.05vw ${css_vh(2)};
11
- margin: ${css_vh(2.6)} auto;
12
- width: ${css_vw(87.89)};
13
- height: auto;
14
- margin-bottom: ${css_vh(10.4)};
20
+ margin: 0;
21
+ background:
22
+ radial-gradient(circle at 8% 8%, rgba(255, 218, 88, 0.2), transparent 23rem),
23
+ #f6f4ee;
24
+ }
25
+
26
+ .skip-link {
27
+ position: absolute;
28
+ top: -48px;
29
+ left: 12px;
30
+ z-index: 1000;
31
+ padding: 8px 12px;
32
+ border-radius: 7px;
33
+ background: #133c46;
34
+ color: #fff;
35
+ text-decoration: none;
36
+ }
37
+
38
+ .skip-link:focus,
39
+ .skip-link:active {
40
+ top: 12px;
41
+ }
42
+
43
+ .about-page {
44
+ width: min(1040px, calc(100% - 48px));
45
+ margin: 0 auto;
46
+ padding: 34px 0 56px;
47
+ }
48
+
49
+ .about-hero {
50
+ position: relative;
51
+ display: grid;
52
+ grid-template-columns: minmax(0, 1.25fr) minmax(260px, 0.75fr);
53
+ min-height: 288px;
54
+ overflow: hidden;
55
+ border: 1px solid rgba(26, 130, 153, 0.16);
56
+ border-radius: 30px;
57
+ background: linear-gradient(128deg, #e9fbfd 0%, #cceff3 58%, #a8e2eb 100%);
58
+ box-shadow: 0 18px 42px rgba(24, 75, 85, 0.12);
59
+ }
60
+
61
+ .about-hero::before {
62
+ content: '';
63
+ position: absolute;
64
+ right: -42px;
65
+ bottom: -84px;
66
+ width: 390px;
67
+ height: 210px;
68
+ border-radius: 50%;
69
+ background: rgba(255, 218, 88, 0.82);
70
+ transform: rotate(-7deg);
71
+ }
72
+
73
+ .about-hero-copy {
74
+ position: relative;
75
+ z-index: 2;
76
+ align-self: center;
77
+ padding: 44px 16px 44px 48px;
78
+ }
79
+
80
+ .about-eyebrow {
81
+ display: inline-block;
82
+ margin: 0 0 12px;
83
+ padding: 5px 12px;
84
+ border-radius: 999px;
85
+ background: #fff;
86
+ color: #117f98;
87
+ font-family: 'Lato Bold', 'Lato Regular', Arial, sans-serif;
88
+ font-size: 0.78rem;
89
+ font-weight: 700;
90
+ letter-spacing: 0.11em;
91
+ text-transform: uppercase;
92
+ }
93
+
94
+ h1,
95
+ h2,
96
+ h3,
97
+ p {
98
+ margin-top: 0;
99
+ }
100
+
101
+ h1,
102
+ h2,
103
+ h3 {
104
+ font-family: 'Lato Bold', 'Lato Regular', Arial, sans-serif;
105
+ font-weight: 700;
15
106
  }
16
107
 
17
108
  h1 {
18
- font-size: ${css_vh(5.3)};
19
- margin-bottom: ${css_vh(0.65)};
20
- color: #f5a322;
109
+ max-width: 600px;
110
+ margin-bottom: 10px;
111
+ color: #153f49;
112
+ font-size: clamp(2.4rem, 5vw, 4.3rem);
113
+ line-height: 1.02;
114
+ letter-spacing: -0.035em;
115
+ }
116
+
117
+ .about-tagline {
118
+ max-width: 580px;
119
+ margin-bottom: 0;
120
+ color: #246b7b;
121
+ font-size: clamp(1.12rem, 2.2vw, 1.55rem);
122
+ line-height: 1.42;
123
+ }
124
+
125
+ .about-hero-art {
126
+ position: relative;
127
+ z-index: 1;
128
+ min-height: 288px;
129
+ }
130
+
131
+ .about-logo {
132
+ position: absolute;
133
+ top: 28px;
134
+ right: 34px;
135
+ width: min(230px, 78%);
136
+ filter: drop-shadow(0 10px 14px rgba(27, 101, 119, 0.17));
137
+ transform: rotate(2deg);
138
+ }
139
+
140
+ .about-marty {
141
+ position: absolute;
142
+ right: 48px;
143
+ bottom: 8px;
144
+ z-index: 2;
145
+ width: 112px;
146
+ image-rendering: auto;
147
+ filter: drop-shadow(0 9px 7px rgba(29, 70, 79, 0.22));
148
+ transform: rotate(-4deg);
21
149
  }
22
150
 
23
- h2 {
24
- font-size: ${css_vh(3.78)};
151
+ .about-spark {
152
+ position: absolute;
153
+ z-index: 2;
154
+ width: 15px;
155
+ height: 15px;
156
+ border-radius: 5px;
157
+ background: #fff;
158
+ transform: rotate(45deg);
25
159
  }
26
160
 
27
- .about-section-wrapper {
28
- display: block;
29
- margin-bottom: ${css_vh(1.3)};
161
+ .about-spark-one {
162
+ top: 156px;
163
+ right: 35px;
30
164
  }
31
165
 
32
- .title {
166
+ .about-spark-two {
167
+ top: 198px;
168
+ right: 186px;
169
+ width: 10px;
170
+ height: 10px;
171
+ background: #2ca8c3;
172
+ }
173
+
174
+ .about-introduction,
175
+ .about-features {
176
+ padding: 46px 34px 0;
177
+ }
178
+
179
+ .about-introduction {
180
+ display: grid;
181
+ grid-template-columns: minmax(220px, 0.75fr) minmax(0, 1.25fr);
182
+ gap: 48px;
183
+ align-items: start;
184
+ }
185
+
186
+ .about-introduction h2,
187
+ .about-features > h2,
188
+ .about-story-card h2 {
189
+ margin-bottom: 12px;
190
+ color: #173f49;
191
+ font-size: 1.65rem;
192
+ line-height: 1.2;
193
+ }
194
+
195
+ .about-introduction p {
196
+ margin-bottom: 0;
197
+ color: #50676d;
198
+ font-size: 1.08rem;
199
+ }
200
+
201
+ .about-features > h2 {
202
+ margin-bottom: 20px;
203
+ }
204
+
205
+ .about-feature-grid {
206
+ display: grid;
207
+ grid-template-columns: repeat(3, minmax(0, 1fr));
208
+ gap: 16px;
209
+ }
210
+
211
+ .about-feature-card {
212
+ min-height: 218px;
213
+ padding: 24px;
214
+ border-radius: 20px;
215
+ color: #173f49;
216
+ }
217
+
218
+ .about-feature-create {
219
+ background: #fff0bc;
220
+ }
221
+
222
+ .about-feature-code {
223
+ background: #dff3ff;
224
+ }
225
+
226
+ .about-feature-connect {
227
+ background: #def3e8;
228
+ }
229
+
230
+ .about-feature-icon {
231
+ display: grid;
232
+ width: 42px;
233
+ height: 42px;
234
+ margin-bottom: 22px;
235
+ place-items: center;
236
+ border-radius: 13px;
237
+ background: rgba(255, 255, 255, 0.78);
238
+ color: #177f98;
239
+ font-family: Arial, sans-serif;
240
+ font-size: 1.3rem;
33
241
  font-weight: bold;
34
- margin-bottom: ${css_vh(1.3)};
35
- color: #2898cd;
36
242
  }
37
243
 
38
- .description {
39
- font-size: ${css_vh(2.85)};
40
- margin-bottom: ${css_vh(1.3)};
244
+ .about-feature-card h3 {
245
+ margin-bottom: 8px;
246
+ font-size: 1.3rem;
247
+ }
248
+
249
+ .about-feature-card p {
250
+ margin-bottom: 0;
251
+ color: #4d666c;
252
+ line-height: 1.48;
253
+ }
254
+
255
+ .about-story-grid {
256
+ display: grid;
257
+ grid-template-columns: repeat(2, minmax(0, 1fr));
258
+ gap: 16px;
259
+ padding: 46px 34px 0;
260
+ }
261
+
262
+ .about-story-card {
263
+ display: grid;
264
+ grid-template-columns: 52px minmax(0, 1fr);
265
+ gap: 18px;
266
+ padding: 26px;
267
+ border: 1px solid #e1e4dd;
268
+ border-radius: 20px;
269
+ background: rgba(255, 255, 255, 0.82);
270
+ }
271
+
272
+ .about-story-marker {
273
+ display: grid;
274
+ width: 52px;
275
+ height: 52px;
276
+ place-items: center;
277
+ border-radius: 16px;
278
+ background: #25a5c0;
279
+ color: #fff;
280
+ font-family: 'Lato Bold', 'Lato Regular', Arial, sans-serif;
281
+ font-size: 1.4rem;
282
+ font-weight: 700;
283
+ }
284
+
285
+ .about-foundation .about-story-marker {
286
+ background: #f5a623;
287
+ }
288
+
289
+ .about-story-card p {
290
+ margin-bottom: 0;
291
+ color: #596d72;
292
+ font-size: 0.96rem;
293
+ }
294
+
295
+ @media (max-width: 760px) {
296
+ .about-page {
297
+ width: min(100% - 28px, 620px);
298
+ padding-top: 16px;
299
+ }
300
+
301
+ .about-hero {
302
+ grid-template-columns: 1fr;
303
+ }
304
+
305
+ .about-hero-copy {
306
+ padding: 34px 28px 8px;
307
+ }
308
+
309
+ .about-hero-art {
310
+ min-height: 210px;
311
+ }
312
+
313
+ .about-logo {
314
+ top: 18px;
315
+ left: 28px;
316
+ right: auto;
317
+ width: 205px;
318
+ }
319
+
320
+ .about-marty {
321
+ right: 42px;
322
+ width: 100px;
323
+ }
324
+
325
+ .about-introduction,
326
+ .about-feature-grid,
327
+ .about-story-grid {
328
+ grid-template-columns: 1fr;
329
+ }
330
+
331
+ .about-introduction,
332
+ .about-features,
333
+ .about-story-grid {
334
+ padding-right: 8px;
335
+ padding-left: 8px;
336
+ }
337
+
338
+ .about-introduction {
339
+ gap: 8px;
340
+ }
341
+
342
+ .about-feature-card {
343
+ min-height: 0;
344
+ }
345
+ }
346
+
347
+ @media (prefers-reduced-motion: reduce) {
348
+ *,
349
+ *::before,
350
+ *::after {
351
+ scroll-behavior: auto !important;
352
+ }
41
353
  }