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
package/core/touch.js DELETED
@@ -1,285 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2016 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
-
7
- /**
8
- * @fileoverview Touch handling for Blockly.
9
- */
10
- 'use strict';
11
-
12
- /**
13
- * Touch handling for Blockly.
14
- * @namespace Blockly.Touch
15
- */
16
- goog.module('Blockly.Touch');
17
-
18
- const utilsString = goog.require('Blockly.utils.string');
19
- /* eslint-disable-next-line no-unused-vars */
20
- const {Gesture} = goog.requireType('Blockly.Gesture');
21
- const {globalThis} = goog.require('Blockly.utils.global');
22
-
23
-
24
- /**
25
- * Length in ms for a touch to become a long press.
26
- * @const
27
- */
28
- const LONGPRESS = 750;
29
-
30
- /**
31
- * Whether touch is enabled in the browser.
32
- * Copied from Closure's goog.events.BrowserFeature.TOUCH_ENABLED
33
- * @const
34
- */
35
- const TOUCH_ENABLED =
36
- ('ontouchstart' in globalThis ||
37
- !!(globalThis['document'] && document.documentElement &&
38
- 'ontouchstart' in document.documentElement) ||
39
- // IE10 uses non-standard touch events, so it has a different check.
40
- !!(globalThis['navigator'] &&
41
- (globalThis['navigator']['maxTouchPoints'] ||
42
- globalThis['navigator']['msMaxTouchPoints'])));
43
- exports.TOUCH_ENABLED = TOUCH_ENABLED;
44
-
45
- /**
46
- * Which touch events are we currently paying attention to?
47
- * @type {?string}
48
- */
49
- let touchIdentifier_ = null;
50
-
51
- /**
52
- * The TOUCH_MAP lookup dictionary specifies additional touch events to fire,
53
- * in conjunction with mouse events.
54
- * @type {Object}
55
- * @alias Blockly.Touch.TOUCH_MAP
56
- */
57
- let TOUCH_MAP = {};
58
- if (globalThis['PointerEvent']) {
59
- TOUCH_MAP = {
60
- 'mousedown': ['pointerdown'],
61
- 'mouseenter': ['pointerenter'],
62
- 'mouseleave': ['pointerleave'],
63
- 'mousemove': ['pointermove'],
64
- 'mouseout': ['pointerout'],
65
- 'mouseover': ['pointerover'],
66
- 'mouseup': ['pointerup', 'pointercancel'],
67
- 'touchend': ['pointerup'],
68
- 'touchcancel': ['pointercancel'],
69
- };
70
- } else if (TOUCH_ENABLED) {
71
- TOUCH_MAP = {
72
- 'mousedown': ['touchstart'],
73
- 'mousemove': ['touchmove'],
74
- 'mouseup': ['touchend', 'touchcancel'],
75
- };
76
- }
77
- exports.TOUCH_MAP = TOUCH_MAP;
78
-
79
- /**
80
- * PID of queued long-press task.
81
- */
82
- let longPid_ = 0;
83
-
84
- /**
85
- * Context menus on touch devices are activated using a long-press.
86
- * Unfortunately the contextmenu touch event is currently (2015) only supported
87
- * by Chrome. This function is fired on any touchstart event, queues a task,
88
- * which after about a second opens the context menu. The tasks is killed
89
- * if the touch event terminates early.
90
- * @param {!Event} e Touch start event.
91
- * @param {Gesture} gesture The gesture that triggered this longStart.
92
- * @alias Blockly.Touch.longStart
93
- * @package
94
- */
95
- const longStart = function(e, gesture) {
96
- longStop();
97
- // Punt on multitouch events.
98
- if (e.changedTouches && e.changedTouches.length !== 1) {
99
- return;
100
- }
101
- longPid_ = setTimeout(function() {
102
- // Additional check to distinguish between touch events and pointer events
103
- if (e.changedTouches) {
104
- // TouchEvent
105
- e.button = 2; // Simulate a right button click.
106
- // e was a touch event. It needs to pretend to be a mouse event.
107
- e.clientX = e.changedTouches[0].clientX;
108
- e.clientY = e.changedTouches[0].clientY;
109
- }
110
-
111
- // Let the gesture route the right-click correctly.
112
- if (gesture) {
113
- gesture.handleRightClick(e);
114
- }
115
- }, LONGPRESS);
116
- };
117
- exports.longStart = longStart;
118
-
119
- /**
120
- * Nope, that's not a long-press. Either touchend or touchcancel was fired,
121
- * or a drag hath begun. Kill the queued long-press task.
122
- * @alias Blockly.Touch.longStop
123
- * @package
124
- */
125
- const longStop = function() {
126
- if (longPid_) {
127
- clearTimeout(longPid_);
128
- longPid_ = 0;
129
- }
130
- };
131
- exports.longStop = longStop;
132
-
133
- /**
134
- * Clear the touch identifier that tracks which touch stream to pay attention
135
- * to. This ends the current drag/gesture and allows other pointers to be
136
- * captured.
137
- * @alias Blockly.Touch.clearTouchIdentifier
138
- */
139
- const clearTouchIdentifier = function() {
140
- touchIdentifier_ = null;
141
- };
142
- exports.clearTouchIdentifier = clearTouchIdentifier;
143
-
144
- /**
145
- * Decide whether Blockly should handle or ignore this event.
146
- * Mouse and touch events require special checks because we only want to deal
147
- * with one touch stream at a time. All other events should always be handled.
148
- * @param {!Event} e The event to check.
149
- * @return {boolean} True if this event should be passed through to the
150
- * registered handler; false if it should be blocked.
151
- * @alias Blockly.Touch.shouldHandleEvent
152
- */
153
- const shouldHandleEvent = function(e) {
154
- return !isMouseOrTouchEvent(e) || checkTouchIdentifier(e);
155
- };
156
- exports.shouldHandleEvent = shouldHandleEvent;
157
-
158
- /**
159
- * Get the touch identifier from the given event. If it was a mouse event, the
160
- * identifier is the string 'mouse'.
161
- * @param {!Event} e Mouse event or touch event.
162
- * @return {string} The touch identifier from the first changed touch, if
163
- * defined. Otherwise 'mouse'.
164
- * @alias Blockly.Touch.getTouchIdentifierFromEvent
165
- */
166
- const getTouchIdentifierFromEvent = function(e) {
167
- return e.pointerId !== undefined ? e.pointerId :
168
- (e.changedTouches && e.changedTouches[0] &&
169
- e.changedTouches[0].identifier !== undefined &&
170
- e.changedTouches[0].identifier !== null) ?
171
- e.changedTouches[0].identifier :
172
- 'mouse';
173
- };
174
- exports.getTouchIdentifierFromEvent = getTouchIdentifierFromEvent;
175
-
176
- /**
177
- * Check whether the touch identifier on the event matches the current saved
178
- * identifier. If there is no identifier, that means it's a mouse event and
179
- * we'll use the identifier "mouse". This means we won't deal well with
180
- * multiple mice being used at the same time. That seems okay.
181
- * If the current identifier was unset, save the identifier from the
182
- * event. This starts a drag/gesture, during which touch events with other
183
- * identifiers will be silently ignored.
184
- * @param {!Event} e Mouse event or touch event.
185
- * @return {boolean} Whether the identifier on the event matches the current
186
- * saved identifier.
187
- * @alias Blockly.Touch.checkTouchIdentifier
188
- */
189
- const checkTouchIdentifier = function(e) {
190
- const identifier = getTouchIdentifierFromEvent(e);
191
-
192
- // if (touchIdentifier_) is insufficient because Android touch
193
- // identifiers may be zero.
194
- if (touchIdentifier_ !== undefined && touchIdentifier_ !== null) {
195
- // We're already tracking some touch/mouse event. Is this from the same
196
- // source?
197
- return touchIdentifier_ === identifier;
198
- }
199
- if (e.type === 'mousedown' || e.type === 'touchstart' ||
200
- e.type === 'pointerdown') {
201
- // No identifier set yet, and this is the start of a drag. Set it and
202
- // return.
203
- touchIdentifier_ = identifier;
204
- return true;
205
- }
206
- // There was no identifier yet, but this wasn't a start event so we're going
207
- // to ignore it. This probably means that another drag finished while this
208
- // pointer was down.
209
- return false;
210
- };
211
- exports.checkTouchIdentifier = checkTouchIdentifier;
212
-
213
- /**
214
- * Set an event's clientX and clientY from its first changed touch. Use this to
215
- * make a touch event work in a mouse event handler.
216
- * @param {!Event} e A touch event.
217
- * @alias Blockly.Touch.setClientFromTouch
218
- */
219
- const setClientFromTouch = function(e) {
220
- if (utilsString.startsWith(e.type, 'touch') && e.changedTouches) {
221
- // Map the touch event's properties to the event.
222
- const touchPoint = e.changedTouches[0];
223
- e.clientX = touchPoint.clientX;
224
- e.clientY = touchPoint.clientY;
225
- }
226
- };
227
- exports.setClientFromTouch = setClientFromTouch;
228
-
229
- /**
230
- * Check whether a given event is a mouse or touch event.
231
- * @param {!Event} e An event.
232
- * @return {boolean} True if it is a mouse or touch event; false otherwise.
233
- * @alias Blockly.Touch.isMouseOrTouchEvent
234
- */
235
- const isMouseOrTouchEvent = function(e) {
236
- return utilsString.startsWith(e.type, 'touch') ||
237
- utilsString.startsWith(e.type, 'mouse') ||
238
- utilsString.startsWith(e.type, 'pointer');
239
- };
240
- exports.isMouseOrTouchEvent = isMouseOrTouchEvent;
241
-
242
- /**
243
- * Check whether a given event is a touch event or a pointer event.
244
- * @param {!Event} e An event.
245
- * @return {boolean} True if it is a touch event; false otherwise.
246
- * @alias Blockly.Touch.isTouchEvent
247
- */
248
- const isTouchEvent = function(e) {
249
- return utilsString.startsWith(e.type, 'touch') ||
250
- utilsString.startsWith(e.type, 'pointer');
251
- };
252
- exports.isTouchEvent = isTouchEvent;
253
-
254
- /**
255
- * Split an event into an array of events, one per changed touch or mouse
256
- * point.
257
- * @param {!Event} e A mouse event or a touch event with one or more changed
258
- * touches.
259
- * @return {!Array<!Event>} An array of mouse or touch events. Each touch
260
- * event will have exactly one changed touch.
261
- * @alias Blockly.Touch.splitEventByTouches
262
- */
263
- const splitEventByTouches = function(e) {
264
- const events = [];
265
- if (e.changedTouches) {
266
- for (let i = 0; i < e.changedTouches.length; i++) {
267
- const newEvent = {
268
- type: e.type,
269
- changedTouches: [e.changedTouches[i]],
270
- target: e.target,
271
- stopPropagation: function() {
272
- e.stopPropagation();
273
- },
274
- preventDefault: function() {
275
- e.preventDefault();
276
- },
277
- };
278
- events[i] = newEvent;
279
- }
280
- } else {
281
- events.push(e);
282
- }
283
- return events;
284
- };
285
- exports.splitEventByTouches = splitEventByTouches;
@@ -1,138 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2019 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
-
7
- /**
8
- * @fileoverview Utility methods for coordinate manipulation.
9
- * These methods are not specific to Blockly, and could be factored out into
10
- * a JavaScript framework such as Closure.
11
- */
12
- 'use strict';
13
-
14
- /**
15
- * Utility methods for coordinate manipulation.
16
- * These methods are not specific to Blockly, and could be factored out into
17
- * a JavaScript framework such as Closure.
18
- * @class
19
- */
20
- goog.module('Blockly.utils.Coordinate');
21
-
22
- /**
23
- * Class for representing coordinates and positions.
24
- * @alias Blockly.utils.Coordinate
25
- */
26
- const Coordinate = class {
27
- /**
28
- * @param {number} x Left.
29
- * @param {number} y Top.
30
- */
31
- constructor(x, y) {
32
- /**
33
- * X-value
34
- * @type {number}
35
- */
36
- this.x = x;
37
-
38
- /**
39
- * Y-value
40
- * @type {number}
41
- */
42
- this.y = y;
43
- }
44
-
45
- /**
46
- * Creates a new copy of this coordinate.
47
- * @return {!Coordinate} A copy of this coordinate.
48
- */
49
- clone() {
50
- return new Coordinate(this.x, this.y);
51
- }
52
-
53
- /**
54
- * Scales this coordinate by the given scale factor.
55
- * @param {number} s The scale factor to use for both x and y dimensions.
56
- * @return {!Coordinate} This coordinate after scaling.
57
- */
58
- scale(s) {
59
- this.x *= s;
60
- this.y *= s;
61
- return this;
62
- }
63
-
64
- /**
65
- * Translates this coordinate by the given offsets.
66
- * respectively.
67
- * @param {number} tx The value to translate x by.
68
- * @param {number} ty The value to translate y by.
69
- * @return {!Coordinate} This coordinate after translating.
70
- */
71
- translate(tx, ty) {
72
- this.x += tx;
73
- this.y += ty;
74
- return this;
75
- }
76
-
77
- /**
78
- * Compares coordinates for equality.
79
- * @param {?Coordinate} a A Coordinate.
80
- * @param {?Coordinate} b A Coordinate.
81
- * @return {boolean} True iff the coordinates are equal, or if both are null.
82
- */
83
- static equals(a, b) {
84
- if (a === b) {
85
- return true;
86
- }
87
- if (!a || !b) {
88
- return false;
89
- }
90
- return a.x === b.x && a.y === b.y;
91
- }
92
-
93
- /**
94
- * Returns the distance between two coordinates.
95
- * @param {!Coordinate} a A Coordinate.
96
- * @param {!Coordinate} b A Coordinate.
97
- * @return {number} The distance between `a` and `b`.
98
- */
99
- static distance(a, b) {
100
- const dx = a.x - b.x;
101
- const dy = a.y - b.y;
102
- return Math.sqrt(dx * dx + dy * dy);
103
- }
104
-
105
- /**
106
- * Returns the magnitude of a coordinate.
107
- * @param {!Coordinate} a A Coordinate.
108
- * @return {number} The distance between the origin and `a`.
109
- */
110
- static magnitude(a) {
111
- return Math.sqrt(a.x * a.x + a.y * a.y);
112
- }
113
-
114
- /**
115
- * Returns the difference between two coordinates as a new
116
- * Coordinate.
117
- * @param {!Coordinate|!SVGPoint} a An x/y coordinate.
118
- * @param {!Coordinate|!SVGPoint} b An x/y coordinate.
119
- * @return {!Coordinate} A Coordinate representing the difference
120
- * between `a` and `b`.
121
- */
122
- static difference(a, b) {
123
- return new Coordinate(a.x - b.x, a.y - b.y);
124
- }
125
-
126
- /**
127
- * Returns the sum of two coordinates as a new Coordinate.
128
- * @param {!Coordinate|!SVGPoint} a An x/y coordinate.
129
- * @param {!Coordinate|!SVGPoint} b An x/y coordinate.
130
- * @return {!Coordinate} A Coordinate representing the sum of
131
- * the two coordinates.
132
- */
133
- static sum(a, b) {
134
- return new Coordinate(a.x + b.x, a.y + b.y);
135
- }
136
- };
137
-
138
- exports.Coordinate = Coordinate;
@@ -1,41 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2019 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
-
7
- /**
8
- * @fileoverview Provides a reference to the global object.
9
- */
10
- 'use strict';
11
-
12
- /**
13
- * Provides a reference to the global object.
14
- * @namespace Blockly.utils.global
15
- */
16
- goog.module('Blockly.utils.global');
17
-
18
-
19
- /* eslint-disable no-undef, no-invalid-this */
20
-
21
- /**
22
- * Reference to the global object.
23
- *
24
- * More info on this implementation here:
25
- * https://docs.google.com/document/d/1NAeW4Wk7I7FV0Y2tcUFvQdGMc89k2vdgSXInw8_nvCI
26
- */
27
- exports.globalThis = (function() { // Not "let globalThis" to avoid shadowing.
28
- if (typeof globalThis === 'object') {
29
- return globalThis;
30
- }
31
- if (typeof self === 'object') {
32
- return self;
33
- }
34
- if (typeof window === 'object') {
35
- return window;
36
- }
37
- if (typeof global === 'object') {
38
- return global;
39
- }
40
- return this;
41
- })();
@@ -1,172 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2019 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
-
7
- /**
8
- * @fileoverview Constant declarations for common key codes.
9
- * These methods are not specific to Blockly, and could be factored out into
10
- * a JavaScript framework such as Closure.
11
- */
12
- 'use strict';
13
-
14
- /**
15
- * Constant declarations for common key codes.
16
- * These methods are not specific to Blockly, and could be factored out into
17
- * a JavaScript framework such as Closure.
18
- * @namespace Blockly.utils.KeyCodes
19
- */
20
- goog.module('Blockly.utils.KeyCodes');
21
-
22
-
23
- /**
24
- * Key codes for common characters.
25
- *
26
- * Copied from Closure's goog.events.KeyCodes
27
- *
28
- * This list is not localized and therefore some of the key codes are not
29
- * correct for non US keyboard layouts. See comments below.
30
- *
31
- * @enum {number}
32
- * @alias Blockly.utils.KeyCodes
33
- */
34
- const KeyCodes = {
35
- WIN_KEY_FF_LINUX: 0,
36
- MAC_ENTER: 3,
37
- BACKSPACE: 8,
38
- TAB: 9,
39
- NUM_CENTER: 12, // NUMLOCK on FF/Safari Mac
40
- ENTER: 13,
41
- SHIFT: 16,
42
- CTRL: 17,
43
- ALT: 18,
44
- PAUSE: 19,
45
- CAPS_LOCK: 20,
46
- ESC: 27,
47
- SPACE: 32,
48
- PAGE_UP: 33, // also NUM_NORTH_EAST
49
- PAGE_DOWN: 34, // also NUM_SOUTH_EAST
50
- END: 35, // also NUM_SOUTH_WEST
51
- HOME: 36, // also NUM_NORTH_WEST
52
- LEFT: 37, // also NUM_WEST
53
- UP: 38, // also NUM_NORTH
54
- RIGHT: 39, // also NUM_EAST
55
- DOWN: 40, // also NUM_SOUTH
56
- PLUS_SIGN: 43, // NOT numpad plus
57
- PRINT_SCREEN: 44,
58
- INSERT: 45, // also NUM_INSERT
59
- DELETE: 46, // also NUM_DELETE
60
- ZERO: 48,
61
- ONE: 49,
62
- TWO: 50,
63
- THREE: 51,
64
- FOUR: 52,
65
- FIVE: 53,
66
- SIX: 54,
67
- SEVEN: 55,
68
- EIGHT: 56,
69
- NINE: 57,
70
- FF_SEMICOLON: 59, // Firefox (Gecko) fires this for semicolon instead of 186
71
- FF_EQUALS: 61, // Firefox (Gecko) fires this for equals instead of 187
72
- FF_DASH: 173, // Firefox (Gecko) fires this for dash instead of 189
73
- // Firefox (Gecko) fires this for # on UK keyboards, rather than
74
- // Shift+SINGLE_QUOTE.
75
- FF_HASH: 163,
76
- QUESTION_MARK: 63, // needs localization
77
- AT_SIGN: 64,
78
- A: 65,
79
- B: 66,
80
- C: 67,
81
- D: 68,
82
- E: 69,
83
- F: 70,
84
- G: 71,
85
- H: 72,
86
- I: 73,
87
- J: 74,
88
- K: 75,
89
- L: 76,
90
- M: 77,
91
- N: 78,
92
- O: 79,
93
- P: 80,
94
- Q: 81,
95
- R: 82,
96
- S: 83,
97
- T: 84,
98
- U: 85,
99
- V: 86,
100
- W: 87,
101
- X: 88,
102
- Y: 89,
103
- Z: 90,
104
- META: 91, // WIN_KEY_LEFT
105
- WIN_KEY_RIGHT: 92,
106
- CONTEXT_MENU: 93,
107
- NUM_ZERO: 96,
108
- NUM_ONE: 97,
109
- NUM_TWO: 98,
110
- NUM_THREE: 99,
111
- NUM_FOUR: 100,
112
- NUM_FIVE: 101,
113
- NUM_SIX: 102,
114
- NUM_SEVEN: 103,
115
- NUM_EIGHT: 104,
116
- NUM_NINE: 105,
117
- NUM_MULTIPLY: 106,
118
- NUM_PLUS: 107,
119
- NUM_MINUS: 109,
120
- NUM_PERIOD: 110,
121
- NUM_DIVISION: 111,
122
- F1: 112,
123
- F2: 113,
124
- F3: 114,
125
- F4: 115,
126
- F5: 116,
127
- F6: 117,
128
- F7: 118,
129
- F8: 119,
130
- F9: 120,
131
- F10: 121,
132
- F11: 122,
133
- F12: 123,
134
- NUMLOCK: 144,
135
- SCROLL_LOCK: 145,
136
-
137
- // OS-specific media keys like volume controls and browser controls.
138
- FIRST_MEDIA_KEY: 166,
139
- LAST_MEDIA_KEY: 183,
140
-
141
- SEMICOLON: 186, // needs localization
142
- DASH: 189, // needs localization
143
- EQUALS: 187, // needs localization
144
- COMMA: 188, // needs localization
145
- PERIOD: 190, // needs localization
146
- SLASH: 191, // needs localization
147
- APOSTROPHE: 192, // needs localization
148
- TILDE: 192, // needs localization
149
- SINGLE_QUOTE: 222, // needs localization
150
- OPEN_SQUARE_BRACKET: 219, // needs localization
151
- BACKSLASH: 220, // needs localization
152
- CLOSE_SQUARE_BRACKET: 221, // needs localization
153
- WIN_KEY: 224,
154
- MAC_FF_META:
155
- 224, // Firefox (Gecko) fires this for the meta key instead of 91
156
- MAC_WK_CMD_LEFT: 91, // WebKit Left Command key fired, same as META
157
- MAC_WK_CMD_RIGHT: 93, // WebKit Right Command key fired, different from META
158
- WIN_IME: 229,
159
-
160
- // "Reserved for future use". Some programs (e.g. the SlingPlayer 2.4 ActiveX
161
- // control) fire this as a hacky way to disable screensavers.
162
- VK_NONAME: 252,
163
-
164
- // We've seen users whose machines fire this keycode at regular one
165
- // second intervals. The common thread among these users is that
166
- // they're all using Dell Inspiron laptops, so we suspect that this
167
- // indicates a hardware/bios problem.
168
- // http://en.community.dell.com/support-forums/laptop/f/3518/p/19285957/19523128.aspx
169
- PHANTOM: 255,
170
- };
171
-
172
- exports.KeyCodes = KeyCodes;