scratch-blocks 2.0.2 → 2.0.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 (275) hide show
  1. package/.nvmrc +1 -1
  2. package/commitlint.config.js +2 -2
  3. package/dist/main.mjs +1 -2
  4. package/dist/types/msg/scratch_msgs.d.ts.map +1 -1
  5. package/dist/types/src/block_reporting.d.ts.map +1 -1
  6. package/dist/types/src/blocks/colour.d.ts +0 -19
  7. package/dist/types/src/blocks/colour.d.ts.map +1 -1
  8. package/dist/types/src/blocks/control.d.ts +0 -19
  9. package/dist/types/src/blocks/control.d.ts.map +1 -1
  10. package/dist/types/src/blocks/data.d.ts +0 -19
  11. package/dist/types/src/blocks/data.d.ts.map +1 -1
  12. package/dist/types/src/blocks/event.d.ts +0 -19
  13. package/dist/types/src/blocks/event.d.ts.map +1 -1
  14. package/dist/types/src/blocks/looks.d.ts +0 -19
  15. package/dist/types/src/blocks/looks.d.ts.map +1 -1
  16. package/dist/types/src/blocks/math.d.ts +0 -19
  17. package/dist/types/src/blocks/math.d.ts.map +1 -1
  18. package/dist/types/src/blocks/matrix.d.ts +0 -19
  19. package/dist/types/src/blocks/matrix.d.ts.map +1 -1
  20. package/dist/types/src/blocks/motion.d.ts +0 -19
  21. package/dist/types/src/blocks/motion.d.ts.map +1 -1
  22. package/dist/types/src/blocks/note.d.ts +0 -19
  23. package/dist/types/src/blocks/note.d.ts.map +1 -1
  24. package/dist/types/src/blocks/operators.d.ts +0 -19
  25. package/dist/types/src/blocks/operators.d.ts.map +1 -1
  26. package/dist/types/src/blocks/procedures.d.ts +7 -10
  27. package/dist/types/src/blocks/procedures.d.ts.map +1 -1
  28. package/dist/types/src/blocks/sensing.d.ts +0 -19
  29. package/dist/types/src/blocks/sensing.d.ts.map +1 -1
  30. package/dist/types/src/blocks/sound.d.ts +0 -19
  31. package/dist/types/src/blocks/sound.d.ts.map +1 -1
  32. package/dist/types/src/blocks/text.d.ts +0 -19
  33. package/dist/types/src/blocks/text.d.ts.map +1 -1
  34. package/dist/types/src/blocks/vertical_extensions.d.ts +0 -19
  35. package/dist/types/src/blocks/vertical_extensions.d.ts.map +1 -1
  36. package/dist/types/src/checkable_continuous_flyout.d.ts +2 -7
  37. package/dist/types/src/checkable_continuous_flyout.d.ts.map +1 -1
  38. package/dist/types/src/checkbox_bubble.d.ts +13 -12
  39. package/dist/types/src/checkbox_bubble.d.ts.map +1 -1
  40. package/dist/types/src/colours.d.ts.map +1 -1
  41. package/dist/types/src/constants.d.ts +0 -7
  42. package/dist/types/src/constants.d.ts.map +1 -1
  43. package/dist/types/src/context_menu_items.d.ts +0 -5
  44. package/dist/types/src/context_menu_items.d.ts.map +1 -1
  45. package/dist/types/src/data_category.d.ts +2 -4
  46. package/dist/types/src/data_category.d.ts.map +1 -1
  47. package/dist/types/src/events/events_block_comment_base.d.ts +2 -3
  48. package/dist/types/src/events/events_block_comment_base.d.ts.map +1 -1
  49. package/dist/types/src/events/events_block_comment_change.d.ts +0 -5
  50. package/dist/types/src/events/events_block_comment_change.d.ts.map +1 -1
  51. package/dist/types/src/events/events_block_comment_collapse.d.ts +0 -5
  52. package/dist/types/src/events/events_block_comment_collapse.d.ts.map +1 -1
  53. package/dist/types/src/events/events_block_comment_create.d.ts +0 -5
  54. package/dist/types/src/events/events_block_comment_create.d.ts.map +1 -1
  55. package/dist/types/src/events/events_block_comment_delete.d.ts +0 -5
  56. package/dist/types/src/events/events_block_comment_delete.d.ts.map +1 -1
  57. package/dist/types/src/events/events_block_comment_move.d.ts +0 -5
  58. package/dist/types/src/events/events_block_comment_move.d.ts.map +1 -1
  59. package/dist/types/src/events/events_block_comment_resize.d.ts +0 -5
  60. package/dist/types/src/events/events_block_comment_resize.d.ts.map +1 -1
  61. package/dist/types/src/events/events_block_drag_end.d.ts +1 -2
  62. package/dist/types/src/events/events_block_drag_end.d.ts.map +1 -1
  63. package/dist/types/src/events/events_block_drag_outside.d.ts +1 -2
  64. package/dist/types/src/events/events_block_drag_outside.d.ts.map +1 -1
  65. package/dist/types/src/events/events_scratch_variable_create.d.ts +0 -5
  66. package/dist/types/src/events/events_scratch_variable_create.d.ts.map +1 -1
  67. package/dist/types/src/fields/field_colour_slider.d.ts +7 -9
  68. package/dist/types/src/fields/field_colour_slider.d.ts.map +1 -1
  69. package/dist/types/src/fields/field_matrix.d.ts +0 -19
  70. package/dist/types/src/fields/field_matrix.d.ts.map +1 -1
  71. package/dist/types/src/fields/field_note.d.ts +8 -23
  72. package/dist/types/src/fields/field_note.d.ts.map +1 -1
  73. package/dist/types/src/fields/field_textinput_removable.d.ts +2 -4
  74. package/dist/types/src/fields/field_textinput_removable.d.ts.map +1 -1
  75. package/dist/types/src/fields/field_variable_getter.d.ts +0 -19
  76. package/dist/types/src/fields/field_variable_getter.d.ts.map +1 -1
  77. package/dist/types/src/fields/field_vertical_separator.d.ts +0 -19
  78. package/dist/types/src/fields/field_vertical_separator.d.ts.map +1 -1
  79. package/dist/types/src/fields/scratch_field_angle.d.ts +0 -19
  80. package/dist/types/src/fields/scratch_field_angle.d.ts.map +1 -1
  81. package/dist/types/src/fields/scratch_field_dropdown.d.ts +0 -5
  82. package/dist/types/src/fields/scratch_field_dropdown.d.ts.map +1 -1
  83. package/dist/types/src/fields/scratch_field_number.d.ts +0 -19
  84. package/dist/types/src/fields/scratch_field_number.d.ts.map +1 -1
  85. package/dist/types/src/fields/scratch_field_variable.d.ts +4 -7
  86. package/dist/types/src/fields/scratch_field_variable.d.ts.map +1 -1
  87. package/dist/types/src/flyout_checkbox_icon.d.ts +2 -3
  88. package/dist/types/src/flyout_checkbox_icon.d.ts.map +1 -1
  89. package/dist/types/src/glows.d.ts +1 -3
  90. package/dist/types/src/glows.d.ts.map +1 -1
  91. package/dist/types/src/index.d.ts +50 -55
  92. package/dist/types/src/index.d.ts.map +1 -1
  93. package/dist/types/src/procedures.d.ts +6 -8
  94. package/dist/types/src/procedures.d.ts.map +1 -1
  95. package/dist/types/src/recyclable_block_flyout_inflater.d.ts +3 -5
  96. package/dist/types/src/recyclable_block_flyout_inflater.d.ts.map +1 -1
  97. package/dist/types/src/renderer/bowler_hat.d.ts +2 -3
  98. package/dist/types/src/renderer/bowler_hat.d.ts.map +1 -1
  99. package/dist/types/src/renderer/cat/cat_face.d.ts +6 -5
  100. package/dist/types/src/renderer/cat/cat_face.d.ts.map +1 -1
  101. package/dist/types/src/renderer/cat/constants.d.ts +2 -2
  102. package/dist/types/src/renderer/cat/constants.d.ts.map +1 -1
  103. package/dist/types/src/renderer/cat/drawer.d.ts +3 -4
  104. package/dist/types/src/renderer/cat/drawer.d.ts.map +1 -1
  105. package/dist/types/src/renderer/cat/path_object.d.ts +2 -3
  106. package/dist/types/src/renderer/cat/path_object.d.ts.map +1 -1
  107. package/dist/types/src/renderer/cat/render_info.d.ts +3 -4
  108. package/dist/types/src/renderer/cat/render_info.d.ts.map +1 -1
  109. package/dist/types/src/renderer/cat/renderer.d.ts +6 -7
  110. package/dist/types/src/renderer/cat/renderer.d.ts.map +1 -1
  111. package/dist/types/src/renderer/constants.d.ts +4 -4
  112. package/dist/types/src/renderer/constants.d.ts.map +1 -1
  113. package/dist/types/src/renderer/drawer.d.ts +5 -4
  114. package/dist/types/src/renderer/drawer.d.ts.map +1 -1
  115. package/dist/types/src/renderer/path_object.d.ts +1 -3
  116. package/dist/types/src/renderer/path_object.d.ts.map +1 -1
  117. package/dist/types/src/renderer/render_info.d.ts +3 -4
  118. package/dist/types/src/renderer/render_info.d.ts.map +1 -1
  119. package/dist/types/src/renderer/renderer.d.ts +8 -15
  120. package/dist/types/src/renderer/renderer.d.ts.map +1 -1
  121. package/dist/types/src/scratch_block_paster.d.ts +0 -5
  122. package/dist/types/src/scratch_block_paster.d.ts.map +1 -1
  123. package/dist/types/src/scratch_blocks_utils.d.ts +0 -20
  124. package/dist/types/src/scratch_blocks_utils.d.ts.map +1 -1
  125. package/dist/types/src/scratch_comment_bubble.d.ts +1 -4
  126. package/dist/types/src/scratch_comment_bubble.d.ts.map +1 -1
  127. package/dist/types/src/scratch_comment_icon.d.ts +2 -3
  128. package/dist/types/src/scratch_comment_icon.d.ts.map +1 -1
  129. package/dist/types/src/scratch_connection_checker.d.ts +0 -5
  130. package/dist/types/src/scratch_connection_checker.d.ts.map +1 -1
  131. package/dist/types/src/scratch_continuous_category.d.ts +5 -5
  132. package/dist/types/src/scratch_continuous_category.d.ts.map +1 -1
  133. package/dist/types/src/scratch_continuous_toolbox.d.ts +3 -6
  134. package/dist/types/src/scratch_continuous_toolbox.d.ts.map +1 -1
  135. package/dist/types/src/scratch_dragger.d.ts +3 -12
  136. package/dist/types/src/scratch_dragger.d.ts.map +1 -1
  137. package/dist/types/src/scratch_insertion_marker_previewer.d.ts +0 -5
  138. package/dist/types/src/scratch_insertion_marker_previewer.d.ts.map +1 -1
  139. package/dist/types/src/scratch_variable_map.d.ts +0 -5
  140. package/dist/types/src/scratch_variable_map.d.ts.map +1 -1
  141. package/dist/types/src/scratch_variable_model.d.ts +1 -2
  142. package/dist/types/src/scratch_variable_model.d.ts.map +1 -1
  143. package/dist/types/src/scratch_zoom_controls.d.ts +4 -6
  144. package/dist/types/src/scratch_zoom_controls.d.ts.map +1 -1
  145. package/dist/types/src/shadows.d.ts +2 -2
  146. package/dist/types/src/shadows.d.ts.map +1 -1
  147. package/dist/types/src/status_indicator_label.d.ts +4 -6
  148. package/dist/types/src/status_indicator_label.d.ts.map +1 -1
  149. package/dist/types/src/status_indicator_label_flyout_inflater.d.ts +1 -6
  150. package/dist/types/src/status_indicator_label_flyout_inflater.d.ts.map +1 -1
  151. package/dist/types/src/variables.d.ts +4 -8
  152. package/dist/types/src/variables.d.ts.map +1 -1
  153. package/dist/types/src/xml.d.ts +2 -3
  154. package/dist/types/src/xml.d.ts.map +1 -1
  155. package/dist/types/tests/jsunit/block_test.d.ts.map +1 -1
  156. package/dist/types/tests/jsunit/connection_db_test.d.ts.map +1 -1
  157. package/dist/types/tests/jsunit/connection_test.d.ts.map +1 -1
  158. package/dist/types/tests/jsunit/event_test.d.ts.map +1 -1
  159. package/dist/types/tests/jsunit/extensions_test.d.ts.map +1 -1
  160. package/dist/types/tests/jsunit/field_number_test.d.ts.map +1 -1
  161. package/dist/types/tests/jsunit/field_test.d.ts.map +1 -1
  162. package/dist/types/tests/jsunit/field_variable_getter_test.d.ts.map +1 -1
  163. package/dist/types/tests/jsunit/field_variable_test.d.ts.map +1 -1
  164. package/dist/types/tests/jsunit/gesture_test.d.ts.map +1 -1
  165. package/dist/types/tests/jsunit/input_test.d.ts +1 -0
  166. package/dist/types/tests/jsunit/input_test.d.ts.map +1 -1
  167. package/dist/types/tests/jsunit/json_test.d.ts.map +1 -1
  168. package/dist/types/tests/jsunit/names_test.d.ts.map +1 -1
  169. package/dist/types/tests/jsunit/procedure_test.d.ts.map +1 -1
  170. package/dist/types/tests/jsunit/scratch_block_comment_test.d.ts.map +1 -1
  171. package/dist/types/tests/jsunit/svg_test.d.ts.map +1 -1
  172. package/dist/types/tests/jsunit/test_utilities.d.ts.map +1 -1
  173. package/dist/types/tests/jsunit/utils_test.d.ts.map +1 -1
  174. package/dist/types/tests/jsunit/variable_map_test.d.ts.map +1 -1
  175. package/dist/types/tests/jsunit/variable_model_test.d.ts.map +1 -1
  176. package/dist/types/tests/jsunit/widget_div_test.d.ts.map +1 -1
  177. package/dist/types/tests/jsunit/workspace_comment_test.d.ts.map +1 -1
  178. package/dist/types/tests/jsunit/workspace_test.d.ts.map +1 -1
  179. package/dist/types/tests/jsunit/workspace_undo_redo_test.d.ts.map +1 -1
  180. package/dist/types/tests/jsunit/xml_test.d.ts.map +1 -1
  181. package/dist/types/tests/workspace_svg/workspace_svg_test.d.ts.map +1 -1
  182. package/eslint.config.mjs +69 -0
  183. package/i18n/create_scratch_msgs.js +44 -45
  184. package/i18n/js_to_json.js +40 -32
  185. package/i18n/json_to_js.js +37 -37
  186. package/i18n/sync_tx_translations.js +64 -65
  187. package/i18n/test_scratch_msgs.js +66 -63
  188. package/msg/js/en.js +289 -287
  189. package/msg/json/en.json +284 -284
  190. package/msg/messages.js +289 -287
  191. package/msg/scratch_msgs.js +22959 -22970
  192. package/package.json +13 -10
  193. package/prettier.config.mjs +3 -0
  194. package/release.config.js +7 -7
  195. package/renovate.json5 +7 -9
  196. package/src/block_reporting.ts +15 -18
  197. package/src/blocks/colour.ts +12 -15
  198. package/src/blocks/control.ts +167 -177
  199. package/src/blocks/data.ts +225 -292
  200. package/src/blocks/event.ts +121 -123
  201. package/src/blocks/looks.ts +165 -167
  202. package/src/blocks/math.ts +44 -46
  203. package/src/blocks/matrix.ts +11 -13
  204. package/src/blocks/motion.ts +151 -153
  205. package/src/blocks/note.ts +11 -13
  206. package/src/blocks/operators.ts +158 -160
  207. package/src/blocks/procedures.ts +488 -536
  208. package/src/blocks/sensing.ts +163 -165
  209. package/src/blocks/sound.ts +58 -60
  210. package/src/blocks/text.ts +10 -12
  211. package/src/blocks/vertical_extensions.ts +86 -102
  212. package/src/checkable_continuous_flyout.ts +25 -42
  213. package/src/checkbox_bubble.ts +83 -100
  214. package/src/colours.ts +35 -37
  215. package/src/constants.ts +22 -29
  216. package/src/context_menu_items.ts +56 -81
  217. package/src/css.ts +3 -4
  218. package/src/data_category.ts +136 -250
  219. package/src/events/events_block_comment_base.ts +21 -31
  220. package/src/events/events_block_comment_change.ts +21 -42
  221. package/src/events/events_block_comment_collapse.ts +22 -43
  222. package/src/events/events_block_comment_create.ts +29 -46
  223. package/src/events/events_block_comment_delete.ts +10 -19
  224. package/src/events/events_block_comment_move.ts +27 -52
  225. package/src/events/events_block_comment_resize.ts +28 -55
  226. package/src/events/events_block_drag_end.ts +16 -26
  227. package/src/events/events_block_drag_outside.ts +12 -22
  228. package/src/events/events_scratch_variable_create.ts +33 -56
  229. package/src/fields/field_colour_slider.ts +173 -228
  230. package/src/fields/field_matrix.ts +200 -269
  231. package/src/fields/field_note.ts +272 -377
  232. package/src/fields/field_textinput_removable.ts +25 -40
  233. package/src/fields/field_variable_getter.ts +26 -31
  234. package/src/fields/field_vertical_separator.ts +19 -24
  235. package/src/fields/scratch_field_angle.ts +150 -186
  236. package/src/fields/scratch_field_dropdown.ts +15 -19
  237. package/src/fields/scratch_field_number.ts +123 -180
  238. package/src/fields/scratch_field_variable.ts +52 -73
  239. package/src/flyout_checkbox_icon.ts +18 -28
  240. package/src/glows.ts +51 -58
  241. package/src/index.ts +119 -133
  242. package/src/procedures.ts +144 -211
  243. package/src/recyclable_block_flyout_inflater.ts +14 -25
  244. package/src/renderer/bowler_hat.ts +6 -8
  245. package/src/renderer/cat/cat_face.ts +98 -99
  246. package/src/renderer/cat/constants.ts +67 -87
  247. package/src/renderer/cat/drawer.ts +21 -27
  248. package/src/renderer/cat/path_object.ts +3 -5
  249. package/src/renderer/cat/render_info.ts +5 -8
  250. package/src/renderer/cat/renderer.ts +11 -15
  251. package/src/renderer/constants.ts +34 -49
  252. package/src/renderer/drawer.ts +35 -51
  253. package/src/renderer/path_object.ts +13 -15
  254. package/src/renderer/render_info.ts +36 -56
  255. package/src/renderer/renderer.ts +16 -29
  256. package/src/scratch_block_paster.ts +12 -20
  257. package/src/scratch_blocks_utils.ts +4 -7
  258. package/src/scratch_comment_bubble.ts +70 -101
  259. package/src/scratch_comment_icon.ts +74 -123
  260. package/src/scratch_connection_checker.ts +22 -17
  261. package/src/scratch_continuous_category.ts +24 -28
  262. package/src/scratch_continuous_toolbox.ts +20 -27
  263. package/src/scratch_dragger.ts +54 -86
  264. package/src/scratch_insertion_marker_previewer.ts +6 -11
  265. package/src/scratch_variable_map.ts +5 -12
  266. package/src/scratch_variable_model.ts +4 -11
  267. package/src/scratch_zoom_controls.ts +101 -156
  268. package/src/shadows.ts +32 -37
  269. package/src/status_indicator_label.ts +54 -67
  270. package/src/status_indicator_label_flyout_inflater.ts +11 -21
  271. package/src/variables.ts +89 -138
  272. package/src/xml.ts +21 -35
  273. package/tsconfig.json +2 -6
  274. package/types/continuous-toolbox.d.ts +1 -1
  275. package/dist/main.mjs.LICENSE.txt +0 -163
