blockly 8.0.4-beta.0 → 8.0.5-beta.0

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 (858) hide show
  1. package/blockly.min.js +2421 -2688
  2. package/blockly_compressed.js +1499 -1994
  3. package/blockly_compressed.js.map +1 -1
  4. package/blocks/blocks.js +3 -2
  5. package/blocks/colour.js +3 -1
  6. package/blocks/lists.js +94 -22
  7. package/blocks/logic.js +14 -6
  8. package/blocks/loops.js +5 -3
  9. package/blocks/math.js +3 -1
  10. package/blocks/procedures.js +3 -1
  11. package/blocks/text.js +14 -6
  12. package/blocks/variables.js +3 -1
  13. package/blocks/variables_dynamic.js +3 -1
  14. package/blocks.d.ts +0 -2
  15. package/blocks_compressed.js +189 -171
  16. package/blocks_compressed.js.map +1 -1
  17. package/closure/goog/base.d.ts +1 -0
  18. package/closure/goog/base_minimal.d.ts +18 -0
  19. package/closure/goog/goog.d.ts +25 -0
  20. package/core/any_aliases.d.ts +1 -0
  21. package/core/any_aliases.ts +1 -0
  22. package/core/block.d.ts +779 -0
  23. package/core/{block.js → block.ts} +610 -719
  24. package/core/block_animations.d.ts +33 -0
  25. package/core/{block_animations.js → block_animations.ts} +75 -79
  26. package/core/block_drag_surface.d.ts +111 -0
  27. package/core/{block_drag_surface.js → block_drag_surface.ts} +85 -117
  28. package/core/block_dragger.d.ts +143 -0
  29. package/core/{block_dragger.js → block_dragger.ts} +139 -176
  30. package/core/block_svg.d.ts +588 -0
  31. package/core/{block_svg.js → block_svg.ts} +494 -630
  32. package/core/blockly.d.ts +562 -0
  33. package/core/blockly.js +1 -1
  34. package/core/blockly.ts +749 -0
  35. package/core/blockly_options.d.ts +69 -0
  36. package/core/blockly_options.ts +81 -0
  37. package/core/blocks.d.ts +17 -0
  38. package/core/{blocks.js → blocks.ts} +4 -8
  39. package/core/browser_events.d.ts +85 -0
  40. package/core/{browser_events.js → browser_events.ts} +98 -93
  41. package/core/bubble.d.ts +279 -0
  42. package/core/{bubble.js → bubble.ts} +277 -370
  43. package/core/bubble_dragger.d.ts +73 -0
  44. package/core/bubble_dragger.ts +229 -0
  45. package/core/bump_objects.d.ts +34 -0
  46. package/core/{bump_objects.js → bump_objects.ts} +54 -52
  47. package/core/clipboard.d.ts +42 -0
  48. package/core/clipboard.ts +91 -0
  49. package/core/comment.d.ts +113 -0
  50. package/core/{comment.js → comment.ts} +135 -185
  51. package/core/common.d.ts +129 -0
  52. package/core/{common.js → common.ts} +105 -82
  53. package/core/component_manager.d.ts +91 -0
  54. package/core/component_manager.ts +211 -0
  55. package/core/config.d.ts +23 -0
  56. package/core/{config.js → config.ts} +12 -19
  57. package/core/connection.d.ts +232 -0
  58. package/core/{connection.js → connection.ts} +187 -237
  59. package/core/connection_checker.d.ts +78 -0
  60. package/core/{connection_checker.js → connection_checker.ts} +66 -77
  61. package/core/connection_db.d.ts +91 -0
  62. package/core/{connection_db.js → connection_db.ts} +62 -87
  63. package/core/connection_type.d.ts +15 -0
  64. package/core/{connection_type.js → connection_type.ts} +8 -12
  65. package/core/constants.d.ts +15 -0
  66. package/core/{constants.js → constants.ts} +4 -8
  67. package/core/contextmenu.d.ts +80 -0
  68. package/core/{contextmenu.js → contextmenu.ts} +118 -153
  69. package/core/contextmenu_items.d.ts +77 -0
  70. package/core/contextmenu_items.ts +576 -0
  71. package/core/contextmenu_registry.d.ts +105 -0
  72. package/core/contextmenu_registry.ts +179 -0
  73. package/core/css.d.ts +24 -0
  74. package/core/{css.js → css.ts} +16 -24
  75. package/core/delete_area.d.ts +47 -0
  76. package/core/delete_area.ts +82 -0
  77. package/core/dialog.d.ts +61 -0
  78. package/core/dialog.ts +127 -0
  79. package/core/drag_target.d.ts +63 -0
  80. package/core/drag_target.ts +94 -0
  81. package/core/dropdowndiv.d.ts +155 -0
  82. package/core/{dropdowndiv.js → dropdowndiv.ts} +262 -333
  83. package/core/events/events.d.ts +102 -0
  84. package/core/events/events.ts +123 -0
  85. package/core/events/events_abstract.d.ts +51 -0
  86. package/core/events/events_abstract.ts +112 -0
  87. package/core/events/events_block_base.d.ts +31 -0
  88. package/core/events/events_block_base.ts +65 -0
  89. package/core/events/events_block_change.d.ts +55 -0
  90. package/core/events/{events_block_change.js → events_block_change.ts} +45 -48
  91. package/core/events/events_block_create.d.ts +35 -0
  92. package/core/events/{events_block_create.js → events_block_create.ts} +30 -35
  93. package/core/events/events_block_delete.d.ts +36 -0
  94. package/core/events/{events_block_delete.js → events_block_delete.ts} +34 -39
  95. package/core/events/events_block_drag.d.ts +36 -0
  96. package/core/events/events_block_drag.ts +82 -0
  97. package/core/events/events_block_move.d.ts +51 -0
  98. package/core/events/{events_block_move.js → events_block_move.ts} +54 -50
  99. package/core/events/events_bubble_open.d.ts +35 -0
  100. package/core/events/events_bubble_open.ts +82 -0
  101. package/core/events/events_click.d.ts +36 -0
  102. package/core/events/{events_click.js → events_click.ts} +27 -30
  103. package/core/events/events_comment_base.d.ts +39 -0
  104. package/core/events/events_comment_base.ts +107 -0
  105. package/core/events/events_comment_change.d.ts +43 -0
  106. package/core/events/{events_comment_change.js → events_comment_change.ts} +31 -28
  107. package/core/events/events_comment_create.d.ts +35 -0
  108. package/core/events/{events_comment_create.js → events_comment_create.ts} +24 -26
  109. package/core/events/events_comment_delete.d.ts +35 -0
  110. package/core/events/{events_comment_delete.js → events_comment_delete.ts} +20 -24
  111. package/core/events/events_comment_move.d.ts +55 -0
  112. package/core/events/{events_comment_move.js → events_comment_move.ts} +39 -42
  113. package/core/events/events_marker_move.d.ts +40 -0
  114. package/core/events/events_marker_move.ts +99 -0
  115. package/core/events/events_selected.d.ts +34 -0
  116. package/core/events/events_selected.ts +78 -0
  117. package/core/events/events_theme_change.d.ts +30 -0
  118. package/core/events/{events_theme_change.js → events_theme_change.ts} +19 -24
  119. package/core/events/events_toolbox_item_select.d.ts +34 -0
  120. package/core/events/events_toolbox_item_select.ts +79 -0
  121. package/core/events/events_trashcan_open.d.ts +31 -0
  122. package/core/events/events_trashcan_open.ts +68 -0
  123. package/core/events/events_ui.d.ts +37 -0
  124. package/core/events/{events_ui.js → events_ui.ts} +27 -26
  125. package/core/events/events_ui_base.d.ts +26 -0
  126. package/core/events/{events_ui_base.js → events_ui_base.ts} +17 -26
  127. package/core/events/events_var_base.d.ts +31 -0
  128. package/core/events/events_var_base.ts +65 -0
  129. package/core/events/events_var_create.d.ts +35 -0
  130. package/core/events/{events_var_create.js → events_var_create.ts} +24 -25
  131. package/core/events/events_var_delete.d.ts +35 -0
  132. package/core/events/{events_var_delete.js → events_var_delete.ts} +24 -25
  133. package/core/events/events_var_rename.d.ts +36 -0
  134. package/core/events/{events_var_rename.js → events_var_rename.ts} +25 -26
  135. package/core/events/events_viewport.d.ts +39 -0
  136. package/core/events/events_viewport.ts +100 -0
  137. package/core/events/utils.d.ts +272 -0
  138. package/core/events/{utils.js → utils.ts} +148 -219
  139. package/core/events/workspace_events.d.ts +36 -0
  140. package/core/events/workspace_events.ts +86 -0
  141. package/core/extensions.d.ts +107 -0
  142. package/core/{extensions.js → extensions.ts} +153 -172
  143. package/core/field.d.ts +534 -0
  144. package/core/{field.js → field.ts} +413 -489
  145. package/core/field_angle.d.ts +176 -0
  146. package/core/field_angle.ts +563 -0
  147. package/core/field_checkbox.d.ts +124 -0
  148. package/core/field_checkbox.ts +243 -0
  149. package/core/field_colour.d.ts +200 -0
  150. package/core/field_colour.ts +632 -0
  151. package/core/field_dropdown.d.ts +222 -0
  152. package/core/{field_dropdown.js → field_dropdown.ts} +277 -299
  153. package/core/field_image.d.ts +134 -0
  154. package/core/field_image.ts +282 -0
  155. package/core/field_label.d.ts +71 -0
  156. package/core/field_label.ts +152 -0
  157. package/core/field_label_serializable.d.ts +42 -0
  158. package/core/field_label_serializable.ts +76 -0
  159. package/core/field_multilineinput.d.ts +146 -0
  160. package/core/{field_multilineinput.js → field_multilineinput.ts} +166 -163
  161. package/core/field_number.d.ts +156 -0
  162. package/core/{field_number.js → field_number.ts} +110 -123
  163. package/core/field_registry.d.ts +45 -0
  164. package/core/{field_registry.js → field_registry.ts} +37 -30
  165. package/core/field_textinput.d.ts +219 -0
  166. package/core/field_textinput.ts +591 -0
  167. package/core/field_variable.d.ts +217 -0
  168. package/core/{field_variable.js → field_variable.ts} +174 -187
  169. package/core/flyout_base.d.ts +459 -0
  170. package/core/{flyout_base.js → flyout_base.ts} +429 -518
  171. package/core/flyout_button.d.ts +81 -0
  172. package/core/flyout_button.ts +292 -0
  173. package/core/flyout_horizontal.d.ts +82 -0
  174. package/core/{flyout_horizontal.js → flyout_horizontal.ts} +97 -107
  175. package/core/flyout_metrics_manager.d.ts +40 -0
  176. package/core/{flyout_metrics_manager.js → flyout_metrics_manager.ts} +22 -34
  177. package/core/flyout_vertical.d.ts +83 -0
  178. package/core/{flyout_vertical.js → flyout_vertical.ts} +106 -117
  179. package/core/generator.d.ts +205 -0
  180. package/core/{generator.js → generator.ts} +168 -193
  181. package/core/gesture.d.ts +357 -0
  182. package/core/{gesture.js → gesture.ts} +289 -369
  183. package/core/grid.d.ts +83 -0
  184. package/core/grid.ts +192 -0
  185. package/core/icon.d.ts +78 -0
  186. package/core/icon.ts +189 -0
  187. package/core/inject.d.ts +15 -0
  188. package/core/{inject.js → inject.ts} +101 -100
  189. package/core/input.d.ts +128 -0
  190. package/core/input.ts +309 -0
  191. package/core/input_types.d.ts +14 -0
  192. package/core/{input_types.js → input_types.ts} +8 -12
  193. package/core/insertion_marker_manager.d.ts +212 -0
  194. package/core/{insertion_marker_manager.js → insertion_marker_manager.ts} +234 -236
  195. package/core/interfaces/i_ast_node_location.d.ts +11 -0
  196. package/core/interfaces/{i_ast_node_location.js → i_ast_node_location.ts} +4 -7
  197. package/core/interfaces/i_ast_node_location_svg.d.ts +22 -0
  198. package/core/interfaces/i_ast_node_location_svg.ts +37 -0
  199. package/core/interfaces/i_ast_node_location_with_block.d.ts +18 -0
  200. package/core/interfaces/i_ast_node_location_with_block.ts +38 -0
  201. package/core/interfaces/i_autohideable.d.ts +18 -0
  202. package/core/interfaces/i_autohideable.ts +34 -0
  203. package/core/interfaces/i_block_dragger.d.ts +43 -0
  204. package/core/interfaces/i_block_dragger.ts +67 -0
  205. package/core/interfaces/i_bounded_element.d.ts +24 -0
  206. package/core/interfaces/i_bounded_element.ts +42 -0
  207. package/core/interfaces/i_bubble.d.ts +59 -0
  208. package/core/interfaces/i_bubble.ts +88 -0
  209. package/core/interfaces/i_collapsible_toolbox_item.d.ts +26 -0
  210. package/core/interfaces/i_collapsible_toolbox_item.ts +47 -0
  211. package/core/interfaces/i_component.d.ts +17 -0
  212. package/core/interfaces/{i_component.js → i_component.ts} +9 -14
  213. package/core/interfaces/i_connection_checker.d.ts +69 -0
  214. package/core/interfaces/i_connection_checker.ts +102 -0
  215. package/core/interfaces/i_contextmenu.d.ts +13 -0
  216. package/core/interfaces/i_contextmenu.ts +26 -0
  217. package/core/interfaces/i_copyable.d.ts +24 -0
  218. package/core/interfaces/i_copyable.ts +40 -0
  219. package/core/interfaces/i_deletable.d.ts +16 -0
  220. package/core/interfaces/{i_deletable.js → i_deletable.ts} +9 -13
  221. package/core/interfaces/i_delete_area.d.ts +25 -0
  222. package/core/interfaces/i_delete_area.ts +46 -0
  223. package/core/interfaces/i_drag_target.d.ts +53 -0
  224. package/core/interfaces/i_drag_target.ts +84 -0
  225. package/core/interfaces/i_draggable.d.ts +12 -0
  226. package/core/interfaces/{i_draggable.js → i_draggable.ts} +4 -10
  227. package/core/interfaces/i_flyout.d.ts +134 -0
  228. package/core/interfaces/i_flyout.ts +186 -0
  229. package/core/interfaces/i_keyboard_accessible.d.ts +18 -0
  230. package/core/interfaces/i_keyboard_accessible.ts +35 -0
  231. package/core/interfaces/i_metrics_manager.d.ts +117 -0
  232. package/core/interfaces/i_metrics_manager.ts +151 -0
  233. package/core/interfaces/i_movable.d.ts +16 -0
  234. package/core/interfaces/{i_movable.js → i_movable.ts} +9 -13
  235. package/core/interfaces/i_positionable.d.ts +27 -0
  236. package/core/interfaces/i_positionable.ts +50 -0
  237. package/core/interfaces/i_registrable.d.ts +11 -0
  238. package/core/interfaces/{i_registrable.js → i_registrable.ts} +3 -7
  239. package/core/interfaces/i_registrable_field.d.ts +17 -0
  240. package/core/interfaces/{i_registrable_field.js → i_registrable_field.ts} +8 -16
  241. package/core/interfaces/i_selectable.d.ts +18 -0
  242. package/core/interfaces/i_selectable.ts +34 -0
  243. package/core/interfaces/i_selectable_toolbox_item.d.ts +42 -0
  244. package/core/interfaces/i_selectable_toolbox_item.ts +64 -0
  245. package/core/interfaces/i_serializer.d.ts +42 -0
  246. package/core/interfaces/i_serializer.ts +65 -0
  247. package/core/interfaces/i_styleable.d.ts +21 -0
  248. package/core/interfaces/i_styleable.ts +35 -0
  249. package/core/interfaces/i_toolbox.d.ts +85 -0
  250. package/core/interfaces/i_toolbox.ts +127 -0
  251. package/core/interfaces/i_toolbox_item.d.ts +62 -0
  252. package/core/interfaces/i_toolbox_item.ts +84 -0
  253. package/core/internal_constants.d.ts +40 -0
  254. package/core/{internal_constants.js → internal_constants.ts} +13 -18
  255. package/core/keyboard_nav/ast_node.d.ts +239 -0
  256. package/core/keyboard_nav/{ast_node.js → ast_node.ts} +207 -231
  257. package/core/keyboard_nav/basic_cursor.d.ts +88 -0
  258. package/core/keyboard_nav/{basic_cursor.js → basic_cursor.ts} +55 -66
  259. package/core/keyboard_nav/cursor.d.ts +41 -0
  260. package/core/keyboard_nav/{cursor.js → cursor.ts} +25 -35
  261. package/core/keyboard_nav/marker.d.ts +58 -0
  262. package/core/keyboard_nav/{marker.js → marker.ts} +36 -55
  263. package/core/keyboard_nav/tab_navigate_cursor.d.ts +19 -0
  264. package/core/keyboard_nav/{tab_navigate_cursor.js → tab_navigate_cursor.ts} +11 -15
  265. package/core/main.d.ts +11 -0
  266. package/core/main.js +303 -0
  267. package/core/marker_manager.d.ts +85 -0
  268. package/core/marker_manager.ts +181 -0
  269. package/core/menu.d.ts +149 -0
  270. package/core/{menu.js → menu.ts} +141 -174
  271. package/core/menuitem.d.ts +118 -0
  272. package/core/menuitem.ts +240 -0
  273. package/core/metrics_manager.d.ts +201 -0
  274. package/core/{metrics_manager.js → metrics_manager.ts} +117 -156
  275. package/core/msg.d.ts +9 -0
  276. package/core/{msg.js → msg.ts} +4 -8
  277. package/core/mutator.d.ts +128 -0
  278. package/core/{mutator.js → mutator.ts} +196 -211
  279. package/core/names.d.ts +124 -0
  280. package/core/names.ts +267 -0
  281. package/core/options.d.ts +137 -0
  282. package/core/{options.js → options.ts} +147 -173
  283. package/core/positionable_helpers.d.ts +88 -0
  284. package/core/{positionable_helpers.js → positionable_helpers.ts} +63 -70
  285. package/core/procedures.d.ts +108 -0
  286. package/core/{procedures.js → procedures.ts} +143 -152
  287. package/core/registry.d.ts +137 -0
  288. package/core/registry.ts +339 -0
  289. package/core/rendered_connection.d.ts +191 -0
  290. package/core/{rendered_connection.js → rendered_connection.ts} +164 -184
  291. package/core/renderers/common/block_rendering.d.ts +114 -0
  292. package/core/renderers/common/block_rendering.ts +164 -0
  293. package/core/renderers/common/constants.d.ts +458 -0
  294. package/core/renderers/common/constants.ts +1124 -0
  295. package/core/renderers/common/debug.d.ts +28 -0
  296. package/core/renderers/common/{debug.js → debug.ts} +14 -20
  297. package/core/renderers/common/debugger.d.ts +120 -0
  298. package/core/renderers/common/{debugger.js → debugger.ts} +100 -124
  299. package/core/renderers/common/drawer.d.ts +132 -0
  300. package/core/renderers/common/{drawer.js → drawer.ts} +112 -137
  301. package/core/renderers/common/i_path_object.d.ts +117 -0
  302. package/core/renderers/common/i_path_object.ts +161 -0
  303. package/core/renderers/common/info.d.ts +194 -0
  304. package/core/renderers/common/{info.js → info.ts} +165 -222
  305. package/core/renderers/common/marker_svg.d.ts +220 -0
  306. package/core/renderers/common/marker_svg.ts +680 -0
  307. package/core/renderers/common/path_object.d.ts +146 -0
  308. package/core/renderers/common/path_object.ts +272 -0
  309. package/core/renderers/common/renderer.d.ts +157 -0
  310. package/core/renderers/common/renderer.ts +271 -0
  311. package/core/renderers/geras/constants.d.ts +23 -0
  312. package/core/renderers/geras/constants.ts +61 -0
  313. package/core/renderers/geras/drawer.d.ts +43 -0
  314. package/core/renderers/geras/{drawer.js → drawer.ts} +40 -84
  315. package/core/renderers/geras/geras.d.ts +11 -0
  316. package/core/renderers/geras/geras.ts +37 -0
  317. package/core/renderers/geras/highlight_constants.d.ts +108 -0
  318. package/core/renderers/geras/{highlight_constants.js → highlight_constants.ts} +107 -69
  319. package/core/renderers/geras/highlighter.d.ts +98 -0
  320. package/core/renderers/geras/{highlighter.js → highlighter.ts} +81 -86
  321. package/core/renderers/geras/info.d.ts +45 -0
  322. package/core/renderers/geras/{info.js → info.ts} +61 -99
  323. package/core/renderers/geras/measurables/inline_input.d.ts +23 -0
  324. package/core/renderers/geras/measurables/inline_input.ts +51 -0
  325. package/core/renderers/geras/measurables/statement_input.d.ts +23 -0
  326. package/core/renderers/geras/measurables/statement_input.ts +50 -0
  327. package/core/renderers/geras/path_object.d.ts +47 -0
  328. package/core/renderers/geras/{path_object.js → path_object.ts} +46 -74
  329. package/core/renderers/geras/renderer.d.ts +69 -0
  330. package/core/renderers/geras/renderer.ts +126 -0
  331. package/core/renderers/measurables/base.d.ts +27 -0
  332. package/core/renderers/measurables/base.ts +53 -0
  333. package/core/renderers/measurables/bottom_row.d.ts +61 -0
  334. package/core/renderers/measurables/bottom_row.ts +120 -0
  335. package/core/renderers/measurables/connection.d.ts +25 -0
  336. package/core/renderers/measurables/connection.ts +52 -0
  337. package/core/renderers/measurables/external_value_input.d.ts +27 -0
  338. package/core/renderers/measurables/external_value_input.ts +65 -0
  339. package/core/renderers/measurables/field.d.ts +30 -0
  340. package/core/renderers/measurables/field.ts +63 -0
  341. package/core/renderers/measurables/hat.d.ts +21 -0
  342. package/core/renderers/measurables/{hat.js → hat.ts} +12 -14
  343. package/core/renderers/measurables/icon.d.ts +26 -0
  344. package/core/renderers/measurables/{icon.js → icon.ts} +14 -18
  345. package/core/renderers/measurables/in_row_spacer.d.ts +21 -0
  346. package/core/renderers/measurables/in_row_spacer.ts +44 -0
  347. package/core/renderers/measurables/inline_input.d.ts +24 -0
  348. package/core/renderers/measurables/{inline_input.js → inline_input.ts} +22 -26
  349. package/core/renderers/measurables/input_connection.d.ts +29 -0
  350. package/core/renderers/measurables/input_connection.ts +66 -0
  351. package/core/renderers/measurables/input_row.d.ts +30 -0
  352. package/core/renderers/measurables/{input_row.js → input_row.ts} +24 -31
  353. package/core/renderers/measurables/jagged_edge.d.ts +20 -0
  354. package/core/renderers/measurables/{jagged_edge.js → jagged_edge.ts} +10 -13
  355. package/core/renderers/measurables/next_connection.d.ts +23 -0
  356. package/core/renderers/measurables/next_connection.ts +47 -0
  357. package/core/renderers/measurables/output_connection.d.ts +26 -0
  358. package/core/renderers/measurables/output_connection.ts +56 -0
  359. package/core/renderers/measurables/previous_connection.d.ts +23 -0
  360. package/core/renderers/measurables/previous_connection.ts +47 -0
  361. package/core/renderers/measurables/round_corner.d.ts +21 -0
  362. package/core/renderers/measurables/round_corner.ts +49 -0
  363. package/core/renderers/measurables/row.d.ts +141 -0
  364. package/core/renderers/measurables/row.ts +225 -0
  365. package/core/renderers/measurables/spacer_row.d.ts +29 -0
  366. package/core/renderers/measurables/spacer_row.ts +55 -0
  367. package/core/renderers/measurables/square_corner.d.ts +21 -0
  368. package/core/renderers/measurables/square_corner.ts +47 -0
  369. package/core/renderers/measurables/statement_input.d.ts +22 -0
  370. package/core/renderers/measurables/{statement_input.js → statement_input.ts} +14 -18
  371. package/core/renderers/measurables/top_row.d.ts +56 -0
  372. package/core/renderers/measurables/top_row.ts +122 -0
  373. package/core/renderers/measurables/types.d.ts +235 -0
  374. package/core/renderers/measurables/types.ts +332 -0
  375. package/core/renderers/minimalist/constants.d.ts +14 -0
  376. package/core/renderers/minimalist/{constants.js → constants.ts} +5 -10
  377. package/core/renderers/minimalist/drawer.d.ts +21 -0
  378. package/core/renderers/minimalist/drawer.ts +38 -0
  379. package/core/renderers/minimalist/info.d.ts +30 -0
  380. package/core/renderers/minimalist/info.ts +52 -0
  381. package/core/renderers/minimalist/minimalist.d.ts +6 -0
  382. package/core/renderers/minimalist/minimalist.ts +22 -0
  383. package/core/renderers/minimalist/renderer.d.ts +41 -0
  384. package/core/renderers/minimalist/renderer.ts +71 -0
  385. package/core/renderers/thrasos/info.d.ts +40 -0
  386. package/core/renderers/thrasos/{info.js → info.ts} +66 -67
  387. package/core/renderers/thrasos/renderer.d.ts +25 -0
  388. package/core/renderers/thrasos/renderer.ts +48 -0
  389. package/core/renderers/thrasos/thrasos.d.ts +4 -0
  390. package/core/renderers/thrasos/thrasos.ts +20 -0
  391. package/core/renderers/zelos/constants.d.ts +186 -0
  392. package/core/renderers/zelos/{constants.js → constants.ts} +294 -441
  393. package/core/renderers/zelos/drawer.d.ts +47 -0
  394. package/core/renderers/zelos/{drawer.js → drawer.ts} +73 -95
  395. package/core/renderers/zelos/info.d.ts +88 -0
  396. package/core/renderers/zelos/{info.js → info.ts} +111 -142
  397. package/core/renderers/zelos/marker_svg.d.ts +46 -0
  398. package/core/renderers/zelos/marker_svg.ts +151 -0
  399. package/core/renderers/zelos/measurables/bottom_row.d.ts +27 -0
  400. package/core/renderers/zelos/measurables/bottom_row.ts +53 -0
  401. package/core/renderers/zelos/measurables/inputs.d.ts +23 -0
  402. package/core/renderers/zelos/measurables/{inputs.js → inputs.ts} +14 -15
  403. package/core/renderers/zelos/measurables/row_elements.d.ts +21 -0
  404. package/core/renderers/zelos/measurables/row_elements.ts +45 -0
  405. package/core/renderers/zelos/measurables/top_row.d.ts +29 -0
  406. package/core/renderers/zelos/measurables/{top_row.js → top_row.ts} +14 -27
  407. package/core/renderers/zelos/path_object.d.ts +77 -0
  408. package/core/renderers/zelos/path_object.ts +215 -0
  409. package/core/renderers/zelos/renderer.d.ts +74 -0
  410. package/core/renderers/zelos/renderer.ts +142 -0
  411. package/core/renderers/zelos/zelos.d.ts +12 -0
  412. package/core/renderers/zelos/zelos.ts +39 -0
  413. package/core/scrollbar.d.ts +277 -0
  414. package/core/{scrollbar.js → scrollbar.ts} +307 -328
  415. package/core/scrollbar_pair.d.ts +105 -0
  416. package/core/{scrollbar_pair.js → scrollbar_pair.ts} +71 -79
  417. package/core/serialization/blocks.d.ts +98 -0
  418. package/core/serialization/{blocks.js → blocks.ts} +229 -228
  419. package/core/serialization/exceptions.d.ts +73 -0
  420. package/core/serialization/exceptions.ts +98 -0
  421. package/core/serialization/priorities.d.ts +15 -0
  422. package/core/serialization/{priorities.js → priorities.ts} +4 -10
  423. package/core/serialization/registry.d.ts +20 -0
  424. package/core/serialization/{registry.js → registry.ts} +11 -13
  425. package/core/serialization/variables.d.ts +14 -0
  426. package/core/serialization/{variables.js → variables.ts} +30 -32
  427. package/core/serialization/workspaces.d.ts +28 -0
  428. package/core/serialization/{workspaces.js → workspaces.ts} +30 -27
  429. package/core/shortcut_items.d.ts +61 -0
  430. package/core/{shortcut_items.js → shortcut_items.ts} +121 -157
  431. package/core/shortcut_registry.d.ts +151 -0
  432. package/core/shortcut_registry.ts +355 -0
  433. package/core/sprites.d.ts +19 -0
  434. package/core/{sprites.js → sprites.ts} +4 -6
  435. package/core/theme/classic.d.ts +12 -0
  436. package/core/theme/{classic.js → classic.ts} +5 -7
  437. package/core/theme/themes.d.ts +8 -0
  438. package/core/theme/themes.ts +22 -0
  439. package/core/theme/zelos.d.ts +11 -0
  440. package/core/theme/{zelos.js → zelos.ts} +4 -7
  441. package/core/theme.d.ts +142 -0
  442. package/core/theme.ts +221 -0
  443. package/core/theme_manager.d.ts +81 -0
  444. package/core/theme_manager.ts +186 -0
  445. package/core/toolbox/category.d.ts +239 -0
  446. package/core/toolbox/category.ts +679 -0
  447. package/core/toolbox/collapsible_category.d.ts +91 -0
  448. package/core/toolbox/collapsible_category.ts +273 -0
  449. package/core/toolbox/separator.d.ts +39 -0
  450. package/core/toolbox/separator.ts +105 -0
  451. package/core/toolbox/toolbox.d.ts +352 -0
  452. package/core/toolbox/{toolbox.js → toolbox.ts} +316 -432
  453. package/core/toolbox/toolbox_item.d.ts +85 -0
  454. package/core/toolbox/toolbox_item.ts +147 -0
  455. package/core/tooltip.d.ts +126 -0
  456. package/core/{tooltip.js → tooltip.ts} +136 -214
  457. package/core/touch.d.ts +121 -0
  458. package/core/touch.ts +306 -0
  459. package/core/touch_gesture.d.ts +115 -0
  460. package/core/{touch_gesture.js → touch_gesture.ts} +87 -125
  461. package/core/trashcan.d.ts +195 -0
  462. package/core/{trashcan.js → trashcan.ts} +226 -312
  463. package/core/utils/aria.d.ts +67 -0
  464. package/core/utils/{aria.js → aria.ts} +47 -61
  465. package/core/utils/array.d.ts +14 -0
  466. package/core/utils/{array.js → array.ts} +10 -12
  467. package/core/utils/colour.d.ts +103 -0
  468. package/core/utils/{colour.js → colour.ts} +60 -72
  469. package/core/utils/coordinate.d.ts +72 -0
  470. package/core/utils/coordinate.ts +124 -0
  471. package/core/utils/deprecation.d.ts +17 -0
  472. package/core/utils/{deprecation.js → deprecation.ts} +11 -11
  473. package/core/utils/dom.d.ts +165 -0
  474. package/core/utils/{dom.js → dom.ts} +125 -147
  475. package/core/utils/idgenerator.d.ts +25 -0
  476. package/core/utils/{idgenerator.js → idgenerator.ts} +15 -18
  477. package/core/utils/keycodes.d.ts +137 -0
  478. package/core/utils/keycodes.ts +169 -0
  479. package/core/utils/math.d.ts +30 -0
  480. package/core/utils/{math.js → math.ts} +17 -19
  481. package/core/utils/metrics.d.ts +64 -0
  482. package/core/utils/metrics.ts +97 -0
  483. package/core/utils/object.d.ts +35 -0
  484. package/core/utils/{object.js → object.ts} +30 -26
  485. package/core/utils/parsing.d.ts +50 -0
  486. package/core/utils/{parsing.js → parsing.ts} +50 -50
  487. package/core/utils/rect.d.ts +38 -0
  488. package/core/utils/{rect.js → rect.ts} +18 -31
  489. package/core/utils/sentinel.d.ts +11 -0
  490. package/core/utils/{sentinel.js → sentinel.ts} +3 -5
  491. package/core/utils/size.d.ts +27 -0
  492. package/core/utils/{size.js → size.ts} +12 -26
  493. package/core/utils/string.d.ts +55 -0
  494. package/core/utils/{string.js → string.ts} +64 -61
  495. package/core/utils/style.d.ts +127 -0
  496. package/core/utils/{style.js → style.ts} +102 -92
  497. package/core/utils/svg.d.ts +68 -0
  498. package/core/utils/svg.ts +88 -0
  499. package/core/utils/svg_math.d.ts +70 -0
  500. package/core/utils/{svg_math.js → svg_math.ts} +72 -71
  501. package/core/utils/svg_paths.d.ts +101 -0
  502. package/core/utils/{svg_paths.js → svg_paths.ts} +56 -65
  503. package/core/utils/toolbox.d.ts +193 -0
  504. package/core/utils/toolbox.ts +433 -0
  505. package/core/utils/useragent.d.ts +33 -0
  506. package/core/utils/useragent.ts +135 -0
  507. package/core/utils/xml.d.ts +52 -0
  508. package/core/utils/{xml.js → xml.ts} +26 -36
  509. package/core/utils.d.ts +217 -0
  510. package/core/utils.ts +428 -0
  511. package/core/variable_map.d.ts +141 -0
  512. package/core/{variable_map.js → variable_map.ts} +131 -149
  513. package/core/variable_model.d.ts +40 -0
  514. package/core/variable_model.ts +82 -0
  515. package/core/variables.d.ts +181 -0
  516. package/core/{variables.js → variables.ts} +206 -188
  517. package/core/variables_dynamic.d.ts +38 -0
  518. package/core/{variables_dynamic.js → variables_dynamic.ts} +47 -43
  519. package/core/warning.d.ts +50 -0
  520. package/core/{warning.js → warning.ts} +52 -66
  521. package/core/widgetdiv.d.ts +69 -0
  522. package/core/widgetdiv.ts +257 -0
  523. package/core/workspace.d.ts +386 -0
  524. package/core/workspace.ts +801 -0
  525. package/core/workspace_audio.d.ts +47 -0
  526. package/core/{workspace_audio.js → workspace_audio.ts} +47 -60
  527. package/core/workspace_comment.d.ts +170 -0
  528. package/core/workspace_comment.ts +398 -0
  529. package/core/workspace_comment_svg.d.ts +329 -0
  530. package/core/{workspace_comment_svg.js → workspace_comment_svg.ts} +347 -444
  531. package/core/workspace_drag_surface_svg.d.ts +68 -0
  532. package/core/{workspace_drag_surface_svg.js → workspace_drag_surface_svg.ts} +75 -82
  533. package/core/workspace_dragger.d.ts +48 -0
  534. package/core/workspace_dragger.ts +104 -0
  535. package/core/workspace_svg.d.ts +920 -0
  536. package/core/{workspace_svg.js → workspace_svg.ts} +855 -935
  537. package/core/xml.d.ts +117 -0
  538. package/core/{xml.js → xml.ts} +306 -326
  539. package/core/zoom_controls.d.ts +130 -0
  540. package/core/{zoom_controls.js → zoom_controls.ts} +185 -251
  541. package/core.d.ts +1 -3
  542. package/core.js +1 -2
  543. package/dart.d.ts +0 -3
  544. package/dart_compressed.js +387 -99
  545. package/dart_compressed.js.map +1 -1
  546. package/generators/dart/all.js +2 -0
  547. package/generators/dart/colour.js +1 -1
  548. package/generators/dart/lists.js +1 -1
  549. package/generators/dart/logic.js +1 -1
  550. package/generators/dart/loops.js +1 -1
  551. package/generators/dart/math.js +1 -1
  552. package/generators/dart/procedures.js +1 -1
  553. package/generators/dart/text.js +1 -1
  554. package/generators/dart/variables.js +1 -1
  555. package/generators/dart/variables_dynamic.js +1 -1
  556. package/generators/dart.js +1 -2
  557. package/generators/javascript/all.js +2 -0
  558. package/generators/javascript/colour.js +1 -1
  559. package/generators/javascript/lists.js +1 -1
  560. package/generators/javascript/logic.js +1 -1
  561. package/generators/javascript/loops.js +1 -1
  562. package/generators/javascript/math.js +4 -4
  563. package/generators/javascript/procedures.js +1 -1
  564. package/generators/javascript/text.js +2 -2
  565. package/generators/javascript/variables.js +1 -1
  566. package/generators/javascript/variables_dynamic.js +1 -1
  567. package/generators/javascript.js +1 -3
  568. package/generators/lua/all.js +2 -0
  569. package/generators/lua/colour.js +1 -1
  570. package/generators/lua/lists.js +1 -1
  571. package/generators/lua/logic.js +1 -1
  572. package/generators/lua/loops.js +1 -1
  573. package/generators/lua/math.js +1 -1
  574. package/generators/lua/procedures.js +1 -1
  575. package/generators/lua/text.js +1 -1
  576. package/generators/lua/variables.js +1 -1
  577. package/generators/lua/variables_dynamic.js +1 -1
  578. package/generators/lua.js +1 -2
  579. package/generators/php/all.js +2 -0
  580. package/generators/php/colour.js +1 -1
  581. package/generators/php/lists.js +1 -2
  582. package/generators/php/logic.js +1 -1
  583. package/generators/php/loops.js +1 -1
  584. package/generators/php/math.js +1 -1
  585. package/generators/php/procedures.js +1 -1
  586. package/generators/php/text.js +1 -1
  587. package/generators/php/variables.js +1 -1
  588. package/generators/php/variables_dynamic.js +1 -1
  589. package/generators/php.js +1 -2
  590. package/generators/python/all.js +2 -0
  591. package/generators/python/colour.js +3 -3
  592. package/generators/python/lists.js +1 -1
  593. package/generators/python/logic.js +1 -1
  594. package/generators/python/loops.js +4 -7
  595. package/generators/python/math.js +1 -1
  596. package/generators/python/procedures.js +1 -1
  597. package/generators/python/text.js +1 -1
  598. package/generators/python/variables.js +1 -1
  599. package/generators/python/variables_dynamic.js +1 -1
  600. package/generators/python.js +1 -2
  601. package/index.d.ts +2 -8
  602. package/javascript.d.ts +0 -3
  603. package/javascript_compressed.js +314 -104
  604. package/javascript_compressed.js.map +1 -1
  605. package/lua.d.ts +0 -3
  606. package/lua_compressed.js +399 -81
  607. package/lua_compressed.js.map +1 -1
  608. package/msg/ab.js +421 -421
  609. package/msg/ace.js +421 -421
  610. package/msg/af.js +421 -421
  611. package/msg/am.js +421 -421
  612. package/msg/ar.js +421 -421
  613. package/msg/ast.js +421 -421
  614. package/msg/az.js +421 -421
  615. package/msg/ba.js +421 -421
  616. package/msg/bcc.js +421 -421
  617. package/msg/be-tarask.js +421 -421
  618. package/msg/be.js +421 -421
  619. package/msg/bg.js +421 -421
  620. package/msg/bn.js +421 -421
  621. package/msg/br.js +421 -421
  622. package/msg/bs.js +421 -421
  623. package/msg/ca.js +421 -421
  624. package/msg/cdo.js +421 -421
  625. package/msg/cs.js +421 -421
  626. package/msg/da.js +421 -421
  627. package/msg/de.js +421 -421
  628. package/msg/diq.js +421 -421
  629. package/msg/dty.js +421 -421
  630. package/msg/ee.js +421 -421
  631. package/msg/el.js +421 -421
  632. package/msg/en-gb.js +421 -421
  633. package/msg/en.js +421 -421
  634. package/msg/eo.js +421 -421
  635. package/msg/es.js +421 -421
  636. package/msg/et.js +421 -421
  637. package/msg/eu.js +421 -421
  638. package/msg/fa.js +421 -421
  639. package/msg/fi.js +421 -421
  640. package/msg/fo.js +421 -421
  641. package/msg/fr.js +421 -421
  642. package/msg/frr.js +421 -421
  643. package/msg/gl.js +421 -421
  644. package/msg/gn.js +421 -421
  645. package/msg/gor.js +421 -421
  646. package/msg/ha.js +421 -421
  647. package/msg/hak.js +421 -421
  648. package/msg/he.js +421 -421
  649. package/msg/hi.js +421 -421
  650. package/msg/hr.js +421 -421
  651. package/msg/hrx.js +421 -421
  652. package/msg/hu.js +421 -421
  653. package/msg/hy.js +421 -421
  654. package/msg/ia.js +421 -421
  655. package/msg/id.js +421 -421
  656. package/msg/ig.js +421 -421
  657. package/msg/inh.js +421 -421
  658. package/msg/is.js +421 -421
  659. package/msg/it.js +421 -421
  660. package/msg/ja.js +421 -421
  661. package/msg/ka.js +421 -421
  662. package/msg/kab.js +421 -421
  663. package/msg/kbd-cyrl.js +421 -421
  664. package/msg/km.js +421 -421
  665. package/msg/kn.js +421 -421
  666. package/msg/ko.js +421 -421
  667. package/msg/ksh.js +421 -421
  668. package/msg/ku-latn.js +421 -421
  669. package/msg/ky.js +421 -421
  670. package/msg/la.js +421 -421
  671. package/msg/lb.js +421 -421
  672. package/msg/lki.js +421 -421
  673. package/msg/lo.js +421 -421
  674. package/msg/lrc.js +421 -421
  675. package/msg/lt.js +421 -421
  676. package/msg/lv.js +421 -421
  677. package/msg/mg.js +421 -421
  678. package/msg/mk.js +421 -421
  679. package/msg/ml.js +421 -421
  680. package/msg/mnw.js +421 -421
  681. package/msg/ms.js +421 -421
  682. package/msg/my.js +421 -421
  683. package/msg/mzn.js +421 -421
  684. package/msg/nb.js +421 -421
  685. package/msg/ne.js +421 -421
  686. package/msg/nl.js +421 -421
  687. package/msg/oc.js +421 -421
  688. package/msg/olo.js +421 -421
  689. package/msg/pa.js +421 -421
  690. package/msg/pl.js +421 -421
  691. package/msg/pms.js +421 -421
  692. package/msg/ps.js +421 -421
  693. package/msg/pt-br.js +421 -421
  694. package/msg/pt.js +421 -421
  695. package/msg/ro.js +421 -421
  696. package/msg/ru.js +421 -421
  697. package/msg/sc.js +421 -421
  698. package/msg/sco.js +421 -421
  699. package/msg/sd.js +421 -421
  700. package/msg/shn.js +421 -421
  701. package/msg/si.js +421 -421
  702. package/msg/sk.js +421 -421
  703. package/msg/skr-arab.js +421 -421
  704. package/msg/sl.js +421 -421
  705. package/msg/smn.js +421 -421
  706. package/msg/sq.js +421 -421
  707. package/msg/sr-latn.js +421 -421
  708. package/msg/sr.js +421 -421
  709. package/msg/sv.js +421 -421
  710. package/msg/sw.js +421 -421
  711. package/msg/ta.js +421 -421
  712. package/msg/tcy.js +421 -421
  713. package/msg/te.js +421 -421
  714. package/msg/th.js +421 -421
  715. package/msg/ti.js +421 -421
  716. package/msg/tl.js +421 -421
  717. package/msg/tlh.js +421 -421
  718. package/msg/tr.js +421 -421
  719. package/msg/ug-arab.js +421 -421
  720. package/msg/uk.js +421 -421
  721. package/msg/ur.js +421 -421
  722. package/msg/uz.js +421 -421
  723. package/msg/vi.js +421 -421
  724. package/msg/xmf.js +421 -421
  725. package/msg/yo.js +421 -421
  726. package/msg/yue.js +421 -421
  727. package/msg/zgh.js +421 -421
  728. package/msg/zh-hans.js +421 -421
  729. package/msg/zh-hant.js +421 -421
  730. package/package.json +5 -5
  731. package/php.d.ts +0 -3
  732. package/php_compressed.js +322 -93
  733. package/php_compressed.js.map +1 -1
  734. package/python.d.ts +0 -3
  735. package/python_compressed.js +237 -90
  736. package/python_compressed.js.map +1 -1
  737. package/blockly.d.ts +0 -26127
  738. package/core/blockly_options.js +0 -28
  739. package/core/bubble_dragger.js +0 -298
  740. package/core/clipboard.js +0 -80
  741. package/core/component_manager.js +0 -263
  742. package/core/contextmenu_items.js +0 -651
  743. package/core/contextmenu_registry.js +0 -178
  744. package/core/delete_area.js +0 -87
  745. package/core/dialog.js +0 -107
  746. package/core/drag_target.js +0 -98
  747. package/core/events/events.js +0 -147
  748. package/core/events/events_abstract.js +0 -133
  749. package/core/events/events_block_base.js +0 -70
  750. package/core/events/events_block_drag.js +0 -89
  751. package/core/events/events_bubble_open.js +0 -90
  752. package/core/events/events_comment_base.js +0 -121
  753. package/core/events/events_marker_move.js +0 -110
  754. package/core/events/events_selected.js +0 -83
  755. package/core/events/events_toolbox_item_select.js +0 -84
  756. package/core/events/events_trashcan_open.js +0 -73
  757. package/core/events/events_var_base.js +0 -70
  758. package/core/events/events_viewport.js +0 -107
  759. package/core/events/workspace_events.js +0 -93
  760. package/core/field_angle.js +0 -591
  761. package/core/field_checkbox.js +0 -255
  762. package/core/field_colour.js +0 -717
  763. package/core/field_image.js +0 -304
  764. package/core/field_label.js +0 -149
  765. package/core/field_label_serializable.js +0 -80
  766. package/core/field_textinput.js +0 -619
  767. package/core/flyout_button.js +0 -356
  768. package/core/grid.js +0 -226
  769. package/core/icon.js +0 -225
  770. package/core/input.js +0 -335
  771. package/core/interfaces/i_ast_node_location_svg.js +0 -45
  772. package/core/interfaces/i_ast_node_location_with_block.js +0 -41
  773. package/core/interfaces/i_autohideable.js +0 -40
  774. package/core/interfaces/i_block_dragger.js +0 -66
  775. package/core/interfaces/i_bounded_element.js +0 -45
  776. package/core/interfaces/i_bubble.js +0 -95
  777. package/core/interfaces/i_collapsible_toolbox_item.js +0 -53
  778. package/core/interfaces/i_connection_checker.js +0 -104
  779. package/core/interfaces/i_contextmenu.js +0 -32
  780. package/core/interfaces/i_copyable.js +0 -49
  781. package/core/interfaces/i_delete_area.js +0 -50
  782. package/core/interfaces/i_drag_target.js +0 -88
  783. package/core/interfaces/i_flyout.js +0 -201
  784. package/core/interfaces/i_keyboard_accessible.js +0 -38
  785. package/core/interfaces/i_metrics_manager.js +0 -154
  786. package/core/interfaces/i_positionable.js +0 -51
  787. package/core/interfaces/i_selectable.js +0 -51
  788. package/core/interfaces/i_selectable_toolbox_item.js +0 -73
  789. package/core/interfaces/i_serializer.js +0 -77
  790. package/core/interfaces/i_styleable.js +0 -39
  791. package/core/interfaces/i_toolbox.js +0 -142
  792. package/core/interfaces/i_toolbox_item.js +0 -85
  793. package/core/marker_manager.js +0 -213
  794. package/core/menuitem.js +0 -292
  795. package/core/names.js +0 -293
  796. package/core/registry.js +0 -384
  797. package/core/renderers/common/block_rendering.js +0 -170
  798. package/core/renderers/common/constants.js +0 -1250
  799. package/core/renderers/common/i_path_object.js +0 -162
  800. package/core/renderers/common/marker_svg.js +0 -721
  801. package/core/renderers/common/path_object.js +0 -283
  802. package/core/renderers/common/renderer.js +0 -305
  803. package/core/renderers/geras/constants.js +0 -73
  804. package/core/renderers/geras/geras.js +0 -36
  805. package/core/renderers/geras/measurables/inline_input.js +0 -58
  806. package/core/renderers/geras/measurables/statement_input.js +0 -57
  807. package/core/renderers/geras/renderer.js +0 -149
  808. package/core/renderers/measurables/base.js +0 -64
  809. package/core/renderers/measurables/bottom_row.js +0 -138
  810. package/core/renderers/measurables/connection.js +0 -56
  811. package/core/renderers/measurables/external_value_input.js +0 -70
  812. package/core/renderers/measurables/field.js +0 -71
  813. package/core/renderers/measurables/in_row_spacer.js +0 -47
  814. package/core/renderers/measurables/input_connection.js +0 -75
  815. package/core/renderers/measurables/next_connection.js +0 -50
  816. package/core/renderers/measurables/output_connection.js +0 -61
  817. package/core/renderers/measurables/previous_connection.js +0 -50
  818. package/core/renderers/measurables/round_corner.js +0 -52
  819. package/core/renderers/measurables/row.js +0 -247
  820. package/core/renderers/measurables/spacer_row.js +0 -69
  821. package/core/renderers/measurables/square_corner.js +0 -50
  822. package/core/renderers/measurables/top_row.js +0 -143
  823. package/core/renderers/measurables/types.js +0 -353
  824. package/core/renderers/minimalist/drawer.js +0 -42
  825. package/core/renderers/minimalist/info.js +0 -54
  826. package/core/renderers/minimalist/minimalist.js +0 -26
  827. package/core/renderers/minimalist/renderer.js +0 -80
  828. package/core/renderers/thrasos/renderer.js +0 -53
  829. package/core/renderers/thrasos/thrasos.js +0 -22
  830. package/core/renderers/zelos/marker_svg.js +0 -179
  831. package/core/renderers/zelos/measurables/bottom_row.js +0 -66
  832. package/core/renderers/zelos/measurables/row_elements.js +0 -46
  833. package/core/renderers/zelos/path_object.js +0 -247
  834. package/core/renderers/zelos/renderer.js +0 -147
  835. package/core/renderers/zelos/zelos.js +0 -38
  836. package/core/serialization/exceptions.js +0 -144
  837. package/core/shortcut_registry.js +0 -366
  838. package/core/theme/themes.js +0 -23
  839. package/core/theme.js +0 -228
  840. package/core/theme_manager.js +0 -211
  841. package/core/toolbox/category.js +0 -751
  842. package/core/toolbox/collapsible_category.js +0 -311
  843. package/core/toolbox/separator.js +0 -133
  844. package/core/toolbox/toolbox_item.js +0 -173
  845. package/core/touch.js +0 -285
  846. package/core/utils/coordinate.js +0 -138
  847. package/core/utils/global.js +0 -41
  848. package/core/utils/keycodes.js +0 -172
  849. package/core/utils/metrics.js +0 -154
  850. package/core/utils/svg.js +0 -186
  851. package/core/utils/toolbox.js +0 -459
  852. package/core/utils/useragent.js +0 -197
  853. package/core/utils.js +0 -383
  854. package/core/variable_model.js +0 -96
  855. package/core/widgetdiv.js +0 -290
  856. package/core/workspace.js +0 -836
  857. package/core/workspace_comment.js +0 -400
  858. package/core/workspace_dragger.js +0 -115
