blockly 8.0.4 → 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 +420 -420
  609. package/msg/ace.js +420 -420
  610. package/msg/af.js +420 -420
  611. package/msg/am.js +420 -420
  612. package/msg/ar.js +420 -420
  613. package/msg/ast.js +420 -420
  614. package/msg/az.js +420 -420
  615. package/msg/ba.js +420 -420
  616. package/msg/bcc.js +420 -420
  617. package/msg/be-tarask.js +420 -420
  618. package/msg/be.js +420 -420
  619. package/msg/bg.js +420 -420
  620. package/msg/bn.js +420 -420
  621. package/msg/br.js +420 -420
  622. package/msg/bs.js +420 -420
  623. package/msg/ca.js +420 -420
  624. package/msg/cdo.js +420 -420
  625. package/msg/cs.js +420 -420
  626. package/msg/da.js +420 -420
  627. package/msg/de.js +420 -420
  628. package/msg/diq.js +420 -420
  629. package/msg/dty.js +420 -420
  630. package/msg/ee.js +420 -420
  631. package/msg/el.js +420 -420
  632. package/msg/en-gb.js +420 -420
  633. package/msg/en.js +420 -420
  634. package/msg/eo.js +420 -420
  635. package/msg/es.js +420 -420
  636. package/msg/et.js +420 -420
  637. package/msg/eu.js +420 -420
  638. package/msg/fa.js +420 -420
  639. package/msg/fi.js +420 -420
  640. package/msg/fo.js +420 -420
  641. package/msg/fr.js +420 -420
  642. package/msg/frr.js +420 -420
  643. package/msg/gl.js +420 -420
  644. package/msg/gn.js +420 -420
  645. package/msg/gor.js +420 -420
  646. package/msg/ha.js +420 -420
  647. package/msg/hak.js +420 -420
  648. package/msg/he.js +420 -420
  649. package/msg/hi.js +420 -420
  650. package/msg/hr.js +420 -420
  651. package/msg/hrx.js +420 -420
  652. package/msg/hu.js +420 -420
  653. package/msg/hy.js +420 -420
  654. package/msg/ia.js +420 -420
  655. package/msg/id.js +420 -420
  656. package/msg/ig.js +420 -420
  657. package/msg/inh.js +420 -420
  658. package/msg/is.js +420 -420
  659. package/msg/it.js +420 -420
  660. package/msg/ja.js +420 -420
  661. package/msg/ka.js +420 -420
  662. package/msg/kab.js +420 -420
  663. package/msg/kbd-cyrl.js +420 -420
  664. package/msg/km.js +420 -420
  665. package/msg/kn.js +420 -420
  666. package/msg/ko.js +420 -420
  667. package/msg/ksh.js +420 -420
  668. package/msg/ku-latn.js +420 -420
  669. package/msg/ky.js +420 -420
  670. package/msg/la.js +420 -420
  671. package/msg/lb.js +420 -420
  672. package/msg/lki.js +420 -420
  673. package/msg/lo.js +420 -420
  674. package/msg/lrc.js +420 -420
  675. package/msg/lt.js +420 -420
  676. package/msg/lv.js +420 -420
  677. package/msg/mg.js +420 -420
  678. package/msg/mk.js +420 -420
  679. package/msg/ml.js +420 -420
  680. package/msg/mnw.js +420 -420
  681. package/msg/ms.js +420 -420
  682. package/msg/my.js +420 -420
  683. package/msg/mzn.js +420 -420
  684. package/msg/nb.js +420 -420
  685. package/msg/ne.js +420 -420
  686. package/msg/nl.js +420 -420
  687. package/msg/oc.js +420 -420
  688. package/msg/olo.js +420 -420
  689. package/msg/pa.js +420 -420
  690. package/msg/pl.js +420 -420
  691. package/msg/pms.js +420 -420
  692. package/msg/ps.js +420 -420
  693. package/msg/pt-br.js +420 -420
  694. package/msg/pt.js +420 -420
  695. package/msg/ro.js +420 -420
  696. package/msg/ru.js +420 -420
  697. package/msg/sc.js +420 -420
  698. package/msg/sco.js +420 -420
  699. package/msg/sd.js +420 -420
  700. package/msg/shn.js +420 -420
  701. package/msg/si.js +420 -420
  702. package/msg/sk.js +420 -420
  703. package/msg/skr-arab.js +420 -420
  704. package/msg/sl.js +420 -420
  705. package/msg/smn.js +420 -420
  706. package/msg/sq.js +420 -420
  707. package/msg/sr-latn.js +420 -420
  708. package/msg/sr.js +420 -420
  709. package/msg/sv.js +420 -420
  710. package/msg/sw.js +420 -420
  711. package/msg/ta.js +420 -420
  712. package/msg/tcy.js +420 -420
  713. package/msg/te.js +420 -420
  714. package/msg/th.js +420 -420
  715. package/msg/ti.js +420 -420
  716. package/msg/tl.js +420 -420
  717. package/msg/tlh.js +420 -420
  718. package/msg/tr.js +420 -420
  719. package/msg/ug-arab.js +420 -420
  720. package/msg/uk.js +420 -420
  721. package/msg/ur.js +420 -420
  722. package/msg/uz.js +420 -420
  723. package/msg/vi.js +420 -420
  724. package/msg/xmf.js +420 -420
  725. package/msg/yo.js +420 -420
  726. package/msg/yue.js +420 -420
  727. package/msg/zgh.js +420 -420
  728. package/msg/zh-hans.js +420 -420
  729. package/msg/zh-hant.js +420 -420
  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,165 +7,152 @@
