@cp949/phyx-blockly 12.5.1-p1 → 13.4.0-patch.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 (462) hide show
  1. package/README.md +7 -2
  2. package/blockly.min.js +2280 -2126
  3. package/blockly.mjs +13 -5
  4. package/blockly_compressed.js +1767 -1794
  5. package/blockly_compressed.js.map +1 -1
  6. package/blocks_compressed.js +151 -177
  7. package/blocks_compressed.js.map +1 -1
  8. package/core/block.d.ts +41 -19
  9. package/core/block_aria_composer.d.ts +158 -0
  10. package/core/block_svg.d.ts +88 -35
  11. package/core/blockly.d.ts +22 -22
  12. package/core/bubbles/bubble.d.ts +59 -5
  13. package/core/bubbles/mini_workspace_bubble.d.ts +11 -3
  14. package/core/bubbles/text_bubble.d.ts +7 -4
  15. package/core/bubbles/textinput_bubble.d.ts +11 -1
  16. package/core/clipboard/block_paster.d.ts +5 -5
  17. package/core/clipboard/registry.d.ts +1 -1
  18. package/core/clipboard/workspace_comment_paster.d.ts +4 -4
  19. package/core/clipboard.d.ts +1 -1
  20. package/core/comments/collapse_comment_bar_button.d.ts +7 -4
  21. package/core/comments/comment_bar_button.d.ts +15 -1
  22. package/core/comments/comment_editor.d.ts +21 -6
  23. package/core/comments/comment_view.d.ts +5 -5
  24. package/core/comments/delete_comment_bar_button.d.ts +7 -4
  25. package/core/comments/rendered_workspace_comment.d.ts +17 -12
  26. package/core/comments/workspace_comment.d.ts +2 -2
  27. package/core/common.d.ts +10 -3
  28. package/core/component_manager.d.ts +2 -0
  29. package/core/config.d.ts +37 -11
  30. package/core/connection_db.d.ts +40 -0
  31. package/core/contextmenu_registry.d.ts +12 -2
  32. package/core/css.d.ts +2 -1
  33. package/core/dragging/block_drag_strategy.d.ts +196 -19
  34. package/core/dragging/bubble_drag_strategy.d.ts +5 -4
  35. package/core/dragging/comment_drag_strategy.d.ts +4 -4
  36. package/core/dragging/dragger.d.ts +14 -14
  37. package/core/events/events_block_base.d.ts +2 -1
  38. package/core/events/events_block_change.d.ts +3 -2
  39. package/core/events/events_block_create.d.ts +3 -5
  40. package/core/events/events_block_delete.d.ts +3 -5
  41. package/core/events/events_block_drag.d.ts +2 -2
  42. package/core/events/events_block_field_intermediate_change.d.ts +3 -2
  43. package/core/events/events_block_move.d.ts +2 -1
  44. package/core/events/events_click.d.ts +2 -2
  45. package/core/events/events_comment_base.d.ts +2 -1
  46. package/core/events/events_comment_change.d.ts +2 -1
  47. package/core/events/events_comment_collapse.d.ts +3 -2
  48. package/core/events/events_comment_create.d.ts +2 -4
  49. package/core/events/events_comment_delete.d.ts +2 -4
  50. package/core/events/events_comment_drag.d.ts +2 -2
  51. package/core/events/events_comment_move.d.ts +2 -1
  52. package/core/events/events_comment_resize.d.ts +2 -1
  53. package/core/events/events_selected.d.ts +1 -1
  54. package/core/events/events_theme_change.d.ts +1 -1
  55. package/core/events/events_toolbox_item_select.d.ts +1 -1
  56. package/core/events/events_trashcan_open.d.ts +1 -1
  57. package/core/events/events_var_base.d.ts +2 -1
  58. package/core/events/events_var_create.d.ts +2 -1
  59. package/core/events/events_var_delete.d.ts +2 -1
  60. package/core/events/events_var_rename.d.ts +2 -1
  61. package/core/events/events_var_type_change.d.ts +2 -1
  62. package/core/events/events_viewport.d.ts +1 -1
  63. package/core/field.d.ts +120 -13
  64. package/core/field_checkbox.d.ts +31 -4
  65. package/core/field_dropdown.d.ts +68 -4
  66. package/core/field_image.d.ts +54 -2
  67. package/core/field_input.d.ts +38 -13
  68. package/core/field_label.d.ts +31 -2
  69. package/core/field_label_serializable.d.ts +3 -2
  70. package/core/field_number.d.ts +14 -3
  71. package/core/field_textinput.d.ts +15 -5
  72. package/core/field_variable.d.ts +16 -6
  73. package/core/flyout_base.d.ts +12 -126
  74. package/core/flyout_button.d.ts +11 -0
  75. package/core/flyout_horizontal.d.ts +0 -11
  76. package/core/flyout_metrics_manager.d.ts +2 -1
  77. package/core/flyout_vertical.d.ts +0 -11
  78. package/core/focus_manager.d.ts +52 -2
  79. package/core/generator.d.ts +2 -2
  80. package/core/gesture.d.ts +2 -21
  81. package/core/grid.d.ts +2 -2
  82. package/core/hints.d.ts +78 -0
  83. package/core/icons/comment_icon.d.ts +8 -0
  84. package/core/icons/icon.d.ts +20 -0
  85. package/core/icons/icon_types.d.ts +4 -4
  86. package/core/icons/mutator_icon.d.ts +8 -0
  87. package/core/icons/registry.d.ts +1 -1
  88. package/core/icons/warning_icon.d.ts +8 -0
  89. package/core/inputs/input.d.ts +58 -2
  90. package/core/insertion_marker.d.ts +54 -0
  91. package/core/insertion_marker_previewer.d.ts +20 -4
  92. package/core/interfaces/i_bounded_element.d.ts +7 -0
  93. package/core/interfaces/i_bubble.d.ts +3 -2
  94. package/core/interfaces/i_collapsible_toolbox_item.d.ts +5 -1
  95. package/core/interfaces/i_comment_icon.d.ts +6 -6
  96. package/core/interfaces/i_drag_target.d.ts +2 -2
  97. package/core/interfaces/i_draggable.d.ts +22 -17
  98. package/core/interfaces/i_dragger.d.ts +19 -10
  99. package/core/interfaces/i_flyout.d.ts +1 -31
  100. package/core/interfaces/i_flyout_inflater.d.ts +9 -0
  101. package/core/interfaces/i_focusable_node.d.ts +8 -0
  102. package/core/interfaces/i_focusable_tree.d.ts +8 -0
  103. package/core/interfaces/i_icon.d.ts +1 -1
  104. package/core/interfaces/i_json_block_definition.d.ts +113 -0
  105. package/core/interfaces/i_keyboard_accessible.d.ts +1 -1
  106. package/core/interfaces/i_navigation_policy.d.ts +12 -0
  107. package/core/interfaces/i_parameter_model.d.ts +2 -2
  108. package/core/interfaces/i_paster.d.ts +3 -3
  109. package/core/interfaces/i_procedure_block.d.ts +1 -1
  110. package/core/interfaces/i_procedure_map.d.ts +1 -1
  111. package/core/interfaces/i_procedure_model.d.ts +2 -2
  112. package/core/interfaces/i_selectable.d.ts +3 -3
  113. package/core/interfaces/i_selectable_toolbox_item.d.ts +3 -3
  114. package/core/interfaces/i_toolbox.d.ts +4 -0
  115. package/core/interfaces/i_toolbox_item.d.ts +6 -0
  116. package/core/interfaces/i_variable_backed_parameter_model.d.ts +1 -1
  117. package/core/keyboard_nav/keyboard_mover.d.ts +151 -0
  118. package/core/keyboard_nav/move_indicator.d.ts +35 -0
  119. package/core/keyboard_nav/{block_navigation_policy.d.ts → navigation_policies/block_navigation_policy.d.ts} +17 -25
  120. package/core/keyboard_nav/navigation_policies/bubble_navigation_policy.d.ts +63 -0
  121. package/core/keyboard_nav/{comment_bar_button_navigation_policy.d.ts → navigation_policies/comment_bar_button_navigation_policy.d.ts} +10 -3
  122. package/core/keyboard_nav/{comment_editor_navigation_policy.d.ts → navigation_policies/comment_editor_navigation_policy.d.ts} +10 -3
  123. package/core/keyboard_nav/{connection_navigation_policy.d.ts → navigation_policies/connection_navigation_policy.d.ts} +11 -16
  124. package/core/keyboard_nav/{field_navigation_policy.d.ts → navigation_policies/field_navigation_policy.d.ts} +10 -3
  125. package/core/keyboard_nav/{flyout_button_navigation_policy.d.ts → navigation_policies/flyout_button_navigation_policy.d.ts} +10 -3
  126. package/core/keyboard_nav/{flyout_separator_navigation_policy.d.ts → navigation_policies/flyout_separator_navigation_policy.d.ts} +9 -3
  127. package/core/keyboard_nav/{icon_navigation_policy.d.ts → navigation_policies/icon_navigation_policy.d.ts} +12 -5
  128. package/core/keyboard_nav/navigation_policies/toolbox_item_navigation_policy.d.ts +64 -0
  129. package/core/keyboard_nav/{workspace_comment_navigation_policy.d.ts → navigation_policies/workspace_comment_navigation_policy.d.ts} +14 -9
  130. package/core/keyboard_nav/{workspace_navigation_policy.d.ts → navigation_policies/workspace_navigation_policy.d.ts} +10 -3
  131. package/core/keyboard_nav/navigators/flyout_navigator.d.ts +63 -0
  132. package/core/keyboard_nav/navigators/navigator.d.ts +237 -0
  133. package/core/keyboard_nav/navigators/toolbox_navigator.d.ts +70 -0
  134. package/core/keyboard_navigation_controller.d.ts +12 -0
  135. package/core/layer_manager.d.ts +3 -3
  136. package/core/menu.d.ts +3 -0
  137. package/core/menuitem.d.ts +8 -1
  138. package/core/observable_procedure_map.d.ts +1 -1
  139. package/core/options.d.ts +4 -4
  140. package/core/procedures.d.ts +5 -8
  141. package/core/registry.d.ts +0 -2
  142. package/core/render_management.d.ts +1 -1
  143. package/core/rendered_connection.d.ts +33 -6
  144. package/core/renderers/common/constants.d.ts +4 -7
  145. package/core/renderers/common/i_path_object.d.ts +8 -0
  146. package/core/renderers/common/info.d.ts +1 -1
  147. package/core/renderers/common/path_object.d.ts +7 -16
  148. package/core/renderers/common/renderer.d.ts +3 -3
  149. package/core/renderers/zelos/constants.d.ts +1 -14
  150. package/core/renderers/zelos/drawer.d.ts +1 -1
  151. package/core/renderers/zelos/info.d.ts +10 -1
  152. package/core/renderers/zelos/measurables/bottom_row.d.ts +1 -1
  153. package/core/renderers/zelos/measurables/top_row.d.ts +1 -1
  154. package/core/renderers/zelos/path_object.d.ts +0 -3
  155. package/core/renderers/zelos/renderer.d.ts +8 -0
  156. package/core/serialization/procedures.d.ts +2 -2
  157. package/core/serialization/workspace_comments.d.ts +2 -2
  158. package/core/shortcut_items.d.ts +167 -2
  159. package/core/shortcut_registry.d.ts +9 -3
  160. package/core/theme.d.ts +0 -2
  161. package/core/toast.d.ts +2 -11
  162. package/core/toolbox/category.d.ts +11 -0
  163. package/core/toolbox/collapsible_category.d.ts +2 -0
  164. package/core/toolbox/separator.d.ts +4 -0
  165. package/core/toolbox/toolbox.d.ts +17 -33
  166. package/core/toolbox/toolbox_item.d.ts +4 -0
  167. package/core/tooltip.d.ts +13 -2
  168. package/core/trashcan.d.ts +16 -38
  169. package/core/utils/aria.d.ts +259 -28
  170. package/core/utils/dom.d.ts +1 -1
  171. package/core/utils/focusable_tree_traverser.d.ts +2 -2
  172. package/core/utils/shortcut_formatting.d.ts +22 -0
  173. package/core/utils/style.d.ts +14 -0
  174. package/core/utils/toolbox.d.ts +0 -8
  175. package/core/utils/useragent.d.ts +1 -0
  176. package/core/variable_map.d.ts +1 -41
  177. package/core/variable_model.d.ts +1 -7
  178. package/core/variables.d.ts +7 -8
  179. package/core/variables_dynamic.d.ts +4 -6
  180. package/core/workspace.d.ts +7 -85
  181. package/core/workspace_audio.d.ts +36 -7
  182. package/core/workspace_focus_target.d.ts +51 -0
  183. package/core/workspace_svg.d.ts +79 -60
  184. package/core/xml.d.ts +1 -1
  185. package/core/zoom_controls.d.ts +6 -59
  186. package/dart_compressed.js +123 -164
  187. package/dart_compressed.js.map +1 -1
  188. package/index.mjs +13 -5
  189. package/javascript_compressed.js +96 -147
  190. package/javascript_compressed.js.map +1 -1
  191. package/lua_compressed.js +142 -178
  192. package/lua_compressed.js.map +1 -1
  193. package/media/drop.mp3 +0 -0
  194. package/msg/ab.js +265 -7
  195. package/msg/ab.mjs +259 -1
  196. package/msg/ace.js +266 -8
  197. package/msg/ace.mjs +259 -1
  198. package/msg/af.js +265 -7
  199. package/msg/af.mjs +259 -1
  200. package/msg/am.js +266 -8
  201. package/msg/am.mjs +259 -1
  202. package/msg/ar.js +283 -25
  203. package/msg/ar.mjs +259 -1
  204. package/msg/ast.js +266 -8
  205. package/msg/ast.mjs +259 -1
  206. package/msg/az.js +266 -8
  207. package/msg/az.mjs +259 -1
  208. package/msg/ba.js +265 -7
  209. package/msg/ba.mjs +259 -1
  210. package/msg/bcc.js +265 -7
  211. package/msg/bcc.mjs +259 -1
  212. package/msg/be-tarask.js +297 -39
  213. package/msg/be-tarask.mjs +259 -1
  214. package/msg/be.js +266 -8
  215. package/msg/be.mjs +259 -1
  216. package/msg/bg.js +282 -24
  217. package/msg/bg.mjs +259 -1
  218. package/msg/bn.js +266 -8
  219. package/msg/bn.mjs +259 -1
  220. package/msg/br.js +266 -8
  221. package/msg/br.mjs +259 -1
  222. package/msg/bs.js +265 -7
  223. package/msg/bs.mjs +259 -1
  224. package/msg/ca.js +265 -7
  225. package/msg/ca.mjs +259 -1
  226. package/msg/ce.js +265 -7
  227. package/msg/ce.mjs +259 -1
  228. package/msg/cs.js +290 -32
  229. package/msg/cs.mjs +259 -1
  230. package/msg/csb.js +723 -0
  231. package/msg/csb.mjs +704 -0
  232. package/msg/da.js +284 -26
  233. package/msg/da.mjs +259 -1
  234. package/msg/de.js +265 -7
  235. package/msg/de.mjs +259 -1
  236. package/msg/diq.js +267 -9
  237. package/msg/diq.mjs +259 -1
  238. package/msg/dtp.js +265 -7
  239. package/msg/dtp.mjs +259 -1
  240. package/msg/dty.js +265 -7
  241. package/msg/dty.mjs +259 -1
  242. package/msg/ee.js +265 -7
  243. package/msg/ee.mjs +259 -1
  244. package/msg/el.js +290 -32
  245. package/msg/el.mjs +259 -1
  246. package/msg/en-gb.js +266 -8
  247. package/msg/en-gb.mjs +259 -1
  248. package/msg/en.js +266 -8
  249. package/msg/en.mjs +259 -1
  250. package/msg/eo.js +265 -7
  251. package/msg/eo.mjs +259 -1
  252. package/msg/es.js +282 -24
  253. package/msg/es.mjs +259 -1
  254. package/msg/et.js +265 -7
  255. package/msg/et.mjs +259 -1
  256. package/msg/eu.js +265 -7
  257. package/msg/eu.mjs +259 -1
  258. package/msg/fa.js +266 -8
  259. package/msg/fa.mjs +259 -1
  260. package/msg/fi.js +284 -26
  261. package/msg/fi.mjs +259 -1
  262. package/msg/fo.js +265 -7
  263. package/msg/fo.mjs +259 -1
  264. package/msg/fr.js +283 -25
  265. package/msg/fr.mjs +259 -1
  266. package/msg/frr.js +266 -8
  267. package/msg/frr.mjs +259 -1
  268. package/msg/ga.js +723 -0
  269. package/msg/{cdo.mjs → ga.mjs} +261 -3
  270. package/msg/gl.js +290 -32
  271. package/msg/gl.mjs +259 -1
  272. package/msg/gn.js +266 -8
  273. package/msg/gn.mjs +259 -1
  274. package/msg/gor.js +265 -7
  275. package/msg/gor.mjs +259 -1
  276. package/msg/ha.js +265 -7
  277. package/msg/ha.mjs +259 -1
  278. package/msg/he.js +313 -55
  279. package/msg/he.mjs +259 -1
  280. package/msg/hi.js +265 -7
  281. package/msg/hi.mjs +259 -1
  282. package/msg/hr.js +265 -7
  283. package/msg/hr.mjs +259 -1
  284. package/msg/hrx.js +265 -7
  285. package/msg/hrx.mjs +259 -1
  286. package/msg/hsb.js +265 -7
  287. package/msg/hsb.mjs +259 -1
  288. package/msg/hu.js +270 -12
  289. package/msg/hu.mjs +259 -1
  290. package/msg/hy.js +265 -7
  291. package/msg/hy.mjs +259 -1
  292. package/msg/ia.js +304 -46
  293. package/msg/ia.mjs +259 -1
  294. package/msg/id.js +489 -231
  295. package/msg/id.mjs +259 -1
  296. package/msg/ig.js +270 -12
  297. package/msg/ig.mjs +259 -1
  298. package/msg/inh.js +265 -7
  299. package/msg/inh.mjs +259 -1
  300. package/msg/is.js +265 -7
  301. package/msg/is.mjs +259 -1
  302. package/msg/it.js +289 -31
  303. package/msg/it.mjs +259 -1
  304. package/msg/ja.js +314 -56
  305. package/msg/ja.mjs +259 -1
  306. package/msg/ka.js +267 -9
  307. package/msg/ka.mjs +259 -1
  308. package/msg/kab.js +273 -15
  309. package/msg/kab.mjs +259 -1
  310. package/msg/kbd-cyrl.js +266 -8
  311. package/msg/kbd-cyrl.mjs +259 -1
  312. package/msg/km.js +265 -7
  313. package/msg/km.mjs +259 -1
  314. package/msg/kn.js +273 -15
  315. package/msg/kn.mjs +259 -1
  316. package/msg/ko.js +398 -140
  317. package/msg/ko.mjs +259 -1
  318. package/msg/krc.js +723 -0
  319. package/msg/krc.mjs +704 -0
  320. package/msg/ksh.js +266 -8
  321. package/msg/ksh.mjs +259 -1
  322. package/msg/ku-latn.js +266 -8
  323. package/msg/ku-latn.mjs +259 -1
  324. package/msg/ky.js +325 -67
  325. package/msg/ky.mjs +259 -1
  326. package/msg/la.js +266 -8
  327. package/msg/la.mjs +259 -1
  328. package/msg/lb.js +279 -21
  329. package/msg/lb.mjs +259 -1
  330. package/msg/lki.js +265 -7
  331. package/msg/lki.mjs +259 -1
  332. package/msg/lo.js +265 -7
  333. package/msg/lo.mjs +259 -1
  334. package/msg/lrc.js +265 -7
  335. package/msg/lrc.mjs +259 -1
  336. package/msg/lt.js +266 -8
  337. package/msg/lt.mjs +259 -1
  338. package/msg/lv.js +276 -18
  339. package/msg/lv.mjs +259 -1
  340. package/msg/mg.js +265 -7
  341. package/msg/mg.mjs +259 -1
  342. package/msg/mk.js +265 -7
  343. package/msg/mk.mjs +259 -1
  344. package/msg/ml.js +265 -7
  345. package/msg/ml.mjs +259 -1
  346. package/msg/mnw.js +265 -7
  347. package/msg/mnw.mjs +259 -1
  348. package/msg/ms.js +274 -16
  349. package/msg/ms.mjs +259 -1
  350. package/msg/mt.js +723 -0
  351. package/msg/{hak.mjs → mt.mjs} +261 -3
  352. package/msg/my.js +265 -7
  353. package/msg/my.mjs +259 -1
  354. package/msg/mzn.js +266 -8
  355. package/msg/mzn.mjs +259 -1
  356. package/msg/nb.js +265 -7
  357. package/msg/nb.mjs +259 -1
  358. package/msg/ne.js +275 -17
  359. package/msg/ne.mjs +259 -1
  360. package/msg/nl.js +336 -78
  361. package/msg/nl.mjs +259 -1
  362. package/msg/oc.js +265 -7
  363. package/msg/oc.mjs +259 -1
  364. package/msg/olo.js +266 -8
  365. package/msg/olo.mjs +259 -1
  366. package/msg/pa.js +273 -15
  367. package/msg/pa.mjs +259 -1
  368. package/msg/pl.js +282 -24
  369. package/msg/pl.mjs +259 -1
  370. package/msg/pms.js +283 -25
  371. package/msg/pms.mjs +259 -1
  372. package/msg/ps.js +296 -38
  373. package/msg/ps.mjs +259 -1
  374. package/msg/pt-br.js +282 -24
  375. package/msg/pt-br.mjs +259 -1
  376. package/msg/pt.js +282 -24
  377. package/msg/pt.mjs +259 -1
  378. package/msg/ro.js +299 -41
  379. package/msg/ro.mjs +259 -1
  380. package/msg/ru.js +283 -25
  381. package/msg/ru.mjs +259 -1
  382. package/msg/sc.js +265 -7
  383. package/msg/sc.mjs +259 -1
  384. package/msg/sco.js +266 -8
  385. package/msg/sco.mjs +259 -1
  386. package/msg/sd.js +265 -7
  387. package/msg/sd.mjs +259 -1
  388. package/msg/shn.js +265 -7
  389. package/msg/shn.mjs +259 -1
  390. package/msg/si.js +266 -8
  391. package/msg/si.mjs +259 -1
  392. package/msg/sk.js +283 -25
  393. package/msg/sk.mjs +259 -1
  394. package/msg/skr-arab.js +268 -10
  395. package/msg/skr-arab.mjs +259 -1
  396. package/msg/sl.js +283 -25
  397. package/msg/sl.mjs +259 -1
  398. package/msg/smn.js +267 -9
  399. package/msg/smn.mjs +259 -1
  400. package/msg/sq.js +273 -15
  401. package/msg/sq.mjs +259 -1
  402. package/msg/sr-latn.js +265 -7
  403. package/msg/sr-latn.mjs +259 -1
  404. package/msg/sr.js +266 -8
  405. package/msg/sr.mjs +259 -1
  406. package/msg/sv.js +282 -24
  407. package/msg/sv.mjs +259 -1
  408. package/msg/sw.js +266 -8
  409. package/msg/sw.mjs +259 -1
  410. package/msg/ta.js +283 -25
  411. package/msg/ta.mjs +259 -1
  412. package/msg/tcy.js +328 -70
  413. package/msg/tcy.mjs +259 -1
  414. package/msg/tdd.js +265 -7
  415. package/msg/tdd.mjs +259 -1
  416. package/msg/te.js +265 -7
  417. package/msg/te.mjs +259 -1
  418. package/msg/th.js +266 -8
  419. package/msg/th.mjs +259 -1
  420. package/msg/ti.js +265 -7
  421. package/msg/ti.mjs +259 -1
  422. package/msg/tl.js +265 -7
  423. package/msg/tl.mjs +259 -1
  424. package/msg/tlh.js +265 -7
  425. package/msg/tlh.mjs +259 -1
  426. package/msg/tr.js +284 -26
  427. package/msg/tr.mjs +259 -1
  428. package/msg/ug-arab.js +265 -7
  429. package/msg/ug-arab.mjs +259 -1
  430. package/msg/uk.js +291 -33
  431. package/msg/uk.mjs +259 -1
  432. package/msg/ur.js +265 -7
  433. package/msg/ur.mjs +259 -1
  434. package/msg/uz.js +298 -40
  435. package/msg/uz.mjs +259 -1
  436. package/msg/vi.js +284 -26
  437. package/msg/vi.mjs +259 -1
  438. package/msg/xmf.js +265 -7
  439. package/msg/xmf.mjs +259 -1
  440. package/msg/yo.js +265 -7
  441. package/msg/yo.mjs +259 -1
  442. package/msg/zgh.js +265 -7
  443. package/msg/zgh.mjs +259 -1
  444. package/msg/zh-hans.js +283 -25
  445. package/msg/zh-hans.mjs +259 -1
  446. package/msg/zh-hant.js +283 -25
  447. package/msg/zh-hant.mjs +259 -1
  448. package/package.json +53 -57
  449. package/php_compressed.js +150 -192
  450. package/php_compressed.js.map +1 -1
  451. package/python_compressed.js +85 -126
  452. package/python_compressed.js.map +1 -1
  453. package/core/flyout_navigator.d.ts +0 -11
  454. package/core/keyboard_nav/block_comment_navigation_policy.d.ts +0 -56
  455. package/core/keyboard_nav/flyout_navigation_policy.d.ts +0 -65
  456. package/core/keyboard_nav/line_cursor.d.ts +0 -187
  457. package/core/keyboard_nav/marker.d.ts +0 -53
  458. package/core/marker_manager.d.ts +0 -72
  459. package/core/navigator.d.ts +0 -65
  460. package/media/sprites.png +0 -0
  461. package/msg/cdo.js +0 -465
  462. package/msg/hak.js +0 -465