@@ -7,101 +7,92 @@
7
7
  /**
8
8
  * @fileoverview Components for creating connections between blocks.
9
9
  */
10
- 'use strict';
11
10
 
12
11
  /**
13
12
  * Components for creating connections between blocks.
14
13
  * @class
15
14
  */
16
- goog.module('Blockly.RenderedConnection');
17
-
18
- const common = goog.require('Blockly.common');
19
- const dom = goog.require('Blockly.utils.dom');
20
- const eventUtils = goog.require('Blockly.Events.utils');
21
- const internalConstants = goog.require('Blockly.internalConstants');
22
- const svgPaths = goog.require('Blockly.utils.svgPaths');
23
- const svgMath = goog.require('Blockly.utils.svgMath');
24
- /* eslint-disable-next-line no-unused-vars */
25
- const {BlockSvg} = goog.requireType('Blockly.BlockSvg');
26
- /* eslint-disable-next-line no-unused-vars */
27
- const {Block} = goog.requireType('Blockly.Block');
28
- const {config} = goog.require('Blockly.config');
29
- /* eslint-disable-next-line no-unused-vars */
30
- const {ConnectionDB} = goog.requireType('Blockly.ConnectionDB');
31
- const {ConnectionType} = goog.require('Blockly.ConnectionType');
32
- const {Connection} = goog.require('Blockly.Connection');
33
- const {Coordinate} = goog.require('Blockly.utils.Coordinate');
34
- const {Svg} = goog.require('Blockly.utils.Svg');
15
+ import * as goog from '../closure/goog/goog.js';
16
+ goog.declareModuleId('Blockly.RenderedConnection');
17
+
18
+ import type {Block} from './block.js';
19
+ import type {BlockSvg} from './block_svg.js';
20
+ import * as common from './common.js';
21
+ import {config} from './config.js';
22
+ import {Connection} from './connection.js';
23
+ import type {ConnectionDB} from './connection_db.js';
24
+ import {ConnectionType} from './connection_type.js';
25
+ import * as eventUtils from './events/utils.js';
26
+ import * as internalConstants from './internal_constants.js';
27
+ import {Coordinate} from './utils/coordinate.js';
28
+ import * as dom from './utils/dom.js';
29
+ import {Svg} from './utils/svg.js';
30
+ import * as svgMath from './utils/svg_math.js';
31
+ import * as svgPaths from './utils/svg_paths.js';
32
+
33
+
34
+ /** A shape that has a pathDown property. */
35
+ interface PathDownShape {
36
+ pathDown: string;
37
+ }
35
38
 
