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
@@ -8,208 +8,234 @@
8
8
  * @fileoverview An object that provides constants for rendering blocks in Zelos
9
9
  * mode.
10
10
  */
11
- 'use strict';
12
11
 
13
12
  /**
14
13
  * An object that provides constants for rendering blocks in Zelos
15
14
  * mode.
16
15
  * @class
17
16
  */
18
- goog.module('Blockly.zelos.ConstantProvider');
19
-
20
- const dom = goog.require('Blockly.utils.dom');
21
- const svgPaths = goog.require('Blockly.utils.svgPaths');
22
- const utilsColour = goog.require('Blockly.utils.colour');
23
- const {ConnectionType} = goog.require('Blockly.ConnectionType');
24
- const {ConstantProvider: BaseConstantProvider} = goog.require('Blockly.blockRendering.ConstantProvider');
25
- const {Svg} = goog.require('Blockly.utils.Svg');
26
-
17
+ import * as goog from '../../../closure/goog/goog.js';
18
+ goog.declareModuleId('Blockly.zelos.ConstantProvider');
19
+
20
+ import {ConnectionType} from '../../connection_type.js';
21
+ import type {RenderedConnection} from '../../rendered_connection.js';
22
+ import type {Theme} from '../../theme.js';
23
+ import * as utilsColour from '../../utils/colour.js';
24
+ import * as dom from '../../utils/dom.js';
25
+ import {Svg} from '../../utils/svg.js';
26
+ import * as svgPaths from '../../utils/svg_paths.js';
27
+ import {ConstantProvider as BaseConstantProvider} from '../common/constants.js';
28
+ import type {Shape} from '../common/constants.js';
29
+
30
+
31
+ /** An object containing sizing and path information about inside corners. */
32
+ export interface InsideCorners {
33
+ width: number;
34
+ height: number;
35
+ pathTop: string;
36
+ pathBottom: string;
37
+ rightWidth: number;
38
+ rightHeight: number;
39
+ pathTopRight: string;
40
+ pathBottomRight: string;
41
+ }
27
42
 
28
43
  /**
29
44
  * An object that provides constants for rendering blocks in Zelos mode.
30
- * @extends {BaseConstantProvider}
31
45
  * @alias Blockly.zelos.ConstantProvider
32
46
  */
