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
@@ -0,0 +1,25 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2019 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export declare const TEST_ONLY: {};
7
+ /**
8
+ * Generate the next unique element IDs.
9
+ * IDs are compatible with the HTML4 id attribute restrictions:
10
+ * Use only ASCII letters, digits, '_', '-' and '.'
11
+ *
12
+ * For UUIDs use genUid (below) instead; this ID generator should
13
+ * primarily be used for IDs that end up in the DOM.
14
+ *
15
+ * @return The next unique identifier.
16
+ * @alias Blockly.utils.idGenerator.getNextUniqueId
17
+ */
18
+ export declare function getNextUniqueId(): string;
19
+ /**
20
+ * Generate a random unique ID.
21
+ * @see internal.genUid
22
+ * @return A globally unique ID string.
23
+ * @alias Blockly.utils.idGenerator.genUid
24
+ */
25
+ export declare function genUid(): string;
@@ -7,13 +7,13 @@
7
7
  /**
8
8
  * @fileoverview Generators for unique IDs.
9
9
  */
10
- 'use strict';
11
10
 
12
11
  /**
13
12
  * Generators for unique IDs.
14
13
  * @namespace Blockly.utils.idGenerator
15
14
  */
16
- goog.module('Blockly.utils.idGenerator');
15
+ import * as goog from '../../closure/goog/goog.js';
16
+ goog.declareModuleId('Blockly.utils.idGenerator');
17
17
 
18
18
 
19
19
  /**
@@ -22,12 +22,9 @@ goog.module('Blockly.utils.idGenerator');
22
22
  * @ignore
23
23
  */
24
24
  const internal = {};
25
- exports.TEST_ONLY = internal;
25
+ export const TEST_ONLY = internal;
26
26
 
27
- /**
28
- * Next unique ID to use.
29
- * @type {number}
30
- */
27
+ /** Next unique ID to use. */
31
28
  let nextId = 0;
32
29
 
33
30
  /**
@@ -38,13 +35,12 @@ let nextId = 0;
38
35
  * For UUIDs use genUid (below) instead; this ID generator should
39
36
  * primarily be used for IDs that end up in the DOM.
40
37
  *
41
- * @return {string} The next unique identifier.
38
+ * @return The next unique identifier.
42
39
  * @alias Blockly.utils.idGenerator.getNextUniqueId
43
40
  */
44
- const getNextUniqueId = function() {
41
+ export function getNextUniqueId(): string {
45
42
  return 'blockly-' + (nextId++).toString(36);
46
- };
47
- exports.getNextUniqueId = getNextUniqueId;
43
+ }
48
44
 
49
45
  /**
50
46
  * Legal characters for the universally unique IDs. Should be all on
@@ -59,9 +55,10 @@ const soup = '!#$%()*+,-./:;=?@[]^_`{|}~' +
59
55
  /**
60
56
  * Generate a random unique ID. This should be globally unique.
61
57
  * 87 characters ^ 20 length > 128 bits (better than a UUID).
62
- * @return {string} A globally unique ID string.
58
+ * @return A globally unique ID string.
63
59
  */
