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
@@ -0,0 +1,132 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2019 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { BlockSvg } from '../../block_svg.js';
7
+ import type { Field } from '../measurables/field.js';
8
+ import type { Icon } from '../measurables/icon.js';
9
+ import type { InlineInput } from '../measurables/inline_input.js';
10
+ import type { Row } from '../measurables/row.js';
11
+ import type { ConstantProvider } from './constants.js';
12
+ import type { RenderInfo } from './info.js';
13
+ /**
14
+ * An object that draws a block based on the given rendering information.
15
+ * @alias Blockly.blockRendering.Drawer
16
+ */
17
+ export declare class Drawer {
18
+ block_: any;
19
+ info_: any;
20
+ topLeft_: any;
21
+ outlinePath_: string;
22
+ inlinePath_: string;
23
+ protected constants_: ConstantProvider;
24
+ /**
25
+ * @param block The block to render.
26
+ * @param info An object containing all information needed to render this
27
+ * block.
28
+ * @internal
29
+ */
30
+ constructor(block: BlockSvg, info: RenderInfo);
31
+ /**
32
+ * Draw the block to the workspace. Here "drawing" means setting SVG path
33
+ * elements and moving fields, icons, and connections on the screen.
34
+ *
35
+ * The pieces of the paths are pushed into arrays of "steps", which are then
36
+ * joined with spaces and set directly on the block. This guarantees that
37
+ * the steps are separated by spaces for improved readability, but isn't
38
+ * required.
39
+ * @internal
40
+ */
41
+ draw(): void;
42
+ /**
43
+ * Save sizing information back to the block
44
+ * Most of the rendering information can be thrown away at the end of the
45
+ * render. Anything that needs to be kept around should be set in this
46
+ * function.
47
+ */
48
+ protected recordSizeOnBlock_(): void;
49
+ /** Hide icons that were marked as hidden. */
50
+ protected hideHiddenIcons_(): void;
51
+ /** Create the outline of the block. This is a single continuous path. */
52
+ protected drawOutline_(): void;
53
+ /**
54
+ * Add steps for the top corner of the block, taking into account
55
+ * details such as hats and rounded corners.
56
+ */
57
+ protected drawTop_(): void;
58
+ /**
59
+ * Add steps for the jagged edge of a row on a collapsed block.
60
+ * @param row The row to draw the side of.
61
+ */
62
+ protected drawJaggedEdge_(row: Row): void;
63
+ /**
64
+ * Add steps for an external value input, rendered as a notch in the side
65
+ * of the block.
66
+ * @param row The row that this input belongs to.
67
+ */
68
+ protected drawValueInput_(row: Row): void;
69
+ /**
70
+ * Add steps for a statement input.
71
+ * @param row The row that this input belongs to.
72
+ */
73
+ protected drawStatementInput_(row: Row): void;
74
+ /**
75
+ * Add steps for the right side of a row that does not have value or
76
+ * statement input connections.
77
+ * @param row The row to draw the side of.
78
+ */
79
+ protected drawRightSideRow_(row: Row): void;
80
+ /**
81
+ * Add steps for the bottom edge of a block, possibly including a notch
82
+ * for the next connection.
83
+ */
84
+ protected drawBottom_(): void;
85
+ /**
86
+ * Add steps for the left side of the block, which may include an output
87
+ * connection
88
+ */
89
+ protected drawLeft_(): void;
90
+ /**
91
+ * Draw the internals of the block: inline inputs, fields, and icons. These
92
+ * do not depend on the outer path for placement.
93
+ */
94
+ protected drawInternals_(): void;
95
+ /**
96
+ * Push a field or icon's new position to its SVG root.
97
+ * @param fieldInfo The rendering information for the field or icon.
98
+ */
99
+ protected layoutField_(fieldInfo: Icon | Field): void;
100
+ /**
101
+ * Add steps for an inline input.
102
+ * @param input The information about the input to render.
103
+ */
104
+ protected drawInlineInput_(input: InlineInput): void;
105
+ /**
106
+ * Position the connection on an inline value input, taking into account
107
+ * RTL and the small gap between the parent block and child block which lets
108
+ * the parent block's dark path show through.
109
+ * @param input The information about the input that the connection is on.
110
+ */
111
+ protected positionInlineInputConnection_(input: InlineInput): void;
112
+ /**
113
+ * Position the connection on a statement input, taking into account
114
+ * RTL and the small gap between the parent block and child block which lets
115
+ * the parent block's dark path show through.
116
+ * @param row The row that the connection is on.
117
+ */
118
+ protected positionStatementInputConnection_(row: Row): void;
119
+ /**
120
+ * Position the connection on an external value input, taking into account
121
+ * RTL and the small gap between the parent block and child block which lets
122
+ * the parent block's dark path show through.
123
+ * @param row The row that the connection is on.
124
+ */
125
+ protected positionExternalValueConnection_(row: Row): void;
126
+ /** Position the previous connection on a block. */
127
+ protected positionPreviousConnection_(): void;
128
+ /** Position the next connection on a block. */
129
+ protected positionNextConnection_(): void;
130
+ /** Position the output connection on a block. */
131
+ protected positionOutputConnection_(): void;
132
+ }
@@ -7,59 +7,54 @@
7
7
  /**
8
8
  * @fileoverview Methods for graphically rendering a block as SVG.
9
9
  */
