blockly 8.0.4 → 8.0.5-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (858) hide show
  1. package/blockly.min.js +2421 -2688
  2. package/blockly_compressed.js +1499 -1994
  3. package/blockly_compressed.js.map +1 -1
  4. package/blocks/blocks.js +3 -2
  5. package/blocks/colour.js +3 -1
  6. package/blocks/lists.js +94 -22
  7. package/blocks/logic.js +14 -6
  8. package/blocks/loops.js +5 -3
  9. package/blocks/math.js +3 -1
  10. package/blocks/procedures.js +3 -1
  11. package/blocks/text.js +14 -6
  12. package/blocks/variables.js +3 -1
  13. package/blocks/variables_dynamic.js +3 -1
  14. package/blocks.d.ts +0 -2
  15. package/blocks_compressed.js +189 -171
  16. package/blocks_compressed.js.map +1 -1
  17. package/closure/goog/base.d.ts +1 -0
  18. package/closure/goog/base_minimal.d.ts +18 -0
  19. package/closure/goog/goog.d.ts +25 -0
  20. package/core/any_aliases.d.ts +1 -0
  21. package/core/any_aliases.ts +1 -0
  22. package/core/block.d.ts +779 -0
  23. package/core/{block.js → block.ts} +610 -719
  24. package/core/block_animations.d.ts +33 -0
  25. package/core/{block_animations.js → block_animations.ts} +75 -79
  26. package/core/block_drag_surface.d.ts +111 -0
  27. package/core/{block_drag_surface.js → block_drag_surface.ts} +85 -117
  28. package/core/block_dragger.d.ts +143 -0
  29. package/core/{block_dragger.js → block_dragger.ts} +139 -176
  30. package/core/block_svg.d.ts +588 -0
  31. package/core/{block_svg.js → block_svg.ts} +494 -630
  32. package/core/blockly.d.ts +562 -0
  33. package/core/blockly.js +1 -1
  34. package/core/blockly.ts +749 -0
  35. package/core/blockly_options.d.ts +69 -0
  36. package/core/blockly_options.ts +81 -0
  37. package/core/blocks.d.ts +17 -0
  38. package/core/{blocks.js → blocks.ts} +4 -8
  39. package/core/browser_events.d.ts +85 -0
  40. package/core/{browser_events.js → browser_events.ts} +98 -93
  41. package/core/bubble.d.ts +279 -0
  42. package/core/{bubble.js → bubble.ts} +277 -370
  43. package/core/bubble_dragger.d.ts +73 -0
  44. package/core/bubble_dragger.ts +229 -0
  45. package/core/bump_objects.d.ts +34 -0
  46. package/core/{bump_objects.js → bump_objects.ts} +54 -52
  47. package/core/clipboard.d.ts +42 -0
  48. package/core/clipboard.ts +91 -0
  49. package/core/comment.d.ts +113 -0
  50. package/core/{comment.js → comment.ts} +135 -185
  51. package/core/common.d.ts +129 -0
  52. package/core/{common.js → common.ts} +105 -82
  53. package/core/component_manager.d.ts +91 -0
  54. package/core/component_manager.ts +211 -0
  55. package/core/config.d.ts +23 -0
  56. package/core/{config.js → config.ts} +12 -19
  57. package/core/connection.d.ts +232 -0
  58. package/core/{connection.js → connection.ts} +187 -237
  59. package/core/connection_checker.d.ts +78 -0
  60. package/core/{connection_checker.js → connection_checker.ts} +66 -77
  61. package/core/connection_db.d.ts +91 -0
  62. package/core/{connection_db.js → connection_db.ts} +62 -87
  63. package/core/connection_type.d.ts +15 -0
  64. package/core/{connection_type.js → connection_type.ts} +8 -12
  65. package/core/constants.d.ts +15 -0
  66. package/core/{constants.js → constants.ts} +4 -8
  67. package/core/contextmenu.d.ts +80 -0
  68. package/core/{contextmenu.js → contextmenu.ts} +118 -153
  69. package/core/contextmenu_items.d.ts +77 -0
  70. package/core/contextmenu_items.ts +576 -0
  71. package/core/contextmenu_registry.d.ts +105 -0
  72. package/core/contextmenu_registry.ts +179 -0
  73. package/core/css.d.ts +24 -0
  74. package/core/{css.js → css.ts} +16 -24
  75. package/core/delete_area.d.ts +47 -0
  76. package/core/delete_area.ts +82 -0
  77. package/core/dialog.d.ts +61 -0
  78. package/core/dialog.ts +127 -0
  79. package/core/drag_target.d.ts +63 -0
  80. package/core/drag_target.ts +94 -0
  81. package/core/dropdowndiv.d.ts +155 -0
  82. package/core/{dropdowndiv.js → dropdowndiv.ts} +262 -333
  83. package/core/events/events.d.ts +102 -0
  84. package/core/events/events.ts +123 -0
  85. package/core/events/events_abstract.d.ts +51 -0
  86. package/core/events/events_abstract.ts +112 -0
  87. package/core/events/events_block_base.d.ts +31 -0
  88. package/core/events/events_block_base.ts +65 -0
  89. package/core/events/events_block_change.d.ts +55 -0
  90. package/core/events/{events_block_change.js → events_block_change.ts} +45 -48
  91. package/core/events/events_block_create.d.ts +35 -0
  92. package/core/events/{events_block_create.js → events_block_create.ts} +30 -35
  93. package/core/events/events_block_delete.d.ts +36 -0
  94. package/core/events/{events_block_delete.js → events_block_delete.ts} +34 -39
  95. package/core/events/events_block_drag.d.ts +36 -0
  96. package/core/events/events_block_drag.ts +82 -0
  97. package/core/events/events_block_move.d.ts +51 -0
  98. package/core/events/{events_block_move.js → events_block_move.ts} +54 -50
  99. package/core/events/events_bubble_open.d.ts +35 -0
  100. package/core/events/events_bubble_open.ts +82 -0
  101. package/core/events/events_click.d.ts +36 -0
  102. package/core/events/{events_click.js → events_click.ts} +27 -30
  103. package/core/events/events_comment_base.d.ts +39 -0
  104. package/core/events/events_comment_base.ts +107 -0
  105. package/core/events/events_comment_change.d.ts +43 -0
  106. package/core/events/{events_comment_change.js → events_comment_change.ts} +31 -28
  107. package/core/events/events_comment_create.d.ts +35 -0
  108. package/core/events/{events_comment_create.js → events_comment_create.ts} +24 -26
  109. package/core/events/events_comment_delete.d.ts +35 -0
  110. package/core/events/{events_comment_delete.js → events_comment_delete.ts} +20 -24
  111. package/core/events/events_comment_move.d.ts +55 -0
  112. package/core/events/{events_comment_move.js → events_comment_move.ts} +39 -42
  113. package/core/events/events_marker_move.d.ts +40 -0
  114. package/core/events/events_marker_move.ts +99 -0
  115. package/core/events/events_selected.d.ts +34 -0
  116. package/core/events/events_selected.ts +78 -0
  117. package/core/events/events_theme_change.d.ts +30 -0
  118. package/core/events/{events_theme_change.js → events_theme_change.ts} +19 -24
  119. package/core/events/events_toolbox_item_select.d.ts +34 -0
  120. package/core/events/events_toolbox_item_select.ts +79 -0
  121. package/core/events/events_trashcan_open.d.ts +31 -0
  122. package/core/events/events_trashcan_open.ts +68 -0
  123. package/core/events/events_ui.d.ts +37 -0
  124. package/core/events/{events_ui.js → events_ui.ts} +27 -26
  125. package/core/events/events_ui_base.d.ts +26 -0
  126. package/core/events/{events_ui_base.js → events_ui_base.ts} +17 -26
  127. package/core/events/events_var_base.d.ts +31 -0
  128. package/core/events/events_var_base.ts +65 -0
  129. package/core/events/events_var_create.d.ts +35 -0
  130. package/core/events/{events_var_create.js → events_var_create.ts} +24 -25
  131. package/core/events/events_var_delete.d.ts +35 -0
  132. package/core/events/{events_var_delete.js → events_var_delete.ts} +24 -25
  133. package/core/events/events_var_rename.d.ts +36 -0
  134. package/core/events/{events_var_rename.js → events_var_rename.ts} +25 -26
  135. package/core/events/events_viewport.d.ts +39 -0
  136. package/core/events/events_viewport.ts +100 -0
  137. package/core/events/utils.d.ts +272 -0
  138. package/core/events/{utils.js → utils.ts} +148 -219
  139. package/core/events/workspace_events.d.ts +36 -0
  140. package/core/events/workspace_events.ts +86 -0
  141. package/core/extensions.d.ts +107 -0
  142. package/core/{extensions.js → extensions.ts} +153 -172
  143. package/core/field.d.ts +534 -0
  144. package/core/{field.js → field.ts} +413 -489
  145. package/core/field_angle.d.ts +176 -0
  146. package/core/field_angle.ts +563 -0
  147. package/core/field_checkbox.d.ts +124 -0
  148. package/core/field_checkbox.ts +243 -0
  149. package/core/field_colour.d.ts +200 -0
  150. package/core/field_colour.ts +632 -0
  151. package/core/field_dropdown.d.ts +222 -0
  152. package/core/{field_dropdown.js → field_dropdown.ts} +277 -299
  153. package/core/field_image.d.ts +134 -0
  154. package/core/field_image.ts +282 -0
  155. package/core/field_label.d.ts +71 -0
  156. package/core/field_label.ts +152 -0
  157. package/core/field_label_serializable.d.ts +42 -0
  158. package/core/field_label_serializable.ts +76 -0
  159. package/core/field_multilineinput.d.ts +146 -0
  160. package/core/{field_multilineinput.js → field_multilineinput.ts} +166 -163
  161. package/core/field_number.d.ts +156 -0
  162. package/core/{field_number.js → field_number.ts} +110 -123
  163. package/core/field_registry.d.ts +45 -0
  164. package/core/{field_registry.js → field_registry.ts} +37 -30
  165. package/core/field_textinput.d.ts +219 -0
  166. package/core/field_textinput.ts +591 -0
  167. package/core/field_variable.d.ts +217 -0
  168. package/core/{field_variable.js → field_variable.ts} +174 -187
  169. package/core/flyout_base.d.ts +459 -0
  170. package/core/{flyout_base.js → flyout_base.ts} +429 -518
  171. package/core/flyout_button.d.ts +81 -0
  172. package/core/flyout_button.ts +292 -0
  173. package/core/flyout_horizontal.d.ts +82 -0
  174. package/core/{flyout_horizontal.js → flyout_horizontal.ts} +97 -107
  175. package/core/flyout_metrics_manager.d.ts +40 -0
  176. package/core/{flyout_metrics_manager.js → flyout_metrics_manager.ts} +22 -34
  177. package/core/flyout_vertical.d.ts +83 -0
  178. package/core/{flyout_vertical.js → flyout_vertical.ts} +106 -117
  179. package/core/generator.d.ts +205 -0
  180. package/core/{generator.js → generator.ts} +168 -193
  181. package/core/gesture.d.ts +357 -0
  182. package/core/{gesture.js → gesture.ts} +289 -369
  183. package/core/grid.d.ts +83 -0
  184. package/core/grid.ts +192 -0
  185. package/core/icon.d.ts +78 -0
  186. package/core/icon.ts +189 -0
  187. package/core/inject.d.ts +15 -0
  188. package/core/{inject.js → inject.ts} +101 -100
  189. package/core/input.d.ts +128 -0
  190. package/core/input.ts +309 -0
  191. package/core/input_types.d.ts +14 -0
  192. package/core/{input_types.js → input_types.ts} +8 -12
  193. package/core/insertion_marker_manager.d.ts +212 -0
  194. package/core/{insertion_marker_manager.js → insertion_marker_manager.ts} +234 -236
  195. package/core/interfaces/i_ast_node_location.d.ts +11 -0
  196. package/core/interfaces/{i_ast_node_location.js → i_ast_node_location.ts} +4 -7
  197. package/core/interfaces/i_ast_node_location_svg.d.ts +22 -0
  198. package/core/interfaces/i_ast_node_location_svg.ts +37 -0
  199. package/core/interfaces/i_ast_node_location_with_block.d.ts +18 -0
  200. package/core/interfaces/i_ast_node_location_with_block.ts +38 -0
  201. package/core/interfaces/i_autohideable.d.ts +18 -0
  202. package/core/interfaces/i_autohideable.ts +34 -0
  203. package/core/interfaces/i_block_dragger.d.ts +43 -0
  204. package/core/interfaces/i_block_dragger.ts +67 -0
  205. package/core/interfaces/i_bounded_element.d.ts +24 -0
  206. package/core/interfaces/i_bounded_element.ts +42 -0
  207. package/core/interfaces/i_bubble.d.ts +59 -0
  208. package/core/interfaces/i_bubble.ts +88 -0
  209. package/core/interfaces/i_collapsible_toolbox_item.d.ts +26 -0
  210. package/core/interfaces/i_collapsible_toolbox_item.ts +47 -0
  211. package/core/interfaces/i_component.d.ts +17 -0
  212. package/core/interfaces/{i_component.js → i_component.ts} +9 -14
  213. package/core/interfaces/i_connection_checker.d.ts +69 -0
  214. package/core/interfaces/i_connection_checker.ts +102 -0
  215. package/core/interfaces/i_contextmenu.d.ts +13 -0
  216. package/core/interfaces/i_contextmenu.ts +26 -0
  217. package/core/interfaces/i_copyable.d.ts +24 -0
  218. package/core/interfaces/i_copyable.ts +40 -0
  219. package/core/interfaces/i_deletable.d.ts +16 -0
  220. package/core/interfaces/{i_deletable.js → i_deletable.ts} +9 -13
  221. package/core/interfaces/i_delete_area.d.ts +25 -0
  222. package/core/interfaces/i_delete_area.ts +46 -0
  223. package/core/interfaces/i_drag_target.d.ts +53 -0
  224. package/core/interfaces/i_drag_target.ts +84 -0
  225. package/core/interfaces/i_draggable.d.ts +12 -0
  226. package/core/interfaces/{i_draggable.js → i_draggable.ts} +4 -10
  227. package/core/interfaces/i_flyout.d.ts +134 -0
  228. package/core/interfaces/i_flyout.ts +186 -0
  229. package/core/interfaces/i_keyboard_accessible.d.ts +18 -0
  230. package/core/interfaces/i_keyboard_accessible.ts +35 -0
  231. package/core/interfaces/i_metrics_manager.d.ts +117 -0
  232. package/core/interfaces/i_metrics_manager.ts +151 -0
  233. package/core/interfaces/i_movable.d.ts +16 -0
  234. package/core/interfaces/{i_movable.js → i_movable.ts} +9 -13
  235. package/core/interfaces/i_positionable.d.ts +27 -0
  236. package/core/interfaces/i_positionable.ts +50 -0
  237. package/core/interfaces/i_registrable.d.ts +11 -0
  238. package/core/interfaces/{i_registrable.js → i_registrable.ts} +3 -7
  239. package/core/interfaces/i_registrable_field.d.ts +17 -0
  240. package/core/interfaces/{i_registrable_field.js → i_registrable_field.ts} +8 -16
  241. package/core/interfaces/i_selectable.d.ts +18 -0
  242. package/core/interfaces/i_selectable.ts +34 -0
  243. package/core/interfaces/i_selectable_toolbox_item.d.ts +42 -0
  244. package/core/interfaces/i_selectable_toolbox_item.ts +64 -0
  245. package/core/interfaces/i_serializer.d.ts +42 -0
  246. package/core/interfaces/i_serializer.ts +65 -0
  247. package/core/interfaces/i_styleable.d.ts +21 -0
  248. package/core/interfaces/i_styleable.ts +35 -0
  249. package/core/interfaces/i_toolbox.d.ts +85 -0
  250. package/core/interfaces/i_toolbox.ts +127 -0
  251. package/core/interfaces/i_toolbox_item.d.ts +62 -0
  252. package/core/interfaces/i_toolbox_item.ts +84 -0
  253. package/core/internal_constants.d.ts +40 -0
  254. package/core/{internal_constants.js → internal_constants.ts} +13 -18
  255. package/core/keyboard_nav/ast_node.d.ts +239 -0
  256. package/core/keyboard_nav/{ast_node.js → ast_node.ts} +207 -231
  257. package/core/keyboard_nav/basic_cursor.d.ts +88 -0
  258. package/core/keyboard_nav/{basic_cursor.js → basic_cursor.ts} +55 -66
  259. package/core/keyboard_nav/cursor.d.ts +41 -0
  260. package/core/keyboard_nav/{cursor.js → cursor.ts} +25 -35
  261. package/core/keyboard_nav/marker.d.ts +58 -0
  262. package/core/keyboard_nav/{marker.js → marker.ts} +36 -55
  263. package/core/keyboard_nav/tab_navigate_cursor.d.ts +19 -0
  264. package/core/keyboard_nav/{tab_navigate_cursor.js → tab_navigate_cursor.ts} +11 -15
  265. package/core/main.d.ts +11 -0
  266. package/core/main.js +303 -0
  267. package/core/marker_manager.d.ts +85 -0
  268. package/core/marker_manager.ts +181 -0
  269. package/core/menu.d.ts +149 -0
  270. package/core/{menu.js → menu.ts} +141 -174
  271. package/core/menuitem.d.ts +118 -0
  272. package/core/menuitem.ts +240 -0
  273. package/core/metrics_manager.d.ts +201 -0
  274. package/core/{metrics_manager.js → metrics_manager.ts} +117 -156
  275. package/core/msg.d.ts +9 -0
  276. package/core/{msg.js → msg.ts} +4 -8
  277. package/core/mutator.d.ts +128 -0
  278. package/core/{mutator.js → mutator.ts} +196 -211
  279. package/core/names.d.ts +124 -0
  280. package/core/names.ts +267 -0
  281. package/core/options.d.ts +137 -0
  282. package/core/{options.js → options.ts} +147 -173
  283. package/core/positionable_helpers.d.ts +88 -0
  284. package/core/{positionable_helpers.js → positionable_helpers.ts} +63 -70
  285. package/core/procedures.d.ts +108 -0
  286. package/core/{procedures.js → procedures.ts} +143 -152
  287. package/core/registry.d.ts +137 -0
  288. package/core/registry.ts +339 -0
  289. package/core/rendered_connection.d.ts +191 -0
  290. package/core/{rendered_connection.js → rendered_connection.ts} +164 -184
  291. package/core/renderers/common/block_rendering.d.ts +114 -0
  292. package/core/renderers/common/block_rendering.ts +164 -0
  293. package/core/renderers/common/constants.d.ts +458 -0
  294. package/core/renderers/common/constants.ts +1124 -0
  295. package/core/renderers/common/debug.d.ts +28 -0
  296. package/core/renderers/common/{debug.js → debug.ts} +14 -20
  297. package/core/renderers/common/debugger.d.ts +120 -0
  298. package/core/renderers/common/{debugger.js → debugger.ts} +100 -124
  299. package/core/renderers/common/drawer.d.ts +132 -0
  300. package/core/renderers/common/{drawer.js → drawer.ts} +112 -137
  301. package/core/renderers/common/i_path_object.d.ts +117 -0
  302. package/core/renderers/common/i_path_object.ts +161 -0
  303. package/core/renderers/common/info.d.ts +194 -0
  304. package/core/renderers/common/{info.js → info.ts} +165 -222
  305. package/core/renderers/common/marker_svg.d.ts +220 -0
  306. package/core/renderers/common/marker_svg.ts +680 -0
  307. package/core/renderers/common/path_object.d.ts +146 -0
  308. package/core/renderers/common/path_object.ts +272 -0
  309. package/core/renderers/common/renderer.d.ts +157 -0
  310. package/core/renderers/common/renderer.ts +271 -0
  311. package/core/renderers/geras/constants.d.ts +23 -0
  312. package/core/renderers/geras/constants.ts +61 -0
  313. package/core/renderers/geras/drawer.d.ts +43 -0
  314. package/core/renderers/geras/{drawer.js → drawer.ts} +40 -84
  315. package/core/renderers/geras/geras.d.ts +11 -0
  316. package/core/renderers/geras/geras.ts +37 -0
  317. package/core/renderers/geras/highlight_constants.d.ts +108 -0
  318. package/core/renderers/geras/{highlight_constants.js → highlight_constants.ts} +107 -69
  319. package/core/renderers/geras/highlighter.d.ts +98 -0
  320. package/core/renderers/geras/{highlighter.js → highlighter.ts} +81 -86
  321. package/core/renderers/geras/info.d.ts +45 -0
  322. package/core/renderers/geras/{info.js → info.ts} +61 -99
  323. package/core/renderers/geras/measurables/inline_input.d.ts +23 -0
  324. package/core/renderers/geras/measurables/inline_input.ts +51 -0
  325. package/core/renderers/geras/measurables/statement_input.d.ts +23 -0
  326. package/core/renderers/geras/measurables/statement_input.ts +50 -0
  327. package/core/renderers/geras/path_object.d.ts +47 -0
  328. package/core/renderers/geras/{path_object.js → path_object.ts} +46 -74
  329. package/core/renderers/geras/renderer.d.ts +69 -0
  330. package/core/renderers/geras/renderer.ts +126 -0
  331. package/core/renderers/measurables/base.d.ts +27 -0
  332. package/core/renderers/measurables/base.ts +53 -0
  333. package/core/renderers/measurables/bottom_row.d.ts +61 -0
  334. package/core/renderers/measurables/bottom_row.ts +120 -0
  335. package/core/renderers/measurables/connection.d.ts +25 -0
  336. package/core/renderers/measurables/connection.ts +52 -0
  337. package/core/renderers/measurables/external_value_input.d.ts +27 -0
  338. package/core/renderers/measurables/external_value_input.ts +65 -0
  339. package/core/renderers/measurables/field.d.ts +30 -0
  340. package/core/renderers/measurables/field.ts +63 -0
  341. package/core/renderers/measurables/hat.d.ts +21 -0
  342. package/core/renderers/measurables/{hat.js → hat.ts} +12 -14
  343. package/core/renderers/measurables/icon.d.ts +26 -0
  344. package/core/renderers/measurables/{icon.js → icon.ts} +14 -18
  345. package/core/renderers/measurables/in_row_spacer.d.ts +21 -0
  346. package/core/renderers/measurables/in_row_spacer.ts +44 -0
  347. package/core/renderers/measurables/inline_input.d.ts +24 -0
  348. package/core/renderers/measurables/{inline_input.js → inline_input.ts} +22 -26
  349. package/core/renderers/measurables/input_connection.d.ts +29 -0
  350. package/core/renderers/measurables/input_connection.ts +66 -0
  351. package/core/renderers/measurables/input_row.d.ts +30 -0
  352. package/core/renderers/measurables/{input_row.js → input_row.ts} +24 -31
  353. package/core/renderers/measurables/jagged_edge.d.ts +20 -0
  354. package/core/renderers/measurables/{jagged_edge.js → jagged_edge.ts} +10 -13
  355. package/core/renderers/measurables/next_connection.d.ts +23 -0
  356. package/core/renderers/measurables/next_connection.ts +47 -0
  357. package/core/renderers/measurables/output_connection.d.ts +26 -0
  358. package/core/renderers/measurables/output_connection.ts +56 -0
  359. package/core/renderers/measurables/previous_connection.d.ts +23 -0
  360. package/core/renderers/measurables/previous_connection.ts +47 -0
  361. package/core/renderers/measurables/round_corner.d.ts +21 -0
  362. package/core/renderers/measurables/round_corner.ts +49 -0
  363. package/core/renderers/measurables/row.d.ts +141 -0
  364. package/core/renderers/measurables/row.ts +225 -0
  365. package/core/renderers/measurables/spacer_row.d.ts +29 -0
  366. package/core/renderers/measurables/spacer_row.ts +55 -0
  367. package/core/renderers/measurables/square_corner.d.ts +21 -0
  368. package/core/renderers/measurables/square_corner.ts +47 -0
  369. package/core/renderers/measurables/statement_input.d.ts +22 -0
  370. package/core/renderers/measurables/{statement_input.js → statement_input.ts} +14 -18
  371. package/core/renderers/measurables/top_row.d.ts +56 -0
  372. package/core/renderers/measurables/top_row.ts +122 -0
  373. package/core/renderers/measurables/types.d.ts +235 -0
  374. package/core/renderers/measurables/types.ts +332 -0
  375. package/core/renderers/minimalist/constants.d.ts +14 -0
  376. package/core/renderers/minimalist/{constants.js → constants.ts} +5 -10
  377. package/core/renderers/minimalist/drawer.d.ts +21 -0
  378. package/core/renderers/minimalist/drawer.ts +38 -0
  379. package/core/renderers/minimalist/info.d.ts +30 -0
  380. package/core/renderers/minimalist/info.ts +52 -0
  381. package/core/renderers/minimalist/minimalist.d.ts +6 -0
  382. package/core/renderers/minimalist/minimalist.ts +22 -0
  383. package/core/renderers/minimalist/renderer.d.ts +41 -0
  384. package/core/renderers/minimalist/renderer.ts +71 -0
  385. package/core/renderers/thrasos/info.d.ts +40 -0
  386. package/core/renderers/thrasos/{info.js → info.ts} +66 -67
  387. package/core/renderers/thrasos/renderer.d.ts +25 -0
  388. package/core/renderers/thrasos/renderer.ts +48 -0
  389. package/core/renderers/thrasos/thrasos.d.ts +4 -0
  390. package/core/renderers/thrasos/thrasos.ts +20 -0
  391. package/core/renderers/zelos/constants.d.ts +186 -0
  392. package/core/renderers/zelos/{constants.js → constants.ts} +294 -441
  393. package/core/renderers/zelos/drawer.d.ts +47 -0
  394. package/core/renderers/zelos/{drawer.js → drawer.ts} +73 -95
  395. package/core/renderers/zelos/info.d.ts +88 -0
  396. package/core/renderers/zelos/{info.js → info.ts} +111 -142
  397. package/core/renderers/zelos/marker_svg.d.ts +46 -0
  398. package/core/renderers/zelos/marker_svg.ts +151 -0
  399. package/core/renderers/zelos/measurables/bottom_row.d.ts +27 -0
  400. package/core/renderers/zelos/measurables/bottom_row.ts +53 -0
  401. package/core/renderers/zelos/measurables/inputs.d.ts +23 -0
  402. package/core/renderers/zelos/measurables/{inputs.js → inputs.ts} +14 -15
  403. package/core/renderers/zelos/measurables/row_elements.d.ts +21 -0
  404. package/core/renderers/zelos/measurables/row_elements.ts +45 -0
  405. package/core/renderers/zelos/measurables/top_row.d.ts +29 -0
  406. package/core/renderers/zelos/measurables/{top_row.js → top_row.ts} +14 -27
  407. package/core/renderers/zelos/path_object.d.ts +77 -0
  408. package/core/renderers/zelos/path_object.ts +215 -0
  409. package/core/renderers/zelos/renderer.d.ts +74 -0
  410. package/core/renderers/zelos/renderer.ts +142 -0
  411. package/core/renderers/zelos/zelos.d.ts +12 -0
  412. package/core/renderers/zelos/zelos.ts +39 -0
  413. package/core/scrollbar.d.ts +277 -0
  414. package/core/{scrollbar.js → scrollbar.ts} +307 -328
  415. package/core/scrollbar_pair.d.ts +105 -0
  416. package/core/{scrollbar_pair.js → scrollbar_pair.ts} +71 -79
  417. package/core/serialization/blocks.d.ts +98 -0
  418. package/core/serialization/{blocks.js → blocks.ts} +229 -228
  419. package/core/serialization/exceptions.d.ts +73 -0
  420. package/core/serialization/exceptions.ts +98 -0
  421. package/core/serialization/priorities.d.ts +15 -0
  422. package/core/serialization/{priorities.js → priorities.ts} +4 -10
  423. package/core/serialization/registry.d.ts +20 -0
  424. package/core/serialization/{registry.js → registry.ts} +11 -13
  425. package/core/serialization/variables.d.ts +14 -0
  426. package/core/serialization/{variables.js → variables.ts} +30 -32
  427. package/core/serialization/workspaces.d.ts +28 -0
  428. package/core/serialization/{workspaces.js → workspaces.ts} +30 -27
  429. package/core/shortcut_items.d.ts +61 -0
  430. package/core/{shortcut_items.js → shortcut_items.ts} +121 -157
  431. package/core/shortcut_registry.d.ts +151 -0
  432. package/core/shortcut_registry.ts +355 -0
  433. package/core/sprites.d.ts +19 -0
  434. package/core/{sprites.js → sprites.ts} +4 -6
  435. package/core/theme/classic.d.ts +12 -0
  436. package/core/theme/{classic.js → classic.ts} +5 -7
  437. package/core/theme/themes.d.ts +8 -0
  438. package/core/theme/themes.ts +22 -0
  439. package/core/theme/zelos.d.ts +11 -0
  440. package/core/theme/{zelos.js → zelos.ts} +4 -7
  441. package/core/theme.d.ts +142 -0
  442. package/core/theme.ts +221 -0
  443. package/core/theme_manager.d.ts +81 -0
  444. package/core/theme_manager.ts +186 -0
  445. package/core/toolbox/category.d.ts +239 -0
  446. package/core/toolbox/category.ts +679 -0
  447. package/core/toolbox/collapsible_category.d.ts +91 -0
  448. package/core/toolbox/collapsible_category.ts +273 -0
  449. package/core/toolbox/separator.d.ts +39 -0
  450. package/core/toolbox/separator.ts +105 -0
  451. package/core/toolbox/toolbox.d.ts +352 -0
  452. package/core/toolbox/{toolbox.js → toolbox.ts} +316 -432
  453. package/core/toolbox/toolbox_item.d.ts +85 -0
  454. package/core/toolbox/toolbox_item.ts +147 -0
  455. package/core/tooltip.d.ts +126 -0
  456. package/core/{tooltip.js → tooltip.ts} +136 -214
  457. package/core/touch.d.ts +121 -0
  458. package/core/touch.ts +306 -0
  459. package/core/touch_gesture.d.ts +115 -0
  460. package/core/{touch_gesture.js → touch_gesture.ts} +87 -125
  461. package/core/trashcan.d.ts +195 -0
  462. package/core/{trashcan.js → trashcan.ts} +226 -312
  463. package/core/utils/aria.d.ts +67 -0
  464. package/core/utils/{aria.js → aria.ts} +47 -61
  465. package/core/utils/array.d.ts +14 -0
  466. package/core/utils/{array.js → array.ts} +10 -12
  467. package/core/utils/colour.d.ts +103 -0
  468. package/core/utils/{colour.js → colour.ts} +60 -72
  469. package/core/utils/coordinate.d.ts +72 -0
  470. package/core/utils/coordinate.ts +124 -0
  471. package/core/utils/deprecation.d.ts +17 -0
  472. package/core/utils/{deprecation.js → deprecation.ts} +11 -11
  473. package/core/utils/dom.d.ts +165 -0
  474. package/core/utils/{dom.js → dom.ts} +125 -147
  475. package/core/utils/idgenerator.d.ts +25 -0
  476. package/core/utils/{idgenerator.js → idgenerator.ts} +15 -18
  477. package/core/utils/keycodes.d.ts +137 -0
  478. package/core/utils/keycodes.ts +169 -0
  479. package/core/utils/math.d.ts +30 -0
  480. package/core/utils/{math.js → math.ts} +17 -19
  481. package/core/utils/metrics.d.ts +64 -0
  482. package/core/utils/metrics.ts +97 -0
  483. package/core/utils/object.d.ts +35 -0
  484. package/core/utils/{object.js → object.ts} +30 -26
  485. package/core/utils/parsing.d.ts +50 -0
  486. package/core/utils/{parsing.js → parsing.ts} +50 -50
  487. package/core/utils/rect.d.ts +38 -0
  488. package/core/utils/{rect.js → rect.ts} +18 -31
  489. package/core/utils/sentinel.d.ts +11 -0
  490. package/core/utils/{sentinel.js → sentinel.ts} +3 -5
  491. package/core/utils/size.d.ts +27 -0
  492. package/core/utils/{size.js → size.ts} +12 -26
  493. package/core/utils/string.d.ts +55 -0
  494. package/core/utils/{string.js → string.ts} +64 -61
  495. package/core/utils/style.d.ts +127 -0
  496. package/core/utils/{style.js → style.ts} +102 -92
  497. package/core/utils/svg.d.ts +68 -0
  498. package/core/utils/svg.ts +88 -0
  499. package/core/utils/svg_math.d.ts +70 -0
  500. package/core/utils/{svg_math.js → svg_math.ts} +72 -71
  501. package/core/utils/svg_paths.d.ts +101 -0
  502. package/core/utils/{svg_paths.js → svg_paths.ts} +56 -65
  503. package/core/utils/toolbox.d.ts +193 -0
  504. package/core/utils/toolbox.ts +433 -0
  505. package/core/utils/useragent.d.ts +33 -0
  506. package/core/utils/useragent.ts +135 -0
  507. package/core/utils/xml.d.ts +52 -0
  508. package/core/utils/{xml.js → xml.ts} +26 -36
  509. package/core/utils.d.ts +217 -0
  510. package/core/utils.ts +428 -0
  511. package/core/variable_map.d.ts +141 -0
  512. package/core/{variable_map.js → variable_map.ts} +131 -149
  513. package/core/variable_model.d.ts +40 -0
  514. package/core/variable_model.ts +82 -0
  515. package/core/variables.d.ts +181 -0
  516. package/core/{variables.js → variables.ts} +206 -188
  517. package/core/variables_dynamic.d.ts +38 -0
  518. package/core/{variables_dynamic.js → variables_dynamic.ts} +47 -43
  519. package/core/warning.d.ts +50 -0
  520. package/core/{warning.js → warning.ts} +52 -66
  521. package/core/widgetdiv.d.ts +69 -0
  522. package/core/widgetdiv.ts +257 -0
  523. package/core/workspace.d.ts +386 -0
  524. package/core/workspace.ts +801 -0
  525. package/core/workspace_audio.d.ts +47 -0
  526. package/core/{workspace_audio.js → workspace_audio.ts} +47 -60
  527. package/core/workspace_comment.d.ts +170 -0
  528. package/core/workspace_comment.ts +398 -0
  529. package/core/workspace_comment_svg.d.ts +329 -0
  530. package/core/{workspace_comment_svg.js → workspace_comment_svg.ts} +347 -444
  531. package/core/workspace_drag_surface_svg.d.ts +68 -0
  532. package/core/{workspace_drag_surface_svg.js → workspace_drag_surface_svg.ts} +75 -82
  533. package/core/workspace_dragger.d.ts +48 -0
  534. package/core/workspace_dragger.ts +104 -0
  535. package/core/workspace_svg.d.ts +920 -0
  536. package/core/{workspace_svg.js → workspace_svg.ts} +855 -935
  537. package/core/xml.d.ts +117 -0
  538. package/core/{xml.js → xml.ts} +306 -326
  539. package/core/zoom_controls.d.ts +130 -0
  540. package/core/{zoom_controls.js → zoom_controls.ts} +185 -251
  541. package/core.d.ts +1 -3
  542. package/core.js +1 -2
  543. package/dart.d.ts +0 -3
  544. package/dart_compressed.js +387 -99
  545. package/dart_compressed.js.map +1 -1
  546. package/generators/dart/all.js +2 -0
  547. package/generators/dart/colour.js +1 -1
  548. package/generators/dart/lists.js +1 -1
  549. package/generators/dart/logic.js +1 -1
  550. package/generators/dart/loops.js +1 -1
  551. package/generators/dart/math.js +1 -1
  552. package/generators/dart/procedures.js +1 -1
  553. package/generators/dart/text.js +1 -1
  554. package/generators/dart/variables.js +1 -1
  555. package/generators/dart/variables_dynamic.js +1 -1
  556. package/generators/dart.js +1 -2
  557. package/generators/javascript/all.js +2 -0
  558. package/generators/javascript/colour.js +1 -1
  559. package/generators/javascript/lists.js +1 -1
  560. package/generators/javascript/logic.js +1 -1
  561. package/generators/javascript/loops.js +1 -1
  562. package/generators/javascript/math.js +4 -4
  563. package/generators/javascript/procedures.js +1 -1
  564. package/generators/javascript/text.js +2 -2
  565. package/generators/javascript/variables.js +1 -1
  566. package/generators/javascript/variables_dynamic.js +1 -1
  567. package/generators/javascript.js +1 -3
  568. package/generators/lua/all.js +2 -0
  569. package/generators/lua/colour.js +1 -1
  570. package/generators/lua/lists.js +1 -1
  571. package/generators/lua/logic.js +1 -1
  572. package/generators/lua/loops.js +1 -1
  573. package/generators/lua/math.js +1 -1
  574. package/generators/lua/procedures.js +1 -1
  575. package/generators/lua/text.js +1 -1
  576. package/generators/lua/variables.js +1 -1
  577. package/generators/lua/variables_dynamic.js +1 -1
  578. package/generators/lua.js +1 -2
  579. package/generators/php/all.js +2 -0
  580. package/generators/php/colour.js +1 -1
  581. package/generators/php/lists.js +1 -2
  582. package/generators/php/logic.js +1 -1
  583. package/generators/php/loops.js +1 -1
  584. package/generators/php/math.js +1 -1
  585. package/generators/php/procedures.js +1 -1
  586. package/generators/php/text.js +1 -1
  587. package/generators/php/variables.js +1 -1
  588. package/generators/php/variables_dynamic.js +1 -1
  589. package/generators/php.js +1 -2
  590. package/generators/python/all.js +2 -0
  591. package/generators/python/colour.js +3 -3
  592. package/generators/python/lists.js +1 -1
  593. package/generators/python/logic.js +1 -1
  594. package/generators/python/loops.js +4 -7
  595. package/generators/python/math.js +1 -1
  596. package/generators/python/procedures.js +1 -1
  597. package/generators/python/text.js +1 -1
  598. package/generators/python/variables.js +1 -1
  599. package/generators/python/variables_dynamic.js +1 -1
  600. package/generators/python.js +1 -2
  601. package/index.d.ts +2 -8
  602. package/javascript.d.ts +0 -3
  603. package/javascript_compressed.js +314 -104
  604. package/javascript_compressed.js.map +1 -1
  605. package/lua.d.ts +0 -3
  606. package/lua_compressed.js +399 -81
  607. package/lua_compressed.js.map +1 -1
  608. package/msg/ab.js +420 -420
  609. package/msg/ace.js +420 -420
  610. package/msg/af.js +420 -420
  611. package/msg/am.js +420 -420
  612. package/msg/ar.js +420 -420
  613. package/msg/ast.js +420 -420
  614. package/msg/az.js +420 -420
  615. package/msg/ba.js +420 -420
  616. package/msg/bcc.js +420 -420
  617. package/msg/be-tarask.js +420 -420
  618. package/msg/be.js +420 -420
  619. package/msg/bg.js +420 -420
  620. package/msg/bn.js +420 -420
  621. package/msg/br.js +420 -420
  622. package/msg/bs.js +420 -420
  623. package/msg/ca.js +420 -420
  624. package/msg/cdo.js +420 -420
  625. package/msg/cs.js +420 -420
  626. package/msg/da.js +420 -420
  627. package/msg/de.js +420 -420
  628. package/msg/diq.js +420 -420
  629. package/msg/dty.js +420 -420
  630. package/msg/ee.js +420 -420
  631. package/msg/el.js +420 -420
  632. package/msg/en-gb.js +420 -420
  633. package/msg/en.js +420 -420
  634. package/msg/eo.js +420 -420
  635. package/msg/es.js +420 -420
  636. package/msg/et.js +420 -420
  637. package/msg/eu.js +420 -420
  638. package/msg/fa.js +420 -420
  639. package/msg/fi.js +420 -420
  640. package/msg/fo.js +420 -420
  641. package/msg/fr.js +420 -420
  642. package/msg/frr.js +420 -420
  643. package/msg/gl.js +420 -420
  644. package/msg/gn.js +420 -420
  645. package/msg/gor.js +420 -420
  646. package/msg/ha.js +420 -420
  647. package/msg/hak.js +420 -420
  648. package/msg/he.js +420 -420
  649. package/msg/hi.js +420 -420
  650. package/msg/hr.js +420 -420
  651. package/msg/hrx.js +420 -420
  652. package/msg/hu.js +420 -420
  653. package/msg/hy.js +420 -420
  654. package/msg/ia.js +420 -420
  655. package/msg/id.js +420 -420
  656. package/msg/ig.js +420 -420
  657. package/msg/inh.js +420 -420
  658. package/msg/is.js +420 -420
  659. package/msg/it.js +420 -420
  660. package/msg/ja.js +420 -420
  661. package/msg/ka.js +420 -420
  662. package/msg/kab.js +420 -420
  663. package/msg/kbd-cyrl.js +420 -420
  664. package/msg/km.js +420 -420
  665. package/msg/kn.js +420 -420
  666. package/msg/ko.js +420 -420
  667. package/msg/ksh.js +420 -420
  668. package/msg/ku-latn.js +420 -420
  669. package/msg/ky.js +420 -420
  670. package/msg/la.js +420 -420
  671. package/msg/lb.js +420 -420
  672. package/msg/lki.js +420 -420
  673. package/msg/lo.js +420 -420
  674. package/msg/lrc.js +420 -420
  675. package/msg/lt.js +420 -420
  676. package/msg/lv.js +420 -420
  677. package/msg/mg.js +420 -420
  678. package/msg/mk.js +420 -420
  679. package/msg/ml.js +420 -420
  680. package/msg/mnw.js +420 -420
  681. package/msg/ms.js +420 -420
  682. package/msg/my.js +420 -420
  683. package/msg/mzn.js +420 -420
  684. package/msg/nb.js +420 -420
  685. package/msg/ne.js +420 -420
  686. package/msg/nl.js +420 -420
  687. package/msg/oc.js +420 -420
  688. package/msg/olo.js +420 -420
  689. package/msg/pa.js +420 -420
  690. package/msg/pl.js +420 -420
  691. package/msg/pms.js +420 -420
  692. package/msg/ps.js +420 -420
  693. package/msg/pt-br.js +420 -420
  694. package/msg/pt.js +420 -420
  695. package/msg/ro.js +420 -420
  696. package/msg/ru.js +420 -420
  697. package/msg/sc.js +420 -420
  698. package/msg/sco.js +420 -420
  699. package/msg/sd.js +420 -420
  700. package/msg/shn.js +420 -420
  701. package/msg/si.js +420 -420
  702. package/msg/sk.js +420 -420
  703. package/msg/skr-arab.js +420 -420
  704. package/msg/sl.js +420 -420
  705. package/msg/smn.js +420 -420
  706. package/msg/sq.js +420 -420
  707. package/msg/sr-latn.js +420 -420
  708. package/msg/sr.js +420 -420
  709. package/msg/sv.js +420 -420
  710. package/msg/sw.js +420 -420
  711. package/msg/ta.js +420 -420
  712. package/msg/tcy.js +420 -420
  713. package/msg/te.js +420 -420
  714. package/msg/th.js +420 -420
  715. package/msg/ti.js +420 -420
  716. package/msg/tl.js +420 -420
  717. package/msg/tlh.js +420 -420
  718. package/msg/tr.js +420 -420
  719. package/msg/ug-arab.js +420 -420
  720. package/msg/uk.js +420 -420
  721. package/msg/ur.js +420 -420
  722. package/msg/uz.js +420 -420
  723. package/msg/vi.js +420 -420
  724. package/msg/xmf.js +420 -420
  725. package/msg/yo.js +420 -420
  726. package/msg/yue.js +420 -420
  727. package/msg/zgh.js +420 -420
  728. package/msg/zh-hans.js +420 -420
  729. package/msg/zh-hant.js +420 -420
  730. package/package.json +5 -5
  731. package/php.d.ts +0 -3
  732. package/php_compressed.js +322 -93
  733. package/php_compressed.js.map +1 -1
  734. package/python.d.ts +0 -3
  735. package/python_compressed.js +237 -90
  736. package/python_compressed.js.map +1 -1
  737. package/blockly.d.ts +0 -26127
  738. package/core/blockly_options.js +0 -28
  739. package/core/bubble_dragger.js +0 -298
  740. package/core/clipboard.js +0 -80
  741. package/core/component_manager.js +0 -263
  742. package/core/contextmenu_items.js +0 -651
  743. package/core/contextmenu_registry.js +0 -178
  744. package/core/delete_area.js +0 -87
  745. package/core/dialog.js +0 -107
  746. package/core/drag_target.js +0 -98
  747. package/core/events/events.js +0 -147
  748. package/core/events/events_abstract.js +0 -133
  749. package/core/events/events_block_base.js +0 -70
  750. package/core/events/events_block_drag.js +0 -89
  751. package/core/events/events_bubble_open.js +0 -90
  752. package/core/events/events_comment_base.js +0 -121
  753. package/core/events/events_marker_move.js +0 -110
  754. package/core/events/events_selected.js +0 -83
  755. package/core/events/events_toolbox_item_select.js +0 -84
  756. package/core/events/events_trashcan_open.js +0 -73
  757. package/core/events/events_var_base.js +0 -70
  758. package/core/events/events_viewport.js +0 -107
  759. package/core/events/workspace_events.js +0 -93
  760. package/core/field_angle.js +0 -591
  761. package/core/field_checkbox.js +0 -255
  762. package/core/field_colour.js +0 -717
  763. package/core/field_image.js +0 -304
  764. package/core/field_label.js +0 -149
  765. package/core/field_label_serializable.js +0 -80
  766. package/core/field_textinput.js +0 -619
  767. package/core/flyout_button.js +0 -356
  768. package/core/grid.js +0 -226
  769. package/core/icon.js +0 -225
  770. package/core/input.js +0 -335
  771. package/core/interfaces/i_ast_node_location_svg.js +0 -45
  772. package/core/interfaces/i_ast_node_location_with_block.js +0 -41
  773. package/core/interfaces/i_autohideable.js +0 -40
  774. package/core/interfaces/i_block_dragger.js +0 -66
  775. package/core/interfaces/i_bounded_element.js +0 -45
  776. package/core/interfaces/i_bubble.js +0 -95
  777. package/core/interfaces/i_collapsible_toolbox_item.js +0 -53
  778. package/core/interfaces/i_connection_checker.js +0 -104
  779. package/core/interfaces/i_contextmenu.js +0 -32
  780. package/core/interfaces/i_copyable.js +0 -49
  781. package/core/interfaces/i_delete_area.js +0 -50
  782. package/core/interfaces/i_drag_target.js +0 -88
  783. package/core/interfaces/i_flyout.js +0 -201
  784. package/core/interfaces/i_keyboard_accessible.js +0 -38
  785. package/core/interfaces/i_metrics_manager.js +0 -154
  786. package/core/interfaces/i_positionable.js +0 -51
  787. package/core/interfaces/i_selectable.js +0 -51
  788. package/core/interfaces/i_selectable_toolbox_item.js +0 -73
  789. package/core/interfaces/i_serializer.js +0 -77
  790. package/core/interfaces/i_styleable.js +0 -39
  791. package/core/interfaces/i_toolbox.js +0 -142
  792. package/core/interfaces/i_toolbox_item.js +0 -85
  793. package/core/marker_manager.js +0 -213
  794. package/core/menuitem.js +0 -292
  795. package/core/names.js +0 -293
  796. package/core/registry.js +0 -384
  797. package/core/renderers/common/block_rendering.js +0 -170
  798. package/core/renderers/common/constants.js +0 -1250
  799. package/core/renderers/common/i_path_object.js +0 -162
  800. package/core/renderers/common/marker_svg.js +0 -721
  801. package/core/renderers/common/path_object.js +0 -283
  802. package/core/renderers/common/renderer.js +0 -305
  803. package/core/renderers/geras/constants.js +0 -73
  804. package/core/renderers/geras/geras.js +0 -36
  805. package/core/renderers/geras/measurables/inline_input.js +0 -58
  806. package/core/renderers/geras/measurables/statement_input.js +0 -57
  807. package/core/renderers/geras/renderer.js +0 -149
  808. package/core/renderers/measurables/base.js +0 -64
  809. package/core/renderers/measurables/bottom_row.js +0 -138
  810. package/core/renderers/measurables/connection.js +0 -56
  811. package/core/renderers/measurables/external_value_input.js +0 -70
  812. package/core/renderers/measurables/field.js +0 -71
  813. package/core/renderers/measurables/in_row_spacer.js +0 -47
  814. package/core/renderers/measurables/input_connection.js +0 -75
  815. package/core/renderers/measurables/next_connection.js +0 -50
  816. package/core/renderers/measurables/output_connection.js +0 -61
  817. package/core/renderers/measurables/previous_connection.js +0 -50
  818. package/core/renderers/measurables/round_corner.js +0 -52
  819. package/core/renderers/measurables/row.js +0 -247
  820. package/core/renderers/measurables/spacer_row.js +0 -69
  821. package/core/renderers/measurables/square_corner.js +0 -50
  822. package/core/renderers/measurables/top_row.js +0 -143
  823. package/core/renderers/measurables/types.js +0 -353
  824. package/core/renderers/minimalist/drawer.js +0 -42
  825. package/core/renderers/minimalist/info.js +0 -54
  826. package/core/renderers/minimalist/minimalist.js +0 -26
  827. package/core/renderers/minimalist/renderer.js +0 -80
  828. package/core/renderers/thrasos/renderer.js +0 -53
  829. package/core/renderers/thrasos/thrasos.js +0 -22
  830. package/core/renderers/zelos/marker_svg.js +0 -179
  831. package/core/renderers/zelos/measurables/bottom_row.js +0 -66
  832. package/core/renderers/zelos/measurables/row_elements.js +0 -46
  833. package/core/renderers/zelos/path_object.js +0 -247
  834. package/core/renderers/zelos/renderer.js +0 -147
  835. package/core/renderers/zelos/zelos.js +0 -38
  836. package/core/serialization/exceptions.js +0 -144
  837. package/core/shortcut_registry.js +0 -366
  838. package/core/theme/themes.js +0 -23
  839. package/core/theme.js +0 -228
  840. package/core/theme_manager.js +0 -211
  841. package/core/toolbox/category.js +0 -751
  842. package/core/toolbox/collapsible_category.js +0 -311
  843. package/core/toolbox/separator.js +0 -133
  844. package/core/toolbox/toolbox_item.js +0 -173
  845. package/core/touch.js +0 -285
  846. package/core/utils/coordinate.js +0 -138
  847. package/core/utils/global.js +0 -41
  848. package/core/utils/keycodes.js +0 -172
  849. package/core/utils/metrics.js +0 -154
  850. package/core/utils/svg.js +0 -186
  851. package/core/utils/toolbox.js +0 -459
  852. package/core/utils/useragent.js +0 -197
  853. package/core/utils.js +0 -383
  854. package/core/variable_model.js +0 -96
  855. package/core/widgetdiv.js +0 -290
  856. package/core/workspace.js +0 -836
  857. package/core/workspace_comment.js +0 -400
  858. package/core/workspace_dragger.js +0 -115
