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
@@ -1,49 +1,43 @@
1
1
  /**
2
- * @license
3
- * Copyright 2019 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
2
+ * @fileoverview Makecode/scratch-style renderer.
3
+ * Zelos: spirit of eager rivalry, emulation, envy, jealousy, and zeal.
5
4
  */
6
5
 
7
6
  /**
8
- * @fileoverview Makecode/scratch-style renderer.
9
- * Zelos: spirit of eager rivalry, emulation, envy, jealousy, and zeal.
7
+ * @license
8
+ * Copyright 2019 Google LLC
9
+ * SPDX-License-Identifier: Apache-2.0
10
10
  */
11
- 'use strict';
12
11
 
13
12
  /**
14
13
  * Makecode/scratch-style renderer.
15
14
  * @class
16
15
  */
17
- goog.module('Blockly.zelos.RenderInfo');
18
-
19
- const {Align} = goog.require('Blockly.Input');
20
- /* eslint-disable-next-line no-unused-vars */
21
- const {BlockSvg} = goog.requireType('Blockly.BlockSvg');
22
- const {BottomRow} = goog.require('Blockly.zelos.BottomRow');
23
- /* eslint-disable-next-line no-unused-vars */
24
- const {ConstantProvider} = goog.requireType('Blockly.zelos.ConstantProvider');
25
- const {Field} = goog.require('Blockly.blockRendering.Field');
26
- const {FieldImage} = goog.require('Blockly.FieldImage');
27
- const {FieldLabel} = goog.require('Blockly.FieldLabel');
28
- const {FieldTextInput} = goog.require('Blockly.FieldTextInput');
29
- /* eslint-disable-next-line no-unused-vars */
30
- const {Input} = goog.requireType('Blockly.Input');
31
- const {InputConnection} = goog.require('Blockly.blockRendering.InputConnection');
32
- const {InRowSpacer} = goog.require('Blockly.blockRendering.InRowSpacer');
33
- /* eslint-disable-next-line no-unused-vars */
34
- const {Measurable} = goog.requireType('Blockly.blockRendering.Measurable');
35
- const {RenderInfo: BaseRenderInfo} = goog.require('Blockly.blockRendering.RenderInfo');
36
- /* eslint-disable-next-line no-unused-vars */
37
- const {Renderer} = goog.requireType('Blockly.zelos.Renderer');
38
- const {RightConnectionShape} = goog.require('Blockly.zelos.RightConnectionShape');
39
- /* eslint-disable-next-line no-unused-vars */
40
- const {Row} = goog.require('Blockly.blockRendering.Row');
41
- /* eslint-disable-next-line no-unused-vars */
42
- const {SpacerRow} = goog.requireType('Blockly.blockRendering.SpacerRow');
43
- const {StatementInput} = goog.require('Blockly.zelos.StatementInput');
44
- const {TopRow} = goog.require('Blockly.zelos.TopRow');
45
- const {Types} = goog.require('Blockly.blockRendering.Types');
46
- const {inputTypes} = goog.require('Blockly.inputTypes');
16
+ import * as goog from '../../../closure/goog/goog.js';
17
+ goog.declareModuleId('Blockly.zelos.RenderInfo');
18
+
19
+ import type {BlockSvg} from '../../block_svg.js';
20
+ import {FieldImage} from '../../field_image.js';
21
+ import {FieldLabel} from '../../field_label.js';
22
+ import {FieldTextInput} from '../../field_textinput.js';
23
+ import {Align, Input} from '../../input.js';
24
+ import {inputTypes} from '../../input_types.js';
25
+ import {RenderInfo as BaseRenderInfo} from '../common/info.js';
26
+ import type {Measurable} from '../measurables/base.js';
27
+ import {Field} from '../measurables/field.js';
28
+ import {InRowSpacer} from '../measurables/in_row_spacer.js';
29
+ import {InputConnection} from '../measurables/input_connection.js';
30
+ import type {Row} from '../measurables/row.js';
31
+ import type {SpacerRow} from '../measurables/spacer_row.js';
32
+ import {Types} from '../measurables/types.js';
33
+
34
+ import type {ConstantProvider, InsideCorners} from './constants.js';
35
+ import {BottomRow} from './measurables/bottom_row.js';
36
+ import {StatementInput} from './measurables/inputs.js';
37
+ import {RightConnectionShape} from './measurables/row_elements.js';
38
+ import {TopRow} from './measurables/top_row.js';
39
+ import type {PathObject} from './path_object.js';
40
+ import type {Renderer} from './renderer.js';
47
41
 
