blockly 8.0.5 → 9.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (736) hide show
  1. package/blockly.min.js +2002 -2269
  2. package/blockly_compressed.js +1499 -1994
  3. package/blockly_compressed.js.map +1 -1
  4. package/blocks/blocks.js +3 -2
  5. package/blocks/colour.js +3 -1
  6. package/blocks/lists.js +94 -22
  7. package/blocks/logic.js +14 -6
  8. package/blocks/loops.js +5 -3
  9. package/blocks/math.js +3 -1
  10. package/blocks/procedures.js +3 -1
  11. package/blocks/text.js +14 -6
  12. package/blocks/variables.js +3 -1
  13. package/blocks/variables_dynamic.js +3 -1
  14. package/blocks.d.ts +0 -2
  15. package/blocks_compressed.js +189 -171
  16. package/blocks_compressed.js.map +1 -1
  17. package/closure/goog/base.d.ts +1 -0
  18. package/closure/goog/base_minimal.d.ts +18 -0
  19. package/closure/goog/goog.d.ts +25 -0
  20. package/core/any_aliases.d.ts +1 -0
  21. package/core/any_aliases.ts +1 -0
  22. package/core/block.d.ts +779 -0
  23. package/core/{block.js → block.ts} +610 -719
  24. package/core/block_animations.d.ts +33 -0
  25. package/core/{block_animations.js → block_animations.ts} +75 -79
  26. package/core/block_drag_surface.d.ts +111 -0
  27. package/core/{block_drag_surface.js → block_drag_surface.ts} +85 -117
  28. package/core/block_dragger.d.ts +143 -0
  29. package/core/{block_dragger.js → block_dragger.ts} +139 -176
  30. package/core/block_svg.d.ts +588 -0
  31. package/core/{block_svg.js → block_svg.ts} +494 -630
  32. package/core/blockly.d.ts +562 -0
  33. package/core/blockly.js +1 -1
  34. package/core/blockly.ts +749 -0
  35. package/core/blockly_options.d.ts +69 -0
  36. package/core/blockly_options.ts +81 -0
  37. package/core/blocks.d.ts +17 -0
  38. package/core/{blocks.js → blocks.ts} +4 -8
  39. package/core/browser_events.d.ts +85 -0
  40. package/core/{browser_events.js → browser_events.ts} +98 -93
  41. package/core/bubble.d.ts +279 -0
  42. package/core/{bubble.js → bubble.ts} +277 -370
  43. package/core/bubble_dragger.d.ts +73 -0
  44. package/core/bubble_dragger.ts +229 -0
  45. package/core/bump_objects.d.ts +34 -0
  46. package/core/{bump_objects.js → bump_objects.ts} +54 -52
  47. package/core/clipboard.d.ts +42 -0
  48. package/core/clipboard.ts +91 -0
  49. package/core/comment.d.ts +113 -0
  50. package/core/{comment.js → comment.ts} +135 -185
  51. package/core/common.d.ts +129 -0
  52. package/core/{common.js → common.ts} +105 -82
  53. package/core/component_manager.d.ts +91 -0
  54. package/core/component_manager.ts +211 -0
  55. package/core/config.d.ts +23 -0
  56. package/core/{config.js → config.ts} +12 -19
  57. package/core/connection.d.ts +232 -0
  58. package/core/{connection.js → connection.ts} +187 -237
  59. package/core/connection_checker.d.ts +78 -0
  60. package/core/{connection_checker.js → connection_checker.ts} +66 -77
  61. package/core/connection_db.d.ts +91 -0
  62. package/core/{connection_db.js → connection_db.ts} +62 -87
  63. package/core/connection_type.d.ts +15 -0
  64. package/core/{connection_type.js → connection_type.ts} +8 -12
  65. package/core/constants.d.ts +15 -0
  66. package/core/{constants.js → constants.ts} +4 -8
  67. package/core/contextmenu.d.ts +80 -0
  68. package/core/{contextmenu.js → contextmenu.ts} +118 -153
  69. package/core/contextmenu_items.d.ts +77 -0
  70. package/core/contextmenu_items.ts +576 -0
  71. package/core/contextmenu_registry.d.ts +105 -0
  72. package/core/contextmenu_registry.ts +179 -0
  73. package/core/css.d.ts +24 -0
  74. package/core/{css.js → css.ts} +16 -24
  75. package/core/delete_area.d.ts +47 -0
  76. package/core/delete_area.ts +82 -0
  77. package/core/dialog.d.ts +61 -0
  78. package/core/dialog.ts +127 -0
  79. package/core/drag_target.d.ts +63 -0
  80. package/core/drag_target.ts +94 -0
  81. package/core/dropdowndiv.d.ts +155 -0
  82. package/core/{dropdowndiv.js → dropdowndiv.ts} +262 -333
  83. package/core/events/events.d.ts +102 -0
  84. package/core/events/events.ts +123 -0
  85. package/core/events/events_abstract.d.ts +51 -0
  86. package/core/events/events_abstract.ts +112 -0
  87. package/core/events/events_block_base.d.ts +31 -0
  88. package/core/events/events_block_base.ts +65 -0
  89. package/core/events/events_block_change.d.ts +55 -0
  90. package/core/events/{events_block_change.js → events_block_change.ts} +45 -48
  91. package/core/events/events_block_create.d.ts +35 -0
  92. package/core/events/{events_block_create.js → events_block_create.ts} +30 -35
  93. package/core/events/events_block_delete.d.ts +36 -0
  94. package/core/events/{events_block_delete.js → events_block_delete.ts} +34 -39
  95. package/core/events/events_block_drag.d.ts +36 -0
  96. package/core/events/events_block_drag.ts +82 -0
  97. package/core/events/events_block_move.d.ts +51 -0
  98. package/core/events/{events_block_move.js → events_block_move.ts} +54 -50
  99. package/core/events/events_bubble_open.d.ts +35 -0
  100. package/core/events/events_bubble_open.ts +82 -0
  101. package/core/events/events_click.d.ts +36 -0
  102. package/core/events/{events_click.js → events_click.ts} +27 -30
  103. package/core/events/events_comment_base.d.ts +39 -0
  104. package/core/events/events_comment_base.ts +107 -0
  105. package/core/events/events_comment_change.d.ts +43 -0
  106. package/core/events/{events_comment_change.js → events_comment_change.ts} +31 -28
  107. package/core/events/events_comment_create.d.ts +35 -0
  108. package/core/events/{events_comment_create.js → events_comment_create.ts} +24 -26
  109. package/core/events/events_comment_delete.d.ts +35 -0
  110. package/core/events/{events_comment_delete.js → events_comment_delete.ts} +20 -24
  111. package/core/events/events_comment_move.d.ts +55 -0
  112. package/core/events/{events_comment_move.js → events_comment_move.ts} +39 -42
  113. package/core/events/events_marker_move.d.ts +40 -0
  114. package/core/events/events_marker_move.ts +99 -0
  115. package/core/events/events_selected.d.ts +34 -0
  116. package/core/events/events_selected.ts +78 -0
  117. package/core/events/events_theme_change.d.ts +30 -0
  118. package/core/events/{events_theme_change.js → events_theme_change.ts} +19 -24
  119. package/core/events/events_toolbox_item_select.d.ts +34 -0
  120. package/core/events/events_toolbox_item_select.ts +79 -0
  121. package/core/events/events_trashcan_open.d.ts +31 -0
  122. package/core/events/events_trashcan_open.ts +68 -0
  123. package/core/events/events_ui.d.ts +37 -0
  124. package/core/events/{events_ui.js → events_ui.ts} +27 -26
  125. package/core/events/events_ui_base.d.ts +26 -0
  126. package/core/events/{events_ui_base.js → events_ui_base.ts} +17 -26
  127. package/core/events/events_var_base.d.ts +31 -0
  128. package/core/events/events_var_base.ts +65 -0
  129. package/core/events/events_var_create.d.ts +35 -0
  130. package/core/events/{events_var_create.js → events_var_create.ts} +24 -25
  131. package/core/events/events_var_delete.d.ts +35 -0
  132. package/core/events/{events_var_delete.js → events_var_delete.ts} +24 -25
  133. package/core/events/events_var_rename.d.ts +36 -0
  134. package/core/events/{events_var_rename.js → events_var_rename.ts} +25 -26
  135. package/core/events/events_viewport.d.ts +39 -0
  136. package/core/events/events_viewport.ts +100 -0
  137. package/core/events/utils.d.ts +272 -0
  138. package/core/events/{utils.js → utils.ts} +148 -219
  139. package/core/events/workspace_events.d.ts +36 -0
  140. package/core/events/workspace_events.ts +86 -0
  141. package/core/extensions.d.ts +107 -0
  142. package/core/{extensions.js → extensions.ts} +153 -172
  143. package/core/field.d.ts +534 -0
  144. package/core/{field.js → field.ts} +413 -489
  145. package/core/field_angle.d.ts +176 -0
  146. package/core/field_angle.ts +563 -0
  147. package/core/field_checkbox.d.ts +124 -0
  148. package/core/field_checkbox.ts +243 -0
  149. package/core/field_colour.d.ts +200 -0
  150. package/core/field_colour.ts +632 -0
  151. package/core/field_dropdown.d.ts +222 -0
  152. package/core/{field_dropdown.js → field_dropdown.ts} +277 -299
  153. package/core/field_image.d.ts +134 -0
  154. package/core/field_image.ts +282 -0
  155. package/core/field_label.d.ts +71 -0
  156. package/core/field_label.ts +152 -0
  157. package/core/field_label_serializable.d.ts +42 -0
  158. package/core/field_label_serializable.ts +76 -0
  159. package/core/field_multilineinput.d.ts +146 -0
  160. package/core/{field_multilineinput.js → field_multilineinput.ts} +166 -163
  161. package/core/field_number.d.ts +156 -0
  162. package/core/{field_number.js → field_number.ts} +110 -123
  163. package/core/field_registry.d.ts +45 -0
  164. package/core/{field_registry.js → field_registry.ts} +37 -30
  165. package/core/field_textinput.d.ts +219 -0
  166. package/core/field_textinput.ts +591 -0
  167. package/core/field_variable.d.ts +217 -0
  168. package/core/{field_variable.js → field_variable.ts} +174 -187
  169. package/core/flyout_base.d.ts +459 -0
  170. package/core/{flyout_base.js → flyout_base.ts} +429 -518
  171. package/core/flyout_button.d.ts +81 -0
  172. package/core/flyout_button.ts +292 -0
  173. package/core/flyout_horizontal.d.ts +82 -0
  174. package/core/{flyout_horizontal.js → flyout_horizontal.ts} +97 -107
  175. package/core/flyout_metrics_manager.d.ts +40 -0
  176. package/core/{flyout_metrics_manager.js → flyout_metrics_manager.ts} +22 -34
  177. package/core/flyout_vertical.d.ts +83 -0
  178. package/core/{flyout_vertical.js → flyout_vertical.ts} +106 -117
  179. package/core/generator.d.ts +205 -0
  180. package/core/{generator.js → generator.ts} +168 -193
  181. package/core/gesture.d.ts +357 -0
  182. package/core/{gesture.js → gesture.ts} +289 -369
  183. package/core/grid.d.ts +83 -0
  184. package/core/grid.ts +192 -0
  185. package/core/icon.d.ts +78 -0
  186. package/core/icon.ts +189 -0
  187. package/core/inject.d.ts +15 -0
  188. package/core/{inject.js → inject.ts} +101 -100
  189. package/core/input.d.ts +128 -0
  190. package/core/input.ts +309 -0
  191. package/core/input_types.d.ts +14 -0
  192. package/core/{input_types.js → input_types.ts} +8 -12
  193. package/core/insertion_marker_manager.d.ts +212 -0
  194. package/core/{insertion_marker_manager.js → insertion_marker_manager.ts} +234 -236
  195. package/core/interfaces/i_ast_node_location.d.ts +11 -0
  196. package/core/interfaces/{i_ast_node_location.js → i_ast_node_location.ts} +4 -7
  197. package/core/interfaces/i_ast_node_location_svg.d.ts +22 -0
  198. package/core/interfaces/i_ast_node_location_svg.ts +37 -0
  199. package/core/interfaces/i_ast_node_location_with_block.d.ts +18 -0
  200. package/core/interfaces/i_ast_node_location_with_block.ts +38 -0
  201. package/core/interfaces/i_autohideable.d.ts +18 -0
  202. package/core/interfaces/i_autohideable.ts +34 -0
  203. package/core/interfaces/i_block_dragger.d.ts +43 -0
  204. package/core/interfaces/i_block_dragger.ts +67 -0
  205. package/core/interfaces/i_bounded_element.d.ts +24 -0
  206. package/core/interfaces/i_bounded_element.ts +42 -0
  207. package/core/interfaces/i_bubble.d.ts +59 -0
  208. package/core/interfaces/i_bubble.ts +88 -0
  209. package/core/interfaces/i_collapsible_toolbox_item.d.ts +26 -0
  210. package/core/interfaces/i_collapsible_toolbox_item.ts +47 -0
  211. package/core/interfaces/i_component.d.ts +17 -0
  212. package/core/interfaces/{i_component.js → i_component.ts} +9 -14
  213. package/core/interfaces/i_connection_checker.d.ts +69 -0
  214. package/core/interfaces/i_connection_checker.ts +102 -0
  215. package/core/interfaces/i_contextmenu.d.ts +13 -0
  216. package/core/interfaces/i_contextmenu.ts +26 -0
  217. package/core/interfaces/i_copyable.d.ts +24 -0
  218. package/core/interfaces/i_copyable.ts +40 -0
  219. package/core/interfaces/i_deletable.d.ts +16 -0
  220. package/core/interfaces/{i_deletable.js → i_deletable.ts} +9 -13
  221. package/core/interfaces/i_delete_area.d.ts +25 -0
  222. package/core/interfaces/i_delete_area.ts +46 -0
  223. package/core/interfaces/i_drag_target.d.ts +53 -0
  224. package/core/interfaces/i_drag_target.ts +84 -0
  225. package/core/interfaces/i_draggable.d.ts +12 -0
  226. package/core/interfaces/{i_draggable.js → i_draggable.ts} +4 -10
  227. package/core/interfaces/i_flyout.d.ts +134 -0
  228. package/core/interfaces/i_flyout.ts +186 -0
  229. package/core/interfaces/i_keyboard_accessible.d.ts +18 -0
  230. package/core/interfaces/i_keyboard_accessible.ts +35 -0
  231. package/core/interfaces/i_metrics_manager.d.ts +117 -0
  232. package/core/interfaces/i_metrics_manager.ts +151 -0
  233. package/core/interfaces/i_movable.d.ts +16 -0
  234. package/core/interfaces/{i_movable.js → i_movable.ts} +9 -13
  235. package/core/interfaces/i_positionable.d.ts +27 -0
  236. package/core/interfaces/i_positionable.ts +50 -0
  237. package/core/interfaces/i_registrable.d.ts +11 -0
  238. package/core/interfaces/{i_registrable.js → i_registrable.ts} +3 -7
  239. package/core/interfaces/i_registrable_field.d.ts +17 -0
  240. package/core/interfaces/{i_registrable_field.js → i_registrable_field.ts} +8 -16
  241. package/core/interfaces/i_selectable.d.ts +18 -0
  242. package/core/interfaces/i_selectable.ts +34 -0
  243. package/core/interfaces/i_selectable_toolbox_item.d.ts +42 -0
  244. package/core/interfaces/i_selectable_toolbox_item.ts +64 -0
  245. package/core/interfaces/i_serializer.d.ts +42 -0
  246. package/core/interfaces/i_serializer.ts +65 -0
  247. package/core/interfaces/i_styleable.d.ts +21 -0
  248. package/core/interfaces/i_styleable.ts +35 -0
  249. package/core/interfaces/i_toolbox.d.ts +85 -0
  250. package/core/interfaces/i_toolbox.ts +127 -0
  251. package/core/interfaces/i_toolbox_item.d.ts +62 -0
  252. package/core/interfaces/i_toolbox_item.ts +84 -0
  253. package/core/internal_constants.d.ts +40 -0
  254. package/core/{internal_constants.js → internal_constants.ts} +13 -18
  255. package/core/keyboard_nav/ast_node.d.ts +239 -0
  256. package/core/keyboard_nav/{ast_node.js → ast_node.ts} +207 -231
  257. package/core/keyboard_nav/basic_cursor.d.ts +88 -0
  258. package/core/keyboard_nav/{basic_cursor.js → basic_cursor.ts} +55 -66
  259. package/core/keyboard_nav/cursor.d.ts +41 -0
  260. package/core/keyboard_nav/{cursor.js → cursor.ts} +25 -35
  261. package/core/keyboard_nav/marker.d.ts +58 -0
  262. package/core/keyboard_nav/{marker.js → marker.ts} +36 -55
  263. package/core/keyboard_nav/tab_navigate_cursor.d.ts +19 -0
  264. package/core/keyboard_nav/{tab_navigate_cursor.js → tab_navigate_cursor.ts} +11 -15
  265. package/core/main.d.ts +11 -0
  266. package/core/main.js +303 -0
  267. package/core/marker_manager.d.ts +85 -0
  268. package/core/marker_manager.ts +181 -0
  269. package/core/menu.d.ts +149 -0
  270. package/core/{menu.js → menu.ts} +141 -174
  271. package/core/menuitem.d.ts +118 -0
  272. package/core/menuitem.ts +240 -0
  273. package/core/metrics_manager.d.ts +201 -0
  274. package/core/{metrics_manager.js → metrics_manager.ts} +117 -156
  275. package/core/msg.d.ts +9 -0
  276. package/core/{msg.js → msg.ts} +4 -8
  277. package/core/mutator.d.ts +128 -0
  278. package/core/{mutator.js → mutator.ts} +196 -211
  279. package/core/names.d.ts +124 -0
  280. package/core/names.ts +267 -0
  281. package/core/options.d.ts +137 -0
  282. package/core/{options.js → options.ts} +147 -173
  283. package/core/positionable_helpers.d.ts +88 -0
  284. package/core/{positionable_helpers.js → positionable_helpers.ts} +63 -70
  285. package/core/procedures.d.ts +108 -0
  286. package/core/{procedures.js → procedures.ts} +143 -152
  287. package/core/registry.d.ts +137 -0
  288. package/core/registry.ts +339 -0
  289. package/core/rendered_connection.d.ts +191 -0
  290. package/core/{rendered_connection.js → rendered_connection.ts} +164 -184
  291. package/core/renderers/common/block_rendering.d.ts +114 -0
  292. package/core/renderers/common/block_rendering.ts +164 -0
  293. package/core/renderers/common/constants.d.ts +458 -0
  294. package/core/renderers/common/constants.ts +1124 -0
  295. package/core/renderers/common/debug.d.ts +28 -0
  296. package/core/renderers/common/{debug.js → debug.ts} +14 -20
  297. package/core/renderers/common/debugger.d.ts +120 -0
  298. package/core/renderers/common/{debugger.js → debugger.ts} +100 -124
  299. package/core/renderers/common/drawer.d.ts +132 -0
  300. package/core/renderers/common/{drawer.js → drawer.ts} +112 -137
  301. package/core/renderers/common/i_path_object.d.ts +117 -0
  302. package/core/renderers/common/i_path_object.ts +161 -0
  303. package/core/renderers/common/info.d.ts +194 -0
  304. package/core/renderers/common/{info.js → info.ts} +165 -222
  305. package/core/renderers/common/marker_svg.d.ts +220 -0
  306. package/core/renderers/common/marker_svg.ts +680 -0
  307. package/core/renderers/common/path_object.d.ts +146 -0
  308. package/core/renderers/common/path_object.ts +272 -0
  309. package/core/renderers/common/renderer.d.ts +157 -0
  310. package/core/renderers/common/renderer.ts +271 -0
  311. package/core/renderers/geras/constants.d.ts +23 -0
  312. package/core/renderers/geras/constants.ts +61 -0
  313. package/core/renderers/geras/drawer.d.ts +43 -0
  314. package/core/renderers/geras/{drawer.js → drawer.ts} +40 -84
  315. package/core/renderers/geras/geras.d.ts +11 -0
  316. package/core/renderers/geras/geras.ts +37 -0
  317. package/core/renderers/geras/highlight_constants.d.ts +108 -0
  318. package/core/renderers/geras/{highlight_constants.js → highlight_constants.ts} +107 -69
  319. package/core/renderers/geras/highlighter.d.ts +98 -0
  320. package/core/renderers/geras/{highlighter.js → highlighter.ts} +81 -86
  321. package/core/renderers/geras/info.d.ts +45 -0
  322. package/core/renderers/geras/{info.js → info.ts} +61 -99
  323. package/core/renderers/geras/measurables/inline_input.d.ts +23 -0
  324. package/core/renderers/geras/measurables/inline_input.ts +51 -0
  325. package/core/renderers/geras/measurables/statement_input.d.ts +23 -0
  326. package/core/renderers/geras/measurables/statement_input.ts +50 -0
  327. package/core/renderers/geras/path_object.d.ts +47 -0
  328. package/core/renderers/geras/{path_object.js → path_object.ts} +46 -74
  329. package/core/renderers/geras/renderer.d.ts +69 -0
  330. package/core/renderers/geras/renderer.ts +126 -0
  331. package/core/renderers/measurables/base.d.ts +27 -0
  332. package/core/renderers/measurables/base.ts +53 -0
  333. package/core/renderers/measurables/bottom_row.d.ts +61 -0
  334. package/core/renderers/measurables/bottom_row.ts +120 -0
  335. package/core/renderers/measurables/connection.d.ts +25 -0
  336. package/core/renderers/measurables/connection.ts +52 -0
  337. package/core/renderers/measurables/external_value_input.d.ts +27 -0
  338. package/core/renderers/measurables/external_value_input.ts +65 -0
  339. package/core/renderers/measurables/field.d.ts +30 -0
  340. package/core/renderers/measurables/field.ts +63 -0
  341. package/core/renderers/measurables/hat.d.ts +21 -0
  342. package/core/renderers/measurables/{hat.js → hat.ts} +12 -14
  343. package/core/renderers/measurables/icon.d.ts +26 -0
  344. package/core/renderers/measurables/{icon.js → icon.ts} +14 -18
  345. package/core/renderers/measurables/in_row_spacer.d.ts +21 -0
  346. package/core/renderers/measurables/in_row_spacer.ts +44 -0
  347. package/core/renderers/measurables/inline_input.d.ts +24 -0
  348. package/core/renderers/measurables/{inline_input.js → inline_input.ts} +22 -26
  349. package/core/renderers/measurables/input_connection.d.ts +29 -0
  350. package/core/renderers/measurables/input_connection.ts +66 -0
  351. package/core/renderers/measurables/input_row.d.ts +30 -0
  352. package/core/renderers/measurables/{input_row.js → input_row.ts} +24 -31
  353. package/core/renderers/measurables/jagged_edge.d.ts +20 -0
  354. package/core/renderers/measurables/{jagged_edge.js → jagged_edge.ts} +10 -13
  355. package/core/renderers/measurables/next_connection.d.ts +23 -0
  356. package/core/renderers/measurables/next_connection.ts +47 -0
  357. package/core/renderers/measurables/output_connection.d.ts +26 -0
  358. package/core/renderers/measurables/output_connection.ts +56 -0
  359. package/core/renderers/measurables/previous_connection.d.ts +23 -0
  360. package/core/renderers/measurables/previous_connection.ts +47 -0
  361. package/core/renderers/measurables/round_corner.d.ts +21 -0
  362. package/core/renderers/measurables/round_corner.ts +49 -0
  363. package/core/renderers/measurables/row.d.ts +141 -0
  364. package/core/renderers/measurables/row.ts +225 -0
  365. package/core/renderers/measurables/spacer_row.d.ts +29 -0
  366. package/core/renderers/measurables/spacer_row.ts +55 -0
  367. package/core/renderers/measurables/square_corner.d.ts +21 -0
  368. package/core/renderers/measurables/square_corner.ts +47 -0
  369. package/core/renderers/measurables/statement_input.d.ts +22 -0
  370. package/core/renderers/measurables/{statement_input.js → statement_input.ts} +14 -18
  371. package/core/renderers/measurables/top_row.d.ts +56 -0
  372. package/core/renderers/measurables/top_row.ts +122 -0
  373. package/core/renderers/measurables/types.d.ts +235 -0
  374. package/core/renderers/measurables/types.ts +332 -0
  375. package/core/renderers/minimalist/constants.d.ts +14 -0
  376. package/core/renderers/minimalist/{constants.js → constants.ts} +5 -10
  377. package/core/renderers/minimalist/drawer.d.ts +21 -0
  378. package/core/renderers/minimalist/drawer.ts +38 -0
  379. package/core/renderers/minimalist/info.d.ts +30 -0
  380. package/core/renderers/minimalist/info.ts +52 -0
  381. package/core/renderers/minimalist/minimalist.d.ts +6 -0
  382. package/core/renderers/minimalist/minimalist.ts +22 -0
  383. package/core/renderers/minimalist/renderer.d.ts +41 -0
  384. package/core/renderers/minimalist/renderer.ts +71 -0
  385. package/core/renderers/thrasos/info.d.ts +40 -0
  386. package/core/renderers/thrasos/{info.js → info.ts} +66 -67
  387. package/core/renderers/thrasos/renderer.d.ts +25 -0
  388. package/core/renderers/thrasos/renderer.ts +48 -0
  389. package/core/renderers/thrasos/thrasos.d.ts +4 -0
  390. package/core/renderers/thrasos/thrasos.ts +20 -0
  391. package/core/renderers/zelos/constants.d.ts +186 -0
  392. package/core/renderers/zelos/{constants.js → constants.ts} +294 -441
  393. package/core/renderers/zelos/drawer.d.ts +47 -0
  394. package/core/renderers/zelos/{drawer.js → drawer.ts} +73 -95
  395. package/core/renderers/zelos/info.d.ts +88 -0
  396. package/core/renderers/zelos/{info.js → info.ts} +111 -142
  397. package/core/renderers/zelos/marker_svg.d.ts +46 -0
  398. package/core/renderers/zelos/marker_svg.ts +151 -0
  399. package/core/renderers/zelos/measurables/bottom_row.d.ts +27 -0
  400. package/core/renderers/zelos/measurables/bottom_row.ts +53 -0
  401. package/core/renderers/zelos/measurables/inputs.d.ts +23 -0
  402. package/core/renderers/zelos/measurables/{inputs.js → inputs.ts} +14 -15
  403. package/core/renderers/zelos/measurables/row_elements.d.ts +21 -0
  404. package/core/renderers/zelos/measurables/row_elements.ts +45 -0
  405. package/core/renderers/zelos/measurables/top_row.d.ts +29 -0
  406. package/core/renderers/zelos/measurables/{top_row.js → top_row.ts} +14 -27
  407. package/core/renderers/zelos/path_object.d.ts +77 -0
  408. package/core/renderers/zelos/path_object.ts +215 -0
  409. package/core/renderers/zelos/renderer.d.ts +74 -0
  410. package/core/renderers/zelos/renderer.ts +142 -0
  411. package/core/renderers/zelos/zelos.d.ts +12 -0
  412. package/core/renderers/zelos/zelos.ts +39 -0
  413. package/core/scrollbar.d.ts +277 -0
  414. package/core/{scrollbar.js → scrollbar.ts} +307 -328
  415. package/core/scrollbar_pair.d.ts +105 -0
  416. package/core/{scrollbar_pair.js → scrollbar_pair.ts} +71 -79
  417. package/core/serialization/blocks.d.ts +98 -0
  418. package/core/serialization/{blocks.js → blocks.ts} +229 -228
  419. package/core/serialization/exceptions.d.ts +73 -0
  420. package/core/serialization/exceptions.ts +98 -0
  421. package/core/serialization/priorities.d.ts +15 -0
  422. package/core/serialization/{priorities.js → priorities.ts} +4 -10
  423. package/core/serialization/registry.d.ts +20 -0
  424. package/core/serialization/{registry.js → registry.ts} +11 -13
  425. package/core/serialization/variables.d.ts +14 -0
  426. package/core/serialization/{variables.js → variables.ts} +30 -32
  427. package/core/serialization/workspaces.d.ts +28 -0
  428. package/core/serialization/{workspaces.js → workspaces.ts} +30 -27
  429. package/core/shortcut_items.d.ts +61 -0
  430. package/core/{shortcut_items.js → shortcut_items.ts} +121 -157
  431. package/core/shortcut_registry.d.ts +151 -0
  432. package/core/shortcut_registry.ts +355 -0
  433. package/core/sprites.d.ts +19 -0
  434. package/core/{sprites.js → sprites.ts} +4 -6
  435. package/core/theme/classic.d.ts +12 -0
  436. package/core/theme/{classic.js → classic.ts} +5 -7
  437. package/core/theme/themes.d.ts +8 -0
  438. package/core/theme/themes.ts +22 -0
  439. package/core/theme/zelos.d.ts +11 -0
  440. package/core/theme/{zelos.js → zelos.ts} +4 -7
  441. package/core/theme.d.ts +142 -0
  442. package/core/theme.ts +221 -0
  443. package/core/theme_manager.d.ts +81 -0
  444. package/core/theme_manager.ts +186 -0
  445. package/core/toolbox/category.d.ts +239 -0
  446. package/core/toolbox/category.ts +679 -0
  447. package/core/toolbox/collapsible_category.d.ts +91 -0
  448. package/core/toolbox/collapsible_category.ts +273 -0
  449. package/core/toolbox/separator.d.ts +39 -0
  450. package/core/toolbox/separator.ts +105 -0
  451. package/core/toolbox/toolbox.d.ts +352 -0
  452. package/core/toolbox/{toolbox.js → toolbox.ts} +316 -432
  453. package/core/toolbox/toolbox_item.d.ts +85 -0
  454. package/core/toolbox/toolbox_item.ts +147 -0
  455. package/core/tooltip.d.ts +126 -0
  456. package/core/{tooltip.js → tooltip.ts} +136 -214
  457. package/core/touch.d.ts +121 -0
  458. package/core/touch.ts +306 -0
  459. package/core/touch_gesture.d.ts +115 -0
  460. package/core/{touch_gesture.js → touch_gesture.ts} +87 -125
  461. package/core/trashcan.d.ts +195 -0
  462. package/core/{trashcan.js → trashcan.ts} +226 -312
  463. package/core/utils/aria.d.ts +67 -0
  464. package/core/utils/{aria.js → aria.ts} +47 -61
  465. package/core/utils/array.d.ts +14 -0
  466. package/core/utils/{array.js → array.ts} +10 -12
  467. package/core/utils/colour.d.ts +103 -0
  468. package/core/utils/{colour.js → colour.ts} +60 -72
  469. package/core/utils/coordinate.d.ts +72 -0
  470. package/core/utils/coordinate.ts +124 -0
  471. package/core/utils/deprecation.d.ts +17 -0
  472. package/core/utils/{deprecation.js → deprecation.ts} +11 -11
  473. package/core/utils/dom.d.ts +165 -0
  474. package/core/utils/{dom.js → dom.ts} +125 -147
  475. package/core/utils/idgenerator.d.ts +25 -0
  476. package/core/utils/{idgenerator.js → idgenerator.ts} +15 -18
  477. package/core/utils/keycodes.d.ts +137 -0
  478. package/core/utils/keycodes.ts +169 -0
  479. package/core/utils/math.d.ts +30 -0
  480. package/core/utils/{math.js → math.ts} +17 -19
  481. package/core/utils/metrics.d.ts +64 -0
  482. package/core/utils/metrics.ts +97 -0
  483. package/core/utils/object.d.ts +35 -0
  484. package/core/utils/{object.js → object.ts} +30 -26
  485. package/core/utils/parsing.d.ts +50 -0
  486. package/core/utils/{parsing.js → parsing.ts} +50 -50
  487. package/core/utils/rect.d.ts +38 -0
  488. package/core/utils/{rect.js → rect.ts} +18 -31
  489. package/core/utils/sentinel.d.ts +11 -0
  490. package/core/utils/{sentinel.js → sentinel.ts} +3 -5
  491. package/core/utils/size.d.ts +27 -0
  492. package/core/utils/{size.js → size.ts} +12 -26
  493. package/core/utils/string.d.ts +55 -0
  494. package/core/utils/{string.js → string.ts} +64 -61
  495. package/core/utils/style.d.ts +127 -0
  496. package/core/utils/{style.js → style.ts} +102 -92
  497. package/core/utils/svg.d.ts +68 -0
  498. package/core/utils/svg.ts +88 -0
  499. package/core/utils/svg_math.d.ts +70 -0
  500. package/core/utils/{svg_math.js → svg_math.ts} +72 -71
  501. package/core/utils/svg_paths.d.ts +101 -0
  502. package/core/utils/{svg_paths.js → svg_paths.ts} +56 -65
  503. package/core/utils/toolbox.d.ts +193 -0
  504. package/core/utils/toolbox.ts +433 -0
  505. package/core/utils/useragent.d.ts +33 -0
  506. package/core/utils/useragent.ts +135 -0
  507. package/core/utils/xml.d.ts +52 -0
  508. package/core/utils/{xml.js → xml.ts} +26 -36
  509. package/core/utils.d.ts +217 -0
  510. package/core/utils.ts +428 -0
  511. package/core/variable_map.d.ts +141 -0
  512. package/core/{variable_map.js → variable_map.ts} +131 -149
  513. package/core/variable_model.d.ts +40 -0
  514. package/core/variable_model.ts +82 -0
  515. package/core/variables.d.ts +181 -0
  516. package/core/{variables.js → variables.ts} +206 -188
  517. package/core/variables_dynamic.d.ts +38 -0
  518. package/core/{variables_dynamic.js → variables_dynamic.ts} +47 -43
  519. package/core/warning.d.ts +50 -0
  520. package/core/{warning.js → warning.ts} +52 -66
  521. package/core/widgetdiv.d.ts +69 -0
  522. package/core/widgetdiv.ts +257 -0
  523. package/core/workspace.d.ts +386 -0
  524. package/core/workspace.ts +801 -0
  525. package/core/workspace_audio.d.ts +47 -0
  526. package/core/{workspace_audio.js → workspace_audio.ts} +47 -60
  527. package/core/workspace_comment.d.ts +170 -0
  528. package/core/workspace_comment.ts +398 -0
  529. package/core/workspace_comment_svg.d.ts +329 -0
  530. package/core/{workspace_comment_svg.js → workspace_comment_svg.ts} +347 -444
  531. package/core/workspace_drag_surface_svg.d.ts +68 -0
  532. package/core/{workspace_drag_surface_svg.js → workspace_drag_surface_svg.ts} +75 -82
  533. package/core/workspace_dragger.d.ts +48 -0
  534. package/core/workspace_dragger.ts +104 -0
  535. package/core/workspace_svg.d.ts +920 -0
  536. package/core/{workspace_svg.js → workspace_svg.ts} +855 -935
  537. package/core/xml.d.ts +117 -0
  538. package/core/{xml.js → xml.ts} +306 -326
  539. package/core/zoom_controls.d.ts +130 -0
  540. package/core/{zoom_controls.js → zoom_controls.ts} +185 -251
  541. package/core.d.ts +1 -3
  542. package/core.js +1 -2
  543. package/dart.d.ts +0 -3
  544. package/dart_compressed.js +387 -99
  545. package/dart_compressed.js.map +1 -1
  546. package/generators/dart/all.js +2 -0
  547. package/generators/dart/colour.js +1 -1
  548. package/generators/dart/lists.js +1 -1
  549. package/generators/dart/logic.js +1 -1
  550. package/generators/dart/loops.js +1 -1
  551. package/generators/dart/math.js +1 -1
  552. package/generators/dart/procedures.js +1 -1
  553. package/generators/dart/text.js +1 -1
  554. package/generators/dart/variables.js +1 -1
  555. package/generators/dart/variables_dynamic.js +1 -1
  556. package/generators/dart.js +1 -2
  557. package/generators/javascript/all.js +2 -0
  558. package/generators/javascript/colour.js +1 -1
  559. package/generators/javascript/lists.js +1 -1
  560. package/generators/javascript/logic.js +1 -1
  561. package/generators/javascript/loops.js +1 -1
  562. package/generators/javascript/math.js +4 -4
  563. package/generators/javascript/procedures.js +1 -1
  564. package/generators/javascript/text.js +2 -2
  565. package/generators/javascript/variables.js +1 -1
  566. package/generators/javascript/variables_dynamic.js +1 -1
  567. package/generators/javascript.js +1 -3
  568. package/generators/lua/all.js +2 -0
  569. package/generators/lua/colour.js +1 -1
  570. package/generators/lua/lists.js +1 -1
  571. package/generators/lua/logic.js +1 -1
  572. package/generators/lua/loops.js +1 -1
  573. package/generators/lua/math.js +1 -1
  574. package/generators/lua/procedures.js +1 -1
  575. package/generators/lua/text.js +1 -1
  576. package/generators/lua/variables.js +1 -1
  577. package/generators/lua/variables_dynamic.js +1 -1
  578. package/generators/lua.js +1 -2
  579. package/generators/php/all.js +2 -0
  580. package/generators/php/colour.js +1 -1
  581. package/generators/php/lists.js +1 -2
  582. package/generators/php/logic.js +1 -1
  583. package/generators/php/loops.js +1 -1
  584. package/generators/php/math.js +1 -1
  585. package/generators/php/procedures.js +1 -1
  586. package/generators/php/text.js +1 -1
  587. package/generators/php/variables.js +1 -1
  588. package/generators/php/variables_dynamic.js +1 -1
  589. package/generators/php.js +1 -2
  590. package/generators/python/all.js +2 -0
  591. package/generators/python/colour.js +3 -3
  592. package/generators/python/lists.js +1 -1
  593. package/generators/python/logic.js +1 -1
  594. package/generators/python/loops.js +4 -7
  595. package/generators/python/math.js +1 -1
  596. package/generators/python/procedures.js +1 -1
  597. package/generators/python/text.js +1 -1
  598. package/generators/python/variables.js +1 -1
  599. package/generators/python/variables_dynamic.js +1 -1
  600. package/generators/python.js +1 -2
  601. package/index.d.ts +2 -8
  602. package/javascript.d.ts +0 -3
  603. package/javascript_compressed.js +314 -104
  604. package/javascript_compressed.js.map +1 -1
  605. package/lua.d.ts +0 -3
  606. package/lua_compressed.js +399 -81
  607. package/lua_compressed.js.map +1 -1
  608. package/package.json +5 -5
  609. package/php.d.ts +0 -3
  610. package/php_compressed.js +322 -93
  611. package/php_compressed.js.map +1 -1
  612. package/python.d.ts +0 -3
  613. package/python_compressed.js +237 -90
  614. package/python_compressed.js.map +1 -1
  615. package/blockly.d.ts +0 -26127
  616. package/core/blockly_options.js +0 -28
  617. package/core/bubble_dragger.js +0 -298
  618. package/core/clipboard.js +0 -80
  619. package/core/component_manager.js +0 -263
  620. package/core/contextmenu_items.js +0 -651
  621. package/core/contextmenu_registry.js +0 -178
  622. package/core/delete_area.js +0 -87
  623. package/core/dialog.js +0 -107
  624. package/core/drag_target.js +0 -98
  625. package/core/events/events.js +0 -147
  626. package/core/events/events_abstract.js +0 -133
  627. package/core/events/events_block_base.js +0 -70
  628. package/core/events/events_block_drag.js +0 -89
  629. package/core/events/events_bubble_open.js +0 -90
  630. package/core/events/events_comment_base.js +0 -121
  631. package/core/events/events_marker_move.js +0 -110
  632. package/core/events/events_selected.js +0 -83
  633. package/core/events/events_toolbox_item_select.js +0 -84
  634. package/core/events/events_trashcan_open.js +0 -73
  635. package/core/events/events_var_base.js +0 -70
  636. package/core/events/events_viewport.js +0 -107
  637. package/core/events/workspace_events.js +0 -93
  638. package/core/field_angle.js +0 -591
  639. package/core/field_checkbox.js +0 -255
  640. package/core/field_colour.js +0 -717
  641. package/core/field_image.js +0 -304
  642. package/core/field_label.js +0 -149
  643. package/core/field_label_serializable.js +0 -80
  644. package/core/field_textinput.js +0 -619
  645. package/core/flyout_button.js +0 -356
  646. package/core/grid.js +0 -226
  647. package/core/icon.js +0 -225
  648. package/core/input.js +0 -335
  649. package/core/interfaces/i_ast_node_location_svg.js +0 -45
  650. package/core/interfaces/i_ast_node_location_with_block.js +0 -41
  651. package/core/interfaces/i_autohideable.js +0 -40
  652. package/core/interfaces/i_block_dragger.js +0 -66
  653. package/core/interfaces/i_bounded_element.js +0 -45
  654. package/core/interfaces/i_bubble.js +0 -95
  655. package/core/interfaces/i_collapsible_toolbox_item.js +0 -53
  656. package/core/interfaces/i_connection_checker.js +0 -104
  657. package/core/interfaces/i_contextmenu.js +0 -32
  658. package/core/interfaces/i_copyable.js +0 -49
  659. package/core/interfaces/i_delete_area.js +0 -50
  660. package/core/interfaces/i_drag_target.js +0 -88
  661. package/core/interfaces/i_flyout.js +0 -201
  662. package/core/interfaces/i_keyboard_accessible.js +0 -38
  663. package/core/interfaces/i_metrics_manager.js +0 -154
  664. package/core/interfaces/i_positionable.js +0 -51
  665. package/core/interfaces/i_selectable.js +0 -51
  666. package/core/interfaces/i_selectable_toolbox_item.js +0 -73
  667. package/core/interfaces/i_serializer.js +0 -77
  668. package/core/interfaces/i_styleable.js +0 -39
  669. package/core/interfaces/i_toolbox.js +0 -142
  670. package/core/interfaces/i_toolbox_item.js +0 -85
  671. package/core/marker_manager.js +0 -213
  672. package/core/menuitem.js +0 -292
  673. package/core/names.js +0 -293
  674. package/core/registry.js +0 -384
  675. package/core/renderers/common/block_rendering.js +0 -170
  676. package/core/renderers/common/constants.js +0 -1250
  677. package/core/renderers/common/i_path_object.js +0 -162
  678. package/core/renderers/common/marker_svg.js +0 -721
  679. package/core/renderers/common/path_object.js +0 -283
  680. package/core/renderers/common/renderer.js +0 -305
  681. package/core/renderers/geras/constants.js +0 -73
  682. package/core/renderers/geras/geras.js +0 -36
  683. package/core/renderers/geras/measurables/inline_input.js +0 -58
  684. package/core/renderers/geras/measurables/statement_input.js +0 -57
  685. package/core/renderers/geras/renderer.js +0 -149
  686. package/core/renderers/measurables/base.js +0 -64
  687. package/core/renderers/measurables/bottom_row.js +0 -138
  688. package/core/renderers/measurables/connection.js +0 -56
  689. package/core/renderers/measurables/external_value_input.js +0 -70
  690. package/core/renderers/measurables/field.js +0 -71
  691. package/core/renderers/measurables/in_row_spacer.js +0 -47
  692. package/core/renderers/measurables/input_connection.js +0 -75
  693. package/core/renderers/measurables/next_connection.js +0 -50
  694. package/core/renderers/measurables/output_connection.js +0 -61
  695. package/core/renderers/measurables/previous_connection.js +0 -50
  696. package/core/renderers/measurables/round_corner.js +0 -52
  697. package/core/renderers/measurables/row.js +0 -247
  698. package/core/renderers/measurables/spacer_row.js +0 -69
  699. package/core/renderers/measurables/square_corner.js +0 -50
  700. package/core/renderers/measurables/top_row.js +0 -143
  701. package/core/renderers/measurables/types.js +0 -353
  702. package/core/renderers/minimalist/drawer.js +0 -42
  703. package/core/renderers/minimalist/info.js +0 -54
  704. package/core/renderers/minimalist/minimalist.js +0 -26
  705. package/core/renderers/minimalist/renderer.js +0 -80
  706. package/core/renderers/thrasos/renderer.js +0 -53
  707. package/core/renderers/thrasos/thrasos.js +0 -22
  708. package/core/renderers/zelos/marker_svg.js +0 -179
  709. package/core/renderers/zelos/measurables/bottom_row.js +0 -66
  710. package/core/renderers/zelos/measurables/row_elements.js +0 -46
  711. package/core/renderers/zelos/path_object.js +0 -247
  712. package/core/renderers/zelos/renderer.js +0 -147
  713. package/core/renderers/zelos/zelos.js +0 -38
  714. package/core/serialization/exceptions.js +0 -144
  715. package/core/shortcut_registry.js +0 -366
  716. package/core/theme/themes.js +0 -23
  717. package/core/theme.js +0 -228
  718. package/core/theme_manager.js +0 -211
  719. package/core/toolbox/category.js +0 -751
  720. package/core/toolbox/collapsible_category.js +0 -311
  721. package/core/toolbox/separator.js +0 -133
  722. package/core/toolbox/toolbox_item.js +0 -173
  723. package/core/touch.js +0 -285
  724. package/core/utils/coordinate.js +0 -138
  725. package/core/utils/global.js +0 -41
  726. package/core/utils/keycodes.js +0 -172
  727. package/core/utils/metrics.js +0 -154
  728. package/core/utils/svg.js +0 -186
  729. package/core/utils/toolbox.js +0 -459
  730. package/core/utils/useragent.js +0 -197
  731. package/core/utils.js +0 -383
  732. package/core/variable_model.js +0 -96
  733. package/core/widgetdiv.js +0 -290
  734. package/core/workspace.js +0 -836
  735. package/core/workspace_comment.js +0 -400
  736. package/core/workspace_dragger.js +0 -115
