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
@@ -8,19 +8,19 @@
8
8
  * @fileoverview The class representing a marker.
9
9
  * Used primarily for keyboard navigation to show a marked location.
10
10
  */
11
- 'use strict';
12
11
 
13
12
  /**
14
13
  * The class representing a marker.
15
14
  * Used primarily for keyboard navigation to show a marked location.
16
15
  * @class
17
16
  */
18
- goog.module('Blockly.Marker');
17
+ import * as goog from '../../closure/goog/goog.js';
18
+ goog.declareModuleId('Blockly.Marker');
19
19
 
20
20
  /* eslint-disable-next-line no-unused-vars */
21
- const {ASTNode} = goog.requireType('Blockly.ASTNode');
22
- /* eslint-disable-next-line no-unused-vars */
23
- const {MarkerSvg} = goog.requireType('Blockly.blockRendering.MarkerSvg');
21
+ import type {MarkerSvg} from '../renderers/common/marker_svg.js';
22
+
23
+ import type {ASTNode} from './ast_node.js';
24
24
 
25
25
 
26
26
  /**
@@ -28,63 +28,50 @@ const {MarkerSvg} = goog.requireType('Blockly.blockRendering.MarkerSvg');
28
28
  * This is used in keyboard navigation to save a location in the Blockly AST.
29
29
  * @alias Blockly.Marker
30
30
  */
