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
@@ -4,8 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- 'use strict';
8
-
9
7
  /**
10
8
  * Library to create tooltips for Blockly.
11
9
  * First, call createDom() after onload.
@@ -15,12 +13,12 @@
15
13
  * tooltip will be used. Third, call bindMouseEvents(e) passing the SVG element.
16
14
  * @namespace Blockly.Tooltip
17
15
  */
18
- goog.module('Blockly.Tooltip');
16
+ import * as goog from '../closure/goog/goog.js';
17
+ goog.declareModuleId('Blockly.Tooltip');
19
18
 
20
- const blocklyString = goog.require('Blockly.utils.string');
21
- const browserEvents = goog.require('Blockly.browserEvents');
22
- const common = goog.require('Blockly.common');
23
- const deprecation = goog.require('Blockly.utils.deprecation');
19
+ import * as browserEvents from './browser_events.js';
20
+ import * as common from './common.js';
21
+ import * as blocklyString from './utils/string.js';
24
22
 
25
23
 
26
24
  /**
@@ -28,109 +26,71 @@ const deprecation = goog.require('Blockly.utils.deprecation');
28
26
  * Either a string, an object containing a tooltip property, or a function which
29
27
  * returns either a string, or another arbitrarily nested function which
30
28
  * eventually unwinds to a string.
31
- * @typedef {string|{tooltip}|function(): (string|!Function)}
32
29
  * @alias Blockly.Tooltip.TipInfo
33
30
  */
34
- let TipInfo;
35
- exports.TipInfo = TipInfo;
31
+ export type TipInfo =
32
+ string|{tooltip: AnyDuringMigration}|(() => TipInfo|string|Function);
36
33
 
37
34
  /**
38
35
  * A function that renders custom tooltip UI.
39
36
  * 1st parameter: the div element to render content into.
40
37
  * 2nd parameter: the element being moused over (i.e., the element for which the
41
38
  * tooltip should be shown).
42
- * @typedef {function(!Element, !Element)}
43
39
  * @alias Blockly.Tooltip.CustomTooltip
44
40
  */
45
- let CustomTooltip;
46
- exports.CustomTooltip = CustomTooltip;
41
+ export type CustomTooltip = (p1: Element, p2: Element) => AnyDuringMigration;
47
42
 
48
43
  /**
49
44
  * An optional function that renders custom tooltips into the provided DIV. If
50
45
  * this is defined, the function will be called instead of rendering the default
51
46
  * tooltip UI.
52
- * @type {!CustomTooltip|undefined}
53
47
  */
54
- let customTooltip = undefined;
48
+ let customTooltip: CustomTooltip|undefined = undefined;
55
49
 
56
50
  /**
57
51
  * Sets a custom function that will be called if present instead of the default
58
52
  * tooltip UI.
59
- * @param {!CustomTooltip} customFn A custom tooltip used to render an alternate
60
- * tooltip UI.
53
+ * @param customFn A custom tooltip used to render an alternate tooltip UI.
61
54
  * @alias Blockly.Tooltip.setCustomTooltip
62
55
  */
63
- const setCustomTooltip = function(customFn) {
56
+ export function setCustomTooltip(customFn: CustomTooltip) {
64
57
  customTooltip = customFn;
65
- };
66
- exports.setCustomTooltip = setCustomTooltip;
58
+ }
67
59
 
68
60
  /**
69
61
  * Gets the custom tooltip function.
70
- * @returns {!CustomTooltip|undefined} The custom tooltip function, if defined.
62
+ * @returns The custom tooltip function, if defined.
71
63
  */
72
- const getCustomTooltip = function() {
64
+ export function getCustomTooltip(): CustomTooltip|undefined {
73
65
  return customTooltip;
74
- };
75
- exports.getCustomTooltip = getCustomTooltip;
66
+ }
76
67
 
77
- /**
78
- * Is a tooltip currently showing?
79
- * @type {boolean}
80
- */
68
+ /** Is a tooltip currently showing? */
81
69
  let visible = false;
82
70
 
83
71
  /**
84
72
  * Returns whether or not a tooltip is showing
85
- * @returns {boolean} True if a tooltip is showing
73
+ * @returns True if a tooltip is showing
86
74
  * @alias Blockly.Tooltip.isVisible
87
75
  */
