blockly 8.0.4 → 8.0.5-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (858) hide show
  1. package/blockly.min.js +2421 -2688
  2. package/blockly_compressed.js +1499 -1994
  3. package/blockly_compressed.js.map +1 -1
  4. package/blocks/blocks.js +3 -2
  5. package/blocks/colour.js +3 -1
  6. package/blocks/lists.js +94 -22
  7. package/blocks/logic.js +14 -6
  8. package/blocks/loops.js +5 -3
  9. package/blocks/math.js +3 -1
  10. package/blocks/procedures.js +3 -1
  11. package/blocks/text.js +14 -6
  12. package/blocks/variables.js +3 -1
  13. package/blocks/variables_dynamic.js +3 -1
  14. package/blocks.d.ts +0 -2
  15. package/blocks_compressed.js +189 -171
  16. package/blocks_compressed.js.map +1 -1
  17. package/closure/goog/base.d.ts +1 -0
  18. package/closure/goog/base_minimal.d.ts +18 -0
  19. package/closure/goog/goog.d.ts +25 -0
  20. package/core/any_aliases.d.ts +1 -0
  21. package/core/any_aliases.ts +1 -0
  22. package/core/block.d.ts +779 -0
  23. package/core/{block.js → block.ts} +610 -719
  24. package/core/block_animations.d.ts +33 -0
  25. package/core/{block_animations.js → block_animations.ts} +75 -79
  26. package/core/block_drag_surface.d.ts +111 -0
  27. package/core/{block_drag_surface.js → block_drag_surface.ts} +85 -117
  28. package/core/block_dragger.d.ts +143 -0
  29. package/core/{block_dragger.js → block_dragger.ts} +139 -176
  30. package/core/block_svg.d.ts +588 -0
  31. package/core/{block_svg.js → block_svg.ts} +494 -630
  32. package/core/blockly.d.ts +562 -0
  33. package/core/blockly.js +1 -1
  34. package/core/blockly.ts +749 -0
  35. package/core/blockly_options.d.ts +69 -0
  36. package/core/blockly_options.ts +81 -0
  37. package/core/blocks.d.ts +17 -0
  38. package/core/{blocks.js → blocks.ts} +4 -8
  39. package/core/browser_events.d.ts +85 -0
  40. package/core/{browser_events.js → browser_events.ts} +98 -93
  41. package/core/bubble.d.ts +279 -0
  42. package/core/{bubble.js → bubble.ts} +277 -370
  43. package/core/bubble_dragger.d.ts +73 -0
  44. package/core/bubble_dragger.ts +229 -0
  45. package/core/bump_objects.d.ts +34 -0
  46. package/core/{bump_objects.js → bump_objects.ts} +54 -52
  47. package/core/clipboard.d.ts +42 -0
  48. package/core/clipboard.ts +91 -0
  49. package/core/comment.d.ts +113 -0
  50. package/core/{comment.js → comment.ts} +135 -185
  51. package/core/common.d.ts +129 -0
  52. package/core/{common.js → common.ts} +105 -82
  53. package/core/component_manager.d.ts +91 -0
  54. package/core/component_manager.ts +211 -0
  55. package/core/config.d.ts +23 -0
  56. package/core/{config.js → config.ts} +12 -19
  57. package/core/connection.d.ts +232 -0
  58. package/core/{connection.js → connection.ts} +187 -237
  59. package/core/connection_checker.d.ts +78 -0
  60. package/core/{connection_checker.js → connection_checker.ts} +66 -77
  61. package/core/connection_db.d.ts +91 -0
  62. package/core/{connection_db.js → connection_db.ts} +62 -87
  63. package/core/connection_type.d.ts +15 -0
  64. package/core/{connection_type.js → connection_type.ts} +8 -12
  65. package/core/constants.d.ts +15 -0
  66. package/core/{constants.js → constants.ts} +4 -8
  67. package/core/contextmenu.d.ts +80 -0
  68. package/core/{contextmenu.js → contextmenu.ts} +118 -153
  69. package/core/contextmenu_items.d.ts +77 -0
  70. package/core/contextmenu_items.ts +576 -0
  71. package/core/contextmenu_registry.d.ts +105 -0
  72. package/core/contextmenu_registry.ts +179 -0
  73. package/core/css.d.ts +24 -0
  74. package/core/{css.js → css.ts} +16 -24
  75. package/core/delete_area.d.ts +47 -0
  76. package/core/delete_area.ts +82 -0
  77. package/core/dialog.d.ts +61 -0
  78. package/core/dialog.ts +127 -0
  79. package/core/drag_target.d.ts +63 -0
  80. package/core/drag_target.ts +94 -0
  81. package/core/dropdowndiv.d.ts +155 -0
  82. package/core/{dropdowndiv.js → dropdowndiv.ts} +262 -333
  83. package/core/events/events.d.ts +102 -0
  84. package/core/events/events.ts +123 -0
  85. package/core/events/events_abstract.d.ts +51 -0
  86. package/core/events/events_abstract.ts +112 -0
  87. package/core/events/events_block_base.d.ts +31 -0
  88. package/core/events/events_block_base.ts +65 -0
  89. package/core/events/events_block_change.d.ts +55 -0
  90. package/core/events/{events_block_change.js → events_block_change.ts} +45 -48
  91. package/core/events/events_block_create.d.ts +35 -0
  92. package/core/events/{events_block_create.js → events_block_create.ts} +30 -35
  93. package/core/events/events_block_delete.d.ts +36 -0
  94. package/core/events/{events_block_delete.js → events_block_delete.ts} +34 -39
  95. package/core/events/events_block_drag.d.ts +36 -0
  96. package/core/events/events_block_drag.ts +82 -0
  97. package/core/events/events_block_move.d.ts +51 -0
  98. package/core/events/{events_block_move.js → events_block_move.ts} +54 -50
  99. package/core/events/events_bubble_open.d.ts +35 -0
  100. package/core/events/events_bubble_open.ts +82 -0
  101. package/core/events/events_click.d.ts +36 -0
  102. package/core/events/{events_click.js → events_click.ts} +27 -30
  103. package/core/events/events_comment_base.d.ts +39 -0
  104. package/core/events/events_comment_base.ts +107 -0
  105. package/core/events/events_comment_change.d.ts +43 -0
  106. package/core/events/{events_comment_change.js → events_comment_change.ts} +31 -28
  107. package/core/events/events_comment_create.d.ts +35 -0
  108. package/core/events/{events_comment_create.js → events_comment_create.ts} +24 -26
  109. package/core/events/events_comment_delete.d.ts +35 -0
  110. package/core/events/{events_comment_delete.js → events_comment_delete.ts} +20 -24
  111. package/core/events/events_comment_move.d.ts +55 -0
  112. package/core/events/{events_comment_move.js → events_comment_move.ts} +39 -42
  113. package/core/events/events_marker_move.d.ts +40 -0
  114. package/core/events/events_marker_move.ts +99 -0
  115. package/core/events/events_selected.d.ts +34 -0
  116. package/core/events/events_selected.ts +78 -0
  117. package/core/events/events_theme_change.d.ts +30 -0
  118. package/core/events/{events_theme_change.js → events_theme_change.ts} +19 -24
  119. package/core/events/events_toolbox_item_select.d.ts +34 -0
  120. package/core/events/events_toolbox_item_select.ts +79 -0
  121. package/core/events/events_trashcan_open.d.ts +31 -0
  122. package/core/events/events_trashcan_open.ts +68 -0
  123. package/core/events/events_ui.d.ts +37 -0
  124. package/core/events/{events_ui.js → events_ui.ts} +27 -26
  125. package/core/events/events_ui_base.d.ts +26 -0
  126. package/core/events/{events_ui_base.js → events_ui_base.ts} +17 -26
  127. package/core/events/events_var_base.d.ts +31 -0
  128. package/core/events/events_var_base.ts +65 -0
  129. package/core/events/events_var_create.d.ts +35 -0
  130. package/core/events/{events_var_create.js → events_var_create.ts} +24 -25
  131. package/core/events/events_var_delete.d.ts +35 -0
  132. package/core/events/{events_var_delete.js → events_var_delete.ts} +24 -25
  133. package/core/events/events_var_rename.d.ts +36 -0
  134. package/core/events/{events_var_rename.js → events_var_rename.ts} +25 -26
  135. package/core/events/events_viewport.d.ts +39 -0
  136. package/core/events/events_viewport.ts +100 -0
  137. package/core/events/utils.d.ts +272 -0
  138. package/core/events/{utils.js → utils.ts} +148 -219
  139. package/core/events/workspace_events.d.ts +36 -0
  140. package/core/events/workspace_events.ts +86 -0
  141. package/core/extensions.d.ts +107 -0
  142. package/core/{extensions.js → extensions.ts} +153 -172
  143. package/core/field.d.ts +534 -0
  144. package/core/{field.js → field.ts} +413 -489
  145. package/core/field_angle.d.ts +176 -0
  146. package/core/field_angle.ts +563 -0
  147. package/core/field_checkbox.d.ts +124 -0
  148. package/core/field_checkbox.ts +243 -0
  149. package/core/field_colour.d.ts +200 -0
  150. package/core/field_colour.ts +632 -0
  151. package/core/field_dropdown.d.ts +222 -0
  152. package/core/{field_dropdown.js → field_dropdown.ts} +277 -299
  153. package/core/field_image.d.ts +134 -0
  154. package/core/field_image.ts +282 -0
  155. package/core/field_label.d.ts +71 -0
  156. package/core/field_label.ts +152 -0
  157. package/core/field_label_serializable.d.ts +42 -0
  158. package/core/field_label_serializable.ts +76 -0
  159. package/core/field_multilineinput.d.ts +146 -0
  160. package/core/{field_multilineinput.js → field_multilineinput.ts} +166 -163
  161. package/core/field_number.d.ts +156 -0
  162. package/core/{field_number.js → field_number.ts} +110 -123
  163. package/core/field_registry.d.ts +45 -0
  164. package/core/{field_registry.js → field_registry.ts} +37 -30
  165. package/core/field_textinput.d.ts +219 -0
  166. package/core/field_textinput.ts +591 -0
  167. package/core/field_variable.d.ts +217 -0
  168. package/core/{field_variable.js → field_variable.ts} +174 -187
  169. package/core/flyout_base.d.ts +459 -0
  170. package/core/{flyout_base.js → flyout_base.ts} +429 -518
  171. package/core/flyout_button.d.ts +81 -0
  172. package/core/flyout_button.ts +292 -0
  173. package/core/flyout_horizontal.d.ts +82 -0
  174. package/core/{flyout_horizontal.js → flyout_horizontal.ts} +97 -107
  175. package/core/flyout_metrics_manager.d.ts +40 -0
  176. package/core/{flyout_metrics_manager.js → flyout_metrics_manager.ts} +22 -34
  177. package/core/flyout_vertical.d.ts +83 -0
  178. package/core/{flyout_vertical.js → flyout_vertical.ts} +106 -117
  179. package/core/generator.d.ts +205 -0
  180. package/core/{generator.js → generator.ts} +168 -193
  181. package/core/gesture.d.ts +357 -0
  182. package/core/{gesture.js → gesture.ts} +289 -369
  183. package/core/grid.d.ts +83 -0
  184. package/core/grid.ts +192 -0
  185. package/core/icon.d.ts +78 -0
  186. package/core/icon.ts +189 -0
  187. package/core/inject.d.ts +15 -0
  188. package/core/{inject.js → inject.ts} +101 -100
  189. package/core/input.d.ts +128 -0
  190. package/core/input.ts +309 -0
  191. package/core/input_types.d.ts +14 -0
  192. package/core/{input_types.js → input_types.ts} +8 -12
  193. package/core/insertion_marker_manager.d.ts +212 -0
  194. package/core/{insertion_marker_manager.js → insertion_marker_manager.ts} +234 -236
  195. package/core/interfaces/i_ast_node_location.d.ts +11 -0
  196. package/core/interfaces/{i_ast_node_location.js → i_ast_node_location.ts} +4 -7
  197. package/core/interfaces/i_ast_node_location_svg.d.ts +22 -0
  198. package/core/interfaces/i_ast_node_location_svg.ts +37 -0
  199. package/core/interfaces/i_ast_node_location_with_block.d.ts +18 -0
  200. package/core/interfaces/i_ast_node_location_with_block.ts +38 -0
  201. package/core/interfaces/i_autohideable.d.ts +18 -0
  202. package/core/interfaces/i_autohideable.ts +34 -0
  203. package/core/interfaces/i_block_dragger.d.ts +43 -0
  204. package/core/interfaces/i_block_dragger.ts +67 -0
  205. package/core/interfaces/i_bounded_element.d.ts +24 -0
  206. package/core/interfaces/i_bounded_element.ts +42 -0
  207. package/core/interfaces/i_bubble.d.ts +59 -0
  208. package/core/interfaces/i_bubble.ts +88 -0
  209. package/core/interfaces/i_collapsible_toolbox_item.d.ts +26 -0
  210. package/core/interfaces/i_collapsible_toolbox_item.ts +47 -0
  211. package/core/interfaces/i_component.d.ts +17 -0
  212. package/core/interfaces/{i_component.js → i_component.ts} +9 -14
  213. package/core/interfaces/i_connection_checker.d.ts +69 -0
  214. package/core/interfaces/i_connection_checker.ts +102 -0
  215. package/core/interfaces/i_contextmenu.d.ts +13 -0
  216. package/core/interfaces/i_contextmenu.ts +26 -0
  217. package/core/interfaces/i_copyable.d.ts +24 -0
  218. package/core/interfaces/i_copyable.ts +40 -0
  219. package/core/interfaces/i_deletable.d.ts +16 -0
  220. package/core/interfaces/{i_deletable.js → i_deletable.ts} +9 -13
  221. package/core/interfaces/i_delete_area.d.ts +25 -0
  222. package/core/interfaces/i_delete_area.ts +46 -0
  223. package/core/interfaces/i_drag_target.d.ts +53 -0
  224. package/core/interfaces/i_drag_target.ts +84 -0
  225. package/core/interfaces/i_draggable.d.ts +12 -0
  226. package/core/interfaces/{i_draggable.js → i_draggable.ts} +4 -10
  227. package/core/interfaces/i_flyout.d.ts +134 -0
  228. package/core/interfaces/i_flyout.ts +186 -0
  229. package/core/interfaces/i_keyboard_accessible.d.ts +18 -0
  230. package/core/interfaces/i_keyboard_accessible.ts +35 -0
  231. package/core/interfaces/i_metrics_manager.d.ts +117 -0
  232. package/core/interfaces/i_metrics_manager.ts +151 -0
  233. package/core/interfaces/i_movable.d.ts +16 -0
  234. package/core/interfaces/{i_movable.js → i_movable.ts} +9 -13
  235. package/core/interfaces/i_positionable.d.ts +27 -0
  236. package/core/interfaces/i_positionable.ts +50 -0
  237. package/core/interfaces/i_registrable.d.ts +11 -0
  238. package/core/interfaces/{i_registrable.js → i_registrable.ts} +3 -7
  239. package/core/interfaces/i_registrable_field.d.ts +17 -0
  240. package/core/interfaces/{i_registrable_field.js → i_registrable_field.ts} +8 -16
  241. package/core/interfaces/i_selectable.d.ts +18 -0
  242. package/core/interfaces/i_selectable.ts +34 -0
  243. package/core/interfaces/i_selectable_toolbox_item.d.ts +42 -0
  244. package/core/interfaces/i_selectable_toolbox_item.ts +64 -0
  245. package/core/interfaces/i_serializer.d.ts +42 -0
  246. package/core/interfaces/i_serializer.ts +65 -0
  247. package/core/interfaces/i_styleable.d.ts +21 -0
  248. package/core/interfaces/i_styleable.ts +35 -0
  249. package/core/interfaces/i_toolbox.d.ts +85 -0
  250. package/core/interfaces/i_toolbox.ts +127 -0
  251. package/core/interfaces/i_toolbox_item.d.ts +62 -0
  252. package/core/interfaces/i_toolbox_item.ts +84 -0
  253. package/core/internal_constants.d.ts +40 -0
  254. package/core/{internal_constants.js → internal_constants.ts} +13 -18
  255. package/core/keyboard_nav/ast_node.d.ts +239 -0
  256. package/core/keyboard_nav/{ast_node.js → ast_node.ts} +207 -231
  257. package/core/keyboard_nav/basic_cursor.d.ts +88 -0
  258. package/core/keyboard_nav/{basic_cursor.js → basic_cursor.ts} +55 -66
  259. package/core/keyboard_nav/cursor.d.ts +41 -0
  260. package/core/keyboard_nav/{cursor.js → cursor.ts} +25 -35
  261. package/core/keyboard_nav/marker.d.ts +58 -0
  262. package/core/keyboard_nav/{marker.js → marker.ts} +36 -55
  263. package/core/keyboard_nav/tab_navigate_cursor.d.ts +19 -0
  264. package/core/keyboard_nav/{tab_navigate_cursor.js → tab_navigate_cursor.ts} +11 -15
  265. package/core/main.d.ts +11 -0
  266. package/core/main.js +303 -0
  267. package/core/marker_manager.d.ts +85 -0
  268. package/core/marker_manager.ts +181 -0
  269. package/core/menu.d.ts +149 -0
  270. package/core/{menu.js → menu.ts} +141 -174
  271. package/core/menuitem.d.ts +118 -0
  272. package/core/menuitem.ts +240 -0
  273. package/core/metrics_manager.d.ts +201 -0
  274. package/core/{metrics_manager.js → metrics_manager.ts} +117 -156
  275. package/core/msg.d.ts +9 -0
  276. package/core/{msg.js → msg.ts} +4 -8
  277. package/core/mutator.d.ts +128 -0
  278. package/core/{mutator.js → mutator.ts} +196 -211
  279. package/core/names.d.ts +124 -0
  280. package/core/names.ts +267 -0
  281. package/core/options.d.ts +137 -0
  282. package/core/{options.js → options.ts} +147 -173
  283. package/core/positionable_helpers.d.ts +88 -0
  284. package/core/{positionable_helpers.js → positionable_helpers.ts} +63 -70
  285. package/core/procedures.d.ts +108 -0
  286. package/core/{procedures.js → procedures.ts} +143 -152
  287. package/core/registry.d.ts +137 -0
  288. package/core/registry.ts +339 -0
  289. package/core/rendered_connection.d.ts +191 -0
  290. package/core/{rendered_connection.js → rendered_connection.ts} +164 -184
  291. package/core/renderers/common/block_rendering.d.ts +114 -0
  292. package/core/renderers/common/block_rendering.ts +164 -0
  293. package/core/renderers/common/constants.d.ts +458 -0
  294. package/core/renderers/common/constants.ts +1124 -0
  295. package/core/renderers/common/debug.d.ts +28 -0
  296. package/core/renderers/common/{debug.js → debug.ts} +14 -20
  297. package/core/renderers/common/debugger.d.ts +120 -0
  298. package/core/renderers/common/{debugger.js → debugger.ts} +100 -124
  299. package/core/renderers/common/drawer.d.ts +132 -0
  300. package/core/renderers/common/{drawer.js → drawer.ts} +112 -137
  301. package/core/renderers/common/i_path_object.d.ts +117 -0
  302. package/core/renderers/common/i_path_object.ts +161 -0
  303. package/core/renderers/common/info.d.ts +194 -0
  304. package/core/renderers/common/{info.js → info.ts} +165 -222
  305. package/core/renderers/common/marker_svg.d.ts +220 -0
  306. package/core/renderers/common/marker_svg.ts +680 -0
  307. package/core/renderers/common/path_object.d.ts +146 -0
  308. package/core/renderers/common/path_object.ts +272 -0
  309. package/core/renderers/common/renderer.d.ts +157 -0
  310. package/core/renderers/common/renderer.ts +271 -0
  311. package/core/renderers/geras/constants.d.ts +23 -0
  312. package/core/renderers/geras/constants.ts +61 -0
  313. package/core/renderers/geras/drawer.d.ts +43 -0
  314. package/core/renderers/geras/{drawer.js → drawer.ts} +40 -84
  315. package/core/renderers/geras/geras.d.ts +11 -0
  316. package/core/renderers/geras/geras.ts +37 -0
  317. package/core/renderers/geras/highlight_constants.d.ts +108 -0
  318. package/core/renderers/geras/{highlight_constants.js → highlight_constants.ts} +107 -69
  319. package/core/renderers/geras/highlighter.d.ts +98 -0
  320. package/core/renderers/geras/{highlighter.js → highlighter.ts} +81 -86
  321. package/core/renderers/geras/info.d.ts +45 -0
  322. package/core/renderers/geras/{info.js → info.ts} +61 -99
  323. package/core/renderers/geras/measurables/inline_input.d.ts +23 -0
  324. package/core/renderers/geras/measurables/inline_input.ts +51 -0
  325. package/core/renderers/geras/measurables/statement_input.d.ts +23 -0
  326. package/core/renderers/geras/measurables/statement_input.ts +50 -0
  327. package/core/renderers/geras/path_object.d.ts +47 -0
  328. package/core/renderers/geras/{path_object.js → path_object.ts} +46 -74
  329. package/core/renderers/geras/renderer.d.ts +69 -0
  330. package/core/renderers/geras/renderer.ts +126 -0
  331. package/core/renderers/measurables/base.d.ts +27 -0
  332. package/core/renderers/measurables/base.ts +53 -0
  333. package/core/renderers/measurables/bottom_row.d.ts +61 -0
  334. package/core/renderers/measurables/bottom_row.ts +120 -0
  335. package/core/renderers/measurables/connection.d.ts +25 -0
  336. package/core/renderers/measurables/connection.ts +52 -0
  337. package/core/renderers/measurables/external_value_input.d.ts +27 -0
  338. package/core/renderers/measurables/external_value_input.ts +65 -0
  339. package/core/renderers/measurables/field.d.ts +30 -0
  340. package/core/renderers/measurables/field.ts +63 -0
  341. package/core/renderers/measurables/hat.d.ts +21 -0
  342. package/core/renderers/measurables/{hat.js → hat.ts} +12 -14
  343. package/core/renderers/measurables/icon.d.ts +26 -0
  344. package/core/renderers/measurables/{icon.js → icon.ts} +14 -18
  345. package/core/renderers/measurables/in_row_spacer.d.ts +21 -0
  346. package/core/renderers/measurables/in_row_spacer.ts +44 -0
  347. package/core/renderers/measurables/inline_input.d.ts +24 -0
  348. package/core/renderers/measurables/{inline_input.js → inline_input.ts} +22 -26
  349. package/core/renderers/measurables/input_connection.d.ts +29 -0
  350. package/core/renderers/measurables/input_connection.ts +66 -0
  351. package/core/renderers/measurables/input_row.d.ts +30 -0
  352. package/core/renderers/measurables/{input_row.js → input_row.ts} +24 -31
  353. package/core/renderers/measurables/jagged_edge.d.ts +20 -0
  354. package/core/renderers/measurables/{jagged_edge.js → jagged_edge.ts} +10 -13
  355. package/core/renderers/measurables/next_connection.d.ts +23 -0
  356. package/core/renderers/measurables/next_connection.ts +47 -0
  357. package/core/renderers/measurables/output_connection.d.ts +26 -0
  358. package/core/renderers/measurables/output_connection.ts +56 -0
  359. package/core/renderers/measurables/previous_connection.d.ts +23 -0
  360. package/core/renderers/measurables/previous_connection.ts +47 -0
  361. package/core/renderers/measurables/round_corner.d.ts +21 -0
  362. package/core/renderers/measurables/round_corner.ts +49 -0
  363. package/core/renderers/measurables/row.d.ts +141 -0
  364. package/core/renderers/measurables/row.ts +225 -0
  365. package/core/renderers/measurables/spacer_row.d.ts +29 -0
  366. package/core/renderers/measurables/spacer_row.ts +55 -0
  367. package/core/renderers/measurables/square_corner.d.ts +21 -0
  368. package/core/renderers/measurables/square_corner.ts +47 -0
  369. package/core/renderers/measurables/statement_input.d.ts +22 -0
  370. package/core/renderers/measurables/{statement_input.js → statement_input.ts} +14 -18
  371. package/core/renderers/measurables/top_row.d.ts +56 -0
  372. package/core/renderers/measurables/top_row.ts +122 -0
  373. package/core/renderers/measurables/types.d.ts +235 -0
  374. package/core/renderers/measurables/types.ts +332 -0
  375. package/core/renderers/minimalist/constants.d.ts +14 -0
  376. package/core/renderers/minimalist/{constants.js → constants.ts} +5 -10
  377. package/core/renderers/minimalist/drawer.d.ts +21 -0
  378. package/core/renderers/minimalist/drawer.ts +38 -0
  379. package/core/renderers/minimalist/info.d.ts +30 -0
  380. package/core/renderers/minimalist/info.ts +52 -0
  381. package/core/renderers/minimalist/minimalist.d.ts +6 -0
  382. package/core/renderers/minimalist/minimalist.ts +22 -0
  383. package/core/renderers/minimalist/renderer.d.ts +41 -0
  384. package/core/renderers/minimalist/renderer.ts +71 -0
  385. package/core/renderers/thrasos/info.d.ts +40 -0
  386. package/core/renderers/thrasos/{info.js → info.ts} +66 -67
  387. package/core/renderers/thrasos/renderer.d.ts +25 -0
  388. package/core/renderers/thrasos/renderer.ts +48 -0
  389. package/core/renderers/thrasos/thrasos.d.ts +4 -0
  390. package/core/renderers/thrasos/thrasos.ts +20 -0
  391. package/core/renderers/zelos/constants.d.ts +186 -0
  392. package/core/renderers/zelos/{constants.js → constants.ts} +294 -441
  393. package/core/renderers/zelos/drawer.d.ts +47 -0
  394. package/core/renderers/zelos/{drawer.js → drawer.ts} +73 -95
  395. package/core/renderers/zelos/info.d.ts +88 -0
  396. package/core/renderers/zelos/{info.js → info.ts} +111 -142
  397. package/core/renderers/zelos/marker_svg.d.ts +46 -0
  398. package/core/renderers/zelos/marker_svg.ts +151 -0
  399. package/core/renderers/zelos/measurables/bottom_row.d.ts +27 -0
  400. package/core/renderers/zelos/measurables/bottom_row.ts +53 -0
  401. package/core/renderers/zelos/measurables/inputs.d.ts +23 -0
  402. package/core/renderers/zelos/measurables/{inputs.js → inputs.ts} +14 -15
  403. package/core/renderers/zelos/measurables/row_elements.d.ts +21 -0
  404. package/core/renderers/zelos/measurables/row_elements.ts +45 -0
  405. package/core/renderers/zelos/measurables/top_row.d.ts +29 -0
  406. package/core/renderers/zelos/measurables/{top_row.js → top_row.ts} +14 -27
  407. package/core/renderers/zelos/path_object.d.ts +77 -0
  408. package/core/renderers/zelos/path_object.ts +215 -0
  409. package/core/renderers/zelos/renderer.d.ts +74 -0
  410. package/core/renderers/zelos/renderer.ts +142 -0
  411. package/core/renderers/zelos/zelos.d.ts +12 -0
  412. package/core/renderers/zelos/zelos.ts +39 -0
  413. package/core/scrollbar.d.ts +277 -0
  414. package/core/{scrollbar.js → scrollbar.ts} +307 -328
  415. package/core/scrollbar_pair.d.ts +105 -0
  416. package/core/{scrollbar_pair.js → scrollbar_pair.ts} +71 -79
  417. package/core/serialization/blocks.d.ts +98 -0
  418. package/core/serialization/{blocks.js → blocks.ts} +229 -228
  419. package/core/serialization/exceptions.d.ts +73 -0
  420. package/core/serialization/exceptions.ts +98 -0
  421. package/core/serialization/priorities.d.ts +15 -0
  422. package/core/serialization/{priorities.js → priorities.ts} +4 -10
  423. package/core/serialization/registry.d.ts +20 -0
  424. package/core/serialization/{registry.js → registry.ts} +11 -13
  425. package/core/serialization/variables.d.ts +14 -0
  426. package/core/serialization/{variables.js → variables.ts} +30 -32
  427. package/core/serialization/workspaces.d.ts +28 -0
  428. package/core/serialization/{workspaces.js → workspaces.ts} +30 -27
  429. package/core/shortcut_items.d.ts +61 -0
  430. package/core/{shortcut_items.js → shortcut_items.ts} +121 -157
  431. package/core/shortcut_registry.d.ts +151 -0
  432. package/core/shortcut_registry.ts +355 -0
  433. package/core/sprites.d.ts +19 -0
  434. package/core/{sprites.js → sprites.ts} +4 -6
  435. package/core/theme/classic.d.ts +12 -0
  436. package/core/theme/{classic.js → classic.ts} +5 -7
  437. package/core/theme/themes.d.ts +8 -0
  438. package/core/theme/themes.ts +22 -0
  439. package/core/theme/zelos.d.ts +11 -0
  440. package/core/theme/{zelos.js → zelos.ts} +4 -7
  441. package/core/theme.d.ts +142 -0
  442. package/core/theme.ts +221 -0
  443. package/core/theme_manager.d.ts +81 -0
  444. package/core/theme_manager.ts +186 -0
  445. package/core/toolbox/category.d.ts +239 -0
  446. package/core/toolbox/category.ts +679 -0
  447. package/core/toolbox/collapsible_category.d.ts +91 -0
  448. package/core/toolbox/collapsible_category.ts +273 -0
  449. package/core/toolbox/separator.d.ts +39 -0
  450. package/core/toolbox/separator.ts +105 -0
  451. package/core/toolbox/toolbox.d.ts +352 -0
  452. package/core/toolbox/{toolbox.js → toolbox.ts} +316 -432
  453. package/core/toolbox/toolbox_item.d.ts +85 -0
  454. package/core/toolbox/toolbox_item.ts +147 -0
  455. package/core/tooltip.d.ts +126 -0
  456. package/core/{tooltip.js → tooltip.ts} +136 -214
  457. package/core/touch.d.ts +121 -0
  458. package/core/touch.ts +306 -0
  459. package/core/touch_gesture.d.ts +115 -0
  460. package/core/{touch_gesture.js → touch_gesture.ts} +87 -125
  461. package/core/trashcan.d.ts +195 -0
  462. package/core/{trashcan.js → trashcan.ts} +226 -312
  463. package/core/utils/aria.d.ts +67 -0
  464. package/core/utils/{aria.js → aria.ts} +47 -61
  465. package/core/utils/array.d.ts +14 -0
  466. package/core/utils/{array.js → array.ts} +10 -12
  467. package/core/utils/colour.d.ts +103 -0
  468. package/core/utils/{colour.js → colour.ts} +60 -72
  469. package/core/utils/coordinate.d.ts +72 -0
  470. package/core/utils/coordinate.ts +124 -0
  471. package/core/utils/deprecation.d.ts +17 -0
  472. package/core/utils/{deprecation.js → deprecation.ts} +11 -11
  473. package/core/utils/dom.d.ts +165 -0
  474. package/core/utils/{dom.js → dom.ts} +125 -147
  475. package/core/utils/idgenerator.d.ts +25 -0
  476. package/core/utils/{idgenerator.js → idgenerator.ts} +15 -18
  477. package/core/utils/keycodes.d.ts +137 -0
  478. package/core/utils/keycodes.ts +169 -0
  479. package/core/utils/math.d.ts +30 -0
  480. package/core/utils/{math.js → math.ts} +17 -19
  481. package/core/utils/metrics.d.ts +64 -0
  482. package/core/utils/metrics.ts +97 -0
  483. package/core/utils/object.d.ts +35 -0
  484. package/core/utils/{object.js → object.ts} +30 -26
  485. package/core/utils/parsing.d.ts +50 -0
  486. package/core/utils/{parsing.js → parsing.ts} +50 -50
  487. package/core/utils/rect.d.ts +38 -0
  488. package/core/utils/{rect.js → rect.ts} +18 -31
  489. package/core/utils/sentinel.d.ts +11 -0
  490. package/core/utils/{sentinel.js → sentinel.ts} +3 -5
  491. package/core/utils/size.d.ts +27 -0
  492. package/core/utils/{size.js → size.ts} +12 -26
  493. package/core/utils/string.d.ts +55 -0
  494. package/core/utils/{string.js → string.ts} +64 -61
  495. package/core/utils/style.d.ts +127 -0
  496. package/core/utils/{style.js → style.ts} +102 -92
  497. package/core/utils/svg.d.ts +68 -0
  498. package/core/utils/svg.ts +88 -0
  499. package/core/utils/svg_math.d.ts +70 -0
  500. package/core/utils/{svg_math.js → svg_math.ts} +72 -71
  501. package/core/utils/svg_paths.d.ts +101 -0
  502. package/core/utils/{svg_paths.js → svg_paths.ts} +56 -65
  503. package/core/utils/toolbox.d.ts +193 -0
  504. package/core/utils/toolbox.ts +433 -0
  505. package/core/utils/useragent.d.ts +33 -0
  506. package/core/utils/useragent.ts +135 -0
  507. package/core/utils/xml.d.ts +52 -0
  508. package/core/utils/{xml.js → xml.ts} +26 -36
  509. package/core/utils.d.ts +217 -0
  510. package/core/utils.ts +428 -0
  511. package/core/variable_map.d.ts +141 -0
  512. package/core/{variable_map.js → variable_map.ts} +131 -149
  513. package/core/variable_model.d.ts +40 -0
  514. package/core/variable_model.ts +82 -0
  515. package/core/variables.d.ts +181 -0
  516. package/core/{variables.js → variables.ts} +206 -188
  517. package/core/variables_dynamic.d.ts +38 -0
  518. package/core/{variables_dynamic.js → variables_dynamic.ts} +47 -43
  519. package/core/warning.d.ts +50 -0
  520. package/core/{warning.js → warning.ts} +52 -66
  521. package/core/widgetdiv.d.ts +69 -0
  522. package/core/widgetdiv.ts +257 -0
  523. package/core/workspace.d.ts +386 -0
  524. package/core/workspace.ts +801 -0
  525. package/core/workspace_audio.d.ts +47 -0
  526. package/core/{workspace_audio.js → workspace_audio.ts} +47 -60
  527. package/core/workspace_comment.d.ts +170 -0
  528. package/core/workspace_comment.ts +398 -0
  529. package/core/workspace_comment_svg.d.ts +329 -0
  530. package/core/{workspace_comment_svg.js → workspace_comment_svg.ts} +347 -444
  531. package/core/workspace_drag_surface_svg.d.ts +68 -0
  532. package/core/{workspace_drag_surface_svg.js → workspace_drag_surface_svg.ts} +75 -82
  533. package/core/workspace_dragger.d.ts +48 -0
  534. package/core/workspace_dragger.ts +104 -0
  535. package/core/workspace_svg.d.ts +920 -0
  536. package/core/{workspace_svg.js → workspace_svg.ts} +855 -935
  537. package/core/xml.d.ts +117 -0
  538. package/core/{xml.js → xml.ts} +306 -326
  539. package/core/zoom_controls.d.ts +130 -0
  540. package/core/{zoom_controls.js → zoom_controls.ts} +185 -251
  541. package/core.d.ts +1 -3
  542. package/core.js +1 -2
  543. package/dart.d.ts +0 -3
  544. package/dart_compressed.js +387 -99
  545. package/dart_compressed.js.map +1 -1
  546. package/generators/dart/all.js +2 -0
  547. package/generators/dart/colour.js +1 -1
  548. package/generators/dart/lists.js +1 -1
  549. package/generators/dart/logic.js +1 -1
  550. package/generators/dart/loops.js +1 -1
  551. package/generators/dart/math.js +1 -1
  552. package/generators/dart/procedures.js +1 -1
  553. package/generators/dart/text.js +1 -1
  554. package/generators/dart/variables.js +1 -1
  555. package/generators/dart/variables_dynamic.js +1 -1
  556. package/generators/dart.js +1 -2
  557. package/generators/javascript/all.js +2 -0
  558. package/generators/javascript/colour.js +1 -1
  559. package/generators/javascript/lists.js +1 -1
  560. package/generators/javascript/logic.js +1 -1
  561. package/generators/javascript/loops.js +1 -1
  562. package/generators/javascript/math.js +4 -4
  563. package/generators/javascript/procedures.js +1 -1
  564. package/generators/javascript/text.js +2 -2
  565. package/generators/javascript/variables.js +1 -1
  566. package/generators/javascript/variables_dynamic.js +1 -1
  567. package/generators/javascript.js +1 -3
  568. package/generators/lua/all.js +2 -0
  569. package/generators/lua/colour.js +1 -1
  570. package/generators/lua/lists.js +1 -1
  571. package/generators/lua/logic.js +1 -1
  572. package/generators/lua/loops.js +1 -1
  573. package/generators/lua/math.js +1 -1
  574. package/generators/lua/procedures.js +1 -1
  575. package/generators/lua/text.js +1 -1
  576. package/generators/lua/variables.js +1 -1
  577. package/generators/lua/variables_dynamic.js +1 -1
  578. package/generators/lua.js +1 -2
  579. package/generators/php/all.js +2 -0
  580. package/generators/php/colour.js +1 -1
  581. package/generators/php/lists.js +1 -2
  582. package/generators/php/logic.js +1 -1
  583. package/generators/php/loops.js +1 -1
  584. package/generators/php/math.js +1 -1
  585. package/generators/php/procedures.js +1 -1
  586. package/generators/php/text.js +1 -1
  587. package/generators/php/variables.js +1 -1
  588. package/generators/php/variables_dynamic.js +1 -1
  589. package/generators/php.js +1 -2
  590. package/generators/python/all.js +2 -0
  591. package/generators/python/colour.js +3 -3
  592. package/generators/python/lists.js +1 -1
  593. package/generators/python/logic.js +1 -1
  594. package/generators/python/loops.js +4 -7
  595. package/generators/python/math.js +1 -1
  596. package/generators/python/procedures.js +1 -1
  597. package/generators/python/text.js +1 -1
  598. package/generators/python/variables.js +1 -1
  599. package/generators/python/variables_dynamic.js +1 -1
  600. package/generators/python.js +1 -2
  601. package/index.d.ts +2 -8
  602. package/javascript.d.ts +0 -3
  603. package/javascript_compressed.js +314 -104
  604. package/javascript_compressed.js.map +1 -1
  605. package/lua.d.ts +0 -3
  606. package/lua_compressed.js +399 -81
  607. package/lua_compressed.js.map +1 -1
  608. package/msg/ab.js +420 -420
  609. package/msg/ace.js +420 -420
  610. package/msg/af.js +420 -420
  611. package/msg/am.js +420 -420
  612. package/msg/ar.js +420 -420
  613. package/msg/ast.js +420 -420
  614. package/msg/az.js +420 -420
  615. package/msg/ba.js +420 -420
  616. package/msg/bcc.js +420 -420
  617. package/msg/be-tarask.js +420 -420
  618. package/msg/be.js +420 -420
  619. package/msg/bg.js +420 -420
  620. package/msg/bn.js +420 -420
  621. package/msg/br.js +420 -420
  622. package/msg/bs.js +420 -420
  623. package/msg/ca.js +420 -420
  624. package/msg/cdo.js +420 -420
  625. package/msg/cs.js +420 -420
  626. package/msg/da.js +420 -420
  627. package/msg/de.js +420 -420
  628. package/msg/diq.js +420 -420
  629. package/msg/dty.js +420 -420
  630. package/msg/ee.js +420 -420
  631. package/msg/el.js +420 -420
  632. package/msg/en-gb.js +420 -420
  633. package/msg/en.js +420 -420
  634. package/msg/eo.js +420 -420
  635. package/msg/es.js +420 -420
  636. package/msg/et.js +420 -420
  637. package/msg/eu.js +420 -420
  638. package/msg/fa.js +420 -420
  639. package/msg/fi.js +420 -420
  640. package/msg/fo.js +420 -420
  641. package/msg/fr.js +420 -420
  642. package/msg/frr.js +420 -420
  643. package/msg/gl.js +420 -420
  644. package/msg/gn.js +420 -420
  645. package/msg/gor.js +420 -420
  646. package/msg/ha.js +420 -420
  647. package/msg/hak.js +420 -420
  648. package/msg/he.js +420 -420
  649. package/msg/hi.js +420 -420
  650. package/msg/hr.js +420 -420
  651. package/msg/hrx.js +420 -420
  652. package/msg/hu.js +420 -420
  653. package/msg/hy.js +420 -420
  654. package/msg/ia.js +420 -420
  655. package/msg/id.js +420 -420
  656. package/msg/ig.js +420 -420
  657. package/msg/inh.js +420 -420
  658. package/msg/is.js +420 -420
  659. package/msg/it.js +420 -420
  660. package/msg/ja.js +420 -420
  661. package/msg/ka.js +420 -420
  662. package/msg/kab.js +420 -420
  663. package/msg/kbd-cyrl.js +420 -420
  664. package/msg/km.js +420 -420
  665. package/msg/kn.js +420 -420
  666. package/msg/ko.js +420 -420
  667. package/msg/ksh.js +420 -420
  668. package/msg/ku-latn.js +420 -420
  669. package/msg/ky.js +420 -420
  670. package/msg/la.js +420 -420
  671. package/msg/lb.js +420 -420
  672. package/msg/lki.js +420 -420
  673. package/msg/lo.js +420 -420
  674. package/msg/lrc.js +420 -420
  675. package/msg/lt.js +420 -420
  676. package/msg/lv.js +420 -420
  677. package/msg/mg.js +420 -420
  678. package/msg/mk.js +420 -420
  679. package/msg/ml.js +420 -420
  680. package/msg/mnw.js +420 -420
  681. package/msg/ms.js +420 -420
  682. package/msg/my.js +420 -420
  683. package/msg/mzn.js +420 -420
  684. package/msg/nb.js +420 -420
  685. package/msg/ne.js +420 -420
  686. package/msg/nl.js +420 -420
  687. package/msg/oc.js +420 -420
  688. package/msg/olo.js +420 -420
  689. package/msg/pa.js +420 -420
  690. package/msg/pl.js +420 -420
  691. package/msg/pms.js +420 -420
  692. package/msg/ps.js +420 -420
  693. package/msg/pt-br.js +420 -420
  694. package/msg/pt.js +420 -420
  695. package/msg/ro.js +420 -420
  696. package/msg/ru.js +420 -420
  697. package/msg/sc.js +420 -420
  698. package/msg/sco.js +420 -420
  699. package/msg/sd.js +420 -420
  700. package/msg/shn.js +420 -420
  701. package/msg/si.js +420 -420
  702. package/msg/sk.js +420 -420
  703. package/msg/skr-arab.js +420 -420
  704. package/msg/sl.js +420 -420
  705. package/msg/smn.js +420 -420
  706. package/msg/sq.js +420 -420
  707. package/msg/sr-latn.js +420 -420
  708. package/msg/sr.js +420 -420
  709. package/msg/sv.js +420 -420
  710. package/msg/sw.js +420 -420
  711. package/msg/ta.js +420 -420
  712. package/msg/tcy.js +420 -420
  713. package/msg/te.js +420 -420
  714. package/msg/th.js +420 -420
  715. package/msg/ti.js +420 -420
  716. package/msg/tl.js +420 -420
  717. package/msg/tlh.js +420 -420
  718. package/msg/tr.js +420 -420
  719. package/msg/ug-arab.js +420 -420
  720. package/msg/uk.js +420 -420
  721. package/msg/ur.js +420 -420
  722. package/msg/uz.js +420 -420
  723. package/msg/vi.js +420 -420
  724. package/msg/xmf.js +420 -420
  725. package/msg/yo.js +420 -420
  726. package/msg/yue.js +420 -420
  727. package/msg/zgh.js +420 -420
  728. package/msg/zh-hans.js +420 -420
  729. package/msg/zh-hant.js +420 -420
  730. package/package.json +5 -5
  731. package/php.d.ts +0 -3
  732. package/php_compressed.js +322 -93
  733. package/php_compressed.js.map +1 -1
  734. package/python.d.ts +0 -3
  735. package/python_compressed.js +237 -90
  736. package/python_compressed.js.map +1 -1
  737. package/blockly.d.ts +0 -26127
  738. package/core/blockly_options.js +0 -28
  739. package/core/bubble_dragger.js +0 -298
  740. package/core/clipboard.js +0 -80
  741. package/core/component_manager.js +0 -263
  742. package/core/contextmenu_items.js +0 -651
  743. package/core/contextmenu_registry.js +0 -178
  744. package/core/delete_area.js +0 -87
  745. package/core/dialog.js +0 -107
  746. package/core/drag_target.js +0 -98
  747. package/core/events/events.js +0 -147
  748. package/core/events/events_abstract.js +0 -133
  749. package/core/events/events_block_base.js +0 -70
  750. package/core/events/events_block_drag.js +0 -89
  751. package/core/events/events_bubble_open.js +0 -90
  752. package/core/events/events_comment_base.js +0 -121
  753. package/core/events/events_marker_move.js +0 -110
  754. package/core/events/events_selected.js +0 -83
  755. package/core/events/events_toolbox_item_select.js +0 -84
  756. package/core/events/events_trashcan_open.js +0 -73
  757. package/core/events/events_var_base.js +0 -70
  758. package/core/events/events_viewport.js +0 -107
  759. package/core/events/workspace_events.js +0 -93
  760. package/core/field_angle.js +0 -591
  761. package/core/field_checkbox.js +0 -255
  762. package/core/field_colour.js +0 -717
  763. package/core/field_image.js +0 -304
  764. package/core/field_label.js +0 -149
  765. package/core/field_label_serializable.js +0 -80
  766. package/core/field_textinput.js +0 -619
  767. package/core/flyout_button.js +0 -356
  768. package/core/grid.js +0 -226
  769. package/core/icon.js +0 -225
  770. package/core/input.js +0 -335
  771. package/core/interfaces/i_ast_node_location_svg.js +0 -45
  772. package/core/interfaces/i_ast_node_location_with_block.js +0 -41
  773. package/core/interfaces/i_autohideable.js +0 -40
  774. package/core/interfaces/i_block_dragger.js +0 -66
  775. package/core/interfaces/i_bounded_element.js +0 -45
  776. package/core/interfaces/i_bubble.js +0 -95
  777. package/core/interfaces/i_collapsible_toolbox_item.js +0 -53
  778. package/core/interfaces/i_connection_checker.js +0 -104
  779. package/core/interfaces/i_contextmenu.js +0 -32
  780. package/core/interfaces/i_copyable.js +0 -49
  781. package/core/interfaces/i_delete_area.js +0 -50
  782. package/core/interfaces/i_drag_target.js +0 -88
  783. package/core/interfaces/i_flyout.js +0 -201
  784. package/core/interfaces/i_keyboard_accessible.js +0 -38
  785. package/core/interfaces/i_metrics_manager.js +0 -154
  786. package/core/interfaces/i_positionable.js +0 -51
  787. package/core/interfaces/i_selectable.js +0 -51
  788. package/core/interfaces/i_selectable_toolbox_item.js +0 -73
  789. package/core/interfaces/i_serializer.js +0 -77
  790. package/core/interfaces/i_styleable.js +0 -39
  791. package/core/interfaces/i_toolbox.js +0 -142
  792. package/core/interfaces/i_toolbox_item.js +0 -85
  793. package/core/marker_manager.js +0 -213
  794. package/core/menuitem.js +0 -292
  795. package/core/names.js +0 -293
  796. package/core/registry.js +0 -384
  797. package/core/renderers/common/block_rendering.js +0 -170
  798. package/core/renderers/common/constants.js +0 -1250
  799. package/core/renderers/common/i_path_object.js +0 -162
  800. package/core/renderers/common/marker_svg.js +0 -721
  801. package/core/renderers/common/path_object.js +0 -283
  802. package/core/renderers/common/renderer.js +0 -305
  803. package/core/renderers/geras/constants.js +0 -73
  804. package/core/renderers/geras/geras.js +0 -36
  805. package/core/renderers/geras/measurables/inline_input.js +0 -58
  806. package/core/renderers/geras/measurables/statement_input.js +0 -57
  807. package/core/renderers/geras/renderer.js +0 -149
  808. package/core/renderers/measurables/base.js +0 -64
  809. package/core/renderers/measurables/bottom_row.js +0 -138
  810. package/core/renderers/measurables/connection.js +0 -56
  811. package/core/renderers/measurables/external_value_input.js +0 -70
  812. package/core/renderers/measurables/field.js +0 -71
  813. package/core/renderers/measurables/in_row_spacer.js +0 -47
  814. package/core/renderers/measurables/input_connection.js +0 -75
  815. package/core/renderers/measurables/next_connection.js +0 -50
  816. package/core/renderers/measurables/output_connection.js +0 -61
  817. package/core/renderers/measurables/previous_connection.js +0 -50
  818. package/core/renderers/measurables/round_corner.js +0 -52
  819. package/core/renderers/measurables/row.js +0 -247
  820. package/core/renderers/measurables/spacer_row.js +0 -69
  821. package/core/renderers/measurables/square_corner.js +0 -50
  822. package/core/renderers/measurables/top_row.js +0 -143
  823. package/core/renderers/measurables/types.js +0 -353
  824. package/core/renderers/minimalist/drawer.js +0 -42
  825. package/core/renderers/minimalist/info.js +0 -54
  826. package/core/renderers/minimalist/minimalist.js +0 -26
  827. package/core/renderers/minimalist/renderer.js +0 -80
  828. package/core/renderers/thrasos/renderer.js +0 -53
  829. package/core/renderers/thrasos/thrasos.js +0 -22
  830. package/core/renderers/zelos/marker_svg.js +0 -179
  831. package/core/renderers/zelos/measurables/bottom_row.js +0 -66
  832. package/core/renderers/zelos/measurables/row_elements.js +0 -46
  833. package/core/renderers/zelos/path_object.js +0 -247
  834. package/core/renderers/zelos/renderer.js +0 -147
  835. package/core/renderers/zelos/zelos.js +0 -38
  836. package/core/serialization/exceptions.js +0 -144
  837. package/core/shortcut_registry.js +0 -366
  838. package/core/theme/themes.js +0 -23
  839. package/core/theme.js +0 -228
  840. package/core/theme_manager.js +0 -211
  841. package/core/toolbox/category.js +0 -751
  842. package/core/toolbox/collapsible_category.js +0 -311
  843. package/core/toolbox/separator.js +0 -133
  844. package/core/toolbox/toolbox_item.js +0 -173
  845. package/core/touch.js +0 -285
  846. package/core/utils/coordinate.js +0 -138
  847. package/core/utils/global.js +0 -41
  848. package/core/utils/keycodes.js +0 -172
  849. package/core/utils/metrics.js +0 -154
  850. package/core/utils/svg.js +0 -186
  851. package/core/utils/toolbox.js +0 -459
  852. package/core/utils/useragent.js +0 -197
  853. package/core/utils.js +0 -383
  854. package/core/variable_model.js +0 -96
  855. package/core/widgetdiv.js +0 -290
  856. package/core/workspace.js +0 -836
  857. package/core/workspace_comment.js +0 -400
  858. package/core/workspace_dragger.js +0 -115
@@ -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;