blockly 8.0.4-beta.0 → 8.0.5-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (858) hide show
  1. package/blockly.min.js +2421 -2688
  2. package/blockly_compressed.js +1499 -1994
  3. package/blockly_compressed.js.map +1 -1
  4. package/blocks/blocks.js +3 -2
  5. package/blocks/colour.js +3 -1
  6. package/blocks/lists.js +94 -22
  7. package/blocks/logic.js +14 -6
  8. package/blocks/loops.js +5 -3
  9. package/blocks/math.js +3 -1
  10. package/blocks/procedures.js +3 -1
  11. package/blocks/text.js +14 -6
  12. package/blocks/variables.js +3 -1
  13. package/blocks/variables_dynamic.js +3 -1
  14. package/blocks.d.ts +0 -2
  15. package/blocks_compressed.js +189 -171
  16. package/blocks_compressed.js.map +1 -1
  17. package/closure/goog/base.d.ts +1 -0
  18. package/closure/goog/base_minimal.d.ts +18 -0
  19. package/closure/goog/goog.d.ts +25 -0
  20. package/core/any_aliases.d.ts +1 -0
  21. package/core/any_aliases.ts +1 -0
  22. package/core/block.d.ts +779 -0
  23. package/core/{block.js → block.ts} +610 -719
  24. package/core/block_animations.d.ts +33 -0
  25. package/core/{block_animations.js → block_animations.ts} +75 -79
  26. package/core/block_drag_surface.d.ts +111 -0
  27. package/core/{block_drag_surface.js → block_drag_surface.ts} +85 -117
  28. package/core/block_dragger.d.ts +143 -0
  29. package/core/{block_dragger.js → block_dragger.ts} +139 -176
  30. package/core/block_svg.d.ts +588 -0
  31. package/core/{block_svg.js → block_svg.ts} +494 -630
  32. package/core/blockly.d.ts +562 -0
  33. package/core/blockly.js +1 -1
  34. package/core/blockly.ts +749 -0
  35. package/core/blockly_options.d.ts +69 -0
  36. package/core/blockly_options.ts +81 -0
  37. package/core/blocks.d.ts +17 -0
  38. package/core/{blocks.js → blocks.ts} +4 -8
  39. package/core/browser_events.d.ts +85 -0
  40. package/core/{browser_events.js → browser_events.ts} +98 -93
  41. package/core/bubble.d.ts +279 -0
  42. package/core/{bubble.js → bubble.ts} +277 -370
  43. package/core/bubble_dragger.d.ts +73 -0
  44. package/core/bubble_dragger.ts +229 -0
  45. package/core/bump_objects.d.ts +34 -0
  46. package/core/{bump_objects.js → bump_objects.ts} +54 -52
  47. package/core/clipboard.d.ts +42 -0
  48. package/core/clipboard.ts +91 -0
  49. package/core/comment.d.ts +113 -0
  50. package/core/{comment.js → comment.ts} +135 -185
  51. package/core/common.d.ts +129 -0
  52. package/core/{common.js → common.ts} +105 -82
  53. package/core/component_manager.d.ts +91 -0
  54. package/core/component_manager.ts +211 -0
  55. package/core/config.d.ts +23 -0
  56. package/core/{config.js → config.ts} +12 -19
  57. package/core/connection.d.ts +232 -0
  58. package/core/{connection.js → connection.ts} +187 -237
  59. package/core/connection_checker.d.ts +78 -0
  60. package/core/{connection_checker.js → connection_checker.ts} +66 -77
  61. package/core/connection_db.d.ts +91 -0
  62. package/core/{connection_db.js → connection_db.ts} +62 -87
  63. package/core/connection_type.d.ts +15 -0
  64. package/core/{connection_type.js → connection_type.ts} +8 -12
  65. package/core/constants.d.ts +15 -0
  66. package/core/{constants.js → constants.ts} +4 -8
  67. package/core/contextmenu.d.ts +80 -0
  68. package/core/{contextmenu.js → contextmenu.ts} +118 -153
  69. package/core/contextmenu_items.d.ts +77 -0
  70. package/core/contextmenu_items.ts +576 -0
  71. package/core/contextmenu_registry.d.ts +105 -0
  72. package/core/contextmenu_registry.ts +179 -0
  73. package/core/css.d.ts +24 -0
  74. package/core/{css.js → css.ts} +16 -24
  75. package/core/delete_area.d.ts +47 -0
  76. package/core/delete_area.ts +82 -0
  77. package/core/dialog.d.ts +61 -0
  78. package/core/dialog.ts +127 -0
  79. package/core/drag_target.d.ts +63 -0
  80. package/core/drag_target.ts +94 -0
  81. package/core/dropdowndiv.d.ts +155 -0
  82. package/core/{dropdowndiv.js → dropdowndiv.ts} +262 -333
  83. package/core/events/events.d.ts +102 -0
  84. package/core/events/events.ts +123 -0
  85. package/core/events/events_abstract.d.ts +51 -0
  86. package/core/events/events_abstract.ts +112 -0
  87. package/core/events/events_block_base.d.ts +31 -0
  88. package/core/events/events_block_base.ts +65 -0
  89. package/core/events/events_block_change.d.ts +55 -0
  90. package/core/events/{events_block_change.js → events_block_change.ts} +45 -48
  91. package/core/events/events_block_create.d.ts +35 -0
  92. package/core/events/{events_block_create.js → events_block_create.ts} +30 -35
  93. package/core/events/events_block_delete.d.ts +36 -0
  94. package/core/events/{events_block_delete.js → events_block_delete.ts} +34 -39
  95. package/core/events/events_block_drag.d.ts +36 -0
  96. package/core/events/events_block_drag.ts +82 -0
  97. package/core/events/events_block_move.d.ts +51 -0
  98. package/core/events/{events_block_move.js → events_block_move.ts} +54 -50
  99. package/core/events/events_bubble_open.d.ts +35 -0
  100. package/core/events/events_bubble_open.ts +82 -0
  101. package/core/events/events_click.d.ts +36 -0
  102. package/core/events/{events_click.js → events_click.ts} +27 -30
  103. package/core/events/events_comment_base.d.ts +39 -0
  104. package/core/events/events_comment_base.ts +107 -0
  105. package/core/events/events_comment_change.d.ts +43 -0
  106. package/core/events/{events_comment_change.js → events_comment_change.ts} +31 -28
  107. package/core/events/events_comment_create.d.ts +35 -0
  108. package/core/events/{events_comment_create.js → events_comment_create.ts} +24 -26
  109. package/core/events/events_comment_delete.d.ts +35 -0
  110. package/core/events/{events_comment_delete.js → events_comment_delete.ts} +20 -24
  111. package/core/events/events_comment_move.d.ts +55 -0
  112. package/core/events/{events_comment_move.js → events_comment_move.ts} +39 -42
  113. package/core/events/events_marker_move.d.ts +40 -0
  114. package/core/events/events_marker_move.ts +99 -0
  115. package/core/events/events_selected.d.ts +34 -0
  116. package/core/events/events_selected.ts +78 -0
  117. package/core/events/events_theme_change.d.ts +30 -0
  118. package/core/events/{events_theme_change.js → events_theme_change.ts} +19 -24
  119. package/core/events/events_toolbox_item_select.d.ts +34 -0
  120. package/core/events/events_toolbox_item_select.ts +79 -0
  121. package/core/events/events_trashcan_open.d.ts +31 -0
  122. package/core/events/events_trashcan_open.ts +68 -0
  123. package/core/events/events_ui.d.ts +37 -0
  124. package/core/events/{events_ui.js → events_ui.ts} +27 -26
  125. package/core/events/events_ui_base.d.ts +26 -0
  126. package/core/events/{events_ui_base.js → events_ui_base.ts} +17 -26
  127. package/core/events/events_var_base.d.ts +31 -0
  128. package/core/events/events_var_base.ts +65 -0
  129. package/core/events/events_var_create.d.ts +35 -0
  130. package/core/events/{events_var_create.js → events_var_create.ts} +24 -25
  131. package/core/events/events_var_delete.d.ts +35 -0
  132. package/core/events/{events_var_delete.js → events_var_delete.ts} +24 -25
  133. package/core/events/events_var_rename.d.ts +36 -0
  134. package/core/events/{events_var_rename.js → events_var_rename.ts} +25 -26
  135. package/core/events/events_viewport.d.ts +39 -0
  136. package/core/events/events_viewport.ts +100 -0
  137. package/core/events/utils.d.ts +272 -0
  138. package/core/events/{utils.js → utils.ts} +148 -219
  139. package/core/events/workspace_events.d.ts +36 -0
  140. package/core/events/workspace_events.ts +86 -0
  141. package/core/extensions.d.ts +107 -0
  142. package/core/{extensions.js → extensions.ts} +153 -172
  143. package/core/field.d.ts +534 -0
  144. package/core/{field.js → field.ts} +413 -489
  145. package/core/field_angle.d.ts +176 -0
  146. package/core/field_angle.ts +563 -0
  147. package/core/field_checkbox.d.ts +124 -0
  148. package/core/field_checkbox.ts +243 -0
  149. package/core/field_colour.d.ts +200 -0
  150. package/core/field_colour.ts +632 -0
  151. package/core/field_dropdown.d.ts +222 -0
  152. package/core/{field_dropdown.js → field_dropdown.ts} +277 -299
  153. package/core/field_image.d.ts +134 -0
  154. package/core/field_image.ts +282 -0
  155. package/core/field_label.d.ts +71 -0
  156. package/core/field_label.ts +152 -0
  157. package/core/field_label_serializable.d.ts +42 -0
  158. package/core/field_label_serializable.ts +76 -0
  159. package/core/field_multilineinput.d.ts +146 -0
  160. package/core/{field_multilineinput.js → field_multilineinput.ts} +166 -163
  161. package/core/field_number.d.ts +156 -0
  162. package/core/{field_number.js → field_number.ts} +110 -123
  163. package/core/field_registry.d.ts +45 -0
  164. package/core/{field_registry.js → field_registry.ts} +37 -30
  165. package/core/field_textinput.d.ts +219 -0
  166. package/core/field_textinput.ts +591 -0
  167. package/core/field_variable.d.ts +217 -0
  168. package/core/{field_variable.js → field_variable.ts} +174 -187
  169. package/core/flyout_base.d.ts +459 -0
  170. package/core/{flyout_base.js → flyout_base.ts} +429 -518
  171. package/core/flyout_button.d.ts +81 -0
  172. package/core/flyout_button.ts +292 -0
  173. package/core/flyout_horizontal.d.ts +82 -0
  174. package/core/{flyout_horizontal.js → flyout_horizontal.ts} +97 -107
  175. package/core/flyout_metrics_manager.d.ts +40 -0
  176. package/core/{flyout_metrics_manager.js → flyout_metrics_manager.ts} +22 -34
  177. package/core/flyout_vertical.d.ts +83 -0
  178. package/core/{flyout_vertical.js → flyout_vertical.ts} +106 -117
  179. package/core/generator.d.ts +205 -0
  180. package/core/{generator.js → generator.ts} +168 -193
  181. package/core/gesture.d.ts +357 -0
  182. package/core/{gesture.js → gesture.ts} +289 -369
  183. package/core/grid.d.ts +83 -0
  184. package/core/grid.ts +192 -0
  185. package/core/icon.d.ts +78 -0
  186. package/core/icon.ts +189 -0
  187. package/core/inject.d.ts +15 -0
  188. package/core/{inject.js → inject.ts} +101 -100
  189. package/core/input.d.ts +128 -0
  190. package/core/input.ts +309 -0
  191. package/core/input_types.d.ts +14 -0
  192. package/core/{input_types.js → input_types.ts} +8 -12
  193. package/core/insertion_marker_manager.d.ts +212 -0
  194. package/core/{insertion_marker_manager.js → insertion_marker_manager.ts} +234 -236
  195. package/core/interfaces/i_ast_node_location.d.ts +11 -0
  196. package/core/interfaces/{i_ast_node_location.js → i_ast_node_location.ts} +4 -7
  197. package/core/interfaces/i_ast_node_location_svg.d.ts +22 -0
  198. package/core/interfaces/i_ast_node_location_svg.ts +37 -0
  199. package/core/interfaces/i_ast_node_location_with_block.d.ts +18 -0
  200. package/core/interfaces/i_ast_node_location_with_block.ts +38 -0
  201. package/core/interfaces/i_autohideable.d.ts +18 -0
  202. package/core/interfaces/i_autohideable.ts +34 -0
  203. package/core/interfaces/i_block_dragger.d.ts +43 -0
  204. package/core/interfaces/i_block_dragger.ts +67 -0
  205. package/core/interfaces/i_bounded_element.d.ts +24 -0
  206. package/core/interfaces/i_bounded_element.ts +42 -0
  207. package/core/interfaces/i_bubble.d.ts +59 -0
  208. package/core/interfaces/i_bubble.ts +88 -0
  209. package/core/interfaces/i_collapsible_toolbox_item.d.ts +26 -0
  210. package/core/interfaces/i_collapsible_toolbox_item.ts +47 -0
  211. package/core/interfaces/i_component.d.ts +17 -0
  212. package/core/interfaces/{i_component.js → i_component.ts} +9 -14
  213. package/core/interfaces/i_connection_checker.d.ts +69 -0
  214. package/core/interfaces/i_connection_checker.ts +102 -0
  215. package/core/interfaces/i_contextmenu.d.ts +13 -0
  216. package/core/interfaces/i_contextmenu.ts +26 -0
  217. package/core/interfaces/i_copyable.d.ts +24 -0
  218. package/core/interfaces/i_copyable.ts +40 -0
  219. package/core/interfaces/i_deletable.d.ts +16 -0
  220. package/core/interfaces/{i_deletable.js → i_deletable.ts} +9 -13
  221. package/core/interfaces/i_delete_area.d.ts +25 -0
  222. package/core/interfaces/i_delete_area.ts +46 -0
  223. package/core/interfaces/i_drag_target.d.ts +53 -0
  224. package/core/interfaces/i_drag_target.ts +84 -0
  225. package/core/interfaces/i_draggable.d.ts +12 -0
  226. package/core/interfaces/{i_draggable.js → i_draggable.ts} +4 -10
  227. package/core/interfaces/i_flyout.d.ts +134 -0
  228. package/core/interfaces/i_flyout.ts +186 -0
  229. package/core/interfaces/i_keyboard_accessible.d.ts +18 -0
  230. package/core/interfaces/i_keyboard_accessible.ts +35 -0
  231. package/core/interfaces/i_metrics_manager.d.ts +117 -0
  232. package/core/interfaces/i_metrics_manager.ts +151 -0
  233. package/core/interfaces/i_movable.d.ts +16 -0
  234. package/core/interfaces/{i_movable.js → i_movable.ts} +9 -13
  235. package/core/interfaces/i_positionable.d.ts +27 -0
  236. package/core/interfaces/i_positionable.ts +50 -0
  237. package/core/interfaces/i_registrable.d.ts +11 -0
  238. package/core/interfaces/{i_registrable.js → i_registrable.ts} +3 -7
  239. package/core/interfaces/i_registrable_field.d.ts +17 -0
  240. package/core/interfaces/{i_registrable_field.js → i_registrable_field.ts} +8 -16
  241. package/core/interfaces/i_selectable.d.ts +18 -0
  242. package/core/interfaces/i_selectable.ts +34 -0
  243. package/core/interfaces/i_selectable_toolbox_item.d.ts +42 -0
  244. package/core/interfaces/i_selectable_toolbox_item.ts +64 -0
  245. package/core/interfaces/i_serializer.d.ts +42 -0
  246. package/core/interfaces/i_serializer.ts +65 -0
  247. package/core/interfaces/i_styleable.d.ts +21 -0
  248. package/core/interfaces/i_styleable.ts +35 -0
  249. package/core/interfaces/i_toolbox.d.ts +85 -0
  250. package/core/interfaces/i_toolbox.ts +127 -0
  251. package/core/interfaces/i_toolbox_item.d.ts +62 -0
  252. package/core/interfaces/i_toolbox_item.ts +84 -0
  253. package/core/internal_constants.d.ts +40 -0
  254. package/core/{internal_constants.js → internal_constants.ts} +13 -18
  255. package/core/keyboard_nav/ast_node.d.ts +239 -0
  256. package/core/keyboard_nav/{ast_node.js → ast_node.ts} +207 -231
  257. package/core/keyboard_nav/basic_cursor.d.ts +88 -0
  258. package/core/keyboard_nav/{basic_cursor.js → basic_cursor.ts} +55 -66
  259. package/core/keyboard_nav/cursor.d.ts +41 -0
  260. package/core/keyboard_nav/{cursor.js → cursor.ts} +25 -35
  261. package/core/keyboard_nav/marker.d.ts +58 -0
  262. package/core/keyboard_nav/{marker.js → marker.ts} +36 -55
  263. package/core/keyboard_nav/tab_navigate_cursor.d.ts +19 -0
  264. package/core/keyboard_nav/{tab_navigate_cursor.js → tab_navigate_cursor.ts} +11 -15
  265. package/core/main.d.ts +11 -0
  266. package/core/main.js +303 -0
  267. package/core/marker_manager.d.ts +85 -0
  268. package/core/marker_manager.ts +181 -0
  269. package/core/menu.d.ts +149 -0
  270. package/core/{menu.js → menu.ts} +141 -174
  271. package/core/menuitem.d.ts +118 -0
  272. package/core/menuitem.ts +240 -0
  273. package/core/metrics_manager.d.ts +201 -0
  274. package/core/{metrics_manager.js → metrics_manager.ts} +117 -156
  275. package/core/msg.d.ts +9 -0
  276. package/core/{msg.js → msg.ts} +4 -8
  277. package/core/mutator.d.ts +128 -0
  278. package/core/{mutator.js → mutator.ts} +196 -211
  279. package/core/names.d.ts +124 -0
  280. package/core/names.ts +267 -0
  281. package/core/options.d.ts +137 -0
  282. package/core/{options.js → options.ts} +147 -173
  283. package/core/positionable_helpers.d.ts +88 -0
  284. package/core/{positionable_helpers.js → positionable_helpers.ts} +63 -70
  285. package/core/procedures.d.ts +108 -0
  286. package/core/{procedures.js → procedures.ts} +143 -152
  287. package/core/registry.d.ts +137 -0
  288. package/core/registry.ts +339 -0
  289. package/core/rendered_connection.d.ts +191 -0
  290. package/core/{rendered_connection.js → rendered_connection.ts} +164 -184
  291. package/core/renderers/common/block_rendering.d.ts +114 -0
  292. package/core/renderers/common/block_rendering.ts +164 -0
  293. package/core/renderers/common/constants.d.ts +458 -0
  294. package/core/renderers/common/constants.ts +1124 -0
  295. package/core/renderers/common/debug.d.ts +28 -0
  296. package/core/renderers/common/{debug.js → debug.ts} +14 -20
  297. package/core/renderers/common/debugger.d.ts +120 -0
  298. package/core/renderers/common/{debugger.js → debugger.ts} +100 -124
  299. package/core/renderers/common/drawer.d.ts +132 -0
  300. package/core/renderers/common/{drawer.js → drawer.ts} +112 -137
  301. package/core/renderers/common/i_path_object.d.ts +117 -0
  302. package/core/renderers/common/i_path_object.ts +161 -0
  303. package/core/renderers/common/info.d.ts +194 -0
  304. package/core/renderers/common/{info.js → info.ts} +165 -222
  305. package/core/renderers/common/marker_svg.d.ts +220 -0
  306. package/core/renderers/common/marker_svg.ts +680 -0
  307. package/core/renderers/common/path_object.d.ts +146 -0
  308. package/core/renderers/common/path_object.ts +272 -0
  309. package/core/renderers/common/renderer.d.ts +157 -0
  310. package/core/renderers/common/renderer.ts +271 -0
  311. package/core/renderers/geras/constants.d.ts +23 -0
  312. package/core/renderers/geras/constants.ts +61 -0
  313. package/core/renderers/geras/drawer.d.ts +43 -0
  314. package/core/renderers/geras/{drawer.js → drawer.ts} +40 -84
  315. package/core/renderers/geras/geras.d.ts +11 -0
  316. package/core/renderers/geras/geras.ts +37 -0
  317. package/core/renderers/geras/highlight_constants.d.ts +108 -0
  318. package/core/renderers/geras/{highlight_constants.js → highlight_constants.ts} +107 -69
  319. package/core/renderers/geras/highlighter.d.ts +98 -0
  320. package/core/renderers/geras/{highlighter.js → highlighter.ts} +81 -86
  321. package/core/renderers/geras/info.d.ts +45 -0
  322. package/core/renderers/geras/{info.js → info.ts} +61 -99
  323. package/core/renderers/geras/measurables/inline_input.d.ts +23 -0
  324. package/core/renderers/geras/measurables/inline_input.ts +51 -0
  325. package/core/renderers/geras/measurables/statement_input.d.ts +23 -0
  326. package/core/renderers/geras/measurables/statement_input.ts +50 -0
  327. package/core/renderers/geras/path_object.d.ts +47 -0
  328. package/core/renderers/geras/{path_object.js → path_object.ts} +46 -74
  329. package/core/renderers/geras/renderer.d.ts +69 -0
  330. package/core/renderers/geras/renderer.ts +126 -0
  331. package/core/renderers/measurables/base.d.ts +27 -0
  332. package/core/renderers/measurables/base.ts +53 -0
  333. package/core/renderers/measurables/bottom_row.d.ts +61 -0
  334. package/core/renderers/measurables/bottom_row.ts +120 -0
  335. package/core/renderers/measurables/connection.d.ts +25 -0
  336. package/core/renderers/measurables/connection.ts +52 -0
  337. package/core/renderers/measurables/external_value_input.d.ts +27 -0
  338. package/core/renderers/measurables/external_value_input.ts +65 -0
  339. package/core/renderers/measurables/field.d.ts +30 -0
  340. package/core/renderers/measurables/field.ts +63 -0
  341. package/core/renderers/measurables/hat.d.ts +21 -0
  342. package/core/renderers/measurables/{hat.js → hat.ts} +12 -14
  343. package/core/renderers/measurables/icon.d.ts +26 -0
  344. package/core/renderers/measurables/{icon.js → icon.ts} +14 -18
  345. package/core/renderers/measurables/in_row_spacer.d.ts +21 -0
  346. package/core/renderers/measurables/in_row_spacer.ts +44 -0
  347. package/core/renderers/measurables/inline_input.d.ts +24 -0
  348. package/core/renderers/measurables/{inline_input.js → inline_input.ts} +22 -26
  349. package/core/renderers/measurables/input_connection.d.ts +29 -0
  350. package/core/renderers/measurables/input_connection.ts +66 -0
  351. package/core/renderers/measurables/input_row.d.ts +30 -0
  352. package/core/renderers/measurables/{input_row.js → input_row.ts} +24 -31
  353. package/core/renderers/measurables/jagged_edge.d.ts +20 -0
  354. package/core/renderers/measurables/{jagged_edge.js → jagged_edge.ts} +10 -13
  355. package/core/renderers/measurables/next_connection.d.ts +23 -0
  356. package/core/renderers/measurables/next_connection.ts +47 -0
  357. package/core/renderers/measurables/output_connection.d.ts +26 -0
  358. package/core/renderers/measurables/output_connection.ts +56 -0
  359. package/core/renderers/measurables/previous_connection.d.ts +23 -0
  360. package/core/renderers/measurables/previous_connection.ts +47 -0
  361. package/core/renderers/measurables/round_corner.d.ts +21 -0
  362. package/core/renderers/measurables/round_corner.ts +49 -0
  363. package/core/renderers/measurables/row.d.ts +141 -0
  364. package/core/renderers/measurables/row.ts +225 -0
  365. package/core/renderers/measurables/spacer_row.d.ts +29 -0
  366. package/core/renderers/measurables/spacer_row.ts +55 -0
  367. package/core/renderers/measurables/square_corner.d.ts +21 -0
  368. package/core/renderers/measurables/square_corner.ts +47 -0
  369. package/core/renderers/measurables/statement_input.d.ts +22 -0
  370. package/core/renderers/measurables/{statement_input.js → statement_input.ts} +14 -18
  371. package/core/renderers/measurables/top_row.d.ts +56 -0
  372. package/core/renderers/measurables/top_row.ts +122 -0
  373. package/core/renderers/measurables/types.d.ts +235 -0
  374. package/core/renderers/measurables/types.ts +332 -0
  375. package/core/renderers/minimalist/constants.d.ts +14 -0
  376. package/core/renderers/minimalist/{constants.js → constants.ts} +5 -10
  377. package/core/renderers/minimalist/drawer.d.ts +21 -0
  378. package/core/renderers/minimalist/drawer.ts +38 -0
  379. package/core/renderers/minimalist/info.d.ts +30 -0
  380. package/core/renderers/minimalist/info.ts +52 -0
  381. package/core/renderers/minimalist/minimalist.d.ts +6 -0
  382. package/core/renderers/minimalist/minimalist.ts +22 -0
  383. package/core/renderers/minimalist/renderer.d.ts +41 -0
  384. package/core/renderers/minimalist/renderer.ts +71 -0
  385. package/core/renderers/thrasos/info.d.ts +40 -0
  386. package/core/renderers/thrasos/{info.js → info.ts} +66 -67
  387. package/core/renderers/thrasos/renderer.d.ts +25 -0
  388. package/core/renderers/thrasos/renderer.ts +48 -0
  389. package/core/renderers/thrasos/thrasos.d.ts +4 -0
  390. package/core/renderers/thrasos/thrasos.ts +20 -0
  391. package/core/renderers/zelos/constants.d.ts +186 -0
  392. package/core/renderers/zelos/{constants.js → constants.ts} +294 -441
  393. package/core/renderers/zelos/drawer.d.ts +47 -0
  394. package/core/renderers/zelos/{drawer.js → drawer.ts} +73 -95
  395. package/core/renderers/zelos/info.d.ts +88 -0
  396. package/core/renderers/zelos/{info.js → info.ts} +111 -142
  397. package/core/renderers/zelos/marker_svg.d.ts +46 -0
  398. package/core/renderers/zelos/marker_svg.ts +151 -0
  399. package/core/renderers/zelos/measurables/bottom_row.d.ts +27 -0
  400. package/core/renderers/zelos/measurables/bottom_row.ts +53 -0
  401. package/core/renderers/zelos/measurables/inputs.d.ts +23 -0
  402. package/core/renderers/zelos/measurables/{inputs.js → inputs.ts} +14 -15
  403. package/core/renderers/zelos/measurables/row_elements.d.ts +21 -0
  404. package/core/renderers/zelos/measurables/row_elements.ts +45 -0
  405. package/core/renderers/zelos/measurables/top_row.d.ts +29 -0
  406. package/core/renderers/zelos/measurables/{top_row.js → top_row.ts} +14 -27
  407. package/core/renderers/zelos/path_object.d.ts +77 -0
  408. package/core/renderers/zelos/path_object.ts +215 -0
  409. package/core/renderers/zelos/renderer.d.ts +74 -0
  410. package/core/renderers/zelos/renderer.ts +142 -0
  411. package/core/renderers/zelos/zelos.d.ts +12 -0
  412. package/core/renderers/zelos/zelos.ts +39 -0
  413. package/core/scrollbar.d.ts +277 -0
  414. package/core/{scrollbar.js → scrollbar.ts} +307 -328
  415. package/core/scrollbar_pair.d.ts +105 -0
  416. package/core/{scrollbar_pair.js → scrollbar_pair.ts} +71 -79
  417. package/core/serialization/blocks.d.ts +98 -0
  418. package/core/serialization/{blocks.js → blocks.ts} +229 -228
  419. package/core/serialization/exceptions.d.ts +73 -0
  420. package/core/serialization/exceptions.ts +98 -0
  421. package/core/serialization/priorities.d.ts +15 -0
  422. package/core/serialization/{priorities.js → priorities.ts} +4 -10
  423. package/core/serialization/registry.d.ts +20 -0
  424. package/core/serialization/{registry.js → registry.ts} +11 -13
  425. package/core/serialization/variables.d.ts +14 -0
  426. package/core/serialization/{variables.js → variables.ts} +30 -32
  427. package/core/serialization/workspaces.d.ts +28 -0
  428. package/core/serialization/{workspaces.js → workspaces.ts} +30 -27
  429. package/core/shortcut_items.d.ts +61 -0
  430. package/core/{shortcut_items.js → shortcut_items.ts} +121 -157
  431. package/core/shortcut_registry.d.ts +151 -0
  432. package/core/shortcut_registry.ts +355 -0
  433. package/core/sprites.d.ts +19 -0
  434. package/core/{sprites.js → sprites.ts} +4 -6
  435. package/core/theme/classic.d.ts +12 -0
  436. package/core/theme/{classic.js → classic.ts} +5 -7
  437. package/core/theme/themes.d.ts +8 -0
  438. package/core/theme/themes.ts +22 -0
  439. package/core/theme/zelos.d.ts +11 -0
  440. package/core/theme/{zelos.js → zelos.ts} +4 -7
  441. package/core/theme.d.ts +142 -0
  442. package/core/theme.ts +221 -0
  443. package/core/theme_manager.d.ts +81 -0
  444. package/core/theme_manager.ts +186 -0
  445. package/core/toolbox/category.d.ts +239 -0
  446. package/core/toolbox/category.ts +679 -0
  447. package/core/toolbox/collapsible_category.d.ts +91 -0
  448. package/core/toolbox/collapsible_category.ts +273 -0
  449. package/core/toolbox/separator.d.ts +39 -0
  450. package/core/toolbox/separator.ts +105 -0
  451. package/core/toolbox/toolbox.d.ts +352 -0
  452. package/core/toolbox/{toolbox.js → toolbox.ts} +316 -432
  453. package/core/toolbox/toolbox_item.d.ts +85 -0
  454. package/core/toolbox/toolbox_item.ts +147 -0
  455. package/core/tooltip.d.ts +126 -0
  456. package/core/{tooltip.js → tooltip.ts} +136 -214
  457. package/core/touch.d.ts +121 -0
  458. package/core/touch.ts +306 -0
  459. package/core/touch_gesture.d.ts +115 -0
  460. package/core/{touch_gesture.js → touch_gesture.ts} +87 -125
  461. package/core/trashcan.d.ts +195 -0
  462. package/core/{trashcan.js → trashcan.ts} +226 -312
  463. package/core/utils/aria.d.ts +67 -0
  464. package/core/utils/{aria.js → aria.ts} +47 -61
  465. package/core/utils/array.d.ts +14 -0
  466. package/core/utils/{array.js → array.ts} +10 -12
  467. package/core/utils/colour.d.ts +103 -0
  468. package/core/utils/{colour.js → colour.ts} +60 -72
  469. package/core/utils/coordinate.d.ts +72 -0
  470. package/core/utils/coordinate.ts +124 -0
  471. package/core/utils/deprecation.d.ts +17 -0
  472. package/core/utils/{deprecation.js → deprecation.ts} +11 -11
  473. package/core/utils/dom.d.ts +165 -0
  474. package/core/utils/{dom.js → dom.ts} +125 -147
  475. package/core/utils/idgenerator.d.ts +25 -0
  476. package/core/utils/{idgenerator.js → idgenerator.ts} +15 -18
  477. package/core/utils/keycodes.d.ts +137 -0
  478. package/core/utils/keycodes.ts +169 -0
  479. package/core/utils/math.d.ts +30 -0
  480. package/core/utils/{math.js → math.ts} +17 -19
  481. package/core/utils/metrics.d.ts +64 -0
  482. package/core/utils/metrics.ts +97 -0
  483. package/core/utils/object.d.ts +35 -0
  484. package/core/utils/{object.js → object.ts} +30 -26
  485. package/core/utils/parsing.d.ts +50 -0
  486. package/core/utils/{parsing.js → parsing.ts} +50 -50
  487. package/core/utils/rect.d.ts +38 -0
  488. package/core/utils/{rect.js → rect.ts} +18 -31
  489. package/core/utils/sentinel.d.ts +11 -0
  490. package/core/utils/{sentinel.js → sentinel.ts} +3 -5
  491. package/core/utils/size.d.ts +27 -0
  492. package/core/utils/{size.js → size.ts} +12 -26
  493. package/core/utils/string.d.ts +55 -0
  494. package/core/utils/{string.js → string.ts} +64 -61
  495. package/core/utils/style.d.ts +127 -0
  496. package/core/utils/{style.js → style.ts} +102 -92
  497. package/core/utils/svg.d.ts +68 -0
  498. package/core/utils/svg.ts +88 -0
  499. package/core/utils/svg_math.d.ts +70 -0
  500. package/core/utils/{svg_math.js → svg_math.ts} +72 -71
  501. package/core/utils/svg_paths.d.ts +101 -0
  502. package/core/utils/{svg_paths.js → svg_paths.ts} +56 -65
  503. package/core/utils/toolbox.d.ts +193 -0
  504. package/core/utils/toolbox.ts +433 -0
  505. package/core/utils/useragent.d.ts +33 -0
  506. package/core/utils/useragent.ts +135 -0
  507. package/core/utils/xml.d.ts +52 -0
  508. package/core/utils/{xml.js → xml.ts} +26 -36
  509. package/core/utils.d.ts +217 -0
  510. package/core/utils.ts +428 -0
  511. package/core/variable_map.d.ts +141 -0
  512. package/core/{variable_map.js → variable_map.ts} +131 -149
  513. package/core/variable_model.d.ts +40 -0
  514. package/core/variable_model.ts +82 -0
  515. package/core/variables.d.ts +181 -0
  516. package/core/{variables.js → variables.ts} +206 -188
  517. package/core/variables_dynamic.d.ts +38 -0
  518. package/core/{variables_dynamic.js → variables_dynamic.ts} +47 -43
  519. package/core/warning.d.ts +50 -0
  520. package/core/{warning.js → warning.ts} +52 -66
  521. package/core/widgetdiv.d.ts +69 -0
  522. package/core/widgetdiv.ts +257 -0
  523. package/core/workspace.d.ts +386 -0
  524. package/core/workspace.ts +801 -0
  525. package/core/workspace_audio.d.ts +47 -0
  526. package/core/{workspace_audio.js → workspace_audio.ts} +47 -60
  527. package/core/workspace_comment.d.ts +170 -0
  528. package/core/workspace_comment.ts +398 -0
  529. package/core/workspace_comment_svg.d.ts +329 -0
  530. package/core/{workspace_comment_svg.js → workspace_comment_svg.ts} +347 -444
  531. package/core/workspace_drag_surface_svg.d.ts +68 -0
  532. package/core/{workspace_drag_surface_svg.js → workspace_drag_surface_svg.ts} +75 -82
  533. package/core/workspace_dragger.d.ts +48 -0
  534. package/core/workspace_dragger.ts +104 -0
  535. package/core/workspace_svg.d.ts +920 -0
  536. package/core/{workspace_svg.js → workspace_svg.ts} +855 -935
  537. package/core/xml.d.ts +117 -0
  538. package/core/{xml.js → xml.ts} +306 -326
  539. package/core/zoom_controls.d.ts +130 -0
  540. package/core/{zoom_controls.js → zoom_controls.ts} +185 -251
  541. package/core.d.ts +1 -3
  542. package/core.js +1 -2
  543. package/dart.d.ts +0 -3
  544. package/dart_compressed.js +387 -99
  545. package/dart_compressed.js.map +1 -1
  546. package/generators/dart/all.js +2 -0
  547. package/generators/dart/colour.js +1 -1
  548. package/generators/dart/lists.js +1 -1
  549. package/generators/dart/logic.js +1 -1
  550. package/generators/dart/loops.js +1 -1
  551. package/generators/dart/math.js +1 -1
  552. package/generators/dart/procedures.js +1 -1
  553. package/generators/dart/text.js +1 -1
  554. package/generators/dart/variables.js +1 -1
  555. package/generators/dart/variables_dynamic.js +1 -1
  556. package/generators/dart.js +1 -2
  557. package/generators/javascript/all.js +2 -0
  558. package/generators/javascript/colour.js +1 -1
  559. package/generators/javascript/lists.js +1 -1
  560. package/generators/javascript/logic.js +1 -1
  561. package/generators/javascript/loops.js +1 -1
  562. package/generators/javascript/math.js +4 -4
  563. package/generators/javascript/procedures.js +1 -1
  564. package/generators/javascript/text.js +2 -2
  565. package/generators/javascript/variables.js +1 -1
  566. package/generators/javascript/variables_dynamic.js +1 -1
  567. package/generators/javascript.js +1 -3
  568. package/generators/lua/all.js +2 -0
  569. package/generators/lua/colour.js +1 -1
  570. package/generators/lua/lists.js +1 -1
  571. package/generators/lua/logic.js +1 -1
  572. package/generators/lua/loops.js +1 -1
  573. package/generators/lua/math.js +1 -1
  574. package/generators/lua/procedures.js +1 -1
  575. package/generators/lua/text.js +1 -1
  576. package/generators/lua/variables.js +1 -1
  577. package/generators/lua/variables_dynamic.js +1 -1
  578. package/generators/lua.js +1 -2
  579. package/generators/php/all.js +2 -0
  580. package/generators/php/colour.js +1 -1
  581. package/generators/php/lists.js +1 -2
  582. package/generators/php/logic.js +1 -1
  583. package/generators/php/loops.js +1 -1
  584. package/generators/php/math.js +1 -1
  585. package/generators/php/procedures.js +1 -1
  586. package/generators/php/text.js +1 -1
  587. package/generators/php/variables.js +1 -1
  588. package/generators/php/variables_dynamic.js +1 -1
  589. package/generators/php.js +1 -2
  590. package/generators/python/all.js +2 -0
  591. package/generators/python/colour.js +3 -3
  592. package/generators/python/lists.js +1 -1
  593. package/generators/python/logic.js +1 -1
  594. package/generators/python/loops.js +4 -7
  595. package/generators/python/math.js +1 -1
  596. package/generators/python/procedures.js +1 -1
  597. package/generators/python/text.js +1 -1
  598. package/generators/python/variables.js +1 -1
  599. package/generators/python/variables_dynamic.js +1 -1
  600. package/generators/python.js +1 -2
  601. package/index.d.ts +2 -8
  602. package/javascript.d.ts +0 -3
  603. package/javascript_compressed.js +314 -104
  604. package/javascript_compressed.js.map +1 -1
  605. package/lua.d.ts +0 -3
  606. package/lua_compressed.js +399 -81
  607. package/lua_compressed.js.map +1 -1
  608. package/msg/ab.js +421 -421
  609. package/msg/ace.js +421 -421
  610. package/msg/af.js +421 -421
  611. package/msg/am.js +421 -421
  612. package/msg/ar.js +421 -421
  613. package/msg/ast.js +421 -421
  614. package/msg/az.js +421 -421
  615. package/msg/ba.js +421 -421
  616. package/msg/bcc.js +421 -421
  617. package/msg/be-tarask.js +421 -421
  618. package/msg/be.js +421 -421
  619. package/msg/bg.js +421 -421
  620. package/msg/bn.js +421 -421
  621. package/msg/br.js +421 -421
  622. package/msg/bs.js +421 -421
  623. package/msg/ca.js +421 -421
  624. package/msg/cdo.js +421 -421
  625. package/msg/cs.js +421 -421
  626. package/msg/da.js +421 -421
  627. package/msg/de.js +421 -421
  628. package/msg/diq.js +421 -421
  629. package/msg/dty.js +421 -421
  630. package/msg/ee.js +421 -421
  631. package/msg/el.js +421 -421
  632. package/msg/en-gb.js +421 -421
  633. package/msg/en.js +421 -421
  634. package/msg/eo.js +421 -421
  635. package/msg/es.js +421 -421
  636. package/msg/et.js +421 -421
  637. package/msg/eu.js +421 -421
  638. package/msg/fa.js +421 -421
  639. package/msg/fi.js +421 -421
  640. package/msg/fo.js +421 -421
  641. package/msg/fr.js +421 -421
  642. package/msg/frr.js +421 -421
  643. package/msg/gl.js +421 -421
  644. package/msg/gn.js +421 -421
  645. package/msg/gor.js +421 -421
  646. package/msg/ha.js +421 -421
  647. package/msg/hak.js +421 -421
  648. package/msg/he.js +421 -421
  649. package/msg/hi.js +421 -421
  650. package/msg/hr.js +421 -421
  651. package/msg/hrx.js +421 -421
  652. package/msg/hu.js +421 -421
  653. package/msg/hy.js +421 -421
  654. package/msg/ia.js +421 -421
  655. package/msg/id.js +421 -421
  656. package/msg/ig.js +421 -421
  657. package/msg/inh.js +421 -421
  658. package/msg/is.js +421 -421
  659. package/msg/it.js +421 -421
  660. package/msg/ja.js +421 -421
  661. package/msg/ka.js +421 -421
  662. package/msg/kab.js +421 -421
  663. package/msg/kbd-cyrl.js +421 -421
  664. package/msg/km.js +421 -421
  665. package/msg/kn.js +421 -421
  666. package/msg/ko.js +421 -421
  667. package/msg/ksh.js +421 -421
  668. package/msg/ku-latn.js +421 -421
  669. package/msg/ky.js +421 -421
  670. package/msg/la.js +421 -421
  671. package/msg/lb.js +421 -421
  672. package/msg/lki.js +421 -421
  673. package/msg/lo.js +421 -421
  674. package/msg/lrc.js +421 -421
  675. package/msg/lt.js +421 -421
  676. package/msg/lv.js +421 -421
  677. package/msg/mg.js +421 -421
  678. package/msg/mk.js +421 -421
  679. package/msg/ml.js +421 -421
  680. package/msg/mnw.js +421 -421
  681. package/msg/ms.js +421 -421
  682. package/msg/my.js +421 -421
  683. package/msg/mzn.js +421 -421
  684. package/msg/nb.js +421 -421
  685. package/msg/ne.js +421 -421
  686. package/msg/nl.js +421 -421
  687. package/msg/oc.js +421 -421
  688. package/msg/olo.js +421 -421
  689. package/msg/pa.js +421 -421
  690. package/msg/pl.js +421 -421
  691. package/msg/pms.js +421 -421
  692. package/msg/ps.js +421 -421
  693. package/msg/pt-br.js +421 -421
  694. package/msg/pt.js +421 -421
  695. package/msg/ro.js +421 -421
  696. package/msg/ru.js +421 -421
  697. package/msg/sc.js +421 -421
  698. package/msg/sco.js +421 -421
  699. package/msg/sd.js +421 -421
  700. package/msg/shn.js +421 -421
  701. package/msg/si.js +421 -421
  702. package/msg/sk.js +421 -421
  703. package/msg/skr-arab.js +421 -421
  704. package/msg/sl.js +421 -421
  705. package/msg/smn.js +421 -421
  706. package/msg/sq.js +421 -421
  707. package/msg/sr-latn.js +421 -421
  708. package/msg/sr.js +421 -421
  709. package/msg/sv.js +421 -421
  710. package/msg/sw.js +421 -421
  711. package/msg/ta.js +421 -421
  712. package/msg/tcy.js +421 -421
  713. package/msg/te.js +421 -421
  714. package/msg/th.js +421 -421
  715. package/msg/ti.js +421 -421
  716. package/msg/tl.js +421 -421
  717. package/msg/tlh.js +421 -421
  718. package/msg/tr.js +421 -421
  719. package/msg/ug-arab.js +421 -421
  720. package/msg/uk.js +421 -421
  721. package/msg/ur.js +421 -421
  722. package/msg/uz.js +421 -421
  723. package/msg/vi.js +421 -421
  724. package/msg/xmf.js +421 -421
  725. package/msg/yo.js +421 -421
  726. package/msg/yue.js +421 -421
  727. package/msg/zgh.js +421 -421
  728. package/msg/zh-hans.js +421 -421
  729. package/msg/zh-hant.js +421 -421
  730. package/package.json +5 -5
  731. package/php.d.ts +0 -3
  732. package/php_compressed.js +322 -93
  733. package/php_compressed.js.map +1 -1
  734. package/python.d.ts +0 -3
  735. package/python_compressed.js +237 -90
  736. package/python_compressed.js.map +1 -1
  737. package/blockly.d.ts +0 -26127
  738. package/core/blockly_options.js +0 -28
  739. package/core/bubble_dragger.js +0 -298
  740. package/core/clipboard.js +0 -80
  741. package/core/component_manager.js +0 -263
  742. package/core/contextmenu_items.js +0 -651
  743. package/core/contextmenu_registry.js +0 -178
  744. package/core/delete_area.js +0 -87
  745. package/core/dialog.js +0 -107
  746. package/core/drag_target.js +0 -98
  747. package/core/events/events.js +0 -147
  748. package/core/events/events_abstract.js +0 -133
  749. package/core/events/events_block_base.js +0 -70
  750. package/core/events/events_block_drag.js +0 -89
  751. package/core/events/events_bubble_open.js +0 -90
  752. package/core/events/events_comment_base.js +0 -121
  753. package/core/events/events_marker_move.js +0 -110
  754. package/core/events/events_selected.js +0 -83
  755. package/core/events/events_toolbox_item_select.js +0 -84
  756. package/core/events/events_trashcan_open.js +0 -73
  757. package/core/events/events_var_base.js +0 -70
  758. package/core/events/events_viewport.js +0 -107
  759. package/core/events/workspace_events.js +0 -93
  760. package/core/field_angle.js +0 -591
  761. package/core/field_checkbox.js +0 -255
  762. package/core/field_colour.js +0 -717
  763. package/core/field_image.js +0 -304
  764. package/core/field_label.js +0 -149
  765. package/core/field_label_serializable.js +0 -80
  766. package/core/field_textinput.js +0 -619
  767. package/core/flyout_button.js +0 -356
  768. package/core/grid.js +0 -226
  769. package/core/icon.js +0 -225
  770. package/core/input.js +0 -335
  771. package/core/interfaces/i_ast_node_location_svg.js +0 -45
  772. package/core/interfaces/i_ast_node_location_with_block.js +0 -41
  773. package/core/interfaces/i_autohideable.js +0 -40
  774. package/core/interfaces/i_block_dragger.js +0 -66
  775. package/core/interfaces/i_bounded_element.js +0 -45
  776. package/core/interfaces/i_bubble.js +0 -95
  777. package/core/interfaces/i_collapsible_toolbox_item.js +0 -53
  778. package/core/interfaces/i_connection_checker.js +0 -104
  779. package/core/interfaces/i_contextmenu.js +0 -32
  780. package/core/interfaces/i_copyable.js +0 -49
  781. package/core/interfaces/i_delete_area.js +0 -50
  782. package/core/interfaces/i_drag_target.js +0 -88
  783. package/core/interfaces/i_flyout.js +0 -201
  784. package/core/interfaces/i_keyboard_accessible.js +0 -38
  785. package/core/interfaces/i_metrics_manager.js +0 -154
  786. package/core/interfaces/i_positionable.js +0 -51
  787. package/core/interfaces/i_selectable.js +0 -51
  788. package/core/interfaces/i_selectable_toolbox_item.js +0 -73
  789. package/core/interfaces/i_serializer.js +0 -77
  790. package/core/interfaces/i_styleable.js +0 -39
  791. package/core/interfaces/i_toolbox.js +0 -142
  792. package/core/interfaces/i_toolbox_item.js +0 -85
  793. package/core/marker_manager.js +0 -213
  794. package/core/menuitem.js +0 -292
  795. package/core/names.js +0 -293
  796. package/core/registry.js +0 -384
  797. package/core/renderers/common/block_rendering.js +0 -170
  798. package/core/renderers/common/constants.js +0 -1250
  799. package/core/renderers/common/i_path_object.js +0 -162
  800. package/core/renderers/common/marker_svg.js +0 -721
  801. package/core/renderers/common/path_object.js +0 -283
  802. package/core/renderers/common/renderer.js +0 -305
  803. package/core/renderers/geras/constants.js +0 -73
  804. package/core/renderers/geras/geras.js +0 -36
  805. package/core/renderers/geras/measurables/inline_input.js +0 -58
  806. package/core/renderers/geras/measurables/statement_input.js +0 -57
  807. package/core/renderers/geras/renderer.js +0 -149
  808. package/core/renderers/measurables/base.js +0 -64
  809. package/core/renderers/measurables/bottom_row.js +0 -138
  810. package/core/renderers/measurables/connection.js +0 -56
  811. package/core/renderers/measurables/external_value_input.js +0 -70
  812. package/core/renderers/measurables/field.js +0 -71
  813. package/core/renderers/measurables/in_row_spacer.js +0 -47
  814. package/core/renderers/measurables/input_connection.js +0 -75
  815. package/core/renderers/measurables/next_connection.js +0 -50
  816. package/core/renderers/measurables/output_connection.js +0 -61
  817. package/core/renderers/measurables/previous_connection.js +0 -50
  818. package/core/renderers/measurables/round_corner.js +0 -52
  819. package/core/renderers/measurables/row.js +0 -247
  820. package/core/renderers/measurables/spacer_row.js +0 -69
  821. package/core/renderers/measurables/square_corner.js +0 -50
  822. package/core/renderers/measurables/top_row.js +0 -143
  823. package/core/renderers/measurables/types.js +0 -353
  824. package/core/renderers/minimalist/drawer.js +0 -42
  825. package/core/renderers/minimalist/info.js +0 -54
  826. package/core/renderers/minimalist/minimalist.js +0 -26
  827. package/core/renderers/minimalist/renderer.js +0 -80
  828. package/core/renderers/thrasos/renderer.js +0 -53
  829. package/core/renderers/thrasos/thrasos.js +0 -22
  830. package/core/renderers/zelos/marker_svg.js +0 -179
  831. package/core/renderers/zelos/measurables/bottom_row.js +0 -66
  832. package/core/renderers/zelos/measurables/row_elements.js +0 -46
  833. package/core/renderers/zelos/path_object.js +0 -247
  834. package/core/renderers/zelos/renderer.js +0 -147
  835. package/core/renderers/zelos/zelos.js +0 -38
  836. package/core/serialization/exceptions.js +0 -144
  837. package/core/shortcut_registry.js +0 -366
  838. package/core/theme/themes.js +0 -23
  839. package/core/theme.js +0 -228
  840. package/core/theme_manager.js +0 -211
  841. package/core/toolbox/category.js +0 -751
  842. package/core/toolbox/collapsible_category.js +0 -311
  843. package/core/toolbox/separator.js +0 -133
  844. package/core/toolbox/toolbox_item.js +0 -173
  845. package/core/touch.js +0 -285
  846. package/core/utils/coordinate.js +0 -138
  847. package/core/utils/global.js +0 -41
  848. package/core/utils/keycodes.js +0 -172
  849. package/core/utils/metrics.js +0 -154
  850. package/core/utils/svg.js +0 -186
  851. package/core/utils/toolbox.js +0 -459
  852. package/core/utils/useragent.js +0 -197
  853. package/core/utils.js +0 -383
  854. package/core/variable_model.js +0 -96
  855. package/core/widgetdiv.js +0 -290
  856. package/core/workspace.js +0 -836
  857. package/core/workspace_comment.js +0 -400
  858. package/core/workspace_dragger.js +0 -115
@@ -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
+ }