pxt-core 8.2.6 → 8.2.7
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 +1 -0
- package/built/pxt.js +43 -19
- package/built/pxtblockly.js +17 -1
- package/built/pxtblocks.d.ts +1 -0
- package/built/pxtblocks.js +17 -1
- package/built/pxteditor.js +5 -0
- package/built/pxtlib.js +3 -3
- package/built/pxtpy.d.ts +1 -0
- package/built/pxtpy.js +39 -16
- 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/pxtblockly.js +1 -1
- package/built/web/pxtblocks.js +1 -1
- package/built/web/pxteditor.js +1 -1
- package/built/web/pxtembed.js +2 -2
- package/built/web/pxtlib.js +1 -1
- package/built/web/pxtpy.js +1 -1
- package/built/web/pxtworker.js +1 -1
- package/built/web/react-common-authcode.css +98 -0
- package/built/web/react-common-skillmap.css +1 -1
- package/built/web/rtlblockly.css +1 -1
- package/built/web/rtlreact-common-skillmap.css +1 -1
- package/built/web/rtlsemantic.css +1 -1
- package/built/web/semantic.css +1 -1
- package/built/web/skillmap/css/main.3684f34d.chunk.css +1 -0
- package/built/web/skillmap/js/2.26325281.chunk.js +2 -0
- package/built/web/skillmap/js/main.b87a119c.chunk.js +1 -0
- package/localtypings/react.d.ts +5 -0
- package/package.json +1 -1
- package/react-common/components/controls/Checkbox.tsx +1 -1
- package/react-common/components/palette/ColorPickerField.tsx +65 -0
- package/react-common/components/palette/PaletteEditor.tsx +66 -0
- package/react-common/components/palette/PalettePicker.tsx +52 -0
- package/react-common/components/palette/PaletteSwatch.tsx +27 -0
- package/react-common/components/palette/Palettes.ts +289 -0
- package/react-common/components/profile/SignInModal.tsx +100 -0
- package/react-common/components/profile/UserPane.tsx +17 -9
- package/react-common/styles/palette/ColorPickerField.less +21 -0
- package/react-common/styles/palette/PalettePicker.less +10 -0
- package/react-common/styles/palette/PaletteSwatch.less +27 -0
- package/react-common/styles/palette/palette.less +3 -0
- package/react-common/styles/profile/profile.less +64 -1
- package/react-common/styles/react-common.less +1 -0
- package/theme/blockly-core.less +1 -1
- package/theme/common.less +13 -2
- package/theme/image-editor/bottomBar.less +1 -1
- package/theme/tutorial-sidebar.less +2 -2
- package/webapp/public/skillmap.html +2 -2
- package/built/web/skillmap/css/main.c5811548.chunk.css +0 -1
- package/built/web/skillmap/js/2.26b9a6f6.chunk.js +0 -2
- package/built/web/skillmap/js/main.98eed582.chunk.js +0 -1
|
@@ -0,0 +1,289 @@
|
|
|
1
|
+
export interface Palette {
|
|
2
|
+
name: string;
|
|
3
|
+
id: string;
|
|
4
|
+
colors: string[];
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
export const Adafruit: Palette = {
|
|
8
|
+
id: "Adafruit",
|
|
9
|
+
name: lf("Adafruit"),
|
|
10
|
+
colors: [
|
|
11
|
+
"#000000",
|
|
12
|
+
"#FFFFFF",
|
|
13
|
+
"#FF0000",
|
|
14
|
+
"#FF007D",
|
|
15
|
+
"#FF7a00",
|
|
16
|
+
"#e5FF00",
|
|
17
|
+
"#2D9F00",
|
|
18
|
+
"#00FF72",
|
|
19
|
+
"#0034FF",
|
|
20
|
+
"#17ABFF",
|
|
21
|
+
"#C600FF",
|
|
22
|
+
"#636363",
|
|
23
|
+
"#7400DB",
|
|
24
|
+
"#00EFFF",
|
|
25
|
+
"#DF2929",
|
|
26
|
+
"#000000",
|
|
27
|
+
]
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
// https://lospec.com/palette-list/vanilla-milkshake missing #e9f59d
|
|
31
|
+
export const Pastel: Palette = {
|
|
32
|
+
id: "Pastel",
|
|
33
|
+
name: lf("Pastel"),
|
|
34
|
+
colors: [
|
|
35
|
+
"#000000",
|
|
36
|
+
"#fff7e4",
|
|
37
|
+
"#f98284",
|
|
38
|
+
"#feaae4",
|
|
39
|
+
"#ffc384",
|
|
40
|
+
"#fff7a0",
|
|
41
|
+
"#87a889",
|
|
42
|
+
"#b0eb93",
|
|
43
|
+
"#b0a9e4",
|
|
44
|
+
"#accce4",
|
|
45
|
+
"#b3e3da",
|
|
46
|
+
"#d9c8bf",
|
|
47
|
+
"#6c5671",
|
|
48
|
+
"#ffe6c6",
|
|
49
|
+
"#dea38b",
|
|
50
|
+
"#28282e",
|
|
51
|
+
]
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
export const Matte: Palette = {
|
|
56
|
+
id: "Matte",
|
|
57
|
+
name: lf("Matte"),
|
|
58
|
+
colors: [
|
|
59
|
+
"#000000",
|
|
60
|
+
"#FFF1E8",
|
|
61
|
+
"#FF004D",
|
|
62
|
+
"#FF77A8",
|
|
63
|
+
"#FFA300",
|
|
64
|
+
"#FFEC27",
|
|
65
|
+
"#008751",
|
|
66
|
+
"#00E436",
|
|
67
|
+
"#29ADFF",
|
|
68
|
+
"#C2C3C7",
|
|
69
|
+
"#7E2553",
|
|
70
|
+
"#83769C",
|
|
71
|
+
"#5F574F",
|
|
72
|
+
"#FFCCAA",
|
|
73
|
+
"#AB5236",
|
|
74
|
+
"#1D2B53",
|
|
75
|
+
]
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
export const Grayscale: Palette = {
|
|
80
|
+
id: "Grayscale",
|
|
81
|
+
name: lf("Grayscale"),
|
|
82
|
+
colors: [
|
|
83
|
+
"#000000",
|
|
84
|
+
"#FFFFFF",
|
|
85
|
+
"#EDEDED",
|
|
86
|
+
"#DBDBDB",
|
|
87
|
+
"#C8C8C8",
|
|
88
|
+
"#B6B6B6",
|
|
89
|
+
"#A4A4A4",
|
|
90
|
+
"#929292",
|
|
91
|
+
"#808080",
|
|
92
|
+
"#6D6D6D",
|
|
93
|
+
"#5B5B5B",
|
|
94
|
+
"#494949",
|
|
95
|
+
"#373737",
|
|
96
|
+
"#242424",
|
|
97
|
+
"#121212",
|
|
98
|
+
"#000000",
|
|
99
|
+
]
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
// https://lospec.com/palette-list/poke14 with #b56edd added for purple
|
|
104
|
+
export const Poke: Palette = {
|
|
105
|
+
id: "Poke",
|
|
106
|
+
name: lf("Poke"),
|
|
107
|
+
colors: [
|
|
108
|
+
"#000000",
|
|
109
|
+
"#ffffff",
|
|
110
|
+
"#d45362",
|
|
111
|
+
"#e8958b",
|
|
112
|
+
"#cc8945",
|
|
113
|
+
"#f5dc8c",
|
|
114
|
+
"#417d53",
|
|
115
|
+
"#5dd48f",
|
|
116
|
+
"#5162c2",
|
|
117
|
+
"#6cadeb",
|
|
118
|
+
"#b56edd",
|
|
119
|
+
"#8f3f29",
|
|
120
|
+
"#612431",
|
|
121
|
+
"#c0fac2",
|
|
122
|
+
"#24325e",
|
|
123
|
+
"#1b1221",
|
|
124
|
+
]
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
// https://lospec.com/palette-list/warioware-diy
|
|
129
|
+
export const DIY: Palette = {
|
|
130
|
+
id: "DIY",
|
|
131
|
+
name: lf("DIY"),
|
|
132
|
+
colors: [
|
|
133
|
+
"#000000",
|
|
134
|
+
"#f8f8f8",
|
|
135
|
+
"#f80000",
|
|
136
|
+
"#FF93C4",
|
|
137
|
+
"#f8a830",
|
|
138
|
+
"#f8f858",
|
|
139
|
+
"#089050",
|
|
140
|
+
"#70d038",
|
|
141
|
+
"#2868c0",
|
|
142
|
+
"#10c0c8",
|
|
143
|
+
"#c868e8",
|
|
144
|
+
"#c0c0c0",
|
|
145
|
+
"#787878",
|
|
146
|
+
"#f8d898",
|
|
147
|
+
"#c04800",
|
|
148
|
+
"#000000",
|
|
149
|
+
]
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
// https://lospec.com/palette-list/still-life
|
|
154
|
+
export const StillLife: Palette = {
|
|
155
|
+
id: "StillLife",
|
|
156
|
+
name: lf("Still Life"),
|
|
157
|
+
colors: [
|
|
158
|
+
"#000000",
|
|
159
|
+
"#a8e4d4",
|
|
160
|
+
"#d13b27",
|
|
161
|
+
"#e07f8a",
|
|
162
|
+
"#cc8218",
|
|
163
|
+
"#b3e868",
|
|
164
|
+
"#5d853a",
|
|
165
|
+
"#68c127",
|
|
166
|
+
"#286fb8",
|
|
167
|
+
"#9b8bff",
|
|
168
|
+
"#3f2811",
|
|
169
|
+
"#513155",
|
|
170
|
+
"#122615",
|
|
171
|
+
"#c7b581",
|
|
172
|
+
"#7a2222",
|
|
173
|
+
"#000000",
|
|
174
|
+
]
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
|
|
178
|
+
// https://lospec.com/palette-list/steam-lords, missing 0xa0b9ba
|
|
179
|
+
export const SteamPunk: Palette = {
|
|
180
|
+
id: "SteamPunk",
|
|
181
|
+
name: lf("Steam Punk"),
|
|
182
|
+
colors: [
|
|
183
|
+
"#000000",
|
|
184
|
+
"#c0d1cc",
|
|
185
|
+
"#603b3a",
|
|
186
|
+
"#170e19",
|
|
187
|
+
"#775c4f",
|
|
188
|
+
"#77744f",
|
|
189
|
+
"#4f7754",
|
|
190
|
+
"#a19f7c",
|
|
191
|
+
"#4f5277",
|
|
192
|
+
"#65738c",
|
|
193
|
+
"#3a604a",
|
|
194
|
+
"#213b25",
|
|
195
|
+
"#433a60",
|
|
196
|
+
"#7c94a1",
|
|
197
|
+
"#3b2137",
|
|
198
|
+
"#2f213b",
|
|
199
|
+
]
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
// https://lospec.com/palette-list/sweetie-16, missing 0x73eff7
|
|
203
|
+
export const Sweet: Palette = {
|
|
204
|
+
id: "Sweet",
|
|
205
|
+
name: lf("Sweet"),
|
|
206
|
+
colors: [
|
|
207
|
+
"#000000",
|
|
208
|
+
"#f4f4f4",
|
|
209
|
+
"#b13e53",
|
|
210
|
+
"#a7f070",
|
|
211
|
+
"#ef7d57",
|
|
212
|
+
"#ffcd75",
|
|
213
|
+
"#257179",
|
|
214
|
+
"#38b764",
|
|
215
|
+
"#29366f",
|
|
216
|
+
"#3b5dc9",
|
|
217
|
+
"#41a6f6",
|
|
218
|
+
"#566c86",
|
|
219
|
+
"#333c57",
|
|
220
|
+
"#94b0c2",
|
|
221
|
+
"#5d275d",
|
|
222
|
+
"#1a1c2c",
|
|
223
|
+
]
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
|
|
227
|
+
// https://lospec.com/palette-list/na16, missing 0x70377f
|
|
228
|
+
export const Adventure: Palette = {
|
|
229
|
+
id: "Adventure",
|
|
230
|
+
name: lf("Adventure"),
|
|
231
|
+
colors: [
|
|
232
|
+
"#000000",
|
|
233
|
+
"#f5edba",
|
|
234
|
+
"#9d303b",
|
|
235
|
+
"#d26471",
|
|
236
|
+
"#e4943a",
|
|
237
|
+
"#c0c741",
|
|
238
|
+
"#647d34",
|
|
239
|
+
"#34859d",
|
|
240
|
+
"#17434b",
|
|
241
|
+
"#7ec4c1",
|
|
242
|
+
"#584563",
|
|
243
|
+
"#8c8fae",
|
|
244
|
+
"#3e2137",
|
|
245
|
+
"#d79b7d",
|
|
246
|
+
"#9a6348",
|
|
247
|
+
"#1f0e1c",
|
|
248
|
+
]
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
|
|
252
|
+
//% fixedInstance whenUsed block="arcade"
|
|
253
|
+
export const Arcade: Palette = {
|
|
254
|
+
id: "Arcade",
|
|
255
|
+
name: lf("Arcade"),
|
|
256
|
+
colors: [
|
|
257
|
+
"#000000",
|
|
258
|
+
"#FFFFFF",
|
|
259
|
+
"#FF2121",
|
|
260
|
+
"#FF93C4",
|
|
261
|
+
"#FF8135",
|
|
262
|
+
"#FFF609",
|
|
263
|
+
"#249CA3",
|
|
264
|
+
"#78DC52",
|
|
265
|
+
"#003FAD",
|
|
266
|
+
"#87F2FF",
|
|
267
|
+
"#8E2EC4",
|
|
268
|
+
"#A4839F",
|
|
269
|
+
"#5C406c",
|
|
270
|
+
"#E5CDC4",
|
|
271
|
+
"#91463d",
|
|
272
|
+
"#000000",
|
|
273
|
+
]
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
|
|
277
|
+
export const AllPalettes = [
|
|
278
|
+
Arcade,
|
|
279
|
+
Matte,
|
|
280
|
+
Pastel,
|
|
281
|
+
Sweet,
|
|
282
|
+
Poke,
|
|
283
|
+
Adventure,
|
|
284
|
+
DIY,
|
|
285
|
+
Adafruit,
|
|
286
|
+
StillLife,
|
|
287
|
+
SteamPunk,
|
|
288
|
+
Grayscale,
|
|
289
|
+
]
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/// <reference path="../types.d.ts" />
|
|
2
|
+
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import { Checkbox } from "../controls/Checkbox";
|
|
5
|
+
import { Button } from "../controls/Button";
|
|
6
|
+
import { Link } from "../controls/Link";
|
|
7
|
+
import { Modal } from "../controls/Modal";
|
|
8
|
+
|
|
9
|
+
export interface SignInModalProps {
|
|
10
|
+
onSignIn: (provider: pxt.AppCloudProvider, rememberMe: boolean) => Promise<void>;
|
|
11
|
+
onClose: () => void;
|
|
12
|
+
appMessage?: string;
|
|
13
|
+
resolvePath?: (path: string) => string;
|
|
14
|
+
mode?: "signin" | "signup";
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export const SignInModal = (props: SignInModalProps) => {
|
|
18
|
+
const { onSignIn, onClose, appMessage } = props;
|
|
19
|
+
const resolvePath = props.resolvePath ?? (path => path);
|
|
20
|
+
|
|
21
|
+
const [rememberMe, setRememberMe] = React.useState(false);
|
|
22
|
+
const [mode, setMode] = React.useState(props.mode ?? "signin");
|
|
23
|
+
|
|
24
|
+
const titleText = React.useMemo(() => (mode === "signin" ? lf("Sign in") : lf("Sign up")), [mode]);
|
|
25
|
+
const headerText = React.useMemo(
|
|
26
|
+
() =>
|
|
27
|
+
mode === "signin"
|
|
28
|
+
? lf("Sign in to save your progress and access your work anytime, anywhere.")
|
|
29
|
+
: lf("Join now to save your progress and access your work anytime, anywhere."),
|
|
30
|
+
[mode]
|
|
31
|
+
);
|
|
32
|
+
const footerFragment = React.useMemo(
|
|
33
|
+
() =>
|
|
34
|
+
mode === "signin" ? (
|
|
35
|
+
<div className='switch'>
|
|
36
|
+
<span>{lf("Don't have an account?")}</span>
|
|
37
|
+
<Button className="link-button" onClick={() => setMode("signup")} title={lf("Sign up")}/>
|
|
38
|
+
</div>
|
|
39
|
+
) : (
|
|
40
|
+
<div className='switch'>
|
|
41
|
+
<span>{lf("Have an account?")}</span>
|
|
42
|
+
<Button className="link-button" onClick={() => setMode("signin")} title={lf("Sign in")}/>
|
|
43
|
+
</div>
|
|
44
|
+
),
|
|
45
|
+
[mode]
|
|
46
|
+
);
|
|
47
|
+
|
|
48
|
+
return (
|
|
49
|
+
<Modal title={titleText} onClose={onClose}>
|
|
50
|
+
<div className='signin-form'>
|
|
51
|
+
<div className='signin-header'>
|
|
52
|
+
{appMessage ? appMessage : undefined} {headerText}
|
|
53
|
+
</div>
|
|
54
|
+
<div className='signin-body'>
|
|
55
|
+
<div className='providers'>
|
|
56
|
+
{pxt.auth.identityProviders().map((provider, index) => {
|
|
57
|
+
const title =
|
|
58
|
+
mode === "signin"
|
|
59
|
+
? lf("Continue with {0}", provider.name)
|
|
60
|
+
: lf("Sign up with {0}", provider.name);
|
|
61
|
+
return (
|
|
62
|
+
<Button
|
|
63
|
+
key={index}
|
|
64
|
+
className='teal inverted provider'
|
|
65
|
+
onClick={() => onSignIn(provider, rememberMe)}
|
|
66
|
+
title={title}
|
|
67
|
+
ariaLabel={title}
|
|
68
|
+
label={
|
|
69
|
+
<div className='label'>
|
|
70
|
+
<div>
|
|
71
|
+
<img className='logo' src={resolvePath(provider.icon)} />
|
|
72
|
+
</div>
|
|
73
|
+
<div className='title'>{title}</div>
|
|
74
|
+
</div>
|
|
75
|
+
}
|
|
76
|
+
/>
|
|
77
|
+
);
|
|
78
|
+
})}
|
|
79
|
+
<div className='rememberme'>
|
|
80
|
+
<Checkbox
|
|
81
|
+
id='rememberme'
|
|
82
|
+
label={lf("Remember me")}
|
|
83
|
+
isChecked={rememberMe}
|
|
84
|
+
onChange={setRememberMe}
|
|
85
|
+
></Checkbox>
|
|
86
|
+
</div>
|
|
87
|
+
</div>
|
|
88
|
+
</div>
|
|
89
|
+
<div className='signin-footer'>
|
|
90
|
+
{footerFragment}
|
|
91
|
+
<div className='learn'>
|
|
92
|
+
<Link href='/identity/sign-in' target='_blank'>
|
|
93
|
+
{lf("Learn more")}
|
|
94
|
+
</Link>
|
|
95
|
+
</div>
|
|
96
|
+
</div>
|
|
97
|
+
</div>
|
|
98
|
+
</Modal>
|
|
99
|
+
);
|
|
100
|
+
};
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
/// <reference path="../types.d.ts" />
|
|
2
|
+
/// <reference path="../../../localtypings/react.d.ts" />
|
|
3
|
+
|
|
1
4
|
import * as React from "react";
|
|
2
5
|
import { fireClickOnEnter, CheckboxStatus } from "../util";
|
|
3
6
|
import { UserNotification } from "./UserNotification";
|
|
@@ -17,7 +20,9 @@ export interface UserPaneProps {
|
|
|
17
20
|
export const UserPane = (props: UserPaneProps) => {
|
|
18
21
|
const { profile, onSignOutClick, onDeleteProfileClick, onEmailCheckClick, notification, emailChecked } = props;
|
|
19
22
|
|
|
20
|
-
const { username, displayName, picture } = profile.idp;
|
|
23
|
+
const { username, displayName, picture, pictureUrl } = profile.idp;
|
|
24
|
+
|
|
25
|
+
const picUrl = pictureUrl ?? picture?.dataUrl;
|
|
21
26
|
|
|
22
27
|
const emailLabel = <>
|
|
23
28
|
{emailChecked === CheckboxStatus.Waiting ? <div className="common-spinner" /> : undefined}
|
|
@@ -27,8 +32,11 @@ export const UserPane = (props: UserPaneProps) => {
|
|
|
27
32
|
|
|
28
33
|
return <div className="profile-user-pane">
|
|
29
34
|
<div className="profile-portrait">
|
|
30
|
-
{
|
|
31
|
-
|
|
35
|
+
{ picUrl ?
|
|
36
|
+
// Google user picture URL must have referrer policy set to no-referrer
|
|
37
|
+
<div>
|
|
38
|
+
<img src={picUrl} alt={pxt.U.lf("Profile Picture")} referrerPolicy="no-referrer" />
|
|
39
|
+
</div>
|
|
32
40
|
: <div className="profile-initials-portrait">
|
|
33
41
|
{pxt.auth.userInitials(profile)}
|
|
34
42
|
</div>
|
|
@@ -54,12 +62,12 @@ export const UserPane = (props: UserPaneProps) => {
|
|
|
54
62
|
label={emailLabel}/>
|
|
55
63
|
</div>
|
|
56
64
|
<div className="profile-actions">
|
|
57
|
-
<
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
{
|
|
62
|
-
|
|
65
|
+
<Button
|
|
66
|
+
className="link-button"
|
|
67
|
+
title={lf("Delete Profile")}
|
|
68
|
+
label={lf("Delete Profile")}
|
|
69
|
+
onClick={onDeleteProfileClick}
|
|
70
|
+
/>
|
|
63
71
|
<Button
|
|
64
72
|
className="sign-out"
|
|
65
73
|
leftIcon="fas fa-sign-out-alt"
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
.common-color-picker-field {
|
|
2
|
+
display: grid;
|
|
3
|
+
grid-template-columns: 3fr 6fr 1fr 1fr;
|
|
4
|
+
align-items: center;
|
|
5
|
+
padding: 0.1rem 0rem;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
.common-color-inputs {
|
|
9
|
+
display: flex;
|
|
10
|
+
flex-direction: row;
|
|
11
|
+
align-items: center;
|
|
12
|
+
|
|
13
|
+
&>:first-child {
|
|
14
|
+
margin-right: 0.5rem;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
&>:last-child {
|
|
18
|
+
flex-grow: 1;
|
|
19
|
+
margin-right: 0.5rem;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
.common-palette-swatch {
|
|
2
|
+
display: flex;
|
|
3
|
+
flex-direction: row;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
.common-palette-color-list {
|
|
7
|
+
display: flex;
|
|
8
|
+
flex-direction: row;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.common-palette-color {
|
|
12
|
+
width: 1rem;
|
|
13
|
+
height: 1rem;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.common-palette-swatch-name {
|
|
17
|
+
flex-grow: 1;
|
|
18
|
+
padding-right: 0.5rem;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.common-palette-picker > .common-dropdown > .common-button .common-button-label .common-palette-color-list {
|
|
22
|
+
display: none;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.common-palette-picker > .common-dropdown > .common-button .common-button-flex {
|
|
26
|
+
display: flex;
|
|
27
|
+
}
|
|
@@ -349,4 +349,67 @@
|
|
|
349
349
|
grid-template-columns: repeat(3, 1fr);
|
|
350
350
|
grid-auto-rows: 12rem;
|
|
351
351
|
}
|
|
352
|
-
}
|
|
352
|
+
}
|
|
353
|
+
|
|
354
|
+
|
|
355
|
+
/****************************************************
|
|
356
|
+
* Sign In Modal *
|
|
357
|
+
****************************************************/
|
|
358
|
+
|
|
359
|
+
.signin-form {
|
|
360
|
+
margin: 0 1rem;
|
|
361
|
+
|
|
362
|
+
.signin-header {
|
|
363
|
+
margin: 0 0 1rem 0;
|
|
364
|
+
display: flex;
|
|
365
|
+
flex-direction: column;
|
|
366
|
+
gap: 0.5rem;
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
.signin-body {
|
|
370
|
+
display: flex;
|
|
371
|
+
justify-content: center;
|
|
372
|
+
|
|
373
|
+
.providers {
|
|
374
|
+
display: flex;
|
|
375
|
+
flex-direction: column;
|
|
376
|
+
gap: 1rem;
|
|
377
|
+
align-items: center;
|
|
378
|
+
margin: 0 0 1rem 0;
|
|
379
|
+
|
|
380
|
+
.provider {
|
|
381
|
+
width: 100%;
|
|
382
|
+
margin: 0;
|
|
383
|
+
padding: 0.8rem 2.5rem;
|
|
384
|
+
|
|
385
|
+
.label {
|
|
386
|
+
display: flex;
|
|
387
|
+
flex-direction: row;
|
|
388
|
+
gap: 1rem;
|
|
389
|
+
|
|
390
|
+
.logo {
|
|
391
|
+
width: 1.25rem;
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
.title {
|
|
395
|
+
align-self: center;
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
|
|
402
|
+
.signin-footer {
|
|
403
|
+
.switch {
|
|
404
|
+
display: flex;
|
|
405
|
+
gap: 0.5rem;
|
|
406
|
+
justify-content: center;
|
|
407
|
+
}
|
|
408
|
+
|
|
409
|
+
.learn {
|
|
410
|
+
font-size: smaller;
|
|
411
|
+
width: 100%;
|
|
412
|
+
text-align: right;
|
|
413
|
+
}
|
|
414
|
+
}
|
|
415
|
+
}
|
package/theme/blockly-core.less
CHANGED
package/theme/common.less
CHANGED
|
@@ -204,7 +204,6 @@ pre {
|
|
|
204
204
|
|
|
205
205
|
.invisibleScrollbar::-webkit-scrollbar {
|
|
206
206
|
background: transparent !important;
|
|
207
|
-
width: @customScrollbarWidth; // TODO: remove this when the sim breakpoint is fixed
|
|
208
207
|
}
|
|
209
208
|
.invisibleScrollbar::-webkit-scrollbar-thumb {
|
|
210
209
|
display: none !important;
|
|
@@ -909,7 +908,7 @@ Field editors
|
|
|
909
908
|
.common-modal > {
|
|
910
909
|
.common-modal-header {
|
|
911
910
|
height: @mainMenuHeight;
|
|
912
|
-
background-color: @
|
|
911
|
+
background-color: @mainMenuInvertedBackground;
|
|
913
912
|
z-index: 202;
|
|
914
913
|
display: flex;
|
|
915
914
|
padding-left: 0rem;
|
|
@@ -2501,3 +2500,15 @@ select.ui.dropdown {
|
|
|
2501
2500
|
background-color: #F5BC5F;
|
|
2502
2501
|
}
|
|
2503
2502
|
}
|
|
2503
|
+
|
|
2504
|
+
|
|
2505
|
+
/** Project settings */
|
|
2506
|
+
|
|
2507
|
+
.palette-picker-field {
|
|
2508
|
+
display: flex;
|
|
2509
|
+
align-items: center;
|
|
2510
|
+
}
|
|
2511
|
+
|
|
2512
|
+
.palette-picker-label {
|
|
2513
|
+
margin-right: 0.5rem;
|
|
2514
|
+
}
|
|
@@ -53,6 +53,7 @@
|
|
|
53
53
|
|
|
54
54
|
.image-editor-change-name {
|
|
55
55
|
position: relative;
|
|
56
|
+
width: 20rem;
|
|
56
57
|
}
|
|
57
58
|
|
|
58
59
|
.image-editor-change-name .image-editor-input {
|
|
@@ -67,7 +68,6 @@
|
|
|
67
68
|
max-width: 100%;
|
|
68
69
|
width: 100%;
|
|
69
70
|
height: 100%;
|
|
70
|
-
min-width: 20rem;
|
|
71
71
|
|
|
72
72
|
transition: border-bottom 0.2s;
|
|
73
73
|
}
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
border-top: 2px dashed @tutorialSecondaryColor;
|
|
63
63
|
}
|
|
64
64
|
|
|
65
|
-
.lang-blocks .ui.segment.raised, .ui.segment.raised.codewidget {
|
|
65
|
+
.lang-block .ui.segment.raised, .lang-blocks .ui.segment.raised, .ui.segment.raised.codewidget {
|
|
66
66
|
overflow-x: auto;
|
|
67
67
|
|
|
68
68
|
code, code.hljs {
|
|
@@ -830,4 +830,4 @@
|
|
|
830
830
|
.tutorial-title {
|
|
831
831
|
max-width: 100%;
|
|
832
832
|
}
|
|
833
|
-
}
|
|
833
|
+
}
|
|
@@ -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
|
-
<link href="/blb/skillmap/css/main.
|
|
10
|
+
<link href="/blb/skillmap/css/main.3684f34d.chunk.css" rel="stylesheet"></head>
|
|
11
11
|
<body>
|
|
12
12
|
<noscript>You need to enable JavaScript to run this app.</noscript>
|
|
13
13
|
|
|
@@ -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.
|
|
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.26325281.chunk.js"></script><script src="/blb/skillmap/js/main.b87a119c.chunk.js"></script></body>
|
|
32
32
|
</html>
|