blockly 8.0.4 → 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 +420 -420
- package/msg/ace.js +420 -420
- package/msg/af.js +420 -420
- package/msg/am.js +420 -420
- package/msg/ar.js +420 -420
- package/msg/ast.js +420 -420
- package/msg/az.js +420 -420
- package/msg/ba.js +420 -420
- package/msg/bcc.js +420 -420
- package/msg/be-tarask.js +420 -420
- package/msg/be.js +420 -420
- package/msg/bg.js +420 -420
- package/msg/bn.js +420 -420
- package/msg/br.js +420 -420
- package/msg/bs.js +420 -420
- package/msg/ca.js +420 -420
- package/msg/cdo.js +420 -420
- package/msg/cs.js +420 -420
- package/msg/da.js +420 -420
- package/msg/de.js +420 -420
- package/msg/diq.js +420 -420
- package/msg/dty.js +420 -420
- package/msg/ee.js +420 -420
- package/msg/el.js +420 -420
- package/msg/en-gb.js +420 -420
- package/msg/en.js +420 -420
- package/msg/eo.js +420 -420
- package/msg/es.js +420 -420
- package/msg/et.js +420 -420
- package/msg/eu.js +420 -420
- package/msg/fa.js +420 -420
- package/msg/fi.js +420 -420
- package/msg/fo.js +420 -420
- package/msg/fr.js +420 -420
- package/msg/frr.js +420 -420
- package/msg/gl.js +420 -420
- package/msg/gn.js +420 -420
- package/msg/gor.js +420 -420
- package/msg/ha.js +420 -420
- package/msg/hak.js +420 -420
- package/msg/he.js +420 -420
- package/msg/hi.js +420 -420
- package/msg/hr.js +420 -420
- package/msg/hrx.js +420 -420
- package/msg/hu.js +420 -420
- package/msg/hy.js +420 -420
- package/msg/ia.js +420 -420
- package/msg/id.js +420 -420
- package/msg/ig.js +420 -420
- package/msg/inh.js +420 -420
- package/msg/is.js +420 -420
- package/msg/it.js +420 -420
- package/msg/ja.js +420 -420
- package/msg/ka.js +420 -420
- package/msg/kab.js +420 -420
- package/msg/kbd-cyrl.js +420 -420
- package/msg/km.js +420 -420
- package/msg/kn.js +420 -420
- package/msg/ko.js +420 -420
- package/msg/ksh.js +420 -420
- package/msg/ku-latn.js +420 -420
- package/msg/ky.js +420 -420
- package/msg/la.js +420 -420
- package/msg/lb.js +420 -420
- package/msg/lki.js +420 -420
- package/msg/lo.js +420 -420
- package/msg/lrc.js +420 -420
- package/msg/lt.js +420 -420
- package/msg/lv.js +420 -420
- package/msg/mg.js +420 -420
- package/msg/mk.js +420 -420
- package/msg/ml.js +420 -420
- package/msg/mnw.js +420 -420
- package/msg/ms.js +420 -420
- package/msg/my.js +420 -420
- package/msg/mzn.js +420 -420
- package/msg/nb.js +420 -420
- package/msg/ne.js +420 -420
- package/msg/nl.js +420 -420
- package/msg/oc.js +420 -420
- package/msg/olo.js +420 -420
- package/msg/pa.js +420 -420
- package/msg/pl.js +420 -420
- package/msg/pms.js +420 -420
- package/msg/ps.js +420 -420
- package/msg/pt-br.js +420 -420
- package/msg/pt.js +420 -420
- package/msg/ro.js +420 -420
- package/msg/ru.js +420 -420
- package/msg/sc.js +420 -420
- package/msg/sco.js +420 -420
- package/msg/sd.js +420 -420
- package/msg/shn.js +420 -420
- package/msg/si.js +420 -420
- package/msg/sk.js +420 -420
- package/msg/skr-arab.js +420 -420
- package/msg/sl.js +420 -420
- package/msg/smn.js +420 -420
- package/msg/sq.js +420 -420
- package/msg/sr-latn.js +420 -420
- package/msg/sr.js +420 -420
- package/msg/sv.js +420 -420
- package/msg/sw.js +420 -420
- package/msg/ta.js +420 -420
- package/msg/tcy.js +420 -420
- package/msg/te.js +420 -420
- package/msg/th.js +420 -420
- package/msg/ti.js +420 -420
- package/msg/tl.js +420 -420
- package/msg/tlh.js +420 -420
- package/msg/tr.js +420 -420
- package/msg/ug-arab.js +420 -420
- package/msg/uk.js +420 -420
- package/msg/ur.js +420 -420
- package/msg/uz.js +420 -420
- package/msg/vi.js +420 -420
- package/msg/xmf.js +420 -420
- package/msg/yo.js +420 -420
- package/msg/yue.js +420 -420
- package/msg/zgh.js +420 -420
- package/msg/zh-hans.js +420 -420
- package/msg/zh-hant.js +420 -420
- 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
|
@@ -7,25 +7,23 @@
|
|
|
7
7
|
/**
|
|
8
8
|
* @fileoverview Object that controls settings for the workspace.
|
|
9
9
|
*/
|
|
10
|
-
'use strict';
|
|
11
10
|
|
|
12
11
|
/**
|
|
13
12
|
* Object that controls settings for the workspace.
|
|
14
13
|
* @class
|
|
15
14
|
*/
|
|
16
|
-
goog
|
|
15
|
+
import * as goog from '../closure/goog/goog.js';
|
|
16
|
+
goog.declareModuleId('Blockly.Options');
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
/* eslint-disable-next-line no-unused-vars */
|
|
28
|
-
const {WorkspaceSvg} = goog.requireType('Blockly.WorkspaceSvg');
|
|
18
|
+
import type {BlocklyOptions} from './blockly_options.js';
|
|
19
|
+
import * as deprecation from './utils/deprecation.js';
|
|
20
|
+
import * as registry from './registry.js';
|
|
21
|
+
import {Theme} from './theme.js';
|
|
22
|
+
import {Classic} from './theme/classic.js';
|
|
23
|
+
import * as idGenerator from './utils/idgenerator.js';
|
|
24
|
+
import type {Metrics} from './utils/metrics.js';
|
|
25
|
+
import * as toolbox from './utils/toolbox.js';
|
|
26
|
+
import type {WorkspaceSvg} from './workspace_svg.js';
|
|
29
27
|
|
|
30
28
|
|
|
31
29
|
/**
|
|
@@ -33,13 +31,61 @@ const {WorkspaceSvg} = goog.requireType('Blockly.WorkspaceSvg');
|
|
|
33
31
|
* is unspecified.
|
|
34
32
|
* @alias Blockly.Options
|
|
35
33
|
*/
|
|
36
|
-
class Options {
|
|
34
|
+
export class Options {
|
|
35
|
+
RTL: boolean;
|
|
36
|
+
oneBasedIndex: boolean;
|
|
37
|
+
collapse: boolean;
|
|
38
|
+
comments: boolean;
|
|
39
|
+
disable: boolean;
|
|
40
|
+
readOnly: boolean;
|
|
41
|
+
maxBlocks: number;
|
|
42
|
+
maxInstances: {[key: string]: number}|null;
|
|
43
|
+
pathToMedia: string;
|
|
44
|
+
hasCategories: boolean;
|
|
45
|
+
moveOptions: MoveOptions;
|
|
46
|
+
hasScrollbars: boolean;
|
|
47
|
+
hasTrashcan: boolean;
|
|
48
|
+
maxTrashcanContents: number;
|
|
49
|
+
hasSounds: boolean;
|
|
50
|
+
hasCss: boolean;
|
|
51
|
+
horizontalLayout: boolean;
|
|
52
|
+
languageTree: toolbox.ToolboxInfo|null;
|
|
53
|
+
gridOptions: GridOptions;
|
|
54
|
+
zoomOptions: ZoomOptions;
|
|
55
|
+
toolboxPosition: toolbox.Position;
|
|
56
|
+
theme: Theme;
|
|
57
|
+
renderer: string;
|
|
58
|
+
rendererOverrides: {[rendererConstant: string]: any}|null;
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* The SVG element for the grid pattern.
|
|
62
|
+
* Created during injection.
|
|
63
|
+
*/
|
|
64
|
+
gridPattern: SVGElement|null = null;
|
|
65
|
+
parentWorkspace: WorkspaceSvg|null;
|
|
66
|
+
plugins: {[key: string]: (new(...p1: any[]) => any)|string};
|
|
67
|
+
|
|
37
68
|
/**
|
|
38
|
-
*
|
|
69
|
+
* If set, sets the translation of the workspace to match the scrollbars.
|
|
70
|
+
* A function that
|
|
71
|
+
* sets the translation of the workspace to match the scrollbars. The
|
|
72
|
+
* argument Contains an x and/or y property which is a float between 0
|
|
73
|
+
* and 1 specifying the degree of scrolling.
|
|
74
|
+
*/
|
|
75
|
+
setMetrics?: ((p1: {x: number, y: number}) => void) = undefined;
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* A function that returns a metrics
|
|
79
|
+
* object that describes the current workspace.
|
|
80
|
+
*/
|
|
81
|
+
getMetrics?: (() => Metrics) = undefined;
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* @param options Dictionary of options.
|
|
39
85
|
* Specification:
|
|
40
86
|
* https://developers.google.com/blockly/guides/get-started/web#configuration
|
|
41
87
|
*/
|
|
42
|
-
constructor(options) {
|
|
88
|
+
constructor(options: BlocklyOptions) {
|
|
43
89
|
let toolboxJsonDef = null;
|
|
44
90
|
let hasCategories = false;
|
|
45
91
|
let hasTrashcan = false;
|
|
@@ -49,28 +95,22 @@ class Options {
|
|
|
49
95
|
let hasSounds = false;
|
|
50
96
|
const readOnly = !!options['readOnly'];
|
|
51
97
|
if (!readOnly) {
|
|
52
|
-
toolboxJsonDef =
|
|
98
|
+
toolboxJsonDef =
|
|
99
|
+
toolbox.convertToolboxDefToJson(options['toolbox'] ?? null);
|
|
53
100
|
hasCategories = toolbox.hasCategories(toolboxJsonDef);
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
hasCollapse =
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
if (hasDisable === undefined) {
|
|
68
|
-
hasDisable = hasCategories;
|
|
69
|
-
}
|
|
70
|
-
hasSounds = options['sounds'];
|
|
71
|
-
if (hasSounds === undefined) {
|
|
72
|
-
hasSounds = true;
|
|
73
|
-
}
|
|
101
|
+
const rawHasTrashcan = options['trashcan'];
|
|
102
|
+
hasTrashcan =
|
|
103
|
+
rawHasTrashcan === undefined ? hasCategories : rawHasTrashcan;
|
|
104
|
+
const rawHasCollapse = options['collapse'];
|
|
105
|
+
hasCollapse =
|
|
106
|
+
rawHasCollapse === undefined ? hasCategories : rawHasCollapse;
|
|
107
|
+
const rawHasComments = options['comments'];
|
|
108
|
+
hasComments =
|
|
109
|
+
rawHasComments === undefined ? hasCategories : rawHasComments;
|
|
110
|
+
const rawHasDisable = options['disable'];
|
|
111
|
+
hasDisable = rawHasDisable === undefined ? hasCategories : rawHasDisable;
|
|
112
|
+
const rawHasSounds = options['sounds'];
|
|
113
|
+
hasSounds = rawHasSounds === undefined ? true : rawHasSounds;
|
|
74
114
|
}
|
|
75
115
|
|
|
76
116
|
let maxTrashcanContents = options['maxTrashcanContents'];
|
|
@@ -86,17 +126,15 @@ class Options {
|
|
|
86
126
|
if (horizontalLayout === undefined) {
|
|
87
127
|
horizontalLayout = false;
|
|
88
128
|
}
|
|
89
|
-
|
|
90
|
-
toolboxAtStart = toolboxAtStart !== 'end';
|
|
129
|
+
const toolboxAtStart = options['toolboxPosition'] !== 'end';
|
|
91
130
|
|
|
92
|
-
|
|
93
|
-
let toolboxPosition;
|
|
131
|
+
let toolboxPosition: toolbox.Position;
|
|
94
132
|
if (horizontalLayout) {
|
|
95
133
|
toolboxPosition =
|
|
96
134
|
toolboxAtStart ? toolbox.Position.TOP : toolbox.Position.BOTTOM;
|
|
97
135
|
} else {
|
|
98
|
-
toolboxPosition =
|
|
99
|
-
|
|
136
|
+
toolboxPosition = toolboxAtStart === rtl ? toolbox.Position.RIGHT :
|
|
137
|
+
toolbox.Position.LEFT;
|
|
100
138
|
}
|
|
101
139
|
|
|
102
140
|
let hasCss = options['css'];
|
|
@@ -105,125 +143,76 @@ class Options {
|
|
|
105
143
|
}
|
|
106
144
|
let pathToMedia = 'https://blockly-demo.appspot.com/static/media/';
|
|
107
145
|
if (options['media']) {
|
|
108
|
-
pathToMedia = options['media']
|
|
109
|
-
|
|
146
|
+
pathToMedia = options['media'].endsWith('/') ? options['media'] :
|
|
147
|
+
options['media'] + '/';
|
|
148
|
+
} else if ('path' in options) {
|
|
110
149
|
// 'path' is a deprecated option which has been replaced by 'media'.
|
|
111
|
-
|
|
150
|
+
deprecation.warn('path', 'Nov 2014', 'Jul 2023', 'media');
|
|
151
|
+
pathToMedia = (options as any)['path'] + 'media/';
|
|
112
152
|
}
|
|
113
153
|
let oneBasedIndex;
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
} else {
|
|
117
|
-
oneBasedIndex = !!options['oneBasedIndex'];
|
|
118
|
-
}
|
|
154
|
+
const rawOneBasedIndex = options['oneBasedIndex'];
|
|
155
|
+
oneBasedIndex = rawOneBasedIndex === undefined ? true : rawOneBasedIndex;
|
|
119
156
|
const renderer = options['renderer'] || 'geras';
|
|
120
157
|
|
|
121
158
|
const plugins = options['plugins'] || {};
|
|
122
159
|
|
|
123
|
-
/** @type {boolean} */
|
|
124
160
|
this.RTL = rtl;
|
|
125
|
-
/** @type {boolean} */
|
|
126
161
|
this.oneBasedIndex = oneBasedIndex;
|
|
127
|
-
/** @type {boolean} */
|
|
128
162
|
this.collapse = hasCollapse;
|
|
129
|
-
/** @type {boolean} */
|
|
130
163
|
this.comments = hasComments;
|
|
131
|
-
/** @type {boolean} */
|
|
132
164
|
this.disable = hasDisable;
|
|
133
|
-
/** @type {boolean} */
|
|
134
165
|
this.readOnly = readOnly;
|
|
135
|
-
/** @type {number} */
|
|
136
166
|
this.maxBlocks = options['maxBlocks'] || Infinity;
|
|
137
|
-
|
|
138
|
-
this.maxInstances = options['maxInstances'];
|
|
139
|
-
/** @type {string} */
|
|
167
|
+
this.maxInstances = options['maxInstances'] ?? null;
|
|
140
168
|
this.pathToMedia = pathToMedia;
|
|
141
|
-
/** @type {boolean} */
|
|
142
169
|
this.hasCategories = hasCategories;
|
|
143
|
-
/** @type {!Options.MoveOptions} */
|
|
144
170
|
this.moveOptions = Options.parseMoveOptions_(options, hasCategories);
|
|
145
171
|
/** @deprecated January 2019 */
|
|
146
172
|
this.hasScrollbars = !!this.moveOptions.scrollbars;
|
|
147
|
-
/** @type {boolean} */
|
|
148
173
|
this.hasTrashcan = hasTrashcan;
|
|
149
|
-
/** @type {number} */
|
|
150
174
|
this.maxTrashcanContents = maxTrashcanContents;
|
|
151
|
-
/** @type {boolean} */
|
|
152
175
|
this.hasSounds = hasSounds;
|
|
153
|
-
/** @type {boolean} */
|
|
154
176
|
this.hasCss = hasCss;
|
|
155
|
-
/** @type {boolean} */
|
|
156
177
|
this.horizontalLayout = horizontalLayout;
|
|
157
|
-
/** @type {?toolbox.ToolboxInfo} */
|
|
158
178
|
this.languageTree = toolboxJsonDef;
|
|
159
|
-
/** @type {!Options.GridOptions} */
|
|
160
179
|
this.gridOptions = Options.parseGridOptions_(options);
|
|
161
|
-
/** @type {!Options.ZoomOptions} */
|
|
162
180
|
this.zoomOptions = Options.parseZoomOptions_(options);
|
|
163
|
-
/** @type {!toolbox.Position} */
|
|
164
181
|
this.toolboxPosition = toolboxPosition;
|
|
165
|
-
/** @type {!Theme} */
|
|
166
182
|
this.theme = Options.parseThemeOptions_(options);
|
|
167
|
-
/** @type {string} */
|
|
168
183
|
this.renderer = renderer;
|
|
169
|
-
|
|
170
|
-
this.rendererOverrides = options['rendererOverrides'];
|
|
171
|
-
|
|
172
|
-
/**
|
|
173
|
-
* The SVG element for the grid pattern.
|
|
174
|
-
* Created during injection.
|
|
175
|
-
* @type {?SVGElement}
|
|
176
|
-
*/
|
|
177
|
-
this.gridPattern = null;
|
|
184
|
+
this.rendererOverrides = options['rendererOverrides'] ?? null;
|
|
178
185
|
|
|
179
186
|
/**
|
|
180
187
|
* The parent of the current workspace, or null if there is no parent
|
|
181
188
|
* workspace. We can assert that this is of type WorkspaceSvg as opposed to
|
|
182
189
|
* Workspace as this is only used in a rendered workspace.
|
|
183
|
-
* @type {?WorkspaceSvg}
|
|
184
190
|
*/
|
|
185
|
-
this.parentWorkspace = options['parentWorkspace'];
|
|
191
|
+
this.parentWorkspace = options['parentWorkspace'] ?? null;
|
|
186
192
|
|
|
187
|
-
/**
|
|
188
|
-
* Map of plugin type to name of registered plugin or plugin class.
|
|
189
|
-
* @type {!Object<string, (function(new:?, ...?)|string)>}
|
|
190
|
-
*/
|
|
193
|
+
/** Map of plugin type to name of registered plugin or plugin class. */
|
|
191
194
|
this.plugins = plugins;
|
|
192
|
-
|
|
193
|
-
/**
|
|
194
|
-
* If set, sets the translation of the workspace to match the scrollbars.
|
|
195
|
-
* @type {undefined|function(!{x:number,y:number}):void} A function that
|
|
196
|
-
* sets the translation of the workspace to match the scrollbars. The
|
|
197
|
-
* argument Contains an x and/or y property which is a float between 0
|
|
198
|
-
* and 1 specifying the degree of scrolling.
|
|
199
|
-
*/
|
|
200
|
-
this.setMetrics = undefined;
|
|
201
|
-
|
|
202
|
-
/**
|
|
203
|
-
* @type {undefined|function():!Metrics} A function that returns a metrics
|
|
204
|
-
* object that describes the current workspace.
|
|
205
|
-
*/
|
|
206
|
-
this.getMetrics = undefined;
|
|
207
195
|
}
|
|
208
196
|
|
|
209
197
|
/**
|
|
210
198
|
* Parse the user-specified move options, using reasonable defaults where
|
|
211
199
|
* behaviour is unspecified.
|
|
212
|
-
* @param
|
|
213
|
-
* @param
|
|
214
|
-
* @return
|
|
215
|
-
* @private
|
|
200
|
+
* @param options Dictionary of options.
|
|
201
|
+
* @param hasCategories Whether the workspace has categories or not.
|
|
202
|
+
* @return Normalized move options.
|
|
216
203
|
*/
|
|
217
|
-
static parseMoveOptions_(
|
|
204
|
+
private static parseMoveOptions_(
|
|
205
|
+
options: BlocklyOptions, hasCategories: boolean): MoveOptions {
|
|
218
206
|
const move = options['move'] || {};
|
|
219
|
-
const moveOptions = {};
|
|
207
|
+
const moveOptions = {} as MoveOptions;
|
|
220
208
|
if (move['scrollbars'] === undefined &&
|
|
221
209
|
options['scrollbars'] === undefined) {
|
|
222
210
|
moveOptions.scrollbars = hasCategories;
|
|
223
211
|
} else if (typeof move['scrollbars'] === 'object') {
|
|
224
|
-
moveOptions.scrollbars = {
|
|
225
|
-
|
|
226
|
-
|
|
212
|
+
moveOptions.scrollbars = {
|
|
213
|
+
'horizontal': !!move['scrollbars']['horizontal'],
|
|
214
|
+
'vertical': !!move['scrollbars']['vertical'],
|
|
215
|
+
};
|
|
227
216
|
// Convert scrollbars object to boolean if they have the same value.
|
|
228
217
|
// This allows us to easily check for whether any scrollbars exist using
|
|
229
218
|
// !!moveOptions.scrollbars.
|
|
@@ -260,13 +249,12 @@ class Options {
|
|
|
260
249
|
* Parse the user-specified zoom options, using reasonable defaults where
|
|
261
250
|
* behaviour is unspecified. See zoom documentation:
|
|
262
251
|
* https://developers.google.com/blockly/guides/configure/web/zoom
|
|
263
|
-
* @param
|
|
264
|
-
* @return
|
|
265
|
-
* @private
|
|
252
|
+
* @param options Dictionary of options.
|
|
253
|
+
* @return Normalized zoom options.
|
|
266
254
|
*/
|
|
267
|
-
static parseZoomOptions_(options) {
|
|
255
|
+
private static parseZoomOptions_(options: BlocklyOptions): ZoomOptions {
|
|
268
256
|
const zoom = options['zoom'] || {};
|
|
269
|
-
const zoomOptions = {};
|
|
257
|
+
const zoomOptions = {} as ZoomOptions;
|
|
270
258
|
if (zoom['controls'] === undefined) {
|
|
271
259
|
zoomOptions.controls = false;
|
|
272
260
|
} else {
|
|
@@ -309,17 +297,16 @@ class Options {
|
|
|
309
297
|
* Parse the user-specified grid options, using reasonable defaults where
|
|
310
298
|
* behaviour is unspecified. See grid documentation:
|
|
311
299
|
* https://developers.google.com/blockly/guides/configure/web/grid
|
|
312
|
-
* @param
|
|
313
|
-
* @return
|
|
314
|
-
* @private
|
|
300
|
+
* @param options Dictionary of options.
|
|
301
|
+
* @return Normalized grid options.
|
|
315
302
|
*/
|
|
316
|
-
static parseGridOptions_(options) {
|
|
303
|
+
private static parseGridOptions_(options: BlocklyOptions): GridOptions {
|
|
317
304
|
const grid = options['grid'] || {};
|
|
318
|
-
const gridOptions = {};
|
|
305
|
+
const gridOptions = {} as GridOptions;
|
|
319
306
|
gridOptions.spacing = Number(grid['spacing']) || 0;
|
|
320
307
|
gridOptions.colour = grid['colour'] || '#888';
|
|
321
308
|
gridOptions.length =
|
|
322
|
-
|
|
309
|
+
grid['length'] === undefined ? 1 : Number(grid['length']);
|
|
323
310
|
gridOptions.snap = gridOptions.spacing > 0 && !!grid['snap'];
|
|
324
311
|
return gridOptions;
|
|
325
312
|
}
|
|
@@ -327,65 +314,52 @@ class Options {
|
|
|
327
314
|
/**
|
|
328
315
|
* Parse the user-specified theme options, using the classic theme as a
|
|
329
316
|
* default. https://developers.google.com/blockly/guides/configure/web/themes
|
|
330
|
-
* @param
|
|
331
|
-
* @return
|
|
332
|
-
* @private
|
|
317
|
+
* @param options Dictionary of options.
|
|
318
|
+
* @return A Blockly Theme.
|
|
333
319
|
*/
|
|
334
|
-
static parseThemeOptions_(options) {
|
|
320
|
+
private static parseThemeOptions_(options: BlocklyOptions): Theme {
|
|
335
321
|
const theme = options['theme'] || Classic;
|
|
336
322
|
if (typeof theme === 'string') {
|
|
337
|
-
return
|
|
338
|
-
registry.getObject(registry.Type.THEME, theme));
|
|
323
|
+
return registry.getObject(registry.Type.THEME, theme) as Theme;
|
|
339
324
|
} else if (theme instanceof Theme) {
|
|
340
|
-
return
|
|
325
|
+
return theme;
|
|
341
326
|
}
|
|
342
327
|
return Theme.defineTheme(
|
|
343
|
-
theme.name ||
|
|
328
|
+
theme.name || 'builtin' + idGenerator.getNextUniqueId(), theme);
|
|
344
329
|
}
|
|
345
330
|
}
|
|
346
331
|
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
* }}
|
|
355
|
-
*/
|
|
356
|
-
Options.GridOptions;
|
|
332
|
+
export namespace Options {
|
|
333
|
+
export interface GridOptions {
|
|
334
|
+
colour: string;
|
|
335
|
+
length: number;
|
|
336
|
+
snap: boolean;
|
|
337
|
+
spacing: number;
|
|
338
|
+
}
|
|
357
339
|
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
* wheel: boolean
|
|
364
|
-
* }}
|
|
365
|
-
*/
|
|
366
|
-
Options.MoveOptions;
|
|
340
|
+
export interface MoveOptions {
|
|
341
|
+
drag: boolean;
|
|
342
|
+
scrollbars: boolean|ScrollbarOptions;
|
|
343
|
+
wheel: boolean;
|
|
344
|
+
}
|
|
367
345
|
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
* vertical: boolean
|
|
373
|
-
* }}
|
|
374
|
-
*/
|
|
375
|
-
Options.ScrollbarOptions;
|
|
346
|
+
export interface ScrollbarOptions {
|
|
347
|
+
horizontal: boolean;
|
|
348
|
+
vertical: boolean;
|
|
349
|
+
}
|
|
376
350
|
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
* }}
|
|
388
|
-
*/
|
|
389
|
-
Options.ZoomOptions;
|
|
351
|
+
export interface ZoomOptions {
|
|
352
|
+
controls: boolean;
|
|
353
|
+
maxScale: number;
|
|
354
|
+
minScale: number;
|
|
355
|
+
pinch: boolean;
|
|
356
|
+
scaleSpeed: number;
|
|
357
|
+
startScale: number;
|
|
358
|
+
wheel: boolean;
|
|
359
|
+
}
|
|
360
|
+
}
|
|
390
361
|
|
|
391
|
-
|
|
362
|
+
export type GridOptions = Options.GridOptions;
|
|
363
|
+
export type MoveOptions = Options.MoveOptions;
|
|
364
|
+
export type ScrollbarOptions = Options.ScrollbarOptions;
|
|
365
|
+
export type ZoomOptions = Options.ZoomOptions;
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2021 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { UiMetrics } from './metrics_manager.js';
|
|
7
|
+
import { Rect } from './utils/rect.js';
|
|
8
|
+
import type { Size } from './utils/size.js';
|
|
9
|
+
import type { WorkspaceSvg } from './workspace_svg.js';
|
|
10
|
+
/**
|
|
11
|
+
* Enum for vertical positioning.
|
|
12
|
+
* @alias Blockly.uiPosition.verticalPosition
|
|
13
|
+
* @internal
|
|
14
|
+
*/
|
|
15
|
+
export declare enum verticalPosition {
|
|
16
|
+
TOP = 0,
|
|
17
|
+
BOTTOM = 1
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Enum for horizontal positioning.
|
|
21
|
+
* @alias Blockly.uiPosition.horizontalPosition
|
|
22
|
+
* @internal
|
|
23
|
+
*/
|
|
24
|
+
export declare enum horizontalPosition {
|
|
25
|
+
LEFT = 0,
|
|
26
|
+
RIGHT = 1
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* An object defining a horizontal and vertical positioning.
|
|
30
|
+
* @alias Blockly.uiPosition.Position
|
|
31
|
+
* @internal
|
|
32
|
+
*/
|
|
33
|
+
export interface Position {
|
|
34
|
+
horizontal: horizontalPosition;
|
|
35
|
+
vertical: verticalPosition;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Enum for bump rules to use for dealing with collisions.
|
|
39
|
+
* @alias Blockly.uiPosition.bumpDirection
|
|
40
|
+
* @internal
|
|
41
|
+
*/
|
|
42
|
+
export declare enum bumpDirection {
|
|
43
|
+
UP = 0,
|
|
44
|
+
DOWN = 1
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Returns a rectangle representing reasonable position for where to place a UI
|
|
48
|
+
* element of the specified size given the restraints and locations of the
|
|
49
|
+
* scrollbars. This method does not take into account any already placed UI
|
|
50
|
+
* elements.
|
|
51
|
+
* @param position The starting horizontal and vertical position.
|
|
52
|
+
* @param size the size of the UI element to get a start position for.
|
|
53
|
+
* @param horizontalPadding The horizontal padding to use.
|
|
54
|
+
* @param verticalPadding The vertical padding to use.
|
|
55
|
+
* @param metrics The workspace UI metrics.
|
|
56
|
+
* @param workspace The workspace.
|
|
57
|
+
* @return The suggested start position.
|
|
58
|
+
* @alias Blockly.uiPosition.getStartPositionRect
|
|
59
|
+
* @internal
|
|
60
|
+
*/
|
|
61
|
+
export declare function getStartPositionRect(position: Position, size: Size, horizontalPadding: number, verticalPadding: number, metrics: UiMetrics, workspace: WorkspaceSvg): Rect;
|
|
62
|
+
/**
|
|
63
|
+
* Returns a corner position that is on the opposite side of the workspace from
|
|
64
|
+
* the toolbox.
|
|
65
|
+
* If in horizontal orientation, defaults to the bottom corner. If in vertical
|
|
66
|
+
* orientation, defaults to the right corner.
|
|
67
|
+
* @param workspace The workspace.
|
|
68
|
+
* @param metrics The workspace metrics.
|
|
69
|
+
* @return The suggested corner position.
|
|
70
|
+
* @alias Blockly.uiPosition.getCornerOppositeToolbox
|
|
71
|
+
* @internal
|
|
72
|
+
*/
|
|
73
|
+
export declare function getCornerOppositeToolbox(workspace: WorkspaceSvg, metrics: UiMetrics): Position;
|
|
74
|
+
/**
|
|
75
|
+
* Returns a position Rect based on a starting position that is bumped
|
|
76
|
+
* so that it doesn't intersect with any of the provided savedPositions. This
|
|
77
|
+
* method does not check that the bumped position is still within bounds.
|
|
78
|
+
* @param startRect The starting position to use.
|
|
79
|
+
* @param margin The margin to use between elements when bumping.
|
|
80
|
+
* @param bumpDir The direction to bump if there is a collision with an existing
|
|
81
|
+
* UI element.
|
|
82
|
+
* @param savedPositions List of rectangles that represent the positions of UI
|
|
83
|
+
* elements already placed.
|
|
84
|
+
* @return The suggested position rectangle.
|
|
85
|
+
* @alias Blockly.uiPosition.bumpPositionRect
|
|
86
|
+
* @internal
|
|
87
|
+
*/
|
|
88
|
+
export declare function bumpPositionRect(startRect: Rect, margin: number, bumpDir: bumpDirection, savedPositions: Rect[]): Rect;
|