7
7
  /**
8
8
  * @fileoverview Class that controls updates to connections during drags.
9
9
  */
10
- 'use strict';
11
10
 
12
11
  /**
13
12
  * Class that controls updates to connections during drags.
14
13
  * @class
15
14
  */
16
- goog.module('Blockly.InsertionMarkerManager');
17
-
18
- const blockAnimations = goog.require('Blockly.blockAnimations');
19
- const common = goog.require('Blockly.common');
20
- const constants = goog.require('Blockly.constants');
21
- const eventUtils = goog.require('Blockly.Events.utils');
22
- /* eslint-disable-next-line no-unused-vars */
23
- const {BlockSvg} = goog.requireType('Blockly.BlockSvg');
24
- const {ComponentManager} = goog.require('Blockly.ComponentManager');
25
- const {config} = goog.require('Blockly.config');
26
- const {ConnectionType} = goog.require('Blockly.ConnectionType');
27
- /* eslint-disable-next-line no-unused-vars */
28
- const {Coordinate} = goog.requireType('Blockly.utils.Coordinate');
29
- /* eslint-disable-next-line no-unused-vars */
30
- const {IDeleteArea} = goog.requireType('Blockly.IDeleteArea');
31
- /* eslint-disable-next-line no-unused-vars */
32
- const {IDragTarget} = goog.requireType('Blockly.IDragTarget');
33
- /* eslint-disable-next-line no-unused-vars */
34
- const {RenderedConnection} = goog.requireType('Blockly.RenderedConnection');
35
- /* eslint-disable-next-line no-unused-vars */
36
- const {WorkspaceSvg} = goog.requireType('Blockly.WorkspaceSvg');
37
-
15
+ import * as goog from '../closure/goog/goog.js';
16
+ goog.declareModuleId('Blockly.InsertionMarkerManager');
17
+
18
+ import * as blockAnimations from './block_animations.js';
19
+ import type {BlockSvg} from './block_svg.js';
20
+ import * as common from './common.js';
21
+ import {ComponentManager} from './component_manager.js';
22
+ import {config} from './config.js';
23
+ import {ConnectionType} from './connection_type.js';
24
+ import * as constants from './constants.js';
25
+ import * as eventUtils from './events/utils.js';
26
+ import type {IDeleteArea} from './interfaces/i_delete_area.js';
27
+ import type {IDragTarget} from './interfaces/i_drag_target.js';
28
+ import type {RenderedConnection} from './rendered_connection.js';
29
+ import type {Coordinate} from './utils/coordinate.js';
30
+ import type {WorkspaceSvg} from './workspace_svg.js';
31
+
32
+
33
+ /** Represents a nearby valid connection. */
34
+ interface CandidateConnection {
35
+ closest: RenderedConnection|null;
36
+ local: RenderedConnection|null;
37
+ radius: number;
38
+ }
38
39
 
39
40
  /**
40
41
  * An error message to throw if the block created by createMarkerBlock_ is
41
42
  * missing any components.
42
- * @type {string}
43
- * @const
44
43
  */
45
44
  const DUPLICATE_BLOCK_ERROR = 'The insertion marker ' +
46
45
  'manager tried to create a marker but the result is missing %1. If ' +
47
46
  'you are using a mutator, make sure your domToMutation method is ' +
48
47
  'properly defined.';
49
48
 
50
-
51
49
  /**
52
50
  * Class that controls updates to connections during drags. It is primarily
53
51
  * responsible for finding the closest eligible connection and highlighting or
54
52
  * unhighlighting it as needed during a drag.
55
53
  * @alias Blockly.InsertionMarkerManager
56
54
  */
