blockly 8.0.4-beta.0 → 8.0.5-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (858) hide show
  1. package/blockly.min.js +2421 -2688
  2. package/blockly_compressed.js +1499 -1994
  3. package/blockly_compressed.js.map +1 -1
  4. package/blocks/blocks.js +3 -2
  5. package/blocks/colour.js +3 -1
  6. package/blocks/lists.js +94 -22
  7. package/blocks/logic.js +14 -6
  8. package/blocks/loops.js +5 -3
  9. package/blocks/math.js +3 -1
  10. package/blocks/procedures.js +3 -1
  11. package/blocks/text.js +14 -6
  12. package/blocks/variables.js +3 -1
  13. package/blocks/variables_dynamic.js +3 -1
  14. package/blocks.d.ts +0 -2
  15. package/blocks_compressed.js +189 -171
  16. package/blocks_compressed.js.map +1 -1
  17. package/closure/goog/base.d.ts +1 -0
  18. package/closure/goog/base_minimal.d.ts +18 -0
  19. package/closure/goog/goog.d.ts +25 -0
  20. package/core/any_aliases.d.ts +1 -0
  21. package/core/any_aliases.ts +1 -0
  22. package/core/block.d.ts +779 -0
  23. package/core/{block.js → block.ts} +610 -719
  24. package/core/block_animations.d.ts +33 -0
  25. package/core/{block_animations.js → block_animations.ts} +75 -79
  26. package/core/block_drag_surface.d.ts +111 -0
  27. package/core/{block_drag_surface.js → block_drag_surface.ts} +85 -117
  28. package/core/block_dragger.d.ts +143 -0
  29. package/core/{block_dragger.js → block_dragger.ts} +139 -176
  30. package/core/block_svg.d.ts +588 -0
  31. package/core/{block_svg.js → block_svg.ts} +494 -630
  32. package/core/blockly.d.ts +562 -0
  33. package/core/blockly.js +1 -1
  34. package/core/blockly.ts +749 -0
  35. package/core/blockly_options.d.ts +69 -0
  36. package/core/blockly_options.ts +81 -0
  37. package/core/blocks.d.ts +17 -0
  38. package/core/{blocks.js → blocks.ts} +4 -8
  39. package/core/browser_events.d.ts +85 -0
  40. package/core/{browser_events.js → browser_events.ts} +98 -93
  41. package/core/bubble.d.ts +279 -0
  42. package/core/{bubble.js → bubble.ts} +277 -370
  43. package/core/bubble_dragger.d.ts +73 -0
  44. package/core/bubble_dragger.ts +229 -0
  45. package/core/bump_objects.d.ts +34 -0
  46. package/core/{bump_objects.js → bump_objects.ts} +54 -52
  47. package/core/clipboard.d.ts +42 -0
  48. package/core/clipboard.ts +91 -0
  49. package/core/comment.d.ts +113 -0
  50. package/core/{comment.js → comment.ts} +135 -185
  51. package/core/common.d.ts +129 -0
  52. package/core/{common.js → common.ts} +105 -82
  53. package/core/component_manager.d.ts +91 -0
  54. package/core/component_manager.ts +211 -0
  55. package/core/config.d.ts +23 -0
  56. package/core/{config.js → config.ts} +12 -19
  57. package/core/connection.d.ts +232 -0
  58. package/core/{connection.js → connection.ts} +187 -237
  59. package/core/connection_checker.d.ts +78 -0
  60. package/core/{connection_checker.js → connection_checker.ts} +66 -77
  61. package/core/connection_db.d.ts +91 -0
  62. package/core/{connection_db.js → connection_db.ts} +62 -87
  63. package/core/connection_type.d.ts +15 -0
  64. package/core/{connection_type.js → connection_type.ts} +8 -12
  65. package/core/constants.d.ts +15 -0
  66. package/core/{constants.js → constants.ts} +4 -8
  67. package/core/contextmenu.d.ts +80 -0
  68. package/core/{contextmenu.js → contextmenu.ts} +118 -153
  69. package/core/contextmenu_items.d.ts +77 -0
  70. package/core/contextmenu_items.ts +576 -0
  71. package/core/contextmenu_registry.d.ts +105 -0
  72. package/core/contextmenu_registry.ts +179 -0
  73. package/core/css.d.ts +24 -0
  74. package/core/{css.js → css.ts} +16 -24
  75. package/core/delete_area.d.ts +47 -0
  76. package/core/delete_area.ts +82 -0
  77. package/core/dialog.d.ts +61 -0
  78. package/core/dialog.ts +127 -0
  79. package/core/drag_target.d.ts +63 -0
  80. package/core/drag_target.ts +94 -0
  81. package/core/dropdowndiv.d.ts +155 -0
  82. package/core/{dropdowndiv.js → dropdowndiv.ts} +262 -333
  83. package/core/events/events.d.ts +102 -0
  84. package/core/events/events.ts +123 -0
  85. package/core/events/events_abstract.d.ts +51 -0
  86. package/core/events/events_abstract.ts +112 -0
  87. package/core/events/events_block_base.d.ts +31 -0
  88. package/core/events/events_block_base.ts +65 -0
  89. package/core/events/events_block_change.d.ts +55 -0
  90. package/core/events/{events_block_change.js → events_block_change.ts} +45 -48
  91. package/core/events/events_block_create.d.ts +35 -0
  92. package/core/events/{events_block_create.js → events_block_create.ts} +30 -35
  93. package/core/events/events_block_delete.d.ts +36 -0
  94. package/core/events/{events_block_delete.js → events_block_delete.ts} +34 -39
  95. package/core/events/events_block_drag.d.ts +36 -0
  96. package/core/events/events_block_drag.ts +82 -0
  97. package/core/events/events_block_move.d.ts +51 -0
  98. package/core/events/{events_block_move.js → events_block_move.ts} +54 -50
  99. package/core/events/events_bubble_open.d.ts +35 -0
  100. package/core/events/events_bubble_open.ts +82 -0
  101. package/core/events/events_click.d.ts +36 -0
  102. package/core/events/{events_click.js → events_click.ts} +27 -30
  103. package/core/events/events_comment_base.d.ts +39 -0
  104. package/core/events/events_comment_base.ts +107 -0
  105. package/core/events/events_comment_change.d.ts +43 -0
  106. package/core/events/{events_comment_change.js → events_comment_change.ts} +31 -28
  107. package/core/events/events_comment_create.d.ts +35 -0
  108. package/core/events/{events_comment_create.js → events_comment_create.ts} +24 -26
  109. package/core/events/events_comment_delete.d.ts +35 -0
  110. package/core/events/{events_comment_delete.js → events_comment_delete.ts} +20 -24
  111. package/core/events/events_comment_move.d.ts +55 -0
  112. package/core/events/{events_comment_move.js → events_comment_move.ts} +39 -42
  113. package/core/events/events_marker_move.d.ts +40 -0
  114. package/core/events/events_marker_move.ts +99 -0
  115. package/core/events/events_selected.d.ts +34 -0
  116. package/core/events/events_selected.ts +78 -0
  117. package/core/events/events_theme_change.d.ts +30 -0
  118. package/core/events/{events_theme_change.js → events_theme_change.ts} +19 -24
  119. package/core/events/events_toolbox_item_select.d.ts +34 -0
  120. package/core/events/events_toolbox_item_select.ts +79 -0
  121. package/core/events/events_trashcan_open.d.ts +31 -0
  122. package/core/events/events_trashcan_open.ts +68 -0
  123. package/core/events/events_ui.d.ts +37 -0
  124. package/core/events/{events_ui.js → events_ui.ts} +27 -26
  125. package/core/events/events_ui_base.d.ts +26 -0
  126. package/core/events/{events_ui_base.js → events_ui_base.ts} +17 -26
  127. package/core/events/events_var_base.d.ts +31 -0
  128. package/core/events/events_var_base.ts +65 -0
  129. package/core/events/events_var_create.d.ts +35 -0
  130. package/core/events/{events_var_create.js → events_var_create.ts} +24 -25
  131. package/core/events/events_var_delete.d.ts +35 -0
  132. package/core/events/{events_var_delete.js → events_var_delete.ts} +24 -25
  133. package/core/events/events_var_rename.d.ts +36 -0
  134. package/core/events/{events_var_rename.js → events_var_rename.ts} +25 -26
  135. package/core/events/events_viewport.d.ts +39 -0
  136. package/core/events/events_viewport.ts +100 -0
  137. package/core/events/utils.d.ts +272 -0
  138. package/core/events/{utils.js → utils.ts} +148 -219
  139. package/core/events/workspace_events.d.ts +36 -0
  140. package/core/events/workspace_events.ts +86 -0
  141. package/core/extensions.d.ts +107 -0
  142. package/core/{extensions.js → extensions.ts} +153 -172
  143. package/core/field.d.ts +534 -0
  144. package/core/{field.js → field.ts} +413 -489
  145. package/core/field_angle.d.ts +176 -0
  146. package/core/field_angle.ts +563 -0
  147. package/core/field_checkbox.d.ts +124 -0
  148. package/core/field_checkbox.ts +243 -0
  149. package/core/field_colour.d.ts +200 -0
  150. package/core/field_colour.ts +632 -0
  151. package/core/field_dropdown.d.ts +222 -0
  152. package/core/{field_dropdown.js → field_dropdown.ts} +277 -299
  153. package/core/field_image.d.ts +134 -0
  154. package/core/field_image.ts +282 -0
  155. package/core/field_label.d.ts +71 -0
  156. package/core/field_label.ts +152 -0
  157. package/core/field_label_serializable.d.ts +42 -0
  158. package/core/field_label_serializable.ts +76 -0
  159. package/core/field_multilineinput.d.ts +146 -0
  160. package/core/{field_multilineinput.js → field_multilineinput.ts} +166 -163
  161. package/core/field_number.d.ts +156 -0
  162. package/core/{field_number.js → field_number.ts} +110 -123
  163. package/core/field_registry.d.ts +45 -0
  164. package/core/{field_registry.js → field_registry.ts} +37 -30
  165. package/core/field_textinput.d.ts +219 -0
  166. package/core/field_textinput.ts +591 -0
  167. package/core/field_variable.d.ts +217 -0
  168. package/core/{field_variable.js → field_variable.ts} +174 -187
  169. package/core/flyout_base.d.ts +459 -0
  170. package/core/{flyout_base.js → flyout_base.ts} +429 -518
  171. package/core/flyout_button.d.ts +81 -0
  172. package/core/flyout_button.ts +292 -0
  173. package/core/flyout_horizontal.d.ts +82 -0
  174. package/core/{flyout_horizontal.js → flyout_horizontal.ts} +97 -107
  175. package/core/flyout_metrics_manager.d.ts +40 -0
  176. package/core/{flyout_metrics_manager.js → flyout_metrics_manager.ts} +22 -34
  177. package/core/flyout_vertical.d.ts +83 -0
  178. package/core/{flyout_vertical.js → flyout_vertical.ts} +106 -117
  179. package/core/generator.d.ts +205 -0
  180. package/core/{generator.js → generator.ts} +168 -193
  181. package/core/gesture.d.ts +357 -0
  182. package/core/{gesture.js → gesture.ts} +289 -369
  183. package/core/grid.d.ts +83 -0
  184. package/core/grid.ts +192 -0
  185. package/core/icon.d.ts +78 -0
  186. package/core/icon.ts +189 -0
  187. package/core/inject.d.ts +15 -0
  188. package/core/{inject.js → inject.ts} +101 -100
  189. package/core/input.d.ts +128 -0
  190. package/core/input.ts +309 -0
  191. package/core/input_types.d.ts +14 -0
  192. package/core/{input_types.js → input_types.ts} +8 -12
  193. package/core/insertion_marker_manager.d.ts +212 -0
  194. package/core/{insertion_marker_manager.js → insertion_marker_manager.ts} +234 -236
  195. package/core/interfaces/i_ast_node_location.d.ts +11 -0
  196. package/core/interfaces/{i_ast_node_location.js → i_ast_node_location.ts} +4 -7
  197. package/core/interfaces/i_ast_node_location_svg.d.ts +22 -0
  198. package/core/interfaces/i_ast_node_location_svg.ts +37 -0
  199. package/core/interfaces/i_ast_node_location_with_block.d.ts +18 -0
  200. package/core/interfaces/i_ast_node_location_with_block.ts +38 -0
  201. package/core/interfaces/i_autohideable.d.ts +18 -0
  202. package/core/interfaces/i_autohideable.ts +34 -0
  203. package/core/interfaces/i_block_dragger.d.ts +43 -0
  204. package/core/interfaces/i_block_dragger.ts +67 -0
  205. package/core/interfaces/i_bounded_element.d.ts +24 -0
  206. package/core/interfaces/i_bounded_element.ts +42 -0
  207. package/core/interfaces/i_bubble.d.ts +59 -0
  208. package/core/interfaces/i_bubble.ts +88 -0
  209. package/core/interfaces/i_collapsible_toolbox_item.d.ts +26 -0
  210. package/core/interfaces/i_collapsible_toolbox_item.ts +47 -0
  211. package/core/interfaces/i_component.d.ts +17 -0
  212. package/core/interfaces/{i_component.js → i_component.ts} +9 -14
  213. package/core/interfaces/i_connection_checker.d.ts +69 -0
  214. package/core/interfaces/i_connection_checker.ts +102 -0
  215. package/core/interfaces/i_contextmenu.d.ts +13 -0
  216. package/core/interfaces/i_contextmenu.ts +26 -0
  217. package/core/interfaces/i_copyable.d.ts +24 -0
  218. package/core/interfaces/i_copyable.ts +40 -0
  219. package/core/interfaces/i_deletable.d.ts +16 -0
  220. package/core/interfaces/{i_deletable.js → i_deletable.ts} +9 -13
  221. package/core/interfaces/i_delete_area.d.ts +25 -0
  222. package/core/interfaces/i_delete_area.ts +46 -0
  223. package/core/interfaces/i_drag_target.d.ts +53 -0
  224. package/core/interfaces/i_drag_target.ts +84 -0
  225. package/core/interfaces/i_draggable.d.ts +12 -0
  226. package/core/interfaces/{i_draggable.js → i_draggable.ts} +4 -10
  227. package/core/interfaces/i_flyout.d.ts +134 -0
  228. package/core/interfaces/i_flyout.ts +186 -0
  229. package/core/interfaces/i_keyboard_accessible.d.ts +18 -0
  230. package/core/interfaces/i_keyboard_accessible.ts +35 -0
  231. package/core/interfaces/i_metrics_manager.d.ts +117 -0
  232. package/core/interfaces/i_metrics_manager.ts +151 -0
  233. package/core/interfaces/i_movable.d.ts +16 -0
  234. package/core/interfaces/{i_movable.js → i_movable.ts} +9 -13
  235. package/core/interfaces/i_positionable.d.ts +27 -0
  236. package/core/interfaces/i_positionable.ts +50 -0
  237. package/core/interfaces/i_registrable.d.ts +11 -0
  238. package/core/interfaces/{i_registrable.js → i_registrable.ts} +3 -7
  239. package/core/interfaces/i_registrable_field.d.ts +17 -0
  240. package/core/interfaces/{i_registrable_field.js → i_registrable_field.ts} +8 -16
  241. package/core/interfaces/i_selectable.d.ts +18 -0
  242. package/core/interfaces/i_selectable.ts +34 -0
  243. package/core/interfaces/i_selectable_toolbox_item.d.ts +42 -0
  244. package/core/interfaces/i_selectable_toolbox_item.ts +64 -0
  245. package/core/interfaces/i_serializer.d.ts +42 -0
  246. package/core/interfaces/i_serializer.ts +65 -0
  247. package/core/interfaces/i_styleable.d.ts +21 -0
  248. package/core/interfaces/i_styleable.ts +35 -0
  249. package/core/interfaces/i_toolbox.d.ts +85 -0
  250. package/core/interfaces/i_toolbox.ts +127 -0
  251. package/core/interfaces/i_toolbox_item.d.ts +62 -0
  252. package/core/interfaces/i_toolbox_item.ts +84 -0
  253. package/core/internal_constants.d.ts +40 -0
  254. package/core/{internal_constants.js → internal_constants.ts} +13 -18
  255. package/core/keyboard_nav/ast_node.d.ts +239 -0
  256. package/core/keyboard_nav/{ast_node.js → ast_node.ts} +207 -231
  257. package/core/keyboard_nav/basic_cursor.d.ts +88 -0
  258. package/core/keyboard_nav/{basic_cursor.js → basic_cursor.ts} +55 -66
  259. package/core/keyboard_nav/cursor.d.ts +41 -0
  260. package/core/keyboard_nav/{cursor.js → cursor.ts} +25 -35
  261. package/core/keyboard_nav/marker.d.ts +58 -0
  262. package/core/keyboard_nav/{marker.js → marker.ts} +36 -55
  263. package/core/keyboard_nav/tab_navigate_cursor.d.ts +19 -0
  264. package/core/keyboard_nav/{tab_navigate_cursor.js → tab_navigate_cursor.ts} +11 -15
  265. package/core/main.d.ts +11 -0
  266. package/core/main.js +303 -0
  267. package/core/marker_manager.d.ts +85 -0
  268. package/core/marker_manager.ts +181 -0
  269. package/core/menu.d.ts +149 -0
  270. package/core/{menu.js → menu.ts} +141 -174
  271. package/core/menuitem.d.ts +118 -0
  272. package/core/menuitem.ts +240 -0
  273. package/core/metrics_manager.d.ts +201 -0
  274. package/core/{metrics_manager.js → metrics_manager.ts} +117 -156
  275. package/core/msg.d.ts +9 -0
  276. package/core/{msg.js → msg.ts} +4 -8
  277. package/core/mutator.d.ts +128 -0
  278. package/core/{mutator.js → mutator.ts} +196 -211
  279. package/core/names.d.ts +124 -0
  280. package/core/names.ts +267 -0
  281. package/core/options.d.ts +137 -0
  282. package/core/{options.js → options.ts} +147 -173
  283. package/core/positionable_helpers.d.ts +88 -0
  284. package/core/{positionable_helpers.js → positionable_helpers.ts} +63 -70
  285. package/core/procedures.d.ts +108 -0
  286. package/core/{procedures.js → procedures.ts} +143 -152
  287. package/core/registry.d.ts +137 -0
  288. package/core/registry.ts +339 -0
  289. package/core/rendered_connection.d.ts +191 -0
  290. package/core/{rendered_connection.js → rendered_connection.ts} +164 -184
  291. package/core/renderers/common/block_rendering.d.ts +114 -0
  292. package/core/renderers/common/block_rendering.ts +164 -0
  293. package/core/renderers/common/constants.d.ts +458 -0
  294. package/core/renderers/common/constants.ts +1124 -0
  295. package/core/renderers/common/debug.d.ts +28 -0
  296. package/core/renderers/common/{debug.js → debug.ts} +14 -20
  297. package/core/renderers/common/debugger.d.ts +120 -0
  298. package/core/renderers/common/{debugger.js → debugger.ts} +100 -124
  299. package/core/renderers/common/drawer.d.ts +132 -0
  300. package/core/renderers/common/{drawer.js → drawer.ts} +112 -137
  301. package/core/renderers/common/i_path_object.d.ts +117 -0
  302. package/core/renderers/common/i_path_object.ts +161 -0
  303. package/core/renderers/common/info.d.ts +194 -0
  304. package/core/renderers/common/{info.js → info.ts} +165 -222
  305. package/core/renderers/common/marker_svg.d.ts +220 -0
  306. package/core/renderers/common/marker_svg.ts +680 -0
  307. package/core/renderers/common/path_object.d.ts +146 -0
  308. package/core/renderers/common/path_object.ts +272 -0
  309. package/core/renderers/common/renderer.d.ts +157 -0
  310. package/core/renderers/common/renderer.ts +271 -0
  311. package/core/renderers/geras/constants.d.ts +23 -0
  312. package/core/renderers/geras/constants.ts +61 -0
  313. package/core/renderers/geras/drawer.d.ts +43 -0
  314. package/core/renderers/geras/{drawer.js → drawer.ts} +40 -84
  315. package/core/renderers/geras/geras.d.ts +11 -0
  316. package/core/renderers/geras/geras.ts +37 -0
  317. package/core/renderers/geras/highlight_constants.d.ts +108 -0
  318. package/core/renderers/geras/{highlight_constants.js → highlight_constants.ts} +107 -69
  319. package/core/renderers/geras/highlighter.d.ts +98 -0
  320. package/core/renderers/geras/{highlighter.js → highlighter.ts} +81 -86
  321. package/core/renderers/geras/info.d.ts +45 -0
  322. package/core/renderers/geras/{info.js → info.ts} +61 -99
  323. package/core/renderers/geras/measurables/inline_input.d.ts +23 -0
  324. package/core/renderers/geras/measurables/inline_input.ts +51 -0
  325. package/core/renderers/geras/measurables/statement_input.d.ts +23 -0
  326. package/core/renderers/geras/measurables/statement_input.ts +50 -0
  327. package/core/renderers/geras/path_object.d.ts +47 -0
  328. package/core/renderers/geras/{path_object.js → path_object.ts} +46 -74
  329. package/core/renderers/geras/renderer.d.ts +69 -0
  330. package/core/renderers/geras/renderer.ts +126 -0
  331. package/core/renderers/measurables/base.d.ts +27 -0
  332. package/core/renderers/measurables/base.ts +53 -0
  333. package/core/renderers/measurables/bottom_row.d.ts +61 -0
  334. package/core/renderers/measurables/bottom_row.ts +120 -0
  335. package/core/renderers/measurables/connection.d.ts +25 -0
  336. package/core/renderers/measurables/connection.ts +52 -0
  337. package/core/renderers/measurables/external_value_input.d.ts +27 -0
  338. package/core/renderers/measurables/external_value_input.ts +65 -0
  339. package/core/renderers/measurables/field.d.ts +30 -0
  340. package/core/renderers/measurables/field.ts +63 -0
  341. package/core/renderers/measurables/hat.d.ts +21 -0
  342. package/core/renderers/measurables/{hat.js → hat.ts} +12 -14
  343. package/core/renderers/measurables/icon.d.ts +26 -0
  344. package/core/renderers/measurables/{icon.js → icon.ts} +14 -18
  345. package/core/renderers/measurables/in_row_spacer.d.ts +21 -0
  346. package/core/renderers/measurables/in_row_spacer.ts +44 -0
  347. package/core/renderers/measurables/inline_input.d.ts +24 -0
  348. package/core/renderers/measurables/{inline_input.js → inline_input.ts} +22 -26
  349. package/core/renderers/measurables/input_connection.d.ts +29 -0
  350. package/core/renderers/measurables/input_connection.ts +66 -0
  351. package/core/renderers/measurables/input_row.d.ts +30 -0
  352. package/core/renderers/measurables/{input_row.js → input_row.ts} +24 -31
  353. package/core/renderers/measurables/jagged_edge.d.ts +20 -0
  354. package/core/renderers/measurables/{jagged_edge.js → jagged_edge.ts} +10 -13
  355. package/core/renderers/measurables/next_connection.d.ts +23 -0
  356. package/core/renderers/measurables/next_connection.ts +47 -0
  357. package/core/renderers/measurables/output_connection.d.ts +26 -0
  358. package/core/renderers/measurables/output_connection.ts +56 -0
  359. package/core/renderers/measurables/previous_connection.d.ts +23 -0
  360. package/core/renderers/measurables/previous_connection.ts +47 -0
  361. package/core/renderers/measurables/round_corner.d.ts +21 -0
  362. package/core/renderers/measurables/round_corner.ts +49 -0
  363. package/core/renderers/measurables/row.d.ts +141 -0
  364. package/core/renderers/measurables/row.ts +225 -0
  365. package/core/renderers/measurables/spacer_row.d.ts +29 -0
  366. package/core/renderers/measurables/spacer_row.ts +55 -0
  367. package/core/renderers/measurables/square_corner.d.ts +21 -0
  368. package/core/renderers/measurables/square_corner.ts +47 -0
  369. package/core/renderers/measurables/statement_input.d.ts +22 -0
  370. package/core/renderers/measurables/{statement_input.js → statement_input.ts} +14 -18
  371. package/core/renderers/measurables/top_row.d.ts +56 -0
  372. package/core/renderers/measurables/top_row.ts +122 -0
  373. package/core/renderers/measurables/types.d.ts +235 -0
  374. package/core/renderers/measurables/types.ts +332 -0
  375. package/core/renderers/minimalist/constants.d.ts +14 -0
  376. package/core/renderers/minimalist/{constants.js → constants.ts} +5 -10
  377. package/core/renderers/minimalist/drawer.d.ts +21 -0
  378. package/core/renderers/minimalist/drawer.ts +38 -0
  379. package/core/renderers/minimalist/info.d.ts +30 -0
  380. package/core/renderers/minimalist/info.ts +52 -0
  381. package/core/renderers/minimalist/minimalist.d.ts +6 -0
  382. package/core/renderers/minimalist/minimalist.ts +22 -0
  383. package/core/renderers/minimalist/renderer.d.ts +41 -0
  384. package/core/renderers/minimalist/renderer.ts +71 -0
  385. package/core/renderers/thrasos/info.d.ts +40 -0
  386. package/core/renderers/thrasos/{info.js → info.ts} +66 -67
  387. package/core/renderers/thrasos/renderer.d.ts +25 -0
  388. package/core/renderers/thrasos/renderer.ts +48 -0
  389. package/core/renderers/thrasos/thrasos.d.ts +4 -0
  390. package/core/renderers/thrasos/thrasos.ts +20 -0
  391. package/core/renderers/zelos/constants.d.ts +186 -0
  392. package/core/renderers/zelos/{constants.js → constants.ts} +294 -441
  393. package/core/renderers/zelos/drawer.d.ts +47 -0
  394. package/core/renderers/zelos/{drawer.js → drawer.ts} +73 -95
  395. package/core/renderers/zelos/info.d.ts +88 -0
  396. package/core/renderers/zelos/{info.js → info.ts} +111 -142
  397. package/core/renderers/zelos/marker_svg.d.ts +46 -0
  398. package/core/renderers/zelos/marker_svg.ts +151 -0
  399. package/core/renderers/zelos/measurables/bottom_row.d.ts +27 -0
  400. package/core/renderers/zelos/measurables/bottom_row.ts +53 -0
  401. package/core/renderers/zelos/measurables/inputs.d.ts +23 -0
  402. package/core/renderers/zelos/measurables/{inputs.js → inputs.ts} +14 -15
  403. package/core/renderers/zelos/measurables/row_elements.d.ts +21 -0
  404. package/core/renderers/zelos/measurables/row_elements.ts +45 -0
  405. package/core/renderers/zelos/measurables/top_row.d.ts +29 -0
  406. package/core/renderers/zelos/measurables/{top_row.js → top_row.ts} +14 -27
  407. package/core/renderers/zelos/path_object.d.ts +77 -0
  408. package/core/renderers/zelos/path_object.ts +215 -0
  409. package/core/renderers/zelos/renderer.d.ts +74 -0
  410. package/core/renderers/zelos/renderer.ts +142 -0
  411. package/core/renderers/zelos/zelos.d.ts +12 -0
  412. package/core/renderers/zelos/zelos.ts +39 -0
  413. package/core/scrollbar.d.ts +277 -0
  414. package/core/{scrollbar.js → scrollbar.ts} +307 -328
  415. package/core/scrollbar_pair.d.ts +105 -0
  416. package/core/{scrollbar_pair.js → scrollbar_pair.ts} +71 -79
  417. package/core/serialization/blocks.d.ts +98 -0
  418. package/core/serialization/{blocks.js → blocks.ts} +229 -228
  419. package/core/serialization/exceptions.d.ts +73 -0
  420. package/core/serialization/exceptions.ts +98 -0
  421. package/core/serialization/priorities.d.ts +15 -0
  422. package/core/serialization/{priorities.js → priorities.ts} +4 -10
  423. package/core/serialization/registry.d.ts +20 -0
  424. package/core/serialization/{registry.js → registry.ts} +11 -13
  425. package/core/serialization/variables.d.ts +14 -0
  426. package/core/serialization/{variables.js → variables.ts} +30 -32
  427. package/core/serialization/workspaces.d.ts +28 -0
  428. package/core/serialization/{workspaces.js → workspaces.ts} +30 -27
  429. package/core/shortcut_items.d.ts +61 -0
  430. package/core/{shortcut_items.js → shortcut_items.ts} +121 -157
  431. package/core/shortcut_registry.d.ts +151 -0
  432. package/core/shortcut_registry.ts +355 -0
  433. package/core/sprites.d.ts +19 -0
  434. package/core/{sprites.js → sprites.ts} +4 -6
  435. package/core/theme/classic.d.ts +12 -0
  436. package/core/theme/{classic.js → classic.ts} +5 -7
  437. package/core/theme/themes.d.ts +8 -0
  438. package/core/theme/themes.ts +22 -0
  439. package/core/theme/zelos.d.ts +11 -0
  440. package/core/theme/{zelos.js → zelos.ts} +4 -7
  441. package/core/theme.d.ts +142 -0
  442. package/core/theme.ts +221 -0
  443. package/core/theme_manager.d.ts +81 -0
  444. package/core/theme_manager.ts +186 -0
  445. package/core/toolbox/category.d.ts +239 -0
  446. package/core/toolbox/category.ts +679 -0
  447. package/core/toolbox/collapsible_category.d.ts +91 -0
  448. package/core/toolbox/collapsible_category.ts +273 -0
  449. package/core/toolbox/separator.d.ts +39 -0
  450. package/core/toolbox/separator.ts +105 -0
  451. package/core/toolbox/toolbox.d.ts +352 -0
  452. package/core/toolbox/{toolbox.js → toolbox.ts} +316 -432
  453. package/core/toolbox/toolbox_item.d.ts +85 -0
  454. package/core/toolbox/toolbox_item.ts +147 -0
  455. package/core/tooltip.d.ts +126 -0
  456. package/core/{tooltip.js → tooltip.ts} +136 -214
  457. package/core/touch.d.ts +121 -0
  458. package/core/touch.ts +306 -0
  459. package/core/touch_gesture.d.ts +115 -0
  460. package/core/{touch_gesture.js → touch_gesture.ts} +87 -125
  461. package/core/trashcan.d.ts +195 -0
  462. package/core/{trashcan.js → trashcan.ts} +226 -312
  463. package/core/utils/aria.d.ts +67 -0
  464. package/core/utils/{aria.js → aria.ts} +47 -61
  465. package/core/utils/array.d.ts +14 -0
  466. package/core/utils/{array.js → array.ts} +10 -12
  467. package/core/utils/colour.d.ts +103 -0
  468. package/core/utils/{colour.js → colour.ts} +60 -72
  469. package/core/utils/coordinate.d.ts +72 -0
  470. package/core/utils/coordinate.ts +124 -0
  471. package/core/utils/deprecation.d.ts +17 -0
  472. package/core/utils/{deprecation.js → deprecation.ts} +11 -11
  473. package/core/utils/dom.d.ts +165 -0
  474. package/core/utils/{dom.js → dom.ts} +125 -147
  475. package/core/utils/idgenerator.d.ts +25 -0
  476. package/core/utils/{idgenerator.js → idgenerator.ts} +15 -18
  477. package/core/utils/keycodes.d.ts +137 -0
  478. package/core/utils/keycodes.ts +169 -0
  479. package/core/utils/math.d.ts +30 -0
  480. package/core/utils/{math.js → math.ts} +17 -19
  481. package/core/utils/metrics.d.ts +64 -0
  482. package/core/utils/metrics.ts +97 -0
  483. package/core/utils/object.d.ts +35 -0
  484. package/core/utils/{object.js → object.ts} +30 -26
  485. package/core/utils/parsing.d.ts +50 -0
  486. package/core/utils/{parsing.js → parsing.ts} +50 -50
  487. package/core/utils/rect.d.ts +38 -0
  488. package/core/utils/{rect.js → rect.ts} +18 -31
  489. package/core/utils/sentinel.d.ts +11 -0
  490. package/core/utils/{sentinel.js → sentinel.ts} +3 -5
  491. package/core/utils/size.d.ts +27 -0
  492. package/core/utils/{size.js → size.ts} +12 -26
  493. package/core/utils/string.d.ts +55 -0
  494. package/core/utils/{string.js → string.ts} +64 -61
  495. package/core/utils/style.d.ts +127 -0
  496. package/core/utils/{style.js → style.ts} +102 -92
  497. package/core/utils/svg.d.ts +68 -0
  498. package/core/utils/svg.ts +88 -0
  499. package/core/utils/svg_math.d.ts +70 -0
  500. package/core/utils/{svg_math.js → svg_math.ts} +72 -71
  501. package/core/utils/svg_paths.d.ts +101 -0
  502. package/core/utils/{svg_paths.js → svg_paths.ts} +56 -65
  503. package/core/utils/toolbox.d.ts +193 -0
  504. package/core/utils/toolbox.ts +433 -0
  505. package/core/utils/useragent.d.ts +33 -0
  506. package/core/utils/useragent.ts +135 -0
  507. package/core/utils/xml.d.ts +52 -0
  508. package/core/utils/{xml.js → xml.ts} +26 -36
  509. package/core/utils.d.ts +217 -0
  510. package/core/utils.ts +428 -0
  511. package/core/variable_map.d.ts +141 -0
  512. package/core/{variable_map.js → variable_map.ts} +131 -149
  513. package/core/variable_model.d.ts +40 -0
  514. package/core/variable_model.ts +82 -0
  515. package/core/variables.d.ts +181 -0
  516. package/core/{variables.js → variables.ts} +206 -188
  517. package/core/variables_dynamic.d.ts +38 -0
  518. package/core/{variables_dynamic.js → variables_dynamic.ts} +47 -43
  519. package/core/warning.d.ts +50 -0
  520. package/core/{warning.js → warning.ts} +52 -66
  521. package/core/widgetdiv.d.ts +69 -0
  522. package/core/widgetdiv.ts +257 -0
  523. package/core/workspace.d.ts +386 -0
  524. package/core/workspace.ts +801 -0
  525. package/core/workspace_audio.d.ts +47 -0
  526. package/core/{workspace_audio.js → workspace_audio.ts} +47 -60
  527. package/core/workspace_comment.d.ts +170 -0
  528. package/core/workspace_comment.ts +398 -0
  529. package/core/workspace_comment_svg.d.ts +329 -0
  530. package/core/{workspace_comment_svg.js → workspace_comment_svg.ts} +347 -444
  531. package/core/workspace_drag_surface_svg.d.ts +68 -0
  532. package/core/{workspace_drag_surface_svg.js → workspace_drag_surface_svg.ts} +75 -82
  533. package/core/workspace_dragger.d.ts +48 -0
  534. package/core/workspace_dragger.ts +104 -0
  535. package/core/workspace_svg.d.ts +920 -0
  536. package/core/{workspace_svg.js → workspace_svg.ts} +855 -935
  537. package/core/xml.d.ts +117 -0
  538. package/core/{xml.js → xml.ts} +306 -326
  539. package/core/zoom_controls.d.ts +130 -0
  540. package/core/{zoom_controls.js → zoom_controls.ts} +185 -251
  541. package/core.d.ts +1 -3
  542. package/core.js +1 -2
  543. package/dart.d.ts +0 -3
  544. package/dart_compressed.js +387 -99
  545. package/dart_compressed.js.map +1 -1
  546. package/generators/dart/all.js +2 -0
  547. package/generators/dart/colour.js +1 -1
  548. package/generators/dart/lists.js +1 -1
  549. package/generators/dart/logic.js +1 -1
  550. package/generators/dart/loops.js +1 -1
  551. package/generators/dart/math.js +1 -1
  552. package/generators/dart/procedures.js +1 -1
  553. package/generators/dart/text.js +1 -1
  554. package/generators/dart/variables.js +1 -1
  555. package/generators/dart/variables_dynamic.js +1 -1
  556. package/generators/dart.js +1 -2
  557. package/generators/javascript/all.js +2 -0
  558. package/generators/javascript/colour.js +1 -1
  559. package/generators/javascript/lists.js +1 -1
  560. package/generators/javascript/logic.js +1 -1
  561. package/generators/javascript/loops.js +1 -1
  562. package/generators/javascript/math.js +4 -4
  563. package/generators/javascript/procedures.js +1 -1
  564. package/generators/javascript/text.js +2 -2
  565. package/generators/javascript/variables.js +1 -1
  566. package/generators/javascript/variables_dynamic.js +1 -1
  567. package/generators/javascript.js +1 -3
  568. package/generators/lua/all.js +2 -0
  569. package/generators/lua/colour.js +1 -1
  570. package/generators/lua/lists.js +1 -1
  571. package/generators/lua/logic.js +1 -1
  572. package/generators/lua/loops.js +1 -1
  573. package/generators/lua/math.js +1 -1
  574. package/generators/lua/procedures.js +1 -1
  575. package/generators/lua/text.js +1 -1
  576. package/generators/lua/variables.js +1 -1
  577. package/generators/lua/variables_dynamic.js +1 -1
  578. package/generators/lua.js +1 -2
  579. package/generators/php/all.js +2 -0
  580. package/generators/php/colour.js +1 -1
  581. package/generators/php/lists.js +1 -2
  582. package/generators/php/logic.js +1 -1
  583. package/generators/php/loops.js +1 -1
  584. package/generators/php/math.js +1 -1
  585. package/generators/php/procedures.js +1 -1
  586. package/generators/php/text.js +1 -1
  587. package/generators/php/variables.js +1 -1
  588. package/generators/php/variables_dynamic.js +1 -1
  589. package/generators/php.js +1 -2
  590. package/generators/python/all.js +2 -0
  591. package/generators/python/colour.js +3 -3
  592. package/generators/python/lists.js +1 -1
  593. package/generators/python/logic.js +1 -1
  594. package/generators/python/loops.js +4 -7
  595. package/generators/python/math.js +1 -1
  596. package/generators/python/procedures.js +1 -1
  597. package/generators/python/text.js +1 -1
  598. package/generators/python/variables.js +1 -1
  599. package/generators/python/variables_dynamic.js +1 -1
  600. package/generators/python.js +1 -2
  601. package/index.d.ts +2 -8
  602. package/javascript.d.ts +0 -3
  603. package/javascript_compressed.js +314 -104
  604. package/javascript_compressed.js.map +1 -1
  605. package/lua.d.ts +0 -3
  606. package/lua_compressed.js +399 -81
  607. package/lua_compressed.js.map +1 -1
  608. package/msg/ab.js +421 -421
  609. package/msg/ace.js +421 -421
  610. package/msg/af.js +421 -421
  611. package/msg/am.js +421 -421
  612. package/msg/ar.js +421 -421
  613. package/msg/ast.js +421 -421
  614. package/msg/az.js +421 -421
  615. package/msg/ba.js +421 -421
  616. package/msg/bcc.js +421 -421
  617. package/msg/be-tarask.js +421 -421
  618. package/msg/be.js +421 -421
  619. package/msg/bg.js +421 -421
  620. package/msg/bn.js +421 -421
  621. package/msg/br.js +421 -421
  622. package/msg/bs.js +421 -421
  623. package/msg/ca.js +421 -421
  624. package/msg/cdo.js +421 -421
  625. package/msg/cs.js +421 -421
  626. package/msg/da.js +421 -421
  627. package/msg/de.js +421 -421
  628. package/msg/diq.js +421 -421
  629. package/msg/dty.js +421 -421
  630. package/msg/ee.js +421 -421
  631. package/msg/el.js +421 -421
  632. package/msg/en-gb.js +421 -421
  633. package/msg/en.js +421 -421
  634. package/msg/eo.js +421 -421
  635. package/msg/es.js +421 -421
  636. package/msg/et.js +421 -421
  637. package/msg/eu.js +421 -421
  638. package/msg/fa.js +421 -421
  639. package/msg/fi.js +421 -421
  640. package/msg/fo.js +421 -421
  641. package/msg/fr.js +421 -421
  642. package/msg/frr.js +421 -421
  643. package/msg/gl.js +421 -421
  644. package/msg/gn.js +421 -421
  645. package/msg/gor.js +421 -421
  646. package/msg/ha.js +421 -421
  647. package/msg/hak.js +421 -421
  648. package/msg/he.js +421 -421
  649. package/msg/hi.js +421 -421
  650. package/msg/hr.js +421 -421
  651. package/msg/hrx.js +421 -421
  652. package/msg/hu.js +421 -421
  653. package/msg/hy.js +421 -421
  654. package/msg/ia.js +421 -421
  655. package/msg/id.js +421 -421
  656. package/msg/ig.js +421 -421
  657. package/msg/inh.js +421 -421
  658. package/msg/is.js +421 -421
  659. package/msg/it.js +421 -421
  660. package/msg/ja.js +421 -421
  661. package/msg/ka.js +421 -421
  662. package/msg/kab.js +421 -421
  663. package/msg/kbd-cyrl.js +421 -421
  664. package/msg/km.js +421 -421
  665. package/msg/kn.js +421 -421
  666. package/msg/ko.js +421 -421
  667. package/msg/ksh.js +421 -421
  668. package/msg/ku-latn.js +421 -421
  669. package/msg/ky.js +421 -421
  670. package/msg/la.js +421 -421
  671. package/msg/lb.js +421 -421
  672. package/msg/lki.js +421 -421
  673. package/msg/lo.js +421 -421
  674. package/msg/lrc.js +421 -421
  675. package/msg/lt.js +421 -421
  676. package/msg/lv.js +421 -421
  677. package/msg/mg.js +421 -421
  678. package/msg/mk.js +421 -421
  679. package/msg/ml.js +421 -421
  680. package/msg/mnw.js +421 -421
  681. package/msg/ms.js +421 -421
  682. package/msg/my.js +421 -421
  683. package/msg/mzn.js +421 -421
  684. package/msg/nb.js +421 -421
  685. package/msg/ne.js +421 -421
  686. package/msg/nl.js +421 -421
  687. package/msg/oc.js +421 -421
  688. package/msg/olo.js +421 -421
  689. package/msg/pa.js +421 -421
  690. package/msg/pl.js +421 -421
  691. package/msg/pms.js +421 -421
  692. package/msg/ps.js +421 -421
  693. package/msg/pt-br.js +421 -421
  694. package/msg/pt.js +421 -421
  695. package/msg/ro.js +421 -421
  696. package/msg/ru.js +421 -421
  697. package/msg/sc.js +421 -421
  698. package/msg/sco.js +421 -421
  699. package/msg/sd.js +421 -421
  700. package/msg/shn.js +421 -421
  701. package/msg/si.js +421 -421
  702. package/msg/sk.js +421 -421
  703. package/msg/skr-arab.js +421 -421
  704. package/msg/sl.js +421 -421
  705. package/msg/smn.js +421 -421
  706. package/msg/sq.js +421 -421
  707. package/msg/sr-latn.js +421 -421
  708. package/msg/sr.js +421 -421
  709. package/msg/sv.js +421 -421
  710. package/msg/sw.js +421 -421
  711. package/msg/ta.js +421 -421
  712. package/msg/tcy.js +421 -421
  713. package/msg/te.js +421 -421
  714. package/msg/th.js +421 -421
  715. package/msg/ti.js +421 -421
  716. package/msg/tl.js +421 -421
  717. package/msg/tlh.js +421 -421
  718. package/msg/tr.js +421 -421
  719. package/msg/ug-arab.js +421 -421
  720. package/msg/uk.js +421 -421
  721. package/msg/ur.js +421 -421
  722. package/msg/uz.js +421 -421
  723. package/msg/vi.js +421 -421
  724. package/msg/xmf.js +421 -421
  725. package/msg/yo.js +421 -421
  726. package/msg/yue.js +421 -421
  727. package/msg/zgh.js +421 -421
  728. package/msg/zh-hans.js +421 -421
  729. package/msg/zh-hant.js +421 -421
  730. package/package.json +5 -5
  731. package/php.d.ts +0 -3
  732. package/php_compressed.js +322 -93
  733. package/php_compressed.js.map +1 -1
  734. package/python.d.ts +0 -3
  735. package/python_compressed.js +237 -90
  736. package/python_compressed.js.map +1 -1
  737. package/blockly.d.ts +0 -26127
  738. package/core/blockly_options.js +0 -28
  739. package/core/bubble_dragger.js +0 -298
  740. package/core/clipboard.js +0 -80
  741. package/core/component_manager.js +0 -263
  742. package/core/contextmenu_items.js +0 -651
  743. package/core/contextmenu_registry.js +0 -178
  744. package/core/delete_area.js +0 -87
  745. package/core/dialog.js +0 -107
  746. package/core/drag_target.js +0 -98
  747. package/core/events/events.js +0 -147
  748. package/core/events/events_abstract.js +0 -133
  749. package/core/events/events_block_base.js +0 -70
  750. package/core/events/events_block_drag.js +0 -89
  751. package/core/events/events_bubble_open.js +0 -90
  752. package/core/events/events_comment_base.js +0 -121
  753. package/core/events/events_marker_move.js +0 -110
  754. package/core/events/events_selected.js +0 -83
  755. package/core/events/events_toolbox_item_select.js +0 -84
  756. package/core/events/events_trashcan_open.js +0 -73
  757. package/core/events/events_var_base.js +0 -70
  758. package/core/events/events_viewport.js +0 -107
  759. package/core/events/workspace_events.js +0 -93
  760. package/core/field_angle.js +0 -591
  761. package/core/field_checkbox.js +0 -255
  762. package/core/field_colour.js +0 -717
  763. package/core/field_image.js +0 -304
  764. package/core/field_label.js +0 -149
  765. package/core/field_label_serializable.js +0 -80
  766. package/core/field_textinput.js +0 -619
  767. package/core/flyout_button.js +0 -356
  768. package/core/grid.js +0 -226
  769. package/core/icon.js +0 -225
  770. package/core/input.js +0 -335
  771. package/core/interfaces/i_ast_node_location_svg.js +0 -45
  772. package/core/interfaces/i_ast_node_location_with_block.js +0 -41
  773. package/core/interfaces/i_autohideable.js +0 -40
  774. package/core/interfaces/i_block_dragger.js +0 -66
  775. package/core/interfaces/i_bounded_element.js +0 -45
  776. package/core/interfaces/i_bubble.js +0 -95
  777. package/core/interfaces/i_collapsible_toolbox_item.js +0 -53
  778. package/core/interfaces/i_connection_checker.js +0 -104
  779. package/core/interfaces/i_contextmenu.js +0 -32
  780. package/core/interfaces/i_copyable.js +0 -49
  781. package/core/interfaces/i_delete_area.js +0 -50
  782. package/core/interfaces/i_drag_target.js +0 -88
  783. package/core/interfaces/i_flyout.js +0 -201
  784. package/core/interfaces/i_keyboard_accessible.js +0 -38
  785. package/core/interfaces/i_metrics_manager.js +0 -154
  786. package/core/interfaces/i_positionable.js +0 -51
  787. package/core/interfaces/i_selectable.js +0 -51
  788. package/core/interfaces/i_selectable_toolbox_item.js +0 -73
  789. package/core/interfaces/i_serializer.js +0 -77
  790. package/core/interfaces/i_styleable.js +0 -39
  791. package/core/interfaces/i_toolbox.js +0 -142
  792. package/core/interfaces/i_toolbox_item.js +0 -85
  793. package/core/marker_manager.js +0 -213
  794. package/core/menuitem.js +0 -292
  795. package/core/names.js +0 -293
  796. package/core/registry.js +0 -384
  797. package/core/renderers/common/block_rendering.js +0 -170
  798. package/core/renderers/common/constants.js +0 -1250
  799. package/core/renderers/common/i_path_object.js +0 -162
  800. package/core/renderers/common/marker_svg.js +0 -721
  801. package/core/renderers/common/path_object.js +0 -283
  802. package/core/renderers/common/renderer.js +0 -305
  803. package/core/renderers/geras/constants.js +0 -73
  804. package/core/renderers/geras/geras.js +0 -36
  805. package/core/renderers/geras/measurables/inline_input.js +0 -58
  806. package/core/renderers/geras/measurables/statement_input.js +0 -57
  807. package/core/renderers/geras/renderer.js +0 -149
  808. package/core/renderers/measurables/base.js +0 -64
  809. package/core/renderers/measurables/bottom_row.js +0 -138
  810. package/core/renderers/measurables/connection.js +0 -56
  811. package/core/renderers/measurables/external_value_input.js +0 -70
  812. package/core/renderers/measurables/field.js +0 -71
  813. package/core/renderers/measurables/in_row_spacer.js +0 -47
  814. package/core/renderers/measurables/input_connection.js +0 -75
  815. package/core/renderers/measurables/next_connection.js +0 -50
  816. package/core/renderers/measurables/output_connection.js +0 -61
  817. package/core/renderers/measurables/previous_connection.js +0 -50
  818. package/core/renderers/measurables/round_corner.js +0 -52
  819. package/core/renderers/measurables/row.js +0 -247
  820. package/core/renderers/measurables/spacer_row.js +0 -69
  821. package/core/renderers/measurables/square_corner.js +0 -50
  822. package/core/renderers/measurables/top_row.js +0 -143
  823. package/core/renderers/measurables/types.js +0 -353
  824. package/core/renderers/minimalist/drawer.js +0 -42
  825. package/core/renderers/minimalist/info.js +0 -54
  826. package/core/renderers/minimalist/minimalist.js +0 -26
  827. package/core/renderers/minimalist/renderer.js +0 -80
  828. package/core/renderers/thrasos/renderer.js +0 -53
  829. package/core/renderers/thrasos/thrasos.js +0 -22
  830. package/core/renderers/zelos/marker_svg.js +0 -179
  831. package/core/renderers/zelos/measurables/bottom_row.js +0 -66
  832. package/core/renderers/zelos/measurables/row_elements.js +0 -46
  833. package/core/renderers/zelos/path_object.js +0 -247
  834. package/core/renderers/zelos/renderer.js +0 -147
  835. package/core/renderers/zelos/zelos.js +0 -38
  836. package/core/serialization/exceptions.js +0 -144
  837. package/core/shortcut_registry.js +0 -366
  838. package/core/theme/themes.js +0 -23
  839. package/core/theme.js +0 -228
  840. package/core/theme_manager.js +0 -211
  841. package/core/toolbox/category.js +0 -751
  842. package/core/toolbox/collapsible_category.js +0 -311
  843. package/core/toolbox/separator.js +0 -133
  844. package/core/toolbox/toolbox_item.js +0 -173
  845. package/core/touch.js +0 -285
  846. package/core/utils/coordinate.js +0 -138
  847. package/core/utils/global.js +0 -41
  848. package/core/utils/keycodes.js +0 -172
  849. package/core/utils/metrics.js +0 -154
  850. package/core/utils/svg.js +0 -186
  851. package/core/utils/toolbox.js +0 -459
  852. package/core/utils/useragent.js +0 -197
  853. package/core/utils.js +0 -383
  854. package/core/variable_model.js +0 -96
  855. package/core/widgetdiv.js +0 -290
  856. package/core/workspace.js +0 -836
  857. package/core/workspace_comment.js +0 -400
  858. package/core/workspace_dragger.js +0 -115
