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/registry.js DELETED
@@ -1,384 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2020 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
-
7
- /**
8
- * @fileoverview This file is a universal registry that provides generic methods
9
- * for registering and unregistering different types of classes.
10
- */
11
- 'use strict';
12
-
13
- /**
14
- * This file is a universal registry that provides generic methods
15
- * for registering and unregistering different types of classes.
16
- * @namespace Blockly.registry
17
- */
18
- goog.module('Blockly.registry');
19
-
20
- /* eslint-disable-next-line no-unused-vars */
21
- const {Abstract} = goog.requireType('Blockly.Events.Abstract');
22
- /* eslint-disable-next-line no-unused-vars */
23
- const {Cursor} = goog.requireType('Blockly.Cursor');
24
- /* eslint-disable-next-line no-unused-vars */
25
- const {Field} = goog.requireType('Blockly.Field');
26
- /* eslint-disable-next-line no-unused-vars */
27
- const {IBlockDragger} = goog.requireType('Blockly.IBlockDragger');
28
- /* eslint-disable-next-line no-unused-vars */
29
- const {IConnectionChecker} = goog.requireType('Blockly.IConnectionChecker');
30
- /* eslint-disable-next-line no-unused-vars */
31
- const {IFlyout} = goog.requireType('Blockly.IFlyout');
32
- /* eslint-disable-next-line no-unused-vars */
33
- const {IMetricsManager} = goog.requireType('Blockly.IMetricsManager');
34
- /* eslint-disable-next-line no-unused-vars */
35
- const {ISerializer} = goog.requireType('Blockly.serialization.ISerializer');
36
- /* eslint-disable-next-line no-unused-vars */
37
- const {IToolbox} = goog.requireType('Blockly.IToolbox');
38
- /* eslint-disable-next-line no-unused-vars */
39
- const {Options} = goog.requireType('Blockly.Options');
40
- /* eslint-disable-next-line no-unused-vars */
41
- const {Renderer} = goog.requireType('Blockly.blockRendering.Renderer');
42
- /* eslint-disable-next-line no-unused-vars */
43
- const {Theme} = goog.requireType('Blockly.Theme');
44
- /* eslint-disable-next-line no-unused-vars */
45
- const {ToolboxItem} = goog.requireType('Blockly.ToolboxItem');
46
-
47
-
48
- /**
49
- * A map of maps. With the keys being the type and name of the class we are
50
- * registering and the value being the constructor function.
51
- * e.g. {'field': {'field_angle': Blockly.FieldAngle}}
52
- *
53
- * @type {!Object<string, !Object<string, (function(new:?)|!Object)>>}
54
- */
55
- const typeMap = Object.create(null);
56
- exports.TEST_ONLY = {typeMap};
57
-
58
- /**
59
- * A map of maps. With the keys being the type and caseless name of the class we
60
- * are registring, and the value being the most recent cased name for that
61
- * registration.
62
- * @type {!Object<string, !Object<string, string>>}
63
- */
64
- const nameMap = Object.create(null);
65
-
66
- /**
67
- * The string used to register the default class for a type of plugin.
68
- * @type {string}
69
- * @alias Blockly.registry.DEFAULT
70
- */
71
- const DEFAULT = 'default';
72
- exports.DEFAULT = DEFAULT;
73
-
74
- /**
75
- * A name with the type of the element stored in the generic.
76
- * @template T
77
- * @alias Blockly.registry.Type
78
- */
79
- class Type {
80
- /**
81
- * @param {string} name The name of the registry type.
82
- */
83
- constructor(name) {
84
- /**
85
- * @type {string}
86
- * @private
87
- */
88
- this.name_ = name;
89
- }
90
-
91
- /**
92
- * Returns the name of the type.
93
- * @return {string} The name.
94
- */
95
- toString() {
96
- return this.name_;
97
- }
98
- }
99
- exports.Type = Type;
100
-
101
-
102
- /** @type {!Type<IConnectionChecker>} */
103
- Type.CONNECTION_CHECKER = new Type('connectionChecker');
104
-
105
- /** @type {!Type<Cursor>} */
106
- Type.CURSOR = new Type('cursor');
107
-
108
- /** @type {!Type<Abstract>} */
109
- Type.EVENT = new Type('event');
110
-
111
- /** @type {!Type<Field>} */
112
- Type.FIELD = new Type('field');
113
-
114
- /** @type {!Type<Renderer>} */
115
- Type.RENDERER = new Type('renderer');
116
-
117
- /** @type {!Type<IToolbox>} */
118
- Type.TOOLBOX = new Type('toolbox');
119
-
120
- /** @type {!Type<Theme>} */
121
- Type.THEME = new Type('theme');
122
-
123
- /** @type {!Type<ToolboxItem>} */
124
- Type.TOOLBOX_ITEM = new Type('toolboxItem');
125
-
126
- /** @type {!Type<IFlyout>} */
127
- Type.FLYOUTS_VERTICAL_TOOLBOX = new Type('flyoutsVerticalToolbox');
128
-
129
- /** @type {!Type<IFlyout>} */
130
- Type.FLYOUTS_HORIZONTAL_TOOLBOX = new Type('flyoutsHorizontalToolbox');
131
-
132
- /** @type {!Type<IMetricsManager>} */
133
- Type.METRICS_MANAGER = new Type('metricsManager');
134
-
135
- /** @type {!Type<IBlockDragger>} */
136
- Type.BLOCK_DRAGGER = new Type('blockDragger');
137
-
138
- /**
139
- * @type {!Type<ISerializer>}
140
- * @package
141
- */
142
- Type.SERIALIZER = new Type('serializer');
143
-
144
- /**
145
- * Registers a class based on a type and name.
146
- * @param {string|!Type<T>} type The type of the plugin.
147
- * (e.g. Field, Renderer)
148
- * @param {string} name The plugin's name. (Ex. field_angle, geras)
149
- * @param {?function(new:T, ...?)|Object} registryItem The class or object to
150
- * register.
151
- * @param {boolean=} opt_allowOverrides True to prevent an error when overriding
152
- * an already registered item.
153
- * @throws {Error} if the type or name is empty, a name with the given type has
154
- * already been registered, or if the given class or object is not valid for
155
- * its type.
156
- * @template T
157
- * @alias Blockly.registry.register
158
- */
159
- const register = function(type, name, registryItem, opt_allowOverrides) {
160
- if ((!(type instanceof Type) && typeof type !== 'string') ||
161
- String(type).trim() === '') {
162
- throw Error(
163
- 'Invalid type "' + type + '". The type must be a' +
164
- ' non-empty string or a Blockly.registry.Type.');
165
- }
166
- type = String(type).toLowerCase();
167
-
168
- if ((typeof name !== 'string') || (name.trim() === '')) {
169
- throw Error(
170
- 'Invalid name "' + name + '". The name must be a' +
171
- ' non-empty string.');
172
- }
173
- const caselessName = name.toLowerCase();
174
- if (!registryItem) {
175
- throw Error('Can not register a null value');
176
- }
177
- let typeRegistry = typeMap[type];
178
- let nameRegistry = nameMap[type];
179
- // If the type registry has not been created, create it.
180
- if (!typeRegistry) {
181
- typeRegistry = typeMap[type] = Object.create(null);
182
- nameRegistry = nameMap[type] = Object.create(null);
183
- }
184
-
185
- // Validate that the given class has all the required properties.
186
- validate(type, registryItem);
187
-
188
- // Don't throw an error if opt_allowOverrides is true.
189
- if (!opt_allowOverrides && typeRegistry[caselessName]) {
190
- throw Error(
191
- 'Name "' + caselessName + '" with type "' + type +
192
- '" already registered.');
193
- }
194
- typeRegistry[caselessName] = registryItem;
195
- nameRegistry[caselessName] = name;
196
- };
197
- exports.register = register;
198
-
199
- /**
200
- * Checks the given registry item for properties that are required based on the
201
- * type.
202
- * @param {string} type The type of the plugin. (e.g. Field, Renderer)
203
- * @param {Function|Object} registryItem A class or object that we are checking
204
- * for the required properties.
205
- */
206
- const validate = function(type, registryItem) {
207
- switch (type) {
208
- case String(Type.FIELD):
209
- if (typeof registryItem.fromJson !== 'function') {
210
- throw Error('Type "' + type + '" must have a fromJson function');
211
- }
212
- break;
213
- }
214
- };
215
-
216
- /**
217
- * Unregisters the registry item with the given type and name.
218
- * @param {string|!Type<T>} type The type of the plugin.
219
- * (e.g. Field, Renderer)
220
- * @param {string} name The plugin's name. (Ex. field_angle, geras)
221
- * @template T
222
- * @alias Blockly.registry.unregister
223
- */
224
- const unregister = function(type, name) {
225
- type = String(type).toLowerCase();
226
- name = name.toLowerCase();
227
- const typeRegistry = typeMap[type];
228
- if (!typeRegistry || !typeRegistry[name]) {
229
- console.warn(
230
- 'Unable to unregister [' + name + '][' + type + '] from the ' +
231
- 'registry.');
232
- return;
233
- }
234
- delete typeMap[type][name];
235
- delete nameMap[type][name];
236
- };
237
- exports.unregister = unregister;
238
-
239
- /**
240
- * Gets the registry item for the given name and type. This can be either a
241
- * class or an object.
242
- * @param {string|!Type<T>} type The type of the plugin.
243
- * (e.g. Field, Renderer)
244
- * @param {string} name The plugin's name. (Ex. field_angle, geras)
245
- * @param {boolean=} opt_throwIfMissing Whether or not to throw an error if we
246
- * are unable to find the plugin.
247
- * @return {?function(new:T, ...?)|Object} The class or object with the given
248
- * name and type or null if none exists.
249
- * @template T
250
- */
251
- const getItem = function(type, name, opt_throwIfMissing) {
252
- type = String(type).toLowerCase();
253
- name = name.toLowerCase();
254
- const typeRegistry = typeMap[type];
255
- if (!typeRegistry || !typeRegistry[name]) {
256
- const msg = 'Unable to find [' + name + '][' + type + '] in the registry.';
257
- if (opt_throwIfMissing) {
258
- throw new Error(
259
- msg + ' You must require or register a ' + type + ' plugin.');
260
- } else {
261
- console.warn(msg);
262
- }
263
- return null;
264
- }
265
- return typeRegistry[name];
266
- };
267
-
268
- /**
269
- * Returns whether or not the registry contains an item with the given type and
270
- * name.
271
- * @param {string|!Type<T>} type The type of the plugin.
272
- * (e.g. Field, Renderer)
273
- * @param {string} name The plugin's name. (Ex. field_angle, geras)
274
- * @return {boolean} True if the registry has an item with the given type and
275
- * name, false otherwise.
276
- * @template T
277
- * @alias Blockly.registry.hasItem
278
- */
279
- const hasItem = function(type, name) {
280
- type = String(type).toLowerCase();
281
- name = name.toLowerCase();
282
- const typeRegistry = typeMap[type];
283
- if (!typeRegistry) {
284
- return false;
285
- }
286
- return !!(typeRegistry[name]);
287
- };
288
- exports.hasItem = hasItem;
289
-
290
- /**
291
- * Gets the class for the given name and type.
292
- * @param {string|!Type<T>} type The type of the plugin.
293
- * (e.g. Field, Renderer)
294
- * @param {string} name The plugin's name. (Ex. field_angle, geras)
295
- * @param {boolean=} opt_throwIfMissing Whether or not to throw an error if we
296
- * are unable to find the plugin.
297
- * @return {?function(new:T, ...?)} The class with the given name and type or
298
- * null if none exists.
299
- * @template T
300
- * @alias Blockly.registry.getClass
301
- */
302
- const getClass = function(type, name, opt_throwIfMissing) {
303
- return /** @type {?function(new:T, ...?)} */ (
304
- getItem(type, name, opt_throwIfMissing));
305
- };
306
- exports.getClass = getClass;
307
-
308
- /**
309
- * Gets the object for the given name and type.
310
- * @param {string|!Type<T>} type The type of the plugin.
311
- * (e.g. Category)
312
- * @param {string} name The plugin's name. (Ex. logic_category)
313
- * @param {boolean=} opt_throwIfMissing Whether or not to throw an error if we
314
- * are unable to find the object.
315
- * @return {?T} The object with the given name and type or null if none exists.
316
- * @template T
317
- * @alias Blockly.registry.getObject
318
- */
319
- const getObject = function(type, name, opt_throwIfMissing) {
320
- return /** @type {T} */ (getItem(type, name, opt_throwIfMissing));
321
- };
322
- exports.getObject = getObject;
323
-
324
- /**
325
- * Returns a map of items registered with the given type.
326
- * @param {string|!Type<T>} type The type of the plugin. (e.g. Category)
327
- * @param {boolean} opt_cased Whether or not to return a map with cased keys
328
- * (rather than caseless keys). False by default.
329
- * @param {boolean=} opt_throwIfMissing Whether or not to throw an error if we
330
- * are unable to find the object. False by default.
331
- * @return {?Object<string, ?T|?function(new:T, ...?)>} A map of objects with
332
- * the given type, or null if none exists.
333
- * @template T
334
- * @alias Blockly.registry.getAllItems
335
- */
336
- const getAllItems = function(type, opt_cased, opt_throwIfMissing) {
337
- type = String(type).toLowerCase();
338
- const typeRegistry = typeMap[type];
339
- if (!typeRegistry) {
340
- const msg = `Unable to find [${type}] in the registry.`;
341
- if (opt_throwIfMissing) {
342
- throw new Error(`${msg} You must require or register a ${type} plugin.`);
343
- } else {
344
- console.warn(msg);
345
- }
346
- return null;
347
- }
348
- if (!opt_cased) {
349
- return typeRegistry;
350
- }
351
- const nameRegistry = nameMap[type];
352
- const casedRegistry = Object.create(null);
353
- const keys = Object.keys(typeRegistry);
354
- for (let i = 0; i < keys.length; i++) {
355
- const key = keys[i];
356
- casedRegistry[nameRegistry[key]] = typeRegistry[key];
357
- }
358
- return casedRegistry;
359
- };
360
- exports.getAllItems = getAllItems;
361
-
362
- /**
363
- * Gets the class from Blockly options for the given type.
364
- * This is used for plugins that override a built in feature. (e.g. Toolbox)
365
- * @param {!Type<T>} type The type of the plugin.
366
- * @param {!Options} options The option object to check for the given
367
- * plugin.
368
- * @param {boolean=} opt_throwIfMissing Whether or not to throw an error if we
369
- * are unable to find the plugin.
370
- * @return {?function(new:T, ...?)} The class for the plugin.
371
- * @template T
372
- * @alias Blockly.registry.getClassFromOptions
373
- */
374
- const getClassFromOptions = function(type, options, opt_throwIfMissing) {
375
- const typeName = type.toString();
376
- const plugin = options.plugins[typeName] || DEFAULT;
377
-
378
- // If the user passed in a plugin class instead of a registered plugin name.
379
- if (typeof plugin === 'function') {
380
- return plugin;
381
- }
382
- return getClass(type, plugin, opt_throwIfMissing);
383
- };
384
- exports.getClassFromOptions = getClassFromOptions;
@@ -1,170 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2019 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
-
7
- /**
8
- * @fileoverview Namespace for block rendering functionality.
9
- */
10
- 'use strict';
11
-
12
- /**
13
- * Namespace for block rendering functionality.
14
- * @namespace Blockly.blockRendering
15
- */
16
- goog.module('Blockly.blockRendering');
17
-
18
- const debug = goog.require('Blockly.blockRendering.debug');
19
- const deprecation = goog.require('Blockly.utils.deprecation');
20
- const registry = goog.require('Blockly.registry');
21
- const {BottomRow} = goog.require('Blockly.blockRendering.BottomRow');
22
- const {Connection} = goog.require('Blockly.blockRendering.Connection');
23
- const {ConstantProvider} = goog.require('Blockly.blockRendering.ConstantProvider');
24
- const {Debug} = goog.require('Blockly.blockRendering.Debug');
25
- const {Drawer} = goog.require('Blockly.blockRendering.Drawer');
26
- const {ExternalValueInput} = goog.require('Blockly.blockRendering.ExternalValueInput');
27
- const {Field} = goog.require('Blockly.blockRendering.Field');
28
- const {Hat} = goog.require('Blockly.blockRendering.Hat');
29
- const {IPathObject} = goog.require('Blockly.blockRendering.IPathObject');
30
- const {Icon} = goog.require('Blockly.blockRendering.Icon');
31
- const {InRowSpacer} = goog.require('Blockly.blockRendering.InRowSpacer');
32
- const {InlineInput} = goog.require('Blockly.blockRendering.InlineInput');
33
- const {InputConnection} = goog.require('Blockly.blockRendering.InputConnection');
34
- const {InputRow} = goog.require('Blockly.blockRendering.InputRow');
35
- const {JaggedEdge} = goog.require('Blockly.blockRendering.JaggedEdge');
36
- const {MarkerSvg} = goog.require('Blockly.blockRendering.MarkerSvg');
37
- const {Measurable} = goog.require('Blockly.blockRendering.Measurable');
38
- const {NextConnection} = goog.require('Blockly.blockRendering.NextConnection');
39
- const {OutputConnection} = goog.require('Blockly.blockRendering.OutputConnection');
40
- const {PathObject} = goog.require('Blockly.blockRendering.PathObject');
41
- const {PreviousConnection} = goog.require('Blockly.blockRendering.PreviousConnection');
42
- const {RenderInfo} = goog.require('Blockly.blockRendering.RenderInfo');
43
- const {Renderer} = goog.require('Blockly.blockRendering.Renderer');
44
- const {RoundCorner} = goog.require('Blockly.blockRendering.RoundCorner');
45
- const {Row} = goog.require('Blockly.blockRendering.Row');
46
- const {SpacerRow} = goog.require('Blockly.blockRendering.SpacerRow');
47
- const {SquareCorner} = goog.require('Blockly.blockRendering.SquareCorner');
48
- const {StatementInput} = goog.require('Blockly.blockRendering.StatementInput');
49
- /* eslint-disable-next-line no-unused-vars */
50
- const {Theme} = goog.requireType('Blockly.Theme');
51
- const {TopRow} = goog.require('Blockly.blockRendering.TopRow');
52
- const {Types} = goog.require('Blockly.blockRendering.Types');
53
-
54
- /**
55
- * Returns whether the debugger is turned on.
56
- * @return {boolean} Whether the debugger is turned on.
57
- * @alias Blockly.blockRendering.isDebuggerEnabled
58
- * @package
59
- * @deprecated
60
- */
61
- const isDebuggerEnabled = function() {
62
- deprecation.warn(
63
- 'Blockly.blockRendering.isDebuggerEnabled()', 'September 2021',
64
- 'September 2022',
65
- 'the debug renderer in @blockly/dev-tools (See https://www.npmjs.com/package/@blockly/dev-tools.)');
66
- return debug.isDebuggerEnabled();
67
- };
68
- exports.isDebuggerEnabled = isDebuggerEnabled;
69
-
70
- /**
71
- * Registers a new renderer.
72
- * @param {string} name The name of the renderer.
73
- * @param {!Function} rendererClass The new renderer class
74
- * to register.
75
- * @throws {Error} if a renderer with the same name has already been registered.
76
- */
77
- const register = function(name, rendererClass) {
78
- registry.register(registry.Type.RENDERER, name, rendererClass);
79
- };
80
- exports.register = register;
81
-
82
- /**
83
- * Unregisters the renderer registered with the given name.
84
- * @param {string} name The name of the renderer.
85
- * @alias Blockly.blockRendering.unregister
86
- */
87
- const unregister = function(name) {
88
- registry.unregister(registry.Type.RENDERER, name);
89
- };
90
- exports.unregister = unregister;
91
-
92
- /**
93
- * Turn on the blocks debugger.
94
- * @package
95
- * @alias Blockly.blockRendering.startDebugger
96
- * @deprecated
97
- */
98
- const startDebugger = function() {
99
- deprecation.warn(
100
- 'Blockly.blockRendering.startDebugger()', 'September 2021',
101
- 'September 2022',
102
- 'the debug renderer in @blockly/dev-tools (See https://www.npmjs.com/package/@blockly/dev-tools.)');
103
- debug.startDebugger();
104
- };
105
- exports.startDebugger = startDebugger;
106
-
107
- /**
108
- * Turn off the blocks debugger.
109
- * @package
110
- * @alias Blockly.blockRendering.stopDebugger
111
- * @deprecated
112
- */
113
- const stopDebugger = function() {
114
- deprecation.warn(
115
- 'Blockly.blockRendering.stopDebugger()', 'September 2021',
116
- 'September 2022',
117
- 'the debug renderer in @blockly/dev-tools (See https://www.npmjs.com/package/@blockly/dev-tools.)');
118
- debug.stopDebugger();
119
- };
120
- exports.stopDebugger = stopDebugger;
121
-
122
- /**
123
- * Initialize anything needed for rendering (constants, etc).
124
- * @param {!string} name Name of the renderer to initialize.
125
- * @param {!Theme} theme The workspace theme object.
126
- * @param {Object=} opt_rendererOverrides Rendering constant overrides.
127
- * @return {!Renderer} The new instance of a renderer.
128
- * Already initialized.
129
- * @package
130
- * @alias Blockly.blockRendering.init
131
- */
132
- const init = function(name, theme, opt_rendererOverrides) {
133
- const rendererClass = registry.getClass(registry.Type.RENDERER, name);
134
- const renderer = new rendererClass(name);
135
- renderer.init(theme, opt_rendererOverrides);
136
- return renderer;
137
- };
138
- exports.init = init;
139
-
140
- exports.BottomRow = BottomRow;
141
- exports.Connection = Connection;
142
- exports.ConstantProvider = ConstantProvider;
143
- exports.Debug = Debug;
144
- exports.Drawer = Drawer;
145
- exports.ExternalValueInput = ExternalValueInput;
146
- exports.Field = Field;
147
- exports.Hat = Hat;
148
- exports.Icon = Icon;
149
- exports.InRowSpacer = InRowSpacer;
150
- exports.InlineInput = InlineInput;
151
- exports.InputConnection = InputConnection;
152
- exports.InputRow = InputRow;
153
- exports.IPathObject = IPathObject;
154
- exports.JaggedEdge = JaggedEdge;
155
- exports.MarkerSvg = MarkerSvg;
156
- exports.Measurable = Measurable;
157
- exports.NextConnection = NextConnection;
158
- exports.OutputConnection = OutputConnection;
159
- exports.PathObject = PathObject;
160
- exports.PreviousConnection = PreviousConnection;
161
- exports.Renderer = Renderer;
162
- exports.RenderInfo = RenderInfo;
163
- exports.RoundCorner = RoundCorner;
164
- exports.Row = Row;
165
- exports.SpacerRow = SpacerRow;
166
- exports.SquareCorner = SquareCorner;
167
- exports.StatementInput = StatementInput;
168
- exports.TopRow = TopRow;
169
- exports.Types = Types;
170
- exports.debug = debug;