blockly 8.0.5 → 9.0.0-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 (736) hide show
  1. package/blockly.min.js +2002 -2269
  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/package.json +5 -5
  609. package/php.d.ts +0 -3
  610. package/php_compressed.js +322 -93
  611. package/php_compressed.js.map +1 -1
  612. package/python.d.ts +0 -3
  613. package/python_compressed.js +237 -90
  614. package/python_compressed.js.map +1 -1
  615. package/blockly.d.ts +0 -26127
  616. package/core/blockly_options.js +0 -28
  617. package/core/bubble_dragger.js +0 -298
  618. package/core/clipboard.js +0 -80
  619. package/core/component_manager.js +0 -263
  620. package/core/contextmenu_items.js +0 -651
  621. package/core/contextmenu_registry.js +0 -178
  622. package/core/delete_area.js +0 -87
  623. package/core/dialog.js +0 -107
  624. package/core/drag_target.js +0 -98
  625. package/core/events/events.js +0 -147
  626. package/core/events/events_abstract.js +0 -133
  627. package/core/events/events_block_base.js +0 -70
  628. package/core/events/events_block_drag.js +0 -89
  629. package/core/events/events_bubble_open.js +0 -90
  630. package/core/events/events_comment_base.js +0 -121
  631. package/core/events/events_marker_move.js +0 -110
  632. package/core/events/events_selected.js +0 -83
  633. package/core/events/events_toolbox_item_select.js +0 -84
  634. package/core/events/events_trashcan_open.js +0 -73
  635. package/core/events/events_var_base.js +0 -70
  636. package/core/events/events_viewport.js +0 -107
  637. package/core/events/workspace_events.js +0 -93
  638. package/core/field_angle.js +0 -591
  639. package/core/field_checkbox.js +0 -255
  640. package/core/field_colour.js +0 -717
  641. package/core/field_image.js +0 -304
  642. package/core/field_label.js +0 -149
  643. package/core/field_label_serializable.js +0 -80
  644. package/core/field_textinput.js +0 -619
  645. package/core/flyout_button.js +0 -356
  646. package/core/grid.js +0 -226
  647. package/core/icon.js +0 -225
  648. package/core/input.js +0 -335
  649. package/core/interfaces/i_ast_node_location_svg.js +0 -45
  650. package/core/interfaces/i_ast_node_location_with_block.js +0 -41
  651. package/core/interfaces/i_autohideable.js +0 -40
  652. package/core/interfaces/i_block_dragger.js +0 -66
  653. package/core/interfaces/i_bounded_element.js +0 -45
  654. package/core/interfaces/i_bubble.js +0 -95
  655. package/core/interfaces/i_collapsible_toolbox_item.js +0 -53
  656. package/core/interfaces/i_connection_checker.js +0 -104
  657. package/core/interfaces/i_contextmenu.js +0 -32
  658. package/core/interfaces/i_copyable.js +0 -49
  659. package/core/interfaces/i_delete_area.js +0 -50
  660. package/core/interfaces/i_drag_target.js +0 -88
  661. package/core/interfaces/i_flyout.js +0 -201
  662. package/core/interfaces/i_keyboard_accessible.js +0 -38
  663. package/core/interfaces/i_metrics_manager.js +0 -154
  664. package/core/interfaces/i_positionable.js +0 -51
  665. package/core/interfaces/i_selectable.js +0 -51
  666. package/core/interfaces/i_selectable_toolbox_item.js +0 -73
  667. package/core/interfaces/i_serializer.js +0 -77
  668. package/core/interfaces/i_styleable.js +0 -39
  669. package/core/interfaces/i_toolbox.js +0 -142
  670. package/core/interfaces/i_toolbox_item.js +0 -85
  671. package/core/marker_manager.js +0 -213
  672. package/core/menuitem.js +0 -292
  673. package/core/names.js +0 -293
  674. package/core/registry.js +0 -384
  675. package/core/renderers/common/block_rendering.js +0 -170
  676. package/core/renderers/common/constants.js +0 -1250
  677. package/core/renderers/common/i_path_object.js +0 -162
  678. package/core/renderers/common/marker_svg.js +0 -721
  679. package/core/renderers/common/path_object.js +0 -283
  680. package/core/renderers/common/renderer.js +0 -305
  681. package/core/renderers/geras/constants.js +0 -73
  682. package/core/renderers/geras/geras.js +0 -36
  683. package/core/renderers/geras/measurables/inline_input.js +0 -58
  684. package/core/renderers/geras/measurables/statement_input.js +0 -57
  685. package/core/renderers/geras/renderer.js +0 -149
  686. package/core/renderers/measurables/base.js +0 -64
  687. package/core/renderers/measurables/bottom_row.js +0 -138
  688. package/core/renderers/measurables/connection.js +0 -56
  689. package/core/renderers/measurables/external_value_input.js +0 -70
  690. package/core/renderers/measurables/field.js +0 -71
  691. package/core/renderers/measurables/in_row_spacer.js +0 -47
  692. package/core/renderers/measurables/input_connection.js +0 -75
  693. package/core/renderers/measurables/next_connection.js +0 -50
  694. package/core/renderers/measurables/output_connection.js +0 -61
  695. package/core/renderers/measurables/previous_connection.js +0 -50
  696. package/core/renderers/measurables/round_corner.js +0 -52
  697. package/core/renderers/measurables/row.js +0 -247
  698. package/core/renderers/measurables/spacer_row.js +0 -69
  699. package/core/renderers/measurables/square_corner.js +0 -50
  700. package/core/renderers/measurables/top_row.js +0 -143
  701. package/core/renderers/measurables/types.js +0 -353
  702. package/core/renderers/minimalist/drawer.js +0 -42
  703. package/core/renderers/minimalist/info.js +0 -54
  704. package/core/renderers/minimalist/minimalist.js +0 -26
  705. package/core/renderers/minimalist/renderer.js +0 -80
  706. package/core/renderers/thrasos/renderer.js +0 -53
  707. package/core/renderers/thrasos/thrasos.js +0 -22
  708. package/core/renderers/zelos/marker_svg.js +0 -179
  709. package/core/renderers/zelos/measurables/bottom_row.js +0 -66
  710. package/core/renderers/zelos/measurables/row_elements.js +0 -46
  711. package/core/renderers/zelos/path_object.js +0 -247
  712. package/core/renderers/zelos/renderer.js +0 -147
  713. package/core/renderers/zelos/zelos.js +0 -38
  714. package/core/serialization/exceptions.js +0 -144
  715. package/core/shortcut_registry.js +0 -366
  716. package/core/theme/themes.js +0 -23
  717. package/core/theme.js +0 -228
  718. package/core/theme_manager.js +0 -211
  719. package/core/toolbox/category.js +0 -751
  720. package/core/toolbox/collapsible_category.js +0 -311
  721. package/core/toolbox/separator.js +0 -133
  722. package/core/toolbox/toolbox_item.js +0 -173
  723. package/core/touch.js +0 -285
  724. package/core/utils/coordinate.js +0 -138
  725. package/core/utils/global.js +0 -41
  726. package/core/utils/keycodes.js +0 -172
  727. package/core/utils/metrics.js +0 -154
  728. package/core/utils/svg.js +0 -186
  729. package/core/utils/toolbox.js +0 -459
  730. package/core/utils/useragent.js +0 -197
  731. package/core/utils.js +0 -383
  732. package/core/variable_model.js +0 -96
  733. package/core/widgetdiv.js +0 -290
  734. package/core/workspace.js +0 -836
  735. package/core/workspace_comment.js +0 -400
  736. package/core/workspace_dragger.js +0 -115
