blockly 8.0.4-beta.0 → 8.0.5-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (858) hide show
  1. package/blockly.min.js +2421 -2688
  2. package/blockly_compressed.js +1499 -1994
  3. package/blockly_compressed.js.map +1 -1
  4. package/blocks/blocks.js +3 -2
  5. package/blocks/colour.js +3 -1
  6. package/blocks/lists.js +94 -22
  7. package/blocks/logic.js +14 -6
  8. package/blocks/loops.js +5 -3
  9. package/blocks/math.js +3 -1
  10. package/blocks/procedures.js +3 -1
  11. package/blocks/text.js +14 -6
  12. package/blocks/variables.js +3 -1
  13. package/blocks/variables_dynamic.js +3 -1
  14. package/blocks.d.ts +0 -2
  15. package/blocks_compressed.js +189 -171
  16. package/blocks_compressed.js.map +1 -1
  17. package/closure/goog/base.d.ts +1 -0
  18. package/closure/goog/base_minimal.d.ts +18 -0
  19. package/closure/goog/goog.d.ts +25 -0
  20. package/core/any_aliases.d.ts +1 -0
  21. package/core/any_aliases.ts +1 -0
  22. package/core/block.d.ts +779 -0
  23. package/core/{block.js → block.ts} +610 -719
  24. package/core/block_animations.d.ts +33 -0
  25. package/core/{block_animations.js → block_animations.ts} +75 -79
  26. package/core/block_drag_surface.d.ts +111 -0
  27. package/core/{block_drag_surface.js → block_drag_surface.ts} +85 -117
  28. package/core/block_dragger.d.ts +143 -0
  29. package/core/{block_dragger.js → block_dragger.ts} +139 -176
  30. package/core/block_svg.d.ts +588 -0
  31. package/core/{block_svg.js → block_svg.ts} +494 -630
  32. package/core/blockly.d.ts +562 -0
  33. package/core/blockly.js +1 -1
  34. package/core/blockly.ts +749 -0
  35. package/core/blockly_options.d.ts +69 -0
  36. package/core/blockly_options.ts +81 -0
  37. package/core/blocks.d.ts +17 -0
  38. package/core/{blocks.js → blocks.ts} +4 -8
  39. package/core/browser_events.d.ts +85 -0
  40. package/core/{browser_events.js → browser_events.ts} +98 -93
  41. package/core/bubble.d.ts +279 -0
  42. package/core/{bubble.js → bubble.ts} +277 -370
  43. package/core/bubble_dragger.d.ts +73 -0
  44. package/core/bubble_dragger.ts +229 -0
  45. package/core/bump_objects.d.ts +34 -0
  46. package/core/{bump_objects.js → bump_objects.ts} +54 -52
  47. package/core/clipboard.d.ts +42 -0
  48. package/core/clipboard.ts +91 -0
  49. package/core/comment.d.ts +113 -0
  50. package/core/{comment.js → comment.ts} +135 -185
  51. package/core/common.d.ts +129 -0
  52. package/core/{common.js → common.ts} +105 -82
  53. package/core/component_manager.d.ts +91 -0
  54. package/core/component_manager.ts +211 -0
  55. package/core/config.d.ts +23 -0
  56. package/core/{config.js → config.ts} +12 -19
  57. package/core/connection.d.ts +232 -0
  58. package/core/{connection.js → connection.ts} +187 -237
  59. package/core/connection_checker.d.ts +78 -0
  60. package/core/{connection_checker.js → connection_checker.ts} +66 -77
  61. package/core/connection_db.d.ts +91 -0
  62. package/core/{connection_db.js → connection_db.ts} +62 -87
  63. package/core/connection_type.d.ts +15 -0
  64. package/core/{connection_type.js → connection_type.ts} +8 -12
  65. package/core/constants.d.ts +15 -0
  66. package/core/{constants.js → constants.ts} +4 -8
  67. package/core/contextmenu.d.ts +80 -0
  68. package/core/{contextmenu.js → contextmenu.ts} +118 -153
  69. package/core/contextmenu_items.d.ts +77 -0
  70. package/core/contextmenu_items.ts +576 -0
  71. package/core/contextmenu_registry.d.ts +105 -0
  72. package/core/contextmenu_registry.ts +179 -0
  73. package/core/css.d.ts +24 -0
  74. package/core/{css.js → css.ts} +16 -24
  75. package/core/delete_area.d.ts +47 -0
  76. package/core/delete_area.ts +82 -0
  77. package/core/dialog.d.ts +61 -0
  78. package/core/dialog.ts +127 -0
  79. package/core/drag_target.d.ts +63 -0
  80. package/core/drag_target.ts +94 -0
  81. package/core/dropdowndiv.d.ts +155 -0
  82. package/core/{dropdowndiv.js → dropdowndiv.ts} +262 -333
  83. package/core/events/events.d.ts +102 -0
  84. package/core/events/events.ts +123 -0
  85. package/core/events/events_abstract.d.ts +51 -0
  86. package/core/events/events_abstract.ts +112 -0
  87. package/core/events/events_block_base.d.ts +31 -0
  88. package/core/events/events_block_base.ts +65 -0
  89. package/core/events/events_block_change.d.ts +55 -0
  90. package/core/events/{events_block_change.js → events_block_change.ts} +45 -48
  91. package/core/events/events_block_create.d.ts +35 -0
  92. package/core/events/{events_block_create.js → events_block_create.ts} +30 -35
  93. package/core/events/events_block_delete.d.ts +36 -0
  94. package/core/events/{events_block_delete.js → events_block_delete.ts} +34 -39
  95. package/core/events/events_block_drag.d.ts +36 -0
  96. package/core/events/events_block_drag.ts +82 -0
  97. package/core/events/events_block_move.d.ts +51 -0
  98. package/core/events/{events_block_move.js → events_block_move.ts} +54 -50
  99. package/core/events/events_bubble_open.d.ts +35 -0
  100. package/core/events/events_bubble_open.ts +82 -0
  101. package/core/events/events_click.d.ts +36 -0
  102. package/core/events/{events_click.js → events_click.ts} +27 -30
  103. package/core/events/events_comment_base.d.ts +39 -0
  104. package/core/events/events_comment_base.ts +107 -0
  105. package/core/events/events_comment_change.d.ts +43 -0
  106. package/core/events/{events_comment_change.js → events_comment_change.ts} +31 -28
  107. package/core/events/events_comment_create.d.ts +35 -0
  108. package/core/events/{events_comment_create.js → events_comment_create.ts} +24 -26
  109. package/core/events/events_comment_delete.d.ts +35 -0
  110. package/core/events/{events_comment_delete.js → events_comment_delete.ts} +20 -24
  111. package/core/events/events_comment_move.d.ts +55 -0
  112. package/core/events/{events_comment_move.js → events_comment_move.ts} +39 -42
  113. package/core/events/events_marker_move.d.ts +40 -0
  114. package/core/events/events_marker_move.ts +99 -0
  115. package/core/events/events_selected.d.ts +34 -0
  116. package/core/events/events_selected.ts +78 -0
  117. package/core/events/events_theme_change.d.ts +30 -0
  118. package/core/events/{events_theme_change.js → events_theme_change.ts} +19 -24
  119. package/core/events/events_toolbox_item_select.d.ts +34 -0
  120. package/core/events/events_toolbox_item_select.ts +79 -0
  121. package/core/events/events_trashcan_open.d.ts +31 -0
  122. package/core/events/events_trashcan_open.ts +68 -0
  123. package/core/events/events_ui.d.ts +37 -0
  124. package/core/events/{events_ui.js → events_ui.ts} +27 -26
  125. package/core/events/events_ui_base.d.ts +26 -0
  126. package/core/events/{events_ui_base.js → events_ui_base.ts} +17 -26
  127. package/core/events/events_var_base.d.ts +31 -0
  128. package/core/events/events_var_base.ts +65 -0
  129. package/core/events/events_var_create.d.ts +35 -0
  130. package/core/events/{events_var_create.js → events_var_create.ts} +24 -25
  131. package/core/events/events_var_delete.d.ts +35 -0
  132. package/core/events/{events_var_delete.js → events_var_delete.ts} +24 -25
  133. package/core/events/events_var_rename.d.ts +36 -0
  134. package/core/events/{events_var_rename.js → events_var_rename.ts} +25 -26
  135. package/core/events/events_viewport.d.ts +39 -0
  136. package/core/events/events_viewport.ts +100 -0
  137. package/core/events/utils.d.ts +272 -0
  138. package/core/events/{utils.js → utils.ts} +148 -219
  139. package/core/events/workspace_events.d.ts +36 -0
  140. package/core/events/workspace_events.ts +86 -0
  141. package/core/extensions.d.ts +107 -0
  142. package/core/{extensions.js → extensions.ts} +153 -172
  143. package/core/field.d.ts +534 -0
  144. package/core/{field.js → field.ts} +413 -489
  145. package/core/field_angle.d.ts +176 -0
  146. package/core/field_angle.ts +563 -0
  147. package/core/field_checkbox.d.ts +124 -0
  148. package/core/field_checkbox.ts +243 -0
  149. package/core/field_colour.d.ts +200 -0
  150. package/core/field_colour.ts +632 -0
  151. package/core/field_dropdown.d.ts +222 -0
  152. package/core/{field_dropdown.js → field_dropdown.ts} +277 -299
  153. package/core/field_image.d.ts +134 -0
  154. package/core/field_image.ts +282 -0
  155. package/core/field_label.d.ts +71 -0
  156. package/core/field_label.ts +152 -0
  157. package/core/field_label_serializable.d.ts +42 -0
  158. package/core/field_label_serializable.ts +76 -0
  159. package/core/field_multilineinput.d.ts +146 -0
  160. package/core/{field_multilineinput.js → field_multilineinput.ts} +166 -163
  161. package/core/field_number.d.ts +156 -0
  162. package/core/{field_number.js → field_number.ts} +110 -123
  163. package/core/field_registry.d.ts +45 -0
  164. package/core/{field_registry.js → field_registry.ts} +37 -30
  165. package/core/field_textinput.d.ts +219 -0
  166. package/core/field_textinput.ts +591 -0
  167. package/core/field_variable.d.ts +217 -0
  168. package/core/{field_variable.js → field_variable.ts} +174 -187
  169. package/core/flyout_base.d.ts +459 -0
  170. package/core/{flyout_base.js → flyout_base.ts} +429 -518
  171. package/core/flyout_button.d.ts +81 -0
  172. package/core/flyout_button.ts +292 -0
  173. package/core/flyout_horizontal.d.ts +82 -0
  174. package/core/{flyout_horizontal.js → flyout_horizontal.ts} +97 -107
  175. package/core/flyout_metrics_manager.d.ts +40 -0
  176. package/core/{flyout_metrics_manager.js → flyout_metrics_manager.ts} +22 -34
  177. package/core/flyout_vertical.d.ts +83 -0
  178. package/core/{flyout_vertical.js → flyout_vertical.ts} +106 -117
  179. package/core/generator.d.ts +205 -0
  180. package/core/{generator.js → generator.ts} +168 -193
  181. package/core/gesture.d.ts +357 -0
  182. package/core/{gesture.js → gesture.ts} +289 -369
  183. package/core/grid.d.ts +83 -0
  184. package/core/grid.ts +192 -0
  185. package/core/icon.d.ts +78 -0
  186. package/core/icon.ts +189 -0
  187. package/core/inject.d.ts +15 -0
  188. package/core/{inject.js → inject.ts} +101 -100
  189. package/core/input.d.ts +128 -0
  190. package/core/input.ts +309 -0
  191. package/core/input_types.d.ts +14 -0
  192. package/core/{input_types.js → input_types.ts} +8 -12
  193. package/core/insertion_marker_manager.d.ts +212 -0
  194. package/core/{insertion_marker_manager.js → insertion_marker_manager.ts} +234 -236
  195. package/core/interfaces/i_ast_node_location.d.ts +11 -0
  196. package/core/interfaces/{i_ast_node_location.js → i_ast_node_location.ts} +4 -7
  197. package/core/interfaces/i_ast_node_location_svg.d.ts +22 -0
  198. package/core/interfaces/i_ast_node_location_svg.ts +37 -0
  199. package/core/interfaces/i_ast_node_location_with_block.d.ts +18 -0
  200. package/core/interfaces/i_ast_node_location_with_block.ts +38 -0
  201. package/core/interfaces/i_autohideable.d.ts +18 -0
  202. package/core/interfaces/i_autohideable.ts +34 -0
  203. package/core/interfaces/i_block_dragger.d.ts +43 -0
  204. package/core/interfaces/i_block_dragger.ts +67 -0
  205. package/core/interfaces/i_bounded_element.d.ts +24 -0
  206. package/core/interfaces/i_bounded_element.ts +42 -0
  207. package/core/interfaces/i_bubble.d.ts +59 -0
  208. package/core/interfaces/i_bubble.ts +88 -0
  209. package/core/interfaces/i_collapsible_toolbox_item.d.ts +26 -0
  210. package/core/interfaces/i_collapsible_toolbox_item.ts +47 -0
  211. package/core/interfaces/i_component.d.ts +17 -0
  212. package/core/interfaces/{i_component.js → i_component.ts} +9 -14
  213. package/core/interfaces/i_connection_checker.d.ts +69 -0
  214. package/core/interfaces/i_connection_checker.ts +102 -0
  215. package/core/interfaces/i_contextmenu.d.ts +13 -0
  216. package/core/interfaces/i_contextmenu.ts +26 -0
  217. package/core/interfaces/i_copyable.d.ts +24 -0
  218. package/core/interfaces/i_copyable.ts +40 -0
  219. package/core/interfaces/i_deletable.d.ts +16 -0
  220. package/core/interfaces/{i_deletable.js → i_deletable.ts} +9 -13
  221. package/core/interfaces/i_delete_area.d.ts +25 -0
  222. package/core/interfaces/i_delete_area.ts +46 -0
  223. package/core/interfaces/i_drag_target.d.ts +53 -0
  224. package/core/interfaces/i_drag_target.ts +84 -0
  225. package/core/interfaces/i_draggable.d.ts +12 -0
  226. package/core/interfaces/{i_draggable.js → i_draggable.ts} +4 -10
  227. package/core/interfaces/i_flyout.d.ts +134 -0
  228. package/core/interfaces/i_flyout.ts +186 -0
  229. package/core/interfaces/i_keyboard_accessible.d.ts +18 -0
  230. package/core/interfaces/i_keyboard_accessible.ts +35 -0
  231. package/core/interfaces/i_metrics_manager.d.ts +117 -0
  232. package/core/interfaces/i_metrics_manager.ts +151 -0
  233. package/core/interfaces/i_movable.d.ts +16 -0
  234. package/core/interfaces/{i_movable.js → i_movable.ts} +9 -13
  235. package/core/interfaces/i_positionable.d.ts +27 -0
  236. package/core/interfaces/i_positionable.ts +50 -0
  237. package/core/interfaces/i_registrable.d.ts +11 -0
  238. package/core/interfaces/{i_registrable.js → i_registrable.ts} +3 -7
  239. package/core/interfaces/i_registrable_field.d.ts +17 -0
  240. package/core/interfaces/{i_registrable_field.js → i_registrable_field.ts} +8 -16
  241. package/core/interfaces/i_selectable.d.ts +18 -0
  242. package/core/interfaces/i_selectable.ts +34 -0
  243. package/core/interfaces/i_selectable_toolbox_item.d.ts +42 -0
  244. package/core/interfaces/i_selectable_toolbox_item.ts +64 -0
  245. package/core/interfaces/i_serializer.d.ts +42 -0
  246. package/core/interfaces/i_serializer.ts +65 -0
  247. package/core/interfaces/i_styleable.d.ts +21 -0
  248. package/core/interfaces/i_styleable.ts +35 -0
  249. package/core/interfaces/i_toolbox.d.ts +85 -0
  250. package/core/interfaces/i_toolbox.ts +127 -0
  251. package/core/interfaces/i_toolbox_item.d.ts +62 -0
  252. package/core/interfaces/i_toolbox_item.ts +84 -0
  253. package/core/internal_constants.d.ts +40 -0
  254. package/core/{internal_constants.js → internal_constants.ts} +13 -18
  255. package/core/keyboard_nav/ast_node.d.ts +239 -0
  256. package/core/keyboard_nav/{ast_node.js → ast_node.ts} +207 -231
  257. package/core/keyboard_nav/basic_cursor.d.ts +88 -0
  258. package/core/keyboard_nav/{basic_cursor.js → basic_cursor.ts} +55 -66
  259. package/core/keyboard_nav/cursor.d.ts +41 -0
  260. package/core/keyboard_nav/{cursor.js → cursor.ts} +25 -35
  261. package/core/keyboard_nav/marker.d.ts +58 -0
  262. package/core/keyboard_nav/{marker.js → marker.ts} +36 -55
  263. package/core/keyboard_nav/tab_navigate_cursor.d.ts +19 -0
  264. package/core/keyboard_nav/{tab_navigate_cursor.js → tab_navigate_cursor.ts} +11 -15
  265. package/core/main.d.ts +11 -0
  266. package/core/main.js +303 -0
  267. package/core/marker_manager.d.ts +85 -0
  268. package/core/marker_manager.ts +181 -0
  269. package/core/menu.d.ts +149 -0
  270. package/core/{menu.js → menu.ts} +141 -174
  271. package/core/menuitem.d.ts +118 -0
  272. package/core/menuitem.ts +240 -0
  273. package/core/metrics_manager.d.ts +201 -0
  274. package/core/{metrics_manager.js → metrics_manager.ts} +117 -156
  275. package/core/msg.d.ts +9 -0
  276. package/core/{msg.js → msg.ts} +4 -8
  277. package/core/mutator.d.ts +128 -0
  278. package/core/{mutator.js → mutator.ts} +196 -211
  279. package/core/names.d.ts +124 -0
  280. package/core/names.ts +267 -0
  281. package/core/options.d.ts +137 -0
  282. package/core/{options.js → options.ts} +147 -173
  283. package/core/positionable_helpers.d.ts +88 -0
  284. package/core/{positionable_helpers.js → positionable_helpers.ts} +63 -70
  285. package/core/procedures.d.ts +108 -0
  286. package/core/{procedures.js → procedures.ts} +143 -152
  287. package/core/registry.d.ts +137 -0
  288. package/core/registry.ts +339 -0
  289. package/core/rendered_connection.d.ts +191 -0
  290. package/core/{rendered_connection.js → rendered_connection.ts} +164 -184
  291. package/core/renderers/common/block_rendering.d.ts +114 -0
  292. package/core/renderers/common/block_rendering.ts +164 -0
  293. package/core/renderers/common/constants.d.ts +458 -0
  294. package/core/renderers/common/constants.ts +1124 -0
  295. package/core/renderers/common/debug.d.ts +28 -0
  296. package/core/renderers/common/{debug.js → debug.ts} +14 -20
  297. package/core/renderers/common/debugger.d.ts +120 -0
  298. package/core/renderers/common/{debugger.js → debugger.ts} +100 -124
  299. package/core/renderers/common/drawer.d.ts +132 -0
  300. package/core/renderers/common/{drawer.js → drawer.ts} +112 -137
  301. package/core/renderers/common/i_path_object.d.ts +117 -0
  302. package/core/renderers/common/i_path_object.ts +161 -0
  303. package/core/renderers/common/info.d.ts +194 -0
  304. package/core/renderers/common/{info.js → info.ts} +165 -222
  305. package/core/renderers/common/marker_svg.d.ts +220 -0
  306. package/core/renderers/common/marker_svg.ts +680 -0
  307. package/core/renderers/common/path_object.d.ts +146 -0
  308. package/core/renderers/common/path_object.ts +272 -0
  309. package/core/renderers/common/renderer.d.ts +157 -0
  310. package/core/renderers/common/renderer.ts +271 -0
  311. package/core/renderers/geras/constants.d.ts +23 -0
  312. package/core/renderers/geras/constants.ts +61 -0
  313. package/core/renderers/geras/drawer.d.ts +43 -0
  314. package/core/renderers/geras/{drawer.js → drawer.ts} +40 -84
  315. package/core/renderers/geras/geras.d.ts +11 -0
  316. package/core/renderers/geras/geras.ts +37 -0
  317. package/core/renderers/geras/highlight_constants.d.ts +108 -0
  318. package/core/renderers/geras/{highlight_constants.js → highlight_constants.ts} +107 -69
  319. package/core/renderers/geras/highlighter.d.ts +98 -0
  320. package/core/renderers/geras/{highlighter.js → highlighter.ts} +81 -86
  321. package/core/renderers/geras/info.d.ts +45 -0
  322. package/core/renderers/geras/{info.js → info.ts} +61 -99
  323. package/core/renderers/geras/measurables/inline_input.d.ts +23 -0
  324. package/core/renderers/geras/measurables/inline_input.ts +51 -0
  325. package/core/renderers/geras/measurables/statement_input.d.ts +23 -0
  326. package/core/renderers/geras/measurables/statement_input.ts +50 -0
  327. package/core/renderers/geras/path_object.d.ts +47 -0
  328. package/core/renderers/geras/{path_object.js → path_object.ts} +46 -74
  329. package/core/renderers/geras/renderer.d.ts +69 -0
  330. package/core/renderers/geras/renderer.ts +126 -0
  331. package/core/renderers/measurables/base.d.ts +27 -0
  332. package/core/renderers/measurables/base.ts +53 -0
  333. package/core/renderers/measurables/bottom_row.d.ts +61 -0
  334. package/core/renderers/measurables/bottom_row.ts +120 -0
  335. package/core/renderers/measurables/connection.d.ts +25 -0
  336. package/core/renderers/measurables/connection.ts +52 -0
  337. package/core/renderers/measurables/external_value_input.d.ts +27 -0
  338. package/core/renderers/measurables/external_value_input.ts +65 -0
  339. package/core/renderers/measurables/field.d.ts +30 -0
  340. package/core/renderers/measurables/field.ts +63 -0
  341. package/core/renderers/measurables/hat.d.ts +21 -0
  342. package/core/renderers/measurables/{hat.js → hat.ts} +12 -14
  343. package/core/renderers/measurables/icon.d.ts +26 -0
  344. package/core/renderers/measurables/{icon.js → icon.ts} +14 -18
  345. package/core/renderers/measurables/in_row_spacer.d.ts +21 -0
  346. package/core/renderers/measurables/in_row_spacer.ts +44 -0
  347. package/core/renderers/measurables/inline_input.d.ts +24 -0
  348. package/core/renderers/measurables/{inline_input.js → inline_input.ts} +22 -26
  349. package/core/renderers/measurables/input_connection.d.ts +29 -0
  350. package/core/renderers/measurables/input_connection.ts +66 -0
  351. package/core/renderers/measurables/input_row.d.ts +30 -0
  352. package/core/renderers/measurables/{input_row.js → input_row.ts} +24 -31
  353. package/core/renderers/measurables/jagged_edge.d.ts +20 -0
  354. package/core/renderers/measurables/{jagged_edge.js → jagged_edge.ts} +10 -13
  355. package/core/renderers/measurables/next_connection.d.ts +23 -0
  356. package/core/renderers/measurables/next_connection.ts +47 -0
  357. package/core/renderers/measurables/output_connection.d.ts +26 -0
  358. package/core/renderers/measurables/output_connection.ts +56 -0
  359. package/core/renderers/measurables/previous_connection.d.ts +23 -0
  360. package/core/renderers/measurables/previous_connection.ts +47 -0
  361. package/core/renderers/measurables/round_corner.d.ts +21 -0
  362. package/core/renderers/measurables/round_corner.ts +49 -0
  363. package/core/renderers/measurables/row.d.ts +141 -0
  364. package/core/renderers/measurables/row.ts +225 -0
  365. package/core/renderers/measurables/spacer_row.d.ts +29 -0
  366. package/core/renderers/measurables/spacer_row.ts +55 -0
  367. package/core/renderers/measurables/square_corner.d.ts +21 -0
  368. package/core/renderers/measurables/square_corner.ts +47 -0
  369. package/core/renderers/measurables/statement_input.d.ts +22 -0
  370. package/core/renderers/measurables/{statement_input.js → statement_input.ts} +14 -18
  371. package/core/renderers/measurables/top_row.d.ts +56 -0
  372. package/core/renderers/measurables/top_row.ts +122 -0
  373. package/core/renderers/measurables/types.d.ts +235 -0
  374. package/core/renderers/measurables/types.ts +332 -0
  375. package/core/renderers/minimalist/constants.d.ts +14 -0
  376. package/core/renderers/minimalist/{constants.js → constants.ts} +5 -10
  377. package/core/renderers/minimalist/drawer.d.ts +21 -0
  378. package/core/renderers/minimalist/drawer.ts +38 -0
  379. package/core/renderers/minimalist/info.d.ts +30 -0
  380. package/core/renderers/minimalist/info.ts +52 -0
  381. package/core/renderers/minimalist/minimalist.d.ts +6 -0
  382. package/core/renderers/minimalist/minimalist.ts +22 -0
  383. package/core/renderers/minimalist/renderer.d.ts +41 -0
  384. package/core/renderers/minimalist/renderer.ts +71 -0
  385. package/core/renderers/thrasos/info.d.ts +40 -0
  386. package/core/renderers/thrasos/{info.js → info.ts} +66 -67
  387. package/core/renderers/thrasos/renderer.d.ts +25 -0
  388. package/core/renderers/thrasos/renderer.ts +48 -0
  389. package/core/renderers/thrasos/thrasos.d.ts +4 -0
  390. package/core/renderers/thrasos/thrasos.ts +20 -0
  391. package/core/renderers/zelos/constants.d.ts +186 -0
  392. package/core/renderers/zelos/{constants.js → constants.ts} +294 -441
  393. package/core/renderers/zelos/drawer.d.ts +47 -0
  394. package/core/renderers/zelos/{drawer.js → drawer.ts} +73 -95
  395. package/core/renderers/zelos/info.d.ts +88 -0
  396. package/core/renderers/zelos/{info.js → info.ts} +111 -142
  397. package/core/renderers/zelos/marker_svg.d.ts +46 -0
  398. package/core/renderers/zelos/marker_svg.ts +151 -0
  399. package/core/renderers/zelos/measurables/bottom_row.d.ts +27 -0
  400. package/core/renderers/zelos/measurables/bottom_row.ts +53 -0
  401. package/core/renderers/zelos/measurables/inputs.d.ts +23 -0
  402. package/core/renderers/zelos/measurables/{inputs.js → inputs.ts} +14 -15
  403. package/core/renderers/zelos/measurables/row_elements.d.ts +21 -0
  404. package/core/renderers/zelos/measurables/row_elements.ts +45 -0
  405. package/core/renderers/zelos/measurables/top_row.d.ts +29 -0
  406. package/core/renderers/zelos/measurables/{top_row.js → top_row.ts} +14 -27
  407. package/core/renderers/zelos/path_object.d.ts +77 -0
  408. package/core/renderers/zelos/path_object.ts +215 -0
  409. package/core/renderers/zelos/renderer.d.ts +74 -0
  410. package/core/renderers/zelos/renderer.ts +142 -0
  411. package/core/renderers/zelos/zelos.d.ts +12 -0
  412. package/core/renderers/zelos/zelos.ts +39 -0
  413. package/core/scrollbar.d.ts +277 -0
  414. package/core/{scrollbar.js → scrollbar.ts} +307 -328
  415. package/core/scrollbar_pair.d.ts +105 -0
  416. package/core/{scrollbar_pair.js → scrollbar_pair.ts} +71 -79
  417. package/core/serialization/blocks.d.ts +98 -0
  418. package/core/serialization/{blocks.js → blocks.ts} +229 -228
  419. package/core/serialization/exceptions.d.ts +73 -0
  420. package/core/serialization/exceptions.ts +98 -0
  421. package/core/serialization/priorities.d.ts +15 -0
  422. package/core/serialization/{priorities.js → priorities.ts} +4 -10
  423. package/core/serialization/registry.d.ts +20 -0
  424. package/core/serialization/{registry.js → registry.ts} +11 -13
  425. package/core/serialization/variables.d.ts +14 -0
  426. package/core/serialization/{variables.js → variables.ts} +30 -32
  427. package/core/serialization/workspaces.d.ts +28 -0
  428. package/core/serialization/{workspaces.js → workspaces.ts} +30 -27
  429. package/core/shortcut_items.d.ts +61 -0
  430. package/core/{shortcut_items.js → shortcut_items.ts} +121 -157
  431. package/core/shortcut_registry.d.ts +151 -0
  432. package/core/shortcut_registry.ts +355 -0
  433. package/core/sprites.d.ts +19 -0
  434. package/core/{sprites.js → sprites.ts} +4 -6
  435. package/core/theme/classic.d.ts +12 -0
  436. package/core/theme/{classic.js → classic.ts} +5 -7
  437. package/core/theme/themes.d.ts +8 -0
  438. package/core/theme/themes.ts +22 -0
  439. package/core/theme/zelos.d.ts +11 -0
  440. package/core/theme/{zelos.js → zelos.ts} +4 -7
  441. package/core/theme.d.ts +142 -0
  442. package/core/theme.ts +221 -0
  443. package/core/theme_manager.d.ts +81 -0
  444. package/core/theme_manager.ts +186 -0
  445. package/core/toolbox/category.d.ts +239 -0
  446. package/core/toolbox/category.ts +679 -0
  447. package/core/toolbox/collapsible_category.d.ts +91 -0
  448. package/core/toolbox/collapsible_category.ts +273 -0
  449. package/core/toolbox/separator.d.ts +39 -0
  450. package/core/toolbox/separator.ts +105 -0
  451. package/core/toolbox/toolbox.d.ts +352 -0
  452. package/core/toolbox/{toolbox.js → toolbox.ts} +316 -432
  453. package/core/toolbox/toolbox_item.d.ts +85 -0
  454. package/core/toolbox/toolbox_item.ts +147 -0
  455. package/core/tooltip.d.ts +126 -0
  456. package/core/{tooltip.js → tooltip.ts} +136 -214
  457. package/core/touch.d.ts +121 -0
  458. package/core/touch.ts +306 -0
  459. package/core/touch_gesture.d.ts +115 -0
  460. package/core/{touch_gesture.js → touch_gesture.ts} +87 -125
  461. package/core/trashcan.d.ts +195 -0
  462. package/core/{trashcan.js → trashcan.ts} +226 -312
  463. package/core/utils/aria.d.ts +67 -0
  464. package/core/utils/{aria.js → aria.ts} +47 -61
  465. package/core/utils/array.d.ts +14 -0
  466. package/core/utils/{array.js → array.ts} +10 -12
  467. package/core/utils/colour.d.ts +103 -0
  468. package/core/utils/{colour.js → colour.ts} +60 -72
  469. package/core/utils/coordinate.d.ts +72 -0
  470. package/core/utils/coordinate.ts +124 -0
  471. package/core/utils/deprecation.d.ts +17 -0
  472. package/core/utils/{deprecation.js → deprecation.ts} +11 -11
  473. package/core/utils/dom.d.ts +165 -0
  474. package/core/utils/{dom.js → dom.ts} +125 -147
  475. package/core/utils/idgenerator.d.ts +25 -0
  476. package/core/utils/{idgenerator.js → idgenerator.ts} +15 -18
  477. package/core/utils/keycodes.d.ts +137 -0
  478. package/core/utils/keycodes.ts +169 -0
  479. package/core/utils/math.d.ts +30 -0
  480. package/core/utils/{math.js → math.ts} +17 -19
  481. package/core/utils/metrics.d.ts +64 -0
  482. package/core/utils/metrics.ts +97 -0
  483. package/core/utils/object.d.ts +35 -0
  484. package/core/utils/{object.js → object.ts} +30 -26
  485. package/core/utils/parsing.d.ts +50 -0
  486. package/core/utils/{parsing.js → parsing.ts} +50 -50
  487. package/core/utils/rect.d.ts +38 -0
  488. package/core/utils/{rect.js → rect.ts} +18 -31
  489. package/core/utils/sentinel.d.ts +11 -0
  490. package/core/utils/{sentinel.js → sentinel.ts} +3 -5
  491. package/core/utils/size.d.ts +27 -0
  492. package/core/utils/{size.js → size.ts} +12 -26
  493. package/core/utils/string.d.ts +55 -0
  494. package/core/utils/{string.js → string.ts} +64 -61
  495. package/core/utils/style.d.ts +127 -0
  496. package/core/utils/{style.js → style.ts} +102 -92
  497. package/core/utils/svg.d.ts +68 -0
  498. package/core/utils/svg.ts +88 -0
  499. package/core/utils/svg_math.d.ts +70 -0
  500. package/core/utils/{svg_math.js → svg_math.ts} +72 -71
  501. package/core/utils/svg_paths.d.ts +101 -0
  502. package/core/utils/{svg_paths.js → svg_paths.ts} +56 -65
  503. package/core/utils/toolbox.d.ts +193 -0
  504. package/core/utils/toolbox.ts +433 -0
  505. package/core/utils/useragent.d.ts +33 -0
  506. package/core/utils/useragent.ts +135 -0
  507. package/core/utils/xml.d.ts +52 -0
  508. package/core/utils/{xml.js → xml.ts} +26 -36
  509. package/core/utils.d.ts +217 -0
  510. package/core/utils.ts +428 -0
  511. package/core/variable_map.d.ts +141 -0
  512. package/core/{variable_map.js → variable_map.ts} +131 -149
  513. package/core/variable_model.d.ts +40 -0
  514. package/core/variable_model.ts +82 -0
  515. package/core/variables.d.ts +181 -0
  516. package/core/{variables.js → variables.ts} +206 -188
  517. package/core/variables_dynamic.d.ts +38 -0
  518. package/core/{variables_dynamic.js → variables_dynamic.ts} +47 -43
  519. package/core/warning.d.ts +50 -0
  520. package/core/{warning.js → warning.ts} +52 -66
  521. package/core/widgetdiv.d.ts +69 -0
  522. package/core/widgetdiv.ts +257 -0
  523. package/core/workspace.d.ts +386 -0
  524. package/core/workspace.ts +801 -0
  525. package/core/workspace_audio.d.ts +47 -0
  526. package/core/{workspace_audio.js → workspace_audio.ts} +47 -60
  527. package/core/workspace_comment.d.ts +170 -0
  528. package/core/workspace_comment.ts +398 -0
  529. package/core/workspace_comment_svg.d.ts +329 -0
  530. package/core/{workspace_comment_svg.js → workspace_comment_svg.ts} +347 -444
  531. package/core/workspace_drag_surface_svg.d.ts +68 -0
  532. package/core/{workspace_drag_surface_svg.js → workspace_drag_surface_svg.ts} +75 -82
  533. package/core/workspace_dragger.d.ts +48 -0
  534. package/core/workspace_dragger.ts +104 -0
  535. package/core/workspace_svg.d.ts +920 -0
  536. package/core/{workspace_svg.js → workspace_svg.ts} +855 -935
  537. package/core/xml.d.ts +117 -0
  538. package/core/{xml.js → xml.ts} +306 -326
  539. package/core/zoom_controls.d.ts +130 -0
  540. package/core/{zoom_controls.js → zoom_controls.ts} +185 -251
  541. package/core.d.ts +1 -3
  542. package/core.js +1 -2
  543. package/dart.d.ts +0 -3
  544. package/dart_compressed.js +387 -99
  545. package/dart_compressed.js.map +1 -1
  546. package/generators/dart/all.js +2 -0
  547. package/generators/dart/colour.js +1 -1
  548. package/generators/dart/lists.js +1 -1
  549. package/generators/dart/logic.js +1 -1
  550. package/generators/dart/loops.js +1 -1
  551. package/generators/dart/math.js +1 -1
  552. package/generators/dart/procedures.js +1 -1
  553. package/generators/dart/text.js +1 -1
  554. package/generators/dart/variables.js +1 -1
  555. package/generators/dart/variables_dynamic.js +1 -1
  556. package/generators/dart.js +1 -2
  557. package/generators/javascript/all.js +2 -0
  558. package/generators/javascript/colour.js +1 -1
  559. package/generators/javascript/lists.js +1 -1
  560. package/generators/javascript/logic.js +1 -1
  561. package/generators/javascript/loops.js +1 -1
  562. package/generators/javascript/math.js +4 -4
  563. package/generators/javascript/procedures.js +1 -1
  564. package/generators/javascript/text.js +2 -2
  565. package/generators/javascript/variables.js +1 -1
  566. package/generators/javascript/variables_dynamic.js +1 -1
  567. package/generators/javascript.js +1 -3
  568. package/generators/lua/all.js +2 -0
  569. package/generators/lua/colour.js +1 -1
  570. package/generators/lua/lists.js +1 -1
  571. package/generators/lua/logic.js +1 -1
  572. package/generators/lua/loops.js +1 -1
  573. package/generators/lua/math.js +1 -1
  574. package/generators/lua/procedures.js +1 -1
  575. package/generators/lua/text.js +1 -1
  576. package/generators/lua/variables.js +1 -1
  577. package/generators/lua/variables_dynamic.js +1 -1
  578. package/generators/lua.js +1 -2
  579. package/generators/php/all.js +2 -0
  580. package/generators/php/colour.js +1 -1
  581. package/generators/php/lists.js +1 -2
  582. package/generators/php/logic.js +1 -1
  583. package/generators/php/loops.js +1 -1
  584. package/generators/php/math.js +1 -1
  585. package/generators/php/procedures.js +1 -1
  586. package/generators/php/text.js +1 -1
  587. package/generators/php/variables.js +1 -1
  588. package/generators/php/variables_dynamic.js +1 -1
  589. package/generators/php.js +1 -2
  590. package/generators/python/all.js +2 -0
  591. package/generators/python/colour.js +3 -3
  592. package/generators/python/lists.js +1 -1
  593. package/generators/python/logic.js +1 -1
  594. package/generators/python/loops.js +4 -7
  595. package/generators/python/math.js +1 -1
  596. package/generators/python/procedures.js +1 -1
  597. package/generators/python/text.js +1 -1
  598. package/generators/python/variables.js +1 -1
  599. package/generators/python/variables_dynamic.js +1 -1
  600. package/generators/python.js +1 -2
  601. package/index.d.ts +2 -8
  602. package/javascript.d.ts +0 -3
  603. package/javascript_compressed.js +314 -104
  604. package/javascript_compressed.js.map +1 -1
  605. package/lua.d.ts +0 -3
  606. package/lua_compressed.js +399 -81
  607. package/lua_compressed.js.map +1 -1
  608. package/msg/ab.js +421 -421
  609. package/msg/ace.js +421 -421
  610. package/msg/af.js +421 -421
  611. package/msg/am.js +421 -421
  612. package/msg/ar.js +421 -421
  613. package/msg/ast.js +421 -421
  614. package/msg/az.js +421 -421
  615. package/msg/ba.js +421 -421
  616. package/msg/bcc.js +421 -421
  617. package/msg/be-tarask.js +421 -421
  618. package/msg/be.js +421 -421
  619. package/msg/bg.js +421 -421
  620. package/msg/bn.js +421 -421
  621. package/msg/br.js +421 -421
  622. package/msg/bs.js +421 -421
  623. package/msg/ca.js +421 -421
  624. package/msg/cdo.js +421 -421
  625. package/msg/cs.js +421 -421
  626. package/msg/da.js +421 -421
  627. package/msg/de.js +421 -421
  628. package/msg/diq.js +421 -421
  629. package/msg/dty.js +421 -421
  630. package/msg/ee.js +421 -421
  631. package/msg/el.js +421 -421
  632. package/msg/en-gb.js +421 -421
  633. package/msg/en.js +421 -421
  634. package/msg/eo.js +421 -421
  635. package/msg/es.js +421 -421
  636. package/msg/et.js +421 -421
  637. package/msg/eu.js +421 -421
  638. package/msg/fa.js +421 -421
  639. package/msg/fi.js +421 -421
  640. package/msg/fo.js +421 -421
  641. package/msg/fr.js +421 -421
  642. package/msg/frr.js +421 -421
  643. package/msg/gl.js +421 -421
  644. package/msg/gn.js +421 -421
  645. package/msg/gor.js +421 -421
  646. package/msg/ha.js +421 -421
  647. package/msg/hak.js +421 -421
  648. package/msg/he.js +421 -421
  649. package/msg/hi.js +421 -421
  650. package/msg/hr.js +421 -421
  651. package/msg/hrx.js +421 -421
  652. package/msg/hu.js +421 -421
  653. package/msg/hy.js +421 -421
  654. package/msg/ia.js +421 -421
  655. package/msg/id.js +421 -421
  656. package/msg/ig.js +421 -421
  657. package/msg/inh.js +421 -421
  658. package/msg/is.js +421 -421
  659. package/msg/it.js +421 -421
  660. package/msg/ja.js +421 -421
  661. package/msg/ka.js +421 -421
  662. package/msg/kab.js +421 -421
  663. package/msg/kbd-cyrl.js +421 -421
  664. package/msg/km.js +421 -421
  665. package/msg/kn.js +421 -421
  666. package/msg/ko.js +421 -421
  667. package/msg/ksh.js +421 -421
  668. package/msg/ku-latn.js +421 -421
  669. package/msg/ky.js +421 -421
  670. package/msg/la.js +421 -421
  671. package/msg/lb.js +421 -421
  672. package/msg/lki.js +421 -421
  673. package/msg/lo.js +421 -421
  674. package/msg/lrc.js +421 -421
  675. package/msg/lt.js +421 -421
  676. package/msg/lv.js +421 -421
  677. package/msg/mg.js +421 -421
  678. package/msg/mk.js +421 -421
  679. package/msg/ml.js +421 -421
  680. package/msg/mnw.js +421 -421
  681. package/msg/ms.js +421 -421
  682. package/msg/my.js +421 -421
  683. package/msg/mzn.js +421 -421
  684. package/msg/nb.js +421 -421
  685. package/msg/ne.js +421 -421
  686. package/msg/nl.js +421 -421
  687. package/msg/oc.js +421 -421
  688. package/msg/olo.js +421 -421
  689. package/msg/pa.js +421 -421
  690. package/msg/pl.js +421 -421
  691. package/msg/pms.js +421 -421
  692. package/msg/ps.js +421 -421
  693. package/msg/pt-br.js +421 -421
  694. package/msg/pt.js +421 -421
  695. package/msg/ro.js +421 -421
  696. package/msg/ru.js +421 -421
  697. package/msg/sc.js +421 -421
  698. package/msg/sco.js +421 -421
  699. package/msg/sd.js +421 -421
  700. package/msg/shn.js +421 -421
  701. package/msg/si.js +421 -421
  702. package/msg/sk.js +421 -421
  703. package/msg/skr-arab.js +421 -421
  704. package/msg/sl.js +421 -421
  705. package/msg/smn.js +421 -421
  706. package/msg/sq.js +421 -421
  707. package/msg/sr-latn.js +421 -421
  708. package/msg/sr.js +421 -421
  709. package/msg/sv.js +421 -421
  710. package/msg/sw.js +421 -421
  711. package/msg/ta.js +421 -421
  712. package/msg/tcy.js +421 -421
  713. package/msg/te.js +421 -421
  714. package/msg/th.js +421 -421
  715. package/msg/ti.js +421 -421
  716. package/msg/tl.js +421 -421
  717. package/msg/tlh.js +421 -421
  718. package/msg/tr.js +421 -421
  719. package/msg/ug-arab.js +421 -421
  720. package/msg/uk.js +421 -421
  721. package/msg/ur.js +421 -421
  722. package/msg/uz.js +421 -421
  723. package/msg/vi.js +421 -421
  724. package/msg/xmf.js +421 -421
  725. package/msg/yo.js +421 -421
  726. package/msg/yue.js +421 -421
  727. package/msg/zgh.js +421 -421
  728. package/msg/zh-hans.js +421 -421
  729. package/msg/zh-hant.js +421 -421
  730. package/package.json +5 -5
  731. package/php.d.ts +0 -3
  732. package/php_compressed.js +322 -93
  733. package/php_compressed.js.map +1 -1
  734. package/python.d.ts +0 -3
  735. package/python_compressed.js +237 -90
  736. package/python_compressed.js.map +1 -1
  737. package/blockly.d.ts +0 -26127
  738. package/core/blockly_options.js +0 -28
  739. package/core/bubble_dragger.js +0 -298
  740. package/core/clipboard.js +0 -80
  741. package/core/component_manager.js +0 -263
  742. package/core/contextmenu_items.js +0 -651
  743. package/core/contextmenu_registry.js +0 -178
  744. package/core/delete_area.js +0 -87
  745. package/core/dialog.js +0 -107
  746. package/core/drag_target.js +0 -98
  747. package/core/events/events.js +0 -147
  748. package/core/events/events_abstract.js +0 -133
  749. package/core/events/events_block_base.js +0 -70
  750. package/core/events/events_block_drag.js +0 -89
  751. package/core/events/events_bubble_open.js +0 -90
  752. package/core/events/events_comment_base.js +0 -121
  753. package/core/events/events_marker_move.js +0 -110
  754. package/core/events/events_selected.js +0 -83
  755. package/core/events/events_toolbox_item_select.js +0 -84
  756. package/core/events/events_trashcan_open.js +0 -73
  757. package/core/events/events_var_base.js +0 -70
  758. package/core/events/events_viewport.js +0 -107
  759. package/core/events/workspace_events.js +0 -93
  760. package/core/field_angle.js +0 -591
  761. package/core/field_checkbox.js +0 -255
  762. package/core/field_colour.js +0 -717
  763. package/core/field_image.js +0 -304
  764. package/core/field_label.js +0 -149
  765. package/core/field_label_serializable.js +0 -80
  766. package/core/field_textinput.js +0 -619
  767. package/core/flyout_button.js +0 -356
  768. package/core/grid.js +0 -226
  769. package/core/icon.js +0 -225
  770. package/core/input.js +0 -335
  771. package/core/interfaces/i_ast_node_location_svg.js +0 -45
  772. package/core/interfaces/i_ast_node_location_with_block.js +0 -41
  773. package/core/interfaces/i_autohideable.js +0 -40
  774. package/core/interfaces/i_block_dragger.js +0 -66
  775. package/core/interfaces/i_bounded_element.js +0 -45
  776. package/core/interfaces/i_bubble.js +0 -95
  777. package/core/interfaces/i_collapsible_toolbox_item.js +0 -53
  778. package/core/interfaces/i_connection_checker.js +0 -104
  779. package/core/interfaces/i_contextmenu.js +0 -32
  780. package/core/interfaces/i_copyable.js +0 -49
  781. package/core/interfaces/i_delete_area.js +0 -50
  782. package/core/interfaces/i_drag_target.js +0 -88
  783. package/core/interfaces/i_flyout.js +0 -201
  784. package/core/interfaces/i_keyboard_accessible.js +0 -38
  785. package/core/interfaces/i_metrics_manager.js +0 -154
  786. package/core/interfaces/i_positionable.js +0 -51
  787. package/core/interfaces/i_selectable.js +0 -51
  788. package/core/interfaces/i_selectable_toolbox_item.js +0 -73
  789. package/core/interfaces/i_serializer.js +0 -77
  790. package/core/interfaces/i_styleable.js +0 -39
  791. package/core/interfaces/i_toolbox.js +0 -142
  792. package/core/interfaces/i_toolbox_item.js +0 -85
  793. package/core/marker_manager.js +0 -213
  794. package/core/menuitem.js +0 -292
  795. package/core/names.js +0 -293
  796. package/core/registry.js +0 -384
  797. package/core/renderers/common/block_rendering.js +0 -170
  798. package/core/renderers/common/constants.js +0 -1250
  799. package/core/renderers/common/i_path_object.js +0 -162
  800. package/core/renderers/common/marker_svg.js +0 -721
  801. package/core/renderers/common/path_object.js +0 -283
  802. package/core/renderers/common/renderer.js +0 -305
  803. package/core/renderers/geras/constants.js +0 -73
  804. package/core/renderers/geras/geras.js +0 -36
  805. package/core/renderers/geras/measurables/inline_input.js +0 -58
  806. package/core/renderers/geras/measurables/statement_input.js +0 -57
  807. package/core/renderers/geras/renderer.js +0 -149
  808. package/core/renderers/measurables/base.js +0 -64
  809. package/core/renderers/measurables/bottom_row.js +0 -138
  810. package/core/renderers/measurables/connection.js +0 -56
  811. package/core/renderers/measurables/external_value_input.js +0 -70
  812. package/core/renderers/measurables/field.js +0 -71
  813. package/core/renderers/measurables/in_row_spacer.js +0 -47
  814. package/core/renderers/measurables/input_connection.js +0 -75
  815. package/core/renderers/measurables/next_connection.js +0 -50
  816. package/core/renderers/measurables/output_connection.js +0 -61
  817. package/core/renderers/measurables/previous_connection.js +0 -50
  818. package/core/renderers/measurables/round_corner.js +0 -52
  819. package/core/renderers/measurables/row.js +0 -247
  820. package/core/renderers/measurables/spacer_row.js +0 -69
  821. package/core/renderers/measurables/square_corner.js +0 -50
  822. package/core/renderers/measurables/top_row.js +0 -143
  823. package/core/renderers/measurables/types.js +0 -353
  824. package/core/renderers/minimalist/drawer.js +0 -42
  825. package/core/renderers/minimalist/info.js +0 -54
  826. package/core/renderers/minimalist/minimalist.js +0 -26
  827. package/core/renderers/minimalist/renderer.js +0 -80
  828. package/core/renderers/thrasos/renderer.js +0 -53
  829. package/core/renderers/thrasos/thrasos.js +0 -22
  830. package/core/renderers/zelos/marker_svg.js +0 -179
  831. package/core/renderers/zelos/measurables/bottom_row.js +0 -66
  832. package/core/renderers/zelos/measurables/row_elements.js +0 -46
  833. package/core/renderers/zelos/path_object.js +0 -247
  834. package/core/renderers/zelos/renderer.js +0 -147
  835. package/core/renderers/zelos/zelos.js +0 -38
  836. package/core/serialization/exceptions.js +0 -144
  837. package/core/shortcut_registry.js +0 -366
  838. package/core/theme/themes.js +0 -23
  839. package/core/theme.js +0 -228
  840. package/core/theme_manager.js +0 -211
  841. package/core/toolbox/category.js +0 -751
  842. package/core/toolbox/collapsible_category.js +0 -311
  843. package/core/toolbox/separator.js +0 -133
  844. package/core/toolbox/toolbox_item.js +0 -173
  845. package/core/touch.js +0 -285
  846. package/core/utils/coordinate.js +0 -138
  847. package/core/utils/global.js +0 -41
  848. package/core/utils/keycodes.js +0 -172
  849. package/core/utils/metrics.js +0 -154
  850. package/core/utils/svg.js +0 -186
  851. package/core/utils/toolbox.js +0 -459
  852. package/core/utils/useragent.js +0 -197
  853. package/core/utils.js +0 -383
  854. package/core/variable_model.js +0 -96
  855. package/core/widgetdiv.js +0 -290
  856. package/core/workspace.js +0 -836
  857. package/core/workspace_comment.js +0 -400
  858. package/core/workspace_dragger.js +0 -115
