blockly 8.0.4 → 8.0.5-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (858) hide show
  1. package/blockly.min.js +2421 -2688
  2. package/blockly_compressed.js +1499 -1994
  3. package/blockly_compressed.js.map +1 -1
  4. package/blocks/blocks.js +3 -2
  5. package/blocks/colour.js +3 -1
  6. package/blocks/lists.js +94 -22
  7. package/blocks/logic.js +14 -6
  8. package/blocks/loops.js +5 -3
  9. package/blocks/math.js +3 -1
  10. package/blocks/procedures.js +3 -1
  11. package/blocks/text.js +14 -6
  12. package/blocks/variables.js +3 -1
  13. package/blocks/variables_dynamic.js +3 -1
  14. package/blocks.d.ts +0 -2
  15. package/blocks_compressed.js +189 -171
  16. package/blocks_compressed.js.map +1 -1
  17. package/closure/goog/base.d.ts +1 -0
  18. package/closure/goog/base_minimal.d.ts +18 -0
  19. package/closure/goog/goog.d.ts +25 -0
  20. package/core/any_aliases.d.ts +1 -0
  21. package/core/any_aliases.ts +1 -0
  22. package/core/block.d.ts +779 -0
  23. package/core/{block.js → block.ts} +610 -719
  24. package/core/block_animations.d.ts +33 -0
  25. package/core/{block_animations.js → block_animations.ts} +75 -79
  26. package/core/block_drag_surface.d.ts +111 -0
  27. package/core/{block_drag_surface.js → block_drag_surface.ts} +85 -117
  28. package/core/block_dragger.d.ts +143 -0
  29. package/core/{block_dragger.js → block_dragger.ts} +139 -176
  30. package/core/block_svg.d.ts +588 -0
  31. package/core/{block_svg.js → block_svg.ts} +494 -630
  32. package/core/blockly.d.ts +562 -0
  33. package/core/blockly.js +1 -1
  34. package/core/blockly.ts +749 -0
  35. package/core/blockly_options.d.ts +69 -0
  36. package/core/blockly_options.ts +81 -0
  37. package/core/blocks.d.ts +17 -0
  38. package/core/{blocks.js → blocks.ts} +4 -8
  39. package/core/browser_events.d.ts +85 -0
  40. package/core/{browser_events.js → browser_events.ts} +98 -93
  41. package/core/bubble.d.ts +279 -0
  42. package/core/{bubble.js → bubble.ts} +277 -370
  43. package/core/bubble_dragger.d.ts +73 -0
  44. package/core/bubble_dragger.ts +229 -0
  45. package/core/bump_objects.d.ts +34 -0
  46. package/core/{bump_objects.js → bump_objects.ts} +54 -52
  47. package/core/clipboard.d.ts +42 -0
  48. package/core/clipboard.ts +91 -0
  49. package/core/comment.d.ts +113 -0
  50. package/core/{comment.js → comment.ts} +135 -185
  51. package/core/common.d.ts +129 -0
  52. package/core/{common.js → common.ts} +105 -82
  53. package/core/component_manager.d.ts +91 -0
  54. package/core/component_manager.ts +211 -0
  55. package/core/config.d.ts +23 -0
  56. package/core/{config.js → config.ts} +12 -19
  57. package/core/connection.d.ts +232 -0
  58. package/core/{connection.js → connection.ts} +187 -237
  59. package/core/connection_checker.d.ts +78 -0
  60. package/core/{connection_checker.js → connection_checker.ts} +66 -77
  61. package/core/connection_db.d.ts +91 -0
  62. package/core/{connection_db.js → connection_db.ts} +62 -87
  63. package/core/connection_type.d.ts +15 -0
  64. package/core/{connection_type.js → connection_type.ts} +8 -12
  65. package/core/constants.d.ts +15 -0
  66. package/core/{constants.js → constants.ts} +4 -8
  67. package/core/contextmenu.d.ts +80 -0
  68. package/core/{contextmenu.js → contextmenu.ts} +118 -153
  69. package/core/contextmenu_items.d.ts +77 -0
  70. package/core/contextmenu_items.ts +576 -0
  71. package/core/contextmenu_registry.d.ts +105 -0
  72. package/core/contextmenu_registry.ts +179 -0
  73. package/core/css.d.ts +24 -0
  74. package/core/{css.js → css.ts} +16 -24
  75. package/core/delete_area.d.ts +47 -0
  76. package/core/delete_area.ts +82 -0
  77. package/core/dialog.d.ts +61 -0
  78. package/core/dialog.ts +127 -0
  79. package/core/drag_target.d.ts +63 -0
  80. package/core/drag_target.ts +94 -0
  81. package/core/dropdowndiv.d.ts +155 -0
  82. package/core/{dropdowndiv.js → dropdowndiv.ts} +262 -333
  83. package/core/events/events.d.ts +102 -0
  84. package/core/events/events.ts +123 -0
  85. package/core/events/events_abstract.d.ts +51 -0
  86. package/core/events/events_abstract.ts +112 -0
  87. package/core/events/events_block_base.d.ts +31 -0
  88. package/core/events/events_block_base.ts +65 -0
  89. package/core/events/events_block_change.d.ts +55 -0
  90. package/core/events/{events_block_change.js → events_block_change.ts} +45 -48
  91. package/core/events/events_block_create.d.ts +35 -0
  92. package/core/events/{events_block_create.js → events_block_create.ts} +30 -35
  93. package/core/events/events_block_delete.d.ts +36 -0
  94. package/core/events/{events_block_delete.js → events_block_delete.ts} +34 -39
  95. package/core/events/events_block_drag.d.ts +36 -0
  96. package/core/events/events_block_drag.ts +82 -0
  97. package/core/events/events_block_move.d.ts +51 -0
  98. package/core/events/{events_block_move.js → events_block_move.ts} +54 -50
  99. package/core/events/events_bubble_open.d.ts +35 -0
  100. package/core/events/events_bubble_open.ts +82 -0
  101. package/core/events/events_click.d.ts +36 -0
  102. package/core/events/{events_click.js → events_click.ts} +27 -30
  103. package/core/events/events_comment_base.d.ts +39 -0
  104. package/core/events/events_comment_base.ts +107 -0
  105. package/core/events/events_comment_change.d.ts +43 -0
  106. package/core/events/{events_comment_change.js → events_comment_change.ts} +31 -28
  107. package/core/events/events_comment_create.d.ts +35 -0
  108. package/core/events/{events_comment_create.js → events_comment_create.ts} +24 -26
  109. package/core/events/events_comment_delete.d.ts +35 -0
  110. package/core/events/{events_comment_delete.js → events_comment_delete.ts} +20 -24
  111. package/core/events/events_comment_move.d.ts +55 -0
  112. package/core/events/{events_comment_move.js → events_comment_move.ts} +39 -42
  113. package/core/events/events_marker_move.d.ts +40 -0
  114. package/core/events/events_marker_move.ts +99 -0
  115. package/core/events/events_selected.d.ts +34 -0
  116. package/core/events/events_selected.ts +78 -0
  117. package/core/events/events_theme_change.d.ts +30 -0
  118. package/core/events/{events_theme_change.js → events_theme_change.ts} +19 -24
  119. package/core/events/events_toolbox_item_select.d.ts +34 -0
  120. package/core/events/events_toolbox_item_select.ts +79 -0
  121. package/core/events/events_trashcan_open.d.ts +31 -0
  122. package/core/events/events_trashcan_open.ts +68 -0
  123. package/core/events/events_ui.d.ts +37 -0
  124. package/core/events/{events_ui.js → events_ui.ts} +27 -26
  125. package/core/events/events_ui_base.d.ts +26 -0
  126. package/core/events/{events_ui_base.js → events_ui_base.ts} +17 -26
  127. package/core/events/events_var_base.d.ts +31 -0
  128. package/core/events/events_var_base.ts +65 -0
  129. package/core/events/events_var_create.d.ts +35 -0
  130. package/core/events/{events_var_create.js → events_var_create.ts} +24 -25
  131. package/core/events/events_var_delete.d.ts +35 -0
  132. package/core/events/{events_var_delete.js → events_var_delete.ts} +24 -25
  133. package/core/events/events_var_rename.d.ts +36 -0
  134. package/core/events/{events_var_rename.js → events_var_rename.ts} +25 -26
  135. package/core/events/events_viewport.d.ts +39 -0
  136. package/core/events/events_viewport.ts +100 -0
  137. package/core/events/utils.d.ts +272 -0
  138. package/core/events/{utils.js → utils.ts} +148 -219
  139. package/core/events/workspace_events.d.ts +36 -0
  140. package/core/events/workspace_events.ts +86 -0
  141. package/core/extensions.d.ts +107 -0
  142. package/core/{extensions.js → extensions.ts} +153 -172
  143. package/core/field.d.ts +534 -0
  144. package/core/{field.js → field.ts} +413 -489
  145. package/core/field_angle.d.ts +176 -0
  146. package/core/field_angle.ts +563 -0
  147. package/core/field_checkbox.d.ts +124 -0
  148. package/core/field_checkbox.ts +243 -0
  149. package/core/field_colour.d.ts +200 -0
  150. package/core/field_colour.ts +632 -0
  151. package/core/field_dropdown.d.ts +222 -0
  152. package/core/{field_dropdown.js → field_dropdown.ts} +277 -299
  153. package/core/field_image.d.ts +134 -0
  154. package/core/field_image.ts +282 -0
  155. package/core/field_label.d.ts +71 -0
  156. package/core/field_label.ts +152 -0
  157. package/core/field_label_serializable.d.ts +42 -0
  158. package/core/field_label_serializable.ts +76 -0
  159. package/core/field_multilineinput.d.ts +146 -0
  160. package/core/{field_multilineinput.js → field_multilineinput.ts} +166 -163
  161. package/core/field_number.d.ts +156 -0
  162. package/core/{field_number.js → field_number.ts} +110 -123
  163. package/core/field_registry.d.ts +45 -0
  164. package/core/{field_registry.js → field_registry.ts} +37 -30
  165. package/core/field_textinput.d.ts +219 -0
  166. package/core/field_textinput.ts +591 -0
  167. package/core/field_variable.d.ts +217 -0
  168. package/core/{field_variable.js → field_variable.ts} +174 -187
  169. package/core/flyout_base.d.ts +459 -0
  170. package/core/{flyout_base.js → flyout_base.ts} +429 -518
  171. package/core/flyout_button.d.ts +81 -0
  172. package/core/flyout_button.ts +292 -0
  173. package/core/flyout_horizontal.d.ts +82 -0
  174. package/core/{flyout_horizontal.js → flyout_horizontal.ts} +97 -107
  175. package/core/flyout_metrics_manager.d.ts +40 -0
  176. package/core/{flyout_metrics_manager.js → flyout_metrics_manager.ts} +22 -34
  177. package/core/flyout_vertical.d.ts +83 -0
  178. package/core/{flyout_vertical.js → flyout_vertical.ts} +106 -117
  179. package/core/generator.d.ts +205 -0
  180. package/core/{generator.js → generator.ts} +168 -193
  181. package/core/gesture.d.ts +357 -0
  182. package/core/{gesture.js → gesture.ts} +289 -369
  183. package/core/grid.d.ts +83 -0
  184. package/core/grid.ts +192 -0
  185. package/core/icon.d.ts +78 -0
  186. package/core/icon.ts +189 -0
  187. package/core/inject.d.ts +15 -0
  188. package/core/{inject.js → inject.ts} +101 -100
  189. package/core/input.d.ts +128 -0
  190. package/core/input.ts +309 -0
  191. package/core/input_types.d.ts +14 -0
  192. package/core/{input_types.js → input_types.ts} +8 -12
  193. package/core/insertion_marker_manager.d.ts +212 -0
  194. package/core/{insertion_marker_manager.js → insertion_marker_manager.ts} +234 -236
  195. package/core/interfaces/i_ast_node_location.d.ts +11 -0
  196. package/core/interfaces/{i_ast_node_location.js → i_ast_node_location.ts} +4 -7
  197. package/core/interfaces/i_ast_node_location_svg.d.ts +22 -0
  198. package/core/interfaces/i_ast_node_location_svg.ts +37 -0
  199. package/core/interfaces/i_ast_node_location_with_block.d.ts +18 -0
  200. package/core/interfaces/i_ast_node_location_with_block.ts +38 -0
  201. package/core/interfaces/i_autohideable.d.ts +18 -0
  202. package/core/interfaces/i_autohideable.ts +34 -0
  203. package/core/interfaces/i_block_dragger.d.ts +43 -0
  204. package/core/interfaces/i_block_dragger.ts +67 -0
  205. package/core/interfaces/i_bounded_element.d.ts +24 -0
  206. package/core/interfaces/i_bounded_element.ts +42 -0
  207. package/core/interfaces/i_bubble.d.ts +59 -0
  208. package/core/interfaces/i_bubble.ts +88 -0
  209. package/core/interfaces/i_collapsible_toolbox_item.d.ts +26 -0
  210. package/core/interfaces/i_collapsible_toolbox_item.ts +47 -0
  211. package/core/interfaces/i_component.d.ts +17 -0
  212. package/core/interfaces/{i_component.js → i_component.ts} +9 -14
  213. package/core/interfaces/i_connection_checker.d.ts +69 -0
  214. package/core/interfaces/i_connection_checker.ts +102 -0
  215. package/core/interfaces/i_contextmenu.d.ts +13 -0
  216. package/core/interfaces/i_contextmenu.ts +26 -0
  217. package/core/interfaces/i_copyable.d.ts +24 -0
  218. package/core/interfaces/i_copyable.ts +40 -0
  219. package/core/interfaces/i_deletable.d.ts +16 -0
  220. package/core/interfaces/{i_deletable.js → i_deletable.ts} +9 -13
  221. package/core/interfaces/i_delete_area.d.ts +25 -0
  222. package/core/interfaces/i_delete_area.ts +46 -0
  223. package/core/interfaces/i_drag_target.d.ts +53 -0
  224. package/core/interfaces/i_drag_target.ts +84 -0
  225. package/core/interfaces/i_draggable.d.ts +12 -0
  226. package/core/interfaces/{i_draggable.js → i_draggable.ts} +4 -10
  227. package/core/interfaces/i_flyout.d.ts +134 -0
  228. package/core/interfaces/i_flyout.ts +186 -0
  229. package/core/interfaces/i_keyboard_accessible.d.ts +18 -0
  230. package/core/interfaces/i_keyboard_accessible.ts +35 -0
  231. package/core/interfaces/i_metrics_manager.d.ts +117 -0
  232. package/core/interfaces/i_metrics_manager.ts +151 -0
  233. package/core/interfaces/i_movable.d.ts +16 -0
  234. package/core/interfaces/{i_movable.js → i_movable.ts} +9 -13
  235. package/core/interfaces/i_positionable.d.ts +27 -0
  236. package/core/interfaces/i_positionable.ts +50 -0
  237. package/core/interfaces/i_registrable.d.ts +11 -0
  238. package/core/interfaces/{i_registrable.js → i_registrable.ts} +3 -7
  239. package/core/interfaces/i_registrable_field.d.ts +17 -0
  240. package/core/interfaces/{i_registrable_field.js → i_registrable_field.ts} +8 -16
  241. package/core/interfaces/i_selectable.d.ts +18 -0
  242. package/core/interfaces/i_selectable.ts +34 -0
  243. package/core/interfaces/i_selectable_toolbox_item.d.ts +42 -0
  244. package/core/interfaces/i_selectable_toolbox_item.ts +64 -0
  245. package/core/interfaces/i_serializer.d.ts +42 -0
  246. package/core/interfaces/i_serializer.ts +65 -0
  247. package/core/interfaces/i_styleable.d.ts +21 -0
  248. package/core/interfaces/i_styleable.ts +35 -0
  249. package/core/interfaces/i_toolbox.d.ts +85 -0
  250. package/core/interfaces/i_toolbox.ts +127 -0
  251. package/core/interfaces/i_toolbox_item.d.ts +62 -0
  252. package/core/interfaces/i_toolbox_item.ts +84 -0
  253. package/core/internal_constants.d.ts +40 -0
  254. package/core/{internal_constants.js → internal_constants.ts} +13 -18
  255. package/core/keyboard_nav/ast_node.d.ts +239 -0
  256. package/core/keyboard_nav/{ast_node.js → ast_node.ts} +207 -231
  257. package/core/keyboard_nav/basic_cursor.d.ts +88 -0
  258. package/core/keyboard_nav/{basic_cursor.js → basic_cursor.ts} +55 -66
  259. package/core/keyboard_nav/cursor.d.ts +41 -0
  260. package/core/keyboard_nav/{cursor.js → cursor.ts} +25 -35
  261. package/core/keyboard_nav/marker.d.ts +58 -0
  262. package/core/keyboard_nav/{marker.js → marker.ts} +36 -55
  263. package/core/keyboard_nav/tab_navigate_cursor.d.ts +19 -0
  264. package/core/keyboard_nav/{tab_navigate_cursor.js → tab_navigate_cursor.ts} +11 -15
  265. package/core/main.d.ts +11 -0
  266. package/core/main.js +303 -0
  267. package/core/marker_manager.d.ts +85 -0
  268. package/core/marker_manager.ts +181 -0
  269. package/core/menu.d.ts +149 -0
  270. package/core/{menu.js → menu.ts} +141 -174
  271. package/core/menuitem.d.ts +118 -0
  272. package/core/menuitem.ts +240 -0
  273. package/core/metrics_manager.d.ts +201 -0
  274. package/core/{metrics_manager.js → metrics_manager.ts} +117 -156
  275. package/core/msg.d.ts +9 -0
  276. package/core/{msg.js → msg.ts} +4 -8
  277. package/core/mutator.d.ts +128 -0
  278. package/core/{mutator.js → mutator.ts} +196 -211
  279. package/core/names.d.ts +124 -0
  280. package/core/names.ts +267 -0
  281. package/core/options.d.ts +137 -0
  282. package/core/{options.js → options.ts} +147 -173
  283. package/core/positionable_helpers.d.ts +88 -0
  284. package/core/{positionable_helpers.js → positionable_helpers.ts} +63 -70
  285. package/core/procedures.d.ts +108 -0
  286. package/core/{procedures.js → procedures.ts} +143 -152
  287. package/core/registry.d.ts +137 -0
  288. package/core/registry.ts +339 -0
  289. package/core/rendered_connection.d.ts +191 -0
  290. package/core/{rendered_connection.js → rendered_connection.ts} +164 -184
  291. package/core/renderers/common/block_rendering.d.ts +114 -0
  292. package/core/renderers/common/block_rendering.ts +164 -0
  293. package/core/renderers/common/constants.d.ts +458 -0
  294. package/core/renderers/common/constants.ts +1124 -0
  295. package/core/renderers/common/debug.d.ts +28 -0
  296. package/core/renderers/common/{debug.js → debug.ts} +14 -20
  297. package/core/renderers/common/debugger.d.ts +120 -0
  298. package/core/renderers/common/{debugger.js → debugger.ts} +100 -124
  299. package/core/renderers/common/drawer.d.ts +132 -0
  300. package/core/renderers/common/{drawer.js → drawer.ts} +112 -137
  301. package/core/renderers/common/i_path_object.d.ts +117 -0
  302. package/core/renderers/common/i_path_object.ts +161 -0
  303. package/core/renderers/common/info.d.ts +194 -0
  304. package/core/renderers/common/{info.js → info.ts} +165 -222
  305. package/core/renderers/common/marker_svg.d.ts +220 -0
  306. package/core/renderers/common/marker_svg.ts +680 -0
  307. package/core/renderers/common/path_object.d.ts +146 -0
  308. package/core/renderers/common/path_object.ts +272 -0
  309. package/core/renderers/common/renderer.d.ts +157 -0
  310. package/core/renderers/common/renderer.ts +271 -0
  311. package/core/renderers/geras/constants.d.ts +23 -0
  312. package/core/renderers/geras/constants.ts +61 -0
  313. package/core/renderers/geras/drawer.d.ts +43 -0
  314. package/core/renderers/geras/{drawer.js → drawer.ts} +40 -84
  315. package/core/renderers/geras/geras.d.ts +11 -0
  316. package/core/renderers/geras/geras.ts +37 -0
  317. package/core/renderers/geras/highlight_constants.d.ts +108 -0
  318. package/core/renderers/geras/{highlight_constants.js → highlight_constants.ts} +107 -69
  319. package/core/renderers/geras/highlighter.d.ts +98 -0
  320. package/core/renderers/geras/{highlighter.js → highlighter.ts} +81 -86
  321. package/core/renderers/geras/info.d.ts +45 -0
  322. package/core/renderers/geras/{info.js → info.ts} +61 -99
  323. package/core/renderers/geras/measurables/inline_input.d.ts +23 -0
  324. package/core/renderers/geras/measurables/inline_input.ts +51 -0
  325. package/core/renderers/geras/measurables/statement_input.d.ts +23 -0
  326. package/core/renderers/geras/measurables/statement_input.ts +50 -0
  327. package/core/renderers/geras/path_object.d.ts +47 -0
  328. package/core/renderers/geras/{path_object.js → path_object.ts} +46 -74
  329. package/core/renderers/geras/renderer.d.ts +69 -0
  330. package/core/renderers/geras/renderer.ts +126 -0
  331. package/core/renderers/measurables/base.d.ts +27 -0
  332. package/core/renderers/measurables/base.ts +53 -0
  333. package/core/renderers/measurables/bottom_row.d.ts +61 -0
  334. package/core/renderers/measurables/bottom_row.ts +120 -0
  335. package/core/renderers/measurables/connection.d.ts +25 -0
  336. package/core/renderers/measurables/connection.ts +52 -0
  337. package/core/renderers/measurables/external_value_input.d.ts +27 -0
  338. package/core/renderers/measurables/external_value_input.ts +65 -0
  339. package/core/renderers/measurables/field.d.ts +30 -0
  340. package/core/renderers/measurables/field.ts +63 -0
  341. package/core/renderers/measurables/hat.d.ts +21 -0
  342. package/core/renderers/measurables/{hat.js → hat.ts} +12 -14
  343. package/core/renderers/measurables/icon.d.ts +26 -0
  344. package/core/renderers/measurables/{icon.js → icon.ts} +14 -18
  345. package/core/renderers/measurables/in_row_spacer.d.ts +21 -0
  346. package/core/renderers/measurables/in_row_spacer.ts +44 -0
  347. package/core/renderers/measurables/inline_input.d.ts +24 -0
  348. package/core/renderers/measurables/{inline_input.js → inline_input.ts} +22 -26
  349. package/core/renderers/measurables/input_connection.d.ts +29 -0
  350. package/core/renderers/measurables/input_connection.ts +66 -0
  351. package/core/renderers/measurables/input_row.d.ts +30 -0
  352. package/core/renderers/measurables/{input_row.js → input_row.ts} +24 -31
  353. package/core/renderers/measurables/jagged_edge.d.ts +20 -0
  354. package/core/renderers/measurables/{jagged_edge.js → jagged_edge.ts} +10 -13
  355. package/core/renderers/measurables/next_connection.d.ts +23 -0
  356. package/core/renderers/measurables/next_connection.ts +47 -0
  357. package/core/renderers/measurables/output_connection.d.ts +26 -0
  358. package/core/renderers/measurables/output_connection.ts +56 -0
  359. package/core/renderers/measurables/previous_connection.d.ts +23 -0
  360. package/core/renderers/measurables/previous_connection.ts +47 -0
  361. package/core/renderers/measurables/round_corner.d.ts +21 -0
  362. package/core/renderers/measurables/round_corner.ts +49 -0
  363. package/core/renderers/measurables/row.d.ts +141 -0
  364. package/core/renderers/measurables/row.ts +225 -0
  365. package/core/renderers/measurables/spacer_row.d.ts +29 -0
  366. package/core/renderers/measurables/spacer_row.ts +55 -0
  367. package/core/renderers/measurables/square_corner.d.ts +21 -0
  368. package/core/renderers/measurables/square_corner.ts +47 -0
  369. package/core/renderers/measurables/statement_input.d.ts +22 -0
  370. package/core/renderers/measurables/{statement_input.js → statement_input.ts} +14 -18
  371. package/core/renderers/measurables/top_row.d.ts +56 -0
  372. package/core/renderers/measurables/top_row.ts +122 -0
  373. package/core/renderers/measurables/types.d.ts +235 -0
  374. package/core/renderers/measurables/types.ts +332 -0
  375. package/core/renderers/minimalist/constants.d.ts +14 -0
  376. package/core/renderers/minimalist/{constants.js → constants.ts} +5 -10
  377. package/core/renderers/minimalist/drawer.d.ts +21 -0
  378. package/core/renderers/minimalist/drawer.ts +38 -0
  379. package/core/renderers/minimalist/info.d.ts +30 -0
  380. package/core/renderers/minimalist/info.ts +52 -0
  381. package/core/renderers/minimalist/minimalist.d.ts +6 -0
  382. package/core/renderers/minimalist/minimalist.ts +22 -0
  383. package/core/renderers/minimalist/renderer.d.ts +41 -0
  384. package/core/renderers/minimalist/renderer.ts +71 -0
  385. package/core/renderers/thrasos/info.d.ts +40 -0
  386. package/core/renderers/thrasos/{info.js → info.ts} +66 -67
  387. package/core/renderers/thrasos/renderer.d.ts +25 -0
  388. package/core/renderers/thrasos/renderer.ts +48 -0
  389. package/core/renderers/thrasos/thrasos.d.ts +4 -0
  390. package/core/renderers/thrasos/thrasos.ts +20 -0
  391. package/core/renderers/zelos/constants.d.ts +186 -0
  392. package/core/renderers/zelos/{constants.js → constants.ts} +294 -441
  393. package/core/renderers/zelos/drawer.d.ts +47 -0
  394. package/core/renderers/zelos/{drawer.js → drawer.ts} +73 -95
  395. package/core/renderers/zelos/info.d.ts +88 -0
  396. package/core/renderers/zelos/{info.js → info.ts} +111 -142
  397. package/core/renderers/zelos/marker_svg.d.ts +46 -0
  398. package/core/renderers/zelos/marker_svg.ts +151 -0
  399. package/core/renderers/zelos/measurables/bottom_row.d.ts +27 -0
  400. package/core/renderers/zelos/measurables/bottom_row.ts +53 -0
  401. package/core/renderers/zelos/measurables/inputs.d.ts +23 -0
  402. package/core/renderers/zelos/measurables/{inputs.js → inputs.ts} +14 -15
  403. package/core/renderers/zelos/measurables/row_elements.d.ts +21 -0
  404. package/core/renderers/zelos/measurables/row_elements.ts +45 -0
  405. package/core/renderers/zelos/measurables/top_row.d.ts +29 -0
  406. package/core/renderers/zelos/measurables/{top_row.js → top_row.ts} +14 -27
  407. package/core/renderers/zelos/path_object.d.ts +77 -0
  408. package/core/renderers/zelos/path_object.ts +215 -0
  409. package/core/renderers/zelos/renderer.d.ts +74 -0
  410. package/core/renderers/zelos/renderer.ts +142 -0
  411. package/core/renderers/zelos/zelos.d.ts +12 -0
  412. package/core/renderers/zelos/zelos.ts +39 -0
  413. package/core/scrollbar.d.ts +277 -0
  414. package/core/{scrollbar.js → scrollbar.ts} +307 -328
  415. package/core/scrollbar_pair.d.ts +105 -0
  416. package/core/{scrollbar_pair.js → scrollbar_pair.ts} +71 -79
  417. package/core/serialization/blocks.d.ts +98 -0
  418. package/core/serialization/{blocks.js → blocks.ts} +229 -228
  419. package/core/serialization/exceptions.d.ts +73 -0
  420. package/core/serialization/exceptions.ts +98 -0
  421. package/core/serialization/priorities.d.ts +15 -0
  422. package/core/serialization/{priorities.js → priorities.ts} +4 -10
  423. package/core/serialization/registry.d.ts +20 -0
  424. package/core/serialization/{registry.js → registry.ts} +11 -13
  425. package/core/serialization/variables.d.ts +14 -0
  426. package/core/serialization/{variables.js → variables.ts} +30 -32
  427. package/core/serialization/workspaces.d.ts +28 -0
  428. package/core/serialization/{workspaces.js → workspaces.ts} +30 -27
  429. package/core/shortcut_items.d.ts +61 -0
  430. package/core/{shortcut_items.js → shortcut_items.ts} +121 -157
  431. package/core/shortcut_registry.d.ts +151 -0
  432. package/core/shortcut_registry.ts +355 -0
  433. package/core/sprites.d.ts +19 -0
  434. package/core/{sprites.js → sprites.ts} +4 -6
  435. package/core/theme/classic.d.ts +12 -0
  436. package/core/theme/{classic.js → classic.ts} +5 -7
  437. package/core/theme/themes.d.ts +8 -0
  438. package/core/theme/themes.ts +22 -0
  439. package/core/theme/zelos.d.ts +11 -0
  440. package/core/theme/{zelos.js → zelos.ts} +4 -7
  441. package/core/theme.d.ts +142 -0
  442. package/core/theme.ts +221 -0
  443. package/core/theme_manager.d.ts +81 -0
  444. package/core/theme_manager.ts +186 -0
  445. package/core/toolbox/category.d.ts +239 -0
  446. package/core/toolbox/category.ts +679 -0
  447. package/core/toolbox/collapsible_category.d.ts +91 -0
  448. package/core/toolbox/collapsible_category.ts +273 -0
  449. package/core/toolbox/separator.d.ts +39 -0
  450. package/core/toolbox/separator.ts +105 -0
  451. package/core/toolbox/toolbox.d.ts +352 -0
  452. package/core/toolbox/{toolbox.js → toolbox.ts} +316 -432
  453. package/core/toolbox/toolbox_item.d.ts +85 -0
  454. package/core/toolbox/toolbox_item.ts +147 -0
  455. package/core/tooltip.d.ts +126 -0
  456. package/core/{tooltip.js → tooltip.ts} +136 -214
  457. package/core/touch.d.ts +121 -0
  458. package/core/touch.ts +306 -0
  459. package/core/touch_gesture.d.ts +115 -0
  460. package/core/{touch_gesture.js → touch_gesture.ts} +87 -125
  461. package/core/trashcan.d.ts +195 -0
  462. package/core/{trashcan.js → trashcan.ts} +226 -312
  463. package/core/utils/aria.d.ts +67 -0
  464. package/core/utils/{aria.js → aria.ts} +47 -61
  465. package/core/utils/array.d.ts +14 -0
  466. package/core/utils/{array.js → array.ts} +10 -12
  467. package/core/utils/colour.d.ts +103 -0
  468. package/core/utils/{colour.js → colour.ts} +60 -72
  469. package/core/utils/coordinate.d.ts +72 -0
  470. package/core/utils/coordinate.ts +124 -0
  471. package/core/utils/deprecation.d.ts +17 -0
  472. package/core/utils/{deprecation.js → deprecation.ts} +11 -11
  473. package/core/utils/dom.d.ts +165 -0
  474. package/core/utils/{dom.js → dom.ts} +125 -147
  475. package/core/utils/idgenerator.d.ts +25 -0
  476. package/core/utils/{idgenerator.js → idgenerator.ts} +15 -18
  477. package/core/utils/keycodes.d.ts +137 -0
  478. package/core/utils/keycodes.ts +169 -0
  479. package/core/utils/math.d.ts +30 -0
  480. package/core/utils/{math.js → math.ts} +17 -19
  481. package/core/utils/metrics.d.ts +64 -0
  482. package/core/utils/metrics.ts +97 -0
  483. package/core/utils/object.d.ts +35 -0
  484. package/core/utils/{object.js → object.ts} +30 -26
  485. package/core/utils/parsing.d.ts +50 -0
  486. package/core/utils/{parsing.js → parsing.ts} +50 -50
  487. package/core/utils/rect.d.ts +38 -0
  488. package/core/utils/{rect.js → rect.ts} +18 -31
  489. package/core/utils/sentinel.d.ts +11 -0
  490. package/core/utils/{sentinel.js → sentinel.ts} +3 -5
  491. package/core/utils/size.d.ts +27 -0
  492. package/core/utils/{size.js → size.ts} +12 -26
  493. package/core/utils/string.d.ts +55 -0
  494. package/core/utils/{string.js → string.ts} +64 -61
  495. package/core/utils/style.d.ts +127 -0
  496. package/core/utils/{style.js → style.ts} +102 -92
  497. package/core/utils/svg.d.ts +68 -0
  498. package/core/utils/svg.ts +88 -0
  499. package/core/utils/svg_math.d.ts +70 -0
  500. package/core/utils/{svg_math.js → svg_math.ts} +72 -71
  501. package/core/utils/svg_paths.d.ts +101 -0
  502. package/core/utils/{svg_paths.js → svg_paths.ts} +56 -65
  503. package/core/utils/toolbox.d.ts +193 -0
  504. package/core/utils/toolbox.ts +433 -0
  505. package/core/utils/useragent.d.ts +33 -0
  506. package/core/utils/useragent.ts +135 -0
  507. package/core/utils/xml.d.ts +52 -0
  508. package/core/utils/{xml.js → xml.ts} +26 -36
  509. package/core/utils.d.ts +217 -0
  510. package/core/utils.ts +428 -0
  511. package/core/variable_map.d.ts +141 -0
  512. package/core/{variable_map.js → variable_map.ts} +131 -149
  513. package/core/variable_model.d.ts +40 -0
  514. package/core/variable_model.ts +82 -0
  515. package/core/variables.d.ts +181 -0
  516. package/core/{variables.js → variables.ts} +206 -188
  517. package/core/variables_dynamic.d.ts +38 -0
  518. package/core/{variables_dynamic.js → variables_dynamic.ts} +47 -43
  519. package/core/warning.d.ts +50 -0
  520. package/core/{warning.js → warning.ts} +52 -66
  521. package/core/widgetdiv.d.ts +69 -0
  522. package/core/widgetdiv.ts +257 -0
  523. package/core/workspace.d.ts +386 -0
  524. package/core/workspace.ts +801 -0
  525. package/core/workspace_audio.d.ts +47 -0
  526. package/core/{workspace_audio.js → workspace_audio.ts} +47 -60
  527. package/core/workspace_comment.d.ts +170 -0
  528. package/core/workspace_comment.ts +398 -0
  529. package/core/workspace_comment_svg.d.ts +329 -0
  530. package/core/{workspace_comment_svg.js → workspace_comment_svg.ts} +347 -444
  531. package/core/workspace_drag_surface_svg.d.ts +68 -0
  532. package/core/{workspace_drag_surface_svg.js → workspace_drag_surface_svg.ts} +75 -82
  533. package/core/workspace_dragger.d.ts +48 -0
  534. package/core/workspace_dragger.ts +104 -0
  535. package/core/workspace_svg.d.ts +920 -0
  536. package/core/{workspace_svg.js → workspace_svg.ts} +855 -935
  537. package/core/xml.d.ts +117 -0
  538. package/core/{xml.js → xml.ts} +306 -326
  539. package/core/zoom_controls.d.ts +130 -0
  540. package/core/{zoom_controls.js → zoom_controls.ts} +185 -251
  541. package/core.d.ts +1 -3
  542. package/core.js +1 -2
  543. package/dart.d.ts +0 -3
  544. package/dart_compressed.js +387 -99
  545. package/dart_compressed.js.map +1 -1
  546. package/generators/dart/all.js +2 -0
  547. package/generators/dart/colour.js +1 -1
  548. package/generators/dart/lists.js +1 -1
  549. package/generators/dart/logic.js +1 -1
  550. package/generators/dart/loops.js +1 -1
  551. package/generators/dart/math.js +1 -1
  552. package/generators/dart/procedures.js +1 -1
  553. package/generators/dart/text.js +1 -1
  554. package/generators/dart/variables.js +1 -1
  555. package/generators/dart/variables_dynamic.js +1 -1
  556. package/generators/dart.js +1 -2
  557. package/generators/javascript/all.js +2 -0
  558. package/generators/javascript/colour.js +1 -1
  559. package/generators/javascript/lists.js +1 -1
  560. package/generators/javascript/logic.js +1 -1
  561. package/generators/javascript/loops.js +1 -1
  562. package/generators/javascript/math.js +4 -4
  563. package/generators/javascript/procedures.js +1 -1
  564. package/generators/javascript/text.js +2 -2
  565. package/generators/javascript/variables.js +1 -1
  566. package/generators/javascript/variables_dynamic.js +1 -1
  567. package/generators/javascript.js +1 -3
  568. package/generators/lua/all.js +2 -0
  569. package/generators/lua/colour.js +1 -1
  570. package/generators/lua/lists.js +1 -1
  571. package/generators/lua/logic.js +1 -1
  572. package/generators/lua/loops.js +1 -1
  573. package/generators/lua/math.js +1 -1
  574. package/generators/lua/procedures.js +1 -1
  575. package/generators/lua/text.js +1 -1
  576. package/generators/lua/variables.js +1 -1
  577. package/generators/lua/variables_dynamic.js +1 -1
  578. package/generators/lua.js +1 -2
  579. package/generators/php/all.js +2 -0
  580. package/generators/php/colour.js +1 -1
  581. package/generators/php/lists.js +1 -2
  582. package/generators/php/logic.js +1 -1
  583. package/generators/php/loops.js +1 -1
  584. package/generators/php/math.js +1 -1
  585. package/generators/php/procedures.js +1 -1
  586. package/generators/php/text.js +1 -1
  587. package/generators/php/variables.js +1 -1
  588. package/generators/php/variables_dynamic.js +1 -1
  589. package/generators/php.js +1 -2
  590. package/generators/python/all.js +2 -0
  591. package/generators/python/colour.js +3 -3
  592. package/generators/python/lists.js +1 -1
  593. package/generators/python/logic.js +1 -1
  594. package/generators/python/loops.js +4 -7
  595. package/generators/python/math.js +1 -1
  596. package/generators/python/procedures.js +1 -1
  597. package/generators/python/text.js +1 -1
  598. package/generators/python/variables.js +1 -1
  599. package/generators/python/variables_dynamic.js +1 -1
  600. package/generators/python.js +1 -2
  601. package/index.d.ts +2 -8
  602. package/javascript.d.ts +0 -3
  603. package/javascript_compressed.js +314 -104
  604. package/javascript_compressed.js.map +1 -1
  605. package/lua.d.ts +0 -3
  606. package/lua_compressed.js +399 -81
  607. package/lua_compressed.js.map +1 -1
  608. package/msg/ab.js +420 -420
  609. package/msg/ace.js +420 -420
  610. package/msg/af.js +420 -420
  611. package/msg/am.js +420 -420
  612. package/msg/ar.js +420 -420
  613. package/msg/ast.js +420 -420
  614. package/msg/az.js +420 -420
  615. package/msg/ba.js +420 -420
  616. package/msg/bcc.js +420 -420
  617. package/msg/be-tarask.js +420 -420
  618. package/msg/be.js +420 -420
  619. package/msg/bg.js +420 -420
  620. package/msg/bn.js +420 -420
  621. package/msg/br.js +420 -420
  622. package/msg/bs.js +420 -420
  623. package/msg/ca.js +420 -420
  624. package/msg/cdo.js +420 -420
  625. package/msg/cs.js +420 -420
  626. package/msg/da.js +420 -420
  627. package/msg/de.js +420 -420
  628. package/msg/diq.js +420 -420
  629. package/msg/dty.js +420 -420
  630. package/msg/ee.js +420 -420
  631. package/msg/el.js +420 -420
  632. package/msg/en-gb.js +420 -420
  633. package/msg/en.js +420 -420
  634. package/msg/eo.js +420 -420
  635. package/msg/es.js +420 -420
  636. package/msg/et.js +420 -420
  637. package/msg/eu.js +420 -420
  638. package/msg/fa.js +420 -420
  639. package/msg/fi.js +420 -420
  640. package/msg/fo.js +420 -420
  641. package/msg/fr.js +420 -420
  642. package/msg/frr.js +420 -420
  643. package/msg/gl.js +420 -420
  644. package/msg/gn.js +420 -420
  645. package/msg/gor.js +420 -420
  646. package/msg/ha.js +420 -420
  647. package/msg/hak.js +420 -420
  648. package/msg/he.js +420 -420
  649. package/msg/hi.js +420 -420
  650. package/msg/hr.js +420 -420
  651. package/msg/hrx.js +420 -420
  652. package/msg/hu.js +420 -420
  653. package/msg/hy.js +420 -420
  654. package/msg/ia.js +420 -420
  655. package/msg/id.js +420 -420
  656. package/msg/ig.js +420 -420
  657. package/msg/inh.js +420 -420
  658. package/msg/is.js +420 -420
  659. package/msg/it.js +420 -420
  660. package/msg/ja.js +420 -420
  661. package/msg/ka.js +420 -420
  662. package/msg/kab.js +420 -420
  663. package/msg/kbd-cyrl.js +420 -420
  664. package/msg/km.js +420 -420
  665. package/msg/kn.js +420 -420
  666. package/msg/ko.js +420 -420
  667. package/msg/ksh.js +420 -420
  668. package/msg/ku-latn.js +420 -420
  669. package/msg/ky.js +420 -420
  670. package/msg/la.js +420 -420
  671. package/msg/lb.js +420 -420
  672. package/msg/lki.js +420 -420
  673. package/msg/lo.js +420 -420
  674. package/msg/lrc.js +420 -420
  675. package/msg/lt.js +420 -420
  676. package/msg/lv.js +420 -420
  677. package/msg/mg.js +420 -420
  678. package/msg/mk.js +420 -420
  679. package/msg/ml.js +420 -420
  680. package/msg/mnw.js +420 -420
  681. package/msg/ms.js +420 -420
  682. package/msg/my.js +420 -420
  683. package/msg/mzn.js +420 -420
  684. package/msg/nb.js +420 -420
  685. package/msg/ne.js +420 -420
  686. package/msg/nl.js +420 -420
  687. package/msg/oc.js +420 -420
  688. package/msg/olo.js +420 -420
  689. package/msg/pa.js +420 -420
  690. package/msg/pl.js +420 -420
  691. package/msg/pms.js +420 -420
  692. package/msg/ps.js +420 -420
  693. package/msg/pt-br.js +420 -420
  694. package/msg/pt.js +420 -420
  695. package/msg/ro.js +420 -420
  696. package/msg/ru.js +420 -420
  697. package/msg/sc.js +420 -420
  698. package/msg/sco.js +420 -420
  699. package/msg/sd.js +420 -420
  700. package/msg/shn.js +420 -420
  701. package/msg/si.js +420 -420
  702. package/msg/sk.js +420 -420
  703. package/msg/skr-arab.js +420 -420
  704. package/msg/sl.js +420 -420
  705. package/msg/smn.js +420 -420
  706. package/msg/sq.js +420 -420
  707. package/msg/sr-latn.js +420 -420
  708. package/msg/sr.js +420 -420
  709. package/msg/sv.js +420 -420
  710. package/msg/sw.js +420 -420
  711. package/msg/ta.js +420 -420
  712. package/msg/tcy.js +420 -420
  713. package/msg/te.js +420 -420
  714. package/msg/th.js +420 -420
  715. package/msg/ti.js +420 -420
  716. package/msg/tl.js +420 -420
  717. package/msg/tlh.js +420 -420
  718. package/msg/tr.js +420 -420
  719. package/msg/ug-arab.js +420 -420
  720. package/msg/uk.js +420 -420
  721. package/msg/ur.js +420 -420
  722. package/msg/uz.js +420 -420
  723. package/msg/vi.js +420 -420
  724. package/msg/xmf.js +420 -420
  725. package/msg/yo.js +420 -420
  726. package/msg/yue.js +420 -420
  727. package/msg/zgh.js +420 -420
  728. package/msg/zh-hans.js +420 -420
  729. package/msg/zh-hant.js +420 -420
  730. package/package.json +5 -5
  731. package/php.d.ts +0 -3
  732. package/php_compressed.js +322 -93
  733. package/php_compressed.js.map +1 -1
  734. package/python.d.ts +0 -3
  735. package/python_compressed.js +237 -90
  736. package/python_compressed.js.map +1 -1
  737. package/blockly.d.ts +0 -26127
  738. package/core/blockly_options.js +0 -28
  739. package/core/bubble_dragger.js +0 -298
  740. package/core/clipboard.js +0 -80
  741. package/core/component_manager.js +0 -263
  742. package/core/contextmenu_items.js +0 -651
  743. package/core/contextmenu_registry.js +0 -178
  744. package/core/delete_area.js +0 -87
  745. package/core/dialog.js +0 -107
  746. package/core/drag_target.js +0 -98
  747. package/core/events/events.js +0 -147
  748. package/core/events/events_abstract.js +0 -133
  749. package/core/events/events_block_base.js +0 -70
  750. package/core/events/events_block_drag.js +0 -89
  751. package/core/events/events_bubble_open.js +0 -90
  752. package/core/events/events_comment_base.js +0 -121
  753. package/core/events/events_marker_move.js +0 -110
  754. package/core/events/events_selected.js +0 -83
  755. package/core/events/events_toolbox_item_select.js +0 -84
  756. package/core/events/events_trashcan_open.js +0 -73
  757. package/core/events/events_var_base.js +0 -70
  758. package/core/events/events_viewport.js +0 -107
  759. package/core/events/workspace_events.js +0 -93
  760. package/core/field_angle.js +0 -591
  761. package/core/field_checkbox.js +0 -255
  762. package/core/field_colour.js +0 -717
  763. package/core/field_image.js +0 -304
  764. package/core/field_label.js +0 -149
  765. package/core/field_label_serializable.js +0 -80
  766. package/core/field_textinput.js +0 -619
  767. package/core/flyout_button.js +0 -356
  768. package/core/grid.js +0 -226
  769. package/core/icon.js +0 -225
  770. package/core/input.js +0 -335
  771. package/core/interfaces/i_ast_node_location_svg.js +0 -45
  772. package/core/interfaces/i_ast_node_location_with_block.js +0 -41
  773. package/core/interfaces/i_autohideable.js +0 -40
  774. package/core/interfaces/i_block_dragger.js +0 -66
  775. package/core/interfaces/i_bounded_element.js +0 -45
  776. package/core/interfaces/i_bubble.js +0 -95
  777. package/core/interfaces/i_collapsible_toolbox_item.js +0 -53
  778. package/core/interfaces/i_connection_checker.js +0 -104
  779. package/core/interfaces/i_contextmenu.js +0 -32
  780. package/core/interfaces/i_copyable.js +0 -49
  781. package/core/interfaces/i_delete_area.js +0 -50
  782. package/core/interfaces/i_drag_target.js +0 -88
  783. package/core/interfaces/i_flyout.js +0 -201
  784. package/core/interfaces/i_keyboard_accessible.js +0 -38
  785. package/core/interfaces/i_metrics_manager.js +0 -154
  786. package/core/interfaces/i_positionable.js +0 -51
  787. package/core/interfaces/i_selectable.js +0 -51
  788. package/core/interfaces/i_selectable_toolbox_item.js +0 -73
  789. package/core/interfaces/i_serializer.js +0 -77
  790. package/core/interfaces/i_styleable.js +0 -39
  791. package/core/interfaces/i_toolbox.js +0 -142
  792. package/core/interfaces/i_toolbox_item.js +0 -85
  793. package/core/marker_manager.js +0 -213
  794. package/core/menuitem.js +0 -292
  795. package/core/names.js +0 -293
  796. package/core/registry.js +0 -384
  797. package/core/renderers/common/block_rendering.js +0 -170
  798. package/core/renderers/common/constants.js +0 -1250
  799. package/core/renderers/common/i_path_object.js +0 -162
  800. package/core/renderers/common/marker_svg.js +0 -721
  801. package/core/renderers/common/path_object.js +0 -283
  802. package/core/renderers/common/renderer.js +0 -305
  803. package/core/renderers/geras/constants.js +0 -73
  804. package/core/renderers/geras/geras.js +0 -36
  805. package/core/renderers/geras/measurables/inline_input.js +0 -58
  806. package/core/renderers/geras/measurables/statement_input.js +0 -57
  807. package/core/renderers/geras/renderer.js +0 -149
  808. package/core/renderers/measurables/base.js +0 -64
  809. package/core/renderers/measurables/bottom_row.js +0 -138
  810. package/core/renderers/measurables/connection.js +0 -56
  811. package/core/renderers/measurables/external_value_input.js +0 -70
  812. package/core/renderers/measurables/field.js +0 -71
  813. package/core/renderers/measurables/in_row_spacer.js +0 -47
  814. package/core/renderers/measurables/input_connection.js +0 -75
  815. package/core/renderers/measurables/next_connection.js +0 -50
  816. package/core/renderers/measurables/output_connection.js +0 -61
  817. package/core/renderers/measurables/previous_connection.js +0 -50
  818. package/core/renderers/measurables/round_corner.js +0 -52
  819. package/core/renderers/measurables/row.js +0 -247
  820. package/core/renderers/measurables/spacer_row.js +0 -69
  821. package/core/renderers/measurables/square_corner.js +0 -50
  822. package/core/renderers/measurables/top_row.js +0 -143
  823. package/core/renderers/measurables/types.js +0 -353
  824. package/core/renderers/minimalist/drawer.js +0 -42
  825. package/core/renderers/minimalist/info.js +0 -54
  826. package/core/renderers/minimalist/minimalist.js +0 -26
  827. package/core/renderers/minimalist/renderer.js +0 -80
  828. package/core/renderers/thrasos/renderer.js +0 -53
  829. package/core/renderers/thrasos/thrasos.js +0 -22
  830. package/core/renderers/zelos/marker_svg.js +0 -179
  831. package/core/renderers/zelos/measurables/bottom_row.js +0 -66
  832. package/core/renderers/zelos/measurables/row_elements.js +0 -46
  833. package/core/renderers/zelos/path_object.js +0 -247
  834. package/core/renderers/zelos/renderer.js +0 -147
  835. package/core/renderers/zelos/zelos.js +0 -38
  836. package/core/serialization/exceptions.js +0 -144
  837. package/core/shortcut_registry.js +0 -366
  838. package/core/theme/themes.js +0 -23
  839. package/core/theme.js +0 -228
  840. package/core/theme_manager.js +0 -211
  841. package/core/toolbox/category.js +0 -751
  842. package/core/toolbox/collapsible_category.js +0 -311
  843. package/core/toolbox/separator.js +0 -133
  844. package/core/toolbox/toolbox_item.js +0 -173
  845. package/core/touch.js +0 -285
  846. package/core/utils/coordinate.js +0 -138
  847. package/core/utils/global.js +0 -41
  848. package/core/utils/keycodes.js +0 -172
  849. package/core/utils/metrics.js +0 -154
  850. package/core/utils/svg.js +0 -186
  851. package/core/utils/toolbox.js +0 -459
  852. package/core/utils/useragent.js +0 -197
  853. package/core/utils.js +0 -383
  854. package/core/variable_model.js +0 -96
  855. package/core/widgetdiv.js +0 -290
  856. package/core/workspace.js +0 -836
  857. package/core/workspace_comment.js +0 -400
  858. package/core/workspace_dragger.js +0 -115