33
- class ConstantProvider extends BaseConstantProvider {
47
+ export class ConstantProvider extends BaseConstantProvider {
48
+ GRID_UNIT = 4;
49
+ override SMALL_PADDING: AnyDuringMigration;
50
+ override MEDIUM_PADDING: AnyDuringMigration;
51
+ override MEDIUM_LARGE_PADDING: AnyDuringMigration;
52
+ override LARGE_PADDING: AnyDuringMigration;
53
+ override CORNER_RADIUS: AnyDuringMigration;
54
+ override NOTCH_WIDTH: AnyDuringMigration;
55
+ override NOTCH_HEIGHT: AnyDuringMigration;
56
+ override NOTCH_OFFSET_LEFT: AnyDuringMigration;
57
+ override STATEMENT_INPUT_NOTCH_OFFSET: AnyDuringMigration;
58
+ override MIN_BLOCK_WIDTH: AnyDuringMigration;
59
+ override MIN_BLOCK_HEIGHT: AnyDuringMigration;
60
+ override EMPTY_STATEMENT_INPUT_HEIGHT: AnyDuringMigration;
61
+
62
+ override TAB_OFFSET_FROM_TOP = 0;
63
+ override TOP_ROW_MIN_HEIGHT: AnyDuringMigration;
64
+ override TOP_ROW_PRECEDES_STATEMENT_MIN_HEIGHT: AnyDuringMigration;
65
+ override BOTTOM_ROW_MIN_HEIGHT: AnyDuringMigration;
66
+ override BOTTOM_ROW_AFTER_STATEMENT_MIN_HEIGHT: AnyDuringMigration;
67
+ override STATEMENT_BOTTOM_SPACER: AnyDuringMigration;
68
+ STATEMENT_INPUT_SPACER_MIN_WIDTH: number;
69
+ override STATEMENT_INPUT_PADDING_LEFT: AnyDuringMigration;
70
+ override EMPTY_INLINE_INPUT_PADDING: AnyDuringMigration;
71
+ override EMPTY_INLINE_INPUT_HEIGHT: AnyDuringMigration;
72
+ override DUMMY_INPUT_MIN_HEIGHT: AnyDuringMigration;
73
+ override DUMMY_INPUT_SHADOW_MIN_HEIGHT: AnyDuringMigration;
74
+ override CURSOR_WS_WIDTH: AnyDuringMigration;
75
+
76
+ override CURSOR_COLOUR = '#ffa200';
77
+
78
+ /**
79
+ * Radius of the cursor for input and output connections.
80
+ * @internal
81
+ */
82
+ CURSOR_RADIUS = 5;
83
+
84
+ override JAGGED_TEETH_HEIGHT = 0;
85
+
86
+ override JAGGED_TEETH_WIDTH = 0;
87
+ override START_HAT_HEIGHT = 22;
88
+
89
+ override START_HAT_WIDTH = 96;
90
+
91
+ override SHAPES = {HEXAGONAL: 1, ROUND: 2, SQUARE: 3, PUZZLE: 4, NOTCH: 5};
92
+ SHAPE_IN_SHAPE_PADDING: AnyDuringMigration;
93
+
94
+ override FULL_BLOCK_FIELDS = true;
95
+ override FIELD_TEXT_FONTSIZE: AnyDuringMigration;
96
+
97
+ override FIELD_TEXT_FONTWEIGHT = 'bold';
98
+
99
+ override FIELD_TEXT_FONTFAMILY =
100
+ '"Helvetica Neue", "Segoe UI", Helvetica, sans-serif';
101
+ override FIELD_BORDER_RECT_RADIUS: AnyDuringMigration;
102
+ override FIELD_BORDER_RECT_X_PADDING: AnyDuringMigration;
103
+ override FIELD_BORDER_RECT_Y_PADDING: AnyDuringMigration;
104
+ override FIELD_BORDER_RECT_HEIGHT: AnyDuringMigration;
105
+ override FIELD_DROPDOWN_BORDER_RECT_HEIGHT: AnyDuringMigration;
106
+
107
+ override FIELD_DROPDOWN_NO_BORDER_RECT_SHADOW = true;
108
+
109
+ override FIELD_DROPDOWN_COLOURED_DIV = true;
110
+
111
+ override FIELD_DROPDOWN_SVG_ARROW = true;
112
+ override FIELD_DROPDOWN_SVG_ARROW_PADDING: AnyDuringMigration;
113
+ override FIELD_TEXTINPUT_BOX_SHADOW = true;
114
+
115
+ override FIELD_COLOUR_FULL_BLOCK = true;
116
+ override FIELD_COLOUR_DEFAULT_WIDTH: AnyDuringMigration;
117
+ override FIELD_COLOUR_DEFAULT_HEIGHT: AnyDuringMigration;
118
+ override FIELD_CHECKBOX_X_OFFSET: AnyDuringMigration;
119
+ MAX_DYNAMIC_CONNECTION_SHAPE_WIDTH: number;
120
+
121
+ /** The selected glow colour. */
122
+ SELECTED_GLOW_COLOUR = '#fff200';
123
+
124
+ /** The size of the selected glow. */
125
+ SELECTED_GLOW_SIZE = 0.5;
126
+
127
+ /** The replacement glow colour. */
128
+ REPLACEMENT_GLOW_COLOUR = '#fff200';
129
+
130
+ /** The size of the selected glow. */
131
+ REPLACEMENT_GLOW_SIZE = 2;
132
+
34
133
  /**
35
- * @package
134
+ * The ID of the selected glow filter, or the empty string if no filter is
135
+ * set.
136
+ * @internal
36
137
  */
138
+ selectedGlowFilterId = '';
139
+
140
+ /**
141
+ * The <filter> element to use for a selected glow, or null if not set.
142
+ */
143
+ // AnyDuringMigration because: Type 'null' is not assignable to type
144
+ // 'SVGElement'.
145
+ private selectedGlowFilter_: SVGElement = null as AnyDuringMigration;
146
+
147
+ /**
148
+ * The ID of the replacement glow filter, or the empty string if no filter
149
+ * is set.
150
+ * @internal
151
+ */
152
+ replacementGlowFilterId = '';
153
+
154
+ /**
155
+ * The <filter> element to use for a replacement glow, or null if not set.
156
+ */
157
+ // AnyDuringMigration because: Type 'null' is not assignable to type
158
+ // 'SVGElement'.
159
+ private replacementGlowFilter_: SVGElement = null as AnyDuringMigration;
160
+
161
+ /**
162
+ * The object containing information about the hexagon used for a boolean
163
+ * reporter block. Null before init is called.
164
+ */
165
+ HEXAGONAL: Shape|null = null;
166
+
167
+ /**
168
+ * The object containing information about the hexagon used for a number or
169
+ * string reporter block. Null before init is called.
170
+ */
171
+ ROUNDED: Shape|null = null;
172
+
173
+ /**
174
+ * The object containing information about the hexagon used for a
175
+ * rectangular reporter block. Null before init is called.
176
+ */
177
+ SQUARED: Shape|null = null;
178
+
179
+ /** @internal */
37
180
  constructor() {
38
181
  super();
39
182
 
40
- this.GRID_UNIT = 4;
41
-
42
- /**
43
- * @override
44
- */
45
183
  this.SMALL_PADDING = this.GRID_UNIT;
46
184
 
47
- /**
48
- * @override
49
- */
50
185
  this.MEDIUM_PADDING = 2 * this.GRID_UNIT;
51
186
 
52
- /**
53
- * @override
54
- */
55
187
  this.MEDIUM_LARGE_PADDING = 3 * this.GRID_UNIT;
56
188
 
57
- /**
58
- * @override
59
- */
60
189
  this.LARGE_PADDING = 4 * this.GRID_UNIT;
61
190
 
62
- /**
63
- * @override
64
- */
65
191
  this.CORNER_RADIUS = 1 * this.GRID_UNIT;
66
192
 
67
- /**
68
- * @override
69
- */
70
193
  this.NOTCH_WIDTH = 9 * this.GRID_UNIT;
71
194
 
72
- /**
73
- * @override
74
- */
75
195
  this.NOTCH_HEIGHT = 2 * this.GRID_UNIT;
76
196
 
77
- /**
78
- * @override
79
- */
80
197
  this.NOTCH_OFFSET_LEFT = 3 * this.GRID_UNIT;
81
198
 
82
- /**
83
- * @override
84
- */
85
199
  this.STATEMENT_INPUT_NOTCH_OFFSET = this.NOTCH_OFFSET_LEFT;
86
200
 
87
- /**
88
- * @override
89
- */
90
201
  this.MIN_BLOCK_WIDTH = 2 * this.GRID_UNIT;
91
202
 
92
- /**
93
- * @override
94
- */
95
203
  this.MIN_BLOCK_HEIGHT = 12 * this.GRID_UNIT;
96
204
 
97
- /**
98
- * @override
99
- */
100
205
  this.EMPTY_STATEMENT_INPUT_HEIGHT = 6 * this.GRID_UNIT;
101
206
 
102
- /**
103
- * @override
104
- */
105
- this.TAB_OFFSET_FROM_TOP = 0;
106
-
107
- /**
108
- * @override
109
- */
110
207
  this.TOP_ROW_MIN_HEIGHT = this.CORNER_RADIUS;
111
208
 
112
- /**
113
- * @override
114
- */
115
209
  this.TOP_ROW_PRECEDES_STATEMENT_MIN_HEIGHT = this.LARGE_PADDING;
116
210
 
117
- /**
118
- * @override
119
- */
120
211
  this.BOTTOM_ROW_MIN_HEIGHT = this.CORNER_RADIUS;
121
212
 
122
- /**
123
- * @override
124
- */
125
213
  this.BOTTOM_ROW_AFTER_STATEMENT_MIN_HEIGHT = 6 * this.GRID_UNIT;
126
214
 
127
- /**
128
- * @override
129
- */
130
215
  this.STATEMENT_BOTTOM_SPACER = -this.NOTCH_HEIGHT;
131
216
 
132
- /**
133
- * Minimum statement input spacer width.
134
- * @type {number}
135
- */
217
+ /** Minimum statement input spacer width. */
136
218
  this.STATEMENT_INPUT_SPACER_MIN_WIDTH = 40 * this.GRID_UNIT;
137
219
 
138
- /**
139
- * @override
140
- */
141
220
  this.STATEMENT_INPUT_PADDING_LEFT = 4 * this.GRID_UNIT;
142
221
 
143
- /**
144
- * @override
145
- */
146
222
  this.EMPTY_INLINE_INPUT_PADDING = 4 * this.GRID_UNIT;
147
223
 
148
- /**
149
- * @override
150
- */
151
224
  this.EMPTY_INLINE_INPUT_HEIGHT = 8 * this.GRID_UNIT;
152
225
 
153
- /**
154
- * @override
155
- */
156
226
  this.DUMMY_INPUT_MIN_HEIGHT = 8 * this.GRID_UNIT;
157
227
 
158
- /**
159
- * @override
160
- */
161
228
  this.DUMMY_INPUT_SHADOW_MIN_HEIGHT = 6 * this.GRID_UNIT;
162
229
 
163
- /**
164
- * @override
165
- */
166
230
  this.CURSOR_WS_WIDTH = 20 * this.GRID_UNIT;
167
231
 
168
- /**
169
- * @override
170
- */
171
- this.CURSOR_COLOUR = '#ffa200';
172
-
173
- /**
174
- * Radius of the cursor for input and output connections.
175
- * @type {number}
176
- * @package
177
- */
178
- this.CURSOR_RADIUS = 5;
179
-
180
- /**
181
- * @override
182
- */
183
- this.JAGGED_TEETH_HEIGHT = 0;
184
-
185
- /**
186
- * @override
187
- */
188
- this.JAGGED_TEETH_WIDTH = 0;
189
-
190
- /**
191
- * @override
192
- */
193
- this.START_HAT_HEIGHT = 22;
194
-
195
- /**
196
- * @override
197
- */
198
- this.START_HAT_WIDTH = 96;
199
-
200
- /**
201
- * @enum {number}
202
- * @override
203
- */
204
- this.SHAPES = {HEXAGONAL: 1, ROUND: 2, SQUARE: 3, PUZZLE: 4, NOTCH: 5};
205
-
206
232
  /**
207
233
  * Map of output/input shapes and the amount they should cause a block to be
208
234
  * padded. Outer key is the outer shape, inner key is the inner shape.
209
235
  * When a block with the outer shape contains an input block with the inner
210
236
  * shape on its left or right edge, the block elements are aligned such that
211
237
  * the padding specified is reached.
212
- * @package
238
+ * @internal
213
239
  */
214
240
  this.SHAPE_IN_SHAPE_PADDING = {
215
241
  1: {
@@ -235,183 +261,31 @@ class ConstantProvider extends BaseConstantProvider {
235
261
  },
236
262
  };
237
263
 
238
- /**
239
- * @override
240
- */
241
- this.FULL_BLOCK_FIELDS = true;
242
-
243
- /**
244
- * @override
245
- */
246
264
  this.FIELD_TEXT_FONTSIZE = 3 * this.GRID_UNIT;
247
265
 
248
- /**
249
- * @override
250
- */
251
- this.FIELD_TEXT_FONTWEIGHT = 'bold';
252
-
253
- /**
254
- * @override
255
- */
256
- this.FIELD_TEXT_FONTFAMILY =
257
- '"Helvetica Neue", "Segoe UI", Helvetica, sans-serif';
258
-
259
- /**
260
- * @override
261
- */
262
266
  this.FIELD_BORDER_RECT_RADIUS = this.CORNER_RADIUS;
263
267
 
264
- /**
265
- * @override
266
- */
267
268
  this.FIELD_BORDER_RECT_X_PADDING = 2 * this.GRID_UNIT;
268
269
 
269
- /**
270
- * @override
271
- */
272
270
  this.FIELD_BORDER_RECT_Y_PADDING = 1.625 * this.GRID_UNIT;
273
271
 
274
- /**
275
- * @override
276
- */
277
272
  this.FIELD_BORDER_RECT_HEIGHT = 8 * this.GRID_UNIT;
278
273
 
279
- /**
280
- * @override
281
- */
282
274
  this.FIELD_DROPDOWN_BORDER_RECT_HEIGHT = 8 * this.GRID_UNIT;
283
275
 
284
- /**
285
- * @override
286
- */
287
- this.FIELD_DROPDOWN_NO_BORDER_RECT_SHADOW = true;
288
-
289
- /**
290
- * @override
291
- */
292
- this.FIELD_DROPDOWN_COLOURED_DIV = true;
293
-
294
- /**
295
- * @override
296
- */
297
- this.FIELD_DROPDOWN_SVG_ARROW = true;
298
-
299
- /**
300
- * @override
301
- */
302
276
  this.FIELD_DROPDOWN_SVG_ARROW_PADDING = this.FIELD_BORDER_RECT_X_PADDING;
303
277
 
304
- /**
305
- * @override
306
- */
307
- this.FIELD_TEXTINPUT_BOX_SHADOW = true;
308
-
309
- /**
310
- * @override
311
- */
312
- this.FIELD_COLOUR_FULL_BLOCK = true;
313
-
314
- /**
315
- * @override
316
- */
317
278
  this.FIELD_COLOUR_DEFAULT_WIDTH = 2 * this.GRID_UNIT;
318
279
 
319
- /**
320
- * @override
321
- */
322
280
  this.FIELD_COLOUR_DEFAULT_HEIGHT = 4 * this.GRID_UNIT;
323
281
 
324
- /**
325
- * @override
326
- */
327
282
  this.FIELD_CHECKBOX_X_OFFSET = 1 * this.GRID_UNIT;
328
283
 
329
- /**
330
- * The maximum width of a dynamic connection shape.
331
- * @type {number}
332
- */
284
+ /** The maximum width of a dynamic connection shape. */
333
285
  this.MAX_DYNAMIC_CONNECTION_SHAPE_WIDTH = 12 * this.GRID_UNIT;
334
-
335
- /**
336
- * The selected glow colour.
337
- * @type {string}
338
- */
339
- this.SELECTED_GLOW_COLOUR = '#fff200';
340
-
341
- /**
342
- * The size of the selected glow.
343
- * @type {number}
344
- */
345
- this.SELECTED_GLOW_SIZE = 0.5;
346
-
347
- /**
348
- * The replacement glow colour.
349
- * @type {string}
350
- */
351
- this.REPLACEMENT_GLOW_COLOUR = '#fff200';
352
-
353
- /**
354
- * The size of the selected glow.
355
- * @type {number}
356
- */
357
- this.REPLACEMENT_GLOW_SIZE = 2;
358
-
359
- /**
360
- * The ID of the selected glow filter, or the empty string if no filter is
361
- * set.
362
- * @type {string}
363
- * @package
364
- */
365
- this.selectedGlowFilterId = '';
366
-
367
- /**
368
- * The <filter> element to use for a selected glow, or null if not set.
369
- * @type {SVGElement}
370
- * @private
371
- */
372
- this.selectedGlowFilter_ = null;
373
-
374
- /**
375
- * The ID of the replacement glow filter, or the empty string if no filter
376
- * is set.
377
- * @type {string}
378
- * @package
379
- */
380
- this.replacementGlowFilterId = '';
381
-
382
- /**
383
- * The <filter> element to use for a replacement glow, or null if not set.
384
- * @type {SVGElement}
385
- * @private
386
- */
387
- this.replacementGlowFilter_ = null;
388
-
389
- /**
390
- * The object containing information about the hexagon used for a boolean
391
- * reporter block. Null before init is called.
392
- * @type {Object}
393
- */
394
- this.HEXAGONAL = null;
395
-
396
- /**
397
- * The object containing information about the hexagon used for a number or
398
- * string reporter block. Null before init is called.
399
- * @type {Object}
400
- */
401
- this.ROUNDED = null;
402
-
403
- /**
404
- * The object containing information about the hexagon used for a
405
- * rectangular reporter block. Null before init is called.
406
- * @type {Object}
407
- */
408
- this.SQUARED = null;
409
286
  }
410
287
 
411
- /**
412
- * @override
413
- */
414
- setFontConstants_(theme) {
288
+ override setFontConstants_(theme: Theme) {
415
289
  super.setFontConstants_(theme);
416
290
 
417
291
  this.FIELD_BORDER_RECT_HEIGHT =
@@ -419,23 +293,17 @@ class ConstantProvider extends BaseConstantProvider {
419
293
  this.FIELD_DROPDOWN_BORDER_RECT_HEIGHT = this.FIELD_BORDER_RECT_HEIGHT;
420
294
  }
421
295
 
422
- /**
423
- * @override
424
- */
425
- init() {
296
+ override init() {
426
297
  super.init();
427
298
  this.HEXAGONAL = this.makeHexagonal();
428
299
  this.ROUNDED = this.makeRounded();
429
300
  this.SQUARED = this.makeSquared();
430
301
 
431
- this.STATEMENT_INPUT_NOTCH_OFFSET =
432
- this.NOTCH_OFFSET_LEFT + this.INSIDE_CORNERS.rightWidth;
302
+ this.STATEMENT_INPUT_NOTCH_OFFSET = this.NOTCH_OFFSET_LEFT +
303
+ (this.INSIDE_CORNERS as InsideCorners).rightWidth;
433
304
  }
434
305
 
435
- /**
436
- * @override
437
- */
438
- setDynamicProperties_(theme) {
306
+ override setDynamicProperties_(theme: Theme) {
439
307
  super.setDynamicProperties_(theme);
440
308
 
441
309
  this.SELECTED_GLOW_COLOUR = theme.getComponentStyle('selectedGlowColour') ||
@@ -456,10 +324,7 @@ class ConstantProvider extends BaseConstantProvider {
456
324
  this.REPLACEMENT_GLOW_SIZE;
457
325
  }
458
326
 
459
- /**
460
- * @override
461
- */
462
- dispose() {
327
+ override dispose() {
463
328
  super.dispose();
464
329
  if (this.selectedGlowFilter_) {
465
330
  dom.removeNode(this.selectedGlowFilter_);
@@ -469,10 +334,7 @@ class ConstantProvider extends BaseConstantProvider {
469
334
  }
470
335
  }
471
336
 
472
- /**
473
- * @override
474
- */
475
- makeStartHat() {
337
+ override makeStartHat() {
476
338
  const height = this.START_HAT_HEIGHT;
477
339
  const width = this.START_HAT_WIDTH;
478
340
 
@@ -481,16 +343,16 @@ class ConstantProvider extends BaseConstantProvider {
481
343
  svgPaths.point(71, -height),
482
344
  svgPaths.point(width, 0),
483
345
  ]);
484
- return {height: height, width: width, path: mainPath};
346
+ return {height, width, path: mainPath};
485
347
  }
486
348
 
487
349
  /**
488
350
  * Create sizing and path information about a hexagonal shape.
489
- * @return {!Object} An object containing sizing and path information about
490
- * a hexagonal shape for connections.
491
- * @package
351
+ * @return An object containing sizing and path information about a hexagonal
352
+ * shape for connections.
353
+ * @internal
492
354
  */
493
- makeHexagonal() {
355
+ makeHexagonal(): Shape {
494
356
  const maxWidth = this.MAX_DYNAMIC_CONNECTION_SHAPE_WIDTH;
495
357
 
496
358
  /**
@@ -499,14 +361,13 @@ class ConstantProvider extends BaseConstantProvider {
499
361
  * height. The 'up' and 'down' versions of the paths are the same, but the Y
500
362
  * sign flips. The 'left' and 'right' versions of the path are also the
501
363
  * same, but the X sign flips.
502
- * @param {number} height The height of the block the connection is on.
503
- * @param {boolean} up True if the path should be drawn from bottom to top,
504
- * false otherwise.
505
- * @param {boolean} right True if the path is for the right side of the
506
- * block.
507
- * @return {string} A path fragment describing a rounded connection.
364
+ * @param height The height of the block the connection is on.
365
+ * @param up True if the path should be drawn from bottom to top, false
366
+ * otherwise.
367
+ * @param right True if the path is for the right side of the block.
368
+ * @return A path fragment describing a rounded connection.
508
369
  */
509
- function makeMainPath(height, up, right) {
370
+ function makeMainPath(height: number, up: boolean, right: boolean): string {
510
371
  const halfHeight = height / 2;
511
372
  const width = halfHeight > maxWidth ? maxWidth : halfHeight;
512
373
  const forward = up ? -1 : 1;
@@ -519,29 +380,29 @@ class ConstantProvider extends BaseConstantProvider {
519
380
  return {
520
381
  type: this.SHAPES.HEXAGONAL,
521
382
  isDynamic: true,
522
- width: function(height) {
383
+ width(height: number): number {
523
384
  const halfHeight = height / 2;
524
385
  return halfHeight > maxWidth ? maxWidth : halfHeight;
525
386
  },
526
- height: function(height) {
387
+ height(height: number): number {
527
388
  return height;
528
389
  },
529
- connectionOffsetY: function(connectionHeight) {
390
+ connectionOffsetY(connectionHeight: number): number {
530
391
  return connectionHeight / 2;
531
392
  },
532
- connectionOffsetX: function(connectionWidth) {
393
+ connectionOffsetX(connectionWidth: number): number {
533
394
  return -connectionWidth;
534
395
  },
535
- pathDown: function(height) {
396
+ pathDown(height: number): string {
536
397
  return makeMainPath(height, false, false);
537
398
  },
538
- pathUp: function(height) {
399
+ pathUp(height: number): string {
539
400
  return makeMainPath(height, true, false);
540
401
  },
541
- pathRightDown: function(height) {
402
+ pathRightDown(height: number): string {
542
403
  return makeMainPath(height, false, true);
543
404
  },
544
- pathRightUp: function(height) {
405
+ pathRightUp(height: number): string {
545
406
  return makeMainPath(height, false, true);
546
407
  },
547
408
  };
@@ -549,11 +410,11 @@ class ConstantProvider extends BaseConstantProvider {
549
410
 
550
411
  /**
551
412
  * Create sizing and path information about a rounded shape.
552
- * @return {!Object} An object containing sizing and path information about
553
- * a rounded shape for connections.
554
- * @package
413
+ * @return An object containing sizing and path information about a rounded
414
+ * shape for connections.
415
+ * @internal
555
416
  */
556
- makeRounded() {
417
+ makeRounded(): Shape {
557
418
  const maxWidth = this.MAX_DYNAMIC_CONNECTION_SHAPE_WIDTH;
558
419
  const maxHeight = maxWidth * 2;
559
420
 
@@ -565,14 +426,14 @@ class ConstantProvider extends BaseConstantProvider {
565
426
  * drawn in between the two arcs. The 'up' and 'down' versions of the paths
566
427
  * are the same, but the Y sign flips. The 'up' and 'right' versions of the
567
428
  * path flip the sweep-flag which moves the arc at negative angles.
568
- * @param {number} blockHeight The height of the block the connection is on.
569
- * @param {boolean} up True if the path should be drawn from bottom to top,
570
- * false otherwise.
571
- * @param {boolean} right True if the path is for the right side of the
572
- * block.
573
- * @return {string} A path fragment describing a rounded connection.
574
- */
575
- function makeMainPath(blockHeight, up, right) {
429
+ * @param blockHeight The height of the block the connection is on.
430
+ * @param up True if the path should be drawn from bottom to top, false
431
+ * otherwise.
432
+ * @param right True if the path is for the right side of the block.
433
+ * @return A path fragment describing a rounded connection.
434
+ */
435
+ function makeMainPath(
436
+ blockHeight: number, up: boolean, right: boolean): string {
576
437
  const remainingHeight =
577
438
  blockHeight > maxHeight ? blockHeight - maxHeight : 0;
578
439
  const height = blockHeight > maxHeight ? maxHeight : blockHeight;
@@ -590,29 +451,29 @@ class ConstantProvider extends BaseConstantProvider {
590
451
  return {
591
452
  type: this.SHAPES.ROUND,
592
453
  isDynamic: true,
593
- width: function(height) {
454
+ width(height: number): number {
594
455
  const halfHeight = height / 2;
595
456
  return halfHeight > maxWidth ? maxWidth : halfHeight;
596
457
  },
597
- height: function(height) {
458
+ height(height: number): number {
598
459
  return height;
599
460
  },
600
- connectionOffsetY: function(connectionHeight) {
461
+ connectionOffsetY(connectionHeight: number): number {
601
462
  return connectionHeight / 2;
602
463
  },
603
- connectionOffsetX: function(connectionWidth) {
464
+ connectionOffsetX(connectionWidth: number): number {
604
465
  return -connectionWidth;
605
466
  },
606
- pathDown: function(height) {
467
+ pathDown(height: number): string {
607
468
  return makeMainPath(height, false, false);
608
469
  },
609
- pathUp: function(height) {
470
+ pathUp(height: number): string {
610
471
  return makeMainPath(height, true, false);
611
472
  },
612
- pathRightDown: function(height) {
473
+ pathRightDown(height: number): string {
613
474
  return makeMainPath(height, false, true);
614
475
  },
615
- pathRightUp: function(height) {
476
+ pathRightUp(height: number): string {
616
477
  return makeMainPath(height, false, true);
617
478
  },
618
479
  };
@@ -620,11 +481,11 @@ class ConstantProvider extends BaseConstantProvider {
620
481
 
621
482
  /**
622
483
  * Create sizing and path information about a squared shape.
623
- * @return {!Object} An object containing sizing and path information about
624
- * a squared shape for connections.
625
- * @package
484
+ * @return An object containing sizing and path information about a squared
485
+ * shape for connections.
486
+ * @internal
626
487
  */
627
- makeSquared() {
488
+ makeSquared(): Shape {
628
489
  const radius = this.CORNER_RADIUS;
629
490
 
630
491
  /**
@@ -634,14 +495,13 @@ class ConstantProvider extends BaseConstantProvider {
634
495
  * The 'left' and 'right' versions of the paths are the same, but the Y sign
635
496
  * flips. The 'up' and 'down' versions of the path determine where the
636
497
  * corner point is placed and in turn the direction of the corners.
637
- * @param {number} height The height of the block the connection is on.
638
- * @param {boolean} up True if the path should be drawn from bottom to top,
639
- * false otherwise.
640
- * @param {boolean} right True if the path is for the right side of the
641
- * block.
642
- * @return {string} A path fragment describing a squared connection.
498
+ * @param height The height of the block the connection is on.
499
+ * @param up True if the path should be drawn from bottom to top, false
500
+ * otherwise.
501
+ * @param right True if the path is for the right side of the block.
502
+ * @return A path fragment describing a squared connection.
643
503
  */
644
- function makeMainPath(height, up, right) {
504
+ function makeMainPath(height: number, up: boolean, right: boolean): string {
645
505
  const innerHeight = height - radius * 2;
646
506
  return svgPaths.arc(
647
507
  'a', '0 0,1', radius,
@@ -656,37 +516,34 @@ class ConstantProvider extends BaseConstantProvider {
656
516
  return {
657
517
  type: this.SHAPES.SQUARE,
658
518
  isDynamic: true,
659
- width: function(_height) {
519
+ width(_height: number): number {
660
520
  return radius;
661
521
  },
662
- height: function(height) {
522
+ height(height: number): number {
663
523
  return height;
664
524
  },
665
- connectionOffsetY: function(connectionHeight) {
525
+ connectionOffsetY(connectionHeight: number): number {
666
526
  return connectionHeight / 2;
667
527
  },
668
- connectionOffsetX: function(connectionWidth) {
528
+ connectionOffsetX(connectionWidth: number): number {
669
529
  return -connectionWidth;
670
530
  },
671
- pathDown: function(height) {
531
+ pathDown(height: number): string {
672
532
  return makeMainPath(height, false, false);
673
533
  },
674
- pathUp: function(height) {
534
+ pathUp(height: number): string {
675
535
  return makeMainPath(height, true, false);
676
536
  },
677
- pathRightDown: function(height) {
537
+ pathRightDown(height: number): string {
678
538
  return makeMainPath(height, false, true);
679
539
  },
680
- pathRightUp: function(height) {
540
+ pathRightUp(height: number): string {
681
541
  return makeMainPath(height, false, true);
682
542
  },
683
543
  };
684
544
  }
685
545
 
686
- /**
687
- * @override
688
- */
689
- shapeFor(connection) {
546
+ override shapeFor(connection: RenderedConnection): Shape {
690
547
  let checks = connection.getCheck();
691
548
  if (!checks && connection.targetConnection) {
692
549
  checks = connection.targetConnection.getCheck();
@@ -700,36 +557,33 @@ class ConstantProvider extends BaseConstantProvider {
700
557
  if (outputShape !== null) {
701
558
  switch (outputShape) {
702
559
  case this.SHAPES.HEXAGONAL:
703
- return /** @type {!Object} */ (this.HEXAGONAL);
560
+ return this.HEXAGONAL!;
704
561
  case this.SHAPES.ROUND:
705
- return /** @type {!Object} */ (this.ROUNDED);
562
+ return this.ROUNDED!;
706
563
  case this.SHAPES.SQUARE:
707
- return /** @type {!Object} */ (this.SQUARED);
564
+ return this.SQUARED!;
708
565
  }
709
566
  }
710
567
  // Includes doesn't work in IE.
711
568
  if (checks && checks.indexOf('Boolean') !== -1) {
712
- return /** @type {!Object} */ (this.HEXAGONAL);
569
+ return this.HEXAGONAL!;
713
570
  }
714
571
  if (checks && checks.indexOf('Number') !== -1) {
715
- return /** @type {!Object} */ (this.ROUNDED);
572
+ return this.ROUNDED!;
716
573
  }
717
574
  if (checks && checks.indexOf('String') !== -1) {
718
- return /** @type {!Object} */ (this.ROUNDED);
575
+ return this.ROUNDED!;
719
576
  }
720
- return /** @type {!Object} */ (this.ROUNDED);
577
+ return this.ROUNDED!;
721
578
  case ConnectionType.PREVIOUS_STATEMENT:
722
579
  case ConnectionType.NEXT_STATEMENT:
723
- return this.NOTCH;
580
+ return this.NOTCH!;
724
581
  default:
725
582
  throw Error('Unknown type');
726
583
  }
727
584
  }
728
585
 
729
- /**
730
- * @override
731
- */
732
- makeNotch() {
586
+ override makeNotch() {
733
587
  const width = this.NOTCH_WIDTH;
734
588
  const height = this.NOTCH_HEIGHT;
735
589
 
@@ -741,19 +595,18 @@ class ConstantProvider extends BaseConstantProvider {
741
595
 
742
596
  /**
743
597
  * Make the main path for the notch.
744
- * @param {number} dir Direction multiplier to apply to horizontal offsets
745
- * along the path. Either 1 or -1.
746
- * @return {string} A path fragment describing a notch.
747
- */
748
- function makeMainPath(dir) {
749
- return (
750
- svgPaths.curve(
751
- 'c',
752
- [
753
- svgPaths.point(dir * curveWidth / 2, 0),
754
- svgPaths.point(dir * curveWidth * 3 / 4, quarterHeight / 2),
755
- svgPaths.point(dir * curveWidth, quarterHeight),
756
- ]) +
598
+ * @param dir Direction multiplier to apply to horizontal offsets along the
599
+ * path. Either 1 or -1.
600
+ * @return A path fragment describing a notch.
601
+ */
602
+ function makeMainPath(dir: number): string {
603
+ return svgPaths.curve(
604
+ 'c',
605
+ [
606
+ svgPaths.point(dir * curveWidth / 2, 0),
607
+ svgPaths.point(dir * curveWidth * 3 / 4, quarterHeight / 2),
608
+ svgPaths.point(dir * curveWidth, quarterHeight),
609
+ ]) +
757
610
  svgPaths.line([svgPaths.point(dir * curveWidth, halfHeight)]) +
758
611
  svgPaths.curve(
759
612
  'c',
@@ -775,7 +628,7 @@ class ConstantProvider extends BaseConstantProvider {
775
628
  svgPaths.point(dir * curveWidth / 4, -(quarterHeight / 2)),
776
629
  svgPaths.point(dir * curveWidth / 2, -quarterHeight),
777
630
  svgPaths.point(dir * curveWidth, -quarterHeight),
778
- ]));
631
+ ]);
779
632
  }
780
633
 
781
634
  const pathLeft = makeMainPath(1);
@@ -783,17 +636,14 @@ class ConstantProvider extends BaseConstantProvider {
783
636
 
784
637
  return {
785
638
  type: this.SHAPES.NOTCH,
786
- width: width,
787
- height: height,
788
- pathLeft: pathLeft,
789
- pathRight: pathRight,
639
+ width,
640
+ height,
641
+ pathLeft,
642
+ pathRight,
790
643
  };
791
644
  }
792
645
 
793
- /**
794
- * @override
795
- */
796
- makeInsideCorners() {
646
+ override makeInsideCorners() {
797
647
  const radius = this.CORNER_RADIUS;
798
648
 
799
649
  const innerTopLeftCorner =
@@ -820,30 +670,21 @@ class ConstantProvider extends BaseConstantProvider {
820
670
  };
821
671
  }
822
672
 
823
- /**
824
- * @override
825
- */
826
- generateSecondaryColour_(colour) {
673
+ override generateSecondaryColour_(colour: string) {
827
674
  return utilsColour.blend('#000', colour, 0.15) || colour;
828
675
  }
829
676
 
830
- /**
831
- * @override
832
- */
833
- generateTertiaryColour_(colour) {
677
+ override generateTertiaryColour_(colour: string) {
834
678
  return utilsColour.blend('#000', colour, 0.25) || colour;
835
679
  }
836
680
 
837
- /**
838
- * @override
839
- */
840
- createDom(svg, tagName, selector) {
681
+ override createDom(svg: SVGElement, tagName: string, selector: string) {
841
682
  super.createDom(svg, tagName, selector);
842
683
  /*
843
- <defs>
844
- ... filters go here ...
845
- </defs>
846
- */
684
+ <defs>
685
+ ... filters go here ...
686
+ </defs>
687
+ */
847
688
  const defs = dom.createSvgElement(Svg.DEFS, {}, svg);
848
689
  // Using a dilate distorts the block shape.
849
690
  // Instead use a gaussian blur, and then set all alpha to 1 with a transfer.
@@ -935,71 +776,83 @@ class ConstantProvider extends BaseConstantProvider {
935
776
  this.replacementGlowFilter_ = replacementGlowFilter;
936
777
  }
937
778
 
938
- /**
939
- * @override
940
- */
941
- getCSS_(selector) {
779
+ override getCSS_(selector: string) {
942
780
  return [
943
781
  /* eslint-disable indent */
944
782
  // Text.
945
- selector + ' .blocklyText,', selector + ' .blocklyFlyoutLabelText {',
783
+ selector + ' .blocklyText,',
784
+ selector + ' .blocklyFlyoutLabelText {',
946
785
  'font: ' + this.FIELD_TEXT_FONTWEIGHT + ' ' + this.FIELD_TEXT_FONTSIZE +
947
786
  'pt ' + this.FIELD_TEXT_FONTFAMILY + ';',
948
787
  '}',
949
788
 
950
789
  // Fields.
951
- selector + ' .blocklyText {', 'fill: #fff;', '}',
790
+ selector + ' .blocklyText {',
791
+ 'fill: #fff;',
792
+ '}',
952
793
  selector + ' .blocklyNonEditableText>rect:not(.blocklyDropdownRect),',
953
794
  selector + ' .blocklyEditableText>rect:not(.blocklyDropdownRect) {',
954
- 'fill: ' + this.FIELD_BORDER_RECT_COLOUR + ';', '}',
795
+ 'fill: ' + this.FIELD_BORDER_RECT_COLOUR + ';',
796
+ '}',
955
797
  selector + ' .blocklyNonEditableText>text,',
956
798
  selector + ' .blocklyEditableText>text,',
957
799
  selector + ' .blocklyNonEditableText>g>text,',
958
- selector + ' .blocklyEditableText>g>text {', 'fill: #575E75;', '}',
959
-
960
- // Flyout labels.
961
- selector + ' .blocklyFlyoutLabelText {', 'fill: #575E75;', '}',
800
+ selector + ' .blocklyEditableText>g>text {',
801
+ 'fill: #575E75;',
802
+ '}', // Flyout labels.
803
+ selector + ' .blocklyFlyoutLabelText {',
804
+ 'fill: #575E75;',
805
+ '}',
962
806
 
963
807
  // Bubbles.
964
- selector + ' .blocklyText.blocklyBubbleText {', 'fill: #575E75;', '}',
808
+ selector + ' .blocklyText.blocklyBubbleText {',
809
+ 'fill: #575E75;',
810
+ '}',
965
811
 
966
812
  // Editable field hover.
967
813
  selector + ' .blocklyDraggable:not(.blocklyDisabled)',
968
814
  ' .blocklyEditableText:not(.editing):hover>rect,',
969
815
  selector + ' .blocklyDraggable:not(.blocklyDisabled)',
970
816
  ' .blocklyEditableText:not(.editing):hover>.blocklyPath {',
971
- 'stroke: #fff;', 'stroke-width: 2;', '}',
817
+ 'stroke: #fff;',
818
+ 'stroke-width: 2;',
819
+ '}',
972
820
 
973
821
  // Text field input.
974
822
  selector + ' .blocklyHtmlInput {',
975
823
  'font-family: ' + this.FIELD_TEXT_FONTFAMILY + ';',
976
- 'font-weight: ' + this.FIELD_TEXT_FONTWEIGHT + ';', 'color: #575E75;',
824
+ 'font-weight: ' + this.FIELD_TEXT_FONTWEIGHT + ';',
825
+ 'color: #575E75;',
977
826
  '}',
978
827
 
979
828
  // Dropdown field.
980
- selector + ' .blocklyDropdownText {', 'fill: #fff !important;', '}',
981
- // Widget and Dropdown Div
829
+ selector + ' .blocklyDropdownText {',
830
+ 'fill: #fff !important;',
831
+ '}', // Widget and Dropdown Div
982
832
  selector + '.blocklyWidgetDiv .goog-menuitem,',
983
833
  selector + '.blocklyDropDownDiv .goog-menuitem {',
984
- 'font-family: ' + this.FIELD_TEXT_FONTFAMILY + ';', '}',
985
- selector + '.blocklyDropDownDiv .goog-menuitem-content {', 'color: #fff;',
834
+ 'font-family: ' + this.FIELD_TEXT_FONTFAMILY + ';',
835
+ '}',
836
+ selector + '.blocklyDropDownDiv .goog-menuitem-content {',
837
+ 'color: #fff;',
986
838
  '}',
987
839
 
988
840
  // Connection highlight.
989
841
  selector + ' .blocklyHighlightedConnectionPath {',
990
- 'stroke: ' + this.SELECTED_GLOW_COLOUR + ';', '}',
842
+ 'stroke: ' + this.SELECTED_GLOW_COLOUR + ';',
843
+ '}',
991
844
 
992
845
  // Disabled outline paths.
993
846
  selector + ' .blocklyDisabled > .blocklyOutlinePath {',
994
- 'fill: url(#blocklyDisabledPattern' + this.randomIdentifier + ')', '}',
847
+ 'fill: url(#blocklyDisabledPattern' + this.randomIdentifier + ')',
848
+ '}',
995
849
 
996
850
  // Insertion marker.
997
851
  selector + ' .blocklyInsertionMarker>.blocklyPath {',
998
- 'fill-opacity: ' + this.INSERTION_MARKER_OPACITY + ';', 'stroke: none;',
852
+ 'fill-opacity: ' + this.INSERTION_MARKER_OPACITY + ';',
853
+ 'stroke: none;',
999
854
  '}',
1000
- /* eslint-enable indent */
1001
855
  ];
1002
856
  }
1003
857
  }
1004
-
1005
- exports.ConstantProvider = ConstantProvider;
858
+ /* eslint-enable indent */