@@ -7,123 +7,120 @@
7
7
  /**
8
8
  * @fileoverview Text Area field.
9
9
  */
10
- 'use strict';
11
10
 
12
11
  /**
13
12
  * Text Area field.
14
13
  * @class
15
14
  */
16
- goog.module('Blockly.FieldMultilineInput');
17
-
18
- const Css = goog.require('Blockly.Css');
19
- const WidgetDiv = goog.require('Blockly.WidgetDiv');
20
- const aria = goog.require('Blockly.utils.aria');
21
- const dom = goog.require('Blockly.utils.dom');
22
- const fieldRegistry = goog.require('Blockly.fieldRegistry');
23
- const parsing = goog.require('Blockly.utils.parsing');
24
- const userAgent = goog.require('Blockly.utils.userAgent');
25
- const {FieldTextInput} = goog.require('Blockly.FieldTextInput');
26
- const {Field} = goog.require('Blockly.Field');
27
- const {KeyCodes} = goog.require('Blockly.utils.KeyCodes');
28
- /* eslint-disable-next-line no-unused-vars */
29
- const {Sentinel} = goog.requireType('Blockly.utils.Sentinel');
30
- const {Svg} = goog.require('Blockly.utils.Svg');
15
+ import * as goog from '../closure/goog/goog.js';
16
+ goog.declareModuleId('Blockly.FieldMultilineInput');
17
+
18
+ import * as Css from './css.js';
19
+ import {Field} from './field.js';
20
+ import * as fieldRegistry from './field_registry.js';
21
+ import {FieldTextInputConfig, FieldTextInput} from './field_textinput.js';
22
+ import * as aria from './utils/aria.js';
23
+ import * as dom from './utils/dom.js';
24
+ import {KeyCodes} from './utils/keycodes.js';
25
+ import * as parsing from './utils/parsing.js';
26
+ import type {Sentinel} from './utils/sentinel.js';
27
+ import {Svg} from './utils/svg.js';
28
+ import * as userAgent from './utils/useragent.js';
29
+ import * as WidgetDiv from './widgetdiv.js';
31
30
 
