blockly 8.0.4 → 8.0.5-beta.0

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