@@ -1,5 +1,4 @@
1
1
  /**
2
- * @license
3
2
  * Visual Blocks Editor
4
3
  *
5
4
  * Copyright 2018 Google Inc.
@@ -17,14 +16,12 @@
17
16
  * See the License for the specific language governing permissions and
18
17
  * limitations under the License.
19
18
  */
20
-
21
19
  /**
22
- * @fileoverview Class for a category header in the flyout for Scratch
20
+ * @file Class for a category header in the flyout for Scratch
23
21
  * extensions which can display a textual label and a status button.
24
22
  * @author ericr@media.mit.edu (Eric Rosenbaum)
25
23
  */
26
-
27
- import * as Blockly from "blockly/core";
24
+ import * as Blockly from 'blockly/core'
28
25
 
29
26
  /**
30
27
  * Class for a category header in the flyout for Scratch extensions which can
@@ -34,26 +31,25 @@ export class StatusIndicatorLabel extends Blockly.FlyoutButton {
34
31
  /**
35
32
  * The ID of the Scratch extension whose status is indicated by this label.
36
33
  */
37
- extensionId: string;
34
+ extensionId: string
38
35
 
39
36
  /**
40
37
  * DOM element that displays the status indicator dot.
41
38
  */
42
- imageElement: SVGImageElement;
39
+ imageElement: SVGImageElement
43
40
 