@@ -7,126 +7,88 @@
7
7
  /**
8
8
  * @fileoverview Blockly menu similar to Closure's goog.ui.Menu
9
9
  */
10
- 'use strict';
11
10
 
12
11
  /**
13
12
  * Blockly menu similar to Closure's goog.ui.Menu
14
13
  * @class
15
14
  */
16
- goog.module('Blockly.Menu');
15
+ import * as goog from '../closure/goog/goog.js';
16
+ goog.declareModuleId('Blockly.Menu');
17
17
 
18
- const aria = goog.require('Blockly.utils.aria');
19
- const browserEvents = goog.require('Blockly.browserEvents');
20
- const dom = goog.require('Blockly.utils.dom');
21
- const style = goog.require('Blockly.utils.style');
22
- const {Coordinate} = goog.require('Blockly.utils.Coordinate');
23
- const {KeyCodes} = goog.require('Blockly.utils.KeyCodes');
24
- /* eslint-disable-next-line no-unused-vars */
25
- const {MenuItem} = goog.requireType('Blockly.MenuItem');
26
- /* eslint-disable-next-line no-unused-vars */
27
- const {Size} = goog.requireType('Blockly.utils.Size');
18
+ import * as browserEvents from './browser_events.js';
19
+ import type {MenuItem} from './menuitem.js';
20
+ import * as aria from './utils/aria.js';
21
+ import {Coordinate} from './utils/coordinate.js';
22
+ import * as dom from './utils/dom.js';
23
+ import {KeyCodes} from './utils/keycodes.js';
24
+ import type {Size} from './utils/size.js';
25
+ import * as style from './utils/style.js';
28
26
 