31
- class Marker {
31
+ export class Marker {
32
+ /** The colour of the marker. */
33
+ colour: string|null = null;
34
+
35
+ /** The current location of the marker. */
36
+ // AnyDuringMigration because: Type 'null' is not assignable to type
37
+ // 'ASTNode'.
38
+ private curNode_: ASTNode = null as AnyDuringMigration;
39
+
32
40
  /**
33
- * Constructs a new Marker instance.
41
+ * The object in charge of drawing the visual representation of the current
42
+ * node.
34
43
  */
35
- constructor() {
36
- /**
37
- * The colour of the marker.
38
- * @type {?string}
39
- */
40
- this.colour = null;
41
-
42
- /**
43
- * The current location of the marker.
44
- * @type {ASTNode}
45
- * @private
46
- */
47
- this.curNode_ = null;
48
-
49
- /**
50
- * The object in charge of drawing the visual representation of the current
51
- * node.
52
- * @type {MarkerSvg}
53
- * @private
54
- */
55
- this.drawer_ = null;
56
-
57
- /**
58
- * The type of the marker.
59
- * @type {string}
60
- */
61
- this.type = 'marker';
62
- }
44
+ // AnyDuringMigration because: Type 'null' is not assignable to type
45
+ // 'MarkerSvg'.
46
+ private drawer_: MarkerSvg = null as AnyDuringMigration;
47
+
48
+ /** The type of the marker. */
49
+ type = 'marker';
50
+
51
+ /** Constructs a new Marker instance. */
52
+ constructor() {}
63
53
 
64
54
  /**
65
55
  * Sets the object in charge of drawing the marker.
66
- * @param {MarkerSvg} drawer The object in charge of
67
- * drawing the marker.
56
+ * @param drawer The object in charge of drawing the marker.
68
57
  */
69
- setDrawer(drawer) {
58
+ setDrawer(drawer: MarkerSvg) {
70
59
  this.drawer_ = drawer;
71
60
  }
72
61
 
73
62
  /**
74
63
  * Get the current drawer for the marker.
75
- * @return {MarkerSvg} The object in charge of drawing
76
- * the marker.
64
+ * @return The object in charge of drawing the marker.
77
65
  */
78
- getDrawer() {
66
+ getDrawer(): MarkerSvg {
79
67
  return this.drawer_;
80
68
  }
81
69
 
82
70
  /**
83
71
  * Gets the current location of the marker.
84
- * @return {ASTNode} The current field, connection, or block the marker
85
- * is on.
72
+ * @return The current field, connection, or block the marker is on.
86
73
  */
87
- getCurNode() {
74
+ getCurNode(): ASTNode {
88
75
  return this.curNode_;
89
76
  }
90
77
 
@@ -92,9 +79,9 @@ class Marker {
92
79
  * Set the location of the marker and call the update method.
93
80
  * Setting isStack to true will only work if the newLocation is the top most
94
81
  * output or previous connection on a stack.
95
- * @param {ASTNode} newNode The new location of the marker.
82
+ * @param newNode The new location of the marker.
96
83
  */
97
- setCurNode(newNode) {
84
+ setCurNode(newNode: ASTNode) {
98
85
  const oldNode = this.curNode_;
99
86
  this.curNode_ = newNode;
100
87
  if (this.drawer_) {
@@ -104,7 +91,7 @@ class Marker {
104
91
 
105
92
  /**
106
93
  * Redraw the current marker.
107
- * @package
94
+ * @internal
108
95
  */
109
96
  draw() {
110
97
  if (this.drawer_) {
@@ -112,23 +99,17 @@ class Marker {
112
99
  }
113
100
  }
114
101
 
115
- /**
116
- * Hide the marker SVG.
117
- */
102
+ /** Hide the marker SVG. */
118
103
  hide() {
119
104
  if (this.drawer_) {
120
105
  this.drawer_.hide();
121
106
  }
122
107
  }
123
108
 
124
- /**
125
- * Dispose of this marker.
126
- */
109
+ /** Dispose of this marker. */
127
110
  dispose() {
128
111
  if (this.getDrawer()) {
129
112
  this.getDrawer().dispose();
130
113
  }
131
114
  }
132
115
  }
133
-
134
- exports.Marker = Marker;
@@ -0,0 +1,19 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2019 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { ASTNode } from './ast_node.js';
7
+ import { BasicCursor } from './basic_cursor.js';
8
+ /**
9
+ * A cursor for navigating between tab navigable fields.
10
+ * @alias Blockly.TabNavigateCursor
11
+ */
12
+ export declare class TabNavigateCursor extends BasicCursor {
13
+ /**
14
+ * Skip all nodes except for tab navigable fields.
15
+ * @param node The AST node to check whether it is valid.
16
+ * @return True if the node should be visited, false otherwise.
17
+ */
18
+ validNode_(node: ASTNode | null): boolean;
19
+ }
@@ -8,38 +8,36 @@
8
8
  * @fileoverview The class representing a cursor that is used to navigate
9
9
  * between tab navigable fields.
10
10
  */
11
- 'use strict';
12
11
 
13
12
  /**
14
13
  * The class representing a cursor that is used to navigate
15
14
  * between tab navigable fields.
16
15
  * @class
17
16
  */
18
- goog.module('Blockly.TabNavigateCursor');
17
+ import * as goog from '../../closure/goog/goog.js';
18
+ goog.declareModuleId('Blockly.TabNavigateCursor');
19
19
 
20
- const {ASTNode} = goog.require('Blockly.ASTNode');
21
- const {BasicCursor} = goog.require('Blockly.BasicCursor');
22
- /* eslint-disable-next-line no-unused-vars */
23
- const {Field} = goog.requireType('Blockly.Field');
20
+ import type {Field} from '../field.js';
21
+
22
+ import {ASTNode} from './ast_node.js';
23
+ import {BasicCursor} from './basic_cursor.js';
24
24
 
25
25
 
26
26
  /**
27
27
  * A cursor for navigating between tab navigable fields.
28
- * @extends {BasicCursor}
29
28
  * @alias Blockly.TabNavigateCursor
30
29
  */
31
- class TabNavigateCursor extends BasicCursor {
30
+ export class TabNavigateCursor extends BasicCursor {
32
31
  /**
33
32
  * Skip all nodes except for tab navigable fields.
34
- * @param {?ASTNode} node The AST node to check whether it is valid.
35
- * @return {boolean} True if the node should be visited, false otherwise.
36
- * @override
33
+ * @param node The AST node to check whether it is valid.
34
+ * @return True if the node should be visited, false otherwise.
37
35
  */
38
- validNode_(node) {
36
+ override validNode_(node: ASTNode|null): boolean {
39
37
  let isValid = false;
40
38
  const type = node && node.getType();
41
39
  if (node) {
42
- const location = /** @type {Field} */ (node.getLocation());
40
+ const location = node.getLocation() as Field;
43
41
  if (type === ASTNode.types.FIELD && location &&
44
42
  location.isTabNavigable() && location.isClickable()) {
45
43
  isValid = true;
@@ -48,5 +46,3 @@ class TabNavigateCursor extends BasicCursor {
48
46
  return isValid;
49
47
  }
50
48
  }
51
-
52
- exports.TabNavigateCursor = TabNavigateCursor;
package/core/main.d.ts ADDED
@@ -0,0 +1,11 @@
1
+ declare const Blockly: any;
2
+ declare const ContextMenu: any;
3
+ declare const Events: any;
4
+ declare const Msg: any;
5
+ declare const Tooltip: any;
6
+ declare const WidgetDiv: any;
7
+ declare const colour: any;
8
+ declare const common: any;
9
+ declare const deprecation: any;
10
+ declare const dialog: any;
11
+ declare const eventUtils: any;
package/core/main.js ADDED
@@ -0,0 +1,303 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ /**
8
+ * @fileoverview The entrypoint for blockly_compressed.js. Provides
9
+ * various backwards-compatibility hacks. Not used when loading
10
+ * in uncompiled (uncompressed) mode via bootstrap.js.
11
+ */
12
+ 'use strict';
13
+
14
+ goog.module('Blockly.main');
15
+
16
+ const Blockly = goog.require('Blockly');
17
+ const ContextMenu = goog.require('Blockly.ContextMenu');
18
+ const Events = goog.require('Blockly.Events');
19
+ const Msg = goog.require('Blockly.Msg');
20
+ const Tooltip = goog.require('Blockly.Tooltip');
21
+ const WidgetDiv = goog.require('Blockly.WidgetDiv');
22
+ const colour = goog.require('Blockly.utils.colour');
23
+ const common = goog.require('Blockly.common');
24
+ const deprecation = goog.require('Blockly.utils.deprecation');
25
+ const dialog = goog.require('Blockly.dialog');
26
+ const eventUtils = goog.require('Blockly.Events.utils');
27
+
28
+ /*
29
+ * Aliased functions and properties that used to be on the Blockly namespace.
30
+ * Everything in this section is deprecated. Both external and internal code
31
+ * should avoid using these functions and use the designated replacements.
32
+ * Everything in this section will be removed in a future version of Blockly.
33
+ */
34
+
35
+ // Add accessors for properties on Blockly that have now been deprecated.
36
+ Object.defineProperties(Blockly, {
37
+ /**
38
+ * Wrapper to window.alert() that app developers may override to
39
+ * provide alternatives to the modal browser window.
40
+ * @name Blockly.alert
41
+ * @type {!function(string, function()=)}
42
+ * @deprecated Use Blockly.dialog.alert / .setAlert() instead.
43
+ * (December 2021)
44
+ * @suppress {checkTypes}
45
+ */
46
+ alert: {
47
+ set: function(newAlert) {
48
+ deprecation.warn('Blockly.alert', 'December 2021', 'December 2022');
49
+ dialog.setAlert(newAlert);
50
+ },
51
+ get: function() {
52
+ deprecation.warn(
53
+ 'Blockly.alert', 'December 2021', 'December 2022',
54
+ 'Blockly.dialog.alert()');
55
+ return dialog.alert;
56
+ },
57
+ },
58
+ /**
59
+ * Wrapper to window.confirm() that app developers may override to
60
+ * provide alternatives to the modal browser window.
61
+ * @name Blockly.confirm
62
+ * @type {!function(string, function()=)}
63
+ * @deprecated Use Blockly.dialog.confirm / .setConfirm() instead.
64
+ * (December 2021)
65
+ * @suppress {checkTypes}
66
+ */
67
+ confirm: {
68
+ set: function(newConfirm) {
69
+ deprecation.warn('Blockly.confirm', 'December 2021', 'December 2022');
70
+ dialog.setConfirm(newConfirm);
71
+ },
72
+ get: function() {
73
+ deprecation.warn(
74
+ 'Blockly.confirm', 'December 2021', 'December 2022',
75
+ 'Blockly.dialog.confirm()');
76
+ return dialog.confirm;
77
+ },
78
+ },
79
+ /**
80
+ * The main workspace most recently used.
81
+ * Set by Blockly.WorkspaceSvg.prototype.markFocused
82
+ * @name Blockly.mainWorkspace
83
+ * @type {Workspace}
84
+ * @suppress {checkTypes}
85
+ */
86
+ mainWorkspace: {
87
+ set: function(x) {
88
+ deprecation.warn(
89
+ 'Blockly.mainWorkspace', 'August 2022', 'September 2022',
90
+ 'Blockly.getMainWorkspace');
91
+ common.setMainWorkspace(x);
92
+ },
93
+ get: function() {
94
+ deprecation.warn(
95
+ 'Blockly.mainWorkspace', 'August 2022', 'September 2022',
96
+ 'Blockly.getMainWorkspace');
97
+ return common.getMainWorkspace();
98
+ },
99
+ },
100
+ /**
101
+ * Wrapper to window.prompt() that app developers may override to
102
+ * provide alternatives to the modal browser window. Built-in
103
+ * browser prompts are often used for better text input experience
104
+ * on mobile device. We strongly recommend testing mobile when
105
+ * overriding this.
106
+ * @name Blockly.prompt
107
+ * @type {!function(string, string, function()=)}
108
+ * @deprecated Use Blockly.dialog.prompt / .setPrompt() instead.
109
+ * (December 2021)
110
+ * @suppress {checkTypes}
111
+ */
112
+ prompt: {
113
+ set: function(newPrompt) {
114
+ deprecation.warn('Blockly.prompt', 'December 2021', 'December 2022');
115
+ dialog.setPrompt(newPrompt);
116
+ },
117
+ get: function() {
118
+ deprecation.warn(
119
+ 'Blockly.prompt', 'December 2021', 'December 2022',
120
+ 'Blockly.dialog.prompt()');
121
+ return dialog.prompt;
122
+ },
123
+ },
124
+ /**
125
+ * Currently selected block.
126
+ * @name Blockly.selected
127
+ * @type {?ICopyable}
128
+ * @suppress {checkTypes}
129
+ */
130
+ selected: {
131
+ get: function() {
132
+ deprecation.warn(
133
+ 'Blockly.selected', 'August 2022', 'September 2022',
134
+ 'Blockly.getSelected');
135
+ return common.getSelected();
136
+ },
137
+ set: function(newSelection) {
138
+ deprecation.warn(
139
+ 'Blockly.selected', 'August 2022', 'September 2022',
140
+ 'Blockly.getSelected');
141
+ common.setSelected(newSelection);
142
+ },
143
+ },
144
+ /**
145
+ * The richness of block colours, regardless of the hue.
146
+ * Must be in the range of 0 (inclusive) to 1 (exclusive).
147
+ * @name Blockly.HSV_SATURATION
148
+ * @type {number}
149
+ * @suppress {checkTypes}
150
+ */
151
+ HSV_SATURATION: {
152
+ get: function() {
153
+ return colour.getHsvSaturation();
154
+ },
155
+ set: function(newValue) {
156
+ colour.setHsvSaturation(newValue);
157
+ },
158
+ },
159
+ /**
160
+ * The intensity of block colours, regardless of the hue.
161
+ * Must be in the range of 0 (inclusive) to 1 (exclusive).
162
+ * @name Blockly.HSV_VALUE
163
+ * @type {number}
164
+ * @suppress {checkTypes}
165
+ */
166
+ HSV_VALUE: {
167
+ get: function() {
168
+ return colour.getHsvValue();
169
+ },
170
+ set: function(newValue) {
171
+ colour.setHsvValue(newValue);
172
+ },
173
+ },
174
+ });
175
+
176
+ // Add accessors for properties on Blockly.ContextMenu that have now
177
+ // been deprecated.
178
+ Object.defineProperties(ContextMenu, {
179
+ /**
180
+ * Which block is the context menu attached to?
181
+ * @name Blockly.ContextMenu.currentBlock
182
+ * @type {Block}
183
+ * @deprecated Use Blockly.Tooltip.getCurrentBlock() /
184
+ * .setCurrentBlock() instead. (September 2021)
185
+ * @suppress {checkTypes}
186
+ */
187
+ currentBlock: {
188
+ get: function() {
189
+ deprecation.warn(
190
+ 'Blockly.ContextMenu.currentBlock', 'September 2021',
191
+ 'September 2022', 'Blockly.Tooltip.getCurrentBlock()');
192
+ return ContextMenu.getCurrentBlock();
193
+ },
194
+ set: function(block) {
195
+ deprecation.warn(
196
+ 'Blockly.ContextMenu.currentBlock', 'September 2021',
197
+ 'September 2022', 'Blockly.Tooltip.setCurrentBlock(block)');
198
+ ContextMenu.setCurrentBlock(block);
199
+ },
200
+ },
201
+ });
202
+
203
+ // Add accessors for properties on Blockly.Events that have now been
204
+ // deprecated.
205
+ Object.defineProperties(Events, {
206
+ /**
207
+ * Sets whether the next event should be added to the undo stack.
208
+ * @name Blockly.Evenents.recordUndo
209
+ * @type {boolean}
210
+ * @deprecated Use Blockly.Events.getRecordUndo() and
211
+ * .setRecordUndo(). (September 2021)
212
+ * @suppress {checkTypes}
213
+ */
214
+ recordUndo: {
215
+ get: function() {
216
+ deprecation.warn(
217
+ 'Blockly.Events.recordUndo', 'September 2021', 'September 2022',
218
+ 'Blockly.Events.getRecordUndo()');
219
+ return eventUtils.getRecordUndo();
220
+ },
221
+ set: function(record) {
222
+ deprecation.warn(
223
+ 'Blockly.Events.recordUndo', 'September 2021', 'September 2022',
224
+ 'Blockly.Events.setRecordUndo()');
225
+ eventUtils.setRecordUndo(record);
226
+ },
227
+ },
228
+ });
229
+
230
+
231
+ // Add accessors for properties on Blockly.Tooltip that have now been
232
+ // deprecated.
233
+ Object.defineProperties(Tooltip, {
234
+ /**
235
+ * Is a tooltip currently showing?
236
+ * @name Blockly.Tooltip.visible
237
+ * @type {boolean}
238
+ * @deprecated Use Blockly.Tooltip.isVisible() instead. (September
239
+ * 2021)
240
+ * @suppress {checkTypes}
241
+ */
242
+ visible: {
243
+ get: function() {
244
+ deprecation.warn(
245
+ 'Blockly.Tooltip.visible', 'September 2021', 'September 2022',
246
+ 'Blockly.Tooltip.isVisible()');
247
+ return Tooltip.isVisible();
248
+ },
249
+ },
250
+ /**
251
+ * The HTML container. Set once by createDom.
252
+ * @name Blockly.Tooltip.DIV
253
+ * @type {HTMLDivElement}
254
+ * @deprecated Use Blockly.Tooltip.getDiv() and .setDiv().
255
+ * (September 2021)
256
+ * @suppress {checkTypes}
257
+ */
258
+ DIV: {
259
+ get: function() {
260
+ deprecation.warn(
261
+ 'Blockly.Tooltip.DIV', 'September 2021', 'September 2022',
262
+ 'Blockly.Tooltip.getDiv()');
263
+ return Tooltip.getDiv();
264
+ },
265
+ },
266
+ });
267
+
268
+ // Add accessors for properties on Blockly.WidgetDiv that have now been
269
+ // deprecated.
270
+ Object.defineProperties(WidgetDiv, {
271
+ /**
272
+ * The HTML container for popup overlays (e.g. editor widgets).
273
+ * @name Blockly.WidgetDiv.DIV
274
+ * @type {?Element}
275
+ * @deprecated Use Blockly.WidgetDiv.getDiv() and .setDiv().
276
+ * (September 2021)
277
+ * @suppress {checkTypes}
278
+ */
279
+ DIV: {
280
+ get: function() {
281
+ deprecation.warn(
282
+ 'Blockly.WidgetDiv.DIV', 'September 2021', 'September 2022',
283
+ 'Blockly.WidgetDiv.getDiv()');
284
+ return WidgetDiv.getDiv();
285
+ },
286
+ },
287
+ });
288
+
289
+ // If Blockly is compiled with ADVANCED_COMPILATION and/or loaded as a
290
+ // CJS or ES module there will not be a Blockly global variable
291
+ // created. This can cause problems because a very common way of
292
+ // loading translations is to use a <script> tag to load one of
293
+ // msg/js/*.js, which consists of lines like:
294
+ //
295
+ // Blockly.Msg["ADD_COMMENT"] = "Add Comment";
296
+ // Blockly.Msg["CLEAN_UP"] = "Clean up Blocks";
297
+ //
298
+ // This obviously only works if Blockly.Msg is the Msg export from the
299
+ // Blockly.Msg module - so make sure it is, but only if there is not
300
+ // yet a Blockly global variable.
301
+ if (!('Blockly' in globalThis)) {
302
+ globalThis['Blockly'] = {'Msg': Msg};
303
+ }
@@ -0,0 +1,85 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2019 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { Cursor } from './keyboard_nav/cursor.js';
7
+ import type { Marker } from './keyboard_nav/marker.js';
8
+ import type { WorkspaceSvg } from './workspace_svg.js';
9
+ /**
10
+ * Class to manage the multiple markers and the cursor on a workspace.
11
+ * @alias Blockly.MarkerManager
12
+ */
13
+ export declare class MarkerManager {
14
+ private readonly workspace;
15
+ /** The name of the local marker. */
16
+ static readonly LOCAL_MARKER = "local_marker_1";
17
+ /** The cursor. */
18
+ private cursor_;
19
+ /** The cursor's SVG element. */
20
+ private cursorSvg_;
21
+ /** The map of markers for the workspace. */
22
+ private markers;
23
+ /** The marker's SVG element. */
24
+ private markerSvg_;
25
+ /**
26
+ * @param workspace The workspace for the marker manager.
27
+ * @internal
28
+ */
29
+ constructor(workspace: WorkspaceSvg);
30
+ /**
31
+ * Register the marker by adding it to the map of markers.
32
+ * @param id A unique identifier for the marker.
33
+ * @param marker The marker to register.
34
+ */
35
+ registerMarker(id: string, marker: Marker): void;
36
+ /**
37
+ * Unregister the marker by removing it from the map of markers.
38
+ * @param id The ID of the marker to unregister.
39
+ */
40
+ unregisterMarker(id: string): void;
41
+ /**
42
+ * Get the cursor for the workspace.
43
+ * @return The cursor for this workspace.
44
+ */
45
+ getCursor(): Cursor | null;
46
+ /**
47
+ * Get a single marker that corresponds to the given ID.
48
+ * @param id A unique identifier for the marker.
49
+ * @return The marker that corresponds to the given ID, or null if none
50
+ * exists.
51
+ */
52
+ getMarker(id: string): Marker | null;
53
+ /**
54
+ * Sets the cursor and initializes the drawer for use with keyboard
55
+ * navigation.
56
+ * @param cursor The cursor used to move around this workspace.
57
+ */
58
+ setCursor(cursor: Cursor): void;
59
+ /**
60
+ * Add the cursor SVG to this workspace SVG group.
61
+ * @param cursorSvg The SVG root of the cursor to be added to the workspace
62
+ * SVG group.
63
+ * @internal
64
+ */
65
+ setCursorSvg(cursorSvg: SVGElement | null): void;
66
+ /**
67
+ * Add the marker SVG to this workspaces SVG group.
68
+ * @param markerSvg The SVG root of the marker to be added to the workspace
69
+ * SVG group.
70
+ * @internal
71
+ */
72
+ setMarkerSvg(markerSvg: SVGElement | null): void;
73
+ /**
74
+ * Redraw the attached cursor SVG if needed.
75
+ * @internal
76
+ */
77
+ updateMarkers(): void;
78
+ /**
79
+ * Dispose of the marker manager.
80
+ * Go through and delete all markers associated with this marker manager.
81
+ * @suppress {checkTypes}
82
+ * @internal
83
+ */
84
+ dispose(): void;
85
+ }