32
31
 
33
32
  /**
34
33
  * Class for an editable text area field.
35
- * @extends {FieldTextInput}
36
34
  * @alias Blockly.FieldMultilineInput
37
35
  */
38
- class FieldMultilineInput extends FieldTextInput {
36
+ export class FieldMultilineInput extends FieldTextInput {
39
37
  /**
40
- * @param {(string|!Sentinel)=} opt_value The initial content of the
41
- * field. Should cast to a string. Defaults to an empty string if null or
42
- * undefined.
43
- * Also accepts Field.SKIP_SETUP if you wish to skip setup (only used by
44
- * subclasses that want to handle configuration and setting the field
45
- * value after their own constructors have run).
46
- * @param {Function=} opt_validator An optional function that is called
47
- * to validate any constraints on what the user entered. Takes the new
48
- * text as an argument and returns either the accepted text, a replacement
49
- * text, or null to abort the change.
50
- * @param {Object=} opt_config A map of options used to configure the field.
38
+ * The SVG group element that will contain a text element for each text row
39
+ * when initialized.
40
+ */
41
+ // AnyDuringMigration because: Type 'null' is not assignable to type
42
+ // 'SVGGElement'.
43
+ textGroup_: SVGGElement = null as AnyDuringMigration;
44
+
45
+ /**
46
+ * Defines the maximum number of lines of field.
47
+ * If exceeded, scrolling functionality is enabled.
48
+ */
49
+ protected maxLines_: number = Infinity;
50
+
51
+ /** Whether Y overflow is currently occurring. */
52
+ protected isOverflowedY_ = false;
53
+
54
+ /**
55
+ * @param opt_value The initial content of the field. Should cast to a string.
56
+ * Defaults to an empty string if null or undefined. Also accepts
57
+ * Field.SKIP_SETUP if you wish to skip setup (only used by subclasses
58
+ * that want to handle configuration and setting the field value after
59
+ * their own constructors have run).
60
+ * @param opt_validator An optional function that is called to validate any
61
+ * constraints on what the user entered. Takes the new text as an
62
+ * argument and returns either the accepted text, a replacement text, or
63
+ * null to abort the change.
64
+ * @param opt_config A map of options used to configure the field.
51
65
  * See the [field creation documentation]{@link
52
- * https://developers.google.com/blockly/guides/create-custom-blocks/fields/built-in-fields/multiline-text-input#creation}
53
- * for a list of properties this parameter supports.
66
+ * https://developers.google.com/blockly/guides/create-custom-blocks/fields/built-in-fields/multiline-text-input#creation}
67
+ * for a list of properties this parameter supports.
54
68
  */
55
- constructor(opt_value, opt_validator, opt_config) {
69
+ constructor(
70
+ opt_value?: string|Sentinel, opt_validator?: Function,
71
+ opt_config?: FieldMultilineInputConfig) {
56
72
  super(Field.SKIP_SETUP);
57
73
 
58
- /**
59
- * The SVG group element that will contain a text element for each text row
60
- * when initialized.
61
- * @type {SVGGElement}
62
- */
63
- this.textGroup_ = null;
64
-
65
- /**
66
- * Defines the maximum number of lines of field.
67
- * If exceeded, scrolling functionality is enabled.
68
- * @type {number}
69
- * @protected
70
- */
71
- this.maxLines_ = Infinity;
72
-
73
- /**
74
- * Whether Y overflow is currently occurring.
75
- * @type {boolean}
76
- * @protected
77
- */
78
- this.isOverflowedY_ = false;
79
-
80
- if (opt_value === Field.SKIP_SETUP) return;
81
- if (opt_config) this.configure_(opt_config);
74
+ if (opt_value === Field.SKIP_SETUP) {
75
+ return;
76
+ }
77
+ if (opt_config) {
78
+ this.configure_(opt_config);
79
+ }
82
80
  this.setValue(opt_value);
83
- if (opt_validator) this.setValidator(opt_validator);
81
+ if (opt_validator) {
82
+ this.setValidator(opt_validator);
83
+ }
84
84
  }
85
85
 
86
- /**
87
- * @override
88
- */
89
- configure_(config) {
86
+ protected override configure_(config: FieldMultilineInputConfig) {
90
87
  super.configure_(config);
91
- config.maxLines && this.setMaxLines(config.maxLines);
88
+ if (config.maxLines) this.setMaxLines(config.maxLines);
92
89
  }
93
90
 
94
91
  /**
95
92
  * Serializes this field's value to XML. Should only be called by Blockly.Xml.
96
- * @param {!Element} fieldElement The element to populate with info about the
97
- * field's state.
98
- * @return {!Element} The element containing info about the field's state.
99
- * @package
93
+ * @param fieldElement The element to populate with info about the field's
94
+ * state.
95
+ * @return The element containing info about the field's state.
96
+ * @internal
100
97
  */
101
- toXml(fieldElement) {
98
+ override toXml(fieldElement: Element): Element {
102
99
  // Replace '\n' characters with HTML-escaped equivalent '&#10'. This is
103
100
  // needed so the plain-text representation of the XML produced by
104
101
  // `Blockly.Xml.domToText` will appear on a single line (this is a
105
102
  // limitation of the plain-text format).
106
- fieldElement.textContent = this.getValue().replace(/\n/g, '
');
103
+ fieldElement.textContent =
104
+ (this.getValue() as string).replace(/\n/g, '
');
107
105
  return fieldElement;
108
106
  }
109
107
 
110
108
  /**
111
109
  * Sets the field's value based on the given XML element. Should only be
112
110
  * called by Blockly.Xml.
113
- * @param {!Element} fieldElement The element containing info about the
114
- * field's state.
115
- * @package
111
+ * @param fieldElement The element containing info about the field's state.
112
+ * @internal
116
113
  */
117
- fromXml(fieldElement) {
118
- this.setValue(fieldElement.textContent.replace(/
/g, '\n'));
114
+ override fromXml(fieldElement: Element) {
115
+ this.setValue(fieldElement.textContent!.replace(/
/g, '\n'));
119
116
  }
120
117
 
121
118
  /**
122
119
  * Saves this field's value.
123
- * @return {*} The state of this field.
124
- * @package
120
+ * @return The state of this field.
121
+ * @internal
125
122
  */
126
- saveState() {
123
+ override saveState(): AnyDuringMigration {
127
124
  const legacyState = this.saveLegacyState(FieldMultilineInput);
128
125
  if (legacyState !== null) {
129
126
  return legacyState;
@@ -133,12 +130,10 @@ class FieldMultilineInput extends FieldTextInput {
133
130
 
134
131
  /**
135
132
  * Sets the field's value based on the given state.
136
- * @param {*} state The state of the variable to assign to this variable
137
- * field.
138
- * @override
139
- * @package
133
+ * @param state The state of the variable to assign to this variable field.
134
+ * @internal
140
135
  */
141
- loadState(state) {
136
+ override loadState(state: AnyDuringMigration) {
142
137
  if (this.loadLegacyState(Field, state)) {
143
138
  return;
144
139
  }
@@ -147,9 +142,9 @@ class FieldMultilineInput extends FieldTextInput {
147
142
 
148
143
  /**
149
144
  * Create the block UI for this field.
150
- * @package
145
+ * @internal
151
146
  */
152
- initView() {
147
+ override initView() {
153
148
  this.createBorderRect_();
154
149
  this.textGroup_ = dom.createSvgElement(
155
150
  Svg.G, {
@@ -161,11 +156,9 @@ class FieldMultilineInput extends FieldTextInput {
161
156
  /**
162
157
  * Get the text from this field as displayed on screen. May differ from
163
158
  * getText due to ellipsis, and other formatting.
164
- * @return {string} Currently displayed text.
165
- * @protected
166
- * @override
159
+ * @return Currently displayed text.
167
160
  */
168
- getDisplayText_() {
161
+ protected override getDisplayText_(): string {
169
162
  let textLines = this.getText();
170
163
  if (!textLines) {
171
164
  // Prevent the field from disappearing if empty.
@@ -204,23 +197,19 @@ class FieldMultilineInput extends FieldTextInput {
204
197
  * field, and updates the text of the field if it is not currently being
205
198
  * edited (i.e. handled by the htmlInput_). Is being redefined here to update
206
199
  * overflow state of the field.
207
- * @param {*} newValue The value to be saved. The default validator guarantees
208
- * that this is a string.
209
- * @protected
200
+ * @param newValue The value to be saved. The default validator guarantees
201
+ * that this is a string.
210
202
  */
211
- doValueUpdate_(newValue) {
203
+ protected override doValueUpdate_(newValue: AnyDuringMigration) {
212
204
  super.doValueUpdate_(newValue);
213
205
  this.isOverflowedY_ = this.value_.split('\n').length > this.maxLines_;
214
206
  }
215
207
 
216
- /**
217
- * Updates the text of the textElement.
218
- * @protected
219
- */
220
- render_() {
208
+ /** Updates the text of the textElement. */
209
+ protected override render_() {
221
210
  // Remove all text group children.
222
211
  let currentChild;
223
- while ((currentChild = this.textGroup_.firstChild)) {
212
+ while (currentChild = this.textGroup_.firstChild) {
224
213
  this.textGroup_.removeChild(currentChild);
225
214
  }
226
215
 
@@ -228,14 +217,14 @@ class FieldMultilineInput extends FieldTextInput {
228
217
  const lines = this.getDisplayText_().split('\n');
229
218
  let y = 0;
230
219
  for (let i = 0; i < lines.length; i++) {
231
- const lineHeight = this.getConstants().FIELD_TEXT_HEIGHT +
232
- this.getConstants().FIELD_BORDER_RECT_Y_PADDING;
220
+ const lineHeight = this.getConstants()!.FIELD_TEXT_HEIGHT +
221
+ this.getConstants()!.FIELD_BORDER_RECT_Y_PADDING;
233
222
  const span = dom.createSvgElement(
234
223
  Svg.TEXT, {
235
224
  'class': 'blocklyText blocklyMultilineText',
236
- 'x': this.getConstants().FIELD_BORDER_RECT_X_PADDING,
237
- 'y': y + this.getConstants().FIELD_BORDER_RECT_Y_PADDING,
238
- 'dy': this.getConstants().FIELD_TEXT_BASELINE,
225
+ 'x': this.getConstants()!.FIELD_BORDER_RECT_X_PADDING,
226
+ 'y': y + this.getConstants()!.FIELD_BORDER_RECT_Y_PADDING,
227
+ 'dy': this.getConstants()!.FIELD_TEXT_BASELINE,
239
228
  },
240
229
  this.textGroup_);
241
230
  span.appendChild(document.createTextNode(lines[i]));
@@ -243,7 +232,7 @@ class FieldMultilineInput extends FieldTextInput {
243
232
  }
244
233
 
245
234
  if (this.isBeingEdited_) {
246
- const htmlInput = /** @type {!HTMLElement} */ (this.htmlInput_);
235
+ const htmlInput = this.htmlInput_ as HTMLElement;
247
236
  if (this.isOverflowedY_) {
248
237
  dom.addClass(htmlInput, 'blocklyHtmlTextAreaInputOverflowedY');
249
238
  } else {
@@ -262,7 +251,7 @@ class FieldMultilineInput extends FieldTextInput {
262
251
  } else {
263
252
  this.resizeEditor_();
264
253
  }
265
- const htmlInput = /** @type {!HTMLElement} */ (this.htmlInput_);
254
+ const htmlInput = this.htmlInput_ as HTMLElement;
266
255
  if (!this.isTextValid_) {
267
256
  dom.addClass(htmlInput, 'blocklyInvalidInput');
268
257
  aria.setState(htmlInput, aria.State.INVALID, true);
@@ -273,22 +262,19 @@ class FieldMultilineInput extends FieldTextInput {
273
262
  }
274
263
  }
275
264
 
276
- /**
277
- * Updates the size of the field based on the text.
278
- * @protected
279
- */
280
- updateSize_() {
265
+ /** Updates the size of the field based on the text. */
266
+ protected override updateSize_() {
281
267
  const nodes = this.textGroup_.childNodes;
282
268
  let totalWidth = 0;
283
269
  let totalHeight = 0;
284
270
  for (let i = 0; i < nodes.length; i++) {
285
- const tspan = /** @type {!Element} */ (nodes[i]);
271
+ const tspan = nodes[i] as SVGTextElement;
286
272
  const textWidth = dom.getTextWidth(tspan);
287
273
  if (textWidth > totalWidth) {
288
274
  totalWidth = textWidth;
289
275
  }
290
- totalHeight += this.getConstants().FIELD_TEXT_HEIGHT +
291
- (i > 0 ? this.getConstants().FIELD_BORDER_RECT_Y_PADDING : 0);
276
+ totalHeight += this.getConstants()!.FIELD_TEXT_HEIGHT +
277
+ (i > 0 ? this.getConstants()!.FIELD_BORDER_RECT_Y_PADDING : 0);
292
278
  }
293
279
  if (this.isBeingEdited_) {
294
280
  // The default width is based on the longest line in the display text,
@@ -299,9 +285,9 @@ class FieldMultilineInput extends FieldTextInput {
299
285
  const actualEditorLines = this.value_.split('\n');
300
286
  const dummyTextElement = dom.createSvgElement(
301
287
  Svg.TEXT, {'class': 'blocklyText blocklyMultilineText'});
302
- const fontSize = this.getConstants().FIELD_TEXT_FONTSIZE;
303
- const fontWeight = this.getConstants().FIELD_TEXT_FONTWEIGHT;
304
- const fontFamily = this.getConstants().FIELD_TEXT_FONTFAMILY;
288
+ const fontSize = this.getConstants()!.FIELD_TEXT_FONTSIZE;
289
+ const fontWeight = this.getConstants()!.FIELD_TEXT_FONTWEIGHT;
290
+ const fontFamily = this.getConstants()!.FIELD_TEXT_FONTFAMILY;
305
291
 
306
292
  for (let i = 0; i < actualEditorLines.length; i++) {
307
293
  if (actualEditorLines[i].length > this.maxDisplayLength) {
@@ -317,14 +303,19 @@ class FieldMultilineInput extends FieldTextInput {
317
303
  }
318
304
 
319
305
  const scrollbarWidth =
320
- this.htmlInput_.offsetWidth - this.htmlInput_.clientWidth;
306
+ this.htmlInput_!.offsetWidth - this.htmlInput_!.clientWidth;
321
307
  totalWidth += scrollbarWidth;
322
308
  }
323
309
  if (this.borderRect_) {
324
- totalHeight += this.getConstants().FIELD_BORDER_RECT_Y_PADDING * 2;
325
- totalWidth += this.getConstants().FIELD_BORDER_RECT_X_PADDING * 2;
326
- this.borderRect_.setAttribute('width', totalWidth);
327
- this.borderRect_.setAttribute('height', totalHeight);
310
+ totalHeight += this.getConstants()!.FIELD_BORDER_RECT_Y_PADDING * 2;
311
+ totalWidth += this.getConstants()!.FIELD_BORDER_RECT_X_PADDING * 2;
312
+ // AnyDuringMigration because: Argument of type 'number' is not
313
+ // assignable to parameter of type 'string'.
314
+ this.borderRect_.setAttribute('width', totalWidth as AnyDuringMigration);
315
+ // AnyDuringMigration because: Argument of type 'number' is not
316
+ // assignable to parameter of type 'string'.
317
+ this.borderRect_.setAttribute(
318
+ 'height', totalHeight as AnyDuringMigration);
328
319
  }
329
320
  this.size_.width = totalWidth;
330
321
  this.size_.height = totalHeight;
@@ -336,49 +327,49 @@ class FieldMultilineInput extends FieldTextInput {
336
327
  * Show the inline free-text editor on top of the text.
337
328
  * Overrides the default behaviour to force rerender in order to
338
329
  * correct block size, based on editor text.
339
- * @param {Event=} _opt_e Optional mouse event that triggered the field to
340
- * open, or undefined if triggered programmatically.
341
- * @param {boolean=} opt_quietInput True if editor should be created without
342
- * focus. Defaults to false.
343
- * @override
330
+ * @param _opt_e Optional mouse event that triggered the field to open, or
331
+ * undefined if triggered programmatically.
332
+ * @param opt_quietInput True if editor should be created without focus.
333
+ * Defaults to false.
344
334
  */
345
- showEditor_(_opt_e, opt_quietInput) {
335
+ override showEditor_(_opt_e?: Event, opt_quietInput?: boolean) {
346
336
  super.showEditor_(_opt_e, opt_quietInput);
347
337
  this.forceRerender();
348
338
  }
349
339
 
350
340
  /**
351
341
  * Create the text input editor widget.
352
- * @return {!HTMLTextAreaElement} The newly created text input editor.
353
- * @protected
342
+ * @return The newly created text input editor.
354
343
  */
355
- widgetCreate_() {
344
+ protected override widgetCreate_(): HTMLTextAreaElement {
356
345
  const div = WidgetDiv.getDiv();
357
- const scale = this.workspace_.getScale();
346
+ const scale = this.workspace_!.getScale();
358
347
 
359
- const htmlInput =
360
- /** @type {HTMLTextAreaElement} */ (document.createElement('textarea'));
348
+ const htmlInput = (document.createElement('textarea'));
361
349
  htmlInput.className = 'blocklyHtmlInput blocklyHtmlTextAreaInput';
362
- htmlInput.setAttribute('spellcheck', this.spellcheck_);
363
- const fontSize = (this.getConstants().FIELD_TEXT_FONTSIZE * scale) + 'pt';
364
- div.style.fontSize = fontSize;
350
+ // AnyDuringMigration because: Argument of type 'boolean' is not assignable
351
+ // to parameter of type 'string'.
352
+ htmlInput.setAttribute(
353
+ 'spellcheck', this.spellcheck_ as AnyDuringMigration);
354
+ const fontSize = this.getConstants()!.FIELD_TEXT_FONTSIZE * scale + 'pt';
355
+ div!.style.fontSize = fontSize;
365
356
  htmlInput.style.fontSize = fontSize;
366
- const borderRadius = (FieldTextInput.BORDERRADIUS * scale) + 'px';
357
+ const borderRadius = FieldTextInput.BORDERRADIUS * scale + 'px';
367
358
  htmlInput.style.borderRadius = borderRadius;
368
- const paddingX = this.getConstants().FIELD_BORDER_RECT_X_PADDING * scale;
359
+ const paddingX = this.getConstants()!.FIELD_BORDER_RECT_X_PADDING * scale;
369
360
  const paddingY =
370
- this.getConstants().FIELD_BORDER_RECT_Y_PADDING * scale / 2;
361
+ this.getConstants()!.FIELD_BORDER_RECT_Y_PADDING * scale / 2;
371
362
  htmlInput.style.padding = paddingY + 'px ' + paddingX + 'px ' + paddingY +
372
363
  'px ' + paddingX + 'px';
373
- const lineHeight = this.getConstants().FIELD_TEXT_HEIGHT +
374
- this.getConstants().FIELD_BORDER_RECT_Y_PADDING;
375
- htmlInput.style.lineHeight = (lineHeight * scale) + 'px';
364
+ const lineHeight = this.getConstants()!.FIELD_TEXT_HEIGHT +
365
+ this.getConstants()!.FIELD_BORDER_RECT_Y_PADDING;
366
+ htmlInput.style.lineHeight = lineHeight * scale + 'px';
376
367
 
377
- div.appendChild(htmlInput);
368
+ div!.appendChild(htmlInput);
378
369
 
379
370
  htmlInput.value = htmlInput.defaultValue = this.getEditorText_(this.value_);
380
- htmlInput.untypedDefaultValue_ = this.value_;
381
- htmlInput.oldValue_ = null;
371
+ htmlInput.setAttribute('data-untyped-default-value', this.value_);
372
+ htmlInput.setAttribute('data-old-value', '');
382
373
  if (userAgent.GECKO) {
383
374
  // In FF, ensure the browser reflows before resizing to avoid issue #2777.
384
375
  setTimeout(this.resizeEditor_.bind(this), 0);
@@ -393,10 +384,10 @@ class FieldMultilineInput extends FieldTextInput {
393
384
 
394
385
  /**
395
386
  * Sets the maxLines config for this field.
396
- * @param {number} maxLines Defines the maximum number of lines allowed,
397
- * before scrolling functionality is enabled.
387
+ * @param maxLines Defines the maximum number of lines allowed, before
388
+ * scrolling functionality is enabled.
398
389
  */
399
- setMaxLines(maxLines) {
390
+ setMaxLines(maxLines: number) {
400
391
  if (typeof maxLines === 'number' && maxLines > 0 &&
401
392
  maxLines !== this.maxLines_) {
402
393
  this.maxLines_ = maxLines;
@@ -406,20 +397,21 @@ class FieldMultilineInput extends FieldTextInput {
406
397
 
407
398
  /**
408
399
  * Returns the maxLines config of this field.
409
- * @return {number} The maxLines config value.
400
+ * @return The maxLines config value.
410
401
  */
411
- getMaxLines() {
402
+ getMaxLines(): number {
412
403
  return this.maxLines_;
413
404
  }
414
405
 
415
406
  /**
416
407
  * Handle key down to the editor. Override the text input definition of this
417
408
  * so as to not close the editor when enter is typed in.
418
- * @param {!Event} e Keyboard event.
419
- * @protected
409
+ * @param e Keyboard event.
420
410
  */
421
- onHtmlInputKeyDown_(e) {
422
- if (e.keyCode !== KeyCodes.ENTER) {
411
+ protected override onHtmlInputKeyDown_(e: Event) {
412
+ // AnyDuringMigration because: Property 'keyCode' does not exist on type
413
+ // 'Event'.
414
+ if ((e as AnyDuringMigration).keyCode !== KeyCodes.ENTER) {
423
415
  super.onHtmlInputKeyDown_(e);
424
416
  }
425
417
  }
@@ -427,23 +419,21 @@ class FieldMultilineInput extends FieldTextInput {
427
419
  /**
428
420
  * Construct a FieldMultilineInput from a JSON arg object,
429
421
  * dereferencing any string table references.
430
- * @param {!Object} options A JSON object with options (text, and spellcheck).
431
- * @return {!FieldMultilineInput} The new field instance.
432
- * @package
422
+ * @param options A JSON object with options (text, and spellcheck).
423
+ * @return The new field instance.
433
424
  * @nocollapse
434
- * @override
425
+ * @internal
435
426
  */
436
- static fromJson(options) {
437
- const text = parsing.replaceMessageReferences(options['text']);
427
+ static override fromJson(options: FieldMultilineInputFromJsonConfig):
428
+ FieldMultilineInput {
429
+ const text = parsing.replaceMessageReferences(options.text);
438
430
  // `this` might be a subclass of FieldMultilineInput if that class doesn't
439
431
  // override the static fromJson method.
440
432
  return new this(text, undefined, options);
441
433
  }
442
434
  }
443
435
 
444
- /**
445
- * CSS for multiline field. See css.js for use.
446
- */
436
+ /** CSS for multiline field. See css.js for use. */
447
437
  Css.register(`
448
438
  .blocklyHtmlTextAreaInput {
449
439
  font-family: monospace;
@@ -460,4 +450,17 @@ Css.register(`
460
450
 
461
451
  fieldRegistry.register('field_multilinetext', FieldMultilineInput);
462
452
 
463
- exports.FieldMultilineInput = FieldMultilineInput;
453
+ /**
454
+ * Config options for the multiline input field.
455
+ */
456
+ export interface FieldMultilineInputConfig extends FieldTextInputConfig {
457
+ maxLines?: number;
458
+ }
459
+
460
+ /**
461
+ * fromJson config options for the multiline input field.
462
+ */
463
+ export interface FieldMultilineInputFromJsonConfig extends
464
+ FieldMultilineInputConfig {
465
+ text?: string;
466
+ }