@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
package/core/block.d.ts
CHANGED
|
@@ -3,26 +3,18 @@
|
|
|
3
3
|
* Copyright 2011 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
/**
|
|
7
|
-
* The class representing one block.
|
|
8
|
-
*
|
|
9
|
-
* @class
|
|
10
|
-
*/
|
|
11
|
-
import './events/events_block_change.js';
|
|
12
|
-
import './events/events_block_create.js';
|
|
13
|
-
import './events/events_block_delete.js';
|
|
14
6
|
import { Connection } from './connection.js';
|
|
15
7
|
import { ConnectionType } from './connection_type.js';
|
|
16
8
|
import type { Abstract } from './events/events_abstract.js';
|
|
17
9
|
import type { Field } from './field.js';
|
|
18
10
|
import { IconType } from './icons/icon_types.js';
|
|
19
11
|
import type { MutatorIcon } from './icons/mutator_icon.js';
|
|
20
|
-
import { Input } from './inputs/input.js';
|
|
12
|
+
import type { Input } from './inputs/input.js';
|
|
21
13
|
import { type IIcon } from './interfaces/i_icon.js';
|
|
22
14
|
import type { IVariableModel, IVariableState } from './interfaces/i_variable_model.js';
|
|
23
15
|
import * as Tooltip from './tooltip.js';
|
|
24
16
|
import { Coordinate } from './utils/coordinate.js';
|
|
25
|
-
import { Size } from './utils/size.js';
|
|
17
|
+
import type { Size } from './utils/size.js';
|
|
26
18
|
import type { Workspace } from './workspace.js';
|
|
27
19
|
/**
|
|
28
20
|
* Class for one block.
|
|
@@ -149,7 +141,7 @@ export declare class Block {
|
|
|
149
141
|
* @internal
|
|
150
142
|
*/
|
|
151
143
|
initialized: boolean;
|
|
152
|
-
|
|
144
|
+
protected readonly xy: Coordinate;
|
|
153
145
|
isInFlyout: boolean;
|
|
154
146
|
isInMutator: boolean;
|
|
155
147
|
RTL: boolean;
|
|
@@ -174,6 +166,8 @@ export declare class Block {
|
|
|
174
166
|
type: string;
|
|
175
167
|
inputsInlineDefault?: boolean;
|
|
176
168
|
workspace: Workspace;
|
|
169
|
+
/** A custom provider for generating the aria role description for this block. */
|
|
170
|
+
private ariaRoleDescriptionProvider;
|
|
177
171
|
/**
|
|
178
172
|
* @param workspace The block's workspace.
|
|
179
173
|
* @param prototypeName Name of the language object containing type-specific
|
|
@@ -455,7 +449,25 @@ export declare class Block {
|
|
|
455
449
|
*/
|
|
456
450
|
isDisposed(): boolean;
|
|
457
451
|
/**
|
|
458
|
-
*
|
|
452
|
+
* Determines and returns the full-block field for this block, or null if there isn't one
|
|
453
|
+
* and this block can't be considered a singleton field block.
|
|
454
|
+
*
|
|
455
|
+
* Note that this method is unreliable if a block contains a single field that
|
|
456
|
+
* hasn't been initialized/rendered yet.
|
|
457
|
+
*
|
|
458
|
+
* @returns The full-block field this block contains, or null if it doesn't contain one.
|
|
459
|
+
* @internal
|
|
460
|
+
*/
|
|
461
|
+
getFullBlockField(): Field<any> | null;
|
|
462
|
+
/**
|
|
463
|
+
* A block is a simple reporter if it has an output connection and exactly one field.
|
|
464
|
+
* In some renderers, simple reporters are rendered differently from other blocks.
|
|
465
|
+
* Being a simple reporter block is a prerequisite to the single field rendering itself
|
|
466
|
+
* as a "full-block field", but it is not sufficient, as not all fields or renderers use
|
|
467
|
+
* this special rendering. Use `getFullBlockField` to determine if the block is rendered
|
|
468
|
+
* as a "full-block field block".
|
|
469
|
+
*
|
|
470
|
+
* @returns True if this block is a value block with a single field.
|
|
459
471
|
* @internal
|
|
460
472
|
*/
|
|
461
473
|
isSimpleReporter(): boolean;
|
|
@@ -545,17 +557,10 @@ export declare class Block {
|
|
|
545
557
|
* @returns A generator that can be used to iterate the fields on the block.
|
|
546
558
|
*/
|
|
547
559
|
getFields(): Generator<Field, undefined, void>;
|
|
548
|
-
/**
|
|
549
|
-
* Return all variables referenced by this block.
|
|
550
|
-
*
|
|
551
|
-
* @returns List of variable ids.
|
|
552
|
-
*/
|
|
553
|
-
getVars(): string[];
|
|
554
560
|
/**
|
|
555
561
|
* Return all variables referenced by this block.
|
|
556
562
|
*
|
|
557
563
|
* @returns List of variable models.
|
|
558
|
-
* @internal
|
|
559
564
|
*/
|
|
560
565
|
getVarModels(): IVariableModel<IVariableState>[];
|
|
561
566
|
/**
|
|
@@ -695,6 +700,23 @@ export declare class Block {
|
|
|
695
700
|
* @param collapsed True if collapsed.
|
|
696
701
|
*/
|
|
697
702
|
setCollapsed(collapsed: boolean): void;
|
|
703
|
+
/**
|
|
704
|
+
* Set a custom aria role description provider for this block. If not set,
|
|
705
|
+
* uses a default provider based on the block's properties (e.g. whether it has
|
|
706
|
+
* inputs, outputs, etc.).
|
|
707
|
+
*
|
|
708
|
+
* @param description The description or function to provide the description.
|
|
709
|
+
* If a string, we'll replace message references in the string, e.g.
|
|
710
|
+
* `%{BKY_CUSTOM_MESSAGE}` will be replaced with the value of
|
|
711
|
+
* `Blockly.Msg['CUSTOM_MESSAGE']`.}'
|
|
712
|
+
*/
|
|
713
|
+
setAriaRoleDescriptionProvider(description: string | (() => string)): void;
|
|
714
|
+
/**
|
|
715
|
+
* @returns The string to use as the role description for this block. If a
|
|
716
|
+
* custom provider has been set, use that. Otherwise, return a default
|
|
717
|
+
* description based on the block's properties.
|
|
718
|
+
*/
|
|
719
|
+
getAriaRoleDescription(): string;
|
|
698
720
|
/**
|
|
699
721
|
* Create a human-readable text representation of this block and any children.
|
|
700
722
|
*
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Raspberry Pi Foundation
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { BlockSvg } from './block_svg.js';
|
|
7
|
+
import type { Input } from './inputs/input.js';
|
|
8
|
+
import type { RenderedConnection } from './rendered_connection.js';
|
|
9
|
+
import { Verbosity } from './utils/aria.js';
|
|
10
|
+
/**
|
|
11
|
+
* Prepositions to use when describing the relationship between two blocks based
|
|
12
|
+
* on their connection types.
|
|
13
|
+
*/
|
|
14
|
+
export declare enum ConnectionPreposition {
|
|
15
|
+
UNKNOWN = 0,
|
|
16
|
+
BEFORE = 1,
|
|
17
|
+
AFTER = 2,
|
|
18
|
+
AROUND = 3,
|
|
19
|
+
INSIDE = 4,
|
|
20
|
+
TO = 5
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Returns an ARIA representation of the specified block.
|
|
24
|
+
*
|
|
25
|
+
* The returned label will contain a complete context of the block, including:
|
|
26
|
+
* - Whether it begins a block stack or statement input stack.
|
|
27
|
+
* - Its constituent editable and non-editable fields.
|
|
28
|
+
* - Properties, including: disabled, collapsed, replaceable (a shadow), etc.
|
|
29
|
+
* - Its parent toolbox category.
|
|
30
|
+
* - Whether it has inputs.
|
|
31
|
+
*
|
|
32
|
+
* Beyond this, the returned label is specifically assembled with commas in
|
|
33
|
+
* select locations with the intention of better 'prosody' in the screen reader
|
|
34
|
+
* readouts since there's a lot of information being shared with the user. The
|
|
35
|
+
* returned label also places more important information earlier in the label so
|
|
36
|
+
* that the user gets the most important context as soon as possible in case
|
|
37
|
+
* they wish to stop readout early.
|
|
38
|
+
*
|
|
39
|
+
* The returned label will be specialized based on whether the block is part of a
|
|
40
|
+
* flyout.
|
|
41
|
+
*
|
|
42
|
+
* Custom input labels (from {@link Input.setAriaLabelProvider}) are not included
|
|
43
|
+
* here; they are used only in move-mode disambiguation and parent-input context
|
|
44
|
+
* via {@link Input.getAriaLabelText}.
|
|
45
|
+
*
|
|
46
|
+
* @internal
|
|
47
|
+
* @param block The block for which an ARIA representation should be created.
|
|
48
|
+
* @param verbosity How much detail to include in the description.
|
|
49
|
+
* @param fullBlockFieldLabel An optional override for input labels for full-block fields
|
|
50
|
+
* @returns The ARIA representation for the specified block.
|
|
51
|
+
*/
|
|
52
|
+
export declare function computeAriaLabel(block: BlockSvg, verbosity?: Verbosity, fullBlockFieldLabel?: string | undefined): string;
|
|
53
|
+
/**
|
|
54
|
+
* Sets the ARIA role and role description for the specified block, accounting
|
|
55
|
+
* for whether the block is part of a flyout.
|
|
56
|
+
*
|
|
57
|
+
* @internal
|
|
58
|
+
* @param block The block to set ARIA role and roledescription attributes on.
|
|
59
|
+
*/
|
|
60
|
+
export declare function configureAriaRole(block: BlockSvg): void;
|
|
61
|
+
/**
|
|
62
|
+
* Returns a list of ARIA labels for the 'field row' for the specified Input.
|
|
63
|
+
*
|
|
64
|
+
* 'Field row' essentially means the horizontal run of readable fields that
|
|
65
|
+
* precede the Input. Together, these provide the domain context for the input,
|
|
66
|
+
* particularly in the context of connections. In some cases, there may not be
|
|
67
|
+
* any readable fields immediately prior to the Input. In that case, if the
|
|
68
|
+
* `lookback` attribute is specified, all of the fields on the row immediately
|
|
69
|
+
* above the Input will be used instead.
|
|
70
|
+
*
|
|
71
|
+
* If the input contains multiple adjacent FieldLabel fields, they will be
|
|
72
|
+
* combined together into a singular label string so that screenreaders can
|
|
73
|
+
* know to read them together as one piece of text.
|
|
74
|
+
*
|
|
75
|
+
* Empty field labels are excluded because they don't provide useful context.
|
|
76
|
+
* Fields should generally have a helpful label, but there are exceptions, such
|
|
77
|
+
* as when empty label fields are used to control the layout of a block.
|
|
78
|
+
*
|
|
79
|
+
* @internal
|
|
80
|
+
* @param input The Input to compute a description/context label for.
|
|
81
|
+
* @param lookback If true, will use labels for fields on the previous row if
|
|
82
|
+
* the given input's row has no fields itself.
|
|
83
|
+
* @returns A list of labels for fields on the same row (or previous row, if
|
|
84
|
+
* lookback is specified) as the given input.
|
|
85
|
+
*/
|
|
86
|
+
export declare function computeFieldRowLabel(input: Input, lookback: boolean, verbosity?: Verbosity): string[];
|
|
87
|
+
/**
|
|
88
|
+
* Returns text indicating that a block is the root block of a stack.
|
|
89
|
+
*
|
|
90
|
+
* @internal
|
|
91
|
+
* @param block The block to retrieve a label for.
|
|
92
|
+
* @returns Text indicating that the block begins a stack, or undefined if it
|
|
93
|
+
* does not.
|
|
94
|
+
*/
|
|
95
|
+
export declare function getBeginStackLabel(block: BlockSvg): string | undefined;
|
|
96
|
+
/**
|
|
97
|
+
* Returns a list of accessibility labels for fields and inputs on a block.
|
|
98
|
+
* Each entry in the returned array corresponds to one of: (a) a label for a
|
|
99
|
+
* continuous run of non-interactable fields, (b) a label for an editable field,
|
|
100
|
+
* (c) a label for an input. When an input contains nested blocks/fields/inputs,
|
|
101
|
+
* their contents are returned as a single item in the array per top-level
|
|
102
|
+
* input.
|
|
103
|
+
*
|
|
104
|
+
* Uses derived labels only (field row text and connected block content via
|
|
105
|
+
* {@link Input.getLabel}). Custom input labels are not included; see
|
|
106
|
+
* {@link Input.getAriaLabelText} for move-mode and parent-input usage.
|
|
107
|
+
*
|
|
108
|
+
* @internal
|
|
109
|
+
* @param block The block to retrieve a list of field/input labels for.
|
|
110
|
+
* @param verbosity How much detail to include in each input label.
|
|
111
|
+
* @param fullBlockFieldLabel An optional override for full-block fields.
|
|
112
|
+
* @returns A list of field/input labels for the given block.
|
|
113
|
+
*/
|
|
114
|
+
export declare function getInputLabels(block: BlockSvg, verbosity?: Verbosity, fullBlockFieldLabel?: string | undefined): string[];
|
|
115
|
+
/**
|
|
116
|
+
* Returns a subset of derived labels for inputs on the given block, ending at
|
|
117
|
+
* the specified input. Used to disambiguate move targets and connection
|
|
118
|
+
* highlights when no custom label is set.
|
|
119
|
+
*
|
|
120
|
+
* The subset is determined based on the input type:
|
|
121
|
+
* - For non-statement inputs, only the label for the given input is returned.
|
|
122
|
+
* - For statement inputs, labels are collected from the start of the current
|
|
123
|
+
* statement section up to and including the given input. A statement section
|
|
124
|
+
* begins immediately after the previous statement input, or at the start of
|
|
125
|
+
* the block if none exists.
|
|
126
|
+
*
|
|
127
|
+
* Label resolution (see also {@link computeMoveConnectionLabel}):
|
|
128
|
+
* 1. Custom labels ({@link Input.getAriaLabelText}) are handled by callers, not here.
|
|
129
|
+
* 2. Derived labels from {@link Input.getLabel} (field row + child blocks).
|
|
130
|
+
* 3. Numbered fallback ({@link Msg.INPUT_LABEL_INDEX}) when tier 2 is empty.
|
|
131
|
+
* For the statement target input, the fallback is omitted if any earlier
|
|
132
|
+
* input in the subset already produced a label.
|
|
133
|
+
*
|
|
134
|
+
* @internal
|
|
135
|
+
* @param block The block to retrieve a list of field/input labels for.
|
|
136
|
+
* @param endInput The input that defines the end of the subset.
|
|
137
|
+
* @param includeEndInputChildren Whether to include labels for child blocks
|
|
138
|
+
* connected to the end input.
|
|
139
|
+
* @returns A list of field/input labels for the given block.
|
|
140
|
+
*/
|
|
141
|
+
export declare function getInputLabelsSubset(block: BlockSvg, endInput: Input, includeEndInputChildren: boolean): string[];
|
|
142
|
+
/**
|
|
143
|
+
* Returns a translated string describing an in-progress move of a block to a new
|
|
144
|
+
* connection, suitable for announcement on the ARIA live region. The returned string
|
|
145
|
+
* will be assembled based on the types of the local and neighbour connections and
|
|
146
|
+
* the presence of any readable fields on the block's inputs. If multiple potential
|
|
147
|
+
* candidate connections are present, additional context will be included in the
|
|
148
|
+
* returned string to help disambiguate between them.
|
|
149
|
+
*
|
|
150
|
+
* @param local The moving side of the candidate connection pair
|
|
151
|
+
* @param neighbour The target side of the candidate connection pair
|
|
152
|
+
* @param disambiguationPolicy A function that determines whether it's useful to
|
|
153
|
+
* include parent input labels for disambiguation.
|
|
154
|
+
* @param isMoveStart Whether this announcement is for the start of a move. If false,
|
|
155
|
+
* skip announcing the block label since it should have already been announced.
|
|
156
|
+
*/
|
|
157
|
+
export declare function computeMoveLabel(local: RenderedConnection, neighbour: RenderedConnection, disambiguationPolicy: (forLocal: boolean) => boolean, isMoveStart?: boolean): string;
|
|
158
|
+
//# sourceMappingURL=block_aria_composer.d.ts.map
|
package/core/block_svg.d.ts
CHANGED
|
@@ -8,29 +8,29 @@
|
|
|
8
8
|
*
|
|
9
9
|
* @class
|
|
10
10
|
*/
|
|
11
|
-
import './events/events_selected.js';
|
|
12
11
|
import { Block } from './block.js';
|
|
13
|
-
import { BlockCopyData } from './clipboard/block_paster.js';
|
|
12
|
+
import type { BlockCopyData } from './clipboard/block_paster.js';
|
|
14
13
|
import type { Connection } from './connection.js';
|
|
15
14
|
import { ConnectionType } from './connection_type.js';
|
|
16
|
-
import { ContextMenuOption, LegacyContextMenuOption } from './contextmenu_registry.js';
|
|
17
|
-
import { IconType } from './icons/icon_types.js';
|
|
15
|
+
import type { ContextMenuOption, LegacyContextMenuOption } from './contextmenu_registry.js';
|
|
16
|
+
import type { IconType } from './icons/icon_types.js';
|
|
18
17
|
import { MutatorIcon } from './icons/mutator_icon.js';
|
|
19
18
|
import type { Input } from './inputs/input.js';
|
|
20
19
|
import type { IBoundedElement } from './interfaces/i_bounded_element.js';
|
|
21
|
-
import { IContextMenu } from './interfaces/i_contextmenu.js';
|
|
20
|
+
import type { IContextMenu } from './interfaces/i_contextmenu.js';
|
|
22
21
|
import type { ICopyable } from './interfaces/i_copyable.js';
|
|
23
|
-
import { IDeletable } from './interfaces/i_deletable.js';
|
|
24
|
-
import type { IDragStrategy, IDraggable } from './interfaces/i_draggable.js';
|
|
22
|
+
import type { IDeletable } from './interfaces/i_deletable.js';
|
|
23
|
+
import type { DragDisposition, IDragStrategy, IDraggable } from './interfaces/i_draggable.js';
|
|
25
24
|
import type { IFocusableNode } from './interfaces/i_focusable_node.js';
|
|
26
25
|
import type { IFocusableTree } from './interfaces/i_focusable_tree.js';
|
|
27
|
-
import { IIcon } from './interfaces/i_icon.js';
|
|
26
|
+
import type { IIcon } from './interfaces/i_icon.js';
|
|
28
27
|
import { RenderedConnection } from './rendered_connection.js';
|
|
29
28
|
import type { IPathObject } from './renderers/common/i_path_object.js';
|
|
30
29
|
import type { BlockStyle } from './theme.js';
|
|
30
|
+
import * as aria from './utils/aria.js';
|
|
31
31
|
import { Coordinate } from './utils/coordinate.js';
|
|
32
32
|
import { Rect } from './utils/rect.js';
|
|
33
|
-
import { FlyoutItemInfo } from './utils/toolbox.js';
|
|
33
|
+
import type { FlyoutItemInfo } from './utils/toolbox.js';
|
|
34
34
|
import type { Workspace } from './workspace.js';
|
|
35
35
|
import type { WorkspaceSvg } from './workspace_svg.js';
|
|
36
36
|
/**
|
|
@@ -100,9 +100,9 @@ export declare class BlockSvg extends Block implements IBoundedElement, IContext
|
|
|
100
100
|
readonly rendered = true;
|
|
101
101
|
private visuallyDisabled;
|
|
102
102
|
workspace: WorkspaceSvg;
|
|
103
|
-
outputConnection: RenderedConnection;
|
|
104
|
-
nextConnection: RenderedConnection;
|
|
105
|
-
previousConnection: RenderedConnection;
|
|
103
|
+
outputConnection: RenderedConnection | null;
|
|
104
|
+
nextConnection: RenderedConnection | null;
|
|
105
|
+
previousConnection: RenderedConnection | null;
|
|
106
106
|
private translation;
|
|
107
107
|
/** Whether this block is currently being dragged. */
|
|
108
108
|
private dragging;
|
|
@@ -151,16 +151,6 @@ export declare class BlockSvg extends Block implements IBoundedElement, IContext
|
|
|
151
151
|
* @internal
|
|
152
152
|
*/
|
|
153
153
|
setParent(newParent: this | null): void;
|
|
154
|
-
/**
|
|
155
|
-
* Return the coordinates of the top-left corner of this block relative to the
|
|
156
|
-
* drawing surface's origin (0,0), in workspace units.
|
|
157
|
-
* If the block is on the workspace, (0, 0) is the origin of the workspace
|
|
158
|
-
* coordinate system.
|
|
159
|
-
* This does not change with workspace scale.
|
|
160
|
-
*
|
|
161
|
-
* @returns Object with .x and .y properties in workspace coordinates.
|
|
162
|
-
*/
|
|
163
|
-
getRelativeToSurfaceXY(): Coordinate;
|
|
164
154
|
/**
|
|
165
155
|
* Move a block by a relative offset.
|
|
166
156
|
*
|
|
@@ -301,6 +291,10 @@ export declare class BlockSvg extends Block implements IBoundedElement, IContext
|
|
|
301
291
|
* @internal
|
|
302
292
|
*/
|
|
303
293
|
setDragging(adding: boolean): void;
|
|
294
|
+
/**
|
|
295
|
+
* Returns whether or not this block is currently being dragged.
|
|
296
|
+
*/
|
|
297
|
+
isDragging(): boolean;
|
|
304
298
|
/**
|
|
305
299
|
* Set whether this block is movable or not.
|
|
306
300
|
*
|
|
@@ -490,6 +484,19 @@ export declare class BlockSvg extends Block implements IBoundedElement, IContext
|
|
|
490
484
|
* adjusting its parents.
|
|
491
485
|
*/
|
|
492
486
|
bringToFront(blockOnly?: boolean): void;
|
|
487
|
+
/**
|
|
488
|
+
* Reorders this block's SVG root and those of its parents (unless
|
|
489
|
+
* `blockOnly`` is set to `true`) to the end of their respective parents so
|
|
490
|
+
* they render on top of their siblings.
|
|
491
|
+
*
|
|
492
|
+
* Unlike `bringToFront`, this does not preserve focus across the reorder, so
|
|
493
|
+
* it is safe to call from within a focus callback
|
|
494
|
+
*
|
|
495
|
+
* @param blockOnly True to only move this block to the front without
|
|
496
|
+
* adjusting its parents.
|
|
497
|
+
* @internal
|
|
498
|
+
*/
|
|
499
|
+
moveSvgRootToFront(blockOnly?: boolean): void;
|
|
493
500
|
/**
|
|
494
501
|
* Set whether this block can chain onto the bottom of another block.
|
|
495
502
|
*
|
|
@@ -537,7 +544,6 @@ export declare class BlockSvg extends Block implements IBoundedElement, IContext
|
|
|
537
544
|
* @param refIndex Index of input that should be after the moved input.
|
|
538
545
|
*/
|
|
539
546
|
moveNumberedInputBefore(inputIndex: number, refIndex: number): void;
|
|
540
|
-
/** @override */
|
|
541
547
|
appendInput(input: Input): Input;
|
|
542
548
|
/**
|
|
543
549
|
* Sets whether this block's connections are tracked in the database or not.
|
|
@@ -688,15 +694,6 @@ export declare class BlockSvg extends Block implements IBoundedElement, IContext
|
|
|
688
694
|
* @internal
|
|
689
695
|
*/
|
|
690
696
|
fadeForReplacement(add: boolean): void;
|
|
691
|
-
/**
|
|
692
|
-
* Visual effect to show that if the dragging block is dropped it will connect
|
|
693
|
-
* to this input.
|
|
694
|
-
*
|
|
695
|
-
* @param conn The connection on the input to highlight.
|
|
696
|
-
* @param add True if highlighting should be added.
|
|
697
|
-
* @internal
|
|
698
|
-
*/
|
|
699
|
-
highlightShapeForInput(conn: RenderedConnection, add: boolean): void;
|
|
700
697
|
/**
|
|
701
698
|
* Returns the drag strategy currently in use by this block.
|
|
702
699
|
*
|
|
@@ -711,11 +708,11 @@ export declare class BlockSvg extends Block implements IBoundedElement, IContext
|
|
|
711
708
|
/** Returns whether this block is movable or not. */
|
|
712
709
|
isMovable(): boolean;
|
|
713
710
|
/** Starts a drag on the block. */
|
|
714
|
-
startDrag(e?: PointerEvent):
|
|
711
|
+
startDrag(e?: PointerEvent | KeyboardEvent): IDraggable;
|
|
715
712
|
/** Drags the block to the given location. */
|
|
716
|
-
drag(newLoc: Coordinate, e?: PointerEvent): void;
|
|
713
|
+
drag(newLoc: Coordinate, e?: PointerEvent | KeyboardEvent): void;
|
|
717
714
|
/** Ends the drag on the block. */
|
|
718
|
-
endDrag(e
|
|
715
|
+
endDrag(e: PointerEvent | KeyboardEvent | undefined, disposition: DragDisposition): void;
|
|
719
716
|
/** Moves the block back to where it was at the start of a drag. */
|
|
720
717
|
revertDrag(): void;
|
|
721
718
|
/**
|
|
@@ -723,6 +720,12 @@ export declare class BlockSvg extends Block implements IBoundedElement, IContext
|
|
|
723
720
|
*/
|
|
724
721
|
toFlyoutInfo(): FlyoutItemInfo[];
|
|
725
722
|
jsonInit(json: any): void;
|
|
723
|
+
/**
|
|
724
|
+
* Returns the number of blocks that this block is nested inside of.
|
|
725
|
+
*
|
|
726
|
+
* @internal
|
|
727
|
+
*/
|
|
728
|
+
getNestingLevel(): number;
|
|
726
729
|
/** See IFocusableNode.getFocusableElement. */
|
|
727
730
|
getFocusableElement(): HTMLElement | SVGElement;
|
|
728
731
|
/** See IFocusableNode.getFocusableTree. */
|
|
@@ -733,5 +736,55 @@ export declare class BlockSvg extends Block implements IBoundedElement, IContext
|
|
|
733
736
|
onNodeBlur(): void;
|
|
734
737
|
/** See IFocusableNode.canBeFocused. */
|
|
735
738
|
canBeFocused(): boolean;
|
|
739
|
+
/**
|
|
740
|
+
* Handles the user acting on this block via keyboard navigation.
|
|
741
|
+
* If this block is in the flyout, a new copy is spawned in move mode on the
|
|
742
|
+
* main workspace. If this block has a single full-block field, that field
|
|
743
|
+
* will be focused. Otherwise, this is a no-op.
|
|
744
|
+
*/
|
|
745
|
+
performAction(e?: KeyboardEvent): void;
|
|
746
|
+
/**
|
|
747
|
+
* Returns a set of all of the parent blocks of the given block.
|
|
748
|
+
*
|
|
749
|
+
* @internal
|
|
750
|
+
* @returns A set of the parents of the given block.
|
|
751
|
+
*/
|
|
752
|
+
getParents(): Set<BlockSvg>;
|
|
753
|
+
/**
|
|
754
|
+
* Returns a set of all of the parent blocks connected to an output of the
|
|
755
|
+
* given block or one of its parents. Also includes the given block.
|
|
756
|
+
*
|
|
757
|
+
* @internal
|
|
758
|
+
* @returns A set of the output-connected parents of the given block.
|
|
759
|
+
*/
|
|
760
|
+
getOutputParents(): Set<BlockSvg>;
|
|
761
|
+
/**
|
|
762
|
+
* Returns an ID for the logical "row" this block is part of. A "row" is
|
|
763
|
+
* bounded by a previous/next connection, a statement input, or a block stack
|
|
764
|
+
* boundary; all blocks/inputs nested inside of one of those are conceptually
|
|
765
|
+
* part of its same row.
|
|
766
|
+
*
|
|
767
|
+
* @internal
|
|
768
|
+
*/
|
|
769
|
+
getRowId(): string;
|
|
770
|
+
/**
|
|
771
|
+
* Updates the ARIA label, role and roledescription for this block.
|
|
772
|
+
*/
|
|
773
|
+
private recomputeAriaContext;
|
|
774
|
+
/**
|
|
775
|
+
* Returns a description of this block suitable for screenreaders or use in
|
|
776
|
+
* ARIA attributes.
|
|
777
|
+
*
|
|
778
|
+
* @param verbosity How much detail to include in the description.
|
|
779
|
+
* @returns An accessibility description of this block.
|
|
780
|
+
*/
|
|
781
|
+
getAriaLabel(verbosity: aria.Verbosity): string;
|
|
782
|
+
/**
|
|
783
|
+
* Count the number of blocks in this stack (connected by next connections)
|
|
784
|
+
* and return a label to describe it. Uses the standard label if there is only one block.
|
|
785
|
+
*
|
|
786
|
+
* @internal
|
|
787
|
+
*/
|
|
788
|
+
getStackBlocksCountLabel(): string;
|
|
736
789
|
}
|
|
737
790
|
//# sourceMappingURL=block_svg.d.ts.map
|
package/core/blockly.d.ts
CHANGED
|
@@ -3,10 +3,6 @@
|
|
|
3
3
|
* Copyright 2011 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import './events/events_block_create.js';
|
|
7
|
-
import './events/workspace_events.js';
|
|
8
|
-
import './events/events_ui_base.js';
|
|
9
|
-
import './events/events_var_create.js';
|
|
10
6
|
import { Block } from './block.js';
|
|
11
7
|
import * as blockAnimations from './block_animations.js';
|
|
12
8
|
import { BlockFlyoutInflater } from './block_flyout_inflater.js';
|
|
@@ -63,13 +59,15 @@ import * as icons from './icons.js';
|
|
|
63
59
|
import { inject } from './inject.js';
|
|
64
60
|
import * as inputs from './inputs.js';
|
|
65
61
|
import { IFlyoutInflater } from './interfaces/i_flyout_inflater.js';
|
|
62
|
+
import { Direction, KeyboardMover } from './keyboard_nav/keyboard_mover.js';
|
|
63
|
+
import { MoveIndicator } from './keyboard_nav/move_indicator.js';
|
|
66
64
|
import { LabelFlyoutInflater } from './label_flyout_inflater.js';
|
|
67
65
|
import { SeparatorFlyoutInflater } from './separator_flyout_inflater.js';
|
|
68
66
|
import { FocusableTreeTraverser } from './utils/focusable_tree_traverser.js';
|
|
69
67
|
import { Input } from './inputs/input.js';
|
|
70
68
|
import { InsertionMarkerPreviewer } from './insertion_marker_previewer.js';
|
|
71
69
|
import { IAutoHideable } from './interfaces/i_autohideable.js';
|
|
72
|
-
import { IBoundedElement } from './interfaces/i_bounded_element.js';
|
|
70
|
+
import { IBoundedElement, isBoundedElement } from './interfaces/i_bounded_element.js';
|
|
73
71
|
import { IBubble } from './interfaces/i_bubble.js';
|
|
74
72
|
import { ICollapsibleToolboxItem } from './interfaces/i_collapsible_toolbox_item.js';
|
|
75
73
|
import { IComponent } from './interfaces/i_component.js';
|
|
@@ -80,7 +78,7 @@ import { ICopyData, ICopyable, isCopyable } from './interfaces/i_copyable.js';
|
|
|
80
78
|
import { IDeletable, isDeletable } from './interfaces/i_deletable.js';
|
|
81
79
|
import { IDeleteArea } from './interfaces/i_delete_area.js';
|
|
82
80
|
import { IDragTarget } from './interfaces/i_drag_target.js';
|
|
83
|
-
import { IDragStrategy, IDraggable, isDraggable } from './interfaces/i_draggable.js';
|
|
81
|
+
import { DragDisposition, IDragStrategy, IDraggable, isDraggable } from './interfaces/i_draggable.js';
|
|
84
82
|
import { IDragger } from './interfaces/i_dragger.js';
|
|
85
83
|
import { IFlyout } from './interfaces/i_flyout.js';
|
|
86
84
|
import { IFocusableNode } from './interfaces/i_focusable_node.js';
|
|
@@ -104,12 +102,10 @@ import { IToolboxItem } from './interfaces/i_toolbox_item.js';
|
|
|
104
102
|
import { IVariableBackedParameterModel, isVariableBackedParameterModel } from './interfaces/i_variable_backed_parameter_model.js';
|
|
105
103
|
import { IVariableMap } from './interfaces/i_variable_map.js';
|
|
106
104
|
import { IVariableModel, IVariableState } from './interfaces/i_variable_model.js';
|
|
107
|
-
import {
|
|
108
|
-
import { Marker } from './keyboard_nav/marker.js';
|
|
105
|
+
import { ToolboxNavigator } from './keyboard_nav/navigators/toolbox_navigator.js';
|
|
109
106
|
import { KeyboardNavigationController, keyboardNavigationController } from './keyboard_navigation_controller.js';
|
|
110
107
|
import type { LayerManager } from './layer_manager.js';
|
|
111
108
|
import * as layers from './layers.js';
|
|
112
|
-
import { MarkerManager } from './marker_manager.js';
|
|
113
109
|
import { Menu } from './menu.js';
|
|
114
110
|
import { MenuItem } from './menuitem.js';
|
|
115
111
|
import { MetricsManager } from './metrics_manager.js';
|
|
@@ -158,8 +154,6 @@ import { ZoomControls } from './zoom_controls.js';
|
|
|
158
154
|
* This constant is overridden by the build script (npm run build) to the value
|
|
159
155
|
* of the version in package.json. This is done by the Closure Compiler in the
|
|
160
156
|
* buildCompressed gulp task.
|
|
161
|
-
* For local builds, you can pass --define='Blockly.VERSION=X.Y.Z' to the
|
|
162
|
-
* compiler to override this constant.
|
|
163
157
|
*
|
|
164
158
|
* @define {string}
|
|
165
159
|
*/
|
|
@@ -269,18 +263,24 @@ export declare const VARIABLE_DYNAMIC_CATEGORY_NAME: string;
|
|
|
269
263
|
* procedure blocks.
|
|
270
264
|
*/
|
|
271
265
|
export declare const PROCEDURE_CATEGORY_NAME: string;
|
|
272
|
-
export * from './
|
|
266
|
+
export * from './interfaces/i_json_block_definition.js';
|
|
273
267
|
export * from './interfaces/i_navigation_policy.js';
|
|
274
|
-
export * from './keyboard_nav/block_navigation_policy.js';
|
|
275
|
-
export * from './keyboard_nav/
|
|
276
|
-
export * from './keyboard_nav/
|
|
277
|
-
export * from './keyboard_nav/
|
|
278
|
-
export * from './keyboard_nav/
|
|
279
|
-
export * from './keyboard_nav/
|
|
280
|
-
export * from './keyboard_nav/
|
|
281
|
-
export * from './
|
|
268
|
+
export * from './keyboard_nav/navigation_policies/block_navigation_policy.js';
|
|
269
|
+
export * from './keyboard_nav/navigation_policies/bubble_navigation_policy.js';
|
|
270
|
+
export * from './keyboard_nav/navigation_policies/comment_bar_button_navigation_policy.js';
|
|
271
|
+
export * from './keyboard_nav/navigation_policies/comment_editor_navigation_policy.js';
|
|
272
|
+
export * from './keyboard_nav/navigation_policies/connection_navigation_policy.js';
|
|
273
|
+
export * from './keyboard_nav/navigation_policies/field_navigation_policy.js';
|
|
274
|
+
export * from './keyboard_nav/navigation_policies/flyout_button_navigation_policy.js';
|
|
275
|
+
export * from './keyboard_nav/navigation_policies/flyout_separator_navigation_policy.js';
|
|
276
|
+
export * from './keyboard_nav/navigation_policies/icon_navigation_policy.js';
|
|
277
|
+
export * from './keyboard_nav/navigation_policies/toolbox_item_navigation_policy.js';
|
|
278
|
+
export * from './keyboard_nav/navigation_policies/workspace_comment_navigation_policy.js';
|
|
279
|
+
export * from './keyboard_nav/navigation_policies/workspace_navigation_policy.js';
|
|
280
|
+
export * from './keyboard_nav/navigators/flyout_navigator.js';
|
|
281
|
+
export * from './keyboard_nav/navigators/navigator.js';
|
|
282
282
|
export * from './toast.js';
|
|
283
|
-
export { Block, BlockSvg, BlocklyOptions, Blocks, CollapsibleToolboxCategory, ComponentManager, Connection, ConnectionChecker, ConnectionDB, ConnectionType, ContextMenu, ContextMenuItems, ContextMenuRegistry, Css, DeleteArea, DragTarget, Events, Extensions,
|
|
283
|
+
export { Block, BlockSvg, BlocklyOptions, Blocks, CollapsibleToolboxCategory, ComponentManager, Connection, ConnectionChecker, ConnectionDB, ConnectionType, ContextMenu, ContextMenuItems, ContextMenuRegistry, Css, DeleteArea, DragTarget, Events, Extensions, Procedures, ShortcutItems, Themes, Tooltip, Touch, Variables, VariablesDynamic, WidgetDiv, Xml, blockAnimations, blockRendering, browserEvents, bubbles, bumpObjects, clipboard, comments, common, constants, dialog, dragging, fieldRegistry, geras, Procedures as procedures, registry, thrasos, uiPosition, utils, zelos, };
|
|
284
284
|
export declare const DropDownDiv: typeof dropDownDiv;
|
|
285
|
-
export { BlockFlyoutInflater, ButtonFlyoutInflater, CodeGenerator, Field, FieldCheckbox, FieldCheckboxConfig, FieldCheckboxFromJsonConfig, FieldCheckboxValidator, FieldConfig, FieldDropdown, FieldDropdownConfig, FieldDropdownFromJsonConfig, FieldDropdownValidator, FieldImage, FieldImageConfig, FieldImageFromJsonConfig, FieldLabel, FieldLabelConfig, FieldLabelFromJsonConfig, FieldLabelSerializable, FieldNumber, FieldNumberConfig, FieldNumberFromJsonConfig, FieldNumberValidator, FieldTextInput, FieldTextInputConfig, FieldTextInputFromJsonConfig, FieldTextInputValidator, FieldValidator, FieldVariable, FieldVariableConfig, FieldVariableFromJsonConfig, FieldVariableValidator, Flyout, FlyoutButton, FlyoutItem, FlyoutMetricsManager, FlyoutSeparator, FocusManager, FocusableTreeTraverser, CodeGenerator as Generator, Gesture, Grid, HorizontalFlyout, IAutoHideable, IBoundedElement, IBubble, ICollapsibleToolboxItem, IComponent, IConnectionChecker, IConnectionPreviewer, IContextMenu, ICopyData, ICopyable, IDeletable, IDeleteArea, IDragStrategy, IDragTarget, IDraggable, IDragger, IFlyout, IFlyoutInflater, IFocusableNode, IFocusableTree, IHasBubble, IIcon, IKeyboardAccessible, IMetricsManager, IMovable, IObservable, IPaster, IPositionable, IRegistrable, IRenderedElement, ISelectable, ISelectableToolboxItem, ISerializable, IStyleable, IToolbox, IToolboxItem, IVariableBackedParameterModel, IVariableMap, IVariableModel, IVariableState, ImageProperties, Input, InsertionMarkerPreviewer, KeyboardNavigationController, LabelFlyoutInflater, LayerManager,
|
|
285
|
+
export { BlockFlyoutInflater, ButtonFlyoutInflater, CodeGenerator, Direction, DragDisposition, Field, FieldCheckbox, FieldCheckboxConfig, FieldCheckboxFromJsonConfig, FieldCheckboxValidator, FieldConfig, FieldDropdown, FieldDropdownConfig, FieldDropdownFromJsonConfig, FieldDropdownValidator, FieldImage, FieldImageConfig, FieldImageFromJsonConfig, FieldLabel, FieldLabelConfig, FieldLabelFromJsonConfig, FieldLabelSerializable, FieldNumber, FieldNumberConfig, FieldNumberFromJsonConfig, FieldNumberValidator, FieldTextInput, FieldTextInputConfig, FieldTextInputFromJsonConfig, FieldTextInputValidator, FieldValidator, FieldVariable, FieldVariableConfig, FieldVariableFromJsonConfig, FieldVariableValidator, Flyout, FlyoutButton, FlyoutItem, FlyoutMetricsManager, FlyoutSeparator, FocusManager, FocusableTreeTraverser, CodeGenerator as Generator, Gesture, Grid, HorizontalFlyout, IAutoHideable, IBoundedElement, IBubble, ICollapsibleToolboxItem, IComponent, IConnectionChecker, IConnectionPreviewer, IContextMenu, ICopyData, ICopyable, IDeletable, IDeleteArea, IDragStrategy, IDragTarget, IDraggable, IDragger, IFlyout, IFlyoutInflater, IFocusableNode, IFocusableTree, IHasBubble, IIcon, IKeyboardAccessible, IMetricsManager, IMovable, IObservable, IPaster, IPositionable, IRegistrable, IRenderedElement, ISelectable, ISelectableToolboxItem, ISerializable, IStyleable, IToolbox, IToolboxItem, IVariableBackedParameterModel, IVariableMap, IVariableModel, IVariableState, ImageProperties, Input, InsertionMarkerPreviewer, KeyboardMover, KeyboardNavigationController, LabelFlyoutInflater, LayerManager, Menu, MenuGenerator, MenuGeneratorFunction, MenuItem, MenuOption, MetricsManager, MoveIndicator, Msg, Names, Options, RenderedConnection, ReturnEphemeralFocus, Scrollbar, ScrollbarPair, SeparatorFlyoutInflater, ShortcutRegistry, Theme, ThemeManager, Toolbox, ToolboxCategory, ToolboxItem, ToolboxNavigator, ToolboxSeparator, Trashcan, UnattachedFieldError, VariableMap, VariableModel, VerticalFlyout, Workspace, WorkspaceAudio, WorkspaceDragger, WorkspaceSvg, ZoomControls, config, getFocusManager, hasBubble, icons, inject, inputs, isBoundedElement, isCopyable, isDeletable, isDraggable, isIcon, isObservable, isPaster, isRenderedElement, isSelectable, isSerializable, isVariableBackedParameterModel, keyboardNavigationController, layers, renderManagement, serialization, setLocale, };
|
|
286
286
|
//# sourceMappingURL=blockly.d.ts.map
|