@@ -0,0 +1,179 @@
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
+
11
+ /**
12
+ * Registry for context menu option items.
13
+ * @class
14
+ */
15
+ import * as goog from '../closure/goog/goog.js';
16
+ goog.declareModuleId('Blockly.ContextMenuRegistry');
17
+
18
+ import type {BlockSvg} from './block_svg.js';
19
+ import type {WorkspaceSvg} from './workspace_svg.js';
20
+
21
+
22
+ /**
23
+ * Class for the registry of context menu items. This is intended to be a
24
+ * singleton. You should not create a new instance, and only access this class
25
+ * from ContextMenuRegistry.registry.
26
+ * @alias Blockly.ContextMenuRegistry
27
+ */
28
+ export class ContextMenuRegistry {
29
+ static registry: ContextMenuRegistry;
30
+ /** Registry of all registered RegistryItems, keyed by ID. */
31
+ private registry_ = new Map<string, RegistryItem>();
32
+
33
+ /** Resets the existing singleton instance of ContextMenuRegistry. */
34
+ constructor() {
35
+ this.reset();
36
+ }
37
+
38
+ /** Clear and recreate the registry. */
39
+ reset() {
40
+ this.registry_.clear();
41
+ }
42
+
43
+ /**
44
+ * Registers a RegistryItem.
45
+ * @param item Context menu item to register.
46
+ * @throws {Error} if an item with the given ID already exists.
47
+ */
48
+ register(item: RegistryItem) {
49
+ if (this.registry_.has(item.id)) {
50
+ throw Error('Menu item with ID "' + item.id + '" is already registered.');
51
+ }
52
+ this.registry_.set(item.id, item);
53
+ }
54
+
55
+ /**
56
+ * Unregisters a RegistryItem with the given ID.
57
+ * @param id The ID of the RegistryItem to remove.
58
+ * @throws {Error} if an item with the given ID does not exist.
59
+ */
60
+ unregister(id: string) {
61
+ if (!this.registry_.has(id)) {
62
+ throw new Error('Menu item with ID "' + id + '" not found.');
63
+ }
64
+ this.registry_.delete(id);
65
+ }
66
+
67
+ /**
68
+ * @param id The ID of the RegistryItem to get.
69
+ * @return RegistryItem or null if not found
70
+ */
71
+ getItem(id: string): RegistryItem|null {
72
+ return this.registry_.get(id) ?? null;
73
+ }
74
+
75
+ /**
76
+ * Gets the valid context menu options for the given scope type (e.g. block or
77
+ * workspace) and scope. Blocks are only shown if the preconditionFn shows
78
+ * they should not be hidden.
79
+ * @param scopeType Type of scope where menu should be shown (e.g. on a block
80
+ * or on a workspace)
81
+ * @param scope Current scope of context menu (i.e., the exact workspace or
82
+ * block being clicked on)
83
+ * @return the list of ContextMenuOptions
84
+ */
85
+ getContextMenuOptions(scopeType: ScopeType, scope: Scope):
86
+ ContextMenuOption[] {
87
+ const menuOptions: AnyDuringMigration[] = [];
88
+ for (const item of this.registry_.values()) {
89
+ if (scopeType === item.scopeType) {
90
+ const precondition = item.preconditionFn(scope);
91
+ if (precondition !== 'hidden') {
92
+ const displayText = typeof item.displayText === 'function' ?
93
+ item.displayText(scope) :
94
+ item.displayText;
95
+ const menuOption: ContextMenuOption = {
96
+ text: displayText,
97
+ enabled: precondition === 'enabled',
98
+ callback: item.callback,
99
+ scope,
100
+ weight: item.weight,
101
+ };
102
+ menuOptions.push(menuOption);
103
+ }
104
+ }
105
+ }
106
+ menuOptions.sort(function(a, b) {
107
+ return a.weight - b.weight;
108
+ });
109
+ return menuOptions;
110
+ }
111
+ }
112
+
113
+ export namespace ContextMenuRegistry {
114
+ /**
115
+ * Where this menu item should be rendered. If the menu item should be
116
+ * rendered in multiple scopes, e.g. on both a block and a workspace, it
117
+ * should be registered for each scope.
118
+ */
119
+ export enum ScopeType {
120
+ BLOCK = 'block',
121
+ WORKSPACE = 'workspace',
122
+ }
123
+
124
+ /**
125
+ * The actual workspace/block where the menu is being rendered. This is passed
126
+ * to callback and displayText functions that depend on this information.
127
+ */
128
+ export interface Scope {
129
+ block: BlockSvg|undefined;
130
+ workspace: WorkspaceSvg|undefined;
131
+ }
132
+
133
+ /**
134
+ * A menu item as entered in the registry.
135
+ */
136
+ export interface RegistryItem {
137
+ callback: (p1: Scope) => AnyDuringMigration;
138
+ scopeType: ScopeType;
139
+ displayText: ((p1: Scope) => string)|string;
140
+ preconditionFn: (p1: Scope) => string;
141
+ weight: number;
142
+ id: string;
143
+ }
144
+
145
+ /**
146
+ * A menu item as presented to contextmenu.js.
147
+ */
148
+ export interface ContextMenuOption {
149
+ text: string;
150
+ enabled: boolean;
151
+ callback: (p1: Scope) => AnyDuringMigration;
152
+ scope: Scope;
153
+ weight: number;
154
+ }
155
+
156
+ /**
157
+ * A subset of ContextMenuOption corresponding to what was publicly
158
+ * documented. ContextMenuOption should be preferred for new code.
159
+ */
160
+ export interface LegacyContextMenuOption {
161
+ text: string;
162
+ enabled: boolean;
163
+ callback: (p1: Scope) => AnyDuringMigration;
164
+ }
165
+
166
+ /**
167
+ * Singleton instance of this class. All interactions with this class should
168
+ * be done on this object.
169
+ */
170
+ ContextMenuRegistry.registry = new ContextMenuRegistry();
171
+ }
172
+
173
+ export type ScopeType = ContextMenuRegistry.ScopeType;
174
+ export const ScopeType = ContextMenuRegistry.ScopeType;
175
+ export type Scope = ContextMenuRegistry.Scope;
176
+ export type RegistryItem = ContextMenuRegistry.RegistryItem;
177
+ export type ContextMenuOption = ContextMenuRegistry.ContextMenuOption;
178
+ export type LegacyContextMenuOption =
179
+ ContextMenuRegistry.LegacyContextMenuOption;
package/core/css.d.ts ADDED
@@ -0,0 +1,24 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2013 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /**
7
+ * Add some CSS to the blob that will be injected later. Allows optional
8
+ * components such as fields and the toolbox to store separate CSS.
9
+ * @param cssContent Multiline CSS string or an array of single lines of CSS.
10
+ * @alias Blockly.Css.register
11
+ */
12
+ export declare function register(cssContent: string | string[]): void;
13
+ /**
14
+ * Inject the CSS into the DOM. This is preferable over using a regular CSS
15
+ * file since:
16
+ * a) It loads synchronously and doesn't force a redraw later.
17
+ * b) It speeds up loading by not blocking on a separate HTTP transfer.
18
+ * c) The CSS content may be made dynamic depending on init options.
19
+ * @param hasCss If false, don't inject CSS (providing CSS becomes the
20
+ * document's responsibility).
21
+ * @param pathToMedia Path from page to the Blockly media directory.
22
+ * @alias Blockly.Css.inject
23
+ */
24
+ export declare function inject(hasCss: boolean, pathToMedia: string): void;
@@ -7,32 +7,27 @@
7
7
  /**
8
8
  * @fileoverview Inject Blockly's CSS synchronously.
9
9
  */
