blockly 8.0.5 → 9.0.0-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 +2002 -2269
- 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/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,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2019 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { BlockSvg } from '../../block_svg.js';
|
|
7
|
+
import { Drawer as BaseDrawer } from '../common/drawer.js';
|
|
8
|
+
import type { InlineInput } from '../measurables/inline_input.js';
|
|
9
|
+
import type { Row } from '../measurables/row.js';
|
|
10
|
+
import type { RenderInfo } from './info.js';
|
|
11
|
+
/**
|
|
12
|
+
* An object that draws a block based on the given rendering information.
|
|
13
|
+
* @alias Blockly.zelos.Drawer
|
|
14
|
+
*/
|
|
15
|
+
export declare class Drawer extends BaseDrawer {
|
|
16
|
+
info_: RenderInfo;
|
|
17
|
+
/**
|
|
18
|
+
* @param block The block to render.
|
|
19
|
+
* @param info An object containing all information needed to render this
|
|
20
|
+
* block.
|
|
21
|
+
* @internal
|
|
22
|
+
*/
|
|
23
|
+
constructor(block: BlockSvg, info: RenderInfo);
|
|
24
|
+
draw(): void;
|
|
25
|
+
drawOutline_(): void;
|
|
26
|
+
drawLeft_(): void;
|
|
27
|
+
/**
|
|
28
|
+
* Add steps for the right side of a row that does not have value or
|
|
29
|
+
* statement input connections.
|
|
30
|
+
* @param row The row to draw the side of.
|
|
31
|
+
*/
|
|
32
|
+
protected drawRightSideRow_(row: Row): void;
|
|
33
|
+
/**
|
|
34
|
+
* Add steps to draw the right side of an output with a dynamic connection.
|
|
35
|
+
*/
|
|
36
|
+
protected drawRightDynamicConnection_(): void;
|
|
37
|
+
/**
|
|
38
|
+
* Add steps to draw the left side of an output with a dynamic connection.
|
|
39
|
+
*/
|
|
40
|
+
protected drawLeftDynamicConnection_(): void;
|
|
41
|
+
/** Add steps to draw a flat top row. */
|
|
42
|
+
protected drawFlatTop_(): void;
|
|
43
|
+
/** Add steps to draw a flat bottom row. */
|
|
44
|
+
protected drawFlatBottom_(): void;
|
|
45
|
+
drawInlineInput_(input: InlineInput): void;
|
|
46
|
+
drawStatementInput_(row: Row): void;
|
|
47
|
+
}
|
|
@@ -7,59 +7,54 @@
|
|
|
7
7
|
/**
|
|
8
8
|
* @fileoverview Zelos renderer.
|
|
9
9
|
*/
|
|
10
|
-
'use strict';
|
|
11
10
|
|
|
12
11
|
/**
|
|
13
12
|
* Zelos renderer.
|
|
14
13
|
* @class
|
|
15
14
|
*/
|
|
16
|
-
goog
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
const {Types} = goog.require('Blockly.blockRendering.Types');
|
|
15
|
+
import * as goog from '../../../closure/goog/goog.js';
|
|
16
|
+
goog.declareModuleId('Blockly.zelos.Drawer');
|
|
17
|
+
|
|
18
|
+
import type {BlockSvg} from '../../block_svg.js';
|
|
19
|
+
import * as svgPaths from '../../utils/svg_paths.js';
|
|
20
|
+
import type {BaseShape, DynamicShape, Notch} from '../common/constants.js';
|
|
21
|
+
import * as debug from '../common/debug.js';
|
|
22
|
+
import {Drawer as BaseDrawer} from '../common/drawer.js';
|
|
23
|
+
import type {InlineInput} from '../measurables/inline_input.js';
|
|
24
|
+
import type {Row} from '../measurables/row.js';
|
|
25
|
+
import type {SpacerRow} from '../measurables/spacer_row.js';
|
|
26
|
+
import {Types} from '../measurables/types.js';
|
|
27
|
+
|
|
28
|
+
import type {InsideCorners} from './constants.js';
|
|
29
|
+
import type {RenderInfo} from './info.js';
|
|
30
|
+
import type {StatementInput} from './measurables/inputs.js';
|
|
31
|
+
import type {PathObject} from './path_object.js';
|
|
34
32
|
|
|
35
33
|
|
|
36
34
|
/**
|
|
37
35
|
* An object that draws a block based on the given rendering information.
|
|
38
|
-
* @extends {BaseDrawer}
|
|
39
36
|
* @alias Blockly.zelos.Drawer
|
|
40
37
|
*/
|
|
41
|
-
class Drawer extends BaseDrawer {
|
|
38
|
+
export class Drawer extends BaseDrawer {
|
|
39
|
+
// TODO(b/109816955): remove '!', see go/strict-prop-init-fix.
|
|
40
|
+
override info_!: RenderInfo;
|
|
41
|
+
|
|
42
42
|
/**
|
|
43
|
-
* @param
|
|
44
|
-
* @param
|
|
45
|
-
*
|
|
46
|
-
* @
|
|
43
|
+
* @param block The block to render.
|
|
44
|
+
* @param info An object containing all information needed to render this
|
|
45
|
+
* block.
|
|
46
|
+
* @internal
|
|
47
47
|
*/
|
|
48
|
-
constructor(block, info) {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
this.info_;
|
|
48
|
+
constructor(block: BlockSvg, info: RenderInfo) {
|
|
49
|
+
// AnyDuringMigration because: Argument of type
|
|
50
|
+
// 'import("/google/src/cloud/adodson/blockly-ts/../../renderers/zelos/info").RenderInfo'
|
|
51
|
+
// is not assignable to parameter of type
|
|
52
|
+
// 'import("/google/src/cloud/adodson/bloc...
|
|
53
|
+
super(block, info as AnyDuringMigration);
|
|
55
54
|
}
|
|
56
55
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
*/
|
|
60
|
-
draw() {
|
|
61
|
-
const pathObject =
|
|
62
|
-
/** @type {!PathObject} */ (this.block_.pathObject);
|
|
56
|
+
override draw() {
|
|
57
|
+
const pathObject = this.block_.pathObject as PathObject;
|
|
63
58
|
pathObject.beginDrawing();
|
|
64
59
|
this.hideHiddenIcons_();
|
|
65
60
|
this.drawOutline_();
|
|
@@ -76,15 +71,15 @@ class Drawer extends BaseDrawer {
|
|
|
76
71
|
if (this.info_.outputConnection) {
|
|
77
72
|
// Store the output connection shape type for parent blocks to use during
|
|
78
73
|
// rendering.
|
|
79
|
-
|
|
74
|
+
// AnyDuringMigration because: Type 'number' is not assignable to type
|
|
75
|
+
// 'null'.
|
|
76
|
+
pathObject.outputShapeType =
|
|
77
|
+
this.info_.outputConnection.shape.type as AnyDuringMigration;
|
|
80
78
|
}
|
|
81
79
|
pathObject.endDrawing();
|
|
82
80
|
}
|
|
83
81
|
|
|
84
|
-
|
|
85
|
-
* @override
|
|
86
|
-
*/
|
|
87
|
-
drawOutline_() {
|
|
82
|
+
override drawOutline_() {
|
|
88
83
|
if (this.info_.outputConnection &&
|
|
89
84
|
this.info_.outputConnection.isDynamicShape &&
|
|
90
85
|
!this.info_.hasStatementInput &&
|
|
@@ -98,10 +93,7 @@ class Drawer extends BaseDrawer {
|
|
|
98
93
|
}
|
|
99
94
|
}
|
|
100
95
|
|
|
101
|
-
|
|
102
|
-
* @override
|
|
103
|
-
*/
|
|
104
|
-
drawLeft_() {
|
|
96
|
+
override drawLeft_() {
|
|
105
97
|
if (this.info_.outputConnection &&
|
|
106
98
|
this.info_.outputConnection.isDynamicShape) {
|
|
107
99
|
this.drawLeftDynamicConnection_();
|
|
@@ -113,29 +105,30 @@ class Drawer extends BaseDrawer {
|
|
|
113
105
|
/**
|
|
114
106
|
* Add steps for the right side of a row that does not have value or
|
|
115
107
|
* statement input connections.
|
|
116
|
-
* @param
|
|
117
|
-
* side of.
|
|
118
|
-
* @protected
|
|
108
|
+
* @param row The row to draw the side of.
|
|
119
109
|
*/
|
|
120
|
-
drawRightSideRow_(row) {
|
|
110
|
+
protected override drawRightSideRow_(row: Row) {
|
|
121
111
|
if (row.height <= 0) {
|
|
122
112
|
return;
|
|
123
113
|
}
|
|
124
114
|
if (Types.isSpacer(row)) {
|
|
125
|
-
const spacerRow =
|
|
115
|
+
const spacerRow = row as SpacerRow;
|
|
126
116
|
if (spacerRow.precedesStatement || spacerRow.followsStatement) {
|
|
127
|
-
const cornerHeight =
|
|
117
|
+
const cornerHeight =
|
|
118
|
+
(this.constants_.INSIDE_CORNERS as InsideCorners).rightHeight;
|
|
128
119
|
const remainingHeight =
|
|
129
120
|
spacerRow.height - (spacerRow.precedesStatement ? cornerHeight : 0);
|
|
130
121
|
this.outlinePath_ +=
|
|
131
122
|
(spacerRow.followsStatement ?
|
|
132
|
-
this.constants_.INSIDE_CORNERS
|
|
123
|
+
(this.constants_.INSIDE_CORNERS as InsideCorners)
|
|
124
|
+
.pathBottomRight :
|
|
133
125
|
'') +
|
|
134
126
|
(remainingHeight > 0 ?
|
|
135
127
|
svgPaths.lineOnAxis('V', spacerRow.yPos + remainingHeight) :
|
|
136
128
|
'') +
|
|
137
129
|
(spacerRow.precedesStatement ?
|
|
138
|
-
this.constants_.INSIDE_CORNERS
|
|
130
|
+
(this.constants_.INSIDE_CORNERS as InsideCorners)
|
|
131
|
+
.pathTopRight :
|
|
139
132
|
'');
|
|
140
133
|
return;
|
|
141
134
|
}
|
|
@@ -145,33 +138,28 @@ class Drawer extends BaseDrawer {
|
|
|
145
138
|
|
|
146
139
|
/**
|
|
147
140
|
* Add steps to draw the right side of an output with a dynamic connection.
|
|
148
|
-
* @protected
|
|
149
141
|
*/
|
|
150
|
-
drawRightDynamicConnection_() {
|
|
151
|
-
this.outlinePath_ += this.info_.outputConnection.shape
|
|
152
|
-
|
|
142
|
+
protected drawRightDynamicConnection_() {
|
|
143
|
+
this.outlinePath_ += (this.info_.outputConnection.shape as DynamicShape)
|
|
144
|
+
.pathRightDown(this.info_.outputConnection.height);
|
|
153
145
|
}
|
|
154
146
|
|
|
155
147
|
/**
|
|
156
148
|
* Add steps to draw the left side of an output with a dynamic connection.
|
|
157
|
-
* @protected
|
|
158
149
|
*/
|
|
159
|
-
drawLeftDynamicConnection_() {
|
|
150
|
+
protected drawLeftDynamicConnection_() {
|
|
160
151
|
this.positionOutputConnection_();
|
|
161
152
|
|
|
162
|
-
this.outlinePath_ += this.info_.outputConnection.shape
|
|
163
|
-
|
|
153
|
+
this.outlinePath_ += (this.info_.outputConnection.shape as DynamicShape)
|
|
154
|
+
.pathUp(this.info_.outputConnection.height);
|
|
164
155
|
|
|
165
156
|
// Close off the path. This draws a vertical line up to the start of the
|
|
166
157
|
// block's path, which may be either a rounded or a sharp corner.
|
|
167
158
|
this.outlinePath_ += 'z';
|
|
168
159
|
}
|
|
169
160
|
|
|
170
|
-
/**
|
|
171
|
-
|
|
172
|
-
* @protected
|
|
173
|
-
*/
|
|
174
|
-
drawFlatTop_() {
|
|
161
|
+
/** Add steps to draw a flat top row. */
|
|
162
|
+
protected drawFlatTop_() {
|
|
175
163
|
const topRow = this.info_.topRow;
|
|
176
164
|
this.positionPreviousConnection_();
|
|
177
165
|
|
|
@@ -180,11 +168,8 @@ class Drawer extends BaseDrawer {
|
|
|
180
168
|
this.outlinePath_ += svgPaths.lineOnAxis('h', topRow.width);
|
|
181
169
|
}
|
|
182
170
|
|
|
183
|
-
/**
|
|
184
|
-
|
|
185
|
-
* @protected
|
|
186
|
-
*/
|
|
187
|
-
drawFlatBottom_() {
|
|
171
|
+
/** Add steps to draw a flat bottom row. */
|
|
172
|
+
protected drawFlatBottom_() {
|
|
188
173
|
const bottomRow = this.info_.bottomRow;
|
|
189
174
|
this.positionNextConnection_();
|
|
190
175
|
|
|
@@ -193,10 +178,7 @@ class Drawer extends BaseDrawer {
|
|
|
193
178
|
this.outlinePath_ += svgPaths.lineOnAxis('h', -bottomRow.width);
|
|
194
179
|
}
|
|
195
180
|
|
|
196
|
-
|
|
197
|
-
* @override
|
|
198
|
-
*/
|
|
199
|
-
drawInlineInput_(input) {
|
|
181
|
+
override drawInlineInput_(input: InlineInput) {
|
|
200
182
|
this.positionInlineInputConnection_(input);
|
|
201
183
|
|
|
202
184
|
const inputName = input.input.name;
|
|
@@ -204,7 +186,7 @@ class Drawer extends BaseDrawer {
|
|
|
204
186
|
return;
|
|
205
187
|
}
|
|
206
188
|
|
|
207
|
-
const width = input.width -
|
|
189
|
+
const width = input.width - input.connectionWidth * 2;
|
|
208
190
|
const height = input.height;
|
|
209
191
|
const yPos = input.centerline - height / 2;
|
|
210
192
|
|
|
@@ -212,32 +194,30 @@ class Drawer extends BaseDrawer {
|
|
|
212
194
|
|
|
213
195
|
const outlinePath = svgPaths.moveTo(connectionRight, yPos) +
|
|
214
196
|
svgPaths.lineOnAxis('h', width) +
|
|
215
|
-
input.shape.pathRightDown(input.height) +
|
|
216
|
-
svgPaths.lineOnAxis('h', -width) +
|
|
217
|
-
'z';
|
|
218
|
-
this.block_.pathObject
|
|
197
|
+
(input.shape as DynamicShape).pathRightDown(input.height) +
|
|
198
|
+
svgPaths.lineOnAxis('h', -width) +
|
|
199
|
+
(input.shape as DynamicShape).pathUp(input.height) + 'z';
|
|
200
|
+
const pathObject = this.block_.pathObject as PathObject;
|
|
201
|
+
pathObject.setOutlinePath(inputName, outlinePath);
|
|
219
202
|
}
|
|
220
203
|
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
*/
|
|
224
|
-
drawStatementInput_(row) {
|
|
225
|
-
const input = /** @type {!StatementInput} */ (row.getLastInput());
|
|
204
|
+
override drawStatementInput_(row: Row) {
|
|
205
|
+
const input = row.getLastInput() as StatementInput;
|
|
226
206
|
// Where to start drawing the notch, which is on the right side in LTR.
|
|
227
|
-
const x = input.xPos + input.notchOffset + input.shape.width;
|
|
207
|
+
const x = input.xPos + input.notchOffset + (input.shape as BaseShape).width;
|
|
228
208
|
|
|
229
|
-
const innerTopLeftCorner = input.shape.pathRight +
|
|
209
|
+
const innerTopLeftCorner = (input.shape as Notch).pathRight +
|
|
230
210
|
svgPaths.lineOnAxis(
|
|
231
211
|
'h', -(input.notchOffset - this.constants_.INSIDE_CORNERS.width)) +
|
|
232
212
|
this.constants_.INSIDE_CORNERS.pathTop;
|
|
233
213
|
|
|
234
|
-
const innerHeight =
|
|
235
|
-
row.height - (2 * this.constants_.INSIDE_CORNERS.height);
|
|
214
|
+
const innerHeight = row.height - 2 * this.constants_.INSIDE_CORNERS.height;
|
|
236
215
|
|
|
237
216
|
const innerBottomLeftCorner = this.constants_.INSIDE_CORNERS.pathBottom +
|
|
238
217
|
svgPaths.lineOnAxis(
|
|
239
|
-
'h',
|
|
240
|
-
(input.connectedBottomNextConnection ? '' :
|
|
218
|
+
'h', input.notchOffset - this.constants_.INSIDE_CORNERS.width) +
|
|
219
|
+
(input.connectedBottomNextConnection ? '' :
|
|
220
|
+
(input.shape as Notch).pathLeft);
|
|
241
221
|
|
|
242
222
|
this.outlinePath_ += svgPaths.lineOnAxis('H', x) + innerTopLeftCorner +
|
|
243
223
|
svgPaths.lineOnAxis('v', innerHeight) + innerBottomLeftCorner +
|
|
@@ -246,5 +226,3 @@ class Drawer extends BaseDrawer {
|
|
|
246
226
|
this.positionStatementInputConnection_(row);
|
|
247
227
|
}
|
|
248
228
|
}
|
|
249
|
-
|
|
250
|
-
exports.Drawer = Drawer;
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Makecode/scratch-style renderer.
|
|
3
|
+
* Zelos: spirit of eager rivalry, emulation, envy, jealousy, and zeal.
|
|
4
|
+
*/
|
|
5
|
+
import type { BlockSvg } from '../../block_svg.js';
|
|
6
|
+
import { Input } from '../../input.js';
|
|
7
|
+
import { RenderInfo as BaseRenderInfo } from '../common/info.js';
|
|
8
|
+
import type { Measurable } from '../measurables/base.js';
|
|
9
|
+
import type { Row } from '../measurables/row.js';
|
|
10
|
+
import type { ConstantProvider } from './constants.js';
|
|
11
|
+
import { BottomRow } from './measurables/bottom_row.js';
|
|
12
|
+
import { RightConnectionShape } from './measurables/row_elements.js';
|
|
13
|
+
import { TopRow } from './measurables/top_row.js';
|
|
14
|
+
import type { Renderer } from './renderer.js';
|
|
15
|
+
/**
|
|
16
|
+
* An object containing all sizing information needed to draw this block.
|
|
17
|
+
*
|
|
18
|
+
* This measure pass does not propagate changes to the block (although fields
|
|
19
|
+
* may choose to rerender when getSize() is called). However, calling it
|
|
20
|
+
* repeatedly may be expensive.
|
|
21
|
+
* @alias Blockly.zelos.RenderInfo
|
|
22
|
+
*/
|
|
23
|
+
export declare class RenderInfo extends BaseRenderInfo {
|
|
24
|
+
topRow: TopRow;
|
|
25
|
+
bottomRow: BottomRow;
|
|
26
|
+
constants_: ConstantProvider;
|
|
27
|
+
renderer_: Renderer;
|
|
28
|
+
isInline: boolean;
|
|
29
|
+
isMultiRow: boolean;
|
|
30
|
+
hasStatementInput: boolean;
|
|
31
|
+
rightSide: RightConnectionShape | null;
|
|
32
|
+
private readonly rightAlignedDummyInputs_;
|
|
33
|
+
/**
|
|
34
|
+
* @param renderer The renderer in use.
|
|
35
|
+
* @param block The block to measure.
|
|
36
|
+
* @internal
|
|
37
|
+
*/
|
|
38
|
+
constructor(renderer: Renderer, block: BlockSvg);
|
|
39
|
+
/**
|
|
40
|
+
* Get the block renderer in use.
|
|
41
|
+
* @return The block renderer in use.
|
|
42
|
+
* @internal
|
|
43
|
+
*/
|
|
44
|
+
getRenderer(): Renderer;
|
|
45
|
+
measure(): void;
|
|
46
|
+
shouldStartNewRow_(input: Input, lastInput: Input): boolean;
|
|
47
|
+
getDesiredRowWidth_(row: Row): number;
|
|
48
|
+
getInRowSpacing_(prev: Measurable | null, next: Measurable | null): number;
|
|
49
|
+
getSpacerRowHeight_(prev: Row, next: Row): number;
|
|
50
|
+
getSpacerRowWidth_(prev: Row, next: Row): number;
|
|
51
|
+
getElemCenterline_(row: Row, elem: Measurable): number;
|
|
52
|
+
addInput_(input: Input, activeRow: Row): void;
|
|
53
|
+
addAlignmentPadding_(row: Row, missingSpace: number): void;
|
|
54
|
+
/**
|
|
55
|
+
* Adjust the x position of fields to bump all non-label fields in the first
|
|
56
|
+
* row past the notch position. This must be called before ``computeBounds``
|
|
57
|
+
* is called.
|
|
58
|
+
*/
|
|
59
|
+
protected adjustXPosition_(): void;
|
|
60
|
+
/**
|
|
61
|
+
* Finalize the output connection info. In particular, set the height of the
|
|
62
|
+
* output connection to match that of the block. For the right side, add a
|
|
63
|
+
* right connection shape element and have it match the dimensions of the
|
|
64
|
+
* output connection.
|
|
65
|
+
*/
|
|
66
|
+
protected finalizeOutputConnection_(): void;
|
|
67
|
+
/**
|
|
68
|
+
* Finalize horizontal alignment of elements on the block. In particular,
|
|
69
|
+
* reduce the implicit spacing created by the left and right output connection
|
|
70
|
+
* shapes by adding setting negative spacing onto the leftmost and rightmost
|
|
71
|
+
* spacers.
|
|
72
|
+
*/
|
|
73
|
+
protected finalizeHorizontalAlignment_(): void;
|
|
74
|
+
/**
|
|
75
|
+
* Calculate the spacing to reduce the left and right edges by based on the
|
|
76
|
+
* outer and inner connection shape.
|
|
77
|
+
* @param elem The first or last element on a block.
|
|
78
|
+
* @return The amount of spacing to reduce the first or last spacer.
|
|
79
|
+
*/
|
|
80
|
+
protected getNegativeSpacing_(elem: Measurable): number;
|
|
81
|
+
/**
|
|
82
|
+
* Finalize vertical alignment of rows on a block. In particular, reduce the
|
|
83
|
+
* implicit spacing when a non-shadow block is connected to any of an input
|
|
84
|
+
* row's inline inputs.
|
|
85
|
+
*/
|
|
86
|
+
protected finalizeVerticalAlignment_(): void;
|
|
87
|
+
finalize_(): void;
|
|
88
|
+
}
|