pxt-core 13.1.24 → 13.1.25

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.
@@ -1347,6 +1347,7 @@ declare namespace pxt.tutorial {
1347
1347
  // Step metadata
1348
1348
  showHint?: boolean; // automatically displays hint
1349
1349
  showDialog?: boolean; // no coding, displays in modal
1350
+ simFullscreen?: boolean; // fills the coding area with the simulator, keeping step directions visible
1350
1351
  resetDiff?: boolean; // reset diffify algo
1351
1352
  tutorialCompleted?: boolean;
1352
1353
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pxt-core",
3
- "version": "13.1.24",
3
+ "version": "13.1.25",
4
4
  "description": "Microsoft MakeCode provides Blocks / JavaScript / Python tools and editors",
5
5
  "keywords": [
6
6
  "TypeScript",
package/theme/common.less CHANGED
@@ -2106,7 +2106,7 @@ p.ui.font.small {
2106
2106
  left: -2rem;
2107
2107
  }
2108
2108
 
2109
- #root:not(.fullscreensim):not(.headless):not(.sandbox) {
2109
+ #root:not(.fullscreensim):not(.tutorialSimFullscreen):not(.headless):not(.sandbox) {
2110
2110
  #boardview {
2111
2111
  width: 6.5rem !important;
2112
2112
  }
@@ -879,7 +879,7 @@
879
879
  /*******************************
880
880
  Simulator Tab
881
881
  *******************************/
882
- #root.tabTutorial:not(.fullscreensim) .simulator-container:not(.hidden) {
882
+ #root.tabTutorial:not(.fullscreensim):not(.tutorialSimFullscreen) .simulator-container:not(.hidden) {
883
883
  .simPanel {
884
884
  display: flex;
885
885
  position: relative;
@@ -1135,9 +1135,163 @@
1135
1135
  max-width: 100%;
1136
1136
  }
1137
1137
 
1138
+ /*******************************
1139
+ Simulator-focused steps
1140
+ *******************************/
1141
+
1142
+ #root.tutorialSimFullscreen {
1143
+ --tutorial-sim-menu-height: @mainMenuHeight;
1144
+ --tutorial-sim-sidebar-width: @simulatorWidth;
1145
+ display: grid;
1146
+ grid-template-areas: "instructions simulator";
1147
+ grid-template-rows: minmax(0, 1fr);
1148
+ grid-template-columns: var(--tutorial-sim-sidebar-width) minmax(0, 1fr);
1149
+ padding-top: var(--tutorial-sim-menu-height);
1150
+
1151
+ &.notificationBannerVisible {
1152
+ padding-top: calc(var(--tutorial-sim-menu-height) + @bannerHeight);
1153
+ }
1154
+ &.hideMenuBar {
1155
+ padding-top: 0;
1156
+ }
1157
+
1158
+ #simulator, .topInstructionsWrapper {
1159
+ display: contents;
1160
+ }
1161
+ #simulator #editorSidebar,
1162
+ #simulator .tutorialWrapper,
1163
+ .tutorial-instructions,
1164
+ #sidebar {
1165
+ position: relative;
1166
+ inset: auto;
1167
+ min-width: 0;
1168
+ max-width: none;
1169
+ width: 100%;
1170
+ height: 100%;
1171
+ }
1172
+ #simulator #editorSidebar {
1173
+ grid-area: simulator;
1174
+ overflow: hidden;
1175
+ }
1176
+ #simulator .tutorialWrapper, .tutorial-instructions, #sidebar {
1177
+ grid-area: instructions;
1178
+ }
1179
+ #maineditor:not(.tutorial-instructions), #editortools, #headers,
1180
+ #sidedocs, #sidedocstoggle, #miniSimOverlay,
1181
+ #simulator .expand-button, #simulator .fullscreen-button,
1182
+ #simulator .hidefullscreen:not(.tutorial.mute-button) {
1183
+ display: none !important;
1184
+ }
1185
+ .tutorial-instructions:empty {
1186
+ display: none;
1187
+ }
1188
+ .simulator-container {
1189
+ height: 100%;
1190
+ }
1191
+ #simulator .simPanel {
1192
+ display: flex;
1193
+ flex-direction: column;
1194
+ height: 100%;
1195
+ min-height: 0;
1196
+ padding: 1rem;
1197
+ margin: 0;
1198
+ overflow: hidden;
1199
+ }
1200
+ #simulator #boardview {
1201
+ flex: 1;
1202
+ width: 100%;
1203
+ height: auto;
1204
+ min-height: 0;
1205
+ padding: 0;
1206
+ }
1207
+ #simulator #simulators {
1208
+ display: flex;
1209
+ width: 100%;
1210
+ height: 100%;
1211
+ min-height: 0;
1212
+ gap: 1rem;
1213
+ }
1214
+ #simulator .simframe {
1215
+ flex: 1;
1216
+ width: 100%;
1217
+ height: 100%;
1218
+ min-height: 0;
1219
+ // SimulatorDriver writes the normal aspect ratio as an inline padding.
1220
+ padding-bottom: 0 !important;
1221
+ margin: 0;
1222
+ }
1223
+ #simulator .simtoolbar {
1224
+ display: block;
1225
+ flex: none;
1226
+ margin: 1rem 0 0;
1227
+ text-align: center;
1228
+ }
1229
+ }
1230
+
1231
+ #root #simulator.tutorialSimTransitioning {
1232
+ #editorSidebar {
1233
+ overflow: visible;
1234
+ z-index: @tutorialCardZIndex + 1;
1235
+ }
1236
+ .simPanel {
1237
+ overflow: visible;
1238
+ }
1239
+ }
1240
+
1241
+ .tutorialSimFullscreenTopInstructions() {
1242
+ grid-template-areas: "instructions" "simulator";
1243
+ grid-template-rows: auto minmax(0, 1fr);
1244
+ grid-template-columns: minmax(0, 1fr);
1245
+
1246
+ #simulator .tutorialWrapper, .tutorial-instructions {
1247
+ height: @defaultTutorialHeight;
1248
+ max-height: 40vh;
1249
+ }
1250
+ .tutorial-instructions, #sidebar {
1251
+ height: auto;
1252
+ max-height: 40vh;
1253
+ overflow: auto;
1254
+ }
1255
+ }
1256
+
1257
+ #root.tutorialSimFullscreen.tutorialSimSidebar,
1258
+ #root.tutorialSimFullscreen.tutorial:not(.sidebarTutorial),
1259
+ #root.tutorialSimFullscreen.tutorial:not(.flyoutOnly) {
1260
+ .tutorialSimFullscreenTopInstructions();
1261
+ }
1262
+
1263
+ @media only screen and (max-width: @largestSmallMonitor) {
1264
+ #root.tutorialSimFullscreen {
1265
+ --tutorial-sim-sidebar-width: @simulatorWidthSmall;
1266
+ }
1267
+ }
1268
+
1269
+ #root.tutorialSimFullscreen.tutorial.sidebarTutorial.flyoutOnly {
1270
+ --tutorial-sim-sidebar-width: 33.3%;
1271
+ .tutorial-instructions {
1272
+ display: none;
1273
+ }
1274
+ }
1275
+
1276
+ @media only screen and (max-width: @largestTabletScreen) {
1277
+ #root.tutorialSimFullscreen {
1278
+ --tutorial-sim-menu-height: @mobileMenuHeight;
1279
+ .tutorialSimFullscreenTopInstructions();
1280
+ #simulator .simulator-container .simPanel .tutorial.mute-button {
1281
+ display: block !important;
1282
+ }
1283
+ }
1284
+ }
1285
+
1286
+ @media only screen and (min-width: @largestMobileScreen) and (max-height: @tallEditorBreakpoint) {
1287
+ #root.tutorialSimFullscreen {
1288
+ --tutorial-sim-menu-height: @thinMenuHeight;
1289
+ }
1290
+ }
1291
+
1138
1292
  /* Mobile */
1139
1293
  @media only screen and (max-width: @largestMobileScreen) {
1140
- #root.tabTutorial:not(.fullscreensim) .simulator-container:not(.hidden) .simPanel {
1294
+ #root.tabTutorial:not(.fullscreensim):not(.tutorialSimFullscreen) .simulator-container:not(.hidden) .simPanel {
1141
1295
  #simulators {
1142
1296
  width: 16rem;
1143
1297
  }