44
41
  /**
45
42
  * Opaque data for mouse up listener used to unbind it in dispose().
46
43
  */
47
- mouseUpWrapper: Blockly.browserEvents.Data;
44
+ mouseUpWrapper: Blockly.browserEvents.Data
48
45
 
49
46
  /**
50
47
  * Function to be invoked when the status indicator is clicked.
51
48
  */
52
- static statusButtonCallback: (extensionId: string) => void;
49
+ static statusButtonCallback: (extensionId: string) => void
53
50
 
54
51
  /**
55
52
  * Creates a new StatusIndicatorLabel.
56
- *
57
53
  * @param workspace The workspace in which to place this header.
58
54
  * @param targetWorkspace The flyout's target workspace.
59
55
  * @param json The JSON specifying the header.
@@ -61,74 +57,69 @@ export class StatusIndicatorLabel extends Blockly.FlyoutButton {
61
57
  constructor(
62
58
  workspace: Blockly.WorkspaceSvg,
63
59
  targetWorkspace: Blockly.WorkspaceSvg,
64
- json: Blockly.utils.toolbox.LabelInfo
60
+ json: Blockly.utils.toolbox.LabelInfo,
65
61
  ) {
66
- super(workspace, targetWorkspace, json, true);
67
- this.extensionId = json["id"]!;
62
+ super(workspace, targetWorkspace, json, true)
63
+ this.extensionId = json.id!
68
64
 
69
- const heightDelta = 40 - this.height;
70
- this.height = 40;
71
- const text = this.getSvgRoot().querySelector("text")!;
72
- const previousY = Number(text.getAttribute("y"));
65
+ const heightDelta = 40 - this.height
66
+ this.height = 40
67
+ const text = this.getSvgRoot().querySelector('text')!
68
+ const previousY = Number(text.getAttribute('y'))
73
69
 
74
- text.setAttribute("y", `${previousY + heightDelta / 2}`);
70
+ text.setAttribute('y', `${previousY + heightDelta / 2}`)
75
71
 
76
- const statusButtonWidth = 30;
77
- const marginX = 20;
78
- const marginY = 5;
79
- const touchPadding = 16;
80
- const flyoutWidth = targetWorkspace.getFlyout()!.getWidth();
72
+ const statusButtonWidth = 30
73
+ const marginX = 20
74
+ const marginY = 5
75
+ const touchPadding = 16
76
+ const flyoutWidth = targetWorkspace.getFlyout()!.getWidth()
81
77
 
82
78
  const statusButtonX = workspace.RTL
83
79
  ? marginX - flyoutWidth + statusButtonWidth
84
- : (flyoutWidth - statusButtonWidth - marginX) / workspace.scale;
80
+ : (flyoutWidth - statusButtonWidth - marginX) / workspace.scale
85
81
 
86
82
  this.imageElement = Blockly.utils.dom.createSvgElement(
87
- "image",
83
+ 'image',
88
84
  {
89
- class: "blocklyFlyoutButton",
90
- height: statusButtonWidth + "px",
91
- width: statusButtonWidth + "px",
92
- x: statusButtonX + "px",
93
- y: marginY + "px",
85
+ class: 'blocklyFlyoutButton',
86
+ height: statusButtonWidth + 'px',
87
+ width: statusButtonWidth + 'px',
88
+ x: statusButtonX + 'px',
89
+ y: marginY + 'px',
94
90
  },
95
- this.getSvgRoot()
96
- );
91
+ this.getSvgRoot(),
92
+ )
97
93
  const imageElementBackground = Blockly.utils.dom.createSvgElement(
98
- "rect",
94
+ 'rect',
99
95
  {
100
- class: "blocklyTouchTargetBackground",
101
- height: statusButtonWidth + 2 * touchPadding + "px",
102
- width: statusButtonWidth + 2 * touchPadding + "px",
103
- x: statusButtonX - touchPadding + "px",
104
- y: marginY - touchPadding + "px",
96
+ class: 'blocklyTouchTargetBackground',
97
+ height: statusButtonWidth + 2 * touchPadding + 'px',
98
+ width: statusButtonWidth + 2 * touchPadding + 'px',
99
+ x: statusButtonX - touchPadding + 'px',
100
+ y: marginY - touchPadding + 'px',
105
101
  },
106
- this.getSvgRoot()
107
- );
108
-
109
- this.refreshStatus();
110
-
111
- this.mouseUpWrapper = Blockly.browserEvents.bind(
112
- imageElementBackground,
113
- "mouseup",
114
- null,
115
- () => {
116
- StatusIndicatorLabel.statusButtonCallback?.call(this, this.extensionId);
117
- }
118
- );
102
+ this.getSvgRoot(),
103
+ )
104
+
105
+ this.refreshStatus()
106
+
107
+ this.mouseUpWrapper = Blockly.browserEvents.bind(imageElementBackground, 'mouseup', null, () => {
108
+ StatusIndicatorLabel.statusButtonCallback?.call(this, this.extensionId)
109
+ })
119
110
  }
120
111
 
121
112
  /**
122
113
  * Set the image on the status button using a status string.
123
114
  */