88
- const isVisible = function() {
76
+ export function isVisible(): boolean {
89
77
  return visible;
90
- };
91
- exports.isVisible = isVisible;
92
-
93
- Object.defineProperties(exports, {
94
- /**
95
- * Is a tooltip currently showing?
96
- * @name Blockly.Tooltip.visible
97
- * @type {boolean}
98
- * @deprecated Use Blockly.Tooltip.isVisible() instead. (September
99
- * 2021)
100
- * @suppress {checkTypes}
101
- */
102
- visible: {
103
- get: function() {
104
- deprecation.warn(
105
- 'Blockly.Tooltip.visible', 'September 2021', 'September 2022',
106
- 'Blockly.Tooltip.isVisible()');
107
- return isVisible();
108
- },
109
- },
110
- });
78
+ }
111
79
 
112
- /**
113
- * Is someone else blocking the tooltip from being shown?
114
- * @type {boolean}
115
- */
80
+ /** Is someone else blocking the tooltip from being shown? */
116
81
  let blocked = false;
117
82
 
118
83
  /**
119
84
  * Maximum width (in characters) of a tooltip.
120
85
  * @alias Blockly.Tooltip.LIMIT
121
86
  */
122
- const LIMIT = 50;
123
- exports.LIMIT = LIMIT;
87
+ export const LIMIT = 50;
124
88
 
125
- /**
126
- * PID of suspended thread to clear tooltip on mouse out.
127
- */
128
- let mouseOutPid = 0;
89
+ /** PID of suspended thread to clear tooltip on mouse out. */
90
+ let mouseOutPid: AnyDuringMigration = 0;
129
91
 
130
- /**
131
- * PID of suspended thread to show the tooltip.
132
- */
133
- let showPid = 0;
92
+ /** PID of suspended thread to show the tooltip. */
93
+ let showPid: AnyDuringMigration = 0;
134
94
 
135
95
  /**
136
96
  * Last observed X location of the mouse pointer (freezes when tooltip appears).
@@ -142,96 +102,64 @@ let lastX = 0;
142
102
  */
143
103
  let lastY = 0;
144
104
 
145
- /**
146
- * Current element being pointed at.
147
- * @type {Element}
148
- */
149
- let element = null;
105
+ /** Current element being pointed at. */
106
+ let element: AnyDuringMigration = null;
150
107
 
151
108
  /**
152
109
  * Once a tooltip has opened for an element, that element is 'poisoned' and
153
110
  * cannot respawn a tooltip until the pointer moves over a different element.
154
- * @type {Element}
155
111
  */
156
- let poisonedElement = null;
112
+ let poisonedElement: AnyDuringMigration = null;
157
113
 
158
114
  /**
159
115
  * Horizontal offset between mouse cursor and tooltip.
160
116
  * @alias Blockly.Tooltip.OFFSET_X
161
117
  */
162
- const OFFSET_X = 0;
163
- exports.OFFSET_X = OFFSET_X;
118
+ export const OFFSET_X = 0;
164
119
 
165
120
  /**
166
121
  * Vertical offset between mouse cursor and tooltip.
167
122
  * @alias Blockly.Tooltip.OFFSET_Y
168
123
  */
169
- const OFFSET_Y = 10;
170
- exports.OFFSET_Y = OFFSET_Y;
124
+ export const OFFSET_Y = 10;
171
125
 
172
126
  /**
173
127
  * Radius mouse can move before killing tooltip.
174
128
  * @alias Blockly.Tooltip.RADIUS_OK
175
129
  */
176
- const RADIUS_OK = 10;
177
- exports.RADIUS_OK = RADIUS_OK;
130
+ export const RADIUS_OK = 10;
178
131
 
179
132
  /**
180
133
  * Delay before tooltip appears.
181
134
  * @alias Blockly.Tooltip.HOVER_MS
182
135
  */
183
- const HOVER_MS = 750;
184
- exports.HOVER_MS = HOVER_MS;
136
+ export const HOVER_MS = 750;
185
137
 
186
138
  /**
187
139
  * Horizontal padding between tooltip and screen edge.
188
140
  * @alias Blockly.Tooltip.MARGINS
189
141
  */
190
- const MARGINS = 5;
191
- exports.MARGINS = MARGINS;
142
+ export const MARGINS = 5;
192
143
 
193
- /**
194
- * The HTML container. Set once by createDom.
195
- * @type {?HTMLDivElement}
196
- */
197
- let DIV = null;
144
+ /** The HTML container. Set once by createDom. */
145
+ let containerDiv: HTMLDivElement|null = null;
198
146
 
