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
@@ -7,75 +7,72 @@
7
7
  /**
8
8
  * @fileoverview Registers default keyboard shortcuts.
9
9
  */
10
- 'use strict';
11
10
 
12
11
  /**
13
12
  * Registers default keyboard shortcuts.
14
13
  * @namespace Blockly.ShortcutItems
15
14
  */
16
- goog.module('Blockly.ShortcutItems');
15
+ import * as goog from '../closure/goog/goog.js';
16
+ goog.declareModuleId('Blockly.ShortcutItems');
17
17
 
18
- const clipboard = goog.require('Blockly.clipboard');
19
- const common = goog.require('Blockly.common');
20
- /* eslint-disable-next-line no-unused-vars */
21
- const {BlockSvg} = goog.requireType('Blockly.BlockSvg');
22
- const {Gesture} = goog.require('Blockly.Gesture');
23
- /* eslint-disable-next-line no-unused-vars */
24
- const {ICopyable} = goog.requireType('Blockly.ICopyable');
25
- const {KeyCodes} = goog.require('Blockly.utils.KeyCodes');
26
- const {ShortcutRegistry} = goog.require('Blockly.ShortcutRegistry');
18
+ import {BlockSvg} from './block_svg.js';
19
+ import * as clipboard from './clipboard.js';
20
+ import * as common from './common.js';
21
+ import {Gesture} from './gesture.js';
22
+ import type {ICopyable} from './interfaces/i_copyable.js';
23
+ import {KeyboardShortcut, ShortcutRegistry} from './shortcut_registry.js';
24
+ import {KeyCodes} from './utils/keycodes.js';
25
+ import type {WorkspaceSvg} from './workspace_svg.js';
27
26
 
28
27
 
29
28
  /**
30
29
  * Object holding the names of the default shortcut items.
31
- * @enum {string}
32
30
  * @alias Blockly.ShortcutItems.names
33
31
  */
34
- const names = {
35
- ESCAPE: 'escape',
36
- DELETE: 'delete',
37
- COPY: 'copy',
38
- CUT: 'cut',
39
- PASTE: 'paste',
40
- UNDO: 'undo',
41
- REDO: 'redo',
42
- };
43
- exports.names = names;
32
+ export enum names {
33
+ ESCAPE = 'escape',
34
+ DELETE = 'delete',
35
+ COPY = 'copy',
36
+ CUT = 'cut',
37
+ PASTE = 'paste',
38
+ UNDO = 'undo',
39
+ REDO = 'redo'
40
+ }
44
41
 
45
42
  /**
46
43
  * Keyboard shortcut to hide chaff on escape.
47
44
  * @alias Blockly.ShortcutItems.registerEscape
48
45
  */