@@ -6,7 +6,6 @@
6
6
  import { Flyout } from './flyout_base.js';
7
7
  import type { FlyoutItem } from './flyout_item.js';
8
8
  import type { Options } from './options.js';
9
- import type { Coordinate } from './utils/coordinate.js';
10
9
  import { Rect } from './utils/rect.js';
11
10
  /**
12
11
  * Class for a flyout.
@@ -61,16 +60,6 @@ export declare class VerticalFlyout extends Flyout {
61
60
  * @param contents The flyout items to lay out.
62
61
  */
63
62
  protected layout_(contents: FlyoutItem[]): void;
64
- /**
65
- * Determine if a drag delta is toward the workspace, based on the position
66
- * and orientation of the flyout. This is used in determineDragIntention_ to
67
- * determine if a new block should be created or if the flyout should scroll.
68
- *
69
- * @param currentDragDeltaXY How far the pointer has moved from the position
70
- * at mouse down, in pixel units.
71
- * @returns True if the drag is toward the workspace.
72
- */
73
- isDragTowardWorkspace(currentDragDeltaXY: Coordinate): boolean;
74
63
  /**
75
64
  * Returns the bounding rectangle of the drag target area in pixel units
76
65
  * relative to viewport.
@@ -7,11 +7,15 @@ import type { IFocusableNode } from './interfaces/i_focusable_node.js';
7
7
  import type { IFocusableTree } from './interfaces/i_focusable_tree.js';
8
8
  /**
9
9
  * Type declaration for returning focus to FocusManager upon completing an
10
- * ephemeral UI flow (such as a dialog).
10
+ * ephemeral UI flow (such as a dialog). Normally, the FocusManager will refocus
11
+ * the previously-focused element. If callers do not wish for the FocusManager
12
+ * to do so, they may call this method with `restoreFocus` set to false to
13
+ * prevent automatic refocusing and leave focus where it is.
14
+ *
11
15
  *
12
16
  * See FocusManager.takeEphemeralFocus for more details.
13
17
  */
