@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.
- package/README.md +7 -2
- package/blockly.min.js +2280 -2126
- package/blockly.mjs +13 -5
- package/blockly_compressed.js +1767 -1794
- package/blockly_compressed.js.map +1 -1
- package/blocks_compressed.js +151 -177
- package/blocks_compressed.js.map +1 -1
- package/core/block.d.ts +41 -19
- package/core/block_aria_composer.d.ts +158 -0
- package/core/block_svg.d.ts +88 -35
- package/core/blockly.d.ts +22 -22
- package/core/bubbles/bubble.d.ts +59 -5
- package/core/bubbles/mini_workspace_bubble.d.ts +11 -3
- package/core/bubbles/text_bubble.d.ts +7 -4
- package/core/bubbles/textinput_bubble.d.ts +11 -1
- package/core/clipboard/block_paster.d.ts +5 -5
- package/core/clipboard/registry.d.ts +1 -1
- package/core/clipboard/workspace_comment_paster.d.ts +4 -4
- package/core/clipboard.d.ts +1 -1
- package/core/comments/collapse_comment_bar_button.d.ts +7 -4
- package/core/comments/comment_bar_button.d.ts +15 -1
- package/core/comments/comment_editor.d.ts +21 -6
- package/core/comments/comment_view.d.ts +5 -5
- package/core/comments/delete_comment_bar_button.d.ts +7 -4
- package/core/comments/rendered_workspace_comment.d.ts +17 -12
- package/core/comments/workspace_comment.d.ts +2 -2
- package/core/common.d.ts +10 -3
- package/core/component_manager.d.ts +2 -0
- package/core/config.d.ts +37 -11
- package/core/connection_db.d.ts +40 -0
- package/core/contextmenu_registry.d.ts +12 -2
- package/core/css.d.ts +2 -1
- package/core/dragging/block_drag_strategy.d.ts +196 -19
- package/core/dragging/bubble_drag_strategy.d.ts +5 -4
- package/core/dragging/comment_drag_strategy.d.ts +4 -4
- package/core/dragging/dragger.d.ts +14 -14
- package/core/events/events_block_base.d.ts +2 -1
- package/core/events/events_block_change.d.ts +3 -2
- package/core/events/events_block_create.d.ts +3 -5
- package/core/events/events_block_delete.d.ts +3 -5
- package/core/events/events_block_drag.d.ts +2 -2
- package/core/events/events_block_field_intermediate_change.d.ts +3 -2
- package/core/events/events_block_move.d.ts +2 -1
- package/core/events/events_click.d.ts +2 -2
- package/core/events/events_comment_base.d.ts +2 -1
- package/core/events/events_comment_change.d.ts +2 -1
- package/core/events/events_comment_collapse.d.ts +3 -2
- package/core/events/events_comment_create.d.ts +2 -4
- package/core/events/events_comment_delete.d.ts +2 -4
- package/core/events/events_comment_drag.d.ts +2 -2
- package/core/events/events_comment_move.d.ts +2 -1
- package/core/events/events_comment_resize.d.ts +2 -1
- package/core/events/events_selected.d.ts +1 -1
- package/core/events/events_theme_change.d.ts +1 -1
- package/core/events/events_toolbox_item_select.d.ts +1 -1
- package/core/events/events_trashcan_open.d.ts +1 -1
- package/core/events/events_var_base.d.ts +2 -1
- package/core/events/events_var_create.d.ts +2 -1
- package/core/events/events_var_delete.d.ts +2 -1
- package/core/events/events_var_rename.d.ts +2 -1
- package/core/events/events_var_type_change.d.ts +2 -1
- package/core/events/events_viewport.d.ts +1 -1
- package/core/field.d.ts +120 -13
- package/core/field_checkbox.d.ts +31 -4
- package/core/field_dropdown.d.ts +68 -4
- package/core/field_image.d.ts +54 -2
- package/core/field_input.d.ts +38 -13
- package/core/field_label.d.ts +31 -2
- package/core/field_label_serializable.d.ts +3 -2
- package/core/field_number.d.ts +14 -3
- package/core/field_textinput.d.ts +15 -5
- package/core/field_variable.d.ts +16 -6
- package/core/flyout_base.d.ts +12 -126
- package/core/flyout_button.d.ts +11 -0
- package/core/flyout_horizontal.d.ts +0 -11
- package/core/flyout_metrics_manager.d.ts +2 -1
- package/core/flyout_vertical.d.ts +0 -11
- package/core/focus_manager.d.ts +52 -2
- package/core/generator.d.ts +2 -2
- package/core/gesture.d.ts +2 -21
- package/core/grid.d.ts +2 -2
- package/core/hints.d.ts +78 -0
- package/core/icons/comment_icon.d.ts +8 -0
- package/core/icons/icon.d.ts +20 -0
- package/core/icons/icon_types.d.ts +4 -4
- package/core/icons/mutator_icon.d.ts +8 -0
- package/core/icons/registry.d.ts +1 -1
- package/core/icons/warning_icon.d.ts +8 -0
- package/core/inputs/input.d.ts +58 -2
- package/core/insertion_marker.d.ts +54 -0
- package/core/insertion_marker_previewer.d.ts +20 -4
- package/core/interfaces/i_bounded_element.d.ts +7 -0
- package/core/interfaces/i_bubble.d.ts +3 -2
- package/core/interfaces/i_collapsible_toolbox_item.d.ts +5 -1
- package/core/interfaces/i_comment_icon.d.ts +6 -6
- package/core/interfaces/i_drag_target.d.ts +2 -2
- package/core/interfaces/i_draggable.d.ts +22 -17
- package/core/interfaces/i_dragger.d.ts +19 -10
- package/core/interfaces/i_flyout.d.ts +1 -31
- package/core/interfaces/i_flyout_inflater.d.ts +9 -0
- package/core/interfaces/i_focusable_node.d.ts +8 -0
- package/core/interfaces/i_focusable_tree.d.ts +8 -0
- package/core/interfaces/i_icon.d.ts +1 -1
- package/core/interfaces/i_json_block_definition.d.ts +113 -0
- package/core/interfaces/i_keyboard_accessible.d.ts +1 -1
- package/core/interfaces/i_navigation_policy.d.ts +12 -0
- package/core/interfaces/i_parameter_model.d.ts +2 -2
- package/core/interfaces/i_paster.d.ts +3 -3
- package/core/interfaces/i_procedure_block.d.ts +1 -1
- package/core/interfaces/i_procedure_map.d.ts +1 -1
- package/core/interfaces/i_procedure_model.d.ts +2 -2
- package/core/interfaces/i_selectable.d.ts +3 -3
- package/core/interfaces/i_selectable_toolbox_item.d.ts +3 -3
- package/core/interfaces/i_toolbox.d.ts +4 -0
- package/core/interfaces/i_toolbox_item.d.ts +6 -0
- package/core/interfaces/i_variable_backed_parameter_model.d.ts +1 -1
- package/core/keyboard_nav/keyboard_mover.d.ts +151 -0
- package/core/keyboard_nav/move_indicator.d.ts +35 -0
- package/core/keyboard_nav/{block_navigation_policy.d.ts → navigation_policies/block_navigation_policy.d.ts} +17 -25
- package/core/keyboard_nav/navigation_policies/bubble_navigation_policy.d.ts +63 -0
- package/core/keyboard_nav/{comment_bar_button_navigation_policy.d.ts → navigation_policies/comment_bar_button_navigation_policy.d.ts} +10 -3
- package/core/keyboard_nav/{comment_editor_navigation_policy.d.ts → navigation_policies/comment_editor_navigation_policy.d.ts} +10 -3
- package/core/keyboard_nav/{connection_navigation_policy.d.ts → navigation_policies/connection_navigation_policy.d.ts} +11 -16
- package/core/keyboard_nav/{field_navigation_policy.d.ts → navigation_policies/field_navigation_policy.d.ts} +10 -3
- package/core/keyboard_nav/{flyout_button_navigation_policy.d.ts → navigation_policies/flyout_button_navigation_policy.d.ts} +10 -3
- package/core/keyboard_nav/{flyout_separator_navigation_policy.d.ts → navigation_policies/flyout_separator_navigation_policy.d.ts} +9 -3
- package/core/keyboard_nav/{icon_navigation_policy.d.ts → navigation_policies/icon_navigation_policy.d.ts} +12 -5
- package/core/keyboard_nav/navigation_policies/toolbox_item_navigation_policy.d.ts +64 -0
- package/core/keyboard_nav/{workspace_comment_navigation_policy.d.ts → navigation_policies/workspace_comment_navigation_policy.d.ts} +14 -9
- package/core/keyboard_nav/{workspace_navigation_policy.d.ts → navigation_policies/workspace_navigation_policy.d.ts} +10 -3
- package/core/keyboard_nav/navigators/flyout_navigator.d.ts +63 -0
- package/core/keyboard_nav/navigators/navigator.d.ts +237 -0
- package/core/keyboard_nav/navigators/toolbox_navigator.d.ts +70 -0
- package/core/keyboard_navigation_controller.d.ts +12 -0
- package/core/layer_manager.d.ts +3 -3
- package/core/menu.d.ts +3 -0
- package/core/menuitem.d.ts +8 -1
- package/core/observable_procedure_map.d.ts +1 -1
- package/core/options.d.ts +4 -4
- package/core/procedures.d.ts +5 -8
- package/core/registry.d.ts +0 -2
- package/core/render_management.d.ts +1 -1
- package/core/rendered_connection.d.ts +33 -6
- package/core/renderers/common/constants.d.ts +4 -7
- package/core/renderers/common/i_path_object.d.ts +8 -0
- package/core/renderers/common/info.d.ts +1 -1
- package/core/renderers/common/path_object.d.ts +7 -16
- package/core/renderers/common/renderer.d.ts +3 -3
- package/core/renderers/zelos/constants.d.ts +1 -14
- package/core/renderers/zelos/drawer.d.ts +1 -1
- package/core/renderers/zelos/info.d.ts +10 -1
- package/core/renderers/zelos/measurables/bottom_row.d.ts +1 -1
- package/core/renderers/zelos/measurables/top_row.d.ts +1 -1
- package/core/renderers/zelos/path_object.d.ts +0 -3
- package/core/renderers/zelos/renderer.d.ts +8 -0
- package/core/serialization/procedures.d.ts +2 -2
- package/core/serialization/workspace_comments.d.ts +2 -2
- package/core/shortcut_items.d.ts +167 -2
- package/core/shortcut_registry.d.ts +9 -3
- package/core/theme.d.ts +0 -2
- package/core/toast.d.ts +2 -11
- package/core/toolbox/category.d.ts +11 -0
- package/core/toolbox/collapsible_category.d.ts +2 -0
- package/core/toolbox/separator.d.ts +4 -0
- package/core/toolbox/toolbox.d.ts +17 -33
- package/core/toolbox/toolbox_item.d.ts +4 -0
- package/core/tooltip.d.ts +13 -2
- package/core/trashcan.d.ts +16 -38
- package/core/utils/aria.d.ts +259 -28
- package/core/utils/dom.d.ts +1 -1
- package/core/utils/focusable_tree_traverser.d.ts +2 -2
- package/core/utils/shortcut_formatting.d.ts +22 -0
- package/core/utils/style.d.ts +14 -0
- package/core/utils/toolbox.d.ts +0 -8
- package/core/utils/useragent.d.ts +1 -0
- package/core/variable_map.d.ts +1 -41
- package/core/variable_model.d.ts +1 -7
- package/core/variables.d.ts +7 -8
- package/core/variables_dynamic.d.ts +4 -6
- package/core/workspace.d.ts +7 -85
- package/core/workspace_audio.d.ts +36 -7
- package/core/workspace_focus_target.d.ts +51 -0
- package/core/workspace_svg.d.ts +79 -60
- package/core/xml.d.ts +1 -1
- package/core/zoom_controls.d.ts +6 -59
- package/dart_compressed.js +123 -164
- package/dart_compressed.js.map +1 -1
- package/index.mjs +13 -5
- package/javascript_compressed.js +96 -147
- package/javascript_compressed.js.map +1 -1
- package/lua_compressed.js +142 -178
- package/lua_compressed.js.map +1 -1
- package/media/drop.mp3 +0 -0
- package/msg/ab.js +265 -7
- package/msg/ab.mjs +259 -1
- package/msg/ace.js +266 -8
- package/msg/ace.mjs +259 -1
- package/msg/af.js +265 -7
- package/msg/af.mjs +259 -1
- package/msg/am.js +266 -8
- package/msg/am.mjs +259 -1
- package/msg/ar.js +283 -25
- package/msg/ar.mjs +259 -1
- package/msg/ast.js +266 -8
- package/msg/ast.mjs +259 -1
- package/msg/az.js +266 -8
- package/msg/az.mjs +259 -1
- package/msg/ba.js +265 -7
- package/msg/ba.mjs +259 -1
- package/msg/bcc.js +265 -7
- package/msg/bcc.mjs +259 -1
- package/msg/be-tarask.js +297 -39
- package/msg/be-tarask.mjs +259 -1
- package/msg/be.js +266 -8
- package/msg/be.mjs +259 -1
- package/msg/bg.js +282 -24
- package/msg/bg.mjs +259 -1
- package/msg/bn.js +266 -8
- package/msg/bn.mjs +259 -1
- package/msg/br.js +266 -8
- package/msg/br.mjs +259 -1
- package/msg/bs.js +265 -7
- package/msg/bs.mjs +259 -1
- package/msg/ca.js +265 -7
- package/msg/ca.mjs +259 -1
- package/msg/ce.js +265 -7
- package/msg/ce.mjs +259 -1
- package/msg/cs.js +290 -32
- package/msg/cs.mjs +259 -1
- package/msg/csb.js +723 -0
- package/msg/csb.mjs +704 -0
- package/msg/da.js +284 -26
- package/msg/da.mjs +259 -1
- package/msg/de.js +265 -7
- package/msg/de.mjs +259 -1
- package/msg/diq.js +267 -9
- package/msg/diq.mjs +259 -1
- package/msg/dtp.js +265 -7
- package/msg/dtp.mjs +259 -1
- package/msg/dty.js +265 -7
- package/msg/dty.mjs +259 -1
- package/msg/ee.js +265 -7
- package/msg/ee.mjs +259 -1
- package/msg/el.js +290 -32
- package/msg/el.mjs +259 -1
- package/msg/en-gb.js +266 -8
- package/msg/en-gb.mjs +259 -1
- package/msg/en.js +266 -8
- package/msg/en.mjs +259 -1
- package/msg/eo.js +265 -7
- package/msg/eo.mjs +259 -1
- package/msg/es.js +282 -24
- package/msg/es.mjs +259 -1
- package/msg/et.js +265 -7
- package/msg/et.mjs +259 -1
- package/msg/eu.js +265 -7
- package/msg/eu.mjs +259 -1
- package/msg/fa.js +266 -8
- package/msg/fa.mjs +259 -1
- package/msg/fi.js +284 -26
- package/msg/fi.mjs +259 -1
- package/msg/fo.js +265 -7
- package/msg/fo.mjs +259 -1
- package/msg/fr.js +283 -25
- package/msg/fr.mjs +259 -1
- package/msg/frr.js +266 -8
- package/msg/frr.mjs +259 -1
- package/msg/ga.js +723 -0
- package/msg/{cdo.mjs → ga.mjs} +261 -3
- package/msg/gl.js +290 -32
- package/msg/gl.mjs +259 -1
- package/msg/gn.js +266 -8
- package/msg/gn.mjs +259 -1
- package/msg/gor.js +265 -7
- package/msg/gor.mjs +259 -1
- package/msg/ha.js +265 -7
- package/msg/ha.mjs +259 -1
- package/msg/he.js +313 -55
- package/msg/he.mjs +259 -1
- package/msg/hi.js +265 -7
- package/msg/hi.mjs +259 -1
- package/msg/hr.js +265 -7
- package/msg/hr.mjs +259 -1
- package/msg/hrx.js +265 -7
- package/msg/hrx.mjs +259 -1
- package/msg/hsb.js +265 -7
- package/msg/hsb.mjs +259 -1
- package/msg/hu.js +270 -12
- package/msg/hu.mjs +259 -1
- package/msg/hy.js +265 -7
- package/msg/hy.mjs +259 -1
- package/msg/ia.js +304 -46
- package/msg/ia.mjs +259 -1
- package/msg/id.js +489 -231
- package/msg/id.mjs +259 -1
- package/msg/ig.js +270 -12
- package/msg/ig.mjs +259 -1
- package/msg/inh.js +265 -7
- package/msg/inh.mjs +259 -1
- package/msg/is.js +265 -7
- package/msg/is.mjs +259 -1
- package/msg/it.js +289 -31
- package/msg/it.mjs +259 -1
- package/msg/ja.js +314 -56
- package/msg/ja.mjs +259 -1
- package/msg/ka.js +267 -9
- package/msg/ka.mjs +259 -1
- package/msg/kab.js +273 -15
- package/msg/kab.mjs +259 -1
- package/msg/kbd-cyrl.js +266 -8
- package/msg/kbd-cyrl.mjs +259 -1
- package/msg/km.js +265 -7
- package/msg/km.mjs +259 -1
- package/msg/kn.js +273 -15
- package/msg/kn.mjs +259 -1
- package/msg/ko.js +398 -140
- package/msg/ko.mjs +259 -1
- package/msg/krc.js +723 -0
- package/msg/krc.mjs +704 -0
- package/msg/ksh.js +266 -8
- package/msg/ksh.mjs +259 -1
- package/msg/ku-latn.js +266 -8
- package/msg/ku-latn.mjs +259 -1
- package/msg/ky.js +325 -67
- package/msg/ky.mjs +259 -1
- package/msg/la.js +266 -8
- package/msg/la.mjs +259 -1
- package/msg/lb.js +279 -21
- package/msg/lb.mjs +259 -1
- package/msg/lki.js +265 -7
- package/msg/lki.mjs +259 -1
- package/msg/lo.js +265 -7
- package/msg/lo.mjs +259 -1
- package/msg/lrc.js +265 -7
- package/msg/lrc.mjs +259 -1
- package/msg/lt.js +266 -8
- package/msg/lt.mjs +259 -1
- package/msg/lv.js +276 -18
- package/msg/lv.mjs +259 -1
- package/msg/mg.js +265 -7
- package/msg/mg.mjs +259 -1
- package/msg/mk.js +265 -7
- package/msg/mk.mjs +259 -1
- package/msg/ml.js +265 -7
- package/msg/ml.mjs +259 -1
- package/msg/mnw.js +265 -7
- package/msg/mnw.mjs +259 -1
- package/msg/ms.js +274 -16
- package/msg/ms.mjs +259 -1
- package/msg/mt.js +723 -0
- package/msg/{hak.mjs → mt.mjs} +261 -3
- package/msg/my.js +265 -7
- package/msg/my.mjs +259 -1
- package/msg/mzn.js +266 -8
- package/msg/mzn.mjs +259 -1
- package/msg/nb.js +265 -7
- package/msg/nb.mjs +259 -1
- package/msg/ne.js +275 -17
- package/msg/ne.mjs +259 -1
- package/msg/nl.js +336 -78
- package/msg/nl.mjs +259 -1
- package/msg/oc.js +265 -7
- package/msg/oc.mjs +259 -1
- package/msg/olo.js +266 -8
- package/msg/olo.mjs +259 -1
- package/msg/pa.js +273 -15
- package/msg/pa.mjs +259 -1
- package/msg/pl.js +282 -24
- package/msg/pl.mjs +259 -1
- package/msg/pms.js +283 -25
- package/msg/pms.mjs +259 -1
- package/msg/ps.js +296 -38
- package/msg/ps.mjs +259 -1
- package/msg/pt-br.js +282 -24
- package/msg/pt-br.mjs +259 -1
- package/msg/pt.js +282 -24
- package/msg/pt.mjs +259 -1
- package/msg/ro.js +299 -41
- package/msg/ro.mjs +259 -1
- package/msg/ru.js +283 -25
- package/msg/ru.mjs +259 -1
- package/msg/sc.js +265 -7
- package/msg/sc.mjs +259 -1
- package/msg/sco.js +266 -8
- package/msg/sco.mjs +259 -1
- package/msg/sd.js +265 -7
- package/msg/sd.mjs +259 -1
- package/msg/shn.js +265 -7
- package/msg/shn.mjs +259 -1
- package/msg/si.js +266 -8
- package/msg/si.mjs +259 -1
- package/msg/sk.js +283 -25
- package/msg/sk.mjs +259 -1
- package/msg/skr-arab.js +268 -10
- package/msg/skr-arab.mjs +259 -1
- package/msg/sl.js +283 -25
- package/msg/sl.mjs +259 -1
- package/msg/smn.js +267 -9
- package/msg/smn.mjs +259 -1
- package/msg/sq.js +273 -15
- package/msg/sq.mjs +259 -1
- package/msg/sr-latn.js +265 -7
- package/msg/sr-latn.mjs +259 -1
- package/msg/sr.js +266 -8
- package/msg/sr.mjs +259 -1
- package/msg/sv.js +282 -24
- package/msg/sv.mjs +259 -1
- package/msg/sw.js +266 -8
- package/msg/sw.mjs +259 -1
- package/msg/ta.js +283 -25
- package/msg/ta.mjs +259 -1
- package/msg/tcy.js +328 -70
- package/msg/tcy.mjs +259 -1
- package/msg/tdd.js +265 -7
- package/msg/tdd.mjs +259 -1
- package/msg/te.js +265 -7
- package/msg/te.mjs +259 -1
- package/msg/th.js +266 -8
- package/msg/th.mjs +259 -1
- package/msg/ti.js +265 -7
- package/msg/ti.mjs +259 -1
- package/msg/tl.js +265 -7
- package/msg/tl.mjs +259 -1
- package/msg/tlh.js +265 -7
- package/msg/tlh.mjs +259 -1
- package/msg/tr.js +284 -26
- package/msg/tr.mjs +259 -1
- package/msg/ug-arab.js +265 -7
- package/msg/ug-arab.mjs +259 -1
- package/msg/uk.js +291 -33
- package/msg/uk.mjs +259 -1
- package/msg/ur.js +265 -7
- package/msg/ur.mjs +259 -1
- package/msg/uz.js +298 -40
- package/msg/uz.mjs +259 -1
- package/msg/vi.js +284 -26
- package/msg/vi.mjs +259 -1
- package/msg/xmf.js +265 -7
- package/msg/xmf.mjs +259 -1
- package/msg/yo.js +265 -7
- package/msg/yo.mjs +259 -1
- package/msg/zgh.js +265 -7
- package/msg/zgh.mjs +259 -1
- package/msg/zh-hans.js +283 -25
- package/msg/zh-hans.mjs +259 -1
- package/msg/zh-hant.js +283 -25
- package/msg/zh-hant.mjs +259 -1
- package/package.json +53 -57
- package/php_compressed.js +150 -192
- package/php_compressed.js.map +1 -1
- package/python_compressed.js +85 -126
- package/python_compressed.js.map +1 -1
- package/core/flyout_navigator.d.ts +0 -11
- package/core/keyboard_nav/block_comment_navigation_policy.d.ts +0 -56
- package/core/keyboard_nav/flyout_navigation_policy.d.ts +0 -65
- package/core/keyboard_nav/line_cursor.d.ts +0 -187
- package/core/keyboard_nav/marker.d.ts +0 -53
- package/core/marker_manager.d.ts +0 -72
- package/core/navigator.d.ts +0 -65
- package/media/sprites.png +0 -0
- package/msg/cdo.js +0 -465
- 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.
|
package/core/focus_manager.d.ts
CHANGED
|
@@ -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;
|
package/core/generator.d.ts
CHANGED
|
@@ -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://
|
|
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://
|
|
29
|
+
* https://docs.blockly.com/guides/configure/grid/
|
|
30
30
|
*/
|
|
31
31
|
constructor(pattern: SVGElement, options: GridOptions);
|
|
32
32
|
/**
|
package/core/hints.d.ts
ADDED
|
@@ -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 {
|
package/core/icons/icon.d.ts
CHANGED
|
@@ -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
|
package/core/icons/registry.d.ts
CHANGED
|
@@ -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
|
package/core/inputs/input.d.ts
CHANGED
|
@@ -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
|
|
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
|
|
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 {
|
|
10
|
+
import type { ISelectable } from './i_selectable.js';
|
|
10
11
|
/**
|
|
11
12
|
* A bubble interface.
|
|
12
13
|
*/
|
|
13
|
-
export interface IBubble extends IDraggable, IContextMenu,
|
|
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
|
|
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.
|