blockly 8.0.5 → 9.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (736) hide show
  1. package/blockly.min.js +2002 -2269
  2. package/blockly_compressed.js +1499 -1994
  3. package/blockly_compressed.js.map +1 -1
  4. package/blocks/blocks.js +3 -2
  5. package/blocks/colour.js +3 -1
  6. package/blocks/lists.js +94 -22
  7. package/blocks/logic.js +14 -6
  8. package/blocks/loops.js +5 -3
  9. package/blocks/math.js +3 -1
  10. package/blocks/procedures.js +3 -1
  11. package/blocks/text.js +14 -6
  12. package/blocks/variables.js +3 -1
  13. package/blocks/variables_dynamic.js +3 -1
  14. package/blocks.d.ts +0 -2
  15. package/blocks_compressed.js +189 -171
  16. package/blocks_compressed.js.map +1 -1
  17. package/closure/goog/base.d.ts +1 -0
  18. package/closure/goog/base_minimal.d.ts +18 -0
  19. package/closure/goog/goog.d.ts +25 -0
  20. package/core/any_aliases.d.ts +1 -0
  21. package/core/any_aliases.ts +1 -0
  22. package/core/block.d.ts +779 -0
  23. package/core/{block.js → block.ts} +610 -719
  24. package/core/block_animations.d.ts +33 -0
  25. package/core/{block_animations.js → block_animations.ts} +75 -79
  26. package/core/block_drag_surface.d.ts +111 -0
  27. package/core/{block_drag_surface.js → block_drag_surface.ts} +85 -117
  28. package/core/block_dragger.d.ts +143 -0
  29. package/core/{block_dragger.js → block_dragger.ts} +139 -176
  30. package/core/block_svg.d.ts +588 -0
  31. package/core/{block_svg.js → block_svg.ts} +494 -630
  32. package/core/blockly.d.ts +562 -0
  33. package/core/blockly.js +1 -1
  34. package/core/blockly.ts +749 -0
  35. package/core/blockly_options.d.ts +69 -0
  36. package/core/blockly_options.ts +81 -0
  37. package/core/blocks.d.ts +17 -0
  38. package/core/{blocks.js → blocks.ts} +4 -8
  39. package/core/browser_events.d.ts +85 -0
  40. package/core/{browser_events.js → browser_events.ts} +98 -93
  41. package/core/bubble.d.ts +279 -0
  42. package/core/{bubble.js → bubble.ts} +277 -370
  43. package/core/bubble_dragger.d.ts +73 -0
  44. package/core/bubble_dragger.ts +229 -0
  45. package/core/bump_objects.d.ts +34 -0
  46. package/core/{bump_objects.js → bump_objects.ts} +54 -52
  47. package/core/clipboard.d.ts +42 -0
  48. package/core/clipboard.ts +91 -0
  49. package/core/comment.d.ts +113 -0
  50. package/core/{comment.js → comment.ts} +135 -185
  51. package/core/common.d.ts +129 -0
  52. package/core/{common.js → common.ts} +105 -82
  53. package/core/component_manager.d.ts +91 -0
  54. package/core/component_manager.ts +211 -0
  55. package/core/config.d.ts +23 -0
  56. package/core/{config.js → config.ts} +12 -19
  57. package/core/connection.d.ts +232 -0
  58. package/core/{connection.js → connection.ts} +187 -237
  59. package/core/connection_checker.d.ts +78 -0
  60. package/core/{connection_checker.js → connection_checker.ts} +66 -77
  61. package/core/connection_db.d.ts +91 -0
  62. package/core/{connection_db.js → connection_db.ts} +62 -87
  63. package/core/connection_type.d.ts +15 -0
  64. package/core/{connection_type.js → connection_type.ts} +8 -12
  65. package/core/constants.d.ts +15 -0
  66. package/core/{constants.js → constants.ts} +4 -8
  67. package/core/contextmenu.d.ts +80 -0
  68. package/core/{contextmenu.js → contextmenu.ts} +118 -153
  69. package/core/contextmenu_items.d.ts +77 -0
  70. package/core/contextmenu_items.ts +576 -0
  71. package/core/contextmenu_registry.d.ts +105 -0
  72. package/core/contextmenu_registry.ts +179 -0
  73. package/core/css.d.ts +24 -0
  74. package/core/{css.js → css.ts} +16 -24
  75. package/core/delete_area.d.ts +47 -0
  76. package/core/delete_area.ts +82 -0
  77. package/core/dialog.d.ts +61 -0
  78. package/core/dialog.ts +127 -0
  79. package/core/drag_target.d.ts +63 -0
  80. package/core/drag_target.ts +94 -0
  81. package/core/dropdowndiv.d.ts +155 -0
  82. package/core/{dropdowndiv.js → dropdowndiv.ts} +262 -333
  83. package/core/events/events.d.ts +102 -0
  84. package/core/events/events.ts +123 -0
  85. package/core/events/events_abstract.d.ts +51 -0
  86. package/core/events/events_abstract.ts +112 -0
  87. package/core/events/events_block_base.d.ts +31 -0
  88. package/core/events/events_block_base.ts +65 -0
  89. package/core/events/events_block_change.d.ts +55 -0
  90. package/core/events/{events_block_change.js → events_block_change.ts} +45 -48
  91. package/core/events/events_block_create.d.ts +35 -0
  92. package/core/events/{events_block_create.js → events_block_create.ts} +30 -35
  93. package/core/events/events_block_delete.d.ts +36 -0
  94. package/core/events/{events_block_delete.js → events_block_delete.ts} +34 -39
  95. package/core/events/events_block_drag.d.ts +36 -0
  96. package/core/events/events_block_drag.ts +82 -0
  97. package/core/events/events_block_move.d.ts +51 -0
  98. package/core/events/{events_block_move.js → events_block_move.ts} +54 -50
  99. package/core/events/events_bubble_open.d.ts +35 -0
  100. package/core/events/events_bubble_open.ts +82 -0
  101. package/core/events/events_click.d.ts +36 -0
  102. package/core/events/{events_click.js → events_click.ts} +27 -30
  103. package/core/events/events_comment_base.d.ts +39 -0
  104. package/core/events/events_comment_base.ts +107 -0
  105. package/core/events/events_comment_change.d.ts +43 -0
  106. package/core/events/{events_comment_change.js → events_comment_change.ts} +31 -28
  107. package/core/events/events_comment_create.d.ts +35 -0
  108. package/core/events/{events_comment_create.js → events_comment_create.ts} +24 -26
  109. package/core/events/events_comment_delete.d.ts +35 -0
  110. package/core/events/{events_comment_delete.js → events_comment_delete.ts} +20 -24
  111. package/core/events/events_comment_move.d.ts +55 -0
  112. package/core/events/{events_comment_move.js → events_comment_move.ts} +39 -42
  113. package/core/events/events_marker_move.d.ts +40 -0
  114. package/core/events/events_marker_move.ts +99 -0
  115. package/core/events/events_selected.d.ts +34 -0
  116. package/core/events/events_selected.ts +78 -0
  117. package/core/events/events_theme_change.d.ts +30 -0
  118. package/core/events/{events_theme_change.js → events_theme_change.ts} +19 -24
  119. package/core/events/events_toolbox_item_select.d.ts +34 -0
  120. package/core/events/events_toolbox_item_select.ts +79 -0
  121. package/core/events/events_trashcan_open.d.ts +31 -0
  122. package/core/events/events_trashcan_open.ts +68 -0
  123. package/core/events/events_ui.d.ts +37 -0
  124. package/core/events/{events_ui.js → events_ui.ts} +27 -26
  125. package/core/events/events_ui_base.d.ts +26 -0
  126. package/core/events/{events_ui_base.js → events_ui_base.ts} +17 -26
  127. package/core/events/events_var_base.d.ts +31 -0
  128. package/core/events/events_var_base.ts +65 -0
  129. package/core/events/events_var_create.d.ts +35 -0
  130. package/core/events/{events_var_create.js → events_var_create.ts} +24 -25
  131. package/core/events/events_var_delete.d.ts +35 -0
  132. package/core/events/{events_var_delete.js → events_var_delete.ts} +24 -25
  133. package/core/events/events_var_rename.d.ts +36 -0
  134. package/core/events/{events_var_rename.js → events_var_rename.ts} +25 -26
  135. package/core/events/events_viewport.d.ts +39 -0
  136. package/core/events/events_viewport.ts +100 -0
  137. package/core/events/utils.d.ts +272 -0
  138. package/core/events/{utils.js → utils.ts} +148 -219
  139. package/core/events/workspace_events.d.ts +36 -0
  140. package/core/events/workspace_events.ts +86 -0
  141. package/core/extensions.d.ts +107 -0
  142. package/core/{extensions.js → extensions.ts} +153 -172
  143. package/core/field.d.ts +534 -0
  144. package/core/{field.js → field.ts} +413 -489
  145. package/core/field_angle.d.ts +176 -0
  146. package/core/field_angle.ts +563 -0
  147. package/core/field_checkbox.d.ts +124 -0
  148. package/core/field_checkbox.ts +243 -0
  149. package/core/field_colour.d.ts +200 -0
  150. package/core/field_colour.ts +632 -0
  151. package/core/field_dropdown.d.ts +222 -0
  152. package/core/{field_dropdown.js → field_dropdown.ts} +277 -299
  153. package/core/field_image.d.ts +134 -0
  154. package/core/field_image.ts +282 -0
  155. package/core/field_label.d.ts +71 -0
  156. package/core/field_label.ts +152 -0
  157. package/core/field_label_serializable.d.ts +42 -0
  158. package/core/field_label_serializable.ts +76 -0
  159. package/core/field_multilineinput.d.ts +146 -0
  160. package/core/{field_multilineinput.js → field_multilineinput.ts} +166 -163
  161. package/core/field_number.d.ts +156 -0
  162. package/core/{field_number.js → field_number.ts} +110 -123
  163. package/core/field_registry.d.ts +45 -0
  164. package/core/{field_registry.js → field_registry.ts} +37 -30
  165. package/core/field_textinput.d.ts +219 -0
  166. package/core/field_textinput.ts +591 -0
  167. package/core/field_variable.d.ts +217 -0
  168. package/core/{field_variable.js → field_variable.ts} +174 -187
  169. package/core/flyout_base.d.ts +459 -0
  170. package/core/{flyout_base.js → flyout_base.ts} +429 -518
  171. package/core/flyout_button.d.ts +81 -0
  172. package/core/flyout_button.ts +292 -0
  173. package/core/flyout_horizontal.d.ts +82 -0
  174. package/core/{flyout_horizontal.js → flyout_horizontal.ts} +97 -107
  175. package/core/flyout_metrics_manager.d.ts +40 -0
  176. package/core/{flyout_metrics_manager.js → flyout_metrics_manager.ts} +22 -34
  177. package/core/flyout_vertical.d.ts +83 -0
  178. package/core/{flyout_vertical.js → flyout_vertical.ts} +106 -117
  179. package/core/generator.d.ts +205 -0
  180. package/core/{generator.js → generator.ts} +168 -193
  181. package/core/gesture.d.ts +357 -0
  182. package/core/{gesture.js → gesture.ts} +289 -369
  183. package/core/grid.d.ts +83 -0
  184. package/core/grid.ts +192 -0
  185. package/core/icon.d.ts +78 -0
  186. package/core/icon.ts +189 -0
  187. package/core/inject.d.ts +15 -0
  188. package/core/{inject.js → inject.ts} +101 -100
  189. package/core/input.d.ts +128 -0
  190. package/core/input.ts +309 -0
  191. package/core/input_types.d.ts +14 -0
  192. package/core/{input_types.js → input_types.ts} +8 -12
  193. package/core/insertion_marker_manager.d.ts +212 -0
  194. package/core/{insertion_marker_manager.js → insertion_marker_manager.ts} +234 -236
  195. package/core/interfaces/i_ast_node_location.d.ts +11 -0
  196. package/core/interfaces/{i_ast_node_location.js → i_ast_node_location.ts} +4 -7
  197. package/core/interfaces/i_ast_node_location_svg.d.ts +22 -0
  198. package/core/interfaces/i_ast_node_location_svg.ts +37 -0
  199. package/core/interfaces/i_ast_node_location_with_block.d.ts +18 -0
  200. package/core/interfaces/i_ast_node_location_with_block.ts +38 -0
  201. package/core/interfaces/i_autohideable.d.ts +18 -0
  202. package/core/interfaces/i_autohideable.ts +34 -0
  203. package/core/interfaces/i_block_dragger.d.ts +43 -0
  204. package/core/interfaces/i_block_dragger.ts +67 -0
  205. package/core/interfaces/i_bounded_element.d.ts +24 -0
  206. package/core/interfaces/i_bounded_element.ts +42 -0
  207. package/core/interfaces/i_bubble.d.ts +59 -0
  208. package/core/interfaces/i_bubble.ts +88 -0
  209. package/core/interfaces/i_collapsible_toolbox_item.d.ts +26 -0
  210. package/core/interfaces/i_collapsible_toolbox_item.ts +47 -0
  211. package/core/interfaces/i_component.d.ts +17 -0
  212. package/core/interfaces/{i_component.js → i_component.ts} +9 -14
  213. package/core/interfaces/i_connection_checker.d.ts +69 -0
  214. package/core/interfaces/i_connection_checker.ts +102 -0
  215. package/core/interfaces/i_contextmenu.d.ts +13 -0
  216. package/core/interfaces/i_contextmenu.ts +26 -0
  217. package/core/interfaces/i_copyable.d.ts +24 -0
  218. package/core/interfaces/i_copyable.ts +40 -0
  219. package/core/interfaces/i_deletable.d.ts +16 -0
  220. package/core/interfaces/{i_deletable.js → i_deletable.ts} +9 -13
  221. package/core/interfaces/i_delete_area.d.ts +25 -0
  222. package/core/interfaces/i_delete_area.ts +46 -0
  223. package/core/interfaces/i_drag_target.d.ts +53 -0
  224. package/core/interfaces/i_drag_target.ts +84 -0
  225. package/core/interfaces/i_draggable.d.ts +12 -0
  226. package/core/interfaces/{i_draggable.js → i_draggable.ts} +4 -10
  227. package/core/interfaces/i_flyout.d.ts +134 -0
  228. package/core/interfaces/i_flyout.ts +186 -0
  229. package/core/interfaces/i_keyboard_accessible.d.ts +18 -0
  230. package/core/interfaces/i_keyboard_accessible.ts +35 -0
  231. package/core/interfaces/i_metrics_manager.d.ts +117 -0
  232. package/core/interfaces/i_metrics_manager.ts +151 -0
  233. package/core/interfaces/i_movable.d.ts +16 -0
  234. package/core/interfaces/{i_movable.js → i_movable.ts} +9 -13
  235. package/core/interfaces/i_positionable.d.ts +27 -0
  236. package/core/interfaces/i_positionable.ts +50 -0
  237. package/core/interfaces/i_registrable.d.ts +11 -0
  238. package/core/interfaces/{i_registrable.js → i_registrable.ts} +3 -7
  239. package/core/interfaces/i_registrable_field.d.ts +17 -0
  240. package/core/interfaces/{i_registrable_field.js → i_registrable_field.ts} +8 -16
  241. package/core/interfaces/i_selectable.d.ts +18 -0
  242. package/core/interfaces/i_selectable.ts +34 -0
  243. package/core/interfaces/i_selectable_toolbox_item.d.ts +42 -0
  244. package/core/interfaces/i_selectable_toolbox_item.ts +64 -0
  245. package/core/interfaces/i_serializer.d.ts +42 -0
  246. package/core/interfaces/i_serializer.ts +65 -0
  247. package/core/interfaces/i_styleable.d.ts +21 -0
  248. package/core/interfaces/i_styleable.ts +35 -0
  249. package/core/interfaces/i_toolbox.d.ts +85 -0
  250. package/core/interfaces/i_toolbox.ts +127 -0
  251. package/core/interfaces/i_toolbox_item.d.ts +62 -0
  252. package/core/interfaces/i_toolbox_item.ts +84 -0
  253. package/core/internal_constants.d.ts +40 -0
  254. package/core/{internal_constants.js → internal_constants.ts} +13 -18
  255. package/core/keyboard_nav/ast_node.d.ts +239 -0
  256. package/core/keyboard_nav/{ast_node.js → ast_node.ts} +207 -231
  257. package/core/keyboard_nav/basic_cursor.d.ts +88 -0
  258. package/core/keyboard_nav/{basic_cursor.js → basic_cursor.ts} +55 -66
  259. package/core/keyboard_nav/cursor.d.ts +41 -0
  260. package/core/keyboard_nav/{cursor.js → cursor.ts} +25 -35
  261. package/core/keyboard_nav/marker.d.ts +58 -0
  262. package/core/keyboard_nav/{marker.js → marker.ts} +36 -55
  263. package/core/keyboard_nav/tab_navigate_cursor.d.ts +19 -0
  264. package/core/keyboard_nav/{tab_navigate_cursor.js → tab_navigate_cursor.ts} +11 -15
  265. package/core/main.d.ts +11 -0
  266. package/core/main.js +303 -0
  267. package/core/marker_manager.d.ts +85 -0
  268. package/core/marker_manager.ts +181 -0
  269. package/core/menu.d.ts +149 -0
  270. package/core/{menu.js → menu.ts} +141 -174
  271. package/core/menuitem.d.ts +118 -0
  272. package/core/menuitem.ts +240 -0
  273. package/core/metrics_manager.d.ts +201 -0
  274. package/core/{metrics_manager.js → metrics_manager.ts} +117 -156
  275. package/core/msg.d.ts +9 -0
  276. package/core/{msg.js → msg.ts} +4 -8
  277. package/core/mutator.d.ts +128 -0
  278. package/core/{mutator.js → mutator.ts} +196 -211
  279. package/core/names.d.ts +124 -0
  280. package/core/names.ts +267 -0
  281. package/core/options.d.ts +137 -0
  282. package/core/{options.js → options.ts} +147 -173
  283. package/core/positionable_helpers.d.ts +88 -0
  284. package/core/{positionable_helpers.js → positionable_helpers.ts} +63 -70
  285. package/core/procedures.d.ts +108 -0
  286. package/core/{procedures.js → procedures.ts} +143 -152
  287. package/core/registry.d.ts +137 -0
  288. package/core/registry.ts +339 -0
  289. package/core/rendered_connection.d.ts +191 -0
  290. package/core/{rendered_connection.js → rendered_connection.ts} +164 -184
  291. package/core/renderers/common/block_rendering.d.ts +114 -0
  292. package/core/renderers/common/block_rendering.ts +164 -0
  293. package/core/renderers/common/constants.d.ts +458 -0
  294. package/core/renderers/common/constants.ts +1124 -0
  295. package/core/renderers/common/debug.d.ts +28 -0
  296. package/core/renderers/common/{debug.js → debug.ts} +14 -20
  297. package/core/renderers/common/debugger.d.ts +120 -0
  298. package/core/renderers/common/{debugger.js → debugger.ts} +100 -124
  299. package/core/renderers/common/drawer.d.ts +132 -0
  300. package/core/renderers/common/{drawer.js → drawer.ts} +112 -137
  301. package/core/renderers/common/i_path_object.d.ts +117 -0
  302. package/core/renderers/common/i_path_object.ts +161 -0
  303. package/core/renderers/common/info.d.ts +194 -0
  304. package/core/renderers/common/{info.js → info.ts} +165 -222
  305. package/core/renderers/common/marker_svg.d.ts +220 -0
  306. package/core/renderers/common/marker_svg.ts +680 -0
  307. package/core/renderers/common/path_object.d.ts +146 -0
  308. package/core/renderers/common/path_object.ts +272 -0
  309. package/core/renderers/common/renderer.d.ts +157 -0
  310. package/core/renderers/common/renderer.ts +271 -0
  311. package/core/renderers/geras/constants.d.ts +23 -0
  312. package/core/renderers/geras/constants.ts +61 -0
  313. package/core/renderers/geras/drawer.d.ts +43 -0
  314. package/core/renderers/geras/{drawer.js → drawer.ts} +40 -84
  315. package/core/renderers/geras/geras.d.ts +11 -0
  316. package/core/renderers/geras/geras.ts +37 -0
  317. package/core/renderers/geras/highlight_constants.d.ts +108 -0
  318. package/core/renderers/geras/{highlight_constants.js → highlight_constants.ts} +107 -69
  319. package/core/renderers/geras/highlighter.d.ts +98 -0
  320. package/core/renderers/geras/{highlighter.js → highlighter.ts} +81 -86
  321. package/core/renderers/geras/info.d.ts +45 -0
  322. package/core/renderers/geras/{info.js → info.ts} +61 -99
  323. package/core/renderers/geras/measurables/inline_input.d.ts +23 -0
  324. package/core/renderers/geras/measurables/inline_input.ts +51 -0
  325. package/core/renderers/geras/measurables/statement_input.d.ts +23 -0
  326. package/core/renderers/geras/measurables/statement_input.ts +50 -0
  327. package/core/renderers/geras/path_object.d.ts +47 -0
  328. package/core/renderers/geras/{path_object.js → path_object.ts} +46 -74
  329. package/core/renderers/geras/renderer.d.ts +69 -0
  330. package/core/renderers/geras/renderer.ts +126 -0
  331. package/core/renderers/measurables/base.d.ts +27 -0
  332. package/core/renderers/measurables/base.ts +53 -0
  333. package/core/renderers/measurables/bottom_row.d.ts +61 -0
  334. package/core/renderers/measurables/bottom_row.ts +120 -0
  335. package/core/renderers/measurables/connection.d.ts +25 -0
  336. package/core/renderers/measurables/connection.ts +52 -0
  337. package/core/renderers/measurables/external_value_input.d.ts +27 -0
  338. package/core/renderers/measurables/external_value_input.ts +65 -0
  339. package/core/renderers/measurables/field.d.ts +30 -0
  340. package/core/renderers/measurables/field.ts +63 -0
  341. package/core/renderers/measurables/hat.d.ts +21 -0
  342. package/core/renderers/measurables/{hat.js → hat.ts} +12 -14
  343. package/core/renderers/measurables/icon.d.ts +26 -0
  344. package/core/renderers/measurables/{icon.js → icon.ts} +14 -18
  345. package/core/renderers/measurables/in_row_spacer.d.ts +21 -0
  346. package/core/renderers/measurables/in_row_spacer.ts +44 -0
  347. package/core/renderers/measurables/inline_input.d.ts +24 -0
  348. package/core/renderers/measurables/{inline_input.js → inline_input.ts} +22 -26
  349. package/core/renderers/measurables/input_connection.d.ts +29 -0
  350. package/core/renderers/measurables/input_connection.ts +66 -0
  351. package/core/renderers/measurables/input_row.d.ts +30 -0
  352. package/core/renderers/measurables/{input_row.js → input_row.ts} +24 -31
  353. package/core/renderers/measurables/jagged_edge.d.ts +20 -0
  354. package/core/renderers/measurables/{jagged_edge.js → jagged_edge.ts} +10 -13
  355. package/core/renderers/measurables/next_connection.d.ts +23 -0
  356. package/core/renderers/measurables/next_connection.ts +47 -0
  357. package/core/renderers/measurables/output_connection.d.ts +26 -0
  358. package/core/renderers/measurables/output_connection.ts +56 -0
  359. package/core/renderers/measurables/previous_connection.d.ts +23 -0
  360. package/core/renderers/measurables/previous_connection.ts +47 -0
  361. package/core/renderers/measurables/round_corner.d.ts +21 -0
  362. package/core/renderers/measurables/round_corner.ts +49 -0
  363. package/core/renderers/measurables/row.d.ts +141 -0
  364. package/core/renderers/measurables/row.ts +225 -0
  365. package/core/renderers/measurables/spacer_row.d.ts +29 -0
  366. package/core/renderers/measurables/spacer_row.ts +55 -0
  367. package/core/renderers/measurables/square_corner.d.ts +21 -0
  368. package/core/renderers/measurables/square_corner.ts +47 -0
  369. package/core/renderers/measurables/statement_input.d.ts +22 -0
  370. package/core/renderers/measurables/{statement_input.js → statement_input.ts} +14 -18
  371. package/core/renderers/measurables/top_row.d.ts +56 -0
  372. package/core/renderers/measurables/top_row.ts +122 -0
  373. package/core/renderers/measurables/types.d.ts +235 -0
  374. package/core/renderers/measurables/types.ts +332 -0
  375. package/core/renderers/minimalist/constants.d.ts +14 -0
  376. package/core/renderers/minimalist/{constants.js → constants.ts} +5 -10
  377. package/core/renderers/minimalist/drawer.d.ts +21 -0
  378. package/core/renderers/minimalist/drawer.ts +38 -0
  379. package/core/renderers/minimalist/info.d.ts +30 -0
  380. package/core/renderers/minimalist/info.ts +52 -0
  381. package/core/renderers/minimalist/minimalist.d.ts +6 -0
  382. package/core/renderers/minimalist/minimalist.ts +22 -0
  383. package/core/renderers/minimalist/renderer.d.ts +41 -0
  384. package/core/renderers/minimalist/renderer.ts +71 -0
  385. package/core/renderers/thrasos/info.d.ts +40 -0
  386. package/core/renderers/thrasos/{info.js → info.ts} +66 -67
  387. package/core/renderers/thrasos/renderer.d.ts +25 -0
  388. package/core/renderers/thrasos/renderer.ts +48 -0
  389. package/core/renderers/thrasos/thrasos.d.ts +4 -0
  390. package/core/renderers/thrasos/thrasos.ts +20 -0
  391. package/core/renderers/zelos/constants.d.ts +186 -0
  392. package/core/renderers/zelos/{constants.js → constants.ts} +294 -441
  393. package/core/renderers/zelos/drawer.d.ts +47 -0
  394. package/core/renderers/zelos/{drawer.js → drawer.ts} +73 -95
  395. package/core/renderers/zelos/info.d.ts +88 -0
  396. package/core/renderers/zelos/{info.js → info.ts} +111 -142
  397. package/core/renderers/zelos/marker_svg.d.ts +46 -0
  398. package/core/renderers/zelos/marker_svg.ts +151 -0
  399. package/core/renderers/zelos/measurables/bottom_row.d.ts +27 -0
  400. package/core/renderers/zelos/measurables/bottom_row.ts +53 -0
  401. package/core/renderers/zelos/measurables/inputs.d.ts +23 -0
  402. package/core/renderers/zelos/measurables/{inputs.js → inputs.ts} +14 -15
  403. package/core/renderers/zelos/measurables/row_elements.d.ts +21 -0
  404. package/core/renderers/zelos/measurables/row_elements.ts +45 -0
  405. package/core/renderers/zelos/measurables/top_row.d.ts +29 -0
  406. package/core/renderers/zelos/measurables/{top_row.js → top_row.ts} +14 -27
  407. package/core/renderers/zelos/path_object.d.ts +77 -0
  408. package/core/renderers/zelos/path_object.ts +215 -0
  409. package/core/renderers/zelos/renderer.d.ts +74 -0
  410. package/core/renderers/zelos/renderer.ts +142 -0
  411. package/core/renderers/zelos/zelos.d.ts +12 -0
  412. package/core/renderers/zelos/zelos.ts +39 -0
  413. package/core/scrollbar.d.ts +277 -0
  414. package/core/{scrollbar.js → scrollbar.ts} +307 -328
  415. package/core/scrollbar_pair.d.ts +105 -0
  416. package/core/{scrollbar_pair.js → scrollbar_pair.ts} +71 -79
  417. package/core/serialization/blocks.d.ts +98 -0
  418. package/core/serialization/{blocks.js → blocks.ts} +229 -228
  419. package/core/serialization/exceptions.d.ts +73 -0
  420. package/core/serialization/exceptions.ts +98 -0
  421. package/core/serialization/priorities.d.ts +15 -0
  422. package/core/serialization/{priorities.js → priorities.ts} +4 -10
  423. package/core/serialization/registry.d.ts +20 -0
  424. package/core/serialization/{registry.js → registry.ts} +11 -13
  425. package/core/serialization/variables.d.ts +14 -0
  426. package/core/serialization/{variables.js → variables.ts} +30 -32
  427. package/core/serialization/workspaces.d.ts +28 -0
  428. package/core/serialization/{workspaces.js → workspaces.ts} +30 -27
  429. package/core/shortcut_items.d.ts +61 -0
  430. package/core/{shortcut_items.js → shortcut_items.ts} +121 -157
  431. package/core/shortcut_registry.d.ts +151 -0
  432. package/core/shortcut_registry.ts +355 -0
  433. package/core/sprites.d.ts +19 -0
  434. package/core/{sprites.js → sprites.ts} +4 -6
  435. package/core/theme/classic.d.ts +12 -0
  436. package/core/theme/{classic.js → classic.ts} +5 -7
  437. package/core/theme/themes.d.ts +8 -0
  438. package/core/theme/themes.ts +22 -0
  439. package/core/theme/zelos.d.ts +11 -0
  440. package/core/theme/{zelos.js → zelos.ts} +4 -7
  441. package/core/theme.d.ts +142 -0
  442. package/core/theme.ts +221 -0
  443. package/core/theme_manager.d.ts +81 -0
  444. package/core/theme_manager.ts +186 -0
  445. package/core/toolbox/category.d.ts +239 -0
  446. package/core/toolbox/category.ts +679 -0
  447. package/core/toolbox/collapsible_category.d.ts +91 -0
  448. package/core/toolbox/collapsible_category.ts +273 -0
  449. package/core/toolbox/separator.d.ts +39 -0
  450. package/core/toolbox/separator.ts +105 -0
  451. package/core/toolbox/toolbox.d.ts +352 -0
  452. package/core/toolbox/{toolbox.js → toolbox.ts} +316 -432
  453. package/core/toolbox/toolbox_item.d.ts +85 -0
  454. package/core/toolbox/toolbox_item.ts +147 -0
  455. package/core/tooltip.d.ts +126 -0
  456. package/core/{tooltip.js → tooltip.ts} +136 -214
  457. package/core/touch.d.ts +121 -0
  458. package/core/touch.ts +306 -0
  459. package/core/touch_gesture.d.ts +115 -0
  460. package/core/{touch_gesture.js → touch_gesture.ts} +87 -125
  461. package/core/trashcan.d.ts +195 -0
  462. package/core/{trashcan.js → trashcan.ts} +226 -312
  463. package/core/utils/aria.d.ts +67 -0
  464. package/core/utils/{aria.js → aria.ts} +47 -61
  465. package/core/utils/array.d.ts +14 -0
  466. package/core/utils/{array.js → array.ts} +10 -12
  467. package/core/utils/colour.d.ts +103 -0
  468. package/core/utils/{colour.js → colour.ts} +60 -72
  469. package/core/utils/coordinate.d.ts +72 -0
  470. package/core/utils/coordinate.ts +124 -0
  471. package/core/utils/deprecation.d.ts +17 -0
  472. package/core/utils/{deprecation.js → deprecation.ts} +11 -11
  473. package/core/utils/dom.d.ts +165 -0
  474. package/core/utils/{dom.js → dom.ts} +125 -147
  475. package/core/utils/idgenerator.d.ts +25 -0
  476. package/core/utils/{idgenerator.js → idgenerator.ts} +15 -18
  477. package/core/utils/keycodes.d.ts +137 -0
  478. package/core/utils/keycodes.ts +169 -0
  479. package/core/utils/math.d.ts +30 -0
  480. package/core/utils/{math.js → math.ts} +17 -19
  481. package/core/utils/metrics.d.ts +64 -0
  482. package/core/utils/metrics.ts +97 -0
  483. package/core/utils/object.d.ts +35 -0
  484. package/core/utils/{object.js → object.ts} +30 -26
  485. package/core/utils/parsing.d.ts +50 -0
  486. package/core/utils/{parsing.js → parsing.ts} +50 -50
  487. package/core/utils/rect.d.ts +38 -0
  488. package/core/utils/{rect.js → rect.ts} +18 -31
  489. package/core/utils/sentinel.d.ts +11 -0
  490. package/core/utils/{sentinel.js → sentinel.ts} +3 -5
  491. package/core/utils/size.d.ts +27 -0
  492. package/core/utils/{size.js → size.ts} +12 -26
  493. package/core/utils/string.d.ts +55 -0
  494. package/core/utils/{string.js → string.ts} +64 -61
  495. package/core/utils/style.d.ts +127 -0
  496. package/core/utils/{style.js → style.ts} +102 -92
  497. package/core/utils/svg.d.ts +68 -0
  498. package/core/utils/svg.ts +88 -0
  499. package/core/utils/svg_math.d.ts +70 -0
  500. package/core/utils/{svg_math.js → svg_math.ts} +72 -71
  501. package/core/utils/svg_paths.d.ts +101 -0
  502. package/core/utils/{svg_paths.js → svg_paths.ts} +56 -65
  503. package/core/utils/toolbox.d.ts +193 -0
  504. package/core/utils/toolbox.ts +433 -0
  505. package/core/utils/useragent.d.ts +33 -0
  506. package/core/utils/useragent.ts +135 -0
  507. package/core/utils/xml.d.ts +52 -0
  508. package/core/utils/{xml.js → xml.ts} +26 -36
  509. package/core/utils.d.ts +217 -0
  510. package/core/utils.ts +428 -0
  511. package/core/variable_map.d.ts +141 -0
  512. package/core/{variable_map.js → variable_map.ts} +131 -149
  513. package/core/variable_model.d.ts +40 -0
  514. package/core/variable_model.ts +82 -0
  515. package/core/variables.d.ts +181 -0
  516. package/core/{variables.js → variables.ts} +206 -188
  517. package/core/variables_dynamic.d.ts +38 -0
  518. package/core/{variables_dynamic.js → variables_dynamic.ts} +47 -43
  519. package/core/warning.d.ts +50 -0
  520. package/core/{warning.js → warning.ts} +52 -66
  521. package/core/widgetdiv.d.ts +69 -0
  522. package/core/widgetdiv.ts +257 -0
  523. package/core/workspace.d.ts +386 -0
  524. package/core/workspace.ts +801 -0
  525. package/core/workspace_audio.d.ts +47 -0
  526. package/core/{workspace_audio.js → workspace_audio.ts} +47 -60
  527. package/core/workspace_comment.d.ts +170 -0
  528. package/core/workspace_comment.ts +398 -0
  529. package/core/workspace_comment_svg.d.ts +329 -0
  530. package/core/{workspace_comment_svg.js → workspace_comment_svg.ts} +347 -444
  531. package/core/workspace_drag_surface_svg.d.ts +68 -0
  532. package/core/{workspace_drag_surface_svg.js → workspace_drag_surface_svg.ts} +75 -82
  533. package/core/workspace_dragger.d.ts +48 -0
  534. package/core/workspace_dragger.ts +104 -0
  535. package/core/workspace_svg.d.ts +920 -0
  536. package/core/{workspace_svg.js → workspace_svg.ts} +855 -935
  537. package/core/xml.d.ts +117 -0
  538. package/core/{xml.js → xml.ts} +306 -326
  539. package/core/zoom_controls.d.ts +130 -0
  540. package/core/{zoom_controls.js → zoom_controls.ts} +185 -251
  541. package/core.d.ts +1 -3
  542. package/core.js +1 -2
  543. package/dart.d.ts +0 -3
  544. package/dart_compressed.js +387 -99
  545. package/dart_compressed.js.map +1 -1
  546. package/generators/dart/all.js +2 -0
  547. package/generators/dart/colour.js +1 -1
  548. package/generators/dart/lists.js +1 -1
  549. package/generators/dart/logic.js +1 -1
  550. package/generators/dart/loops.js +1 -1
  551. package/generators/dart/math.js +1 -1
  552. package/generators/dart/procedures.js +1 -1
  553. package/generators/dart/text.js +1 -1
  554. package/generators/dart/variables.js +1 -1
  555. package/generators/dart/variables_dynamic.js +1 -1
  556. package/generators/dart.js +1 -2
  557. package/generators/javascript/all.js +2 -0
  558. package/generators/javascript/colour.js +1 -1
  559. package/generators/javascript/lists.js +1 -1
  560. package/generators/javascript/logic.js +1 -1
  561. package/generators/javascript/loops.js +1 -1
  562. package/generators/javascript/math.js +4 -4
  563. package/generators/javascript/procedures.js +1 -1
  564. package/generators/javascript/text.js +2 -2
  565. package/generators/javascript/variables.js +1 -1
  566. package/generators/javascript/variables_dynamic.js +1 -1
  567. package/generators/javascript.js +1 -3
  568. package/generators/lua/all.js +2 -0
  569. package/generators/lua/colour.js +1 -1
  570. package/generators/lua/lists.js +1 -1
  571. package/generators/lua/logic.js +1 -1
  572. package/generators/lua/loops.js +1 -1
  573. package/generators/lua/math.js +1 -1
  574. package/generators/lua/procedures.js +1 -1
  575. package/generators/lua/text.js +1 -1
  576. package/generators/lua/variables.js +1 -1
  577. package/generators/lua/variables_dynamic.js +1 -1
  578. package/generators/lua.js +1 -2
  579. package/generators/php/all.js +2 -0
  580. package/generators/php/colour.js +1 -1
  581. package/generators/php/lists.js +1 -2
  582. package/generators/php/logic.js +1 -1
  583. package/generators/php/loops.js +1 -1
  584. package/generators/php/math.js +1 -1
  585. package/generators/php/procedures.js +1 -1
  586. package/generators/php/text.js +1 -1
  587. package/generators/php/variables.js +1 -1
  588. package/generators/php/variables_dynamic.js +1 -1
  589. package/generators/php.js +1 -2
  590. package/generators/python/all.js +2 -0
  591. package/generators/python/colour.js +3 -3
  592. package/generators/python/lists.js +1 -1
  593. package/generators/python/logic.js +1 -1
  594. package/generators/python/loops.js +4 -7
  595. package/generators/python/math.js +1 -1
  596. package/generators/python/procedures.js +1 -1
  597. package/generators/python/text.js +1 -1
  598. package/generators/python/variables.js +1 -1
  599. package/generators/python/variables_dynamic.js +1 -1
  600. package/generators/python.js +1 -2
  601. package/index.d.ts +2 -8
  602. package/javascript.d.ts +0 -3
  603. package/javascript_compressed.js +314 -104
  604. package/javascript_compressed.js.map +1 -1
  605. package/lua.d.ts +0 -3
  606. package/lua_compressed.js +399 -81
  607. package/lua_compressed.js.map +1 -1
  608. package/package.json +5 -5
  609. package/php.d.ts +0 -3
  610. package/php_compressed.js +322 -93
  611. package/php_compressed.js.map +1 -1
  612. package/python.d.ts +0 -3
  613. package/python_compressed.js +237 -90
  614. package/python_compressed.js.map +1 -1
  615. package/blockly.d.ts +0 -26127
  616. package/core/blockly_options.js +0 -28
  617. package/core/bubble_dragger.js +0 -298
  618. package/core/clipboard.js +0 -80
  619. package/core/component_manager.js +0 -263
  620. package/core/contextmenu_items.js +0 -651
  621. package/core/contextmenu_registry.js +0 -178
  622. package/core/delete_area.js +0 -87
  623. package/core/dialog.js +0 -107
  624. package/core/drag_target.js +0 -98
  625. package/core/events/events.js +0 -147
  626. package/core/events/events_abstract.js +0 -133
  627. package/core/events/events_block_base.js +0 -70
  628. package/core/events/events_block_drag.js +0 -89
  629. package/core/events/events_bubble_open.js +0 -90
  630. package/core/events/events_comment_base.js +0 -121
  631. package/core/events/events_marker_move.js +0 -110
  632. package/core/events/events_selected.js +0 -83
  633. package/core/events/events_toolbox_item_select.js +0 -84
  634. package/core/events/events_trashcan_open.js +0 -73
  635. package/core/events/events_var_base.js +0 -70
  636. package/core/events/events_viewport.js +0 -107
  637. package/core/events/workspace_events.js +0 -93
  638. package/core/field_angle.js +0 -591
  639. package/core/field_checkbox.js +0 -255
  640. package/core/field_colour.js +0 -717
  641. package/core/field_image.js +0 -304
  642. package/core/field_label.js +0 -149
  643. package/core/field_label_serializable.js +0 -80
  644. package/core/field_textinput.js +0 -619
  645. package/core/flyout_button.js +0 -356
  646. package/core/grid.js +0 -226
  647. package/core/icon.js +0 -225
  648. package/core/input.js +0 -335
  649. package/core/interfaces/i_ast_node_location_svg.js +0 -45
  650. package/core/interfaces/i_ast_node_location_with_block.js +0 -41
  651. package/core/interfaces/i_autohideable.js +0 -40
  652. package/core/interfaces/i_block_dragger.js +0 -66
  653. package/core/interfaces/i_bounded_element.js +0 -45
  654. package/core/interfaces/i_bubble.js +0 -95
  655. package/core/interfaces/i_collapsible_toolbox_item.js +0 -53
  656. package/core/interfaces/i_connection_checker.js +0 -104
  657. package/core/interfaces/i_contextmenu.js +0 -32
  658. package/core/interfaces/i_copyable.js +0 -49
  659. package/core/interfaces/i_delete_area.js +0 -50
  660. package/core/interfaces/i_drag_target.js +0 -88
  661. package/core/interfaces/i_flyout.js +0 -201
  662. package/core/interfaces/i_keyboard_accessible.js +0 -38
  663. package/core/interfaces/i_metrics_manager.js +0 -154
  664. package/core/interfaces/i_positionable.js +0 -51
  665. package/core/interfaces/i_selectable.js +0 -51
  666. package/core/interfaces/i_selectable_toolbox_item.js +0 -73
  667. package/core/interfaces/i_serializer.js +0 -77
  668. package/core/interfaces/i_styleable.js +0 -39
  669. package/core/interfaces/i_toolbox.js +0 -142
  670. package/core/interfaces/i_toolbox_item.js +0 -85
  671. package/core/marker_manager.js +0 -213
  672. package/core/menuitem.js +0 -292
  673. package/core/names.js +0 -293
  674. package/core/registry.js +0 -384
  675. package/core/renderers/common/block_rendering.js +0 -170
  676. package/core/renderers/common/constants.js +0 -1250
  677. package/core/renderers/common/i_path_object.js +0 -162
  678. package/core/renderers/common/marker_svg.js +0 -721
  679. package/core/renderers/common/path_object.js +0 -283
  680. package/core/renderers/common/renderer.js +0 -305
  681. package/core/renderers/geras/constants.js +0 -73
  682. package/core/renderers/geras/geras.js +0 -36
  683. package/core/renderers/geras/measurables/inline_input.js +0 -58
  684. package/core/renderers/geras/measurables/statement_input.js +0 -57
  685. package/core/renderers/geras/renderer.js +0 -149
  686. package/core/renderers/measurables/base.js +0 -64
  687. package/core/renderers/measurables/bottom_row.js +0 -138
  688. package/core/renderers/measurables/connection.js +0 -56
  689. package/core/renderers/measurables/external_value_input.js +0 -70
  690. package/core/renderers/measurables/field.js +0 -71
  691. package/core/renderers/measurables/in_row_spacer.js +0 -47
  692. package/core/renderers/measurables/input_connection.js +0 -75
  693. package/core/renderers/measurables/next_connection.js +0 -50
  694. package/core/renderers/measurables/output_connection.js +0 -61
  695. package/core/renderers/measurables/previous_connection.js +0 -50
  696. package/core/renderers/measurables/round_corner.js +0 -52
  697. package/core/renderers/measurables/row.js +0 -247
  698. package/core/renderers/measurables/spacer_row.js +0 -69
  699. package/core/renderers/measurables/square_corner.js +0 -50
  700. package/core/renderers/measurables/top_row.js +0 -143
  701. package/core/renderers/measurables/types.js +0 -353
  702. package/core/renderers/minimalist/drawer.js +0 -42
  703. package/core/renderers/minimalist/info.js +0 -54
  704. package/core/renderers/minimalist/minimalist.js +0 -26
  705. package/core/renderers/minimalist/renderer.js +0 -80
  706. package/core/renderers/thrasos/renderer.js +0 -53
  707. package/core/renderers/thrasos/thrasos.js +0 -22
  708. package/core/renderers/zelos/marker_svg.js +0 -179
  709. package/core/renderers/zelos/measurables/bottom_row.js +0 -66
  710. package/core/renderers/zelos/measurables/row_elements.js +0 -46
  711. package/core/renderers/zelos/path_object.js +0 -247
  712. package/core/renderers/zelos/renderer.js +0 -147
  713. package/core/renderers/zelos/zelos.js +0 -38
  714. package/core/serialization/exceptions.js +0 -144
  715. package/core/shortcut_registry.js +0 -366
  716. package/core/theme/themes.js +0 -23
  717. package/core/theme.js +0 -228
  718. package/core/theme_manager.js +0 -211
  719. package/core/toolbox/category.js +0 -751
  720. package/core/toolbox/collapsible_category.js +0 -311
  721. package/core/toolbox/separator.js +0 -133
  722. package/core/toolbox/toolbox_item.js +0 -173
  723. package/core/touch.js +0 -285
  724. package/core/utils/coordinate.js +0 -138
  725. package/core/utils/global.js +0 -41
  726. package/core/utils/keycodes.js +0 -172
  727. package/core/utils/metrics.js +0 -154
  728. package/core/utils/svg.js +0 -186
  729. package/core/utils/toolbox.js +0 -459
  730. package/core/utils/useragent.js +0 -197
  731. package/core/utils.js +0 -383
  732. package/core/variable_model.js +0 -96
  733. package/core/widgetdiv.js +0 -290
  734. package/core/workspace.js +0 -836
  735. package/core/workspace_comment.js +0 -400
  736. package/core/workspace_dragger.js +0 -115