10
- 'use strict';
11
10
 
12
11
  /**
13
12
  * Methods for graphically rendering a block as SVG.
14
13
  * @class
15
14
  */
16
- goog.module('Blockly.blockRendering.Drawer');
17
-
18
- const debug = goog.require('Blockly.blockRendering.debug');
19
- const svgPaths = goog.require('Blockly.utils.svgPaths');
20
- /* eslint-disable-next-line no-unused-vars */
21
- const {BlockSvg} = goog.requireType('Blockly.BlockSvg');
22
- const {Connection} = goog.require('Blockly.blockRendering.Connection');
23
- /* eslint-disable-next-line no-unused-vars */
24
- const {ConstantProvider} = goog.requireType('Blockly.blockRendering.ConstantProvider');
25
- /* eslint-disable-next-line no-unused-vars */
26
- const {ExternalValueInput} = goog.requireType('Blockly.blockRendering.ExternalValueInput');
27
- /* eslint-disable-next-line no-unused-vars */
28
- const {Field} = goog.requireType('Blockly.blockRendering.Field');
29
- /* eslint-disable-next-line no-unused-vars */
30
- const {Icon} = goog.requireType('Blockly.blockRendering.Icon');
31
- /* eslint-disable-next-line no-unused-vars */
32
- const {InlineInput} = goog.requireType('Blockly.blockRendering.InlineInput');
33
- /* eslint-disable-next-line no-unused-vars */
34
- const {RenderInfo} = goog.requireType('Blockly.blockRendering.RenderInfo');
35
- /* eslint-disable-next-line no-unused-vars */
36
- const {Row} = goog.requireType('Blockly.blockRendering.Row');
37
- const {Types} = goog.require('Blockly.blockRendering.Types');
15
+ import * as goog from '../../../closure/goog/goog.js';
16
+ goog.declareModuleId('Blockly.blockRendering.Drawer');
17
+
18
+ import type {BlockSvg} from '../../block_svg.js';
19
+ import * as svgPaths from '../../utils/svg_paths.js';
20
+ import {Connection} from '../measurables/connection.js';
21
+ import type {ExternalValueInput} from '../measurables/external_value_input.js';
22
+ import type {Field} from '../measurables/field.js';
23
+ import type {Icon} from '../measurables/icon.js';
24
+ import type {InlineInput} from '../measurables/inline_input.js';
25
+ import type {PreviousConnection} from '../measurables/previous_connection.js';
26
+ import type {Row} from '../measurables/row.js';
27
+ import {Types} from '../measurables/types.js';
28
+
29
+ import type {ConstantProvider, Notch, PuzzleTab} from './constants.js';
30
+ import * as debug from './debug.js';
31
+ import type {RenderInfo} from './info.js';
38
32
 
39
33
 
40
34
  /**
41
35
  * An object that draws a block based on the given rendering information.
42
36
  * @alias Blockly.blockRendering.Drawer
43
37
  */
