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
@@ -0,0 +1,28 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2021 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /**
7
+ * Returns whether the debugger is turned on.
8
+ * @return Whether the debugger is turned on.
9
+ * @alias Blockly.blockRendering.debug.isDebuggerEnabled
10
+ * @internal
11
+ */
12
+ export declare function isDebuggerEnabled(): boolean;
13
+ /**
14
+ * Turn on the blocks debugger.
15
+ * @alias Blockly.blockRendering.debug.startDebugger
16
+ * @deprecated March 2022. Use the rendering debugger in @blockly/dev-tools.
17
+ * See https://www.npmjs.com/package/@blockly/dev-tools for more information.
18
+ * @internal
19
+ */
20
+ export declare function startDebugger(): void;
21
+ /**
22
+ * Turn off the blocks debugger.
23
+ * @alias Blockly.blockRendering.debug.stopDebugger
24
+ * @deprecated March 2022. Use the rendering debugger in @blockly/dev-tools.
25
+ * See https://www.npmjs.com/package/@blockly/dev-tools for more information.
26
+ * @internal
27
+ */
28
+ export declare function stopDebugger(): void;
@@ -7,61 +7,55 @@
7
7
  /**
8
8
  * @fileoverview Block rendering debugging functionality.
9
9
  */
10
- 'use strict';
11
10
 
12
11
  /**
13
12
  * Block rendering debugging functionality.
14
13
  * @namespace Blockly.blockRendering.debug
15
14
  */
16
- goog.module('Blockly.blockRendering.debug');
15
+ import * as goog from '../../../closure/goog/goog.js';
16
+ goog.declareModuleId('Blockly.blockRendering.debug');
17
17
 
18
- const deprecation = goog.require('Blockly.utils.deprecation');
18
+ import * as deprecation from '../../utils/deprecation.js';
19
19
 
20
20
 
21
- /**
22
- * Whether or not the debugger is turned on.
23
- * @type {boolean}
24
- */
21
+ /** Whether or not the debugger is turned on. */
25
22
  let useDebugger = false;
26
23
  /**
27
24
  * Returns whether the debugger is turned on.
28
- * @return {boolean} Whether the debugger is turned on.
25
+ * @return Whether the debugger is turned on.
29
26
  * @alias Blockly.blockRendering.debug.isDebuggerEnabled
30
- * @package
27
+ * @internal
31
28
  */
32
- const isDebuggerEnabled = function() {
29
+ export function isDebuggerEnabled(): boolean {
33
30
  return useDebugger;
34
- };
35
- exports.isDebuggerEnabled = isDebuggerEnabled;
31
+ }
36
32
 
37
33
  /**
38
34
  * Turn on the blocks debugger.
39
- * @package
40
35
  * @alias Blockly.blockRendering.debug.startDebugger
41
36
  * @deprecated March 2022. Use the rendering debugger in @blockly/dev-tools.
42
37
  * See https://www.npmjs.com/package/@blockly/dev-tools for more information.
38
+ * @internal
43
39
  */
44
- const startDebugger = function() {
40
+ export function startDebugger() {
45
41
  deprecation.warn(
46
42
  'Blockly.blockRendering.debug.startDebugger()', 'February 2022',
47
43
  'September 2022',
48
44
  'the debug renderer in @blockly/dev-tools (See https://www.npmjs.com/package/@blockly/dev-tools.)');
49
45
  useDebugger = true;
50
- };
51
- exports.startDebugger = startDebugger;
46
+ }
52
47
 
53
48
  /**
54
49
  * Turn off the blocks debugger.
55
- * @package
56
50
  * @alias Blockly.blockRendering.debug.stopDebugger
57
51
  * @deprecated March 2022. Use the rendering debugger in @blockly/dev-tools.
58
52
  * See https://www.npmjs.com/package/@blockly/dev-tools for more information.
53
+ * @internal
59
54
  */
