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,178 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2020 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
-
7
- /**
8
- * @fileoverview Registry for context menu option items.
9
- */
10
- 'use strict';
11
-
12
- /**
13
- * Registry for context menu option items.
14
- * @class
15
- */
16
- goog.module('Blockly.ContextMenuRegistry');
17
-
18
- /* eslint-disable-next-line no-unused-vars */
19
- const {BlockSvg} = goog.requireType('Blockly.BlockSvg');
20
- /* eslint-disable-next-line no-unused-vars */
21
- const {WorkspaceSvg} = goog.requireType('Blockly.WorkspaceSvg');
22
-
23
-
24
- /**
25
- * Class for the registry of context menu items. This is intended to be a
26
- * singleton. You should not create a new instance, and only access this class
27
- * from ContextMenuRegistry.registry.
28
- * @alias Blockly.ContextMenuRegistry
29
- */
30
- class ContextMenuRegistry {
31
- /**
32
- * Resets the existing singleton instance of ContextMenuRegistry.
33
- */
34
- constructor() {
35
- this.reset();
36
- }
37
-
38
- /**
39
- * Clear and recreate the registry.
40
- */
41
- reset() {
42
- /**
43
- * Registry of all registered RegistryItems, keyed by ID.
44
- * @type {!Object<string, !ContextMenuRegistry.RegistryItem>}
45
- * @private
46
- */
47
- this.registry_ = Object.create(null);
48
- }
49
-
50
- /**
51
- * Registers a RegistryItem.
52
- * @param {!ContextMenuRegistry.RegistryItem} item Context menu item to
53
- * register.
54
- * @throws {Error} if an item with the given ID already exists.
55
- */
56
- register(item) {
57
- if (this.registry_[item.id]) {
58
- throw Error('Menu item with ID "' + item.id + '" is already registered.');
59
- }
60
- this.registry_[item.id] = item;
61
- }
62
-
63
- /**
64
- * Unregisters a RegistryItem with the given ID.
65
- * @param {string} id The ID of the RegistryItem to remove.
66
- * @throws {Error} if an item with the given ID does not exist.
67
- */
68
- unregister(id) {
69
- if (!this.registry_[id]) {
70
- throw new Error('Menu item with ID "' + id + '" not found.');
71
- }
72
- delete this.registry_[id];
73
- }
74
-
75
- /**
76
- * @param {string} id The ID of the RegistryItem to get.
77
- * @return {?ContextMenuRegistry.RegistryItem} RegistryItem or null if not
78
- * found
79
- */
80
- getItem(id) {
81
- return this.registry_[id] || null;
82
- }
83
-
84
- /**
85
- * Gets the valid context menu options for the given scope type (e.g. block or
86
- * workspace) and scope. Blocks are only shown if the preconditionFn shows
87
- * they should not be hidden.
88
- * @param {!ContextMenuRegistry.ScopeType} scopeType Type of scope where menu
89
- * should be shown (e.g. on a block or on a workspace)
90
- * @param {!ContextMenuRegistry.Scope} scope Current scope of context menu
91
- * (i.e., the exact workspace or block being clicked on)
92
- * @return {!Array<!ContextMenuRegistry.ContextMenuOption>} the list of
93
- * ContextMenuOptions
94
- */
95
- getContextMenuOptions(scopeType, scope) {
96
- const menuOptions = [];
97
- const registry = this.registry_;
98
- Object.keys(registry).forEach(function(id) {
99
- const item = registry[id];
100
- if (scopeType === item.scopeType) {
101
- const precondition = item.preconditionFn(scope);
102
- if (precondition !== 'hidden') {
103
- const displayText = typeof item.displayText === 'function' ?
104
- item.displayText(scope) :
105
- item.displayText;
106
- /** @type {!ContextMenuRegistry.ContextMenuOption} */
107
- const menuOption = {
108
- text: displayText,
109
- enabled: (precondition === 'enabled'),
110
- callback: item.callback,
111
- scope: scope,
112
- weight: item.weight,
113
- };
114
- menuOptions.push(menuOption);
115
- }
116
- }
117
- });
118
- menuOptions.sort(function(a, b) {
119
- return a.weight - b.weight;
120
- });
121
- return menuOptions;
122
- }
123
- }
124
-
125
- /**
126
- * Where this menu item should be rendered. If the menu item should be rendered
127
- * in multiple scopes, e.g. on both a block and a workspace, it should be
128
- * registered for each scope.
129
- * @enum {string}
130
- */
131
- ContextMenuRegistry.ScopeType = {
132
- BLOCK: 'block',
133
- WORKSPACE: 'workspace',
134
- };
135
-
136
- /**
137
- * The actual workspace/block where the menu is being rendered. This is passed
138
- * to callback and displayText functions that depend on this information.
139
- * @typedef {{
140
- * block: (BlockSvg|undefined),
141
- * workspace: (WorkspaceSvg|undefined)
142
- * }}
143
- */
144
- ContextMenuRegistry.Scope;
145
-
146
- /**
147
- * A menu item as entered in the registry.
148
- * @typedef {{
149
- * callback: function(!ContextMenuRegistry.Scope),
150
- * scopeType: !ContextMenuRegistry.ScopeType,
151
- * displayText: ((function(!ContextMenuRegistry.Scope):string)|string),
152
- * preconditionFn: function(!ContextMenuRegistry.Scope):string,
153
- * weight: number,
154
- * id: string
155
- * }}
156
- */
157
- ContextMenuRegistry.RegistryItem;
158
-
159
- /**
160
- * A menu item as presented to contextmenu.js.
161
- * @typedef {{
162
- * text: string,
163
- * enabled: boolean,
164
- * callback: function(!ContextMenuRegistry.Scope),
165
- * scope: !ContextMenuRegistry.Scope,
166
- * weight: number
167
- * }}
168
- */
169
- ContextMenuRegistry.ContextMenuOption;
170
-
171
- /**
172
- * Singleton instance of this class. All interactions with this class should be
173
- * done on this object.
174
- * @type {!ContextMenuRegistry}
175
- */
176
- ContextMenuRegistry.registry = new ContextMenuRegistry();
177
-
178
- exports.ContextMenuRegistry = ContextMenuRegistry;
@@ -1,87 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2021 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
-
7
- /**
8
- * @fileoverview The abstract class for a component that can delete a block or
9
- * bubble that is dropped on top of it.
10
- */
11
-
12
- 'use strict';
13
-
14
- /**
15
- * The abstract class for a component that can delete a block or
16
- * bubble that is dropped on top of it.
17
- * @class
18
- */
19
- goog.module('Blockly.DeleteArea');
20
-
21
- const {BlockSvg} = goog.require('Blockly.BlockSvg');
22
- const {DragTarget} = goog.require('Blockly.DragTarget');
23
- /* eslint-disable-next-line no-unused-vars */
24
- const {IDeleteArea} = goog.require('Blockly.IDeleteArea');
25
- /* eslint-disable-next-line no-unused-vars */
26
- const {IDraggable} = goog.requireType('Blockly.IDraggable');
27
-
28
-
29
- /**
30
- * Abstract class for a component that can delete a block or bubble that is
31
- * dropped on top of it.
32
- * @extends {DragTarget}
33
- * @implements {IDeleteArea}
34
- * @alias Blockly.DeleteArea
35
- */
36
- class DeleteArea extends DragTarget {
37
- /**
38
- * Constructor for DeleteArea. Should not be called directly, only by a
39
- * subclass.
40
- */
41
- constructor() {
42
- super();
43
-
44
- /**
45
- * Whether the last block or bubble dragged over this delete area would be
46
- * deleted if dropped on this component.
47
- * This property is not updated after the block or bubble is deleted.
48
- * @type {boolean}
49
- * @protected
50
- */
51
- this.wouldDelete_ = false;
52
- }
53
-
54
- /**
55
- * Returns whether the provided block or bubble would be deleted if dropped on
56
- * this area.
57
- * This method should check if the element is deletable and is always called
58
- * before onDragEnter/onDragOver/onDragExit.
59
- * @param {!IDraggable} element The block or bubble currently being
60
- * dragged.
61
- * @param {boolean} couldConnect Whether the element could could connect to
62
- * another.
63
- * @return {boolean} Whether the element provided would be deleted if dropped
64
- * on this area.
65
- */
66
- wouldDelete(element, couldConnect) {
67
- if (element instanceof BlockSvg) {
68
- const block = /** @type {BlockSvg} */ (element);
69
- const couldDeleteBlock = !block.getParent() && block.isDeletable();
70
- this.updateWouldDelete_(couldDeleteBlock && !couldConnect);
71
- } else {
72
- this.updateWouldDelete_(element.isDeletable());
73
- }
74
- return this.wouldDelete_;
75
- }
76
-
77
- /**
78
- * Updates the internal wouldDelete_ state.
79
- * @param {boolean} wouldDelete The new value for the wouldDelete state.
80
- * @protected
81
- */
82
- updateWouldDelete_(wouldDelete) {
83
- this.wouldDelete_ = wouldDelete;
84
- }
85
- }
86
-
87
- exports.DeleteArea = DeleteArea;
package/core/dialog.js DELETED
@@ -1,107 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2021 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
-
7
- /**
8
- * @fileoverview Wrapper functions around JS functions for showing
9
- * alert/confirmation dialogs.
10
- */
11
-
12
- 'use strict';
13
-
14
- /**
15
- * Wrapper functions around JS functions for showing alert/confirmation dialogs.
16
- * @namespace Blockly.dialog
17
- */
18
- goog.module('Blockly.dialog');
19
-
20
- let alertImplementation = function(message, opt_callback) {
21
- window.alert(message);
22
- if (opt_callback) {
23
- opt_callback();
24
- }
25
- };
26
-
27
- let confirmImplementation = function(message, callback) {
28
- callback(window.confirm(message));
29
- };
30
-
31
- let promptImplementation = function(message, defaultValue, callback) {
32
- callback(window.prompt(message, defaultValue));
33
- };
34
-
35
- /**
36
- * Wrapper to window.alert() that app developers may override via setAlert to
37
- * provide alternatives to the modal browser window.
38
- * @param {string} message The message to display to the user.
39
- * @param {function()=} opt_callback The callback when the alert is dismissed.
40
- * @alias Blockly.dialog.alert
41
- */
42
- const alert = function(message, opt_callback) {
43
- alertImplementation(message, opt_callback);
44
- };
45
- exports.alert = alert;
46
-
47
- /**
48
- * Sets the function to be run when Blockly.dialog.alert() is called.
49
- * @param {!function(string, function()=)} alertFunction The function to be run.
50
- * @see Blockly.dialog.alert
51
- * @alias Blockly.dialog.setAlert
52
- */
53
- const setAlert = function(alertFunction) {
54
- alertImplementation = alertFunction;
55
- };
56
- exports.setAlert = setAlert;
57
-
58
- /**
59
- * Wrapper to window.confirm() that app developers may override via setConfirm
60
- * to provide alternatives to the modal browser window.
61
- * @param {string} message The message to display to the user.
62
- * @param {!function(boolean)} callback The callback for handling user response.
63
- * @alias Blockly.dialog.confirm
64
- */
65
- const confirm = function(message, callback) {
66
- confirmImplementation(message, callback);
67
- };
68
- exports.confirm = confirm;
69
-
70
- /**
71
- * Sets the function to be run when Blockly.dialog.confirm() is called.
72
- * @param {!function(string, !function(boolean))} confirmFunction The function
73
- * to be run.
74
- * @see Blockly.dialog.confirm
75
- * @alias Blockly.dialog.setConfirm
76
- */
77
- const setConfirm = function(confirmFunction) {
78
- confirmImplementation = confirmFunction;
79
- };
80
- exports.setConfirm = setConfirm;
81
-
82
- /**
83
- * Wrapper to window.prompt() that app developers may override via setPrompt to
84
- * provide alternatives to the modal browser window. Built-in browser prompts
85
- * are often used for better text input experience on mobile device. We strongly
86
- * recommend testing mobile when overriding this.
87
- * @param {string} message The message to display to the user.
88
- * @param {string} defaultValue The value to initialize the prompt with.
89
- * @param {!function(?string)} callback The callback for handling user response.
90
- * @alias Blockly.dialog.prompt
91
- */
92
- const prompt = function(message, defaultValue, callback) {
93
- promptImplementation(message, defaultValue, callback);
94
- };
95
- exports.prompt = prompt;
96
-
97
- /**
98
- * Sets the function to be run when Blockly.dialog.prompt() is called.
99
- * @param {!function(string, string, !function(?string))} promptFunction The
100
- * function to be run.
101
- * @see Blockly.dialog.prompt
102
- * @alias Blockly.dialog.setPrompt
103
- */
104
- const setPrompt = function(promptFunction) {
105
- promptImplementation = promptFunction;
106
- };
107
- exports.setPrompt = setPrompt;
@@ -1,98 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2021 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
-
7
- /**
8
- * @fileoverview The abstract class for a component with custom behaviour when a
9
- * block or bubble is dragged over or dropped on top of it.
10
- */
11
-
12
- 'use strict';
13
-
14
- /**
15
- * The abstract class for a component with custom behaviour when a
16
- * block or bubble is dragged over or dropped on top of it.
17
- * @class
18
- */
19
- goog.module('Blockly.DragTarget');
20
-
21
- /* eslint-disable-next-line no-unused-vars */
22
- const {IDragTarget} = goog.require('Blockly.IDragTarget');
23
- /* eslint-disable-next-line no-unused-vars */
24
- const {IDraggable} = goog.requireType('Blockly.IDraggable');
25
- /* eslint-disable-next-line no-unused-vars */
26
- const {Rect} = goog.requireType('Blockly.utils.Rect');
27
-
28
-
29
- /**
30
- * Abstract class for a component with custom behaviour when a block or bubble
31
- * is dragged over or dropped on top of it.
32
- * @implements {IDragTarget}
33
- * @alias Blockly.DragTarget
34
- */
35
- class DragTarget {
36
- /**
37
- * Handles when a cursor with a block or bubble enters this drag target.
38
- * @param {!IDraggable} _dragElement The block or bubble currently being
39
- * dragged.
40
- */
41
- onDragEnter(_dragElement) {
42
- // no-op
43
- }
44
-
45
- /**
46
- * Handles when a cursor with a block or bubble is dragged over this drag
47
- * target.
48
- * @param {!IDraggable} _dragElement The block or bubble currently being
49
- * dragged.
50
- */
51
- onDragOver(_dragElement) {
52
- // no-op
53
- }
54
-
55
- /**
56
- * Handles when a cursor with a block or bubble exits this drag target.
57
- * @param {!IDraggable} _dragElement The block or bubble currently being
58
- * dragged.
59
- */
60
- onDragExit(_dragElement) {
61
- // no-op
62
- }
63
-
64
- /**
65
- * Handles when a block or bubble is dropped on this component.
66
- * Should not handle delete here.
67
- * @param {!IDraggable} _dragElement The block or bubble currently being
68
- * dragged.
69
- */
70
- onDrop(_dragElement) {
71
- // no-op
72
- }
73
-
74
- /**
75
- * Returns the bounding rectangle of the drag target area in pixel units
76
- * relative to the Blockly injection div.
77
- * @return {?Rect} The component's bounding box. Null if drag
78
- * target area should be ignored.
79
- */
80
- getClientRect() {
81
- return null;
82
- }
83
-
84
- /**
85
- * Returns whether the provided block or bubble should not be moved after
86
- * being dropped on this component. If true, the element will return to where
87
- * it was when the drag started.
88
- * @param {!IDraggable} _dragElement The block or bubble currently being
89
- * dragged.
90
- * @return {boolean} Whether the block or bubble provided should be returned
91
- * to drag start.
92
- */
93
- shouldPreventMove(_dragElement) {
94
- return false;
95
- }
96
- }
97
-
98
- exports.DragTarget = DragTarget;
@@ -1,147 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2016 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
-
7
- /**
8
- * @fileoverview Events fired as a result of actions in Blockly's editor.
9
- */
10
- 'use strict';
11
-
12
- /**
13
- * Events fired as a result of actions in Blockly's editor.
14
- * @namespace Blockly.Events
15
- */
16
- goog.module('Blockly.Events');
17
-
18
- const deprecation = goog.require('Blockly.utils.deprecation');
19
- const eventUtils = goog.require('Blockly.Events.utils');
20
- const {Abstract: AbstractEvent} = goog.require('Blockly.Events.Abstract');
21
- const {BlockBase} = goog.require('Blockly.Events.BlockBase');
22
- const {BlockChange} = goog.require('Blockly.Events.BlockChange');
23
- const {BlockCreate} = goog.require('Blockly.Events.BlockCreate');
24
- const {BlockDelete} = goog.require('Blockly.Events.BlockDelete');
25
- const {BlockDrag} = goog.require('Blockly.Events.BlockDrag');
26
- const {BlockMove} = goog.require('Blockly.Events.BlockMove');
27
- const {BubbleOpen} = goog.require('Blockly.Events.BubbleOpen');
28
- const {Click} = goog.require('Blockly.Events.Click');
29
- const {CommentBase} = goog.require('Blockly.Events.CommentBase');
30
- const {CommentChange} = goog.require('Blockly.Events.CommentChange');
31
- const {CommentCreate} = goog.require('Blockly.Events.CommentCreate');
32
- const {CommentDelete} = goog.require('Blockly.Events.CommentDelete');
33
- const {CommentMove} = goog.require('Blockly.Events.CommentMove');
34
- const {FinishedLoading} = goog.require('Blockly.Events.FinishedLoading');
35
- const {MarkerMove} = goog.require('Blockly.Events.MarkerMove');
36
- const {Selected} = goog.require('Blockly.Events.Selected');
37
- const {ThemeChange} = goog.require('Blockly.Events.ThemeChange');
38
- const {ToolboxItemSelect} = goog.require('Blockly.Events.ToolboxItemSelect');
39
- const {TrashcanOpen} = goog.require('Blockly.Events.TrashcanOpen');
40
- const {UiBase} = goog.require('Blockly.Events.UiBase');
41
- const {Ui} = goog.require('Blockly.Events.Ui');
42
- const {VarBase} = goog.require('Blockly.Events.VarBase');
43
- const {VarCreate} = goog.require('Blockly.Events.VarCreate');
44
- const {VarDelete} = goog.require('Blockly.Events.VarDelete');
45
- const {VarRename} = goog.require('Blockly.Events.VarRename');
46
- const {ViewportChange} = goog.require('Blockly.Events.ViewportChange');
47
-
48
-
49
- // Events.
50
- exports.Abstract = AbstractEvent;
51
- exports.BubbleOpen = BubbleOpen;
52
- exports.BlockBase = BlockBase;
53
- exports.BlockChange = BlockChange;
54
- exports.BlockCreate = BlockCreate;
55
- exports.BlockDelete = BlockDelete;
56
- exports.BlockDrag = BlockDrag;
57
- exports.BlockMove = BlockMove;
58
- exports.Click = Click;
59
- exports.CommentBase = CommentBase;
60
- exports.CommentChange = CommentChange;
61
- exports.CommentCreate = CommentCreate;
62
- exports.CommentDelete = CommentDelete;
63
- exports.CommentMove = CommentMove;
64
- exports.FinishedLoading = FinishedLoading;
65
- exports.MarkerMove = MarkerMove;
66
- exports.Selected = Selected;
67
- exports.ThemeChange = ThemeChange;
68
- exports.ToolboxItemSelect = ToolboxItemSelect;
69
- exports.TrashcanOpen = TrashcanOpen;
70
- exports.Ui = Ui;
71
- exports.UiBase = UiBase;
72
- exports.VarBase = VarBase;
73
- exports.VarCreate = VarCreate;
74
- exports.VarDelete = VarDelete;
75
- exports.VarRename = VarRename;
76
- exports.ViewportChange = ViewportChange;
77
-
78
- // Event types.
79
- exports.BLOCK_CHANGE = eventUtils.BLOCK_CHANGE;
80
- exports.BLOCK_CREATE = eventUtils.BLOCK_CREATE;
81
- exports.BLOCK_DELETE = eventUtils.BLOCK_DELETE;
82
- exports.BLOCK_DRAG = eventUtils.BLOCK_DRAG;
83
- exports.BLOCK_MOVE = eventUtils.BLOCK_MOVE;
84
- exports.BUBBLE_OPEN = eventUtils.BUBBLE_OPEN;
85
- exports.BumpEvent = eventUtils.BumpEvent;
86
- exports.BUMP_EVENTS = eventUtils.BUMP_EVENTS;
87
- exports.CHANGE = eventUtils.CHANGE;
88
- exports.CLICK = eventUtils.CLICK;
89
- exports.COMMENT_CHANGE = eventUtils.COMMENT_CHANGE;
90
- exports.COMMENT_CREATE = eventUtils.COMMENT_CREATE;
91
- exports.COMMENT_DELETE = eventUtils.COMMENT_DELETE;
92
- exports.COMMENT_MOVE = eventUtils.COMMENT_MOVE;
93
- exports.CREATE = eventUtils.CREATE;
94
- exports.DELETE = eventUtils.DELETE;
95
- exports.FINISHED_LOADING = eventUtils.FINISHED_LOADING;
96
- exports.MARKER_MOVE = eventUtils.MARKER_MOVE;
97
- exports.MOVE = eventUtils.MOVE;
98
- exports.SELECTED = eventUtils.SELECTED;
99
- exports.THEME_CHANGE = eventUtils.THEME_CHANGE;
100
- exports.TOOLBOX_ITEM_SELECT = eventUtils.TOOLBOX_ITEM_SELECT;
101
- exports.TRASHCAN_OPEN = eventUtils.TRASHCAN_OPEN;
102
- exports.UI = eventUtils.UI;
103
- exports.VAR_CREATE = eventUtils.VAR_CREATE;
104
- exports.VAR_DELETE = eventUtils.VAR_DELETE;
105
- exports.VAR_RENAME = eventUtils.VAR_RENAME;
106
- exports.VIEWPORT_CHANGE = eventUtils.VIEWPORT_CHANGE;
107
-
108
- // Event utils.
109
- exports.clearPendingUndo = eventUtils.clearPendingUndo;
110
- exports.disable = eventUtils.disable;
111
- exports.enable = eventUtils.enable;
112
- exports.filter = eventUtils.filter;
113
- exports.fire = eventUtils.fire;
114
- exports.fromJson = eventUtils.fromJson;
115
- exports.getDescendantIds = eventUtils.getDescendantIds;
116
- exports.get = eventUtils.get;
117
- exports.getGroup = eventUtils.getGroup;
118
- exports.getRecordUndo = eventUtils.getRecordUndo;
119
- exports.isEnabled = eventUtils.isEnabled;
120
- exports.setGroup = eventUtils.setGroup;
121
- exports.setRecordUndo = eventUtils.setRecordUndo;
122
- exports.disableOrphans = eventUtils.disableOrphans;
123
-
124
- Object.defineProperties(exports, {
125
- /**
126
- * Sets whether the next event should be added to the undo stack.
127
- * @name Blockly.Evenents.recordUndo
128
- * @type {boolean}
129
- * @deprecated Use Blockly.Events.getRecordUndo() and
130
- * .setRecordUndo(). (September 2021)
131
- * @suppress {checkTypes}
132
- */
133
- recordUndo: {
134
- get: function() {
135
- deprecation.warn(
136
- 'Blockly.Events.recordUndo', 'September 2021', 'September 2022',
137
- 'Blockly.Events.getRecordUndo()');
138
- return eventUtils.getRecordUndo();
139
- },
140
- set: function(record) {
141
- deprecation.warn(
142
- 'Blockly.Events.recordUndo', 'September 2021', 'September 2022',
143
- 'Blockly.Events.setRecordUndo()');
144
- eventUtils.setRecordUndo(record);
145
- },
146
- },
147
- });