44
- class Drawer {
38
+ export class Drawer {
39
+ block_: AnyDuringMigration;
40
+ info_: AnyDuringMigration;
41
+ topLeft_: AnyDuringMigration;
42
+ outlinePath_ = '';
43
+ inlinePath_ = '';
44
+ protected constants_: ConstantProvider;
45
+
45
46
  /**
46
- * @param {!BlockSvg} block The block to render.
47
- * @param {!RenderInfo} info An object containing all
48
- * information needed to render this block.
49
- * @package
47
+ * @param block The block to render.
48
+ * @param info An object containing all information needed to render this
49
+ * block.
50
+ * @internal
50
51
  */
51
- constructor(block, info) {
52
+ constructor(block: BlockSvg, info: RenderInfo) {
52
53
  this.block_ = block;
53
54
  this.info_ = info;
54
55
  this.topLeft_ = block.getRelativeToSurfaceXY();
55
- this.outlinePath_ = '';
56
- this.inlinePath_ = '';
57
-
58
- /**
59
- * The renderer's constant provider.
60
- * @type {!ConstantProvider}
61
- * @protected
62
- */
56
+
57
+ /** The renderer's constant provider. */
63
58
  this.constants_ = info.getRenderer().getConstants();
64
59
  }
65
60
 
@@ -71,7 +66,7 @@ class Drawer {
71
66
  * joined with spaces and set directly on the block. This guarantees that
72
67
  * the steps are separated by spaces for improved readability, but isn't
73
68
  * required.
74
- * @package
69
+ * @internal
75
70
  */
76
71
  draw() {
77
72
  this.hideHiddenIcons_();
@@ -93,30 +88,23 @@ class Drawer {
93
88
  * Most of the rendering information can be thrown away at the end of the
94
89
  * render. Anything that needs to be kept around should be set in this
95
90
  * function.
96
- * @protected
97
91
  */
98
- recordSizeOnBlock_() {
92
+ protected recordSizeOnBlock_() {
99
93
  // This is used when the block is reporting its size to anyone else.
100
94
  // The dark path adds to the size of the block in both X and Y.
101
95
  this.block_.height = this.info_.height;
102
96
  this.block_.width = this.info_.widthWithChildren;
103
97
  }
104
98
 
105
- /**
106
- * Hide icons that were marked as hidden.
107
- * @protected
108
- */
109
- hideHiddenIcons_() {
110
- for (let i = 0, iconInfo; (iconInfo = this.info_.hiddenIcons[i]); i++) {
99
+ /** Hide icons that were marked as hidden. */
100
+ protected hideHiddenIcons_() {
101
+ for (let i = 0, iconInfo; iconInfo = this.info_.hiddenIcons[i]; i++) {
111
102
  iconInfo.icon.iconGroup_.setAttribute('display', 'none');
112
103
  }
113
104
  }
114
105
 
115
- /**
116
- * Create the outline of the block. This is a single continuous path.
117
- * @protected
118
- */
119
- drawOutline_() {
106
+ /** Create the outline of the block. This is a single continuous path. */
107
+ protected drawOutline_() {
120
108
  this.drawTop_();
121
109
  for (let r = 1; r < this.info_.rows.length - 1; r++) {
122
110
  const row = this.info_.rows[r];
@@ -137,38 +125,39 @@ class Drawer {
137
125
  /**
138
126
  * Add steps for the top corner of the block, taking into account
139
127
  * details such as hats and rounded corners.
140
- * @protected
141
128
  */
142
- drawTop_() {
129
+ protected drawTop_() {
143
130
  const topRow = this.info_.topRow;
144
131
  const elements = topRow.elements;
145
132
 
146
133
  this.positionPreviousConnection_();
147
134
  this.outlinePath_ += svgPaths.moveBy(topRow.xPos, this.info_.startY);
148
- for (let i = 0, elem; (elem = elements[i]); i++) {
135
+ for (let i = 0, elem; elem = elements[i]; i++) {
149
136
  if (Types.isLeftRoundedCorner(elem)) {
150
137
  this.outlinePath_ += this.constants_.OUTSIDE_CORNERS.topLeft;
151
138
  } else if (Types.isRightRoundedCorner(elem)) {
152
139
  this.outlinePath_ += this.constants_.OUTSIDE_CORNERS.topRight;
153
140
  } else if (
154
141
  Types.isPreviousConnection(elem) && elem instanceof Connection) {
155
- this.outlinePath_ += elem.shape.pathLeft;
156
- } else if (Types.isHat(elem)) {
142
+ this.outlinePath_ +=
143
+ ((elem as PreviousConnection).shape as Notch).pathLeft;
144
+ // AnyDuringMigration because: Property 'isHat' does not exist on type
145
+ // 'typeof Types'.
146
+ } else if ((Types as AnyDuringMigration).isHat(elem)) {
157
147
  this.outlinePath_ += this.constants_.START_HAT.path;
158
148
  } else if (Types.isSpacer(elem)) {
159
149
  this.outlinePath_ += svgPaths.lineOnAxis('h', elem.width);
160
150
  }
161
- // No branch for a square corner, because it's a no-op.
162
151
  }
152
+ // No branch for a square corner, because it's a no-op.
163
153
  this.outlinePath_ += svgPaths.lineOnAxis('v', topRow.height);
164
154
  }
165
155
 
166
156
  /**
167
157
  * Add steps for the jagged edge of a row on a collapsed block.
168
- * @param {!Row} row The row to draw the side of.
169
- * @protected
158
+ * @param row The row to draw the side of.
170
159
  */
171
- drawJaggedEdge_(row) {
160
+ protected drawJaggedEdge_(row: Row) {
172
161
  const remainder = row.height - this.constants_.JAGGED_TEETH.height;
173
162
  this.outlinePath_ +=
174
163
  this.constants_.JAGGED_TEETH.path + svgPaths.lineOnAxis('v', remainder);
@@ -177,17 +166,21 @@ class Drawer {
177
166
  /**
178
167
  * Add steps for an external value input, rendered as a notch in the side
179
168
  * of the block.
180
- * @param {!Row} row The row that this input belongs to.
181
- * @protected
169
+ * @param row The row that this input belongs to.
182
170
  */
183
- drawValueInput_(row) {
184
- const input =
185
- /** @type {ExternalValueInput|InlineInput} */ (row.getLastInput());
171
+ protected drawValueInput_(row: Row) {
172
+ const input = row.getLastInput() as ExternalValueInput | InlineInput;
186
173
  this.positionExternalValueConnection_(row);
187
174
 
188
- const pathDown = (typeof input.shape.pathDown === 'function') ?
189
- input.shape.pathDown(input.height) :
190
- input.shape.pathDown;
175
+ // AnyDuringMigration because: Property 'pathDown' does not exist on type
176
+ // 'Shape'. AnyDuringMigration because: Property 'pathDown' does not exist
177
+ // on type 'Shape'. AnyDuringMigration because: Property 'pathDown' does
178
+ // not exist on type 'Shape'.
179
+ const pathDown =
180
+ typeof (input.shape as AnyDuringMigration).pathDown === 'function' ?
181
+ ((input.shape as AnyDuringMigration).pathDown as (p1: number) =>
182
+ AnyDuringMigration)(input.height) :
183
+ (input.shape as AnyDuringMigration).pathDown;
191
184
 
192
185
  this.outlinePath_ += svgPaths.lineOnAxis('H', input.xPos + input.width) +
193
186
  pathDown +
@@ -196,21 +189,19 @@ class Drawer {
196
189
 
197
190
  /**
198
191
  * Add steps for a statement input.
199
- * @param {!Row} row The row that this input belongs to.
200
- * @protected
192
+ * @param row The row that this input belongs to.
201
193
  */
202
- drawStatementInput_(row) {
194
+ protected drawStatementInput_(row: Row) {
203
195
  const input = row.getLastInput();
204
196
  // Where to start drawing the notch, which is on the right side in LTR.
205
- const x = input.xPos + input.notchOffset + input.shape.width;
197
+ const x = input.xPos + input.notchOffset + (input.shape as Notch).width;
206
198
 
207
- const innerTopLeftCorner = input.shape.pathRight +
199
+ const innerTopLeftCorner = (input.shape as Notch).pathRight +
208
200
  svgPaths.lineOnAxis(
209
201
  'h', -(input.notchOffset - this.constants_.INSIDE_CORNERS.width)) +
210
202
  this.constants_.INSIDE_CORNERS.pathTop;
211
203
 
212
- const innerHeight =
213
- row.height - (2 * this.constants_.INSIDE_CORNERS.height);
204
+ const innerHeight = row.height - 2 * this.constants_.INSIDE_CORNERS.height;
214
205
 
215
206
  this.outlinePath_ += svgPaths.lineOnAxis('H', x) + innerTopLeftCorner +
216
207
  svgPaths.lineOnAxis('v', innerHeight) +
@@ -223,28 +214,26 @@ class Drawer {
223
214
  /**
224
215
  * Add steps for the right side of a row that does not have value or
225
216
  * statement input connections.
226
- * @param {!Row} row The row to draw the side of.
227
- * @protected
217
+ * @param row The row to draw the side of.
228
218
  */
229
- drawRightSideRow_(row) {
219
+ protected drawRightSideRow_(row: Row) {
230
220
  this.outlinePath_ += svgPaths.lineOnAxis('V', row.yPos + row.height);
231
221
  }
232
222
 
233
223
  /**
234
224
  * Add steps for the bottom edge of a block, possibly including a notch
235
225
  * for the next connection.
236
- * @protected
237
226
  */
238
- drawBottom_() {
227
+ protected drawBottom_() {
239
228
  const bottomRow = this.info_.bottomRow;
240
229
  const elems = bottomRow.elements;
241
230
  this.positionNextConnection_();
242
231
 
243
232
  let rightCornerYOffset = 0;
244
233
  let outlinePath = '';
245
- for (let i = elems.length - 1, elem; (elem = elems[i]); i--) {
234
+ for (let i = elems.length - 1, elem; elem = elems[i]; i--) {
246
235
  if (Types.isNextConnection(elem) && elem instanceof Connection) {
247
- outlinePath += elem.shape.pathRight;
236
+ outlinePath += (elem.shape as Notch).pathRight;
248
237
  } else if (Types.isLeftSquareCorner(elem)) {
249
238
  outlinePath += svgPaths.lineOnAxis('H', bottomRow.xPos);
250
239
  } else if (Types.isLeftRoundedCorner(elem)) {
@@ -265,17 +254,17 @@ class Drawer {
265
254
  /**
266
255
  * Add steps for the left side of the block, which may include an output
267
256
  * connection
268
- * @protected
269
257
  */
270
- drawLeft_() {
258
+ protected drawLeft_() {
271
259
  const outputConnection = this.info_.outputConnection;
272
260
  this.positionOutputConnection_();
273
261
 
274
262
  if (outputConnection) {
275
263
  const tabBottom =
276
264
  outputConnection.connectionOffsetY + outputConnection.height;
277
- const pathUp = (typeof outputConnection.shape.pathUp === 'function') ?
278
- outputConnection.shape.pathUp(outputConnection.height) :
265
+ const pathUp = typeof outputConnection.shape.pathUp === 'function' ?
266
+ (outputConnection.shape.pathUp as (p1: number) =>
267
+ AnyDuringMigration)(outputConnection.height) :
279
268
  outputConnection.shape.pathUp;
280
269
 
281
270
  // Draw a line up to the bottom of the tab.
@@ -289,18 +278,14 @@ class Drawer {
289
278
  /**
290
279
  * Draw the internals of the block: inline inputs, fields, and icons. These
291
280
  * do not depend on the outer path for placement.
292
- * @protected
293
281
  */
294
- drawInternals_() {
295
- for (let i = 0, row; (row = this.info_.rows[i]); i++) {
296
- for (let j = 0, elem; (elem = row.elements[j]); j++) {
282
+ protected drawInternals_() {
283
+ for (let i = 0, row; row = this.info_.rows[i]; i++) {
284
+ for (let j = 0, elem; elem = row.elements[j]; j++) {
297
285
  if (Types.isInlineInput(elem)) {
298
- this.drawInlineInput_(
299
- /** @type {!InlineInput} */ (elem));
286
+ this.drawInlineInput_(elem as InlineInput);
300
287
  } else if (Types.isIcon(elem) || Types.isField(elem)) {
301
- this.layoutField_(
302
- /** @type {!Field|!Icon} */
303
- (elem));
288
+ this.layoutField_(elem as Field | Icon);
304
289
  }
305
290
  }
306
291
  }
@@ -308,16 +293,18 @@ class Drawer {
308
293
 
309
294
  /**
310
295
  * Push a field or icon's new position to its SVG root.
311
- * @param {!Icon|!Field} fieldInfo
312
- * The rendering information for the field or icon.
313
- * @protected
296
+ * @param fieldInfo The rendering information for the field or icon.
314
297
  */
315
- layoutField_(fieldInfo) {
298
+ protected layoutField_(fieldInfo: Icon|Field) {
316
299
  let svgGroup;
317
300
  if (Types.isField(fieldInfo)) {
318
- svgGroup = fieldInfo.field.getSvgRoot();
301
+ // AnyDuringMigration because: Property 'field' does not exist on type
302
+ // 'Icon | Field'.
303
+ svgGroup = (fieldInfo as AnyDuringMigration).field.getSvgRoot();
319
304
  } else if (Types.isIcon(fieldInfo)) {
320
- svgGroup = fieldInfo.icon.iconGroup_;
305
+ // AnyDuringMigration because: Property 'icon' does not exist on type
306
+ // 'Icon | Field'.
307
+ svgGroup = (fieldInfo as AnyDuringMigration).icon.iconGroup_;
321
308
  }
322
309
 
323
310
  const yPos = fieldInfo.centerline - fieldInfo.height / 2;
@@ -325,7 +312,9 @@ class Drawer {
325
312
  let scale = '';
326
313
  if (this.info_.RTL) {
327
314
  xPos = -(xPos + fieldInfo.width);
328
- if (fieldInfo.flipRtl) {
315
+ // AnyDuringMigration because: Property 'flipRtl' does not exist on type
316
+ // 'Icon | Field'.
317
+ if ((fieldInfo as AnyDuringMigration).flipRtl) {
329
318
  xPos += fieldInfo.width;
330
319
  scale = 'scale(-1 1)';
331
320
  }
@@ -334,7 +323,9 @@ class Drawer {
334
323
  svgGroup.setAttribute('display', 'block');
335
324
  svgGroup.setAttribute(
336
325
  'transform', 'translate(' + xPos + ',' + yPos + ')');
337
- fieldInfo.icon.computeIconLocation();
326
+ // AnyDuringMigration because: Property 'icon' does not exist on type
327
+ // 'Icon | Field'.
328
+ (fieldInfo as AnyDuringMigration).icon.computeIconLocation();
338
329
  } else {
339
330
  svgGroup.setAttribute(
340
331
  'transform', 'translate(' + xPos + ',' + yPos + ')' + scale);
@@ -349,11 +340,9 @@ class Drawer {
349
340
 
350
341
  /**
351
342
  * Add steps for an inline input.
352
- * @param {!InlineInput} input The information about the
353
- * input to render.
354
- * @protected
343
+ * @param input The information about the input to render.
355
344
  */
356
- drawInlineInput_(input) {
345
+ protected drawInlineInput_(input: InlineInput) {
357
346
  const width = input.width;
358
347
  const height = input.height;
359
348
  const yPos = input.centerline - height / 2;
@@ -363,7 +352,8 @@ class Drawer {
363
352
  const connectionRight = input.xPos + input.connectionWidth;
364
353
 
365
354
  this.inlinePath_ += svgPaths.moveTo(connectionRight, yPos) +
366
- svgPaths.lineOnAxis('v', connectionTop) + input.shape.pathDown +
355
+ svgPaths.lineOnAxis('v', connectionTop) +
356
+ (input.shape as PuzzleTab).pathDown +
367
357
  svgPaths.lineOnAxis('v', height - connectionBottom) +
368
358
  svgPaths.lineOnAxis('h', width - input.connectionWidth) +
369
359
  svgPaths.lineOnAxis('v', -height) + 'z';
@@ -375,11 +365,9 @@ class Drawer {
375
365
  * Position the connection on an inline value input, taking into account
376
366
  * RTL and the small gap between the parent block and child block which lets
377
367
  * the parent block's dark path show through.
378
- * @param {InlineInput} input The information about
379
- * the input that the connection is on.
380
- * @protected
368
+ * @param input The information about the input that the connection is on.
381
369
  */
382
- positionInlineInputConnection_(input) {
370
+ protected positionInlineInputConnection_(input: InlineInput) {
383
371
  const yPos = input.centerline - input.height / 2;
384
372
  // Move the connection.
385
373
  if (input.connectionModel) {
@@ -397,10 +385,9 @@ class Drawer {
397
385
  * Position the connection on a statement input, taking into account
398
386
  * RTL and the small gap between the parent block and child block which lets
399
387
  * the parent block's dark path show through.
400
- * @param {!Row} row The row that the connection is on.
401
- * @protected
388
+ * @param row The row that the connection is on.
402
389
  */
403
- positionStatementInputConnection_(row) {
390
+ protected positionStatementInputConnection_(row: Row) {
404
391
  const input = row.getLastInput();
405
392
  if (input.connectionModel) {
406
393
  let connX = row.xPos + row.statementEdge + input.notchOffset;
@@ -415,10 +402,9 @@ class Drawer {
415
402
  * Position the connection on an external value input, taking into account
416
403
  * RTL and the small gap between the parent block and child block which lets
417
404
  * the parent block's dark path show through.
418
- * @param {!Row} row The row that the connection is on.
419
- * @protected
405
+ * @param row The row that the connection is on.
420
406
  */
421
- positionExternalValueConnection_(row) {
407
+ protected positionExternalValueConnection_(row: Row) {
422
408
  const input = row.getLastInput();
423
409
  if (input.connectionModel) {
424
410
  let connX = row.xPos + row.width;
@@ -429,39 +415,30 @@ class Drawer {
429
415
  }
430
416
  }
431
417
 
432
- /**
433
- * Position the previous connection on a block.
434
- * @protected
435
- */
436
- positionPreviousConnection_() {
418
+ /** Position the previous connection on a block. */
419
+ protected positionPreviousConnection_() {
437
420
  const topRow = this.info_.topRow;
438
421
  if (topRow.connection) {
439
422
  const x = topRow.xPos + topRow.notchOffset;
440
- const connX = (this.info_.RTL ? -x : x);
423
+ const connX = this.info_.RTL ? -x : x;
441
424
  topRow.connection.connectionModel.setOffsetInBlock(connX, 0);
442
425
  }
443
426
  }
444
427
 
445
- /**
446
- * Position the next connection on a block.
447
- * @protected
448
- */
449
- positionNextConnection_() {
428
+ /** Position the next connection on a block. */
429
+ protected positionNextConnection_() {
450
430
  const bottomRow = this.info_.bottomRow;
451
431
 
452
432
  if (bottomRow.connection) {
453
433
  const connInfo = bottomRow.connection;
454
434
  const x = connInfo.xPos; // Already contains info about startX.
455
- const connX = (this.info_.RTL ? -x : x);
435
+ const connX = this.info_.RTL ? -x : x;
456
436
  connInfo.connectionModel.setOffsetInBlock(connX, bottomRow.baseline);
457
437
  }
458
438
  }
459
439
 
460
- /**
461
- * Position the output connection on a block.
462
- * @protected
463
- */
464
- positionOutputConnection_() {
440
+ /** Position the output connection on a block. */
441
+ protected positionOutputConnection_() {
465
442
  if (this.info_.outputConnection) {
466
443
  const x =
467
444
  this.info_.startX + this.info_.outputConnection.connectionOffsetX;
@@ -471,5 +448,3 @@ class Drawer {
471
448
  }
472
449
  }
473
450
  }
474
-
475
- exports.Drawer = Drawer;