blockly 9.0.0-beta.0 → 9.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (736) hide show
  1. package/blockly.min.js +830 -810
  2. package/blockly_compressed.js +821 -801
  3. package/blockly_compressed.js.map +1 -1
  4. package/blocks.d.ts +0 -5
  5. package/blocks_compressed.js +9 -9
  6. package/blocks_compressed.js.map +1 -1
  7. package/closure/goog/base.d.ts +1 -0
  8. package/closure/goog/base_minimal.d.ts +1 -0
  9. package/closure/goog/goog.d.ts +1 -0
  10. package/core/any_aliases.d.ts +1 -0
  11. package/core/block.d.ts +156 -53
  12. package/core/block_animations.d.ts +5 -0
  13. package/core/block_drag_surface.d.ts +18 -5
  14. package/core/block_dragger.d.ts +20 -5
  15. package/core/block_svg.d.ts +92 -24
  16. package/core/blockly.d.ts +31 -10
  17. package/core/blockly_options.d.ts +2 -0
  18. package/core/blocks.d.ts +2 -0
  19. package/core/browser_events.d.ts +16 -7
  20. package/core/bubble.d.ts +42 -12
  21. package/core/bubble_dragger.d.ts +9 -2
  22. package/core/bump_objects.d.ts +6 -2
  23. package/core/clipboard.d.ts +6 -2
  24. package/core/comment.d.ts +13 -3
  25. package/core/common.d.ts +35 -9
  26. package/core/component_manager.d.ts +16 -6
  27. package/core/config.d.ts +1 -0
  28. package/core/connection.d.ts +48 -18
  29. package/core/connection_checker.d.ts +16 -7
  30. package/core/connection_db.d.ts +17 -6
  31. package/core/connection_type.d.ts +2 -0
  32. package/core/constants.d.ts +3 -0
  33. package/core/contextmenu.d.ts +15 -5
  34. package/core/contextmenu_items.d.ts +15 -0
  35. package/core/contextmenu_registry.d.ts +12 -7
  36. package/core/css.d.ts +3 -0
  37. package/core/delete_area.d.ts +5 -1
  38. package/core/dialog.d.ts +14 -7
  39. package/core/drag_target.d.ts +10 -2
  40. package/core/dropdowndiv.d.ts +42 -10
  41. package/core/events/events.d.ts +51 -24
  42. package/core/events/events_abstract.d.ts +18 -7
  43. package/core/events/events_block_base.d.ts +13 -7
  44. package/core/events/events_block_change.d.ts +24 -11
  45. package/core/events/events_block_create.d.ts +18 -7
  46. package/core/events/events_block_delete.d.ts +20 -8
  47. package/core/events/events_block_drag.d.ts +14 -4
  48. package/core/events/events_block_move.d.ts +25 -12
  49. package/core/events/events_bubble_open.d.ts +21 -6
  50. package/core/events/events_click.d.ts +20 -6
  51. package/core/events/events_comment_base.d.ts +13 -6
  52. package/core/events/events_comment_change.d.ts +17 -7
  53. package/core/events/events_comment_create.d.ts +13 -5
  54. package/core/events/events_comment_delete.d.ts +4 -11
  55. package/core/events/events_comment_move.d.ts +19 -8
  56. package/core/events/events_marker_move.d.ts +16 -5
  57. package/core/events/events_selected.d.ts +14 -5
  58. package/core/events/events_theme_change.d.ts +11 -3
  59. package/core/events/events_toolbox_item_select.d.ts +14 -5
  60. package/core/events/events_trashcan_open.d.ts +11 -3
  61. package/core/events/events_ui.d.ts +5 -1
  62. package/core/events/events_ui_base.d.ts +2 -0
  63. package/core/events/events_var_base.d.ts +13 -7
  64. package/core/events/events_var_create.d.ts +15 -6
  65. package/core/events/events_var_delete.d.ts +15 -6
  66. package/core/events/events_var_rename.d.ts +15 -6
  67. package/core/events/events_viewport.d.ts +14 -3
  68. package/core/events/utils.d.ts +50 -7
  69. package/core/events/workspace_events.d.ts +11 -6
  70. package/core/extensions.d.ts +14 -4
  71. package/core/field.d.ts +93 -36
  72. package/core/field_angle.d.ts +14 -3
  73. package/core/field_checkbox.d.ts +20 -7
  74. package/core/field_colour.d.ts +22 -6
  75. package/core/field_dropdown.d.ts +28 -8
  76. package/core/field_image.d.ts +15 -4
  77. package/core/field_label.d.ts +8 -2
  78. package/core/field_label_serializable.d.ts +4 -1
  79. package/core/field_multilineinput.d.ts +21 -6
  80. package/core/field_number.d.ts +22 -6
  81. package/core/field_registry.d.ts +8 -2
  82. package/core/field_textinput.d.ts +28 -8
  83. package/core/field_variable.d.ts +36 -13
  84. package/core/flyout_base.d.ts +70 -24
  85. package/core/flyout_button.d.ts +12 -5
  86. package/core/flyout_horizontal.d.ts +14 -6
  87. package/core/flyout_metrics_manager.d.ts +6 -3
  88. package/core/flyout_vertical.d.ts +14 -6
  89. package/core/generator.d.ts +39 -20
  90. package/core/gesture.d.ts +56 -22
  91. package/core/grid.d.ts +20 -16
  92. package/core/icon.d.ts +18 -5
  93. package/core/inject.d.ts +3 -1
  94. package/core/input.d.ts +25 -10
  95. package/core/input_types.d.ts +2 -0
  96. package/core/insertion_marker_manager.d.ts +27 -9
  97. package/core/interfaces/i_ast_node_location.d.ts +2 -0
  98. package/core/interfaces/i_ast_node_location_svg.d.ts +4 -0
  99. package/core/interfaces/i_ast_node_location_with_block.d.ts +4 -1
  100. package/core/interfaces/i_autohideable.d.ts +3 -0
  101. package/core/interfaces/i_block_dragger.d.ts +7 -1
  102. package/core/interfaces/i_bounded_element.d.ts +5 -1
  103. package/core/interfaces/i_bubble.d.ts +11 -2
  104. package/core/interfaces/i_collapsible_toolbox_item.d.ts +6 -2
  105. package/core/interfaces/i_component.d.ts +3 -1
  106. package/core/interfaces/i_connection_checker.d.ts +14 -6
  107. package/core/interfaces/i_contextmenu.d.ts +2 -0
  108. package/core/interfaces/i_copyable.d.ts +3 -1
  109. package/core/interfaces/i_deletable.d.ts +4 -1
  110. package/core/interfaces/i_delete_area.d.ts +4 -1
  111. package/core/interfaces/i_drag_target.d.ts +10 -2
  112. package/core/interfaces/i_draggable.d.ts +2 -0
  113. package/core/interfaces/i_flyout.d.ts +27 -11
  114. package/core/interfaces/i_keyboard_accessible.d.ts +4 -1
  115. package/core/interfaces/i_metrics_manager.d.ts +24 -12
  116. package/core/interfaces/i_movable.d.ts +4 -1
  117. package/core/interfaces/i_positionable.d.ts +5 -1
  118. package/core/interfaces/i_registrable.d.ts +2 -0
  119. package/core/interfaces/i_registrable_field.d.ts +2 -0
  120. package/core/interfaces/i_selectable.d.ts +2 -0
  121. package/core/interfaces/i_selectable_toolbox_item.d.ts +10 -3
  122. package/core/interfaces/i_serializer.d.ts +6 -1
  123. package/core/interfaces/i_styleable.d.ts +4 -0
  124. package/core/interfaces/i_toolbox.d.ts +17 -6
  125. package/core/interfaces/i_toolbox_item.d.ts +17 -7
  126. package/core/internal_constants.d.ts +6 -0
  127. package/core/keyboard_nav/ast_node.d.ts +55 -28
  128. package/core/keyboard_nav/basic_cursor.d.ts +20 -9
  129. package/core/keyboard_nav/cursor.d.ts +11 -5
  130. package/core/keyboard_nav/marker.d.ts +9 -2
  131. package/core/keyboard_nav/tab_navigate_cursor.d.ts +4 -1
  132. package/core/main.d.ts +1 -0
  133. package/core/marker_manager.d.ts +13 -2
  134. package/core/menu.d.ts +25 -6
  135. package/core/menuitem.d.ts +22 -7
  136. package/core/metrics_manager.d.ts +30 -15
  137. package/core/msg.d.ts +15 -0
  138. package/core/mutator.d.ts +20 -8
  139. package/core/names.d.ts +20 -8
  140. package/core/options.d.ts +12 -6
  141. package/core/positionable_helpers.d.ts +11 -3
  142. package/core/procedures.d.ts +27 -10
  143. package/core/registry.d.ts +19 -8
  144. package/core/rendered_connection.d.ts +29 -7
  145. package/core/renderers/common/block_rendering.d.ts +9 -2
  146. package/core/renderers/common/constants.d.ts +57 -18
  147. package/core/renderers/common/debug.d.ts +5 -1
  148. package/core/renderers/common/debugger.d.ts +12 -1
  149. package/core/renderers/common/drawer.d.ts +16 -3
  150. package/core/renderers/common/i_path_object.d.ts +37 -16
  151. package/core/renderers/common/info.d.ts +28 -11
  152. package/core/renderers/common/marker_svg.d.ts +42 -11
  153. package/core/renderers/common/path_object.d.ts +23 -3
  154. package/core/renderers/common/renderer.d.ts +33 -12
  155. package/core/renderers/geras/constants.d.ts +6 -2
  156. package/core/renderers/geras/drawer.d.ts +4 -1
  157. package/core/renderers/geras/geras.d.ts +3 -2
  158. package/core/renderers/geras/highlight_constants.d.ts +9 -6
  159. package/core/renderers/geras/highlighter.d.ts +12 -1
  160. package/core/renderers/geras/info.d.ts +4 -1
  161. package/core/renderers/geras/measurables/inline_input.d.ts +2 -0
  162. package/core/renderers/geras/measurables/statement_input.d.ts +2 -0
  163. package/core/renderers/geras/path_object.d.ts +4 -1
  164. package/core/renderers/geras/renderer.d.ts +16 -6
  165. package/core/renderers/measurables/base.d.ts +2 -0
  166. package/core/renderers/measurables/bottom_row.d.ts +9 -3
  167. package/core/renderers/measurables/connection.d.ts +2 -0
  168. package/core/renderers/measurables/external_value_input.d.ts +2 -1
  169. package/core/renderers/measurables/field.d.ts +2 -1
  170. package/core/renderers/measurables/hat.d.ts +2 -1
  171. package/core/renderers/measurables/icon.d.ts +4 -1
  172. package/core/renderers/measurables/in_row_spacer.d.ts +2 -1
  173. package/core/renderers/measurables/inline_input.d.ts +2 -1
  174. package/core/renderers/measurables/input_connection.d.ts +2 -0
  175. package/core/renderers/measurables/input_row.d.ts +4 -1
  176. package/core/renderers/measurables/jagged_edge.d.ts +2 -1
  177. package/core/renderers/measurables/next_connection.d.ts +2 -1
  178. package/core/renderers/measurables/output_connection.d.ts +2 -1
  179. package/core/renderers/measurables/previous_connection.d.ts +2 -1
  180. package/core/renderers/measurables/round_corner.d.ts +2 -1
  181. package/core/renderers/measurables/row.d.ts +30 -8
  182. package/core/renderers/measurables/spacer_row.d.ts +2 -1
  183. package/core/renderers/measurables/square_corner.d.ts +2 -1
  184. package/core/renderers/measurables/statement_input.d.ts +2 -1
  185. package/core/renderers/measurables/top_row.d.ts +7 -4
  186. package/core/renderers/measurables/types.d.ts +54 -25
  187. package/core/renderers/minimalist/constants.d.ts +2 -0
  188. package/core/renderers/minimalist/drawer.d.ts +2 -0
  189. package/core/renderers/minimalist/info.d.ts +5 -1
  190. package/core/renderers/minimalist/minimalist.d.ts +2 -1
  191. package/core/renderers/minimalist/renderer.d.ts +8 -3
  192. package/core/renderers/thrasos/info.d.ts +5 -4
  193. package/core/renderers/thrasos/renderer.d.ts +4 -1
  194. package/core/renderers/thrasos/thrasos.d.ts +2 -1
  195. package/core/renderers/zelos/constants.d.ts +31 -44
  196. package/core/renderers/zelos/drawer.d.ts +3 -0
  197. package/core/renderers/zelos/info.d.ts +10 -5
  198. package/core/renderers/zelos/marker_svg.d.ts +5 -0
  199. package/core/renderers/zelos/measurables/bottom_row.d.ts +2 -0
  200. package/core/renderers/zelos/measurables/inputs.d.ts +2 -1
  201. package/core/renderers/zelos/measurables/row_elements.d.ts +2 -0
  202. package/core/renderers/zelos/measurables/top_row.d.ts +2 -0
  203. package/core/renderers/zelos/path_object.d.ts +9 -2
  204. package/core/renderers/zelos/renderer.d.ts +14 -6
  205. package/core/renderers/zelos/zelos.d.ts +3 -2
  206. package/core/scrollbar.d.ts +41 -9
  207. package/core/scrollbar_pair.d.ts +20 -6
  208. package/core/serialization/blocks.d.ts +10 -4
  209. package/core/serialization/exceptions.d.ts +5 -0
  210. package/core/serialization/priorities.d.ts +3 -0
  211. package/core/serialization/registry.d.ts +3 -0
  212. package/core/serialization/variables.d.ts +2 -0
  213. package/core/serialization/workspaces.d.ts +4 -1
  214. package/core/shortcut_items.d.ts +10 -0
  215. package/core/shortcut_registry.d.ts +25 -9
  216. package/core/sprites.d.ts +2 -4
  217. package/core/theme/classic.d.ts +2 -0
  218. package/core/theme/themes.d.ts +1 -0
  219. package/core/theme/zelos.d.ts +2 -0
  220. package/core/theme.d.ts +41 -30
  221. package/core/theme_manager.d.ts +10 -1
  222. package/core/toolbox/category.d.ts +60 -32
  223. package/core/toolbox/collapsible_category.d.ts +10 -3
  224. package/core/toolbox/separator.d.ts +4 -1
  225. package/core/toolbox/toolbox.d.ts +71 -23
  226. package/core/toolbox/toolbox_item.d.ts +17 -7
  227. package/core/tooltip.d.ts +22 -1
  228. package/core/touch.d.ts +18 -6
  229. package/core/touch_gesture.d.ts +19 -4
  230. package/core/trashcan.d.ts +27 -6
  231. package/core/utils/aria.d.ts +4 -0
  232. package/core/utils/array.d.ts +4 -2
  233. package/core/utils/colour.d.ts +24 -13
  234. package/core/utils/coordinate.d.ts +19 -9
  235. package/core/utils/deprecation.d.ts +6 -4
  236. package/core/utils/dom.d.ts +37 -18
  237. package/core/utils/idgenerator.d.ts +14 -4
  238. package/core/utils/keycodes.d.ts +1 -0
  239. package/core/utils/math.d.ts +7 -3
  240. package/core/utils/metrics.d.ts +1 -0
  241. package/core/utils/object.d.ts +7 -2
  242. package/core/utils/parsing.d.ts +9 -4
  243. package/core/utils/rect.d.ts +5 -3
  244. package/core/utils/sentinel.d.ts +2 -0
  245. package/core/utils/size.d.ts +4 -2
  246. package/core/utils/string.d.ts +13 -6
  247. package/core/utils/style.d.ts +14 -33
  248. package/core/utils/svg.d.ts +5 -2
  249. package/core/utils/svg_math.d.ts +15 -7
  250. package/core/utils/svg_paths.d.ts +20 -10
  251. package/core/utils/toolbox.d.ts +26 -5
  252. package/core/utils/useragent.d.ts +1 -12
  253. package/core/utils/xml.d.ts +13 -5
  254. package/core/utils.d.ts +43 -21
  255. package/core/variable_map.d.ts +26 -9
  256. package/core/variable_model.d.ts +5 -2
  257. package/core/variables.d.ts +33 -18
  258. package/core/variables_dynamic.d.ts +25 -5
  259. package/core/warning.d.ts +8 -3
  260. package/core/widgetdiv.d.ts +15 -6
  261. package/core/workspace.d.ts +80 -30
  262. package/core/workspace_audio.d.ts +6 -0
  263. package/core/workspace_comment.d.ts +33 -11
  264. package/core/workspace_comment_svg.d.ts +52 -9
  265. package/core/workspace_drag_surface_svg.d.ts +20 -14
  266. package/core/workspace_dragger.d.ts +6 -0
  267. package/core/workspace_svg.d.ts +174 -62
  268. package/core/xml.d.ts +26 -11
  269. package/core/zoom_controls.d.ts +17 -7
  270. package/core-browser.js +0 -6
  271. package/core.d.ts +0 -5
  272. package/core.js +0 -6
  273. package/dart.d.ts +1 -7
  274. package/dart_compressed.js.map +1 -1
  275. package/index.d.ts +2 -6
  276. package/javascript.d.ts +1 -7
  277. package/javascript_compressed.js.map +1 -1
  278. package/lua.d.ts +1 -7
  279. package/lua_compressed.js.map +1 -1
  280. package/msg/ab.d.ts +8 -0
  281. package/msg/ace.d.ts +8 -0
  282. package/msg/af.d.ts +8 -0
  283. package/msg/am.d.ts +8 -0
  284. package/msg/ar.d.ts +8 -0
  285. package/msg/ast.d.ts +8 -0
  286. package/msg/az.d.ts +8 -0
  287. package/msg/ba.d.ts +8 -0
  288. package/msg/bcc.d.ts +8 -0
  289. package/msg/be-tarask.d.ts +8 -0
  290. package/msg/be.d.ts +8 -0
  291. package/msg/bg.d.ts +8 -0
  292. package/msg/bn.d.ts +8 -0
  293. package/msg/br.d.ts +8 -0
  294. package/msg/bs.d.ts +8 -0
  295. package/msg/ca.d.ts +8 -0
  296. package/msg/cdo.d.ts +8 -0
  297. package/msg/constants.d.ts +16 -0
  298. package/msg/cs.d.ts +8 -0
  299. package/msg/da.d.ts +8 -0
  300. package/msg/de.d.ts +8 -0
  301. package/msg/diq.d.ts +8 -0
  302. package/msg/dty.d.ts +8 -0
  303. package/msg/ee.d.ts +8 -0
  304. package/msg/el.d.ts +8 -0
  305. package/msg/en-gb.d.ts +8 -0
  306. package/msg/en.d.ts +8 -0
  307. package/msg/eo.d.ts +8 -0
  308. package/msg/es.d.ts +8 -0
  309. package/msg/et.d.ts +8 -0
  310. package/msg/eu.d.ts +8 -0
  311. package/msg/fa.d.ts +8 -0
  312. package/msg/fi.d.ts +8 -0
  313. package/msg/fo.d.ts +8 -0
  314. package/msg/fr.d.ts +8 -0
  315. package/msg/frr.d.ts +8 -0
  316. package/msg/gl.d.ts +8 -0
  317. package/msg/gn.d.ts +8 -0
  318. package/msg/gor.d.ts +8 -0
  319. package/msg/ha.d.ts +8 -0
  320. package/msg/hak.d.ts +8 -0
  321. package/msg/he.d.ts +8 -0
  322. package/msg/hi.d.ts +8 -0
  323. package/msg/hr.d.ts +8 -0
  324. package/msg/hrx.d.ts +8 -0
  325. package/msg/hu.d.ts +8 -0
  326. package/msg/hy.d.ts +8 -0
  327. package/msg/ia.d.ts +8 -0
  328. package/msg/id.d.ts +8 -0
  329. package/msg/ig.d.ts +8 -0
  330. package/msg/inh.d.ts +8 -0
  331. package/msg/is.d.ts +8 -0
  332. package/msg/it.d.ts +8 -0
  333. package/msg/ja.d.ts +8 -0
  334. package/msg/ka.d.ts +8 -0
  335. package/msg/kab.d.ts +8 -0
  336. package/msg/kbd-cyrl.d.ts +8 -0
  337. package/msg/km.d.ts +8 -0
  338. package/msg/kn.d.ts +8 -0
  339. package/msg/ko.d.ts +8 -0
  340. package/msg/ksh.d.ts +8 -0
  341. package/msg/ku-latn.d.ts +8 -0
  342. package/msg/ky.d.ts +8 -0
  343. package/msg/la.d.ts +8 -0
  344. package/msg/lb.d.ts +8 -0
  345. package/msg/lki.d.ts +8 -0
  346. package/msg/lo.d.ts +8 -0
  347. package/msg/lrc.d.ts +8 -0
  348. package/msg/lt.d.ts +8 -0
  349. package/msg/lv.d.ts +8 -0
  350. package/msg/mg.d.ts +8 -0
  351. package/msg/mk.d.ts +8 -0
  352. package/msg/ml.d.ts +8 -0
  353. package/msg/mnw.d.ts +8 -0
  354. package/msg/ms.d.ts +8 -0
  355. package/msg/msg.d.ts +429 -432
  356. package/msg/my.d.ts +8 -0
  357. package/msg/mzn.d.ts +8 -0
  358. package/msg/nb.d.ts +8 -0
  359. package/msg/ne.d.ts +8 -0
  360. package/msg/nl.d.ts +8 -0
  361. package/msg/oc.d.ts +8 -0
  362. package/msg/olo.d.ts +8 -0
  363. package/msg/pa.d.ts +8 -0
  364. package/msg/pl.d.ts +8 -0
  365. package/msg/pms.d.ts +8 -0
  366. package/msg/ps.d.ts +8 -0
  367. package/msg/pt-br.d.ts +8 -0
  368. package/msg/pt.d.ts +8 -0
  369. package/msg/qqq.d.ts +16 -0
  370. package/msg/ro.d.ts +8 -0
  371. package/msg/ru.d.ts +8 -0
  372. package/msg/sc.d.ts +8 -0
  373. package/msg/sco.d.ts +8 -0
  374. package/msg/sd.d.ts +8 -0
  375. package/msg/shn.d.ts +8 -0
  376. package/msg/si.d.ts +8 -0
  377. package/msg/sk.d.ts +8 -0
  378. package/msg/skr-arab.d.ts +8 -0
  379. package/msg/sl.d.ts +8 -0
  380. package/msg/smn.d.ts +8 -0
  381. package/msg/sq.d.ts +8 -0
  382. package/msg/sr-latn.d.ts +8 -0
  383. package/msg/sr.d.ts +8 -0
  384. package/msg/sv.d.ts +8 -0
  385. package/msg/sw.d.ts +8 -0
  386. package/msg/synonyms.d.ts +16 -0
  387. package/msg/ta.d.ts +8 -0
  388. package/msg/tcy.d.ts +8 -0
  389. package/msg/te.d.ts +8 -0
  390. package/msg/th.d.ts +8 -0
  391. package/msg/ti.d.ts +8 -0
  392. package/msg/tl.d.ts +8 -0
  393. package/msg/tlh.d.ts +8 -0
  394. package/msg/tr.d.ts +8 -0
  395. package/msg/ug-arab.d.ts +8 -0
  396. package/msg/uk.d.ts +8 -0
  397. package/msg/ur.d.ts +8 -0
  398. package/msg/uz.d.ts +8 -0
  399. package/msg/vi.d.ts +8 -0
  400. package/msg/xmf.d.ts +8 -0
  401. package/msg/yo.d.ts +8 -0
  402. package/msg/yue.d.ts +8 -0
  403. package/msg/zgh.d.ts +8 -0
  404. package/msg/zh-hans.d.ts +8 -0
  405. package/msg/zh-hant.d.ts +8 -0
  406. package/package.json +6 -3
  407. package/php.d.ts +1 -7
  408. package/php_compressed.js.map +1 -1
  409. package/python.d.ts +1 -7
  410. package/python_compressed.js.map +1 -1
  411. package/blocks/blocks.js +0 -48
  412. package/blocks/colour.js +0 -121
  413. package/blocks/lists.js +0 -996
  414. package/blocks/logic.js +0 -665
  415. package/blocks/loops.js +0 -375
  416. package/blocks/math.js +0 -594
  417. package/blocks/procedures.js +0 -1196
  418. package/blocks/text.js +0 -1000
  419. package/blocks/variables.js +0 -176
  420. package/blocks/variables_dynamic.js +0 -192
  421. package/core/any_aliases.ts +0 -1
  422. package/core/block.ts +0 -2102
  423. package/core/block_animations.ts +0 -202
  424. package/core/block_drag_surface.ts +0 -237
  425. package/core/block_dragger.ts +0 -447
  426. package/core/block_svg.ts +0 -1758
  427. package/core/blockly.js +0 -890
  428. package/core/blockly.ts +0 -749
  429. package/core/blockly_options.ts +0 -81
  430. package/core/blocks.ts +0 -29
  431. package/core/browser_events.ts +0 -289
  432. package/core/bubble.ts +0 -892
  433. package/core/bubble_dragger.ts +0 -229
  434. package/core/bump_objects.ts +0 -182
  435. package/core/clipboard.ts +0 -91
  436. package/core/comment.ts +0 -398
  437. package/core/common.ts +0 -288
  438. package/core/component_manager.ts +0 -211
  439. package/core/config.ts +0 -80
  440. package/core/connection.ts +0 -692
  441. package/core/connection_checker.ts +0 -301
  442. package/core/connection_db.ts +0 -289
  443. package/core/connection_type.ts +0 -32
  444. package/core/constants.ts +0 -29
  445. package/core/contextmenu.ts +0 -363
  446. package/core/contextmenu_items.ts +0 -576
  447. package/core/contextmenu_registry.ts +0 -179
  448. package/core/css.ts +0 -560
  449. package/core/delete_area.ts +0 -82
  450. package/core/dialog.ts +0 -127
  451. package/core/drag_target.ts +0 -94
  452. package/core/dropdowndiv.ts +0 -683
  453. package/core/events/events.ts +0 -123
  454. package/core/events/events_abstract.ts +0 -112
  455. package/core/events/events_block_base.ts +0 -65
  456. package/core/events/events_block_change.ts +0 -176
  457. package/core/events/events_block_create.ts +0 -114
  458. package/core/events/events_block_delete.ts +0 -126
  459. package/core/events/events_block_drag.ts +0 -82
  460. package/core/events/events_block_move.ts +0 -206
  461. package/core/events/events_bubble_open.ts +0 -82
  462. package/core/events/events_click.ts +0 -84
  463. package/core/events/events_comment_base.ts +0 -107
  464. package/core/events/events_comment_change.ts +0 -108
  465. package/core/events/events_comment_create.ts +0 -82
  466. package/core/events/events_comment_delete.ts +0 -77
  467. package/core/events/events_comment_move.ts +0 -154
  468. package/core/events/events_marker_move.ts +0 -99
  469. package/core/events/events_selected.ts +0 -78
  470. package/core/events/events_theme_change.ts +0 -67
  471. package/core/events/events_toolbox_item_select.ts +0 -79
  472. package/core/events/events_trashcan_open.ts +0 -68
  473. package/core/events/events_ui.ts +0 -89
  474. package/core/events/events_ui_base.ts +0 -54
  475. package/core/events/events_var_base.ts +0 -65
  476. package/core/events/events_var_create.ts +0 -88
  477. package/core/events/events_var_delete.ts +0 -88
  478. package/core/events/events_var_rename.ts +0 -89
  479. package/core/events/events_viewport.ts +0 -100
  480. package/core/events/utils.ts +0 -529
  481. package/core/events/workspace_events.ts +0 -86
  482. package/core/extensions.ts +0 -504
  483. package/core/field.ts +0 -1206
  484. package/core/field_angle.ts +0 -563
  485. package/core/field_checkbox.ts +0 -243
  486. package/core/field_colour.ts +0 -632
  487. package/core/field_dropdown.ts +0 -773
  488. package/core/field_image.ts +0 -282
  489. package/core/field_label.ts +0 -152
  490. package/core/field_label_serializable.ts +0 -76
  491. package/core/field_multilineinput.ts +0 -466
  492. package/core/field_number.ts +0 -327
  493. package/core/field_registry.ts +0 -87
  494. package/core/field_textinput.ts +0 -591
  495. package/core/field_variable.ts +0 -545
  496. package/core/flyout_base.ts +0 -1165
  497. package/core/flyout_button.ts +0 -292
  498. package/core/flyout_horizontal.ts +0 -381
  499. package/core/flyout_metrics_manager.ts +0 -94
  500. package/core/flyout_vertical.ts +0 -384
  501. package/core/generator.ts +0 -539
  502. package/core/gesture.ts +0 -946
  503. package/core/grid.ts +0 -192
  504. package/core/icon.ts +0 -189
  505. package/core/inject.ts +0 -390
  506. package/core/input.ts +0 -309
  507. package/core/input_types.ts +0 -32
  508. package/core/insertion_marker_manager.ts +0 -788
  509. package/core/interfaces/i_ast_node_location.ts +0 -23
  510. package/core/interfaces/i_ast_node_location_svg.ts +0 -37
  511. package/core/interfaces/i_ast_node_location_with_block.ts +0 -38
  512. package/core/interfaces/i_autohideable.ts +0 -34
  513. package/core/interfaces/i_block_dragger.ts +0 -67
  514. package/core/interfaces/i_bounded_element.ts +0 -42
  515. package/core/interfaces/i_bubble.ts +0 -88
  516. package/core/interfaces/i_collapsible_toolbox_item.ts +0 -47
  517. package/core/interfaces/i_component.ts +0 -32
  518. package/core/interfaces/i_connection_checker.ts +0 -102
  519. package/core/interfaces/i_contextmenu.ts +0 -26
  520. package/core/interfaces/i_copyable.ts +0 -40
  521. package/core/interfaces/i_deletable.ts +0 -29
  522. package/core/interfaces/i_delete_area.ts +0 -46
  523. package/core/interfaces/i_drag_target.ts +0 -84
  524. package/core/interfaces/i_draggable.ts +0 -25
  525. package/core/interfaces/i_flyout.ts +0 -186
  526. package/core/interfaces/i_keyboard_accessible.ts +0 -35
  527. package/core/interfaces/i_metrics_manager.ts +0 -151
  528. package/core/interfaces/i_movable.ts +0 -29
  529. package/core/interfaces/i_positionable.ts +0 -50
  530. package/core/interfaces/i_registrable.ts +0 -25
  531. package/core/interfaces/i_registrable_field.ts +0 -31
  532. package/core/interfaces/i_selectable.ts +0 -34
  533. package/core/interfaces/i_selectable_toolbox_item.ts +0 -64
  534. package/core/interfaces/i_serializer.ts +0 -65
  535. package/core/interfaces/i_styleable.ts +0 -35
  536. package/core/interfaces/i_toolbox.ts +0 -127
  537. package/core/interfaces/i_toolbox_item.ts +0 -84
  538. package/core/internal_constants.ts +0 -67
  539. package/core/keyboard_nav/ast_node.ts +0 -717
  540. package/core/keyboard_nav/basic_cursor.ts +0 -214
  541. package/core/keyboard_nav/cursor.ts +0 -134
  542. package/core/keyboard_nav/marker.ts +0 -115
  543. package/core/keyboard_nav/tab_navigate_cursor.ts +0 -48
  544. package/core/main.js +0 -303
  545. package/core/marker_manager.ts +0 -181
  546. package/core/menu.ts +0 -449
  547. package/core/menuitem.ts +0 -240
  548. package/core/metrics_manager.ts +0 -456
  549. package/core/msg.ts +0 -20
  550. package/core/mutator.ts +0 -560
  551. package/core/names.ts +0 -267
  552. package/core/options.ts +0 -365
  553. package/core/positionable_helpers.ts +0 -181
  554. package/core/procedures.ts +0 -443
  555. package/core/registry.ts +0 -339
  556. package/core/rendered_connection.ts +0 -568
  557. package/core/renderers/common/block_rendering.ts +0 -164
  558. package/core/renderers/common/constants.ts +0 -1124
  559. package/core/renderers/common/debug.ts +0 -61
  560. package/core/renderers/common/debugger.ts +0 -433
  561. package/core/renderers/common/drawer.ts +0 -450
  562. package/core/renderers/common/i_path_object.ts +0 -161
  563. package/core/renderers/common/info.ts +0 -718
  564. package/core/renderers/common/marker_svg.ts +0 -680
  565. package/core/renderers/common/path_object.ts +0 -272
  566. package/core/renderers/common/renderer.ts +0 -271
  567. package/core/renderers/geras/constants.ts +0 -61
  568. package/core/renderers/geras/drawer.ts +0 -176
  569. package/core/renderers/geras/geras.ts +0 -37
  570. package/core/renderers/geras/highlight_constants.ts +0 -337
  571. package/core/renderers/geras/highlighter.ts +0 -306
  572. package/core/renderers/geras/info.ts +0 -450
  573. package/core/renderers/geras/measurables/inline_input.ts +0 -51
  574. package/core/renderers/geras/measurables/statement_input.ts +0 -50
  575. package/core/renderers/geras/path_object.ts +0 -138
  576. package/core/renderers/geras/renderer.ts +0 -126
  577. package/core/renderers/measurables/base.ts +0 -53
  578. package/core/renderers/measurables/bottom_row.ts +0 -120
  579. package/core/renderers/measurables/connection.ts +0 -52
  580. package/core/renderers/measurables/external_value_input.ts +0 -65
  581. package/core/renderers/measurables/field.ts +0 -63
  582. package/core/renderers/measurables/hat.ts +0 -48
  583. package/core/renderers/measurables/icon.ts +0 -54
  584. package/core/renderers/measurables/in_row_spacer.ts +0 -44
  585. package/core/renderers/measurables/inline_input.ts +0 -76
  586. package/core/renderers/measurables/input_connection.ts +0 -66
  587. package/core/renderers/measurables/input_row.ts +0 -82
  588. package/core/renderers/measurables/jagged_edge.ts +0 -43
  589. package/core/renderers/measurables/next_connection.ts +0 -47
  590. package/core/renderers/measurables/output_connection.ts +0 -56
  591. package/core/renderers/measurables/previous_connection.ts +0 -47
  592. package/core/renderers/measurables/round_corner.ts +0 -49
  593. package/core/renderers/measurables/row.ts +0 -225
  594. package/core/renderers/measurables/spacer_row.ts +0 -55
  595. package/core/renderers/measurables/square_corner.ts +0 -47
  596. package/core/renderers/measurables/statement_input.ts +0 -55
  597. package/core/renderers/measurables/top_row.ts +0 -122
  598. package/core/renderers/measurables/types.ts +0 -332
  599. package/core/renderers/minimalist/constants.ts +0 -32
  600. package/core/renderers/minimalist/drawer.ts +0 -38
  601. package/core/renderers/minimalist/info.ts +0 -52
  602. package/core/renderers/minimalist/minimalist.ts +0 -22
  603. package/core/renderers/minimalist/renderer.ts +0 -71
  604. package/core/renderers/thrasos/info.ts +0 -338
  605. package/core/renderers/thrasos/renderer.ts +0 -48
  606. package/core/renderers/thrasos/thrasos.ts +0 -20
  607. package/core/renderers/zelos/constants.ts +0 -858
  608. package/core/renderers/zelos/drawer.ts +0 -228
  609. package/core/renderers/zelos/info.ts +0 -593
  610. package/core/renderers/zelos/marker_svg.ts +0 -151
  611. package/core/renderers/zelos/measurables/bottom_row.ts +0 -53
  612. package/core/renderers/zelos/measurables/inputs.ts +0 -56
  613. package/core/renderers/zelos/measurables/row_elements.ts +0 -45
  614. package/core/renderers/zelos/measurables/top_row.ts +0 -58
  615. package/core/renderers/zelos/path_object.ts +0 -215
  616. package/core/renderers/zelos/renderer.ts +0 -142
  617. package/core/renderers/zelos/zelos.ts +0 -39
  618. package/core/scrollbar.ts +0 -870
  619. package/core/scrollbar_pair.ts +0 -321
  620. package/core/serialization/blocks.ts +0 -706
  621. package/core/serialization/exceptions.ts +0 -98
  622. package/core/serialization/priorities.ts +0 -32
  623. package/core/serialization/registry.ts +0 -43
  624. package/core/serialization/variables.ts +0 -96
  625. package/core/serialization/workspaces.ts +0 -106
  626. package/core/shortcut_items.ts +0 -266
  627. package/core/shortcut_registry.ts +0 -355
  628. package/core/sprites.ts +0 -29
  629. package/core/theme/classic.ts +0 -54
  630. package/core/theme/themes.ts +0 -22
  631. package/core/theme/zelos.ts +0 -91
  632. package/core/theme.ts +0 -221
  633. package/core/theme_manager.ts +0 -186
  634. package/core/toolbox/category.ts +0 -679
  635. package/core/toolbox/collapsible_category.ts +0 -273
  636. package/core/toolbox/separator.ts +0 -105
  637. package/core/toolbox/toolbox.ts +0 -1044
  638. package/core/toolbox/toolbox_item.ts +0 -147
  639. package/core/tooltip.ts +0 -463
  640. package/core/touch.ts +0 -306
  641. package/core/touch_gesture.ts +0 -295
  642. package/core/trashcan.ts +0 -671
  643. package/core/utils/aria.ts +0 -160
  644. package/core/utils/array.ts +0 -32
  645. package/core/utils/colour.ts +0 -276
  646. package/core/utils/coordinate.ts +0 -124
  647. package/core/utils/deprecation.ts +0 -41
  648. package/core/utils/dom.ts +0 -408
  649. package/core/utils/idgenerator.ts +0 -80
  650. package/core/utils/keycodes.ts +0 -169
  651. package/core/utils/math.ts +0 -61
  652. package/core/utils/metrics.ts +0 -97
  653. package/core/utils/object.ts +0 -95
  654. package/core/utils/parsing.ts +0 -261
  655. package/core/utils/rect.ts +0 -62
  656. package/core/utils/sentinel.ts +0 -23
  657. package/core/utils/size.ts +0 -51
  658. package/core/utils/string.ts +0 -308
  659. package/core/utils/style.ts +0 -306
  660. package/core/utils/svg.ts +0 -88
  661. package/core/utils/svg_math.ts +0 -269
  662. package/core/utils/svg_paths.ts +0 -140
  663. package/core/utils/toolbox.ts +0 -433
  664. package/core/utils/useragent.ts +0 -135
  665. package/core/utils/xml.ts +0 -97
  666. package/core/utils.ts +0 -428
  667. package/core/variable_map.ts +0 -392
  668. package/core/variable_model.ts +0 -82
  669. package/core/variables.ts +0 -596
  670. package/core/variables_dynamic.ts +0 -133
  671. package/core/warning.ts +0 -161
  672. package/core/widgetdiv.ts +0 -257
  673. package/core/workspace.ts +0 -801
  674. package/core/workspace_audio.ts +0 -156
  675. package/core/workspace_comment.ts +0 -398
  676. package/core/workspace_comment_svg.ts +0 -1127
  677. package/core/workspace_drag_surface_svg.ts +0 -187
  678. package/core/workspace_dragger.ts +0 -104
  679. package/core/workspace_svg.ts +0 -2655
  680. package/core/xml.ts +0 -1023
  681. package/core/zoom_controls.ts +0 -441
  682. package/generators/dart/all.js +0 -27
  683. package/generators/dart/colour.js +0 -105
  684. package/generators/dart/lists.js +0 -431
  685. package/generators/dart/logic.js +0 -123
  686. package/generators/dart/loops.js +0 -161
  687. package/generators/dart/math.js +0 -446
  688. package/generators/dart/procedures.js +0 -105
  689. package/generators/dart/text.js +0 -338
  690. package/generators/dart/variables.js +0 -32
  691. package/generators/dart/variables_dynamic.js +0 -21
  692. package/generators/dart.js +0 -303
  693. package/generators/javascript/all.js +0 -27
  694. package/generators/javascript/colour.js +0 -85
  695. package/generators/javascript/lists.js +0 -405
  696. package/generators/javascript/logic.js +0 -127
  697. package/generators/javascript/loops.js +0 -180
  698. package/generators/javascript/math.js +0 -401
  699. package/generators/javascript/procedures.js +0 -110
  700. package/generators/javascript/text.js +0 -371
  701. package/generators/javascript/variables.js +0 -32
  702. package/generators/javascript/variables_dynamic.js +0 -21
  703. package/generators/javascript.js +0 -322
  704. package/generators/lua/all.js +0 -27
  705. package/generators/lua/colour.js +0 -71
  706. package/generators/lua/lists.js +0 -348
  707. package/generators/lua/logic.js +0 -112
  708. package/generators/lua/loops.js +0 -168
  709. package/generators/lua/math.js +0 -406
  710. package/generators/lua/procedures.js +0 -106
  711. package/generators/lua/text.js +0 -327
  712. package/generators/lua/variables.js +0 -31
  713. package/generators/lua/variables_dynamic.js +0 -21
  714. package/generators/lua.js +0 -206
  715. package/generators/php/all.js +0 -27
  716. package/generators/php/colour.js +0 -81
  717. package/generators/php/lists.js +0 -481
  718. package/generators/php/logic.js +0 -119
  719. package/generators/php/loops.js +0 -161
  720. package/generators/php/math.js +0 -349
  721. package/generators/php/procedures.js +0 -125
  722. package/generators/php/text.js +0 -255
  723. package/generators/php/variables.js +0 -32
  724. package/generators/php/variables_dynamic.js +0 -21
  725. package/generators/php.js +0 -303
  726. package/generators/python/all.js +0 -27
  727. package/generators/python/colour.js +0 -67
  728. package/generators/python/lists.js +0 -346
  729. package/generators/python/logic.js +0 -120
  730. package/generators/python/loops.js +0 -206
  731. package/generators/python/math.js +0 -373
  732. package/generators/python/procedures.js +0 -129
  733. package/generators/python/text.js +0 -291
  734. package/generators/python/variables.js +0 -32
  735. package/generators/python/variables_dynamic.js +0 -21
  736. package/generators/python.js +0 -333