@@ -1,143 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2019 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
-
7
- /**
8
- * @fileoverview Object representing a top row on a rendered block.
9
- */
10
-
11
- /**
12
- * Object representing a top row on a rendered block.
13
- * @class
14
- */
15
- goog.module('Blockly.blockRendering.TopRow');
16
-
17
- /* eslint-disable-next-line no-unused-vars */
18
- const {BlockSvg} = goog.requireType('Blockly.BlockSvg');
19
- /* eslint-disable-next-line no-unused-vars */
20
- const {ConstantProvider} = goog.requireType('Blockly.blockRendering.ConstantProvider');
21
- const {Hat} = goog.require('Blockly.blockRendering.Hat');
22
- /* eslint-disable-next-line no-unused-vars */
23
- const {PreviousConnection} = goog.requireType('Blockly.blockRendering.PreviousConnection');
24
- const {Row} = goog.require('Blockly.blockRendering.Row');
25
- const {Types} = goog.require('Blockly.blockRendering.Types');
26
-
27
-
28
- /**
29
- * An object containing information about what elements are in the top row of a
30
- * block as well as sizing information for the top row.
31
- * Elements in a top row can consist of corners, hats, spacers, and previous
32
- * connections.
33
- * After this constructor is called, the row will contain all non-spacer
34
- * elements it needs.
35
- * @extends {Row}
36
- * @struct
37
- * @alias Blockly.blockRendering.TopRow
38
- */
39
- class TopRow extends Row {
40
- /**
41
- * @param {!ConstantProvider} constants The rendering
42
- * constants provider.
43
- * @package
44
- */
45
- constructor(constants) {
46
- super(constants);
47
-
48
- this.type |= Types.TOP_ROW;
49
-
50
- /**
51
- * The starting point for drawing the row, in the y direction.
52
- * This allows us to draw hats and similar shapes that don't start at the
53
- * origin. Must be non-negative (see #2820).
54
- * @package
55
- * @type {number}
56
- */
57
- this.capline = 0;
58
-
59
- /**
60
- * How much the row extends up above its capline.
61
- * @type {number}
62
- */
63
- this.ascenderHeight = 0;
64
-
65
- /**
66
- * Whether the block has a previous connection.
67
- * @package
68
- * @type {boolean}
69
- */
70
- this.hasPreviousConnection = false;
71
-
72
- /**
73
- * The previous connection on the block, if any.
74
- * @type {PreviousConnection}
75
- */
76
- this.connection = null;
77
- }
78
-
79
- /**
80
- * Returns whether or not the top row has a left square corner.
81
- * @param {!BlockSvg} block The block whose top row this represents.
82
- * @return {boolean} Whether or not the top row has a left square corner.
83
- */
84
- hasLeftSquareCorner(block) {
85
- const hasHat =
86
- (block.hat ? block.hat === 'cap' : this.constants_.ADD_START_HATS) &&
87
- !block.outputConnection && !block.previousConnection;
88
- const prevBlock = block.getPreviousBlock();
89
-
90
- return !!block.outputConnection || hasHat ||
91
- (prevBlock ? prevBlock.getNextBlock() === block : false);
92
- }
93
-
94
- /**
95
- * Returns whether or not the top row has a right square corner.
96
- * @param {!BlockSvg} _block The block whose top row this represents.
97
- * @return {boolean} Whether or not the top row has a right square corner.
98
- */
99
- hasRightSquareCorner(_block) {
100
- return true;
101
- }
102
-
103
- /**
104
- * @override
105
- */
106
- measure() {
107
- let height = 0;
108
- let width = 0;
109
- let ascenderHeight = 0;
110
- for (let i = 0; i < this.elements.length; i++) {
111
- const elem = this.elements[i];
112
- width += elem.width;
113
- if (!(Types.isSpacer(elem))) {
114
- if (Types.isHat(elem) && elem instanceof Hat) {
115
- ascenderHeight = Math.max(ascenderHeight, elem.ascenderHeight);
116
- } else {
117
- height = Math.max(height, elem.height);
118
- }
119
- }
120
- }
121
- this.width = Math.max(this.minWidth, width);
122
- this.height = Math.max(this.minHeight, height) + ascenderHeight;
123
- this.ascenderHeight = ascenderHeight;
124
- this.capline = this.ascenderHeight;
125
- this.widthWithConnectedBlocks = this.width;
126
- }
127
-
128
- /**
129
- * @override
130
- */
131
- startsWithElemSpacer() {
132
- return false;
133
- }
134
-
135
- /**
136
- * @override
137
- */
138
- endsWithElemSpacer() {
139
- return false;
140
- }
141
- }
142
-
143
- exports.TopRow = TopRow;
@@ -1,353 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2019 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
-
7
- /**
8
- * @fileoverview Measurable types.
9
- */
10
-
11
- 'use strict';
12
-
13
- /**
14
- * Measurable types.
15
- * @namespace Blockly.blockRendering.Types
16
- */
17
- goog.module('Blockly.blockRendering.Types');
18
-
19
- /* eslint-disable-next-line no-unused-vars */
20
- const {Measurable} = goog.requireType('Blockly.blockRendering.Measurable');
21
- /* eslint-disable-next-line no-unused-vars */
22
- const {Row} = goog.requireType('Blockly.blockRendering.Row');
23
-
24
-
25
- /**
26
- * Types of rendering elements.
27
- * @enum {number}
28
- * @alias Blockly.blockRendering.Types
29
- */
30
- const Types = {
31
- NONE: 0, // None
32
- FIELD: 1 << 0, // Field.
33
- HAT: 1 << 1, // Hat.
34
- ICON: 1 << 2, // Icon.
35
- SPACER: 1 << 3, // Spacer.
36
- BETWEEN_ROW_SPACER: 1 << 4, // Between Row Spacer.
37
- IN_ROW_SPACER: 1 << 5, // In Row Spacer.
38
- EXTERNAL_VALUE_INPUT: 1 << 6, // External Value Input.
39
- INPUT: 1 << 7, // Input.
40
- INLINE_INPUT: 1 << 8, // Inline Input.
41
- STATEMENT_INPUT: 1 << 9, // Statement Input.
42
- CONNECTION: 1 << 10, // Connection.
43
- PREVIOUS_CONNECTION: 1 << 11, // Previous Connection.
44
- NEXT_CONNECTION: 1 << 12, // Next Connection.
45
- OUTPUT_CONNECTION: 1 << 13, // Output Connection.
46
- CORNER: 1 << 14, // Corner.
47
- LEFT_SQUARE_CORNER: 1 << 15, // Square Corner.
48
- LEFT_ROUND_CORNER: 1 << 16, // Round Corner.
49
- RIGHT_SQUARE_CORNER: 1 << 17, // Right Square Corner.
50
- RIGHT_ROUND_CORNER: 1 << 18, // Right Round Corner.
51
- JAGGED_EDGE: 1 << 19, // Jagged Edge.
52
- ROW: 1 << 20, // Row.
53
- TOP_ROW: 1 << 21, // Top Row.
54
- BOTTOM_ROW: 1 << 22, // Bottom Row.
55
- INPUT_ROW: 1 << 23, // Input Row.
56
- };
57
-
58
- /**
59
- * A Left Corner Union Type.
60
- * @type {number}
61
- * @const
62
- * @package
63
- */
64
- Types.LEFT_CORNER = Types.LEFT_SQUARE_CORNER | Types.LEFT_ROUND_CORNER;
65
-
66
- /**
67
- * A Right Corner Union Type.
68
- * @type {number}
69
- * @const
70
- * @package
71
- */
72
- Types.RIGHT_CORNER = Types.RIGHT_SQUARE_CORNER | Types.RIGHT_ROUND_CORNER;
73
-
74
- /**
75
- * Next flag value to use for custom rendering element types.
76
- * This must be updated to reflect the next enum flag value
77
- * to use if additional elements are added to
78
- * `Types`.
79
- * @type {number}
80
- * @private
81
- */
82
- Types.nextTypeValue_ = 1 << 24;
83
-
84
- /**
85
- * Get the enum flag value of an existing type or register a new type.
86
- * @param {!string} type The name of the type.
87
- * @return {!number} The enum flag value associated with that type.
88
- * @package
89
- */
90
- Types.getType = function(type) {
91
- if (!Object.prototype.hasOwnProperty.call(Types, type)) {
92
- Types[type] = Types.nextTypeValue_;
93
- Types.nextTypeValue_ <<= 1;
94
- }
95
- return Types[type];
96
- };
97
-
98
- /**
99
- * Whether a measurable stores information about a field.
100
- * @param {!Measurable} elem The element to check.
101
- * @return {number} 1 if the object stores information about a field.
102
- * @package
103
- */
104
- Types.isField = function(elem) {
105
- return elem.type & Types.FIELD;
106
- };
107
-
108
- /**
109
- * Whether a measurable stores information about a hat.
110
- * @param {!Measurable} elem The element to check.
111
- * @return {number} 1 if the object stores information about a hat.
112
- * @package
113
- */
114
- Types.isHat = function(elem) {
115
- return elem.type & Types.HAT;
116
- };
117
-
118
- /**
119
- * Whether a measurable stores information about an icon.
120
- * @param {!Measurable} elem The element to check.
121
- * @return {number} 1 if the object stores information about an icon.
122
- * @package
123
- */
124
- Types.isIcon = function(elem) {
125
- return elem.type & Types.ICON;
126
- };
127
-
128
- /**
129
- * Whether a measurable stores information about a spacer.
130
- * @param {!Measurable|!Row} elem
131
- * The element to check.
132
- * @return {number} 1 if the object stores information about a spacer.
133
- * @package
134
- */
135
- Types.isSpacer = function(elem) {
136
- return elem.type & Types.SPACER;
137
- };
138
-
139
- /**
140
- * Whether a measurable stores information about an in-row spacer.
141
- * @param {!Measurable} elem The element to check.
142
- * @return {number} 1 if the object stores information about an
143
- * in-row spacer.
144
- * @package
145
- */
146
- Types.isInRowSpacer = function(elem) {
147
- return elem.type & Types.IN_ROW_SPACER;
148
- };
149
-
150
- /**
151
- * Whether a measurable stores information about an input.
152
- * @param {!Measurable} elem The element to check.
153
- * @return {number} 1 if the object stores information about an input.
154
- * @package
155
- */
156
- Types.isInput = function(elem) {
157
- return elem.type & Types.INPUT;
158
- };
159
-
160
- /**
161
- * Whether a measurable stores information about an external input.
162
- * @param {!Measurable} elem The element to check.
163
- * @return {number} 1 if the object stores information about an
164
- * external input.
165
- * @package
166
- */
167
- Types.isExternalInput = function(elem) {
168
- return elem.type & Types.EXTERNAL_VALUE_INPUT;
169
- };
170
-
171
- /**
172
- * Whether a measurable stores information about an inline input.
173
- * @param {!Measurable} elem The element to check.
174
- * @return {number} 1 if the object stores information about an
175
- * inline input.
176
- * @package
177
- */
178
- Types.isInlineInput = function(elem) {
179
- return elem.type & Types.INLINE_INPUT;
180
- };
181
-
182
- /**
183
- * Whether a measurable stores information about a statement input.
184
- * @param {!Measurable} elem The element to check.
185
- * @return {number} 1 if the object stores information about a
186
- * statement input.
187
- * @package
188
- */
189
- Types.isStatementInput = function(elem) {
190
- return elem.type & Types.STATEMENT_INPUT;
191
- };
192
-
193
- /**
194
- * Whether a measurable stores information about a previous connection.
195
- * @param {!Measurable} elem The element to check.
196
- * @return {number} 1 if the object stores information about a
197
- * previous connection.
198
- * @package
199
- */
200
- Types.isPreviousConnection = function(elem) {
201
- return elem.type & Types.PREVIOUS_CONNECTION;
202
- };
203
-
204
- /**
205
- * Whether a measurable stores information about a next connection.
206
- * @param {!Measurable} elem The element to check.
207
- * @return {number} 1 if the object stores information about a
208
- * next connection.
209
- * @package
210
- */
211
- Types.isNextConnection = function(elem) {
212
- return elem.type & Types.NEXT_CONNECTION;
213
- };
214
-
215
- /**
216
- * Whether a measurable stores information about a previous or next connection.
217
- * @param {!Measurable} elem The element to check.
218
- * @return {number} 1 if the object stores information about a previous or
219
- * next connection.
220
- * @package
221
- */
222
- Types.isPreviousOrNextConnection = function(elem) {
223
- return elem.type & (Types.PREVIOUS_CONNECTION | Types.NEXT_CONNECTION);
224
- };
225
-
226
- /**
227
- * Whether a measurable stores information about a left round corner.
228
- * @param {!Measurable} elem The element to check.
229
- * @return {number} 1 if the object stores information about a
230
- * left round corner.
231
- * @package
232
- */
233
- Types.isLeftRoundedCorner = function(elem) {
234
- return elem.type & Types.LEFT_ROUND_CORNER;
235
- };
236
-
237
- /**
238
- * Whether a measurable stores information about a right round corner.
239
- * @param {!Measurable} elem The element to check.
240
- * @return {number} 1 if the object stores information about a
241
- * right round corner.
242
- * @package
243
- */
244
- Types.isRightRoundedCorner = function(elem) {
245
- return elem.type & Types.RIGHT_ROUND_CORNER;
246
- };
247
-
248
- /**
249
- * Whether a measurable stores information about a left square corner.
250
- * @param {!Measurable} elem The element to check.
251
- * @return {number} 1 if the object stores information about a
252
- * left square corner.
253
- * @package
254
- */
255
- Types.isLeftSquareCorner = function(elem) {
256
- return elem.type & Types.LEFT_SQUARE_CORNER;
257
- };
258
-
259
- /**
260
- * Whether a measurable stores information about a right square corner.
261
- * @param {!Measurable} elem The element to check.
262
- * @return {number} 1 if the object stores information about a
263
- * right square corner.
264
- * @package
265
- */
266
- Types.isRightSquareCorner = function(elem) {
267
- return elem.type & Types.RIGHT_SQUARE_CORNER;
268
- };
269
-
270
- /**
271
- * Whether a measurable stores information about a corner.
272
- * @param {!Measurable} elem The element to check.
273
- * @return {number} 1 if the object stores information about a
274
- * corner.
275
- * @package
276
- */
277
- Types.isCorner = function(elem) {
278
- return elem.type & Types.CORNER;
279
- };
280
-
281
- /**
282
- * Whether a measurable stores information about a jagged edge.
283
- * @param {!Measurable} elem The element to check.
284
- * @return {number} 1 if the object stores information about a jagged edge.
285
- * @package
286
- */
287
- Types.isJaggedEdge = function(elem) {
288
- return elem.type & Types.JAGGED_EDGE;
289
- };
290
-
291
- /**
292
- * Whether a measurable stores information about a row.
293
- * @param {!Row} row The row to check.
294
- * @return {number} 1 if the object stores information about a row.
295
- * @package
296
- */
297
- Types.isRow = function(row) {
298
- return row.type & Types.ROW;
299
- };
300
-
301
- /**
302
- * Whether a measurable stores information about a between-row spacer.
303
- * @param {!Row} row The row to check.
304
- * @return {number} 1 if the object stores information about a
305
- * between-row spacer.
306
- * @package
307
- */
308
- Types.isBetweenRowSpacer = function(row) {
309
- return row.type & Types.BETWEEN_ROW_SPACER;
310
- };
311
-
312
- /**
313
- * Whether a measurable stores information about a top row.
314
- * @param {!Row} row The row to check.
315
- * @return {number} 1 if the object stores information about a top row.
316
- * @package
317
- */
318
- Types.isTopRow = function(row) {
319
- return row.type & Types.TOP_ROW;
320
- };
321
-
322
- /**
323
- * Whether a measurable stores information about a bottom row.
324
- * @param {!Row} row The row to check.
325
- * @return {number} 1 if the object stores information about a bottom row.
326
- * @package
327
- */
328
- Types.isBottomRow = function(row) {
329
- return row.type & Types.BOTTOM_ROW;
330
- };
331
-
332
- /**
333
- * Whether a measurable stores information about a top or bottom row.
334
- * @param {!Row} row The row to check.
335
- * @return {number} 1 if the object stores information about a top or
336
- * bottom row.
337
- * @package
338
- */
339
- Types.isTopOrBottomRow = function(row) {
340
- return row.type & (Types.TOP_ROW | Types.BOTTOM_ROW);
341
- };
342
-
343
- /**
344
- * Whether a measurable stores information about an input row.
345
- * @param {!Row} row The row to check.
346
- * @return {number} 1 if the object stores information about an input row.
347
- * @package
348
- */
349
- Types.isInputRow = function(row) {
350
- return row.type & Types.INPUT_ROW;
351
- };
352
-
353
- exports.Types = Types;
@@ -1,42 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2019 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
-
7
- /**
8
- * @fileoverview Minimalist rendering drawer.
9
- */
10
- 'use strict';
11
-
12
- /**
13
- * Minimalist rendering drawer.
14
- * @class
15
- */
16
- goog.module('Blockly.minimalist.Drawer');
17
-
18
- /* eslint-disable-next-line no-unused-vars */
19
- const {BlockSvg} = goog.requireType('Blockly.BlockSvg');
20
- const {Drawer: BaseDrawer} = goog.require('Blockly.blockRendering.Drawer');
21
- /* eslint-disable-next-line no-unused-vars */
22
- const {RenderInfo} = goog.requireType('Blockly.minimalist.RenderInfo');
23
-
24
-
25
- /**
26
- * An object that draws a block based on the given rendering information.
27
- * @extends {BaseDrawer}
28
- * @alias Blockly.minimalist.Drawer
29
- */
30
- class Drawer extends BaseDrawer {
31
- /**
32
- * @param {!BlockSvg} block The block to render.
33
- * @param {!RenderInfo} info An object containing all
34
- * information needed to render this block.
35
- * @package
36
- */
37
- constructor(block, info) {
38
- super(block, info);
39
- }
40
- }
41
-
42
- exports.Drawer = Drawer;
@@ -1,54 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2019 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
-
7
- /**
8
- * @fileoverview Minimalist render info object.
9
- */
10
- 'use strict';
11
-
12
- /**
13
- * Minimalist render info object.
14
- * @class
15
- */
16
- goog.module('Blockly.minimalist.RenderInfo');
17
-
18
- /* eslint-disable-next-line no-unused-vars */
19
- const {BlockSvg} = goog.requireType('Blockly.BlockSvg');
20
- const {RenderInfo: BaseRenderInfo} = goog.require('Blockly.blockRendering.RenderInfo');
21
- /* eslint-disable-next-line no-unused-vars */
22
- const {Renderer} = goog.requireType('Blockly.minimalist.Renderer');
23
-
24
-
25
- /**
26
- * An object containing all sizing information needed to draw this block.
27
- *
28
- * This measure pass does not propagate changes to the block (although fields
29
- * may choose to rerender when getSize() is called). However, calling it
30
- * repeatedly may be expensive.
31
- * @extends {BaseRenderInfo}
32
- * @alias Blockly.minimalist.RenderInfo
33
- */
34
- class RenderInfo extends BaseRenderInfo {
35
- /**
36
- * @param {!Renderer} renderer The renderer in use.
37
- * @param {!BlockSvg} block The block to measure.
38
- * @package
39
- */
40
- constructor(renderer, block) {
41
- super(renderer, block);
42
- }
43
-
44
- /**
45
- * Get the block renderer in use.
46
- * @return {!Renderer} The block renderer in use.
47
- * @package
48
- */
49
- getRenderer() {
50
- return /** @type {!Renderer} */ (this.renderer_);
51
- }
52
- }
53
-
54
- exports.RenderInfo = RenderInfo;
@@ -1,26 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2021 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
-
7
- /**
8
- * @fileoverview Re-exports of Blockly.minimalist.* modules.
9
- */
10
- 'use strict';
11
-
12
- /**
13
- * Re-exports of Blockly.minimalist.* modules.
14
- * @namespace Blockly.minimalist
15
- */
16
- goog.module('Blockly.minimalist');
17
-
18
- const {ConstantProvider} = goog.require('Blockly.minimalist.ConstantProvider');
19
- const {Drawer} = goog.require('Blockly.minimalist.Drawer');
20
- const {RenderInfo} = goog.require('Blockly.minimalist.RenderInfo');
21
- const {Renderer} = goog.require('Blockly.minimalist.Renderer');
22
-
23
- exports.ConstantProvider = ConstantProvider;
24
- exports.Drawer = Drawer;
25
- exports.RenderInfo = RenderInfo;
26
- exports.Renderer = Renderer;
@@ -1,80 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2019 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
-
7
- /**
8
- * @fileoverview Minimalist renderer.
9
- */
10
- 'use strict';
11
-
12
- /**
13
- * Minimalist renderer.
14
- * @class
15
- */
16
- goog.module('Blockly.minimalist.Renderer');
17
-
18
- const blockRendering = goog.require('Blockly.blockRendering');
19
- /* eslint-disable-next-line no-unused-vars */
20
- const {BlockSvg} = goog.requireType('Blockly.BlockSvg');
21
- const {ConstantProvider} = goog.require('Blockly.minimalist.ConstantProvider');
22
- const {Drawer} = goog.require('Blockly.minimalist.Drawer');
23
- /* eslint-disable-next-line no-unused-vars */
24
- const {RenderInfo: BaseRenderInfo} = goog.requireType('Blockly.blockRendering.RenderInfo');
25
- const {RenderInfo} = goog.require('Blockly.minimalist.RenderInfo');
26
- const {Renderer: BaseRenderer} = goog.require('Blockly.blockRendering.Renderer');
27
-
28
-
29
- /**
30
- * The minimalist renderer.
31
- * @extends {BaseRenderer}
32
- * @alias Blockly.minimalist.Renderer
33
- */
34
- class Renderer extends BaseRenderer {
35
- /**
36
- * @param {string} name The renderer name.
37
- * @package
38
- */
39
- constructor(name) {
40
- super(name);
41
- }
42
-
43
- /**
44
- * Create a new instance of the renderer's constant provider.
45
- * @return {!ConstantProvider} The constant provider.
46
- * @protected
47
- * @override
48
- */
49
- makeConstants_() {
50
- return new ConstantProvider();
51
- }
52
-
53
- /**
54
- * Create a new instance of the renderer's render info object.
55
- * @param {!BlockSvg} block The block to measure.
56
- * @return {!RenderInfo} The render info object.
57
- * @protected
58
- * @override
59
- */
60
- makeRenderInfo_(block) {
61
- return new RenderInfo(this, block);
62
- }
63
-
64
- /**
65
- * Create a new instance of the renderer's drawer.
66
- * @param {!BlockSvg} block The block to render.
67
- * @param {!BaseRenderInfo} info An object containing all
68
- * information needed to render this block.
69
- * @return {!Drawer} The drawer.
70
- * @protected
71
- * @override
72
- */
73
- makeDrawer_(block, info) {
74
- return new Drawer(block, /** @type {!RenderInfo} */ (info));
75
- }
76
- }
77
-
78
- blockRendering.register('minimalist', Renderer);
79
-
80
- exports.Renderer = Renderer;