blockly 8.0.5 → 9.0.0-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 (736) hide show
  1. package/blockly.min.js +2002 -2269
  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/package.json +5 -5
  609. package/php.d.ts +0 -3
  610. package/php_compressed.js +322 -93
  611. package/php_compressed.js.map +1 -1
  612. package/python.d.ts +0 -3
  613. package/python_compressed.js +237 -90
  614. package/python_compressed.js.map +1 -1
  615. package/blockly.d.ts +0 -26127
  616. package/core/blockly_options.js +0 -28
  617. package/core/bubble_dragger.js +0 -298
  618. package/core/clipboard.js +0 -80
  619. package/core/component_manager.js +0 -263
  620. package/core/contextmenu_items.js +0 -651
  621. package/core/contextmenu_registry.js +0 -178
  622. package/core/delete_area.js +0 -87
  623. package/core/dialog.js +0 -107
  624. package/core/drag_target.js +0 -98
  625. package/core/events/events.js +0 -147
  626. package/core/events/events_abstract.js +0 -133
  627. package/core/events/events_block_base.js +0 -70
  628. package/core/events/events_block_drag.js +0 -89
  629. package/core/events/events_bubble_open.js +0 -90
  630. package/core/events/events_comment_base.js +0 -121
  631. package/core/events/events_marker_move.js +0 -110
  632. package/core/events/events_selected.js +0 -83
  633. package/core/events/events_toolbox_item_select.js +0 -84
  634. package/core/events/events_trashcan_open.js +0 -73
  635. package/core/events/events_var_base.js +0 -70
  636. package/core/events/events_viewport.js +0 -107
  637. package/core/events/workspace_events.js +0 -93
  638. package/core/field_angle.js +0 -591
  639. package/core/field_checkbox.js +0 -255
  640. package/core/field_colour.js +0 -717
  641. package/core/field_image.js +0 -304
  642. package/core/field_label.js +0 -149
  643. package/core/field_label_serializable.js +0 -80
  644. package/core/field_textinput.js +0 -619
  645. package/core/flyout_button.js +0 -356
  646. package/core/grid.js +0 -226
  647. package/core/icon.js +0 -225
  648. package/core/input.js +0 -335
  649. package/core/interfaces/i_ast_node_location_svg.js +0 -45
  650. package/core/interfaces/i_ast_node_location_with_block.js +0 -41
  651. package/core/interfaces/i_autohideable.js +0 -40
  652. package/core/interfaces/i_block_dragger.js +0 -66
  653. package/core/interfaces/i_bounded_element.js +0 -45
  654. package/core/interfaces/i_bubble.js +0 -95
  655. package/core/interfaces/i_collapsible_toolbox_item.js +0 -53
  656. package/core/interfaces/i_connection_checker.js +0 -104
  657. package/core/interfaces/i_contextmenu.js +0 -32
  658. package/core/interfaces/i_copyable.js +0 -49
  659. package/core/interfaces/i_delete_area.js +0 -50
  660. package/core/interfaces/i_drag_target.js +0 -88
  661. package/core/interfaces/i_flyout.js +0 -201
  662. package/core/interfaces/i_keyboard_accessible.js +0 -38
  663. package/core/interfaces/i_metrics_manager.js +0 -154
  664. package/core/interfaces/i_positionable.js +0 -51
  665. package/core/interfaces/i_selectable.js +0 -51
  666. package/core/interfaces/i_selectable_toolbox_item.js +0 -73
  667. package/core/interfaces/i_serializer.js +0 -77
  668. package/core/interfaces/i_styleable.js +0 -39
  669. package/core/interfaces/i_toolbox.js +0 -142
  670. package/core/interfaces/i_toolbox_item.js +0 -85
  671. package/core/marker_manager.js +0 -213
  672. package/core/menuitem.js +0 -292
  673. package/core/names.js +0 -293
  674. package/core/registry.js +0 -384
  675. package/core/renderers/common/block_rendering.js +0 -170
  676. package/core/renderers/common/constants.js +0 -1250
  677. package/core/renderers/common/i_path_object.js +0 -162
  678. package/core/renderers/common/marker_svg.js +0 -721
  679. package/core/renderers/common/path_object.js +0 -283
  680. package/core/renderers/common/renderer.js +0 -305
  681. package/core/renderers/geras/constants.js +0 -73
  682. package/core/renderers/geras/geras.js +0 -36
  683. package/core/renderers/geras/measurables/inline_input.js +0 -58
  684. package/core/renderers/geras/measurables/statement_input.js +0 -57
  685. package/core/renderers/geras/renderer.js +0 -149
  686. package/core/renderers/measurables/base.js +0 -64
  687. package/core/renderers/measurables/bottom_row.js +0 -138
  688. package/core/renderers/measurables/connection.js +0 -56
  689. package/core/renderers/measurables/external_value_input.js +0 -70
  690. package/core/renderers/measurables/field.js +0 -71
  691. package/core/renderers/measurables/in_row_spacer.js +0 -47
  692. package/core/renderers/measurables/input_connection.js +0 -75
  693. package/core/renderers/measurables/next_connection.js +0 -50
  694. package/core/renderers/measurables/output_connection.js +0 -61
  695. package/core/renderers/measurables/previous_connection.js +0 -50
  696. package/core/renderers/measurables/round_corner.js +0 -52
  697. package/core/renderers/measurables/row.js +0 -247
  698. package/core/renderers/measurables/spacer_row.js +0 -69
  699. package/core/renderers/measurables/square_corner.js +0 -50
  700. package/core/renderers/measurables/top_row.js +0 -143
  701. package/core/renderers/measurables/types.js +0 -353
  702. package/core/renderers/minimalist/drawer.js +0 -42
  703. package/core/renderers/minimalist/info.js +0 -54
  704. package/core/renderers/minimalist/minimalist.js +0 -26
  705. package/core/renderers/minimalist/renderer.js +0 -80
  706. package/core/renderers/thrasos/renderer.js +0 -53
  707. package/core/renderers/thrasos/thrasos.js +0 -22
  708. package/core/renderers/zelos/marker_svg.js +0 -179
  709. package/core/renderers/zelos/measurables/bottom_row.js +0 -66
  710. package/core/renderers/zelos/measurables/row_elements.js +0 -46
  711. package/core/renderers/zelos/path_object.js +0 -247
  712. package/core/renderers/zelos/renderer.js +0 -147
  713. package/core/renderers/zelos/zelos.js +0 -38
  714. package/core/serialization/exceptions.js +0 -144
  715. package/core/shortcut_registry.js +0 -366
  716. package/core/theme/themes.js +0 -23
  717. package/core/theme.js +0 -228
  718. package/core/theme_manager.js +0 -211
  719. package/core/toolbox/category.js +0 -751
  720. package/core/toolbox/collapsible_category.js +0 -311
  721. package/core/toolbox/separator.js +0 -133
  722. package/core/toolbox/toolbox_item.js +0 -173
  723. package/core/touch.js +0 -285
  724. package/core/utils/coordinate.js +0 -138
  725. package/core/utils/global.js +0 -41
  726. package/core/utils/keycodes.js +0 -172
  727. package/core/utils/metrics.js +0 -154
  728. package/core/utils/svg.js +0 -186
  729. package/core/utils/toolbox.js +0 -459
  730. package/core/utils/useragent.js +0 -197
  731. package/core/utils.js +0 -383
  732. package/core/variable_model.js +0 -96
  733. package/core/widgetdiv.js +0 -290
  734. package/core/workspace.js +0 -836
  735. package/core/workspace_comment.js +0 -400
  736. package/core/workspace_dragger.js +0 -115