@@ -0,0 +1,127 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2020 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ /**
8
+ * @fileoverview The interface for a toolbox.
9
+ */
10
+
11
+ /**
12
+ * The interface for a toolbox.
13
+ * @namespace Blockly.IToolbox
14
+ */
15
+ import * as goog from '../../closure/goog/goog.js';
16
+ goog.declareModuleId('Blockly.IToolbox');
17
+
18
+ /* eslint-disable-next-line no-unused-vars */
19
+ // Unused import preserved for side-effects. Remove if unneeded.
20
+ // import '../utils/toolbox.js';
21
+ /* eslint-disable-next-line no-unused-vars */
22
+ // Unused import preserved for side-effects. Remove if unneeded.
23
+ // import './i_flyout.js';
24
+ /* eslint-disable-next-line no-unused-vars */
25
+ // Unused import preserved for side-effects. Remove if unneeded.
26
+ // import './i_toolbox_item.js';
27
+ /* eslint-disable-next-line no-unused-vars */
28
+ // Unused import preserved for side-effects. Remove if unneeded.
29
+ // import '../workspace_svg.js';
30
+
31
+ import type {IRegistrable} from './i_registrable.js';
32
+ import type {IToolboxItem} from './i_toolbox_item.js';
33
+ import type {ToolboxInfo} from '../utils/toolbox.js';
34
+ import type {IFlyout} from './i_flyout.js';
35
+ import type {WorkspaceSvg} from '../workspace_svg.js';
36
+
37
+
38
+ /**
39
+ * Interface for a toolbox.
40
+ * @alias Blockly.IToolbox
41
+ */
42
+ export interface IToolbox extends IRegistrable {
43
+ /** Initializes the toolbox. */
44
+ init(): void;
45
+
46
+ /**
47
+ * Fills the toolbox with new toolbox items and removes any old contents.
48
+ * @param toolboxDef Object holding information for creating a toolbox.
49
+ */
50
+ render(toolboxDef: ToolboxInfo): void;
51
+
52
+ /**
53
+ * Gets the width of the toolbox.
54
+ * @return The width of the toolbox.
55
+ */
56
+ getWidth(): number;
57
+
58
+ /**
59
+ * Gets the height of the toolbox.
60
+ * @return The height of the toolbox.
61
+ */
62
+ getHeight(): number;
63
+
64
+ /**
65
+ * Gets the toolbox flyout.
66
+ * @return The toolbox flyout.
67
+ */
68
+ getFlyout(): IFlyout|null;
69
+
70
+ /**
71
+ * Gets the workspace for the toolbox.
72
+ * @return The parent workspace for the toolbox.
73
+ */
74
+ getWorkspace(): WorkspaceSvg;
75
+
76
+ /**
77
+ * Gets whether or not the toolbox is horizontal.
78
+ * @return True if the toolbox is horizontal, false if the toolbox is
79
+ * vertical.
80
+ */
81
+ isHorizontal(): boolean;
82
+
83
+ /**
84
+ * Positions the toolbox based on whether it is a horizontal toolbox and
85
+ * whether the workspace is in rtl.
86
+ */
87
+ position(): void;
88
+
89
+ /** Handles resizing the toolbox when a toolbox item resizes. */
90
+ handleToolboxItemResize(): void;
91
+
92
+ /** Unhighlights any previously selected item. */
93
+ clearSelection(): void;
94
+
95
+ /**
96
+ * Updates the category colours and background colour of selected categories.
97
+ */
98
+ refreshTheme(): void;
99
+
100
+ /**
101
+ * Updates the flyout's content without closing it. Should be used in
102
+ * response to a change in one of the dynamic categories, such as variables or
103
+ * procedures.
104
+ */
105
+ refreshSelection(): void;
106
+
107
+ /**
108
+ * Sets the visibility of the toolbox.
109
+ * @param isVisible True if toolbox should be visible.
110
+ */
111
+ setVisible(isVisible: boolean): void;
112
+
113
+ /**
114
+ * Selects the toolbox item by it's position in the list of toolbox items.
115
+ * @param position The position of the item to select.
116
+ */
117
+ selectItemByPosition(position: number): void;
118
+
119
+ /**
120
+ * Gets the selected item.
121
+ * @return The selected item, or null if no item is currently selected.
122
+ */
123
+ getSelectedItem(): IToolboxItem|null;
124
+
125
+ /** Disposes of this toolbox. */
126
+ dispose(): void;
127
+ }
@@ -0,0 +1,62 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2020 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /**
7
+ * Interface for an item in the toolbox.
8
+ * @alias Blockly.IToolboxItem
9
+ */
10
+ export interface IToolboxItem {
11
+ /**
12
+ * Initializes the toolbox item.
13
+ * This includes creating the DOM and updating the state of any items based
14
+ * on the info object.
15
+ */
16
+ init(): void;
17
+ /**
18
+ * Gets the div for the toolbox item.
19
+ * @return The div for the toolbox item.
20
+ */
21
+ getDiv(): Element | null;
22
+ /**
23
+ * Gets a unique identifier for this toolbox item.
24
+ * @return The ID for the toolbox item.
25
+ */
26
+ getId(): string;
27
+ /**
28
+ * Gets the parent if the toolbox item is nested.
29
+ * @return The parent toolbox item, or null if this toolbox item is not
30
+ * nested.
31
+ */
32
+ getParent(): IToolboxItem | null;
33
+ /**
34
+ * Gets the nested level of the category.
35
+ * @return The nested level of the category.
36
+ * @internal
37
+ */
38
+ getLevel(): number;
39
+ /**
40
+ * Whether the toolbox item is selectable.
41
+ * @return True if the toolbox item can be selected.
42
+ */
43
+ isSelectable(): boolean;
44
+ /**
45
+ * Whether the toolbox item is collapsible.
46
+ * @return True if the toolbox item is collapsible.
47
+ */
48
+ isCollapsible(): boolean;
49
+ /** Dispose of this toolbox item. No-op by default. */
50
+ dispose(): void;
51
+ /**
52
+ * Gets the HTML element that is clickable.
53
+ * @return The HTML element that receives clicks.
54
+ */
55
+ getClickTarget(): Element | null;
56
+ /**
57
+ * Sets whether the category is visible or not.
58
+ * For a category to be visible its parent category must also be expanded.
59
+ * @param isVisible True if category should be visible.
60
+ */
61
+ setVisible_(isVisible: boolean): void;
62
+ }
@@ -0,0 +1,84 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2020 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ /**
8
+ * @fileoverview The interface for a toolbox item.
9
+ */
10
+
11
+ /**
12
+ * The interface for a toolbox item.
13
+ * @namespace Blockly.IToolboxItem
14
+ */
15
+ import * as goog from '../../closure/goog/goog.js';
16
+ goog.declareModuleId('Blockly.IToolboxItem');
17
+
18
+
19
+ /**
20
+ * Interface for an item in the toolbox.
21
+ * @alias Blockly.IToolboxItem
22
+ */
23
+ export interface IToolboxItem {
24
+ /**
25
+ * Initializes the toolbox item.
26
+ * This includes creating the DOM and updating the state of any items based
27
+ * on the info object.
28
+ */
29
+ init(): void;
30
+
31
+ /**
32
+ * Gets the div for the toolbox item.
33
+ * @return The div for the toolbox item.
34
+ */
35
+ getDiv(): Element|null;
36
+
37
+ /**
38
+ * Gets a unique identifier for this toolbox item.
39
+ * @return The ID for the toolbox item.
40
+ */
41
+ getId(): string;
42
+
43
+ /**
44
+ * Gets the parent if the toolbox item is nested.
45
+ * @return The parent toolbox item, or null if this toolbox item is not
46
+ * nested.
47
+ */
48
+ getParent(): IToolboxItem|null;
49
+
50
+ /**
51
+ * Gets the nested level of the category.
52
+ * @return The nested level of the category.
53
+ * @internal
54
+ */
55
+ getLevel(): number;
56
+
57
+ /**
58
+ * Whether the toolbox item is selectable.
59
+ * @return True if the toolbox item can be selected.
60
+ */
61
+ isSelectable(): boolean;
62
+
63
+ /**
64
+ * Whether the toolbox item is collapsible.
65
+ * @return True if the toolbox item is collapsible.
66
+ */
67
+ isCollapsible(): boolean;
68
+
69
+ /** Dispose of this toolbox item. No-op by default. */
70
+ dispose(): void;
71
+
72
+ /**
73
+ * Gets the HTML element that is clickable.
74
+ * @return The HTML element that receives clicks.
75
+ */
76
+ getClickTarget(): Element|null;
77
+
78
+ /**
79
+ * Sets whether the category is visible or not.
80
+ * For a category to be visible its parent category must also be expanded.
81
+ * @param isVisible True if category should be visible.
82
+ */
83
+ setVisible_(isVisible: boolean): void;
84
+ }
@@ -0,0 +1,40 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2021 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /**
7
+ * Number of characters to truncate a collapsed block to.
8
+ * @alias Blockly.internalConstants.COLLAPSE_CHARS
9
+ * @internal
10
+ */
11
+ export declare const COLLAPSE_CHARS = 30;
12
+ /**
13
+ * When dragging a block out of a stack, split the stack in two (true), or drag
14
+ * out the block healing the stack (false).
15
+ * @alias Blockly.internalConstants.DRAG_STACK
16
+ * @internal
17
+ */
18
+ export declare const DRAG_STACK = true;
19
+ /**
20
+ * Lookup table for determining the opposite type of a connection.
21
+ * @alias Blockly.internalConstants.OPPOSITE_TYPE
22
+ * @internal
23
+ */
24
+ export declare const OPPOSITE_TYPE: number[];
25
+ /**
26
+ * String for use in the dropdown created in field_variable.
27
+ * This string indicates that this option in the dropdown is 'Rename
28
+ * variable...' and if selected, should trigger the prompt to rename a variable.
29
+ * @alias Blockly.internalConstants.RENAME_VARIABLE_ID
30
+ * @internal
31
+ */
32
+ export declare const RENAME_VARIABLE_ID = "RENAME_VARIABLE_ID";
33
+ /**
34
+ * String for use in the dropdown created in field_variable.
35
+ * This string indicates that this option in the dropdown is 'Delete the "%1"
36
+ * variable' and if selected, should trigger the prompt to delete a variable.
37
+ * @alias Blockly.internalConstants.DELETE_VARIABLE_ID
38
+ * @internal
39
+ */
40
+ export declare const DELETE_VARIABLE_ID = "DELETE_VARIABLE_ID";
@@ -7,41 +7,40 @@
7
7
  /**
8
8
  * @fileoverview Module that provides constants for use inside Blockly. Do not
9
9
  * use these constants outside of the core library.
10
- * @package
11
10
  */
