pxt-core 7.4.9 → 7.4.13
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.
- package/built/cli.js +94 -83
- package/built/pxt.js +180 -135
- package/built/pxtblockly.js +1509 -1508
- package/built/pxtblocks.d.ts +11 -4
- package/built/pxtblocks.js +126 -138
- package/built/pxtlib.d.ts +6 -2
- package/built/pxtlib.js +86 -52
- package/built/target.js +1 -1
- package/built/web/blockly.css +1 -1
- package/built/web/main.js +1 -1
- package/built/web/pxtapp.js +1 -1
- package/built/web/pxtasseteditor.js +1 -1
- package/built/web/pxtblockly.js +53 -1
- package/built/web/pxtblocks.js +1 -1
- package/built/web/pxtembed.js +53 -1
- package/built/web/pxtlib.js +1 -1
- package/built/web/pxtworker.js +1 -1
- package/built/web/react-common-skillmap.css +1 -0
- package/built/web/rtlblockly.css +1 -1
- package/built/web/rtlreact-common-skillmap.css +1 -0
- package/built/web/rtlsemantic.css +1 -1
- package/built/web/semantic.css +1 -1
- package/built/web/skillmap/js/main.b96caef3.chunk.js +1 -0
- package/docfiles/tracking.html +1 -1
- package/localtypings/blockly.d.ts +12268 -7535
- package/localtypings/pxtarget.d.ts +1 -0
- package/localtypings/pxtblockly.d.ts +37 -0
- package/package.json +6 -3
- package/react-common/components/Checkbox.tsx +25 -0
- package/react-common/components/Notification.tsx +82 -0
- package/react-common/components/profile/Badge.tsx +33 -0
- package/react-common/components/profile/BadgeInfo.tsx +74 -0
- package/react-common/components/profile/BadgeList.tsx +67 -0
- package/react-common/components/profile/Profile.tsx +42 -0
- package/react-common/components/profile/UserNotification.tsx +32 -0
- package/react-common/components/profile/UserPane.tsx +64 -0
- package/react-common/components/types.d.ts +29 -0
- package/react-common/components/util.tsx +35 -0
- package/{built/web/react-common.css → react-common/styles/profile/profile.less} +1 -0
- package/react-common/styles/react-common-skillmap-core.less +10 -0
- package/react-common/styles/react-common-skillmap.less +12 -0
- package/react-common/styles/react-common.less +1 -0
- package/react-common/tsconfig.json +36 -0
- package/theme/blockly-core.less +38 -13
- package/theme/common-components.less +7 -0
- package/theme/common.less +1 -1
- package/theme/highcontrast.less +4 -0
- package/theme/melodyeditor.less +2 -2
- package/theme/print.less +1 -1
- package/theme/pxt.less +2 -0
- package/theme/toolbox.less +1 -0
- package/theme/tutorial-sidebar.less +64 -6
- package/webapp/public/blockly/blockly_compressed.js +1271 -1288
- package/webapp/public/blockly/blocks_compressed.js +47 -65
- package/webapp/public/blockly/msg/js/en.js +8 -17
- package/webapp/public/blockly/msg/json/en.json +6 -15
- package/webapp/public/blockly/plugins.js +57 -0
- package/webapp/public/skillmap.html +2 -2
- package/built/web/skillmap/js/main.ea4b3e23.chunk.js +0 -1
package/theme/blockly-core.less
CHANGED
|
@@ -72,7 +72,7 @@ body.blocklyMinimalBody {
|
|
|
72
72
|
Blockly Text
|
|
73
73
|
*******************************/
|
|
74
74
|
|
|
75
|
-
.pxt-renderer {
|
|
75
|
+
.pxt-renderer.classic-theme {
|
|
76
76
|
text.blocklyFlyoutLabelText, .blocklyFlyoutButton text.blocklyText {
|
|
77
77
|
font-family: @pageFont !important;
|
|
78
78
|
}
|
|
@@ -90,12 +90,12 @@ body.blocklyMinimalBody {
|
|
|
90
90
|
font-style: italic;
|
|
91
91
|
}
|
|
92
92
|
|
|
93
|
-
text.semanticIcon {
|
|
93
|
+
.blocklyEditableText>text.semanticIcon {
|
|
94
94
|
fill: #fff;
|
|
95
95
|
font-family: "Icons";
|
|
96
96
|
font-size: 19px;
|
|
97
97
|
}
|
|
98
|
-
text.semanticIcon.inverted {
|
|
98
|
+
.blocklyEditableText>text.semanticIcon.inverted {
|
|
99
99
|
fill: #000;
|
|
100
100
|
}
|
|
101
101
|
}
|
|
@@ -107,6 +107,13 @@ body.blocklyMinimalBody {
|
|
|
107
107
|
color: white;
|
|
108
108
|
}
|
|
109
109
|
|
|
110
|
+
/*******************************
|
|
111
|
+
Blockly Toolbox
|
|
112
|
+
*******************************/
|
|
113
|
+
|
|
114
|
+
.blocklyTreeIcon {
|
|
115
|
+
visibility: visible;
|
|
116
|
+
}
|
|
110
117
|
|
|
111
118
|
/*******************************
|
|
112
119
|
Blockly Flyout
|
|
@@ -216,17 +223,19 @@ text.blocklyCheckbox {
|
|
|
216
223
|
}
|
|
217
224
|
|
|
218
225
|
/* (arcade only) Sets the correct background color for the sprite image field */
|
|
219
|
-
.pxt-renderer
|
|
220
|
-
.
|
|
221
|
-
.
|
|
222
|
-
.
|
|
223
|
-
.
|
|
224
|
-
.
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
226
|
+
.pxt-renderer.classic-theme {
|
|
227
|
+
.blocklyNonEditableText > rect.blocklySpriteField,
|
|
228
|
+
.blocklyNonEditableText > rect.blocklyAnimationField,
|
|
229
|
+
.blocklyNonEditableText > rect.blocklyTilemapField,
|
|
230
|
+
.blocklyEditableText > rect.blocklySpriteField,
|
|
231
|
+
.blocklyEditableText > rect.blocklyAnimationField,
|
|
232
|
+
.blocklyEditableText > rect.blocklyTilemapField {
|
|
233
|
+
fill: #dedede;
|
|
234
|
+
stroke: #898989;
|
|
235
|
+
stroke-width: 1;
|
|
236
|
+
}
|
|
229
237
|
|
|
238
|
+
}
|
|
230
239
|
|
|
231
240
|
/*******************************
|
|
232
241
|
Blocks
|
|
@@ -307,6 +316,22 @@ text.blocklyCheckbox {
|
|
|
307
316
|
border: 1px solid #FAF6BD; // match comment color
|
|
308
317
|
}
|
|
309
318
|
|
|
319
|
+
/*******************************
|
|
320
|
+
Workspace Search
|
|
321
|
+
*******************************/
|
|
322
|
+
|
|
323
|
+
.blockly-ws-searching {
|
|
324
|
+
path.blocklyPath:not(.blockly-ws-search-highlight-pxt) {
|
|
325
|
+
opacity: 0.6;
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
path.blocklyPath.blockly-ws-search-highlight-pxt.blockly-ws-search-current {
|
|
329
|
+
stroke: #FFF200;
|
|
330
|
+
stroke-width: 4px;
|
|
331
|
+
transition: none;
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
|
|
310
335
|
/*******************************
|
|
311
336
|
Media Adjustments
|
|
312
337
|
*******************************/
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
margin-top: -0.25rem;
|
|
17
17
|
background-color: @red;
|
|
18
18
|
border-radius: 50%;
|
|
19
|
+
animation: notification-glow 5s infinite ease-in-out;
|
|
19
20
|
}
|
|
20
21
|
|
|
21
22
|
.tab-icon {
|
|
@@ -31,4 +32,10 @@
|
|
|
31
32
|
.tab-content,
|
|
32
33
|
.tab-content > div {
|
|
33
34
|
height: 100%;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
@keyframes notification-glow {
|
|
38
|
+
0%, 50% { box-shadow: 0 0 0.12rem -0.12rem @red; }
|
|
39
|
+
10%, 40% { box-shadow: 0 0 0.12rem 0rem @red; }
|
|
40
|
+
25% { box-shadow: 0 0 0.12rem 0.12rem @white; }
|
|
34
41
|
}
|
package/theme/common.less
CHANGED
package/theme/highcontrast.less
CHANGED
package/theme/melodyeditor.less
CHANGED
|
@@ -250,8 +250,8 @@
|
|
|
250
250
|
}
|
|
251
251
|
|
|
252
252
|
.melody-content-div,
|
|
253
|
-
.pxt-renderer g.blocklyEditableText > &,
|
|
254
|
-
.pxt-renderer g.blocklyNonEditableText > & {
|
|
253
|
+
.pxt-renderer.classic-theme g.blocklyEditableText > &,
|
|
254
|
+
.pxt-renderer.classic-theme g.blocklyNonEditableText > & {
|
|
255
255
|
.melody-red {
|
|
256
256
|
fill: #A80000;
|
|
257
257
|
background: #A80000;
|
package/theme/print.less
CHANGED
package/theme/pxt.less
CHANGED
package/theme/toolbox.less
CHANGED
|
@@ -6,10 +6,16 @@
|
|
|
6
6
|
@tutorialSecondaryColor: @blue;
|
|
7
7
|
|
|
8
8
|
@tutorialTabletButtonColor: #f3f3f3;
|
|
9
|
+
@tutorialTabletSimulatorButtonColor: rgba(0, 0, 0, 0.05);
|
|
9
10
|
@tutorialTabletStepCounterWidth: 16rem;
|
|
10
11
|
|
|
11
12
|
@tutorialHintMaskZIndex: -1; // Below tutorial pane
|
|
12
13
|
|
|
14
|
+
@tutorialControlsOffset: 5.725rem;
|
|
15
|
+
@tutorialBoardviewOffset: 3rem;
|
|
16
|
+
@tutorialTabBarOffset: 3.5rem;
|
|
17
|
+
@tutorialSimulatorMinHeight: 250px;
|
|
18
|
+
|
|
13
19
|
/*******************************
|
|
14
20
|
Tutorial Tab
|
|
15
21
|
*******************************/
|
|
@@ -27,11 +33,6 @@
|
|
|
27
33
|
display: flex;
|
|
28
34
|
flex-direction: column;
|
|
29
35
|
height: 100%;
|
|
30
|
-
|
|
31
|
-
.ui.button, .ui.button:hover {
|
|
32
|
-
box-shadow: none;
|
|
33
|
-
background-image: none;
|
|
34
|
-
}
|
|
35
36
|
}
|
|
36
37
|
|
|
37
38
|
.tutorial-content {
|
|
@@ -65,6 +66,14 @@
|
|
|
65
66
|
background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0), @white);
|
|
66
67
|
}
|
|
67
68
|
|
|
69
|
+
.tutorial-container,
|
|
70
|
+
.tutorial-controls {
|
|
71
|
+
.ui.button, .ui.button:hover {
|
|
72
|
+
box-shadow: none;
|
|
73
|
+
background-image: none;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
68
77
|
/*******************************
|
|
69
78
|
Exit Tutorial
|
|
70
79
|
*******************************/
|
|
@@ -297,9 +306,13 @@
|
|
|
297
306
|
.sidebar-button, .play-button { display: block !important; }
|
|
298
307
|
.expand-button, .fullscreen-button { display: none !important; }
|
|
299
308
|
}
|
|
309
|
+
|
|
310
|
+
.tutorial-controls { display: none; }
|
|
300
311
|
}
|
|
301
312
|
.tab-simulator.tab-content:not(.hidden) {
|
|
302
313
|
.simPanel {
|
|
314
|
+
height: calc(100% - @tutorialControlsOffset);
|
|
315
|
+
|
|
303
316
|
.sidebar-button, .button.hidefullscreen { display: none !important; }
|
|
304
317
|
}
|
|
305
318
|
}
|
|
@@ -353,6 +366,29 @@
|
|
|
353
366
|
Media Adjustments
|
|
354
367
|
*******************************/
|
|
355
368
|
|
|
369
|
+
/* Desktop Only */
|
|
370
|
+
@media only screen and (max-height: @tallEditorBreakpoint) and (min-width: @largestTabletScreen) {
|
|
371
|
+
#root.tabTutorial:not(.fullscreensim) .tab-simulator:not(.hidden) {
|
|
372
|
+
.simPanel {
|
|
373
|
+
height: calc(100% - @tutorialControlsOffset);
|
|
374
|
+
min-height: @tutorialSimulatorMinHeight;
|
|
375
|
+
}
|
|
376
|
+
#boardview {
|
|
377
|
+
height: calc(100% - @tutorialBoardviewOffset);
|
|
378
|
+
min-height: @tutorialSimulatorMinHeight;
|
|
379
|
+
}
|
|
380
|
+
#simulators {
|
|
381
|
+
height: 100%;
|
|
382
|
+
min-height: @tutorialSimulatorMinHeight;
|
|
383
|
+
}
|
|
384
|
+
.simframe {
|
|
385
|
+
padding-bottom: unset !important;
|
|
386
|
+
height: 100%;
|
|
387
|
+
min-height: @tutorialSimulatorMinHeight;
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
}
|
|
391
|
+
|
|
356
392
|
/* <= Tablet (Mobile + Tablet) */
|
|
357
393
|
@media only screen and (max-width: @largestTabletScreen) {
|
|
358
394
|
#root.tabTutorial,
|
|
@@ -465,7 +501,8 @@
|
|
|
465
501
|
}
|
|
466
502
|
}
|
|
467
503
|
|
|
468
|
-
.tutorial-container
|
|
504
|
+
.tutorial-container,
|
|
505
|
+
.tutorial-controls {
|
|
469
506
|
> .ui.button, > .ui.button:focus {
|
|
470
507
|
color: @tutorialPrimaryColor;
|
|
471
508
|
background: @tutorialTabletButtonColor;
|
|
@@ -526,6 +563,10 @@
|
|
|
526
563
|
#root.tabTutorial:not(.fullscreensim) .tab-simulator:not(.hidden) {
|
|
527
564
|
.simPanel {
|
|
528
565
|
display: flex;
|
|
566
|
+
position: relative;
|
|
567
|
+
height: 100%;
|
|
568
|
+
margin: 0 4rem;
|
|
569
|
+
z-index: 30;
|
|
529
570
|
|
|
530
571
|
#simulators {
|
|
531
572
|
width: 34rem;
|
|
@@ -551,6 +592,23 @@
|
|
|
551
592
|
#boardview {
|
|
552
593
|
width: 100% !important;
|
|
553
594
|
}
|
|
595
|
+
|
|
596
|
+
.tutorial-controls {
|
|
597
|
+
position: absolute;
|
|
598
|
+
top: @tutorialTabBarOffset;
|
|
599
|
+
width: 100%;
|
|
600
|
+
height: calc(100% - @tutorialTabBarOffset);
|
|
601
|
+
justify-content: space-between;
|
|
602
|
+
z-index: 10;
|
|
603
|
+
|
|
604
|
+
.ui.button {
|
|
605
|
+
height: 100%;
|
|
606
|
+
}
|
|
607
|
+
|
|
608
|
+
.ui.button:not(:hover) {
|
|
609
|
+
background-color: @tutorialTabletSimulatorButtonColor;
|
|
610
|
+
}
|
|
611
|
+
}
|
|
554
612
|
}
|
|
555
613
|
|
|
556
614
|
/*******************************
|