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,23 +7,22 @@
7
7
  /**
8
8
  * @fileoverview Utility methods for SVG math.
9
9
  */
10
- 'use strict';
11
10
 
12
11
  /**
13
12
  * Utility methods realted to figuring out positions of SVG elements.
14
13
  * @namespace Blockly.utils.svgMath
15
14
  */
16
- goog.module('Blockly.utils.svgMath');
15
+ import * as goog from '../../closure/goog/goog.js';
16
+ goog.declareModuleId('Blockly.utils.svgMath');
17
17
 
18
- const deprecation = goog.require('Blockly.utils.deprecation');
19
- const global = goog.require('Blockly.utils.global');
20
- const style = goog.require('Blockly.utils.style');
21
- const userAgent = goog.require('Blockly.utils.userAgent');
22
- const {Coordinate} = goog.require('Blockly.utils.Coordinate');
23
- const {Rect} = goog.require('Blockly.utils.Rect');
24
- const {Size} = goog.require('Blockly.utils.Size');
25
- /* eslint-disable-next-line no-unused-vars */
26
- const {WorkspaceSvg} = goog.requireType('Blockly.WorkspaceSvg');
18
+ import type {WorkspaceSvg} from '../workspace_svg.js';
19
+
20
+ import {Coordinate} from './coordinate.js';
21
+ import * as deprecation from './deprecation.js';
22
+ import {Rect} from './rect.js';
23
+ import {Size} from './size.js';
24
+ import * as style from './style.js';
25
+ import * as userAgent from './useragent.js';
27
26
 
28
27
 
29
28
  /**
@@ -32,35 +31,35 @@ const {WorkspaceSvg} = goog.requireType('Blockly.WorkspaceSvg');
32
31
  * 'translate(12, 0)'.
33
32
  * Note that IE (9,10) returns 'translate(16 8)' instead of 'translate(16, 8)'.
34
33
  * Note that IE has been reported to return scientific notation (0.123456e-42).
35
- * @type {!RegExp}
36
34
  */