64
- internal.genUid = function() {
60
+ // AnyDuringMigration because: Property 'genUid' does not exist on type '{}'.
61
+ (internal as AnyDuringMigration).genUid = function(): string {
65
62
  const length = 20;
66
63
  const soupLength = soup.length;
67
64
  const id = [];
@@ -74,10 +71,10 @@ internal.genUid = function() {
74
71
  /**
75
72
  * Generate a random unique ID.
76
73
  * @see internal.genUid
77
- * @return {string} A globally unique ID string.
74
+ * @return A globally unique ID string.
78
75
  * @alias Blockly.utils.idGenerator.genUid
79
76
  */
80
- const genUid = function() {
81
- return internal.genUid();
82
- };
83
- exports.genUid = genUid;
77
+ export function genUid(): string {
78
+ // AnyDuringMigration because: Property 'genUid' does not exist on type '{}'.
79
+ return (internal as AnyDuringMigration).genUid();
80
+ }
@@ -0,0 +1,137 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2019 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /**
7
+ * Key codes for common characters.
8
+ *
9
+ * Copied from Closure's goog.events.KeyCodes
10
+ *
11
+ * This list is not localized and therefore some of the key codes are not
12
+ * correct for non US keyboard layouts. See comments below.
13
+ *
14
+ * @alias Blockly.utils.KeyCodes
15
+ */
16
+ export declare enum KeyCodes {
17
+ WIN_KEY_FF_LINUX = 0,
18
+ MAC_ENTER = 3,
19
+ BACKSPACE = 8,
20
+ TAB = 9,
21
+ NUM_CENTER = 12,
22
+ ENTER = 13,
23
+ SHIFT = 16,
24
+ CTRL = 17,
25
+ ALT = 18,
26
+ PAUSE = 19,
27
+ CAPS_LOCK = 20,
28
+ ESC = 27,
29
+ SPACE = 32,
30
+ PAGE_UP = 33,
31
+ PAGE_DOWN = 34,
32
+ END = 35,
33
+ HOME = 36,
34
+ LEFT = 37,
35
+ UP = 38,
36
+ RIGHT = 39,
37
+ DOWN = 40,
38
+ PLUS_SIGN = 43,
39
+ PRINT_SCREEN = 44,
40
+ INSERT = 45,
41
+ DELETE = 46,
42
+ ZERO = 48,
43
+ ONE = 49,
44
+ TWO = 50,
45
+ THREE = 51,
46
+ FOUR = 52,
47
+ FIVE = 53,
48
+ SIX = 54,
49
+ SEVEN = 55,
50
+ EIGHT = 56,
51
+ NINE = 57,
52
+ FF_SEMICOLON = 59,
53
+ FF_EQUALS = 61,
54
+ FF_DASH = 173,
55
+ FF_HASH = 163,
56
+ QUESTION_MARK = 63,
57
+ AT_SIGN = 64,
58
+ A = 65,
59
+ B = 66,
60
+ C = 67,
61
+ D = 68,
62
+ E = 69,
63
+ F = 70,
64
+ G = 71,
65
+ H = 72,
66
+ I = 73,
67
+ J = 74,
68
+ K = 75,
69
+ L = 76,
70
+ M = 77,
71
+ N = 78,
72
+ O = 79,
73
+ P = 80,
74
+ Q = 81,
75
+ R = 82,
76
+ S = 83,
77
+ T = 84,
78
+ U = 85,
79
+ V = 86,
80
+ W = 87,
81
+ X = 88,
82
+ Y = 89,
83
+ Z = 90,
84
+ META = 91,
85
+ WIN_KEY_RIGHT = 92,
86
+ CONTEXT_MENU = 93,
87
+ NUM_ZERO = 96,
88
+ NUM_ONE = 97,
89
+ NUM_TWO = 98,
90
+ NUM_THREE = 99,
91
+ NUM_FOUR = 100,
92
+ NUM_FIVE = 101,
93
+ NUM_SIX = 102,
94
+ NUM_SEVEN = 103,
95
+ NUM_EIGHT = 104,
96
+ NUM_NINE = 105,
97
+ NUM_MULTIPLY = 106,
98
+ NUM_PLUS = 107,
99
+ NUM_MINUS = 109,
100
+ NUM_PERIOD = 110,
101
+ NUM_DIVISION = 111,
102
+ F1 = 112,
103
+ F2 = 113,
104
+ F3 = 114,
105
+ F4 = 115,
106
+ F5 = 116,
107
+ F6 = 117,
108
+ F7 = 118,
109
+ F8 = 119,
110
+ F9 = 120,
111
+ F10 = 121,
112
+ F11 = 122,
113
+ F12 = 123,
114
+ NUMLOCK = 144,
115
+ SCROLL_LOCK = 145,
116
+ FIRST_MEDIA_KEY = 166,
117
+ LAST_MEDIA_KEY = 183,
118
+ SEMICOLON = 186,
119
+ DASH = 189,
120
+ EQUALS = 187,
121
+ COMMA = 188,
122
+ PERIOD = 190,
123
+ SLASH = 191,
124
+ APOSTROPHE = 192,
125
+ TILDE = 192,
126
+ SINGLE_QUOTE = 222,
127
+ OPEN_SQUARE_BRACKET = 219,
128
+ BACKSLASH = 220,
129
+ CLOSE_SQUARE_BRACKET = 221,
130
+ WIN_KEY = 224,
131
+ MAC_FF_META = 224,
132
+ MAC_WK_CMD_LEFT = 91,
133
+ MAC_WK_CMD_RIGHT = 93,
134
+ WIN_IME = 229,
135
+ VK_NONAME = 252,
136
+ PHANTOM = 255
137
+ }
@@ -0,0 +1,169 @@
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
+
13
+ /**
14
+ * Constant declarations for common key codes.
15
+ * These methods are not specific to Blockly, and could be factored out into
16
+ * a JavaScript framework such as Closure.
17
+ * @namespace Blockly.utils.KeyCodes
18
+ */
19
+ import * as goog from '../../closure/goog/goog.js';
20
+ goog.declareModuleId('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
+ * @alias Blockly.utils.KeyCodes
32
+ */
33
+ export enum KeyCodes {
34
+ WIN_KEY_FF_LINUX = 0,
35
+ MAC_ENTER = 3,
36
+ BACKSPACE = 8,
37
+ TAB = 9,
38
+ NUM_CENTER = 12, // NUMLOCK on FF/Safari Mac
39
+ ENTER = 13,
40
+ SHIFT = 16,
41
+ CTRL = 17,
42
+ ALT = 18,
43
+ PAUSE = 19,
44
+ CAPS_LOCK = 20,
45
+ ESC = 27,
46
+ SPACE = 32,
47
+ PAGE_UP = 33, // also NUM_NORTH_EAST
48
+ PAGE_DOWN = 34, // also NUM_SOUTH_EAST
49
+ END = 35, // also NUM_SOUTH_WEST
50
+ HOME = 36, // also NUM_NORTH_WEST
51
+ LEFT = 37, // also NUM_WEST
52
+ UP = 38, // also NUM_NORTH
53
+ RIGHT = 39, // also NUM_EAST
54
+ DOWN = 40, // also NUM_SOUTH
55
+ PLUS_SIGN = 43, // NOT numpad plus
56
+ PRINT_SCREEN = 44,
57
+ INSERT = 45, // also NUM_INSERT
58
+ DELETE = 46, // also NUM_DELETE
59
+ ZERO = 48,
60
+ ONE = 49,
61
+ TWO = 50,
62
+ THREE = 51,
63
+ FOUR = 52,
64
+ FIVE = 53,
65
+ SIX = 54,
66
+ SEVEN = 55,
67
+ EIGHT = 56,
68
+ NINE = 57,
69
+ FF_SEMICOLON = 59, // Firefox (Gecko) fires this for semicolon instead of 186
70
+ FF_EQUALS = 61, // Firefox (Gecko) fires this for equals instead of 187
71
+ FF_DASH = 173, // Firefox (Gecko) fires this for dash instead of 189
72
+ // Firefox (Gecko) fires this for # on UK keyboards, rather than
73
+ // Shift+SINGLE_QUOTE.
74
+ FF_HASH = 163,
75
+ QUESTION_MARK = 63, // needs localization
76
+ AT_SIGN = 64,
77
+ A = 65,
78
+ B = 66,
79
+ C = 67,
80
+ D = 68,
81
+ E = 69,
82
+ F = 70,
83
+ G = 71,
84
+ H = 72,
85
+ I = 73,
86
+ J = 74,
87
+ K = 75,
88
+ L = 76,
89
+ M = 77,
90
+ N = 78,
91
+ O = 79,
92
+ P = 80,
93
+ Q = 81,
94
+ R = 82,
95
+ S = 83,
96
+ T = 84,
97
+ U = 85,
98
+ V = 86,
99
+ W = 87,
100
+ X = 88,
101
+ Y = 89,
102
+ Z = 90,
103
+ META = 91, // WIN_KEY_LEFT
104
+ WIN_KEY_RIGHT = 92,
105
+ CONTEXT_MENU = 93,
106
+ NUM_ZERO = 96,
107
+ NUM_ONE = 97,
108
+ NUM_TWO = 98,
109
+ NUM_THREE = 99,
110
+ NUM_FOUR = 100,
111
+ NUM_FIVE = 101,
112
+ NUM_SIX = 102,
113
+ NUM_SEVEN = 103,
114
+ NUM_EIGHT = 104,
115
+ NUM_NINE = 105,
116
+ NUM_MULTIPLY = 106,
117
+ NUM_PLUS = 107,
118
+ NUM_MINUS = 109,
119
+ NUM_PERIOD = 110,
120
+ NUM_DIVISION = 111,
121
+ F1 = 112,
122
+ F2 = 113,
123
+ F3 = 114,
124
+ F4 = 115,
125
+ F5 = 116,
126
+ F6 = 117,
127
+ F7 = 118,
128
+ F8 = 119,
129
+ F9 = 120,
130
+ F10 = 121,
131
+ F11 = 122,
132
+ F12 = 123,
133
+ NUMLOCK = 144,
134
+ SCROLL_LOCK = 145,
135
+
136
+ // OS-specific media keys like volume controls and browser controls.
137
+ FIRST_MEDIA_KEY = 166,
138
+ LAST_MEDIA_KEY = 183,
139
+
140
+ SEMICOLON = 186, // needs localization
141
+ DASH = 189, // needs localization
142
+ EQUALS = 187, // needs localization
143
+ COMMA = 188, // needs localization
144
+ PERIOD = 190, // needs localization
145
+ SLASH = 191, // needs localization
146
+ APOSTROPHE = 192, // needs localization
147
+ TILDE = 192, // needs localization
148
+ SINGLE_QUOTE = 222, // needs localization
149
+ OPEN_SQUARE_BRACKET = 219, // needs localization
150
+ BACKSLASH = 220, // needs localization
151
+ CLOSE_SQUARE_BRACKET = 221, // needs localization
152
+ WIN_KEY = 224,
153
+ MAC_FF_META =
154
+ 224, // Firefox (Gecko) fires this for the meta key instead of 91
155
+ MAC_WK_CMD_LEFT = 91, // WebKit Left Command key fired, same as META
156
+ MAC_WK_CMD_RIGHT = 93, // WebKit Right Command key fired, different from META
157
+ WIN_IME = 229,
158
+
159
+ // "Reserved for future use". Some programs (e.g. the SlingPlayer 2.4 ActiveX
160
+ // control) fire this as a hacky way to disable screensavers.
161
+ VK_NONAME = 252,
162
+
163
+ // We've seen users whose machines fire this keycode at regular one
164
+ // second intervals. The common thread among these users is that
165
+ // they're all using Dell Inspiron laptops, so we suspect that this
166
+ // indicates a hardware/bios problem.
167
+ // http://en.community.dell.com/support-forums/laptop/f/3518/p/19285957/19523128.aspx
168
+ PHANTOM = 255,
169
+ }
@@ -0,0 +1,30 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2019 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /**
7
+ * Converts degrees to radians.
8
+ * Copied from Closure's goog.math.toRadians.
9
+ * @param angleDegrees Angle in degrees.
10
+ * @return Angle in radians.
11
+ * @alias Blockly.utils.math.toRadians
12
+ */
13
+ export declare function toRadians(angleDegrees: number): number;
14
+ /**
15
+ * Converts radians to degrees.
16
+ * Copied from Closure's goog.math.toDegrees.
17
+ * @param angleRadians Angle in radians.
18
+ * @return Angle in degrees.
19
+ * @alias Blockly.utils.math.toDegrees
20
+ */
21
+ export declare function toDegrees(angleRadians: number): number;
22
+ /**
23
+ * Clamp the provided number between the lower bound and the upper bound.
24
+ * @param lowerBound The desired lower bound.
25
+ * @param number The number to clamp.
26
+ * @param upperBound The desired upper bound.
27
+ * @return The clamped number.
28
+ * @alias Blockly.utils.math.clamp
29
+ */
30
+ export declare function clamp(lowerBound: number, number: number, upperBound: number): number;
@@ -9,7 +9,6 @@
9
9
  * These methods are not specific to Blockly, and could be factored out into
10
10
  * a JavaScript framework such as Closure.
11
11
  */
12
- 'use strict';
13
12
 
14
13
  /**
15
14
  * Utility methods for math.
@@ -17,47 +16,46 @@
17
16
  * a JavaScript framework such as Closure.
18
17
  * @namespace Blockly.utils.math
19
18
  */
20
- goog.module('Blockly.utils.math');
19
+ import * as goog from '../../closure/goog/goog.js';
20
+ goog.declareModuleId('Blockly.utils.math');
21
21
 
22
22
 
23
23
  /**
24
24
  * Converts degrees to radians.
25
25
  * Copied from Closure's goog.math.toRadians.
26
- * @param {number} angleDegrees Angle in degrees.
27
- * @return {number} Angle in radians.
26
+ * @param angleDegrees Angle in degrees.
27
+ * @return Angle in radians.
28
28
  * @alias Blockly.utils.math.toRadians
29
29
  */
30
- const toRadians = function(angleDegrees) {
30
+ export function toRadians(angleDegrees: number): number {
31
31
  return angleDegrees * Math.PI / 180;
32
- };
33
- exports.toRadians = toRadians;
32
+ }
34
33
 
35
34
  /**
36
35
  * Converts radians to degrees.
37
36
  * Copied from Closure's goog.math.toDegrees.
38
- * @param {number} angleRadians Angle in radians.
39
- * @return {number} Angle in degrees.
37
+ * @param angleRadians Angle in radians.
38
+ * @return Angle in degrees.
40
39
  * @alias Blockly.utils.math.toDegrees
41
40
  */
42
- const toDegrees = function(angleRadians) {
41
+ export function toDegrees(angleRadians: number): number {
43
42
  return angleRadians * 180 / Math.PI;
44
- };
45
- exports.toDegrees = toDegrees;
43
+ }
46
44
 
47
45
  /**
48
46
  * Clamp the provided number between the lower bound and the upper bound.
49
- * @param {number} lowerBound The desired lower bound.
50
- * @param {number} number The number to clamp.
51
- * @param {number} upperBound The desired upper bound.
52
- * @return {number} The clamped number.
47
+ * @param lowerBound The desired lower bound.
48
+ * @param number The number to clamp.
49
+ * @param upperBound The desired upper bound.
50
+ * @return The clamped number.
53
51
  * @alias Blockly.utils.math.clamp
54
52
  */
55
- const clamp = function(lowerBound, number, upperBound) {
53
+ export function clamp(
54
+ lowerBound: number, number: number, upperBound: number): number {
56
55
  if (upperBound < lowerBound) {
57
56
  const temp = upperBound;
58
57
  upperBound = lowerBound;
59
58
  lowerBound = temp;
60
59
  }
61
60
  return Math.max(lowerBound, Math.min(number, upperBound));
62
- };
63
- exports.clamp = clamp;
61
+ }
@@ -0,0 +1,64 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2020 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /** @alias Blockly.utils.Metrics */
7
+ export interface Metrics {
8
+ /** Height of the visible portion of the workspace. */
9
+ viewHeight: number;
10
+ /** Width of the visible portion of the workspace. */
11
+ viewWidth: number;
12
+ /** Height of the content. */
13
+ contentHeight: number;
14
+ /** Width of the content. */
15
+ contentWidth: number;
16
+ /** Height of the scroll area. */
17
+ scrollHeight: number;
18
+ /** Width of the scroll area. */
19
+ scrollWidth: number;
20
+ /**
21
+ * Top-edge of the visible portion of the workspace, relative to the workspace
22
+ * origin.
23
+ */
24
+ viewTop: number;
25
+ /**
26
+ * Left-edge of the visible portion of the workspace, relative to the
27
+ * workspace origin.
28
+ */
29
+ viewLeft: number;
30
+ /** Top-edge of the content, relative to the workspace origin. */
31
+ contentTop: number;
32
+ /** Left-edge of the content relative to the workspace origin. */
33
+ contentLeft: number;
34
+ /** Top-edge of the scroll area, relative to the workspace origin. */
35
+ scrollTop: number;
36
+ /** Left-edge of the scroll area relative to the workspace origin. */
37
+ scrollLeft: number;
38
+ /**
39
+ * Top-edge of the visible portion of the workspace, relative to the
40
+ * blocklyDiv.
41
+ */
42
+ absoluteTop: number;
43
+ /**
44
+ * Left-edge of the visible portion of the workspace, relative to the
45
+ * blocklyDiv.
46
+ */
47
+ absoluteLeft: number;
48
+ /**
49
+ * Height of the Blockly div (the view + the toolbox, simple of otherwise).
50
+ */
51
+ svgHeight: number;
52
+ /** Width of the Blockly div (the view + the toolbox, simple or otherwise). */
53
+ svgWidth: number;
54
+ /** Width of the toolbox, if it exists. Otherwise zero. */
55
+ toolboxWidth: number;
56
+ /** Height of the toolbox, if it exists. Otherwise zero. */
57
+ toolboxHeight: number;
58
+ /** Top, bottom, left or right. Use TOOLBOX_AT constants to compare. */
59
+ toolboxPosition: number;
60
+ /** Width of the flyout if it is always open. Otherwise zero. */
61
+ flyoutWidth: number;
62
+ /** Height of the flyout if it is always open. Otherwise zero. */
63
+ flyoutHeight: number;
64
+ }
@@ -0,0 +1,97 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2020 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ /**
8
+ * @fileoverview Workspace metrics definitions.
9
+ */
10
+
11
+ /**
12
+ * Workspace metrics definitions.
13
+ * @namespace Blockly.utils.Metrics
14
+ */
15
+ import * as goog from '../../closure/goog/goog.js';
16
+ goog.declareModuleId('Blockly.utils.Metrics');
17
+
18
+
19
+ /** @alias Blockly.utils.Metrics */
20
+ export interface Metrics {
21
+ /** Height of the visible portion of the workspace. */
22
+ viewHeight: number;
23
+
24
+ /** Width of the visible portion of the workspace. */
25
+ viewWidth: number;
26
+
27
+ /** Height of the content. */
28
+ contentHeight: number;
29
+
30
+ /** Width of the content. */
31
+ contentWidth: number;
32
+
33
+ /** Height of the scroll area. */
34
+ scrollHeight: number;
35
+
36
+ /** Width of the scroll area. */
37
+ scrollWidth: number;
38
+
39
+ /**
40
+ * Top-edge of the visible portion of the workspace, relative to the workspace
41
+ * origin.
42
+ */
43
+ viewTop: number;
44
+
45
+ /**
46
+ * Left-edge of the visible portion of the workspace, relative to the
47
+ * workspace origin.
48
+ */
49
+ viewLeft: number;
50
+
51
+ /** Top-edge of the content, relative to the workspace origin. */
52
+ contentTop: number;
53
+
54
+ /** Left-edge of the content relative to the workspace origin. */
55
+ contentLeft: number;
56
+
57
+ /** Top-edge of the scroll area, relative to the workspace origin. */
58
+ scrollTop: number;
59
+
60
+ /** Left-edge of the scroll area relative to the workspace origin. */
61
+ scrollLeft: number;
62
+
63
+ /**
64
+ * Top-edge of the visible portion of the workspace, relative to the
65
+ * blocklyDiv.
66
+ */
67
+ absoluteTop: number;
68
+
69
+ /**
70
+ * Left-edge of the visible portion of the workspace, relative to the
71
+ * blocklyDiv.
72
+ */
73
+ absoluteLeft: number;
74
+
75
+ /**
76
+ * Height of the Blockly div (the view + the toolbox, simple of otherwise).
77
+ */
78
+ svgHeight: number;
79
+
80
+ /** Width of the Blockly div (the view + the toolbox, simple or otherwise). */
81
+ svgWidth: number;
82
+
83
+ /** Width of the toolbox, if it exists. Otherwise zero. */
84
+ toolboxWidth: number;
85
+
86
+ /** Height of the toolbox, if it exists. Otherwise zero. */
87
+ toolboxHeight: number;
88
+
89
+ /** Top, bottom, left or right. Use TOOLBOX_AT constants to compare. */
90
+ toolboxPosition: number;
91
+
92
+ /** Width of the flyout if it is always open. Otherwise zero. */
93
+ flyoutWidth: number;
94
+
95
+ /** Height of the flyout if it is always open. Otherwise zero. */
96
+ flyoutHeight: number;
97
+ }