pxt-core 8.4.2 → 8.4.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 (82) hide show
  1. package/built/backendutils.js +1 -0
  2. package/built/cli.js +83 -75
  3. package/built/pxt.js +1279 -180
  4. package/built/pxtblockly.js +323 -40
  5. package/built/pxtblocks.d.ts +30 -7
  6. package/built/pxtblocks.js +324 -41
  7. package/built/pxtlib.d.ts +91 -5
  8. package/built/pxtlib.js +1173 -98
  9. package/built/pxtrunner.d.ts +1 -0
  10. package/built/pxtrunner.js +2 -1
  11. package/built/pxtsim.d.ts +1 -0
  12. package/built/pxtsim.js +23 -7
  13. package/built/server.js +4 -0
  14. package/built/target.js +1 -1
  15. package/built/web/main.js +1 -1
  16. package/built/web/multiplayer/css/main.1b9969ea.css +4 -0
  17. package/built/web/multiplayer/js/main.9f7f3192.js +2 -0
  18. package/built/web/pxtapp.js +1 -1
  19. package/built/web/pxtasseteditor.js +1 -1
  20. package/built/web/pxtblockly.js +1 -1
  21. package/built/web/pxtblocks.js +1 -1
  22. package/built/web/pxtembed.js +2 -2
  23. package/built/web/pxtlib.js +1 -1
  24. package/built/web/pxtrunner.js +1 -1
  25. package/built/web/pxtsim.js +1 -1
  26. package/built/web/pxtworker.js +2 -2
  27. package/built/web/react-common-authcode.css +4 -6993
  28. package/built/web/react-common-multiplayer.css +13 -0
  29. package/built/web/react-common-skillmap.css +1 -1
  30. package/built/web/rtlreact-common-authcode.css +13 -0
  31. package/built/web/rtlreact-common-multiplayer.css +13 -0
  32. package/built/web/rtlreact-common-skillmap.css +1 -1
  33. package/built/web/rtlsemantic.css +1 -1
  34. package/built/web/semantic.css +1 -1
  35. package/built/web/skillmap/js/main.a6cf40e1.chunk.js +1 -0
  36. package/common-docs/identity/sign-in.md +17 -3
  37. package/common-docs/static/music-editor/apple.png +0 -0
  38. package/common-docs/static/music-editor/burger.png +0 -0
  39. package/common-docs/static/music-editor/cake.png +0 -0
  40. package/common-docs/static/music-editor/car.png +0 -0
  41. package/common-docs/static/music-editor/cat.png +0 -0
  42. package/common-docs/static/music-editor/cherry.png +0 -0
  43. package/common-docs/static/music-editor/clam.png +0 -0
  44. package/common-docs/static/music-editor/computer.png +0 -0
  45. package/common-docs/static/music-editor/crab.png +0 -0
  46. package/common-docs/static/music-editor/dog.png +0 -0
  47. package/common-docs/static/music-editor/duck.png +0 -0
  48. package/common-docs/static/music-editor/egg.png +0 -0
  49. package/common-docs/static/music-editor/explosion.png +0 -0
  50. package/common-docs/static/music-editor/fish.png +0 -0
  51. package/common-docs/static/music-editor/ice-cream.png +0 -0
  52. package/common-docs/static/music-editor/lemon.png +0 -0
  53. package/common-docs/static/music-editor/metronomeWorker.js +35 -0
  54. package/common-docs/static/music-editor/snake.png +0 -0
  55. package/common-docs/static/music-editor/star.png +0 -0
  56. package/common-docs/static/music-editor/strawberry.png +0 -0
  57. package/common-docs/static/music-editor/taco.png +0 -0
  58. package/common-docs/static/music-editor/treble-clef.svg +1 -0
  59. package/package.json +4 -2
  60. package/react-common/components/controls/Input.tsx +7 -3
  61. package/react-common/styles/controls/Button.less +9 -0
  62. package/react-common/styles/react-common-authcode-core.less +1 -1
  63. package/react-common/styles/react-common-authcode.less +1 -1
  64. package/react-common/styles/react-common-multiplayer-core.less +10 -0
  65. package/react-common/styles/react-common-multiplayer.less +12 -0
  66. package/theme/highcontrast.less +6 -0
  67. package/theme/music-editor/EditControls.less +22 -0
  68. package/theme/music-editor/MusicEditor.less +25 -0
  69. package/theme/music-editor/Note.less +16 -0
  70. package/theme/music-editor/NoteGroup.less +7 -0
  71. package/theme/music-editor/PlaybackControls.less +55 -0
  72. package/theme/music-editor/ScrollableWorkspace.less +3 -0
  73. package/theme/music-editor/Staff.less +31 -0
  74. package/theme/music-editor/Track.less +0 -0
  75. package/theme/music-editor/TrackSelector.less +48 -0
  76. package/theme/music-editor/Workspace.less +3 -0
  77. package/theme/pxt.less +1 -0
  78. package/theme/tutorial-sidebar.less +3 -0
  79. package/webapp/public/multiplayer.html +1 -0
  80. package/webapp/public/run.html +13 -2
  81. package/webapp/public/skillmap.html +1 -1
  82. package/built/web/skillmap/js/main.6eec9e0f.chunk.js +0 -1
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file is the same as react-common-skillmap.less except it doesn't import any
2
+ * This file is the same as react-common-authcode.less except it doesn't import any
3
3
  * variables from the target. This is used for pxt-core's css build
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Used for building react-common-skillmap.css
2
+ * Used for building react-common-authcode.css
3
3
  */
