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
package/core/utils.ts ADDED
@@ -0,0 +1,428 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2012 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ /**
8
+ * @fileoverview Utility methods.
9
+ */
10
+
11
+ /**
12
+ * Utility methods.
13
+ * @namespace Blockly.utils
14
+ */
15
+ import * as goog from '../closure/goog/goog.js';
16
+ goog.declareModuleId('Blockly.utils');
17
+
18
+ import type {Block} from './block.js';
19
+ import * as browserEvents from './browser_events.js';
20
+ import * as common from './common.js';
21
+ import * as extensions from './extensions.js';
22
+ import * as aria from './utils/aria.js';
23
+ import * as arrayUtils from './utils/array.js';
24
+ import * as colour from './utils/colour.js';
25
+ import {Coordinate} from './utils/coordinate.js';
26
+ import * as deprecation from './utils/deprecation.js';
27
+ import * as dom from './utils/dom.js';
28
+ import * as idGenerator from './utils/idgenerator.js';
29
+ import {KeyCodes} from './utils/keycodes.js';
30
+ import * as math from './utils/math.js';
31
+ import type {Metrics} from './utils/metrics.js';
32
+ import * as object from './utils/object.js';
33
+ import * as parsing from './utils/parsing.js';
34
+ import {Rect} from './utils/rect.js';
35
+ import {Size} from './utils/size.js';
36
+ import * as stringUtils from './utils/string.js';
37
+ import * as style from './utils/style.js';
38
+ import {Svg} from './utils/svg.js';
39
+ import * as svgMath from './utils/svg_math.js';
40
+ import * as svgPaths from './utils/svg_paths.js';
41
+ import * as toolbox from './utils/toolbox.js';
42
+ import * as userAgent from './utils/useragent.js';
43
+ import * as xml from './utils/xml.js';
44
+ import type {WorkspaceSvg} from './workspace_svg.js';
45
+
46
+
47
+ export {
48
+ aria,
49
+ arrayUtils as array,
50
+ browserEvents,
51
+ colour,
52
+ Coordinate,
53
+ deprecation,
54
+ dom,
55
+ extensions,
56
+ idGenerator,
57
+ KeyCodes,
58
+ math,
59
+ Metrics,
60
+ object,
61
+ parsing,
62
+ Rect,
63
+ Size,
64
+ stringUtils as string,
65
+ style,
66
+ Svg,
67
+ svgMath,
68
+ svgPaths,
69
+ toolbox,
70
+ userAgent,
71
+ xml
72
+ };
73
+
74
+ /**
75
+ * Halts the propagation of the event without doing anything else.
76
+ * @param e An event.
77
+ * @deprecated
78
+ * @alias Blockly.utils.noEvent
79
+ */
80
+ export function noEvent(e: Event) {
81
+ // AnyDuringMigration because: Property 'warn' does not exist on type 'void'.
82
+ (deprecation as AnyDuringMigration)
83
+ .warn('Blockly.utils.noEvent', 'September 2021', 'September 2022');
84
+ // This event has been handled. No need to bubble up to the document.
85
+ e.preventDefault();
86
+ e.stopPropagation();
87
+ }
88
+
89
+ /**
90
+ * Returns true if this event is targeting a text input widget?
91
+ * @param e An event.
92
+ * @return True if text input.
93
+ * @deprecated Use Blockly.browserEvents.isTargetInput instead.
94
+ * @alias Blockly.utils.isTargetInput
95
+ */
96
+ export function isTargetInput(e: Event): boolean {
97
+ // AnyDuringMigration because: Property 'warn' does not exist on type 'void'.
98
+ (deprecation as AnyDuringMigration)
99
+ .warn(
100
+ 'Blockly.utils.isTargetInput', 'September 2021', 'September 2022',
101
+ 'Blockly.browserEvents.isTargetInput');
102
+ return browserEvents.isTargetInput(e);
103
+ }
104
+
105
+ /**
106
+ * Return the coordinates of the top-left corner of this element relative to
107
+ * its parent. Only for SVG elements and children (e.g. rect, g, path).
108
+ * @param element SVG element to find the coordinates of.
109
+ * @return Object with .x and .y properties.
110
+ * @deprecated
111
+ * @alias Blockly.utils.getRelativeXY
112
+ */
113
+ export function getRelativeXY(element: Element): Coordinate {
114
+ // AnyDuringMigration because: Property 'warn' does not exist on type 'void'.
115
+ (deprecation as AnyDuringMigration)
116
+ .warn(
117
+ 'Blockly.utils.getRelativeXY', 'December 2021', 'December 2022',
118
+ 'Blockly.utils.svgMath.getRelativeXY');
119
+ // AnyDuringMigration because: Property 'getRelativeXY' does not exist on
120
+ // type 'void'.
121
+ return (svgMath as AnyDuringMigration).getRelativeXY(element);
122
+ }
123
+
124
+ /**
125
+ * Return the coordinates of the top-left corner of this element relative to
126
+ * the div Blockly was injected into.
127
+ * @param element SVG element to find the coordinates of. If this is not a child
128
+ * of the div Blockly was injected into, the behaviour is undefined.
129
+ * @return Object with .x and .y properties.
130
+ * @deprecated
131
+ * @alias Blockly.utils.getInjectionDivXY_
132
+ */
133
+ function getInjectionDivXY(element: Element): Coordinate {
134
+ // AnyDuringMigration because: Property 'warn' does not exist on type 'void'.
135
+ (deprecation as AnyDuringMigration)
136
+ .warn(
137
+ 'Blockly.utils.getInjectionDivXY_', 'December 2021', 'December 2022',
138
+ 'Blockly.utils.svgMath.getInjectionDivXY');
139
+ // AnyDuringMigration because: Property 'getInjectionDivXY' does not exist on
140
+ // type 'void'.
141
+ return (svgMath as AnyDuringMigration).getInjectionDivXY(element);
142
+ }
143
+ export const getInjectionDivXY_ = getInjectionDivXY;
144
+
145
+ /**
146
+ * Returns true this event is a right-click.
147
+ * @param e Mouse event.
148
+ * @return True if right-click.
149
+ * @deprecated Use Blockly.browserEvents.isRightButton instead.
150
+ * @alias Blockly.utils.isRightButton
151
+ */
152
+ export function isRightButton(e: Event): boolean {
153
+ // AnyDuringMigration because: Property 'warn' does not exist on type 'void'.
154
+ (deprecation as AnyDuringMigration)
155
+ .warn(
156
+ 'Blockly.utils.isRightButton', 'September 2021', 'September 2022',
157
+ 'Blockly.browserEvents.isRightButton');
158
+ return browserEvents.isRightButton(e as MouseEvent);
159
+ }
160
+
161
+ /**
162
+ * Returns the converted coordinates of the given mouse event.
163
+ * The origin (0,0) is the top-left corner of the Blockly SVG.
164
+ * @param e Mouse event.
165
+ * @param svg SVG element.
166
+ * @param matrix Inverted screen CTM to use.
167
+ * @return Object with .x and .y properties.
168
+ * @deprecated Use Blockly.browserEvents.mouseToSvg instead;
169
+ * @alias Blockly.utils.mouseToSvg
170
+ */
171
+ export function mouseToSvg(
172
+ e: Event, svg: SVGSVGElement, matrix: SVGMatrix|null): SVGPoint {
173
+ // AnyDuringMigration because: Property 'warn' does not exist on type 'void'.
174
+ (deprecation as AnyDuringMigration)
175
+ .warn(
176
+ 'Blockly.utils.mouseToSvg', 'September 2021', 'September 2022',
177
+ 'Blockly.browserEvents.mouseToSvg');
178
+ return browserEvents.mouseToSvg(e as MouseEvent, svg, matrix);
179
+ }
180
+
181
+ /**
182
+ * Returns the scroll delta of a mouse event in pixel units.
183
+ * @param e Mouse event.
184
+ * @return Scroll delta object with .x and .y properties.
185
+ * @deprecated Use Blockly.browserEvents.getScrollDeltaPixels instead.
186
+ * @alias Blockly.utils.getScrollDeltaPixels
187
+ */
188
+ export function getScrollDeltaPixels(e: WheelEvent): {x: number, y: number} {
189
+ // AnyDuringMigration because: Property 'warn' does not exist on type 'void'.
190
+ (deprecation as AnyDuringMigration)
191
+ .warn(
192
+ 'Blockly.utils.getScrollDeltaPixels', 'September 2021',
193
+ 'September 2022', 'Blockly.browserEvents.getScrollDeltaPixels');
194
+ return browserEvents.getScrollDeltaPixels(e);
195
+ }
196
+
197
+ /**
198
+ * Parse a string with any number of interpolation tokens (%1, %2, ...).
199
+ * It will also replace string table references (e.g., %{bky_my_msg} and
200
+ * %{BKY_MY_MSG} will both be replaced with the value in
201
+ * Msg['MY_MSG']). Percentage sign characters '%' may be self-escaped
202
+ * (e.g., '%%').
203
+ * @param message Text which might contain string table references and
204
+ * interpolation tokens.
205
+ * @return Array of strings and numbers.
206
+ * @deprecated
207
+ * @alias Blockly.utils.tokenizeInterpolation
208
+ */
209
+ export function tokenizeInterpolation(message: string): Array<string|number> {
210
+ // AnyDuringMigration because: Property 'warn' does not exist on type 'void'.
211
+ (deprecation as AnyDuringMigration)
212
+ .warn(
213
+ 'Blockly.utils.tokenizeInterpolation', 'December 2021',
214
+ 'December 2022', 'Blockly.utils.parsing.tokenizeInterpolation');
215
+ // AnyDuringMigration because: Property 'tokenizeInterpolation' does not
216
+ // exist on type 'void'.
217
+ return (parsing as AnyDuringMigration).tokenizeInterpolation(message);
218
+ }
219
+
220
+ /**
221
+ * Replaces string table references in a message, if the message is a string.
222
+ * For example, "%{bky_my_msg}" and "%{BKY_MY_MSG}" will both be replaced with
223
+ * the value in Msg['MY_MSG'].
224
+ * @param message Message, which may be a string that contains string table
225
+ * references.
226
+ * @return String with message references replaced.
227
+ * @deprecated
228
+ * @alias Blockly.utils.replaceMessageReferences
229
+ */
230
+ export function replaceMessageReferences(message: string|
231
+ AnyDuringMigration): string {
232
+ // AnyDuringMigration because: Property 'warn' does not exist on type 'void'.
233
+ (deprecation as AnyDuringMigration)
234
+ .warn(
235
+ 'Blockly.utils.replaceMessageReferences', 'December 2021',
236
+ 'December 2022', 'Blockly.utils.parsing.replaceMessageReferences');
237
+ // AnyDuringMigration because: Property 'replaceMessageReferences' does not
238
+ // exist on type 'void'.
239
+ return (parsing as AnyDuringMigration).replaceMessageReferences(message);
240
+ }
241
+
242
+ /**
243
+ * Validates that any %{MSG_KEY} references in the message refer to keys of
244
+ * the Msg string table.
245
+ * @param message Text which might contain string table references.
246
+ * @return True if all message references have matching values.
247
+ * Otherwise, false.
248
+ * @deprecated
249
+ * @alias Blockly.utils.checkMessageReferences
250
+ */
251
+ export function checkMessageReferences(message: string): boolean {
252
+ // AnyDuringMigration because: Property 'warn' does not exist on type 'void'.
253
+ (deprecation as AnyDuringMigration)
254
+ .warn(
255
+ 'Blockly.utils.checkMessageReferences', 'December 2021',
256
+ 'December 2022', 'Blockly.utils.parsing.checkMessageReferences');
257
+ // AnyDuringMigration because: Property 'checkMessageReferences' does not
258
+ // exist on type 'void'.
259
+ return (parsing as AnyDuringMigration).checkMessageReferences(message);
260
+ }
261
+
262
+ /**
263
+ * Generate a unique ID.
264
+ * @return A globally unique ID string.
265
+ * @deprecated Use Blockly.utils.idGenerator.genUid instead.
266
+ * @alias Blockly.utils.genUid
267
+ */
268
+ export function genUid(): string {
269
+ // AnyDuringMigration because: Property 'warn' does not exist on type 'void'.
270
+ (deprecation as AnyDuringMigration)
271
+ .warn(
272
+ 'Blockly.utils.genUid', 'September 2021', 'September 2022',
273
+ 'Blockly.utils.idGenerator.genUid');
274
+ // AnyDuringMigration because: Property 'genUid' does not exist on type
275
+ // 'void'.
276
+ return (idGenerator as AnyDuringMigration).genUid();
277
+ }
278
+
279
+ /**
280
+ * Check if 3D transforms are supported by adding an element
281
+ * and attempting to set the property.
282
+ * @return True if 3D transforms are supported.
283
+ * @deprecated
284
+ * @alias Blockly.utils.is3dSupported
285
+ */
286
+ export function is3dSupported(): boolean {
287
+ // AnyDuringMigration because: Property 'warn' does not exist on type 'void'.
288
+ (deprecation as AnyDuringMigration)
289
+ .warn(
290
+ 'Blockly.utils.is3dSupported', 'December 2021', 'December 2022',
291
+ 'Blockly.utils.svgMath.is3dSupported');
292
+ // AnyDuringMigration because: Property 'is3dSupported' does not exist on
293
+ // type 'void'.
294
+ return (svgMath as AnyDuringMigration).is3dSupported();
295
+ }
296
+
297
+ /**
298
+ * Get the position of the current viewport in window coordinates. This takes
299
+ * scroll into account.
300
+ * @return An object containing window width, height, and scroll position in
301
+ * window coordinates.
302
+ * @alias Blockly.utils.getViewportBBox
303
+ * @deprecated
304
+ * @internal
305
+ */
306
+ export function getViewportBBox(): Rect {
307
+ // AnyDuringMigration because: Property 'warn' does not exist on type 'void'.
308
+ (deprecation as AnyDuringMigration)
309
+ .warn(
310
+ 'Blockly.utils.getViewportBBox', 'December 2021', 'December 2022',
311
+ 'Blockly.utils.svgMath.getViewportBBox');
312
+ // AnyDuringMigration because: Property 'getViewportBBox' does not exist on
313
+ // type 'void'.
314
+ return (svgMath as AnyDuringMigration).getViewportBBox();
315
+ }
316
+
317
+ /**
318
+ * Removes the first occurrence of a particular value from an array.
319
+ * @param arr Array from which to remove value.
320
+ * @param value Value to remove.
321
+ * @return True if an element was removed.
322
+ * @alias Blockly.utils.arrayRemove
323
+ * @deprecated
324
+ * @internal
325
+ */
326
+ export function arrayRemove(
327
+ arr: AnyDuringMigration[], value: AnyDuringMigration): boolean {
328
+ // AnyDuringMigration because: Property 'warn' does not exist on type 'void'.
329
+ (deprecation as AnyDuringMigration)
330
+ .warn('Blockly.utils.arrayRemove', 'December 2021', 'December 2022');
331
+ return arrayUtils.removeElem(arr, value);
332
+ }
333
+
334
+ /**
335
+ * Gets the document scroll distance as a coordinate object.
336
+ * Copied from Closure's goog.dom.getDocumentScroll.
337
+ * @return Object with values 'x' and 'y'.
338
+ * @deprecated
339
+ * @alias Blockly.utils.getDocumentScroll
340
+ */
341
+ export function getDocumentScroll(): Coordinate {
342
+ // AnyDuringMigration because: Property 'warn' does not exist on type 'void'.
343
+ (deprecation as AnyDuringMigration)
344
+ .warn(
345
+ 'Blockly.utils.getDocumentScroll', 'December 2021', 'December 2022',
346
+ 'Blockly.utils.svgMath.getDocumentScroll');
347
+ // AnyDuringMigration because: Property 'getDocumentScroll' does not exist on
348
+ // type 'void'.
349
+ return (svgMath as AnyDuringMigration).getDocumentScroll();
350
+ }
351
+
352
+ /**
353
+ * Get a map of all the block's descendants mapping their type to the number of
354
+ * children with that type.
355
+ * @param block The block to map.
356
+ * @param opt_stripFollowing Optionally ignore all following statements (blocks
357
+ * that are not inside a value or statement input of the block).
358
+ * @return Map of types to type counts for descendants of the bock.
359
+ * @deprecated
360
+ * @alias Blockly.utils.getBlockTypeCounts
361
+ */
362
+ export function getBlockTypeCounts(
363
+ block: Block, opt_stripFollowing?: boolean): AnyDuringMigration {
364
+ // AnyDuringMigration because: Property 'warn' does not exist on type 'void'.
365
+ (deprecation as AnyDuringMigration)
366
+ .warn(
367
+ 'Blockly.utils.getBlockTypeCounts', 'December 2021', 'December 2022',
368
+ 'Blockly.common.getBlockTypeCounts');
369
+ return common.getBlockTypeCounts(block, opt_stripFollowing);
370
+ }
371
+
372
+ /**
373
+ * Converts screen coordinates to workspace coordinates.
374
+ * @param ws The workspace to find the coordinates on.
375
+ * @param screenCoordinates The screen coordinates to be converted to workspace
376
+ * coordinates
377
+ * @deprecated
378
+ * @return The workspace coordinates.
379
+ */
380
+ export function screenToWsCoordinates(
381
+ ws: WorkspaceSvg, screenCoordinates: Coordinate): Coordinate {
382
+ // AnyDuringMigration because: Property 'warn' does not exist on type 'void'.
383
+ (deprecation as AnyDuringMigration)
384
+ .warn(
385
+ 'Blockly.utils.screenToWsCoordinates', 'December 2021',
386
+ 'December 2022', 'Blockly.utils.svgMath.screenToWsCoordinates');
387
+ // AnyDuringMigration because: Property 'screenToWsCoordinates' does not
388
+ // exist on type 'void'.
389
+ return (svgMath as AnyDuringMigration)
390
+ .screenToWsCoordinates(ws, screenCoordinates);
391
+ }
392
+
393
+ /**
394
+ * Parse a block colour from a number or string, as provided in a block
395
+ * definition.
396
+ * @param colour HSV hue value (0 to 360), #RRGGBB string, or a message
397
+ * reference string pointing to one of those two values.
398
+ * @return An object containing the colour as a #RRGGBB string, and the hue if
399
+ * the input was an HSV hue value.
400
+ * @throws {Error} If the colour cannot be parsed.
401
+ * @deprecated
402
+ * @alias Blockly.utils.parseBlockColour
403
+ */
404
+ export function parseBlockColour(colour: number|
405
+ string): {hue: number|null, hex: string} {
406
+ // AnyDuringMigration because: Property 'warn' does not exist on type 'void'.
407
+ (deprecation as AnyDuringMigration)
408
+ .warn(
409
+ 'Blockly.utils.parseBlockColour', 'December 2021', 'December 2022',
410
+ 'Blockly.utils.parsing.parseBlockColour');
411
+ // AnyDuringMigration because: Property 'parseBlockColour' does not exist on
412
+ // type 'void'.
413
+ return (parsing as AnyDuringMigration).parseBlockColour(colour);
414
+ }
415
+
416
+ /**
417
+ * Calls a function after the page has loaded, possibly immediately.
418
+ * @param fn Function to run.
419
+ * @throws Error Will throw if no global document can be found (e.g., Node.js).
420
+ * @deprecated
421
+ * @alias Blockly.utils.runAfterPageLoad
422
+ */
423
+ export function runAfterPageLoad(fn: () => AnyDuringMigration) {
424
+ // AnyDuringMigration because: Property 'warn' does not exist on type 'void'.
425
+ (deprecation as AnyDuringMigration)
426
+ .warn('Blockly.utils.runAfterPageLoad', 'December 2021', 'December 2022');
427
+ extensions.runAfterPageLoad(fn);
428
+ }
@@ -0,0 +1,141 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2017 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import './events/events_var_delete.js';
7
+ import './events/events_var_rename.js';
8
+ import type { Block } from './block.js';
9
+ import { VariableModel } from './variable_model.js';
10
+ import type { Workspace } from './workspace.js';
11
+ /**
12
+ * Class for a variable map. This contains a dictionary data structure with
13
+ * variable types as keys and lists of variables as values. The list of
14
+ * variables are the type indicated by the key.
15
+ * @alias Blockly.VariableMap
16
+ */
17
+ export declare class VariableMap {
18
+ workspace: Workspace;
19
+ /**
20
+ * A map from variable type to list of variable names. The lists contain
21
+ * all of the named variables in the workspace, including variables that are
22
+ * not currently in use.
23
+ */
24
+ private variableMap;
25
+ /** @param workspace The workspace this map belongs to. */
26
+ constructor(workspace: Workspace);
27
+ /** Clear the variable map. */
28
+ clear(): void;
29
+ /**
30
+ * Rename the given variable by updating its name in the variable map.
31
+ * @param variable Variable to rename.
32
+ * @param newName New variable name.
33
+ * @internal
34
+ */
35
+ renameVariable(variable: VariableModel, newName: string): void;
36
+ /**
37
+ * Rename a variable by updating its name in the variable map. Identify the
38
+ * variable to rename with the given ID.
39
+ * @param id ID of the variable to rename.
40
+ * @param newName New variable name.
41
+ */
42
+ renameVariableById(id: string, newName: string): void;
43
+ /**
44
+ * Update the name of the given variable and refresh all references to it.
45
+ * The new name must not conflict with any existing variable names.
46
+ * @param variable Variable to rename.
47
+ * @param newName New variable name.
48
+ * @param blocks The list of all blocks in the workspace.
49
+ */
50
+ private renameVariableAndUses_;
51
+ /**
52
+ * Update the name of the given variable to the same name as an existing
53
+ * variable. The two variables are coalesced into a single variable with the
54
+ * ID of the existing variable that was already using newName. Refresh all
55
+ * references to the variable.
56
+ * @param variable Variable to rename.
57
+ * @param newName New variable name.
58
+ * @param conflictVar The variable that was already using newName.
59
+ * @param blocks The list of all blocks in the workspace.
60
+ */
61
+ private renameVariableWithConflict_;
62
+ /**
63
+ * Create a variable with a given name, optional type, and optional ID.
64
+ * @param name The name of the variable. This must be unique across variables
65
+ * and procedures.
66
+ * @param opt_type The type of the variable like 'int' or 'string'.
67
+ * Does not need to be unique. Field_variable can filter variables based
68
+ * on their type. This will default to '' which is a specific type.
69
+ * @param opt_id The unique ID of the variable. This will default to a UUID.
70
+ * @return The newly created variable.
71
+ */
72
+ createVariable(name: string, opt_type?: string | null, opt_id?: string | null): VariableModel;
73
+ /**
74
+ * Delete a variable.
75
+ * @param variable Variable to delete.
76
+ */
77
+ deleteVariable(variable: VariableModel): void;
78
+ /**
79
+ * Delete a variables by the passed in ID and all of its uses from this
80
+ * workspace. May prompt the user for confirmation.
81
+ * @param id ID of variable to delete.
82
+ */
83
+ deleteVariableById(id: string): void;
84
+ /**
85
+ * Deletes a variable and all of its uses from this workspace without asking
86
+ * the user for confirmation.
87
+ * @param variable Variable to delete.
88
+ * @param uses An array of uses of the variable.
89
+ * @internal
90
+ */
91
+ deleteVariableInternal(variable: VariableModel, uses: Block[]): void;
92
+ /**
93
+ * Find the variable by the given name and type and return it. Return null if
94
+ * it is not found.
95
+ * @param name The name to check for.
96
+ * @param opt_type The type of the variable. If not provided it defaults to
97
+ * the empty string, which is a specific type.
98
+ * @return The variable with the given name, or null if it was not found.
99
+ */
100
+ getVariable(name: string, opt_type?: string | null): VariableModel | null;
101
+ /**
102
+ * Find the variable by the given ID and return it. Return null if not found.
103
+ * @param id The ID to check for.
104
+ * @return The variable with the given ID.
105
+ */
106
+ getVariableById(id: string): VariableModel | null;
107
+ /**
108
+ * Get a list containing all of the variables of a specified type. If type is
109
+ * null, return list of variables with empty string type.
110
+ * @param type Type of the variables to find.
111
+ * @return The sought after variables of the passed in type. An empty array if
112
+ * none are found.
113
+ */
114
+ getVariablesOfType(type: string | null): VariableModel[];
115
+ /**
116
+ * Return all variable and potential variable types. This list always
117
+ * contains the empty string.
118
+ * @param ws The workspace used to look for potential variables. This can be
119
+ * different than the workspace stored on this object if the passed in ws
120
+ * is a flyout workspace.
121
+ * @return List of variable types.
122
+ * @internal
123
+ */
124
+ getVariableTypes(ws: Workspace | null): string[];
125
+ /**
126
+ * Return all variables of all types.
127
+ * @return List of variable models.
128
+ */
129
+ getAllVariables(): VariableModel[];
130
+ /**
131
+ * Returns all of the variable names of all types.
132
+ * @return All of the variable names of all types.
133
+ */
134
+ getAllVariableNames(): string[];
135
+ /**
136
+ * Find all the uses of a named variable.
137
+ * @param id ID of the variable to find.
138
+ * @return Array of block usages.
139
+ */
140
+ getVariableUsesById(id: string): Block[];
141
+ }