@robotical/martyblocksjr 4.2.2 → 4.2.3

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 (46) hide show
  1. package/editions/free/src/app.bundle.js +1 -1
  2. package/editions/free/src/css/editor.css +5 -0
  3. package/editions/free/src/css/editorleftpanel.css +12 -6
  4. package/editions/free/src/inapp/about.html +55 -26
  5. package/editions/free/src/inapp/blocks.html +16 -459
  6. package/editions/free/src/inapp/images/interface.png +0 -0
  7. package/editions/free/src/inapp/images/paint.png +0 -0
  8. package/editions/free/src/inapp/interface.html +136 -123
  9. package/editions/free/src/inapp/style/about.css +333 -21
  10. package/editions/free/src/inapp/style/blocks.css +423 -82
  11. package/editions/free/src/inapp/style/interface.css +178 -453
  12. package/editions/free/src/localizations/bg.json +36 -2
  13. package/editions/free/src/localizations/ca.json +36 -2
  14. package/editions/free/src/localizations/cs.json +36 -2
  15. package/editions/free/src/localizations/cy.json +36 -2
  16. package/editions/free/src/localizations/da.json +36 -2
  17. package/editions/free/src/localizations/de.json +36 -2
  18. package/editions/free/src/localizations/el.json +36 -2
  19. package/editions/free/src/localizations/en.json +114 -7
  20. package/editions/free/src/localizations/es.json +36 -2
  21. package/editions/free/src/localizations/fi.json +36 -2
  22. package/editions/free/src/localizations/fr.json +36 -2
  23. package/editions/free/src/localizations/it.json +36 -2
  24. package/editions/free/src/localizations/ja.json +36 -2
  25. package/editions/free/src/localizations/ko.json +36 -2
  26. package/editions/free/src/localizations/nl.json +36 -2
  27. package/editions/free/src/localizations/no.json +36 -2
  28. package/editions/free/src/localizations/pl.json +36 -2
  29. package/editions/free/src/localizations/pt-br.json +36 -2
  30. package/editions/free/src/localizations/pt.json +36 -2
  31. package/editions/free/src/localizations/sv.json +36 -2
  32. package/editions/free/src/localizations/th.json +36 -2
  33. package/editions/free/src/localizations/tr.json +36 -2
  34. package/editions/free/src/localizations/uk.json +36 -2
  35. package/editions/free/src/localizations/zh-cn.json +36 -2
  36. package/editions/free/src/localizations/zh-tw.json +36 -2
  37. package/package.json +1 -1
  38. package/scripts/a11y-structure.mjs +9 -2
  39. package/tests/BlockGuideRegistry.test.js +60 -0
  40. package/tests/MartyManager.test.js +88 -0
  41. package/tests/e2e/accessibility.e2e.test.js +153 -10
  42. package/tests/e2e/blocks-jr-hidden-blocks.e2e.test.js +84 -0
  43. package/tests/e2e/chromium-79-smoke.test.js +12 -17
  44. package/tests/e2e/microbit-extension-project-reload.e2e.test.js +1 -6
  45. package/tests/e2e/project-load-progress-loop.e2e.test.js +1 -6
  46. package/tests/e2e/sidebar-scrollbars.e2e.test.js +179 -0
@@ -9,131 +9,144 @@
9
9
  </head>
10
10
  <body>
11
11
  <div id="content">
12
- <div id="content-buffer">
13
- </div>
14
12
  <div id="ipad-project-view-wrapper">