@@ -0,0 +1,129 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2021 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { Block } from './block.js';
7
+ import { BlockDefinition } from './blocks.js';
8
+ import type { Connection } from './connection.js';
9
+ import type { ICopyable } from './interfaces/i_copyable.js';
10
+ import type { Workspace } from './workspace.js';
11
+ import type { WorkspaceSvg } from './workspace_svg.js';
12
+ /**
13
+ * Find the workspace with the specified ID.
14
+ * @param id ID of workspace to find.
15
+ * @return The sought after workspace or null if not found.
16
+ */
17
+ export declare function getWorkspaceById(id: string): Workspace | null;
18
+ /**
19
+ * Find all workspaces.
20
+ * @return Array of workspaces.
21
+ */
22
+ export declare function getAllWorkspaces(): Workspace[];
23
+ export declare function registerWorkspace(workspace: Workspace): void;
24
+ export declare function unregisterWorkpace(workspace: Workspace): void;
25
+ /**
26
+ * Returns the last used top level workspace (based on focus). Try not to use
27
+ * this function, particularly if there are multiple Blockly instances on a
28
+ * page.
29
+ * @return The main workspace.
30
+ * @alias Blockly.common.getMainWorkspace
31
+ */
32
+ export declare function getMainWorkspace(): Workspace;
33
+ /**
34
+ * Sets last used main workspace.
35
+ * @param workspace The most recently used top level workspace.
36
+ * @alias Blockly.common.setMainWorkspace
37
+ */
38
+ export declare function setMainWorkspace(workspace: Workspace): void;
39
+ /**
40
+ * Returns the currently selected copyable object.
41
+ * @alias Blockly.common.getSelected
42
+ */
43
+ export declare function getSelected(): ICopyable | null;
44
+ /**
45
+ * Sets the currently selected block. This function does not visually mark the
46
+ * block as selected or fire the required events. If you wish to
47
+ * programmatically select a block, use `BlockSvg#select`.
48
+ * @param newSelection The newly selected block.
49
+ * @alias Blockly.common.setSelected
50
+ * @internal
51
+ */
52
+ export declare function setSelected(newSelection: ICopyable | null): void;
53
+ /**
54
+ * Get the container element in which to render the WidgetDiv, DropDownDiv and\
55
+ * Tooltip.
56
+ * @return The parent container.
57
+ * @alias Blockly.common.getParentContainer
58
+ */
59
+ export declare function getParentContainer(): Element | null;
60
+ /**
61
+ * Set the parent container. This is the container element that the WidgetDiv,
62
+ * DropDownDiv, and Tooltip are rendered into the first time `Blockly.inject`
63
+ * is called.
64
+ * This method is a NOP if called after the first ``Blockly.inject``.
65
+ * @param newParent The container element.
66
+ * @alias Blockly.common.setParentContainer
67
+ */
68
+ export declare function setParentContainer(newParent: Element): void;
69
+ /**
70
+ * Size the SVG image to completely fill its container. Call this when the view
71
+ * actually changes sizes (e.g. on a window resize/device orientation change).
72
+ * See workspace.resizeContents to resize the workspace when the contents
73
+ * change (e.g. when a block is added or removed).
74
+ * Record the height/width of the SVG image.
75
+ * @param workspace Any workspace in the SVG.
76
+ * @alias Blockly.common.svgResize
77
+ */
78
+ export declare function svgResize(workspace: WorkspaceSvg): void;
79
+ /**
80
+ * All of the connections on blocks that are currently being dragged.
81
+ */
82
+ export declare const draggingConnections: Connection[];
83
+ /**
84
+ * Get a map of all the block's descendants mapping their type to the number of
85
+ * children with that type.
86
+ * @param block The block to map.
87
+ * @param opt_stripFollowing Optionally ignore all following
88
+ * statements (blocks that are not inside a value or statement input
89
+ * of the block).
90
+ * @return Map of types to type counts for descendants of the bock.
91
+ * @alias Blockly.common.getBlockTypeCounts
92
+ */
93
+ export declare function getBlockTypeCounts(block: Block, opt_stripFollowing?: boolean): any;
94
+ /**
95
+ * Define blocks from an array of JSON block definitions, as might be generated
96
+ * by the Blockly Developer Tools.
97
+ * @param jsonArray An array of JSON block definitions.
98
+ * @alias Blockly.common.defineBlocksWithJsonArray
99
+ */
100
+ export declare function defineBlocksWithJsonArray(jsonArray: any[]): void;
101
+ /**
102
+ * Private version of defineBlocksWithJsonArray for stubbing in tests.
103
+ */
104
+ declare function defineBlocksWithJsonArrayInternal(jsonArray: any[]): void;
105
+ /**
106
+ * Define blocks from an array of JSON block definitions, as might be generated
107
+ * by the Blockly Developer Tools.
108
+ * @param jsonArray An array of JSON block definitions.
109
+ * @return A map of the block
110
+ * definitions created.
111
+ * @alias Blockly.common.defineBlocksWithJsonArray
112
+ */
113
+ export declare function createBlockDefinitionsFromJsonArray(jsonArray: any[]): {
114
+ [key: string]: BlockDefinition;
115
+ };
116
+ /**
117
+ * Add the specified block definitions to the block definitions
118
+ * dictionary (Blockly.Blocks).
119
+ * @param blocks A map of block
120
+ * type names to block definitions.
121
+ * @alias Blockly.common.defineBlocks
122
+ */
123
+ export declare function defineBlocks(blocks: {
124
+ [key: string]: BlockDefinition;
125
+ }): void;
126
+ export declare const TEST_ONLY: {
127
+ defineBlocksWithJsonArrayInternal: typeof defineBlocksWithJsonArrayInternal;
128
+ };
129
+ export {};
@@ -8,116 +8,134 @@
8
8
  * @fileoverview Common functions used both internally and externally, but which