@@ -1,147 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2019 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
-
7
- /**
8
- * @fileoverview Zelos renderer.
9
- */
10
- 'use strict';
11
-
12
- /**
13
- * Zelos renderer.
14
- * @class
15
- */
16
- goog.module('Blockly.zelos.Renderer');
17
-
18
- const blockRendering = goog.require('Blockly.blockRendering');
19
- /* eslint-disable-next-line no-unused-vars */
20
- const {BlockSvg} = goog.requireType('Blockly.BlockSvg');
21
- const {ConnectionType} = goog.require('Blockly.ConnectionType');
22
- const {ConstantProvider} = goog.require('Blockly.zelos.ConstantProvider');
23
- const {Drawer} = goog.require('Blockly.zelos.Drawer');
24
- const {InsertionMarkerManager} = goog.require('Blockly.InsertionMarkerManager');
25
- const {MarkerSvg} = goog.require('Blockly.zelos.MarkerSvg');
26
- /* eslint-disable-next-line no-unused-vars */
27
- const {Marker} = goog.requireType('Blockly.Marker');
28
- const {PathObject} = goog.require('Blockly.zelos.PathObject');
29
- /* eslint-disable-next-line no-unused-vars */
30
- const {RenderInfo: BaseRenderInfo} = goog.requireType('Blockly.blockRendering.RenderInfo');
31
- const {RenderInfo} = goog.require('Blockly.zelos.RenderInfo');
32
- const {Renderer: BaseRenderer} = goog.require('Blockly.blockRendering.Renderer');
33
- /* eslint-disable-next-line no-unused-vars */
34
- const {Theme} = goog.requireType('Blockly.Theme');
35
- /* eslint-disable-next-line no-unused-vars */
36
- const {WorkspaceSvg} = goog.requireType('Blockly.WorkspaceSvg');
37
-
38
-
39
- /**
40
- * The zelos renderer.
41
- * @extends {BaseRenderer}
42
- * @alias Blockly.zelos.Renderer
43
- */
44
- class Renderer extends BaseRenderer {
45
- /**
46
- * @param {string} name The renderer name.
47
- * @package
48
- */
49
- constructor(name) {
50
- super(name);
51
- }
52
-
53
- /**
54
- * Create a new instance of the renderer's constant provider.
55
- * @return {!ConstantProvider} The constant provider.
56
- * @protected
57
- * @override
58
- */
59
- makeConstants_() {
60
- return new ConstantProvider();
61
- }
62
-
63
- /**
64
- * Create a new instance of the renderer's render info object.
65
- * @param {!BlockSvg} block The block to measure.
66
- * @return {!RenderInfo} The render info object.
67
- * @protected
68
- * @override
69
- */
70
- makeRenderInfo_(block) {
71
- return new RenderInfo(this, block);
72
- }
73
-
74
- /**
75
- * Create a new instance of the renderer's drawer.
76
- * @param {!BlockSvg} block The block to render.
77
- * @param {!BaseRenderInfo} info An object containing all
78
- * information needed to render this block.
79
- * @return {!Drawer} The drawer.
80
- * @protected
81
- * @override
82
- */
83
- makeDrawer_(block, info) {
84
- return new Drawer(
85
- block,
86
- /** @type {!RenderInfo} */ (info));
87
- }
88
-
89
- /**
90
- * Create a new instance of the renderer's cursor drawer.
91
- * @param {!WorkspaceSvg} workspace The workspace the cursor belongs to.
92
- * @param {!Marker} marker The marker.
93
- * @return {!MarkerSvg} The object in charge of drawing
94
- * the marker.
95
- * @package
96
- * @override
97
- */
98
- makeMarkerDrawer(workspace, marker) {
99
- return new MarkerSvg(workspace, this.getConstants(), marker);
100
- }
101
-
102
- /**
103
- * Create a new instance of a renderer path object.
104
- * @param {!SVGElement} root The root SVG element.
105
- * @param {!Theme.BlockStyle} style The style object to use for
106
- * colouring.
107
- * @return {!PathObject} The renderer path object.
108
- * @package
109
- * @override
110
- */
111
- makePathObject(root, style) {
112
- return new PathObject(
113
- root, style,
114
- /** @type {!ConstantProvider} */ (this.getConstants()));
115
- }
116
-
117
- /**
118
- * @override
119
- */
120
- shouldHighlightConnection(conn) {
121
- return conn.type !== ConnectionType.INPUT_VALUE &&
122
- conn.type !== ConnectionType.OUTPUT_VALUE;
123
- }
124
-
125
- /**
126
- * @override
127
- */
128
- getConnectionPreviewMethod(closest, local, topBlock) {
129
- if (local.type === ConnectionType.OUTPUT_VALUE) {
130
- if (!closest.isConnected()) {
131
- return InsertionMarkerManager.PREVIEW_TYPE.INPUT_OUTLINE;
132
- }
133
- // TODO: Returning this is a total hack, because we don't want to show
134
- // a replacement fade, we want to show an outline affect.
135
- // Sadly zelos does not support showing an outline around filled
136
- // inputs, so we have to pretend like the connected block is getting
137
- // replaced.
138
- return InsertionMarkerManager.PREVIEW_TYPE.REPLACEMENT_FADE;
139
- }
140
-
141
- return super.getConnectionPreviewMethod(closest, local, topBlock);
142
- }
143
- }
144
-
145
- blockRendering.register('zelos', Renderer);
146
-
147
- exports.Renderer = Renderer;
@@ -1,38 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2021 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
-
7
- /**
8
- * @fileoverview Re-exports of Blockly.zelos.* modules.
9
- */
10
- 'use strict';
11
-
12
- /**
13
- * Re-exports of Blockly.zelos.* modules.
14
- * @namespace Blockly.zelos
15
- */
16
- goog.module('Blockly.zelos');
17
-
18
- const {BottomRow} = goog.require('Blockly.zelos.BottomRow');
19
- const {ConstantProvider} = goog.require('Blockly.zelos.ConstantProvider');
20
- const {Drawer} = goog.require('Blockly.zelos.Drawer');
21
- const {MarkerSvg} = goog.require('Blockly.zelos.MarkerSvg');
22
- const {PathObject} = goog.require('Blockly.zelos.PathObject');
23
- const {RenderInfo} = goog.require('Blockly.zelos.RenderInfo');
24
- const {Renderer} = goog.require('Blockly.zelos.Renderer');
25
- const {RightConnectionShape} = goog.require('Blockly.zelos.RightConnectionShape');
26
- const {StatementInput} = goog.require('Blockly.zelos.StatementInput');
27
- const {TopRow} = goog.require('Blockly.zelos.TopRow');
28
-
29
- exports.BottomRow = BottomRow;
30
- exports.ConstantProvider = ConstantProvider;
31
- exports.Drawer = Drawer;
32
- exports.MarkerSvg = MarkerSvg;
33
- exports.PathObject = PathObject;
34
- exports.RenderInfo = RenderInfo;
35
- exports.Renderer = Renderer;
36
- exports.RightConnectionShape = RightConnectionShape;
37
- exports.StatementInput = StatementInput;
38
- exports.TopRow = TopRow;
@@ -1,144 +0,0 @@
1
-
2
- /**
3
- * @license
4
- * Copyright 2021 Google LLC
5
- * SPDX-License-Identifier: Apache-2.0
6
- */
7
-
8
- /**
9
- * @fileoverview Contains custom errors thrown by the serialization system.
10
- */
11
- 'use strict';
12
-
13
- /**
14
- * Contains custom errors thrown by the serialization system.
15
- * @namespace Blockly.serialization.exceptions
16
- */
17
- goog.module('Blockly.serialization.exceptions');
18
-
19
- /* eslint-disable-next-line no-unused-vars */
20
- const {Block} = goog.requireType('Blockly.Block');
21
- // eslint-disable-next-line no-unused-vars
22
- const {State} = goog.requireType('Blockly.serialization.blocks');
23
-
24
-
25
- /**
26
- * @alias Blockly.serialization.exceptions.DeserializationError
27
- */
28
- class DeserializationError extends Error {}
29
- exports.DeserializationError = DeserializationError;
30
-
31
- /**
32
- * Represents an error where the serialized state is expected to provide a
33
- * block type, but it is not provided.
34
- * @alias Blockly.serialization.exceptions.MissingBlockType
35
- */
36
- class MissingBlockType extends DeserializationError {
37
- /**
38
- * @param {!State} state The state object which is missing the block type.
39
- * @package
40
- */
41
- constructor(state) {
42
- super(`Expected to find a 'type' property, defining the block type`);
43
-
44
- /**
45
- * The state object containing the bad name.
46
- * @type {!State}
47
- */
48
- this.state = state;
49
- }
50
- }
51
- exports.MissingBlockType = MissingBlockType;
52
-
53
- /**
54
- * Represents an error where deserialization encountered a block that did
55
- * not have a connection that was defined in the serialized state.
56
- * @alias Blockly.serialization.exceptions.MissingConnection
57
- */
58
- class MissingConnection extends DeserializationError {
59
- /**
60
- * @param {string} connection The name of the connection that is missing. E.g.
61
- * 'IF0', or 'next'.
62
- * @param {!Block} block The block missing the connection.
63
- * @param {!State} state The state object containing the bad connection.
64
- * @package
65
- */
66
- constructor(connection, block, state) {
67
- super(`The block ${block.toDevString()} is missing a(n) ${connection}
68
- connection`);
69
-
70
- /**
71
- * The block missing the connection.
72
- * @type {!Block}
73
- */
74
- this.block = block;
75
-
76
- /**
77
- * The state object containing the bad name.
78
- * @type {!State}
79
- */
80
- this.state = state;
81
- }
82
- }
83
- exports.MissingConnection = MissingConnection;
84
-
85
- /**
86
- * Represents an error where deserialization tried to connect two connections
87
- * that were not compatible.
88
- * @alias Blockly.serialization.exceptions.BadConnectionCheck
89
- */
90
- class BadConnectionCheck extends DeserializationError {
91
- /**
92
- * @param {string} reason The reason the connections were not compatible.
93
- * @param {string} childConnection The name of the incompatible child
94
- * connection. E.g. 'output' or 'previous'.
95
- * @param {!Block} childBlock The child block that could not connect
96
- * to its parent.
97
- * @param {!State} childState The state object representing the child block.
98
- * @package
99
- */
100
- constructor(reason, childConnection, childBlock, childState) {
101
- super(`The block ${childBlock.toDevString()} could not connect its
102
- ${childConnection} to its parent, because: ${reason}`);
103
-
104
- /**
105
- * The block that could not connect to its parent.
106
- * @type {!Block}
107
- */
108
- this.childBlock = childBlock;
109
-
110
- /**
111
- * The state object representing the block that could not connect to its
112
- * parent.
113
- * @type {!State}
114
- */
115
- this.childState = childState;
116
- }
117
- }
118
- exports.BadConnectionCheck = BadConnectionCheck;
119
-
120
- /**
121
- * Represents an error where deserialization encountered a real block as it
122
- * was deserializing children of a shadow.
123
- * This is an error because it is an invariant of Blockly that shadow blocks
124
- * do not have real children.
125
- * @alias Blockly.serialization.exceptions.RealChildOfShadow
126
- */
127
- class RealChildOfShadow extends DeserializationError {
128
- /**
129
- * @param {!State} state The state object representing the real block.
130
- * @package
131
- */
132
- constructor(state) {
133
- super(`Encountered a real block which is defined as a child of a shadow
134
- block. It is an invariant of Blockly that shadow blocks only have shadow
135
- children`);
136
-
137
- /**
138
- * The state object representing the real block.
139
- * @type {!State}
140
- */
141
- this.state = state;
142
- }
143
- }
144
- exports.RealChildOfShadow = RealChildOfShadow;
@@ -1,366 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2020 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
-
7
- /**
8
- * @fileoverview The namespace used to keep track of keyboard shortcuts and the
9
- * key codes used to execute those shortcuts.
10
- */
11
- 'use strict';
12
-
13
- /**
14
- * The namespace used to keep track of keyboard shortcuts and the
15
- * key codes used to execute those shortcuts.
16
- * @class
17
- */
18
- goog.module('Blockly.ShortcutRegistry');
19
-
20
- const object = goog.require('Blockly.utils.object');
21
- const {KeyCodes} = goog.require('Blockly.utils.KeyCodes');
22
- /* eslint-disable-next-line no-unused-vars */
23
- const {Workspace} = goog.requireType('Blockly.Workspace');
24
-
25
-
26
- /**
27
- * Class for the registry of keyboard shortcuts. This is intended to be a
28
- * singleton. You should not create a new instance, and only access this class
29
- * from ShortcutRegistry.registry.
30
- * @alias Blockly.ShortcutRegistry
31
- */
32
- class ShortcutRegistry {
33
- /**
34
- * Resets the existing ShortcutRegistry singleton.
35
- */
36
- constructor() {
37
- this.reset();
38
- }
39
-
40
- /**
41
- * Clear and recreate the registry and keyMap.
42
- */
43
- reset() {
44
- /**
45
- * Registry of all keyboard shortcuts, keyed by name of shortcut.
46
- * @type {!Object<string, !ShortcutRegistry.KeyboardShortcut>}
47
- * @private
48
- */
49
- this.registry_ = Object.create(null);
50
-
51
- /**
52
- * Map of key codes to an array of shortcut names.
53
- * @type {!Object<string, !Array<string>>}
54
- * @private
55
- */
56
- this.keyMap_ = Object.create(null);
57
- }
58
-
59
- /**
60
- * Registers a keyboard shortcut.
61
- * @param {!ShortcutRegistry.KeyboardShortcut} shortcut The
62
- * shortcut for this key code.
63
- * @param {boolean=} opt_allowOverrides True to prevent a warning when
64
- * overriding an already registered item.
65
- * @throws {Error} if a shortcut with the same name already exists.
66
- * @public
67
- */
68
- register(shortcut, opt_allowOverrides) {
69
- const registeredShortcut = this.registry_[shortcut.name];
70
- if (registeredShortcut && !opt_allowOverrides) {
71
- throw new Error(
72
- 'Shortcut with name "' + shortcut.name + '" already exists.');
73
- }
74
- this.registry_[shortcut.name] = shortcut;
75
- }
76
-
77
- /**
78
- * Unregisters a keyboard shortcut registered with the given key code. This
79
- * will also remove any key mappings that reference this shortcut.
80
- * @param {string} shortcutName The name of the shortcut to unregister.
81
- * @return {boolean} True if an item was unregistered, false otherwise.
82
- * @public
83
- */
84
- unregister(shortcutName) {
85
- const shortcut = this.registry_[shortcutName];
86
-
87
- if (!shortcut) {
88
- console.warn(
89
- 'Keyboard shortcut with name "' + shortcutName + '" not found.');
90
- return false;
91
- }
92
-
93
- this.removeAllKeyMappings(shortcutName);
94
-
95
- delete this.registry_[shortcutName];
96
- return true;
97
- }
98
-
99
- /**
100
- * Adds a mapping between a keycode and a keyboard shortcut.
101
- * @param {string|KeyCodes} keyCode The key code for the keyboard
102
- * shortcut. If registering a key code with a modifier (ex: ctrl+c) use
103
- * ShortcutRegistry.registry.createSerializedKey;
104
- * @param {string} shortcutName The name of the shortcut to execute when the
105
- * given keycode is pressed.
106
- * @param {boolean=} opt_allowCollision True to prevent an error when adding a
107
- * shortcut to a key that is already mapped to a shortcut.
108
- * @throws {Error} if the given key code is already mapped to a shortcut.
109
- * @public
110
- */
111
- addKeyMapping(keyCode, shortcutName, opt_allowCollision) {
112
- keyCode = String(keyCode);
113
- const shortcutNames = this.keyMap_[keyCode];
114
- if (shortcutNames && !opt_allowCollision) {
115
- throw new Error(
116
- 'Shortcut with name "' + shortcutName + '" collides with shortcuts ' +
117
- shortcutNames.toString());
118
- } else if (shortcutNames && opt_allowCollision) {
119
- shortcutNames.unshift(shortcutName);
120
- } else {
121
- this.keyMap_[keyCode] = [shortcutName];
122
- }
123
- }
124
-
125
- /**
126
- * Removes a mapping between a keycode and a keyboard shortcut.
127
- * @param {string} keyCode The key code for the keyboard shortcut. If
128
- * registering a key code with a modifier (ex: ctrl+c) use
129
- * ShortcutRegistry.registry.createSerializedKey;
130
- * @param {string} shortcutName The name of the shortcut to execute when the
131
- * given keycode is pressed.
132
- * @param {boolean=} opt_quiet True to not console warn when there is no
133
- * shortcut to remove.
134
- * @return {boolean} True if a key mapping was removed, false otherwise.
135
- * @public
136
- */
137
- removeKeyMapping(keyCode, shortcutName, opt_quiet) {
138
- const shortcutNames = this.keyMap_[keyCode];
139
-
140
- if (!shortcutNames && !opt_quiet) {
141
- console.warn(
142
- 'No keyboard shortcut with name "' + shortcutName +
143
- '" registered with key code "' + keyCode + '"');
144
- return false;
145
- }
146
-
147
- const shortcutIdx = shortcutNames.indexOf(shortcutName);
148
- if (shortcutIdx > -1) {
149
- shortcutNames.splice(shortcutIdx, 1);
150
- if (shortcutNames.length === 0) {
151
- delete this.keyMap_[keyCode];
152
- }
153
- return true;
154
- }
155
- if (!opt_quiet) {
156
- console.warn(
157
- 'No keyboard shortcut with name "' + shortcutName +
158
- '" registered with key code "' + keyCode + '"');
159
- }
160
- return false;
161
- }
162
-
163
- /**
164
- * Removes all the key mappings for a shortcut with the given name.
165
- * Useful when changing the default key mappings and the key codes registered
166
- * to the shortcut are unknown.
167
- * @param {string} shortcutName The name of the shortcut to remove from the
168
- * key map.
169
- * @public
170
- */
171
- removeAllKeyMappings(shortcutName) {
172
- for (const keyCode in this.keyMap_) {
173
- this.removeKeyMapping(keyCode, shortcutName, true);
174
- }
175
- }
176
-
177
- /**
178
- * Sets the key map. Setting the key map will override any default key
179
- * mappings.
180
- * @param {!Object<string, !Array<string>>} keyMap The object with key code to
181
- * shortcut names.
182
- * @public
183
- */
184
- setKeyMap(keyMap) {
185
- this.keyMap_ = keyMap;
186
- }
187
-
188
- /**
189
- * Gets the current key map.
190
- * @return {!Object<string,!Array<!ShortcutRegistry.KeyboardShortcut>>}
191
- * The object holding key codes to ShortcutRegistry.KeyboardShortcut.
192
- * @public
193
- */
194
- getKeyMap() {
195
- return object.deepMerge(Object.create(null), this.keyMap_);
196
- }
197
-
198
- /**
199
- * Gets the registry of keyboard shortcuts.
200
- * @return {!Object<string, !ShortcutRegistry.KeyboardShortcut>}
201
- * The registry of keyboard shortcuts.
202
- * @public
203
- */
204
- getRegistry() {
205
- return object.deepMerge(Object.create(null), this.registry_);
206
- }
207
-
208
- /**
209
- * Handles key down events.
210
- * @param {!Workspace} workspace The main workspace where the event was
211
- * captured.
212
- * @param {!Event} e The key down event.
213
- * @return {boolean} True if the event was handled, false otherwise.
214
- * @public
215
- */
216
- onKeyDown(workspace, e) {
217
- const key = this.serializeKeyEvent_(e);
218
- const shortcutNames = this.getShortcutNamesByKeyCode(key);
219
- if (!shortcutNames) {
220
- return false;
221
- }
222
- for (let i = 0, shortcutName; (shortcutName = shortcutNames[i]); i++) {
223
- const shortcut = this.registry_[shortcutName];
224
- if (!shortcut.preconditionFn || shortcut.preconditionFn(workspace)) {
225
- // If the key has been handled, stop processing shortcuts.
226
- if (shortcut.callback && shortcut.callback(workspace, e, shortcut)) {
227
- return true;
228
- }
229
- }
230
- }
231
- return false;
232
- }
233
-
234
- /**
235
- * Gets the shortcuts registered to the given key code.
236
- * @param {string} keyCode The serialized key code.
237
- * @return {!Array<string>|undefined} The list of shortcuts to call when the
238
- * given keyCode is used. Undefined if no shortcuts exist.
239
- * @public
240
- */
241
- getShortcutNamesByKeyCode(keyCode) {
242
- return this.keyMap_[keyCode] || [];
243
- }
244
-
245
- /**
246
- * Gets the serialized key codes that the shortcut with the given name is
247
- * registered under.
248
- * @param {string} shortcutName The name of the shortcut.
249
- * @return {!Array<string>} An array with all the key codes the shortcut is
250
- * registered under.
251
- * @public
252
- */
253
- getKeyCodesByShortcutName(shortcutName) {
254
- const keys = [];
255
- for (const keyCode in this.keyMap_) {
256
- const shortcuts = this.keyMap_[keyCode];
257
- const shortcutIdx = shortcuts.indexOf(shortcutName);
258
- if (shortcutIdx > -1) {
259
- keys.push(keyCode);
260
- }
261
- }
262
- return keys;
263
- }
264
-
265
- /**
266
- * Serializes a key event.
267
- * @param {!Event} e A key down event.
268
- * @return {string} The serialized key code for the given event.
269
- * @private
270
- */
271
- serializeKeyEvent_(e) {
272
- let serializedKey = '';
273
- for (const modifier in ShortcutRegistry.modifierKeys) {
274
- if (e.getModifierState(modifier)) {
275
- if (serializedKey !== '') {
276
- serializedKey += '+';
277
- }
278
- serializedKey += modifier;
279
- }
280
- }
281
- if (serializedKey !== '' && e.keyCode) {
282
- serializedKey = serializedKey + '+' + e.keyCode;
283
- } else if (e.keyCode) {
284
- serializedKey = e.keyCode.toString();
285
- }
286
- return serializedKey;
287
- }
288
-
289
- /**
290
- * Checks whether any of the given modifiers are not valid.
291
- * @param {!Array<string>} modifiers List of modifiers to be used with the
292
- * key.
293
- * @throws {Error} if the modifier is not in the valid modifiers list.
294
- * @private
295
- */
296
- checkModifiers_(modifiers) {
297
- const validModifiers = object.values(ShortcutRegistry.modifierKeys);
298
- for (let i = 0, modifier; (modifier = modifiers[i]); i++) {
299
- if (validModifiers.indexOf(modifier) < 0) {
300
- throw new Error(modifier + ' is not a valid modifier key.');
301
- }
302
- }
303
- }
304
-
305
- /**
306
- * Creates the serialized key code that will be used in the key map.
307
- * @param {number} keyCode Number code representing the key.
308
- * @param {?Array<string>} modifiers List of modifier key codes to be used
309
- * with the key. All valid modifiers can be found in the
310
- * ShortcutRegistry.modifierKeys.
311
- * @return {string} The serialized key code for the given modifiers and key.
312
- * @public
313
- */
314
- createSerializedKey(keyCode, modifiers) {
315
- let serializedKey = '';
316
-
317
- if (modifiers) {
318
- this.checkModifiers_(modifiers);
319
- for (const modifier in ShortcutRegistry.modifierKeys) {
320
- const modifierKeyCode = ShortcutRegistry.modifierKeys[modifier];
321
- if (modifiers.indexOf(modifierKeyCode) > -1) {
322
- if (serializedKey !== '') {
323
- serializedKey += '+';
324
- }
325
- serializedKey += modifier;
326
- }
327
- }
328
- }
329
-
330
- if (serializedKey !== '' && keyCode) {
331
- serializedKey = serializedKey + '+' + keyCode;
332
- } else if (keyCode) {
333
- serializedKey = keyCode.toString();
334
- }
335
- return serializedKey;
336
- }
337
- }
338
-
339
- /**
340
- * Enum of valid modifiers.
341
- * @enum {!KeyCodes}
342
- */
343
- ShortcutRegistry.modifierKeys = {
344
- 'Shift': KeyCodes.SHIFT,
345
- 'Control': KeyCodes.CTRL,
346
- 'Alt': KeyCodes.ALT,
347
- 'Meta': KeyCodes.META,
348
- };
349
-
350
- /**
351
- * A keyboard shortcut.
352
- * @typedef {{
353
- * callback: ((function(!Workspace, Event,
354
- * !ShortcutRegistry.KeyboardShortcut):boolean)|undefined),
355
- * name: string,
356
- * preconditionFn: ((function(!Workspace):boolean)|undefined),
357
- * metadata: (Object|undefined)
358
- * }}
359
- */
360
- ShortcutRegistry.KeyboardShortcut;
361
-
362
- // Creates and assigns the singleton instance.
363
- const registry = new ShortcutRegistry();
364
- ShortcutRegistry.registry = registry;
365
-
366
- exports.ShortcutRegistry = ShortcutRegistry;