199
147
  /**
200
148
  * Returns the HTML tooltip container.
201
- * @returns {?HTMLDivElement} The HTML tooltip container.
149
+ * @returns The HTML tooltip container.
202
150
  * @alias Blockly.Tooltip.getDiv
203
151
  */
204
- const getDiv = function() {
205
- return DIV;
206
- };
207
- exports.getDiv = getDiv;
208
-
209
- Object.defineProperties(exports, {
210
- /**
211
- * The HTML container. Set once by createDom.
212
- * @name Blockly.Tooltip.DIV
213
- * @type {HTMLDivElement}
214
- * @deprecated Use Blockly.Tooltip.getDiv() and .setDiv().
215
- * (September 2021)
216
- * @suppress {checkTypes}
217
- */
218
- DIV: {
219
- get: function() {
220
- deprecation.warn(
221
- 'Blockly.Tooltip.DIV', 'September 2021', 'September 2022',
222
- 'Blockly.Tooltip.getDiv()');
223
- return getDiv();
224
- },
225
- },
226
- });
152
+ export function getDiv(): HTMLDivElement|null {
153
+ return containerDiv;
154
+ }
227
155
 
228
156
  /**
229
157
  * Returns the tooltip text for the given element.
230
- * @param {?Object} object The object to get the tooltip text of.
231
- * @return {string} The tooltip text of the element.
158
+ * @param object The object to get the tooltip text of.
159
+ * @return The tooltip text of the element.
232
160
  * @alias Blockly.Tooltip.getTooltipOfObject
233
161
  */