9
9
  * must not be at the top level to avoid circular dependencies.
10
10
  */
11
- 'use strict';
12
11
 
13
12
  /**
14
13
  * Common functions used both internally and externally, but which
15
14
  * must not be at the top level to avoid circular dependencies.
16
15
  * @namespace Blockly.common
17
16
  */
18
- goog.module('Blockly.common');
17
+ import * as goog from '../closure/goog/goog.js';
18
+ goog.declareModuleId('Blockly.common');
19
19
 
20
20
  /* eslint-disable-next-line no-unused-vars */
21
- const {BlockDefinition, Blocks} = goog.require('Blockly.blocks');
22
- /* eslint-disable-next-line no-unused-vars */
23
- const {Connection} = goog.requireType('Blockly.Connection');
24
- /* eslint-disable-next-line no-unused-vars */
25
- const {ICopyable} = goog.requireType('Blockly.ICopyable');
26
- /* eslint-disable-next-line no-unused-vars */
27
- const {Block} = goog.requireType('Blockly.Block');
28
- /* eslint-disable-next-line no-unused-vars */
29
- const {WorkspaceSvg} = goog.requireType('Blockly.WorkspaceSvg');
30
- /* eslint-disable-next-line no-unused-vars */
31
- const {Workspace} = goog.requireType('Blockly.Workspace');
21
+ import type {Block} from './block.js';
22
+ import {BlockDefinition, Blocks} from './blocks.js';
23
+ import type {Connection} from './connection.js';
24
+ import type {ICopyable} from './interfaces/i_copyable.js';
25
+ import type {Workspace} from './workspace.js';
26
+ import type {WorkspaceSvg} from './workspace_svg.js';
27
+
28
+
29
+ /** Database of all workspaces. */
30
+ const WorkspaceDB_ = Object.create(null);
32
31
 