29
27
 
30
28
  /**
31
29
  * A basic menu class.
32
30
  * @alias Blockly.Menu
33
31
  */
34
- const Menu = class {
32
+ export class Menu {
35
33
  /**
36
- * Constructs a new Menu instance.
34
+ * Array of menu items.
35
+ * (Nulls are never in the array, but typing the array as nullable prevents
36
+ * the compiler from objecting to .indexOf(null))
37
37
  */
38
- constructor() {
39
- /**
40
- * Array of menu items.
41
- * (Nulls are never in the array, but typing the array as nullable prevents
42
- * the compiler from objecting to .indexOf(null))
43
- * @type {!Array<MenuItem>}
44
- * @private
45
- */
46
- this.menuItems_ = [];
47
-
48
- /**
49
- * Coordinates of the mousedown event that caused this menu to open. Used to
50
- * prevent the consequent mouseup event due to a simple click from
51
- * activating a menu item immediately.
52
- * @type {?Coordinate}
53
- * @package
54
- */
55
- this.openingCoords = null;
38
+ private readonly menuItems_: MenuItem[] = [];
56
39
 
57
- /**
58
- * This is the element that we will listen to the real focus events on.
59
- * A value of null means no menu item is highlighted.
60
- * @type {?MenuItem}
61
- * @private
62
- */
63
- this.highlightedItem_ = null;
64
-
65
- /**
66
- * Mouse over event data.
67
- * @type {?browserEvents.Data}
68
- * @private
69
- */
70
- this.mouseOverHandler_ = null;
71
-
72
- /**
73
- * Click event data.
74
- * @type {?browserEvents.Data}
75
- * @private
76
- */
77
- this.clickHandler_ = null;
78
-
79
- /**
80
- * Mouse enter event data.
81
- * @type {?browserEvents.Data}
82
- * @private
83
- */
84
- this.mouseEnterHandler_ = null;
85
-
86
- /**
87
- * Mouse leave event data.
88
- * @type {?browserEvents.Data}
89
- * @private
90
- */
91
- this.mouseLeaveHandler_ = null;
92
-
93
- /**
94
- * Key down event data.
95
- * @type {?browserEvents.Data}
96
- * @private
97
- */
98
- this.onKeyDownHandler_ = null;
99
-
100
- /**
101
- * The menu's root DOM element.
102
- * @type {?HTMLDivElement}
103
- * @private
104
- */
105
- this.element_ = null;
40
+ /**
41
+ * Coordinates of the mousedown event that caused this menu to open. Used to
42
+ * prevent the consequent mouseup event due to a simple click from
43
+ * activating a menu item immediately.
44
+ */
45
+ openingCoords: Coordinate|null = null;
106
46
 
107
- /**
108
- * ARIA name for this menu.
109
- * @type {?aria.Role}
110
- * @private
111
- */
112
- this.roleName_ = null;
113
- }
47
+ /**
48
+ * This is the element that we will listen to the real focus events on.
49
+ * A value of null means no menu item is highlighted.
50
+ */
51
+ private highlightedItem_: MenuItem|null = null;
52
+
53
+ /** Mouse over event data. */
54
+ private mouseOverHandler_: browserEvents.Data|null = null;
55
+
56
+ /** Click event data. */
57
+ private clickHandler_: browserEvents.Data|null = null;
58
+
59
+ /** Mouse enter event data. */
60
+ private mouseEnterHandler_: browserEvents.Data|null = null;
61
+
62
+ /** Mouse leave event data. */
63
+ private mouseLeaveHandler_: browserEvents.Data|null = null;
64
+
65
+ /** Key down event data. */
66
+ private onKeyDownHandler_: browserEvents.Data|null = null;
67
+
68
+ /** The menu's root DOM element. */
69
+ private element_: HTMLDivElement|null = null;
70
+
71
+ /** ARIA name for this menu. */
72
+ private roleName_: aria.Role|null = null;
73
+
74
+ /** Constructs a new Menu instance. */
75
+ constructor() {}
114
76
 
115
77
  /**
116
78
  * Add a new menu item to the bottom of this menu.
117
- * @param {!MenuItem} menuItem Menu item to append.
79
+ * @param menuItem Menu item to append.
80
+ * @internal
118
81
  */
119
- addChild(menuItem) {
82
+ addChild(menuItem: MenuItem) {
120
83
  this.menuItems_.push(menuItem);
121
84
  }
122
85
 
123
86
  /**
124
87
  * Creates the menu DOM.
125
- * @param {!Element} container Element upon which to append this menu.
88
+ * @param container Element upon which to append this menu.
126
89
  */
127
- render(container) {
128
- const element =
129
- /** @type {!HTMLDivElement} */ (document.createElement('div'));
90
+ render(container: Element) {
91
+ const element = (document.createElement('div'));
130
92
  // goog-menu is deprecated, use blocklyMenu. May 2020.
131
93
  element.className = 'blocklyMenu goog-menu blocklyNonSelectable';
132
94
  element.tabIndex = 0;
@@ -136,7 +98,7 @@ const Menu = class {
136
98
  this.element_ = element;
137
99
 
138
100
  // Add menu items.
139
- for (let i = 0, menuItem; (menuItem = this.menuItems_[i]); i++) {
101
+ for (let i = 0, menuItem; menuItem = this.menuItems_[i]; i++) {
140
102
  element.appendChild(menuItem.createDom());
141
103
  }
142
104
 
@@ -157,49 +119,48 @@ const Menu = class {
157
119
 
158
120
  /**
159
121
  * Gets the menu's element.
160
- * @return {?Element} The DOM element.
161
- * @package
122
+ * @return The DOM element.
123
+ * @internal
162
124
  */
163
- getElement() {
125
+ getElement(): Element|null {
164
126
  return this.element_;
165
127
  }
166
128
 
167
129
  /**
168
130
  * Focus the menu element.
169
- * @package
131
+ * @internal
170
132
  */
171
133
  focus() {
172
134
  const el = this.getElement();
173
135
  if (el) {
174
- el.focus({preventScroll: true});
136
+ // AnyDuringMigration because: Property 'focus' does not exist on type
137
+ // 'Element'.
138
+ (el as AnyDuringMigration).focus({preventScroll: true});
175
139
  dom.addClass(el, 'blocklyFocused');
176
140
  }
177
141
  }
178
142
 
179
- /**
180
- * Blur the menu element.
181
- * @private
182
- */
183
- blur_() {
143
+ /** Blur the menu element. */
144
+ private blur_() {
184
145
  const el = this.getElement();
185
146
  if (el) {
186
- el.blur();
147
+ // AnyDuringMigration because: Property 'blur' does not exist on type
148
+ // 'Element'.
149
+ (el as AnyDuringMigration).blur();
187
150
  dom.removeClass(el, 'blocklyFocused');
188
151
  }
189
152
  }
190
153
 
191
154
  /**
192
155
  * Set the menu accessibility role.
193
- * @param {!aria.Role} roleName role name.
194
- * @package
156
+ * @param roleName role name.
157
+ * @internal
195
158
  */
196
- setRole(roleName) {
159
+ setRole(roleName: aria.Role) {
197
160
  this.roleName_ = roleName;
198
161
  }
199
162
 
200
- /**
201
- * Dispose of this menu.
202
- */
163
+ /** Dispose of this menu. */
203
164
  dispose() {
204
165
  // Remove event handlers.
205
166
  if (this.mouseOverHandler_) {
@@ -224,7 +185,7 @@ const Menu = class {
224
185
  }
225
186
 
226
187
  // Remove menu items.
227
- for (let i = 0, menuItem; (menuItem = this.menuItems_[i]); i++) {
188
+ for (let i = 0, menuItem; menuItem = this.menuItems_[i]; i++) {
228
189
  menuItem.dispose();
229
190
  }
230
191
  this.element_ = null;
@@ -235,11 +196,10 @@ const Menu = class {
235
196
  /**
236
197
  * Returns the child menu item that owns the given DOM element,
237
198
  * or null if no such menu item is found.
238
- * @param {Element} elem DOM element whose owner is to be returned.
239
- * @return {?MenuItem} Menu item for which the DOM element belongs to.
240
- * @private
199
+ * @param elem DOM element whose owner is to be returned.
200
+ * @return Menu item for which the DOM element belongs to.
241
201
  */
242
- getMenuItem_(elem) {
202
+ private getMenuItem_(elem: Element): MenuItem|null {
243
203
  const menuElem = this.getElement();
244
204
  // Node might be the menu border (resulting in no associated menu item), or
245
205
  // a menu item's div, or some element within the menu item.
@@ -248,13 +208,15 @@ const Menu = class {
248
208
  while (elem && elem !== menuElem) {
249
209
  if (dom.hasClass(elem, 'blocklyMenuItem')) {
250
210
  // Having found a menu item's div, locate that menu item in this menu.
251
- for (let i = 0, menuItem; (menuItem = this.menuItems_[i]); i++) {
211
+ for (let i = 0, menuItem; menuItem = this.menuItems_[i]; i++) {
252
212
  if (menuItem.getElement() === elem) {
253
213
  return menuItem;
254
214
  }
255
215
  }
256
216
  }
257
- elem = elem.parentElement;
217
+ // AnyDuringMigration because: Type 'HTMLElement | null' is not
218
+ // assignable to type 'Element'.
219
+ elem = elem.parentElement as AnyDuringMigration;
258
220
  }
259
221
  return null;
260
222
  }
@@ -263,10 +225,10 @@ const Menu = class {
263
225
 
264
226
  /**
265
227
  * Highlights the given menu item, or clears highlighting if null.
266
- * @param {?MenuItem} item Item to highlight, or null.
267
- * @package
228
+ * @param item Item to highlight, or null.
229
+ * @internal
268
230
  */
269
- setHighlighted(item) {
231
+ setHighlighted(item: MenuItem|null) {
270
232
  const currentHighlighted = this.highlightedItem_;
271
233
  if (currentHighlighted) {
272
234
  currentHighlighted.setHighlighted(false);
@@ -277,9 +239,8 @@ const Menu = class {
277
239
  this.highlightedItem_ = item;
278
240
  // Bring the highlighted item into view. This has no effect if the menu is
279
241
  // not scrollable.
280
- const el = /** @type {!Element} */ (this.getElement());
281
- style.scrollIntoContainerView(
282
- /** @type {!Element} */ (item.getElement()), el);
242
+ const el = this.getElement() as Element;
243
+ style.scrollIntoContainerView(item.getElement() as Element, el);
283
244
 
284
245
  aria.setState(el, aria.State.ACTIVEDESCENDANT, item.getId());
285
246
  }
@@ -288,50 +249,49 @@ const Menu = class {
288
249
  /**
289
250
  * Highlights the next highlightable item (or the first if nothing is
290
251
  * currently highlighted).
291
- * @package
252
+ * @internal
292
253
  */
293
254
  highlightNext() {
294
- const index = this.menuItems_.indexOf(this.highlightedItem_);
255
+ // AnyDuringMigration because: Argument of type 'MenuItem | null' is not
256
+ // assignable to parameter of type 'MenuItem'.
257
+ const index =
258
+ this.menuItems_.indexOf(this.highlightedItem_ as AnyDuringMigration);
295
259
  this.highlightHelper_(index, 1);
296
260
  }
297
261
 
298
262
  /**
299
263
  * Highlights the previous highlightable item (or the last if nothing is
300
264
  * currently highlighted).
301
- * @package
265
+ * @internal
302
266
  */
303
267
  highlightPrevious() {
304
- const index = this.menuItems_.indexOf(this.highlightedItem_);
268
+ // AnyDuringMigration because: Argument of type 'MenuItem | null' is not
269
+ // assignable to parameter of type 'MenuItem'.
270
+ const index =
271
+ this.menuItems_.indexOf(this.highlightedItem_ as AnyDuringMigration);
305
272
  this.highlightHelper_(index < 0 ? this.menuItems_.length : index, -1);
306
273
  }
307
274
 
308
- /**
309
- * Highlights the first highlightable item.
310
- * @private
311
- */
312
- highlightFirst_() {
275
+ /** Highlights the first highlightable item. */
276
+ private highlightFirst_() {
313
277
  this.highlightHelper_(-1, 1);
314
278
  }
315
279
 
316
- /**
317
- * Highlights the last highlightable item.
318
- * @private
319
- */
320
- highlightLast_() {
280
+ /** Highlights the last highlightable item. */
281
+ private highlightLast_() {
321
282
  this.highlightHelper_(this.menuItems_.length, -1);
322
283
  }
323
284
 
324
285
  /**
325
286
  * Helper function that manages the details of moving the highlight among
326
287
  * child menuitems in response to keyboard events.
327
- * @param {number} startIndex Start index.
328
- * @param {number} delta Step direction: 1 to go down, -1 to go up.
329
- * @private
288
+ * @param startIndex Start index.
289
+ * @param delta Step direction: 1 to go down, -1 to go up.
330
290
  */
331
- highlightHelper_(startIndex, delta) {
291
+ private highlightHelper_(startIndex: number, delta: number) {
332
292
  let index = startIndex + delta;
333
293
  let menuItem;
334
- while ((menuItem = this.menuItems_[index])) {
294
+ while (menuItem = this.menuItems_[index]) {
335
295
  if (menuItem.isEnabled()) {
336
296
  this.setHighlighted(menuItem);
337
297
  break;
@@ -344,11 +304,10 @@ const Menu = class {
344
304
 
345
305
  /**
346
306
  * Handles mouseover events. Highlight menuitems as the user hovers over them.
347
- * @param {!Event} e Mouse event to handle.
348
- * @private
307
+ * @param e Mouse event to handle.
349
308
  */
350
- handleMouseOver_(e) {
351
- const menuItem = this.getMenuItem_(/** @type {Element} */ (e.target));
309
+ private handleMouseOver_(e: Event) {
310
+ const menuItem = this.getMenuItem_(e.target as Element);
352
311
 
353
312
  if (menuItem) {
354
313
  if (menuItem.isEnabled()) {
@@ -363,15 +322,20 @@ const Menu = class {
363
322
 
364
323
  /**
365
324
  * Handles click events. Pass the event onto the child menuitem to handle.
366
- * @param {!Event} e Click event to handle.
367
- * @private
325
+ * @param e Click event to handle.
368
326
  */
369
- handleClick_(e) {
327
+ private handleClick_(e: Event) {
370
328
  const oldCoords = this.openingCoords;
371
329
  // Clear out the saved opening coords immediately so they're not used twice.
372
330
  this.openingCoords = null;
373
- if (oldCoords && typeof e.clientX === 'number') {
374
- const newCoords = new Coordinate(e.clientX, e.clientY);
331
+ // AnyDuringMigration because: Property 'clientX' does not exist on type
332
+ // 'Event'.
333
+ if (oldCoords && typeof (e as AnyDuringMigration).clientX === 'number') {
334
+ // AnyDuringMigration because: Property 'clientY' does not exist on type
335
+ // 'Event'. AnyDuringMigration because: Property 'clientX' does not exist
336
+ // on type 'Event'.
337
+ const newCoords = new Coordinate(
338
+ (e as AnyDuringMigration).clientX, (e as AnyDuringMigration).clientY);
375
339
  if (Coordinate.distance(oldCoords, newCoords) < 1) {
376
340
  // This menu was opened by a mousedown and we're handling the consequent
377
341
  // click event. The coords haven't changed, meaning this was the same
@@ -382,7 +346,7 @@ const Menu = class {
382
346
  }
383
347
  }
384
348
 
385
- const menuItem = this.getMenuItem_(/** @type {Element} */ (e.target));
349
+ const menuItem = this.getMenuItem_(e.target as Element);
386
350
  if (menuItem) {
387
351
  menuItem.performAction();
388
352
  }
@@ -390,19 +354,17 @@ const Menu = class {
390
354
 
391
355
  /**
392
356
  * Handles mouse enter events. Focus the element.
393
- * @param {!Event} _e Mouse event to handle.
394
- * @private
357
+ * @param _e Mouse event to handle.
395
358
  */
396
- handleMouseEnter_(_e) {
359
+ private handleMouseEnter_(_e: Event) {
397
360
  this.focus();
398
361
  }
399
362
 
400
363
  /**
401
364
  * Handles mouse leave events. Blur and clear highlight.
402
- * @param {!Event} _e Mouse event to handle.
403
- * @private
365
+ * @param _e Mouse event to handle.
404
366
  */
405
- handleMouseLeave_(_e) {
367
+ private handleMouseLeave_(_e: Event) {
406
368
  if (this.getElement()) {
407
369
  this.blur_();
408
370
  this.setHighlighted(null);
@@ -415,21 +377,29 @@ const Menu = class {
415
377
  * Attempts to handle a keyboard event, if the menu item is enabled, by
416
378
  * calling
417
379
  * {@link handleKeyEventInternal_}.
418
- * @param {!Event} e Key event to handle.
419
- * @private
380
+ * @param e Key event to handle.
420
381
  */
421
- handleKeyEvent_(e) {
382
+ private handleKeyEvent_(e: Event) {
422
383
  if (!this.menuItems_.length) {
423
384
  // Empty menu.
424
385
  return;
425
386
  }
426
- if (e.shiftKey || e.ctrlKey || e.metaKey || e.altKey) {
387
+ // AnyDuringMigration because: Property 'altKey' does not exist on type
388
+ // 'Event'. AnyDuringMigration because: Property 'metaKey' does not exist
389
+ // on type 'Event'. AnyDuringMigration because: Property 'ctrlKey' does not
390
+ // exist on type 'Event'. AnyDuringMigration because: Property 'shiftKey'
391
+ // does not exist on type 'Event'.
392
+ if ((e as AnyDuringMigration).shiftKey ||
393
+ (e as AnyDuringMigration).ctrlKey ||
394
+ (e as AnyDuringMigration).metaKey || (e as AnyDuringMigration).altKey) {
427
395
  // Do not handle the key event if any modifier key is pressed.
428
396
  return;
429
397
  }
430
398
 
431
399
  const highlighted = this.highlightedItem_;
432
- switch (e.keyCode) {
400
+ // AnyDuringMigration because: Property 'keyCode' does not exist on type
401
+ // 'Event'.
402
+ switch ((e as AnyDuringMigration).keyCode) {
433
403
  case KeyCodes.ENTER:
434
404
  case KeyCodes.SPACE:
435
405
  if (highlighted) {
@@ -466,17 +436,14 @@ const Menu = class {
466
436
 
467
437
  /**
468
438
  * Get the size of a rendered menu.
469
- * @return {!Size} Object with width and height properties.
470
- * @package
439
+ * @return Object with width and height properties.
440
+ * @internal
471
441
  */
472
- getSize() {
442
+ getSize(): Size {
473
443
  const menuDom = this.getElement();
474
- const menuSize = style.getSize(/** @type {!Element} */
475
- (menuDom));
444
+ const menuSize = style.getSize(menuDom as Element);
476
445
  // Recalculate height for the total content, not only box height.
477
- menuSize.height = menuDom.scrollHeight;
446
+ menuSize.height = menuDom!.scrollHeight;
478
447
  return menuSize;
479
448
  }
480
- };
481
-
482
- exports.Menu = Menu;
449
+ }
@@ -0,0 +1,118 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2019 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import * as aria from './utils/aria.js';
7
+ /**
8
+ * Class representing an item in a menu.
9
+ * @alias Blockly.MenuItem
10
+ */
11
+ export declare class MenuItem {
12
+ private readonly content;
13
+ private readonly opt_value?;
14
+ /** Is the menu item clickable, as opposed to greyed-out. */
15
+ private enabled_;
16
+ /** The DOM element for the menu item. */
17
+ private element_;
18
+ /** Whether the menu item is rendered right-to-left. */
19
+ private rightToLeft_;
20
+ /** ARIA name for this menu. */
21
+ private roleName_;
22
+ /** Is this menu item checkable. */
23
+ private checkable_;
24
+ /** Is this menu item currently checked. */
25
+ private checked_;
26
+ /** Is this menu item currently highlighted. */
27
+ private highlight_;
28
+ /** Bound function to call when this menu item is clicked. */
29
+ private actionHandler_;
30
+ /**
31
+ * @param content Text caption to display as the content of the item, or a
32
+ * HTML element to display.
33
+ * @param opt_value Data/model associated with the menu item.
34
+ */
35
+ constructor(content: string | HTMLElement, opt_value?: string | undefined);
36
+ /**
37
+ * Creates the menuitem's DOM.
38
+ * @return Completed DOM.
39
+ */
40
+ createDom(): Element;
41
+ /** Dispose of this menu item. */
42
+ dispose(): void;
43
+ /**
44
+ * Gets the menu item's element.
45
+ * @return The DOM element.
46
+ * @internal
47
+ */
48
+ getElement(): Element | null;
49
+ /**
50
+ * Gets the unique ID for this menu item.
51
+ * @return Unique component ID.
52
+ * @internal
53
+ */
54
+ getId(): string;
55
+ /**
56
+ * Gets the value associated with the menu item.
57
+ * @return value Value associated with the menu item.
58
+ * @internal
59
+ */
60
+ getValue(): any;
61
+ /**
62
+ * Set menu item's rendering direction.
63
+ * @param rtl True if RTL, false if LTR.
64
+ * @internal
65
+ */
66
+ setRightToLeft(rtl: boolean): void;
67
+ /**
68
+ * Set the menu item's accessibility role.
69
+ * @param roleName Role name.
70
+ * @internal
71
+ */
72
+ setRole(roleName: aria.Role): void;
73
+ /**
74
+ * Sets the menu item to be checkable or not. Set to true for menu items
75
+ * that represent checkable options.
76
+ * @param checkable Whether the menu item is checkable.
77
+ * @internal
78
+ */
79
+ setCheckable(checkable: boolean): void;
80
+ /**
81
+ * Checks or unchecks the component.
82
+ * @param checked Whether to check or uncheck the component.
83
+ * @internal
84
+ */
85
+ setChecked(checked: boolean): void;
86
+ /**
87
+ * Highlights or unhighlights the component.
88
+ * @param highlight Whether to highlight or unhighlight the component.
89
+ * @internal
90
+ */
91
+ setHighlighted(highlight: boolean): void;
92
+ /**
93
+ * Returns true if the menu item is enabled, false otherwise.
94
+ * @return Whether the menu item is enabled.
95
+ * @internal
96
+ */
97
+ isEnabled(): boolean;
98
+ /**
99
+ * Enables or disables the menu item.
100
+ * @param enabled Whether to enable or disable the menu item.
101
+ * @internal
102
+ */
103
+ setEnabled(enabled: boolean): void;
104
+ /**
105
+ * Performs the appropriate action when the menu item is activated
106
+ * by the user.
107
+ * @internal
108
+ */
109
+ performAction(): void;
110
+ /**
111
+ * Set the handler that's called when the menu item is activated by the user.
112
+ * `obj` will be used as the 'this' object in the function when called.
113
+ * @param fn The handler.
114
+ * @param obj Used as the 'this' object in fn when called.
115
+ * @internal
116
+ */
117
+ onAction(fn: (p1: MenuItem) => any, obj: any): void;
118
+ }