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,184 +7,123 @@
7
7
  /**
8
8
  * @fileoverview Object representing a zoom icons.
9
9
  */
10
- 'use strict';
11
10
 
12
11
  /**
13
12
  * Object representing a zoom icons.
14
13
  * @class
15
14
  */
16
- goog.module('Blockly.ZoomControls');
17
-
18
- const Css = goog.require('Blockly.Css');
19
- const Touch = goog.require('Blockly.Touch');
20
- const browserEvents = goog.require('Blockly.browserEvents');
21
- const dom = goog.require('Blockly.utils.dom');
22
- const eventUtils = goog.require('Blockly.Events.utils');
23
- const {SPRITE} = goog.require('Blockly.sprite');
24
- const uiPosition = goog.require('Blockly.uiPosition');
25
- const {ComponentManager} = goog.require('Blockly.ComponentManager');
26
- /* eslint-disable-next-line no-unused-vars */
27
- const {IPositionable} = goog.require('Blockly.IPositionable');
28
- /* eslint-disable-next-line no-unused-vars */
29
- const {MetricsManager} = goog.requireType('Blockly.MetricsManager');
30
- const {Rect} = goog.require('Blockly.utils.Rect');
31
- const {Size} = goog.require('Blockly.utils.Size');
32
- const {Svg} = goog.require('Blockly.utils.Svg');
15
+ import * as goog from '../closure/goog/goog.js';
16
+ goog.declareModuleId('Blockly.ZoomControls');
17
+
33
18
  /* eslint-disable-next-line no-unused-vars */
34
- const {WorkspaceSvg} = goog.requireType('Blockly.WorkspaceSvg');
35
- /** @suppress {extraRequire} */
36
- goog.require('Blockly.Events.Click');
19
+ // Unused import preserved for side-effects. Remove if unneeded.
20
+ // import './metrics_manager.js';
21
+ // Unused import preserved for side-effects. Remove if unneeded.
22
+ import './events/events_click.js';
23
+
24
+ import * as browserEvents from './browser_events.js';
25
+ import {ComponentManager} from './component_manager.js';
26
+ import * as Css from './css.js';
27
+ import * as eventUtils from './events/utils.js';
28
+ import type {IPositionable} from './interfaces/i_positionable.js';
29
+ import type {UiMetrics} from './metrics_manager.js';
30
+ import * as uiPosition from './positionable_helpers.js';
31
+ import {SPRITE} from './sprites.js';
32
+ import * as Touch from './touch.js';
33
+ import * as dom from './utils/dom.js';
34
+ import {Rect} from './utils/rect.js';
35
+ import {Size} from './utils/size.js';
36
+ import {Svg} from './utils/svg.js';
37
+ import type {WorkspaceSvg} from './workspace_svg.js';
37
38
 
38
39
 
39
40
  /**
40
41
  * Class for a zoom controls.
41
- * @implements {IPositionable}
42
42
  * @alias Blockly.ZoomControls
43
43
  */
