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,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2019 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @fileoverview Objects representing a round corner in a row of a rendered
|
|
9
|
+
* block.
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Objects representing a round corner in a row of a rendered
|
|
14
|
+
* block.
|
|
15
|
+
* @class
|
|
16
|
+
*/
|
|
17
|
+
import * as goog from '../../../closure/goog/goog.js';
|
|
18
|
+
goog.declareModuleId('Blockly.blockRendering.RoundCorner');
|
|
19
|
+
|
|
20
|
+
import type {ConstantProvider} from '../common/constants.js';
|
|
21
|
+
|
|
22
|
+
import {Measurable} from './base.js';
|
|
23
|
+
import {Types} from './types.js';
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* An object containing information about the space a rounded corner takes up
|
|
28
|
+
* during rendering.
|
|
29
|
+
* @struct
|
|
30
|
+
* @alias Blockly.blockRendering.RoundCorner
|
|
31
|
+
*/
|
|
32
|
+
export class RoundCorner extends Measurable {
|
|
33
|
+
/**
|
|
34
|
+
* @param constants The rendering constants provider.
|
|
35
|
+
* @param opt_position The position of this corner.
|
|
36
|
+
* @internal
|
|
37
|
+
*/
|
|
38
|
+
constructor(constants: ConstantProvider, opt_position?: string) {
|
|
39
|
+
super(constants);
|
|
40
|
+
this.type =
|
|
41
|
+
(!opt_position || opt_position === 'left' ? Types.LEFT_ROUND_CORNER :
|
|
42
|
+
Types.RIGHT_ROUND_CORNER) |
|
|
43
|
+
Types.CORNER;
|
|
44
|
+
this.width = this.constants_.CORNER_RADIUS;
|
|
45
|
+
// The rounded corner extends into the next row by 4 so we only take the
|
|
46
|
+
// height that is aligned with this row.
|
|
47
|
+
this.height = this.constants_.CORNER_RADIUS / 2;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2019 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { ConstantProvider } from '../common/constants.js';
|
|
7
|
+
import type { Measurable } from './base.js';
|
|
8
|
+
import type { InRowSpacer } from './in_row_spacer.js';
|
|
9
|
+
import type { InputConnection } from './input_connection.js';
|
|
10
|
+
/**
|
|
11
|
+
* An object representing a single row on a rendered block and all of its
|
|
12
|
+
* subcomponents.
|
|
13
|
+
* @alias Blockly.blockRendering.Row
|
|
14
|
+
*/
|
|
15
|
+
export declare class Row {
|
|
16
|
+
/** @internal */
|
|
17
|
+
type: number;
|
|
18
|
+
/**
|
|
19
|
+
* An array of elements contained in this row.
|
|
20
|
+
* @internal
|
|
21
|
+
*/
|
|
22
|
+
elements: Measurable[];
|
|
23
|
+
/**
|
|
24
|
+
* The height of the row.
|
|
25
|
+
* @internal
|
|
26
|
+
*/
|
|
27
|
+
height: number;
|
|
28
|
+
/**
|
|
29
|
+
* The width of the row, from the left edge of the block to the right.
|
|
30
|
+
* Does not include child blocks unless they are inline.
|
|
31
|
+
* @internal
|
|
32
|
+
*/
|
|
33
|
+
width: number;
|
|
34
|
+
/**
|
|
35
|
+
* The minimum height of the row.
|
|
36
|
+
* @internal
|
|
37
|
+
*/
|
|
38
|
+
minHeight: number;
|
|
39
|
+
/**
|
|
40
|
+
* The minimum width of the row, from the left edge of the block to the
|
|
41
|
+
* right. Does not include child blocks unless they are inline.
|
|
42
|
+
* @internal
|
|
43
|
+
*/
|
|
44
|
+
minWidth: number;
|
|
45
|
+
/**
|
|
46
|
+
* The width of the row, from the left edge of the block to the edge of the
|
|
47
|
+
* block or any connected child blocks.
|
|
48
|
+
* @internal
|
|
49
|
+
*/
|
|
50
|
+
widthWithConnectedBlocks: number;
|
|
51
|
+
/**
|
|
52
|
+
* The Y position of the row relative to the origin of the block's svg
|
|
53
|
+
* group.
|
|
54
|
+
* @internal
|
|
55
|
+
*/
|
|
56
|
+
yPos: number;
|
|
57
|
+
/**
|
|
58
|
+
* The X position of the row relative to the origin of the block's svg
|
|
59
|
+
* group.
|
|
60
|
+
* @internal
|
|
61
|
+
*/
|
|
62
|
+
xPos: number;
|
|
63
|
+
/**
|
|
64
|
+
* Whether the row has any external inputs.
|
|
65
|
+
* @internal
|
|
66
|
+
*/
|
|
67
|
+
hasExternalInput: boolean;
|
|
68
|
+
/**
|
|
69
|
+
* Whether the row has any statement inputs.
|
|
70
|
+
* @internal
|
|
71
|
+
*/
|
|
72
|
+
hasStatement: boolean;
|
|
73
|
+
/**
|
|
74
|
+
* Where the left edge of all of the statement inputs on the block should
|
|
75
|
+
* be. This makes sure that statement inputs which are proceded by fields
|
|
76
|
+
* of varius widths are all aligned.
|
|
77
|
+
*/
|
|
78
|
+
statementEdge: number;
|
|
79
|
+
/**
|
|
80
|
+
* Whether the row has any inline inputs.
|
|
81
|
+
* @internal
|
|
82
|
+
*/
|
|
83
|
+
hasInlineInput: boolean;
|
|
84
|
+
/**
|
|
85
|
+
* Whether the row has any dummy inputs.
|
|
86
|
+
* @internal
|
|
87
|
+
*/
|
|
88
|
+
hasDummyInput: boolean;
|
|
89
|
+
/**
|
|
90
|
+
* Whether the row has a jagged edge.
|
|
91
|
+
* @internal
|
|
92
|
+
*/
|
|
93
|
+
hasJaggedEdge: boolean;
|
|
94
|
+
notchOffset: number;
|
|
95
|
+
/**
|
|
96
|
+
* Alignment of the row.
|
|
97
|
+
* @internal
|
|
98
|
+
*/
|
|
99
|
+
align: number | null;
|
|
100
|
+
protected readonly constants_: ConstantProvider;
|
|
101
|
+
/**
|
|
102
|
+
* @param constants The rendering constants provider.
|
|
103
|
+
* @internal
|
|
104
|
+
*/
|
|
105
|
+
constructor(constants: ConstantProvider);
|
|
106
|
+
/**
|
|
107
|
+
* Get the last input on this row, if it has one.
|
|
108
|
+
* @return The last input on the row, or null.
|
|
109
|
+
* @internal
|
|
110
|
+
*/
|
|
111
|
+
getLastInput(): InputConnection;
|
|
112
|
+
/**
|
|
113
|
+
* Inspect all subcomponents and populate all size properties on the row.
|
|
114
|
+
* @internal
|
|
115
|
+
*/
|
|
116
|
+
measure(): void;
|
|
117
|
+
/**
|
|
118
|
+
* Determines whether this row should start with an element spacer.
|
|
119
|
+
* @return Whether the row should start with a spacer.
|
|
120
|
+
* @internal
|
|
121
|
+
*/
|
|
122
|
+
startsWithElemSpacer(): boolean;
|
|
123
|
+
/**
|
|
124
|
+
* Determines whether this row should end with an element spacer.
|
|
125
|
+
* @return Whether the row should end with a spacer.
|
|
126
|
+
* @internal
|
|
127
|
+
*/
|
|
128
|
+
endsWithElemSpacer(): boolean;
|
|
129
|
+
/**
|
|
130
|
+
* Convenience method to get the first spacer element on this row.
|
|
131
|
+
* @return The first spacer element on this row.
|
|
132
|
+
* @internal
|
|
133
|
+
*/
|
|
134
|
+
getFirstSpacer(): InRowSpacer;
|
|
135
|
+
/**
|
|
136
|
+
* Convenience method to get the last spacer element on this row.
|
|
137
|
+
* @return The last spacer element on this row.
|
|
138
|
+
* @internal
|
|
139
|
+
*/
|
|
140
|
+
getLastSpacer(): InRowSpacer;
|
|
141
|
+
}
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2019 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @fileoverview Object representing a single row on a rendered block.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Object representing a single row on a rendered block.
|
|
13
|
+
* @class
|
|
14
|
+
*/
|
|
15
|
+
import * as goog from '../../../closure/goog/goog.js';
|
|
16
|
+
goog.declareModuleId('Blockly.blockRendering.Row');
|
|
17
|
+
|
|
18
|
+
import type {ConstantProvider} from '../common/constants.js';
|
|
19
|
+
|
|
20
|
+
import type {Measurable} from './base.js';
|
|
21
|
+
import type {InRowSpacer} from './in_row_spacer.js';
|
|
22
|
+
import type {InputConnection} from './input_connection.js';
|
|
23
|
+
import {Types} from './types.js';
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* An object representing a single row on a rendered block and all of its
|
|
28
|
+
* subcomponents.
|
|
29
|
+
* @alias Blockly.blockRendering.Row
|
|
30
|
+
*/
|
|
31
|
+
export class Row {
|
|
32
|
+
/** @internal */
|
|
33
|
+
type: number;
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* An array of elements contained in this row.
|
|
37
|
+
* @internal
|
|
38
|
+
*/
|
|
39
|
+
elements: Measurable[] = [];
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* The height of the row.
|
|
43
|
+
* @internal
|
|
44
|
+
*/
|
|
45
|
+
height = 0;
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* The width of the row, from the left edge of the block to the right.
|
|
49
|
+
* Does not include child blocks unless they are inline.
|
|
50
|
+
* @internal
|
|
51
|
+
*/
|
|
52
|
+
width = 0;
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* The minimum height of the row.
|
|
56
|
+
* @internal
|
|
57
|
+
*/
|
|
58
|
+
minHeight = 0;
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* The minimum width of the row, from the left edge of the block to the
|
|
62
|
+
* right. Does not include child blocks unless they are inline.
|
|
63
|
+
* @internal
|
|
64
|
+
*/
|
|
65
|
+
minWidth = 0;
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* The width of the row, from the left edge of the block to the edge of the
|
|
69
|
+
* block or any connected child blocks.
|
|
70
|
+
* @internal
|
|
71
|
+
*/
|
|
72
|
+
widthWithConnectedBlocks = 0;
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* The Y position of the row relative to the origin of the block's svg
|
|
76
|
+
* group.
|
|
77
|
+
* @internal
|
|
78
|
+
*/
|
|
79
|
+
yPos = 0;
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* The X position of the row relative to the origin of the block's svg
|
|
83
|
+
* group.
|
|
84
|
+
* @internal
|
|
85
|
+
*/
|
|
86
|
+
xPos = 0;
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Whether the row has any external inputs.
|
|
90
|
+
* @internal
|
|
91
|
+
*/
|
|
92
|
+
hasExternalInput = false;
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* Whether the row has any statement inputs.
|
|
96
|
+
* @internal
|
|
97
|
+
*/
|
|
98
|
+
hasStatement = false;
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Where the left edge of all of the statement inputs on the block should
|
|
102
|
+
* be. This makes sure that statement inputs which are proceded by fields
|
|
103
|
+
* of varius widths are all aligned.
|
|
104
|
+
*/
|
|
105
|
+
statementEdge = 0;
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Whether the row has any inline inputs.
|
|
109
|
+
* @internal
|
|
110
|
+
*/
|
|
111
|
+
hasInlineInput = false;
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* Whether the row has any dummy inputs.
|
|
115
|
+
* @internal
|
|
116
|
+
*/
|
|
117
|
+
hasDummyInput = false;
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* Whether the row has a jagged edge.
|
|
121
|
+
* @internal
|
|
122
|
+
*/
|
|
123
|
+
hasJaggedEdge = false;
|
|
124
|
+
notchOffset: number;
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* Alignment of the row.
|
|
128
|
+
* @internal
|
|
129
|
+
*/
|
|
130
|
+
align: number|null = null;
|
|
131
|
+
|
|
132
|
+
protected readonly constants_: ConstantProvider;
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* @param constants The rendering constants provider.
|
|
136
|
+
* @internal
|
|
137
|
+
*/
|
|
138
|
+
constructor(constants: ConstantProvider) {
|
|
139
|
+
/** The renderer's constant provider. */
|
|
140
|
+
this.constants_ = constants;
|
|
141
|
+
|
|
142
|
+
/** The type of this rendering object. */
|
|
143
|
+
this.type = Types.ROW;
|
|
144
|
+
|
|
145
|
+
this.notchOffset = this.constants_.NOTCH_OFFSET_LEFT;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* Get the last input on this row, if it has one.
|
|
150
|
+
* @return The last input on the row, or null.
|
|
151
|
+
* @internal
|
|
152
|
+
*/
|
|
153
|
+
getLastInput(): InputConnection {
|
|
154
|
+
// TODO: Consider moving this to InputRow, if possible.
|
|
155
|
+
for (let i = this.elements.length - 1; i >= 0; i--) {
|
|
156
|
+
const elem = this.elements[i];
|
|
157
|
+
if (Types.isInput(elem)) {
|
|
158
|
+
return elem as InputConnection;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
// AnyDuringMigration because: Type 'null' is not assignable to type
|
|
162
|
+
// 'InputConnection'.
|
|
163
|
+
return null as AnyDuringMigration;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
/**
|
|
167
|
+
* Inspect all subcomponents and populate all size properties on the row.
|
|
168
|
+
* @internal
|
|
169
|
+
*/
|
|
170
|
+
measure() {
|
|
171
|
+
throw Error('Unexpected attempt to measure a base Row.');
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
/**
|
|
175
|
+
* Determines whether this row should start with an element spacer.
|
|
176
|
+
* @return Whether the row should start with a spacer.
|
|
177
|
+
* @internal
|
|
178
|
+
*/
|
|
179
|
+
startsWithElemSpacer(): boolean {
|
|
180
|
+
return true;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
/**
|
|
184
|
+
* Determines whether this row should end with an element spacer.
|
|
185
|
+
* @return Whether the row should end with a spacer.
|
|
186
|
+
* @internal
|
|
187
|
+
*/
|
|
188
|
+
endsWithElemSpacer(): boolean {
|
|
189
|
+
return true;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
/**
|
|
193
|
+
* Convenience method to get the first spacer element on this row.
|
|
194
|
+
* @return The first spacer element on this row.
|
|
195
|
+
* @internal
|
|
196
|
+
*/
|
|
197
|
+
getFirstSpacer(): InRowSpacer {
|
|
198
|
+
for (let i = 0; i < this.elements.length; i++) {
|
|
199
|
+
const elem = this.elements[i];
|
|
200
|
+
if (Types.isSpacer(elem)) {
|
|
201
|
+
return elem as InRowSpacer;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
// AnyDuringMigration because: Type 'null' is not assignable to type
|
|
205
|
+
// 'InRowSpacer'.
|
|
206
|
+
return null as AnyDuringMigration;
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
/**
|
|
210
|
+
* Convenience method to get the last spacer element on this row.
|
|
211
|
+
* @return The last spacer element on this row.
|
|
212
|
+
* @internal
|
|
213
|
+
*/
|
|
214
|
+
getLastSpacer(): InRowSpacer {
|
|
215
|
+
for (let i = this.elements.length - 1; i >= 0; i--) {
|
|
216
|
+
const elem = this.elements[i];
|
|
217
|
+
if (Types.isSpacer(elem)) {
|
|
218
|
+
return elem as InRowSpacer;
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
// AnyDuringMigration because: Type 'null' is not assignable to type
|
|
222
|
+
// 'InRowSpacer'.
|
|
223
|
+
return null as AnyDuringMigration;
|
|
224
|
+
}
|
|
225
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2019 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { ConstantProvider } from '../common/constants.js';
|
|
7
|
+
import { InRowSpacer } from './in_row_spacer.js';
|
|
8
|
+
import { Row } from './row.js';
|
|
9
|
+
/**
|
|
10
|
+
* An object containing information about a spacer between two rows.
|
|
11
|
+
* @struct
|
|
12
|
+
* @alias Blockly.blockRendering.SpacerRow
|
|
13
|
+
*/
|
|
14
|
+
export declare class SpacerRow extends Row {
|
|
15
|
+
height: number;
|
|
16
|
+
width: number;
|
|
17
|
+
followsStatement: boolean;
|
|
18
|
+
precedesStatement: boolean;
|
|
19
|
+
widthWithConnectedBlocks: number;
|
|
20
|
+
elements: InRowSpacer[];
|
|
21
|
+
/**
|
|
22
|
+
* @param constants The rendering constants provider.
|
|
23
|
+
* @param height The height of the spacer.
|
|
24
|
+
* @param width The width of the spacer.
|
|
25
|
+
* @internal
|
|
26
|
+
*/
|
|
27
|
+
constructor(constants: ConstantProvider, height: number, width: number);
|
|
28
|
+
measure(): void;
|
|
29
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2019 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @fileoverview Object representing a spacer between two rows.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Object representing a spacer between two rows.
|
|
13
|
+
* @class
|
|
14
|
+
*/
|
|
15
|
+
import * as goog from '../../../closure/goog/goog.js';
|
|
16
|
+
goog.declareModuleId('Blockly.blockRendering.SpacerRow');
|
|
17
|
+
|
|
18
|
+
import type {ConstantProvider} from '../common/constants.js';
|
|
19
|
+
|
|
20
|
+
import {InRowSpacer} from './in_row_spacer.js';
|
|
21
|
+
import {Row} from './row.js';
|
|
22
|
+
import {Types} from './types.js';
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* An object containing information about a spacer between two rows.
|
|
27
|
+
* @struct
|
|
28
|
+
* @alias Blockly.blockRendering.SpacerRow
|
|
29
|
+
*/
|
|
30
|
+
export class SpacerRow extends Row {
|
|
31
|
+
followsStatement = false;
|
|
32
|
+
|
|
33
|
+
precedesStatement = false;
|
|
34
|
+
|
|
35
|
+
override widthWithConnectedBlocks = 0;
|
|
36
|
+
override elements: InRowSpacer[];
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* @param constants The rendering constants provider.
|
|
40
|
+
* @param height The height of the spacer.
|
|
41
|
+
* @param width The width of the spacer.
|
|
42
|
+
* @internal
|
|
43
|
+
*/
|
|
44
|
+
constructor(
|
|
45
|
+
constants: ConstantProvider, public override height: number,
|
|
46
|
+
public override width: number) {
|
|
47
|
+
super(constants);
|
|
48
|
+
this.type |= Types.SPACER | Types.BETWEEN_ROW_SPACER;
|
|
49
|
+
|
|
50
|
+
this.elements = [new InRowSpacer(this.constants_, width)];
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
override measure() {}
|
|
54
|
+
}
|
|
55
|
+
// NOP. Width and height were set at creation.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2019 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { ConstantProvider } from '../common/constants.js';
|
|
7
|
+
import { Measurable } from './base.js';
|
|
8
|
+
/**
|
|
9
|
+
* An object containing information about the space a square corner takes up
|
|
10
|
+
* during rendering.
|
|
11
|
+
* @struct
|
|
12
|
+
* @alias Blockly.blockRendering.SquareCorner
|
|
13
|
+
*/
|
|
14
|
+
export declare class SquareCorner extends Measurable {
|
|
15
|
+
/**
|
|
16
|
+
* @param constants The rendering constants provider.
|
|
17
|
+
* @param opt_position The position of this corner.
|
|
18
|
+
* @internal
|
|
19
|
+
*/
|
|
20
|
+
constructor(constants: ConstantProvider, opt_position?: string);
|
|
21
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2019 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @fileoverview Objects representing a square corner in a row of a rendered
|
|
9
|
+
* block.
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Objects representing a square corner in a row of a rendered
|
|
14
|
+
* block.
|
|
15
|
+
* @class
|
|
16
|
+
*/
|
|
17
|
+
import * as goog from '../../../closure/goog/goog.js';
|
|
18
|
+
goog.declareModuleId('Blockly.blockRendering.SquareCorner');
|
|
19
|
+
|
|
20
|
+
import type {ConstantProvider} from '../common/constants.js';
|
|
21
|
+
|
|
22
|
+
import {Measurable} from './base.js';
|
|
23
|
+
import {Types} from './types.js';
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* An object containing information about the space a square corner takes up
|
|
28
|
+
* during rendering.
|
|
29
|
+
* @struct
|
|
30
|
+
* @alias Blockly.blockRendering.SquareCorner
|
|
31
|
+
*/
|
|
32
|
+
export class SquareCorner extends Measurable {
|
|
33
|
+
/**
|
|
34
|
+
* @param constants The rendering constants provider.
|
|
35
|
+
* @param opt_position The position of this corner.
|
|
36
|
+
* @internal
|
|
37
|
+
*/
|
|
38
|
+
constructor(constants: ConstantProvider, opt_position?: string) {
|
|
39
|
+
super(constants);
|
|
40
|
+
this.type =
|
|
41
|
+
(!opt_position || opt_position === 'left' ? Types.LEFT_SQUARE_CORNER :
|
|
42
|
+
Types.RIGHT_SQUARE_CORNER) |
|
|
43
|
+
Types.CORNER;
|
|
44
|
+
this.height = this.constants_.NO_PADDING;
|
|
45
|
+
this.width = this.constants_.NO_PADDING;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2019 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { Input } from '../../input.js';
|
|
7
|
+
import type { ConstantProvider } from '../common/constants.js';
|
|
8
|
+
import { InputConnection } from './input_connection.js';
|
|
9
|
+
/**
|
|
10
|
+
* An object containing information about the space a statement input takes up
|
|
11
|
+
* during rendering
|
|
12
|
+
* @struct
|
|
13
|
+
* @alias Blockly.blockRendering.StatementInput
|
|
14
|
+
*/
|
|
15
|
+
export declare class StatementInput extends InputConnection {
|
|
16
|
+
/**
|
|
17
|
+
* @param constants The rendering constants provider.
|
|
18
|
+
* @param input The statement input to measure and store information for.
|
|
19
|
+
* @internal
|
|
20
|
+
*/
|
|
21
|
+
constructor(constants: ConstantProvider, input: Input);
|
|
22
|
+
}
|
|
@@ -14,32 +14,30 @@
|
|
|
14
14
|
* rendered block.
|
|
15
15
|
* @class
|
|
16
16
|
*/
|
|
17
|
-
goog
|
|
17
|
+
import * as goog from '../../../closure/goog/goog.js';
|
|
18
|
+
goog.declareModuleId('Blockly.blockRendering.StatementInput');
|
|
18
19
|
|
|
19
20
|
/* eslint-disable-next-line no-unused-vars */
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
21
|
+
import type {Input} from '../../input.js';
|
|
22
|
+
import type {ConstantProvider} from '../common/constants.js';
|
|
23
|
+
|
|
24
|
+
import {InputConnection} from './input_connection.js';
|
|
25
|
+
import {Types} from './types.js';
|
|
25
26
|
|
|
26
27
|
|
|
27
28
|
/**
|
|
28
29
|
* An object containing information about the space a statement input takes up
|
|
29
30
|
* during rendering
|
|
30
31
|
* @struct
|
|
31
|
-
* @extends {InputConnection}
|
|
32
32
|
* @alias Blockly.blockRendering.StatementInput
|
|
33
33
|
*/
|
|
34
|
-
class StatementInput extends InputConnection {
|
|
34
|
+
export class StatementInput extends InputConnection {
|
|
35
35
|
/**
|
|
36
|
-
* @param
|
|
37
|
-
*
|
|
38
|
-
* @
|
|
39
|
-
* information for.
|
|
40
|
-
* @package
|
|
36
|
+
* @param constants The rendering constants provider.
|
|
37
|
+
* @param input The statement input to measure and store information for.
|
|
38
|
+
* @internal
|
|
41
39
|
*/
|
|
42
|
-
constructor(constants, input) {
|
|
40
|
+
constructor(constants: ConstantProvider, input: Input) {
|
|
43
41
|
super(constants, input);
|
|
44
42
|
this.type |= Types.STATEMENT_INPUT;
|
|
45
43
|
|
|
@@ -51,9 +49,7 @@ class StatementInput extends InputConnection {
|
|
|
51
49
|
this.height =
|
|
52
50
|
this.connectedBlockHeight + this.constants_.STATEMENT_BOTTOM_SPACER;
|
|
53
51
|
}
|
|
54
|
-
this.width =
|
|
55
|
-
this.
|
|
52
|
+
this.width = this.constants_.STATEMENT_INPUT_NOTCH_OFFSET +
|
|
53
|
+
(this.shape.width as number);
|
|
56
54
|
}
|
|
57
55
|
}
|
|
58
|
-
|
|
59
|
-
exports.StatementInput = StatementInput;
|