14
- export type ReturnEphemeralFocus = () => void;
18
+ export type ReturnEphemeralFocus = (restoreFocus?: boolean) => void;
15
19
  /**
16
20
  * A per-page singleton that manages Blockly focus across one or more
17
21
  * IFocusableTrees, and bidirectionally synchronizes this focus with the DOM.
@@ -56,6 +60,20 @@ export declare class FocusManager {
56
60
  private lockFocusStateChanges;
57
61
  private recentlyLostAllFocus;
58
62
  private isUpdatingFocusedNode;
63
+ /**
64
+ * Root element in which popovers (WidgetDiv, DropDownDiv) currently live.
65
+ */
66
+ private popoverFocusRoot?;
67
+ /**
68
+ * Set of callbacks to invoke if the popover focus root loses focus.
69
+ */
70
+ private popoverFocusLossHandlers;
71
+ /**
72
+ * Handler for focusout in the popover focus root that selectively
73
+ * invokes the popover focus loss handlers if focus has truly transitioned
74
+ * outside of the focus root, and not e.g. to a different popover.
75
+ */
76
+ private popoverFocusOutHandler;
59
77
  constructor(addGlobalEventListener: (type: string, listener: EventListener) => void);
60
78
  /**
61
79
  * Registers a new IFocusableTree for automatic focus management.
@@ -127,6 +145,11 @@ export declare class FocusManager {
127
145
  * focus.
128
146
  */