33
32
 
33
+ /**
34
+ * Find the workspace with the specified ID.
35
+ * @param id ID of workspace to find.
36
+ * @return The sought after workspace or null if not found.
37
+ */
38
+ export function getWorkspaceById(id: string): Workspace|null {
39
+ return WorkspaceDB_[id] || null;
40
+ }
41
+
42
+ /**
43
+ * Find all workspaces.
44
+ * @return Array of workspaces.
45
+ */
46
+ export function getAllWorkspaces(): Workspace[] {
47
+ const workspaces = [];
48
+ for (const workspaceId in WorkspaceDB_) {
49
+ workspaces.push(WorkspaceDB_[workspaceId]);
50
+ }
51
+ return workspaces;
52
+ }
53
+
54
+ export function registerWorkspace(workspace: Workspace) {
55
+ WorkspaceDB_[workspace.id] = workspace;
56
+ }
57
+
58
+ export function unregisterWorkpace(workspace: Workspace) {
59
+ delete WorkspaceDB_[workspace.id];
60
+ }
61
+
34
62
  /**
35
63
  * The main workspace most recently used.
36
64
  * Set by Blockly.WorkspaceSvg.prototype.markFocused
37
- * @type {!Workspace}
38
65
  */
39
- let mainWorkspace;
66
+ let mainWorkspace: Workspace;
40
67
 
