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,51 +7,50 @@
7
7
  /**
8
8
  * @fileoverview Horizontal flyout tray containing blocks which may be created.
9
9
  */
10
- 'use strict';
11
10
 
12
11
  /**
13
12
  * Horizontal flyout tray containing blocks which may be created.
14
13
  * @class
15
14
  */
16
- goog.module('Blockly.HorizontalFlyout');
17
-
18
- const WidgetDiv = goog.require('Blockly.WidgetDiv');
19
- const browserEvents = goog.require('Blockly.browserEvents');
20
- const dropDownDiv = goog.require('Blockly.dropDownDiv');
21
- const registry = goog.require('Blockly.registry');
22
- const toolbox = goog.require('Blockly.utils.toolbox');
23
- /* eslint-disable-next-line no-unused-vars */
24
- const {Coordinate} = goog.requireType('Blockly.utils.Coordinate');
25
- const {Flyout} = goog.require('Blockly.Flyout');
26
- /* eslint-disable-next-line no-unused-vars */
27
- const {Options} = goog.requireType('Blockly.Options');
28
- const {Rect} = goog.require('Blockly.utils.Rect');
29
- const {Scrollbar} = goog.require('Blockly.Scrollbar');
15
+ import * as goog from '../closure/goog/goog.js';
16
+ goog.declareModuleId('Blockly.HorizontalFlyout');
17
+
18
+ import * as browserEvents from './browser_events.js';
19
+ import * as dropDownDiv from './dropdowndiv.js';
20
+ import {Flyout, FlyoutItem} from './flyout_base.js';
21
+ import type {FlyoutButton} from './flyout_button.js';
22
+ import type {Options} from './options.js';
23
+ import * as registry from './registry.js';
24
+ import {Scrollbar} from './scrollbar.js';
25
+ import type {Coordinate} from './utils/coordinate.js';
26
+ import {Rect} from './utils/rect.js';
27
+ import * as toolbox from './utils/toolbox.js';
28
+ import * as WidgetDiv from './widgetdiv.js';
30
29
 
31
30
 
32
31
  /**
33
32
  * Class for a flyout.
34
- * @extends {Flyout}
35
33
  * @alias Blockly.HorizontalFlyout
36
34
  */