48
42
 
49
43
  /**
@@ -52,56 +46,55 @@ const {inputTypes} = goog.require('Blockly.inputTypes');
52
46
  * This measure pass does not propagate changes to the block (although fields
53
47
  * may choose to rerender when getSize() is called). However, calling it
54
48
  * repeatedly may be expensive.
55
- * @extends {BaseRenderInfo}
56
49
  * @alias Blockly.zelos.RenderInfo
57
50
  */
58
- class RenderInfo extends BaseRenderInfo {
51
+ export class RenderInfo extends BaseRenderInfo {
52
+ override topRow: TopRow;
53
+ override bottomRow: BottomRow;
54
+ override constants_: ConstantProvider;
55
+ override renderer_: Renderer;
56
+
57
+ override isInline = true;
58
+ isMultiRow: boolean;
59
+ hasStatementInput: boolean;
60
+ rightSide: RightConnectionShape|null;
61
+ private readonly rightAlignedDummyInputs_: WeakMap<Row, Input>;
62
+
59
63
  /**
60
- * @param {!Renderer} renderer The renderer in use.
61
- * @param {!BlockSvg} block The block to measure.
62
- * @package
64
+ * @param renderer The renderer in use.
65
+ * @param block The block to measure.
66
+ * @internal
63
67
  */
64
- constructor(renderer, block) {
68
+ constructor(renderer: Renderer, block: BlockSvg) {
65
69
  super(renderer, block);
66
70
 
67
- /** @type {!ConstantProvider} */
68
- this.constants_;
71
+ this.renderer_ = renderer;
72
+
73
+ this.constants_ = this.renderer_.getConstants();
69
74
 
70
75
  /**
71
76
  * An object with rendering information about the top row of the block.
72
- * @type {!TopRow}
73
- * @override
74
77
  */
75
78
  this.topRow = new TopRow(this.constants_);
76
79
 
77
80
  /**
78
81
  * An object with rendering information about the bottom row of the block.
79
- * @type {!BottomRow}
80
- * @override
81
82
  */
82
83
  this.bottomRow = new BottomRow(this.constants_);
83
84
 
84
- /**
85
- * @override
86
- */
87
- this.isInline = true;
88
-
89
85
  /**
90
86
  * Whether the block should be rendered as a multi-line block, either
91
87
  * because it's not inline or because it has been collapsed.
92
- * @type {boolean}
93
88
  */
94
89
  this.isMultiRow = !block.getInputsInline() || block.isCollapsed();
95
90
 
96
91
  /**
97
92
  * Whether or not the block has a statement input in one of its rows.
98
- * @type {boolean}
99
93
  */
100
94
  this.hasStatementInput = block.statementInputCount > 0;
101
95
 
102
96
  /**
103
97
  * An object with rendering information about the right connection shape.
104
- * @type {RightConnectionShape}
105
98
  */
106
99
  this.rightSide = this.outputConnection ?
107
100
  new RightConnectionShape(this.constants_) :
@@ -110,25 +103,20 @@ class RenderInfo extends BaseRenderInfo {
110
103
  /**
111
104
  * A map of rows to right aligned dummy inputs within those rows. Used to
112
105
  * add padding between left and right aligned inputs.
113
- * @type {!WeakMap<!Row, !Input>}
114
- * @private
115
106
  */
116
107
  this.rightAlignedDummyInputs_ = new WeakMap();
117
108
  }
118
109
 
119
110
  /**
120
111
  * Get the block renderer in use.
121
- * @return {!Renderer} The block renderer in use.
122
- * @package
112
+ * @return The block renderer in use.
113
+ * @internal
123
114
  */
124
- getRenderer() {
125
- return /** @type {!Renderer} */ (this.renderer_);
115
+ override getRenderer(): Renderer {
116
+ return this.renderer_ as Renderer;
126
117
  }
127
118
 
128
- /**
129
- * @override
130
- */
131
- measure() {
119
+ override measure() {
132
120
  // Modifying parent measure method to add `adjustXPosition_`.
133
121
  this.createRows_();
134
122
  this.addElemSpacing_();
@@ -139,10 +127,7 @@ class RenderInfo extends BaseRenderInfo {
139
127
  this.finalize_();
140
128
  }
141
129
 
142
- /**
143
- * @override
144
- */
145
- shouldStartNewRow_(input, lastInput) {
130
+ override shouldStartNewRow_(input: Input, lastInput: Input): boolean {
146
131
  // If this is the first input, just add to the existing row.
147
132
  // That row is either empty or has some icons in it.
148
133
  if (!lastInput) {
@@ -160,21 +145,17 @@ class RenderInfo extends BaseRenderInfo {
160
145
  return false;
161
146
  }
162
147
 
163
- /**
164
- * @override
165
- */
166
- getDesiredRowWidth_(row) {
148
+ override getDesiredRowWidth_(row: Row): number {
167
149
  if (row.hasStatement) {
168
- const rightCornerWidth = this.constants_.INSIDE_CORNERS.rightWidth || 0;
150
+ const rightCornerWidth =
151
+ (this.constants_.INSIDE_CORNERS as InsideCorners).rightWidth || 0;
169
152
  return this.width - this.startX - rightCornerWidth;
170
153
  }
171
154
  return super.getDesiredRowWidth_(row);
172
155
  }
173
156
 
174
- /**
175
- * @override
176
- */
177
- getInRowSpacing_(prev, next) {
157
+ override getInRowSpacing_(prev: Measurable|null, next: Measurable|null):
158
+ number {
178
159
  if (!prev || !next) {
179
160
  // No need for padding at the beginning or end of the row if the
180
161
  // output shape is dynamic.
@@ -196,16 +177,16 @@ class RenderInfo extends BaseRenderInfo {
196
177
  }
197
178
  }
198
179
  // Spacing between a square corner and a hat.
199
- if (prev && Types.isLeftSquareCorner(prev) && next && Types.isHat(next)) {
180
+ // AnyDuringMigration because: Property 'isHat' does not exist on type
181
+ // 'typeof Types'.
182
+ if (prev && Types.isLeftSquareCorner(prev) && next &&
183
+ (Types as AnyDuringMigration).isHat(next)) {
200
184
  return this.constants_.NO_PADDING;
201
185
  }
202
186
  return this.constants_.MEDIUM_PADDING;
203
187
  }
204
188
 
205
- /**
206
- * @override
207
- */
208
- getSpacerRowHeight_(prev, next) {
189
+ override getSpacerRowHeight_(prev: Row, next: Row): number {
209
190
  // If we have an empty block add a spacer to increase the height.
210
191
  if (Types.isTopRow(prev) && Types.isBottomRow(next)) {
211
192
  return this.constants_.EMPTY_BLOCK_SPACER_HEIGHT;
@@ -213,7 +194,8 @@ class RenderInfo extends BaseRenderInfo {
213
194
  const followsStatement = Types.isInputRow(prev) && prev.hasStatement;
214
195
  const precedesStatement = Types.isInputRow(next) && next.hasStatement;
215
196
  if (precedesStatement || followsStatement) {
216
- const cornerHeight = this.constants_.INSIDE_CORNERS.rightHeight || 0;
197
+ const cornerHeight =
198
+ (this.constants_.INSIDE_CORNERS as InsideCorners).rightHeight || 0;
217
199
  const height = Math.max(this.constants_.NOTCH_HEIGHT, cornerHeight);
218
200
  return precedesStatement && followsStatement ?
219
201
  Math.max(height, this.constants_.DUMMY_INPUT_MIN_HEIGHT) :
@@ -221,7 +203,7 @@ class RenderInfo extends BaseRenderInfo {
221
203
  }
222
204
  // Top and bottom rows act as a spacer so we don't need any extra padding.
223
205
  if (Types.isTopRow(prev)) {
224
- const topRow = /** @type {!TopRow} */ (prev);
206
+ const topRow = prev as TopRow;
225
207
  if (!topRow.hasPreviousConnection &&
226
208
  (!this.outputConnection || this.hasStatementInput)) {
227
209
  return Math.abs(
@@ -230,7 +212,7 @@ class RenderInfo extends BaseRenderInfo {
230
212
  return this.constants_.NO_PADDING;
231
213
  }
232
214
  if (Types.isBottomRow(next)) {
233
- const bottomRow = /** @type {!BottomRow} */ (next);
215
+ const bottomRow = next as BottomRow;
234
216
  if (!this.outputConnection) {
235
217
  const topHeight = Math.max(
236
218
  this.topRow.minHeight,
@@ -248,22 +230,16 @@ class RenderInfo extends BaseRenderInfo {
248
230
  return this.constants_.MEDIUM_PADDING;
249
231
  }
250
232
 
251
- /**
252
- * @override
253
- */
254
- getSpacerRowWidth_(prev, next) {
233
+ override getSpacerRowWidth_(prev: Row, next: Row): number {
255
234
  const width = this.width - this.startX;
256
- if ((Types.isInputRow(prev) && prev.hasStatement) ||
257
- (Types.isInputRow(next) && next.hasStatement)) {
235
+ if (Types.isInputRow(prev) && prev.hasStatement ||
236
+ Types.isInputRow(next) && next.hasStatement) {
258
237
  return Math.max(width, this.constants_.STATEMENT_INPUT_SPACER_MIN_WIDTH);
259
238
  }
260
239
  return width;
261
240
  }
262
241
 
263
- /**
264
- * @override
265
- */
266
- getElemCenterline_(row, elem) {
242
+ override getElemCenterline_(row: Row, elem: Measurable): number {
267
243
  if (row.hasStatement && !Types.isSpacer(elem) &&
268
244
  !Types.isStatementInput(elem)) {
269
245
  return row.yPos + this.constants_.EMPTY_STATEMENT_INPUT_HEIGHT / 2;
@@ -278,10 +254,7 @@ class RenderInfo extends BaseRenderInfo {
278
254
  return super.getElemCenterline_(row, elem);
279
255
  }
280
256
 
281
- /**
282
- * @override
283
- */
284
- addInput_(input, activeRow) {
257
+ override addInput_(input: Input, activeRow: Row) {
285
258
  // If we have two dummy inputs on the same row, one aligned left and the
286
259
  // other right, keep track of the right aligned dummy input so we can add
287
260
  // padding later.
@@ -301,10 +274,7 @@ class RenderInfo extends BaseRenderInfo {
301
274
  super.addInput_(input, activeRow);
302
275
  }
303
276
 
304
- /**
305
- * @override
306
- */
307
- addAlignmentPadding_(row, missingSpace) {
277
+ override addAlignmentPadding_(row: Row, missingSpace: number) {
308
278
  if (this.rightAlignedDummyInputs_.get(row)) {
309
279
  let alignmentDivider;
310
280
  for (let i = 0; i < row.elements.length; i++) {
@@ -330,9 +300,8 @@ class RenderInfo extends BaseRenderInfo {
330
300
  * Adjust the x position of fields to bump all non-label fields in the first
331
301
  * row past the notch position. This must be called before ``computeBounds``
332
302
  * is called.
333
- * @protected
334
303
  */
335
- adjustXPosition_() {
304
+ protected adjustXPosition_() {
336
305
  const notchTotalWidth =
337
306
  this.constants_.NOTCH_OFFSET_LEFT + this.constants_.NOTCH_WIDTH;
338
307
  let minXPos = notchTotalWidth;
@@ -340,9 +309,9 @@ class RenderInfo extends BaseRenderInfo {
340
309
  // first input row (if the block has prev connection) and every input row
341
310
  // that has a prev and next notch.
342
311
  for (let i = 2; i < this.rows.length - 1; i += 2) {
343
- const prevSpacer = /** @type {!SpacerRow} */ (this.rows[i - 1]);
312
+ const prevSpacer = this.rows[i - 1] as SpacerRow;
344
313
  const row = this.rows[i];
345
- const nextSpacer = /** @type {!SpacerRow} */ (this.rows[i + 1]);
314
+ const nextSpacer = this.rows[i + 1] as SpacerRow;
346
315
 
347
316
  const hasPrevNotch = i === 2 ? !!this.topRow.hasPreviousConnection :
348
317
  !!prevSpacer.followsStatement;
@@ -383,13 +352,18 @@ class RenderInfo extends BaseRenderInfo {
383
352
  * output connection to match that of the block. For the right side, add a
384
353
  * right connection shape element and have it match the dimensions of the
385
354
  * output connection.
386
- * @protected
387
355
  */
388
- finalizeOutputConnection_() {
356
+ protected finalizeOutputConnection_() {
389
357
  // Dynamic output connections depend on the height of the block.
390
358
  if (!this.outputConnection || !this.outputConnection.isDynamicShape) {
391
359
  return;
392
360
  }
361
+ const outputConnectionShape = this.outputConnection.shape;
362
+ if (!('isDynamic' in outputConnectionShape &&
363
+ outputConnectionShape.isDynamic)) {
364
+ return;
365
+ }
366
+
393
367
  let yCursor = 0;
394
368
  // Determine the block height.
395
369
  for (let i = 0; i < this.rows.length; i++) {
@@ -403,26 +377,26 @@ class RenderInfo extends BaseRenderInfo {
403
377
  const blockHeight = this.bottomRow.hasNextConnection ?
404
378
  this.height - this.bottomRow.descenderHeight :
405
379
  this.height;
406
- const connectionHeight = this.outputConnection.shape.height(blockHeight);
407
- const connectionWidth = this.outputConnection.shape.width(blockHeight);
380
+ const connectionHeight = outputConnectionShape.height(blockHeight);
381
+ const connectionWidth = outputConnectionShape.width(blockHeight);
408
382
 
409
383
  this.outputConnection.height = connectionHeight;
410
384
  this.outputConnection.width = connectionWidth;
411
385
  this.outputConnection.startX = connectionWidth;
412
386
  this.outputConnection.connectionOffsetY =
413
- this.outputConnection.shape.connectionOffsetY(connectionHeight);
387
+ outputConnectionShape.connectionOffsetY(connectionHeight);
414
388
  this.outputConnection.connectionOffsetX =
415
- this.outputConnection.shape.connectionOffsetX(connectionWidth);
389
+ outputConnectionShape.connectionOffsetX(connectionWidth);
416
390
 
417
391
  // Add the right connection measurable.
418
392
  // Don't add it if we have a value-to-statement or a value-to-stack block.
419
393
  let rightConnectionWidth = 0;
420
394
  if (!this.hasStatementInput && !this.bottomRow.hasNextConnection) {
421
395
  rightConnectionWidth = connectionWidth;
422
- this.rightSide.height = connectionHeight;
423
- this.rightSide.width = rightConnectionWidth;
424
- this.rightSide.centerline = connectionHeight / 2;
425
- this.rightSide.xPos = this.width + rightConnectionWidth;
396
+ this.rightSide!.height = connectionHeight;
397
+ this.rightSide!.width = rightConnectionWidth;
398
+ this.rightSide!.centerline = connectionHeight / 2;
399
+ this.rightSide!.xPos = this.width + rightConnectionWidth;
426
400
  }
427
401
  this.startX = connectionWidth;
428
402
  this.width += connectionWidth + rightConnectionWidth;
@@ -434,9 +408,8 @@ class RenderInfo extends BaseRenderInfo {
434
408
  * reduce the implicit spacing created by the left and right output connection
435
409
  * shapes by adding setting negative spacing onto the leftmost and rightmost
436
410
  * spacers.
437
- * @protected
438
411
  */
439
- finalizeHorizontalAlignment_() {
412
+ protected finalizeHorizontalAlignment_() {
440
413
  if (!this.outputConnection || this.hasStatementInput ||
441
414
  this.bottomRow.hasNextConnection) {
442
415
  return;
@@ -468,10 +441,12 @@ class RenderInfo extends BaseRenderInfo {
468
441
  if (totalNegativeSpacing) {
469
442
  this.width -= totalNegativeSpacing;
470
443
  this.widthWithChildren -= totalNegativeSpacing;
471
- this.rightSide.xPos -= totalNegativeSpacing;
444
+ this.rightSide!.xPos -= totalNegativeSpacing;
472
445
  for (let i = 0; i < this.rows.length; i++) {
473
446
  const row = this.rows[i];
474
- if (Types.isTopOrBottomRow(row)) {
447
+ // AnyDuringMigration because: Property 'isTopOrBottomRow' does not
448
+ // exist on type 'typeof Types'.
449
+ if ((Types as AnyDuringMigration).isTopOrBottomRow(row)) {
475
450
  row.elements[1].width -= totalNegativeSpacing;
476
451
  }
477
452
  row.width -= totalNegativeSpacing;
@@ -483,19 +458,16 @@ class RenderInfo extends BaseRenderInfo {
483
458
  /**
484
459
  * Calculate the spacing to reduce the left and right edges by based on the
485
460
  * outer and inner connection shape.
486
- * @param {Measurable} elem The first or last element on
487
- * a block.
488
- * @return {number} The amount of spacing to reduce the first or last spacer.
489
- * @protected
461
+ * @param elem The first or last element on a block.
462
+ * @return The amount of spacing to reduce the first or last spacer.
490
463
  */
491
- getNegativeSpacing_(elem) {
464
+ protected getNegativeSpacing_(elem: Measurable): number {
492
465
  if (!elem) {
493
466
  return 0;
494
467
  }
495
468
  const connectionWidth = this.outputConnection.width;
496
469
  const outerShape = this.outputConnection.shape.type;
497
- const constants =
498
- /** @type {!ConstantProvider} */ (this.constants_);
470
+ const constants = (this.constants_);
499
471
  if (this.isMultiRow && this.inputRows.length > 1) {
500
472
  switch (outerShape) {
501
473
  case constants.SHAPES.ROUND: {
@@ -514,8 +486,11 @@ class RenderInfo extends BaseRenderInfo {
514
486
  if (Types.isInlineInput(elem) && elem instanceof InputConnection) {
515
487
  const connectedBlock = elem.connectedBlock;
516
488
  const innerShape = connectedBlock ?
517
- connectedBlock.pathObject.outputShapeType :
489
+ (connectedBlock.pathObject as PathObject).outputShapeType :
518
490
  elem.shape.type;
491
+ if (innerShape == null) {
492
+ return 0;
493
+ }
519
494
  // Special case for value to stack / value to statement blocks.
520
495
  if (connectedBlock && connectedBlock.outputConnection &&
521
496
  (connectedBlock.statementInputCount ||
@@ -533,7 +508,7 @@ class RenderInfo extends BaseRenderInfo {
533
508
  // Special case for text inputs.
534
509
  if (outerShape === constants.SHAPES.ROUND &&
535
510
  elem.field instanceof FieldTextInput) {
536
- return connectionWidth - (2.75 * constants.GRID_UNIT);
511
+ return connectionWidth - 2.75 * constants.GRID_UNIT;
537
512
  }
538
513
  return connectionWidth -
539
514
  this.constants_.SHAPE_IN_SHAPE_PADDING[outerShape][0];
@@ -547,18 +522,17 @@ class RenderInfo extends BaseRenderInfo {
547
522
  * Finalize vertical alignment of rows on a block. In particular, reduce the
548
523
  * implicit spacing when a non-shadow block is connected to any of an input
549
524
  * row's inline inputs.
550
- * @protected
551
525
  */
552
- finalizeVerticalAlignment_() {
526
+ protected finalizeVerticalAlignment_() {
553
527
  if (this.outputConnection) {
554
528
  return;
555
529
  }
556
530
  // Run through every input row on the block and only apply tight nesting
557
531
  // logic to input rows that have a prev and next notch.
558
532
  for (let i = 2; i < this.rows.length - 1; i += 2) {
559
- const prevSpacer = /** @type {!SpacerRow} */ (this.rows[i - 1]);
533
+ const prevSpacer = this.rows[i - 1] as SpacerRow;
560
534
  const row = this.rows[i];
561
- const nextSpacer = /** @type {!SpacerRow} */ (this.rows[i + 1]);
535
+ const nextSpacer = this.rows[i + 1] as SpacerRow;
562
536
 
563
537
  const firstRow = i === 2;
564
538
  const hasPrevNotch = firstRow ? !!this.topRow.hasPreviousConnection :
@@ -606,10 +580,7 @@ class RenderInfo extends BaseRenderInfo {
606
580
  }
607
581
  }
608
582
 
609
- /**
610
- * @override
611
- */
612
- finalize_() {
583
+ override finalize_() {
613
584
  this.finalizeOutputConnection_();
614
585
  this.finalizeHorizontalAlignment_();
615
586
  this.finalizeVerticalAlignment_();
@@ -620,5 +591,3 @@ class RenderInfo extends BaseRenderInfo {
620
591
  }
621
592
  }
622
593
  }
623
-
624
- exports.RenderInfo = RenderInfo;
@@ -0,0 +1,46 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2019 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { ASTNode } from '../../keyboard_nav/ast_node.js';
7
+ import type { Marker } from '../../keyboard_nav/marker.js';
8
+ import type { WorkspaceSvg } from '../../workspace_svg.js';
9
+ import type { ConstantProvider as BaseConstantProvider } from '../common/constants.js';
10
+ import { MarkerSvg as BaseMarkerSvg } from '../common/marker_svg.js';
11
+ import type { ConstantProvider as ZelosConstantProvider } from './constants.js';
12
+ /**
13
+ * Class to draw a marker.
14
+ * @alias Blockly.zelos.MarkerSvg
15
+ */
16
+ export declare class MarkerSvg extends BaseMarkerSvg {
17
+ constants_: ZelosConstantProvider;
18
+ private markerCircle_;
19
+ /**
20
+ * @param workspace The workspace the marker belongs to.
21
+ * @param constants The constants for the renderer.
22
+ * @param marker The marker to draw.
23
+ */
24
+ constructor(workspace: WorkspaceSvg, constants: BaseConstantProvider, marker: Marker);
25
+ /**
26
+ * Position and display the marker for an input or an output connection.
27
+ * @param curNode The node to draw the marker for.
28
+ */
29
+ private showWithInputOutput_;
30
+ showWithOutput_(curNode: ASTNode): void;
31
+ showWithInput_(curNode: ASTNode): void;
32
+ /**
33
+ * Draw a rectangle around the block.
34
+ * @param curNode The current node of the marker.
35
+ */
36
+ showWithBlock_(curNode: ASTNode): void;
37
+ /**
38
+ * Position the circle we use for input and output connections.
39
+ * @param x The x position of the circle.
40
+ * @param y The y position of the circle.
41
+ */
42
+ private positionCircle_;
43
+ hide(): void;
44
+ createDomInternal_(): SVGGElement;
45
+ applyColour_(curNode: ASTNode): void;
46
+ }