124
115
  refreshStatus() {
125
- var status = this.getExtensionState(this.extensionId);
126
- var basePath = Blockly.getMainWorkspace().options.pathToMedia;
116
+ const status = this.getExtensionState(this.extensionId)
117
+ const basePath = Blockly.getMainWorkspace().options.pathToMedia
127
118
  if (status == StatusButtonState.READY) {
128
- this.setImageSrc(basePath + "status-ready.svg");
119
+ this.setImageSrc(basePath + 'status-ready.svg')
129
120
  }
130
121
  if (status == StatusButtonState.NOT_READY) {
131
- this.setImageSrc(basePath + "status-not-ready.svg");
122
+ this.setImageSrc(basePath + 'status-not-ready.svg')
132
123
  }
133
124
  }
134
125
 
@@ -139,29 +130,25 @@ export class StatusIndicatorLabel extends Blockly.FlyoutButton {
139
130
  */
140
131
  setImageSrc(src: string) {
141
132
  if (this.imageElement) {
142
- this.imageElement.setAttributeNS(
143
- "http://www.w3.org/1999/xlink",
144
- "xlink:href",
145
- src
146
- );
133
+ this.imageElement.setAttributeNS('http://www.w3.org/1999/xlink', 'xlink:href', src)
147
134
  }
148
135
  }
149
136
 
150
137
  /**
151
138
  * Gets the extension state. Overridden externally.
152
- * @param extensionId The ID of the extension in question.
153
- * @return The state of the extension.
139
+ * @param extensionId A string identifying which extension's state to retrieve.
140
+ * @returns Whether the extension is ready to be used.
154
141
  */
155
142
  getExtensionState(extensionId: string): StatusButtonState {
156
- return StatusButtonState.NOT_READY;
143
+ return StatusButtonState.NOT_READY
157
144
  }
158
145
 
159
146
  /**
160
147
  * Disposes of this status indicator label.
161
148
  */
162
149
  dispose() {
163
- Blockly.browserEvents.unbind(this.mouseUpWrapper);
164
- super.dispose();
150
+ Blockly.browserEvents.unbind(this.mouseUpWrapper)
151
+ super.dispose()
165
152
  }
166
153
  }
