blockly 8.20220331.0-beta.0 → 9.0.0-beta.1

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 (735) hide show
  1. package/blockly.min.js +2000 -2269
  2. package/blockly_compressed.js +1495 -1994
  3. package/blockly_compressed.js.map +1 -1
  4. package/blocks.d.ts +10 -8
  5. package/blocks_compressed.js +189 -171
  6. package/blocks_compressed.js.map +1 -1
  7. package/closure/goog/base.d.ts +2 -0
  8. package/closure/goog/base_minimal.d.ts +19 -0
  9. package/closure/goog/goog.d.ts +26 -0
  10. package/core/any_aliases.d.ts +2 -0
  11. package/core/block.d.ts +871 -0
  12. package/core/block_animations.d.ts +38 -0
  13. package/core/block_drag_surface.d.ts +124 -0
  14. package/core/block_dragger.d.ts +158 -0
  15. package/core/block_svg.d.ts +656 -0
  16. package/core/blockly.d.ts +583 -0
  17. package/core/blockly_options.d.ts +71 -0
  18. package/core/blocks.d.ts +19 -0
  19. package/core/browser_events.d.ts +94 -0
  20. package/core/bubble.d.ts +309 -0
  21. package/core/bubble_dragger.d.ts +80 -0
  22. package/core/bump_objects.d.ts +38 -0
  23. package/core/clipboard.d.ts +46 -0
  24. package/core/comment.d.ts +123 -0
  25. package/core/common.d.ts +155 -0
  26. package/core/component_manager.d.ts +101 -0
  27. package/core/config.d.ts +24 -0
  28. package/core/connection.d.ts +262 -0
  29. package/core/connection_checker.d.ts +87 -0
  30. package/core/connection_db.d.ts +102 -0
  31. package/core/connection_type.d.ts +17 -0
  32. package/core/constants.d.ts +18 -0
  33. package/core/contextmenu.d.ts +90 -0
  34. package/core/contextmenu_items.d.ts +92 -0
  35. package/core/contextmenu_registry.d.ts +110 -0
  36. package/core/css.d.ts +27 -0
  37. package/core/delete_area.d.ts +51 -0
  38. package/core/dialog.d.ts +68 -0
  39. package/core/drag_target.d.ts +71 -0
  40. package/core/dropdowndiv.d.ts +187 -0
  41. package/core/events/events.d.ts +103 -0
  42. package/core/events/events_abstract.d.ts +58 -0
  43. package/core/events/events_block_base.d.ts +35 -0
  44. package/core/events/events_block_change.d.ts +62 -0
  45. package/core/events/events_block_create.d.ts +40 -0
  46. package/core/events/events_block_delete.d.ts +41 -0
  47. package/core/events/events_block_drag.d.ts +40 -0
  48. package/core/events/events_block_move.d.ts +58 -0
  49. package/core/events/events_bubble_open.d.ts +39 -0
  50. package/core/events/events_click.d.ts +40 -0
  51. package/core/events/events_comment_base.d.ts +44 -0
  52. package/core/events/events_comment_change.d.ts +49 -0
  53. package/core/events/events_comment_create.d.ts +40 -0
  54. package/core/events/events_comment_delete.d.ts +40 -0
  55. package/core/events/events_comment_move.d.ts +62 -0
  56. package/core/events/events_marker_move.d.ts +44 -0
  57. package/core/events/events_selected.d.ts +38 -0
  58. package/core/events/events_theme_change.d.ts +34 -0
  59. package/core/events/events_toolbox_item_select.d.ts +38 -0
  60. package/core/events/events_trashcan_open.d.ts +35 -0
  61. package/core/events/events_ui.d.ts +41 -0
  62. package/core/events/events_ui_base.d.ts +28 -0
  63. package/core/events/events_var_base.d.ts +35 -0
  64. package/core/events/events_var_create.d.ts +40 -0
  65. package/core/events/events_var_delete.d.ts +40 -0
  66. package/core/events/events_var_rename.d.ts +41 -0
  67. package/core/events/events_viewport.d.ts +43 -0
  68. package/core/events/utils.d.ts +315 -0
  69. package/core/events/workspace_events.d.ts +40 -0
  70. package/core/extensions.d.ts +117 -0
  71. package/core/field.d.ts +593 -0
  72. package/core/field_angle.d.ts +187 -0
  73. package/core/field_checkbox.d.ts +137 -0
  74. package/core/field_colour.d.ts +216 -0
  75. package/core/field_dropdown.d.ts +242 -0
  76. package/core/field_image.d.ts +145 -0
  77. package/core/field_label.d.ts +77 -0
  78. package/core/field_label_serializable.d.ts +45 -0
  79. package/core/field_multilineinput.d.ts +161 -0
  80. package/core/field_number.d.ts +172 -0
  81. package/core/field_registry.d.ts +51 -0
  82. package/core/field_textinput.d.ts +239 -0
  83. package/core/field_variable.d.ts +240 -0
  84. package/core/flyout_base.d.ts +505 -0
  85. package/core/flyout_button.d.ts +88 -0
  86. package/core/flyout_horizontal.d.ts +90 -0
  87. package/core/flyout_metrics_manager.d.ts +43 -0
  88. package/core/flyout_vertical.d.ts +91 -0
  89. package/core/generator.d.ts +224 -0
  90. package/core/gesture.d.ts +392 -0
  91. package/core/grid.d.ts +87 -0
  92. package/core/icon.d.ts +87 -0
  93. package/core/inject.d.ts +17 -0
  94. package/core/input.d.ts +143 -0
  95. package/core/input_types.d.ts +16 -0
  96. package/core/insertion_marker_manager.d.ts +230 -0
  97. package/core/interfaces/i_ast_node_location.d.ts +13 -0
  98. package/core/interfaces/i_ast_node_location_svg.d.ts +26 -0
  99. package/core/interfaces/i_ast_node_location_with_block.d.ts +21 -0
  100. package/core/interfaces/i_autohideable.d.ts +21 -0
  101. package/core/interfaces/i_block_dragger.d.ts +49 -0
  102. package/core/interfaces/i_bounded_element.d.ts +28 -0
  103. package/core/interfaces/i_bubble.d.ts +68 -0
  104. package/core/interfaces/i_collapsible_toolbox_item.d.ts +30 -0
  105. package/core/interfaces/i_component.d.ts +19 -0
  106. package/core/interfaces/i_connection_checker.d.ts +77 -0
  107. package/core/interfaces/i_contextmenu.d.ts +15 -0
  108. package/core/interfaces/i_copyable.d.ts +26 -0
  109. package/core/interfaces/i_deletable.d.ts +19 -0
  110. package/core/interfaces/i_delete_area.d.ts +28 -0
  111. package/core/interfaces/i_drag_target.d.ts +61 -0
  112. package/core/interfaces/i_draggable.d.ts +14 -0
  113. package/core/interfaces/i_flyout.d.ts +150 -0
  114. package/core/interfaces/i_keyboard_accessible.d.ts +21 -0
  115. package/core/interfaces/i_metrics_manager.d.ts +129 -0
  116. package/core/interfaces/i_movable.d.ts +19 -0
  117. package/core/interfaces/i_positionable.d.ts +31 -0
  118. package/core/interfaces/i_registrable.d.ts +13 -0
  119. package/core/interfaces/i_registrable_field.d.ts +19 -0
  120. package/core/interfaces/i_selectable.d.ts +20 -0
  121. package/core/interfaces/i_selectable_toolbox_item.d.ts +49 -0
  122. package/core/interfaces/i_serializer.d.ts +47 -0
  123. package/core/interfaces/i_styleable.d.ts +25 -0
  124. package/core/interfaces/i_toolbox.d.ts +96 -0
  125. package/core/interfaces/i_toolbox_item.d.ts +72 -0
  126. package/core/internal_constants.d.ts +46 -0
  127. package/core/keyboard_nav/ast_node.d.ts +266 -0
  128. package/core/keyboard_nav/basic_cursor.d.ts +99 -0
  129. package/core/keyboard_nav/cursor.d.ts +47 -0
  130. package/core/keyboard_nav/marker.d.ts +65 -0
  131. package/core/keyboard_nav/tab_navigate_cursor.d.ts +22 -0
  132. package/core/main.d.ts +12 -0
  133. package/core/marker_manager.d.ts +96 -0
  134. package/core/menu.d.ts +167 -0
  135. package/core/menuitem.d.ts +133 -0
  136. package/core/metrics_manager.d.ts +216 -0
  137. package/core/msg.d.ts +10 -0
  138. package/core/mutator.d.ts +140 -0
  139. package/core/names.d.ts +136 -0
  140. package/core/options.d.ts +143 -0
  141. package/core/positionable_helpers.d.ts +96 -0
  142. package/core/procedures.d.ts +125 -0
  143. package/core/registry.d.ts +148 -0
  144. package/core/rendered_connection.d.ts +212 -0
  145. package/core/renderers/common/block_rendering.d.ts +121 -0
  146. package/core/renderers/common/constants.d.ts +490 -0
  147. package/core/renderers/common/debug.d.ts +32 -0
  148. package/core/renderers/common/debugger.d.ts +131 -0
  149. package/core/renderers/common/drawer.d.ts +144 -0
  150. package/core/renderers/common/i_path_object.d.ts +132 -0
  151. package/core/renderers/common/info.d.ts +211 -0
  152. package/core/renderers/common/marker_svg.d.ts +249 -0
  153. package/core/renderers/common/path_object.d.ts +166 -0
  154. package/core/renderers/common/renderer.d.ts +178 -0
  155. package/core/renderers/geras/constants.d.ts +25 -0
  156. package/core/renderers/geras/drawer.d.ts +45 -0
  157. package/core/renderers/geras/geras.d.ts +12 -0
  158. package/core/renderers/geras/highlight_constants.d.ts +111 -0
  159. package/core/renderers/geras/highlighter.d.ts +109 -0
  160. package/core/renderers/geras/info.d.ts +48 -0
  161. package/core/renderers/geras/measurables/inline_input.d.ts +25 -0
  162. package/core/renderers/geras/measurables/statement_input.d.ts +25 -0
  163. package/core/renderers/geras/path_object.d.ts +51 -0
  164. package/core/renderers/geras/renderer.d.ts +79 -0
  165. package/core/renderers/measurables/base.d.ts +29 -0
  166. package/core/renderers/measurables/bottom_row.d.ts +67 -0
  167. package/core/renderers/measurables/connection.d.ts +27 -0
  168. package/core/renderers/measurables/external_value_input.d.ts +28 -0
  169. package/core/renderers/measurables/field.d.ts +31 -0
  170. package/core/renderers/measurables/hat.d.ts +22 -0
  171. package/core/renderers/measurables/icon.d.ts +28 -0
  172. package/core/renderers/measurables/in_row_spacer.d.ts +22 -0
  173. package/core/renderers/measurables/inline_input.d.ts +25 -0
  174. package/core/renderers/measurables/input_connection.d.ts +31 -0
  175. package/core/renderers/measurables/input_row.d.ts +33 -0
  176. package/core/renderers/measurables/jagged_edge.d.ts +21 -0
  177. package/core/renderers/measurables/next_connection.d.ts +24 -0
  178. package/core/renderers/measurables/output_connection.d.ts +27 -0
  179. package/core/renderers/measurables/previous_connection.d.ts +24 -0
  180. package/core/renderers/measurables/round_corner.d.ts +22 -0
  181. package/core/renderers/measurables/row.d.ts +163 -0
  182. package/core/renderers/measurables/spacer_row.d.ts +30 -0
  183. package/core/renderers/measurables/square_corner.d.ts +22 -0
  184. package/core/renderers/measurables/statement_input.d.ts +23 -0
  185. package/core/renderers/measurables/top_row.d.ts +60 -0
  186. package/core/renderers/measurables/types.d.ts +264 -0
  187. package/core/renderers/minimalist/constants.d.ts +16 -0
  188. package/core/renderers/minimalist/drawer.d.ts +23 -0
  189. package/core/renderers/minimalist/info.d.ts +33 -0
  190. package/core/renderers/minimalist/minimalist.d.ts +7 -0
  191. package/core/renderers/minimalist/renderer.d.ts +46 -0
  192. package/core/renderers/thrasos/info.d.ts +43 -0
  193. package/core/renderers/thrasos/renderer.d.ts +28 -0
  194. package/core/renderers/thrasos/thrasos.d.ts +5 -0
  195. package/core/renderers/zelos/constants.d.ts +194 -0
  196. package/core/renderers/zelos/drawer.d.ts +50 -0
  197. package/core/renderers/zelos/info.d.ts +93 -0
  198. package/core/renderers/zelos/marker_svg.d.ts +51 -0
  199. package/core/renderers/zelos/measurables/bottom_row.d.ts +29 -0
  200. package/core/renderers/zelos/measurables/inputs.d.ts +25 -0
  201. package/core/renderers/zelos/measurables/row_elements.d.ts +23 -0
  202. package/core/renderers/zelos/measurables/top_row.d.ts +31 -0
  203. package/core/renderers/zelos/path_object.d.ts +84 -0
  204. package/core/renderers/zelos/renderer.d.ts +82 -0
  205. package/core/renderers/zelos/zelos.d.ts +13 -0
  206. package/core/scrollbar.d.ts +309 -0
  207. package/core/scrollbar_pair.d.ts +119 -0
  208. package/core/serialization/blocks.d.ts +104 -0
  209. package/core/serialization/exceptions.d.ts +78 -0
  210. package/core/serialization/priorities.d.ts +18 -0
  211. package/core/serialization/registry.d.ts +23 -0
  212. package/core/serialization/variables.d.ts +16 -0
  213. package/core/serialization/workspaces.d.ts +31 -0
  214. package/core/shortcut_items.d.ts +71 -0
  215. package/core/shortcut_registry.d.ts +167 -0
  216. package/core/sprites.d.ts +17 -0
  217. package/core/theme/classic.d.ts +14 -0
  218. package/core/theme/themes.d.ts +9 -0
  219. package/core/theme/zelos.d.ts +13 -0
  220. package/core/theme.d.ts +153 -0
  221. package/core/theme_manager.d.ts +90 -0
  222. package/core/toolbox/category.d.ts +266 -0
  223. package/core/toolbox/collapsible_category.d.ts +98 -0
  224. package/core/toolbox/separator.d.ts +42 -0
  225. package/core/toolbox/toolbox.d.ts +400 -0
  226. package/core/toolbox/toolbox_item.d.ts +95 -0
  227. package/core/tooltip.d.ts +147 -0
  228. package/core/touch.d.ts +133 -0
  229. package/core/touch_gesture.d.ts +129 -0
  230. package/core/trashcan.d.ts +216 -0
  231. package/core/utils/aria.d.ts +71 -0
  232. package/core/utils/array.d.ts +16 -0
  233. package/core/utils/colour.d.ts +114 -0
  234. package/core/utils/coordinate.d.ts +82 -0
  235. package/core/utils/deprecation.d.ts +19 -0
  236. package/core/utils/dom.d.ts +185 -0
  237. package/core/utils/idgenerator.d.ts +35 -0
  238. package/core/utils/keycodes.d.ts +138 -0
  239. package/core/utils/math.d.ts +34 -0
  240. package/core/utils/metrics.d.ts +65 -0
  241. package/core/utils/object.d.ts +40 -0
  242. package/core/utils/parsing.d.ts +55 -0
  243. package/core/utils/rect.d.ts +40 -0
  244. package/core/utils/sentinel.d.ts +13 -0
  245. package/core/utils/size.d.ts +29 -0
  246. package/core/utils/string.d.ts +62 -0
  247. package/core/utils/style.d.ts +108 -0
  248. package/core/utils/svg.d.ts +71 -0
  249. package/core/utils/svg_math.d.ts +78 -0
  250. package/core/utils/svg_paths.d.ts +111 -0
  251. package/core/utils/toolbox.d.ts +214 -0
  252. package/core/utils/useragent.d.ts +22 -0
  253. package/core/utils/xml.d.ts +60 -0
  254. package/core/utils.d.ts +239 -0
  255. package/core/variable_map.d.ts +158 -0
  256. package/core/variable_model.d.ts +43 -0
  257. package/core/variables.d.ts +196 -0
  258. package/core/variables_dynamic.d.ts +58 -0
  259. package/core/warning.d.ts +55 -0
  260. package/core/widgetdiv.d.ts +78 -0
  261. package/core/workspace.d.ts +436 -0
  262. package/core/workspace_audio.d.ts +53 -0
  263. package/core/workspace_comment.d.ts +192 -0
  264. package/core/workspace_comment_svg.d.ts +372 -0
  265. package/core/workspace_drag_surface_svg.d.ts +74 -0
  266. package/core/workspace_dragger.d.ts +54 -0
  267. package/core/workspace_svg.d.ts +1032 -0
  268. package/core/xml.d.ts +132 -0
  269. package/core/zoom_controls.d.ts +140 -0
  270. package/core.d.ts +1 -9
  271. package/core.js +1 -2
  272. package/dart.d.ts +1 -9
  273. package/dart_compressed.js +387 -99
  274. package/dart_compressed.js.map +1 -1
  275. package/index.d.ts +4 -16
  276. package/javascript.d.ts +1 -9
  277. package/javascript_compressed.js +314 -104
  278. package/javascript_compressed.js.map +1 -1
  279. package/lua.d.ts +1 -9
  280. package/lua_compressed.js +399 -81
  281. package/lua_compressed.js.map +1 -1
  282. package/msg/ab.js +10 -6
  283. package/msg/ace.js +10 -6
  284. package/msg/af.js +10 -6
  285. package/msg/am.js +10 -6
  286. package/msg/ar.js +10 -6
  287. package/msg/ast.js +10 -6
  288. package/msg/az.js +12 -8
  289. package/msg/ba.js +10 -6
  290. package/msg/bcc.js +10 -6
  291. package/msg/be-tarask.js +10 -6
  292. package/msg/be.js +14 -10
  293. package/msg/bg.js +10 -6
  294. package/msg/bn.js +10 -6
  295. package/msg/br.js +10 -6
  296. package/msg/bs.js +10 -6
  297. package/msg/ca.js +10 -6
  298. package/msg/cdo.js +10 -6
  299. package/msg/cs.js +25 -21
  300. package/msg/da.js +10 -6
  301. package/msg/de.js +11 -7
  302. package/msg/diq.js +11 -7
  303. package/msg/dty.js +10 -6
  304. package/msg/ee.js +10 -6
  305. package/msg/el.js +10 -6
  306. package/msg/en-gb.js +10 -6
  307. package/msg/en.js +10 -6
  308. package/msg/eo.js +11 -7
  309. package/msg/es.js +11 -7
  310. package/msg/et.js +10 -6
  311. package/msg/eu.js +10 -6
  312. package/msg/fa.js +11 -7
  313. package/msg/fi.js +10 -6
  314. package/msg/fo.js +10 -6
  315. package/msg/fr.js +14 -10
  316. package/msg/frr.js +10 -6
  317. package/msg/gl.js +10 -6
  318. package/msg/gn.js +10 -6
  319. package/msg/gor.js +10 -6
  320. package/msg/ha.js +10 -6
  321. package/msg/hak.js +10 -6
  322. package/msg/he.js +11 -7
  323. package/msg/hi.js +10 -6
  324. package/msg/hr.js +12 -8
  325. package/msg/hrx.js +10 -6
  326. package/msg/hu.js +10 -6
  327. package/msg/hy.js +12 -8
  328. package/msg/ia.js +10 -6
  329. package/msg/id.js +22 -18
  330. package/msg/ig.js +10 -6
  331. package/msg/inh.js +24 -20
  332. package/msg/is.js +10 -6
  333. package/msg/it.js +10 -6
  334. package/msg/ja.js +17 -13
  335. package/msg/ka.js +10 -6
  336. package/msg/kab.js +10 -6
  337. package/msg/kbd-cyrl.js +10 -6
  338. package/msg/km.js +10 -6
  339. package/msg/kn.js +10 -6
  340. package/msg/ko.js +10 -6
  341. package/msg/ksh.js +10 -6
  342. package/msg/ku-latn.js +10 -6
  343. package/msg/ky.js +10 -6
  344. package/msg/la.js +10 -6
  345. package/msg/lb.js +10 -6
  346. package/msg/lki.js +10 -6
  347. package/msg/lo.js +10 -6
  348. package/msg/lrc.js +10 -6
  349. package/msg/lt.js +10 -6
  350. package/msg/lv.js +39 -35
  351. package/msg/mg.js +10 -6
  352. package/msg/mk.js +10 -6
  353. package/msg/ml.js +10 -6
  354. package/msg/mnw.js +10 -6
  355. package/msg/ms.js +10 -6
  356. package/msg/my.js +10 -6
  357. package/msg/mzn.js +10 -6
  358. package/msg/nb.js +10 -6
  359. package/msg/ne.js +10 -6
  360. package/msg/nl.js +10 -6
  361. package/msg/oc.js +10 -6
  362. package/msg/olo.js +10 -6
  363. package/msg/pa.js +13 -9
  364. package/msg/pl.js +10 -6
  365. package/msg/pms.js +10 -6
  366. package/msg/ps.js +10 -6
  367. package/msg/pt-br.js +10 -6
  368. package/msg/pt.js +10 -6
  369. package/msg/ro.js +10 -6
  370. package/msg/ru.js +10 -6
  371. package/msg/sc.js +10 -6
  372. package/msg/sco.js +10 -6
  373. package/msg/sd.js +10 -6
  374. package/msg/shn.js +10 -6
  375. package/msg/si.js +10 -6
  376. package/msg/sk.js +10 -6
  377. package/msg/skr-arab.js +10 -6
  378. package/msg/sl.js +10 -6
  379. package/msg/smn.js +440 -0
  380. package/msg/sq.js +10 -6
  381. package/msg/sr-latn.js +10 -6
  382. package/msg/sr.js +10 -6
  383. package/msg/sv.js +10 -6
  384. package/msg/sw.js +10 -6
  385. package/msg/ta.js +10 -6
  386. package/msg/tcy.js +10 -6
  387. package/msg/te.js +11 -7
  388. package/msg/th.js +10 -6
  389. package/msg/ti.js +10 -6
  390. package/msg/tl.js +10 -6
  391. package/msg/tlh.js +10 -6
  392. package/msg/tr.js +10 -6
  393. package/msg/ug-arab.js +10 -6
  394. package/msg/uk.js +10 -6
  395. package/msg/ur.js +10 -6
  396. package/msg/uz.js +10 -6
  397. package/msg/vi.js +10 -6
  398. package/msg/xmf.js +10 -6
  399. package/msg/yo.js +10 -6
  400. package/msg/yue.js +11 -7
  401. package/msg/zgh.js +10 -6
  402. package/msg/zh-hans.js +13 -9
  403. package/msg/zh-hant.js +13 -9
  404. package/package.json +8 -5
  405. package/php.d.ts +1 -9
  406. package/php_compressed.js +322 -93
  407. package/php_compressed.js.map +1 -1
  408. package/python.d.ts +1 -9
  409. package/python_compressed.js +237 -90
  410. package/python_compressed.js.map +1 -1
  411. package/blockly.d.ts +0 -25607
  412. package/blocks/blocks.js +0 -47
  413. package/blocks/colour.js +0 -119
  414. package/blocks/lists.js +0 -924
  415. package/blocks/logic.js +0 -657
  416. package/blocks/loops.js +0 -373
  417. package/blocks/math.js +0 -592
  418. package/blocks/procedures.js +0 -1194
  419. package/blocks/text.js +0 -992
  420. package/blocks/variables.js +0 -174
  421. package/blocks/variables_dynamic.js +0 -190
  422. package/core/block.js +0 -2212
  423. package/core/block_animations.js +0 -206
  424. package/core/block_drag_surface.js +0 -269
  425. package/core/block_dragger.js +0 -484
  426. package/core/block_svg.js +0 -1894
  427. package/core/blockly.js +0 -890
  428. package/core/blockly_options.js +0 -28
  429. package/core/blocks.js +0 -33
  430. package/core/browser_events.js +0 -284
  431. package/core/bubble.js +0 -985
  432. package/core/bubble_dragger.js +0 -298
  433. package/core/bump_objects.js +0 -180
  434. package/core/clipboard.js +0 -80
  435. package/core/comment.js +0 -448
  436. package/core/common.js +0 -265
  437. package/core/component_manager.js +0 -263
  438. package/core/config.js +0 -87
  439. package/core/connection.js +0 -742
  440. package/core/connection_checker.js +0 -312
  441. package/core/connection_db.js +0 -314
  442. package/core/connection_type.js +0 -36
  443. package/core/constants.js +0 -33
  444. package/core/contextmenu.js +0 -398
  445. package/core/contextmenu_items.js +0 -651
  446. package/core/contextmenu_registry.js +0 -178
  447. package/core/css.js +0 -568
  448. package/core/delete_area.js +0 -87
  449. package/core/dialog.js +0 -107
  450. package/core/drag_target.js +0 -98
  451. package/core/dropdowndiv.js +0 -754
  452. package/core/events/events.js +0 -147
  453. package/core/events/events_abstract.js +0 -133
  454. package/core/events/events_block_base.js +0 -70
  455. package/core/events/events_block_change.js +0 -179
  456. package/core/events/events_block_create.js +0 -127
  457. package/core/events/events_block_delete.js +0 -139
  458. package/core/events/events_block_drag.js +0 -89
  459. package/core/events/events_block_move.js +0 -202
  460. package/core/events/events_bubble_open.js +0 -90
  461. package/core/events/events_click.js +0 -87
  462. package/core/events/events_comment_base.js +0 -121
  463. package/core/events/events_comment_change.js +0 -105
  464. package/core/events/events_comment_create.js +0 -84
  465. package/core/events/events_comment_delete.js +0 -81
  466. package/core/events/events_comment_move.js +0 -157
  467. package/core/events/events_marker_move.js +0 -110
  468. package/core/events/events_selected.js +0 -83
  469. package/core/events/events_theme_change.js +0 -72
  470. package/core/events/events_toolbox_item_select.js +0 -84
  471. package/core/events/events_trashcan_open.js +0 -73
  472. package/core/events/events_ui.js +0 -88
  473. package/core/events/events_ui_base.js +0 -63
  474. package/core/events/events_var_base.js +0 -70
  475. package/core/events/events_var_create.js +0 -89
  476. package/core/events/events_var_delete.js +0 -89
  477. package/core/events/events_var_rename.js +0 -90
  478. package/core/events/events_viewport.js +0 -107
  479. package/core/events/utils.js +0 -600
  480. package/core/events/workspace_events.js +0 -93
  481. package/core/extensions.js +0 -523
  482. package/core/field.js +0 -1282
  483. package/core/field_angle.js +0 -591
  484. package/core/field_checkbox.js +0 -255
  485. package/core/field_colour.js +0 -717
  486. package/core/field_dropdown.js +0 -795
  487. package/core/field_image.js +0 -304
  488. package/core/field_label.js +0 -149
  489. package/core/field_label_serializable.js +0 -80
  490. package/core/field_multilineinput.js +0 -463
  491. package/core/field_number.js +0 -340
  492. package/core/field_registry.js +0 -80
  493. package/core/field_textinput.js +0 -619
  494. package/core/field_variable.js +0 -558
  495. package/core/flyout_base.js +0 -1254
  496. package/core/flyout_button.js +0 -356
  497. package/core/flyout_horizontal.js +0 -391
  498. package/core/flyout_metrics_manager.js +0 -106
  499. package/core/flyout_vertical.js +0 -395
  500. package/core/generator.js +0 -564
  501. package/core/gesture.js +0 -1026
  502. package/core/grid.js +0 -226
  503. package/core/icon.js +0 -225
  504. package/core/inject.js +0 -389
  505. package/core/input.js +0 -332
  506. package/core/input_types.js +0 -36
  507. package/core/insertion_marker_manager.js +0 -790
  508. package/core/interfaces/i_ast_node_location.js +0 -26
  509. package/core/interfaces/i_ast_node_location_svg.js +0 -45
  510. package/core/interfaces/i_ast_node_location_with_block.js +0 -41
  511. package/core/interfaces/i_autohideable.js +0 -40
  512. package/core/interfaces/i_block_dragger.js +0 -66
  513. package/core/interfaces/i_bounded_element.js +0 -45
  514. package/core/interfaces/i_bubble.js +0 -95
  515. package/core/interfaces/i_collapsible_toolbox_item.js +0 -53
  516. package/core/interfaces/i_component.js +0 -37
  517. package/core/interfaces/i_connection_checker.js +0 -104
  518. package/core/interfaces/i_contextmenu.js +0 -32
  519. package/core/interfaces/i_copyable.js +0 -49
  520. package/core/interfaces/i_deletable.js +0 -33
  521. package/core/interfaces/i_delete_area.js +0 -50
  522. package/core/interfaces/i_drag_target.js +0 -88
  523. package/core/interfaces/i_draggable.js +0 -31
  524. package/core/interfaces/i_flyout.js +0 -201
  525. package/core/interfaces/i_keyboard_accessible.js +0 -38
  526. package/core/interfaces/i_metrics_manager.js +0 -154
  527. package/core/interfaces/i_movable.js +0 -33
  528. package/core/interfaces/i_positionable.js +0 -51
  529. package/core/interfaces/i_registrable.js +0 -29
  530. package/core/interfaces/i_registrable_field.js +0 -39
  531. package/core/interfaces/i_selectable.js +0 -51
  532. package/core/interfaces/i_selectable_toolbox_item.js +0 -73
  533. package/core/interfaces/i_serializer.js +0 -77
  534. package/core/interfaces/i_styleable.js +0 -39
  535. package/core/interfaces/i_toolbox.js +0 -142
  536. package/core/interfaces/i_toolbox_item.js +0 -85
  537. package/core/internal_constants.js +0 -72
  538. package/core/keyboard_nav/ast_node.js +0 -741
  539. package/core/keyboard_nav/basic_cursor.js +0 -225
  540. package/core/keyboard_nav/cursor.js +0 -144
  541. package/core/keyboard_nav/marker.js +0 -134
  542. package/core/keyboard_nav/tab_navigate_cursor.js +0 -52
  543. package/core/marker_manager.js +0 -213
  544. package/core/menu.js +0 -482
  545. package/core/menuitem.js +0 -292
  546. package/core/metrics_manager.js +0 -495
  547. package/core/msg.js +0 -24
  548. package/core/mutator.js +0 -575
  549. package/core/names.js +0 -289
  550. package/core/options.js +0 -391
  551. package/core/positionable_helpers.js +0 -188
  552. package/core/procedures.js +0 -452
  553. package/core/registry.js +0 -384
  554. package/core/rendered_connection.js +0 -588
  555. package/core/renderers/common/block_rendering.js +0 -170
  556. package/core/renderers/common/constants.js +0 -1250
  557. package/core/renderers/common/debug.js +0 -67
  558. package/core/renderers/common/debugger.js +0 -457
  559. package/core/renderers/common/drawer.js +0 -475
  560. package/core/renderers/common/i_path_object.js +0 -162
  561. package/core/renderers/common/info.js +0 -775
  562. package/core/renderers/common/marker_svg.js +0 -721
  563. package/core/renderers/common/path_object.js +0 -283
  564. package/core/renderers/common/renderer.js +0 -305
  565. package/core/renderers/geras/constants.js +0 -73
  566. package/core/renderers/geras/drawer.js +0 -220
  567. package/core/renderers/geras/geras.js +0 -36
  568. package/core/renderers/geras/highlight_constants.js +0 -299
  569. package/core/renderers/geras/highlighter.js +0 -311
  570. package/core/renderers/geras/info.js +0 -488
  571. package/core/renderers/geras/measurables/inline_input.js +0 -58
  572. package/core/renderers/geras/measurables/statement_input.js +0 -57
  573. package/core/renderers/geras/path_object.js +0 -166
  574. package/core/renderers/geras/renderer.js +0 -149
  575. package/core/renderers/measurables/base.js +0 -64
  576. package/core/renderers/measurables/bottom_row.js +0 -138
  577. package/core/renderers/measurables/connection.js +0 -56
  578. package/core/renderers/measurables/external_value_input.js +0 -70
  579. package/core/renderers/measurables/field.js +0 -71
  580. package/core/renderers/measurables/hat.js +0 -50
  581. package/core/renderers/measurables/icon.js +0 -58
  582. package/core/renderers/measurables/in_row_spacer.js +0 -47
  583. package/core/renderers/measurables/inline_input.js +0 -80
  584. package/core/renderers/measurables/input_connection.js +0 -75
  585. package/core/renderers/measurables/input_row.js +0 -89
  586. package/core/renderers/measurables/jagged_edge.js +0 -46
  587. package/core/renderers/measurables/next_connection.js +0 -50
  588. package/core/renderers/measurables/output_connection.js +0 -61
  589. package/core/renderers/measurables/previous_connection.js +0 -50
  590. package/core/renderers/measurables/round_corner.js +0 -52
  591. package/core/renderers/measurables/row.js +0 -247
  592. package/core/renderers/measurables/spacer_row.js +0 -69
  593. package/core/renderers/measurables/square_corner.js +0 -50
  594. package/core/renderers/measurables/statement_input.js +0 -59
  595. package/core/renderers/measurables/top_row.js +0 -143
  596. package/core/renderers/measurables/types.js +0 -353
  597. package/core/renderers/minimalist/constants.js +0 -37
  598. package/core/renderers/minimalist/drawer.js +0 -42
  599. package/core/renderers/minimalist/info.js +0 -54
  600. package/core/renderers/minimalist/minimalist.js +0 -26
  601. package/core/renderers/minimalist/renderer.js +0 -80
  602. package/core/renderers/thrasos/info.js +0 -339
  603. package/core/renderers/thrasos/renderer.js +0 -53
  604. package/core/renderers/thrasos/thrasos.js +0 -22
  605. package/core/renderers/zelos/constants.js +0 -1005
  606. package/core/renderers/zelos/drawer.js +0 -250
  607. package/core/renderers/zelos/info.js +0 -624
  608. package/core/renderers/zelos/marker_svg.js +0 -179
  609. package/core/renderers/zelos/measurables/bottom_row.js +0 -66
  610. package/core/renderers/zelos/measurables/inputs.js +0 -57
  611. package/core/renderers/zelos/measurables/row_elements.js +0 -46
  612. package/core/renderers/zelos/measurables/top_row.js +0 -71
  613. package/core/renderers/zelos/path_object.js +0 -247
  614. package/core/renderers/zelos/renderer.js +0 -147
  615. package/core/renderers/zelos/zelos.js +0 -38
  616. package/core/scrollbar.js +0 -891
  617. package/core/scrollbar_pair.js +0 -329
  618. package/core/serialization/blocks.js +0 -699
  619. package/core/serialization/exceptions.js +0 -144
  620. package/core/serialization/priorities.js +0 -38
  621. package/core/serialization/registry.js +0 -45
  622. package/core/serialization/variables.js +0 -98
  623. package/core/serialization/workspaces.js +0 -103
  624. package/core/shortcut_items.js +0 -302
  625. package/core/shortcut_registry.js +0 -366
  626. package/core/sprites.js +0 -31
  627. package/core/theme/classic.js +0 -56
  628. package/core/theme/themes.js +0 -23
  629. package/core/theme/zelos.js +0 -94
  630. package/core/theme.js +0 -228
  631. package/core/theme_manager.js +0 -211
  632. package/core/toolbox/category.js +0 -751
  633. package/core/toolbox/collapsible_category.js +0 -311
  634. package/core/toolbox/separator.js +0 -133
  635. package/core/toolbox/toolbox.js +0 -1160
  636. package/core/toolbox/toolbox_item.js +0 -173
  637. package/core/tooltip.js +0 -541
  638. package/core/touch.js +0 -285
  639. package/core/touch_gesture.js +0 -333
  640. package/core/trashcan.js +0 -757
  641. package/core/utils/aria.js +0 -174
  642. package/core/utils/array.js +0 -34
  643. package/core/utils/colour.js +0 -288
  644. package/core/utils/coordinate.js +0 -138
  645. package/core/utils/deprecation.js +0 -41
  646. package/core/utils/dom.js +0 -430
  647. package/core/utils/global.js +0 -41
  648. package/core/utils/idgenerator.js +0 -83
  649. package/core/utils/keycodes.js +0 -172
  650. package/core/utils/math.js +0 -63
  651. package/core/utils/metrics.js +0 -154
  652. package/core/utils/object.js +0 -91
  653. package/core/utils/parsing.js +0 -261
  654. package/core/utils/rect.js +0 -75
  655. package/core/utils/sentinel.js +0 -25
  656. package/core/utils/size.js +0 -65
  657. package/core/utils/string.js +0 -305
  658. package/core/utils/style.js +0 -296
  659. package/core/utils/svg.js +0 -186
  660. package/core/utils/svg_math.js +0 -268
  661. package/core/utils/svg_paths.js +0 -149
  662. package/core/utils/toolbox.js +0 -459
  663. package/core/utils/useragent.js +0 -197
  664. package/core/utils/xml.js +0 -107
  665. package/core/utils.js +0 -383
  666. package/core/variable_map.js +0 -410
  667. package/core/variable_model.js +0 -96
  668. package/core/variables.js +0 -578
  669. package/core/variables_dynamic.js +0 -129
  670. package/core/warning.js +0 -175
  671. package/core/widgetdiv.js +0 -290
  672. package/core/workspace.js +0 -836
  673. package/core/workspace_audio.js +0 -169
  674. package/core/workspace_comment.js +0 -400
  675. package/core/workspace_comment_svg.js +0 -1224
  676. package/core/workspace_drag_surface_svg.js +0 -194
  677. package/core/workspace_dragger.js +0 -115
  678. package/core/workspace_svg.js +0 -2735
  679. package/core/xml.js +0 -1043
  680. package/core/zoom_controls.js +0 -507
  681. package/generators/dart/all.js +0 -25
  682. package/generators/dart/colour.js +0 -105
  683. package/generators/dart/lists.js +0 -431
  684. package/generators/dart/logic.js +0 -123
  685. package/generators/dart/loops.js +0 -161
  686. package/generators/dart/math.js +0 -446
  687. package/generators/dart/procedures.js +0 -105
  688. package/generators/dart/text.js +0 -338
  689. package/generators/dart/variables.js +0 -32
  690. package/generators/dart/variables_dynamic.js +0 -21
  691. package/generators/dart.js +0 -304
  692. package/generators/javascript/all.js +0 -25
  693. package/generators/javascript/colour.js +0 -85
  694. package/generators/javascript/lists.js +0 -405
  695. package/generators/javascript/logic.js +0 -127
  696. package/generators/javascript/loops.js +0 -180
  697. package/generators/javascript/math.js +0 -401
  698. package/generators/javascript/procedures.js +0 -110
  699. package/generators/javascript/text.js +0 -371
  700. package/generators/javascript/variables.js +0 -32
  701. package/generators/javascript/variables_dynamic.js +0 -21
  702. package/generators/javascript.js +0 -324
  703. package/generators/lua/all.js +0 -25
  704. package/generators/lua/colour.js +0 -71
  705. package/generators/lua/lists.js +0 -348
  706. package/generators/lua/logic.js +0 -112
  707. package/generators/lua/loops.js +0 -168
  708. package/generators/lua/math.js +0 -406
  709. package/generators/lua/procedures.js +0 -106
  710. package/generators/lua/text.js +0 -327
  711. package/generators/lua/variables.js +0 -31
  712. package/generators/lua/variables_dynamic.js +0 -21
  713. package/generators/lua.js +0 -207
  714. package/generators/php/all.js +0 -25
  715. package/generators/php/colour.js +0 -81
  716. package/generators/php/lists.js +0 -482
  717. package/generators/php/logic.js +0 -119
  718. package/generators/php/loops.js +0 -161
  719. package/generators/php/math.js +0 -349
  720. package/generators/php/procedures.js +0 -125
  721. package/generators/php/text.js +0 -255
  722. package/generators/php/variables.js +0 -32
  723. package/generators/php/variables_dynamic.js +0 -21
  724. package/generators/php.js +0 -304
  725. package/generators/python/all.js +0 -25
  726. package/generators/python/colour.js +0 -67
  727. package/generators/python/lists.js +0 -346
  728. package/generators/python/logic.js +0 -120
  729. package/generators/python/loops.js +0 -209
  730. package/generators/python/math.js +0 -373
  731. package/generators/python/procedures.js +0 -129
  732. package/generators/python/text.js +0 -291
  733. package/generators/python/variables.js +0 -32
  734. package/generators/python/variables_dynamic.js +0 -21
  735. package/generators/python.js +0 -334