12
- 'use strict';
13
11
 
14
12
  /**
15
13
  * Module that provides constants for use inside Blockly. Do not
16
14
  * use these constants outside of the core library.
17
15
  * @namespace Blockly.internalConstants
18
16
  */
19
- goog.module('Blockly.internalConstants');
17
+ import * as goog from '../closure/goog/goog.js';
18
+ goog.declareModuleId('Blockly.internalConstants');
20
19
 
21
- const {ConnectionType} = goog.require('Blockly.ConnectionType');
20
+ import {ConnectionType} from './connection_type.js';
22
21
 
23
22
 
24
23
  /**
25
24
  * Number of characters to truncate a collapsed block to.
26
25
  * @alias Blockly.internalConstants.COLLAPSE_CHARS
26
+ * @internal
27
27
  */
28
- const COLLAPSE_CHARS = 30;
29
- exports.COLLAPSE_CHARS = COLLAPSE_CHARS;
28
+ export const COLLAPSE_CHARS = 30;
30
29
 
31
30
  /**
32
31
  * When dragging a block out of a stack, split the stack in two (true), or drag
33
32
  * out the block healing the stack (false).
34
33
  * @alias Blockly.internalConstants.DRAG_STACK
34
+ * @internal
35
35
  */
36
- const DRAG_STACK = true;
37
- exports.DRAG_STACK = DRAG_STACK;
36
+ export const DRAG_STACK = true;
38
37
 