15
- <div class="learn-tab learn-tab-selected learn-interface">
16
- <!-- 1. Save -->
17
- <button type="button" class="interface-button interface-button-selected" id="interface-button-save">
18
- <span class="interface-button-text">1</span>
19
- </button>
20
- <div class="interface-vertical-line" id="interface-vertical-line-save"></div>
21
- <div class="interface-dot" id="interface-dot-save"></div>
22
- <!-- 2. Stage -->
23
- <button type="button" class="interface-button" id="interface-button-stage">
24
- <span class="interface-button-text">2</span>
25
- </button>
26
- <div class="interface-vertical-line" id="interface-vertical-line-stage-1"></div>
27
- <div class="interface-horizontal-line" id="interface-horizontal-line-stage-1"></div>
28
- <div class="interface-vertical-line" id="interface-vertical-line-stage-2"></div>
29
- <div class="interface-horizontal-line" id="interface-horizontal-line-stage-2"></div>
30
- <div class="interface-horizontal-line" id="interface-horizontal-line-stage-3"></div>
31
- <!-- 3. Presentation Mode -->
32
- <button type="button" class="interface-button" id="interface-button-presentation-mode">
33
- <span class="interface-button-text">3</span>
34
- </button>
35
- <div class="interface-vertical-line" id="interface-vertical-line-presentation-mode"></div>
36
- <div class="interface-dot" id="interface-dot-presentation-mode"></div>
37
- <!-- 4. Grid -->
38
- <button type="button" class="interface-button" id="interface-button-grid">
39
- <span class="interface-button-text">4</span>
40
- </button>
41
- <div class="interface-vertical-line" id="interface-vertical-line-grid"></div>
42
- <div class="interface-dot" id="interface-dot-grid"></div>
43
- <!-- 5. Change Background -->
44
- <button type="button" class="interface-button" id="interface-button-add-text">
45
- <span class="interface-button-text">5</span>
46
- </button>
47
- <div class="interface-vertical-line" id="interface-vertical-line-add-text"></div>
48
- <div class="interface-dot" id="interface-dot-add-text"></div>
49
- <!-- 6. Add Text -->
50
- <button type="button" class="interface-button" id="interface-button-change-background">
51
- <span class="interface-button-text">6</span>
52
- </button>
53
- <div class="interface-vertical-line" id="interface-vertical-line-change-background"></div>
54
- <div class="interface-dot" id="interface-dot-change-background"></div>
55
- <!-- 7. Reset Characters -->
56
- <button type="button" class="interface-button" id="interface-button-reset-characters">
57
- <span class="interface-button-text">7</span>
58
- </button>
59
- <div class="interface-vertical-line" id="interface-vertical-line-reset-characters"></div>
60
- <div class="interface-dot" id="interface-dot-reset-characters"></div>
61
- <!-- 8. Green Flag -->
62
- <button type="button" class="interface-button" id="interface-button-green-flag">
63
- <span class="interface-button-text">8</span>
64
- </button>
65
- <div class="interface-vertical-line" id="interface-vertical-line-green-flag"></div>
66
- <div class="interface-dot" id="interface-dot-green-flag"></div>
67
- <!-- 9. Pages -->
68
- <button type="button" class="interface-button" id="interface-button-pages">
69
- <span class="interface-button-text">9</span>
70
- </button>
71
- <div class="interface-vertical-line" id="interface-vertical-line-pages"></div>
72
- <div class="interface-dot" id="interface-dot-pages"></div>
73
- <!-- 10. Project Information -->
74
- <button type="button" class="interface-button" id="interface-button-project-information">
75
- <span class="interface-button-text">10</span>
76
- </button>
77
- <div class="interface-vertical-line" id="interface-vertical-line-project-information"></div>
78
- <div class="interface-dot" id="interface-dot-project-information"></div>
79
- <!-- 16. Characters -->
80
- <button type="button" class="interface-button" id="interface-button-characters">
81
- <span class="interface-button-text">16</span>
82
- </button>
83
- <div class="interface-vertical-line" id="interface-vertical-line-characters-1"></div>
84
- <div class="interface-vertical-line" id="interface-vertical-line-characters-3"></div>
85
- <div class="interface-horizontal-line" id="interface-horizontal-line-characters"></div>
86
- <div class="interface-vertical-line" id="interface-vertical-line-characters-2"></div>
87
- <!-- 15. Block Categories -->
88
- <button type="button" class="interface-button" id="interface-button-block-categories">
89
- <span class="interface-button-text">15</span>
90
- </button>
91
- <div class="interface-vertical-line" id="interface-vertical-line-block-categories-1"></div>
92
- <div class="interface-horizontal-line" id="interface-horizontal-line-block-categories"></div>
93
- <div class="interface-vertical-line" id="interface-vertical-line-block-categories-2"></div>
94
- <div class="interface-vertical-line" id="interface-vertical-line-block-categories-3"></div>
95
- <!-- 14. Blocks Palette -->
96
- <button type="button" class="interface-button" id="interface-button-block-palette">
97
- <span class="interface-button-text">14</span>
98
- </button>
99
- <div class="interface-horizontal-line" id="interface-horizontal-line-blocks-palette"></div>
100
- <div class="interface-vertical-line" id="interface-vertical-line-blocks-palette-1"></div>
101
- <div class="interface-vertical-line" id="interface-vertical-line-blocks-palette-2"></div>
102
- <div class="interface-vertical-line" id="interface-vertical-line-blocks-palette-3"></div>
103
- <!-- 13. Programming Area -->
104
- <button type="button" class="interface-button" id="interface-button-programming-area">
105
- <span class="interface-button-text">13</span>
106
- </button>
107
- <div class="interface-vertical-line" id="interface-vertical-line-programming-area"></div>
108
- <div class="interface-dot" id="interface-dot-programming-area"></div>
109
- <!-- 12. Programming Script -->
110
- <button type="button" class="interface-button" id="interface-button-programming-script">
111
- <span class="interface-button-text">12</span>
112
- </button>
113
- <div class="interface-vertical-line" id="interface-vertical-line-programming-script-1"></div>
114
- <div class="interface-horizontal-line" id="interface-horizontal-line-programming-script"></div>
115
- <div class="interface-vertical-line" id="interface-vertical-line-programming-script-2"></div>
116
- <div class="interface-vertical-line" id="interface-vertical-line-programming-script-3"></div>
117
- <!-- 11. Undo Redo -->
118
- <button type="button" class="interface-button" id="interface-button-undo-redo">
119
- <span class="interface-button-text">11</span>
120
- </button>
121
- <div class="interface-vertical-line" id="interface-vertical-line-undo-redo-1"></div>
122
- <div class="interface-horizontal-line" id="interface-horizontal-line-undo-redo"></div>
123
- <div class="interface-vertical-line" id="interface-vertical-line-undo-redo-2"></div>
124
- <div class="interface-vertical-line" id="interface-vertical-line-undo-redo-3"></div>
125
- <img class="ipad-project-view" src="images/interface.png" alt="" />
126
- <div id="right-column">
127
- <div id="interface-key">
128
- <div id="interface-key-header">
129
- </div>
130
- <div id="interface-key-description">
131
- </div>
132
- </div>
133
- <div id="video-wrapper">
134
- </div>
13
+ <section class="learn-tab learn-tab-selected learn-interface" aria-labelledby="interface-guide-eyebrow">
14
+ <div class="interface-preview">
15
+ <img class="ipad-project-view" src="images/interface.png" alt="" />
16
+
17
+ <svg class="interface-connectors" id="interface-connectors" viewBox="0 0 1916 989"
18
+ preserveAspectRatio="none" aria-hidden="true" focusable="false">
19
+ <g class="interface-connector" data-guide-key="SAVE">
20
+ <line x1="3%" y1="-7%" x2="2.2%" y2="18.2%" /><circle cx="2.2%" cy="18.2%" r="7" />
21
+ </g>
22
+ <g class="interface-connector" data-guide-key="DEVICE_CONNECTIONS">
23
+ <line x1="9.5%" y1="-7%" x2="6.6%" y2="7.3%" /><circle cx="6.6%" cy="7.3%" r="7" />
24
+ </g>
25
+ <g class="interface-connector" data-guide-key="EXTENSIONS">
26
+ <line x1="16%" y1="-7%" x2="11.7%" y2="12.4%" /><circle cx="11.7%" cy="12.4%" r="7" />
27
+ </g>
28
+ <g class="interface-connector" data-guide-key="SPRITES_AND_DEVICES">
29
+ <line x1="2%" y1="28%" x2="9.5%" y2="28%" /><circle cx="9.5%" cy="28%" r="7" />
30
+ </g>
31
+ <g class="interface-connector" data-guide-key="PRESENTATION_MODE">
32
+ <line x1="32%" y1="-7%" x2="36.4%" y2="4.7%" /><circle cx="36.4%" cy="4.7%" r="7" />
33
+ </g>
34
+ <g class="interface-connector" data-guide-key="GRID">
35
+ <line x1="38.5%" y1="-7%" x2="40.7%" y2="4.7%" /><circle cx="40.7%" cy="4.7%" r="7" />
36
+ </g>
37
+ <g class="interface-connector" data-guide-key="TRACE">
38
+ <line x1="45%" y1="-7%" x2="44.8%" y2="4.7%" /><circle cx="44.8%" cy="4.7%" r="7" />
39
+ </g>
40
+ <g class="interface-connector" data-guide-key="CLEAR_TRACE">
41
+ <line x1="51.5%" y1="-7%" x2="47.5%" y2="4.7%" /><circle cx="47.5%" cy="4.7%" r="7" />
42
+ </g>
43
+ <g class="interface-connector" data-guide-key="CHANGE_BG">
44
+ <line x1="58%" y1="-7%" x2="52.3%" y2="4.7%" /><circle cx="52.3%" cy="4.7%" r="7" />
45
+ </g>
46
+ <g class="interface-connector" data-guide-key="ADD_TEXT">
47
+ <line x1="64.5%" y1="-7%" x2="56.5%" y2="4.7%" /><circle cx="56.5%" cy="4.7%" r="7" />
48
+ </g>
49
+ <g class="interface-connector" data-guide-key="RESET_CHAR">
50
+ <line x1="71%" y1="-7%" x2="60.9%" y2="4.7%" /><circle cx="60.9%" cy="4.7%" r="7" />
51
+ </g>
52
+ <g class="interface-connector" data-guide-key="GREEN_FLAG">
53
+ <line x1="77.5%" y1="-7%" x2="65.1%" y2="4.7%" /><circle cx="65.1%" cy="4.7%" r="7" />
54
+ </g>
55
+ <g class="interface-connector" data-guide-key="STAGE">
56
+ <line x1="72%" y1="31.5%" x2="65.2%" y2="31.5%" /><circle cx="65.2%" cy="31.5%" r="7" />
57
+ </g>
58
+ <g class="interface-connector" data-guide-key="MARTY_MODE">
59
+ <line x1="88%" y1="-7%" x2="91.1%" y2="5.7%" /><circle cx="91.1%" cy="5.7%" r="7" />
60
+ </g>
61
+ <g class="interface-connector" data-guide-key="PAGES">
62
+ <line x1="98%" y1="28%" x2="89.8%" y2="24%" /><circle cx="89.8%" cy="24%" r="7" />
63
+ </g>
64
+ <g class="interface-connector" data-guide-key="DUPLICATE_PAGE">
65
+ <line x1="98%" y1="14%" x2="86%" y2="14.1%" /><circle cx="86%" cy="14.1%" r="7" />
66
+ </g>
67
+ <g class="interface-connector" data-guide-key="PROJECT_INFO">
68
+ <line x1="97%" y1="-7%" x2="98.1%" y2="2.5%" /><circle cx="98.1%" cy="2.5%" r="7" />
69
+ </g>
70
+ <g class="interface-connector" data-guide-key="BLOCKS_CATEGORIES">
71
+ <line x1="27%" y1="58.2%" x2="20.5%" y2="58.2%" /><circle cx="20.5%" cy="58.2%" r="7" />
72
+ </g>
73
+ <g class="interface-connector" data-guide-key="DEVICE_BLOCK_CATEGORIES">
74
+ <line x1="78%" y1="58.2%" x2="86%" y2="58.2%" /><circle cx="86%" cy="58.2%" r="7" />
75
+ </g>
76
+ <g class="interface-connector" data-guide-key="BLOCKS_PALETTE">
77
+ <line x1="10%" y1="107%" x2="12.5%" y2="66.5%" /><circle cx="12.5%" cy="66.5%" r="7" />
78
+ </g>
79
+ <g class="interface-connector" data-guide-key="PROGRAMMING_SCRIPT">
80
+ <line x1="29%" y1="107%" x2="29%" y2="80%" /><circle cx="29%" cy="80%" r="7" />
81
+ </g>
82
+ <g class="interface-connector" data-guide-key="PROGRAMMING_AREA">
83
+ <line x1="58%" y1="107%" x2="58%" y2="91%" /><circle cx="58%" cy="91%" r="7" />
84
+ </g>
85
+ <g class="interface-connector" data-guide-key="UNDO_REDO">
86
+ <line x1="86%" y1="107%" x2="96%" y2="66.2%" /><circle cx="96%" cy="66.2%" r="7" />
87
+ </g>
88
+ <g class="interface-connector" data-guide-key="ZOOM">
89
+ <line x1="98%" y1="107%" x2="98.1%" y2="96.5%" /><circle cx="98.1%" cy="96.5%" r="7" />
90
+ </g>
91
+ </svg>
92
+
93
+ <button type="button" class="interface-button interface-button-selected" id="interface-button-save"
94
+ data-guide-key="SAVE" style="--x: 3%; --y: -7%;"><span>1</span></button>
95
+ <button type="button" class="interface-button" id="interface-button-device-connections"
96
+ data-guide-key="DEVICE_CONNECTIONS" style="--x: 9.5%; --y: -7%;"><span>2</span></button>
97
+ <button type="button" class="interface-button" id="interface-button-extensions"
98
+ data-guide-key="EXTENSIONS" style="--x: 16%; --y: -7%;"><span>3</span></button>
99
+ <button type="button" class="interface-button" id="interface-button-sprites-devices"
100
+ data-guide-key="SPRITES_AND_DEVICES" style="--x: 2%; --y: 28%;"><span>4</span></button>
101
+ <button type="button" class="interface-button" id="interface-button-presentation-mode"
102
+ data-guide-key="PRESENTATION_MODE" style="--x: 32%; --y: -7%;"><span>5</span></button>
103
+ <button type="button" class="interface-button" id="interface-button-grid"
104
+ data-guide-key="GRID" style="--x: 38.5%; --y: -7%;"><span>6</span></button>
105
+ <button type="button" class="interface-button" id="interface-button-trace"
106
+ data-guide-key="TRACE" style="--x: 45%; --y: -7%;"><span>7</span></button>
107
+ <button type="button" class="interface-button" id="interface-button-clear-trace"
108
+ data-guide-key="CLEAR_TRACE" style="--x: 51.5%; --y: -7%;"><span>8</span></button>
109
+ <button type="button" class="interface-button" id="interface-button-change-background"
110
+ data-guide-key="CHANGE_BG" style="--x: 58%; --y: -7%;"><span>9</span></button>
111
+ <button type="button" class="interface-button" id="interface-button-add-text"
112
+ data-guide-key="ADD_TEXT" style="--x: 64.5%; --y: -7%;"><span>10</span></button>
113
+ <button type="button" class="interface-button" id="interface-button-reset-characters"
114
+ data-guide-key="RESET_CHAR" style="--x: 71%; --y: -7%;"><span>11</span></button>
115
+ <button type="button" class="interface-button" id="interface-button-green-flag"
116
+ data-guide-key="GREEN_FLAG" style="--x: 77.5%; --y: -7%;"><span>12</span></button>
117
+ <button type="button" class="interface-button" id="interface-button-stage"
118
+ data-guide-key="STAGE" style="--x: 72%; --y: 31.5%;"><span>13</span></button>
119
+ <button type="button" class="interface-button" id="interface-button-marty-mode"
120
+ data-guide-key="MARTY_MODE" style="--x: 88%; --y: -7%;"><span>14</span></button>
121
+ <button type="button" class="interface-button" id="interface-button-pages"
122
+ data-guide-key="PAGES" style="--x: 98%; --y: 28%;"><span>15</span></button>
123
+ <button type="button" class="interface-button" id="interface-button-duplicate-page"
124
+ data-guide-key="DUPLICATE_PAGE" style="--x: 98%; --y: 14%;"><span>16</span></button>
125
+ <button type="button" class="interface-button" id="interface-button-project-information"
126
+ data-guide-key="PROJECT_INFO" style="--x: 97%; --y: -7%;"><span>17</span></button>
127
+ <button type="button" class="interface-button" id="interface-button-block-categories"
128
+ data-guide-key="BLOCKS_CATEGORIES" style="--x: 27%; --y: 58.2%;"><span>18</span></button>
129
+ <button type="button" class="interface-button" id="interface-button-device-block-categories"
130
+ data-guide-key="DEVICE_BLOCK_CATEGORIES" style="--x: 78%; --y: 58.2%;"><span>19</span></button>
131
+ <button type="button" class="interface-button" id="interface-button-block-palette"
132
+ data-guide-key="BLOCKS_PALETTE" style="--x: 10%; --y: 107%;"><span>20</span></button>
133
+ <button type="button" class="interface-button" id="interface-button-programming-script"
134
+ data-guide-key="PROGRAMMING_SCRIPT" style="--x: 29%; --y: 107%;"><span>21</span></button>
135
+ <button type="button" class="interface-button" id="interface-button-programming-area"
136
+ data-guide-key="PROGRAMMING_AREA" style="--x: 58%; --y: 107%;"><span>22</span></button>
137
+ <button type="button" class="interface-button" id="interface-button-undo-redo"
138
+ data-guide-key="UNDO_REDO" style="--x: 86%; --y: 107%;"><span>23</span></button>
139
+ <button type="button" class="interface-button" id="interface-button-zoom"
140
+ data-guide-key="ZOOM" style="--x: 98%; --y: 107%;"><span>24</span></button>
135
141
  </div>
136
- </div>
142
+
143
+ <aside id="interface-key" aria-live="polite">
144
+ <div class="interface-key-eyebrow" id="interface-guide-eyebrow"></div>
145
+ <div id="interface-key-header"></div>
146
+ <div id="interface-key-description"></div>
147
+ <div class="interface-key-hint" id="interface-guide-hint"></div>
148
+ </aside>
149
+ </section>
137
150
  </div>
138
151
  </div>
139
152
  </body>