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,505 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2011 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { BlockSvg } from './block_svg.js';
7
+ import { DeleteArea } from './delete_area.js';
8
+ import { FlyoutButton } from './flyout_button.js';
9
+ import type { IFlyout } from './interfaces/i_flyout.js';
10
+ import type { Options } from './options.js';
11
+ import { Coordinate } from './utils/coordinate.js';
12
+ import { Svg } from './utils/svg.js';
13
+ import * as toolbox from './utils/toolbox.js';
14
+ import { WorkspaceSvg } from './workspace_svg.js';
15
+ declare enum FlyoutItemType {
16
+ BLOCK = "block",
17
+ BUTTON = "button"
18
+ }
19
+ /**
20
+ * Class for a flyout.
21
+ *
22
+ * @alias Blockly.Flyout
23
+ */
24
+ export declare abstract class Flyout extends DeleteArea implements IFlyout {
25
+ /**
26
+ * Position the flyout.
27
+ */
28
+ abstract position(): void;
29
+ /**
30
+ * Determine if a drag delta is toward the workspace, based on the position
31
+ * and orientation of the flyout. This is used in determineDragIntention_ to
32
+ * determine if a new block should be created or if the flyout should scroll.
33
+ *
34
+ * @param currentDragDeltaXY How far the pointer has
35
+ * moved from the position at mouse down, in pixel units.
36
+ * @returns True if the drag is toward the workspace.
37
+ */
38
+ abstract isDragTowardWorkspace(currentDragDeltaXY: Coordinate): boolean;
39
+ /**
40
+ * Sets the translation of the flyout to match the scrollbars.
41
+ *
42
+ * @param xyRatio Contains a y property which is a float
43
+ * between 0 and 1 specifying the degree of scrolling and a
44
+ * similar x property.
45
+ */
46
+ protected abstract setMetrics_(xyRatio: {
47
+ x?: number;
48
+ y?: number;
49
+ }): void;
50
+ /**
51
+ * Lay out the blocks in the flyout.
52
+ *
53
+ * @param contents The blocks and buttons to lay
54
+ * out.
55
+ * @param gaps The visible gaps between blocks.
56
+ */
57
+ protected abstract layout_(contents: FlyoutItem[], gaps: number[]): void;
58
+ /**
59
+ * Scroll the flyout.
60
+ *
61
+ * @param e Mouse wheel scroll event.
62
+ */
63
+ protected abstract wheel_(e: WheelEvent): void;
64
+ /**
65
+ * Compute height of flyout. Position mat under each block.
66
+ * For RTL: Lay out the blocks right-aligned.
67
+ */
68
+ protected abstract reflowInternal_(): void;
69
+ /**
70
+ * Calculates the x coordinate for the flyout position.
71
+ *
72
+ * @returns X coordinate.
73
+ */
74
+ abstract getX(): number;
75
+ /**
76
+ * Calculates the y coordinate for the flyout position.
77
+ *
78
+ * @returns Y coordinate.
79
+ */
80
+ abstract getY(): number;
81
+ /**
82
+ * Scroll the flyout to the beginning of its contents.
83
+ */
84
+ abstract scrollToStart(): void;
85
+ /**
86
+ * The type of a flyout content item.
87
+ */
88
+ static FlyoutItemType: typeof FlyoutItemType;
89
+ protected workspace_: WorkspaceSvg;
90
+ RTL: boolean;
91
+ /**
92
+ * Whether the flyout should be laid out horizontally or not.
93
+ *
94
+ * @internal
95
+ */
96
+ horizontalLayout: boolean;
97
+ protected toolboxPosition_: number;
98
+ /**
99
+ * Opaque data that can be passed to Blockly.unbindEvent_.
100
+ */
101
+ private eventWrappers_;
102
+ /**
103
+ * Function that will be registered as a change listener on the workspace
104
+ * to reflow when blocks in the flyout workspace change.
105
+ */
106
+ private reflowWrapper_;
107
+ /**
108
+ * Function that disables blocks in the flyout based on max block counts
109
+ * allowed in the target workspace. Registered as a change listener on the
110
+ * target workspace.
111
+ */
112
+ private filterWrapper_;
113
+ /**
114
+ * List of background mats that lurk behind each block to catch clicks
115
+ * landing in the blocks' lakes and bays.
116
+ */
117
+ private mats_;
118
+ /**
119
+ * List of visible buttons.
120
+ */
121
+ protected buttons_: FlyoutButton[];
122
+ /**
123
+ * List of event listeners.
124
+ */
125
+ private listeners_;
126
+ /**
127
+ * List of blocks that should always be disabled.
128
+ */
129
+ private permanentlyDisabled_;
130
+ protected readonly tabWidth_: number;
131
+ /**
132
+ * The target workspace.
133
+ *
134
+ * @internal
135
+ */
136
+ targetWorkspace: WorkspaceSvg;
137
+ /**
138
+ * A list of blocks that can be reused.
139
+ */
140
+ private recycledBlocks_;
141
+ /**
142
+ * Does the flyout automatically close when a block is created?
143
+ */
144
+ autoClose: boolean;
145
+ /**
146
+ * Whether the flyout is visible.
147
+ */
148
+ private isVisible_;
149
+ /**
150
+ * Whether the workspace containing this flyout is visible.
151
+ */
152
+ private containerVisible_;
153
+ protected rectMap_: WeakMap<BlockSvg, SVGElement>;
154
+ /**
155
+ * Corner radius of the flyout background.
156
+ */
157
+ readonly CORNER_RADIUS: number;
158
+ readonly MARGIN: number;
159
+ readonly GAP_X: number;
160
+ readonly GAP_Y: number;
161
+ /**
162
+ * Top/bottom padding between scrollbar and edge of flyout background.
163
+ */
164
+ readonly SCROLLBAR_MARGIN: number;
165
+ /**
166
+ * Width of flyout.
167
+ */
168
+ protected width_: number;
169
+ /**
170
+ * Height of flyout.
171
+ */
172
+ protected height_: number;
173
+ /**
174
+ * Range of a drag angle from a flyout considered "dragging toward
175
+ * workspace". Drags that are within the bounds of this many degrees from
176
+ * the orthogonal line to the flyout edge are considered to be "drags toward
177
+ * the workspace".
178
+ *
179
+ * @example
180
+ *
181
+ * ```
182
+ * Flyout Edge Workspace
183
+ * [block] / <-within this angle, drags "toward workspace" |
184
+ * [block] ---- orthogonal to flyout boundary ---- |
185
+ * [block] \ |
186
+ * ```
187
+ *
188
+ * The angle is given in degrees from the orthogonal.
189
+ *
190
+ * This is used to know when to create a new block and when to scroll the
191
+ * flyout. Setting it to 360 means that all drags create a new block.
192
+ */
193
+ protected dragAngleRange_: number;
194
+ /**
195
+ * The path around the background of the flyout, which will be filled with a
196
+ * background colour.
197
+ */
198
+ protected svgBackground_: SVGPathElement | null;
199
+ /**
200
+ * The root SVG group for the button or label.
201
+ */
202
+ protected svgGroup_: SVGGElement | null;
203
+ /**
204
+ * @param workspaceOptions Dictionary of options for the
205
+ * workspace.
206
+ */
207
+ constructor(workspaceOptions: Options);
208
+ /**
209
+ * Creates the flyout's DOM. Only needs to be called once. The flyout can
210
+ * either exist as its own SVG element or be a g element nested inside a
211
+ * separate SVG element.
212
+ *
213
+ * @param tagName The type of tag to
214
+ * put the flyout in. This should be <svg> or <g>.
215
+ * @returns The flyout's SVG group.
216
+ */
217
+ createDom(tagName: string | Svg<SVGSVGElement> | Svg<SVGGElement>): SVGElement;
218
+ /**
219
+ * Initializes the flyout.
220
+ *
221
+ * @param targetWorkspace The workspace in which to
222
+ * create new blocks.
223
+ */
224
+ init(targetWorkspace: WorkspaceSvg): void;
225
+ /**
226
+ * Dispose of this flyout.
227
+ * Unlink from all DOM elements to prevent memory leaks.
228
+ *
229
+ * @suppress {checkTypes}
230
+ */
231
+ dispose(): void;
232
+ /**
233
+ * Get the width of the flyout.
234
+ *
235
+ * @returns The width of the flyout.
236
+ */
237
+ getWidth(): number;
238
+ /**
239
+ * Get the height of the flyout.
240
+ *
241
+ * @returns The width of the flyout.
242
+ */
243
+ getHeight(): number;
244
+ /**
245
+ * Get the scale (zoom level) of the flyout. By default,
246
+ * this matches the target workspace scale, but this can be overridden.
247
+ *
248
+ * @returns Flyout workspace scale.
249
+ */
250
+ getFlyoutScale(): number;
251
+ /**
252
+ * Get the workspace inside the flyout.
253
+ *
254
+ * @returns The workspace inside the flyout.
255
+ * @internal
256
+ */
257
+ getWorkspace(): WorkspaceSvg;
258
+ /**
259
+ * Is the flyout visible?
260
+ *
261
+ * @returns True if visible.
262
+ */
263
+ isVisible(): boolean;
264
+ /**
265
+ * Set whether the flyout is visible. A value of true does not necessarily
266
+ * mean that the flyout is shown. It could be hidden because its container is
267
+ * hidden.
268
+ *
269
+ * @param visible True if visible.
270
+ */
271
+ setVisible(visible: boolean): void;
272
+ /**
273
+ * Set whether this flyout's container is visible.
274
+ *
275
+ * @param visible Whether the container is visible.
276
+ */
277
+ setContainerVisible(visible: boolean): void;
278
+ /**
279
+ * Update the display property of the flyout based whether it thinks it should
280
+ * be visible and whether its containing workspace is visible.
281
+ */
282
+ private updateDisplay_;
283
+ /**
284
+ * Update the view based on coordinates calculated in position().
285
+ *
286
+ * @param width The computed width of the flyout's SVG group
287
+ * @param height The computed height of the flyout's SVG group.
288
+ * @param x The computed x origin of the flyout's SVG group.
289
+ * @param y The computed y origin of the flyout's SVG group.
290
+ */
291
+ protected positionAt_(width: number, height: number, x: number, y: number): void;
292
+ /**
293
+ * Hide and empty the flyout.
294
+ */
295
+ hide(): void;
296
+ /**
297
+ * Show and populate the flyout.
298
+ *
299
+ * @param flyoutDef Contents to display
300
+ * in the flyout. This is either an array of Nodes, a NodeList, a
301
+ * toolbox definition, or a string with the name of the dynamic category.
302
+ */
303
+ show(flyoutDef: toolbox.FlyoutDefinition | string): void;
304
+ /**
305
+ * Create the contents array and gaps array necessary to create the layout for
306
+ * the flyout.
307
+ *
308
+ * @param parsedContent The array
309
+ * of objects to show in the flyout.
310
+ * @returns The list of contents and gaps needed to lay out the flyout.
311
+ */
312
+ private createFlyoutInfo_;
313
+ /**
314
+ * Gets the flyout definition for the dynamic category.
315
+ *
316
+ * @param categoryName The name of the dynamic category.
317
+ * @returns The definition of the
318
+ * flyout in one of its many forms.
319
+ */
320
+ private getDynamicCategoryContents_;
321
+ /**
322
+ * Creates a flyout button or a flyout label.
323
+ *
324
+ * @param btnInfo The object holding information about a button or a label.
325
+ * @param isLabel True if the button is a label, false otherwise.
326
+ * @returns The object used to display the button in the
327
+ * flyout.
328
+ */
329
+ private createButton_;
330
+ /**
331
+ * Create a block from the xml and permanently disable any blocks that were
332
+ * defined as disabled.
333
+ *
334
+ * @param blockInfo The info of the block.
335
+ * @returns The block created from the blockInfo.
336
+ */
337
+ private createFlyoutBlock_;
338
+ /**
339
+ * Returns a block from the array of recycled blocks with the given type, or
340
+ * undefined if one cannot be found.
341
+ *
342
+ * @param blockType The type of the block to try to recycle.
343
+ * @returns The recycled block, or undefined if
344
+ * one could not be recycled.
345
+ */
346
+ private getRecycledBlock_;
347
+ /**
348
+ * Adds a gap in the flyout based on block info.
349
+ *
350
+ * @param blockInfo Information about a block.
351
+ * @param gaps The list of gaps between items in the flyout.
352
+ * @param defaultGap The default gap between one element and the
353
+ * next.
354
+ */
355
+ private addBlockGap_;
356
+ /**
357
+ * Add the necessary gap in the flyout for a separator.
358
+ *
359
+ * @param sepInfo The object holding
360
+ * information about a separator.
361
+ * @param gaps The list gaps between items in the flyout.
362
+ * @param defaultGap The default gap between the button and next
363
+ * element.
364
+ */
365
+ private addSeparatorGap_;
366
+ /**
367
+ * Delete blocks, mats and buttons from a previous showing of the flyout.
368
+ */
369
+ private clearOldBlocks_;
370
+ /**
371
+ * Empties all of the recycled blocks, properly disposing of them.
372
+ */
373
+ private emptyRecycledBlocks_;
374
+ /**
375
+ * Returns whether the given block can be recycled or not.
376
+ *
377
+ * @param _block The block to check for recyclability.
378
+ * @returns True if the block can be recycled. False otherwise.
379
+ */
380
+ protected blockIsRecyclable_(_block: BlockSvg): boolean;
381
+ /**
382
+ * Puts a previously created block into the recycle bin and moves it to the
383
+ * top of the workspace. Used during large workspace swaps to limit the number
384
+ * of new DOM elements we need to create.
385
+ *
386
+ * @param block The block to recycle.
387
+ */
388
+ private recycleBlock_;
389
+ /**
390
+ * Add listeners to a block that has been added to the flyout.
391
+ *
392
+ * @param root The root node of the SVG group the block is in.
393
+ * @param block The block to add listeners for.
394
+ * @param rect The invisible rectangle under the block that acts
395
+ * as a mat for that block.
396
+ */
397
+ protected addBlockListeners_(root: SVGElement, block: BlockSvg, rect: SVGElement): void;
398
+ /**
399
+ * Handle a mouse-down on an SVG block in a non-closing flyout.
400
+ *
401
+ * @param block The flyout block to copy.
402
+ * @returns Function to call when block is clicked.
403
+ */
404
+ private blockMouseDown_;
405
+ /**
406
+ * Mouse down on the flyout background. Start a vertical scroll drag.
407
+ *
408
+ * @param e Mouse down event.
409
+ */
410
+ private onMouseDown_;
411
+ /**
412
+ * Does this flyout allow you to create a new instance of the given block?
413
+ * Used for deciding if a block can be "dragged out of" the flyout.
414
+ *
415
+ * @param block The block to copy from the flyout.
416
+ * @returns True if you can create a new instance of the block, false
417
+ * otherwise.
418
+ * @internal
419
+ */
420
+ isBlockCreatable(block: BlockSvg): boolean;
421
+ /**
422
+ * Create a copy of this block on the workspace.
423
+ *
424
+ * @param originalBlock The block to copy from the flyout.
425
+ * @returns The newly created block.
426
+ * @throws {Error} if something went wrong with deserialization.
427
+ * @internal
428
+ */
429
+ createBlock(originalBlock: BlockSvg): BlockSvg;
430
+ /**
431
+ * Initialize the given button: move it to the correct location,
432
+ * add listeners, etc.
433
+ *
434
+ * @param button The button to initialize and place.
435
+ * @param x The x position of the cursor during this layout pass.
436
+ * @param y The y position of the cursor during this layout pass.
437
+ */
438
+ protected initFlyoutButton_(button: FlyoutButton, x: number, y: number): void;
439
+ /**
440
+ * Create and place a rectangle corresponding to the given block.
441
+ *
442
+ * @param block The block to associate the rect to.
443
+ * @param x The x position of the cursor during this layout pass.
444
+ * @param y The y position of the cursor during this layout pass.
445
+ * @param blockHW The height and width of
446
+ * the block.
447
+ * @param index The index into the mats list where this rect should
448
+ * be placed.
449
+ * @returns Newly created SVG element for the rectangle behind
450
+ * the block.
451
+ */
452
+ protected createRect_(block: BlockSvg, x: number, y: number, blockHW: {
453
+ height: number;
454
+ width: number;
455
+ }, index: number): SVGElement;
456
+ /**
457
+ * Move a rectangle to sit exactly behind a block, taking into account tabs,
458
+ * hats, and any other protrusions we invent.
459
+ *
460
+ * @param rect The rectangle to move directly behind the block.
461
+ * @param block The block the rectangle should be behind.
462
+ */
463
+ protected moveRectToBlock_(rect: SVGElement, block: BlockSvg): void;
464
+ /**
465
+ * Filter the blocks on the flyout to disable the ones that are above the
466
+ * capacity limit. For instance, if the user may only place two more blocks
467
+ * on the workspace, an "a + b" block that has two shadow blocks would be
468
+ * disabled.
469
+ */
470
+ private filterForCapacity_;
471
+ /**
472
+ * Reflow blocks and their mats.
473
+ */
474
+ reflow(): void;
475
+ /**
476
+ * @returns True if this flyout may be scrolled with a scrollbar or
477
+ * by dragging.
478
+ * @internal
479
+ */
480
+ isScrollable(): boolean;
481
+ /**
482
+ * Copy a block from the flyout to the workspace and position it correctly.
483
+ *
484
+ * @param oldBlock The flyout block to copy.
485
+ * @returns The new block in the main workspace.
486
+ */
487
+ private placeNewBlock_;
488
+ /**
489
+ * Positions a block on the target workspace.
490
+ *
491
+ * @param oldBlock The flyout block being copied.
492
+ * @param block The block to posiiton.
493
+ */
494
+ private positionNewBlock_;
495
+ }
496
+ /**
497
+ * A flyout content item.
498
+ */
499
+ export interface FlyoutItem {
500
+ type: FlyoutItemType;
501
+ button?: FlyoutButton | undefined;
502
+ block?: BlockSvg | undefined;
503
+ }
504
+ export {};
505
+ //# sourceMappingURL=flyout_base.d.ts.map
@@ -0,0 +1,88 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2016 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Coordinate } from './utils/coordinate.js';
7
+ import type * as toolbox from './utils/toolbox.js';
8
+ import type { WorkspaceSvg } from './workspace_svg.js';
9
+ /**
10
+ * Class for a button or label in the flyout.
11
+ *
12
+ * @alias Blockly.FlyoutButton
13
+ */
14
+ export declare class FlyoutButton {
15
+ private readonly workspace;
16
+ private readonly targetWorkspace;
17
+ private readonly isLabel_;
18
+ /** The horizontal margin around the text in the button. */
19
+ static TEXT_MARGIN_X: number;
20
+ /** The vertical margin around the text in the button. */
21
+ static TEXT_MARGIN_Y: number;
22
+ private readonly text_;
23
+ private readonly position_;
24
+ private readonly callbackKey_;
25
+ private readonly cssClass_;
26
+ /** Mouse up event data. */
27
+ private onMouseUpWrapper_;
28
+ info: toolbox.ButtonOrLabelInfo;
29
+ /** The width of the button's rect. */
30
+ width: number;
31
+ /** The height of the button's rect. */
32
+ height: number;
33
+ /** The root SVG group for the button or label. */
34
+ private svgGroup_;
35
+ /** The SVG element with the text of the label or button. */
36
+ private svgText_;
37
+ /**
38
+ * @param workspace The workspace in which to place this button.
39
+ * @param targetWorkspace The flyout's target workspace.
40
+ * @param json The JSON specifying the label/button.
41
+ * @param isLabel_ Whether this button should be styled as a label.
42
+ * @internal
43
+ */
44
+ constructor(workspace: WorkspaceSvg, targetWorkspace: WorkspaceSvg, json: toolbox.ButtonOrLabelInfo, isLabel_: boolean);
45
+ /**
46
+ * Create the button elements.
47
+ *
48
+ * @returns The button's SVG group.
49
+ */
50
+ createDom(): SVGElement;
51
+ /** Correctly position the flyout button and make it visible. */
52
+ show(): void;
53
+ /** Update SVG attributes to match internal state. */
54
+ private updateTransform_;
55
+ /**
56
+ * Move the button to the given x, y coordinates.
57
+ *
58
+ * @param x The new x coordinate.
59
+ * @param y The new y coordinate.
60
+ */
61
+ moveTo(x: number, y: number): void;
62
+ /** @returns Whether or not the button is a label. */
63
+ isLabel(): boolean;
64
+ /**
65
+ * Location of the button.
66
+ *
67
+ * @returns x, y coordinates.
68
+ * @internal
69
+ */
70
+ getPosition(): Coordinate;
71
+ /** @returns Text of the button. */
72
+ getButtonText(): string;
73
+ /**
74
+ * Get the button's target workspace.
75
+ *
76
+ * @returns The target workspace of the flyout where this button resides.
77
+ */
78
+ getTargetWorkspace(): WorkspaceSvg;
79
+ /** Dispose of this button. */
80
+ dispose(): void;
81
+ /**
82
+ * Do something when the button is clicked.
83
+ *
84
+ * @param e Mouse up event.
85
+ */
86
+ private onMouseUp_;
87
+ }
88
+ //# sourceMappingURL=flyout_button.d.ts.map
@@ -0,0 +1,90 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2017 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Flyout, FlyoutItem } from './flyout_base.js';
7
+ import type { Options } from './options.js';
8
+ import type { Coordinate } from './utils/coordinate.js';
9
+ import { Rect } from './utils/rect.js';
10
+ /**
11
+ * Class for a flyout.
12
+ *
13
+ * @alias Blockly.HorizontalFlyout
14
+ */
15
+ export declare class HorizontalFlyout extends Flyout {
16
+ horizontalLayout: boolean;
17
+ /** @param workspaceOptions Dictionary of options for the workspace. */
18
+ constructor(workspaceOptions: Options);
19
+ /**
20
+ * Sets the translation of the flyout to match the scrollbars.
21
+ *
22
+ * @param xyRatio Contains a y property which is a float between 0 and 1
23
+ * specifying the degree of scrolling and a similar x property.
24
+ */
25
+ protected setMetrics_(xyRatio: {
26
+ x: number;
27
+ y: number;
28
+ }): void;
29
+ /**
30
+ * Calculates the x coordinate for the flyout position.
31
+ *
32
+ * @returns X coordinate.
33
+ */
34
+ getX(): number;
35
+ /**
36
+ * Calculates the y coordinate for the flyout position.
37
+ *
38
+ * @returns Y coordinate.
39
+ */
40
+ getY(): number;
41
+ /** Move the flyout to the edge of the workspace. */
42
+ position(): void;
43
+ /**
44
+ * Create and set the path for the visible boundaries of the flyout.
45
+ *
46
+ * @param width The width of the flyout, not including the rounded corners.
47
+ * @param height The height of the flyout, not including rounded corners.
48
+ */
49
+ private setBackgroundPath_;
50
+ /** Scroll the flyout to the top. */
51
+ scrollToStart(): void;
52
+ /**
53
+ * Scroll the flyout.
54
+ *
55
+ * @param e Mouse wheel scroll event.
56
+ */
57
+ protected wheel_(e: WheelEvent): void;
58
+ /**
59
+ * Lay out the blocks in the flyout.
60
+ *
61
+ * @param contents The blocks and buttons to lay out.
62
+ * @param gaps The visible gaps between blocks.
63
+ */
64
+ protected layout_(contents: FlyoutItem[], gaps: number[]): void;
65
+ /**
66
+ * Determine if a drag delta is toward the workspace, based on the position
67
+ * and orientation of the flyout. This is used in determineDragIntention_ to
68
+ * determine if a new block should be created or if the flyout should scroll.
69
+ *
70
+ * @param currentDragDeltaXY How far the pointer has moved from the position
71
+ * at mouse down, in pixel units.
72
+ * @returns True if the drag is toward the workspace.
73
+ * @internal
74
+ */
75
+ isDragTowardWorkspace(currentDragDeltaXY: Coordinate): boolean;
76
+ /**
77
+ * Returns the bounding rectangle of the drag target area in pixel units
78
+ * relative to viewport.
79
+ *
80
+ * @returns The component's bounding box. Null if drag target area should be
81
+ * ignored.
82
+ */
83
+ getClientRect(): Rect | null;
84
+ /**
85
+ * Compute height of flyout. toolbox.Position mat under each block.
86
+ * For RTL: Lay out the blocks right-aligned.
87
+ */
88
+ protected reflowInternal_(): void;
89
+ }
90
+ //# sourceMappingURL=flyout_horizontal.d.ts.map