41
68
  /**
42
69
  * Returns the last used top level workspace (based on focus). Try not to use
43
70
  * this function, particularly if there are multiple Blockly instances on a
44
71
  * page.
45
- * @return {!Workspace} The main workspace.
72
+ * @return The main workspace.
46
73
  * @alias Blockly.common.getMainWorkspace
47
74
  */
48
- const getMainWorkspace = function() {
75
+ export function getMainWorkspace(): Workspace {
49
76
  return mainWorkspace;
50
- };
51
- exports.getMainWorkspace = getMainWorkspace;
77
+ }
52
78
 
53
79
  /**
54
80
  * Sets last used main workspace.
55
- * @param {!Workspace} workspace The most recently used top level workspace.
81
+ * @param workspace The most recently used top level workspace.
56
82
  * @alias Blockly.common.setMainWorkspace
57
83
  */
58
- const setMainWorkspace = function(workspace) {
84
+ export function setMainWorkspace(workspace: Workspace) {
59
85
  mainWorkspace = workspace;
60
- };
61
- exports.setMainWorkspace = setMainWorkspace;
86
+ }
62
87
 
63
88
  /**
64
- * Currently selected block.
65
- * @type {?ICopyable}
89
+ * Currently selected copyable object.
66
90
  */
67
- let selected = null;
91
+ let selected: ICopyable|null = null;
68
92
 
