blockly 8.0.4-beta.0 → 8.0.5-beta.0
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/blockly.min.js +2421 -2688
- package/blockly_compressed.js +1499 -1994
- package/blockly_compressed.js.map +1 -1
- package/blocks/blocks.js +3 -2
- package/blocks/colour.js +3 -1
- package/blocks/lists.js +94 -22
- package/blocks/logic.js +14 -6
- package/blocks/loops.js +5 -3
- package/blocks/math.js +3 -1
- package/blocks/procedures.js +3 -1
- package/blocks/text.js +14 -6
- package/blocks/variables.js +3 -1
- package/blocks/variables_dynamic.js +3 -1
- package/blocks.d.ts +0 -2
- package/blocks_compressed.js +189 -171
- package/blocks_compressed.js.map +1 -1
- package/closure/goog/base.d.ts +1 -0
- package/closure/goog/base_minimal.d.ts +18 -0
- package/closure/goog/goog.d.ts +25 -0
- package/core/any_aliases.d.ts +1 -0
- package/core/any_aliases.ts +1 -0
- package/core/block.d.ts +779 -0
- package/core/{block.js → block.ts} +610 -719
- package/core/block_animations.d.ts +33 -0
- package/core/{block_animations.js → block_animations.ts} +75 -79
- package/core/block_drag_surface.d.ts +111 -0
- package/core/{block_drag_surface.js → block_drag_surface.ts} +85 -117
- package/core/block_dragger.d.ts +143 -0
- package/core/{block_dragger.js → block_dragger.ts} +139 -176
- package/core/block_svg.d.ts +588 -0
- package/core/{block_svg.js → block_svg.ts} +494 -630
- package/core/blockly.d.ts +562 -0
- package/core/blockly.js +1 -1
- package/core/blockly.ts +749 -0
- package/core/blockly_options.d.ts +69 -0
- package/core/blockly_options.ts +81 -0
- package/core/blocks.d.ts +17 -0
- package/core/{blocks.js → blocks.ts} +4 -8
- package/core/browser_events.d.ts +85 -0
- package/core/{browser_events.js → browser_events.ts} +98 -93
- package/core/bubble.d.ts +279 -0
- package/core/{bubble.js → bubble.ts} +277 -370
- package/core/bubble_dragger.d.ts +73 -0
- package/core/bubble_dragger.ts +229 -0
- package/core/bump_objects.d.ts +34 -0
- package/core/{bump_objects.js → bump_objects.ts} +54 -52
- package/core/clipboard.d.ts +42 -0
- package/core/clipboard.ts +91 -0
- package/core/comment.d.ts +113 -0
- package/core/{comment.js → comment.ts} +135 -185
- package/core/common.d.ts +129 -0
- package/core/{common.js → common.ts} +105 -82
- package/core/component_manager.d.ts +91 -0
- package/core/component_manager.ts +211 -0
- package/core/config.d.ts +23 -0
- package/core/{config.js → config.ts} +12 -19
- package/core/connection.d.ts +232 -0
- package/core/{connection.js → connection.ts} +187 -237
- package/core/connection_checker.d.ts +78 -0
- package/core/{connection_checker.js → connection_checker.ts} +66 -77
- package/core/connection_db.d.ts +91 -0
- package/core/{connection_db.js → connection_db.ts} +62 -87
- package/core/connection_type.d.ts +15 -0
- package/core/{connection_type.js → connection_type.ts} +8 -12
- package/core/constants.d.ts +15 -0
- package/core/{constants.js → constants.ts} +4 -8
- package/core/contextmenu.d.ts +80 -0
- package/core/{contextmenu.js → contextmenu.ts} +118 -153
- package/core/contextmenu_items.d.ts +77 -0
- package/core/contextmenu_items.ts +576 -0
- package/core/contextmenu_registry.d.ts +105 -0
- package/core/contextmenu_registry.ts +179 -0
- package/core/css.d.ts +24 -0
- package/core/{css.js → css.ts} +16 -24
- package/core/delete_area.d.ts +47 -0
- package/core/delete_area.ts +82 -0
- package/core/dialog.d.ts +61 -0
- package/core/dialog.ts +127 -0
- package/core/drag_target.d.ts +63 -0
- package/core/drag_target.ts +94 -0
- package/core/dropdowndiv.d.ts +155 -0
- package/core/{dropdowndiv.js → dropdowndiv.ts} +262 -333
- package/core/events/events.d.ts +102 -0
- package/core/events/events.ts +123 -0
- package/core/events/events_abstract.d.ts +51 -0
- package/core/events/events_abstract.ts +112 -0
- package/core/events/events_block_base.d.ts +31 -0
- package/core/events/events_block_base.ts +65 -0
- package/core/events/events_block_change.d.ts +55 -0
- package/core/events/{events_block_change.js → events_block_change.ts} +45 -48
- package/core/events/events_block_create.d.ts +35 -0
- package/core/events/{events_block_create.js → events_block_create.ts} +30 -35
- package/core/events/events_block_delete.d.ts +36 -0
- package/core/events/{events_block_delete.js → events_block_delete.ts} +34 -39
- package/core/events/events_block_drag.d.ts +36 -0
- package/core/events/events_block_drag.ts +82 -0
- package/core/events/events_block_move.d.ts +51 -0
- package/core/events/{events_block_move.js → events_block_move.ts} +54 -50
- package/core/events/events_bubble_open.d.ts +35 -0
- package/core/events/events_bubble_open.ts +82 -0
- package/core/events/events_click.d.ts +36 -0
- package/core/events/{events_click.js → events_click.ts} +27 -30
- package/core/events/events_comment_base.d.ts +39 -0
- package/core/events/events_comment_base.ts +107 -0
- package/core/events/events_comment_change.d.ts +43 -0
- package/core/events/{events_comment_change.js → events_comment_change.ts} +31 -28
- package/core/events/events_comment_create.d.ts +35 -0
- package/core/events/{events_comment_create.js → events_comment_create.ts} +24 -26
- package/core/events/events_comment_delete.d.ts +35 -0
- package/core/events/{events_comment_delete.js → events_comment_delete.ts} +20 -24
- package/core/events/events_comment_move.d.ts +55 -0
- package/core/events/{events_comment_move.js → events_comment_move.ts} +39 -42
- package/core/events/events_marker_move.d.ts +40 -0
- package/core/events/events_marker_move.ts +99 -0
- package/core/events/events_selected.d.ts +34 -0
- package/core/events/events_selected.ts +78 -0
- package/core/events/events_theme_change.d.ts +30 -0
- package/core/events/{events_theme_change.js → events_theme_change.ts} +19 -24
- package/core/events/events_toolbox_item_select.d.ts +34 -0
- package/core/events/events_toolbox_item_select.ts +79 -0
- package/core/events/events_trashcan_open.d.ts +31 -0
- package/core/events/events_trashcan_open.ts +68 -0
- package/core/events/events_ui.d.ts +37 -0
- package/core/events/{events_ui.js → events_ui.ts} +27 -26
- package/core/events/events_ui_base.d.ts +26 -0
- package/core/events/{events_ui_base.js → events_ui_base.ts} +17 -26
- package/core/events/events_var_base.d.ts +31 -0
- package/core/events/events_var_base.ts +65 -0
- package/core/events/events_var_create.d.ts +35 -0
- package/core/events/{events_var_create.js → events_var_create.ts} +24 -25
- package/core/events/events_var_delete.d.ts +35 -0
- package/core/events/{events_var_delete.js → events_var_delete.ts} +24 -25
- package/core/events/events_var_rename.d.ts +36 -0
- package/core/events/{events_var_rename.js → events_var_rename.ts} +25 -26
- package/core/events/events_viewport.d.ts +39 -0
- package/core/events/events_viewport.ts +100 -0
- package/core/events/utils.d.ts +272 -0
- package/core/events/{utils.js → utils.ts} +148 -219
- package/core/events/workspace_events.d.ts +36 -0
- package/core/events/workspace_events.ts +86 -0
- package/core/extensions.d.ts +107 -0
- package/core/{extensions.js → extensions.ts} +153 -172
- package/core/field.d.ts +534 -0
- package/core/{field.js → field.ts} +413 -489
- package/core/field_angle.d.ts +176 -0
- package/core/field_angle.ts +563 -0
- package/core/field_checkbox.d.ts +124 -0
- package/core/field_checkbox.ts +243 -0
- package/core/field_colour.d.ts +200 -0
- package/core/field_colour.ts +632 -0
- package/core/field_dropdown.d.ts +222 -0
- package/core/{field_dropdown.js → field_dropdown.ts} +277 -299
- package/core/field_image.d.ts +134 -0
- package/core/field_image.ts +282 -0
- package/core/field_label.d.ts +71 -0
- package/core/field_label.ts +152 -0
- package/core/field_label_serializable.d.ts +42 -0
- package/core/field_label_serializable.ts +76 -0
- package/core/field_multilineinput.d.ts +146 -0
- package/core/{field_multilineinput.js → field_multilineinput.ts} +166 -163
- package/core/field_number.d.ts +156 -0
- package/core/{field_number.js → field_number.ts} +110 -123
- package/core/field_registry.d.ts +45 -0
- package/core/{field_registry.js → field_registry.ts} +37 -30
- package/core/field_textinput.d.ts +219 -0
- package/core/field_textinput.ts +591 -0
- package/core/field_variable.d.ts +217 -0
- package/core/{field_variable.js → field_variable.ts} +174 -187
- package/core/flyout_base.d.ts +459 -0
- package/core/{flyout_base.js → flyout_base.ts} +429 -518
- package/core/flyout_button.d.ts +81 -0
- package/core/flyout_button.ts +292 -0
- package/core/flyout_horizontal.d.ts +82 -0
- package/core/{flyout_horizontal.js → flyout_horizontal.ts} +97 -107
- package/core/flyout_metrics_manager.d.ts +40 -0
- package/core/{flyout_metrics_manager.js → flyout_metrics_manager.ts} +22 -34
- package/core/flyout_vertical.d.ts +83 -0
- package/core/{flyout_vertical.js → flyout_vertical.ts} +106 -117
- package/core/generator.d.ts +205 -0
- package/core/{generator.js → generator.ts} +168 -193
- package/core/gesture.d.ts +357 -0
- package/core/{gesture.js → gesture.ts} +289 -369
- package/core/grid.d.ts +83 -0
- package/core/grid.ts +192 -0
- package/core/icon.d.ts +78 -0
- package/core/icon.ts +189 -0
- package/core/inject.d.ts +15 -0
- package/core/{inject.js → inject.ts} +101 -100
- package/core/input.d.ts +128 -0
- package/core/input.ts +309 -0
- package/core/input_types.d.ts +14 -0
- package/core/{input_types.js → input_types.ts} +8 -12
- package/core/insertion_marker_manager.d.ts +212 -0
- package/core/{insertion_marker_manager.js → insertion_marker_manager.ts} +234 -236
- package/core/interfaces/i_ast_node_location.d.ts +11 -0
- package/core/interfaces/{i_ast_node_location.js → i_ast_node_location.ts} +4 -7
- package/core/interfaces/i_ast_node_location_svg.d.ts +22 -0
- package/core/interfaces/i_ast_node_location_svg.ts +37 -0
- package/core/interfaces/i_ast_node_location_with_block.d.ts +18 -0
- package/core/interfaces/i_ast_node_location_with_block.ts +38 -0
- package/core/interfaces/i_autohideable.d.ts +18 -0
- package/core/interfaces/i_autohideable.ts +34 -0
- package/core/interfaces/i_block_dragger.d.ts +43 -0
- package/core/interfaces/i_block_dragger.ts +67 -0
- package/core/interfaces/i_bounded_element.d.ts +24 -0
- package/core/interfaces/i_bounded_element.ts +42 -0
- package/core/interfaces/i_bubble.d.ts +59 -0
- package/core/interfaces/i_bubble.ts +88 -0
- package/core/interfaces/i_collapsible_toolbox_item.d.ts +26 -0
- package/core/interfaces/i_collapsible_toolbox_item.ts +47 -0
- package/core/interfaces/i_component.d.ts +17 -0
- package/core/interfaces/{i_component.js → i_component.ts} +9 -14
- package/core/interfaces/i_connection_checker.d.ts +69 -0
- package/core/interfaces/i_connection_checker.ts +102 -0
- package/core/interfaces/i_contextmenu.d.ts +13 -0
- package/core/interfaces/i_contextmenu.ts +26 -0
- package/core/interfaces/i_copyable.d.ts +24 -0
- package/core/interfaces/i_copyable.ts +40 -0
- package/core/interfaces/i_deletable.d.ts +16 -0
- package/core/interfaces/{i_deletable.js → i_deletable.ts} +9 -13
- package/core/interfaces/i_delete_area.d.ts +25 -0
- package/core/interfaces/i_delete_area.ts +46 -0
- package/core/interfaces/i_drag_target.d.ts +53 -0
- package/core/interfaces/i_drag_target.ts +84 -0
- package/core/interfaces/i_draggable.d.ts +12 -0
- package/core/interfaces/{i_draggable.js → i_draggable.ts} +4 -10
- package/core/interfaces/i_flyout.d.ts +134 -0
- package/core/interfaces/i_flyout.ts +186 -0
- package/core/interfaces/i_keyboard_accessible.d.ts +18 -0
- package/core/interfaces/i_keyboard_accessible.ts +35 -0
- package/core/interfaces/i_metrics_manager.d.ts +117 -0
- package/core/interfaces/i_metrics_manager.ts +151 -0
- package/core/interfaces/i_movable.d.ts +16 -0
- package/core/interfaces/{i_movable.js → i_movable.ts} +9 -13
- package/core/interfaces/i_positionable.d.ts +27 -0
- package/core/interfaces/i_positionable.ts +50 -0
- package/core/interfaces/i_registrable.d.ts +11 -0
- package/core/interfaces/{i_registrable.js → i_registrable.ts} +3 -7
- package/core/interfaces/i_registrable_field.d.ts +17 -0
- package/core/interfaces/{i_registrable_field.js → i_registrable_field.ts} +8 -16
- package/core/interfaces/i_selectable.d.ts +18 -0
- package/core/interfaces/i_selectable.ts +34 -0
- package/core/interfaces/i_selectable_toolbox_item.d.ts +42 -0
- package/core/interfaces/i_selectable_toolbox_item.ts +64 -0
- package/core/interfaces/i_serializer.d.ts +42 -0
- package/core/interfaces/i_serializer.ts +65 -0
- package/core/interfaces/i_styleable.d.ts +21 -0
- package/core/interfaces/i_styleable.ts +35 -0
- package/core/interfaces/i_toolbox.d.ts +85 -0
- package/core/interfaces/i_toolbox.ts +127 -0
- package/core/interfaces/i_toolbox_item.d.ts +62 -0
- package/core/interfaces/i_toolbox_item.ts +84 -0
- package/core/internal_constants.d.ts +40 -0
- package/core/{internal_constants.js → internal_constants.ts} +13 -18
- package/core/keyboard_nav/ast_node.d.ts +239 -0
- package/core/keyboard_nav/{ast_node.js → ast_node.ts} +207 -231
- package/core/keyboard_nav/basic_cursor.d.ts +88 -0
- package/core/keyboard_nav/{basic_cursor.js → basic_cursor.ts} +55 -66
- package/core/keyboard_nav/cursor.d.ts +41 -0
- package/core/keyboard_nav/{cursor.js → cursor.ts} +25 -35
- package/core/keyboard_nav/marker.d.ts +58 -0
- package/core/keyboard_nav/{marker.js → marker.ts} +36 -55
- package/core/keyboard_nav/tab_navigate_cursor.d.ts +19 -0
- package/core/keyboard_nav/{tab_navigate_cursor.js → tab_navigate_cursor.ts} +11 -15
- package/core/main.d.ts +11 -0
- package/core/main.js +303 -0
- package/core/marker_manager.d.ts +85 -0
- package/core/marker_manager.ts +181 -0
- package/core/menu.d.ts +149 -0
- package/core/{menu.js → menu.ts} +141 -174
- package/core/menuitem.d.ts +118 -0
- package/core/menuitem.ts +240 -0
- package/core/metrics_manager.d.ts +201 -0
- package/core/{metrics_manager.js → metrics_manager.ts} +117 -156
- package/core/msg.d.ts +9 -0
- package/core/{msg.js → msg.ts} +4 -8
- package/core/mutator.d.ts +128 -0
- package/core/{mutator.js → mutator.ts} +196 -211
- package/core/names.d.ts +124 -0
- package/core/names.ts +267 -0
- package/core/options.d.ts +137 -0
- package/core/{options.js → options.ts} +147 -173
- package/core/positionable_helpers.d.ts +88 -0
- package/core/{positionable_helpers.js → positionable_helpers.ts} +63 -70
- package/core/procedures.d.ts +108 -0
- package/core/{procedures.js → procedures.ts} +143 -152
- package/core/registry.d.ts +137 -0
- package/core/registry.ts +339 -0
- package/core/rendered_connection.d.ts +191 -0
- package/core/{rendered_connection.js → rendered_connection.ts} +164 -184
- package/core/renderers/common/block_rendering.d.ts +114 -0
- package/core/renderers/common/block_rendering.ts +164 -0
- package/core/renderers/common/constants.d.ts +458 -0
- package/core/renderers/common/constants.ts +1124 -0
- package/core/renderers/common/debug.d.ts +28 -0
- package/core/renderers/common/{debug.js → debug.ts} +14 -20
- package/core/renderers/common/debugger.d.ts +120 -0
- package/core/renderers/common/{debugger.js → debugger.ts} +100 -124
- package/core/renderers/common/drawer.d.ts +132 -0
- package/core/renderers/common/{drawer.js → drawer.ts} +112 -137
- package/core/renderers/common/i_path_object.d.ts +117 -0
- package/core/renderers/common/i_path_object.ts +161 -0
- package/core/renderers/common/info.d.ts +194 -0
- package/core/renderers/common/{info.js → info.ts} +165 -222
- package/core/renderers/common/marker_svg.d.ts +220 -0
- package/core/renderers/common/marker_svg.ts +680 -0
- package/core/renderers/common/path_object.d.ts +146 -0
- package/core/renderers/common/path_object.ts +272 -0
- package/core/renderers/common/renderer.d.ts +157 -0
- package/core/renderers/common/renderer.ts +271 -0
- package/core/renderers/geras/constants.d.ts +23 -0
- package/core/renderers/geras/constants.ts +61 -0
- package/core/renderers/geras/drawer.d.ts +43 -0
- package/core/renderers/geras/{drawer.js → drawer.ts} +40 -84
- package/core/renderers/geras/geras.d.ts +11 -0
- package/core/renderers/geras/geras.ts +37 -0
- package/core/renderers/geras/highlight_constants.d.ts +108 -0
- package/core/renderers/geras/{highlight_constants.js → highlight_constants.ts} +107 -69
- package/core/renderers/geras/highlighter.d.ts +98 -0
- package/core/renderers/geras/{highlighter.js → highlighter.ts} +81 -86
- package/core/renderers/geras/info.d.ts +45 -0
- package/core/renderers/geras/{info.js → info.ts} +61 -99
- package/core/renderers/geras/measurables/inline_input.d.ts +23 -0
- package/core/renderers/geras/measurables/inline_input.ts +51 -0
- package/core/renderers/geras/measurables/statement_input.d.ts +23 -0
- package/core/renderers/geras/measurables/statement_input.ts +50 -0
- package/core/renderers/geras/path_object.d.ts +47 -0
- package/core/renderers/geras/{path_object.js → path_object.ts} +46 -74
- package/core/renderers/geras/renderer.d.ts +69 -0
- package/core/renderers/geras/renderer.ts +126 -0
- package/core/renderers/measurables/base.d.ts +27 -0
- package/core/renderers/measurables/base.ts +53 -0
- package/core/renderers/measurables/bottom_row.d.ts +61 -0
- package/core/renderers/measurables/bottom_row.ts +120 -0
- package/core/renderers/measurables/connection.d.ts +25 -0
- package/core/renderers/measurables/connection.ts +52 -0
- package/core/renderers/measurables/external_value_input.d.ts +27 -0
- package/core/renderers/measurables/external_value_input.ts +65 -0
- package/core/renderers/measurables/field.d.ts +30 -0
- package/core/renderers/measurables/field.ts +63 -0
- package/core/renderers/measurables/hat.d.ts +21 -0
- package/core/renderers/measurables/{hat.js → hat.ts} +12 -14
- package/core/renderers/measurables/icon.d.ts +26 -0
- package/core/renderers/measurables/{icon.js → icon.ts} +14 -18
- package/core/renderers/measurables/in_row_spacer.d.ts +21 -0
- package/core/renderers/measurables/in_row_spacer.ts +44 -0
- package/core/renderers/measurables/inline_input.d.ts +24 -0
- package/core/renderers/measurables/{inline_input.js → inline_input.ts} +22 -26
- package/core/renderers/measurables/input_connection.d.ts +29 -0
- package/core/renderers/measurables/input_connection.ts +66 -0
- package/core/renderers/measurables/input_row.d.ts +30 -0
- package/core/renderers/measurables/{input_row.js → input_row.ts} +24 -31
- package/core/renderers/measurables/jagged_edge.d.ts +20 -0
- package/core/renderers/measurables/{jagged_edge.js → jagged_edge.ts} +10 -13
- package/core/renderers/measurables/next_connection.d.ts +23 -0
- package/core/renderers/measurables/next_connection.ts +47 -0
- package/core/renderers/measurables/output_connection.d.ts +26 -0
- package/core/renderers/measurables/output_connection.ts +56 -0
- package/core/renderers/measurables/previous_connection.d.ts +23 -0
- package/core/renderers/measurables/previous_connection.ts +47 -0
- package/core/renderers/measurables/round_corner.d.ts +21 -0
- package/core/renderers/measurables/round_corner.ts +49 -0
- package/core/renderers/measurables/row.d.ts +141 -0
- package/core/renderers/measurables/row.ts +225 -0
- package/core/renderers/measurables/spacer_row.d.ts +29 -0
- package/core/renderers/measurables/spacer_row.ts +55 -0
- package/core/renderers/measurables/square_corner.d.ts +21 -0
- package/core/renderers/measurables/square_corner.ts +47 -0
- package/core/renderers/measurables/statement_input.d.ts +22 -0
- package/core/renderers/measurables/{statement_input.js → statement_input.ts} +14 -18
- package/core/renderers/measurables/top_row.d.ts +56 -0
- package/core/renderers/measurables/top_row.ts +122 -0
- package/core/renderers/measurables/types.d.ts +235 -0
- package/core/renderers/measurables/types.ts +332 -0
- package/core/renderers/minimalist/constants.d.ts +14 -0
- package/core/renderers/minimalist/{constants.js → constants.ts} +5 -10
- package/core/renderers/minimalist/drawer.d.ts +21 -0
- package/core/renderers/minimalist/drawer.ts +38 -0
- package/core/renderers/minimalist/info.d.ts +30 -0
- package/core/renderers/minimalist/info.ts +52 -0
- package/core/renderers/minimalist/minimalist.d.ts +6 -0
- package/core/renderers/minimalist/minimalist.ts +22 -0
- package/core/renderers/minimalist/renderer.d.ts +41 -0
- package/core/renderers/minimalist/renderer.ts +71 -0
- package/core/renderers/thrasos/info.d.ts +40 -0
- package/core/renderers/thrasos/{info.js → info.ts} +66 -67
- package/core/renderers/thrasos/renderer.d.ts +25 -0
- package/core/renderers/thrasos/renderer.ts +48 -0
- package/core/renderers/thrasos/thrasos.d.ts +4 -0
- package/core/renderers/thrasos/thrasos.ts +20 -0
- package/core/renderers/zelos/constants.d.ts +186 -0
- package/core/renderers/zelos/{constants.js → constants.ts} +294 -441
- package/core/renderers/zelos/drawer.d.ts +47 -0
- package/core/renderers/zelos/{drawer.js → drawer.ts} +73 -95
- package/core/renderers/zelos/info.d.ts +88 -0
- package/core/renderers/zelos/{info.js → info.ts} +111 -142
- package/core/renderers/zelos/marker_svg.d.ts +46 -0
- package/core/renderers/zelos/marker_svg.ts +151 -0
- package/core/renderers/zelos/measurables/bottom_row.d.ts +27 -0
- package/core/renderers/zelos/measurables/bottom_row.ts +53 -0
- package/core/renderers/zelos/measurables/inputs.d.ts +23 -0
- package/core/renderers/zelos/measurables/{inputs.js → inputs.ts} +14 -15
- package/core/renderers/zelos/measurables/row_elements.d.ts +21 -0
- package/core/renderers/zelos/measurables/row_elements.ts +45 -0
- package/core/renderers/zelos/measurables/top_row.d.ts +29 -0
- package/core/renderers/zelos/measurables/{top_row.js → top_row.ts} +14 -27
- package/core/renderers/zelos/path_object.d.ts +77 -0
- package/core/renderers/zelos/path_object.ts +215 -0
- package/core/renderers/zelos/renderer.d.ts +74 -0
- package/core/renderers/zelos/renderer.ts +142 -0
- package/core/renderers/zelos/zelos.d.ts +12 -0
- package/core/renderers/zelos/zelos.ts +39 -0
- package/core/scrollbar.d.ts +277 -0
- package/core/{scrollbar.js → scrollbar.ts} +307 -328
- package/core/scrollbar_pair.d.ts +105 -0
- package/core/{scrollbar_pair.js → scrollbar_pair.ts} +71 -79
- package/core/serialization/blocks.d.ts +98 -0
- package/core/serialization/{blocks.js → blocks.ts} +229 -228
- package/core/serialization/exceptions.d.ts +73 -0
- package/core/serialization/exceptions.ts +98 -0
- package/core/serialization/priorities.d.ts +15 -0
- package/core/serialization/{priorities.js → priorities.ts} +4 -10
- package/core/serialization/registry.d.ts +20 -0
- package/core/serialization/{registry.js → registry.ts} +11 -13
- package/core/serialization/variables.d.ts +14 -0
- package/core/serialization/{variables.js → variables.ts} +30 -32
- package/core/serialization/workspaces.d.ts +28 -0
- package/core/serialization/{workspaces.js → workspaces.ts} +30 -27
- package/core/shortcut_items.d.ts +61 -0
- package/core/{shortcut_items.js → shortcut_items.ts} +121 -157
- package/core/shortcut_registry.d.ts +151 -0
- package/core/shortcut_registry.ts +355 -0
- package/core/sprites.d.ts +19 -0
- package/core/{sprites.js → sprites.ts} +4 -6
- package/core/theme/classic.d.ts +12 -0
- package/core/theme/{classic.js → classic.ts} +5 -7
- package/core/theme/themes.d.ts +8 -0
- package/core/theme/themes.ts +22 -0
- package/core/theme/zelos.d.ts +11 -0
- package/core/theme/{zelos.js → zelos.ts} +4 -7
- package/core/theme.d.ts +142 -0
- package/core/theme.ts +221 -0
- package/core/theme_manager.d.ts +81 -0
- package/core/theme_manager.ts +186 -0
- package/core/toolbox/category.d.ts +239 -0
- package/core/toolbox/category.ts +679 -0
- package/core/toolbox/collapsible_category.d.ts +91 -0
- package/core/toolbox/collapsible_category.ts +273 -0
- package/core/toolbox/separator.d.ts +39 -0
- package/core/toolbox/separator.ts +105 -0
- package/core/toolbox/toolbox.d.ts +352 -0
- package/core/toolbox/{toolbox.js → toolbox.ts} +316 -432
- package/core/toolbox/toolbox_item.d.ts +85 -0
- package/core/toolbox/toolbox_item.ts +147 -0
- package/core/tooltip.d.ts +126 -0
- package/core/{tooltip.js → tooltip.ts} +136 -214
- package/core/touch.d.ts +121 -0
- package/core/touch.ts +306 -0
- package/core/touch_gesture.d.ts +115 -0
- package/core/{touch_gesture.js → touch_gesture.ts} +87 -125
- package/core/trashcan.d.ts +195 -0
- package/core/{trashcan.js → trashcan.ts} +226 -312
- package/core/utils/aria.d.ts +67 -0
- package/core/utils/{aria.js → aria.ts} +47 -61
- package/core/utils/array.d.ts +14 -0
- package/core/utils/{array.js → array.ts} +10 -12
- package/core/utils/colour.d.ts +103 -0
- package/core/utils/{colour.js → colour.ts} +60 -72
- package/core/utils/coordinate.d.ts +72 -0
- package/core/utils/coordinate.ts +124 -0
- package/core/utils/deprecation.d.ts +17 -0
- package/core/utils/{deprecation.js → deprecation.ts} +11 -11
- package/core/utils/dom.d.ts +165 -0
- package/core/utils/{dom.js → dom.ts} +125 -147
- package/core/utils/idgenerator.d.ts +25 -0
- package/core/utils/{idgenerator.js → idgenerator.ts} +15 -18
- package/core/utils/keycodes.d.ts +137 -0
- package/core/utils/keycodes.ts +169 -0
- package/core/utils/math.d.ts +30 -0
- package/core/utils/{math.js → math.ts} +17 -19
- package/core/utils/metrics.d.ts +64 -0
- package/core/utils/metrics.ts +97 -0
- package/core/utils/object.d.ts +35 -0
- package/core/utils/{object.js → object.ts} +30 -26
- package/core/utils/parsing.d.ts +50 -0
- package/core/utils/{parsing.js → parsing.ts} +50 -50
- package/core/utils/rect.d.ts +38 -0
- package/core/utils/{rect.js → rect.ts} +18 -31
- package/core/utils/sentinel.d.ts +11 -0
- package/core/utils/{sentinel.js → sentinel.ts} +3 -5
- package/core/utils/size.d.ts +27 -0
- package/core/utils/{size.js → size.ts} +12 -26
- package/core/utils/string.d.ts +55 -0
- package/core/utils/{string.js → string.ts} +64 -61
- package/core/utils/style.d.ts +127 -0
- package/core/utils/{style.js → style.ts} +102 -92
- package/core/utils/svg.d.ts +68 -0
- package/core/utils/svg.ts +88 -0
- package/core/utils/svg_math.d.ts +70 -0
- package/core/utils/{svg_math.js → svg_math.ts} +72 -71
- package/core/utils/svg_paths.d.ts +101 -0
- package/core/utils/{svg_paths.js → svg_paths.ts} +56 -65
- package/core/utils/toolbox.d.ts +193 -0
- package/core/utils/toolbox.ts +433 -0
- package/core/utils/useragent.d.ts +33 -0
- package/core/utils/useragent.ts +135 -0
- package/core/utils/xml.d.ts +52 -0
- package/core/utils/{xml.js → xml.ts} +26 -36
- package/core/utils.d.ts +217 -0
- package/core/utils.ts +428 -0
- package/core/variable_map.d.ts +141 -0
- package/core/{variable_map.js → variable_map.ts} +131 -149
- package/core/variable_model.d.ts +40 -0
- package/core/variable_model.ts +82 -0
- package/core/variables.d.ts +181 -0
- package/core/{variables.js → variables.ts} +206 -188
- package/core/variables_dynamic.d.ts +38 -0
- package/core/{variables_dynamic.js → variables_dynamic.ts} +47 -43
- package/core/warning.d.ts +50 -0
- package/core/{warning.js → warning.ts} +52 -66
- package/core/widgetdiv.d.ts +69 -0
- package/core/widgetdiv.ts +257 -0
- package/core/workspace.d.ts +386 -0
- package/core/workspace.ts +801 -0
- package/core/workspace_audio.d.ts +47 -0
- package/core/{workspace_audio.js → workspace_audio.ts} +47 -60
- package/core/workspace_comment.d.ts +170 -0
- package/core/workspace_comment.ts +398 -0
- package/core/workspace_comment_svg.d.ts +329 -0
- package/core/{workspace_comment_svg.js → workspace_comment_svg.ts} +347 -444
- package/core/workspace_drag_surface_svg.d.ts +68 -0
- package/core/{workspace_drag_surface_svg.js → workspace_drag_surface_svg.ts} +75 -82
- package/core/workspace_dragger.d.ts +48 -0
- package/core/workspace_dragger.ts +104 -0
- package/core/workspace_svg.d.ts +920 -0
- package/core/{workspace_svg.js → workspace_svg.ts} +855 -935
- package/core/xml.d.ts +117 -0
- package/core/{xml.js → xml.ts} +306 -326
- package/core/zoom_controls.d.ts +130 -0
- package/core/{zoom_controls.js → zoom_controls.ts} +185 -251
- package/core.d.ts +1 -3
- package/core.js +1 -2
- package/dart.d.ts +0 -3
- package/dart_compressed.js +387 -99
- package/dart_compressed.js.map +1 -1
- package/generators/dart/all.js +2 -0
- package/generators/dart/colour.js +1 -1
- package/generators/dart/lists.js +1 -1
- package/generators/dart/logic.js +1 -1
- package/generators/dart/loops.js +1 -1
- package/generators/dart/math.js +1 -1
- package/generators/dart/procedures.js +1 -1
- package/generators/dart/text.js +1 -1
- package/generators/dart/variables.js +1 -1
- package/generators/dart/variables_dynamic.js +1 -1
- package/generators/dart.js +1 -2
- package/generators/javascript/all.js +2 -0
- package/generators/javascript/colour.js +1 -1
- package/generators/javascript/lists.js +1 -1
- package/generators/javascript/logic.js +1 -1
- package/generators/javascript/loops.js +1 -1
- package/generators/javascript/math.js +4 -4
- package/generators/javascript/procedures.js +1 -1
- package/generators/javascript/text.js +2 -2
- package/generators/javascript/variables.js +1 -1
- package/generators/javascript/variables_dynamic.js +1 -1
- package/generators/javascript.js +1 -3
- package/generators/lua/all.js +2 -0
- package/generators/lua/colour.js +1 -1
- package/generators/lua/lists.js +1 -1
- package/generators/lua/logic.js +1 -1
- package/generators/lua/loops.js +1 -1
- package/generators/lua/math.js +1 -1
- package/generators/lua/procedures.js +1 -1
- package/generators/lua/text.js +1 -1
- package/generators/lua/variables.js +1 -1
- package/generators/lua/variables_dynamic.js +1 -1
- package/generators/lua.js +1 -2
- package/generators/php/all.js +2 -0
- package/generators/php/colour.js +1 -1
- package/generators/php/lists.js +1 -2
- package/generators/php/logic.js +1 -1
- package/generators/php/loops.js +1 -1
- package/generators/php/math.js +1 -1
- package/generators/php/procedures.js +1 -1
- package/generators/php/text.js +1 -1
- package/generators/php/variables.js +1 -1
- package/generators/php/variables_dynamic.js +1 -1
- package/generators/php.js +1 -2
- package/generators/python/all.js +2 -0
- package/generators/python/colour.js +3 -3
- package/generators/python/lists.js +1 -1
- package/generators/python/logic.js +1 -1
- package/generators/python/loops.js +4 -7
- package/generators/python/math.js +1 -1
- package/generators/python/procedures.js +1 -1
- package/generators/python/text.js +1 -1
- package/generators/python/variables.js +1 -1
- package/generators/python/variables_dynamic.js +1 -1
- package/generators/python.js +1 -2
- package/index.d.ts +2 -8
- package/javascript.d.ts +0 -3
- package/javascript_compressed.js +314 -104
- package/javascript_compressed.js.map +1 -1
- package/lua.d.ts +0 -3
- package/lua_compressed.js +399 -81
- package/lua_compressed.js.map +1 -1
- package/msg/ab.js +421 -421
- package/msg/ace.js +421 -421
- package/msg/af.js +421 -421
- package/msg/am.js +421 -421
- package/msg/ar.js +421 -421
- package/msg/ast.js +421 -421
- package/msg/az.js +421 -421
- package/msg/ba.js +421 -421
- package/msg/bcc.js +421 -421
- package/msg/be-tarask.js +421 -421
- package/msg/be.js +421 -421
- package/msg/bg.js +421 -421
- package/msg/bn.js +421 -421
- package/msg/br.js +421 -421
- package/msg/bs.js +421 -421
- package/msg/ca.js +421 -421
- package/msg/cdo.js +421 -421
- package/msg/cs.js +421 -421
- package/msg/da.js +421 -421
- package/msg/de.js +421 -421
- package/msg/diq.js +421 -421
- package/msg/dty.js +421 -421
- package/msg/ee.js +421 -421
- package/msg/el.js +421 -421
- package/msg/en-gb.js +421 -421
- package/msg/en.js +421 -421
- package/msg/eo.js +421 -421
- package/msg/es.js +421 -421
- package/msg/et.js +421 -421
- package/msg/eu.js +421 -421
- package/msg/fa.js +421 -421
- package/msg/fi.js +421 -421
- package/msg/fo.js +421 -421
- package/msg/fr.js +421 -421
- package/msg/frr.js +421 -421
- package/msg/gl.js +421 -421
- package/msg/gn.js +421 -421
- package/msg/gor.js +421 -421
- package/msg/ha.js +421 -421
- package/msg/hak.js +421 -421
- package/msg/he.js +421 -421
- package/msg/hi.js +421 -421
- package/msg/hr.js +421 -421
- package/msg/hrx.js +421 -421
- package/msg/hu.js +421 -421
- package/msg/hy.js +421 -421
- package/msg/ia.js +421 -421
- package/msg/id.js +421 -421
- package/msg/ig.js +421 -421
- package/msg/inh.js +421 -421
- package/msg/is.js +421 -421
- package/msg/it.js +421 -421
- package/msg/ja.js +421 -421
- package/msg/ka.js +421 -421
- package/msg/kab.js +421 -421
- package/msg/kbd-cyrl.js +421 -421
- package/msg/km.js +421 -421
- package/msg/kn.js +421 -421
- package/msg/ko.js +421 -421
- package/msg/ksh.js +421 -421
- package/msg/ku-latn.js +421 -421
- package/msg/ky.js +421 -421
- package/msg/la.js +421 -421
- package/msg/lb.js +421 -421
- package/msg/lki.js +421 -421
- package/msg/lo.js +421 -421
- package/msg/lrc.js +421 -421
- package/msg/lt.js +421 -421
- package/msg/lv.js +421 -421
- package/msg/mg.js +421 -421
- package/msg/mk.js +421 -421
- package/msg/ml.js +421 -421
- package/msg/mnw.js +421 -421
- package/msg/ms.js +421 -421
- package/msg/my.js +421 -421
- package/msg/mzn.js +421 -421
- package/msg/nb.js +421 -421
- package/msg/ne.js +421 -421
- package/msg/nl.js +421 -421
- package/msg/oc.js +421 -421
- package/msg/olo.js +421 -421
- package/msg/pa.js +421 -421
- package/msg/pl.js +421 -421
- package/msg/pms.js +421 -421
- package/msg/ps.js +421 -421
- package/msg/pt-br.js +421 -421
- package/msg/pt.js +421 -421
- package/msg/ro.js +421 -421
- package/msg/ru.js +421 -421
- package/msg/sc.js +421 -421
- package/msg/sco.js +421 -421
- package/msg/sd.js +421 -421
- package/msg/shn.js +421 -421
- package/msg/si.js +421 -421
- package/msg/sk.js +421 -421
- package/msg/skr-arab.js +421 -421
- package/msg/sl.js +421 -421
- package/msg/smn.js +421 -421
- package/msg/sq.js +421 -421
- package/msg/sr-latn.js +421 -421
- package/msg/sr.js +421 -421
- package/msg/sv.js +421 -421
- package/msg/sw.js +421 -421
- package/msg/ta.js +421 -421
- package/msg/tcy.js +421 -421
- package/msg/te.js +421 -421
- package/msg/th.js +421 -421
- package/msg/ti.js +421 -421
- package/msg/tl.js +421 -421
- package/msg/tlh.js +421 -421
- package/msg/tr.js +421 -421
- package/msg/ug-arab.js +421 -421
- package/msg/uk.js +421 -421
- package/msg/ur.js +421 -421
- package/msg/uz.js +421 -421
- package/msg/vi.js +421 -421
- package/msg/xmf.js +421 -421
- package/msg/yo.js +421 -421
- package/msg/yue.js +421 -421
- package/msg/zgh.js +421 -421
- package/msg/zh-hans.js +421 -421
- package/msg/zh-hant.js +421 -421
- package/package.json +5 -5
- package/php.d.ts +0 -3
- package/php_compressed.js +322 -93
- package/php_compressed.js.map +1 -1
- package/python.d.ts +0 -3
- package/python_compressed.js +237 -90
- package/python_compressed.js.map +1 -1
- package/blockly.d.ts +0 -26127
- package/core/blockly_options.js +0 -28
- package/core/bubble_dragger.js +0 -298
- package/core/clipboard.js +0 -80
- package/core/component_manager.js +0 -263
- package/core/contextmenu_items.js +0 -651
- package/core/contextmenu_registry.js +0 -178
- package/core/delete_area.js +0 -87
- package/core/dialog.js +0 -107
- package/core/drag_target.js +0 -98
- package/core/events/events.js +0 -147
- package/core/events/events_abstract.js +0 -133
- package/core/events/events_block_base.js +0 -70
- package/core/events/events_block_drag.js +0 -89
- package/core/events/events_bubble_open.js +0 -90
- package/core/events/events_comment_base.js +0 -121
- package/core/events/events_marker_move.js +0 -110
- package/core/events/events_selected.js +0 -83
- package/core/events/events_toolbox_item_select.js +0 -84
- package/core/events/events_trashcan_open.js +0 -73
- package/core/events/events_var_base.js +0 -70
- package/core/events/events_viewport.js +0 -107
- package/core/events/workspace_events.js +0 -93
- package/core/field_angle.js +0 -591
- package/core/field_checkbox.js +0 -255
- package/core/field_colour.js +0 -717
- package/core/field_image.js +0 -304
- package/core/field_label.js +0 -149
- package/core/field_label_serializable.js +0 -80
- package/core/field_textinput.js +0 -619
- package/core/flyout_button.js +0 -356
- package/core/grid.js +0 -226
- package/core/icon.js +0 -225
- package/core/input.js +0 -335
- package/core/interfaces/i_ast_node_location_svg.js +0 -45
- package/core/interfaces/i_ast_node_location_with_block.js +0 -41
- package/core/interfaces/i_autohideable.js +0 -40
- package/core/interfaces/i_block_dragger.js +0 -66
- package/core/interfaces/i_bounded_element.js +0 -45
- package/core/interfaces/i_bubble.js +0 -95
- package/core/interfaces/i_collapsible_toolbox_item.js +0 -53
- package/core/interfaces/i_connection_checker.js +0 -104
- package/core/interfaces/i_contextmenu.js +0 -32
- package/core/interfaces/i_copyable.js +0 -49
- package/core/interfaces/i_delete_area.js +0 -50
- package/core/interfaces/i_drag_target.js +0 -88
- package/core/interfaces/i_flyout.js +0 -201
- package/core/interfaces/i_keyboard_accessible.js +0 -38
- package/core/interfaces/i_metrics_manager.js +0 -154
- package/core/interfaces/i_positionable.js +0 -51
- package/core/interfaces/i_selectable.js +0 -51
- package/core/interfaces/i_selectable_toolbox_item.js +0 -73
- package/core/interfaces/i_serializer.js +0 -77
- package/core/interfaces/i_styleable.js +0 -39
- package/core/interfaces/i_toolbox.js +0 -142
- package/core/interfaces/i_toolbox_item.js +0 -85
- package/core/marker_manager.js +0 -213
- package/core/menuitem.js +0 -292
- package/core/names.js +0 -293
- package/core/registry.js +0 -384
- package/core/renderers/common/block_rendering.js +0 -170
- package/core/renderers/common/constants.js +0 -1250
- package/core/renderers/common/i_path_object.js +0 -162
- package/core/renderers/common/marker_svg.js +0 -721
- package/core/renderers/common/path_object.js +0 -283
- package/core/renderers/common/renderer.js +0 -305
- package/core/renderers/geras/constants.js +0 -73
- package/core/renderers/geras/geras.js +0 -36
- package/core/renderers/geras/measurables/inline_input.js +0 -58
- package/core/renderers/geras/measurables/statement_input.js +0 -57
- package/core/renderers/geras/renderer.js +0 -149
- package/core/renderers/measurables/base.js +0 -64
- package/core/renderers/measurables/bottom_row.js +0 -138
- package/core/renderers/measurables/connection.js +0 -56
- package/core/renderers/measurables/external_value_input.js +0 -70
- package/core/renderers/measurables/field.js +0 -71
- package/core/renderers/measurables/in_row_spacer.js +0 -47
- package/core/renderers/measurables/input_connection.js +0 -75
- package/core/renderers/measurables/next_connection.js +0 -50
- package/core/renderers/measurables/output_connection.js +0 -61
- package/core/renderers/measurables/previous_connection.js +0 -50
- package/core/renderers/measurables/round_corner.js +0 -52
- package/core/renderers/measurables/row.js +0 -247
- package/core/renderers/measurables/spacer_row.js +0 -69
- package/core/renderers/measurables/square_corner.js +0 -50
- package/core/renderers/measurables/top_row.js +0 -143
- package/core/renderers/measurables/types.js +0 -353
- package/core/renderers/minimalist/drawer.js +0 -42
- package/core/renderers/minimalist/info.js +0 -54
- package/core/renderers/minimalist/minimalist.js +0 -26
- package/core/renderers/minimalist/renderer.js +0 -80
- package/core/renderers/thrasos/renderer.js +0 -53
- package/core/renderers/thrasos/thrasos.js +0 -22
- package/core/renderers/zelos/marker_svg.js +0 -179
- package/core/renderers/zelos/measurables/bottom_row.js +0 -66
- package/core/renderers/zelos/measurables/row_elements.js +0 -46
- package/core/renderers/zelos/path_object.js +0 -247
- package/core/renderers/zelos/renderer.js +0 -147
- package/core/renderers/zelos/zelos.js +0 -38
- package/core/serialization/exceptions.js +0 -144
- package/core/shortcut_registry.js +0 -366
- package/core/theme/themes.js +0 -23
- package/core/theme.js +0 -228
- package/core/theme_manager.js +0 -211
- package/core/toolbox/category.js +0 -751
- package/core/toolbox/collapsible_category.js +0 -311
- package/core/toolbox/separator.js +0 -133
- package/core/toolbox/toolbox_item.js +0 -173
- package/core/touch.js +0 -285
- package/core/utils/coordinate.js +0 -138
- package/core/utils/global.js +0 -41
- package/core/utils/keycodes.js +0 -172
- package/core/utils/metrics.js +0 -154
- package/core/utils/svg.js +0 -186
- package/core/utils/toolbox.js +0 -459
- package/core/utils/useragent.js +0 -197
- package/core/utils.js +0 -383
- package/core/variable_model.js +0 -96
- package/core/widgetdiv.js +0 -290
- package/core/workspace.js +0 -836
- package/core/workspace_comment.js +0 -400
- package/core/workspace_dragger.js +0 -115
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2019 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { ASTNode } from './ast_node.js';
|
|
7
|
+
import { Cursor } from './cursor.js';
|
|
8
|
+
/**
|
|
9
|
+
* Class for a basic cursor.
|
|
10
|
+
* This will allow the user to get to all nodes in the AST by hitting next or
|
|
11
|
+
* previous.
|
|
12
|
+
* @alias Blockly.BasicCursor
|
|
13
|
+
*/
|
|
14
|
+
export declare class BasicCursor extends Cursor {
|
|
15
|
+
/** Name used for registering a basic cursor. */
|
|
16
|
+
static readonly registrationName = "basicCursor";
|
|
17
|
+
/** @alias Blockly.BasicCursor */
|
|
18
|
+
constructor();
|
|
19
|
+
/**
|
|
20
|
+
* Find the next node in the pre order traversal.
|
|
21
|
+
* @return The next node, or null if the current node is not set or there is
|
|
22
|
+
* no next value.
|
|
23
|
+
*/
|
|
24
|
+
next(): ASTNode | null;
|
|
25
|
+
/**
|
|
26
|
+
* For a basic cursor we only have the ability to go next and previous, so
|
|
27
|
+
* in will also allow the user to get to the next node in the pre order
|
|
28
|
+
* traversal.
|
|
29
|
+
* @return The next node, or null if the current node is not set or there is
|
|
30
|
+
* no next value.
|
|
31
|
+
*/
|
|
32
|
+
in(): ASTNode | null;
|
|
33
|
+
/**
|
|
34
|
+
* Find the previous node in the pre order traversal.
|
|
35
|
+
* @return The previous node, or null if the current node is not set or there
|
|
36
|
+
* is no previous value.
|
|
37
|
+
*/
|
|
38
|
+
prev(): ASTNode | null;
|
|
39
|
+
/**
|
|
40
|
+
* For a basic cursor we only have the ability to go next and previous, so
|
|
41
|
+
* out will allow the user to get to the previous node in the pre order
|
|
42
|
+
* traversal.
|
|
43
|
+
* @return The previous node, or null if the current node is not set or there
|
|
44
|
+
* is no previous value.
|
|
45
|
+
*/
|
|
46
|
+
out(): ASTNode | null;
|
|
47
|
+
/**
|
|
48
|
+
* Uses pre order traversal to navigate the Blockly AST. This will allow
|
|
49
|
+
* a user to easily navigate the entire Blockly AST without having to go in
|
|
50
|
+
* and out levels on the tree.
|
|
51
|
+
* @param node The current position in the AST.
|
|
52
|
+
* @param isValid A function true/false depending on whether the given node
|
|
53
|
+
* should be traversed.
|
|
54
|
+
* @return The next node in the traversal.
|
|
55
|
+
*/
|
|
56
|
+
protected getNextNode_(node: ASTNode | null, isValid: (p1: ASTNode | null) => boolean): ASTNode | null;
|
|
57
|
+
/**
|
|
58
|
+
* Reverses the pre order traversal in order to find the previous node. This
|
|
59
|
+
* will allow a user to easily navigate the entire Blockly AST without having
|
|
60
|
+
* to go in and out levels on the tree.
|
|
61
|
+
* @param node The current position in the AST.
|
|
62
|
+
* @param isValid A function true/false depending on whether the given node
|
|
63
|
+
* should be traversed.
|
|
64
|
+
* @return The previous node in the traversal or null if no previous node
|
|
65
|
+
* exists.
|
|
66
|
+
*/
|
|
67
|
+
protected getPreviousNode_(node: ASTNode | null, isValid: (p1: ASTNode | null) => boolean): ASTNode | null;
|
|
68
|
+
/**
|
|
69
|
+
* Decides what nodes to traverse and which ones to skip. Currently, it
|
|
70
|
+
* skips output, stack and workspace nodes.
|
|
71
|
+
* @param node The AST node to check whether it is valid.
|
|
72
|
+
* @return True if the node should be visited, false otherwise.
|
|
73
|
+
*/
|
|
74
|
+
protected validNode_(node: ASTNode | null): boolean;
|
|
75
|
+
/**
|
|
76
|
+
* From the given node find either the next valid sibling or parent.
|
|
77
|
+
* @param node The current position in the AST.
|
|
78
|
+
* @return The parent AST node or null if there are no valid parents.
|
|
79
|
+
*/
|
|
80
|
+
private findSiblingOrParent_;
|
|
81
|
+
/**
|
|
82
|
+
* Get the right most child of a node.
|
|
83
|
+
* @param node The node to find the right most child of.
|
|
84
|
+
* @return The right most child of the given node, or the node if no child
|
|
85
|
+
* exists.
|
|
86
|
+
*/
|
|
87
|
+
private getRightMostChild_;
|
|
88
|
+
}
|
|
@@ -8,42 +8,42 @@
|
|
|
8
8
|
* @fileoverview The class representing a basic cursor.
|
|
9
9
|
* Used to demo switching between different cursors.
|
|
10
10
|
*/
|
|
11
|
-
'use strict';
|
|
12
11
|
|
|
13
12
|
/**
|
|
14
13
|
* The class representing a basic cursor.
|
|
15
14
|
* Used to demo switching between different cursors.
|
|
16
15
|
* @class
|
|
17
16
|
*/
|
|
18
|
-
goog
|
|
17
|
+
import * as goog from '../../closure/goog/goog.js';
|
|
18
|
+
goog.declareModuleId('Blockly.BasicCursor');
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
import * as registry from '../registry.js';
|
|
21
|
+
|
|
22
|
+
import {ASTNode} from './ast_node.js';
|
|
23
|
+
import {Cursor} from './cursor.js';
|
|
23
24
|
|
|
24
25
|
|
|
25
26
|
/**
|
|
26
27
|
* Class for a basic cursor.
|
|
27
28
|
* This will allow the user to get to all nodes in the AST by hitting next or
|
|
28
29
|
* previous.
|
|
29
|
-
* @extends {Cursor}
|
|
30
30
|
* @alias Blockly.BasicCursor
|
|
31
31
|
*/
|
|
32
|
-
class BasicCursor extends Cursor {
|
|
33
|
-
/**
|
|
34
|
-
|
|
35
|
-
|
|
32
|
+
export class BasicCursor extends Cursor {
|
|
33
|
+
/** Name used for registering a basic cursor. */
|
|
34
|
+
static readonly registrationName = 'basicCursor';
|
|
35
|
+
|
|
36
|
+
/** @alias Blockly.BasicCursor */
|
|
36
37
|
constructor() {
|
|
37
38
|
super();
|
|
38
39
|
}
|
|
39
40
|
|
|
40
41
|
/**
|
|
41
42
|
* Find the next node in the pre order traversal.
|
|
42
|
-
* @return
|
|
43
|
-
*
|
|
44
|
-
* @override
|
|
43
|
+
* @return The next node, or null if the current node is not set or there is
|
|
44
|
+
* no next value.
|
|
45
45
|
*/
|
|
46
|
-
next() {
|
|
46
|
+
override next(): ASTNode|null {
|
|
47
47
|
const curNode = this.getCurNode();
|
|
48
48
|
if (!curNode) {
|
|
49
49
|
return null;
|
|
@@ -60,21 +60,19 @@ class BasicCursor extends Cursor {
|
|
|
60
60
|
* For a basic cursor we only have the ability to go next and previous, so
|
|
61
61
|
* in will also allow the user to get to the next node in the pre order
|
|
62
62
|
* traversal.
|
|
63
|
-
* @return
|
|
64
|
-
*
|
|
65
|
-
* @override
|
|
63
|
+
* @return The next node, or null if the current node is not set or there is
|
|
64
|
+
* no next value.
|
|
66
65
|
*/
|
|
67
|
-
in() {
|
|
66
|
+
override in(): ASTNode|null {
|
|
68
67
|
return this.next();
|
|
69
68
|
}
|
|
70
69
|
|
|
71
70
|
/**
|
|
72
71
|
* Find the previous node in the pre order traversal.
|
|
73
|
-
* @return
|
|
74
|
-
* is
|
|
75
|
-
* @override
|
|
72
|
+
* @return The previous node, or null if the current node is not set or there
|
|
73
|
+
* is no previous value.
|
|
76
74
|
*/
|
|
77
|
-
prev() {
|
|
75
|
+
override prev(): ASTNode|null {
|
|
78
76
|
const curNode = this.getCurNode();
|
|
79
77
|
if (!curNode) {
|
|
80
78
|
return null;
|
|
@@ -91,11 +89,10 @@ class BasicCursor extends Cursor {
|
|
|
91
89
|
* For a basic cursor we only have the ability to go next and previous, so
|
|
92
90
|
* out will allow the user to get to the previous node in the pre order
|
|
93
91
|
* traversal.
|
|
94
|
-
* @return
|
|
95
|
-
*
|
|
96
|
-
* @override
|
|
92
|
+
* @return The previous node, or null if the current node is not set or there
|
|
93
|
+
* is no previous value.
|
|
97
94
|
*/
|
|
98
|
-
out() {
|
|
95
|
+
override out(): ASTNode|null {
|
|
99
96
|
return this.prev();
|
|
100
97
|
}
|
|
101
98
|
|
|
@@ -103,13 +100,14 @@ class BasicCursor extends Cursor {
|
|
|
103
100
|
* Uses pre order traversal to navigate the Blockly AST. This will allow
|
|
104
101
|
* a user to easily navigate the entire Blockly AST without having to go in
|
|
105
102
|
* and out levels on the tree.
|
|
106
|
-
* @param
|
|
107
|
-
* @param
|
|
108
|
-
*
|
|
109
|
-
* @return
|
|
110
|
-
* @protected
|
|
103
|
+
* @param node The current position in the AST.
|
|
104
|
+
* @param isValid A function true/false depending on whether the given node
|
|
105
|
+
* should be traversed.
|
|
106
|
+
* @return The next node in the traversal.
|
|
111
107
|
*/
|
|
112
|
-
getNextNode_(
|
|
108
|
+
protected getNextNode_(
|
|
109
|
+
node: ASTNode|null, isValid: (p1: ASTNode|null) => boolean): ASTNode
|
|
110
|
+
|null {
|
|
113
111
|
if (!node) {
|
|
114
112
|
return null;
|
|
115
113
|
}
|
|
@@ -120,7 +118,9 @@ class BasicCursor extends Cursor {
|
|
|
120
118
|
return this.getNextNode_(newNode, isValid);
|
|
121
119
|
}
|
|
122
120
|
const siblingOrParent = this.findSiblingOrParent_(node.out());
|
|
123
|
-
|
|
121
|
+
// AnyDuringMigration because: Argument of type 'ASTNode | null' is not
|
|
122
|
+
// assignable to parameter of type 'ASTNode'.
|
|
123
|
+
if (isValid(siblingOrParent as AnyDuringMigration)) {
|
|
124
124
|
return siblingOrParent;
|
|
125
125
|
} else if (siblingOrParent) {
|
|
126
126
|
return this.getNextNode_(siblingOrParent, isValid);
|
|
@@ -132,18 +132,19 @@ class BasicCursor extends Cursor {
|
|
|
132
132
|
* Reverses the pre order traversal in order to find the previous node. This
|
|
133
133
|
* will allow a user to easily navigate the entire Blockly AST without having
|
|
134
134
|
* to go in and out levels on the tree.
|
|
135
|
-
* @param
|
|
136
|
-
* @param
|
|
137
|
-
*
|
|
138
|
-
* @return
|
|
139
|
-
*
|
|
140
|
-
* @protected
|
|
135
|
+
* @param node The current position in the AST.
|
|
136
|
+
* @param isValid A function true/false depending on whether the given node
|
|
137
|
+
* should be traversed.
|
|
138
|
+
* @return The previous node in the traversal or null if no previous node
|
|
139
|
+
* exists.
|
|
141
140
|
*/
|
|
142
|
-
getPreviousNode_(
|
|
141
|
+
protected getPreviousNode_(
|
|
142
|
+
node: ASTNode|null, isValid: (p1: ASTNode|null) => boolean): ASTNode
|
|
143
|
+
|null {
|
|
143
144
|
if (!node) {
|
|
144
145
|
return null;
|
|
145
146
|
}
|
|
146
|
-
let newNode = node.prev();
|
|
147
|
+
let newNode: ASTNode|null = node.prev();
|
|
147
148
|
|
|
148
149
|
if (newNode) {
|
|
149
150
|
newNode = this.getRightMostChild_(newNode);
|
|
@@ -161,11 +162,10 @@ class BasicCursor extends Cursor {
|
|
|
161
162
|
/**
|
|
162
163
|
* Decides what nodes to traverse and which ones to skip. Currently, it
|
|
163
164
|
* skips output, stack and workspace nodes.
|
|
164
|
-
* @param
|
|
165
|
-
* @return
|
|
166
|
-
* @protected
|
|
165
|
+
* @param node The AST node to check whether it is valid.
|
|
166
|
+
* @return True if the node should be visited, false otherwise.
|
|
167
167
|
*/
|
|
168
|
-
validNode_(node) {
|
|
168
|
+
protected validNode_(node: ASTNode|null): boolean {
|
|
169
169
|
let isValid = false;
|
|
170
170
|
const type = node && node.getType();
|
|
171
171
|
if (type === ASTNode.types.OUTPUT || type === ASTNode.types.INPUT ||
|
|
@@ -178,12 +178,10 @@ class BasicCursor extends Cursor {
|
|
|
178
178
|
|
|
179
179
|
/**
|
|
180
180
|
* From the given node find either the next valid sibling or parent.
|
|
181
|
-
* @param
|
|
182
|
-
* @return
|
|
183
|
-
* valid parents.
|
|
184
|
-
* @private
|
|
181
|
+
* @param node The current position in the AST.
|
|
182
|
+
* @return The parent AST node or null if there are no valid parents.
|
|
185
183
|
*/
|
|
186
|
-
findSiblingOrParent_(node) {
|
|
184
|
+
private findSiblingOrParent_(node: ASTNode|null): ASTNode|null {
|
|
187
185
|
if (!node) {
|
|
188
186
|
return null;
|
|
189
187
|
}
|
|
@@ -196,30 +194,21 @@ class BasicCursor extends Cursor {
|
|
|
196
194
|
|
|
197
195
|
/**
|
|
198
196
|
* Get the right most child of a node.
|
|
199
|
-
* @param
|
|
200
|
-
* @return
|
|
201
|
-
*
|
|
202
|
-
* @private
|
|
197
|
+
* @param node The node to find the right most child of.
|
|
198
|
+
* @return The right most child of the given node, or the node if no child
|
|
199
|
+
* exists.
|
|
203
200
|
*/
|
|
204
|
-
getRightMostChild_(node) {
|
|
205
|
-
if (!node
|
|
201
|
+
private getRightMostChild_(node: ASTNode|null): ASTNode|null {
|
|
202
|
+
if (!node!.in()) {
|
|
206
203
|
return node;
|
|
207
204
|
}
|
|
208
|
-
let newNode = node
|
|
209
|
-
while (newNode.next()) {
|
|
205
|
+
let newNode = node!.in();
|
|
206
|
+
while (newNode && newNode.next()) {
|
|
210
207
|
newNode = newNode.next();
|
|
211
208
|
}
|
|
212
209
|
return this.getRightMostChild_(newNode);
|
|
213
210
|
}
|
|
214
211
|
}
|
|
215
212
|
|
|
216
|
-
/**
|
|
217
|
-
* Name used for registering a basic cursor.
|
|
218
|
-
* @const {string}
|
|
219
|
-
*/
|
|
220
|
-
BasicCursor.registrationName = 'basicCursor';
|
|
221
|
-
|
|
222
213
|
registry.register(
|
|
223
214
|
registry.Type.CURSOR, BasicCursor.registrationName, BasicCursor);
|
|
224
|
-
|
|
225
|
-
exports.BasicCursor = BasicCursor;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2019 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { ASTNode } from './ast_node.js';
|
|
7
|
+
import { Marker } from './marker.js';
|
|
8
|
+
/**
|
|
9
|
+
* Class for a cursor.
|
|
10
|
+
* A cursor controls how a user navigates the Blockly AST.
|
|
11
|
+
* @alias Blockly.Cursor
|
|
12
|
+
*/
|
|
13
|
+
export declare class Cursor extends Marker {
|
|
14
|
+
type: string;
|
|
15
|
+
/** @alias Blockly.Cursor */
|
|
16
|
+
constructor();
|
|
17
|
+
/**
|
|
18
|
+
* Find the next connection, field, or block.
|
|
19
|
+
* @return The next element, or null if the current node is not set or there
|
|
20
|
+
* is no next value.
|
|
21
|
+
*/
|
|
22
|
+
next(): ASTNode | null;
|
|
23
|
+
/**
|
|
24
|
+
* Find the in connection or field.
|
|
25
|
+
* @return The in element, or null if the current node is not set or there is
|
|
26
|
+
* no in value.
|
|
27
|
+
*/
|
|
28
|
+
in(): ASTNode | null;
|
|
29
|
+
/**
|
|
30
|
+
* Find the previous connection, field, or block.
|
|
31
|
+
* @return The previous element, or null if the current node is not set or
|
|
32
|
+
* there is no previous value.
|
|
33
|
+
*/
|
|
34
|
+
prev(): ASTNode | null;
|
|
35
|
+
/**
|
|
36
|
+
* Find the out connection, field, or block.
|
|
37
|
+
* @return The out element, or null if the current node is not set or there is
|
|
38
|
+
* no out value.
|
|
39
|
+
*/
|
|
40
|
+
out(): ASTNode | null;
|
|
41
|
+
}
|
|
@@ -8,45 +8,40 @@
|
|
|
8
8
|
* @fileoverview The class representing a cursor.
|
|
9
9
|
* Used primarily for keyboard navigation.
|
|
10
10
|
*/
|
|
11
|
-
'use strict';
|
|
12
11
|
|
|
13
12
|
/**
|
|
14
13
|
* The class representing a cursor.
|
|
15
14
|
* Used primarily for keyboard navigation.
|
|
16
15
|
* @class
|
|
17
16
|
*/
|
|
18
|
-
goog
|
|
17
|
+
import * as goog from '../../closure/goog/goog.js';
|
|
18
|
+
goog.declareModuleId('Blockly.Cursor');
|
|
19
|
+
|
|
20
|
+
import * as registry from '../registry.js';
|
|
21
|
+
|
|
22
|
+
import {ASTNode} from './ast_node.js';
|
|
23
|
+
import {Marker} from './marker.js';
|
|
19
24
|
|
|
20
|
-
const registry = goog.require('Blockly.registry');
|
|
21
|
-
const {ASTNode} = goog.require('Blockly.ASTNode');
|
|
22
|
-
const {Marker} = goog.require('Blockly.Marker');
|
|
23
25
|
|
|
24
26
|
/**
|
|
25
27
|
* Class for a cursor.
|
|
26
28
|
* A cursor controls how a user navigates the Blockly AST.
|
|
27
|
-
* @extends {Marker}
|
|
28
29
|
* @alias Blockly.Cursor
|
|
29
30
|
*/
|
|
30
|
-
class Cursor extends Marker {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
31
|
+
export class Cursor extends Marker {
|
|
32
|
+
override type = 'cursor';
|
|
33
|
+
|
|
34
|
+
/** @alias Blockly.Cursor */
|
|
34
35
|
constructor() {
|
|
35
36
|
super();
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* @override
|
|
39
|
-
*/
|
|
40
|
-
this.type = 'cursor';
|
|
41
37
|
}
|
|
42
38
|
|
|
43
39
|
/**
|
|
44
40
|
* Find the next connection, field, or block.
|
|
45
|
-
* @return
|
|
46
|
-
*
|
|
47
|
-
* @public
|
|
41
|
+
* @return The next element, or null if the current node is not set or there
|
|
42
|
+
* is no next value.
|
|
48
43
|
*/
|
|
49
|
-
next() {
|
|
44
|
+
next(): ASTNode|null {
|
|
50
45
|
const curNode = this.getCurNode();
|
|
51
46
|
if (!curNode) {
|
|
52
47
|
return null;
|
|
@@ -67,12 +62,11 @@ class Cursor extends Marker {
|
|
|
67
62
|
|
|
68
63
|
/**
|
|
69
64
|
* Find the in connection or field.
|
|
70
|
-
* @return
|
|
71
|
-
*
|
|
72
|
-
* @public
|
|
65
|
+
* @return The in element, or null if the current node is not set or there is
|
|
66
|
+
* no in value.
|
|
73
67
|
*/
|
|
74
|
-
in() {
|
|
75
|
-
let curNode = this.getCurNode();
|
|
68
|
+
in(): ASTNode|null {
|
|
69
|
+
let curNode: ASTNode|null = this.getCurNode();
|
|
76
70
|
if (!curNode) {
|
|
77
71
|
return null;
|
|
78
72
|
}
|
|
@@ -82,7 +76,7 @@ class Cursor extends Marker {
|
|
|
82
76
|
curNode.getType() === ASTNode.types.OUTPUT) {
|
|
83
77
|
curNode = curNode.next();
|
|
84
78
|
}
|
|
85
|
-
const newNode = curNode
|
|
79
|
+
const newNode = curNode?.in() ?? null;
|
|
86
80
|
|
|
87
81
|
if (newNode) {
|
|
88
82
|
this.setCurNode(newNode);
|
|
@@ -92,11 +86,10 @@ class Cursor extends Marker {
|
|
|
92
86
|
|
|
93
87
|
/**
|
|
94
88
|
* Find the previous connection, field, or block.
|
|
95
|
-
* @return
|
|
96
|
-
*
|
|
97
|
-
* @public
|
|
89
|
+
* @return The previous element, or null if the current node is not set or
|
|
90
|
+
* there is no previous value.
|
|
98
91
|
*/
|
|
99
|
-
prev() {
|
|
92
|
+
prev(): ASTNode|null {
|
|
100
93
|
const curNode = this.getCurNode();
|
|
101
94
|
if (!curNode) {
|
|
102
95
|
return null;
|
|
@@ -117,11 +110,10 @@ class Cursor extends Marker {
|
|
|
117
110
|
|
|
118
111
|
/**
|
|
119
112
|
* Find the out connection, field, or block.
|
|
120
|
-
* @return
|
|
121
|
-
*
|
|
122
|
-
* @public
|
|
113
|
+
* @return The out element, or null if the current node is not set or there is
|
|
114
|
+
* no out value.
|
|
123
115
|
*/
|
|
124
|
-
out() {
|
|
116
|
+
out(): ASTNode|null {
|
|
125
117
|
const curNode = this.getCurNode();
|
|
126
118
|
if (!curNode) {
|
|
127
119
|
return null;
|
|
@@ -140,5 +132,3 @@ class Cursor extends Marker {
|
|
|
140
132
|
}
|
|
141
133
|
|
|
142
134
|
registry.register(registry.Type.CURSOR, registry.DEFAULT, Cursor);
|
|
143
|
-
|
|
144
|
-
exports.Cursor = Cursor;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2019 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { MarkerSvg } from '../renderers/common/marker_svg.js';
|
|
7
|
+
import type { ASTNode } from './ast_node.js';
|
|
8
|
+
/**
|
|
9
|
+
* Class for a marker.
|
|
10
|
+
* This is used in keyboard navigation to save a location in the Blockly AST.
|
|
11
|
+
* @alias Blockly.Marker
|
|
12
|
+
*/
|
|
13
|
+
export declare class Marker {
|
|
14
|
+
/** The colour of the marker. */
|
|
15
|
+
colour: string | null;
|
|
16
|
+
/** The current location of the marker. */
|
|
17
|
+
private curNode_;
|
|
18
|
+
/**
|
|
19
|
+
* The object in charge of drawing the visual representation of the current
|
|
20
|
+
* node.
|
|
21
|
+
*/
|
|
22
|
+
private drawer_;
|
|
23
|
+
/** The type of the marker. */
|
|
24
|
+
type: string;
|
|
25
|
+
/** Constructs a new Marker instance. */
|
|
26
|
+
constructor();
|
|
27
|
+
/**
|
|
28
|
+
* Sets the object in charge of drawing the marker.
|
|
29
|
+
* @param drawer The object in charge of drawing the marker.
|
|
30
|
+
*/
|
|
31
|
+
setDrawer(drawer: MarkerSvg): void;
|
|
32
|
+
/**
|
|
33
|
+
* Get the current drawer for the marker.
|
|
34
|
+
* @return The object in charge of drawing the marker.
|
|
35
|
+
*/
|
|
36
|
+
getDrawer(): MarkerSvg;
|
|
37
|
+
/**
|
|
38
|
+
* Gets the current location of the marker.
|
|
39
|
+
* @return The current field, connection, or block the marker is on.
|
|
40
|
+
*/
|
|
41
|
+
getCurNode(): ASTNode;
|
|
42
|
+
/**
|
|
43
|
+
* Set the location of the marker and call the update method.
|
|
44
|
+
* Setting isStack to true will only work if the newLocation is the top most
|
|
45
|
+
* output or previous connection on a stack.
|
|
46
|
+
* @param newNode The new location of the marker.
|
|
47
|
+
*/
|
|
48
|
+
setCurNode(newNode: ASTNode): void;
|
|
49
|
+
/**
|
|
50
|
+
* Redraw the current marker.
|
|
51
|
+
* @internal
|
|
52
|
+
*/
|
|
53
|
+
draw(): void;
|
|
54
|
+
/** Hide the marker SVG. */
|
|
55
|
+
hide(): void;
|
|
56
|
+
/** Dispose of this marker. */
|
|
57
|
+
dispose(): void;
|
|
58
|
+
}
|