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.
Files changed (59) hide show
  1. package/built/cli.js +94 -83
  2. package/built/pxt.js +180 -135
  3. package/built/pxtblockly.js +1509 -1508
  4. package/built/pxtblocks.d.ts +11 -4
  5. package/built/pxtblocks.js +126 -138
  6. package/built/pxtlib.d.ts +6 -2
  7. package/built/pxtlib.js +86 -52
  8. package/built/target.js +1 -1
  9. package/built/web/blockly.css +1 -1
  10. package/built/web/main.js +1 -1
  11. package/built/web/pxtapp.js +1 -1
  12. package/built/web/pxtasseteditor.js +1 -1
  13. package/built/web/pxtblockly.js +53 -1
  14. package/built/web/pxtblocks.js +1 -1
  15. package/built/web/pxtembed.js +53 -1
  16. package/built/web/pxtlib.js +1 -1
  17. package/built/web/pxtworker.js +1 -1
  18. package/built/web/react-common-skillmap.css +1 -0
  19. package/built/web/rtlblockly.css +1 -1
  20. package/built/web/rtlreact-common-skillmap.css +1 -0
  21. package/built/web/rtlsemantic.css +1 -1
  22. package/built/web/semantic.css +1 -1
  23. package/built/web/skillmap/js/main.b96caef3.chunk.js +1 -0
  24. package/docfiles/tracking.html +1 -1
  25. package/localtypings/blockly.d.ts +12268 -7535
  26. package/localtypings/pxtarget.d.ts +1 -0
  27. package/localtypings/pxtblockly.d.ts +37 -0
  28. package/package.json +6 -3
  29. package/react-common/components/Checkbox.tsx +25 -0
  30. package/react-common/components/Notification.tsx +82 -0
  31. package/react-common/components/profile/Badge.tsx +33 -0
  32. package/react-common/components/profile/BadgeInfo.tsx +74 -0
  33. package/react-common/components/profile/BadgeList.tsx +67 -0
  34. package/react-common/components/profile/Profile.tsx +42 -0
  35. package/react-common/components/profile/UserNotification.tsx +32 -0
  36. package/react-common/components/profile/UserPane.tsx +64 -0
  37. package/react-common/components/types.d.ts +29 -0
  38. package/react-common/components/util.tsx +35 -0
  39. package/{built/web/react-common.css → react-common/styles/profile/profile.less} +1 -0
  40. package/react-common/styles/react-common-skillmap-core.less +10 -0
  41. package/react-common/styles/react-common-skillmap.less +12 -0
  42. package/react-common/styles/react-common.less +1 -0
  43. package/react-common/tsconfig.json +36 -0
  44. package/theme/blockly-core.less +38 -13
  45. package/theme/common-components.less +7 -0
  46. package/theme/common.less +1 -1
  47. package/theme/highcontrast.less +4 -0
  48. package/theme/melodyeditor.less +2 -2
  49. package/theme/print.less +1 -1
  50. package/theme/pxt.less +2 -0
  51. package/theme/toolbox.less +1 -0
  52. package/theme/tutorial-sidebar.less +64 -6
  53. package/webapp/public/blockly/blockly_compressed.js +1271 -1288
  54. package/webapp/public/blockly/blocks_compressed.js +47 -65
  55. package/webapp/public/blockly/msg/js/en.js +8 -17
  56. package/webapp/public/blockly/msg/json/en.json +6 -15
  57. package/webapp/public/blockly/plugins.js +57 -0
  58. package/webapp/public/skillmap.html +2 -2
  59. package/built/web/skillmap/js/main.ea4b3e23.chunk.js +0 -1
@@ -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 .blocklyNonEditableText > rect.blocklySpriteField,
220
- .pxt-renderer .blocklyNonEditableText > rect.blocklyAnimationField,
221
- .pxt-renderer .blocklyNonEditableText > rect.blocklyTilemapField,
222
- .pxt-renderer .blocklyEditableText > rect.blocklySpriteField,
223
- .pxt-renderer .blocklyEditableText > rect.blocklyAnimationField,
224
- .pxt-renderer .blocklyEditableText > rect.blocklyTilemapField {
225
- fill: #dedede;
226
- stroke: #898989;
227
- stroke-width: 1;
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
@@ -1326,7 +1326,7 @@ p.ui.font.small {
1326
1326
  .simPanel.ui.items {
1327
1327
  position: fixed;
1328
1328
  padding: 0;
1329
- margin: 1em;
1329
+ margin: 1em 1em 0;
1330
1330
  bottom: ~"calc(5.5rem + var(--extra-mobile-sim-padding))" !important;
1331
1331
  right: 0.5rem;
1332
1332
  top: unset;
@@ -841,6 +841,10 @@
841
841
  color: @HCbackground;
842
842
  background-color: @HCtextColor;
843
843
  }
844
+
845
+ .tab-badge {
846
+ display: none;
847
+ }
844
848
  }
845
849
 
846
850
  .ui.label {
@@ -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
@@ -102,7 +102,7 @@
102
102
  }
103
103
 
104
104
  /** blockly **/
105
- svg, .pxt-renderer {
105
+ svg, .pxt-renderer.classic-theme {
106
106
  .blocklyPath {
107
107
  stroke-width: 3px !important;
108
108
  stroke: black !important;
package/theme/pxt.less CHANGED
@@ -39,5 +39,7 @@
39
39
 
40
40
  @import 'image-editor/imageEditor';
41
41
 
42
+ @import "react-common";
43
+
42
44
  /* Reference import */
43
45
  @import (reference) "semantic.less";
@@ -8,6 +8,7 @@
8
8
  color: @blocklyToolboxText;
9
9
  overflow-x: visible;
10
10
  overflow-y: auto;
11
+ padding-top: 0;
11
12
  z-index: @blocklyToolboxZIndex;
12
13
  /* so blocks go over toolbox when dragging */
13
14
  -webkit-tap-highlight-color: transparent;
@@ -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
  /*******************************