pxt-core 12.3.23 → 12.3.24

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 (38) hide show
  1. package/built/react-common/components/controls/FocusList.d.ts +1 -0
  2. package/built/react-common/components/controls/Tree.d.ts +1 -0
  3. package/built/target.js +1 -1
  4. package/built/targetlight.js +1 -1
  5. package/built/tests/blocksrunner.js +5 -3
  6. package/built/tests/blockssetup.js +5 -3
  7. package/built/web/main.js +2 -2
  8. package/built/web/multiplayer/js/{main.d5112b60.js → main.7de24d49.js} +2 -2
  9. package/built/web/pxtasseteditor.js +2 -2
  10. package/built/web/pxtembed.js +1 -1
  11. package/built/web/react-common-authcode.css +1 -1
  12. package/built/web/react-common-multiplayer.css +1 -1
  13. package/built/web/react-common-skillmap.css +1 -1
  14. package/built/web/rtlreact-common-authcode.css +1 -1
  15. package/built/web/rtlreact-common-multiplayer.css +1 -1
  16. package/built/web/rtlreact-common-skillmap.css +1 -1
  17. package/built/web/rtlsemantic.css +2 -2
  18. package/built/web/runnerembed.js +1 -1
  19. package/built/web/semantic.css +2 -2
  20. package/built/web/skillmap/js/{main.015cce04.js → main.d9d0dfdf.js} +2 -2
  21. package/built/web/teachertool/js/{main.4fbd0fd2.js → main.5580a613.js} +2 -2
  22. package/built/web/tutorialtool/js/{main.a779a7fa.js → main.f9715395.js} +2 -2
  23. package/package.json +1 -1
  24. package/react-common/components/controls/FocusList.tsx +4 -1
  25. package/react-common/components/controls/Tree.tsx +4 -0
  26. package/react-common/styles/controls/Input.less +2 -1
  27. package/react-common/styles/profile/profile.less +7 -0
  28. package/theme/common.less +30 -1
  29. package/theme/github.less +25 -0
  30. package/theme/home.less +1 -4
  31. package/theme/semantic-ui-overrides.less +12 -8
  32. package/theme/themes/pxt/modules/modal.overrides +8 -6
  33. package/theme/timeMachine.less +7 -0
  34. package/theme/toolbox.less +14 -1
  35. package/webapp/public/multiplayer.html +1 -1
  36. package/webapp/public/skillmap.html +1 -1
  37. package/webapp/public/teachertool.html +1 -1
  38. package/webapp/public/tutorialtool.html +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pxt-core",
3
- "version": "12.3.23",
3
+ "version": "12.3.24",
4
4
  "description": "Microsoft MakeCode provides Blocks / JavaScript / Python tools and editors",