60
- const stopDebugger = function() {
55
+ export function stopDebugger() {
61
56
  deprecation.warn(
62
57
  'Blockly.blockRendering.debug.stopDebugger()', 'February 2022',
63
58
  'September 2022',
64
59
  'the debug renderer in @blockly/dev-tools (See https://www.npmjs.com/package/@blockly/dev-tools.)');
65
60
  useDebugger = false;
66
- };
67
- exports.stopDebugger = stopDebugger;
61
+ }
@@ -0,0 +1,120 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2019 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { BlockSvg } from '../../block_svg.js';
7
+ import type { RenderedConnection } from '../../rendered_connection.js';
8
+ import type { Measurable } from '../measurables/base.js';
9
+ import type { InRowSpacer } from '../measurables/in_row_spacer.js';
10
+ import type { Row } from '../measurables/row.js';
11
+ import type { ConstantProvider } from './constants.js';
12
+ import type { RenderInfo } from './info.js';
13
+ /**
14
+ * An object that renders rectangles and dots for debugging rendering code.
15
+ * @alias Blockly.blockRendering.Debug
16
+ */
17
+ export declare class Debug {
18
+ private readonly constants;
19
+ /**
20
+ * Configuration object containing booleans to enable and disable debug
21
+ * rendering of specific rendering components.
22
+ * @struct
23
+ */
24
+ static config: {
25
+ rowSpacers: boolean;
26
+ elemSpacers: boolean;
27
+ rows: boolean;
28
+ elems: boolean;
29
+ connections: boolean;
30
+ blockBounds: boolean;
31
+ connectedBlockBounds: boolean;
32
+ render: boolean;
33
+ };
34
+ /** An array of SVG elements that have been created by this object. */
35
+ private debugElements_;
36
+ /**
37
+ * The SVG root of the block that is being rendered. Debug elements will
38
+ * be attached to this root.
39
+ */
40
+ private svgRoot_;
41
+ private randomColour_;
42
+ /**
43
+ * @param constants The renderer's constants.
44
+ * @internal
45
+ */
46
+ constructor(constants: ConstantProvider);
47
+ /**
48
+ * Remove all elements the this object created on the last pass.
49
+ * @internal
50
+ */
51
+ clearElems(): void;
52
+ /**
53
+ * Draw a debug rectangle for a spacer (empty) row.
54
+ * @param row The row to render.
55
+ * @param cursorY The y position of the top of the row.
56
+ * @param isRtl Whether the block is rendered RTL.
57
+ * @internal
58
+ */
59
+ drawSpacerRow(row: Row, cursorY: number, isRtl: boolean): void;
60
+ /**
61
+ * Draw a debug rectangle for a horizontal spacer.
62
+ * @param elem The spacer to render.
63
+ * @param rowHeight The height of the container row.
64
+ * @param isRtl Whether the block is rendered RTL.
65
+ * @internal
66
+ */
67
+ drawSpacerElem(elem: InRowSpacer, rowHeight: number, isRtl: boolean): void;
68
+ /**
69
+ * Draw a debug rectangle for an in-row element.
70
+ * @param elem The element to render.
71
+ * @param isRtl Whether the block is rendered RTL.
72
+ * @internal
73
+ */
74
+ drawRenderedElem(elem: Measurable, isRtl: boolean): void;
75
+ /**
76
+ * Draw a circle at the location of the given connection. Inputs and outputs
77
+ * share the same colours, as do previous and next. When positioned correctly
78
+ * a connected pair will look like a bullseye.
79
+ * @param conn The connection to circle.
80
+ * @suppress {visibility} Suppress visibility of conn.offsetInBlock_ since
81
+ * this is a debug module.
82
+ * @internal
83
+ */
84
+ drawConnection(conn: RenderedConnection): void;
85
+ /**
86
+ * Draw a debug rectangle for a non-empty row.
87
+ * @param row The non-empty row to render.
88
+ * @param cursorY The y position of the top of the row.
89
+ * @param isRtl Whether the block is rendered RTL.
90
+ * @internal
91
+ */
92
+ drawRenderedRow(row: Row, cursorY: number, isRtl: boolean): void;
93
+ /**
94
+ * Draw debug rectangles for a non-empty row and all of its subcomponents.
95
+ * @param row The non-empty row to render.
96
+ * @param cursorY The y position of the top of the row.
97
+ * @param isRtl Whether the block is rendered RTL.
98
+ * @internal
99
+ */
100
+ drawRowWithElements(row: Row, cursorY: number, isRtl: boolean): void;
101
+ /**
102
+ * Draw a debug rectangle around the entire block.
103
+ * @param info Rendering information about the block to debug.
104
+ * @internal
105
+ */
106
+ drawBoundingBox(info: RenderInfo): void;
107
+ /**
108
+ * Do all of the work to draw debug information for the whole block.
109
+ * @param block The block to draw debug information for.
110
+ * @param info Rendering information about the block to debug.
111
+ * @internal
112
+ */
113
+ drawDebug(block: BlockSvg, info: RenderInfo): void;
114
+ /**
115
+ * Show a debug filter to highlight that a block has been rendered.
116
+ * @param svgPath The block's SVG path.
117
+ * @internal
118
+ */
119
+ drawRender(svgPath: SVGElement): void;
120
+ }
@@ -7,83 +7,75 @@
7
7
  /**
8
8
  * @fileoverview Methods for rendering debug graphics.
9
9
  */