167
154
 
@@ -169,6 +156,6 @@ export class StatusIndicatorLabel extends Blockly.FlyoutButton {
169
156
  * Set of available states for a status indicator.
170
157
  */
171
158
  export enum StatusButtonState {
172
- READY = "ready",
173
- NOT_READY = "not ready",
159
+ READY = 'ready',
160
+ NOT_READY = 'not ready',
174
161
  }
@@ -1,13 +1,11 @@
1
1
  /**
2
- * @license
3
2
  * Copyright 2024 Google LLC
4
3
  * SPDX-License-Identifier: Apache-2.0
5
4
  */
5
+ import * as Blockly from 'blockly/core'
6
+ import { StatusIndicatorLabel } from './status_indicator_label'
6
7
 
7
- import * as Blockly from "blockly/core";
8
- import { StatusIndicatorLabel } from "./status_indicator_label";
9
-
10
- export const STATUS_INDICATOR_LABEL_TYPE = "status_indicator_label";
8
+ export const STATUS_INDICATOR_LABEL_TYPE = 'status_indicator_label'
11
9
 
12
10
  /**
13
11
  * Flyout inflater responsible for creating status indicator labels.
@@ -16,31 +14,23 @@ class StatusIndicatorLabelFlyoutInflater extends Blockly.LabelFlyoutInflater {
16
14
  /**
17
15
  * Creates a status indicator label on the flyout from the given state.
18
16
  * @param state JSON representation of a status indicator label.
19
- * @param flyoutWorkspace The workspace to create the
20
- * label on.
17
+ * @param flyout The flyout on which to create the label.
21
18
  * @returns The newly created status indicator label.
22
19
  */
23
- load(
24
- state: Blockly.utils.toolbox.LabelInfo,
25
- flyout: Blockly.IFlyout
26
- ): Blockly.FlyoutItem {
27
- const label = new StatusIndicatorLabel(
28
- flyout.getWorkspace(),
29
- flyout.targetWorkspace!,
30
- state
31
- );
32
- label.show();
33
- return new Blockly.FlyoutItem(label, STATUS_INDICATOR_LABEL_TYPE);
20
+ load(state: Blockly.utils.toolbox.LabelInfo, flyout: Blockly.IFlyout): Blockly.FlyoutItem {
21
+ const label = new StatusIndicatorLabel(flyout.getWorkspace(), flyout.targetWorkspace!, state)
22
+ label.show()
23
+ return new Blockly.FlyoutItem(label, STATUS_INDICATOR_LABEL_TYPE)
34
24
  }
35
25
  }
36
26
 
37
27
  /**
38
- * Register the status indicator label flyout inflater.
28
+ * Adds the status indicator label flyout inflater to the Blockly component registry.
39
29
  */
40
30
  export function registerStatusIndicatorLabelFlyoutInflater() {
41
31
  Blockly.registry.register(
42
32
  Blockly.registry.Type.FLYOUT_INFLATER,
43
33
  STATUS_INDICATOR_LABEL_TYPE,
44
- StatusIndicatorLabelFlyoutInflater
45
- );
34
+ StatusIndicatorLabelFlyoutInflater,
35
+ )
46
36
  }