49
- const registerEscape = function() {
50
- /** @type {!ShortcutRegistry.KeyboardShortcut} */
51
- const escapeAction = {
46
+ export function registerEscape() {
47
+ const escapeAction: KeyboardShortcut = {
52
48
  name: names.ESCAPE,
53
- preconditionFn: function(workspace) {
49
+ preconditionFn(workspace) {
54
50
  return !workspace.options.readOnly;
55
51
  },
56
- callback: function(workspace) {
57
- workspace.hideChaff();
52
+ callback(workspace) {
53
+ // AnyDuringMigration because: Property 'hideChaff' does not exist on
54
+ // type 'Workspace'.
55
+ (workspace as AnyDuringMigration).hideChaff();
58
56
  return true;
59
57
  },
58
+ keyCodes: [KeyCodes.ESC],
60
59
  };
61
60
  ShortcutRegistry.registry.register(escapeAction);
62
- ShortcutRegistry.registry.addKeyMapping(KeyCodes.ESC, escapeAction.name);
63
- };
64
- exports.registerEscape = registerEscape;
61
+ }
65
62
 
66
63
  /**
67
64
  * Keyboard shortcut to delete a block on delete or backspace
68
65
  * @alias Blockly.ShortcutItems.registerDelete
69
66
  */
70
- const registerDelete = function() {
71
- /** @type {!ShortcutRegistry.KeyboardShortcut} */
72
- const deleteShortcut = {
67
+ export function registerDelete() {
68
+ const deleteShortcut: KeyboardShortcut = {
73
69
  name: names.DELETE,
74
- preconditionFn: function(workspace) {
70
+ preconditionFn(workspace) {
75
71
  const selected = common.getSelected();
76
- return !workspace.options.readOnly && selected && selected.isDeletable();
72
+ return !workspace.options.readOnly && selected != null &&
73
+ selected.isDeletable();
77
74
  },
78
- callback: function(workspace, e) {
75
+ callback(workspace, e) {
79
76
  // Delete or backspace.
80
77
  // Stop the browser from going back to the previous page.
81
78
  // Do this first to prevent an error in the delete code from resulting in
@@ -85,210 +82,178 @@ const registerDelete = function() {
85
82
  if (Gesture.inProgress()) {
86
83
  return false;
87
84
  }
88
- (/** @type {!BlockSvg} */ (common.getSelected())).checkAndDelete();
85
+ (common.getSelected() as BlockSvg).checkAndDelete();
89
86
  return true;
90
87
  },
88
+ keyCodes: [KeyCodes.DELETE, KeyCodes.BACKSPACE],
91
89
  };
92
90
  ShortcutRegistry.registry.register(deleteShortcut);
93
- ShortcutRegistry.registry.addKeyMapping(KeyCodes.DELETE, deleteShortcut.name);
94
- ShortcutRegistry.registry.addKeyMapping(
95
- KeyCodes.BACKSPACE, deleteShortcut.name);
96
- };
97
- exports.registerDelete = registerDelete;
91
+ }
98
92
 
99
93
  /**
100
94
  * Keyboard shortcut to copy a block on ctrl+c, cmd+c, or alt+c.
101
95
  * @alias Blockly.ShortcutItems.registerCopy
102
96
  */
103
- const registerCopy = function() {
104
- /** @type {!ShortcutRegistry.KeyboardShortcut} */
105
- const copyShortcut = {
97
+ export function registerCopy() {
98
+ const ctrlC = ShortcutRegistry.registry.createSerializedKey(
99
+ KeyCodes.C, [KeyCodes.CTRL]);
100
+ const altC =
101
+ ShortcutRegistry.registry.createSerializedKey(KeyCodes.C, [KeyCodes.ALT]);
102
+ const metaC = ShortcutRegistry.registry.createSerializedKey(
103
+ KeyCodes.C, [KeyCodes.META]);
104
+
105
+ const copyShortcut: KeyboardShortcut = {
106
106
  name: names.COPY,
107
- preconditionFn: function(workspace) {
107
+ preconditionFn(workspace) {
108
108
  const selected = common.getSelected();
109
- return !workspace.options.readOnly && !Gesture.inProgress() && selected &&
110
- selected.isDeletable() && selected.isMovable();
109
+ return !workspace.options.readOnly && !Gesture.inProgress() &&
110
+ selected != null && selected.isDeletable() && selected.isMovable();
111
111
  },
112
- callback: function(workspace, e) {
112
+ callback(workspace, e) {
113
113
  // Prevent the default copy behavior, which may beep or otherwise indicate
114
114
  // an error due to the lack of a selection.
115
115
  e.preventDefault();
116
- workspace.hideChaff();
117
- clipboard.copy(/** @type {!ICopyable} */ (common.getSelected()));
116
+ // AnyDuringMigration because: Property 'hideChaff' does not exist on
117
+ // type 'Workspace'.
118
+ (workspace as AnyDuringMigration).hideChaff();
119
+ clipboard.copy(common.getSelected() as ICopyable);
118
120
  return true;
119
121
  },
122
+ keyCodes: [ctrlC, altC, metaC],
120
123
  };
121
124
  ShortcutRegistry.registry.register(copyShortcut);
122
-
123
- const ctrlC = ShortcutRegistry.registry.createSerializedKey(
124
- KeyCodes.C, [KeyCodes.CTRL]);
125
- ShortcutRegistry.registry.addKeyMapping(ctrlC, copyShortcut.name);
126
-
127
- const altC =
128
- ShortcutRegistry.registry.createSerializedKey(KeyCodes.C, [KeyCodes.ALT]);
129
- ShortcutRegistry.registry.addKeyMapping(altC, copyShortcut.name);
130
-
131
- const metaC = ShortcutRegistry.registry.createSerializedKey(
132
- KeyCodes.C, [KeyCodes.META]);
133
- ShortcutRegistry.registry.addKeyMapping(metaC, copyShortcut.name);
134
- };
135
- exports.registerCopy = registerCopy;
125
+ }
136
126
 
137
127
  /**
138
128
  * Keyboard shortcut to copy and delete a block on ctrl+x, cmd+x, or alt+x.
139
129
  * @alias Blockly.ShortcutItems.registerCut
140
130
  */
141
- const registerCut = function() {
142
- /** @type {!ShortcutRegistry.KeyboardShortcut} */
143
- const cutShortcut = {
131
+ export function registerCut() {
132
+ const ctrlX = ShortcutRegistry.registry.createSerializedKey(
133
+ KeyCodes.X, [KeyCodes.CTRL]);
134
+ const altX =
135
+ ShortcutRegistry.registry.createSerializedKey(KeyCodes.X, [KeyCodes.ALT]);
136
+ const metaX = ShortcutRegistry.registry.createSerializedKey(
137
+ KeyCodes.X, [KeyCodes.META]);
138
+
139
+ const cutShortcut: KeyboardShortcut = {
144
140
  name: names.CUT,
145
- preconditionFn: function(workspace) {
141
+ preconditionFn(workspace) {
146
142
  const selected = common.getSelected();
147
- return !workspace.options.readOnly && !Gesture.inProgress() && selected &&
143
+ return !workspace.options.readOnly && !Gesture.inProgress() &&
144
+ selected != null && selected instanceof BlockSvg &&
148
145
  selected.isDeletable() && selected.isMovable() &&
149
- !selected.workspace.isFlyout;
146
+ !selected.workspace!.isFlyout;
150
147
  },
151
- callback: function() {
148
+ callback() {
152
149
  const selected = common.getSelected();
153
150
  if (!selected) {
154
151
  // Shouldn't happen but appeases the type system
155
152
  return false;
156
153
  }
157
154
  clipboard.copy(selected);
158
- (/** @type {!BlockSvg} */ (selected)).checkAndDelete();
155
+ (selected as BlockSvg).checkAndDelete();
159
156
  return true;
160
157
  },
158
+ keyCodes: [ctrlX, altX, metaX],
161
159
  };
162
160
 
163
161
  ShortcutRegistry.registry.register(cutShortcut);
164
-
165
- const ctrlX = ShortcutRegistry.registry.createSerializedKey(
166
- KeyCodes.X, [KeyCodes.CTRL]);
167
- ShortcutRegistry.registry.addKeyMapping(ctrlX, cutShortcut.name);
168
-
169
- const altX =
170
- ShortcutRegistry.registry.createSerializedKey(KeyCodes.X, [KeyCodes.ALT]);
171
- ShortcutRegistry.registry.addKeyMapping(altX, cutShortcut.name);
172
-
173
- const metaX = ShortcutRegistry.registry.createSerializedKey(
174
- KeyCodes.X, [KeyCodes.META]);
175
- ShortcutRegistry.registry.addKeyMapping(metaX, cutShortcut.name);
176
- };
177
- exports.registerCut = registerCut;
162
+ }
178
163
 
179
164
  /**
180
165
  * Keyboard shortcut to paste a block on ctrl+v, cmd+v, or alt+v.
181
166
  * @alias Blockly.ShortcutItems.registerPaste
182
167
  */
183
- const registerPaste = function() {
184
- /** @type {!ShortcutRegistry.KeyboardShortcut} */
185
- const pasteShortcut = {
168
+ export function registerPaste() {
169
+ const ctrlV = ShortcutRegistry.registry.createSerializedKey(
170
+ KeyCodes.V, [KeyCodes.CTRL]);
171
+ const altV =
172
+ ShortcutRegistry.registry.createSerializedKey(KeyCodes.V, [KeyCodes.ALT]);
173
+ const metaV = ShortcutRegistry.registry.createSerializedKey(
174
+ KeyCodes.V, [KeyCodes.META]);
175
+
176
+ const pasteShortcut: KeyboardShortcut = {
186
177
  name: names.PASTE,
187
- preconditionFn: function(workspace) {
178
+ preconditionFn(workspace) {
188
179
  return !workspace.options.readOnly && !Gesture.inProgress();
189
180
  },
190
- callback: function() {
191
- return clipboard.paste();
181
+ callback() {
182
+ return !!(clipboard.paste());
192
183
  },
184
+ keyCodes: [ctrlV, altV, metaV],
193
185
  };
194
186
 
195
187
  ShortcutRegistry.registry.register(pasteShortcut);
196
-
197
- const ctrlV = ShortcutRegistry.registry.createSerializedKey(
198
- KeyCodes.V, [KeyCodes.CTRL]);
199
- ShortcutRegistry.registry.addKeyMapping(ctrlV, pasteShortcut.name);
200
-
201
- const altV =
202
- ShortcutRegistry.registry.createSerializedKey(KeyCodes.V, [KeyCodes.ALT]);
203
- ShortcutRegistry.registry.addKeyMapping(altV, pasteShortcut.name);
204
-
205
- const metaV = ShortcutRegistry.registry.createSerializedKey(
206
- KeyCodes.V, [KeyCodes.META]);
207
- ShortcutRegistry.registry.addKeyMapping(metaV, pasteShortcut.name);
208
- };
209
- exports.registerPaste = registerPaste;
188
+ }
210
189
 
211
190
  /**
212
191
  * Keyboard shortcut to undo the previous action on ctrl+z, cmd+z, or alt+z.
213
192
  * @alias Blockly.ShortcutItems.registerUndo
214
193
  */
215
- const registerUndo = function() {
216
- /** @type {!ShortcutRegistry.KeyboardShortcut} */
217
- const undoShortcut = {
194
+ export function registerUndo() {
195
+ const ctrlZ = ShortcutRegistry.registry.createSerializedKey(
196
+ KeyCodes.Z, [KeyCodes.CTRL]);
197
+ const altZ =
198
+ ShortcutRegistry.registry.createSerializedKey(KeyCodes.Z, [KeyCodes.ALT]);
199
+ const metaZ = ShortcutRegistry.registry.createSerializedKey(
200
+ KeyCodes.Z, [KeyCodes.META]);
201
+
202
+ const undoShortcut: KeyboardShortcut = {
218
203
  name: names.UNDO,
219
- preconditionFn: function(workspace) {
204
+ preconditionFn(workspace) {
220
205
  return !workspace.options.readOnly && !Gesture.inProgress();
221
206
  },
222
- callback: function(workspace) {
207
+ callback(workspace) {
223
208
  // 'z' for undo 'Z' is for redo.
224
- workspace.hideChaff();
209
+ (workspace as WorkspaceSvg).hideChaff();
225
210
  workspace.undo(false);
226
211
  return true;
227
212
  },
213
+ keyCodes: [ctrlZ, altZ, metaZ],
228
214
  };
229
215
  ShortcutRegistry.registry.register(undoShortcut);
230
-
231
- const ctrlZ = ShortcutRegistry.registry.createSerializedKey(
232
- KeyCodes.Z, [KeyCodes.CTRL]);
233
- ShortcutRegistry.registry.addKeyMapping(ctrlZ, undoShortcut.name);
234
-
235
- const altZ =
236
- ShortcutRegistry.registry.createSerializedKey(KeyCodes.Z, [KeyCodes.ALT]);
237
- ShortcutRegistry.registry.addKeyMapping(altZ, undoShortcut.name);
238
-
239
- const metaZ = ShortcutRegistry.registry.createSerializedKey(
240
- KeyCodes.Z, [KeyCodes.META]);
241
- ShortcutRegistry.registry.addKeyMapping(metaZ, undoShortcut.name);
242
- };
243
- exports.registerUndo = registerUndo;
216
+ }
244
217
 
245
218
  /**
246
219
  * Keyboard shortcut to redo the previous action on ctrl+shift+z, cmd+shift+z,
247
220
  * or alt+shift+z.
248
221
  * @alias Blockly.ShortcutItems.registerRedo
249
222
  */
250
- const registerRedo = function() {
251
- /** @type {!ShortcutRegistry.KeyboardShortcut} */
252
- const redoShortcut = {
253
- name: names.REDO,
254
- preconditionFn: function(workspace) {
255
- return !Gesture.inProgress() && !workspace.options.readOnly;
256
- },
257
- callback: function(workspace) {
258
- // 'z' for undo 'Z' is for redo.
259
- workspace.hideChaff();
260
- workspace.undo(true);
261
- return true;
262
- },
263
- };
264
- ShortcutRegistry.registry.register(redoShortcut);
265
-
223
+ export function registerRedo() {
266
224
  const ctrlShiftZ = ShortcutRegistry.registry.createSerializedKey(
267
225
  KeyCodes.Z, [KeyCodes.SHIFT, KeyCodes.CTRL]);
268
- ShortcutRegistry.registry.addKeyMapping(ctrlShiftZ, redoShortcut.name);
269
-
270
226
  const altShiftZ = ShortcutRegistry.registry.createSerializedKey(
271
227
  KeyCodes.Z, [KeyCodes.SHIFT, KeyCodes.ALT]);
272
- ShortcutRegistry.registry.addKeyMapping(altShiftZ, redoShortcut.name);
273
-
274
228
  const metaShiftZ = ShortcutRegistry.registry.createSerializedKey(
275
229
  KeyCodes.Z, [KeyCodes.SHIFT, KeyCodes.META]);
276
- ShortcutRegistry.registry.addKeyMapping(metaShiftZ, redoShortcut.name);
277
-
278
230
  // Ctrl-y is redo in Windows. Command-y is never valid on Macs.
279
231
  const ctrlY = ShortcutRegistry.registry.createSerializedKey(
280
232
  KeyCodes.Y, [KeyCodes.CTRL]);
281
- ShortcutRegistry.registry.addKeyMapping(ctrlY, redoShortcut.name);
282
- };
283
- exports.registerRedo = registerRedo;
233
+
234
+ const redoShortcut: KeyboardShortcut = {
235
+ name: names.REDO,
236
+ preconditionFn(workspace) {
237
+ return !Gesture.inProgress() && !workspace.options.readOnly;
238
+ },
239
+ callback(workspace) {
240
+ // 'z' for undo 'Z' is for redo.
241
+ (workspace as WorkspaceSvg).hideChaff();
242
+ workspace.undo(true);
243
+ return true;
244
+ },
245
+ keyCodes: [ctrlShiftZ, altShiftZ, metaShiftZ, ctrlY],
246
+ };
247
+ ShortcutRegistry.registry.register(redoShortcut);
248
+ }
284
249
 
285
250
  /**
286
251
  * Registers all default keyboard shortcut item. This should be called once per
287
252
  * instance of KeyboardShortcutRegistry.
288
253
  * @alias Blockly.ShortcutItems.registerDefaultShortcuts
289
- * @package
254
+ * @internal
290
255
  */
291
- const registerDefaultShortcuts = function() {
256
+ export function registerDefaultShortcuts() {
292
257
  registerEscape();
293
258
  registerDelete();
294
259
  registerCopy();
@@ -296,7 +261,6 @@ const registerDefaultShortcuts = function() {
296
261
  registerPaste();
297
262
  registerUndo();
298
263
  registerRedo();
299
- };
300
- exports.registerDefaultShortcuts = registerDefaultShortcuts;
264
+ }
301
265
 
302
266
  registerDefaultShortcuts();
@@ -0,0 +1,151 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2020 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { KeyCodes } from './utils/keycodes.js';
7
+ import type { Workspace } from './workspace.js';
8
+ /**
9
+ * Class for the registry of keyboard shortcuts. This is intended to be a
10
+ * singleton. You should not create a new instance, and only access this class
11
+ * from ShortcutRegistry.registry.
12
+ * @alias Blockly.ShortcutRegistry
13
+ */
14
+ export declare class ShortcutRegistry {
15
+ static readonly registry: ShortcutRegistry;
16
+ /** Registry of all keyboard shortcuts, keyed by name of shortcut. */
17
+ private shortcuts;
18
+ /** Map of key codes to an array of shortcut names. */
19
+ private keyMap;
20
+ /** Resets the existing ShortcutRegistry singleton. */
21
+ private constructor();
22
+ /** Clear and recreate the registry and keyMap. */
23
+ reset(): void;
24
+ /**
25
+ * Registers a keyboard shortcut.
26
+ * @param shortcut The shortcut for this key code.
27
+ * @param opt_allowOverrides True to prevent a warning when overriding an
28
+ * already registered item.
29
+ * @throws {Error} if a shortcut with the same name already exists.
30
+ */
31
+ register(shortcut: KeyboardShortcut, opt_allowOverrides?: boolean): void;
32
+ /**
33
+ * Unregisters a keyboard shortcut registered with the given key code. This
34
+ * will also remove any key mappings that reference this shortcut.
35
+ * @param shortcutName The name of the shortcut to unregister.
36
+ * @return True if an item was unregistered, false otherwise.
37
+ */
38
+ unregister(shortcutName: string): boolean;
39
+ /**
40
+ * Adds a mapping between a keycode and a keyboard shortcut.
41
+ * @param keyCode The key code for the keyboard shortcut. If registering a key
42
+ * code with a modifier (ex: ctrl+c) use
43
+ * ShortcutRegistry.registry.createSerializedKey;
44
+ * @param shortcutName The name of the shortcut to execute when the given
45
+ * keycode is pressed.
46
+ * @param opt_allowCollision True to prevent an error when adding a shortcut
47
+ * to a key that is already mapped to a shortcut.
48
+ * @throws {Error} if the given key code is already mapped to a shortcut.
49
+ */
50
+ addKeyMapping(keyCode: string | number | KeyCodes, shortcutName: string, opt_allowCollision?: boolean): void;
51
+ /**
52
+ * Removes a mapping between a keycode and a keyboard shortcut.
53
+ * @param keyCode The key code for the keyboard shortcut. If registering a key
54
+ * code with a modifier (ex: ctrl+c) use
55
+ * ShortcutRegistry.registry.createSerializedKey;
56
+ * @param shortcutName The name of the shortcut to execute when the given
57
+ * keycode is pressed.
58
+ * @param opt_quiet True to not console warn when there is no shortcut to
59
+ * remove.
60
+ * @return True if a key mapping was removed, false otherwise.
61
+ */
62
+ removeKeyMapping(keyCode: string, shortcutName: string, opt_quiet?: boolean): boolean;
63
+ /**
64
+ * Removes all the key mappings for a shortcut with the given name.
65
+ * Useful when changing the default key mappings and the key codes registered
66
+ * to the shortcut are unknown.
67
+ * @param shortcutName The name of the shortcut to remove from the key map.
68
+ */
69
+ removeAllKeyMappings(shortcutName: string): void;
70
+ /**
71
+ * Sets the key map. Setting the key map will override any default key
72
+ * mappings.
73
+ * @param newKeyMap The object with key code to shortcut names.
74
+ */
75
+ setKeyMap(newKeyMap: {
76
+ [key: string]: string[];
77
+ }): void;
78
+ /**
79
+ * Gets the current key map.
80
+ * @return The object holding key codes to ShortcutRegistry.KeyboardShortcut.
81
+ */
82
+ getKeyMap(): {
83
+ [key: string]: string[];
84
+ };
85
+ /**
86
+ * Gets the registry of keyboard shortcuts.
87
+ * @return The registry of keyboard shortcuts.
88
+ */
89
+ getRegistry(): {
90
+ [key: string]: KeyboardShortcut;
91
+ };
92
+ /**
93
+ * Handles key down events.
94
+ * @param workspace The main workspace where the event was captured.
95
+ * @param e The key down event.
96
+ * @return True if the event was handled, false otherwise.
97
+ */
98
+ onKeyDown(workspace: Workspace, e: KeyboardEvent): boolean;
99
+ /**
100
+ * Gets the shortcuts registered to the given key code.
101
+ * @param keyCode The serialized key code.
102
+ * @return The list of shortcuts to call when the given keyCode is used.
103
+ * Undefined if no shortcuts exist.
104
+ */
105
+ getShortcutNamesByKeyCode(keyCode: string): string[] | undefined;
106
+ /**
107
+ * Gets the serialized key codes that the shortcut with the given name is
108
+ * registered under.
109
+ * @param shortcutName The name of the shortcut.
110
+ * @return An array with all the key codes the shortcut is registered under.
111
+ */
112
+ getKeyCodesByShortcutName(shortcutName: string): string[];
113
+ /**
114
+ * Serializes a key event.
115
+ * @param e A key down event.
116
+ * @return The serialized key code for the given event.
117
+ */
118
+ private serializeKeyEvent_;
119
+ /**
120
+ * Checks whether any of the given modifiers are not valid.
121
+ * @param modifiers List of modifiers to be used with the key.
122
+ * @throws {Error} if the modifier is not in the valid modifiers list.
123
+ */
124
+ private checkModifiers_;
125
+ /**
126
+ * Creates the serialized key code that will be used in the key map.
127
+ * @param keyCode Number code representing the key.
128
+ * @param modifiers List of modifier key codes to be used with the key. All
129
+ * valid modifiers can be found in the ShortcutRegistry.modifierKeys.
130
+ * @return The serialized key code for the given modifiers and key.
131
+ */
132
+ createSerializedKey(keyCode: number, modifiers: KeyCodes[] | null): string;
133
+ }
134
+ export declare namespace ShortcutRegistry {
135
+ interface KeyboardShortcut {
136
+ callback?: ((p1: Workspace, p2: Event, p3: KeyboardShortcut) => boolean);
137
+ name: string;
138
+ preconditionFn?: ((p1: Workspace) => boolean);
139
+ metadata?: object;
140
+ keyCodes?: (number | string)[];
141
+ allowCollision?: boolean;
142
+ }
143
+ /** Supported modifiers. */
144
+ enum modifierKeys {
145
+ Shift = 16,
146
+ Control = 17,
147
+ Alt = 18,
148
+ Meta = 91
149
+ }
150
+ }
151
+ export declare type KeyboardShortcut = ShortcutRegistry.KeyboardShortcut;