10
- 'use strict';
11
-
12
10
 
13
11
  /**
14
12
  * Methods for rendering debug graphics.
15
13
  * @class
16
14
  */
17
- goog.module('Blockly.blockRendering.Debug');
18
-
19
- const dom = goog.require('Blockly.utils.dom');
20
- /* eslint-disable-next-line no-unused-vars */
21
- const {BlockSvg} = goog.requireType('Blockly.BlockSvg');
22
- const {ConnectionType} = goog.require('Blockly.ConnectionType');
23
- /* eslint-disable-next-line no-unused-vars */
24
- const {ConstantProvider} = goog.requireType('Blockly.blockRendering.ConstantProvider');
25
- const {Field} = goog.require('Blockly.blockRendering.Field');
26
- const {FieldLabel} = goog.require('Blockly.FieldLabel');
27
- const {InputConnection} = goog.require('Blockly.blockRendering.InputConnection');
28
- /* eslint-disable-next-line no-unused-vars */
29
- const {InRowSpacer} = goog.requireType('Blockly.blockRendering.InRowSpacer');
30
- /* eslint-disable-next-line no-unused-vars */
31
- const {Measurable} = goog.requireType('Blockly.blockRendering.Measurable');
32
- /* eslint-disable-next-line no-unused-vars */
33
- const {RenderInfo} = goog.requireType('Blockly.blockRendering.RenderInfo');
34
- /* eslint-disable-next-line no-unused-vars */
35
- const {RenderInfo: ZelosInfo} = goog.requireType('Blockly.zelos.RenderInfo');
36
- /* eslint-disable-next-line no-unused-vars */
37
- const {RenderedConnection} = goog.requireType('Blockly.RenderedConnection');
38
- /* eslint-disable-next-line no-unused-vars */
39
- const {Row} = goog.requireType('Blockly.blockRendering.Row');
40
- const {Svg} = goog.require('Blockly.utils.Svg');
41
- const {Types} = goog.require('Blockly.blockRendering.Types');
15
+ import * as goog from '../../../closure/goog/goog.js';
16
+ goog.declareModuleId('Blockly.blockRendering.Debug');
17
+
18
+ import type {BlockSvg} from '../../block_svg.js';
19
+ import {ConnectionType} from '../../connection_type.js';
20
+ import {FieldLabel} from '../../field_label.js';
21
+ import type {RenderedConnection} from '../../rendered_connection.js';
22
+ import * as dom from '../../utils/dom.js';
23
+ import {Svg} from '../../utils/svg.js';
24
+ import type {Measurable} from '../measurables/base.js';
25
+ import {Field} from '../measurables/field.js';
26
+ import type {InRowSpacer} from '../measurables/in_row_spacer.js';
27
+ import {InputConnection} from '../measurables/input_connection.js';
28
+ import type {Row} from '../measurables/row.js';
29
+ import {Types} from '../measurables/types.js';
30
+ import type {RenderInfo as ZelosInfo} from '../zelos/info.js';
31
+
32
+ import type {ConstantProvider} from './constants.js';
33
+ import type {RenderInfo} from './info.js';
42
34
 
43
35
 
44
36
  /**
45
37
  * An object that renders rectangles and dots for debugging rendering code.
46
38
  * @alias Blockly.blockRendering.Debug
47
39
  */
