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
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2019 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Inherit the prototype methods from one constructor into another.
|
|
8
|
+
* @param childCtor Child class.
|
|
9
|
+
* @param parentCtor Parent class.
|
|
10
|
+
* @suppress {strictMissingProperties} superClass_ is not defined on Function.
|
|
11
|
+
* @alias Blockly.utils.object.inherits
|
|
12
|
+
*/
|
|
13
|
+
export declare function inherits(childCtor: Function, parentCtor: Function): void;
|
|
14
|
+
/**
|
|
15
|
+
* Copies all the members of a source object to a target object.
|
|
16
|
+
* @param target Target.
|
|
17
|
+
* @param source Source.
|
|
18
|
+
* @alias Blockly.utils.object.mixin
|
|
19
|
+
*/
|
|
20
|
+
export declare function mixin(target: any, source: any): void;
|
|
21
|
+
/**
|
|
22
|
+
* Complete a deep merge of all members of a source object with a target object.
|
|
23
|
+
* @param target Target.
|
|
24
|
+
* @param source Source.
|
|
25
|
+
* @return The resulting object.
|
|
26
|
+
* @alias Blockly.utils.object.deepMerge
|
|
27
|
+
*/
|
|
28
|
+
export declare function deepMerge(target: any, source: any): any;
|
|
29
|
+
/**
|
|
30
|
+
* Returns an array of a given object's own enumerable property values.
|
|
31
|
+
* @param obj Object containing values.
|
|
32
|
+
* @return Array of values.
|
|
33
|
+
* @alias Blockly.utils.object.values
|
|
34
|
+
*/
|
|
35
|
+
export declare function values(obj: any): any[];
|
|
@@ -7,27 +7,31 @@
|
|
|
7
7
|
/**
|
|
8
8
|
* @fileoverview Utility methods for objects.
|
|
9
9
|
*/
|
|
10
|
-
'use strict';
|
|
11
10
|
|
|
12
11
|
/**
|
|
13
12
|
* Utility methods for objects.
|
|
14
13
|
* @namespace Blockly.utils.object
|
|
15
14
|
*/
|
|
16
|
-
goog
|
|
15
|
+
import * as goog from '../../closure/goog/goog.js';
|
|
16
|
+
goog.declareModuleId('Blockly.utils.object');
|
|
17
|
+
|
|
18
|
+
import * as deprecation from './deprecation.js';
|
|
17
19
|
|
|
18
20
|
|
|
19
21
|
/**
|
|
20
22
|
* Inherit the prototype methods from one constructor into another.
|
|
21
|
-
* @param
|
|
22
|
-
* @param
|
|
23
|
+
* @param childCtor Child class.
|
|
24
|
+
* @param parentCtor Parent class.
|
|
23
25
|
* @suppress {strictMissingProperties} superClass_ is not defined on Function.
|
|
24
26
|
* @alias Blockly.utils.object.inherits
|
|
25
27
|
*/
|
|
26
|
-
|
|
28
|
+
export function inherits(childCtor: Function, parentCtor: Function) {
|
|
27
29
|
// Set a .superClass_ property so that methods can call parent methods
|
|
28
30
|
// without hard-coding the parent class name.
|
|
29
31
|
// Could be replaced by ES6's super().
|
|
30
|
-
|
|
32
|
+
// AnyDuringMigration because: Property 'superClass_' does not exist on type
|
|
33
|
+
// 'Function'.
|
|
34
|
+
(childCtor as AnyDuringMigration).superClass_ = parentCtor.prototype;
|
|
31
35
|
|
|
32
36
|
// Link the child class to the parent class so that static methods inherit.
|
|
33
37
|
Object.setPrototypeOf(childCtor, parentCtor);
|
|
@@ -36,32 +40,34 @@ const inherits = function(childCtor, parentCtor) {
|
|
|
36
40
|
// of the parent class.
|
|
37
41
|
childCtor.prototype = Object.create(parentCtor.prototype);
|
|
38
42
|
childCtor.prototype.constructor = childCtor;
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
exports.inherits = inherits;
|
|
43
|
+
}
|
|
44
|
+
// Alternatively, one could use this instead:
|
|
45
|
+
// Object.setPrototypeOf(childCtor.prototype, parentCtor.prototype);
|
|
43
46
|
|
|
44
47
|
/**
|
|
45
48
|
* Copies all the members of a source object to a target object.
|
|
46
|
-
* @param
|
|
47
|
-
* @param
|
|
49
|
+
* @param target Target.
|
|
50
|
+
* @param source Source.
|
|
48
51
|
* @alias Blockly.utils.object.mixin
|
|
49
52
|
*/
|
|
50
|
-
|
|
53
|
+
export function mixin(target: AnyDuringMigration, source: AnyDuringMigration) {
|
|
54
|
+
deprecation.warn(
|
|
55
|
+
'Blockly.utils.object.mixin', 'May 2022', 'May 2023', 'Object.assign');
|
|
51
56
|
for (const x in source) {
|
|
52
57
|
target[x] = source[x];
|
|
53
58
|
}
|
|
54
|
-
}
|
|
55
|
-
exports.mixin = mixin;
|
|
59
|
+
}
|
|
56
60
|
|
|
57
61
|
/**
|
|
58
62
|
* Complete a deep merge of all members of a source object with a target object.
|
|
59
|
-
* @param
|
|
60
|
-
* @param
|
|
61
|
-
* @return
|
|
63
|
+
* @param target Target.
|
|
64
|
+
* @param source Source.
|
|
65
|
+
* @return The resulting object.
|
|
62
66
|
* @alias Blockly.utils.object.deepMerge
|
|
63
67
|
*/
|
|
64
|
-
|
|
68
|
+
export function deepMerge(
|
|
69
|
+
target: AnyDuringMigration,
|
|
70
|
+
source: AnyDuringMigration): AnyDuringMigration {
|
|
65
71
|
for (const x in source) {
|
|
66
72
|
if (source[x] !== null && typeof source[x] === 'object') {
|
|
67
73
|
target[x] = deepMerge(target[x] || Object.create(null), source[x]);
|
|
@@ -70,16 +76,15 @@ const deepMerge = function(target, source) {
|
|
|
70
76
|
}
|
|
71
77
|
}
|
|
72
78
|
return target;
|
|
73
|
-
}
|
|
74
|
-
exports.deepMerge = deepMerge;
|
|
79
|
+
}
|
|
75
80
|
|
|
76
81
|
/**
|
|
77
82
|
* Returns an array of a given object's own enumerable property values.
|
|
78
|
-
* @param
|
|
79
|
-
* @return
|
|
83
|
+
* @param obj Object containing values.
|
|
84
|
+
* @return Array of values.
|
|
80
85
|
* @alias Blockly.utils.object.values
|
|
81
86
|
*/
|
|
82
|
-
|
|
87
|
+
export function values(obj: AnyDuringMigration): AnyDuringMigration[] {
|
|
83
88
|
if (Object.values) {
|
|
84
89
|
return Object.values(obj);
|
|
85
90
|
}
|
|
@@ -87,5 +92,4 @@ const values = function(obj) {
|
|
|
87
92
|
return Object.keys(obj).map(function(e) {
|
|
88
93
|
return obj[e];
|
|
89
94
|
});
|
|
90
|
-
}
|
|
91
|
-
exports.values = values;
|
|
95
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2021 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Parse a string with any number of interpolation tokens (%1, %2, ...).
|
|
8
|
+
* It will also replace string table references (e.g., %{bky_my_msg} and
|
|
9
|
+
* %{BKY_MY_MSG} will both be replaced with the value in
|
|
10
|
+
* Msg['MY_MSG']). Percentage sign characters '%' may be self-escaped
|
|
11
|
+
* (e.g., '%%').
|
|
12
|
+
* @param message Text which might contain string table references and
|
|
13
|
+
* interpolation tokens.
|
|
14
|
+
* @return Array of strings and numbers.
|
|
15
|
+
* @alias Blockly.utils.parsing.tokenizeInterpolation
|
|
16
|
+
*/
|
|
17
|
+
export declare function tokenizeInterpolation(message: string): (string | number)[];
|
|
18
|
+
/**
|
|
19
|
+
* Replaces string table references in a message, if the message is a string.
|
|
20
|
+
* For example, "%{bky_my_msg}" and "%{BKY_MY_MSG}" will both be replaced with
|
|
21
|
+
* the value in Msg['MY_MSG'].
|
|
22
|
+
* @param message Message, which may be a string that contains
|
|
23
|
+
* string table references.
|
|
24
|
+
* @return String with message references replaced.
|
|
25
|
+
* @alias Blockly.utils.parsing.replaceMessageReferences
|
|
26
|
+
*/
|
|
27
|
+
export declare function replaceMessageReferences(message: string | any): string;
|
|
28
|
+
/**
|
|
29
|
+
* Validates that any %{MSG_KEY} references in the message refer to keys of
|
|
30
|
+
* the Msg string table.
|
|
31
|
+
* @param message Text which might contain string table references.
|
|
32
|
+
* @return True if all message references have matching values.
|
|
33
|
+
* Otherwise, false.
|
|
34
|
+
* @alias Blockly.utils.parsing.checkMessageReferences
|
|
35
|
+
*/
|
|
36
|
+
export declare function checkMessageReferences(message: string): boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Parse a block colour from a number or string, as provided in a block
|
|
39
|
+
* definition.
|
|
40
|
+
* @param colour HSV hue value (0 to 360), #RRGGBB string,
|
|
41
|
+
* or a message reference string pointing to one of those two values.
|
|
42
|
+
* @return An object containing the colour as
|
|
43
|
+
* a #RRGGBB string, and the hue if the input was an HSV hue value.
|
|
44
|
+
* @throws {Error} If the colour cannot be parsed.
|
|
45
|
+
* @alias Blockly.utils.parsing.parseBlockColour
|
|
46
|
+
*/
|
|
47
|
+
export declare function parseBlockColour(colour: number | string): {
|
|
48
|
+
hue: number | null;
|
|
49
|
+
hex: string;
|
|
50
|
+
};
|
|
@@ -7,50 +7,51 @@
|
|
|
7
7
|
/**
|
|
8
8
|
* @fileoverview Utility methods related to block and message parsing.
|
|
9
9
|
*/
|
|
10
|
-
'use strict';
|
|
11
10
|
|
|
12
11
|
/**
|
|
13
12
|
* @namespace Blockly.utils.parsing
|
|
14
13
|
*/
|
|
15
|
-
goog
|
|
14
|
+
import * as goog from '../../closure/goog/goog.js';
|
|
15
|
+
goog.declareModuleId('Blockly.utils.parsing');
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
import {Msg} from '../msg.js';
|
|
18
|
+
|
|
19
|
+
import * as colourUtils from './colour.js';
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
/**
|
|
23
23
|
* Internal implementation of the message reference and interpolation token
|
|
24
24
|
* parsing used by tokenizeInterpolation() and replaceMessageReferences().
|
|
25
|
-
* @param
|
|
25
|
+
* @param message Text which might contain string table references and
|
|
26
26
|
* interpolation tokens.
|
|
27
|
-
* @param
|
|
27
|
+
* @param parseInterpolationTokens Option to parse numeric
|
|
28
28
|
* interpolation tokens (%1, %2, ...) when true.
|
|
29
|
-
* @return
|
|
29
|
+
* @return Array of strings and numbers.
|
|
30
30
|
*/
|
|
31
|
-
|
|
32
|
-
message, parseInterpolationTokens) {
|
|
31
|
+
function tokenizeInterpolationInternal(
|
|
32
|
+
message: string, parseInterpolationTokens: boolean): (string|number)[] {
|
|
33
33
|
const tokens = [];
|
|
34
34
|
const chars = message.split('');
|
|
35
|
-
chars.push(
|
|
35
|
+
chars.push( // End marker.
|
|
36
|
+
'');
|
|
36
37
|
// Parse the message with a finite state machine.
|
|
37
38
|
// 0 - Base case.
|
|
38
39
|
// 1 - % found.
|
|
39
40
|
// 2 - Digit found.
|
|
40
41
|
// 3 - Message ref found.
|
|
41
42
|
let state = 0;
|
|
42
|
-
const buffer =
|
|
43
|
+
const buffer = new Array<string>();
|
|
43
44
|
let number = null;
|
|
44
45
|
for (let i = 0; i < chars.length; i++) {
|
|
45
46
|
const c = chars[i];
|
|
46
|
-
if (state === 0) {
|
|
47
|
+
if (state === 0) { // Start escape.
|
|
47
48
|
if (c === '%') {
|
|
48
49
|
const text = buffer.join('');
|
|
49
50
|
if (text) {
|
|
50
51
|
tokens.push(text);
|
|
51
52
|
}
|
|
52
53
|
buffer.length = 0;
|
|
53
|
-
state = 1;
|
|
54
|
+
state = 1;
|
|
54
55
|
} else {
|
|
55
56
|
buffer.push(c); // Regular char.
|
|
56
57
|
}
|
|
@@ -76,7 +77,7 @@ const tokenizeInterpolationInternal = function(
|
|
|
76
77
|
if ('0' <= c && c <= '9') {
|
|
77
78
|
number += c; // Multi-digit number.
|
|
78
79
|
} else {
|
|
79
|
-
tokens.push(parseInt(number, 10));
|
|
80
|
+
tokens.push(parseInt(number ?? '', 10));
|
|
80
81
|
i--; // Parse this char again.
|
|
81
82
|
state = 0;
|
|
82
83
|
}
|
|
@@ -94,16 +95,16 @@ const tokenizeInterpolationInternal = function(
|
|
|
94
95
|
// Found a valid string key. Attempt case insensitive match.
|
|
95
96
|
const keyUpper = rawKey.toUpperCase();
|
|
96
97
|
|
|
97
|
-
// BKY_ is the prefix used to namespace the strings used in
|
|
98
|
-
// core files and the predefined blocks in ../blocks/.
|
|
98
|
+
// BKY_ is the prefix used to namespace the strings used in
|
|
99
|
+
// Blockly core files and the predefined blocks in ../blocks/.
|
|
99
100
|
// These strings are defined in ../msgs/ files.
|
|
100
|
-
const bklyKey =
|
|
101
|
-
keyUpper.substring(4) :
|
|
102
|
-
null;
|
|
101
|
+
const bklyKey =
|
|
102
|
+
keyUpper.startsWith('BKY_') ? keyUpper.substring(4) : null;
|
|
103
103
|
if (bklyKey && bklyKey in Msg) {
|
|
104
104
|
const rawValue = Msg[bklyKey];
|
|
105
105
|
if (typeof rawValue === 'string') {
|
|
106
|
-
// Attempt to dereference substrings, too, appending to the
|
|
106
|
+
// Attempt to dereference substrings, too, appending to the
|
|
107
|
+
// end.
|
|
107
108
|
Array.prototype.push.apply(
|
|
108
109
|
tokens,
|
|
109
110
|
tokenizeInterpolationInternal(
|
|
@@ -140,7 +141,7 @@ const tokenizeInterpolationInternal = function(
|
|
|
140
141
|
buffer.length = 0;
|
|
141
142
|
for (let i = 0; i < tokens.length; i++) {
|
|
142
143
|
if (typeof tokens[i] === 'string') {
|
|
143
|
-
buffer.push(tokens[i]);
|
|
144
|
+
buffer.push(tokens[i] as string);
|
|
144
145
|
} else {
|
|
145
146
|
text = buffer.join('');
|
|
146
147
|
if (text) {
|
|
@@ -157,7 +158,7 @@ const tokenizeInterpolationInternal = function(
|
|
|
157
158
|
buffer.length = 0;
|
|
158
159
|
|
|
159
160
|
return mergedTokens;
|
|
160
|
-
}
|
|
161
|
+
}
|
|
161
162
|
|
|
162
163
|
/**
|
|
163
164
|
* Parse a string with any number of interpolation tokens (%1, %2, ...).
|
|
@@ -165,26 +166,26 @@ const tokenizeInterpolationInternal = function(
|
|
|
165
166
|
* %{BKY_MY_MSG} will both be replaced with the value in
|
|
166
167
|
* Msg['MY_MSG']). Percentage sign characters '%' may be self-escaped
|
|
167
168
|
* (e.g., '%%').
|
|
168
|
-
* @param
|
|
169
|
+
* @param message Text which might contain string table references and
|
|
169
170
|
* interpolation tokens.
|
|
170
|
-
* @return
|
|
171
|
+
* @return Array of strings and numbers.
|
|
171
172
|
* @alias Blockly.utils.parsing.tokenizeInterpolation
|
|
172
173
|
*/
|
|
173
|
-
|
|
174
|
+
export function tokenizeInterpolation(message: string): (string|number)[] {
|
|
174
175
|
return tokenizeInterpolationInternal(message, true);
|
|
175
|
-
}
|
|
176
|
-
exports.tokenizeInterpolation = tokenizeInterpolation;
|
|
176
|
+
}
|
|
177
177
|
|
|
178
178
|
/**
|
|
179
179
|
* Replaces string table references in a message, if the message is a string.
|
|
180
180
|
* For example, "%{bky_my_msg}" and "%{BKY_MY_MSG}" will both be replaced with
|
|
181
181
|
* the value in Msg['MY_MSG'].
|
|
182
|
-
* @param
|
|
182
|
+
* @param message Message, which may be a string that contains
|
|
183
183
|
* string table references.
|
|
184
|
-
* @return
|
|
184
|
+
* @return String with message references replaced.
|
|
185
185
|
* @alias Blockly.utils.parsing.replaceMessageReferences
|
|
186
186
|
*/
|
|
187
|
-
|
|
187
|
+
export function replaceMessageReferences(message: string|
|
|
188
|
+
AnyDuringMigration): string {
|
|
188
189
|
if (typeof message !== 'string') {
|
|
189
190
|
return message;
|
|
190
191
|
}
|
|
@@ -192,50 +193,50 @@ const replaceMessageReferences = function(message) {
|
|
|
192
193
|
// When parseInterpolationTokens === false, interpolatedResult should be at
|
|
193
194
|
// most length 1.
|
|
194
195
|
return interpolatedResult.length ? String(interpolatedResult[0]) : '';
|
|
195
|
-
}
|
|
196
|
-
exports.replaceMessageReferences = replaceMessageReferences;
|
|
196
|
+
}
|
|
197
197
|
|
|
198
198
|
/**
|
|
199
199
|
* Validates that any %{MSG_KEY} references in the message refer to keys of
|
|
200
200
|
* the Msg string table.
|
|
201
|
-
* @param
|
|
202
|
-
* @return
|
|
201
|
+
* @param message Text which might contain string table references.
|
|
202
|
+
* @return True if all message references have matching values.
|
|
203
203
|
* Otherwise, false.
|
|
204
204
|
* @alias Blockly.utils.parsing.checkMessageReferences
|
|
205
205
|
*/
|
|
206
|
-
|
|
206
|
+
export function checkMessageReferences(message: string): boolean {
|
|
207
207
|
let validSoFar = true;
|
|
208
208
|
|
|
209
209
|
const msgTable = Msg;
|
|
210
|
-
|
|
211
210
|
// TODO (#1169): Implement support for other string tables,
|
|
212
211
|
// prefixes other than BKY_.
|
|
213
212
|
const m = message.match(/%{BKY_[A-Z]\w*}/ig);
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
213
|
+
if (m) {
|
|
214
|
+
for (let i = 0; i < m.length; i++) {
|
|
215
|
+
const msgKey = m[i].toUpperCase();
|
|
216
|
+
if (msgTable[msgKey.slice(6, -1)] === undefined) {
|
|
217
|
+
console.warn('No message string for ' + m[i] + ' in ' + message);
|
|
218
|
+
validSoFar = false; // Continue to report other errors.
|
|
219
|
+
}
|
|
219
220
|
}
|
|
220
221
|
}
|
|
221
222
|
|
|
222
223
|
return validSoFar;
|
|
223
|
-
}
|
|
224
|
-
exports.checkMessageReferences = checkMessageReferences;
|
|
224
|
+
}
|
|
225
225
|
|
|
226
226
|
/**
|
|
227
227
|
* Parse a block colour from a number or string, as provided in a block
|
|
228
228
|
* definition.
|
|
229
|
-
* @param
|
|
229
|
+
* @param colour HSV hue value (0 to 360), #RRGGBB string,
|
|
230
230
|
* or a message reference string pointing to one of those two values.
|
|
231
|
-
* @return
|
|
231
|
+
* @return An object containing the colour as
|
|
232
232
|
* a #RRGGBB string, and the hue if the input was an HSV hue value.
|
|
233
233
|
* @throws {Error} If the colour cannot be parsed.
|
|
234
234
|
* @alias Blockly.utils.parsing.parseBlockColour
|
|
235
235
|
*/
|
|
236
|
-
|
|
236
|
+
export function parseBlockColour(colour: number|
|
|
237
|
+
string): {hue: number|null, hex: string} {
|
|
237
238
|
const dereferenced =
|
|
238
|
-
|
|
239
|
+
typeof colour === 'string' ? replaceMessageReferences(colour) : colour;
|
|
239
240
|
|
|
240
241
|
const hue = Number(dereferenced);
|
|
241
242
|
if (!isNaN(hue) && 0 <= hue && hue <= 360) {
|
|
@@ -257,5 +258,4 @@ const parseBlockColour = function(colour) {
|
|
|
257
258
|
throw Error(errorMsg);
|
|
258
259
|
}
|
|
259
260
|
}
|
|
260
|
-
}
|
|
261
|
-
exports.parseBlockColour = parseBlockColour;
|
|
261
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2019 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Class for representing rectangular regions.
|
|
8
|
+
* @alias Blockly.utils.Rect
|
|
9
|
+
*/
|
|
10
|
+
export declare class Rect {
|
|
11
|
+
top: number;
|
|
12
|
+
bottom: number;
|
|
13
|
+
left: number;
|
|
14
|
+
right: number;
|
|
15
|
+
/**
|
|
16
|
+
* @param top Top.
|
|
17
|
+
* @param bottom Bottom.
|
|
18
|
+
* @param left Left.
|
|
19
|
+
* @param right Right.
|
|
20
|
+
* @struct
|
|
21
|
+
*/
|
|
22
|
+
constructor(top: number, bottom: number, left: number, right: number);
|
|
23
|
+
/**
|
|
24
|
+
* Tests whether this rectangle contains a x/y coordinate.
|
|
25
|
+
*
|
|
26
|
+
* @param x The x coordinate to test for containment.
|
|
27
|
+
* @param y The y coordinate to test for containment.
|
|
28
|
+
* @return Whether this rectangle contains given coordinate.
|
|
29
|
+
*/
|
|
30
|
+
contains(x: number, y: number): boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Tests whether this rectangle intersects the provided rectangle.
|
|
33
|
+
* Assumes that the coordinate system increases going down and left.
|
|
34
|
+
* @param other The other rectangle to check for intersection with.
|
|
35
|
+
* @return Whether this rectangle intersects the provided rectangle.
|
|
36
|
+
*/
|
|
37
|
+
intersects(other: Rect): boolean;
|
|
38
|
+
}
|
|
@@ -9,7 +9,6 @@
|
|
|
9
9
|
* These methods are not specific to Blockly, and could be factored out into
|
|
10
10
|
* a JavaScript framework such as Closure.
|
|
11
11
|
*/
|
|
12
|
-
'use strict';
|
|
13
12
|
|
|
14
13
|
/**
|
|
15
14
|
* Utility methods for rectangle manipulation.
|
|
@@ -17,43 +16,34 @@
|
|
|
17
16
|
* a JavaScript framework such as Closure.
|
|
18
17
|
* @class
|
|
19
18
|
*/
|
|
20
|
-
goog
|
|
19
|
+
import * as goog from '../../closure/goog/goog.js';
|
|
20
|
+
goog.declareModuleId('Blockly.utils.Rect');
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
/**
|
|
24
24
|
* Class for representing rectangular regions.
|
|
25
25
|
* @alias Blockly.utils.Rect
|
|
26
26
|
*/
|
|
27
|
-
|
|
27
|
+
export class Rect {
|
|
28
28
|
/**
|
|
29
|
-
* @param
|
|
30
|
-
* @param
|
|
31
|
-
* @param
|
|
32
|
-
* @param
|
|
29
|
+
* @param top Top.
|
|
30
|
+
* @param bottom Bottom.
|
|
31
|
+
* @param left Left.
|
|
32
|
+
* @param right Right.
|
|
33
33
|
* @struct
|
|
34
34
|
*/
|
|
35
|
-
constructor(
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
/** @type {number} */
|
|
40
|
-
this.bottom = bottom;
|
|
41
|
-
|
|
42
|
-
/** @type {number} */
|
|
43
|
-
this.left = left;
|
|
44
|
-
|
|
45
|
-
/** @type {number} */
|
|
46
|
-
this.right = right;
|
|
47
|
-
}
|
|
35
|
+
constructor(
|
|
36
|
+
public top: number, public bottom: number, public left: number,
|
|
37
|
+
public right: number) {}
|
|
48
38
|
|
|
49
39
|
/**
|
|
50
40
|
* Tests whether this rectangle contains a x/y coordinate.
|
|
51
41
|
*
|
|
52
|
-
* @param
|
|
53
|
-
* @param
|
|
54
|
-
* @return
|
|
42
|
+
* @param x The x coordinate to test for containment.
|
|
43
|
+
* @param y The y coordinate to test for containment.
|
|
44
|
+
* @return Whether this rectangle contains given coordinate.
|
|
55
45
|
*/
|
|
56
|
-
contains(x, y) {
|
|
46
|
+
contains(x: number, y: number): boolean {
|
|
57
47
|
return x >= this.left && x <= this.right && y >= this.top &&
|
|
58
48
|
y <= this.bottom;
|
|
59
49
|
}
|
|
@@ -61,15 +51,12 @@ const Rect = class {
|
|
|
61
51
|
/**
|
|
62
52
|
* Tests whether this rectangle intersects the provided rectangle.
|
|
63
53
|
* Assumes that the coordinate system increases going down and left.
|
|
64
|
-
* @param
|
|
65
|
-
*
|
|
66
|
-
* @return {boolean} Whether this rectangle intersects the provided rectangle.
|
|
54
|
+
* @param other The other rectangle to check for intersection with.
|
|
55
|
+
* @return Whether this rectangle intersects the provided rectangle.
|
|
67
56
|
*/
|
|
68
|
-
intersects(other) {
|
|
57
|
+
intersects(other: Rect): boolean {
|
|
69
58
|
return !(
|
|
70
59
|
this.left > other.right || this.right < other.left ||
|
|
71
60
|
this.top > other.bottom || this.bottom < other.top);
|
|
72
61
|
}
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
exports.Rect = Rect;
|
|
62
|
+
}
|
|
@@ -7,19 +7,17 @@
|
|
|
7
7
|
/**
|
|
8
8
|
* @fileoverview A type used to create flag values (e.g. SKIP_SETUP).
|
|
9
9
|
*/
|
|
10
|
-
'use strict';
|
|
11
10
|
|
|
12
11
|
/**
|
|
13
12
|
* A type used to create flag values.
|
|
14
13
|
* @class
|
|
15
14
|
*/
|
|
16
|
-
goog
|
|
15
|
+
import * as goog from '../../closure/goog/goog.js';
|
|
16
|
+
goog.declareModuleId('Blockly.utils.Sentinel');
|
|
17
17
|
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
20
|
* A type used to create flag values.
|
|
21
21
|
* @alias Blockly.utils.Sentinel
|
|
22
22
|
*/
|
|
23
|
-
class Sentinel {}
|
|
24
|
-
|
|
25
|
-
exports.Sentinel = Sentinel;
|
|
23
|
+
export class Sentinel {}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2019 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Class for representing sizes consisting of a width and height.
|
|
8
|
+
* @alias Blockly.utils.Size
|
|
9
|
+
*/
|
|
10
|
+
export declare class Size {
|
|
11
|
+
width: number;
|
|
12
|
+
height: number;
|
|
13
|
+
/**
|
|
14
|
+
* @param width Width.
|
|
15
|
+
* @param height Height.
|
|
16
|
+
* @struct
|
|
17
|
+
*/
|
|
18
|
+
constructor(width: number, height: number);
|
|
19
|
+
/**
|
|
20
|
+
* Compares sizes for equality.
|
|
21
|
+
* @param a A Size.
|
|
22
|
+
* @param b A Size.
|
|
23
|
+
* @return True iff the sizes have equal widths and equal heights, or if both
|
|
24
|
+
* are null.
|
|
25
|
+
*/
|
|
26
|
+
static equals(a: Size | null, b: Size | null): boolean;
|
|
27
|
+
}
|