234
- const getTooltipOfObject = function(object) {
162
+ export function getTooltipOfObject(object: AnyDuringMigration|null): string {
235
163
  const obj = getTargetObject(object);
236
164
  if (obj) {
237
165
  let tooltip = obj.tooltip;
@@ -244,89 +172,86 @@ const getTooltipOfObject = function(object) {
244
172
  return tooltip;
245
173
  }
246
174
  return '';
247
- };
248
- exports.getTooltipOfObject = getTooltipOfObject;
175
+ }
249
176
 
250
177
  /**
251
178
  * Returns the target object that the given object is targeting for its
252
179
  * tooltip. Could be the object itself.
253
- * @param {?Object} obj The object are trying to find the target tooltip
254
- * object of.
255
- * @return {?{tooltip}} The target tooltip object.
256
- */
257
- const getTargetObject = function(obj) {
258
- while (obj && obj.tooltip) {
259
- if ((typeof obj.tooltip === 'string') ||
260
- (typeof obj.tooltip === 'function')) {
261
- return obj;
180
+ * @param obj The object are trying to find the target tooltip object of.
181
+ * @return The target tooltip object.
182
+ */
183
+ function getTargetObject(obj: object|null): {tooltip: AnyDuringMigration}|null {
184
+ while (obj && (obj as any).tooltip) {
185
+ if (typeof (obj as any).tooltip === 'string' ||
186
+ typeof (obj as any).tooltip === 'function') {
187
+ return obj as {tooltip: string | (() => string)};
262
188
  }
263
- obj = obj.tooltip;
189
+ obj = (obj as any).tooltip;
264
190
  }
265
191
  return null;
266
- };
192
+ }
267
193
 
268
194
  /**
269
195
  * Create the tooltip div and inject it onto the page.
270
196
  * @alias Blockly.Tooltip.createDom
271
197
  */
272
- const createDom = function() {
273
- if (DIV) {
198
+ export function createDom() {
199
+ if (containerDiv) {
274
200
  return; // Already created.
275
201
  }
276
202
  // Create an HTML container for popup overlays (e.g. editor widgets).
277
- DIV = /** @type {!HTMLDivElement} */ (document.createElement('div'));
278
- DIV.className = 'blocklyTooltipDiv';
203
+ containerDiv = document.createElement('div');
204
+ containerDiv.className = 'blocklyTooltipDiv';
279
205
  const container = common.getParentContainer() || document.body;
280
- container.appendChild(DIV);
281
- };
282
- exports.createDom = createDom;
206
+ container.appendChild(containerDiv);
207
+ }
283
208
 
284
209
  /**
285
210
  * Binds the required mouse events onto an SVG element.
286
- * @param {!Element} element SVG element onto which tooltip is to be bound.
211
+ * @param element SVG element onto which tooltip is to be bound.
287
212
  * @alias Blockly.Tooltip.bindMouseEvents
288
213
  */
289
- const bindMouseEvents = function(element) {
290
- element.mouseOverWrapper_ =
214
+ export function bindMouseEvents(element: Element) {
215
+ // TODO (#6097): Don't stash wrapper info on the DOM.
216
+ (element as AnyDuringMigration).mouseOverWrapper_ =
291
217
  browserEvents.bind(element, 'mouseover', null, onMouseOver);
292
- element.mouseOutWrapper_ =
218
+ (element as AnyDuringMigration).mouseOutWrapper_ =
293
219
  browserEvents.bind(element, 'mouseout', null, onMouseOut);
294
220
 
295
221
  // Don't use bindEvent_ for mousemove since that would create a
296
222
  // corresponding touch handler, even though this only makes sense in the
297
223
  // context of a mouseover/mouseout.
298
224
  element.addEventListener('mousemove', onMouseMove, false);
299
- };
300
- exports.bindMouseEvents = bindMouseEvents;
225
+ }
301
226
 
302
227
  /**
303
228
  * Unbinds tooltip mouse events from the SVG element.
304
- * @param {!Element} element SVG element onto which tooltip is bound.
229
+ * @param element SVG element onto which tooltip is bound.
305
230
  * @alias Blockly.Tooltip.unbindMouseEvents
306
231
  */
307
- const unbindMouseEvents = function(element) {
232
+ export function unbindMouseEvents(element: Element) {
308
233
  if (!element) {
309
234
  return;
310
235
  }
311
- browserEvents.unbind(element.mouseOverWrapper_);
312
- browserEvents.unbind(element.mouseOutWrapper_);
236
+ // TODO (#6097): Don't stash wrapper info on the DOM.
237
+ browserEvents.unbind((element as AnyDuringMigration).mouseOverWrapper_);
238
+ browserEvents.unbind((element as AnyDuringMigration).mouseOutWrapper_);
313
239
  element.removeEventListener('mousemove', onMouseMove);
314
- };
315
- exports.unbindMouseEvents = unbindMouseEvents;
240
+ }
316
241
 
317
242
  /**
318
243
  * Hide the tooltip if the mouse is over a different object.
319
244
  * Initialize the tooltip to potentially appear for this object.
320
- * @param {!Event} e Mouse event.
245
+ * @param e Mouse event.
321
246
  */
322
- const onMouseOver = function(e) {
247
+ function onMouseOver(e: Event) {
323
248
  if (blocked) {
324
249
  // Someone doesn't want us to show tooltips.
325
250
  return;
326
251
  }
327
252
  // If the tooltip is an object, treat it as a pointer to the next object in
328
253
  // the chain to look at. Terminate when a string or function is found.
329
- const newElement = /** @type {Element} */ (getTargetObject(e.currentTarget));
254
+ const newElement = getTargetObject(e.currentTarget);
330
255
  if (element !== newElement) {
331
256
  hide();
332
257
  poisonedElement = null;
@@ -334,13 +259,13 @@ const onMouseOver = function(e) {
334
259
  }
335
260
  // Forget about any immediately preceding mouseOut event.
336
261
  clearTimeout(mouseOutPid);
337
- };
262
+ }
338
263
 
339
264
  /**
340
265
  * Hide the tooltip if the mouse leaves the object and enters the workspace.
341
- * @param {!Event} _e Mouse event.
266
+ * @param _e Mouse event.
342
267
  */
343
- const onMouseOut = function(_e) {
268
+ function onMouseOut(_e: Event) {
344
269
  if (blocked) {
345
270
  // Someone doesn't want us to show tooltips.
346
271
  return;
@@ -355,15 +280,15 @@ const onMouseOut = function(_e) {
355
280
  hide();
356
281
  }, 1);
357
282
  clearTimeout(showPid);
358
- };
283
+ }
359
284
 
360
285
  /**
361
286
  * When hovering over an element, schedule a tooltip to be shown. If a tooltip
362
287
  * is already visible, hide it if the mouse strays out of a certain radius.
363
- * @param {!Event} e Mouse event.
288
+ * @param e Mouse event.
364
289
  */
365
- const onMouseMove = function(e) {
366
- if (!element || !element.tooltip) {
290
+ function onMouseMove(e: Event) {
291
+ if (!element || !(element as AnyDuringMigration).tooltip) {
367
292
  // No tooltip here to show.
368
293
  return;
369
294
  } else if (blocked) {
@@ -374,8 +299,12 @@ const onMouseMove = function(e) {
374
299
  if (visible) {
375
300
  // Compute the distance between the mouse position when the tooltip was
376
301
  // shown and the current mouse position. Pythagorean theorem.
377
- const dx = lastX - e.pageX;
378
- const dy = lastY - e.pageY;
302
+ // AnyDuringMigration because: Property 'pageX' does not exist on type
303
+ // 'Event'.
304
+ const dx = lastX - (e as AnyDuringMigration).pageX;
305
+ // AnyDuringMigration because: Property 'pageY' does not exist on type
306
+ // 'Event'.
307
+ const dy = lastY - (e as AnyDuringMigration).pageY;
379
308
  if (Math.sqrt(dx * dx + dy * dy) > RADIUS_OK) {
380
309
  hide();
381
310
  }
@@ -383,159 +312,152 @@ const onMouseMove = function(e) {
383
312
  // The mouse moved, clear any previously scheduled tooltip.
384
313
  clearTimeout(showPid);
385
314
  // Maybe this time the mouse will stay put. Schedule showing of tooltip.
386
- lastX = e.pageX;
387
- lastY = e.pageY;
315
+ // AnyDuringMigration because: Property 'pageX' does not exist on type
316
+ // 'Event'.
317
+ lastX = (e as AnyDuringMigration).pageX;
318
+ // AnyDuringMigration because: Property 'pageY' does not exist on type
319
+ // 'Event'.
320
+ lastY = (e as AnyDuringMigration).pageY;
388
321
  showPid = setTimeout(show, HOVER_MS);
389
322
  }
390
- };
323
+ }
391
324
 
392
325
  /**
393
326
  * Dispose of the tooltip.
394
327
  * @alias Blockly.Tooltip.dispose
395
- * @package
328
+ * @internal
396
329
  */
397
- const dispose = function() {
330
+ export function dispose() {
398
331
  element = null;
399
332
  poisonedElement = null;
400
333
  hide();
401
- };
402
- exports.dispose = dispose;
334
+ }
403
335
 
404
336
  /**
405
337
  * Hide the tooltip.
406
338
  * @alias Blockly.Tooltip.hide
407
339
  */
408
- const hide = function() {
340
+ export function hide() {
409
341
  if (visible) {
410
342
  visible = false;
411
- if (DIV) {
412
- DIV.style.display = 'none';
343
+ if (containerDiv) {
344
+ containerDiv.style.display = 'none';
413
345
  }
414
346
  }
415
347
  if (showPid) {
416
348
  clearTimeout(showPid);
417
349
  }
418
- };
419
- exports.hide = hide;
350
+ }
420
351
 
421
352
  /**
422
353
  * Hide any in-progress tooltips and block showing new tooltips until the next
423
354
  * call to unblock().
424
355
  * @alias Blockly.Tooltip.block
425
- * @package
356
+ * @internal
426
357
  */
427
- const block = function() {
358
+ export function block() {
428
359
  hide();
429
360
  blocked = true;
430
- };
431
- exports.block = block;
361
+ }
432
362
 
433
363
  /**
434
364
  * Unblock tooltips: allow them to be scheduled and shown according to their own
435
365
  * logic.
436
366
  * @alias Blockly.Tooltip.unblock
437
- * @package
367
+ * @internal
438
368
  */
439
- const unblock = function() {
369
+ export function unblock() {
440
370
  blocked = false;
441
- };
442
- exports.unblock = unblock;
371
+ }
443
372
 
444
- /**
445
- * Renders the tooltip content into the tooltip div.
446
- */
447
- const renderContent = function() {
448
- if (!DIV || !element) {
373
+ /** Renders the tooltip content into the tooltip div. */
374
+ function renderContent() {
375
+ if (!containerDiv || !element) {
449
376
  // This shouldn't happen, but if it does, we can't render.
450
377
  return;
451
378
  }
452
379
  if (typeof customTooltip === 'function') {
453
- customTooltip(DIV, element);
380
+ customTooltip(containerDiv, element);
454
381
  } else {
455
382
  renderDefaultContent();
456
383
  }
457
- };
384
+ }
458
385
 
459
- /**
460
- * Renders the default tooltip UI.
461
- */
462
- const renderDefaultContent = function() {
386
+ /** Renders the default tooltip UI. */
387
+ function renderDefaultContent() {
463
388
  let tip = getTooltipOfObject(element);
464
389
  tip = blocklyString.wrap(tip, LIMIT);
465
390
  // Create new text, line by line.
466
391
  const lines = tip.split('\n');
467
392
  for (let i = 0; i < lines.length; i++) {
468
- const div = /** @type {!HTMLDivElement} */ (document.createElement('div'));
393
+ const div = (document.createElement('div'));
469
394
  div.appendChild(document.createTextNode(lines[i]));
470
- DIV.appendChild(div);
395
+ containerDiv!.appendChild(div);
471
396
  }
472
- };
397
+ }
473
398
 
474
399
  /**
475
400
  * Gets the coordinates for the tooltip div, taking into account the edges of
476
401
  * the screen to prevent showing the tooltip offscreen.
477
- * @param {boolean} rtl True if the tooltip should be in right-to-left layout.
478
- * @returns {{x: number, y: number}} Coordinates at which the tooltip div should
479
- * be placed.
402
+ * @param rtl True if the tooltip should be in right-to-left layout.
403
+ * @returns Coordinates at which the tooltip div should be placed.
480
404
  */
481
- const getPosition = function(rtl) {
405
+ function getPosition(rtl: boolean): {x: number, y: number} {
482
406
  // Position the tooltip just below the cursor.
483
407
  const windowWidth = document.documentElement.clientWidth;
484
408
  const windowHeight = document.documentElement.clientHeight;
485
409
 
486
410
  let anchorX = lastX;
487
411
  if (rtl) {
488
- anchorX -= OFFSET_X + DIV.offsetWidth;
412
+ anchorX -= OFFSET_X + containerDiv!.offsetWidth;
489
413
  } else {
490
414
  anchorX += OFFSET_X;
491
415
  }
492
416
 
493
417
  let anchorY = lastY + OFFSET_Y;
494
- if (anchorY + DIV.offsetHeight > windowHeight + window.scrollY) {
418
+ if (anchorY + containerDiv!.offsetHeight > windowHeight + window.scrollY) {
495
419
  // Falling off the bottom of the screen; shift the tooltip up.
496
- anchorY -= DIV.offsetHeight + 2 * OFFSET_Y;
420
+ anchorY -= containerDiv!.offsetHeight + 2 * OFFSET_Y;
497
421
  }
498
422
 
499
423
  if (rtl) {
500
424
  // Prevent falling off left edge in RTL mode.
501
425
  anchorX = Math.max(MARGINS - window.scrollX, anchorX);
502
426
  } else {
503
- if (anchorX + DIV.offsetWidth >
427
+ if (anchorX + containerDiv!.offsetWidth >
504
428
  windowWidth + window.scrollX - 2 * MARGINS) {
505
429
  // Falling off the right edge of the screen;
506
430
  // clamp the tooltip on the edge.
507
- anchorX = windowWidth - DIV.offsetWidth - 2 * MARGINS;
431
+ anchorX = windowWidth - containerDiv!.offsetWidth - 2 * MARGINS;
508
432
  }
509
433
  }
510
434
 
511
435
  return {x: anchorX, y: anchorY};
512
- };
436
+ }
513
437
 
514
- /**
515
- * Create the tooltip and show it.
516
- */
517
- const show = function() {
438
+ /** Create the tooltip and show it. */
439
+ function show() {
518
440
  if (blocked) {
519
441
  // Someone doesn't want us to show tooltips.
520
442
  return;
521
443
  }
522
444
  poisonedElement = element;
523
- if (!DIV) {
445
+ if (!containerDiv) {
524
446
  return;
525
447
  }
526
448
  // Erase all existing text.
527
- DIV.textContent = '';
449
+ containerDiv.textContent = '';
528
450
 
529
451
  // Add new content.
530
452
  renderContent();
531
453
 
532
454
  // Display the tooltip.
533
- const rtl = /** @type {{RTL: boolean}} */ (element).RTL;
534
- DIV.style.direction = rtl ? 'rtl' : 'ltr';
535
- DIV.style.display = 'block';
455
+ const rtl = (element as any).RTL;
456
+ containerDiv.style.direction = rtl ? 'rtl' : 'ltr';
457
+ containerDiv.style.display = 'block';
536
458
  visible = true;
537
459
 
538
460
  const {x, y} = getPosition(rtl);
539
- DIV.style.left = x + 'px';
540
- DIV.style.top = y + 'px';
541
- };
461
+ containerDiv.style.left = x + 'px';
462
+ containerDiv.style.top = y + 'px';
463
+ }