39
+ /** A shape that has a pathLeft property. */
40
+ interface PathLeftShape {
41
+ pathLeft: string;
42
+ }
36
43
 
37
- /**
38
- * Maximum randomness in workspace units for bumping a block.
39
- * @const
40
- */
44
+ /** Maximum randomness in workspace units for bumping a block. */
41
45
  const BUMP_RANDOMNESS = 10;
42
46
 
43
47
  /**
44
48
  * Class for a connection between blocks that may be rendered on screen.
45
- * @extends {Connection}
46
49
  * @alias Blockly.RenderedConnection
47
50
  */
48
- class RenderedConnection extends Connection {
51
+ export class RenderedConnection extends Connection {
52
+ // TODO(b/109816955): remove '!', see go/strict-prop-init-fix.
53
+ sourceBlock_!: BlockSvg;
54
+ private readonly db_: ConnectionDB;
55
+ private readonly dbOpposite_: ConnectionDB;
56
+ private readonly offsetInBlock_: Coordinate;
57
+ private trackedState_: TrackedState;
58
+
59
+ /** Connection this connection connects to. Null if not connected. */
60
+ override targetConnection: RenderedConnection|null = null;
61
+
49
62
  /**
50
- * @param {!BlockSvg} source The block establishing this connection.
51
- * @param {number} type The type of the connection.
63
+ * @param source The block establishing this connection.
64
+ * @param type The type of the connection.
52
65
  */
53
- constructor(source, type) {
66
+ constructor(source: BlockSvg, type: number) {
54
67
  super(source, type);
55
68
 
56
- /** @type {!BlockSvg} */
57
- this.sourceBlock_;
58
-
59
69
  /**
60
70
  * Connection database for connections of this type on the current
61
71
  * workspace.
62
- * @const {!ConnectionDB}
63
- * @private
64
72
  */
65
73
  this.db_ = source.workspace.connectionDBList[type];
66
74
 
67
75
  /**
68
76
  * Connection database for connections compatible with this type on the
69
77
  * current workspace.
70
- * @const {!ConnectionDB}
71
- * @private
72
78
  */
73
79
  this.dbOpposite_ =
74
80
  source.workspace
75
81
  .connectionDBList[internalConstants.OPPOSITE_TYPE[type]];
76
82
 
77
- /**
78
- * Workspace units, (0, 0) is top left of block.
79
- * @type {!Coordinate}
80
- * @private
81
- */
83
+ /** Workspace units, (0, 0) is top left of block. */
82
84
  this.offsetInBlock_ = new Coordinate(0, 0);
83
85
 
84
- /**
85
- * Describes the state of this connection's tracked-ness.
86
- * @type {RenderedConnection.TrackedState}
87
- * @private
88
- */
86
+ /** Describes the state of this connection's tracked-ness. */
89
87
  this.trackedState_ = RenderedConnection.TrackedState.WILL_TRACK;
90
-
91
- /**
92
- * Connection this connection connects to. Null if not connected.
93
- * @type {RenderedConnection}
94
- */
95
- this.targetConnection = null;
96
88
  }
97
89
 
98
90
  /**
99
91
  * Dispose of this connection. Remove it from the database (if it is
100
92
  * tracked) and call the super-function to deal with connected blocks.
101
- * @override
102
- * @package
93
+ * @internal
103
94
  */
104
- dispose() {
95
+ override dispose() {
105
96
  super.dispose();
106
97
  if (this.trackedState_ === RenderedConnection.TrackedState.TRACKED) {
107
98
  this.db_.removeConnection(this, this.y);
@@ -110,30 +101,27 @@ class RenderedConnection extends Connection {
110
101
 
111
102
  /**
112
103
  * Get the source block for this connection.
113
- * @return {!BlockSvg} The source block.
114
- * @override
104
+ * @return The source block.
115
105
  */
116
- getSourceBlock() {
117
- return /** @type {!BlockSvg} */ (super.getSourceBlock());
106
+ override getSourceBlock(): BlockSvg {
107
+ return super.getSourceBlock() as BlockSvg;
118
108
  }
119
109
 
120
110
  /**
121
111
  * Returns the block that this connection connects to.
122
- * @return {?BlockSvg} The connected block or null if none is connected.
123
- * @override
112
+ * @return The connected block or null if none is connected.
124
113
  */
125
- targetBlock() {
126
- return /** @type {BlockSvg} */ (super.targetBlock());
114
+ override targetBlock(): BlockSvg|null {
115
+ return super.targetBlock() as BlockSvg;
127
116
  }
128
117
 
129
118
  /**
130
119
  * Returns the distance between this connection and another connection in
131
120
  * workspace units.
132
- * @param {!Connection} otherConnection The other connection to measure
133
- * the distance to.
134
- * @return {number} The distance between connections, in workspace units.
121
+ * @param otherConnection The other connection to measure the distance to.
122
+ * @return The distance between connections, in workspace units.
135
123
  */
136
- distanceFrom(otherConnection) {
124
+ distanceFrom(otherConnection: Connection): number {
137
125
  const xDiff = this.x - otherConnection.x;
138
126
  const yDiff = this.y - otherConnection.y;
139
127
  return Math.sqrt(xDiff * xDiff + yDiff * yDiff);
@@ -142,11 +130,10 @@ class RenderedConnection extends Connection {
142
130
  /**
143
131
  * Move the block(s) belonging to the connection to a point where they don't
144
132
  * visually interfere with the specified connection.
145
- * @param {!RenderedConnection} staticConnection The connection to move away
146
- * from.
147
- * @package
133
+ * @param staticConnection The connection to move away from.
134
+ * @internal
148
135
  */
149
- bumpAwayFrom(staticConnection) {
136
+ bumpAwayFrom(staticConnection: RenderedConnection) {
150
137
  if (this.sourceBlock_.workspace.isDragging()) {
151
138
  // Don't move blocks around while the user is doing the same.
152
139
  return;
@@ -172,20 +159,17 @@ class RenderedConnection extends Connection {
172
159
  // Raise it to the top for extra visibility.
173
160
  const selected = common.getSelected() == rootBlock;
174
161
  selected || rootBlock.addSelect();
175
- let dx = (staticConnection.x + config.snapRadius +
176
- Math.floor(Math.random() * BUMP_RANDOMNESS)) -
177
- this.x;
178
- let dy = (staticConnection.y + config.snapRadius +
179
- Math.floor(Math.random() * BUMP_RANDOMNESS)) -
180
- this.y;
162
+ let dx = staticConnection.x + config.snapRadius +
163
+ Math.floor(Math.random() * BUMP_RANDOMNESS) - this.x;
164
+ let dy = staticConnection.y + config.snapRadius +
165
+ Math.floor(Math.random() * BUMP_RANDOMNESS) - this.y;
181
166
  if (reverse) {
182
167
  // When reversing a bump due to an uneditable block, bump up.
183
168
  dy = -dy;
184
169
  }
185
170
  if (rootBlock.RTL) {
186
- dx = (staticConnection.x - config.snapRadius -
187
- Math.floor(Math.random() * BUMP_RANDOMNESS)) -
188
- this.x;
171
+ dx = staticConnection.x - config.snapRadius -
172
+ Math.floor(Math.random() * BUMP_RANDOMNESS) - this.x;
189
173
  }
190
174
  rootBlock.moveBy(dx, dy);
191
175
  selected || rootBlock.removeSelect();
@@ -193,10 +177,10 @@ class RenderedConnection extends Connection {
193
177
 
194
178
  /**
195
179
  * Change the connection's coordinates.
196
- * @param {number} x New absolute x coordinate, in workspace coordinates.
197
- * @param {number} y New absolute y coordinate, in workspace coordinates.
180
+ * @param x New absolute x coordinate, in workspace coordinates.
181
+ * @param y New absolute y coordinate, in workspace coordinates.
198
182
  */
199
- moveTo(x, y) {
183
+ moveTo(x: number, y: number) {
200
184
  if (this.trackedState_ === RenderedConnection.TrackedState.WILL_TRACK) {
201
185
  this.db_.addConnection(this, y);
202
186
  this.trackedState_ = RenderedConnection.TrackedState.TRACKED;
@@ -210,84 +194,82 @@ class RenderedConnection extends Connection {
210
194
 
211
195
  /**
212
196
  * Change the connection's coordinates.
213
- * @param {number} dx Change to x coordinate, in workspace units.
214
- * @param {number} dy Change to y coordinate, in workspace units.
197
+ * @param dx Change to x coordinate, in workspace units.
198
+ * @param dy Change to y coordinate, in workspace units.
215
199
  */
216
- moveBy(dx, dy) {
200
+ moveBy(dx: number, dy: number) {
217
201
  this.moveTo(this.x + dx, this.y + dy);
218
202
  }
219
203
 
220
204
  /**
221
205
  * Move this connection to the location given by its offset within the block
222
206
  * and the location of the block's top left corner.
223
- * @param {!Coordinate} blockTL The location of the top left
224
- * corner of the block, in workspace coordinates.
207
+ * @param blockTL The location of the top left corner of the block, in
208
+ * workspace coordinates.
225
209
  */
226
- moveToOffset(blockTL) {
210
+ moveToOffset(blockTL: Coordinate) {
227
211
  this.moveTo(
228
212
  blockTL.x + this.offsetInBlock_.x, blockTL.y + this.offsetInBlock_.y);
229
213
  }
230
214
 
231
215
  /**
232
216
  * Set the offset of this connection relative to the top left of its block.
233
- * @param {number} x The new relative x, in workspace units.
234
- * @param {number} y The new relative y, in workspace units.
217
+ * @param x The new relative x, in workspace units.
218
+ * @param y The new relative y, in workspace units.
235
219
  */
236
- setOffsetInBlock(x, y) {
220
+ setOffsetInBlock(x: number, y: number) {
237
221
  this.offsetInBlock_.x = x;
238
222
  this.offsetInBlock_.y = y;
239
223
  }
240
224
 
241
225
  /**
242
226
  * Get the offset of this connection relative to the top left of its block.
243
- * @return {!Coordinate} The offset of the connection.
244
- * @package
227
+ * @return The offset of the connection.
228
+ * @internal
245
229
  */
246
- getOffsetInBlock() {
230
+ getOffsetInBlock(): Coordinate {
247
231
  return this.offsetInBlock_;
248
232
  }
249
233
 
250
234
  /**
251
235
  * Move the blocks on either side of this connection right next to each other.
252
- * @package
236
+ * @internal
253
237
  */
254
238
  tighten() {
255
- const dx = this.targetConnection.x - this.x;
256
- const dy = this.targetConnection.y - this.y;
239
+ const dx = this.targetConnection!.x - this.x;
240
+ const dy = this.targetConnection!.y - this.y;
257
241
  if (dx !== 0 || dy !== 0) {
258
242
  const block = this.targetBlock();
259
- const svgRoot = block.getSvgRoot();
243
+ const svgRoot = block!.getSvgRoot();
260
244
  if (!svgRoot) {
261
245
  throw Error('block is not rendered.');
262
246
  }
263
247
  // Workspace coordinates.
264
248
  const xy = svgMath.getRelativeXY(svgRoot);
265
- block.getSvgRoot().setAttribute(
249
+ block!.getSvgRoot().setAttribute(
266
250
  'transform', 'translate(' + (xy.x - dx) + ',' + (xy.y - dy) + ')');
267
- block.moveConnections(-dx, -dy);
251
+ block!.moveConnections(-dx, -dy);
268
252
  }
269
253
  }
270
254
 
271
255
  /**
272
256
  * Find the closest compatible connection to this connection.
273
257
  * All parameters are in workspace units.
274
- * @param {number} maxLimit The maximum radius to another connection.
275
- * @param {!Coordinate} dxy Offset between this connection's location
276
- * in the database and the current location (as a result of dragging).
277
- * @return {!{connection: ?Connection, radius: number}} Contains two
278
- * properties: 'connection' which is either another connection or null,
279
- * and 'radius' which is the distance.
258
+ * @param maxLimit The maximum radius to another connection.
259
+ * @param dxy Offset between this connection's location in the database and
260
+ * the current location (as a result of dragging).
261
+ * @return Contains two properties: 'connection' which is either another
262
+ * connection or null, and 'radius' which is the distance.
280
263
  */
281
- closest(maxLimit, dxy) {
264
+ closest(maxLimit: number, dxy: Coordinate):
265
+ {connection: RenderedConnection|null, radius: number} {
282
266
  return this.dbOpposite_.searchForClosest(this, maxLimit, dxy);
283
267
  }
284
268
 
285
- /**
286
- * Add highlighting around this connection.
287
- */
269
+ /** Add highlighting around this connection. */
288
270
  highlight() {
289
271
  let steps;
290
- const sourceBlockSvg = /** @type {!BlockSvg} */ (this.sourceBlock_);
272
+ const sourceBlockSvg = (this.sourceBlock_);
291
273
  const renderConstants =
292
274
  sourceBlockSvg.workspace.getRenderer().getConstants();
293
275
  const shape = renderConstants.shapeFor(this);
@@ -296,18 +278,22 @@ class RenderedConnection extends Connection {
296
278
  // Vertical line, puzzle tab, vertical line.
297
279
  const yLen = renderConstants.TAB_OFFSET_FROM_TOP;
298
280
  steps = svgPaths.moveBy(0, -yLen) + svgPaths.lineOnAxis('v', yLen) +
299
- shape.pathDown + svgPaths.lineOnAxis('v', yLen);
281
+ (shape as unknown as PathDownShape).pathDown +
282
+ svgPaths.lineOnAxis('v', yLen);
300
283
  } else {
301
284
  const xLen =
302
285
  renderConstants.NOTCH_OFFSET_LEFT - renderConstants.CORNER_RADIUS;
303
286
  // Horizontal line, notch, horizontal line.
304
287
  steps = svgPaths.moveBy(-xLen, 0) + svgPaths.lineOnAxis('h', xLen) +
305
- shape.pathLeft + svgPaths.lineOnAxis('h', xLen);
288
+ (shape as unknown as PathLeftShape).pathLeft +
289
+ svgPaths.lineOnAxis('h', xLen);
306
290
  }
307
291
  const xy = this.sourceBlock_.getRelativeToSurfaceXY();
308
292
  const x = this.x - xy.x;
309
293
  const y = this.y - xy.y;
310
- Connection.highlightedPath_ = dom.createSvgElement(
294
+ // AnyDuringMigration because: Property 'highlightedPath_' does not exist
295
+ // on type 'typeof Connection'.
296
+ (Connection as AnyDuringMigration).highlightedPath_ = dom.createSvgElement(
311
297
  Svg.PATH, {
312
298
  'class': 'blocklyHighlightedConnectionPath',
313
299
  'd': steps,
@@ -317,25 +303,26 @@ class RenderedConnection extends Connection {
317
303
  this.sourceBlock_.getSvgRoot());
318
304
  }
319
305
 
320
- /**
321
- * Remove the highlighting around this connection.
322
- */
306
+ /** Remove the highlighting around this connection. */
323
307
  unhighlight() {
324
- dom.removeNode(Connection.highlightedPath_);
325
- delete Connection.highlightedPath_;
308
+ // AnyDuringMigration because: Property 'highlightedPath_' does not exist
309
+ // on type 'typeof Connection'.
310
+ dom.removeNode((Connection as AnyDuringMigration).highlightedPath_);
311
+ // AnyDuringMigration because: Property 'highlightedPath_' does not exist
312
+ // on type 'typeof Connection'.
313
+ delete (Connection as AnyDuringMigration).highlightedPath_;
326
314
  }
327
315
 
328
316
  /**
329
317
  * Set whether this connections is tracked in the database or not.
330
- * @param {boolean} doTracking If true, start tracking. If false, stop
331
- * tracking.
332
- * @package
318
+ * @param doTracking If true, start tracking. If false, stop tracking.
319
+ * @internal
333
320
  */
334
- setTracking(doTracking) {
335
- if ((doTracking &&
336
- this.trackedState_ === RenderedConnection.TrackedState.TRACKED) ||
337
- (!doTracking &&
338
- this.trackedState_ === RenderedConnection.TrackedState.UNTRACKED)) {
321
+ setTracking(doTracking: boolean) {
322
+ if (doTracking &&
323
+ this.trackedState_ === RenderedConnection.TrackedState.TRACKED ||
324
+ !doTracking &&
325
+ this.trackedState_ === RenderedConnection.TrackedState.UNTRACKED) {
339
326
  return;
340
327
  }
341
328
  if (this.sourceBlock_.isInFlyout) {
@@ -359,19 +346,18 @@ class RenderedConnection extends Connection {
359
346
  * collapsed.
360
347
  *
361
348
  * Also closes down-stream icons/bubbles.
362
- * @package
349
+ * @internal
363
350
  */
364
351
  stopTrackingAll() {
365
352
  this.setTracking(false);
366
353
  if (this.targetConnection) {
367
- const blocks = this.targetBlock().getDescendants(false);
354
+ const blocks = this.targetBlock()!.getDescendants(false);
368
355
  for (let i = 0; i < blocks.length; i++) {
369
356
  const block = blocks[i];
370
357
  // Stop tracking connections of all children.
371
358
  const connections = block.getConnections_(true);
372
359
  for (let j = 0; j < connections.length; j++) {
373
- /** @type {!RenderedConnection} */ (connections[j])
374
- .setTracking(false);
360
+ (connections[j]).setTracking(false);
375
361
  }
376
362
  // Close all bubbles of all children.
377
363
  const icons = block.getIcons();
@@ -386,15 +372,15 @@ class RenderedConnection extends Connection {
386
372
  * Start tracking this connection, as well as all down-stream connections on
387
373
  * any block attached to this connection. This happens when a block is
388
374
  * expanded.
389
- * @return {!Array<!Block>} List of blocks to render.
375
+ * @return List of blocks to render.
390
376
  */
391
- startTrackingAll() {
377
+ startTrackingAll(): Block[] {
392
378
  this.setTracking(true);
393
379
  // All blocks that are not tracked must start tracking before any
394
380
  // rendering takes place, since rendering requires knowing the dimensions
395
381
  // of lower blocks. Also, since rendering a block renders all its parents,
396
382
  // we only need to render the leaf nodes.
397
- let renderList = [];
383
+ let renderList: AnyDuringMigration[] = [];
398
384
  if (this.type !== ConnectionType.INPUT_VALUE &&
399
385
  this.type !== ConnectionType.NEXT_STATEMENT) {
400
386
  // Only spider down.
@@ -428,19 +414,18 @@ class RenderedConnection extends Connection {
428
414
  * Behavior after a connection attempt fails.
429
415
  * Bumps this connection away from the other connection. Called when an
430
416
  * attempted connection fails.
431
- * @param {!Connection} otherConnection Connection that this connection
432
- * failed to connect to.
433
- * @package
417
+ * @param otherConnection Connection that this connection failed to connect
418
+ * to.
419
+ * @internal
434
420
  */
435
- onFailedConnect(otherConnection) {
421
+ override onFailedConnect(otherConnection: Connection) {
436
422
  const block = this.getSourceBlock();
437
423
  if (eventUtils.getRecordUndo()) {
438
424
  const group = eventUtils.getGroup();
439
- setTimeout(function() {
425
+ setTimeout(function(this: RenderedConnection) {
440
426
  if (!block.isDisposed() && !block.getParent()) {
441
427
  eventUtils.setGroup(group);
442
- this.bumpAwayFrom(
443
- /** @type {!RenderedConnection} */ (otherConnection));
428
+ this.bumpAwayFrom(otherConnection as RenderedConnection);
444
429
  eventUtils.setGroup(false);
445
430
  }
446
431
  }.bind(this), config.bumpDelay);
@@ -449,16 +434,14 @@ class RenderedConnection extends Connection {
449
434
 
450
435
  /**
451
436
  * Disconnect two blocks that are connected by this connection.
452
- * @param {!Block} parentBlock The superior block.
453
- * @param {!Block} childBlock The inferior block.
454
- * @protected
455
- * @override
437
+ * @param parentBlock The superior block.
438
+ * @param childBlock The inferior block.
456
439
  */
457
- disconnectInternal_(parentBlock, childBlock) {
440
+ protected override disconnectInternal_(
441
+ parentBlock: Block, childBlock: Block) {
458
442
  super.disconnectInternal_(parentBlock, childBlock);
459
- const renderedParent = /** @type {!BlockSvg} */ (parentBlock);
460
- const renderedChild = /** @type {!BlockSvg} */ (childBlock);
461
-
443
+ const renderedParent = parentBlock as BlockSvg;
444
+ const renderedChild = childBlock as BlockSvg;
462
445
  // Rerender the parent so that it may reflow.
463
446
  if (renderedParent.rendered) {
464
447
  renderedParent.render();
@@ -474,10 +457,8 @@ class RenderedConnection extends Connection {
474
457
  /**
475
458
  * Respawn the shadow block if there was one connected to the this connection.
476
459
  * Render/rerender blocks as needed.
477
- * @protected
478
- * @override
479
460
  */
480
- respawnShadow_() {
461
+ protected override respawnShadow_() {
481
462
  super.respawnShadow_();
482
463
  const blockShadow = this.targetBlock();
483
464
  if (!blockShadow) {
@@ -495,26 +476,24 @@ class RenderedConnection extends Connection {
495
476
  /**
496
477
  * Find all nearby compatible connections to this connection.
497
478
  * Type checking does not apply, since this function is used for bumping.
498
- * @param {number} maxLimit The maximum radius to another connection, in
499
- * workspace units.
500
- * @return {!Array<!Connection>} List of connections.
501
- * @package
479
+ * @param maxLimit The maximum radius to another connection, in workspace
480
+ * units.
481
+ * @return List of connections.
482
+ * @internal
502
483
  */
503
- neighbours(maxLimit) {
484
+ override neighbours(maxLimit: number): Connection[] {
504
485
  return this.dbOpposite_.getNeighbours(this, maxLimit);
505
486
  }
506
487
 
507
488
  /**
508
489
  * Connect two connections together. This is the connection on the superior
509
490
  * block. Rerender blocks as needed.
510
- * @param {!Connection} childConnection Connection on inferior block.
511
- * @protected
491
+ * @param childConnection Connection on inferior block.
512
492
  */
513
- connect_(childConnection) {
493
+ protected override connect_(childConnection: Connection) {
514
494
  super.connect_(childConnection);
515
495
 
516
- const renderedChildConnection = /** @type {!RenderedConnection} */
517
- (childConnection);
496
+ const renderedChildConnection = childConnection as RenderedConnection;
518
497
 
519
498
  const parentConnection = this;
520
499
  const parentBlock = parentConnection.getSourceBlock();
@@ -551,38 +530,39 @@ class RenderedConnection extends Connection {
551
530
 
552
531
  /**
553
532
  * Function to be called when this connection's compatible types have changed.
554
- * @protected
555
533
  */
556
- onCheckChanged_() {
534
+ protected override onCheckChanged_() {
557
535
  // The new value type may not be compatible with the existing connection.
558
536
  if (this.isConnected() &&
559
537
  (!this.targetConnection ||
560
538
  !this.getConnectionChecker().canConnect(
561
539
  this, this.targetConnection, false))) {
562
540
  const child = this.isSuperior() ? this.targetBlock() : this.sourceBlock_;
563
- child.unplug();
541
+ child!.unplug();
564
542
  // Bump away.
565
543
  this.sourceBlock_.bumpNeighbours();
566
544
  }
567
545
  }
568
546
  }
569
547
 
570
- /**
571
- * Enum for different kinds of tracked states.
572
- *
573
- * WILL_TRACK means that this connection will add itself to
574
- * the db on the next moveTo call it receives.
575
- *
576
- * UNTRACKED means that this connection will not add
577
- * itself to the database until setTracking(true) is explicitly called.
578
- *
579
- * TRACKED means that this connection is currently being tracked.
580
- * @enum {number}
581
- */
582
- RenderedConnection.TrackedState = {
583
- WILL_TRACK: -1,
584
- UNTRACKED: 0,
585
- TRACKED: 1,
586
- };
548
+ export namespace RenderedConnection {
549
+ /**
550
+ * Enum for different kinds of tracked states.
551
+ *
552
+ * WILL_TRACK means that this connection will add itself to
553
+ * the db on the next moveTo call it receives.
554
+ *
555
+ * UNTRACKED means that this connection will not add
556
+ * itself to the database until setTracking(true) is explicitly called.
557
+ *
558
+ * TRACKED means that this connection is currently being tracked.
559
+ */
560
+ export enum TrackedState {
561
+ WILL_TRACK = -1,
562
+ UNTRACKED = 0,
563
+ TRACKED = 1,
564
+ }
565
+ }
587
566
 
588
- exports.RenderedConnection = RenderedConnection;
567
+ export type TrackedState = RenderedConnection.TrackedState;
568
+ export const TrackedState = RenderedConnection.TrackedState;