@@ -1,133 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2017 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
-
7
- /**
8
- * @fileoverview Utility functions for handling typed variables.
9
- */
10
-
11
- /**
12
- * Utility functions for handling typed variables.
13
- *
14
- * @namespace Blockly.VariablesDynamic
15
- */
16
- import * as goog from '../closure/goog/goog.js';
17
- goog.declareModuleId('Blockly.VariablesDynamic');
18
-
19
- import {Blocks} from './blocks.js';
20
- import {Msg} from './msg.js';
21
- import * as xml from './utils/xml.js';
22
- import {VariableModel} from './variable_model.js';
23
- import * as Variables from './variables.js';
24
- import type {Workspace} from './workspace.js';
25
- import type {WorkspaceSvg} from './workspace_svg.js';
26
-
27
-
28
- /**
29
- * String for use in the "custom" attribute of a category in toolbox XML.
30
- * This string indicates that the category should be dynamically populated with
31
- * variable blocks.
32
- * See also Blockly.Variables.CATEGORY_NAME and
33
- * Blockly.Procedures.CATEGORY_NAME.
34
- * @alias Blockly.VariablesDynamic.CATEGORY_NAME
35
- */
36
- export const CATEGORY_NAME = 'VARIABLE_DYNAMIC';
37
-
38
- function stringButtonClickHandler(button: AnyDuringMigration) {
39
- Variables.createVariableButtonHandler(
40
- button.getTargetWorkspace(), undefined, 'String');
41
- }
42
- export const onCreateVariableButtonClick_String = stringButtonClickHandler;
43
- function numberButtonClickHandler(button: AnyDuringMigration) {
44
- Variables.createVariableButtonHandler(
45
- button.getTargetWorkspace(), undefined, 'Number');
46
- }
47
- export const onCreateVariableButtonClick_Number = numberButtonClickHandler;
48
-
49
- function colourButtonClickHandler(button: AnyDuringMigration) {
50
- Variables.createVariableButtonHandler(
51
- button.getTargetWorkspace(), undefined, 'Colour');
52
- }
53
- export const onCreateVariableButtonClick_Colour = colourButtonClickHandler;
54
-
55
- /**
56
- * Construct the elements (blocks and button) required by the flyout for the
57
- * variable category.
58
- * @param workspace The workspace containing variables.
59
- * @return Array of XML elements.
60
- * @alias Blockly.VariablesDynamic.flyoutCategory
61
- */
62
- export function flyoutCategory(workspace: WorkspaceSvg): Element[] {
63
- let xmlList = new Array<Element>();
64
- let button = document.createElement('button');
65
- button.setAttribute('text', Msg['NEW_STRING_VARIABLE']);
66
- button.setAttribute('callbackKey', 'CREATE_VARIABLE_STRING');
67
- xmlList.push(button);
68
- button = document.createElement('button');
69
- button.setAttribute('text', Msg['NEW_NUMBER_VARIABLE']);
70
- button.setAttribute('callbackKey', 'CREATE_VARIABLE_NUMBER');
71
- xmlList.push(button);
72
- button = document.createElement('button');
73
- button.setAttribute('text', Msg['NEW_COLOUR_VARIABLE']);
74
- button.setAttribute('callbackKey', 'CREATE_VARIABLE_COLOUR');
75
- xmlList.push(button);
76
-
77
- workspace.registerButtonCallback(
78
- 'CREATE_VARIABLE_STRING', stringButtonClickHandler);
79
- workspace.registerButtonCallback(
80
- 'CREATE_VARIABLE_NUMBER', numberButtonClickHandler);
81
- workspace.registerButtonCallback(
82
- 'CREATE_VARIABLE_COLOUR', colourButtonClickHandler);
83
-
84
- // AnyDuringMigration because: Argument of type 'WorkspaceSvg' is not
85
- // assignable to parameter of type 'Workspace'.
86
- const blockList = flyoutCategoryBlocks(workspace as AnyDuringMigration);
87
- xmlList = xmlList.concat(blockList);
88
- return xmlList;
89
- }
90
-
91
- /**
92
- * Construct the blocks required by the flyout for the variable category.
93
- * @param workspace The workspace containing variables.
94
- * @return Array of XML block elements.
95
- * @alias Blockly.VariablesDynamic.flyoutCategoryBlocks
96
- */
97
- export function flyoutCategoryBlocks(workspace: Workspace): Element[] {
98
- const variableModelList = workspace.getAllVariables();
99
-
100
- const xmlList = [];
101
- if (variableModelList.length > 0) {
102
- if (Blocks['variables_set_dynamic']) {
103
- const firstVariable = variableModelList[variableModelList.length - 1];
104
- const block = xml.createElement('block');
105
- block.setAttribute('type', 'variables_set_dynamic');
106
- // AnyDuringMigration because: Argument of type 'number' is not
107
- // assignable to parameter of type 'string'.
108
- block.setAttribute('gap', 24 as AnyDuringMigration);
109
- // AnyDuringMigration because: Argument of type 'Element | null' is not
110
- // assignable to parameter of type 'Node'.
111
- block.appendChild(
112
- Variables.generateVariableFieldDom(firstVariable) as
113
- AnyDuringMigration);
114
- xmlList.push(block);
115
- }
116
- if (Blocks['variables_get_dynamic']) {
117
- variableModelList.sort(VariableModel.compareByName);
118
- for (let i = 0, variable; variable = variableModelList[i]; i++) {
119
- const block = xml.createElement('block');
120
- block.setAttribute('type', 'variables_get_dynamic');
121
- // AnyDuringMigration because: Argument of type 'number' is not
122
- // assignable to parameter of type 'string'.
123
- block.setAttribute('gap', 8 as AnyDuringMigration);
124
- // AnyDuringMigration because: Argument of type 'Element | null' is not
125
- // assignable to parameter of type 'Node'.
126
- block.appendChild(
127
- Variables.generateVariableFieldDom(variable) as AnyDuringMigration);
128
- xmlList.push(block);
129
- }
130
- }
131
- }
132
- return xmlList;
133
- }
package/core/warning.ts DELETED
@@ -1,161 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2012 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
-
7
- /**
8
- * @fileoverview Object representing a warning.
9
- */
10
-
11
- /**
12
- * Object representing a warning.
13
- * @class
14
- */
15
- import * as goog from '../closure/goog/goog.js';
16
- goog.declareModuleId('Blockly.Warning');
17
-
18
- // Unused import preserved for side-effects. Remove if unneeded.
19
- import './events/events_bubble_open.js';
20
-
21
- import type {BlockSvg} from './block_svg.js';
22
- import {Bubble} from './bubble.js';
23
- import * as eventUtils from './events/utils.js';
24
- import {Icon} from './icon.js';
25
- import type {Coordinate} from './utils/coordinate.js';
26
- import * as dom from './utils/dom.js';
27
- import {Svg} from './utils/svg.js';
28
-
29
-
30
- /**
31
- * Class for a warning.
32
- * @alias Blockly.Warning
33
- */
34
- export class Warning extends Icon {
35
- text_: AnyDuringMigration;
36
-
37
- /** The top-level node of the warning text, or null if not created. */
38
- private paragraphElement_: SVGTextElement|null = null;
39
-
40
- /** Does this icon get hidden when the block is collapsed? */
41
- override collapseHidden = false;
42
- override bubble_: AnyDuringMigration;
43
-
44
- /** @param block The block associated with this warning. */
45
- constructor(block: BlockSvg) {
46
- super(block);
47
- this.createIcon();
48
- // The text_ object can contain multiple warnings.
49
- this.text_ = Object.create(null);
50
- }
51
-
52
- /**
53
- * Draw the warning icon.
54
- * @param group The icon group.
55
- */
56
- protected override drawIcon_(group: Element) {
57
- // Triangle with rounded corners.
58
- dom.createSvgElement(
59
- Svg.PATH, {
60
- 'class': 'blocklyIconShape',
61
- 'd': 'M2,15Q-1,15 0.5,12L6.5,1.7Q8,-1 9.5,1.7L15.5,12Q17,15 14,15z',
62
- },
63
- group);
64
- // Can't use a real '!' text character since different browsers and
65
- // operating systems render it differently. Body of exclamation point.
66
- dom.createSvgElement(
67
- Svg.PATH, {
68
- 'class': 'blocklyIconSymbol',
69
- 'd': 'm7,4.8v3.16l0.27,2.27h1.46l0.27,-2.27v-3.16z',
70
- },
71
- group);
72
- // Dot of exclamation point.
73
- dom.createSvgElement(
74
- Svg.RECT, {
75
- 'class': 'blocklyIconSymbol',
76
- 'x': '7',
77
- 'y': '11',
78
- 'height': '2',
79
- 'width': '2',
80
- },
81
- group);
82
- }
83
-
84
- /**
85
- * Show or hide the warning bubble.
86
- * @param visible True if the bubble should be visible.
87
- */
88
- override setVisible(visible: boolean) {
89
- if (visible === this.isVisible()) {
90
- return;
91
- }
92
- // AnyDuringMigration because: Property 'block_' does not exist on type
93
- // 'Warning'.
94
- eventUtils.fire(new (eventUtils.get(eventUtils.BUBBLE_OPEN))!
95
- ((this as AnyDuringMigration).block_, visible, 'warning'));
96
- if (visible) {
97
- this.createBubble_();
98
- } else {
99
- this.disposeBubble_();
100
- }
101
- }
102
-
103
- /** Show the bubble. */
104
- private createBubble_() {
105
- this.paragraphElement_ = Bubble.textToDom(this.getText());
106
- // AnyDuringMigration because: Property 'block_' does not exist on type
107
- // 'Warning'.
108
- this.bubble_ = Bubble.createNonEditableBubble(
109
- this.paragraphElement_, (this as AnyDuringMigration).block_ as BlockSvg,
110
- this.iconXY_ as Coordinate);
111
- this.applyColour();
112
- }
113
-
114
- /** Dispose of the bubble and references to it. */
115
- private disposeBubble_() {
116
- this.bubble_.dispose();
117
- this.bubble_ = null;
118
- this.paragraphElement_ = null;
119
- }
120
-
121
- /**
122
- * Set this warning's text.
123
- * @param text Warning text (or '' to delete). This supports linebreaks.
124
- * @param id An ID for this text entry to be able to maintain multiple
125
- * warnings.
126
- */
127
- setText(text: string, id: string) {
128
- if (this.text_[id] === text) {
129
- return;
130
- }
131
- if (text) {
132
- this.text_[id] = text;
133
- } else {
134
- delete this.text_[id];
135
- }
136
- if (this.isVisible()) {
137
- this.setVisible(false);
138
- this.setVisible(true);
139
- }
140
- }
141
-
142
- /**
143
- * Get this warning's texts.
144
- * @return All texts concatenated into one string.
145
- */
146
- getText(): string {
147
- const allWarnings = [];
148
- for (const id in this.text_) {
149
- allWarnings.push(this.text_[id]);
150
- }
151
- return allWarnings.join('\n');
152
- }
153
-
154
- /** Dispose of this warning. */
155
- override dispose() {
156
- // AnyDuringMigration because: Property 'block_' does not exist on type
157
- // 'Warning'.
158
- (this as AnyDuringMigration).block_.warning = null;
159
- super.dispose();
160
- }
161
- }
package/core/widgetdiv.ts DELETED
@@ -1,257 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2013 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
-
7
- /**
8
- * @fileoverview A div that floats on top of Blockly. This singleton contains
9
- * temporary HTML UI widgets that the user is currently interacting with.
10
- * E.g. text input areas, colour pickers, context menus.
11
- */
12
-
13
- /**
14
- * A div that floats on top of Blockly. This singleton contains
15
- * temporary HTML UI widgets that the user is currently interacting with.
16
- * E.g. text input areas, colour pickers, context menus.
17
- * @namespace Blockly.WidgetDiv
18
- */
19
- import * as goog from '../closure/goog/goog.js';
20
- goog.declareModuleId('Blockly.WidgetDiv');
21
-
22
- import * as common from './common.js';
23
- import * as dom from './utils/dom.js';
24
- import type {Rect} from './utils/rect.js';
25
- import type {Size} from './utils/size.js';
26
- import type {WorkspaceSvg} from './workspace_svg.js';
27
-
28
-
29
- /** The object currently using this container. */
30
- let owner: AnyDuringMigration = null;
31
-
32
- /** Optional cleanup function set by whichever object uses the widget. */
33
- // AnyDuringMigration because: Type 'null' is not assignable to type
34
- // 'Function'.
35
- let dispose: Function = null as AnyDuringMigration;
36
-
37
- /** A class name representing the current owner's workspace renderer. */
38
- let rendererClassName = '';
39
-
40
- /** A class name representing the current owner's workspace theme. */
41
- let themeClassName = '';
42
-
43
- /** The HTML container for popup overlays (e.g. editor widgets). */
44
- let containerDiv: HTMLDivElement|null;
45
-
46
- /**
47
- * Returns the HTML container for editor widgets.
48
- * @return The editor widget container.
49
- * @alias Blockly.WidgetDiv.getDiv
50
- */
51
- export function getDiv(): HTMLDivElement|null {
52
- return containerDiv;
53
- }
54
-
55
- /**
56
- * Allows unit tests to reset the div.
57
- * @param newDiv The new value for the DIV field.
58
- * @alias Blockly.WidgetDiv.testOnly_setDiv
59
- * @ignore
60
- */
61
- export function testOnly_setDiv(newDiv: HTMLDivElement|null) {
62
- containerDiv = newDiv;
63
- }
64
-
65
- /**
66
- * Create the widget div and inject it onto the page.
67
- * @alias Blockly.WidgetDiv.createDom
68
- */
69
- export function createDom() {
70
- if (containerDiv) {
71
- return; // Already created.
72
- }
73
-
74
- containerDiv = document.createElement('div') as HTMLDivElement;
75
- containerDiv.className = 'blocklyWidgetDiv';
76
- const container = common.getParentContainer() || document.body;
77
- container.appendChild(containerDiv);
78
- }
79
-
80
- /**
81
- * Initialize and display the widget div. Close the old one if needed.
82
- * @param newOwner The object that will be using this container.
83
- * @param rtl Right-to-left (true) or left-to-right (false).
84
- * @param newDispose Optional cleanup function to be run when the widget is
85
- * closed.
86
- * @alias Blockly.WidgetDiv.show
87
- */
88
- export function show(
89
- newOwner: AnyDuringMigration, rtl: boolean, newDispose: Function) {
90
- hide();
91
- owner = newOwner;
92
- dispose = newDispose;
93
- const div = containerDiv;
94
- div!.style.direction = rtl ? 'rtl' : 'ltr';
95
- div!.style.display = 'block';
96
- const mainWorkspace = common.getMainWorkspace() as WorkspaceSvg;
97
- rendererClassName = mainWorkspace.getRenderer().getClassName();
98
- themeClassName = mainWorkspace.getTheme().getClassName();
99
- // AnyDuringMigration because: Argument of type 'HTMLDivElement | null' is
100
- // not assignable to parameter of type 'Element'.
101
- dom.addClass(div as AnyDuringMigration, rendererClassName);
102
- // AnyDuringMigration because: Argument of type 'HTMLDivElement | null' is
103
- // not assignable to parameter of type 'Element'.
104
- dom.addClass(div as AnyDuringMigration, themeClassName);
105
- }
106
-
107
- /**
108
- * Destroy the widget and hide the div.
109
- * @alias Blockly.WidgetDiv.hide
110
- */
111
- export function hide() {
112
- if (!isVisible()) {
113
- return;
114
- }
115
- owner = null;
116
-
117
- const div = containerDiv;
118
- div!.style.display = 'none';
119
- div!.style.left = '';
120
- div!.style.top = '';
121
- dispose && dispose();
122
- // AnyDuringMigration because: Type 'null' is not assignable to type
123
- // 'Function'.
124
- dispose = null as AnyDuringMigration;
125
- div!.textContent = '';
126
-
127
- if (rendererClassName) {
128
- // AnyDuringMigration because: Argument of type 'HTMLDivElement | null' is
129
- // not assignable to parameter of type 'Element'.
130
- dom.removeClass(div as AnyDuringMigration, rendererClassName);
131
- rendererClassName = '';
132
- }
133
- if (themeClassName) {
134
- // AnyDuringMigration because: Argument of type 'HTMLDivElement | null' is
135
- // not assignable to parameter of type 'Element'.
136
- dom.removeClass(div as AnyDuringMigration, themeClassName);
137
- themeClassName = '';
138
- }
139
- (common.getMainWorkspace() as WorkspaceSvg).markFocused();
140
- }
141
-
142
- /**
143
- * Is the container visible?
144
- * @return True if visible.
145
- * @alias Blockly.WidgetDiv.isVisible
146
- */
147
- export function isVisible(): boolean {
148
- return !!owner;
149
- }
150
-
151
- /**
152
- * Destroy the widget and hide the div if it is being used by the specified
153
- * object.
154
- * @param oldOwner The object that was using this container.
155
- * @alias Blockly.WidgetDiv.hideIfOwner
156
- */
157
- export function hideIfOwner(oldOwner: AnyDuringMigration) {
158
- if (owner === oldOwner) {
159
- hide();
160
- }
161
- }
162
- /**
163
- * Set the widget div's position and height. This function does nothing clever:
164
- * it will not ensure that your widget div ends up in the visible window.
165
- * @param x Horizontal location (window coordinates, not body).
166
- * @param y Vertical location (window coordinates, not body).
167
- * @param height The height of the widget div (pixels).
168
- */
169
- function positionInternal(x: number, y: number, height: number) {
170
- containerDiv!.style.left = x + 'px';
171
- containerDiv!.style.top = y + 'px';
172
- containerDiv!.style.height = height + 'px';
173
- }
174
-
175
- /**
176
- * Position the widget div based on an anchor rectangle.
177
- * The widget should be placed adjacent to but not overlapping the anchor
178
- * rectangle. The preferred position is directly below and aligned to the left
179
- * (LTR) or right (RTL) side of the anchor.
180
- * @param viewportBBox The bounding rectangle of the current viewport, in window
181
- * coordinates.
182
- * @param anchorBBox The bounding rectangle of the anchor, in window
183
- * coordinates.
184
- * @param widgetSize The size of the widget that is inside the widget div, in
185
- * window coordinates.
186
- * @param rtl Whether the workspace is in RTL mode. This determines horizontal
187
- * alignment.
188
- * @alias Blockly.WidgetDiv.positionWithAnchor
189
- * @internal
190
- */
191
- export function positionWithAnchor(
192
- viewportBBox: Rect, anchorBBox: Rect, widgetSize: Size, rtl: boolean) {
193
- const y = calculateY(viewportBBox, anchorBBox, widgetSize);
194
- const x = calculateX(viewportBBox, anchorBBox, widgetSize, rtl);
195
-
196
- if (y < 0) {
197
- positionInternal(x, 0, widgetSize.height + y);
198
- } else {
199
- positionInternal(x, y, widgetSize.height);
200
- }
201
- }
202
-
203
- /**
204
- * Calculate an x position (in window coordinates) such that the widget will not
205
- * be offscreen on the right or left.
206
- * @param viewportBBox The bounding rectangle of the current viewport, in window
207
- * coordinates.
208
- * @param anchorBBox The bounding rectangle of the anchor, in window
209
- * coordinates.
210
- * @param widgetSize The dimensions of the widget inside the widget div.
211
- * @param rtl Whether the Blockly workspace is in RTL mode.
212
- * @return A valid x-coordinate for the top left corner of the widget div, in
213
- * window coordinates.
214
- */
215
- function calculateX(
216
- viewportBBox: Rect, anchorBBox: Rect, widgetSize: Size,
217
- rtl: boolean): number {
218
- if (rtl) {
219
- // Try to align the right side of the field and the right side of widget.
220
- const widgetLeft = anchorBBox.right - widgetSize.width;
221
- // Don't go offscreen left.
222
- const x = Math.max(widgetLeft, viewportBBox.left);
223
- // But really don't go offscreen right:
224
- return Math.min(x, viewportBBox.right - widgetSize.width);
225
- } else {
226
- // Try to align the left side of the field and the left side of widget.
227
- // Don't go offscreen right.
228
- const x = Math.min(anchorBBox.left, viewportBBox.right - widgetSize.width);
229
- // But left is more important, because that's where the text is.
230
- return Math.max(x, viewportBBox.left);
231
- }
232
- }
233
-
234
- /**
235
- * Calculate a y position (in window coordinates) such that the widget will not
236
- * be offscreen on the top or bottom.
237
- * @param viewportBBox The bounding rectangle of the current viewport, in window
238
- * coordinates.
239
- * @param anchorBBox The bounding rectangle of the anchor, in window
240
- * coordinates.
241
- * @param widgetSize The dimensions of the widget inside the widget div.
242
- * @return A valid y-coordinate for the top left corner of the widget div, in
243
- * window coordinates.
244
- */
245
- function calculateY(
246
- viewportBBox: Rect, anchorBBox: Rect, widgetSize: Size): number {
247
- // Flip the widget vertically if off the bottom.
248
- // The widget could go off the top of the window, but it would also go off
249
- // the bottom. The window is just too small.
250
- if (anchorBBox.bottom + widgetSize.height >= viewportBBox.bottom) {
251
- // The bottom of the widget is at the top of the field.
252
- return anchorBBox.top - widgetSize.height;
253
- } else {
254
- // The top of the widget is at the bottom of the field.
255
- return anchorBBox.bottom;
256
- }
257
- }