4
4
 
5
5
  // Import variables from pxt-core
@@ -0,0 +1,10 @@
1
+ /**
2
+ * This file is the same as react-common-multiplayer.less except it doesn't import any
3
+ * variables from the target. This is used for pxt-core's css build
4
+ */
5
+
6
+ // Import variables from pxt-core
7
+ @import "themes/default/globals/site.variables";
8
+ @import "themes/pxt/globals/site.variables";
9
+
10
+ @import "react-common.less";
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Used for building react-common-multiplayer.css
3
+ */
4
+
5
+ // Import variables from pxt-core
6
+ @import "themes/default/globals/site.variables";
7
+ @import "themes/pxt/globals/site.variables";
8
+
9
+ // Import the variables from the target
10
+ @import "site/globals/site.variables";
11
+
12
+ @import "react-common.less";
@@ -882,6 +882,12 @@
882
882
  }
883
883
  }
884
884
 
885
+ &.tabTutorial details {
886
+ background-color: @HCbackground !important;
887
+ border: 2px solid @HCtextColor !important;
888
+ color: @HCtextColor !important;
889
+ }
890
+
885
891
  .ui.label {
886
892
  background-color: @HCbackground !important;
887
893
  border: 2px solid @HCtextColor !important;
@@ -0,0 +1,22 @@
1
+ .music-editor-edit-controls {
2
+ display: flex;
3
+ flex-direction: row;
4
+ height: 2rem;
5
+ background-color: @music-editor-header-color;
6
+ justify-content: end;
7
+
8
+ .common-button.green {
9
+ padding: 0 2rem;
10
+ height: 100%;
11
+ margin: 0;
12
+ border-radius: 0;
13
+ }
14
+
15
+ button.menu-button i.fas, button.menu-button i.xicon {
16
+ font-size: 18px;
17
+ }
18
+
19
+ .common-input-group {
20
+ border-radius: 0;
21
+ }
22
+ }
@@ -0,0 +1,25 @@
1
+ @import "EditControls";
2
+ @import "Note";
3
+ @import "NoteGroup";
4
+ @import "PlaybackControls";
5
+ @import "ScrollableWorkspace";
6
+ @import "Staff";
7
+ @import "Track";
8
+ @import "TrackSelector";
9
+ @import "Workspace";
10
+
11
+ @music-editor-background-color: #fff;
12
+ @music-editor-header-color: #e30fc0;
13
+ @music-editor-header-border-color: #c10da3;
14
+
15
+ .music-editor {
16
+ background: @music-editor-background-color;
17
+ }
18
+
19
+ .music-asset-editor {
20
+ .gallery-editor-header {
21
+ background-color: @music-editor-header-color;
22
+ border: 2px solid @music-editor-header-border-color;
23
+ border-bottom: none;
24
+ }
25
+ }
@@ -0,0 +1,16 @@
1
+ .music-staff-note {
2
+ image {
3
+ image-rendering: optimizeSpeed;
4
+ image-rendering: -moz-crisp-edges;
5
+ image-rendering: -webkit-optimize-contrast;
6
+ image-rendering: optimize-contrast;
7
+ image-rendering: pixelated;
8
+ -ms-interpolation-mode: nearest-neighbor;
9
+ }
10
+
11
+ rect {
12
+ fill: #03adfc;
13
+ stroke: darken(#03adfc, 20%);
14
+ stroke-width: 3;
15
+ }
16
+ }
@@ -0,0 +1,7 @@
1
+ .music-staff-note-group.music-note-playing {
2
+ rect {
3
+ fill: #47c965;
4
+ stroke: darken(#47c965, 20%);
5
+ stroke-width: 3;
6
+ }
7
+ }
@@ -0,0 +1,55 @@
1
+ .music-playback-controls {
2
+ padding: 0.5rem;
3
+ display: flex;
4
+ flex-direction: row;
5
+ align-items: center;
6
+
7
+ .common-input-wrapper {
8
+ display: flex;
9
+ flex-direction: row;
10
+
11
+ .common-input-label {
12
+ padding-right: 0.5rem;
13
+ font-size: 18px;
14
+ font-weight: 700;
15
+ user-select: none;
16
+ }
17
+
18
+ .common-input-group {
19
+ max-width: 3rem;
20
+ }
21
+ }
22
+
23
+ & > .common-input-wrapper {
24
+ margin-right: 0.5rem;
25
+ }
26
+ }
27
+
28
+ .music-playback-buttons {
29
+ margin-right: 0.5rem;
30
+ }
31
+
32
+ .music-playback-label {
33
+ padding-right: 0.5rem;
34
+ font-size: 18px;
35
+ font-weight: 700;
36
+ user-select: none;
37
+ }
38
+
39
+ .music-playback-measures {
40
+ display: flex;
41
+ flex-direction: row;
42
+ align-items: center;
43
+ flex-grow: 1;
44
+ justify-content: end;
45
+
46
+ .common-button.menu-button {
47
+ color: black;
48
+ height: 2rem;
49
+ padding: 0.1rem;
50
+
51
+ i.fas {
52
+ margin: 0;
53
+ }
54
+ }
55
+ }
@@ -0,0 +1,3 @@
1
+ .music-scrollable-workspace {
2
+ overflow-x: scroll;
3
+ }
@@ -0,0 +1,31 @@
1
+ .music-staff-row {
2
+ stroke-width: 3;
3
+ stroke: black;
4
+ }
5
+
6
+ .music-staff-beat {
7
+ stroke-width: 2;
8
+ stroke: #666666;
9
+ stroke-dasharray: 2;
10
+ }
11
+
12
+ .music-staff-beat.measure-start {
13
+ stroke: orange;
14
+ }
15
+
16
+ .music-staff-background {
17
+ fill: #c9e4e2;
18
+ }
19
+
20
+ .music-staff text {
21
+ user-select: none;
22
+ }
23
+
24
+ .music-playback-line {
25
+ stroke-width: 3;
26
+ stroke: white;
27
+ }
28
+
29
+ .music-playback-head {
30
+ transition: translate 0.06ms linear;
31
+ }
File without changes
@@ -0,0 +1,48 @@
1
+ .music-track-selector {
2
+ padding: 0.5rem;
3
+ display: flex;
4
+ flex-direction: row;
5
+
6
+ .common-button.common-dropdown-button {
7
+ border: 3px solid #000;
8
+ min-width: 6rem;
9
+ height: 100%;
10
+ }
11
+
12
+ .music-track-grid {
13
+ flex-grow: 1;
14
+ display: flex;
15
+ flex-direction: row;
16
+ justify-content: end;
17
+ align-items: center;
18
+ }
19
+
20
+ .music-track-grid-label {
21
+ padding-right: 0.5rem;
22
+ font-size: 18px;
23
+ font-weight: 700;
24
+ user-select: none;
25
+ }
26
+ }
27
+
28
+ .common-button.music-track-button {
29
+ border: 3px solid #000;
30
+ padding: 0.1rem;
31
+ border-radius: 0;
32
+
33
+ img {
34
+ image-rendering: optimizeSpeed;
35
+ image-rendering: -moz-crisp-edges;
36
+ image-rendering: -webkit-optimize-contrast;
37
+ image-rendering: optimize-contrast;
38
+ image-rendering: pixelated;
39
+ -ms-interpolation-mode: nearest-neighbor;
40
+
41
+ width: 2rem;
42
+ height: 2rem;
43
+ }
44
+ }
45
+
46
+ .common-button.music-track-button.selected {
47
+ border: 3px solid orange;
48
+ }
@@ -0,0 +1,3 @@
1
+ .music-workspace {
2
+ height: 20rem;
3
+ }
package/theme/pxt.less CHANGED
@@ -38,6 +38,7 @@
38
38
  @import 'webusb';
39
39
 
40
40
  @import 'image-editor/imageEditor';
41
+ @import 'music-editor/MusicEditor';
41
42
  @import "soundeffecteditor";
42
43
 
43
44
  @import "react-common";
@@ -542,6 +542,9 @@
542
542
  color: @tutorialHintForegroundColor;
543
543
  background-color: @tutorialHintBackgroundColor;
544
544
  border-radius: .5rem;
545
+ summary {
546
+ cursor: pointer;
547
+ }
545
548
  }
546
549
 
547
550
 
@@ -0,0 +1 @@
1
+ <!doctype html><html lang="@locale@"><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1"/><title>MakeCode Arcade Multiplayer</title><link rel="stylesheet" data-rtl="/blb/rtlsemantic.css" href="/blb/semantic.css"><link rel="stylesheet" href="/blb/icons.css"><link rel="stylesheet" href="/blb/react-common-multiplayer.css"><link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"><link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png"><link rel="manifest" href="/site.webmanifest"><link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5"><meta name="msapplication-TileColor" content="#2d89ef"><meta name="theme-color" content="#ffffff"><script defer="defer" src="/blb/multiplayer/js/main.9f7f3192.js"></script><link href="/blb/multiplayer/css/main.1b9969ea.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><script type="text/javascript" src="/blb/target.js"></script><script type="text/javascript" src="/blb/pxtlib.js"></script><div id="root"></div><script>var pxtConfig=null</script></body></html>
@@ -119,6 +119,7 @@
119
119
  var server = !!/server(?:[:=])1/i.test(window.location.href);
120
120
  var mpRole = /[\&\?]mp=(server|client)/i.exec(window.location.href)?.[1]?.toLowerCase();
121
121
  var codeFromSrc = /code(?:[:=])([^&?]+)/i.exec(window.location.href);
122
+ var additionalSimParams = /simParams(?:[:=])([^&?]+)/i.exec(window.location.href)?.[1];
122
123
  var codeFromData = undefined;
123
124
  var assetJsonFromData = undefined;
124
125
  try {
@@ -132,6 +133,13 @@
132
133
  }
133
134
  var code = codeFromData || (codeFromSrc ? codeFromSrc[1] : undefined);
134
135
 
136
+
137
+ if (additionalSimParams) {
138
+ additionalSimParams = decodeURIComponent(additionalSimParams);
139
+ if (!/^[a-z0-9=\-:&]+$/i.test(additionalSimParams)) {
140
+ additionalSimParams = undefined;
141
+ }
142
+ }
135
143
  if (!id && !code && !debugSim && !server) {
136
144
  console.error("missing id or code");
137
145
  loading.textContent = 'Oops, wrong arguments...';
@@ -190,7 +198,9 @@
190
198
  fullScreen: fullScreen,
191
199
  builtJsInfo: builtSimJs,
192
200
  single: single,
193
- hideSimButtons: hideSimButtons
201
+ hideSimButtons: hideSimButtons,
202
+ autofocus: autofocus,
203
+ additionalQueryParameters: additionalSimParams
194
204
  };
195
205
  console.log('simulating project')
196
206
  pxt.runner.simulateAsync(sims, options).then(function() {
@@ -247,7 +257,8 @@
247
257
  builtJsInfo: builtSimJs,
248
258
  single: single,
249
259
  hideSimButtons: hideSimButtons,
250
- autofocus: autofocus
260
+ autofocus: autofocus,
261
+ additionalQueryParameters: additionalSimParams
251
262
  };
252
263
  console.log('simulating script')
253
264
  pxt.runner.simulateAsync(sims, options).then(function() {
@@ -28,5 +28,5 @@
28
28
  <!-- end usabilla live embed code -->
29
29
 
30
30
  <!-- @include thin-footer.html -->
31
- <script>!function(e){function r(r){for(var n,l,i=r[0],a=r[1],p=r[2],c=0,s=[];c<i.length;c++)l=i[c],Object.prototype.hasOwnProperty.call(o,l)&&o[l]&&s.push(o[l][0]),o[l]=0;for(n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n]);for(f&&f(r);s.length;)s.shift()();return u.push.apply(u,p||[]),t()}function t(){for(var e,r=0;r<u.length;r++){for(var t=u[r],n=!0,i=1;i<t.length;i++){var a=t[i];0!==o[a]&&(n=!1)}n&&(u.splice(r--,1),e=l(l.s=t[0]))}return e}var n={},o={1:0},u=[];function l(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,l),t.l=!0,t.exports}l.m=e,l.c=n,l.d=function(e,r,t){l.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},l.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},l.t=function(e,r){if(1&r&&(e=l(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(l.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)l.d(t,n,function(r){return e[r]}.bind(null,n));return t},l.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return l.d(r,"a",r),r},l.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},l.p="/";var i=this.webpackJsonpskillsmap=this.webpackJsonpskillsmap||[],a=i.push.bind(i);i.push=r,i=i.slice();for(var p=0;p<i.length;p++)r(i[p]);var f=a;t()}([])</script><script src="/blb/skillmap/js/2.d9c1cec5.chunk.js"></script><script src="/blb/skillmap/js/main.6eec9e0f.chunk.js"></script></body>
31
+ <script>!function(e){function r(r){for(var n,l,i=r[0],a=r[1],p=r[2],c=0,s=[];c<i.length;c++)l=i[c],Object.prototype.hasOwnProperty.call(o,l)&&o[l]&&s.push(o[l][0]),o[l]=0;for(n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n]);for(f&&f(r);s.length;)s.shift()();return u.push.apply(u,p||[]),t()}function t(){for(var e,r=0;r<u.length;r++){for(var t=u[r],n=!0,i=1;i<t.length;i++){var a=t[i];0!==o[a]&&(n=!1)}n&&(u.splice(r--,1),e=l(l.s=t[0]))}return e}var n={},o={1:0},u=[];function l(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,l),t.l=!0,t.exports}l.m=e,l.c=n,l.d=function(e,r,t){l.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},l.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},l.t=function(e,r){if(1&r&&(e=l(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(l.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)l.d(t,n,function(r){return e[r]}.bind(null,n));return t},l.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return l.d(r,"a",r),r},l.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},l.p="/";var i=this.webpackJsonpskillsmap=this.webpackJsonpskillsmap||[],a=i.push.bind(i);i.push=r,i=i.slice();for(var p=0;p<i.length;p++)r(i[p]);var f=a;t()}([])</script><script src="/blb/skillmap/js/2.d9c1cec5.chunk.js"></script><script src="/blb/skillmap/js/main.a6cf40e1.chunk.js"></script></body>
32
32
  </html>