@@ -0,0 +1,216 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2021 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { IFlyout } from './interfaces/i_flyout.js';
7
+ import type { IMetricsManager } from './interfaces/i_metrics_manager.js';
8
+ import type { IToolbox } from './interfaces/i_toolbox.js';
9
+ import type { Metrics } from './utils/metrics.js';
10
+ import { Size } from './utils/size.js';
11
+ import * as toolboxUtils from './utils/toolbox.js';
12
+ import type { WorkspaceSvg } from './workspace_svg.js';
13
+ /**
14
+ * The manager for all workspace metrics calculations.
15
+ *
16
+ * @alias Blockly.MetricsManager
17
+ */
18
+ export declare class MetricsManager implements IMetricsManager {
19
+ /** The workspace to calculate metrics for. */
20
+ protected readonly workspace_: WorkspaceSvg;
21
+ /** @param workspace The workspace to calculate metrics for. */
22
+ constructor(workspace: WorkspaceSvg);
23
+ /**
24
+ * Gets the dimensions of the given workspace component, in pixel coordinates.
25
+ *
26
+ * @param elem The element to get the dimensions of, or null. It should be a
27
+ * toolbox or flyout, and should implement getWidth() and getHeight().
28
+ * @returns An object containing width and height attributes, which will both
29
+ * be zero if elem did not exist.
30
+ */
31
+ protected getDimensionsPx_(elem: IToolbox | null | IFlyout): Size;
32
+ /**
33
+ * Gets the width and the height of the flyout on the workspace in pixel
34
+ * coordinates. Returns 0 for the width and height if the workspace has a
35
+ * category toolbox instead of a simple toolbox.
36
+ *
37
+ * @param opt_own Whether to only return the workspace's own flyout.
38
+ * @returns The width and height of the flyout.
39
+ */
40
+ getFlyoutMetrics(opt_own?: boolean): ToolboxMetrics;
41
+ /**
42
+ * Gets the width, height and position of the toolbox on the workspace in
43
+ * pixel coordinates. Returns 0 for the width and height if the workspace has
44
+ * a simple toolbox instead of a category toolbox. To get the width and height
45
+ * of a
46
+ * simple toolbox @see {@link MetricsManager#getFlyoutMetrics}.
47
+ *
48
+ * @returns The object with the width, height and position of the toolbox.
49
+ */
50
+ getToolboxMetrics(): ToolboxMetrics;
51
+ /**
52
+ * Gets the width and height of the workspace's parent SVG element in pixel
53
+ * coordinates. This area includes the toolbox and the visible workspace area.
54
+ *
55
+ * @returns The width and height of the workspace's parent SVG element.
56
+ */
57
+ getSvgMetrics(): Size;
58
+ /**
59
+ * Gets the absolute left and absolute top in pixel coordinates.
60
+ * This is where the visible workspace starts in relation to the SVG
61
+ * container.
62
+ *
63
+ * @returns The absolute metrics for the workspace.
64
+ */
65
+ getAbsoluteMetrics(): AbsoluteMetrics;
66
+ /**
67
+ * Gets the metrics for the visible workspace in either pixel or workspace
68
+ * coordinates. The visible workspace does not include the toolbox or flyout.
69
+ *
70
+ * @param opt_getWorkspaceCoordinates True to get the view metrics in
71
+ * workspace coordinates, false to get them in pixel coordinates.
72
+ * @returns The width, height, top and left of the viewport in either
73
+ * workspace coordinates or pixel coordinates.
74
+ */
75
+ getViewMetrics(opt_getWorkspaceCoordinates?: boolean): ContainerRegion;
76
+ /**
77
+ * Gets content metrics in either pixel or workspace coordinates.
78
+ * The content area is a rectangle around all the top bounded elements on the
79
+ * workspace (workspace comments and blocks).
80
+ *
81
+ * @param opt_getWorkspaceCoordinates True to get the content metrics in
82
+ * workspace coordinates, false to get them in pixel coordinates.
83
+ * @returns The metrics for the content container.
84
+ */
85
+ getContentMetrics(opt_getWorkspaceCoordinates?: boolean): ContainerRegion;
86
+ /**
87
+ * Returns whether the scroll area has fixed edges.
88
+ *
89
+ * @returns Whether the scroll area has fixed edges.
90
+ * @internal
91
+ */
92
+ hasFixedEdges(): boolean;
93
+ /**
94
+ * Computes the fixed edges of the scroll area.
95
+ *
96
+ * @param opt_viewMetrics The view metrics if they have been previously
97
+ * computed. Passing in null may cause the view metrics to be computed
98
+ * again, if it is needed.
99
+ * @returns The fixed edges of the scroll area.
100
+ */
101
+ protected getComputedFixedEdges_(opt_viewMetrics?: ContainerRegion): FixedEdges;
102
+ /**
103
+ * Returns the content area with added padding.
104
+ *
105
+ * @param viewMetrics The view metrics.
106
+ * @param contentMetrics The content metrics.
107
+ * @returns The padded content area.
108
+ */
109
+ protected getPaddedContent_(viewMetrics: ContainerRegion, contentMetrics: ContainerRegion): {
110
+ top: number;
111
+ bottom: number;
112
+ left: number;
113
+ right: number;
114
+ };
115
+ /**
116
+ * Returns the metrics for the scroll area of the workspace.
117
+ *
118
+ * @param opt_getWorkspaceCoordinates True to get the scroll metrics in
119
+ * workspace coordinates, false to get them in pixel coordinates.
120
+ * @param opt_viewMetrics The view metrics if they have been previously
121
+ * computed. Passing in null may cause the view metrics to be computed
122
+ * again, if it is needed.
123
+ * @param opt_contentMetrics The content metrics if they have been previously
124
+ * computed. Passing in null may cause the content metrics to be computed
125
+ * again, if it is needed.
126
+ * @returns The metrics for the scroll container.
127
+ */
128
+ getScrollMetrics(opt_getWorkspaceCoordinates?: boolean, opt_viewMetrics?: ContainerRegion, opt_contentMetrics?: ContainerRegion): ContainerRegion;
129
+ /**
130
+ * Returns common metrics used by UI elements.
131
+ *
132
+ * @returns The UI metrics.
133
+ */
134
+ getUiMetrics(): UiMetrics;
135
+ /**
136
+ * Returns an object with all the metrics required to size scrollbars for a
137
+ * top level workspace. The following properties are computed:
138
+ * Coordinate system: pixel coordinates, -left, -up, +right, +down
139
+ * .viewHeight: Height of the visible portion of the workspace.
140
+ * .viewWidth: Width of the visible portion of the workspace.
141
+ * .contentHeight: Height of the content.
142
+ * .contentWidth: Width of the content.
143
+ * .scrollHeight: Height of the scroll area.
144
+ * .scrollWidth: Width of the scroll area.
145
+ * .svgHeight: Height of the Blockly div (the view + the toolbox,
146
+ * simple or otherwise),
147
+ * .svgWidth: Width of the Blockly div (the view + the toolbox,
148
+ * simple or otherwise),
149
+ * .viewTop: Top-edge of the visible portion of the workspace, relative to
150
+ * the workspace origin.
151
+ * .viewLeft: Left-edge of the visible portion of the workspace, relative to
152
+ * the workspace origin.
153
+ * .contentTop: Top-edge of the content, relative to the workspace origin.
154
+ * .contentLeft: Left-edge of the content relative to the workspace origin.
155
+ * .scrollTop: Top-edge of the scroll area, relative to the workspace origin.
156
+ * .scrollLeft: Left-edge of the scroll area relative to the workspace origin.
157
+ * .absoluteTop: Top-edge of the visible portion of the workspace, relative
158
+ * to the blocklyDiv.
159
+ * .absoluteLeft: Left-edge of the visible portion of the workspace, relative
160
+ * to the blocklyDiv.
161
+ * .toolboxWidth: Width of the toolbox, if it exists. Otherwise zero.
162
+ * .toolboxHeight: Height of the toolbox, if it exists. Otherwise zero.
163
+ * .flyoutWidth: Width of the flyout if it is always open. Otherwise zero.
164
+ * .flyoutHeight: Height of the flyout if it is always open. Otherwise zero.
165
+ * .toolboxPosition: Top, bottom, left or right. Use TOOLBOX_AT constants to
166
+ * compare.
167
+ *
168
+ * @returns Contains size and position metrics of a top level workspace.
169
+ */
170
+ getMetrics(): Metrics;
171
+ }
172
+ export declare namespace MetricsManager {
173
+ /**
174
+ * Describes the width, height and location of the toolbox on the main
175
+ * workspace.
176
+ */
177
+ interface ToolboxMetrics {
178
+ width: number;
179
+ height: number;
180
+ position: toolboxUtils.Position;
181
+ }
182
+ /** Describes where the viewport starts in relation to the workspace SVG. */
183
+ interface AbsoluteMetrics {
184
+ left: number;
185
+ top: number;
186
+ }
187
+ /**
188
+ * All the measurements needed to describe the size and location of a
189
+ * container.
190
+ */
191
+ interface ContainerRegion {
192
+ height: number;
193
+ width: number;
194
+ top: number;
195
+ left: number;
196
+ }
197
+ /** Describes fixed edges of the workspace. */
198
+ interface FixedEdges {
199
+ top?: number;
200
+ bottom?: number;
201
+ left?: number;
202
+ right?: number;
203
+ }
204
+ /** Common metrics used for UI elements. */
205
+ interface UiMetrics {
206
+ viewMetrics: ContainerRegion;
207
+ absoluteMetrics: AbsoluteMetrics;
208
+ toolboxMetrics: ToolboxMetrics;
209
+ }
210
+ }
211
+ export declare type ToolboxMetrics = MetricsManager.ToolboxMetrics;
212
+ export declare type AbsoluteMetrics = MetricsManager.AbsoluteMetrics;
213
+ export declare type ContainerRegion = MetricsManager.ContainerRegion;
214
+ export declare type FixedEdges = MetricsManager.FixedEdges;
215
+ export declare type UiMetrics = MetricsManager.UiMetrics;
216
+ //# sourceMappingURL=metrics_manager.d.ts.map
package/core/msg.d.ts ADDED
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2013 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /** A dictionary of localised messages. */
7
+ export declare const Msg: {
8
+ [key: string]: string;
9
+ };
10
+ //# sourceMappingURL=msg.d.ts.map
@@ -0,0 +1,140 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2012 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import './events/events_bubble_open.js';
7
+ import type { Block } from './block.js';
8
+ import type { BlockSvg } from './block_svg.js';
9
+ import type { Connection } from './connection.js';
10
+ import type { Abstract } from './events/events_abstract.js';
11
+ import { Icon } from './icon.js';
12
+ import { Options } from './options.js';
13
+ import type { WorkspaceSvg } from './workspace_svg.js';
14
+ /**
15
+ * Class for a mutator dialog.
16
+ *
17
+ * @alias Blockly.Mutator
18
+ */
19
+ export declare class Mutator extends Icon {
20
+ private quarkNames_;
21
+ /** Workspace in the mutator's bubble. */
22
+ private workspace_;
23
+ /** Width of workspace. */
24
+ private workspaceWidth_;
25
+ /** Height of workspace. */
26
+ private workspaceHeight_;
27
+ /**
28
+ * The SVG element that is the parent of the mutator workspace, or null if
29
+ * not created.
30
+ */
31
+ private svgDialog_;
32
+ /**
33
+ * The root block of the mutator workspace, created by decomposing the
34
+ * source block.
35
+ */
36
+ private rootBlock_;
37
+ /**
38
+ * Function registered on the main workspace to update the mutator contents
39
+ * when the main workspace changes.
40
+ */
41
+ private sourceListener_;
42
+ /**
43
+ * The PID associated with the updateWorkpace_ timeout, or null if no timeout
44
+ * is currently running.
45
+ */
46
+ private updateWorkspacePid_;
47
+ /** @param quarkNames List of names of sub-blocks for flyout. */
48
+ constructor(block: BlockSvg, quarkNames: string[]);
49
+ /**
50
+ * Set the block this mutator is associated with.
51
+ *
52
+ * @param block The block associated with this mutator.
53
+ * @internal
54
+ */
55
+ setBlock(block: BlockSvg): void;
56
+ /**
57
+ * Returns the workspace inside this mutator icon's bubble.
58
+ *
59
+ * @returns The workspace inside this mutator icon's bubble or null if the
60
+ * mutator isn't open.
61
+ * @internal
62
+ */
63
+ getWorkspace(): WorkspaceSvg | null;
64
+ /**
65
+ * Draw the mutator icon.
66
+ *
67
+ * @param group The icon group.
68
+ */
69
+ protected drawIcon_(group: Element): void;
70
+ /**
71
+ * Clicking on the icon toggles if the mutator bubble is visible.
72
+ * Disable if block is uneditable.
73
+ *
74
+ * @param e Mouse click event.
75
+ */
76
+ protected iconClick_(e: MouseEvent): void;
77
+ /**
78
+ * Create the editor for the mutator's bubble.
79
+ *
80
+ * @returns The top-level node of the editor.
81
+ */
82
+ private createEditor_;
83
+ /**
84
+ * @internal
85
+ */
86
+ newWorkspaceSvg(options: Options): WorkspaceSvg;
87
+ /** Add or remove the UI indicating if this icon may be clicked or not. */
88
+ updateEditable(): void;
89
+ /** Resize the bubble to match the size of the workspace. */
90
+ private resizeBubble_;
91
+ /** A method handler for when the bubble is moved. */
92
+ private onBubbleMove_;
93
+ /**
94
+ * Show or hide the mutator bubble.
95
+ *
96
+ * @param visible True if the bubble should be visible.
97
+ */
98
+ setVisible(visible: boolean): void;
99
+ /**
100
+ * Fired whenever a change is made to the mutator's workspace.
101
+ *
102
+ * @param e Custom data for event.
103
+ */
104
+ private workspaceChanged_;
105
+ /**
106
+ * Returns whether the given event in the mutator workspace should be ignored
107
+ * when deciding whether to update the workspace and compose the block or not.
108
+ *
109
+ * @param e The event.
110
+ * @returns Whether to ignore the event or not.
111
+ */
112
+ shouldIgnoreMutatorEvent_(e: Abstract): boolean;
113
+ /**
114
+ * Updates the source block when the mutator's blocks are changed.
115
+ * Bump down any block that's too high.
116
+ */
117
+ private updateWorkspace_;
118
+ /** Dispose of this mutator. */
119
+ dispose(): void;
120
+ /** Update the styles on all blocks in the mutator. */
121
+ updateBlockStyle(): void;
122
+ /**
123
+ * Reconnect an block to a mutated input.
124
+ *
125
+ * @param connectionChild Connection on child block.
126
+ * @param block Parent block.
127
+ * @param inputName Name of input on parent block.
128
+ * @returns True iff a reconnection was made, false otherwise.
129
+ */
130
+ static reconnect(connectionChild: Connection, block: Block, inputName: string): boolean;
131
+ /**
132
+ * Get the parent workspace of a workspace that is inside a mutator, taking
133
+ * into account whether it is a flyout.
134
+ *
135
+ * @param workspace The workspace that is inside a mutator.
136
+ * @returns The mutator's parent workspace or null.
137
+ */
138
+ static findParentWs(workspace: WorkspaceSvg): WorkspaceSvg | null;
139
+ }
140
+ //# sourceMappingURL=mutator.d.ts.map
@@ -0,0 +1,136 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2012 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { VariableMap } from './variable_map.js';
7
+ import type { Workspace } from './workspace.js';
8
+ /**
9
+ * Class for a database of entity names (variables, procedures, etc).
10
+ *
11
+ * @alias Blockly.Names
12
+ */
13
+ export declare class Names {
14
+ static DEVELOPER_VARIABLE_TYPE: NameType;
15
+ private readonly variablePrefix_;
16
+ /** A set of reserved words. */
17
+ private readonly reservedWords;
18
+ /**
19
+ * A map from type (e.g. name, procedure) to maps from names to generated
20
+ * names.
21
+ */
22
+ private readonly db;
23
+ /** A set of used names to avoid collisions. */
24
+ private readonly dbReverse;
25
+ /**
26
+ * The variable map from the workspace, containing Blockly variable models.
27
+ */
28
+ private variableMap_;
29
+ /**
30
+ * @param reservedWordsList A comma-separated string of words that are illegal
31
+ * for use as names in a language (e.g. 'new,if,this,...').
32
+ * @param opt_variablePrefix Some languages need a '$' or a namespace before
33
+ * all variable names (but not procedure names).
34
+ */
35
+ constructor(reservedWordsList: string, opt_variablePrefix?: string);
36
+ /**
37
+ * Empty the database and start from scratch. The reserved words are kept.
38
+ */
39
+ reset(): void;
40
+ /**
41
+ * Set the variable map that maps from variable name to variable object.
42
+ *
43
+ * @param map The map to track.
44
+ */
45
+ setVariableMap(map: VariableMap): void;
46
+ /**
47
+ * Get the name for a user-defined variable, based on its ID.
48
+ * This should only be used for variables of NameType VARIABLE.
49
+ *
50
+ * @param id The ID to look up in the variable map.
51
+ * @returns The name of the referenced variable, or null if there was no
52
+ * variable map or the variable was not found in the map.
53
+ */
54
+ private getNameForUserVariable_;
55
+ /**
56
+ * Generate names for user variables, but only ones that are being used.
57
+ *
58
+ * @param workspace Workspace to generate variables from.
59
+ */
60
+ populateVariables(workspace: Workspace): void;
61
+ /**
62
+ * Generate names for procedures.
63
+ *
64
+ * @param workspace Workspace to generate procedures from.
65
+ */
66
+ populateProcedures(workspace: Workspace): void;
67
+ /**
68
+ * Convert a Blockly entity name to a legal exportable entity name.
69
+ *
70
+ * @param nameOrId The Blockly entity name (no constraints) or variable ID.
71
+ * @param type The type of the name in Blockly ('VARIABLE', 'PROCEDURE',
72
+ * 'DEVELOPER_VARIABLE', etc...).
73
+ * @returns An entity name that is legal in the exported language.
74
+ */
75
+ getName(nameOrId: string, type: NameType | string): string;
76
+ /**
77
+ * Return a list of all known user-created names of a specified name type.
78
+ *
79
+ * @param type The type of entity in Blockly ('VARIABLE', 'PROCEDURE',
80
+ * 'DEVELOPER_VARIABLE', etc...).
81
+ * @returns A list of Blockly entity names (no constraints).
82
+ */
83
+ getUserNames(type: NameType | string): string[];
84
+ /**
85
+ * Convert a Blockly entity name to a legal exportable entity name.
86
+ * Ensure that this is a new name not overlapping any previously defined name.
87
+ * Also check against list of reserved words for the current language and
88
+ * ensure name doesn't collide.
89
+ *
90
+ * @param name The Blockly entity name (no constraints).
91
+ * @param type The type of entity in Blockly ('VARIABLE', 'PROCEDURE',
92
+ * 'DEVELOPER_VARIABLE', etc...).
93
+ * @returns An entity name that is legal in the exported language.
94
+ */
95
+ getDistinctName(name: string, type: NameType | string): string;
96
+ /**
97
+ * Given a proposed entity name, generate a name that conforms to the
98
+ * [_A-Za-z][_A-Za-z0-9]* format that most languages consider legal for
99
+ * variable and function names.
100
+ *
101
+ * @param name Potentially illegal entity name.
102
+ * @returns Safe entity name.
103
+ */
104
+ private safeName_;
105
+ /**
106
+ * Do the given two entity names refer to the same entity?
107
+ * Blockly names are case-insensitive.
108
+ *
109
+ * @param name1 First name.
110
+ * @param name2 Second name.
111
+ * @returns True if names are the same.
112
+ */
113
+ static equals(name1: string, name2: string): boolean;
114
+ }
115
+ export declare namespace Names {
116
+ /**
117
+ * Enum for the type of a name. Different name types may have different rules
118
+ * about collisions.
119
+ * When JavaScript (or most other languages) is generated, variable 'foo' and
120
+ * procedure 'foo' would collide. However, Blockly has no such problems since
121
+ * variable get 'foo' and procedure call 'foo' are unambiguous.
122
+ * Therefore, Blockly keeps a separate name type to disambiguate.
123
+ * getName('foo', 'VARIABLE') = 'foo'
124
+ * getName('foo', 'PROCEDURE') = 'foo2'
125
+ *
126
+ * @alias Blockly.Names.NameType
127
+ */
128
+ enum NameType {
129
+ DEVELOPER_VARIABLE = "DEVELOPER_VARIABLE",
130
+ VARIABLE = "VARIABLE",
131
+ PROCEDURE = "PROCEDURE"
132
+ }
133
+ }
134
+ export declare type NameType = Names.NameType;
135
+ export declare const NameType: typeof Names.NameType;
136
+ //# sourceMappingURL=names.d.ts.map
@@ -0,0 +1,143 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2016 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { BlocklyOptions } from './blockly_options.js';
7
+ import { Theme } from './theme.js';
8
+ import type { Metrics } from './utils/metrics.js';
9
+ import * as toolbox from './utils/toolbox.js';
10
+ import type { WorkspaceSvg } from './workspace_svg.js';
11
+ /**
12
+ * Parse the user-specified options, using reasonable defaults where behaviour
13
+ * is unspecified.
14
+ *
15
+ * @alias Blockly.Options
16
+ */
17
+ export declare class Options {
18
+ RTL: boolean;
19
+ oneBasedIndex: boolean;
20
+ collapse: boolean;
21
+ comments: boolean;
22
+ disable: boolean;
23
+ readOnly: boolean;
24
+ maxBlocks: number;
25
+ maxInstances: {
26
+ [key: string]: number;
27
+ } | null;
28
+ pathToMedia: string;
29
+ hasCategories: boolean;
30
+ moveOptions: MoveOptions;
31
+ hasScrollbars: boolean;
32
+ hasTrashcan: boolean;
33
+ maxTrashcanContents: number;
34
+ hasSounds: boolean;
35
+ hasCss: boolean;
36
+ horizontalLayout: boolean;
37
+ languageTree: toolbox.ToolboxInfo | null;
38
+ gridOptions: GridOptions;
39
+ zoomOptions: ZoomOptions;
40
+ toolboxPosition: toolbox.Position;
41
+ theme: Theme;
42
+ renderer: string;
43
+ rendererOverrides: {
44
+ [rendererConstant: string]: any;
45
+ } | null;
46
+ /**
47
+ * The SVG element for the grid pattern.
48
+ * Created during injection.
49
+ */
50
+ gridPattern: SVGElement | null;
51
+ parentWorkspace: WorkspaceSvg | null;
52
+ plugins: {
53
+ [key: string]: (new (...p1: any[]) => any) | string;
54
+ };
55
+ /**
56
+ * If set, sets the translation of the workspace to match the scrollbars.
57
+ * A function that
58
+ * sets the translation of the workspace to match the scrollbars. The
59
+ * argument Contains an x and/or y property which is a float between 0
60
+ * and 1 specifying the degree of scrolling.
61
+ */
62
+ setMetrics?: ((p1: {
63
+ x?: number;
64
+ y?: number;
65
+ }) => void);
66
+ /**
67
+ * A function that returns a metrics
68
+ * object that describes the current workspace.
69
+ */
70
+ getMetrics?: (() => Metrics);
71
+ /**
72
+ * @param options Dictionary of options.
73
+ * Specification:
74
+ * https://developers.google.com/blockly/guides/get-started/web#configuration
75
+ */
76
+ constructor(options: BlocklyOptions);
77
+ /**
78
+ * Parse the user-specified move options, using reasonable defaults where
79
+ * behaviour is unspecified.
80
+ *
81
+ * @param options Dictionary of options.
82
+ * @param hasCategories Whether the workspace has categories or not.
83
+ * @returns Normalized move options.
84
+ */
85
+ private static parseMoveOptions_;
86
+ /**
87
+ * Parse the user-specified zoom options, using reasonable defaults where
88
+ * behaviour is unspecified. See zoom documentation:
89
+ * https://developers.google.com/blockly/guides/configure/web/zoom
90
+ *
91
+ * @param options Dictionary of options.
92
+ * @returns Normalized zoom options.
93
+ */
94
+ private static parseZoomOptions_;
95
+ /**
96
+ * Parse the user-specified grid options, using reasonable defaults where
97
+ * behaviour is unspecified. See grid documentation:
98
+ * https://developers.google.com/blockly/guides/configure/web/grid
99
+ *
100
+ * @param options Dictionary of options.
101
+ * @returns Normalized grid options.
102
+ */
103
+ private static parseGridOptions_;
104
+ /**
105
+ * Parse the user-specified theme options, using the classic theme as a
106
+ * default. https://developers.google.com/blockly/guides/configure/web/themes
107
+ *
108
+ * @param options Dictionary of options.
109
+ * @returns A Blockly Theme.
110
+ */
111
+ private static parseThemeOptions_;
112
+ }
113
+ export declare namespace Options {
114
+ interface GridOptions {
115
+ colour: string;
116
+ length: number;
117
+ snap: boolean;
118
+ spacing: number;
119
+ }
120
+ interface MoveOptions {
121
+ drag: boolean;
122
+ scrollbars: boolean | ScrollbarOptions;
123
+ wheel: boolean;
124
+ }
125
+ interface ScrollbarOptions {
126
+ horizontal: boolean;
127
+ vertical: boolean;
128
+ }
129
+ interface ZoomOptions {
130
+ controls: boolean;
131
+ maxScale: number;
132
+ minScale: number;
133
+ pinch: boolean;
134
+ scaleSpeed: number;
135
+ startScale: number;
136
+ wheel: boolean;
137
+ }
138
+ }
139
+ export declare type GridOptions = Options.GridOptions;
140
+ export declare type MoveOptions = Options.MoveOptions;
141
+ export declare type ScrollbarOptions = Options.ScrollbarOptions;
142
+ export declare type ZoomOptions = Options.ZoomOptions;
143
+ //# sourceMappingURL=options.d.ts.map