blockly 8.0.4-beta.0 → 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 +421 -421
  609. package/msg/ace.js +421 -421
  610. package/msg/af.js +421 -421
  611. package/msg/am.js +421 -421
  612. package/msg/ar.js +421 -421
  613. package/msg/ast.js +421 -421
  614. package/msg/az.js +421 -421
  615. package/msg/ba.js +421 -421
  616. package/msg/bcc.js +421 -421
  617. package/msg/be-tarask.js +421 -421
  618. package/msg/be.js +421 -421
  619. package/msg/bg.js +421 -421
  620. package/msg/bn.js +421 -421
  621. package/msg/br.js +421 -421
  622. package/msg/bs.js +421 -421
  623. package/msg/ca.js +421 -421
  624. package/msg/cdo.js +421 -421
  625. package/msg/cs.js +421 -421
  626. package/msg/da.js +421 -421
  627. package/msg/de.js +421 -421
  628. package/msg/diq.js +421 -421
  629. package/msg/dty.js +421 -421
  630. package/msg/ee.js +421 -421
  631. package/msg/el.js +421 -421
  632. package/msg/en-gb.js +421 -421
  633. package/msg/en.js +421 -421
  634. package/msg/eo.js +421 -421
  635. package/msg/es.js +421 -421
  636. package/msg/et.js +421 -421
  637. package/msg/eu.js +421 -421
  638. package/msg/fa.js +421 -421
  639. package/msg/fi.js +421 -421
  640. package/msg/fo.js +421 -421
  641. package/msg/fr.js +421 -421
  642. package/msg/frr.js +421 -421
  643. package/msg/gl.js +421 -421
  644. package/msg/gn.js +421 -421
  645. package/msg/gor.js +421 -421
  646. package/msg/ha.js +421 -421
  647. package/msg/hak.js +421 -421
  648. package/msg/he.js +421 -421
  649. package/msg/hi.js +421 -421
  650. package/msg/hr.js +421 -421
  651. package/msg/hrx.js +421 -421
  652. package/msg/hu.js +421 -421
  653. package/msg/hy.js +421 -421
  654. package/msg/ia.js +421 -421
  655. package/msg/id.js +421 -421
  656. package/msg/ig.js +421 -421
  657. package/msg/inh.js +421 -421
  658. package/msg/is.js +421 -421
  659. package/msg/it.js +421 -421
  660. package/msg/ja.js +421 -421
  661. package/msg/ka.js +421 -421
  662. package/msg/kab.js +421 -421
  663. package/msg/kbd-cyrl.js +421 -421
  664. package/msg/km.js +421 -421
  665. package/msg/kn.js +421 -421
  666. package/msg/ko.js +421 -421
  667. package/msg/ksh.js +421 -421
  668. package/msg/ku-latn.js +421 -421
  669. package/msg/ky.js +421 -421
  670. package/msg/la.js +421 -421
  671. package/msg/lb.js +421 -421
  672. package/msg/lki.js +421 -421
  673. package/msg/lo.js +421 -421
  674. package/msg/lrc.js +421 -421
  675. package/msg/lt.js +421 -421
  676. package/msg/lv.js +421 -421
  677. package/msg/mg.js +421 -421
  678. package/msg/mk.js +421 -421
  679. package/msg/ml.js +421 -421
  680. package/msg/mnw.js +421 -421
  681. package/msg/ms.js +421 -421
  682. package/msg/my.js +421 -421
  683. package/msg/mzn.js +421 -421
  684. package/msg/nb.js +421 -421
  685. package/msg/ne.js +421 -421
  686. package/msg/nl.js +421 -421
  687. package/msg/oc.js +421 -421
  688. package/msg/olo.js +421 -421
  689. package/msg/pa.js +421 -421
  690. package/msg/pl.js +421 -421
  691. package/msg/pms.js +421 -421
  692. package/msg/ps.js +421 -421
  693. package/msg/pt-br.js +421 -421
  694. package/msg/pt.js +421 -421
  695. package/msg/ro.js +421 -421
  696. package/msg/ru.js +421 -421
  697. package/msg/sc.js +421 -421
  698. package/msg/sco.js +421 -421
  699. package/msg/sd.js +421 -421
  700. package/msg/shn.js +421 -421
  701. package/msg/si.js +421 -421
  702. package/msg/sk.js +421 -421
  703. package/msg/skr-arab.js +421 -421
  704. package/msg/sl.js +421 -421
  705. package/msg/smn.js +421 -421
  706. package/msg/sq.js +421 -421
  707. package/msg/sr-latn.js +421 -421
  708. package/msg/sr.js +421 -421
  709. package/msg/sv.js +421 -421
  710. package/msg/sw.js +421 -421
  711. package/msg/ta.js +421 -421
  712. package/msg/tcy.js +421 -421
  713. package/msg/te.js +421 -421
  714. package/msg/th.js +421 -421
  715. package/msg/ti.js +421 -421
  716. package/msg/tl.js +421 -421
  717. package/msg/tlh.js +421 -421
  718. package/msg/tr.js +421 -421
  719. package/msg/ug-arab.js +421 -421
  720. package/msg/uk.js +421 -421
  721. package/msg/ur.js +421 -421
  722. package/msg/uz.js +421 -421
  723. package/msg/vi.js +421 -421
  724. package/msg/xmf.js +421 -421
  725. package/msg/yo.js +421 -421
  726. package/msg/yue.js +421 -421
  727. package/msg/zgh.js +421 -421
  728. package/msg/zh-hans.js +421 -421
  729. package/msg/zh-hant.js +421 -421
  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,137 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2020 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { Abstract } from './events/events_abstract.js';