5
5
  "keywords": [
6
6
  "TypeScript",
@@ -6,6 +6,7 @@ export interface FocusListProps extends ContainerProps {
6
6
  childTabStopId?: string;
7
7
  focusSelectsItem?: boolean;
8
8
  useUpAndDownArrowKeys?: boolean;
9
+ title?: string;
9
10
  onItemReceivedFocus?: (item: HTMLElement) => void;
10
11
  onClose?: () => void;
11
12
  }
@@ -30,6 +31,7 @@ export const FocusList = (props: FocusListProps) => {
30
31
  focusSelectsItem,
31
32
  onItemReceivedFocus,
32
33
  useUpAndDownArrowKeys,
34
+ title,
33
35
  onClose
34
36
  } = props;
35
37
 
@@ -159,7 +161,8 @@ export const FocusList = (props: FocusListProps) => {
159
161
  onKeyDown={onKeyDown}
160
162
  ref={handleRef}
161
163
  aria-hidden={ariaHidden}
162
- aria-label={ariaLabel}>
164
+ aria-label={ariaLabel}
165
+ title={title}>
163
166
  {children}
164
167
  </div>
165
168
  );
@@ -5,6 +5,7 @@ import { FocusList } from "./FocusList";
5
5
 
6
6
  export interface TreeProps extends ContainerProps {
7
7
  role?: "tree" | "group";
8
+ title?: string;
8
9
  }
9
10
 
10
11
  export interface TreeItemProps extends ContainerProps {
@@ -26,6 +27,7 @@ export const Tree = (props: TreeProps) => {
26
27
  ariaHidden,
27
28
  ariaDescribedBy,
28
29
  role,
30
+ title
29
31
  } = props;
30
32
 
31
33
  if (!role || role === "tree") {
@@ -37,6 +39,7 @@ export const Tree = (props: TreeProps) => {
37
39
  aria-hidden={ariaHidden}
38
40
  aria-describedby={ariaDescribedBy}
39
41
  role={role || "tree"}
42
+ title={title}
40
43
  >
41
44
  {children}
42
45
  </FocusList>
@@ -51,6 +54,7 @@ export const Tree = (props: TreeProps) => {
51
54
  aria-hidden={ariaHidden}
52
55
  aria-describedby={ariaDescribedBy}
53
56
  role={role || "tree"}
57
+ title={title}
54
58
  >
55
59
  {children}
56
60
  </div>
@@ -58,7 +58,8 @@
58
58
  .common-input-group {
59
59
  & > i.fas, i.far, .icon, .xicon {
60
60
  position: absolute;
61
- bottom: 0.3rem;
61
+ bottom: 50%;
62
+ transform: translateY(50%);
62
63
  right: 0.5rem;
63
64
  width: 1.25rem;
64
65
  margin-right: 0;
@@ -444,6 +444,13 @@
444
444
  display: flex;
445
445
  gap: 0.5rem;
446
446
  justify-content: center;
447
+
448
+ .link-button:focus-visible {
449
+ outline: var(--pxt-neutral-foreground1) solid 3px;
450
+ outline-offset: 2px;
451
+ border-radius: 0.1em;
452
+ text-decoration: none;
453
+ }
447
454
  }
448
455
 
449
456
  .learn {
package/theme/common.less CHANGED
@@ -442,13 +442,15 @@ div.simframe > iframe {
442
442
  .menubar {
443
443
  .left.menu, .right.menu, .center.menu {
444
444
  display: flex;
445
- flex: 1;
445
+ flex-grow: 1;
446
446
  }
447
447
  .right.menu {
448
448
  justify-content: flex-end;
449
+ flex-shrink: 0;
449
450
  }
450
451
  .center.menu {
451
452
  justify-content: center;
453
+ flex-shrink: 0;
452
454
  }
453
455
 
454
456
  .ui.item {
@@ -2695,6 +2697,33 @@ button.ui.button.hostmultiplayergame-button {
2695
2697
  }
2696
2698
  }
2697
2699
 
2700
+ .search-input.common-input-wrapper {
2701
+ border-radius: 500rem;
2702
+ height: 3rem;
2703
+
2704
+ .common-input-group {
2705
+ border-radius: 500rem;
2706
+ height: 3rem;
2707
+
2708
+ input {
2709
+ border-radius: 500rem;
2710
+ height: 3rem;
2711
+ }
2712
+
2713
+ &:focus-within:after, &:focus:after {
2714
+ border-radius: 500rem;
2715
+ }
2716
+ }
2717
+
2718
+ i {
2719
+ color: var(--pxt-neutral-foreground2);
2720
+ }
2721
+
2722
+ &.project-manager {
2723
+ max-width: 250px;
2724
+ }
2725
+ }
2726
+
2698
2727
  // win the specificity fight with hc mode
2699
2728
  #root.hc .sim-presence-bar .sim-presence-bar-player {
2700
2729
  background-repeat: no-repeat !important;
package/theme/github.less CHANGED
@@ -236,3 +236,28 @@
236
236
  }
237
237
  }
238
238
  }
239
+
240
+ .create-gh-content {
241
+ display: flex;
242
+ flex-direction: column;
243
+ gap: 0.5rem;
244
+
245
+ &>div {
246
+ display: flex;
247
+ flex-direction: column;
248
+
249
+ label {
250
+ font-weight: 800;
251
+ font-size: 0.9rem;
252
+ margin-bottom: 0.25rem;
253
+ }
254
+ }
255
+
256
+ .common-dropdown {
257
+ width: 100%;
258
+
259
+ button.common-button {
260
+ width: 100%;
261
+ }
262
+ }
263
+ }
package/theme/home.less CHANGED
@@ -154,7 +154,7 @@
154
154
  background: var(--pxt-target-background1);
155
155
  color: var(--pxt-target-foreground1);
156
156
  }
157
-
157
+
158
158
  .button.large {
159
159
  font-weight: 700;
160
160
  }
@@ -198,9 +198,6 @@
198
198
  input {
199
199
  padding: .75em 1em;
200
200
  }
201
- i {
202
- bottom: 1em;
203
- };
204
201
  }
205
202
  }
206
203
 
@@ -26,10 +26,10 @@ This file overrides the default semantic ui theming with our own theme variables
26
26
  &:hover, &:focus {
27
27
  // Semantic UI darkens background using a filter, which isn't necessary when we have a hover color.
28
28
  filter: none;
29
-
29
+
30
30
  background-color: @hoverBg;
31
31
  color: @hoverFg;
32
-
32
+
33
33
  &.inverted {
34
34
  background-color: @hoverFg;
35
35
  color: @hoverBg;
@@ -84,11 +84,16 @@ body.pxt-theme-root {
84
84
  color: var(--pxt-neutral-foreground1);
85
85
  border-color: var(--pxt-neutral-stencil1);
86
86
 
87
- &:hover, &:focus {
87
+ &:hover {
88
88
  background-color: var(--pxt-neutral-background1-hover);
89
89
  color: var(--pxt-neutral-foreground1-hover);
90
90
  }
91
91
 
92
+ &:focus-visible {
93
+ outline: 4px solid var(--pxt-focus-border);
94
+ outline-offset: 2px;
95
+ }
96
+
92
97
  .extra.content a.learnmore {
93
98
  color: var(--pxt-link);
94
99
  }
@@ -101,7 +106,7 @@ body.pxt-theme-root {
101
106
  .header {
102
107
  color: var(--pxt-neutral-foreground1);
103
108
  }
104
-
109
+
105
110
  .description {
106
111
  color: var(--pxt-neutral-alpha80);
107
112
  }
@@ -125,7 +130,6 @@ body.pxt-theme-root {
125
130
  > .content,
126
131
  > .header,
127
132
  > .actions,
128
- > .closeIcon,
129
133
  > .closeIcon .close,
130
134
  > .content > .ui.items > .item > .content > .description {
131
135
  background-color: var(--pxt-neutral-background1);
@@ -268,7 +272,7 @@ body.pxt-theme-root {
268
272
  input {
269
273
  border: 1px solid var(--pxt-neutral-stencil1);
270
274
 
271
- & ~ .box:before,
275
+ & ~ .box:before,
272
276
  & ~ label:before {
273
277
  border: 1px solid var(--pxt-neutral-stencil1);
274
278
  }
@@ -281,7 +285,7 @@ body.pxt-theme-root {
281
285
  color: var(--pxt-neutral-foreground1) !important;
282
286
  }
283
287
 
284
- & ~ .box:before,
288
+ & ~ .box:before,
285
289
  & ~ label:before {
286
290
  border: 1px solid var(--pxt-neutral-stencil1);
287
291
  background-color: var(--pxt-primary-background) !important;
@@ -296,7 +300,7 @@ body.pxt-theme-root {
296
300
  // Colors
297
301
  .blue {
298
302
  color: var(--pxt-colors-blue-background);
299
-
303
+
300
304
  &.inverted {
301
305
  color: var(--pxt-colors-blue-background) !important;
302
306
  background-color: var(--pxt-colors-blue-foreground) !important;
@@ -262,16 +262,18 @@
262
262
  border-radius: 50%;
263
263
  font-size: 2.15rem;
264
264
  line-height: 2.15rem;
265
- transition: all .15s ease-out;
266
265
  height: 2.15rem;
267
266
  width: 2.15rem;
268
267
  padding: 0;
269
268
  }
270
- .ui.modal > .closeIcon:focus .close,
271
- .ui.modal > .closeIcon:hover .close {
272
- box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.50);
273
- outline: none;
274
- transform: scale(1.1);
269
+ .ui.modal > .closeIcon:hover .close {
270
+ outline: solid 4px var(--pxt-neutral-alpha20);
271
+ outline-offset: 2px;
272
+ }
273
+
274
+ .ui.modal > .closeIcon:focus-visible .close {
275
+ outline: solid 4px var(--pxt-focus-border);
276
+ outline-offset: 2px;
275
277
  }
276
278
 
277
279
  .ui.button.icon.clear {
@@ -153,4 +153,11 @@
153
153
  .time-machine-header {
154
154
  height: @mobileMenuHeight;
155
155
  }
156
+
157
+ button.common-button.square-on-mobile {
158
+ width: 3rem;
159
+ height: 3rem;
160
+ padding: 0;
161
+ min-width: 0;
162
+ }
156
163
  }
@@ -184,9 +184,22 @@ span.blocklyTreeLabel, text.blocklyText {
184
184
  *******************************/
185
185
 
186
186
  /* Blockly Search bar */
187
- .blocklySearchInputField {
187
+ .ui.input > input.blocklySearchInputField {
188
188
  border: 0 !important;
189
189
  border-radius: 0 !important;
190
+
191
+ &::-webkit-input-placeholder {
192
+ color: var(--pxt-neutral-alpha50);
193
+ }
194
+ &:-moz-placeholder {
195
+ color: var(--pxt-neutral-alpha50);
196
+ }
197
+ &::-moz-placeholder {
198
+ color: var(--pxt-neutral-alpha50);
199
+ }
200
+ &:-ms-input-placeholder {
201
+ color: var(--pxt-neutral-alpha50);
202
+ }
190
203
  }
191
204
 
192
205
  @media only screen and (max-width: @largestMobileScreen) {
@@ -9,7 +9,7 @@
9
9
  <link rel="stylesheet" data-rtl="/blb/rtlsemantic.css" href="/blb/semantic.css">
10
10
  <link rel="stylesheet" href="/blb/icons.css">
11
11
  <link rel="stylesheet" href="/blb/react-common-multiplayer.css">
12
- <script defer="defer" src="/blb/multiplayer/js/main.d5112b60.js"></script><link href="/blb/multiplayer/css/main.40f89d37.css" rel="stylesheet"></head>
12
+ <script defer="defer" src="/blb/multiplayer/js/main.7de24d49.js"></script><link href="/blb/multiplayer/css/main.40f89d37.css" rel="stylesheet"></head>
13
13
  <body class="pxt-theme-root">
14
14
  <noscript>You need to enable JavaScript to run this app.</noscript>
15
15
 
@@ -7,7 +7,7 @@
7
7
  <link rel="stylesheet" data-rtl="/blb/rtlsemantic.css" href="/blb/semantic.css">
8
8
  <link rel="stylesheet" href="/blb/icons.css">
9
9
  <link rel="stylesheet" href="/blb/react-common-skillmap.css">
10
- <script defer="defer" src="/blb/skillmap/js/main.015cce04.js"></script><link href="/blb/skillmap/css/main.450cb46e.css" rel="stylesheet"></head>
10
+ <script defer="defer" src="/blb/skillmap/js/main.d9d0dfdf.js"></script><link href="/blb/skillmap/css/main.450cb46e.css" rel="stylesheet"></head>
11
11
  <body class="pxt-theme-root">
12
12
  <noscript>You need to enable JavaScript to run this app.</noscript>
13
13
 
@@ -18,7 +18,7 @@
18
18
  <!-- <link rel="manifest" href="/teachertool-data/manifest.json" /> -->
19
19
  <title>MakeCode Code Evaluation</title>
20
20
  <script>var pxtConfig=null</script>
21
- <script defer="defer" src="/blb/teachertool/js/main.4fbd0fd2.js"></script><link href="/blb/teachertool/css/main.8ef9c91e.css" rel="stylesheet"></head>
21
+ <script defer="defer" src="/blb/teachertool/js/main.5580a613.js"></script><link href="/blb/teachertool/css/main.8ef9c91e.css" rel="stylesheet"></head>
22
22
  <body class="pxt-theme-root">
23
23
  <noscript>You need to enable JavaScript to run this app.</noscript>
24
24
 
@@ -17,7 +17,7 @@
17
17
  <!-- <link rel="manifest" href="/tutorialtool-data/manifest.json" /> -->
18
18
  <title>MakeCode Tutorial Tool</title>
19
19
  <script>var pxtConfig=null</script>
20
- <script defer="defer" src="/blb/tutorialtool/js/main.a779a7fa.js"></script><link href="/blb/tutorialtool/css/main.02bb1797.css" rel="stylesheet"></head>
20
+ <script defer="defer" src="/blb/tutorialtool/js/main.f9715395.js"></script><link href="/blb/tutorialtool/css/main.02bb1797.css" rel="stylesheet"></head>
21
21
 
22
22
  <body>
23
23
  <noscript>You need to enable JavaScript to run this app.</noscript>