129
147
  getFocusedNode(): IFocusableNode | null;
148
+ /**
149
+ * Returns the IFocusableNode that held focus immediately before the current
150
+ * focused node, or null if there is no such node.
151
+ */
152
+ getPreviouslyFocusedNode(): IFocusableNode | null;
130
153
  /**
131
154
  * Focuses the specific IFocusableTree. This either means restoring active
132
155
  * focus to the tree's passively focused node, or focusing the tree's root
@@ -260,6 +283,33 @@ export declare class FocusManager {
260
283
  * but may change across page loads.
261
284
  */
262
285
  static getFocusManager(): FocusManager;
286
+ /**
287
+ * Sets the current popover focus root. Generally this is active
288
+ * workspace's injection div or the explicitly specified parent container for
289
+ * the WidgetDiv, DropDownDiv, etc.
290
+ *
291
+ * @internal
292
+ * @param newRoot The new element that contains all popovers.
293
+ */
294
+ setPopoverFocusRoot(newRoot: HTMLElement): void;
295
+ /**
296
+ * Registers a callback to be invoked if the popover focus root loses
297
+ * focus. This should only be called by popovers that need to react to
298
+ * focus changes by e.g. hiding themselves and resigning ephemeral focus.
299
+ *
300
+ * @internal
301
+ * @param handler A callback function.
302
+ */
303
+ registerPopoverFocusLossHandler(handler: () => void): void;
304
+ /**
305
+ * Unregisters a previously-registered popover focus loss handler. This
306
+ * should only be invoked by popovers when they no longer need to be
307
+ * notified of focus loss, typically when they are hidden.
308
+ *
309
+ * @internal
310
+ * @param handler A previously-registered callback function.
311
+ */
312
+ unregisterPopoverFocusLossHandler(handler: () => void): void;
263
313
  }