7
+ import type { Field } from './field.js';
8
+ import type { IBlockDragger } from './interfaces/i_block_dragger.js';
9
+ import type { IConnectionChecker } from './interfaces/i_connection_checker.js';
10
+ import type { IFlyout } from './interfaces/i_flyout.js';
11
+ import type { IMetricsManager } from './interfaces/i_metrics_manager.js';
12
+ import type { ISerializer } from './interfaces/i_serializer.js';
13
+ import type { IToolbox } from './interfaces/i_toolbox.js';
14
+ import type { Cursor } from './keyboard_nav/cursor.js';
15
+ import type { Options } from './options.js';
16
+ import type { Renderer } from './renderers/common/renderer.js';
17
+ import type { Theme } from './theme.js';
18
+ import type { ToolboxItem } from './toolbox/toolbox_item.js';
19
+ export declare const TEST_ONLY: {
20
+ typeMap: {
21
+ [key: string]: {
22
+ [key: string]: any;
23
+ };
24
+ };
25
+ };
26
+ /**
27
+ * The string used to register the default class for a type of plugin.
28
+ * @alias Blockly.registry.DEFAULT
29
+ */
30
+ export declare const DEFAULT = "default";
31
+ /**
32
+ * A name with the type of the element stored in the generic.
33
+ * @alias Blockly.registry.Type
34
+ */
35
+ export declare class Type<T> {
36
+ private readonly name;
37
+ /** @param name The name of the registry type. */
38
+ constructor(name: string);
39
+ /**
40
+ * Returns the name of the type.
41
+ * @return The name.
42
+ */
43
+ toString(): string;
44
+ static CONNECTION_CHECKER: Type<IConnectionChecker>;
45
+ static CURSOR: Type<Cursor>;
46
+ static EVENT: Type<Abstract>;
47
+ static FIELD: Type<Field>;
48
+ static RENDERER: Type<Renderer>;
49
+ static TOOLBOX: Type<IToolbox>;
50
+ static THEME: Type<Theme>;
51
+ static TOOLBOX_ITEM: Type<ToolboxItem>;
52
+ static FLYOUTS_VERTICAL_TOOLBOX: Type<IFlyout>;
53
+ static FLYOUTS_HORIZONTAL_TOOLBOX: Type<IFlyout>;
54
+ static METRICS_MANAGER: Type<IMetricsManager>;
55
+ static BLOCK_DRAGGER: Type<IBlockDragger>;
56
+ /** @internal */
57
+ static SERIALIZER: Type<ISerializer>;
58
+ }
59
+ /**
60
+ * Registers a class based on a type and name.
61
+ * @param type The type of the plugin.
62
+ * (e.g. Field, Renderer)
63
+ * @param name The plugin's name. (Ex. field_angle, geras)
64
+ * @param registryItem The class or object to register.
65
+ * @param opt_allowOverrides True to prevent an error when overriding an already
66
+ * registered item.
67
+ * @throws {Error} if the type or name is empty, a name with the given type has
68
+ * already been registered, or if the given class or object is not valid for
69
+ * its type.
70
+ * @alias Blockly.registry.register
71
+ */
72
+ export declare function register<T>(type: string | Type<T>, name: string, registryItem: (new (...p1: any[]) => T) | null | any, opt_allowOverrides?: boolean): void;
73
+ /**
74
+ * Unregisters the registry item with the given type and name.
75
+ * @param type The type of the plugin.
76
+ * (e.g. Field, Renderer)
77
+ * @param name The plugin's name. (Ex. field_angle, geras)
78
+ * @alias Blockly.registry.unregister
79
+ */
80
+ export declare function unregister<T>(type: string | Type<T>, name: string): void;
81
+ /**
82
+ * Returns whether or not the registry contains an item with the given type and
83
+ * name.
84
+ * @param type The type of the plugin.
85
+ * (e.g. Field, Renderer)
86
+ * @param name The plugin's name. (Ex. field_angle, geras)
87
+ * @return True if the registry has an item with the given type and name, false
88
+ * otherwise.
89
+ * @alias Blockly.registry.hasItem
90
+ */
91
+ export declare function hasItem<T>(type: string | Type<T>, name: string): boolean;
92
+ /**
93
+ * Gets the class for the given name and type.
94
+ * @param type The type of the plugin.
95
+ * (e.g. Field, Renderer)
96
+ * @param name The plugin's name. (Ex. field_angle, geras)
97
+ * @param opt_throwIfMissing Whether or not to throw an error if we are unable
98
+ * to find the plugin.
99
+ * @return The class with the given name and type or null if none exists.
100
+ * @alias Blockly.registry.getClass
101
+ */
102
+ export declare function getClass<T>(type: string | Type<T>, name: string, opt_throwIfMissing?: boolean): (new (...p1: any[]) => T) | null;
103
+ /**
104
+ * Gets the object for the given name and type.
105
+ * @param type The type of the plugin.
106
+ * (e.g. Category)
107
+ * @param name The plugin's name. (Ex. logic_category)
108
+ * @param opt_throwIfMissing Whether or not to throw an error if we are unable
109
+ * to find the object.
110
+ * @return The object with the given name and type or null if none exists.
111
+ * @alias Blockly.registry.getObject
112
+ */
113
+ export declare function getObject<T>(type: string | Type<T>, name: string, opt_throwIfMissing?: boolean): T | null;
114
+ /**
115
+ * Returns a map of items registered with the given type.
116
+ * @param type The type of the plugin. (e.g. Category)
117
+ * @param opt_cased Whether or not to return a map with cased keys (rather than
118
+ * caseless keys). False by default.
119
+ * @param opt_throwIfMissing Whether or not to throw an error if we are unable
120
+ * to find the object. False by default.
121
+ * @return A map of objects with the given type, or null if none exists.
122
+ * @alias Blockly.registry.getAllItems
123
+ */
124
+ export declare function getAllItems<T>(type: string | Type<T>, opt_cased: boolean, opt_throwIfMissing?: boolean): {
125
+ [key: string]: T | null | (new (...p1: any[]) => T);
126
+ } | null;
127
+ /**
128
+ * Gets the class from Blockly options for the given type.
129
+ * This is used for plugins that override a built in feature. (e.g. Toolbox)
130
+ * @param type The type of the plugin.
131
+ * @param options The option object to check for the given plugin.
132
+ * @param opt_throwIfMissing Whether or not to throw an error if we are unable
133
+ * to find the plugin.
134
+ * @return The class for the plugin.
135
+ * @alias Blockly.registry.getClassFromOptions
136
+ */
137
+ export declare function getClassFromOptions<T>(type: Type<T>, options: Options, opt_throwIfMissing?: boolean): (new (...p1: any[]) => T) | null;
@@ -0,0 +1,339 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2020 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ /**
8
+ * @fileoverview This file is a universal registry that provides generic methods
9
+ * for registering and unregistering different types of classes.
10
+ */
11
+
12
+ /**
13
+ * This file is a universal registry that provides generic methods
14
+ * for registering and unregistering different types of classes.
15
+ * @namespace Blockly.registry
16
+ */
17
+ import * as goog from '../closure/goog/goog.js';
18
+ goog.declareModuleId('Blockly.registry');
19
+
20
+ import type {Abstract} from './events/events_abstract.js';
21
+ import type {Field} from './field.js';
22
+ import type {IBlockDragger} from './interfaces/i_block_dragger.js';
23
+ import type {IConnectionChecker} from './interfaces/i_connection_checker.js';
24
+ import type {IFlyout} from './interfaces/i_flyout.js';
25
+ import type {IMetricsManager} from './interfaces/i_metrics_manager.js';
26
+ import type {ISerializer} from './interfaces/i_serializer.js';
27
+ import type {IToolbox} from './interfaces/i_toolbox.js';
28
+ import type {Cursor} from './keyboard_nav/cursor.js';
29
+ import type {Options} from './options.js';
30
+ import type {Renderer} from './renderers/common/renderer.js';
31
+ import type {Theme} from './theme.js';
32
+ import type {ToolboxItem} from './toolbox/toolbox_item.js';
33
+
34
+
35
+ /**
36
+ * A map of maps. With the keys being the type and name of the class we are
37
+ * registering and the value being the constructor function.
38
+ * e.g. {'field': {'field_angle': Blockly.FieldAngle}}
39
+ */
40
+ const typeMap: {
41
+ [key: string]:
42
+ {[key: string]: (new () => AnyDuringMigration)|AnyDuringMigration}
43
+ } = Object.create(null);
44
+ export const TEST_ONLY = {typeMap};
45
+
46
+ /**
47
+ * A map of maps. With the keys being the type and caseless name of the class we
48
+ * are registring, and the value being the most recent cased name for that
49
+ * registration.
50
+ */
51
+ const nameMap: {[key: string]: {[key: string]: string}} = Object.create(null);
52
+
53
+ /**
54
+ * The string used to register the default class for a type of plugin.
55
+ * @alias Blockly.registry.DEFAULT
56
+ */
57
+ export const DEFAULT = 'default';
58
+
59
+ /**
60
+ * A name with the type of the element stored in the generic.
61
+ * @alias Blockly.registry.Type
62
+ */
63
+ export class Type<T> {
64
+ /** @param name The name of the registry type. */
65
+ constructor(private readonly name: string) {}
66
+
67
+ /**
68
+ * Returns the name of the type.
69
+ * @return The name.
70
+ */
71
+ toString(): string {
72
+ return this.name;
73
+ }
74
+
75
+ static CONNECTION_CHECKER = new Type<IConnectionChecker>('connectionChecker');
76
+
77
+ static CURSOR = new Type<Cursor>('cursor');
78
+
79
+ static EVENT = new Type<Abstract>('event');
80
+
81
+ static FIELD = new Type<Field>('field');
82
+
83
+ static RENDERER = new Type<Renderer>('renderer');
84
+
85
+ static TOOLBOX = new Type<IToolbox>('toolbox');
86
+
87
+ static THEME = new Type<Theme>('theme');
88
+
89
+ static TOOLBOX_ITEM = new Type<ToolboxItem>('toolboxItem');
90
+
91
+ static FLYOUTS_VERTICAL_TOOLBOX = new Type<IFlyout>('flyoutsVerticalToolbox');
92
+
93
+ static FLYOUTS_HORIZONTAL_TOOLBOX =
94
+ new Type<IFlyout>('flyoutsHorizontalToolbox');
95
+
96
+ static METRICS_MANAGER = new Type<IMetricsManager>('metricsManager');
97
+
98
+ static BLOCK_DRAGGER = new Type<IBlockDragger>('blockDragger');
99
+
100
+ /** @internal */
101
+ static SERIALIZER = new Type<ISerializer>('serializer');
102
+ }
103
+
104
+ /**
105
+ * Registers a class based on a type and name.
106
+ * @param type The type of the plugin.
107
+ * (e.g. Field, Renderer)
108
+ * @param name The plugin's name. (Ex. field_angle, geras)
109
+ * @param registryItem The class or object to register.
110
+ * @param opt_allowOverrides True to prevent an error when overriding an already
111
+ * registered item.
112
+ * @throws {Error} if the type or name is empty, a name with the given type has
113
+ * already been registered, or if the given class or object is not valid for
114
+ * its type.
115
+ * @alias Blockly.registry.register
116
+ */
117
+ export function register<T>(
118
+ type: string|Type<T>, name: string,
119
+ registryItem: (new (...p1: AnyDuringMigration[]) => T)|null|
120
+ AnyDuringMigration,
121
+ opt_allowOverrides?: boolean): void {
122
+ if (!(type instanceof Type) && typeof type !== 'string' ||
123
+ String(type).trim() === '') {
124
+ throw Error(
125
+ 'Invalid type "' + type + '". The type must be a' +
126
+ ' non-empty string or a Blockly.registry.Type.');
127
+ }
128
+ type = String(type).toLowerCase();
129
+
130
+ if (typeof name !== 'string' || name.trim() === '') {
131
+ throw Error(
132
+ 'Invalid name "' + name + '". The name must be a' +
133
+ ' non-empty string.');
134
+ }
135
+ const caselessName = name.toLowerCase();
136
+ if (!registryItem) {
137
+ throw Error('Can not register a null value');
138
+ }
139
+ let typeRegistry = typeMap[type];
140
+ let nameRegistry = nameMap[type];
141
+ // If the type registry has not been created, create it.
142
+ if (!typeRegistry) {
143
+ typeRegistry = typeMap[type] = Object.create(null);
144
+ nameRegistry = nameMap[type] = Object.create(null);
145
+ }
146
+
147
+ // Validate that the given class has all the required properties.
148
+ validate(type, registryItem);
149
+
150
+ // Don't throw an error if opt_allowOverrides is true.
151
+ if (!opt_allowOverrides && typeRegistry[caselessName]) {
152
+ throw Error(
153
+ 'Name "' + caselessName + '" with type "' + type +
154
+ '" already registered.');
155
+ }
156
+ typeRegistry[caselessName] = registryItem;
157
+ nameRegistry[caselessName] = name;
158
+ }
159
+
160
+ /**
161
+ * Checks the given registry item for properties that are required based on the
162
+ * type.
163
+ * @param type The type of the plugin. (e.g. Field, Renderer)
164
+ * @param registryItem A class or object that we are checking for the required
165
+ * properties.
166
+ */
167
+ function validate(type: string, registryItem: Function|AnyDuringMigration) {
168
+ switch (type) {
169
+ case String(Type.FIELD):
170
+ if (typeof registryItem.fromJson !== 'function') {
171
+ throw Error('Type "' + type + '" must have a fromJson function');
172
+ }
173
+ break;
174
+ }
175
+ }
176
+
177
+ /**
178
+ * Unregisters the registry item with the given type and name.
179
+ * @param type The type of the plugin.
180
+ * (e.g. Field, Renderer)
181
+ * @param name The plugin's name. (Ex. field_angle, geras)
182
+ * @alias Blockly.registry.unregister
183
+ */
184
+ export function unregister<T>(type: string|Type<T>, name: string) {
185
+ type = String(type).toLowerCase();
186
+ name = name.toLowerCase();
187
+ const typeRegistry = typeMap[type];
188
+ if (!typeRegistry || !typeRegistry[name]) {
189
+ console.warn(
190
+ 'Unable to unregister [' + name + '][' + type + '] from the ' +
191
+ 'registry.');
192
+ return;
193
+ }
194
+ delete typeMap[type][name];
195
+ delete nameMap[type][name];
196
+ }
197
+
198
+ /**
199
+ * Gets the registry item for the given name and type. This can be either a
200
+ * class or an object.
201
+ * @param type The type of the plugin.
202
+ * (e.g. Field, Renderer)
203
+ * @param name The plugin's name. (Ex. field_angle, geras)
204
+ * @param opt_throwIfMissing Whether or not to throw an error if we are unable
205
+ * to find the plugin.
206
+ * @return The class or object with the given name and type or null if none
207
+ * exists.
208
+ */
209
+ function getItem<T>(
210
+ type: string|Type<T>, name: string, opt_throwIfMissing?: boolean):
211
+ (new (...p1: AnyDuringMigration[]) => T)|null|AnyDuringMigration {
212
+ type = String(type).toLowerCase();
213
+ name = name.toLowerCase();
214
+ const typeRegistry = typeMap[type];
215
+ if (!typeRegistry || !typeRegistry[name]) {
216
+ const msg = 'Unable to find [' + name + '][' + type + '] in the registry.';
217
+ if (opt_throwIfMissing) {
218
+ throw new Error(
219
+ msg + ' You must require or register a ' + type + ' plugin.');
220
+ } else {
221
+ console.warn(msg);
222
+ }
223
+ return null;
224
+ }
225
+ return typeRegistry[name];
226
+ }
227
+
228
+ /**
229
+ * Returns whether or not the registry contains an item with the given type and
230
+ * name.
231
+ * @param type The type of the plugin.
232
+ * (e.g. Field, Renderer)
233
+ * @param name The plugin's name. (Ex. field_angle, geras)
234
+ * @return True if the registry has an item with the given type and name, false
235
+ * otherwise.
236
+ * @alias Blockly.registry.hasItem
237
+ */
238
+ export function hasItem<T>(type: string|Type<T>, name: string): boolean {
239
+ type = String(type).toLowerCase();
240
+ name = name.toLowerCase();
241
+ const typeRegistry = typeMap[type];
242
+ if (!typeRegistry) {
243
+ return false;
244
+ }
245
+ return !!typeRegistry[name];
246
+ }
247
+
248
+ /**
249
+ * Gets the class for the given name and type.
250
+ * @param type The type of the plugin.
251
+ * (e.g. Field, Renderer)
252
+ * @param name The plugin's name. (Ex. field_angle, geras)
253
+ * @param opt_throwIfMissing Whether or not to throw an error if we are unable
254
+ * to find the plugin.
255
+ * @return The class with the given name and type or null if none exists.
256
+ * @alias Blockly.registry.getClass
257
+ */
258
+ export function getClass<T>(
259
+ type: string|Type<T>, name: string, opt_throwIfMissing?: boolean):
260
+ (new (...p1: AnyDuringMigration[]) => T)|null {
261
+ return getItem(type, name, opt_throwIfMissing) as (
262
+ new (...p1: AnyDuringMigration[]) => T) |
263
+ null;
264
+ }
265
+
266
+ /**
267
+ * Gets the object for the given name and type.
268
+ * @param type The type of the plugin.
269
+ * (e.g. Category)
270
+ * @param name The plugin's name. (Ex. logic_category)
271
+ * @param opt_throwIfMissing Whether or not to throw an error if we are unable
272
+ * to find the object.
273
+ * @return The object with the given name and type or null if none exists.
274
+ * @alias Blockly.registry.getObject
275
+ */
276
+ export function getObject<T>(
277
+ type: string|Type<T>, name: string, opt_throwIfMissing?: boolean): T|null {
278
+ return getItem(type, name, opt_throwIfMissing) as T;
279
+ }
280
+
281
+ /**
282
+ * Returns a map of items registered with the given type.
283
+ * @param type The type of the plugin. (e.g. Category)
284
+ * @param opt_cased Whether or not to return a map with cased keys (rather than
285
+ * caseless keys). False by default.
286
+ * @param opt_throwIfMissing Whether or not to throw an error if we are unable
287
+ * to find the object. False by default.
288
+ * @return A map of objects with the given type, or null if none exists.
289
+ * @alias Blockly.registry.getAllItems
290
+ */
291
+ export function getAllItems<T>(
292
+ type: string|Type<T>, opt_cased: boolean, opt_throwIfMissing?: boolean):
293
+ {[key: string]: T|null|(new (...p1: AnyDuringMigration[]) => T)}|null {
294
+ type = String(type).toLowerCase();
295
+ const typeRegistry = typeMap[type];
296
+ if (!typeRegistry) {
297
+ const msg = `Unable to find [${type}] in the registry.`;
298
+ if (opt_throwIfMissing) {
299
+ throw new Error(`${msg} You must require or register a ${type} plugin.`);
300
+ } else {
301
+ console.warn(msg);
302
+ }
303
+ return null;
304
+ }
305
+ if (!opt_cased) {
306
+ return typeRegistry;
307
+ }
308
+ const nameRegistry = nameMap[type];
309
+ const casedRegistry = Object.create(null);
310
+ const keys = Object.keys(typeRegistry);
311
+ for (let i = 0; i < keys.length; i++) {
312
+ const key = keys[i];
313
+ casedRegistry[nameRegistry[key]] = typeRegistry[key];
314
+ }
315
+ return casedRegistry;
316
+ }
317
+
318
+ /**
319
+ * Gets the class from Blockly options for the given type.
320
+ * This is used for plugins that override a built in feature. (e.g. Toolbox)
321
+ * @param type The type of the plugin.
322
+ * @param options The option object to check for the given plugin.
323
+ * @param opt_throwIfMissing Whether or not to throw an error if we are unable
324
+ * to find the plugin.
325
+ * @return The class for the plugin.
326
+ * @alias Blockly.registry.getClassFromOptions
327
+ */
328
+ export function getClassFromOptions<T>(
329
+ type: Type<T>, options: Options, opt_throwIfMissing?: boolean):
330
+ (new (...p1: AnyDuringMigration[]) => T)|null {
331
+ const typeName = type.toString();
332
+ const plugin = options.plugins[typeName] || DEFAULT;
333
+
334
+ // If the user passed in a plugin class instead of a registered plugin name.
335
+ if (typeof plugin === 'function') {
336
+ return plugin;
337
+ }
338
+ return getClass(type, plugin, opt_throwIfMissing);
339
+ }
@@ -0,0 +1,191 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2016 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { Block } from './block.js';
7
+ import type { BlockSvg } from './block_svg.js';
8
+ import { Connection } from './connection.js';
9
+ import { Coordinate } from './utils/coordinate.js';
10
+ /**
11
+ * Class for a connection between blocks that may be rendered on screen.
12
+ * @alias Blockly.RenderedConnection
13
+ */
14
+ export declare class RenderedConnection extends Connection {
15
+ sourceBlock_: BlockSvg;
16
+ private readonly db_;
17
+ private readonly dbOpposite_;
18
+ private readonly offsetInBlock_;
19
+ private trackedState_;
20
+ /** Connection this connection connects to. Null if not connected. */
21
+ targetConnection: RenderedConnection | null;
22
+ /**
23
+ * @param source The block establishing this connection.
24
+ * @param type The type of the connection.
25
+ */
26
+ constructor(source: BlockSvg, type: number);
27
+ /**
28
+ * Dispose of this connection. Remove it from the database (if it is
29
+ * tracked) and call the super-function to deal with connected blocks.
30
+ * @internal
31
+ */
32
+ dispose(): void;
33
+ /**
34
+ * Get the source block for this connection.
35
+ * @return The source block.
36
+ */
37
+ getSourceBlock(): BlockSvg;
38
+ /**
39
+ * Returns the block that this connection connects to.
40
+ * @return The connected block or null if none is connected.
41
+ */
42
+ targetBlock(): BlockSvg | null;
43
+ /**
44
+ * Returns the distance between this connection and another connection in
45
+ * workspace units.
46
+ * @param otherConnection The other connection to measure the distance to.
47
+ * @return The distance between connections, in workspace units.
48
+ */
49
+ distanceFrom(otherConnection: Connection): number;
50
+ /**
51
+ * Move the block(s) belonging to the connection to a point where they don't
52
+ * visually interfere with the specified connection.
53
+ * @param staticConnection The connection to move away from.
54
+ * @internal
55
+ */
56
+ bumpAwayFrom(staticConnection: RenderedConnection): void;
57
+ /**
58
+ * Change the connection's coordinates.
59
+ * @param x New absolute x coordinate, in workspace coordinates.
60
+ * @param y New absolute y coordinate, in workspace coordinates.
61
+ */
62
+ moveTo(x: number, y: number): void;
63
+ /**
64
+ * Change the connection's coordinates.
65
+ * @param dx Change to x coordinate, in workspace units.
66
+ * @param dy Change to y coordinate, in workspace units.
67
+ */
68
+ moveBy(dx: number, dy: number): void;
69
+ /**
70
+ * Move this connection to the location given by its offset within the block
71
+ * and the location of the block's top left corner.
72
+ * @param blockTL The location of the top left corner of the block, in
73
+ * workspace coordinates.
74
+ */
75
+ moveToOffset(blockTL: Coordinate): void;
76
+ /**
77
+ * Set the offset of this connection relative to the top left of its block.
78
+ * @param x The new relative x, in workspace units.
79
+ * @param y The new relative y, in workspace units.
80
+ */
81
+ setOffsetInBlock(x: number, y: number): void;
82
+ /**
83
+ * Get the offset of this connection relative to the top left of its block.
84
+ * @return The offset of the connection.
85
+ * @internal
86
+ */
87
+ getOffsetInBlock(): Coordinate;
88
+ /**
89
+ * Move the blocks on either side of this connection right next to each other.
90
+ * @internal
91
+ */
92
+ tighten(): void;
93
+ /**
94
+ * Find the closest compatible connection to this connection.
95
+ * All parameters are in workspace units.
96
+ * @param maxLimit The maximum radius to another connection.
97
+ * @param dxy Offset between this connection's location in the database and
98
+ * the current location (as a result of dragging).
99
+ * @return Contains two properties: 'connection' which is either another
100
+ * connection or null, and 'radius' which is the distance.
101
+ */
102
+ closest(maxLimit: number, dxy: Coordinate): {
103
+ connection: RenderedConnection | null;
104
+ radius: number;
105
+ };
106
+ /** Add highlighting around this connection. */
107
+ highlight(): void;
108
+ /** Remove the highlighting around this connection. */
109
+ unhighlight(): void;
110
+ /**
111
+ * Set whether this connections is tracked in the database or not.
112
+ * @param doTracking If true, start tracking. If false, stop tracking.
113
+ * @internal
114
+ */
115
+ setTracking(doTracking: boolean): void;
116
+ /**
117
+ * Stop tracking this connection, as well as all down-stream connections on
118
+ * any block attached to this connection. This happens when a block is
119
+ * collapsed.
120
+ *
121
+ * Also closes down-stream icons/bubbles.
122
+ * @internal
123
+ */
124
+ stopTrackingAll(): void;
125
+ /**
126
+ * Start tracking this connection, as well as all down-stream connections on
127
+ * any block attached to this connection. This happens when a block is
128
+ * expanded.
129
+ * @return List of blocks to render.
130
+ */
131
+ startTrackingAll(): Block[];
132
+ /**
133
+ * Behavior after a connection attempt fails.
134
+ * Bumps this connection away from the other connection. Called when an
135
+ * attempted connection fails.
136
+ * @param otherConnection Connection that this connection failed to connect
137
+ * to.
138
+ * @internal
139
+ */
140
+ onFailedConnect(otherConnection: Connection): void;
141
+ /**
142
+ * Disconnect two blocks that are connected by this connection.
143
+ * @param parentBlock The superior block.
144
+ * @param childBlock The inferior block.
145
+ */
146
+ protected disconnectInternal_(parentBlock: Block, childBlock: Block): void;
147
+ /**
148
+ * Respawn the shadow block if there was one connected to the this connection.
149
+ * Render/rerender blocks as needed.
150
+ */
151
+ protected respawnShadow_(): void;
152
+ /**
153
+ * Find all nearby compatible connections to this connection.
154
+ * Type checking does not apply, since this function is used for bumping.
155
+ * @param maxLimit The maximum radius to another connection, in workspace
156
+ * units.
157
+ * @return List of connections.
158
+ * @internal
159
+ */
160
+ neighbours(maxLimit: number): Connection[];
161
+ /**
162
+ * Connect two connections together. This is the connection on the superior
163
+ * block. Rerender blocks as needed.
164
+ * @param childConnection Connection on inferior block.
165
+ */
166
+ protected connect_(childConnection: Connection): void;
167
+ /**
168
+ * Function to be called when this connection's compatible types have changed.
169
+ */
170
+ protected onCheckChanged_(): void;
171
+ }
172
+ export declare namespace RenderedConnection {
173
+ /**
174
+ * Enum for different kinds of tracked states.
175
+ *
176
+ * WILL_TRACK means that this connection will add itself to
177
+ * the db on the next moveTo call it receives.
178
+ *
179
+ * UNTRACKED means that this connection will not add
180
+ * itself to the database until setTracking(true) is explicitly called.
181
+ *
182
+ * TRACKED means that this connection is currently being tracked.
183
+ */
184
+ enum TrackedState {
185
+ WILL_TRACK = -1,
186
+ UNTRACKED = 0,
187
+ TRACKED = 1
188
+ }
189
+ }
190
+ export declare type TrackedState = RenderedConnection.TrackedState;
191
+ export declare const TrackedState: typeof RenderedConnection.TrackedState;