57
- class InsertionMarkerManager {
55
+ export class InsertionMarkerManager {
56
+ private readonly topBlock_: BlockSvg;
57
+ private readonly workspace_: WorkspaceSvg;
58
+
59
+ /**
60
+ * The last connection on the stack, if it's not the last connection on the
61
+ * first block.
62
+ * Set in initAvailableConnections, if at all.
63
+ */
64
+ // AnyDuringMigration because: Type 'null' is not assignable to type
65
+ // 'RenderedConnection'.
66
+ private lastOnStack_: RenderedConnection = null as AnyDuringMigration;
67
+
68
+ /**
69
+ * The insertion marker corresponding to the last block in the stack, if
70
+ * that's not the same as the first block in the stack.
71
+ * Set in initAvailableConnections, if at all
72
+ */
73
+ // AnyDuringMigration because: Type 'null' is not assignable to type
74
+ // 'BlockSvg'.
75
+ private lastMarker_: BlockSvg = null as AnyDuringMigration;
76
+ private firstMarker_: BlockSvg;
77
+
78
+ /**
79
+ * The connection that this block would connect to if released immediately.
80
+ * Updated on every mouse move.
81
+ * This is not on any of the blocks that are being dragged.
82
+ */
83
+ // AnyDuringMigration because: Type 'null' is not assignable to type
84
+ // 'RenderedConnection'.
85
+ private closestConnection_: RenderedConnection = null as AnyDuringMigration;
86
+
87
+ /**
88
+ * The connection that would connect to this.closestConnection_ if this
89
+ * block were released immediately. Updated on every mouse move. This is on
90
+ * the top block that is being dragged or the last block in the dragging
91
+ * stack.
92
+ */
93
+ // AnyDuringMigration because: Type 'null' is not assignable to type
94
+ // 'RenderedConnection'.
95
+ private localConnection_: RenderedConnection = null as AnyDuringMigration;
96
+
58
97
  /**
59
- * @param {!BlockSvg} block The top block in the stack being dragged.
98
+ * Whether the block would be deleted if it were dropped immediately.
99
+ * Updated on every mouse move.
60
100
  */
61
- constructor(block) {
101
+ private wouldDeleteBlock_ = false;
102
+
103
+ /**
104
+ * Connection on the insertion marker block that corresponds to
105
+ * this.localConnection_ on the currently dragged block.
106
+ */
107
+ // AnyDuringMigration because: Type 'null' is not assignable to type
108
+ // 'RenderedConnection'.
109
+ private markerConnection_: RenderedConnection = null as AnyDuringMigration;
110
+
111
+ /** The block that currently has an input being highlighted, or null. */
112
+ // AnyDuringMigration because: Type 'null' is not assignable to type
113
+ // 'BlockSvg'.
114
+ private highlightedBlock_: BlockSvg = null as AnyDuringMigration;
115
+
116
+ /** The block being faded to indicate replacement, or null. */
117
+ // AnyDuringMigration because: Type 'null' is not assignable to type
118
+ // 'BlockSvg'.
119
+ private fadedBlock_: BlockSvg = null as AnyDuringMigration;
120
+ private availableConnections_: RenderedConnection[];
121
+
122
+ /** @param block The top block in the stack being dragged. */
123
+ constructor(block: BlockSvg) {
62
124
  common.setSelected(block);
63
125
 
64
126
  /**
65
127
  * The top block in the stack being dragged.
66
128
  * Does not change during a drag.
67
- * @type {!BlockSvg}
68
- * @private
69
129
  */
70
130
  this.topBlock_ = block;
71
131
 
72
132
  /**
73
133
  * The workspace on which these connections are being dragged.
74
134
  * Does not change during a drag.
75
- * @type {!WorkspaceSvg}
76
- * @private
77
135
  */
78
136
  this.workspace_ = block.workspace;
79
137
 
80
- /**
81
- * The last connection on the stack, if it's not the last connection on the
82
- * first block.
83
- * Set in initAvailableConnections, if at all.
84
- * @type {RenderedConnection}
85
- * @private
86
- */
87
- this.lastOnStack_ = null;
88
-
89
- /**
90
- * The insertion marker corresponding to the last block in the stack, if
91
- * that's not the same as the first block in the stack.
92
- * Set in initAvailableConnections, if at all
93
- * @type {BlockSvg}
94
- * @private
95
- */
96
- this.lastMarker_ = null;
97
-
98
138
  /**
99
139
  * The insertion marker that shows up between blocks to show where a block
100
140
  * would go if dropped immediately.
101
- * @type {BlockSvg}
102
- * @private
103
141
  */
104
142
  this.firstMarker_ = this.createMarkerBlock_(this.topBlock_);
105
143
 
106
- /**
107
- * The connection that this block would connect to if released immediately.
108
- * Updated on every mouse move.
109
- * This is not on any of the blocks that are being dragged.
110
- * @type {RenderedConnection}
111
- * @private
112
- */
113
- this.closestConnection_ = null;
114
-
115
- /**
116
- * The connection that would connect to this.closestConnection_ if this
117
- * block were released immediately. Updated on every mouse move. This is on
118
- * the top block that is being dragged or the last block in the dragging
119
- * stack.
120
- * @type {RenderedConnection}
121
- * @private
122
- */
123
- this.localConnection_ = null;
124
-
125
- /**
126
- * Whether the block would be deleted if it were dropped immediately.
127
- * Updated on every mouse move.
128
- * @type {boolean}
129
- * @private
130
- */
131
- this.wouldDeleteBlock_ = false;
132
-
133
- /**
134
- * Connection on the insertion marker block that corresponds to
135
- * this.localConnection_ on the currently dragged block.
136
- * @type {RenderedConnection}
137
- * @private
138
- */
139
- this.markerConnection_ = null;
140
-
141
- /**
142
- * The block that currently has an input being highlighted, or null.
143
- * @type {BlockSvg}
144
- * @private
145
- */
146
- this.highlightedBlock_ = null;
147
-
148
- /**
149
- * The block being faded to indicate replacement, or null.
150
- * @type {BlockSvg}
151
- * @private
152
- */
153
- this.fadedBlock_ = null;
154
-
155
144
  /**
156
145
  * The connections on the dragging blocks that are available to connect to
157
146
  * other blocks. This includes all open connections on the top block, as
158
147
  * well as the last connection on the block stack. Does not change during a
159
148
  * drag.
160
- * @type {!Array<!RenderedConnection>}
161
- * @private
162
149
  */
163
150
  this.availableConnections_ = this.initAvailableConnections_();
164
151
  }
165
152
 
166
153
  /**
167
154
  * Sever all links from this object.
168
- * @package
155
+ * @internal
169
156
  */
170
157
  dispose() {
171
158
  this.availableConnections_.length = 0;
@@ -186,7 +173,7 @@ class InsertionMarkerManager {
186
173
  /**
187
174
  * Update the available connections for the top block. These connections can
188
175
  * change if a block is unplugged and the stack is healed.
189
- * @package
176
+ * @internal
190
177
  */
191
178
  updateAvailableConnections() {
192
179
  this.availableConnections_ = this.initAvailableConnections_();
@@ -195,29 +182,27 @@ class InsertionMarkerManager {
195
182
  /**
196
183
  * Return whether the block would be deleted if dropped immediately, based on
197
184
  * information from the most recent move event.
198
- * @return {boolean} True if the block would be deleted if dropped
199
- * immediately.
200
- * @package
185
+ * @return True if the block would be deleted if dropped immediately.
186
+ * @internal
201
187
  */
202
- wouldDeleteBlock() {
188
+ wouldDeleteBlock(): boolean {
203
189
  return this.wouldDeleteBlock_;
204
190
  }
205
191
 
206
192
  /**
207
193
  * Return whether the block would be connected if dropped immediately, based
208
194
  * on information from the most recent move event.
209
- * @return {boolean} True if the block would be connected if dropped
210
- * immediately.
211
- * @package
195
+ * @return True if the block would be connected if dropped immediately.
196
+ * @internal
212
197
  */
213
- wouldConnectBlock() {
198
+ wouldConnectBlock(): boolean {
214
199
  return !!this.closestConnection_;
215
200
  }
216
201
 
217
202
  /**
218
203
  * Connect to the closest connection and render the results.
219
204
  * This should be called at the end of a drag.
220
- * @package
205
+ * @internal
221
206
  */
222
207
  applyConnections() {
223
208
  if (this.closestConnection_) {
@@ -226,7 +211,10 @@ class InsertionMarkerManager {
226
211
  this.hidePreview_();
227
212
  eventUtils.enable();
228
213
  // Connect two blocks together.
229
- this.localConnection_.connect(this.closestConnection_);
214
+ // AnyDuringMigration because: Argument of type 'RenderedConnection' is
215
+ // not assignable to parameter of type 'Connection'.
216
+ this.localConnection_.connect(
217
+ this.closestConnection_ as AnyDuringMigration);
230
218
  if (this.topBlock_.rendered) {
231
219
  // Trigger a connection animation.
232
220
  // Determine which connection is inferior (lower in the source stack).
@@ -243,13 +231,11 @@ class InsertionMarkerManager {
243
231
 
244
232
  /**
245
233
  * Update connections based on the most recent move location.
246
- * @param {!Coordinate} dxy Position relative to drag start,
247
- * in workspace units.
248
- * @param {?IDragTarget} dragTarget The drag target that the block is
249
- * currently over.
250
- * @package
234
+ * @param dxy Position relative to drag start, in workspace units.
235
+ * @param dragTarget The drag target that the block is currently over.
236
+ * @internal
251
237
  */
252
- update(dxy, dragTarget) {
238
+ update(dxy: Coordinate, dragTarget: IDragTarget|null) {
253
239
  const candidate = this.getCandidate_(dxy);
254
240
 
255
241
  this.wouldDeleteBlock_ = this.shouldDelete_(candidate, dragTarget);
@@ -268,28 +254,25 @@ class InsertionMarkerManager {
268
254
 
269
255
  /**
270
256
  * Create an insertion marker that represents the given block.
271
- * @param {!BlockSvg} sourceBlock The block that the insertion marker
272
- * will represent.
273
- * @return {!BlockSvg} The insertion marker that represents the given
274
- * block.
275
- * @private
257
+ * @param sourceBlock The block that the insertion marker will represent.
258
+ * @return The insertion marker that represents the given block.
276
259
  */
277
- createMarkerBlock_(sourceBlock) {
260
+ private createMarkerBlock_(sourceBlock: BlockSvg): BlockSvg {
278
261
  const imType = sourceBlock.type;
279
262
 
280
263
  eventUtils.disable();
281
- let result;
264
+ let result: BlockSvg;
282
265
  try {
283
266
  result = this.workspace_.newBlock(imType);
284
267
  result.setInsertionMarker(true);
285
268
  if (sourceBlock.saveExtraState) {
286
269
  const state = sourceBlock.saveExtraState();
287
- if (state) {
270
+ if (state && result.loadExtraState) {
288
271
  result.loadExtraState(state);
289
272
  }
290
273
  } else if (sourceBlock.mutationToDom) {
291
274
  const oldMutationDom = sourceBlock.mutationToDom();
292
- if (oldMutationDom) {
275
+ if (oldMutationDom && result.domToMutation) {
293
276
  result.domToMutation(oldMutationDom);
294
277
  }
295
278
  }
@@ -332,11 +315,9 @@ class InsertionMarkerManager {
332
315
  * should only be called once, at the beginning of a drag. If the stack has
333
316
  * more than one block, this function will populate lastOnStack_ and create
334
317
  * the corresponding insertion marker.
335
- * @return {!Array<!RenderedConnection>} A list of available
336
- * connections.
337
- * @private
318
+ * @return A list of available connections.
338
319
  */
339
- initAvailableConnections_() {
320
+ private initAvailableConnections_(): RenderedConnection[] {
340
321
  const available = this.topBlock_.getConnections_(false);
341
322
  // Also check the last connection on this stack
342
323
  const lastOnStack = this.topBlock_.lastConnectionInStack(true);
@@ -359,14 +340,13 @@ class InsertionMarkerManager {
359
340
  /**
360
341
  * Whether the previews (insertion marker and replacement marker) should be
361
342
  * updated based on the closest candidate and the current drag distance.
362
- * @param {!Object} candidate An object containing a local connection, a
363
- * closest connection, and a radius. Returned by getCandidate_.
364
- * @param {!Coordinate} dxy Position relative to drag start,
365
- * in workspace units.
366
- * @return {boolean} Whether the preview should be updated.
367
- * @private
343
+ * @param candidate An object containing a local connection, a closest
344
+ * connection, and a radius. Returned by getCandidate_.
345
+ * @param dxy Position relative to drag start, in workspace units.
346
+ * @return Whether the preview should be updated.
368
347
  */
369
- shouldUpdatePreviews_(candidate, dxy) {
348
+ private shouldUpdatePreviews_(
349
+ candidate: CandidateConnection, dxy: Coordinate): boolean {
370
350
  const candidateLocal = candidate.local;
371
351
  const candidateClosest = candidate.closest;
372
352
  const radius = candidate.radius;
@@ -410,13 +390,11 @@ class InsertionMarkerManager {
410
390
  /**
411
391
  * Find the nearest valid connection, which may be the same as the current
412
392
  * closest connection.
413
- * @param {!Coordinate} dxy Position relative to drag start,
414
- * in workspace units.
415
- * @return {!Object} An object containing a local connection, a closest
416
- * connection, and a radius.
417
- * @private
393
+ * @param dxy Position relative to drag start, in workspace units.
394
+ * @return An object containing a local connection, a closest connection, and
395
+ * a radius.
418
396
  */
419
- getCandidate_(dxy) {
397
+ private getCandidate_(dxy: Coordinate): CandidateConnection {
420
398
  let radius = this.getStartRadius_();
421
399
  let candidateClosest = null;
422
400
  let candidateLocal = null;
@@ -441,16 +419,14 @@ class InsertionMarkerManager {
441
419
  radius = neighbour.radius;
442
420
  }
443
421
  }
444
- return {closest: candidateClosest, local: candidateLocal, radius: radius};
422
+ return {closest: candidateClosest, local: candidateLocal, radius};
445
423
  }
446
424
 
447
425
  /**
448
426
  * Decide the radius at which to start searching for the closest connection.
449
- * @return {number} The radius at which to start the search for the closest
450
- * connection.
451
- * @private
427
+ * @return The radius at which to start the search for the closest connection.
452
428
  */
453
- getStartRadius_() {
429
+ private getStartRadius_(): number {
454
430
  // If there is already a connection highlighted,
455
431
  // increase the radius we check for making new connections.
456
432
  // Why? When a connection is highlighted, blocks move around when the
@@ -465,23 +441,19 @@ class InsertionMarkerManager {
465
441
 
466
442
  /**
467
443
  * Whether ending the drag would delete the block.
468
- * @param {!Object} candidate An object containing a local connection, a
469
- * closest
470
- * connection, and a radius.
471
- * @param {?IDragTarget} dragTarget The drag target that the block is
472
- * currently over.
473
- * @return {boolean} Whether dropping the block immediately would delete the
474
- * block.
475
- * @private
444
+ * @param candidate An object containing a local connection, a closest
445
+ * connection, and a radius.
446
+ * @param dragTarget The drag target that the block is currently over.
447
+ * @return Whether dropping the block immediately would delete the block.
476
448
  */
477
- shouldDelete_(candidate, dragTarget) {
449
+ private shouldDelete_(
450
+ candidate: CandidateConnection, dragTarget: IDragTarget|null): boolean {
478
451
  if (dragTarget) {
479
452
  const componentManager = this.workspace_.getComponentManager();
480
453
  const isDeleteArea = componentManager.hasCapability(
481
454
  dragTarget.id, ComponentManager.Capability.DELETE_AREA);
482
455
  if (isDeleteArea) {
483
- return (
484
- /** @type {!IDeleteArea} */ (dragTarget))
456
+ return (dragTarget as IDeleteArea)
485
457
  .wouldDelete(this.topBlock_, candidate && !!candidate.closest);
486
458
  }
487
459
  }
@@ -493,11 +465,10 @@ class InsertionMarkerManager {
493
465
  * needed.
494
466
  * At the beginning of this function, this.localConnection_ and
495
467
  * this.closestConnection_ should both be null.
496
- * @param {!Object} candidate An object containing a local connection, a
497
- * closest connection, and a radius.
498
- * @private
468
+ * @param candidate An object containing a local connection, a closest
469
+ * connection, and a radius.
499
470
  */
500
- maybeShowPreview_(candidate) {
471
+ private maybeShowPreview_(candidate: CandidateConnection) {
501
472
  // Nope, don't add a marker.
502
473
  if (this.wouldDeleteBlock_) {
503
474
  return;
@@ -519,22 +490,21 @@ class InsertionMarkerManager {
519
490
  }
520
491
  // Add an insertion marker or replacement marker.
521
492
  this.closestConnection_ = closest;
522
- this.localConnection_ = local;
493
+ // AnyDuringMigration because: Type 'RenderedConnection | null' is not
494
+ // assignable to type 'RenderedConnection'.
495
+ this.localConnection_ = local as AnyDuringMigration;
523
496
  this.showPreview_();
524
497
  }
525
498
 
526
499
  /**
527
500
  * A preview should be shown. This function figures out if it should be a
528
501
  * block highlight or an insertion marker, and shows the appropriate one.
529
- * @private
530
502
  */
531
- showPreview_() {
503
+ private showPreview_() {
532
504
  const closest = this.closestConnection_;
533
505
  const renderer = this.workspace_.getRenderer();
534
506
  const method = renderer.getConnectionPreviewMethod(
535
- /** @type {!RenderedConnection} */ (closest),
536
- /** @type {!RenderedConnection} */ (this.localConnection_),
537
- this.topBlock_);
507
+ (closest), (this.localConnection_), this.topBlock_);
538
508
 
539
509
  switch (method) {
540
510
  case InsertionMarkerManager.PREVIEW_TYPE.INPUT_OUTLINE:
@@ -550,7 +520,10 @@ class InsertionMarkerManager {
550
520
 
551
521
  // Optionally highlight the actual connection, as a nod to previous
552
522
  // behaviour.
553
- if (closest && renderer.shouldHighlightConnection(closest)) {
523
+ // AnyDuringMigration because: Argument of type 'RenderedConnection' is not
524
+ // assignable to parameter of type 'Connection'.
525
+ if (closest &&
526
+ renderer.shouldHighlightConnection(closest as AnyDuringMigration)) {
554
527
  closest.highlight();
555
528
  }
556
529
  }
@@ -560,11 +533,10 @@ class InsertionMarkerManager {
560
533
  * needed.
561
534
  * At the end of this function, this.localConnection_ and
562
535
  * this.closestConnection_ should both be null.
563
- * @param {!Object} candidate An object containing a local connection, a
564
- * closest connection, and a radius.
565
- * @private
536
+ * @param candidate An object containing a local connection, a closest
537
+ * connection, and a radius.
566
538
  */
567
- maybeHidePreview_(candidate) {
539
+ private maybeHidePreview_(candidate: CandidateConnection) {
568
540
  // If there's no new preview, remove the old one but don't bother deleting
569
541
  // it. We might need it later, and this saves disposing of it and recreating
570
542
  // it.
@@ -586,20 +558,27 @@ class InsertionMarkerManager {
586
558
  }
587
559
 
588
560
  // Either way, clear out old state.
589
- this.markerConnection_ = null;
590
- this.closestConnection_ = null;
591
- this.localConnection_ = null;
561
+ // AnyDuringMigration because: Type 'null' is not assignable to type
562
+ // 'RenderedConnection'.
563
+ this.markerConnection_ = null as AnyDuringMigration;
564
+ // AnyDuringMigration because: Type 'null' is not assignable to type
565
+ // 'RenderedConnection'.
566
+ this.closestConnection_ = null as AnyDuringMigration;
567
+ // AnyDuringMigration because: Type 'null' is not assignable to type
568
+ // 'RenderedConnection'.
569
+ this.localConnection_ = null as AnyDuringMigration;
592
570
  }
593
571
 
594
572
  /**
595
573
  * A preview should be hidden. This function figures out if it is a block
596
574
  * highlight or an insertion marker, and hides the appropriate one.
597
- * @private
598
575
  */
599
- hidePreview_() {
576
+ private hidePreview_() {
577
+ // AnyDuringMigration because: Argument of type 'RenderedConnection' is not
578
+ // assignable to parameter of type 'Connection'.
600
579
  if (this.closestConnection_ && this.closestConnection_.targetBlock() &&
601
580
  this.workspace_.getRenderer().shouldHighlightConnection(
602
- this.closestConnection_)) {
581
+ this.closestConnection_ as AnyDuringMigration)) {
603
582
  this.closestConnection_.unhighlight();
604
583
  }
605
584
  if (this.fadedBlock_) {
@@ -614,9 +593,8 @@ class InsertionMarkerManager {
614
593
  /**
615
594
  * Shows an insertion marker connected to the appropriate blocks (based on
616
595
  * manager state).
617
- * @private
618
596
  */
619
- showInsertionMarker_() {
597
+ private showInsertionMarker_() {
620
598
  const local = this.localConnection_;
621
599
  const closest = this.closestConnection_;
622
600
 
@@ -624,7 +602,10 @@ class InsertionMarkerManager {
624
602
  let imBlock = isLastInStack ? this.lastMarker_ : this.firstMarker_;
625
603
  let imConn;
626
604
  try {
627
- imConn = imBlock.getMatchingConnection(local.getSourceBlock(), local);
605
+ // AnyDuringMigration because: Argument of type 'BlockSvg' is not
606
+ // assignable to parameter of type 'Block'.
607
+ imConn = imBlock.getMatchingConnection(
608
+ local.getSourceBlock() as AnyDuringMigration, local);
628
609
  } catch (e) {
629
610
  // It's possible that the number of connections on the local block has
630
611
  // changed since the insertion marker was originally created. Let's
@@ -634,7 +615,10 @@ class InsertionMarkerManager {
634
615
  // might be too slow, so we only do it if necessary.
635
616
  this.firstMarker_ = this.createMarkerBlock_(this.topBlock_);
636
617
  imBlock = isLastInStack ? this.lastMarker_ : this.firstMarker_;
637
- imConn = imBlock.getMatchingConnection(local.getSourceBlock(), local);
618
+ // AnyDuringMigration because: Argument of type 'BlockSvg' is not
619
+ // assignable to parameter of type 'Block'.
620
+ imConn = imBlock.getMatchingConnection(
621
+ local.getSourceBlock() as AnyDuringMigration, local);
638
622
  }
639
623
 
640
624
  if (imConn === this.markerConnection_) {
@@ -655,18 +639,21 @@ class InsertionMarkerManager {
655
639
  }
656
640
  if (closest) {
657
641
  // Connect() also renders the insertion marker.
658
- imConn.connect(closest);
642
+ // AnyDuringMigration because: Argument of type 'RenderedConnection' is
643
+ // not assignable to parameter of type 'Connection'.
644
+ imConn!.connect(closest as AnyDuringMigration);
659
645
  }
660
646
 
661
- this.markerConnection_ = imConn;
647
+ // AnyDuringMigration because: Type 'RenderedConnection | null' is not
648
+ // assignable to type 'RenderedConnection'.
649
+ this.markerConnection_ = imConn as AnyDuringMigration;
662
650
  }
663
651
 
664
652
  /**
665
653
  * Disconnects and hides the current insertion marker. Should return the
666
654
  * blocks to their original state.
667
- * @private
668
655
  */
669
- hideInsertionMarker_() {
656
+ private hideInsertionMarker_() {
670
657
  if (!this.markerConnection_) {
671
658
  console.log('No insertion marker connection to disconnect');
672
659
  return;
@@ -679,30 +666,36 @@ class InsertionMarkerManager {
679
666
  const markerOutput = imBlock.outputConnection;
680
667
 
681
668
  const isFirstInStatementStack =
682
- (imConn === markerNext && !(markerPrev && markerPrev.targetConnection));
669
+ imConn === markerNext && !(markerPrev && markerPrev.targetConnection);
683
670
 
684
671
  const isFirstInOutputStack = imConn.type === ConnectionType.INPUT_VALUE &&
685
672
  !(markerOutput && markerOutput.targetConnection);
686
673
  // The insertion marker is the first block in a stack. Unplug won't do
687
674
  // anything in that case. Instead, unplug the following block.
688
675
  if (isFirstInStatementStack || isFirstInOutputStack) {
689
- imConn.targetBlock().unplug(false);
676
+ imConn.targetBlock()!.unplug(false);
690
677
  } else if (
691
678
  imConn.type === ConnectionType.NEXT_STATEMENT &&
692
679
  imConn !== markerNext) {
693
680
  // Inside of a C-block, first statement connection.
694
681
  const innerConnection = imConn.targetConnection;
695
- innerConnection.getSourceBlock().unplug(false);
682
+ if (innerConnection) {
683
+ innerConnection.getSourceBlock().unplug(false);
684
+ }
696
685
 
697
686
  const previousBlockNextConnection =
698
687
  markerPrev ? markerPrev.targetConnection : null;
699
688
 
700
689
  imBlock.unplug(true);
701
690
  if (previousBlockNextConnection) {
702
- previousBlockNextConnection.connect(innerConnection);
691
+ // AnyDuringMigration because: Argument of type 'RenderedConnection' is
692
+ // not assignable to parameter of type 'Connection'.
693
+ previousBlockNextConnection.connect(
694
+ innerConnection as AnyDuringMigration);
703
695
  }
704
696
  } else {
705
- imBlock.unplug(true /* healStack */);
697
+ imBlock.unplug(/* healStack */
698
+ true);
706
699
  }
707
700
 
708
701
  if (imConn.targetConnection) {
@@ -711,60 +704,63 @@ class InsertionMarkerManager {
711
704
  'disconnectInsertionMarker');
712
705
  }
713
706
 
714
- this.markerConnection_ = null;
707
+ // AnyDuringMigration because: Type 'null' is not assignable to type
708
+ // 'RenderedConnection'.
709
+ this.markerConnection_ = null as AnyDuringMigration;
715
710
  const svg = imBlock.getSvgRoot();
716
711
  if (svg) {
717
712
  svg.setAttribute('visibility', 'hidden');
718
713
  }
719
714
  }
720
715
 
721
- /**
722
- * Shows an outline around the input the closest connection belongs to.
723
- * @private
724
- */
725
- showInsertionInputOutline_() {
716
+ /** Shows an outline around the input the closest connection belongs to. */
717
+ private showInsertionInputOutline_() {
726
718
  const closest = this.closestConnection_;
727
719
  this.highlightedBlock_ = closest.getSourceBlock();
728
- this.highlightedBlock_.highlightShapeForInput(closest, true);
720
+ // AnyDuringMigration because: Argument of type 'RenderedConnection' is not
721
+ // assignable to parameter of type 'Connection'.
722
+ this.highlightedBlock_.highlightShapeForInput(
723
+ closest as AnyDuringMigration, true);
729
724
  }
730
725
 
731
- /**
732
- * Hides any visible input outlines.
733
- * @private
734
- */
735
- hideInsertionInputOutline_() {
726
+ /** Hides any visible input outlines. */
727
+ private hideInsertionInputOutline_() {
728
+ // AnyDuringMigration because: Argument of type 'RenderedConnection' is not
729
+ // assignable to parameter of type 'Connection'.
736
730
  this.highlightedBlock_.highlightShapeForInput(
737
- this.closestConnection_, false);
738
- this.highlightedBlock_ = null;
731
+ this.closestConnection_ as AnyDuringMigration, false);
732
+ // AnyDuringMigration because: Type 'null' is not assignable to type
733
+ // 'BlockSvg'.
734
+ this.highlightedBlock_ = null as AnyDuringMigration;
739
735
  }
740
736
 
741
737
  /**
742
738
  * Shows a replacement fade affect on the closest connection's target block
743
739
  * (the block that is currently connected to it).
744
- * @private
745
740
  */
746
- showReplacementFade_() {
747
- this.fadedBlock_ = this.closestConnection_.targetBlock();
741
+ private showReplacementFade_() {
742
+ // AnyDuringMigration because: Type 'BlockSvg | null' is not assignable to
743
+ // type 'BlockSvg'.
744
+ this.fadedBlock_ =
745
+ this.closestConnection_.targetBlock() as AnyDuringMigration;
748
746
  this.fadedBlock_.fadeForReplacement(true);
749
747
  }
750
748
 
751
- /**
752
- * Hides/Removes any visible fade affects.
753
- * @private
754
- */
755
- hideReplacementFade_() {
749
+ /** Hides/Removes any visible fade affects. */
750
+ private hideReplacementFade_() {
756
751
  this.fadedBlock_.fadeForReplacement(false);
757
- this.fadedBlock_ = null;
752
+ // AnyDuringMigration because: Type 'null' is not assignable to type
753
+ // 'BlockSvg'.
754
+ this.fadedBlock_ = null as AnyDuringMigration;
758
755
  }
759
756
 
760
757
  /**
761
758
  * Get a list of the insertion markers that currently exist. Drags have 0, 1,
762
759
  * or 2 insertion markers.
763
- * @return {!Array<!BlockSvg>} A possibly empty list of insertion
764
- * marker blocks.
765
- * @package
760
+ * @return A possibly empty list of insertion marker blocks.
761
+ * @internal
766
762
  */
767
- getInsertionMarkers() {
763
+ getInsertionMarkers(): BlockSvg[] {
768
764
  const result = [];
769
765
  if (this.firstMarker_) {
770
766
  result.push(this.firstMarker_);
@@ -776,15 +772,17 @@ class InsertionMarkerManager {
776
772
  }
777
773
  }
778
774
 
779
- /**
780
- * An enum describing different kinds of previews the InsertionMarkerManager
781
- * could display.
782
- * @enum {number}
783
- */
784
- InsertionMarkerManager.PREVIEW_TYPE = {
785
- INSERTION_MARKER: 0,
786
- INPUT_OUTLINE: 1,
787
- REPLACEMENT_FADE: 2,
788
- };
775
+ export namespace InsertionMarkerManager {
776
+ /**
777
+ * An enum describing different kinds of previews the InsertionMarkerManager
778
+ * could display.
779
+ */
780
+ export enum PREVIEW_TYPE {
781
+ INSERTION_MARKER = 0,
782
+ INPUT_OUTLINE = 1,
783
+ REPLACEMENT_FADE = 2,
784
+ }
785
+ }
789
786
 
790
- exports.InsertionMarkerManager = InsertionMarkerManager;
787
+ export type PreviewType = InsertionMarkerManager.PREVIEW_TYPE;
788
+ export const PreviewType = InsertionMarkerManager.PREVIEW_TYPE;