264
314
  /** Convenience function for FocusManager.getFocusManager. */
265
315
  export declare function getFocusManager(): FocusManager;
@@ -10,14 +10,14 @@
10
10
  * @class
11
11
  */
12
12
  import type { Block } from './block.js';
13
- import { Names } from './names.js';
13
+ import type { Names } from './names.js';
14
14
  import type { Workspace } from './workspace.js';
15
15
  /**
16
16
  * Deprecated, no-longer used type declaration for per-block-type generator
17
17
  * functions.
18
18
  *
19
19
  * @deprecated
20
- * @see {@link https://developers.google.com/blockly/guides/create-custom-blocks/generating-code}
20
+ * @see {@link https://docs.blockly.com/guides/create-custom-blocks/code-generation/overview/#block-code-generators}
21
21
  * @param block The Block instance to generate code for.
22
22
  * @param generator The CodeGenerator calling the function.
23
23
  * @returns A string containing the generated code (for statement blocks),
package/core/gesture.d.ts CHANGED
@@ -3,18 +3,11 @@
3
3
  * Copyright 2017 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- /**
7
- * The class representing an in-progress gesture, e.g. a drag,
8
- * tap, or pinch to zoom.
9
- *
10
- * @class
11
- */
12
- import './events/events_click.js';
13
6
  import type { BlockSvg } from './block_svg.js';
14
- import { RenderedWorkspaceComment } from './comments.js';
7
+ import type { RenderedWorkspaceComment } from './comments.js';
15
8
  import type { Field } from './field.js';
16
9
  import type { IBubble } from './interfaces/i_bubble.js';
17
- import { IDragger } from './interfaces/i_dragger.js';
10
+ import type { IDragger } from './interfaces/i_dragger.js';
18
11
  import type { IFlyout } from './interfaces/i_flyout.js';
19
12
  import type { IIcon } from './interfaces/i_icon.js';
20
13
  import { Coordinate } from './utils/coordinate.js';
