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
@@ -1,147 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2019 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
-
7
- /**
8
- * @fileoverview Zelos renderer.
9
- */
10
- 'use strict';
11
-
12
- /**
13
- * Zelos renderer.
14
- * @class
15
- */
16
- goog.module('Blockly.zelos.Renderer');
17
-
18
- const blockRendering = goog.require('Blockly.blockRendering');
19
- /* eslint-disable-next-line no-unused-vars */
20
- const {BlockSvg} = goog.requireType('Blockly.BlockSvg');
21
- const {ConnectionType} = goog.require('Blockly.ConnectionType');
22
- const {ConstantProvider} = goog.require('Blockly.zelos.ConstantProvider');
23
- const {Drawer} = goog.require('Blockly.zelos.Drawer');
24
- const {InsertionMarkerManager} = goog.require('Blockly.InsertionMarkerManager');
25
- const {MarkerSvg} = goog.require('Blockly.zelos.MarkerSvg');
26
- /* eslint-disable-next-line no-unused-vars */
27
- const {Marker} = goog.requireType('Blockly.Marker');
28
- const {PathObject} = goog.require('Blockly.zelos.PathObject');
29
- /* eslint-disable-next-line no-unused-vars */
30
- const {RenderInfo: BaseRenderInfo} = goog.requireType('Blockly.blockRendering.RenderInfo');
31
- const {RenderInfo} = goog.require('Blockly.zelos.RenderInfo');
32
- const {Renderer: BaseRenderer} = goog.require('Blockly.blockRendering.Renderer');
33
- /* eslint-disable-next-line no-unused-vars */
34
- const {Theme} = goog.requireType('Blockly.Theme');
35
- /* eslint-disable-next-line no-unused-vars */
36
- const {WorkspaceSvg} = goog.requireType('Blockly.WorkspaceSvg');
37
-
38
-
39
- /**
40
- * The zelos renderer.
41
- * @extends {BaseRenderer}
42
- * @alias Blockly.zelos.Renderer
43
- */
44
- class Renderer extends BaseRenderer {
45
- /**
46
- * @param {string} name The renderer name.
47
- * @package
48
- */
49
- constructor(name) {
50
- super(name);
51
- }
52
-
53
- /**
54
- * Create a new instance of the renderer's constant provider.
55
- * @return {!ConstantProvider} The constant provider.
56
- * @protected
57
- * @override
58
- */
59
- makeConstants_() {
60
- return new ConstantProvider();
61
- }
62
-
63
- /**
64
- * Create a new instance of the renderer's render info object.
65
- * @param {!BlockSvg} block The block to measure.
66
- * @return {!RenderInfo} The render info object.
67
- * @protected
68
- * @override
69
- */
70
- makeRenderInfo_(block) {
71
- return new RenderInfo(this, block);
72
- }
73
-
74
- /**
75
- * Create a new instance of the renderer's drawer.
76
- * @param {!BlockSvg} block The block to render.
77
- * @param {!BaseRenderInfo} info An object containing all
78
- * information needed to render this block.
79
- * @return {!Drawer} The drawer.
80
- * @protected
81
- * @override
82
- */
83
- makeDrawer_(block, info) {
84
- return new Drawer(
85
- block,
86
- /** @type {!RenderInfo} */ (info));
87
- }
88
-
89
- /**
90
- * Create a new instance of the renderer's cursor drawer.
91
- * @param {!WorkspaceSvg} workspace The workspace the cursor belongs to.
92
- * @param {!Marker} marker The marker.
93
- * @return {!MarkerSvg} The object in charge of drawing
94
- * the marker.
95
- * @package
96
- * @override
97
- */
98
- makeMarkerDrawer(workspace, marker) {
99
- return new MarkerSvg(workspace, this.getConstants(), marker);
100
- }
101
-
102
- /**
103
- * Create a new instance of a renderer path object.
104
- * @param {!SVGElement} root The root SVG element.
105
- * @param {!Theme.BlockStyle} style The style object to use for
106
- * colouring.
107
- * @return {!PathObject} The renderer path object.
108
- * @package
109
- * @override
110
- */
111
- makePathObject(root, style) {
112
- return new PathObject(
113
- root, style,
114
- /** @type {!ConstantProvider} */ (this.getConstants()));
115
- }
116
-
117
- /**
118
- * @override
119
- */
120
- shouldHighlightConnection(conn) {
121
- return conn.type !== ConnectionType.INPUT_VALUE &&
122
- conn.type !== ConnectionType.OUTPUT_VALUE;
123
- }
124
-
125
- /**
126
- * @override
127
- */
128
- getConnectionPreviewMethod(closest, local, topBlock) {
129
- if (local.type === ConnectionType.OUTPUT_VALUE) {
130
- if (!closest.isConnected()) {
131
- return InsertionMarkerManager.PREVIEW_TYPE.INPUT_OUTLINE;
132
- }
133
- // TODO: Returning this is a total hack, because we don't want to show
134
- // a replacement fade, we want to show an outline affect.
135
- // Sadly zelos does not support showing an outline around filled
136
- // inputs, so we have to pretend like the connected block is getting
137
- // replaced.
138
- return InsertionMarkerManager.PREVIEW_TYPE.REPLACEMENT_FADE;
139
- }
140
-
141
- return super.getConnectionPreviewMethod(closest, local, topBlock);
142
- }
143
- }
144
-
145
- blockRendering.register('zelos', Renderer);
146
-
147
- exports.Renderer = Renderer;
@@ -1,38 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2021 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
-
7
- /**
8
- * @fileoverview Re-exports of Blockly.zelos.* modules.
9
- */
10
- 'use strict';
11
-
12
- /**
13
- * Re-exports of Blockly.zelos.* modules.
14
- * @namespace Blockly.zelos
15
- */
16
- goog.module('Blockly.zelos');
17
-
18
- const {BottomRow} = goog.require('Blockly.zelos.BottomRow');
19
- const {ConstantProvider} = goog.require('Blockly.zelos.ConstantProvider');
20
- const {Drawer} = goog.require('Blockly.zelos.Drawer');
21
- const {MarkerSvg} = goog.require('Blockly.zelos.MarkerSvg');
22
- const {PathObject} = goog.require('Blockly.zelos.PathObject');
23
- const {RenderInfo} = goog.require('Blockly.zelos.RenderInfo');
24
- const {Renderer} = goog.require('Blockly.zelos.Renderer');
25
- const {RightConnectionShape} = goog.require('Blockly.zelos.RightConnectionShape');
26
- const {StatementInput} = goog.require('Blockly.zelos.StatementInput');
27
- const {TopRow} = goog.require('Blockly.zelos.TopRow');
28
-
29
- exports.BottomRow = BottomRow;
30
- exports.ConstantProvider = ConstantProvider;
31
- exports.Drawer = Drawer;
32
- exports.MarkerSvg = MarkerSvg;
33
- exports.PathObject = PathObject;
34
- exports.RenderInfo = RenderInfo;
35
- exports.Renderer = Renderer;
36
- exports.RightConnectionShape = RightConnectionShape;
37
- exports.StatementInput = StatementInput;
38
- exports.TopRow = TopRow;
@@ -1,144 +0,0 @@
1
-
2
- /**
3
- * @license
4
- * Copyright 2021 Google LLC
5
- * SPDX-License-Identifier: Apache-2.0
6
- */
7
-
8
- /**
9
- * @fileoverview Contains custom errors thrown by the serialization system.
10
- */
11
- 'use strict';
12
-
13
- /**
14
- * Contains custom errors thrown by the serialization system.
15
- * @namespace Blockly.serialization.exceptions
16
- */
17
- goog.module('Blockly.serialization.exceptions');
18
-
19
- /* eslint-disable-next-line no-unused-vars */
20
- const {Block} = goog.requireType('Blockly.Block');
21
- // eslint-disable-next-line no-unused-vars
22
- const {State} = goog.requireType('Blockly.serialization.blocks');
23
-
24
-
25
- /**
26
- * @alias Blockly.serialization.exceptions.DeserializationError
27
- */
28
- class DeserializationError extends Error {}
29
- exports.DeserializationError = DeserializationError;
30
-
31
- /**
32
- * Represents an error where the serialized state is expected to provide a
33
- * block type, but it is not provided.
34
- * @alias Blockly.serialization.exceptions.MissingBlockType
35
- */
36
- class MissingBlockType extends DeserializationError {
37
- /**
38
- * @param {!State} state The state object which is missing the block type.
39
- * @package
40
- */
41
- constructor(state) {
42
- super(`Expected to find a 'type' property, defining the block type`);
43
-
44
- /**
45
- * The state object containing the bad name.
46
- * @type {!State}
47
- */
48
- this.state = state;
49
- }
50
- }
51
- exports.MissingBlockType = MissingBlockType;
52
-
53
- /**
54
- * Represents an error where deserialization encountered a block that did
55
- * not have a connection that was defined in the serialized state.
56
- * @alias Blockly.serialization.exceptions.MissingConnection
57
- */
58
- class MissingConnection extends DeserializationError {
59
- /**
60
- * @param {string} connection The name of the connection that is missing. E.g.
61
- * 'IF0', or 'next'.
62
- * @param {!Block} block The block missing the connection.
63
- * @param {!State} state The state object containing the bad connection.
64
- * @package
65
- */
66
- constructor(connection, block, state) {
67
- super(`The block ${block.toDevString()} is missing a(n) ${connection}
68
- connection`);
69
-
70
- /**
71
- * The block missing the connection.
72
- * @type {!Block}
73
- */
74
- this.block = block;
75
-
76
- /**
77
- * The state object containing the bad name.
78
- * @type {!State}
79
- */
80
- this.state = state;
81
- }
82
- }
83
- exports.MissingConnection = MissingConnection;
84
-
85
- /**
86
- * Represents an error where deserialization tried to connect two connections
87
- * that were not compatible.
88
- * @alias Blockly.serialization.exceptions.BadConnectionCheck
89
- */
90
- class BadConnectionCheck extends DeserializationError {
91
- /**
92
- * @param {string} reason The reason the connections were not compatible.
93
- * @param {string} childConnection The name of the incompatible child
94
- * connection. E.g. 'output' or 'previous'.
95
- * @param {!Block} childBlock The child block that could not connect
96
- * to its parent.
97
- * @param {!State} childState The state object representing the child block.
98
- * @package
99
- */
100
- constructor(reason, childConnection, childBlock, childState) {
101
- super(`The block ${childBlock.toDevString()} could not connect its
102
- ${childConnection} to its parent, because: ${reason}`);
103
-
104
- /**
105
- * The block that could not connect to its parent.
106
- * @type {!Block}
107
- */
108
- this.childBlock = childBlock;
109
-
110
- /**
111
- * The state object representing the block that could not connect to its
112
- * parent.
113
- * @type {!State}
114
- */
115
- this.childState = childState;
116
- }
117
- }
118
- exports.BadConnectionCheck = BadConnectionCheck;
119
-
120
- /**
121
- * Represents an error where deserialization encountered a real block as it
122
- * was deserializing children of a shadow.
123
- * This is an error because it is an invariant of Blockly that shadow blocks
124
- * do not have real children.
125
- * @alias Blockly.serialization.exceptions.RealChildOfShadow
126
- */
127
- class RealChildOfShadow extends DeserializationError {
128
- /**
129
- * @param {!State} state The state object representing the real block.
130
- * @package
131
- */
132
- constructor(state) {
133
- super(`Encountered a real block which is defined as a child of a shadow
134
- block. It is an invariant of Blockly that shadow blocks only have shadow
135
- children`);
136
-
137
- /**
138
- * The state object representing the real block.
139
- * @type {!State}
140
- */
141
- this.state = state;
142
- }
143
- }
144
- exports.RealChildOfShadow = RealChildOfShadow;
@@ -1,366 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2020 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
-
7
- /**
8
- * @fileoverview The namespace used to keep track of keyboard shortcuts and the
9
- * key codes used to execute those shortcuts.
10
- */
11
- 'use strict';
12
-
13
- /**
14
- * The namespace used to keep track of keyboard shortcuts and the
15
- * key codes used to execute those shortcuts.
16
- * @class
17
- */
18
- goog.module('Blockly.ShortcutRegistry');
19
-
20
- const object = goog.require('Blockly.utils.object');
21
- const {KeyCodes} = goog.require('Blockly.utils.KeyCodes');
22
- /* eslint-disable-next-line no-unused-vars */
23
- const {Workspace} = goog.requireType('Blockly.Workspace');
24
-
25
-
26
- /**
27
- * Class for the registry of keyboard shortcuts. This is intended to be a
28
- * singleton. You should not create a new instance, and only access this class
29
- * from ShortcutRegistry.registry.
30
- * @alias Blockly.ShortcutRegistry
31
- */
32
- class ShortcutRegistry {
33
- /**
34
- * Resets the existing ShortcutRegistry singleton.
35
- */
36
- constructor() {
37
- this.reset();
38
- }
39
-
40
- /**
41
- * Clear and recreate the registry and keyMap.
42
- */
43
- reset() {
44
- /**
45
- * Registry of all keyboard shortcuts, keyed by name of shortcut.
46
- * @type {!Object<string, !ShortcutRegistry.KeyboardShortcut>}
47
- * @private
48
- */
49
- this.registry_ = Object.create(null);
50
-
51
- /**
52
- * Map of key codes to an array of shortcut names.
53
- * @type {!Object<string, !Array<string>>}
54
- * @private
55
- */
56
- this.keyMap_ = Object.create(null);
57
- }
58
-
59
- /**
60
- * Registers a keyboard shortcut.
61
- * @param {!ShortcutRegistry.KeyboardShortcut} shortcut The
62
- * shortcut for this key code.
63
- * @param {boolean=} opt_allowOverrides True to prevent a warning when
64
- * overriding an already registered item.
65
- * @throws {Error} if a shortcut with the same name already exists.
66
- * @public
67
- */
68
- register(shortcut, opt_allowOverrides) {
69
- const registeredShortcut = this.registry_[shortcut.name];
70
- if (registeredShortcut && !opt_allowOverrides) {
71
- throw new Error(
72
- 'Shortcut with name "' + shortcut.name + '" already exists.');
73
- }
74
- this.registry_[shortcut.name] = shortcut;
75
- }
76
-
77
- /**
78
- * Unregisters a keyboard shortcut registered with the given key code. This
79
- * will also remove any key mappings that reference this shortcut.
80
- * @param {string} shortcutName The name of the shortcut to unregister.
81
- * @return {boolean} True if an item was unregistered, false otherwise.
82
- * @public
83
- */
84
- unregister(shortcutName) {
85
- const shortcut = this.registry_[shortcutName];
86
-
87
- if (!shortcut) {
88
- console.warn(
89
- 'Keyboard shortcut with name "' + shortcutName + '" not found.');
90
- return false;
91
- }
92
-
93
- this.removeAllKeyMappings(shortcutName);
94
-
95
- delete this.registry_[shortcutName];
96
- return true;
97
- }
98
-
99
- /**
100
- * Adds a mapping between a keycode and a keyboard shortcut.
101
- * @param {string|KeyCodes} keyCode The key code for the keyboard
102
- * shortcut. If registering a key code with a modifier (ex: ctrl+c) use
103
- * ShortcutRegistry.registry.createSerializedKey;
104
- * @param {string} shortcutName The name of the shortcut to execute when the
105
- * given keycode is pressed.
106
- * @param {boolean=} opt_allowCollision True to prevent an error when adding a
107
- * shortcut to a key that is already mapped to a shortcut.
108
- * @throws {Error} if the given key code is already mapped to a shortcut.
109
- * @public
110
- */
111
- addKeyMapping(keyCode, shortcutName, opt_allowCollision) {
112
- keyCode = String(keyCode);
113
- const shortcutNames = this.keyMap_[keyCode];
114
- if (shortcutNames && !opt_allowCollision) {
115
- throw new Error(
116
- 'Shortcut with name "' + shortcutName + '" collides with shortcuts ' +
117
- shortcutNames.toString());
118
- } else if (shortcutNames && opt_allowCollision) {
119
- shortcutNames.unshift(shortcutName);
120
- } else {
121
- this.keyMap_[keyCode] = [shortcutName];
122
- }
123
- }
124
-
125
- /**
126
- * Removes a mapping between a keycode and a keyboard shortcut.
127
- * @param {string} keyCode The key code for the keyboard shortcut. If
128
- * registering a key code with a modifier (ex: ctrl+c) use
129
- * ShortcutRegistry.registry.createSerializedKey;
130
- * @param {string} shortcutName The name of the shortcut to execute when the
131
- * given keycode is pressed.
132
- * @param {boolean=} opt_quiet True to not console warn when there is no
133
- * shortcut to remove.
134
- * @return {boolean} True if a key mapping was removed, false otherwise.
135
- * @public
136
- */
137
- removeKeyMapping(keyCode, shortcutName, opt_quiet) {
138
- const shortcutNames = this.keyMap_[keyCode];
139
-
140
- if (!shortcutNames && !opt_quiet) {
141
- console.warn(
142
- 'No keyboard shortcut with name "' + shortcutName +
143
- '" registered with key code "' + keyCode + '"');
144
- return false;
145
- }
146
-
147
- const shortcutIdx = shortcutNames.indexOf(shortcutName);
148
- if (shortcutIdx > -1) {
149
- shortcutNames.splice(shortcutIdx, 1);
150
- if (shortcutNames.length === 0) {
151
- delete this.keyMap_[keyCode];
152
- }
153
- return true;
154
- }
155
- if (!opt_quiet) {
156
- console.warn(
157
- 'No keyboard shortcut with name "' + shortcutName +
158
- '" registered with key code "' + keyCode + '"');
159
- }
160
- return false;
161
- }
162
-
163
- /**
164
- * Removes all the key mappings for a shortcut with the given name.
165
- * Useful when changing the default key mappings and the key codes registered
166
- * to the shortcut are unknown.
167
- * @param {string} shortcutName The name of the shortcut to remove from the
168
- * key map.
169
- * @public
170
- */
171
- removeAllKeyMappings(shortcutName) {
172
- for (const keyCode in this.keyMap_) {
173
- this.removeKeyMapping(keyCode, shortcutName, true);
174
- }
175
- }
176
-
177
- /**
178
- * Sets the key map. Setting the key map will override any default key
179
- * mappings.
180
- * @param {!Object<string, !Array<string>>} keyMap The object with key code to
181
- * shortcut names.
182
- * @public
183
- */
184
- setKeyMap(keyMap) {
185
- this.keyMap_ = keyMap;
186
- }
187
-
188
- /**
189
- * Gets the current key map.
190
- * @return {!Object<string,!Array<!ShortcutRegistry.KeyboardShortcut>>}
191
- * The object holding key codes to ShortcutRegistry.KeyboardShortcut.
192
- * @public
193
- */
194
- getKeyMap() {
195
- return object.deepMerge(Object.create(null), this.keyMap_);
196
- }
197
-
198
- /**
199
- * Gets the registry of keyboard shortcuts.
200
- * @return {!Object<string, !ShortcutRegistry.KeyboardShortcut>}
201
- * The registry of keyboard shortcuts.
202
- * @public
203
- */
204
- getRegistry() {
205
- return object.deepMerge(Object.create(null), this.registry_);
206
- }
207
-
208
- /**
209
- * Handles key down events.
210
- * @param {!Workspace} workspace The main workspace where the event was
211
- * captured.
212
- * @param {!Event} e The key down event.
213
- * @return {boolean} True if the event was handled, false otherwise.
214
- * @public
215
- */
216
- onKeyDown(workspace, e) {
217
- const key = this.serializeKeyEvent_(e);
218
- const shortcutNames = this.getShortcutNamesByKeyCode(key);
219
- if (!shortcutNames) {
220
- return false;
221
- }
222
- for (let i = 0, shortcutName; (shortcutName = shortcutNames[i]); i++) {
223
- const shortcut = this.registry_[shortcutName];
224
- if (!shortcut.preconditionFn || shortcut.preconditionFn(workspace)) {
225
- // If the key has been handled, stop processing shortcuts.
226
- if (shortcut.callback && shortcut.callback(workspace, e, shortcut)) {
227
- return true;
228
- }
229
- }
230
- }
231
- return false;
232
- }
233
-
234
- /**
235
- * Gets the shortcuts registered to the given key code.
236
- * @param {string} keyCode The serialized key code.
237
- * @return {!Array<string>|undefined} The list of shortcuts to call when the
238
- * given keyCode is used. Undefined if no shortcuts exist.
239
- * @public
240
- */
241
- getShortcutNamesByKeyCode(keyCode) {
242
- return this.keyMap_[keyCode] || [];
243
- }
244
-
245
- /**
246
- * Gets the serialized key codes that the shortcut with the given name is
247
- * registered under.
248
- * @param {string} shortcutName The name of the shortcut.
249
- * @return {!Array<string>} An array with all the key codes the shortcut is
250
- * registered under.
251
- * @public
252
- */
253
- getKeyCodesByShortcutName(shortcutName) {
254
- const keys = [];
255
- for (const keyCode in this.keyMap_) {
256
- const shortcuts = this.keyMap_[keyCode];
257
- const shortcutIdx = shortcuts.indexOf(shortcutName);
258
- if (shortcutIdx > -1) {
259
- keys.push(keyCode);
260
- }
261
- }
262
- return keys;
263
- }
264
-
265
- /**
266
- * Serializes a key event.
267
- * @param {!Event} e A key down event.
268
- * @return {string} The serialized key code for the given event.
269
- * @private
270
- */
271
- serializeKeyEvent_(e) {
272
- let serializedKey = '';
273
- for (const modifier in ShortcutRegistry.modifierKeys) {
274
- if (e.getModifierState(modifier)) {
275
- if (serializedKey !== '') {
276
- serializedKey += '+';
277
- }
278
- serializedKey += modifier;
279
- }
280
- }
281
- if (serializedKey !== '' && e.keyCode) {
282
- serializedKey = serializedKey + '+' + e.keyCode;
283
- } else if (e.keyCode) {
284
- serializedKey = e.keyCode.toString();
285
- }
286
- return serializedKey;
287
- }
288
-
289
- /**
290
- * Checks whether any of the given modifiers are not valid.
291
- * @param {!Array<string>} modifiers List of modifiers to be used with the
292
- * key.
293
- * @throws {Error} if the modifier is not in the valid modifiers list.
294
- * @private
295
- */
296
- checkModifiers_(modifiers) {
297
- const validModifiers = object.values(ShortcutRegistry.modifierKeys);
298
- for (let i = 0, modifier; (modifier = modifiers[i]); i++) {
299
- if (validModifiers.indexOf(modifier) < 0) {
300
- throw new Error(modifier + ' is not a valid modifier key.');
301
- }
302
- }
303
- }
304
-
305
- /**
306
- * Creates the serialized key code that will be used in the key map.
307
- * @param {number} keyCode Number code representing the key.
308
- * @param {?Array<string>} modifiers List of modifier key codes to be used
309
- * with the key. All valid modifiers can be found in the
310
- * ShortcutRegistry.modifierKeys.
311
- * @return {string} The serialized key code for the given modifiers and key.
312
- * @public
313
- */
314
- createSerializedKey(keyCode, modifiers) {
315
- let serializedKey = '';
316
-
317
- if (modifiers) {
318
- this.checkModifiers_(modifiers);
319
- for (const modifier in ShortcutRegistry.modifierKeys) {
320
- const modifierKeyCode = ShortcutRegistry.modifierKeys[modifier];
321
- if (modifiers.indexOf(modifierKeyCode) > -1) {
322
- if (serializedKey !== '') {
323
- serializedKey += '+';
324
- }
325
- serializedKey += modifier;
326
- }
327
- }
328
- }
329
-
330
- if (serializedKey !== '' && keyCode) {
331
- serializedKey = serializedKey + '+' + keyCode;
332
- } else if (keyCode) {
333
- serializedKey = keyCode.toString();
334
- }
335
- return serializedKey;
336
- }
337
- }
338
-
339
- /**
340
- * Enum of valid modifiers.
341
- * @enum {!KeyCodes}
342
- */
343
- ShortcutRegistry.modifierKeys = {
344
- 'Shift': KeyCodes.SHIFT,
345
- 'Control': KeyCodes.CTRL,
346
- 'Alt': KeyCodes.ALT,
347
- 'Meta': KeyCodes.META,
348
- };
349
-
350
- /**
351
- * A keyboard shortcut.
352
- * @typedef {{
353
- * callback: ((function(!Workspace, Event,
354
- * !ShortcutRegistry.KeyboardShortcut):boolean)|undefined),
355
- * name: string,
356
- * preconditionFn: ((function(!Workspace):boolean)|undefined),
357
- * metadata: (Object|undefined)
358
- * }}
359
- */
360
- ShortcutRegistry.KeyboardShortcut;
361
-
362
- // Creates and assigns the singleton instance.
363
- const registry = new ShortcutRegistry();
364
- ShortcutRegistry.registry = registry;
365
-
366
- exports.ShortcutRegistry = ShortcutRegistry;