37
- class HorizontalFlyout extends Flyout {
38
- /**
39
- * @param {!Options} workspaceOptions Dictionary of options for the
40
- * workspace.
41
- */
42
- constructor(workspaceOptions) {
35
+ export class HorizontalFlyout extends Flyout {
36
+ override horizontalLayout = true;
37
+ // Record the width for workspace metrics.
38
+ override width_: AnyDuringMigration;
39
+
40
+ // Record the height for workspace metrics and .position.
41
+ override height_: AnyDuringMigration;
42
+
43
+ /** @param workspaceOptions Dictionary of options for the workspace. */
44
+ constructor(workspaceOptions: Options) {
43
45
  super(workspaceOptions);
44
- this.horizontalLayout = true;
45
46
  }
46
47
 
47
48
  /**
48
49
  * Sets the translation of the flyout to match the scrollbars.
49
- * @param {!{x:number,y:number}} xyRatio Contains a y property which is a
50
- * float between 0 and 1 specifying the degree of scrolling and a similar
51
- * x property.
52
- * @protected
50
+ * @param xyRatio Contains a y property which is a float between 0 and 1
51
+ * specifying the degree of scrolling and a similar x property.
53
52
  */
54
- setMetrics_(xyRatio) {
53
+ protected override setMetrics_(xyRatio: {x: number, y: number}) {
55
54
  if (!this.isVisible()) {
56
55
  return;
57
56
  }
@@ -74,22 +73,22 @@ class HorizontalFlyout extends Flyout {
74
73
 
75
74
  /**
76
75
  * Calculates the x coordinate for the flyout position.
77
- * @return {number} X coordinate.
76
+ * @return X coordinate.
78
77
  */
79
- getX() {
78
+ override getX(): number {
80
79
  // X is always 0 since this is a horizontal flyout.
81
80
  return 0;
82
81
  }
83
82
 
84
83
  /**
85
84
  * Calculates the y coordinate for the flyout position.
86
- * @return {number} Y coordinate.
85
+ * @return Y coordinate.
87
86
  */
88
- getY() {
87
+ override getY(): number {
89
88
  if (!this.isVisible()) {
90
89
  return 0;
91
90
  }
92
- const metricsManager = this.targetWorkspace.getMetricsManager();
91
+ const metricsManager = this.targetWorkspace!.getMetricsManager();
93
92
  const absoluteMetrics = metricsManager.getAbsoluteMetrics();
94
93
  const viewMetrics = metricsManager.getViewMetrics();
95
94
  const toolboxMetrics = metricsManager.getToolboxMetrics();
@@ -97,15 +96,16 @@ class HorizontalFlyout extends Flyout {
97
96
  let y = 0;
98
97
  const atTop = this.toolboxPosition_ === toolbox.Position.TOP;
99
98
  // If this flyout is not the trashcan flyout (e.g. toolbox or mutator).
100
- if (this.targetWorkspace.toolboxPosition === this.toolboxPosition_) {
99
+ // Trashcan flyout is opposite the main flyout.
100
+ if (this.targetWorkspace!.toolboxPosition === this.toolboxPosition_) {
101
101
  // If there is a category toolbox.
102
- if (this.targetWorkspace.getToolbox()) {
102
+ // Simple (flyout-only) toolbox.
103
+ if (this.targetWorkspace!.getToolbox()) {
103
104
  if (atTop) {
104
105
  y = toolboxMetrics.height;
105
106
  } else {
106
107
  y = viewMetrics.height - this.height_;
107
108
  }
108
- // Simple (flyout-only) toolbox.
109
109
  } else {
110
110
  if (atTop) {
111
111
  y = 0;
@@ -114,7 +114,6 @@ class HorizontalFlyout extends Flyout {
114
114
  y = viewMetrics.height;
115
115
  }
116
116
  }
117
- // Trashcan flyout is opposite the main flyout.
118
117
  } else {
119
118
  if (atTop) {
120
119
  y = 0;
@@ -130,17 +129,13 @@ class HorizontalFlyout extends Flyout {
130
129
  return y;
131
130
  }
132
131
 
133
- /**
134
- * Move the flyout to the edge of the workspace.
135
- */
136
- position() {
137
- if (!this.isVisible() || !this.targetWorkspace.isVisible()) {
132
+ /** Move the flyout to the edge of the workspace. */
133
+ override position() {
134
+ if (!this.isVisible() || !this.targetWorkspace!.isVisible()) {
138
135
  return;
139
136
  }
140
- const metricsManager = this.targetWorkspace.getMetricsManager();
137
+ const metricsManager = this.targetWorkspace!.getMetricsManager();
141
138
  const targetWorkspaceViewMetrics = metricsManager.getViewMetrics();
142
-
143
- // Record the width for workspace metrics.
144
139
  this.width_ = targetWorkspaceViewMetrics.width;
145
140
 
146
141
  const edgeWidth = targetWorkspaceViewMetrics.width - 2 * this.CORNER_RADIUS;
@@ -155,16 +150,13 @@ class HorizontalFlyout extends Flyout {
155
150
 
156
151
  /**
157
152
  * Create and set the path for the visible boundaries of the flyout.
158
- * @param {number} width The width of the flyout, not including the
159
- * rounded corners.
160
- * @param {number} height The height of the flyout, not including
161
- * rounded corners.
162
- * @private
153
+ * @param width The width of the flyout, not including the rounded corners.
154
+ * @param height The height of the flyout, not including rounded corners.
163
155
  */
164
- setBackgroundPath_(width, height) {
156
+ private setBackgroundPath_(width: number, height: number) {
165
157
  const atTop = this.toolboxPosition_ === toolbox.Position.TOP;
166
158
  // Start at top left.
167
- const path = ['M 0,' + (atTop ? 0 : this.CORNER_RADIUS)];
159
+ const path: (string|number)[] = ['M 0,' + (atTop ? 0 : this.CORNER_RADIUS)];
168
160
 
169
161
  if (atTop) {
170
162
  // Top.
@@ -197,22 +189,19 @@ class HorizontalFlyout extends Flyout {
197
189
  // Left.
198
190
  path.push('z');
199
191
  }
200
- this.svgBackground_.setAttribute('d', path.join(' '));
192
+ this.svgBackground_!.setAttribute('d', path.join(' '));
201
193
  }
202
194
 
203
- /**
204
- * Scroll the flyout to the top.
205
- */
206
- scrollToStart() {
195
+ /** Scroll the flyout to the top. */
196
+ override scrollToStart() {
207
197
  this.workspace_.scrollbar.setX(this.RTL ? Infinity : 0);
208
198
  }
209
199
 
210
200
  /**
211
201
  * Scroll the flyout.
212
- * @param {!Event} e Mouse wheel scroll event.
213
- * @protected
202
+ * @param e Mouse wheel scroll event.
214
203
  */
215
- wheel_(e) {
204
+ protected override wheel_(e: WheelEvent) {
216
205
  const scrollDelta = browserEvents.getScrollDeltaPixels(e);
217
206
  const delta = scrollDelta.x || scrollDelta.y;
218
207
 
@@ -221,14 +210,13 @@ class HorizontalFlyout extends Flyout {
221
210
  const scrollMetrics = metricsManager.getScrollMetrics();
222
211
  const viewMetrics = metricsManager.getViewMetrics();
223
212
 
224
- const pos = (viewMetrics.left - scrollMetrics.left) + delta;
213
+ const pos = viewMetrics.left - scrollMetrics.left + delta;
225
214
  this.workspace_.scrollbar.setX(pos);
226
215
  // When the flyout moves from a wheel event, hide WidgetDiv and
227
216
  // dropDownDiv.
228
217
  WidgetDiv.hide();
229
218
  dropDownDiv.hideWithoutAnimation();
230
219
  }
231
-
232
220
  // Don't scroll the page.
233
221
  e.preventDefault();
234
222
  // Don't propagate mousewheel event (zooming).
@@ -237,12 +225,11 @@ class HorizontalFlyout extends Flyout {
237
225
 
238
226
  /**
239
227
  * Lay out the blocks in the flyout.
240
- * @param {!Array<!Object>} contents The blocks and buttons to lay out.
241
- * @param {!Array<number>} gaps The visible gaps between blocks.
242
- * @protected
228
+ * @param contents The blocks and buttons to lay out.
229
+ * @param gaps The visible gaps between blocks.
243
230
  */
244
- layout_(contents, gaps) {
245
- this.workspace_.scale = this.targetWorkspace.scale;
231
+ protected override layout_(contents: FlyoutItem[], gaps: number[]) {
232
+ this.workspace_.scale = this.targetWorkspace!.scale;
246
233
  const margin = this.MARGIN;
247
234
  let cursorX = margin + this.tabWidth_;
248
235
  const cursorY = margin;
@@ -250,37 +237,42 @@ class HorizontalFlyout extends Flyout {
250
237
  contents = contents.reverse();
251
238
  }
252
239
 
253
- for (let i = 0, item; (item = contents[i]); i++) {
240
+ for (let i = 0, item; item = contents[i]; i++) {
254
241
  if (item.type === 'block') {
255
242
  const block = item.block;
256
- const allBlocks = block.getDescendants(false);
257
- for (let j = 0, child; (child = allBlocks[j]); j++) {
243
+ const allBlocks = block!.getDescendants(false);
244
+ for (let j = 0, child; child = allBlocks[j]; j++) {
258
245
  // Mark blocks as being inside a flyout. This is used to detect and
259
246
  // prevent the closure of the flyout if the user right-clicks on such
260
247
  // a block.
261
248
  child.isInFlyout = true;
262
249
  }
263
- block.render();
264
- const root = block.getSvgRoot();
265
- const blockHW = block.getHeightWidth();
266
-
250
+ block!.render();
251
+ const root = block!.getSvgRoot();
252
+ const blockHW = block!.getHeightWidth();
267
253
  // Figure out where to place the block.
268
- const tab = block.outputConnection ? this.tabWidth_ : 0;
254
+ const tab = block!.outputConnection ? this.tabWidth_ : 0;
269
255
  let moveX;
270
256
  if (this.RTL) {
271
257
  moveX = cursorX + blockHW.width;
272
258
  } else {
273
259
  moveX = cursorX - tab;
274
260
  }
275
- block.moveBy(moveX, cursorY);
261
+ block!.moveBy(moveX, cursorY);
276
262
 
277
- const rect = this.createRect_(block, moveX, cursorY, blockHW, i);
278
- cursorX += (blockHW.width + gaps[i]);
263
+ // AnyDuringMigration because: Argument of type 'BlockSvg | undefined'
264
+ // is not assignable to parameter of type 'BlockSvg'.
265
+ const rect = this.createRect_(
266
+ block as AnyDuringMigration, moveX, cursorY, blockHW, i);
267
+ cursorX += blockHW.width + gaps[i];
279
268
 
280
- this.addBlockListeners_(root, block, rect);
269
+ // AnyDuringMigration because: Argument of type 'BlockSvg | undefined'
270
+ // is not assignable to parameter of type 'BlockSvg'.
271
+ this.addBlockListeners_(root, block as AnyDuringMigration, rect);
281
272
  } else if (item.type === 'button') {
282
- this.initFlyoutButton_(item.button, cursorX, cursorY);
283
- cursorX += (item.button.width + gaps[i]);
273
+ const button = item.button as FlyoutButton;
274
+ this.initFlyoutButton_(button, cursorX, cursorY);
275
+ cursorX += button.width + gaps[i];
284
276
  }
285
277
  }
286
278
  }
@@ -289,12 +281,12 @@ class HorizontalFlyout extends Flyout {
289
281
  * Determine if a drag delta is toward the workspace, based on the position
290
282
  * and orientation of the flyout. This is used in determineDragIntention_ to
291
283
  * determine if a new block should be created or if the flyout should scroll.
292
- * @param {!Coordinate} currentDragDeltaXY How far the pointer has
293
- * moved from the position at mouse down, in pixel units.
294
- * @return {boolean} True if the drag is toward the workspace.
295
- * @package
284
+ * @param currentDragDeltaXY How far the pointer has moved from the position
285
+ * at mouse down, in pixel units.
286
+ * @return True if the drag is toward the workspace.
287
+ * @internal
296
288
  */
297
- isDragTowardWorkspace(currentDragDeltaXY) {
289
+ override isDragTowardWorkspace(currentDragDeltaXY: Coordinate): boolean {
298
290
  const dx = currentDragDeltaXY.x;
299
291
  const dy = currentDragDeltaXY.y;
300
292
  // Direction goes from -180 to 180, with 0 toward the right and 90 on top.
@@ -302,8 +294,8 @@ class HorizontalFlyout extends Flyout {
302
294
 
303
295
  const range = this.dragAngleRange_;
304
296
  // Check for up or down dragging.
305
- if ((dragDirection < 90 + range && dragDirection > 90 - range) ||
306
- (dragDirection > -90 - range && dragDirection < -90 + range)) {
297
+ if (dragDirection < 90 + range && dragDirection > 90 - range ||
298
+ dragDirection > -90 - range && dragDirection < -90 + range) {
307
299
  return true;
308
300
  }
309
301
  return false;
@@ -312,10 +304,10 @@ class HorizontalFlyout extends Flyout {
312
304
  /**
313
305
  * Returns the bounding rectangle of the drag target area in pixel units
314
306
  * relative to viewport.
315
- * @return {?Rect} The component's bounding box. Null if drag
316
- * target area should be ignored.
307
+ * @return The component's bounding box. Null if drag target area should be
308
+ * ignored.
317
309
  */
318
- getClientRect() {
310
+ override getClientRect(): Rect|null {
319
311
  if (!this.svgGroup_ || this.autoClose || !this.isVisible()) {
320
312
  // The bounding rectangle won't compute correctly if the flyout is closed
321
313
  // and auto-close flyouts aren't valid drag targets (or delete areas).
@@ -341,17 +333,16 @@ class HorizontalFlyout extends Flyout {
341
333
  /**
342
334
  * Compute height of flyout. toolbox.Position mat under each block.
343
335
  * For RTL: Lay out the blocks right-aligned.
344
- * @protected
345
336
  */
346
- reflowInternal_() {
337
+ protected override reflowInternal_() {
347
338
  this.workspace_.scale = this.getFlyoutScale();
348
339
  let flyoutHeight = 0;
349
340
  const blocks = this.workspace_.getTopBlocks(false);
350
- for (let i = 0, block; (block = blocks[i]); i++) {
341
+ for (let i = 0, block; block = blocks[i]; i++) {
351
342
  flyoutHeight = Math.max(flyoutHeight, block.getHeightWidth().height);
352
343
  }
353
344
  const buttons = this.buttons_;
354
- for (let i = 0, button; (button = buttons[i]); i++) {
345
+ for (let i = 0, button; button = buttons[i]; i++) {
355
346
  flyoutHeight = Math.max(flyoutHeight, button.height);
356
347
  }
357
348
  flyoutHeight += this.MARGIN * 1.5;
@@ -359,27 +350,28 @@ class HorizontalFlyout extends Flyout {
359
350
  flyoutHeight += Scrollbar.scrollbarThickness;
360
351
 
361
352
  if (this.height_ !== flyoutHeight) {
362
- for (let i = 0, block; (block = blocks[i]); i++) {
353
+ for (let i = 0, block; block = blocks[i]; i++) {
363
354
  if (this.rectMap_.has(block)) {
364
- this.moveRectToBlock_(this.rectMap_.get(block), block);
355
+ // AnyDuringMigration because: Argument of type 'SVGElement |
356
+ // undefined' is not assignable to parameter of type 'SVGElement'.
357
+ this.moveRectToBlock_(
358
+ this.rectMap_.get(block) as AnyDuringMigration, block);
365
359
  }
366
360
  }
367
361
 
368
- if (this.targetWorkspace.toolboxPosition === this.toolboxPosition_ &&
362
+ if (this.targetWorkspace!.toolboxPosition === this.toolboxPosition_ &&
369
363
  this.toolboxPosition_ === toolbox.Position.TOP &&
370
- !this.targetWorkspace.getToolbox()) {
364
+ !this.targetWorkspace!.getToolbox()) {
371
365
  // This flyout is a simple toolbox. Reposition the workspace so that
372
366
  // (0,0) is in the correct position relative to the new absolute edge
373
367
  // (ie toolbox edge).
374
- this.targetWorkspace.translate(
375
- this.targetWorkspace.scrollX,
376
- this.targetWorkspace.scrollY + flyoutHeight);
368
+ this.targetWorkspace!.translate(
369
+ this.targetWorkspace!.scrollX,
370
+ this.targetWorkspace!.scrollY + flyoutHeight);
377
371
  }
378
-
379
- // Record the height for workspace metrics and .position.
380
372
  this.height_ = flyoutHeight;
381
373
  this.position();
382
- this.targetWorkspace.recordDragTargets();
374
+ this.targetWorkspace!.recordDragTargets();
383
375
  }
384
376
  }
385
377
  }
@@ -387,5 +379,3 @@ class HorizontalFlyout extends Flyout {
387
379
  registry.register(
388
380
  registry.Type.FLYOUTS_HORIZONTAL_TOOLBOX, registry.DEFAULT,
389
381
  HorizontalFlyout);
390
-
391
- exports.HorizontalFlyout = HorizontalFlyout;
@@ -0,0 +1,40 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2021 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { IFlyout } from './interfaces/i_flyout.js';
7
+ import { ContainerRegion, MetricsManager } from './metrics_manager.js';
8
+ import type { WorkspaceSvg } from './workspace_svg.js';
9
+ /**
10
+ * Calculates metrics for a flyout's workspace.
11
+ * The metrics are mainly used to size scrollbars for the flyout.
12
+ * @alias Blockly.FlyoutMetricsManager
13
+ */
14
+ export declare class FlyoutMetricsManager extends MetricsManager {
15
+ /** The flyout that owns the workspace to calculate metrics for. */
16
+ protected flyout_: IFlyout;
17
+ /**
18
+ * @param workspace The flyout's workspace.
19
+ * @param flyout The flyout.
20
+ */
21
+ constructor(workspace: WorkspaceSvg, flyout: IFlyout);
22
+ /**
23
+ * Gets the bounding box of the blocks on the flyout's workspace.
24
+ * This is in workspace coordinates.
25
+ * @return The bounding box of the blocks on the workspace.
26
+ */
27
+ private getBoundingBox_;
28
+ getContentMetrics(opt_getWorkspaceCoordinates: boolean): {
29
+ height: number;
30
+ width: number;
31
+ top: number;
32
+ left: number;
33
+ };
34
+ getScrollMetrics(opt_getWorkspaceCoordinates: boolean, opt_viewMetrics: ContainerRegion, opt_contentMetrics: ContainerRegion): {
35
+ height: number;
36
+ width: number;
37
+ top: number;
38
+ left: number;
39
+ };
40
+ }
@@ -7,51 +7,44 @@
7
7
  /**
8
8
  * @fileoverview Calculates and reports flyout workspace metrics.
9
9
  */
10
- 'use strict';
11
10
 
12
11
  /**
13
12
  * Calculates and reports flyout workspace metrics.
14
13
  * @class
15
14
  */
16
- goog.module('Blockly.FlyoutMetricsManager');
15
+ import * as goog from '../closure/goog/goog.js';
16
+ goog.declareModuleId('Blockly.FlyoutMetricsManager');
17
17
 
18
- /* eslint-disable-next-line no-unused-vars */
19
- const {IFlyout} = goog.requireType('Blockly.IFlyout');
20
- const {MetricsManager} = goog.require('Blockly.MetricsManager');
21
- /* eslint-disable-next-line no-unused-vars */
22
- const {WorkspaceSvg} = goog.requireType('Blockly.WorkspaceSvg');
18
+ import type {IFlyout} from './interfaces/i_flyout.js';
19
+ import {ContainerRegion, MetricsManager} from './metrics_manager.js';
20
+ import type {WorkspaceSvg} from './workspace_svg.js';
23
21
 
24
22
 
25
23
  /**
26
24
  * Calculates metrics for a flyout's workspace.
27
25
  * The metrics are mainly used to size scrollbars for the flyout.
28
- * @extends {MetricsManager}
29
26
  * @alias Blockly.FlyoutMetricsManager
30
27
  */
31
- class FlyoutMetricsManager extends MetricsManager {
28
+ export class FlyoutMetricsManager extends MetricsManager {
29
+ /** The flyout that owns the workspace to calculate metrics for. */
30
+ protected flyout_: IFlyout;
31
+
32
32
  /**
33
- * @param {!WorkspaceSvg} workspace The flyout's workspace.
34
- * @param {!IFlyout} flyout The flyout.
33
+ * @param workspace The flyout's workspace.
34
+ * @param flyout The flyout.
35
35
  */
36
- constructor(workspace, flyout) {
36
+ constructor(workspace: WorkspaceSvg, flyout: IFlyout) {
37
37
  super(workspace);
38
-
39
- /**
40
- * The flyout that owns the workspace to calculate metrics for.
41
- * @type {!IFlyout}
42
- * @protected
43
- */
44
38
  this.flyout_ = flyout;
45
39
  }
46
40
 
47
41
  /**
48
42
  * Gets the bounding box of the blocks on the flyout's workspace.
49
43
  * This is in workspace coordinates.
50
- * @return {!SVGRect|{height: number, y: number, width: number, x: number}}
51
- * The bounding box of the blocks on the workspace.
52
- * @private
44
+ * @return The bounding box of the blocks on the workspace.
53
45
  */
54
- getBoundingBox_() {
46
+ private getBoundingBox_(): SVGRect|
47
+ {height: number, y: number, width: number, x: number} {
55
48
  let blockBoundingBox;
56
49
  try {
57
50
  blockBoundingBox = this.workspace_.getCanvas().getBBox();
@@ -64,10 +57,7 @@ class FlyoutMetricsManager extends MetricsManager {
64
57
  return blockBoundingBox;
65
58
  }
66
59
 
67
- /**
68
- * @override
69
- */
70
- getContentMetrics(opt_getWorkspaceCoordinates) {
60
+ override getContentMetrics(opt_getWorkspaceCoordinates: boolean) {
71
61
  // The bounding box is in workspace coordinates.
72
62
  const blockBoundingBox = this.getBoundingBox_();
73
63
  const scale = opt_getWorkspaceCoordinates ? 1 : this.workspace_.scale;
@@ -80,12 +70,12 @@ class FlyoutMetricsManager extends MetricsManager {
80
70
  };
81
71
  }
82
72
 
83
- /**
84
- * @override
85
- */
86
- getScrollMetrics(
87
- opt_getWorkspaceCoordinates, opt_viewMetrics, opt_contentMetrics) {
88
- const contentMetrics = opt_contentMetrics || this.getContentMetrics();
73
+ override getScrollMetrics(
74
+ opt_getWorkspaceCoordinates: boolean, opt_viewMetrics: ContainerRegion,
75
+ opt_contentMetrics: ContainerRegion) {
76
+ // AnyDuringMigration because: Expected 1 arguments, but got 0.
77
+ const contentMetrics =
78
+ opt_contentMetrics || (this.getContentMetrics as AnyDuringMigration)();
89
79
  const margin = this.flyout_.MARGIN * this.workspace_.scale;
90
80
  const scale = opt_getWorkspaceCoordinates ? this.workspace_.scale : 1;
91
81
 
@@ -102,5 +92,3 @@ class FlyoutMetricsManager extends MetricsManager {
102
92
  };
103
93
  }
104
94
  }
105
-
106
- exports.FlyoutMetricsManager = FlyoutMetricsManager;
@@ -0,0 +1,83 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2017 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Flyout, FlyoutItem } from './flyout_base.js';
7
+ import type { Options } from './options.js';
8
+ import type { Coordinate } from './utils/coordinate.js';
9
+ import { Rect } from './utils/rect.js';
10
+ /**
11
+ * Class for a flyout.
12
+ * @alias Blockly.VerticalFlyout
13
+ */
14
+ export declare class VerticalFlyout extends Flyout {
15
+ /** The name of the vertical flyout in the registry. */
16
+ static registryName: string;
17
+ height_: any;
18
+ width_: any;
19
+ /** @param workspaceOptions Dictionary of options for the workspace. */
20
+ constructor(workspaceOptions: Options);
21
+ /**
22
+ * Sets the translation of the flyout to match the scrollbars.
23
+ * @param xyRatio Contains a y property which is a float between 0 and 1
24
+ * specifying the degree of scrolling and a similar x property.
25
+ */
26
+ protected setMetrics_(xyRatio: {
27
+ x: number;
28
+ y: number;
29
+ }): void;
30
+ /**
31
+ * Calculates the x coordinate for the flyout position.
32
+ * @return X coordinate.
33
+ */
34
+ getX(): number;
35
+ /**
36
+ * Calculates the y coordinate for the flyout position.
37
+ * @return Y coordinate.
38
+ */
39
+ getY(): number;
40
+ /** Move the flyout to the edge of the workspace. */
41
+ position(): void;
42
+ /**
43
+ * Create and set the path for the visible boundaries of the flyout.
44
+ * @param width The width of the flyout, not including the rounded corners.
45
+ * @param height The height of the flyout, not including rounded corners.
46
+ */
47
+ private setBackgroundPath_;
48
+ /** Scroll the flyout to the top. */
49
+ scrollToStart(): void;
50
+ /**
51
+ * Scroll the flyout.
52
+ * @param e Mouse wheel scroll event.
53
+ */
54
+ protected wheel_(e: WheelEvent): void;
55
+ /**
56
+ * Lay out the blocks in the flyout.
57
+ * @param contents The blocks and buttons to lay out.
58
+ * @param gaps The visible gaps between blocks.
59
+ */
60
+ protected layout_(contents: FlyoutItem[], gaps: number[]): void;
61
+ /**
62
+ * Determine if a drag delta is toward the workspace, based on the position
63
+ * and orientation of the flyout. This is used in determineDragIntention_ to
64
+ * determine if a new block should be created or if the flyout should scroll.
65
+ * @param currentDragDeltaXY How far the pointer has moved from the position
66
+ * at mouse down, in pixel units.
67
+ * @return True if the drag is toward the workspace.
68
+ * @internal
69
+ */
70
+ isDragTowardWorkspace(currentDragDeltaXY: Coordinate): boolean;
71
+ /**
72
+ * Returns the bounding rectangle of the drag target area in pixel units
73
+ * relative to viewport.
74
+ * @return The component's bounding box. Null if drag target area should be
75
+ * ignored.
76
+ */
77
+ getClientRect(): Rect | null;
78
+ /**
79
+ * Compute width of flyout. toolbox.Position mat under each block.
80
+ * For RTL: Lay out the blocks and buttons to be right-aligned.
81
+ */
82
+ protected reflowInternal_(): void;
83
+ }