69
93
  /**
70
- * Returns the currently selected block.
71
- * @return {?ICopyable} The currently selected block.
94
+ * Returns the currently selected copyable object.
72
95
  * @alias Blockly.common.getSelected
73
96
  */
74
- const getSelected = function() {
97
+ export function getSelected(): ICopyable|null {
75
98
  return selected;
76
- };
77
- exports.getSelected = getSelected;
99
+ }
78
100
 
79
101
  /**
80
102
  * Sets the currently selected block. This function does not visually mark the
81
103
  * block as selected or fire the required events. If you wish to
82
104
  * programmatically select a block, use `BlockSvg#select`.
83
- * @param {?ICopyable} newSelection The newly selected block.
105
+ * @param newSelection The newly selected block.
84
106
  * @alias Blockly.common.setSelected
85
- * @package
107
+ * @internal
86
108
  */
87
- const setSelected = function(newSelection) {
109
+ export function setSelected(newSelection: ICopyable|null) {
88
110
  selected = newSelection;
89
- };
90
- exports.setSelected = setSelected;
111
+ }
91
112
 
92
113
  /**
93
114
  * Container element in which to render the WidgetDiv, DropDownDiv and Tooltip.
94
- * @type {?Element}
95
115
  */
96
- let parentContainer;
116
+ let parentContainer: Element|null;
97
117
 