39
38
  /**
40
39
  * Lookup table for determining the opposite type of a connection.
41
- * @const
42
40
  * @alias Blockly.internalConstants.OPPOSITE_TYPE
41
+ * @internal
43
42
  */
44
- const OPPOSITE_TYPE = [];
43
+ export const OPPOSITE_TYPE: number[] = [];
45
44
  OPPOSITE_TYPE[ConnectionType.INPUT_VALUE] = ConnectionType.OUTPUT_VALUE;
46
45
  OPPOSITE_TYPE[ConnectionType.OUTPUT_VALUE] = ConnectionType.INPUT_VALUE;
47
46
  OPPOSITE_TYPE[ConnectionType.NEXT_STATEMENT] =
@@ -49,24 +48,20 @@ OPPOSITE_TYPE[ConnectionType.NEXT_STATEMENT] =
49
48
  OPPOSITE_TYPE[ConnectionType.PREVIOUS_STATEMENT] =
50
49
  ConnectionType.NEXT_STATEMENT;
51
50
 
52
- exports.OPPOSITE_TYPE = OPPOSITE_TYPE;
53
-
54
51
  /**
55
52
  * String for use in the dropdown created in field_variable.
56
53
  * This string indicates that this option in the dropdown is 'Rename
57
54
  * variable...' and if selected, should trigger the prompt to rename a variable.
58
- * @const {string}
59
55
  * @alias Blockly.internalConstants.RENAME_VARIABLE_ID
56
+ * @internal
60
57
  */