@@ -7,48 +7,41 @@
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.RenderInfo');
17
-
18
- const {Align} = goog.require('Blockly.Input');
19
- /* eslint-disable-next-line no-unused-vars */
20
- const {BlockSvg} = goog.requireType('Blockly.BlockSvg');
21
- const {BottomRow} = goog.require('Blockly.blockRendering.BottomRow');
22
- /* eslint-disable-next-line no-unused-vars */
23
- const {ConstantProvider} = goog.requireType('Blockly.blockRendering.ConstantProvider');
24
- const {ExternalValueInput} = goog.require('Blockly.blockRendering.ExternalValueInput');
25
- const {Field} = goog.require('Blockly.blockRendering.Field');
26
- const {Hat} = goog.require('Blockly.blockRendering.Hat');
27
- const {Icon} = goog.require('Blockly.blockRendering.Icon');
28
- const {InRowSpacer} = goog.require('Blockly.blockRendering.InRowSpacer');
29
- const {InlineInput} = goog.require('Blockly.blockRendering.InlineInput');
30
- const {InputRow} = goog.require('Blockly.blockRendering.InputRow');
31
- /* eslint-disable-next-line no-unused-vars */
32
- const {Input} = goog.requireType('Blockly.Input');
33
- const {JaggedEdge} = goog.require('Blockly.blockRendering.JaggedEdge');
34
- /* eslint-disable-next-line no-unused-vars */
35
- const {Measurable} = goog.requireType('Blockly.blockRendering.Measurable');
36
- const {NextConnection} = goog.require('Blockly.blockRendering.NextConnection');
37
- const {OutputConnection} = goog.require('Blockly.blockRendering.OutputConnection');
38
- const {PreviousConnection} = goog.require('Blockly.blockRendering.PreviousConnection');
39
- /* eslint-disable-next-line no-unused-vars */
40
- const {RenderedConnection} = goog.requireType('Blockly.RenderedConnection');
41
- /* eslint-disable-next-line no-unused-vars */
42
- const {Renderer} = goog.requireType('Blockly.blockRendering.Renderer');
43
- const {RoundCorner} = goog.require('Blockly.blockRendering.RoundCorner');
44
- /* eslint-disable-next-line no-unused-vars */
45
- const {Row} = goog.requireType('Blockly.blockRendering.Row');
46
- const {SpacerRow} = goog.require('Blockly.blockRendering.SpacerRow');
47
- const {SquareCorner} = goog.require('Blockly.blockRendering.SquareCorner');
48
- const {StatementInput} = goog.require('Blockly.blockRendering.StatementInput');
49
- const {TopRow} = goog.require('Blockly.blockRendering.TopRow');
50
- const {Types} = goog.require('Blockly.blockRendering.Types');
51
- const {inputTypes} = goog.require('Blockly.inputTypes');
15
+ import * as goog from '../../../closure/goog/goog.js';
16
+ goog.declareModuleId('Blockly.blockRendering.RenderInfo');
17
+
18
+ import type {BlockSvg} from '../../block_svg.js';
19
+ import {Align, Input} from '../../input.js';
20
+ import {inputTypes} from '../../input_types.js';
21
+ import type {RenderedConnection} from '../../rendered_connection.js';
22
+ import type {Measurable} from '../measurables/base.js';
23
+ import {BottomRow} from '../measurables/bottom_row.js';
24
+ import {ExternalValueInput} from '../measurables/external_value_input.js';
25
+ import {Field} from '../measurables/field.js';
26
+ import {Hat} from '../measurables/hat.js';
27
+ import {Icon} from '../measurables/icon.js';
28
+ import {InRowSpacer} from '../measurables/in_row_spacer.js';
29
+ import {InlineInput} from '../measurables/inline_input.js';
30
+ import {InputRow} from '../measurables/input_row.js';
31
+ import {JaggedEdge} from '../measurables/jagged_edge.js';
32
+ import {NextConnection} from '../measurables/next_connection.js';
33
+ import {OutputConnection} from '../measurables/output_connection.js';
34
+ import {PreviousConnection} from '../measurables/previous_connection.js';
35
+ import {RoundCorner} from '../measurables/round_corner.js';
36
+ import type {Row} from '../measurables/row.js';
37
+ import {SpacerRow} from '../measurables/spacer_row.js';
38
+ import {SquareCorner} from '../measurables/square_corner.js';
39
+ import {StatementInput} from '../measurables/statement_input.js';
40
+ import {TopRow} from '../measurables/top_row.js';
41
+ import {Types} from '../measurables/types.js';
42
+
43
+ import type {ConstantProvider} from './constants.js';
44
+ import type {Renderer} from './renderer.js';
52
45
 