@@ -149,18 +142,6 @@ export declare class Gesture {
149
142
  * @returns True if the drag just exceeded the drag radius for the first time.
150
143
  */
151
144
  private updateDragDelta;
152
- /**
153
- * Update this gesture to record whether a block is being dragged from the
154
- * flyout.
155
- * This function should be called on a pointermove event the first time
156
- * the drag radius is exceeded. It should be called no more than once per
157
- * gesture. If a block should be dragged from the flyout this function creates
158
- * the new block on the main workspace and updates targetBlock_ and
159
- * startWorkspace_.
160
- *
161
- * @returns True if a block is being dragged from the flyout.
162
- */
163
- private updateIsDraggingFromFlyout;
164
145
  /**
165
146
  * Check whether to start a workspace drag. If a workspace is being dragged,
166
147
  * create the necessary WorkspaceDragger and start the drag.
package/core/grid.d.ts CHANGED
@@ -9,7 +9,7 @@
9
9
  *
10
10
  * @class
11
11
  */
12
- import { GridOptions } from './options.js';
12
+ import type { GridOptions } from './options.js';
13
13
  import { Coordinate } from './utils/coordinate.js';
14
14
  /**
15
15
  * Class for a workspace's grid.
@@ -26,7 +26,7 @@ export declare class Grid {
26
26
  * @param pattern The grid's SVG pattern, created during injection.
27
27
  * @param options A dictionary of normalized options for the grid.
28
28
  * See grid documentation:
29
- * https://developers.google.com/blockly/guides/configure/web/grid
29
+ * https://docs.blockly.com/guides/configure/grid/
30
30
  */
31
31
  constructor(pattern: SVGElement, options: GridOptions);
32
32
  /**
@@ -0,0 +1,78 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Raspberry Pi Foundation
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { WorkspaceSvg } from './workspace_svg.js';
7
+ /**
8
+ * Nudge the user to use unconstrained movement.
9
+ *
10
+ * @param workspace Workspace.
11
+ * @param force Set to show it even if previously shown.
12
+ */
13
+ export declare function showUnconstrainedMoveHint(workspace: WorkspaceSvg, force?: boolean): void;
14
+ /**
15
+ * Nudge the user to move a block that's in move mode.
16
+ *
17
+ * @param workspace Workspace.
18
+ */
19
+ export declare function showConstrainedMovementHint(workspace: WorkspaceSvg): void;
20
+ /**
21
+ * Clear active move-related hints, if any.
22
+ *
23
+ * @param workspace The workspace.
24
+ */
25
+ export declare function clearMoveHints(workspace: WorkspaceSvg): void;
26
+ /**
27
+ * Nudge the user to open the help.
28
+ *
29
+ * @param workspace The workspace.
30
+ */
31
+ export declare function showHelpHint(workspace: WorkspaceSvg): void;
32
+ /**
33
+ * Tell the user how to navigate inside blocks.
34
+ *
35
+ * @param workspace The workspace.
36
+ */
37
+ export declare function showBlockNavigationHint(workspace: WorkspaceSvg): void;
38
+ /**
39
+ * Tell the user how to navigate inside the workspace.
40
+ *
41
+ * @param workspace The workspace.
42
+ */
43
+ export declare function showWorkspaceNavigationHint(workspace: WorkspaceSvg): void;
44
+ /**
45
+ * Tell the user how to navigate away from a flyout label (heading) when they
46
+ * try to act on it. Labels are not interactive, so direct them to use the
47
+ * arrow keys to reach a block or the next-heading shortcut to skip ahead.
48
+ *
49
+ * @param workspace The workspace.
50
+ */
51
+ export declare function showFlyoutLabelActionHint(workspace: WorkspaceSvg): void;
52
+ /**
53
+ * Nudge the user to paste after a copy.
54
+ *
55
+ * @param workspace Workspace.
56
+ */
57
+ export declare function showCopiedHint(workspace: WorkspaceSvg): void;
58
+ /**
59
+ * Nudge the user to paste after a cut.
60
+ *
61
+ * @param workspace Workspace.
62
+ */
63
+ export declare function showCutHint(workspace: WorkspaceSvg): void;
64
+ /**
65
+ * Clear active paste-related hints, if any.
66
+ *
67
+ * @param workspace The workspace.
68
+ */
69
+ export declare function clearPasteHints(workspace: WorkspaceSvg): void;
70
+ /**
71
+ * Inform the user about screenreader optimization mode being toggled, and how
72
+ * to undo it.
73
+ *
74
+ * @param workspace The workspace where screenreader mode was toggled.
75
+ * @param enabled True if screenreader mode is now enabled, otherwise false.
76
+ */
77
+ export declare function showScreenreaderModeHint(workspace: WorkspaceSvg, enabled: boolean): void;
78
+ //# sourceMappingURL=hints.d.ts.map
@@ -115,6 +115,14 @@ export declare class CommentIcon extends Icon implements IHasBubble, ISerializab
115
115
  * I.E. the block that owns this icon.
116
116
  */
117
117
  private getBubbleOwnerRect;
118
+ /**
119
+ * Returns the ARIA label to use for this icon (defaults to null). Note that this
120
+ * method will only be called during initialization by default, so dynamic changes
121
+ * to the icon's ARIA label need to be applied by calling recomputeAriaContext.
122
+ *
123
+ * @returns The ARIA label to use for this icon, or null to use a default.
124
+ */
125
+ protected getAriaLabel(): string | null;
118
126
  }
119
127
  /** The save state format for a comment icon. */
120
128
  export interface CommentState {
@@ -73,6 +73,12 @@ export declare abstract class Icon implements IIcon, IContextMenu {
73
73
  onNodeBlur(): void;
74
74
  /** See IFocusableNode.canBeFocused. */
75
75
  canBeFocused(): boolean;
76
+ /**
77
+ * Handles the user acting on this icon via keyboard navigation.
78
+ * Performs the same action as a click would, and focuses this icon's bubble
79
+ * if it has one.
80
+ */
81
+ performAction(): void;
76
82
  /**
77
83
  * Returns the block that this icon is attached to.
78
84
  *
@@ -80,5 +86,19 @@ export declare abstract class Icon implements IIcon, IContextMenu {
80
86
  */
81
87
  getSourceBlock(): Block;
82
88
  showContextMenu(e: PointerEvent): void;
89
+ /**
90
+ * Recomputes the ARIA label and role for this icon. This is automatically called
91
+ * during initialization, but implementations may find it useful to call this if
92
+ * the icon's label should be changed.
93
+ */
94
+ protected recomputeAriaContext(): void;
95
+ /**
96
+ * Returns the ARIA label to use for this icon (defaults to null). Note that this
97
+ * method will only be called during initialization by default, so dynamic changes
98
+ * to the icon's ARIA label need to be applied by calling recomputeAriaContext.
99
+ *
100
+ * @returns The ARIA label to use for this icon, or null to use a default.
101
+ */
102
+ protected getAriaLabel(): string | null;
83
103
  }
84
104
  //# sourceMappingURL=icon.d.ts.map
@@ -3,10 +3,10 @@
3
3
  * Copyright 2023 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { ICommentIcon } from '../interfaces/i_comment_icon.js';
7
- import { IIcon } from '../interfaces/i_icon.js';
8
- import { MutatorIcon } from './mutator_icon.js';
9
- import { WarningIcon } from './warning_icon.js';
6
+ import type { ICommentIcon } from '../interfaces/i_comment_icon.js';
7
+ import type { IIcon } from '../interfaces/i_icon.js';
8
+ import type { MutatorIcon } from './mutator_icon.js';
9
+ import type { WarningIcon } from './warning_icon.js';
10
10
  /**
11
11
  * Defines the type of an icon, so that it can be retrieved from block.getIcon
12
12
  */
@@ -92,5 +92,13 @@ export declare class MutatorIcon extends Icon implements IHasBubble {
92
92
  * currently open.
93
93
  */
94
94
  getWorkspace(): WorkspaceSvg | undefined;
95
+ /**
96
+ * Returns the ARIA label to use for this icon (defaults to null). Note that this
97
+ * method will only be called during initialization by default, so dynamic changes
98
+ * to the icon's ARIA label need to be applied by calling recomputeAriaContext.
99
+ *
100
+ * @returns The ARIA label to use for this icon, or null to use a default.
101
+ */
102
+ protected getAriaLabel(): string | null;
95
103
  }
96
104
  //# sourceMappingURL=mutator_icon.d.ts.map
@@ -5,7 +5,7 @@
5
5
  */
6
6
  import type { Block } from '../block.js';
7
7
  import type { IIcon } from '../interfaces/i_icon.js';
8
- import { IconType } from './icon_types.js';
8
+ import type { IconType } from './icon_types.js';
9
9
  /**
10
10
  * Registers the given icon so that it can be deserialized.
11
11
  *
@@ -73,5 +73,13 @@ export declare class WarningIcon extends Icon implements IHasBubble {
73
73
  * I.E. the block that owns this icon.
74
74
  */
75
75
  private getBubbleOwnerRect;
76
+ /**
77
+ * Returns the ARIA label to use for this icon (defaults to null). Note that this
78
+ * method will only be called during initialization by default, so dynamic changes
79
+ * to the icon's ARIA label need to be applied by calling recomputeAriaContext.
80
+ *
81
+ * @returns The ARIA label to use for this icon, or null to use a default.
82
+ */
83
+ protected getAriaLabel(): string | null;
76
84
  }