10
- 'use strict';
11
10
 
12
11
  /**
13
12
  * Inject Blockly's CSS synchronously.
14
13
  * @namespace Blockly.Css
15
14
  */
16
- goog.module('Blockly.Css');
15
+ import * as goog from '../closure/goog/goog.js';
16
+ goog.declareModuleId('Blockly.Css');
17
17
 
18
- const deprecation = goog.require('Blockly.utils.deprecation');
18
+ import * as deprecation from './utils/deprecation.js';
19
19
 
20
20
 
21
- /**
22
- * Has CSS already been injected?
23
- * @type {boolean}
24
- * @private
25
- */
21
+ /** Has CSS already been injected? */
26
22
  let injected = false;
27
23
 
28
24
  /**
29
25
  * Add some CSS to the blob that will be injected later. Allows optional
30
26
  * components such as fields and the toolbox to store separate CSS.
31
- * @param {string|!Array<string>} cssContent Multiline CSS string or an array of
32
- * single lines of CSS.
27
+ * @param cssContent Multiline CSS string or an array of single lines of CSS.
33
28
  * @alias Blockly.Css.register
34
29
  */
35
- const register = function(cssContent) {
30
+ export function register(cssContent: string|string[]) {
36
31
  if (injected) {
37
32
  throw Error('CSS already injected');
38
33
  }
@@ -41,13 +36,12 @@ const register = function(cssContent) {
41
36
  deprecation.warn(
42
37
  'Registering CSS by passing an array of strings', 'September 2021',
43
38
  'September 2022', 'css.register passing a multiline string');
44
- content += ('\n' + cssContent.join('\n'));
39
+ content += '\n' + cssContent.join('\n');
45
40
  } else {
46
41
  // Add new cssContent in the global content.
47
- content += ('\n' + cssContent);
42
+ content += '\n' + cssContent;
48
43
  }
49
- };
50
- exports.register = register;
44
+ }
51
45
 