53
46
 
54
47
  /**
@@ -59,133 +52,107 @@ const {inputTypes} = goog.require('Blockly.inputTypes');
59
52
  * repeatedly may be expensive.
60
53
  * @alias Blockly.blockRendering.RenderInfo
61
54
  */
62
- class RenderInfo {
55
+ export class RenderInfo {
56
+ block_: AnyDuringMigration;
57
+ protected constants_: ConstantProvider;
58
+ outputConnection: OutputConnection;
59
+ isInline: boolean;
60
+ isCollapsed: boolean;
61
+ isInsertionMarker: boolean;
62
+ RTL: boolean;
63
+
64
+ /** The block renderer in use. */
65
+ protected readonly renderer_: Renderer;
66
+
67
+ /** The height of the rendered block, including child blocks. */
68
+ height = 0;
69
+
70
+ /** The width of the rendered block, including child blocks. */
71
+ widthWithChildren = 0;
72
+
63
73
  /**
64
- * @param {!Renderer} renderer The renderer in use.
65
- * @param {!BlockSvg} block The block to measure.
66
- * @package
74
+ * The width of the rendered block, excluding child blocks. This is the
75
+ * right edge of the block when rendered LTR.
67
76
  */
68
- constructor(renderer, block) {
69
- this.block_ = block;
77
+ width = 0;
78
+ statementEdge = 0;
70
79
 
71
- /**
72
- * The block renderer in use.
73
- * @type {!Renderer}
74
- * @protected
75
- */
80
+ /** An array of Row objects containing sizing information. */
81
+ rows: Row[] = [];
82
+
83
+ /** An array of input rows on the block. */
84
+ inputRows: InputRow[] = [];
85
+
86
+ /** An array of measurable objects containing hidden icons. */
87
+ hiddenIcons: Icon[] = [];
88
+ topRow: TopRow;
89
+ bottomRow: BottomRow;
90
+
91
+ // The position of the start point for drawing, relative to the block's
92
+ // location.
93
+ startX = 0;
94
+ startY = 0;
95
+
96
+ /**
97
+ * @param renderer The renderer in use.
98
+ * @param block The block to measure.
99
+ * @internal
100
+ */
101
+ constructor(renderer: Renderer, block: BlockSvg) {
76
102
  this.renderer_ = renderer;
77
103
 
78
- /**
79
- * The renderer's constant provider.
80
- * @type {!ConstantProvider}
81
- * @protected
82
- */
104
+ this.block_ = block;
105
+
106
+ /** The renderer's constant provider. */
83
107
  this.constants_ = this.renderer_.getConstants();
84
108
 
85
109
  /**
86
110
  * A measurable representing the output connection if the block has one.
87
111
  * Otherwise null.
88
- * @type {OutputConnection}
89
112
  */
90
- this.outputConnection = !block.outputConnection ?
91
- null :
92
- new OutputConnection(
93
- this.constants_,
94
- /** @type {!RenderedConnection} */ (block.outputConnection));
113
+ // AnyDuringMigration because: Type 'OutputConnection | null' is not
114
+ // assignable to type 'OutputConnection'.
115
+ this.outputConnection =
116
+ (!block.outputConnection ?
117
+ null :
118
+ new OutputConnection(this.constants_, (block.outputConnection))) as
119
+ AnyDuringMigration;
95
120
 
96
121
  /**
97
122
  * Whether the block should be rendered as a single line, either because
98
123
  * it's inline or because it has been collapsed.
99
- * @type {boolean}
100
124
  */
101
125
  this.isInline = block.getInputsInline() && !block.isCollapsed();
102
126
 
103
- /**
104
- * Whether the block is collapsed.
105
- * @type {boolean}
106
- */
127
+ /** Whether the block is collapsed. */
107
128
  this.isCollapsed = block.isCollapsed();
108
129
 
109
130
  /**
110
131
  * Whether the block is an insertion marker. Insertion markers are the same
111
132
  * shape as normal blocks, but don't show fields.
112
- * @type {boolean}
113
133
  */
114
134
  this.isInsertionMarker = block.isInsertionMarker();
115
135
 
116
- /**
117
- * True if the block should be rendered right-to-left.
118
- * @type {boolean}
119
- */
136
+ /** True if the block should be rendered right-to-left. */
120
137
  this.RTL = block.RTL;
121
138
 
122
- /**
123
- * The height of the rendered block, including child blocks.
124
- * @type {number}
125
- */
126
- this.height = 0;
127
-
128
- /**
129
- * The width of the rendered block, including child blocks.
130
- * @type {number}
131
- */
132
- this.widthWithChildren = 0;
133
-
134
- /**
135
- * The width of the rendered block, excluding child blocks. This is the
136
- * right edge of the block when rendered LTR.
137
- * @type {number}
138
- */
139
- this.width = 0;
140
-
141
- /**
142
- *
143
- * @type {number}
144
- */
145
- this.statementEdge = 0;
146
-
147
- /**
148
- * An array of Row objects containing sizing information.
149
- * @type {!Array<!Row>}
150
- */
151
- this.rows = [];
152
-
153
- /**
154
- * An array of input rows on the block.
155
- * @type {!Array<!InputRow>}
156
- */
157
- this.inputRows = [];
158
-
159
- /**
160
- * An array of measurable objects containing hidden icons.
161
- * @type {!Array<!Icon>}
162
- */
163
- this.hiddenIcons = [];
164
-
165
139
  /**
166
140
  * An object with rendering information about the top row of the block.
167
- * @type {!TopRow}
168
141
  */
169
142
  this.topRow = new TopRow(this.constants_);
170
143
 
171
144
  /**
172
145
  * An object with rendering information about the bottom row of the block.
173
- * @type {!BottomRow}
174
146
  */
175
147
  this.bottomRow = new BottomRow(this.constants_);
176
-
177
- // The position of the start point for drawing, relative to the block's
178
- // location.
179
- this.startX = 0;
180
- this.startY = 0;
181
148
  }
182
149
 
183
150
  /**
184
151
  * Get the block renderer in use.
185
- * @return {!Renderer} The block renderer in use.
186
- * @package
152
+ * @return The block renderer in use.
153
+ * @internal
187
154
  */
188
- getRenderer() {
155
+ getRenderer(): Renderer {
189
156
  return this.renderer_;
190
157
  }
191
158
 
@@ -196,8 +163,7 @@ class RenderInfo {
196
163
  * This measure pass does not propagate changes to the block (although fields
197
164
  * may choose to rerender when getSize() is called). However, calling it
198
165
  * repeatedly may be expensive.
199
- *
200
- * @package
166
+ * @internal
201
167
  */
202
168
  measure() {
203
169
  this.createRows_();
@@ -211,9 +177,8 @@ class RenderInfo {
211
177
  /**
212
178
  * Create rows of Measurable objects representing all renderable parts of the
213
179
  * block.
214
- * @protected
215
180
  */
216
- createRows_() {
181
+ protected createRows_() {
217
182
  this.populateTopRow_();
218
183
  this.rows.push(this.topRow);
219
184
  let activeRow = new InputRow(this.constants_);
@@ -221,7 +186,7 @@ class RenderInfo {
221
186
 
222
187
  // Icons always go on the first row, before anything else.
223
188
  const icons = this.block_.getIcons();
224
- for (let i = 0, icon; (icon = icons[i]); i++) {
189
+ for (let i = 0, icon; icon = icons[i]; i++) {
225
190
  const iconInfo = new Icon(this.constants_, icon);
226
191
  if (this.isCollapsed && icon.collapseHidden) {
227
192
  this.hiddenIcons.push(iconInfo);
@@ -233,7 +198,7 @@ class RenderInfo {
233
198
  let lastInput = null;
234
199
  // Loop across all of the inputs on the block, creating objects for anything
235
200
  // that needs to be rendered and breaking the block up into visual rows.
236
- for (let i = 0, input; (input = this.block_.inputList[i]); i++) {
201
+ for (let i = 0, input; input = this.block_.inputList[i]; i++) {
237
202
  if (!input.isVisible()) {
238
203
  continue;
239
204
  }
@@ -245,7 +210,7 @@ class RenderInfo {
245
210
  }
246
211
 
247
212
  // All of the fields in an input go on the same row.
248
- for (let j = 0, field; (field = input.fieldRow[j]); j++) {
213
+ for (let j = 0, field; field = input.fieldRow[j]; j++) {
249
214
  activeRow.elements.push(new Field(this.constants_, field, input));
250
215
  }
251
216
  this.addInput_(input, activeRow);
@@ -266,7 +231,7 @@ class RenderInfo {
266
231
 
267
232
  /**
268
233
  * Create all non-spacer elements that belong on the top row.
269
- * @package
234
+ * @internal
270
235
  */
271
236
  populateTopRow_() {
272
237
  const hasPrevious = !!this.block_.previousConnection;
@@ -287,8 +252,7 @@ class RenderInfo {
287
252
  this.topRow.hasPreviousConnection = true;
288
253
  this.topRow.connection = new PreviousConnection(
289
254
  this.constants_,
290
- /** @type {!RenderedConnection} */
291
- (this.block_.previousConnection));
255
+ (this.block_.previousConnection as RenderedConnection));
292
256
  this.topRow.elements.push(this.topRow.connection);
293
257
  }
294
258
 
@@ -311,7 +275,7 @@ class RenderInfo {
311
275
 
312
276
  /**
313
277
  * Create all non-spacer elements that belong on the bottom row.
314
- * @package
278
+ * @internal
315
279
  */
316
280
  populateBottomRow_() {
317
281
  this.bottomRow.hasNextConnection = !!this.block_.nextConnection;
@@ -339,8 +303,7 @@ class RenderInfo {
339
303
 
340
304
  if (this.bottomRow.hasNextConnection) {
341
305
  this.bottomRow.connection = new NextConnection(
342
- this.constants_,
343
- /** @type {!RenderedConnection} */ (this.block_.nextConnection));
306
+ this.constants_, (this.block_.nextConnection as RenderedConnection));
344
307
  this.bottomRow.elements.push(this.bottomRow.connection);
345
308
  }
346
309
 
@@ -356,12 +319,10 @@ class RenderInfo {
356
319
  /**
357
320
  * Add an input element to the active row, if needed, and record the type of
358
321
  * the input on the row.
359
- * @param {!Input} input The input to record information about.
360
- * @param {!Row} activeRow The row that is currently being
361
- * populated.
362
- * @protected
322
+ * @param input The input to record information about.
323
+ * @param activeRow The row that is currently being populated.
363
324
  */
364
- addInput_(input, activeRow) {
325
+ protected addInput_(input: Input, activeRow: Row) {
365
326
  // Non-dummy inputs have visual representations onscreen.
366
327
  if (this.isInline && input.type === inputTypes.VALUE) {
367
328
  activeRow.elements.push(new InlineInput(this.constants_, input));
@@ -377,7 +338,7 @@ class RenderInfo {
377
338
  // still important.
378
339
  activeRow.minHeight = Math.max(
379
340
  activeRow.minHeight,
380
- input.getSourceBlock() && input.getSourceBlock().isShadow() ?
341
+ input.getSourceBlock() && input.getSourceBlock()!.isShadow() ?
381
342
  this.constants_.DUMMY_INPUT_SHADOW_MIN_HEIGHT :
382
343
  this.constants_.DUMMY_INPUT_MIN_HEIGHT);
383
344
  activeRow.hasDummyInput = true;
@@ -389,12 +350,11 @@ class RenderInfo {
389
350
 
390
351
  /**
391
352
  * Decide whether to start a new row between the two Blockly.Inputs.
392
- * @param {!Input} input The first input to consider
393
- * @param {Input} lastInput The input that follows.
394
- * @return {boolean} True if the next input should be rendered on a new row.
395
- * @protected
353
+ * @param input The first input to consider
354
+ * @param lastInput The input that follows.
355
+ * @return True if the next input should be rendered on a new row.
396
356
  */
397
- shouldStartNewRow_(input, lastInput) {
357
+ protected shouldStartNewRow_(input: Input, lastInput: Input): boolean {
398
358
  // If this is the first input, just add to the existing row.
399
359
  // That row is either empty or has some icons in it.
400
360
  if (!lastInput) {
@@ -412,12 +372,9 @@ class RenderInfo {
412
372
  return false;
413
373
  }
414
374
 
415
- /**
416
- * Add horizontal spacing between and around elements within each row.
417
- * @protected
418
- */
419
- addElemSpacing_() {
420
- for (let i = 0, row; (row = this.rows[i]); i++) {
375
+ /** Add horizontal spacing between and around elements within each row. */
376
+ protected addElemSpacing_() {
377
+ for (let i = 0, row; row = this.rows[i]; i++) {
421
378
  const oldElems = row.elements;
422
379
  row.elements = [];
423
380
  // No spacing needed before the corner on the top row or the bottom row.
@@ -448,13 +405,12 @@ class RenderInfo {
448
405
  * Calculate the width of a spacer element in a row based on the previous and
449
406
  * next elements in that row. For instance, extra padding is added between
450
407
  * two editable fields.
451
- * @param {Measurable} prev The element before the
452
- * spacer.
453
- * @param {Measurable} next The element after the spacer.
454
- * @return {number} The size of the spacing between the two elements.
455
- * @protected
408
+ * @param prev The element before the spacer.
409
+ * @param next The element after the spacer.
410
+ * @return The size of the spacing between the two elements.
456
411
  */
457
- getInRowSpacing_(prev, next) {
412
+ protected getInRowSpacing_(prev: Measurable|null, next: Measurable|null):
413
+ number {
458
414
  if (!prev) {
459
415
  // Statement input padding.
460
416
  if (next && Types.isStatementInput(next)) {
@@ -463,7 +419,9 @@ class RenderInfo {
463
419
  }
464
420
  // Between inputs and the end of the row.
465
421
  if (prev && Types.isInput(prev) && !next) {
466
- if (Types.isExternalInput(prev)) {
422
+ // AnyDuringMigration because: Property 'isExternalInput' does not exist
423
+ // on type 'typeof Types'.
424
+ if ((Types as AnyDuringMigration).isExternalInput(prev)) {
467
425
  return this.constants_.NO_PADDING;
468
426
  } else if (Types.isInlineInput(prev)) {
469
427
  return this.constants_.LARGE_PADDING;
@@ -492,13 +450,12 @@ class RenderInfo {
492
450
  /**
493
451
  * Figure out where the right edge of the block and right edge of statement
494
452
  * inputs should be placed.
495
- * @protected
496
453
  */
497
- computeBounds_() {
454
+ protected computeBounds_() {
498
455
  let widestStatementRowFields = 0;
499
456
  let blockWidth = 0;
500
457
  let widestRowWithConnectedBlocks = 0;
501
- for (let i = 0, row; (row = this.rows[i]); i++) {
458
+ for (let i = 0, row; row = this.rows[i]; i++) {
502
459
  row.measure();
503
460
  blockWidth = Math.max(blockWidth, row.width);
504
461
  if (row.hasStatement) {
@@ -514,7 +471,7 @@ class RenderInfo {
514
471
  this.statementEdge = widestStatementRowFields;
515
472
  this.width = blockWidth;
516
473
 
517
- for (let i = 0, row; (row = this.rows[i]); i++) {
474
+ for (let i = 0, row; row = this.rows[i]; i++) {
518
475
  if (row.hasStatement) {
519
476
  row.statementEdge = this.statementEdge;
520
477
  }
@@ -533,13 +490,11 @@ class RenderInfo {
533
490
  * Extra spacing may be necessary to make sure that the right sides of all
534
491
  * rows line up. This can only be calculated after a first pass to calculate
535
492
  * the sizes of all rows.
536
- * @protected
537
493
  */
538
- alignRowElements_() {
539
- for (let i = 0, row; (row = this.rows[i]); i++) {
494
+ protected alignRowElements_() {
495
+ for (let i = 0, row; row = this.rows[i]; i++) {
540
496
  if (row.hasStatement) {
541
- this.alignStatementRow_(
542
- /** @type {!InputRow} */ (row));
497
+ this.alignStatementRow_(row as InputRow);
543
498
  } else {
544
499
  const currentWidth = row.width;
545
500
  const desiredWidth = this.getDesiredRowWidth_(row);
@@ -547,7 +502,9 @@ class RenderInfo {
547
502
  if (missingSpace > 0) {
548
503
  this.addAlignmentPadding_(row, missingSpace);
549
504
  }
550
- if (Types.isTopOrBottomRow(row)) {
505
+ // AnyDuringMigration because: Property 'isTopOrBottomRow' does not
506
+ // exist on type 'typeof Types'.
507
+ if ((Types as AnyDuringMigration).isTopOrBottomRow(row)) {
551
508
  row.widthWithConnectedBlocks = row.width;
552
509
  }
553
510
  }
@@ -556,11 +513,10 @@ class RenderInfo {
556
513
 
557
514
  /**
558
515
  * Calculate the desired width of an input row.
559
- * @param {!Row} _row The input row.
560
- * @return {number} The desired width of the input row.
561
- * @protected
516
+ * @param _row The input row.
517
+ * @return The desired width of the input row.
562
518
  */
563
- getDesiredRowWidth_(_row) {
519
+ protected getDesiredRowWidth_(_row: Row): number {
564
520
  return this.width - this.startX;
565
521
  }
566
522
 
@@ -568,11 +524,10 @@ class RenderInfo {
568
524
  * Modify the given row to add the given amount of padding around its fields.
569
525
  * The exact location of the padding is based on the alignment property of the
570
526
  * last input in the field.
571
- * @param {!Row} row The row to add padding to.
572
- * @param {number} missingSpace How much padding to add.
573
- * @protected
527
+ * @param row The row to add padding to.
528
+ * @param missingSpace How much padding to add.
574
529
  */
575
- addAlignmentPadding_(row, missingSpace) {
530
+ protected addAlignmentPadding_(row: Row, missingSpace: number) {
576
531
  const firstSpacer = row.getFirstSpacer();
577
532
  const lastSpacer = row.getLastSpacer();
578
533
  if (row.hasExternalInput || row.hasStatement) {
@@ -600,10 +555,9 @@ class RenderInfo {
600
555
  /**
601
556
  * Align the elements of a statement row based on computed bounds.
602
557
  * Unlike other types of rows, statement rows add space in multiple places.
603
- * @param {!InputRow} row The statement row to resize.
604
- * @protected
558
+ * @param row The statement row to resize.
605
559
  */
606
- alignStatementRow_(row) {
560
+ protected alignStatementRow_(row: InputRow) {
607
561
  const statementInput = row.getLastInput();
608
562
  let currentWidth = row.width - statementInput.width;
609
563
  let desiredWidth = this.statementEdge;
@@ -616,18 +570,15 @@ class RenderInfo {
616
570
  // block. Note that this does not add padding.
617
571
  currentWidth = row.width;
618
572
  desiredWidth = this.getDesiredRowWidth_(row);
619
- statementInput.width += (desiredWidth - currentWidth);
573
+ statementInput.width += desiredWidth - currentWidth;
620
574
  statementInput.height = Math.max(statementInput.height, row.height);
621
- row.width += (desiredWidth - currentWidth);
575
+ row.width += desiredWidth - currentWidth;
622
576
  row.widthWithConnectedBlocks =
623
577
  Math.max(row.width, this.statementEdge + row.connectedBlockWidths);
624
578
  }
625
579
 
626
- /**
627
- * Add spacers between rows and set their sizes.
628
- * @protected
629
- */
630
- addRowSpacing_() {
580
+ /** Add spacers between rows and set their sizes. */
581
+ protected addRowSpacing_() {
631
582
  const oldRows = this.rows;
632
583
  this.rows = [];
633
584
 
@@ -641,12 +592,11 @@ class RenderInfo {
641
592
 
642
593
  /**
643
594
  * Create a spacer row to go between prev and next, and set its size.
644
- * @param {!Row} prev The previous row.
645
- * @param {!Row} next The next row.
646
- * @return {!SpacerRow} The newly created spacer row.
647
- * @protected
595
+ * @param prev The previous row.
596
+ * @param next The next row.
597
+ * @return The newly created spacer row.
648
598
  */
649
- makeSpacerRow_(prev, next) {
599
+ protected makeSpacerRow_(prev: Row, next: Row): SpacerRow {
650
600
  const height = this.getSpacerRowHeight_(prev, next);
651
601
  const width = this.getSpacerRowWidth_(prev, next);
652
602
  const spacer = new SpacerRow(this.constants_, height, width);
@@ -661,25 +611,21 @@ class RenderInfo {
661
611
 
662
612
  /**
663
613
  * Calculate the width of a spacer row.
664
- * @param {!Row} _prev The row before the spacer.
665
- * @param {!Row} _next The row after the spacer.
666
- * @return {number} The desired width of the spacer row between these two
667
- * rows.
668
- * @protected
614
+ * @param _prev The row before the spacer.
615
+ * @param _next The row after the spacer.
616
+ * @return The desired width of the spacer row between these two rows.
669
617
  */
670
- getSpacerRowWidth_(_prev, _next) {
618
+ protected getSpacerRowWidth_(_prev: Row, _next: Row): number {
671
619
  return this.width - this.startX;
672
620
  }
673
621
 
674
622
  /**
675
623
  * Calculate the height of a spacer row.
676
- * @param {!Row} _prev The row before the spacer.
677
- * @param {!Row} _next The row after the spacer.
678
- * @return {number} The desired height of the spacer row between these two
679
- * rows.
680
- * @protected
624
+ * @param _prev The row before the spacer.
625
+ * @param _next The row after the spacer.
626
+ * @return The desired height of the spacer row between these two rows.
681
627
  */
682
- getSpacerRowHeight_(_prev, _next) {
628
+ protected getSpacerRowHeight_(_prev: Row, _next: Row): number {
683
629
  return this.constants_.MEDIUM_PADDING;
684
630
  }
685
631
 
@@ -688,18 +634,17 @@ class RenderInfo {
688
634
  * This base implementation puts the centerline at the middle of the row
689
635
  * vertically, with no special cases. You will likely need extra logic to
690
636
  * handle (at minimum) top and bottom rows.
691
- * @param {!Row} row The row containing the element.
692
- * @param {!Measurable} elem The element to place.
693
- * @return {number} The desired centerline of the given element, as an offset
694
- * from the top left of the block.
695
- * @protected
637
+ * @param row The row containing the element.
638
+ * @param elem The element to place.
639
+ * @return The desired centerline of the given element, as an offset from the
640
+ * top left of the block.
696
641
  */
697
- getElemCenterline_(row, elem) {
642
+ protected getElemCenterline_(row: Row, elem: Measurable): number {
698
643
  if (Types.isSpacer(elem)) {
699
644
  return row.yPos + elem.height / 2;
700
645
  }
701
646
  if (Types.isBottomRow(row)) {
702
- const bottomRow = /** @type {!BottomRow} */ (row);
647
+ const bottomRow = row as BottomRow;
703
648
  const baseline =
704
649
  bottomRow.yPos + bottomRow.height - bottomRow.descenderHeight;
705
650
  if (Types.isNextConnection(elem)) {
@@ -708,8 +653,10 @@ class RenderInfo {
708
653
  return baseline - elem.height / 2;
709
654
  }
710
655
  if (Types.isTopRow(row)) {
711
- const topRow = /** @type {!TopRow} */ (row);
712
- if (Types.isHat(elem)) {
656
+ const topRow = row as TopRow;
657
+ // AnyDuringMigration because: Property 'isHat' does not exist on type
658
+ // 'typeof Types'.
659
+ if ((Types as AnyDuringMigration).isHat(elem)) {
713
660
  return topRow.capline - elem.height / 2;
714
661
  }
715
662
  return topRow.capline + elem.height / 2;
@@ -720,12 +667,11 @@ class RenderInfo {
720
667
  /**
721
668
  * Record final position information on elements on the given row, for use in
722
669
  * drawing. At minimum this records xPos and centerline on each element.
723
- * @param {!Row} row The row containing the elements.
724
- * @protected
670
+ * @param row The row containing the elements.
725
671
  */
726
- recordElemPositions_(row) {
672
+ protected recordElemPositions_(row: Row) {
727
673
  let xCursor = row.xPos;
728
- for (let j = 0, elem; (elem = row.elements[j]); j++) {
674
+ for (let j = 0, elem; elem = row.elements[j]; j++) {
729
675
  // Now that row heights are finalized, make spacers use the row height.
730
676
  if (Types.isSpacer(elem)) {
731
677
  elem.height = row.height;
@@ -739,15 +685,14 @@ class RenderInfo {
739
685
  /**
740
686
  * Make any final changes to the rendering information object. In particular,
741
687
  * store the y position of each row, and record the height of the full block.
742
- * @protected
743
688
  */
744
- finalize_() {
689
+ protected finalize_() {
745
690
  // Performance note: this could be combined with the draw pass, if the time
746
691
  // that this takes is excessive. But it shouldn't be, because it only
747
692
  // accesses and sets properties that already exist on the objects.
748
693
  let widestRowWithConnectedBlocks = 0;
749
694
  let yCursor = 0;
750
- for (let i = 0, row; (row = this.rows[i]); i++) {
695
+ for (let i = 0, row; row = this.rows[i]; i++) {
751
696
  row.yPos = yCursor;
752
697
  row.xPos = this.startX;
753
698
  yCursor += row.height;
@@ -771,5 +716,3 @@ class RenderInfo {
771
716
  this.bottomRow.baseline = yCursor - this.bottomRow.descenderHeight;
772
717
  }
773
718
  }
774
-
775
- exports.RenderInfo = RenderInfo;