37
- const XY_REGEX = /translate\(\s*([-+\d.e]+)([ ,]\s*([-+\d.e]+)\s*)?/;
35
+ const XY_REGEX: RegExp = /translate\(\s*([-+\d.e]+)([ ,]\s*([-+\d.e]+)\s*)?/;
38
36
 
39
37
  /**
40
38
  * Static regex to pull the x,y values out of a translate() or translate3d()
41
39
  * style property.
42
40
  * Accounts for same exceptions as XY_REGEX.
43
- * @type {!RegExp}
44
41
  */
45
- const XY_STYLE_REGEX =
42
+ const XY_STYLE_REGEX: RegExp =
46
43
  /transform:\s*translate(?:3d)?\(\s*([-+\d.e]+)\s*px([ ,]\s*([-+\d.e]+)\s*px)?/;
47
44
 
48
-
49
45
  /**
50
46
  * Return the coordinates of the top-left corner of this element relative to
51
47
  * its parent. Only for SVG elements and children (e.g. rect, g, path).
52
- * @param {!Element} element SVG element to find the coordinates of.
53
- * @return {!Coordinate} Object with .x and .y properties.
48
+ * @param element SVG element to find the coordinates of.
49
+ * @return Object with .x and .y properties.
54
50
  * @alias Blockly.utils.svgMath.getRelativeXY
55
51
  */
56
- const getRelativeXY = function(element) {
52
+ export function getRelativeXY(element: Element): Coordinate {
57
53
  const xy = new Coordinate(0, 0);
58
54
  // First, check for x and y attributes.
59
- const x = element.getAttribute('x');
55
+ // Checking for the existence of x/y properties is faster than getAttribute.
56
+ // However, x/y contains an SVGAnimatedLength object, so rely on getAttribute
57
+ // to get the number.
58
+ const x = (element as any).x && element.getAttribute('x');
59
+ const y = (element as any).y && element.getAttribute('y');
60
60
  if (x) {
61
61
  xy.x = parseInt(x, 10);
62
62
  }
63
- const y = element.getAttribute('y');
64
63
  if (y) {
65
64
  xy.y = parseInt(y, 10);
66
65
  }
@@ -86,19 +85,17 @@ const getRelativeXY = function(element) {
86
85
  }
87
86
  }
88
87
  return xy;
89
- };
90
- exports.getRelativeXY = getRelativeXY;
88
+ }
91
89
 
92
90
  /**
93
91
  * Return the coordinates of the top-left corner of this element relative to
94
92
  * the div Blockly was injected into.
95
- * @param {!Element} element SVG element to find the coordinates of. If this is
96
- * not a child of the div Blockly was injected into, the behaviour is
97
- * undefined.
98
- * @return {!Coordinate} Object with .x and .y properties.
93
+ * @param element SVG element to find the coordinates of. If this is not a child
94
+ * of the div Blockly was injected into, the behaviour is undefined.
95
+ * @return Object with .x and .y properties.
99
96
  * @alias Blockly.utils.svgMath.getInjectionDivXY
100
97
  */
101
- const getInjectionDivXY = function(element) {
98
+ export function getInjectionDivXY(element: Element): Coordinate {
102
99
  let x = 0;
103
100
  let y = 0;
104
101
  while (element) {
@@ -109,25 +106,28 @@ const getInjectionDivXY = function(element) {
109
106
  if ((' ' + classes + ' ').indexOf(' injectionDiv ') !== -1) {
110
107
  break;
111
108
  }
112
- element = /** @type {!Element} */ (element.parentNode);
109
+ element = element.parentNode as Element;
113
110
  }
114
111
  return new Coordinate(x, y);
115
- };
116
- exports.getInjectionDivXY = getInjectionDivXY;
112
+ }
117
113
 
118
114
  /**
119
115
  * Check if 3D transforms are supported by adding an element
120
116
  * and attempting to set the property.
121
- * @return {boolean} True if 3D transforms are supported.
117
+ * @return True if 3D transforms are supported.
122
118
  * @alias Blockly.utils.svgMath.is3dSupported
123
119
  */
124
- const is3dSupported = function() {
125
- if (is3dSupported.cached_ !== undefined) {
126
- return is3dSupported.cached_;
120
+ export function is3dSupported(): boolean {
121
+ // AnyDuringMigration because: Property 'cached_' does not exist on type '()
122
+ // => boolean'.
123
+ if ((is3dSupported as AnyDuringMigration).cached_ !== undefined) {
124
+ // AnyDuringMigration because: Property 'cached_' does not exist on type
125
+ // '() => boolean'.
126
+ return (is3dSupported as AnyDuringMigration).cached_;
127
127
  }
128
128
  // CC-BY-SA Lorenzo Polidori
129
129
  // stackoverflow.com/questions/5661671/detecting-transform-translate3d-support
130
- if (!global.globalThis['getComputedStyle']) {
130
+ if (!globalThis['getComputedStyle']) {
131
131
  return false;
132
132
  }
133
133
 
@@ -145,9 +145,9 @@ const is3dSupported = function() {
145
145
  document.body.insertBefore(el, null);
146
146
 
147
147
  for (const t in transforms) {
148
- if (el.style[t] !== undefined) {
149
- el.style[t] = 'translate3d(1px,1px,1px)';
150
- const computedStyle = global.globalThis['getComputedStyle'](el);
148
+ if ((el.style as AnyDuringMigration)[t] !== undefined) {
149
+ (el.style as AnyDuringMigration)[t] = 'translate3d(1px,1px,1px)';
150
+ const computedStyle = globalThis['getComputedStyle'](el);
151
151
  if (!computedStyle) {
152
152
  // getComputedStyle in Firefox returns null when Blockly is loaded
153
153
  // inside an iframe with display: none. Returning false and not
@@ -158,39 +158,42 @@ const is3dSupported = function() {
158
158
  document.body.removeChild(el);
159
159
  return false;
160
160
  }
161
- has3d = computedStyle.getPropertyValue(transforms[t]);
161
+ has3d =
162
+ computedStyle.getPropertyValue((transforms as AnyDuringMigration)[t]);
162
163
  }
163
164
  }
164
165
  document.body.removeChild(el);
165
- is3dSupported.cached_ = has3d !== 'none';
166
- return is3dSupported.cached_;
167
- };
168
- exports.is3dSupported = is3dSupported;
166
+ // AnyDuringMigration because: Property 'cached_' does not exist on type '()
167
+ // => boolean'.
168
+ (is3dSupported as AnyDuringMigration).cached_ = has3d !== 'none';
169
+ // AnyDuringMigration because: Property 'cached_' does not exist on type '()
170
+ // => boolean'.
171
+ return (is3dSupported as AnyDuringMigration).cached_;
172
+ }
169
173
 
170
174
  /**
171
175
  * Get the position of the current viewport in window coordinates. This takes
172
176
  * scroll into account.
173
- * @return {!Rect} An object containing window width, height, and
174
- * scroll position in window coordinates.
177
+ * @return An object containing window width, height, and scroll position in
178
+ * window coordinates.
175
179
  * @alias Blockly.utils.svgMath.getViewportBBox
176
- * @package
180
+ * @internal
177
181
  */
178
- const getViewportBBox = function() {
182
+ export function getViewportBBox(): Rect {
179
183
  // Pixels, in window coordinates.
180
184
  const scrollOffset = style.getViewportPageOffset();
181
185
  return new Rect(
182
186
  scrollOffset.y, document.documentElement.clientHeight + scrollOffset.y,
183
187
  scrollOffset.x, document.documentElement.clientWidth + scrollOffset.x);
184
- };
185
- exports.getViewportBBox = getViewportBBox;
188
+ }
186
189
 
187
190
  /**
188
191
  * Gets the document scroll distance as a coordinate object.
189
192
  * Copied from Closure's goog.dom.getDocumentScroll.
190
- * @return {!Coordinate} Object with values 'x' and 'y'.
193
+ * @return Object with values 'x' and 'y'.
191
194
  * @alias Blockly.utils.svgMath.getDocumentScroll
192
195
  */
193
- const getDocumentScroll = function() {
196
+ export function getDocumentScroll(): Coordinate {
194
197
  const el = document.documentElement;
195
198
  const win = window;
196
199
  if (userAgent.IE && win.pageYOffset !== el.scrollTop) {
@@ -201,18 +204,18 @@ const getDocumentScroll = function() {
201
204
  }
202
205
  return new Coordinate(
203
206
  win.pageXOffset || el.scrollLeft, win.pageYOffset || el.scrollTop);
204
- };
205
- exports.getDocumentScroll = getDocumentScroll;
207
+ }
206
208
 
207
209
  /**
208
210
  * Converts screen coordinates to workspace coordinates.
209
- * @param {!WorkspaceSvg} ws The workspace to find the coordinates on.
210
- * @param {!Coordinate} screenCoordinates The screen coordinates to
211
- * be converted to workspace coordinates
212
- * @return {!Coordinate} The workspace coordinates.
211
+ * @param ws The workspace to find the coordinates on.
212
+ * @param screenCoordinates The screen coordinates to be converted to workspace
213
+ * coordinates
214
+ * @return The workspace coordinates.
213
215
  * @alias Blockly.utils.svgMath.screenToWsCoordinates
214
216
  */
215
- const screenToWsCoordinates = function(ws, screenCoordinates) {
217
+ export function screenToWsCoordinates(
218
+ ws: WorkspaceSvg, screenCoordinates: Coordinate): Coordinate {
216
219
  const screenX = screenCoordinates.x;
217
220
  const screenY = screenCoordinates.y;
218
221
 
@@ -234,21 +237,19 @@ const screenToWsCoordinates = function(ws, screenCoordinates) {
234
237
  // main workspace.
235
238
  const finalOffsetPixels =
236
239
  Coordinate.difference(clientOffsetPixels, mainOffsetPixels);
237
-
238
240
  // The position in main workspace coordinates.
239
241
  const finalOffsetMainWs = finalOffsetPixels.scale(1 / ws.scale);
240
242
  return finalOffsetMainWs;
241
- };
242
- exports.screenToWsCoordinates = screenToWsCoordinates;
243
+ }
243
244
 
244
245
  /**
245
246
  * Returns the dimensions of the specified SVG image.
246
- * @param {!SVGElement} svg SVG image.
247
- * @return {!Size} Contains width and height properties.
247
+ * @param svg SVG image.
248
+ * @return Contains width and height properties.
248
249
  * @deprecated Use workspace.getCachedParentSvgSize. (2021 March 5)
249
250
  * @alias Blockly.utils.svgMath.svgSize
250
251
  */
251
- const svgSize = function(svg) {
252
+ export function svgSize(svg: SVGElement): Size {
252
253
  // When removing this function, remove svg.cachedWidth_ and svg.cachedHeight_
253
254
  // from setCachedParentSvgSize.
254
255
  // The deprecated name is `Blockly.svgSize` because this function used to be
@@ -256,13 +257,13 @@ const svgSize = function(svg) {
256
257
  deprecation.warn(
257
258
  'Blockly.svgSize', 'March 2021', 'March 2022',
258
259
  'workspace.getCachedParentSvgSize');
259
- svg = /** @type {?} */ (svg);
260
- return new Size(svg.cachedWidth_, svg.cachedHeight_);
261
- };
262
- exports.svgSize = svgSize;
263
-
260
+ svg = svg as AnyDuringMigration;
261
+ return new Size(
262
+ Number(svg.getAttribute('data-cached-width')),
263
+ Number(svg.getAttribute('data-cached-height')));
264
+ }
264
265
 
265
- exports.TEST_ONLY = {
266
+ export const TEST_ONLY = {
266
267
  XY_REGEX,
267
268
  XY_STYLE_REGEX,
268
269
  };
@@ -0,0 +1,101 @@
1
+ /**
2
+ * @fileoverview Methods for creating parts of SVG path strings. See
3
+ * developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths
4
+ */
5
+ /**
6
+ * Create a string representing the given x, y pair. It does not matter whether
7
+ * the coordinate is relative or absolute. The result has leading
8
+ * and trailing spaces, and separates the x and y coordinates with a comma but
9
+ * no space.
10
+ * @param x The x coordinate.
11
+ * @param y The y coordinate.
12
+ * @return A string of the format ' x,y '
13
+ * @alias Blockly.utils.svgPaths.point
14
+ */
15
+ export declare function point(x: number, y: number): string;
16
+ /**
17
+ * Draw a cubic or quadratic curve. See
18
+ * developer.mozilla.org/en-US/docs/Web/SVG/Attribute/d#Cubic_B%C3%A9zier_Curve
19
+ * These coordinates are unitless and hence in the user coordinate system.
20
+ * @param command The command to use.
21
+ * Should be one of: c, C, s, S, q, Q.
22
+ * @param points An array containing all of the points to pass to the curve
23
+ * command, in order. The points are represented as strings of the format '
24
+ * x, y '.
25
+ * @return A string defining one or more Bezier curves. See the MDN
26
+ * documentation for exact format.
27
+ * @alias Blockly.utils.svgPaths.curve
28
+ */
29
+ export declare function curve(command: string, points: string[]): string;
30
+ /**
31
+ * Move the cursor to the given position without drawing a line.
32
+ * The coordinates are absolute.
33
+ * These coordinates are unitless and hence in the user coordinate system.
34
+ * See developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths#Line_commands
35
+ * @param x The absolute x coordinate.
36
+ * @param y The absolute y coordinate.
37
+ * @return A string of the format ' M x,y '
38
+ * @alias Blockly.utils.svgPaths.moveTo
39
+ */
40
+ export declare function moveTo(x: number, y: number): string;
41
+ /**
42
+ * Move the cursor to the given position without drawing a line.
43
+ * Coordinates are relative.
44
+ * These coordinates are unitless and hence in the user coordinate system.
45
+ * See developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths#Line_commands
46
+ * @param dx The relative x coordinate.
47
+ * @param dy The relative y coordinate.
48
+ * @return A string of the format ' m dx,dy '
49
+ * @alias Blockly.utils.svgPaths.moveBy
50
+ */
51
+ export declare function moveBy(dx: number, dy: number): string;
52
+ /**
53
+ * Draw a line from the current point to the end point, which is the current
54
+ * point shifted by dx along the x-axis and dy along the y-axis.
55
+ * These coordinates are unitless and hence in the user coordinate system.
56
+ * See developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths#Line_commands
57
+ * @param dx The relative x coordinate.
58
+ * @param dy The relative y coordinate.
59
+ * @return A string of the format ' l dx,dy '
60
+ * @alias Blockly.utils.svgPaths.lineTo
61
+ */
62
+ export declare function lineTo(dx: number, dy: number): string;
63
+ /**
64
+ * Draw multiple lines connecting all of the given points in order. This is
65
+ * equivalent to a series of 'l' commands.
66
+ * These coordinates are unitless and hence in the user coordinate system.
67
+ * See developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths#Line_commands
68
+ * @param points An array containing all of the points to draw lines to, in
69
+ * order. The points are represented as strings of the format ' dx,dy '.
70
+ * @return A string of the format ' l (dx,dy)+ '
71
+ * @alias Blockly.utils.svgPaths.line
72
+ */
73
+ export declare function line(points: string[]): string;
74
+ /**
75
+ * Draw a horizontal or vertical line.
76
+ * The first argument specifies the direction and whether the given position is
77
+ * relative or absolute.
78
+ * These coordinates are unitless and hence in the user coordinate system.
79
+ * See developer.mozilla.org/en-US/docs/Web/SVG/Attribute/d#LineTo_path_commands
80
+ * @param command The command to prepend to the coordinate. This should be one
81
+ * of: V, v, H, h.
82
+ * @param val The coordinate to pass to the command. It may be absolute or
83
+ * relative.
84
+ * @return A string of the format ' command val '
85
+ * @alias Blockly.utils.svgPaths.lineOnAxis
86
+ */
87
+ export declare function lineOnAxis(command: string, val: number): string;
88
+ /**
89
+ * Draw an elliptical arc curve.
90
+ * These coordinates are unitless and hence in the user coordinate system.
91
+ * See developer.mozilla.org/en-US/docs/Web/SVG/Attribute/d#Elliptical_Arc_Curve
92
+ * @param command The command string. Either 'a' or 'A'.
93
+ * @param flags The flag string. See the MDN documentation for a description
94
+ * and examples.
95
+ * @param radius The radius of the arc to draw.
96
+ * @param point The point to move the cursor to after drawing the arc, specified
97
+ * either in absolute or relative coordinates depending on the command.
98
+ * @return A string of the format 'command radius radius flags point'
99
+ * @alias Blockly.utils.svgPaths.arc
100
+ */
101
+ export declare function arc(command: string, flags: string, radius: number, point: string): string;
@@ -1,20 +1,20 @@
1
1
  /**
2
- * @license
3
- * Copyright 2019 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
2
+ * @fileoverview Methods for creating parts of SVG path strings. See
3
+ * developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths
5
4
  */
6
5
 
7
6
  /**
8
- * @fileoverview Methods for creating parts of SVG path strings. See
9
- * developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths
7
+ * @license
8
+ * Copyright 2019 Google LLC
9
+ * SPDX-License-Identifier: Apache-2.0
10
10
  */
11
- 'use strict';
12
11
 
13
12
  /**
14
13
  * Methods for creating parts of SVG path strings. See
15
14
  * @namespace Blockly.utils.svgPaths
16
15
  */
17
- goog.module('Blockly.utils.svgPaths');
16
+ import * as goog from '../../closure/goog/goog.js';
17
+ goog.declareModuleId('Blockly.utils.svgPaths');
18
18
 
19
19
 
20
20
  /**
@@ -22,94 +22,87 @@ goog.module('Blockly.utils.svgPaths');
22
22
  * the coordinate is relative or absolute. The result has leading
23
23
  * and trailing spaces, and separates the x and y coordinates with a comma but
24
24
  * no space.
25
- * @param {number} x The x coordinate.
26
- * @param {number} y The y coordinate.
27
- * @return {string} A string of the format ' x,y '
25
+ * @param x The x coordinate.
26
+ * @param y The y coordinate.
27
+ * @return A string of the format ' x,y '
28
28
  * @alias Blockly.utils.svgPaths.point
29
29
  */
30
- const point = function(x, y) {
30
+ export function point(x: number, y: number): string {
31
31
  return ' ' + x + ',' + y + ' ';
32
- };
33
- exports.point = point;
32
+ }
34
33
 
35
34
  /**
36
35
  * Draw a cubic or quadratic curve. See
37
36
  * developer.mozilla.org/en-US/docs/Web/SVG/Attribute/d#Cubic_B%C3%A9zier_Curve
38
37
  * These coordinates are unitless and hence in the user coordinate system.
39
- * @param {string} command The command to use.
38
+ * @param command The command to use.
40
39
  * Should be one of: c, C, s, S, q, Q.
41
- * @param {!Array<string>} points An array containing all of the points to pass
42
- * to the curve command, in order. The points are represented as strings of
43
- * the format ' x, y '.
44
- * @return {string} A string defining one or more Bezier curves. See the MDN
40
+ * @param points An array containing all of the points to pass to the curve
41
+ * command, in order. The points are represented as strings of the format '
42
+ * x, y '.
43
+ * @return A string defining one or more Bezier curves. See the MDN
45
44
  * documentation for exact format.
46
45
  * @alias Blockly.utils.svgPaths.curve
47
46
  */
48
- const curve = function(command, points) {
47
+ export function curve(command: string, points: string[]): string {
49
48
  return ' ' + command + points.join('');
50
- };
51
- exports.curve = curve;
49
+ }
52
50
 
53
51
  /**
54
52
  * Move the cursor to the given position without drawing a line.
55
53
  * The coordinates are absolute.
56
54
  * These coordinates are unitless and hence in the user coordinate system.
57
55
  * See developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths#Line_commands
58
- * @param {number} x The absolute x coordinate.
59
- * @param {number} y The absolute y coordinate.
60
- * @return {string} A string of the format ' M x,y '
56
+ * @param x The absolute x coordinate.
57
+ * @param y The absolute y coordinate.
58
+ * @return A string of the format ' M x,y '
61
59
  * @alias Blockly.utils.svgPaths.moveTo
62
60
  */
63
- const moveTo = function(x, y) {
61
+ export function moveTo(x: number, y: number): string {
64
62
  return ' M ' + x + ',' + y + ' ';
65
- };
66
- exports.moveTo = moveTo;
63
+ }
67
64
 
68
65
  /**
69
66
  * Move the cursor to the given position without drawing a line.
70
67
  * Coordinates are relative.
71
68
  * These coordinates are unitless and hence in the user coordinate system.
72
69
  * See developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths#Line_commands
73
- * @param {number} dx The relative x coordinate.
74
- * @param {number} dy The relative y coordinate.
75
- * @return {string} A string of the format ' m dx,dy '
70
+ * @param dx The relative x coordinate.
71
+ * @param dy The relative y coordinate.
72
+ * @return A string of the format ' m dx,dy '
76
73
  * @alias Blockly.utils.svgPaths.moveBy
77
74
  */
78
- const moveBy = function(dx, dy) {
75
+ export function moveBy(dx: number, dy: number): string {
79
76
  return ' m ' + dx + ',' + dy + ' ';
80
- };
81
- exports.moveBy = moveBy;
77
+ }
82
78
 
83
79
  /**
84
80
  * Draw a line from the current point to the end point, which is the current
85
81
  * point shifted by dx along the x-axis and dy along the y-axis.
86
82
  * These coordinates are unitless and hence in the user coordinate system.
87
83
  * See developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths#Line_commands
88
- * @param {number} dx The relative x coordinate.
89
- * @param {number} dy The relative y coordinate.
90
- * @return {string} A string of the format ' l dx,dy '
84
+ * @param dx The relative x coordinate.
85
+ * @param dy The relative y coordinate.
86
+ * @return A string of the format ' l dx,dy '
91
87
  * @alias Blockly.utils.svgPaths.lineTo
92
88
  */
93
- const lineTo = function(dx, dy) {
89
+ export function lineTo(dx: number, dy: number): string {
94
90
  return ' l ' + dx + ',' + dy + ' ';
95
- };
96
- exports.lineTo = lineTo;
91
+ }
97
92
 
98
93
  /**
99
94
  * Draw multiple lines connecting all of the given points in order. This is
100
95
  * equivalent to a series of 'l' commands.
101
96
  * These coordinates are unitless and hence in the user coordinate system.
102
97
  * See developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths#Line_commands
103
- * @param {!Array<string>} points An array containing all of the points to
104
- * draw lines to, in order. The points are represented as strings of the
105
- * format ' dx,dy '.
106
- * @return {string} A string of the format ' l (dx,dy)+ '
98
+ * @param points An array containing all of the points to draw lines to, in
99
+ * order. The points are represented as strings of the format ' dx,dy '.
100
+ * @return A string of the format ' l (dx,dy)+ '
107
101
  * @alias Blockly.utils.svgPaths.line
108
102
  */
109
- const line = function(points) {
103
+ export function line(points: string[]): string {
110
104
  return ' l' + points.join('');
111
- };
112
- exports.line = line;
105
+ }
113
106
 
114
107
  /**
115
108
  * Draw a horizontal or vertical line.
@@ -117,33 +110,31 @@ exports.line = line;
117
110
  * relative or absolute.
118
111
  * These coordinates are unitless and hence in the user coordinate system.
119
112
  * See developer.mozilla.org/en-US/docs/Web/SVG/Attribute/d#LineTo_path_commands
120
- * @param {string} command The command to prepend to the coordinate. This
121
- * should be one of: V, v, H, h.
122
- * @param {number} val The coordinate to pass to the command. It may be
123
- * absolute or relative.
124
- * @return {string} A string of the format ' command val '
113
+ * @param command The command to prepend to the coordinate. This should be one
114
+ * of: V, v, H, h.
115
+ * @param val The coordinate to pass to the command. It may be absolute or
116
+ * relative.
117
+ * @return A string of the format ' command val '
125
118
  * @alias Blockly.utils.svgPaths.lineOnAxis
126
119
  */
127
- const lineOnAxis = function(command, val) {
120
+ export function lineOnAxis(command: string, val: number): string {
128
121
  return ' ' + command + ' ' + val + ' ';
129
- };
130
- exports.lineOnAxis = lineOnAxis;
122
+ }
131
123
 
132
124
  /**
133
125
  * Draw an elliptical arc curve.
134
126
  * These coordinates are unitless and hence in the user coordinate system.
135
127
  * See developer.mozilla.org/en-US/docs/Web/SVG/Attribute/d#Elliptical_Arc_Curve
136
- * @param {string} command The command string. Either 'a' or 'A'.
137
- * @param {string} flags The flag string. See the MDN documentation for a
138
- * description and examples.
139
- * @param {number} radius The radius of the arc to draw.
140
- * @param {string} point The point to move the cursor to after drawing the arc,
141
- * specified either in absolute or relative coordinates depending on the
142
- * command.
143
- * @return {string} A string of the format 'command radius radius flags point'
128
+ * @param command The command string. Either 'a' or 'A'.
129
+ * @param flags The flag string. See the MDN documentation for a description
130
+ * and examples.
131
+ * @param radius The radius of the arc to draw.
132
+ * @param point The point to move the cursor to after drawing the arc, specified
133
+ * either in absolute or relative coordinates depending on the command.
134
+ * @return A string of the format 'command radius radius flags point'
144
135
  * @alias Blockly.utils.svgPaths.arc
145
136
  */
146
- const arc = function(command, flags, radius, point) {
137
+ export function arc(
138
+ command: string, flags: string, radius: number, point: string): string {
147
139
  return command + ' ' + radius + ' ' + radius + ' ' + flags + point;
148
- };
149
- exports.arc = arc;
140
+ }