98
118
  /**
99
119
  * Get the container element in which to render the WidgetDiv, DropDownDiv and\
100
120
  * Tooltip.
101
- * @return {?Element} The parent container.
121
+ * @return The parent container.
102
122
  * @alias Blockly.common.getParentContainer
103
123
  */
104
- const getParentContainer = function() {
124
+ export function getParentContainer(): Element|null {
105
125
  return parentContainer;
106
- };
107
- exports.getParentContainer = getParentContainer;
126
+ }
108
127
 
109
128
  /**
110
129
  * Set the parent container. This is the container element that the WidgetDiv,
111
130
  * DropDownDiv, and Tooltip are rendered into the first time `Blockly.inject`
112
131
  * is called.
113
132
  * This method is a NOP if called after the first ``Blockly.inject``.
114
- * @param {!Element} newParent The container element.
133
+ * @param newParent The container element.
115
134
  * @alias Blockly.common.setParentContainer
116
135
  */
117
- const setParentContainer = function(newParent) {
136
+ export function setParentContainer(newParent: Element) {
118
137
  parentContainer = newParent;
119
- };
120
- exports.setParentContainer = setParentContainer;
138
+ }
121
139
 
122
140
  /**
123
141
  * Size the SVG image to completely fill its container. Call this when the view
@@ -125,21 +143,22 @@ exports.setParentContainer = setParentContainer;
125
143
  * See workspace.resizeContents to resize the workspace when the contents
126
144
  * change (e.g. when a block is added or removed).
127
145
  * Record the height/width of the SVG image.
128
- * @param {!WorkspaceSvg} workspace Any workspace in the SVG.
146
+ * @param workspace Any workspace in the SVG.
129
147
  * @alias Blockly.common.svgResize
130
148
  */