52
46
  /**
53
47
  * Inject the CSS into the DOM. This is preferable over using a regular CSS
@@ -55,12 +49,12 @@ exports.register = register;
55
49
  * a) It loads synchronously and doesn't force a redraw later.
56
50
  * b) It speeds up loading by not blocking on a separate HTTP transfer.
57
51
  * c) The CSS content may be made dynamic depending on init options.
58
- * @param {boolean} hasCss If false, don't inject CSS
59
- * (providing CSS becomes the document's responsibility).
60
- * @param {string} pathToMedia Path from page to the Blockly media directory.
52
+ * @param hasCss If false, don't inject CSS (providing CSS becomes the
53
+ * document's responsibility).
54
+ * @param pathToMedia Path from page to the Blockly media directory.
61
55
  * @alias Blockly.Css.inject
62
56
  */
63
- const inject = function(hasCss, pathToMedia) {
57
+ export function inject(hasCss: boolean, pathToMedia: string) {
64
58
  // Only inject the CSS once.
65
59
  if (injected) {
66
60
  return;
@@ -81,14 +75,13 @@ const inject = function(hasCss, pathToMedia) {
81
75
  const cssTextNode = document.createTextNode(cssContent);
82
76
  cssNode.appendChild(cssTextNode);
83
77
  document.head.insertBefore(cssNode, document.head.firstChild);
84
- };
85
- exports.inject = inject;
78
+ }
86
79
 
87
80
  /**
88
81
  * The CSS content for Blockly.
89
82
  * @alias Blockly.Css.content
90
83
  */
91
- let content = (`
84
+ let content = `
92
85
  .blocklySvg {
93
86
  background-color: #fff;
94
87
  outline: none;
@@ -564,5 +557,4 @@ let content = (`
564
557
  float: right;
565
558
  margin-right: -24px;
566
559
  }
567
- `);
568
- exports.content = content;
560
+ `;
@@ -0,0 +1,47 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2021 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { DragTarget } from './drag_target.js';
7
+ import type { IDeleteArea } from './interfaces/i_delete_area.js';
8
+ import type { IDraggable } from './interfaces/i_draggable.js';
9
+ /**
10
+ * Abstract class for a component that can delete a block or bubble that is
11
+ * dropped on top of it.
12
+ * @alias Blockly.DeleteArea
13
+ */
14
+ export declare class DeleteArea extends DragTarget implements IDeleteArea {
15
+ /**
16
+ * Whether the last block or bubble dragged over this delete area would be
17
+ * deleted if dropped on this component.
18
+ * This property is not updated after the block or bubble is deleted.
19
+ */
20
+ protected wouldDelete_: boolean;
21
+ /**
22
+ * The unique id for this component that is used to register with the
23
+ * ComponentManager.
24
+ */
25
+ id: string;
26
+ /**
27
+ * Constructor for DeleteArea. Should not be called directly, only by a
28
+ * subclass.
29
+ */
30
+ constructor();
31
+ /**
32
+ * Returns whether the provided block or bubble would be deleted if dropped on
33
+ * this area.
34
+ * This method should check if the element is deletable and is always called
35
+ * before onDragEnter/onDragOver/onDragExit.
36
+ * @param element The block or bubble currently being dragged.
37
+ * @param couldConnect Whether the element could could connect to another.
38
+ * @return Whether the element provided would be deleted if dropped on this
39
+ * area.
40
+ */
41
+ wouldDelete(element: IDraggable, couldConnect: boolean): boolean;
42
+ /**
43
+ * Updates the internal wouldDelete_ state.
44
+ * @param wouldDelete The new value for the wouldDelete state.
45
+ */
46
+ protected updateWouldDelete_(wouldDelete: boolean): void;
47
+ }
@@ -0,0 +1,82 @@
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
+ /**
13
+ * The abstract class for a component that can delete a block or
14
+ * bubble that is dropped on top of it.
15
+ * @class
16
+ */
17
+ import * as goog from '../closure/goog/goog.js';
18
+ goog.declareModuleId('Blockly.DeleteArea');
19
+
20
+ import {BlockSvg} from './block_svg.js';
21
+ import {DragTarget} from './drag_target.js';
22
+ import type {IDeleteArea} from './interfaces/i_delete_area.js';
23
+ import type {IDraggable} from './interfaces/i_draggable.js';
24
+
25
+
26
+ /**
27
+ * Abstract class for a component that can delete a block or bubble that is
28
+ * dropped on top of it.
29
+ * @alias Blockly.DeleteArea
30
+ */
31
+ export class DeleteArea extends DragTarget implements IDeleteArea {
32
+ /**
33
+ * Whether the last block or bubble dragged over this delete area would be
34
+ * deleted if dropped on this component.
35
+ * This property is not updated after the block or bubble is deleted.
36
+ */
37
+ protected wouldDelete_ = false;
38
+
39
+ /**
40
+ * The unique id for this component that is used to register with the
41
+ * ComponentManager.
42
+ */
43
+ // TODO(b/109816955): remove '!', see go/strict-prop-init-fix.
44
+ override id!: string;
45
+
46
+ /**
47
+ * Constructor for DeleteArea. Should not be called directly, only by a
48
+ * subclass.
49
+ */
50
+ constructor() {
51
+ super();
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 element The block or bubble currently being dragged.
60
+ * @param couldConnect Whether the element could could connect to another.
61
+ * @return Whether the element provided would be deleted if dropped on this
62
+ * area.
63
+ */
64
+ wouldDelete(element: IDraggable, couldConnect: boolean): boolean {
65
+ if (element instanceof BlockSvg) {
66
+ const block = (element);
67
+ const couldDeleteBlock = !block.getParent() && block.isDeletable();
68
+ this.updateWouldDelete_(couldDeleteBlock && !couldConnect);
69
+ } else {
70
+ this.updateWouldDelete_(element.isDeletable());
71
+ }
72
+ return this.wouldDelete_;
73
+ }
74
+
75
+ /**
76
+ * Updates the internal wouldDelete_ state.
77
+ * @param wouldDelete The new value for the wouldDelete state.
78
+ */
79
+ protected updateWouldDelete_(wouldDelete: boolean) {
80
+ this.wouldDelete_ = wouldDelete;
81
+ }
82
+ }
@@ -0,0 +1,61 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2021 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /**
7
+ * Wrapper to window.alert() that app developers may override via setAlert to
8
+ * provide alternatives to the modal browser window.
9
+ * @param message The message to display to the user.
10
+ * @param opt_callback The callback when the alert is dismissed.
11
+ * @alias Blockly.dialog.alert
12
+ */
13
+ export declare function alert(message: string, opt_callback?: () => any): void;
14
+ /**
15
+ * Sets the function to be run when Blockly.dialog.alert() is called.
16
+ * @param alertFunction The function to be run.
17
+ * @see Blockly.dialog.alert
18
+ * @alias Blockly.dialog.setAlert
19
+ */
20
+ export declare function setAlert(alertFunction: (p1: string, p2?: () => any) => any): void;
21
+ /**
22
+ * Wrapper to window.confirm() that app developers may override via setConfirm
23
+ * to provide alternatives to the modal browser window.
24
+ * @param message The message to display to the user.
25
+ * @param callback The callback for handling user response.
26
+ * @alias Blockly.dialog.confirm
27
+ */
28
+ export declare function confirm(message: string, callback: (p1: boolean) => any): void;
29
+ /**
30
+ * Private version of confirm for stubbing in tests.
31
+ */
32
+ declare function confirmInternal(message: string, callback: (p1: boolean) => any): void;
33
+ /**
34
+ * Sets the function to be run when Blockly.dialog.confirm() is called.
35
+ * @param confirmFunction The function to be run.
36
+ * @see Blockly.dialog.confirm
37
+ * @alias Blockly.dialog.setConfirm
38
+ */
39
+ export declare function setConfirm(confirmFunction: (p1: string, p2: (p1: boolean) => any) => any): void;
40
+ /**
41
+ * Wrapper to window.prompt() that app developers may override via setPrompt to
42
+ * provide alternatives to the modal browser window. Built-in browser prompts
43
+ * are often used for better text input experience on mobile device. We strongly
44
+ * recommend testing mobile when overriding this.
45
+ * @param message The message to display to the user.
46
+ * @param defaultValue The value to initialize the prompt with.
47
+ * @param callback The callback for handling user response.
48
+ * @alias Blockly.dialog.prompt
49
+ */
50
+ export declare function prompt(message: string, defaultValue: string, callback: (p1: string | null) => any): void;
51
+ /**
52
+ * Sets the function to be run when Blockly.dialog.prompt() is called.
53
+ * @param promptFunction The function to be run.
54
+ * @see Blockly.dialog.prompt
55
+ * @alias Blockly.dialog.setPrompt
56
+ */
57
+ export declare function setPrompt(promptFunction: (p1: string, p2: string, p3: (p1: string | null) => any) => any): void;
58
+ export declare const TEST_ONLY: {
59
+ confirmInternal: typeof confirmInternal;
60
+ };
61
+ export {};
package/core/dialog.ts ADDED
@@ -0,0 +1,127 @@
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
+ /**
13
+ * Wrapper functions around JS functions for showing alert/confirmation dialogs.
14
+ * @namespace Blockly.dialog
15
+ */
16
+ import * as goog from '../closure/goog/goog.js';
17
+ goog.declareModuleId('Blockly.dialog');
18
+
19
+
20
+ let alertImplementation = function(
21
+ message: AnyDuringMigration, opt_callback: AnyDuringMigration) {
22
+ window.alert(message);
23
+ if (opt_callback) {
24
+ opt_callback();
25
+ }
26
+ };
27
+
28
+ let confirmImplementation = function(
29
+ message: AnyDuringMigration, callback: AnyDuringMigration) {
30
+ callback(window.confirm(message));
31
+ };
32
+
33
+ let promptImplementation = function(
34
+ message: AnyDuringMigration, defaultValue: AnyDuringMigration,
35
+ callback: AnyDuringMigration) {
36
+ callback(window.prompt(message, defaultValue));
37
+ };
38
+
39
+ /**
40
+ * Wrapper to window.alert() that app developers may override via setAlert to
41
+ * provide alternatives to the modal browser window.
42
+ * @param message The message to display to the user.
43
+ * @param opt_callback The callback when the alert is dismissed.
44
+ * @alias Blockly.dialog.alert
45
+ */
46
+ export function alert(
47
+ message: string, opt_callback?: () => AnyDuringMigration) {
48
+ alertImplementation(message, opt_callback);
49
+ }
50
+
51
+ /**
52
+ * Sets the function to be run when Blockly.dialog.alert() is called.
53
+ * @param alertFunction The function to be run.
54
+ * @see Blockly.dialog.alert
55
+ * @alias Blockly.dialog.setAlert
56
+ */
57
+ export function setAlert(
58
+ alertFunction: (p1: string, p2?: () => AnyDuringMigration) =>
59
+ AnyDuringMigration) {
60
+ alertImplementation = alertFunction;
61
+ }
62
+
63
+ /**
64
+ * Wrapper to window.confirm() that app developers may override via setConfirm
65
+ * to provide alternatives to the modal browser window.
66
+ * @param message The message to display to the user.
67
+ * @param callback The callback for handling user response.
68
+ * @alias Blockly.dialog.confirm
69
+ */
70
+ export function confirm(
71
+ message: string, callback: (p1: boolean) => AnyDuringMigration) {
72
+ TEST_ONLY.confirmInternal(message, callback);
73
+ }
74
+
75
+ /**
76
+ * Private version of confirm for stubbing in tests.
77
+ */
78
+ function confirmInternal(
79
+ message: string, callback: (p1: boolean) => AnyDuringMigration) {
80
+ confirmImplementation(message, callback);
81
+ }
82
+
83
+
84
+ /**
85
+ * Sets the function to be run when Blockly.dialog.confirm() is called.
86
+ * @param confirmFunction The function to be run.
87
+ * @see Blockly.dialog.confirm
88
+ * @alias Blockly.dialog.setConfirm
89
+ */
90
+ export function setConfirm(
91
+ confirmFunction: (p1: string, p2: (p1: boolean) => AnyDuringMigration) =>
92
+ AnyDuringMigration) {
93
+ confirmImplementation = confirmFunction;
94
+ }
95
+
96
+ /**
97
+ * Wrapper to window.prompt() that app developers may override via setPrompt to
98
+ * provide alternatives to the modal browser window. Built-in browser prompts
99
+ * are often used for better text input experience on mobile device. We strongly
100
+ * recommend testing mobile when overriding this.
101
+ * @param message The message to display to the user.
102
+ * @param defaultValue The value to initialize the prompt with.
103
+ * @param callback The callback for handling user response.
104
+ * @alias Blockly.dialog.prompt
105
+ */
106
+ export function prompt(
107
+ message: string, defaultValue: string,
108
+ callback: (p1: string|null) => AnyDuringMigration) {
109
+ promptImplementation(message, defaultValue, callback);
110
+ }
111
+
112
+ /**
113
+ * Sets the function to be run when Blockly.dialog.prompt() is called.
114
+ * @param promptFunction The function to be run.
115
+ * @see Blockly.dialog.prompt
116
+ * @alias Blockly.dialog.setPrompt
117
+ */
118
+ export function setPrompt(
119
+ promptFunction:
120
+ (p1: string, p2: string, p3: (p1: string|null) => AnyDuringMigration) =>
121
+ AnyDuringMigration) {
122
+ promptImplementation = promptFunction;
123
+ }
124
+
125
+ export const TEST_ONLY = {
126
+ confirmInternal,
127
+ }
@@ -0,0 +1,63 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2021 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { IDragTarget } from './interfaces/i_drag_target.js';
7
+ import type { IDraggable } from './interfaces/i_draggable.js';
8
+ import type { Rect } from './utils/rect.js';
9
+ /**
10
+ * Abstract class for a component with custom behaviour when a block or bubble
11
+ * is dragged over or dropped on top of it.
12
+ * @alias Blockly.DragTarget
13
+ */
14
+ export declare class DragTarget implements IDragTarget {
15
+ /**
16
+ * The unique id for this component that is used to register with the
17
+ * ComponentManager.
18
+ */
19
+ id: string;
20
+ /**
21
+ * Constructor for DragTarget. It exists to add the id property and should not
22
+ * be called directly, only by a subclass.
23
+ */
24
+ constructor();
25
+ /**
26
+ * Handles when a cursor with a block or bubble enters this drag target.
27
+ * @param _dragElement The block or bubble currently being dragged.
28
+ */
29
+ onDragEnter(_dragElement: IDraggable): void;
30
+ /**
31
+ * Handles when a cursor with a block or bubble is dragged over this drag
32
+ * target.
33
+ * @param _dragElement The block or bubble currently being dragged.
34
+ */
35
+ onDragOver(_dragElement: IDraggable): void;
36
+ /**
37
+ * Handles when a cursor with a block or bubble exits this drag target.
38
+ * @param _dragElement The block or bubble currently being dragged.
39
+ */
40
+ onDragExit(_dragElement: IDraggable): void;
41
+ /**
42
+ * Handles when a block or bubble is dropped on this component.
43
+ * Should not handle delete here.
44
+ * @param _dragElement The block or bubble currently being dragged.
45
+ */
46
+ onDrop(_dragElement: IDraggable): void;
47
+ /**
48
+ * Returns the bounding rectangle of the drag target area in pixel units
49
+ * relative to the Blockly injection div.
50
+ * @return The component's bounding box. Null if drag target area should be
51
+ * ignored.
52
+ */
53
+ getClientRect(): Rect | null;
54
+ /**
55
+ * Returns whether the provided block or bubble should not be moved after
56
+ * being dropped on this component. If true, the element will return to where
57
+ * it was when the drag started.
58
+ * @param _dragElement The block or bubble currently being dragged.
59
+ * @return Whether the block or bubble provided should be returned to drag
60
+ * start.
61
+ */
62
+ shouldPreventMove(_dragElement: IDraggable): boolean;
63
+ }