61
- const RENAME_VARIABLE_ID = 'RENAME_VARIABLE_ID';
62
- exports.RENAME_VARIABLE_ID = RENAME_VARIABLE_ID;
58
+ export const RENAME_VARIABLE_ID = 'RENAME_VARIABLE_ID';
63
59
 
64
60
  /**
65
61
  * String for use in the dropdown created in field_variable.
66
62
  * This string indicates that this option in the dropdown is 'Delete the "%1"
67
63
  * variable' and if selected, should trigger the prompt to delete a variable.
68
- * @const {string}
69
64
  * @alias Blockly.internalConstants.DELETE_VARIABLE_ID
65
+ * @internal
70
66
  */
71
- const DELETE_VARIABLE_ID = 'DELETE_VARIABLE_ID';
72
- exports.DELETE_VARIABLE_ID = DELETE_VARIABLE_ID;
67
+ export const DELETE_VARIABLE_ID = 'DELETE_VARIABLE_ID';
@@ -0,0 +1,239 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2019 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { Block } from '../block.js';
7
+ import type { Connection } from '../connection.js';
8
+ import type { Field } from '../field.js';
9
+ import type { Input } from '../input.js';
10
+ import type { IASTNodeLocation } from '../interfaces/i_ast_node_location.js';
11
+ import { Coordinate } from '../utils/coordinate.js';
12
+ import type { Workspace } from '../workspace.js';
13
+ /**
14
+ * Class for an AST node.
15
+ * It is recommended that you use one of the createNode methods instead of
16
+ * creating a node directly.
17
+ * @alias Blockly.ASTNode
18
+ */
19
+ export declare class ASTNode {
20
+ /**
21
+ * True to navigate to all fields. False to only navigate to clickable fields.
22
+ */
23
+ static NAVIGATE_ALL_FIELDS: boolean;
24
+ /**
25
+ * The default y offset to use when moving the cursor from a stack to the
26
+ * workspace.
27
+ */
28
+ private static readonly DEFAULT_OFFSET_Y;
29
+ private readonly type_;
30
+ private readonly isConnection_;
31
+ private readonly location_;
32
+ /** The coordinate on the workspace. */
33
+ private wsCoordinate_;
34
+ /**
35
+ * @param type The type of the location.
36
+ * Must be in ASTNode.types.
37
+ * @param location The position in the AST.
38
+ * @param opt_params Optional dictionary of options.
39
+ * @alias Blockly.ASTNode
40
+ */
41
+ constructor(type: string, location: IASTNodeLocation, opt_params?: Params);
42
+ /**
43
+ * Parse the optional parameters.
44
+ * @param params The user specified parameters.
45
+ */
46
+ private processParams_;
47
+ /**
48
+ * Gets the value pointed to by this node.
49
+ * It is the callers responsibility to check the node type to figure out what
50
+ * type of object they get back from this.
51
+ * @return The current field, connection, workspace, or block the cursor is
52
+ * on.
53
+ */
54
+ getLocation(): IASTNodeLocation;
55
+ /**
56
+ * The type of the current location.
57
+ * One of ASTNode.types
58
+ * @return The type of the location.
59
+ */
60
+ getType(): string;
61
+ /**
62
+ * The coordinate on the workspace.
63
+ * @return The workspace coordinate or null if the location is not a
64
+ * workspace.
65
+ */
66
+ getWsCoordinate(): Coordinate;
67
+ /**
68
+ * Whether the node points to a connection.
69
+ * @return [description]
70
+ * @internal
71
+ */
72
+ isConnection(): boolean;
73
+ /**
74
+ * Given an input find the next editable field or an input with a non null
75
+ * connection in the same block. The current location must be an input
76
+ * connection.
77
+ * @return The AST node holding the next field or connection or null if there
78
+ * is no editable field or input connection after the given input.
79
+ */
80
+ private findNextForInput_;
81
+ /**
82
+ * Given a field find the next editable field or an input with a non null
83
+ * connection in the same block. The current location must be a field.
84
+ * @return The AST node pointing to the next field or connection or null if
85
+ * there is no editable field or input connection after the given input.
86
+ */
87
+ private findNextForField_;
88
+ /**
89
+ * Given an input find the previous editable field or an input with a non null
90
+ * connection in the same block. The current location must be an input
91
+ * connection.
92
+ * @return The AST node holding the previous field or connection.
93
+ */
94
+ private findPrevForInput_;
95
+ /**
96
+ * Given a field find the previous editable field or an input with a non null
97
+ * connection in the same block. The current location must be a field.
98
+ * @return The AST node holding the previous input or field.
99
+ */
100
+ private findPrevForField_;
101
+ /**
102
+ * Navigate between stacks of blocks on the workspace.
103
+ * @param forward True to go forward. False to go backwards.
104
+ * @return The first block of the next stack or null if there are no blocks on
105
+ * the workspace.
106
+ */
107
+ private navigateBetweenStacks_;
108
+ /**
109
+ * Finds the top most AST node for a given block.
110
+ * This is either the previous connection, output connection or block
111
+ * depending on what kind of connections the block has.
112
+ * @param block The block that we want to find the top connection on.
113
+ * @return The AST node containing the top connection.
114
+ */
115
+ private findTopASTNodeForBlock_;
116
+ /**
117
+ * Get the AST node pointing to the input that the block is nested under or if
118
+ * the block is not nested then get the stack AST node.
119
+ * @param block The source block of the current location.
120
+ * @return The AST node pointing to the input connection or the top block of
121
+ * the stack this block is in.
122
+ */
123
+ private getOutAstNodeForBlock_;
124
+ /**
125
+ * Find the first editable field or input with a connection on a given block.
126
+ * @param block The source block of the current location.
127
+ * @return An AST node pointing to the first field or input.
128
+ * Null if there are no editable fields or inputs with connections on the
129
+ * block.
130
+ */
131
+ private findFirstFieldOrInput_;
132
+ /**
133
+ * Finds the source block of the location of this node.
134
+ * @return The source block of the location, or null if the node is of type
135
+ * workspace.
136
+ */
137
+ getSourceBlock(): Block | null;
138
+ /**
139
+ * Find the element to the right of the current element in the AST.
140
+ * @return An AST node that wraps the next field, connection, block, or
141
+ * workspace. Or null if there is no node to the right.
142
+ */
143
+ next(): ASTNode | null;
144
+ /**
145
+ * Find the element one level below and all the way to the left of the current
146
+ * location.
147
+ * @return An AST node that wraps the next field, connection, workspace, or
148
+ * block. Or null if there is nothing below this node.
149
+ */
150
+ in(): ASTNode | null;
151
+ /**
152
+ * Find the element to the left of the current element in the AST.
153
+ * @return An AST node that wraps the previous field, connection, workspace or
154
+ * block. Or null if no node exists to the left.
155
+ * null.
156
+ */
157
+ prev(): ASTNode | null;
158
+ /**
159
+ * Find the next element that is one position above and all the way to the
160
+ * left of the current location.
161
+ * @return An AST node that wraps the next field, connection, workspace or
162
+ * block. Or null if we are at the workspace level.
163
+ */
164
+ out(): ASTNode | null;
165
+ /**
166
+ * Whether an AST node of the given type points to a connection.
167
+ * @param type The type to check. One of ASTNode.types.
168
+ * @return True if a node of the given type points to a connection.
169
+ */
170
+ private static isConnectionType_;
171
+ /**
172
+ * Create an AST node pointing to a field.
173
+ * @param field The location of the AST node.
174
+ * @return An AST node pointing to a field.
175
+ */
176
+ static createFieldNode(field: Field): ASTNode | null;
177
+ /**
178
+ * Creates an AST node pointing to a connection. If the connection has a
179
+ * parent input then create an AST node of type input that will hold the
180
+ * connection.
181
+ * @param connection This is the connection the node will point to.
182
+ * @return An AST node pointing to a connection.
183
+ */
184
+ static createConnectionNode(connection: Connection): ASTNode | null;
185
+ /**
186
+ * Creates an AST node pointing to an input. Stores the input connection as
187
+ * the location.
188
+ * @param input The input used to create an AST node.
189
+ * @return An AST node pointing to a input.
190
+ */
191
+ static createInputNode(input: Input): ASTNode | null;
192
+ /**
193
+ * Creates an AST node pointing to a block.
194
+ * @param block The block used to create an AST node.
195
+ * @return An AST node pointing to a block.
196
+ */
197
+ static createBlockNode(block: Block): ASTNode | null;
198
+ /**
199
+ * Create an AST node of type stack. A stack, represented by its top block, is
200
+ * the set of all blocks connected to a top block, including the top
201
+ * block.
202
+ * @param topBlock A top block has no parent and can be found in the list
203
+ * returned by workspace.getTopBlocks().
204
+ * @return An AST node of type stack that points to the top block on the
205
+ * stack.
206
+ */
207
+ static createStackNode(topBlock: Block): ASTNode | null;
208
+ /**
209
+ * Creates an AST node pointing to a workspace.
210
+ * @param workspace The workspace that we are on.
211
+ * @param wsCoordinate The position on the workspace for this node.
212
+ * @return An AST node pointing to a workspace and a position on the
213
+ * workspace.
214
+ */
215
+ static createWorkspaceNode(workspace: Workspace | null, wsCoordinate: Coordinate | null): ASTNode | null;
216
+ /**
217
+ * Creates an AST node for the top position on a block.
218
+ * This is either an output connection, previous connection, or block.
219
+ * @param block The block to find the top most AST node on.
220
+ * @return The AST node holding the top most position on the block.
221
+ */
222
+ static createTopNode(block: Block): ASTNode | null;
223
+ }
224
+ export declare namespace ASTNode {
225
+ interface Params {
226
+ wsCoordinate: Coordinate;
227
+ }
228
+ enum types {
229
+ FIELD = "field",
230
+ BLOCK = "block",
231
+ INPUT = "input",
232
+ OUTPUT = "output",
233
+ NEXT = "next",
234
+ PREVIOUS = "previous",
235
+ STACK = "stack",
236
+ WORKSPACE = "workspace"
237
+ }
238
+ }
239
+ export declare type Params = ASTNode.Params;