131
- const svgResize = function(workspace) {
149
+ export function svgResize(workspace: WorkspaceSvg) {
132
150
  let mainWorkspace = workspace;
133
151
  while (mainWorkspace.options.parentWorkspace) {
134
152
  mainWorkspace = mainWorkspace.options.parentWorkspace;
135
153
  }
136
154
  const svg = mainWorkspace.getParentSvg();
137
155
  const cachedSize = mainWorkspace.getCachedParentSvgSize();
138
- const div = svg.parentNode;
139
- if (!div) {
156
+ const div = svg.parentElement;
157
+ if (!(div instanceof HTMLElement)) {
140
158
  // Workspace deleted, or something.
141
159
  return;
142
160
  }
161
+
143
162
  const width = div.offsetWidth;
144
163
  const height = div.offsetHeight;
145
164
  if (cachedSize.width !== width) {
@@ -151,26 +170,25 @@ const svgResize = function(workspace) {
151
170
  mainWorkspace.setCachedParentSvgSize(null, height);
152
171
  }
153
172
  mainWorkspace.resize();
154
- };
155
- exports.svgResize = svgResize;
173
+ }
156
174
 
157
175
  /**
158
176
  * All of the connections on blocks that are currently being dragged.
159
- * @type {!Array<!Connection>}
160
177
  */
161
- exports.draggingConnections = [];
178
+ export const draggingConnections: Connection[] = [];
162
179
 
163
180
  /**
164
181
  * Get a map of all the block's descendants mapping their type to the number of
165
182
  * children with that type.
166
- * @param {!Block} block The block to map.
167
- * @param {boolean=} opt_stripFollowing Optionally ignore all following
183
+ * @param block The block to map.
184
+ * @param opt_stripFollowing Optionally ignore all following
168
185
  * statements (blocks that are not inside a value or statement input
169
186
  * of the block).
170
- * @return {!Object} Map of types to type counts for descendants of the bock.
187
+ * @return Map of types to type counts for descendants of the bock.
171
188
  * @alias Blockly.common.getBlockTypeCounts
172
189
  */
173
- const getBlockTypeCounts = function(block, opt_stripFollowing) {
190
+ export function getBlockTypeCounts(
191
+ block: Block, opt_stripFollowing?: boolean): AnyDuringMigration {
174
192
  const typeCountsMap = Object.create(null);
175
193
  const descendants = block.getDescendants(true);
176
194
  if (opt_stripFollowing) {
@@ -180,7 +198,7 @@ const getBlockTypeCounts = function(block, opt_stripFollowing) {
180
198
  descendants.splice(index, descendants.length - index);
181
199
  }
182
200
  }
183
- for (let i = 0, checkBlock; (checkBlock = descendants[i]); i++) {
201
+ for (let i = 0, checkBlock; checkBlock = descendants[i]; i++) {
184
202
  if (typeCountsMap[checkBlock.type]) {
185
203
  typeCountsMap[checkBlock.type]++;
186
204
  } else {
@@ -188,50 +206,56 @@ const getBlockTypeCounts = function(block, opt_stripFollowing) {
188
206
  }
189
207
  }
190
208
  return typeCountsMap;
191
- };
192
- exports.getBlockTypeCounts = getBlockTypeCounts;
209
+ }
193
210
 
194
211
  /**
195
212
  * Helper function for defining a block from JSON. The resulting function has
196
213
  * the correct value of jsonDef at the point in code where jsonInit is called.
197
- * @param {!Object} jsonDef The JSON definition of a block.
198
- * @return {function()} A function that calls jsonInit with the correct value
214
+ * @param jsonDef The JSON definition of a block.
215
+ * @return A function that calls jsonInit with the correct value
199
216
  * of jsonDef.
200
217
  */
201
- const jsonInitFactory = function(jsonDef) {
202
- return /** @this {Block} */ function() {
218
+ function jsonInitFactory(jsonDef: AnyDuringMigration): () => void {
219
+ return function(this: Block) {
203
220
  this.jsonInit(jsonDef);
204
221
  };
205
- };
222
+ }
206
223
 
207
224
  /**
208
225
  * Define blocks from an array of JSON block definitions, as might be generated
209
226
  * by the Blockly Developer Tools.
210
- * @param {!Array<!Object>} jsonArray An array of JSON block definitions.
227
+ * @param jsonArray An array of JSON block definitions.
211
228
  * @alias Blockly.common.defineBlocksWithJsonArray
212
229
  */
213
- const defineBlocksWithJsonArray = function(jsonArray) {
230
+ export function defineBlocksWithJsonArray(jsonArray: AnyDuringMigration[]) {
231
+ TEST_ONLY.defineBlocksWithJsonArrayInternal(jsonArray);
232
+ }
233
+
234
+ /**
235
+ * Private version of defineBlocksWithJsonArray for stubbing in tests.
236
+ */
237
+ function defineBlocksWithJsonArrayInternal(jsonArray: AnyDuringMigration[]) {
214
238
  defineBlocks(createBlockDefinitionsFromJsonArray(jsonArray));
215
- };
216
- exports.defineBlocksWithJsonArray = defineBlocksWithJsonArray;
239
+ }
217
240
 
218
241
  /**
219
242
  * Define blocks from an array of JSON block definitions, as might be generated
220
243
  * by the Blockly Developer Tools.
221
- * @param {!Array<!Object>} jsonArray An array of JSON block definitions.
222
- * @return {!Object<string, !BlockDefinition>} A map of the block
244
+ * @param jsonArray An array of JSON block definitions.
245
+ * @return A map of the block
223
246
  * definitions created.
224
247
  * @alias Blockly.common.defineBlocksWithJsonArray
225
248
  */
226
- const createBlockDefinitionsFromJsonArray = function(jsonArray) {
227
- const /** @type {!Object<string,!BlockDefinition>} */ blocks = {};
249
+ export function createBlockDefinitionsFromJsonArray(
250
+ jsonArray: AnyDuringMigration[]): {[key: string]: BlockDefinition} {
251
+ const blocks: {[key: string]: BlockDefinition} = {};
228
252
  for (let i = 0; i < jsonArray.length; i++) {
229
253
  const elem = jsonArray[i];
230
254
  if (!elem) {
231
255
  console.warn(`Block definition #${i} in JSON array is ${elem}. Skipping`);
232
256
  continue;
233
257
  }
234
- const type = elem.type;
258
+ const type = elem['type'];
235
259
  if (!type) {
236
260
  console.warn(
237
261
  `Block definition #${i} in JSON array is missing a type attribute. ` +
@@ -241,18 +265,16 @@ const createBlockDefinitionsFromJsonArray = function(jsonArray) {
241
265
  blocks[type] = {init: jsonInitFactory(elem)};
242
266
  }
243
267
  return blocks;
244
- };
245
- exports.createBlockDefinitionsFromJsonArray =
246
- createBlockDefinitionsFromJsonArray;
268
+ }
247
269
 
248
270
  /**
249
271
  * Add the specified block definitions to the block definitions
250
272
  * dictionary (Blockly.Blocks).
251
- * @param {!Object<string,!BlockDefinition>} blocks A map of block
273
+ * @param blocks A map of block
252
274
  * type names to block definitions.
253
275
  * @alias Blockly.common.defineBlocks
254
276
  */
255
- const defineBlocks = function(blocks) {
277
+ export function defineBlocks(blocks: {[key: string]: BlockDefinition}) {
256
278
  // Iterate over own enumerable properties.
257
279
  for (const type of Object.keys(blocks)) {
258
280
  const definition = blocks[type];
@@ -261,5 +283,6 @@ const defineBlocks = function(blocks) {
261
283
  }
262
284
  Blocks[type] = definition;
263
285
  }
264
- };
265
- exports.defineBlocks = defineBlocks;
286
+ }
287
+
288
+ export const TEST_ONLY = {defineBlocksWithJsonArrayInternal};
@@ -0,0 +1,91 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2021 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { IAutoHideable } from './interfaces/i_autohideable.js';
7
+ import type { IComponent } from './interfaces/i_component.js';
8
+ import type { IDeleteArea } from './interfaces/i_delete_area.js';
9
+ import type { IDragTarget } from './interfaces/i_drag_target.js';
10
+ import type { IPositionable } from './interfaces/i_positionable.js';
11
+ declare class Capability<T> {
12
+ static POSITIONABLE: Capability<IPositionable>;
13
+ static DRAG_TARGET: Capability<IDragTarget>;
14
+ static DELETE_AREA: Capability<IDeleteArea>;
15
+ static AUTOHIDEABLE: Capability<IAutoHideable>;
16
+ private readonly name_;
17
+ /** @param name The name of the component capability. */
18
+ constructor(name: string);
19
+ /**
20
+ * Returns the name of the capability.
21
+ * @return The name.
22
+ */
23
+ toString(): string;
24
+ }
25
+ /**
26
+ * Manager for all items registered with the workspace.
27
+ * @alias Blockly.ComponentManager
28
+ */
29
+ export declare class ComponentManager {
30
+ static Capability: typeof Capability;
31
+ /**
32
+ * A map of the components registered with the workspace, mapped to id.
33
+ */
34
+ private readonly componentData;
35
+ /** A map of capabilities to component IDs. */
36
+ private readonly capabilityToComponentIds;
37
+ /**
38
+ * Adds a component.
39
+ * @param componentInfo The data for the component to register.
40
+ * @param opt_allowOverrides True to prevent an error when overriding an
41
+ * already registered item.
42
+ */
43
+ addComponent(componentInfo: ComponentDatum, opt_allowOverrides?: boolean): void;
44
+ /**
45
+ * Removes a component.
46
+ * @param id The ID of the component to remove.
47
+ */
48
+ removeComponent(id: string): void;
49
+ /**
50
+ * Adds a capability to a existing registered component.
51
+ * @param id The ID of the component to add the capability to.
52
+ * @param capability The capability to add.
53
+ */
54
+ addCapability<T>(id: string, capability: string | Capability<T>): void;
55
+ /**
56
+ * Removes a capability from an existing registered component.
57
+ * @param id The ID of the component to remove the capability from.
58
+ * @param capability The capability to remove.
59
+ */
60
+ removeCapability<T>(id: string, capability: string | Capability<T>): void;
61
+ /**
62
+ * Returns whether the component with this id has the specified capability.
63
+ * @param id The ID of the component to check.
64
+ * @param capability The capability to check for.
65
+ * @return Whether the component has the capability.
66
+ */
67
+ hasCapability<T>(id: string, capability: string | Capability<T>): boolean;
68
+ /**
69
+ * Gets the component with the given ID.
70
+ * @param id The ID of the component to get.
71
+ * @return The component with the given name or undefined if not found.
72
+ */
73
+ getComponent(id: string): IComponent | undefined;
74
+ /**
75
+ * Gets all the components with the specified capability.
76
+ * @param capability The capability of the component.
77
+ * @param sorted Whether to return list ordered by weights.
78
+ * @return The components that match the specified capability.
79
+ */
80
+ getComponents<T>(capability: string | Capability<T>, sorted: boolean): T[];
81
+ }
82
+ export declare namespace ComponentManager {
83
+ /** An object storing component information. */
84
+ interface ComponentDatum {
85
+ component: IComponent;
86
+ capabilities: Array<string | Capability<IComponent>>;
87
+ weight: number;
88
+ }
89
+ }
90
+ export declare type ComponentDatum = ComponentManager.ComponentDatum;
91
+ export {};