48
- class Debug {
40
+ export class Debug {
49
41
  /**
50
- * @param {!ConstantProvider} constants The renderer's
51
- * constants.
52
- * @package
42
+ * Configuration object containing booleans to enable and disable debug
43
+ * rendering of specific rendering components.
44
+ * @struct
53
45
  */
54
- constructor(constants) {
55
- /**
56
- * An array of SVG elements that have been created by this object.
57
- * @type {Array<!SVGElement>}
58
- * @private
59
- */
60
- this.debugElements_ = [];
46
+ static config = {
47
+ rowSpacers: true,
48
+ elemSpacers: true,
49
+ rows: true,
50
+ elems: true,
51
+ connections: true,
52
+ blockBounds: true,
53
+ connectedBlockBounds: true,
54
+ render: true,
55
+ };
56
+
57
+ /** An array of SVG elements that have been created by this object. */
58
+ private debugElements_: SVGElement[] = [];
61
59
 
62
- /**
63
- * The SVG root of the block that is being rendered. Debug elements will
64
- * be attached to this root.
65
- * @type {SVGElement}
66
- * @private
67
- */
68
- this.svgRoot_ = null;
60
+ /**
61
+ * The SVG root of the block that is being rendered. Debug elements will
62
+ * be attached to this root.
63
+ */
64
+ // AnyDuringMigration because: Type 'null' is not assignable to type
65
+ // 'SVGElement'.
66
+ private svgRoot_: SVGElement = null as AnyDuringMigration;
69
67
 
70
- /**
71
- * The renderer's constant provider.
72
- * @type {!ConstantProvider}
73
- * @private
74
- */
75
- this.constants_ = constants;
68
+ private randomColour_ = '';
76
69
 
77
- /**
78
- * @type {string}
79
- * @private
80
- */
81
- this.randomColour_ = '';
82
- }
70
+ /**
71
+ * @param constants The renderer's constants.
72
+ * @internal
73
+ */
74
+ constructor(private readonly constants: ConstantProvider) {}
83
75
 
84
76
  /**
85
77
  * Remove all elements the this object created on the last pass.
86
- * @package
78
+ * @internal
87
79
  */
88
80
  clearElems() {
89
81
  for (let i = 0; i < this.debugElements_.length; i++) {
@@ -96,12 +88,12 @@ class Debug {
96
88
 
97
89
  /**
98
90
  * Draw a debug rectangle for a spacer (empty) row.
99
- * @param {!Row} row The row to render.
100
- * @param {number} cursorY The y position of the top of the row.
101
- * @param {boolean} isRtl Whether the block is rendered RTL.
102
- * @package
91
+ * @param row The row to render.
92
+ * @param cursorY The y position of the top of the row.
93
+ * @param isRtl Whether the block is rendered RTL.
94
+ * @internal
103
95
  */
104
- drawSpacerRow(row, cursorY, isRtl) {
96
+ drawSpacerRow(row: Row, cursorY: number, isRtl: boolean) {
105
97
  if (!Debug.config.rowSpacers) {
106
98
  return;
107
99
  }
@@ -129,12 +121,12 @@ class Debug {
129
121
 
130
122
  /**
131
123
  * Draw a debug rectangle for a horizontal spacer.
132
- * @param {!InRowSpacer} elem The spacer to render.
133
- * @param {number} rowHeight The height of the container row.
134
- * @param {boolean} isRtl Whether the block is rendered RTL.
135
- * @package
124
+ * @param elem The spacer to render.
125
+ * @param rowHeight The height of the container row.
126
+ * @param isRtl Whether the block is rendered RTL.
127
+ * @internal
136
128
  */
137
- drawSpacerElem(elem, rowHeight, isRtl) {
129
+ drawSpacerElem(elem: InRowSpacer, rowHeight: number, isRtl: boolean) {
138
130
  if (!Debug.config.elemSpacers) {
139
131
  return;
140
132
  }
@@ -163,11 +155,11 @@ class Debug {
163
155
 
164
156
  /**
165
157
  * Draw a debug rectangle for an in-row element.
166
- * @param {!Measurable} elem The element to render.
167
- * @param {boolean} isRtl Whether the block is rendered RTL.
168
- * @package
158
+ * @param elem The element to render.
159
+ * @param isRtl Whether the block is rendered RTL.
160
+ * @internal
169
161
  */
170
- drawRenderedElem(elem, isRtl) {
162
+ drawRenderedElem(elem: Measurable, isRtl: boolean) {
171
163
  if (Debug.config.elems) {
172
164
  let xPos = elem.xPos;
173
165
  if (isRtl) {
@@ -189,7 +181,7 @@ class Debug {
189
181
 
190
182
  if (Types.isField(elem) && elem instanceof Field &&
191
183
  elem.field instanceof FieldLabel) {
192
- const baseline = this.constants_.FIELD_TEXT_BASELINE;
184
+ const baseline = this.constants.FIELD_TEXT_BASELINE;
193
185
  this.debugElements_.push(dom.createSvgElement(
194
186
  Svg.RECT, {
195
187
  'class': 'rowRenderingRect blockRenderDebug',
@@ -205,7 +197,6 @@ class Debug {
205
197
  }
206
198
  }
207
199
 
208
-
209
200
  if (Types.isInput(elem) && elem instanceof InputConnection &&
210
201
  Debug.config.connections) {
211
202
  this.drawConnection(elem.connectionModel);
@@ -216,12 +207,12 @@ class Debug {
216
207
  * Draw a circle at the location of the given connection. Inputs and outputs
217
208
  * share the same colours, as do previous and next. When positioned correctly
218
209
  * a connected pair will look like a bullseye.
219
- * @param {RenderedConnection} conn The connection to circle.
210
+ * @param conn The connection to circle.
220
211
  * @suppress {visibility} Suppress visibility of conn.offsetInBlock_ since
221
212
  * this is a debug module.
222
- * @package
213
+ * @internal
223
214
  */
224
- drawConnection(conn) {
215
+ drawConnection(conn: RenderedConnection) {
225
216
  if (!Debug.config.connections) {
226
217
  return;
227
218
  }
@@ -246,11 +237,15 @@ class Debug {
246
237
  colour = 'goldenrod';
247
238
  fill = colour;
248
239
  }
240
+ // AnyDuringMigration because: Property 'offsetInBlock_' is private and
241
+ // only accessible within class 'RenderedConnection'. AnyDuringMigration
242
+ // because: Property 'offsetInBlock_' is private and only accessible within
243
+ // class 'RenderedConnection'.
249
244
  this.debugElements_.push(dom.createSvgElement(
250
245
  Svg.CIRCLE, {
251
246
  'class': 'blockRenderDebug',
252
- 'cx': conn.offsetInBlock_.x,
253
- 'cy': conn.offsetInBlock_.y,
247
+ 'cx': (conn as AnyDuringMigration).offsetInBlock_.x,
248
+ 'cy': (conn as AnyDuringMigration).offsetInBlock_.y,
254
249
  'r': size,
255
250
  'fill': fill,
256
251
  'stroke': colour,
@@ -260,12 +255,12 @@ class Debug {
260
255
 
261
256
  /**
262
257
  * Draw a debug rectangle for a non-empty row.
263
- * @param {!Row} row The non-empty row to render.
264
- * @param {number} cursorY The y position of the top of the row.
265
- * @param {boolean} isRtl Whether the block is rendered RTL.
266
- * @package
258
+ * @param row The non-empty row to render.
259
+ * @param cursorY The y position of the top of the row.
260
+ * @param isRtl Whether the block is rendered RTL.
261
+ * @internal
267
262
  */
268
- drawRenderedRow(row, cursorY, isRtl) {
263
+ drawRenderedRow(row: Row, cursorY: number, isRtl: boolean) {
269
264
  if (!Debug.config.rows) {
270
265
  return;
271
266
  }
@@ -282,7 +277,9 @@ class Debug {
282
277
  },
283
278
  this.svgRoot_));
284
279
 
285
- if (Types.isTopOrBottomRow(row)) {
280
+ // AnyDuringMigration because: Property 'isTopOrBottomRow' does not exist
281
+ // on type 'typeof Types'.
282
+ if ((Types as AnyDuringMigration).isTopOrBottomRow(row)) {
286
283
  return;
287
284
  }
288
285
 
@@ -305,12 +302,12 @@ class Debug {
305
302
 
306
303
  /**
307
304
  * Draw debug rectangles for a non-empty row and all of its subcomponents.
308
- * @param {!Row} row The non-empty row to render.
309
- * @param {number} cursorY The y position of the top of the row.
310
- * @param {boolean} isRtl Whether the block is rendered RTL.
311
- * @package
305
+ * @param row The non-empty row to render.
306
+ * @param cursorY The y position of the top of the row.
307
+ * @param isRtl Whether the block is rendered RTL.
308
+ * @internal
312
309
  */
313
- drawRowWithElements(row, cursorY, isRtl) {
310
+ drawRowWithElements(row: Row, cursorY: number, isRtl: boolean) {
314
311
  for (let i = 0; i < row.elements.length; i++) {
315
312
  const elem = row.elements[i];
316
313
  if (!elem) {
@@ -318,8 +315,7 @@ class Debug {
318
315
  continue;
319
316
  }
320
317
  if (Types.isSpacer(elem)) {
321
- this.drawSpacerElem(
322
- /** @type {!InRowSpacer} */ (elem), row.height, isRtl);
318
+ this.drawSpacerElem(elem as InRowSpacer, row.height, isRtl);
323
319
  } else {
324
320
  this.drawRenderedElem(elem, isRtl);
325
321
  }
@@ -329,11 +325,10 @@ class Debug {
329
325
 
330
326
  /**
331
327
  * Draw a debug rectangle around the entire block.
332
- * @param {!RenderInfo} info Rendering information about
333
- * the block to debug.
334
- * @package
328
+ * @param info Rendering information about the block to debug.
329
+ * @internal
335
330
  */
336
- drawBoundingBox(info) {
331
+ drawBoundingBox(info: RenderInfo) {
337
332
  if (!Debug.config.blockBounds) {
338
333
  return;
339
334
  }
@@ -375,12 +370,11 @@ class Debug {
375
370
 
376
371
  /**
377
372
  * Do all of the work to draw debug information for the whole block.
378
- * @param {!BlockSvg} block The block to draw debug information for.
379
- * @param {!RenderInfo} info Rendering information about
380
- * the block to debug.
381
- * @package
373
+ * @param block The block to draw debug information for.
374
+ * @param info Rendering information about the block to debug.
375
+ * @internal
382
376
  */
383
- drawDebug(block, info) {
377
+ drawDebug(block: BlockSvg, info: RenderInfo) {
384
378
  this.clearElems();
385
379
  this.svgRoot_ = block.getSvgRoot();
386
380
 
@@ -411,7 +405,7 @@ class Debug {
411
405
  * TODO: Find a better way to do this check without pulling in all of
412
406
  * zelos, or just delete this line or the whole debug renderer.
413
407
  */
414
- const maybeZelosInfo = /** @type {!ZelosInfo} */ (info);
408
+ const maybeZelosInfo = info as ZelosInfo;
415
409
  if (maybeZelosInfo.rightSide) {
416
410
  this.drawRenderedElem(maybeZelosInfo.rightSide, info.RTL);
417
411
  }
@@ -423,35 +417,17 @@ class Debug {
423
417
 
424
418
  /**
425
419
  * Show a debug filter to highlight that a block has been rendered.
426
- * @param {!SVGElement} svgPath The block's SVG path.
427
- * @package
420
+ * @param svgPath The block's SVG path.
421
+ * @internal
428
422
  */
429
- drawRender(svgPath) {
423
+ drawRender(svgPath: SVGElement) {
430
424
  if (!Debug.config.render) {
431
425
  return;
432
426
  }
433
427
  svgPath.setAttribute(
434
- 'filter', 'url(#' + this.constants_.debugFilterId + ')');
428
+ 'filter', 'url(#' + this.constants.debugFilterId + ')');
435
429
  setTimeout(function() {
436
430
  svgPath.setAttribute('filter', '');
437
431
  }, 100);
438
432
  }
439
433
  }
440
-
441
- /**
442
- * Configuration object containing booleans to enable and disable debug
443
- * rendering of specific rendering components.
444
- * @type {!Object<string, boolean>}
445
- */
446
- Debug.config = {
447
- rowSpacers: true,
448
- elemSpacers: true,
449
- rows: true,
450
- elems: true,
451
- connections: true,
452
- blockBounds: true,
453
- connectedBlockBounds: true,
454
- render: true,
455
- };
456
-
457
- exports.Debug = Debug;