77
85
  //# sourceMappingURL=warning_icon.d.ts.map
@@ -8,14 +8,20 @@
8
8
  *
9
9
  * @class
10
10
  */
11
- import '../field_label.js';
12
11
  import type { Block } from '../block.js';
13
12
  import type { BlockSvg } from '../block_svg.js';
14
13
  import type { Connection } from '../connection.js';
15
- import type { ConnectionType } from '../connection_type.js';
14
+ import { ConnectionType } from '../connection_type.js';
16
15
  import type { Field } from '../field.js';
16
+ import { Verbosity } from '../utils/aria.js';
17
17
  import { Align } from './align.js';
18
18
  import { inputTypes } from './input_types.js';
19
+ /**
20
+ * Represents a string or a function that returns a string which can be used as a
21
+ * custom ARIA string to represent an Input, or null if the default fallback should
22
+ * be used. See setAriaLabelProvider for more context.
23
+ */
24
+ export type AriaLabelProvider = ((input: Input) => string | null) | string;
19
25
  /** Class for an input with optional fields. */
20
26
  export declare class Input {
21
27
  name: string;
@@ -25,6 +31,8 @@ export declare class Input {
25
31
  align: Align;
26
32
  /** Is the input visible? */
27
33
  private visible;
34
+ /** The AriaLabelProvider */
35
+ private ariaLabelProvider;
28
36
  readonly type: inputTypes;
29
37
  connection: Connection | null;
30
38
  /**
@@ -122,6 +130,29 @@ export declare class Input {
122
130
  getShadowDom(): Element | null;
123
131
  /** Initialize the fields on this input. */
124
132
  init(): void;
133
+ /**
134
+ * Sets a custom ARIA label provider for this input, or null if it should be reset
135
+ * to use the default method.
136
+ *
137
+ * Inputs do not compute ARIA contexts directly, so the set provider will be used
138
+ * in select cases when the Input needs to be represented (such as for parts of a
139
+ * block label or for connections). Note that overriding this provider will not
140
+ * recompute any already constructed ARIA labels, and it cannot be assumed that the
141
+ * provider will be called any particular number of times during label
142
+ * recomputation. As such, implementations should make sure to provide a
143
+ * deterministic and idempotent ARIA representation each time the provider is
144
+ * called for a given input. It's also fine to reuse providers across multiple
145
+ * Input implementations.
146
+ *
147
+ * @param provider The string or function to use to set the ARIA label for the input
148
+ * @returns The input being modified (to allow chaining).
149
+ */
150
+ setAriaLabelProvider(provider: AriaLabelProvider | null): Input;
151
+ /**
152
+ * Returns the string from the custom ARIA label provider set, or null if the default label (from the field row) should
153
+ * be used. See setAriaLabelProvider for more context.
154
+ */
155
+ getAriaLabelText(): string | null;
125
156
  /**
126
157
  * Initializes the fields on this input for a headless block.
127
158
  *
@@ -143,5 +174,30 @@ export declare class Input {
143
174
  * or rendered connection, based on the type of this input's source block.
144
175
  */
145
176
  protected makeConnection(type: ConnectionType): Connection;
177
+ /**
178
+ * Returns an ID for the logical "row" this input is part of. A "row" is
179
+ * bounded by a previous/next connection, a statement input, or a block stack
180
+ * boundary; all blocks/inputs nested inside of one of those are conceptually
181
+ * part of its same row.
182
+ *
183
+ * @internal
184
+ */
185
+ getRowId(): string;
186
+ /**
187
+ * Returns a derived accessibility label for this input: field row text plus
188
+ * labels of any connected child blocks (unless excluded). Does not include
189
+ * custom labels from {@link getAriaLabelText}; those are used in move-mode
190
+ * and parent-input context only.
191
+ *
192
+ * @internal
193
+ */
194
+ getLabel(verbosity?: Verbosity, includeChildren?: boolean): string;
195
+ /**
196
+ * Returns the index of this input, excluding inputs without connections, on its
197
+ * source block.
198
+ *
199
+ * @internal
200
+ */
201
+ getIndex(): number;
146
202
  }
147
203
  //# sourceMappingURL=input.d.ts.map
@@ -0,0 +1,54 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Raspberry Pi Foundation
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { RenderedConnection } from './rendered_connection.js';
7
+ import { Size } from './utils/size.js';
8
+ /**
9
+ * Visual representation of a mid-drag block if it were to be connected.
10
+ */
11
+ export declare class InsertionMarker {
12
+ /** The current size of the insertion marker, in workspace units. */
13
+ private size;
14
+ /** The DOM element representing the insertion marker. */
15
+ private marker?;
16
+ /** The static connection to which the insertion marker is attached. */
17
+ private parentConnection?;
18
+ /**
19
+ * Returns the current size of the insertion marker in workspace units.
20
+ */
21
+ getHeightWidth(): Size;
22
+ /**
23
+ * Displays an insertion marker representing the block structure if
24
+ * `draggingConnection` were to be connected to `staticConnection`.
25
+ *
26
+ * @param staticConnection The proposed connection on the stationary block.
27
+ * @param draggingConnection The proposed connection on a block being dragged.
28
+ */
29
+ show(staticConnection: RenderedConnection, draggingConnection: RenderedConnection): void;
30
+ /**
31
+ * Hides the insertion marker.
32
+ */
33
+ hide(): void;
34
+ /**
35
+ * Creates a new insertion marker corresponding to the given block.
36
+ *
37
+ * @param block The block whose path will be used for the insertion marker.
38
+ * @returns An SVG group representing an insertion marker.
39
+ */
40
+ private makeMarker;
41
+ /**
42
+ * Moves all connections on the given block adjacent to one another, excepting
43
+ * a specified connection. Otherwise identical to
44
+ * `BlockSvg.tightenChildrenEfficiently()`.
45
+ *
46
+ * @param block The block whose connections should be tightened.
47
+ * @param skip A connection to avoid tightening; generally that to which the
48
+ * insertion marker is being connected to, which may need to have a gap
49
+ * between it and its partner connection which the insertion marker will
50
+ * be spliced into.
51
+ */
52
+ private partiallyTighten;
53
+ }
54
+ //# sourceMappingURL=insertion_marker.d.ts.map
@@ -3,9 +3,9 @@
3
3
  * Copyright 2024 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { BlockSvg } from './block_svg.js';
7
- import { IConnectionPreviewer } from './interfaces/i_connection_previewer.js';
8
- import { RenderedConnection } from './rendered_connection.js';
6
+ import type { BlockSvg } from './block_svg.js';
7
+ import type { IConnectionPreviewer } from './interfaces/i_connection_previewer.js';
8
+ import type { RenderedConnection } from './rendered_connection.js';
9
9
  import * as blocks from './serialization/blocks.js';
10
10
  export declare class InsertionMarkerPreviewer implements IConnectionPreviewer {
11
11
  private readonly workspace;
@@ -13,6 +13,15 @@ export declare class InsertionMarkerPreviewer implements IConnectionPreviewer {
13
13
  private markerConn;
14
14
  private draggedConn;
15
15
  private staticConn;
16
+ private insertionMarker;
17
+ /**
18
+ * If set to true, uses a faster method for rendering insertion markers which
19
+ * will become the default in v14. This rendering method is enabled for the
20
+ * built-in Thrasos, Geras and Zelos renderers regardless of the state of this
21
+ * flag. Custom renderers will use the old rendering behavior unless this is
22
+ * set to true. This field will be removed in v14.
23
+ */
24
+ static useFastInsertionMarkers: boolean;
16
25
  constructor(draggedBlock: BlockSvg);
17
26
  /**
18
27
  * Display a connection preview where the draggedCon connects to the
@@ -28,7 +37,7 @@ export declare class InsertionMarkerPreviewer implements IConnectionPreviewer {
28
37
  previewReplacement(draggedConn: RenderedConnection, staticConn: RenderedConnection, replacedBlock: BlockSvg): void;
29
38
  /**
30
39
  * Display a connection preview where the draggedCon connects to the
31
- * staticCon, and no block is being relaced.
40
+ * staticCon, and no block is being replaced.
32
41
  *
33
42
  * @param draggedConn The connection on the block stack being dragged.
34
43
  * @param staticConn The connection not being dragged that we are
@@ -63,5 +72,12 @@ export declare class InsertionMarkerPreviewer implements IConnectionPreviewer {
63
72
  private hideInsertionMarker;
64
73
  /** Dispose of any references held by this connection previewer. */
65
74
  dispose(): void;
75
+ /**
76
+ * Returns whether or not new fast insertion marker rendering should be used.
77
+ * Defaults on for built-in renderers and off for custom renderers. Can be
78
+ * enabled for custom renderers by setting
79
+ * `InsertionMarkerPreviewer.useFastInsertionMarkers = true`.
80
+ */
81
+ private shouldUseFastInsertionMarkers;
66
82
  }
67
83
  //# sourceMappingURL=insertion_marker_previewer.d.ts.map
@@ -24,4 +24,11 @@ export interface IBoundedElement {
24
24
  */
25
25
  moveBy(dx: number, dy: number, reason?: string[]): void;
26
26
  }
27
+ /**
28
+ * Returns whether or not the given object conforms to IBoundedElement.
29
+ *
30
+ * @param object The object to test for conformance.
31
+ * @returns True if the object conforms to IBoundedElement, otherwise false.
32
+ */
33
+ export declare function isBoundedElement(object: any): object is IBoundedElement;
27
34
  //# sourceMappingURL=i_bounded_element.d.ts.map
@@ -4,13 +4,14 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import type { Coordinate } from '../utils/coordinate.js';
7
+ import type { IBoundedElement } from './i_bounded_element.js';
7
8
  import type { IContextMenu } from './i_contextmenu.js';
8
9
  import type { IDraggable } from './i_draggable.js';
9
- import { IFocusableNode } from './i_focusable_node.js';
10
+ import type { ISelectable } from './i_selectable.js';
10
11
  /**
11
12
  * A bubble interface.
12
13
  */
13
- export interface IBubble extends IDraggable, IContextMenu, IFocusableNode {
14
+ export interface IBubble extends IDraggable, IContextMenu, ISelectable, IBoundedElement {
14
15
  /**
15
16
  * Return the coordinates of the top-left corner of this bubble's body
16
17
  * relative to the drawing surface's origin (0,0), in workspace units.
@@ -3,7 +3,7 @@
3
3
  * Copyright 2020 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import type { ISelectableToolboxItem } from './i_selectable_toolbox_item.js';
6
+ import { type ISelectableToolboxItem } from './i_selectable_toolbox_item.js';
7
7
  import type { IToolboxItem } from './i_toolbox_item.js';
8
8
  /**
9
9
  * Interface for an item in the toolbox that can be collapsed.
@@ -25,4 +25,8 @@ export interface ICollapsibleToolboxItem extends ISelectableToolboxItem {
25
25
  /** Toggles whether or not the toolbox item is expanded. */
26
26
  toggleExpanded(): void;
27
27
  }
28
+ /**
29
+ * Type guard that checks whether an object is an ICollapsibleToolboxItem.
30
+ */
31
+ export declare function isCollapsibleToolboxItem(obj: any): obj is ICollapsibleToolboxItem;
28
32
  //# sourceMappingURL=i_collapsible_toolbox_item.d.ts.map
@@ -3,12 +3,12 @@
3
3
  * Copyright 2024 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { CommentState } from '../icons/comment_icon.js';
7
- import { Coordinate } from '../utils/coordinate.js';
8
- import { Size } from '../utils/size.js';
9
- import { IHasBubble } from './i_has_bubble.js';
10
- import { IIcon } from './i_icon.js';
11
- import { ISerializable } from './i_serializable.js';
6
+ import type { CommentState } from '../icons/comment_icon.js';
7
+ import type { Coordinate } from '../utils/coordinate.js';
8
+ import type { Size } from '../utils/size.js';
9
+ import type { IHasBubble } from './i_has_bubble.js';
10
+ import type { IIcon } from './i_icon.js';
11
+ import type { ISerializable } from './i_serializable.js';
12
12
  export interface ICommentIcon extends IIcon, IHasBubble, ISerializable {
13
13
  setText(text: string): void;
14
14
  getText(): string;
@@ -3,9 +3,9 @@
3
3
  * Copyright 2021 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { Rect } from '../utils/rect.js';
6
+ import type { Rect } from '../utils/rect.js';
7
7
  import type { IComponent } from './i_component.js';
8
- import { IDraggable } from './i_draggable.js';
8
+ import type { IDraggable } from './i_draggable.js';
9
9
  /**
10
10
  * Interface for a component with custom behaviour when a block or bubble is
11
11
  * dragged over or dropped on top of it.