44
- class ZoomControls {
44
+ export class ZoomControls implements IPositionable {
45
45
  /**
46
- * @param {!WorkspaceSvg} workspace The workspace to sit in.
46
+ * The unique id for this component that is used to register with the
47
+ * ComponentManager.
47
48
  */
48
- constructor(workspace) {
49
- /**
50
- * @type {!WorkspaceSvg}
51
- * @private
52
- */
53
- this.workspace_ = workspace;
54
-
55
- /**
56
- * The unique id for this component that is used to register with the
57
- * ComponentManager.
58
- * @type {string}
59
- */
60
- this.id = 'zoomControls';
61
-
62
- /**
63
- * A handle to use to unbind the mouse down event handler for zoom reset
64
- * button. Opaque data returned from browserEvents.conditionalBind.
65
- * @type {?browserEvents.Data}
66
- * @private
67
- */
68
- this.onZoomResetWrapper_ = null;
69
-
70
- /**
71
- * A handle to use to unbind the mouse down event handler for zoom in
72
- * button. Opaque data returned from browserEvents.conditionalBind.
73
- * @type {?browserEvents.Data}
74
- * @private
75
- */
76
- this.onZoomInWrapper_ = null;
77
-
78
- /**
79
- * A handle to use to unbind the mouse down event handler for zoom out
80
- * button. Opaque data returned from browserEvents.conditionalBind.
81
- * @type {?browserEvents.Data}
82
- * @private
83
- */
84
- this.onZoomOutWrapper_ = null;
85
-
86
- /**
87
- * The zoom in svg <g> element.
88
- * @type {SVGGElement}
89
- * @private
90
- */
91
- this.zoomInGroup_ = null;
92
-
93
- /**
94
- * The zoom out svg <g> element.
95
- * @type {SVGGElement}
96
- * @private
97
- */
98
- this.zoomOutGroup_ = null;
99
-
100
- /**
101
- * The zoom reset svg <g> element.
102
- * @type {SVGGElement}
103
- * @private
104
- */
105
- this.zoomResetGroup_ = null;
106
-
107
- /**
108
- * Width of the zoom controls.
109
- * @type {number}
110
- * @const
111
- * @private
112
- */
113
- this.WIDTH_ = 32;
114
-
115
- /**
116
- * Height of each zoom control.
117
- * @type {number}
118
- * @const
119
- * @private
120
- */
121
- this.HEIGHT_ = 32;
122
-
123
- /**
124
- * Small spacing used between the zoom in and out control, in pixels.
125
- * @type {number}
126
- * @const
127
- * @private
128
- */
129
- this.SMALL_SPACING_ = 2;
130
-
131
- /**
132
- * Large spacing used between the zoom in and reset control, in pixels.
133
- * @type {number}
134
- * @const
135
- * @private
136
- */
137
- this.LARGE_SPACING_ = 11;
138
-
139
- /**
140
- * Distance between zoom controls and bottom or top edge of workspace.
141
- * @type {number}
142
- * @const
143
- * @private
144
- */
145
- this.MARGIN_VERTICAL_ = 20;
146
-
147
- /**
148
- * Distance between zoom controls and right or left edge of workspace.
149
- * @type {number}
150
- * @private
151
- */
152
- this.MARGIN_HORIZONTAL_ = 20;
153
-
154
- /**
155
- * The SVG group containing the zoom controls.
156
- * @type {SVGElement}
157
- * @private
158
- */
159
- this.svgGroup_ = null;
160
-
161
- /**
162
- * Left coordinate of the zoom controls.
163
- * @type {number}
164
- * @private
165
- */
166
- this.left_ = 0;
167
-
168
- /**
169
- * Top coordinate of the zoom controls.
170
- * @type {number}
171
- * @private
172
- */
173
- this.top_ = 0;
174
-
175
- /**
176
- * Whether this has been initialized.
177
- * @type {boolean}
178
- * @private
179
- */
180
- this.initialized_ = false;
181
- }
49
+ id = 'zoomControls';
50
+
51
+ /**
52
+ * A handle to use to unbind the mouse down event handler for zoom reset
53
+ * button. Opaque data returned from browserEvents.conditionalBind.
54
+ */
55
+ private onZoomResetWrapper_: browserEvents.Data|null = null;
56
+
57
+ /**
58
+ * A handle to use to unbind the mouse down event handler for zoom in
59
+ * button. Opaque data returned from browserEvents.conditionalBind.
60
+ */
61
+ private onZoomInWrapper_: browserEvents.Data|null = null;
62
+
63
+ /**
64
+ * A handle to use to unbind the mouse down event handler for zoom out
65
+ * button. Opaque data returned from browserEvents.conditionalBind.
66
+ */
67
+ private onZoomOutWrapper_: browserEvents.Data|null = null;
68
+
69
+ /** The zoom in svg <g> element. */
70
+ // AnyDuringMigration because: Type 'null' is not assignable to type
71
+ // 'SVGGElement'.
72
+ private zoomInGroup_: SVGGElement = null as AnyDuringMigration;
73
+
74
+ /** The zoom out svg <g> element. */
75
+ // AnyDuringMigration because: Type 'null' is not assignable to type
76
+ // 'SVGGElement'.
77
+ private zoomOutGroup_: SVGGElement = null as AnyDuringMigration;
78
+
79
+ /** The zoom reset svg <g> element. */
80
+ // AnyDuringMigration because: Type 'null' is not assignable to type
81
+ // 'SVGGElement'.
82
+ private zoomResetGroup_: SVGGElement = null as AnyDuringMigration;
83
+
84
+ /** Width of the zoom controls. */
85
+ private readonly WIDTH_ = 32;
86
+
87
+ /** Height of each zoom control. */
88
+ private readonly HEIGHT_ = 32;
89
+
90
+ /** Small spacing used between the zoom in and out control, in pixels. */
91
+ private readonly SMALL_SPACING_ = 2;
92
+
93
+ /**
94
+ * Large spacing used between the zoom in and reset control, in pixels.
95
+ */
96
+ private readonly LARGE_SPACING_ = 11;
97
+
98
+ /** Distance between zoom controls and bottom or top edge of workspace. */
99
+ private readonly MARGIN_VERTICAL_ = 20;
100
+
101
+ /** Distance between zoom controls and right or left edge of workspace. */
102
+ private readonly MARGIN_HORIZONTAL_ = 20;
103
+
104
+ /** The SVG group containing the zoom controls. */
105
+ // AnyDuringMigration because: Type 'null' is not assignable to type
106
+ // 'SVGElement'.
107
+ private svgGroup_: SVGElement = null as AnyDuringMigration;
108
+
109
+ /** Left coordinate of the zoom controls. */
110
+ private left_ = 0;
111
+
112
+ /** Top coordinate of the zoom controls. */
113
+ private top_ = 0;
114
+
115
+ /** Whether this has been initialized. */
116
+ private initialized_ = false;
117
+
118
+ /** @param workspace The workspace to sit in. */
119
+ constructor(private readonly workspace: WorkspaceSvg) {}
120
+
182
121
  /**
183
122
  * Create the zoom controls.
184
- * @return {!SVGElement} The zoom controls SVG group.
123
+ * @return The zoom controls SVG group.
185
124
  */
186
- createDom() {
187
- this.svgGroup_ = dom.createSvgElement(Svg.G, {}, null);
125
+ createDom(): SVGElement {
126
+ this.svgGroup_ = dom.createSvgElement(Svg.G, {});
188
127
 
189
128
  // Each filter/pattern needs a unique ID for the case of multiple Blockly
190
129
  // instances on a page. Browser behaviour becomes undefined otherwise.
@@ -192,30 +131,30 @@ class ZoomControls {
192
131
  const rnd = String(Math.random()).substring(2);
193
132
  this.createZoomOutSvg_(rnd);
194
133
  this.createZoomInSvg_(rnd);
195
- if (this.workspace_.isMovable()) {
134
+ if (this.workspace.isMovable()) {
196
135
  // If we zoom to the center and the workspace isn't movable we could
197
136
  // loose blocks at the edges of the workspace.
198
137
  this.createZoomResetSvg_(rnd);
199
138
  }
200
139
  return this.svgGroup_;
201
140
  }
202
- /**
203
- * Initializes the zoom controls.
204
- */
141
+
142
+ /** Initializes the zoom controls. */
205
143
  init() {
206
- this.workspace_.getComponentManager().addComponent({
144
+ this.workspace.getComponentManager().addComponent({
207
145
  component: this,
208
146
  weight: 2,
209
147
  capabilities: [ComponentManager.Capability.POSITIONABLE],
210
148
  });
211
149
  this.initialized_ = true;
212
150
  }
151
+
213
152
  /**
214
153
  * Disposes of this zoom controls.
215
154
  * Unlink from all DOM elements to prevent memory leaks.
216
155
  */
217
156
  dispose() {
218
- this.workspace_.getComponentManager().removeComponent('zoomControls');
157
+ this.workspace.getComponentManager().removeComponent('zoomControls');
219
158
  if (this.svgGroup_) {
220
159
  dom.removeNode(this.svgGroup_);
221
160
  }
@@ -229,13 +168,14 @@ class ZoomControls {
229
168
  browserEvents.unbind(this.onZoomOutWrapper_);
230
169
  }
231
170
  }
171
+
232
172
  /**
233
173
  * Returns the bounding rectangle of the UI element in pixel units relative to
234
174
  * the Blockly injection div.
235
- * @return {?Rect} The UI elements's bounding box. Null if
236
- * bounding box should be ignored by other UI elements.
175
+ * @return The UI elements's bounding box. Null if bounding box should be
176
+ * ignored by other UI elements.
237
177
  */
238
- getBoundingRectangle() {
178
+ getBoundingRectangle(): Rect|null {
239
179
  let height = this.SMALL_SPACING_ + 2 * this.HEIGHT_;
240
180
  if (this.zoomResetGroup_) {
241
181
  height += this.LARGE_SPACING_ + this.HEIGHT_;
@@ -244,29 +184,29 @@ class ZoomControls {
244
184
  const right = this.left_ + this.WIDTH_;
245
185
  return new Rect(this.top_, bottom, this.left_, right);
246
186
  }
187
+
247
188
  /**
248
189
  * Positions the zoom controls.
249
190
  * It is positioned in the opposite corner to the corner the
250
191
  * categories/toolbox starts at.
251
- * @param {!MetricsManager.UiMetrics} metrics The workspace metrics.
252
- * @param {!Array<!Rect>} savedPositions List of rectangles that
253
- * are already on the workspace.
192
+ * @param metrics The workspace metrics.
193
+ * @param savedPositions List of rectangles that are already on the workspace.
254
194
  */
255
- position(metrics, savedPositions) {
195
+ position(metrics: UiMetrics, savedPositions: Rect[]) {
256
196
  // Not yet initialized.
257
197
  if (!this.initialized_) {
258
198
  return;
259
199
  }
260
200
 
261
201
  const cornerPosition =
262
- uiPosition.getCornerOppositeToolbox(this.workspace_, metrics);
202
+ uiPosition.getCornerOppositeToolbox(this.workspace, metrics);
263
203
  let height = this.SMALL_SPACING_ + 2 * this.HEIGHT_;
264
204
  if (this.zoomResetGroup_) {
265
205
  height += this.LARGE_SPACING_ + this.HEIGHT_;
266
206
  }
267
207
  const startRect = uiPosition.getStartPositionRect(
268
208
  cornerPosition, new Size(this.WIDTH_, height), this.MARGIN_HORIZONTAL_,
269
- this.MARGIN_VERTICAL_, metrics, this.workspace_);
209
+ this.MARGIN_VERTICAL_, metrics, this.workspace);
270
210
 
271
211
  const verticalPosition = cornerPosition.vertical;
272
212
  const bumpDirection = verticalPosition === uiPosition.verticalPosition.TOP ?
@@ -301,24 +241,24 @@ class ZoomControls {
301
241
  this.svgGroup_.setAttribute(
302
242
  'transform', 'translate(' + this.left_ + ',' + this.top_ + ')');
303
243
  }
244
+
304
245
  /**
305
246
  * Create the zoom in icon and its event handler.
306
- * @param {string} rnd The random string to use as a suffix in the clip path's
307
- * ID. These IDs must be unique in case there are multiple Blockly
308
- * instances on the same page.
309
- * @private
247
+ * @param rnd The random string to use as a suffix in the clip path's ID.
248
+ * These IDs must be unique in case there are multiple Blockly instances
249
+ * on the same page.
310
250
  */
311
- createZoomOutSvg_(rnd) {
251
+ private createZoomOutSvg_(rnd: string) {
312
252
  /* This markup will be generated and added to the .svgGroup_:
313
- <g class="blocklyZoom">
314
- <clipPath id="blocklyZoomoutClipPath837493">
315
- <rect width="32" height="32></rect>
316
- </clipPath>
317
- <image width="96" height="124" x="-64" y="-92"
318
- xlink:href="media/sprites.png"
319
- clip-path="url(#blocklyZoomoutClipPath837493)"></image>
320
- </g>
321
- */
253
+ <g class="blocklyZoom">
254
+ <clipPath id="blocklyZoomoutClipPath837493">
255
+ <rect width="32" height="32></rect>
256
+ </clipPath>
257
+ <image width="96" height="124" x="-64" y="-92"
258
+ xlink:href="media/sprites.png"
259
+ clip-path="url(#blocklyZoomoutClipPath837493)"></image>
260
+ </g>
261
+ */
322
262
  this.zoomOutGroup_ =
323
263
  dom.createSvgElement(Svg.G, {'class': 'blocklyZoom'}, this.svgGroup_);
324
264
  const clip = dom.createSvgElement(
@@ -341,30 +281,30 @@ class ZoomControls {
341
281
  this.zoomOutGroup_);
342
282
  zoomoutSvg.setAttributeNS(
343
283
  dom.XLINK_NS, 'xlink:href',
344
- this.workspace_.options.pathToMedia + SPRITE.url);
284
+ this.workspace.options.pathToMedia + SPRITE.url);
345
285
 
346
286
  // Attach listener.
347
287
  this.onZoomOutWrapper_ = browserEvents.conditionalBind(
348
288
  this.zoomOutGroup_, 'mousedown', null, this.zoom_.bind(this, -1));
349
289
  }
290
+
350
291
  /**
351
292
  * Create the zoom out icon and its event handler.
352
- * @param {string} rnd The random string to use as a suffix in the clip path's
353
- * ID. These IDs must be unique in case there are multiple Blockly
354
- * instances on the same page.
355
- * @private
293
+ * @param rnd The random string to use as a suffix in the clip path's ID.
294
+ * These IDs must be unique in case there are multiple Blockly instances
295
+ * on the same page.
356
296
  */
357
- createZoomInSvg_(rnd) {
297
+ private createZoomInSvg_(rnd: string) {
358
298
  /* This markup will be generated and added to the .svgGroup_:
359
- <g class="blocklyZoom">
360
- <clipPath id="blocklyZoominClipPath837493">
361
- <rect width="32" height="32"></rect>
362
- </clipPath>
363
- <image width="96" height="124" x="-32" y="-92"
364
- xlink:href="media/sprites.png"
365
- clip-path="url(#blocklyZoominClipPath837493)"></image>
366
- </g>
367
- */
299
+ <g class="blocklyZoom">
300
+ <clipPath id="blocklyZoominClipPath837493">
301
+ <rect width="32" height="32"></rect>
302
+ </clipPath>
303
+ <image width="96" height="124" x="-32" y="-92"
304
+ xlink:href="media/sprites.png"
305
+ clip-path="url(#blocklyZoominClipPath837493)"></image>
306
+ </g>
307
+ */
368
308
  this.zoomInGroup_ =
369
309
  dom.createSvgElement(Svg.G, {'class': 'blocklyZoom'}, this.svgGroup_);
370
310
  const clip = dom.createSvgElement(
@@ -386,46 +326,46 @@ class ZoomControls {
386
326
  this.zoomInGroup_);
387
327
  zoominSvg.setAttributeNS(
388
328
  dom.XLINK_NS, 'xlink:href',
389
- this.workspace_.options.pathToMedia + SPRITE.url);
329
+ this.workspace.options.pathToMedia + SPRITE.url);
390
330
 
391
331
  // Attach listener.
392
332
  this.onZoomInWrapper_ = browserEvents.conditionalBind(
393
333
  this.zoomInGroup_, 'mousedown', null, this.zoom_.bind(this, 1));
394
334
  }
335
+
395
336
  /**
396
337
  * Handles a mouse down event on the zoom in or zoom out buttons on the
397
338
  * workspace.
398
- * @param {number} amount Amount of zooming. Negative amount values zoom out,
399
- * and positive amount values zoom in.
400
- * @param {!Event} e A mouse down event.
401
- * @private
339
+ * @param amount Amount of zooming. Negative amount values zoom out, and
340
+ * positive amount values zoom in.
341
+ * @param e A mouse down event.
402
342
  */
403
- zoom_(amount, e) {
404
- this.workspace_.markFocused();
405
- this.workspace_.zoomCenter(amount);
343
+ private zoom_(amount: number, e: Event) {
344
+ this.workspace.markFocused();
345
+ this.workspace.zoomCenter(amount);
406
346
  this.fireZoomEvent_();
407
347
  Touch.clearTouchIdentifier(); // Don't block future drags.
408
348
  e.stopPropagation(); // Don't start a workspace scroll.
409
349
  e.preventDefault(); // Stop double-clicking from selecting text.
410
350
  }
351
+
411
352
  /**
412
353
  * Create the zoom reset icon and its event handler.
413
- * @param {string} rnd The random string to use as a suffix in the clip path's
414
- * ID. These IDs must be unique in case there are multiple Blockly
415
- * instances on the same page.
416
- * @private
354
+ * @param rnd The random string to use as a suffix in the clip path's ID.
355
+ * These IDs must be unique in case there are multiple Blockly instances
356
+ * on the same page.
417
357
  */
418
- createZoomResetSvg_(rnd) {
358
+ private createZoomResetSvg_(rnd: string) {
419
359
  /* This markup will be generated and added to the .svgGroup_:
420
- <g class="blocklyZoom">
421
- <clipPath id="blocklyZoomresetClipPath837493">
422
- <rect width="32" height="32"></rect>
423
- </clipPath>
424
- <image width="96" height="124" x="-32" y="-92"
425
- xlink:href="media/sprites.png"
426
- clip-path="url(#blocklyZoomresetClipPath837493)"></image>
427
- </g>
428
- */
360
+ <g class="blocklyZoom">
361
+ <clipPath id="blocklyZoomresetClipPath837493">
362
+ <rect width="32" height="32"></rect>
363
+ </clipPath>
364
+ <image width="96" height="124" x="-32" y="-92"
365
+ xlink:href="media/sprites.png"
366
+ clip-path="url(#blocklyZoomresetClipPath837493)"></image>
367
+ </g>
368
+ */
429
369
  this.zoomResetGroup_ =
430
370
  dom.createSvgElement(Svg.G, {'class': 'blocklyZoom'}, this.svgGroup_);
431
371
  const clip = dom.createSvgElement(
@@ -442,54 +382,50 @@ class ZoomControls {
442
382
  this.zoomResetGroup_);
443
383
  zoomresetSvg.setAttributeNS(
444
384
  dom.XLINK_NS, 'xlink:href',
445
- this.workspace_.options.pathToMedia + SPRITE.url);
385
+ this.workspace.options.pathToMedia + SPRITE.url);
446
386
 
447
387
  // Attach event listeners.
448
388
  this.onZoomResetWrapper_ = browserEvents.conditionalBind(
449
389
  this.zoomResetGroup_, 'mousedown', null, this.resetZoom_.bind(this));
450
390
  }
391
+
451
392
  /**
452
393
  * Handles a mouse down event on the reset zoom button on the workspace.
453
- * @param {!Event} e A mouse down event.
454
- * @private
394
+ * @param e A mouse down event.
455
395
  */
456
- resetZoom_(e) {
457
- this.workspace_.markFocused();
396
+ private resetZoom_(e: Event) {
397
+ this.workspace.markFocused();
458
398
 
459
399
  // zoom is passed amount and computes the new scale using the formula:
460
400
  // targetScale = currentScale * Math.pow(speed, amount)
461
- const targetScale = this.workspace_.options.zoomOptions.startScale;
462
- const currentScale = this.workspace_.scale;
463
- const speed = this.workspace_.options.zoomOptions.scaleSpeed;
401
+ const targetScale = this.workspace.options.zoomOptions.startScale;
402
+ const currentScale = this.workspace.scale;
403
+ const speed = this.workspace.options.zoomOptions.scaleSpeed;
464
404
  // To compute amount:
465
405
  // amount = log(speed, (targetScale / currentScale))
466
406
  // Math.log computes natural logarithm (ln), to change the base, use
467
407
  // formula: log(base, value) = ln(value) / ln(base)
468
408
  const amount = Math.log(targetScale / currentScale) / Math.log(speed);
469
- this.workspace_.beginCanvasTransition();
470
- this.workspace_.zoomCenter(amount);
471
- this.workspace_.scrollCenter();
409
+ this.workspace.beginCanvasTransition();
410
+ this.workspace.zoomCenter(amount);
411
+ this.workspace.scrollCenter();
472
412
 
473
- setTimeout(this.workspace_.endCanvasTransition.bind(this.workspace_), 500);
413
+ setTimeout(this.workspace.endCanvasTransition.bind(this.workspace), 500);
474
414
  this.fireZoomEvent_();
475
415
  Touch.clearTouchIdentifier(); // Don't block future drags.
476
416
  e.stopPropagation(); // Don't start a workspace scroll.
477
417
  e.preventDefault(); // Stop double-clicking from selecting text.
478
418
  }
479
- /**
480
- * Fires a zoom control UI event.
481
- * @private
482
- */
483
- fireZoomEvent_() {
484
- const uiEvent = new (eventUtils.get(eventUtils.CLICK))(
485
- null, this.workspace_.id, 'zoom_controls');
419
+
420
+ /** Fires a zoom control UI event. */
421
+ private fireZoomEvent_() {
422
+ const uiEvent = new (eventUtils.get(eventUtils.CLICK))!
423
+ (null, this.workspace.id, 'zoom_controls');
486
424
  eventUtils.fire(uiEvent);
487
425
  }
488
426
  }
489
427
 
490
- /**
491
- * CSS for zoom controls. See css.js for use.
492
- */
428
+ /** CSS for zoom controls. See css.js for use. */
493
429
  Css.register(`
494
430
  .blocklyZoom>image, .blocklyZoom>svg>image {
495
431
  opacity: .4;
@@ -503,5 +439,3 @@ Css.register(`
503
439
  opacity: .8;
504
440
  }
505
441
  `);
506
-
507
- exports.ZoomControls = ZoomControls;
package/core.d.ts CHANGED
@@ -9,6 +9,4 @@
9
9
  * @author samelh@google.com (Sam El-Husseini)
10
10
  */
11
11
 
12
- /// <reference path="blockly.d.ts" />
13
-
14
- export * from 'core/blockly';
12
+ export * from './core/blockly';
package/core.js CHANGED
@@ -23,13 +23,12 @@ Blockly.setLocale = function (locale) {
23
23
 
24
24
  // Override textToDomDocument and provide Node.js alternatives to DOMParser and
25
25
  // XMLSerializer.
26
- const globalThis = Blockly.utils.global;
27
26
  if (typeof globalThis.document !== 'object') {
28
27
  const jsdom = require('jsdom/lib/jsdom/living');
29
28
  globalThis.DOMParser = jsdom.DOMParser;
30
29
  globalThis.XMLSerializer = jsdom.XMLSerializer;
31
30
  const xmlDocument = Blockly.utils.xml.textToDomDocument(
32
- `<xml xmlns="${Blockly.utils.xml.NAME_SPACE}"></xml>`);
31
+ `<xml xmlns="${Blockly.utils.xml.NAME_SPACE}"></xml>`);
33
32
  Blockly.utils.xml.setDocument(xmlDocument);
34
33
  }
35
34
 
package/dart.d.ts CHANGED
@@ -9,8 +9,5 @@
9
9
  * @author samelh@google.com (Sam El-Husseini)
10
10
  */
11
11
 
12
- /// <reference path="core.d.ts" />
13
-
14
- import * as Blockly from './core';
15
12
  declare const dart: any;
16
13
  export = dart;