blockly 8.0.4-beta.0 → 8.0.5-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/blockly.min.js +2421 -2688
- package/blockly_compressed.js +1499 -1994
- package/blockly_compressed.js.map +1 -1
- package/blocks/blocks.js +3 -2
- package/blocks/colour.js +3 -1
- package/blocks/lists.js +94 -22
- package/blocks/logic.js +14 -6
- package/blocks/loops.js +5 -3
- package/blocks/math.js +3 -1
- package/blocks/procedures.js +3 -1
- package/blocks/text.js +14 -6
- package/blocks/variables.js +3 -1
- package/blocks/variables_dynamic.js +3 -1
- package/blocks.d.ts +0 -2
- package/blocks_compressed.js +189 -171
- package/blocks_compressed.js.map +1 -1
- package/closure/goog/base.d.ts +1 -0
- package/closure/goog/base_minimal.d.ts +18 -0
- package/closure/goog/goog.d.ts +25 -0
- package/core/any_aliases.d.ts +1 -0
- package/core/any_aliases.ts +1 -0
- package/core/block.d.ts +779 -0
- package/core/{block.js → block.ts} +610 -719
- package/core/block_animations.d.ts +33 -0
- package/core/{block_animations.js → block_animations.ts} +75 -79
- package/core/block_drag_surface.d.ts +111 -0
- package/core/{block_drag_surface.js → block_drag_surface.ts} +85 -117
- package/core/block_dragger.d.ts +143 -0
- package/core/{block_dragger.js → block_dragger.ts} +139 -176
- package/core/block_svg.d.ts +588 -0
- package/core/{block_svg.js → block_svg.ts} +494 -630
- package/core/blockly.d.ts +562 -0
- package/core/blockly.js +1 -1
- package/core/blockly.ts +749 -0
- package/core/blockly_options.d.ts +69 -0
- package/core/blockly_options.ts +81 -0
- package/core/blocks.d.ts +17 -0
- package/core/{blocks.js → blocks.ts} +4 -8
- package/core/browser_events.d.ts +85 -0
- package/core/{browser_events.js → browser_events.ts} +98 -93
- package/core/bubble.d.ts +279 -0
- package/core/{bubble.js → bubble.ts} +277 -370
- package/core/bubble_dragger.d.ts +73 -0
- package/core/bubble_dragger.ts +229 -0
- package/core/bump_objects.d.ts +34 -0
- package/core/{bump_objects.js → bump_objects.ts} +54 -52
- package/core/clipboard.d.ts +42 -0
- package/core/clipboard.ts +91 -0
- package/core/comment.d.ts +113 -0
- package/core/{comment.js → comment.ts} +135 -185
- package/core/common.d.ts +129 -0
- package/core/{common.js → common.ts} +105 -82
- package/core/component_manager.d.ts +91 -0
- package/core/component_manager.ts +211 -0
- package/core/config.d.ts +23 -0
- package/core/{config.js → config.ts} +12 -19
- package/core/connection.d.ts +232 -0
- package/core/{connection.js → connection.ts} +187 -237
- package/core/connection_checker.d.ts +78 -0
- package/core/{connection_checker.js → connection_checker.ts} +66 -77
- package/core/connection_db.d.ts +91 -0
- package/core/{connection_db.js → connection_db.ts} +62 -87
- package/core/connection_type.d.ts +15 -0
- package/core/{connection_type.js → connection_type.ts} +8 -12
- package/core/constants.d.ts +15 -0
- package/core/{constants.js → constants.ts} +4 -8
- package/core/contextmenu.d.ts +80 -0
- package/core/{contextmenu.js → contextmenu.ts} +118 -153
- package/core/contextmenu_items.d.ts +77 -0
- package/core/contextmenu_items.ts +576 -0
- package/core/contextmenu_registry.d.ts +105 -0
- package/core/contextmenu_registry.ts +179 -0
- package/core/css.d.ts +24 -0
- package/core/{css.js → css.ts} +16 -24
- package/core/delete_area.d.ts +47 -0
- package/core/delete_area.ts +82 -0
- package/core/dialog.d.ts +61 -0
- package/core/dialog.ts +127 -0
- package/core/drag_target.d.ts +63 -0
- package/core/drag_target.ts +94 -0
- package/core/dropdowndiv.d.ts +155 -0
- package/core/{dropdowndiv.js → dropdowndiv.ts} +262 -333
- package/core/events/events.d.ts +102 -0
- package/core/events/events.ts +123 -0
- package/core/events/events_abstract.d.ts +51 -0
- package/core/events/events_abstract.ts +112 -0
- package/core/events/events_block_base.d.ts +31 -0
- package/core/events/events_block_base.ts +65 -0
- package/core/events/events_block_change.d.ts +55 -0
- package/core/events/{events_block_change.js → events_block_change.ts} +45 -48
- package/core/events/events_block_create.d.ts +35 -0
- package/core/events/{events_block_create.js → events_block_create.ts} +30 -35
- package/core/events/events_block_delete.d.ts +36 -0
- package/core/events/{events_block_delete.js → events_block_delete.ts} +34 -39
- package/core/events/events_block_drag.d.ts +36 -0
- package/core/events/events_block_drag.ts +82 -0
- package/core/events/events_block_move.d.ts +51 -0
- package/core/events/{events_block_move.js → events_block_move.ts} +54 -50
- package/core/events/events_bubble_open.d.ts +35 -0
- package/core/events/events_bubble_open.ts +82 -0
- package/core/events/events_click.d.ts +36 -0
- package/core/events/{events_click.js → events_click.ts} +27 -30
- package/core/events/events_comment_base.d.ts +39 -0
- package/core/events/events_comment_base.ts +107 -0
- package/core/events/events_comment_change.d.ts +43 -0
- package/core/events/{events_comment_change.js → events_comment_change.ts} +31 -28
- package/core/events/events_comment_create.d.ts +35 -0
- package/core/events/{events_comment_create.js → events_comment_create.ts} +24 -26
- package/core/events/events_comment_delete.d.ts +35 -0
- package/core/events/{events_comment_delete.js → events_comment_delete.ts} +20 -24
- package/core/events/events_comment_move.d.ts +55 -0
- package/core/events/{events_comment_move.js → events_comment_move.ts} +39 -42
- package/core/events/events_marker_move.d.ts +40 -0
- package/core/events/events_marker_move.ts +99 -0
- package/core/events/events_selected.d.ts +34 -0
- package/core/events/events_selected.ts +78 -0
- package/core/events/events_theme_change.d.ts +30 -0
- package/core/events/{events_theme_change.js → events_theme_change.ts} +19 -24
- package/core/events/events_toolbox_item_select.d.ts +34 -0
- package/core/events/events_toolbox_item_select.ts +79 -0
- package/core/events/events_trashcan_open.d.ts +31 -0
- package/core/events/events_trashcan_open.ts +68 -0
- package/core/events/events_ui.d.ts +37 -0
- package/core/events/{events_ui.js → events_ui.ts} +27 -26
- package/core/events/events_ui_base.d.ts +26 -0
- package/core/events/{events_ui_base.js → events_ui_base.ts} +17 -26
- package/core/events/events_var_base.d.ts +31 -0
- package/core/events/events_var_base.ts +65 -0
- package/core/events/events_var_create.d.ts +35 -0
- package/core/events/{events_var_create.js → events_var_create.ts} +24 -25
- package/core/events/events_var_delete.d.ts +35 -0
- package/core/events/{events_var_delete.js → events_var_delete.ts} +24 -25
- package/core/events/events_var_rename.d.ts +36 -0
- package/core/events/{events_var_rename.js → events_var_rename.ts} +25 -26
- package/core/events/events_viewport.d.ts +39 -0
- package/core/events/events_viewport.ts +100 -0
- package/core/events/utils.d.ts +272 -0
- package/core/events/{utils.js → utils.ts} +148 -219
- package/core/events/workspace_events.d.ts +36 -0
- package/core/events/workspace_events.ts +86 -0
- package/core/extensions.d.ts +107 -0
- package/core/{extensions.js → extensions.ts} +153 -172
- package/core/field.d.ts +534 -0
- package/core/{field.js → field.ts} +413 -489
- package/core/field_angle.d.ts +176 -0
- package/core/field_angle.ts +563 -0
- package/core/field_checkbox.d.ts +124 -0
- package/core/field_checkbox.ts +243 -0
- package/core/field_colour.d.ts +200 -0
- package/core/field_colour.ts +632 -0
- package/core/field_dropdown.d.ts +222 -0
- package/core/{field_dropdown.js → field_dropdown.ts} +277 -299
- package/core/field_image.d.ts +134 -0
- package/core/field_image.ts +282 -0
- package/core/field_label.d.ts +71 -0
- package/core/field_label.ts +152 -0
- package/core/field_label_serializable.d.ts +42 -0
- package/core/field_label_serializable.ts +76 -0
- package/core/field_multilineinput.d.ts +146 -0
- package/core/{field_multilineinput.js → field_multilineinput.ts} +166 -163
- package/core/field_number.d.ts +156 -0
- package/core/{field_number.js → field_number.ts} +110 -123
- package/core/field_registry.d.ts +45 -0
- package/core/{field_registry.js → field_registry.ts} +37 -30
- package/core/field_textinput.d.ts +219 -0
- package/core/field_textinput.ts +591 -0
- package/core/field_variable.d.ts +217 -0
- package/core/{field_variable.js → field_variable.ts} +174 -187
- package/core/flyout_base.d.ts +459 -0
- package/core/{flyout_base.js → flyout_base.ts} +429 -518
- package/core/flyout_button.d.ts +81 -0
- package/core/flyout_button.ts +292 -0
- package/core/flyout_horizontal.d.ts +82 -0
- package/core/{flyout_horizontal.js → flyout_horizontal.ts} +97 -107
- package/core/flyout_metrics_manager.d.ts +40 -0
- package/core/{flyout_metrics_manager.js → flyout_metrics_manager.ts} +22 -34
- package/core/flyout_vertical.d.ts +83 -0
- package/core/{flyout_vertical.js → flyout_vertical.ts} +106 -117
- package/core/generator.d.ts +205 -0
- package/core/{generator.js → generator.ts} +168 -193
- package/core/gesture.d.ts +357 -0
- package/core/{gesture.js → gesture.ts} +289 -369
- package/core/grid.d.ts +83 -0
- package/core/grid.ts +192 -0
- package/core/icon.d.ts +78 -0
- package/core/icon.ts +189 -0
- package/core/inject.d.ts +15 -0
- package/core/{inject.js → inject.ts} +101 -100
- package/core/input.d.ts +128 -0
- package/core/input.ts +309 -0
- package/core/input_types.d.ts +14 -0
- package/core/{input_types.js → input_types.ts} +8 -12
- package/core/insertion_marker_manager.d.ts +212 -0
- package/core/{insertion_marker_manager.js → insertion_marker_manager.ts} +234 -236
- package/core/interfaces/i_ast_node_location.d.ts +11 -0
- package/core/interfaces/{i_ast_node_location.js → i_ast_node_location.ts} +4 -7
- package/core/interfaces/i_ast_node_location_svg.d.ts +22 -0
- package/core/interfaces/i_ast_node_location_svg.ts +37 -0
- package/core/interfaces/i_ast_node_location_with_block.d.ts +18 -0
- package/core/interfaces/i_ast_node_location_with_block.ts +38 -0
- package/core/interfaces/i_autohideable.d.ts +18 -0
- package/core/interfaces/i_autohideable.ts +34 -0
- package/core/interfaces/i_block_dragger.d.ts +43 -0
- package/core/interfaces/i_block_dragger.ts +67 -0
- package/core/interfaces/i_bounded_element.d.ts +24 -0
- package/core/interfaces/i_bounded_element.ts +42 -0
- package/core/interfaces/i_bubble.d.ts +59 -0
- package/core/interfaces/i_bubble.ts +88 -0
- package/core/interfaces/i_collapsible_toolbox_item.d.ts +26 -0
- package/core/interfaces/i_collapsible_toolbox_item.ts +47 -0
- package/core/interfaces/i_component.d.ts +17 -0
- package/core/interfaces/{i_component.js → i_component.ts} +9 -14
- package/core/interfaces/i_connection_checker.d.ts +69 -0
- package/core/interfaces/i_connection_checker.ts +102 -0
- package/core/interfaces/i_contextmenu.d.ts +13 -0
- package/core/interfaces/i_contextmenu.ts +26 -0
- package/core/interfaces/i_copyable.d.ts +24 -0
- package/core/interfaces/i_copyable.ts +40 -0
- package/core/interfaces/i_deletable.d.ts +16 -0
- package/core/interfaces/{i_deletable.js → i_deletable.ts} +9 -13
- package/core/interfaces/i_delete_area.d.ts +25 -0
- package/core/interfaces/i_delete_area.ts +46 -0
- package/core/interfaces/i_drag_target.d.ts +53 -0
- package/core/interfaces/i_drag_target.ts +84 -0
- package/core/interfaces/i_draggable.d.ts +12 -0
- package/core/interfaces/{i_draggable.js → i_draggable.ts} +4 -10
- package/core/interfaces/i_flyout.d.ts +134 -0
- package/core/interfaces/i_flyout.ts +186 -0
- package/core/interfaces/i_keyboard_accessible.d.ts +18 -0
- package/core/interfaces/i_keyboard_accessible.ts +35 -0
- package/core/interfaces/i_metrics_manager.d.ts +117 -0
- package/core/interfaces/i_metrics_manager.ts +151 -0
- package/core/interfaces/i_movable.d.ts +16 -0
- package/core/interfaces/{i_movable.js → i_movable.ts} +9 -13
- package/core/interfaces/i_positionable.d.ts +27 -0
- package/core/interfaces/i_positionable.ts +50 -0
- package/core/interfaces/i_registrable.d.ts +11 -0
- package/core/interfaces/{i_registrable.js → i_registrable.ts} +3 -7
- package/core/interfaces/i_registrable_field.d.ts +17 -0
- package/core/interfaces/{i_registrable_field.js → i_registrable_field.ts} +8 -16
- package/core/interfaces/i_selectable.d.ts +18 -0
- package/core/interfaces/i_selectable.ts +34 -0
- package/core/interfaces/i_selectable_toolbox_item.d.ts +42 -0
- package/core/interfaces/i_selectable_toolbox_item.ts +64 -0
- package/core/interfaces/i_serializer.d.ts +42 -0
- package/core/interfaces/i_serializer.ts +65 -0
- package/core/interfaces/i_styleable.d.ts +21 -0
- package/core/interfaces/i_styleable.ts +35 -0
- package/core/interfaces/i_toolbox.d.ts +85 -0
- package/core/interfaces/i_toolbox.ts +127 -0
- package/core/interfaces/i_toolbox_item.d.ts +62 -0
- package/core/interfaces/i_toolbox_item.ts +84 -0
- package/core/internal_constants.d.ts +40 -0
- package/core/{internal_constants.js → internal_constants.ts} +13 -18
- package/core/keyboard_nav/ast_node.d.ts +239 -0
- package/core/keyboard_nav/{ast_node.js → ast_node.ts} +207 -231
- package/core/keyboard_nav/basic_cursor.d.ts +88 -0
- package/core/keyboard_nav/{basic_cursor.js → basic_cursor.ts} +55 -66
- package/core/keyboard_nav/cursor.d.ts +41 -0
- package/core/keyboard_nav/{cursor.js → cursor.ts} +25 -35
- package/core/keyboard_nav/marker.d.ts +58 -0
- package/core/keyboard_nav/{marker.js → marker.ts} +36 -55
- package/core/keyboard_nav/tab_navigate_cursor.d.ts +19 -0
- package/core/keyboard_nav/{tab_navigate_cursor.js → tab_navigate_cursor.ts} +11 -15
- package/core/main.d.ts +11 -0
- package/core/main.js +303 -0
- package/core/marker_manager.d.ts +85 -0
- package/core/marker_manager.ts +181 -0
- package/core/menu.d.ts +149 -0
- package/core/{menu.js → menu.ts} +141 -174
- package/core/menuitem.d.ts +118 -0
- package/core/menuitem.ts +240 -0
- package/core/metrics_manager.d.ts +201 -0
- package/core/{metrics_manager.js → metrics_manager.ts} +117 -156
- package/core/msg.d.ts +9 -0
- package/core/{msg.js → msg.ts} +4 -8
- package/core/mutator.d.ts +128 -0
- package/core/{mutator.js → mutator.ts} +196 -211
- package/core/names.d.ts +124 -0
- package/core/names.ts +267 -0
- package/core/options.d.ts +137 -0
- package/core/{options.js → options.ts} +147 -173
- package/core/positionable_helpers.d.ts +88 -0
- package/core/{positionable_helpers.js → positionable_helpers.ts} +63 -70
- package/core/procedures.d.ts +108 -0
- package/core/{procedures.js → procedures.ts} +143 -152
- package/core/registry.d.ts +137 -0
- package/core/registry.ts +339 -0
- package/core/rendered_connection.d.ts +191 -0
- package/core/{rendered_connection.js → rendered_connection.ts} +164 -184
- package/core/renderers/common/block_rendering.d.ts +114 -0
- package/core/renderers/common/block_rendering.ts +164 -0
- package/core/renderers/common/constants.d.ts +458 -0
- package/core/renderers/common/constants.ts +1124 -0
- package/core/renderers/common/debug.d.ts +28 -0
- package/core/renderers/common/{debug.js → debug.ts} +14 -20
- package/core/renderers/common/debugger.d.ts +120 -0
- package/core/renderers/common/{debugger.js → debugger.ts} +100 -124
- package/core/renderers/common/drawer.d.ts +132 -0
- package/core/renderers/common/{drawer.js → drawer.ts} +112 -137
- package/core/renderers/common/i_path_object.d.ts +117 -0
- package/core/renderers/common/i_path_object.ts +161 -0
- package/core/renderers/common/info.d.ts +194 -0
- package/core/renderers/common/{info.js → info.ts} +165 -222
- package/core/renderers/common/marker_svg.d.ts +220 -0
- package/core/renderers/common/marker_svg.ts +680 -0
- package/core/renderers/common/path_object.d.ts +146 -0
- package/core/renderers/common/path_object.ts +272 -0
- package/core/renderers/common/renderer.d.ts +157 -0
- package/core/renderers/common/renderer.ts +271 -0
- package/core/renderers/geras/constants.d.ts +23 -0
- package/core/renderers/geras/constants.ts +61 -0
- package/core/renderers/geras/drawer.d.ts +43 -0
- package/core/renderers/geras/{drawer.js → drawer.ts} +40 -84
- package/core/renderers/geras/geras.d.ts +11 -0
- package/core/renderers/geras/geras.ts +37 -0
- package/core/renderers/geras/highlight_constants.d.ts +108 -0
- package/core/renderers/geras/{highlight_constants.js → highlight_constants.ts} +107 -69
- package/core/renderers/geras/highlighter.d.ts +98 -0
- package/core/renderers/geras/{highlighter.js → highlighter.ts} +81 -86
- package/core/renderers/geras/info.d.ts +45 -0
- package/core/renderers/geras/{info.js → info.ts} +61 -99
- package/core/renderers/geras/measurables/inline_input.d.ts +23 -0
- package/core/renderers/geras/measurables/inline_input.ts +51 -0
- package/core/renderers/geras/measurables/statement_input.d.ts +23 -0
- package/core/renderers/geras/measurables/statement_input.ts +50 -0
- package/core/renderers/geras/path_object.d.ts +47 -0
- package/core/renderers/geras/{path_object.js → path_object.ts} +46 -74
- package/core/renderers/geras/renderer.d.ts +69 -0
- package/core/renderers/geras/renderer.ts +126 -0
- package/core/renderers/measurables/base.d.ts +27 -0
- package/core/renderers/measurables/base.ts +53 -0
- package/core/renderers/measurables/bottom_row.d.ts +61 -0
- package/core/renderers/measurables/bottom_row.ts +120 -0
- package/core/renderers/measurables/connection.d.ts +25 -0
- package/core/renderers/measurables/connection.ts +52 -0
- package/core/renderers/measurables/external_value_input.d.ts +27 -0
- package/core/renderers/measurables/external_value_input.ts +65 -0
- package/core/renderers/measurables/field.d.ts +30 -0
- package/core/renderers/measurables/field.ts +63 -0
- package/core/renderers/measurables/hat.d.ts +21 -0
- package/core/renderers/measurables/{hat.js → hat.ts} +12 -14
- package/core/renderers/measurables/icon.d.ts +26 -0
- package/core/renderers/measurables/{icon.js → icon.ts} +14 -18
- package/core/renderers/measurables/in_row_spacer.d.ts +21 -0
- package/core/renderers/measurables/in_row_spacer.ts +44 -0
- package/core/renderers/measurables/inline_input.d.ts +24 -0
- package/core/renderers/measurables/{inline_input.js → inline_input.ts} +22 -26
- package/core/renderers/measurables/input_connection.d.ts +29 -0
- package/core/renderers/measurables/input_connection.ts +66 -0
- package/core/renderers/measurables/input_row.d.ts +30 -0
- package/core/renderers/measurables/{input_row.js → input_row.ts} +24 -31
- package/core/renderers/measurables/jagged_edge.d.ts +20 -0
- package/core/renderers/measurables/{jagged_edge.js → jagged_edge.ts} +10 -13
- package/core/renderers/measurables/next_connection.d.ts +23 -0
- package/core/renderers/measurables/next_connection.ts +47 -0
- package/core/renderers/measurables/output_connection.d.ts +26 -0
- package/core/renderers/measurables/output_connection.ts +56 -0
- package/core/renderers/measurables/previous_connection.d.ts +23 -0
- package/core/renderers/measurables/previous_connection.ts +47 -0
- package/core/renderers/measurables/round_corner.d.ts +21 -0
- package/core/renderers/measurables/round_corner.ts +49 -0
- package/core/renderers/measurables/row.d.ts +141 -0
- package/core/renderers/measurables/row.ts +225 -0
- package/core/renderers/measurables/spacer_row.d.ts +29 -0
- package/core/renderers/measurables/spacer_row.ts +55 -0
- package/core/renderers/measurables/square_corner.d.ts +21 -0
- package/core/renderers/measurables/square_corner.ts +47 -0
- package/core/renderers/measurables/statement_input.d.ts +22 -0
- package/core/renderers/measurables/{statement_input.js → statement_input.ts} +14 -18
- package/core/renderers/measurables/top_row.d.ts +56 -0
- package/core/renderers/measurables/top_row.ts +122 -0
- package/core/renderers/measurables/types.d.ts +235 -0
- package/core/renderers/measurables/types.ts +332 -0
- package/core/renderers/minimalist/constants.d.ts +14 -0
- package/core/renderers/minimalist/{constants.js → constants.ts} +5 -10
- package/core/renderers/minimalist/drawer.d.ts +21 -0
- package/core/renderers/minimalist/drawer.ts +38 -0
- package/core/renderers/minimalist/info.d.ts +30 -0
- package/core/renderers/minimalist/info.ts +52 -0
- package/core/renderers/minimalist/minimalist.d.ts +6 -0
- package/core/renderers/minimalist/minimalist.ts +22 -0
- package/core/renderers/minimalist/renderer.d.ts +41 -0
- package/core/renderers/minimalist/renderer.ts +71 -0
- package/core/renderers/thrasos/info.d.ts +40 -0
- package/core/renderers/thrasos/{info.js → info.ts} +66 -67
- package/core/renderers/thrasos/renderer.d.ts +25 -0
- package/core/renderers/thrasos/renderer.ts +48 -0
- package/core/renderers/thrasos/thrasos.d.ts +4 -0
- package/core/renderers/thrasos/thrasos.ts +20 -0
- package/core/renderers/zelos/constants.d.ts +186 -0
- package/core/renderers/zelos/{constants.js → constants.ts} +294 -441
- package/core/renderers/zelos/drawer.d.ts +47 -0
- package/core/renderers/zelos/{drawer.js → drawer.ts} +73 -95
- package/core/renderers/zelos/info.d.ts +88 -0
- package/core/renderers/zelos/{info.js → info.ts} +111 -142
- package/core/renderers/zelos/marker_svg.d.ts +46 -0
- package/core/renderers/zelos/marker_svg.ts +151 -0
- package/core/renderers/zelos/measurables/bottom_row.d.ts +27 -0
- package/core/renderers/zelos/measurables/bottom_row.ts +53 -0
- package/core/renderers/zelos/measurables/inputs.d.ts +23 -0
- package/core/renderers/zelos/measurables/{inputs.js → inputs.ts} +14 -15
- package/core/renderers/zelos/measurables/row_elements.d.ts +21 -0
- package/core/renderers/zelos/measurables/row_elements.ts +45 -0
- package/core/renderers/zelos/measurables/top_row.d.ts +29 -0
- package/core/renderers/zelos/measurables/{top_row.js → top_row.ts} +14 -27
- package/core/renderers/zelos/path_object.d.ts +77 -0
- package/core/renderers/zelos/path_object.ts +215 -0
- package/core/renderers/zelos/renderer.d.ts +74 -0
- package/core/renderers/zelos/renderer.ts +142 -0
- package/core/renderers/zelos/zelos.d.ts +12 -0
- package/core/renderers/zelos/zelos.ts +39 -0
- package/core/scrollbar.d.ts +277 -0
- package/core/{scrollbar.js → scrollbar.ts} +307 -328
- package/core/scrollbar_pair.d.ts +105 -0
- package/core/{scrollbar_pair.js → scrollbar_pair.ts} +71 -79
- package/core/serialization/blocks.d.ts +98 -0
- package/core/serialization/{blocks.js → blocks.ts} +229 -228
- package/core/serialization/exceptions.d.ts +73 -0
- package/core/serialization/exceptions.ts +98 -0
- package/core/serialization/priorities.d.ts +15 -0
- package/core/serialization/{priorities.js → priorities.ts} +4 -10
- package/core/serialization/registry.d.ts +20 -0
- package/core/serialization/{registry.js → registry.ts} +11 -13
- package/core/serialization/variables.d.ts +14 -0
- package/core/serialization/{variables.js → variables.ts} +30 -32
- package/core/serialization/workspaces.d.ts +28 -0
- package/core/serialization/{workspaces.js → workspaces.ts} +30 -27
- package/core/shortcut_items.d.ts +61 -0
- package/core/{shortcut_items.js → shortcut_items.ts} +121 -157
- package/core/shortcut_registry.d.ts +151 -0
- package/core/shortcut_registry.ts +355 -0
- package/core/sprites.d.ts +19 -0
- package/core/{sprites.js → sprites.ts} +4 -6
- package/core/theme/classic.d.ts +12 -0
- package/core/theme/{classic.js → classic.ts} +5 -7
- package/core/theme/themes.d.ts +8 -0
- package/core/theme/themes.ts +22 -0
- package/core/theme/zelos.d.ts +11 -0
- package/core/theme/{zelos.js → zelos.ts} +4 -7
- package/core/theme.d.ts +142 -0
- package/core/theme.ts +221 -0
- package/core/theme_manager.d.ts +81 -0
- package/core/theme_manager.ts +186 -0
- package/core/toolbox/category.d.ts +239 -0
- package/core/toolbox/category.ts +679 -0
- package/core/toolbox/collapsible_category.d.ts +91 -0
- package/core/toolbox/collapsible_category.ts +273 -0
- package/core/toolbox/separator.d.ts +39 -0
- package/core/toolbox/separator.ts +105 -0
- package/core/toolbox/toolbox.d.ts +352 -0
- package/core/toolbox/{toolbox.js → toolbox.ts} +316 -432
- package/core/toolbox/toolbox_item.d.ts +85 -0
- package/core/toolbox/toolbox_item.ts +147 -0
- package/core/tooltip.d.ts +126 -0
- package/core/{tooltip.js → tooltip.ts} +136 -214
- package/core/touch.d.ts +121 -0
- package/core/touch.ts +306 -0
- package/core/touch_gesture.d.ts +115 -0
- package/core/{touch_gesture.js → touch_gesture.ts} +87 -125
- package/core/trashcan.d.ts +195 -0
- package/core/{trashcan.js → trashcan.ts} +226 -312
- package/core/utils/aria.d.ts +67 -0
- package/core/utils/{aria.js → aria.ts} +47 -61
- package/core/utils/array.d.ts +14 -0
- package/core/utils/{array.js → array.ts} +10 -12
- package/core/utils/colour.d.ts +103 -0
- package/core/utils/{colour.js → colour.ts} +60 -72
- package/core/utils/coordinate.d.ts +72 -0
- package/core/utils/coordinate.ts +124 -0
- package/core/utils/deprecation.d.ts +17 -0
- package/core/utils/{deprecation.js → deprecation.ts} +11 -11
- package/core/utils/dom.d.ts +165 -0
- package/core/utils/{dom.js → dom.ts} +125 -147
- package/core/utils/idgenerator.d.ts +25 -0
- package/core/utils/{idgenerator.js → idgenerator.ts} +15 -18
- package/core/utils/keycodes.d.ts +137 -0
- package/core/utils/keycodes.ts +169 -0
- package/core/utils/math.d.ts +30 -0
- package/core/utils/{math.js → math.ts} +17 -19
- package/core/utils/metrics.d.ts +64 -0
- package/core/utils/metrics.ts +97 -0
- package/core/utils/object.d.ts +35 -0
- package/core/utils/{object.js → object.ts} +30 -26
- package/core/utils/parsing.d.ts +50 -0
- package/core/utils/{parsing.js → parsing.ts} +50 -50
- package/core/utils/rect.d.ts +38 -0
- package/core/utils/{rect.js → rect.ts} +18 -31
- package/core/utils/sentinel.d.ts +11 -0
- package/core/utils/{sentinel.js → sentinel.ts} +3 -5
- package/core/utils/size.d.ts +27 -0
- package/core/utils/{size.js → size.ts} +12 -26
- package/core/utils/string.d.ts +55 -0
- package/core/utils/{string.js → string.ts} +64 -61
- package/core/utils/style.d.ts +127 -0
- package/core/utils/{style.js → style.ts} +102 -92
- package/core/utils/svg.d.ts +68 -0
- package/core/utils/svg.ts +88 -0
- package/core/utils/svg_math.d.ts +70 -0
- package/core/utils/{svg_math.js → svg_math.ts} +72 -71
- package/core/utils/svg_paths.d.ts +101 -0
- package/core/utils/{svg_paths.js → svg_paths.ts} +56 -65
- package/core/utils/toolbox.d.ts +193 -0
- package/core/utils/toolbox.ts +433 -0
- package/core/utils/useragent.d.ts +33 -0
- package/core/utils/useragent.ts +135 -0
- package/core/utils/xml.d.ts +52 -0
- package/core/utils/{xml.js → xml.ts} +26 -36
- package/core/utils.d.ts +217 -0
- package/core/utils.ts +428 -0
- package/core/variable_map.d.ts +141 -0
- package/core/{variable_map.js → variable_map.ts} +131 -149
- package/core/variable_model.d.ts +40 -0
- package/core/variable_model.ts +82 -0
- package/core/variables.d.ts +181 -0
- package/core/{variables.js → variables.ts} +206 -188
- package/core/variables_dynamic.d.ts +38 -0
- package/core/{variables_dynamic.js → variables_dynamic.ts} +47 -43
- package/core/warning.d.ts +50 -0
- package/core/{warning.js → warning.ts} +52 -66
- package/core/widgetdiv.d.ts +69 -0
- package/core/widgetdiv.ts +257 -0
- package/core/workspace.d.ts +386 -0
- package/core/workspace.ts +801 -0
- package/core/workspace_audio.d.ts +47 -0
- package/core/{workspace_audio.js → workspace_audio.ts} +47 -60
- package/core/workspace_comment.d.ts +170 -0
- package/core/workspace_comment.ts +398 -0
- package/core/workspace_comment_svg.d.ts +329 -0
- package/core/{workspace_comment_svg.js → workspace_comment_svg.ts} +347 -444
- package/core/workspace_drag_surface_svg.d.ts +68 -0
- package/core/{workspace_drag_surface_svg.js → workspace_drag_surface_svg.ts} +75 -82
- package/core/workspace_dragger.d.ts +48 -0
- package/core/workspace_dragger.ts +104 -0
- package/core/workspace_svg.d.ts +920 -0
- package/core/{workspace_svg.js → workspace_svg.ts} +855 -935
- package/core/xml.d.ts +117 -0
- package/core/{xml.js → xml.ts} +306 -326
- package/core/zoom_controls.d.ts +130 -0
- package/core/{zoom_controls.js → zoom_controls.ts} +185 -251
- package/core.d.ts +1 -3
- package/core.js +1 -2
- package/dart.d.ts +0 -3
- package/dart_compressed.js +387 -99
- package/dart_compressed.js.map +1 -1
- package/generators/dart/all.js +2 -0
- package/generators/dart/colour.js +1 -1
- package/generators/dart/lists.js +1 -1
- package/generators/dart/logic.js +1 -1
- package/generators/dart/loops.js +1 -1
- package/generators/dart/math.js +1 -1
- package/generators/dart/procedures.js +1 -1
- package/generators/dart/text.js +1 -1
- package/generators/dart/variables.js +1 -1
- package/generators/dart/variables_dynamic.js +1 -1
- package/generators/dart.js +1 -2
- package/generators/javascript/all.js +2 -0
- package/generators/javascript/colour.js +1 -1
- package/generators/javascript/lists.js +1 -1
- package/generators/javascript/logic.js +1 -1
- package/generators/javascript/loops.js +1 -1
- package/generators/javascript/math.js +4 -4
- package/generators/javascript/procedures.js +1 -1
- package/generators/javascript/text.js +2 -2
- package/generators/javascript/variables.js +1 -1
- package/generators/javascript/variables_dynamic.js +1 -1
- package/generators/javascript.js +1 -3
- package/generators/lua/all.js +2 -0
- package/generators/lua/colour.js +1 -1
- package/generators/lua/lists.js +1 -1
- package/generators/lua/logic.js +1 -1
- package/generators/lua/loops.js +1 -1
- package/generators/lua/math.js +1 -1
- package/generators/lua/procedures.js +1 -1
- package/generators/lua/text.js +1 -1
- package/generators/lua/variables.js +1 -1
- package/generators/lua/variables_dynamic.js +1 -1
- package/generators/lua.js +1 -2
- package/generators/php/all.js +2 -0
- package/generators/php/colour.js +1 -1
- package/generators/php/lists.js +1 -2
- package/generators/php/logic.js +1 -1
- package/generators/php/loops.js +1 -1
- package/generators/php/math.js +1 -1
- package/generators/php/procedures.js +1 -1
- package/generators/php/text.js +1 -1
- package/generators/php/variables.js +1 -1
- package/generators/php/variables_dynamic.js +1 -1
- package/generators/php.js +1 -2
- package/generators/python/all.js +2 -0
- package/generators/python/colour.js +3 -3
- package/generators/python/lists.js +1 -1
- package/generators/python/logic.js +1 -1
- package/generators/python/loops.js +4 -7
- package/generators/python/math.js +1 -1
- package/generators/python/procedures.js +1 -1
- package/generators/python/text.js +1 -1
- package/generators/python/variables.js +1 -1
- package/generators/python/variables_dynamic.js +1 -1
- package/generators/python.js +1 -2
- package/index.d.ts +2 -8
- package/javascript.d.ts +0 -3
- package/javascript_compressed.js +314 -104
- package/javascript_compressed.js.map +1 -1
- package/lua.d.ts +0 -3
- package/lua_compressed.js +399 -81
- package/lua_compressed.js.map +1 -1
- package/msg/ab.js +421 -421
- package/msg/ace.js +421 -421
- package/msg/af.js +421 -421
- package/msg/am.js +421 -421
- package/msg/ar.js +421 -421
- package/msg/ast.js +421 -421
- package/msg/az.js +421 -421
- package/msg/ba.js +421 -421
- package/msg/bcc.js +421 -421
- package/msg/be-tarask.js +421 -421
- package/msg/be.js +421 -421
- package/msg/bg.js +421 -421
- package/msg/bn.js +421 -421
- package/msg/br.js +421 -421
- package/msg/bs.js +421 -421
- package/msg/ca.js +421 -421
- package/msg/cdo.js +421 -421
- package/msg/cs.js +421 -421
- package/msg/da.js +421 -421
- package/msg/de.js +421 -421
- package/msg/diq.js +421 -421
- package/msg/dty.js +421 -421
- package/msg/ee.js +421 -421
- package/msg/el.js +421 -421
- package/msg/en-gb.js +421 -421
- package/msg/en.js +421 -421
- package/msg/eo.js +421 -421
- package/msg/es.js +421 -421
- package/msg/et.js +421 -421
- package/msg/eu.js +421 -421
- package/msg/fa.js +421 -421
- package/msg/fi.js +421 -421
- package/msg/fo.js +421 -421
- package/msg/fr.js +421 -421
- package/msg/frr.js +421 -421
- package/msg/gl.js +421 -421
- package/msg/gn.js +421 -421
- package/msg/gor.js +421 -421
- package/msg/ha.js +421 -421
- package/msg/hak.js +421 -421
- package/msg/he.js +421 -421
- package/msg/hi.js +421 -421
- package/msg/hr.js +421 -421
- package/msg/hrx.js +421 -421
- package/msg/hu.js +421 -421
- package/msg/hy.js +421 -421
- package/msg/ia.js +421 -421
- package/msg/id.js +421 -421
- package/msg/ig.js +421 -421
- package/msg/inh.js +421 -421
- package/msg/is.js +421 -421
- package/msg/it.js +421 -421
- package/msg/ja.js +421 -421
- package/msg/ka.js +421 -421
- package/msg/kab.js +421 -421
- package/msg/kbd-cyrl.js +421 -421
- package/msg/km.js +421 -421
- package/msg/kn.js +421 -421
- package/msg/ko.js +421 -421
- package/msg/ksh.js +421 -421
- package/msg/ku-latn.js +421 -421
- package/msg/ky.js +421 -421
- package/msg/la.js +421 -421
- package/msg/lb.js +421 -421
- package/msg/lki.js +421 -421
- package/msg/lo.js +421 -421
- package/msg/lrc.js +421 -421
- package/msg/lt.js +421 -421
- package/msg/lv.js +421 -421
- package/msg/mg.js +421 -421
- package/msg/mk.js +421 -421
- package/msg/ml.js +421 -421
- package/msg/mnw.js +421 -421
- package/msg/ms.js +421 -421
- package/msg/my.js +421 -421
- package/msg/mzn.js +421 -421
- package/msg/nb.js +421 -421
- package/msg/ne.js +421 -421
- package/msg/nl.js +421 -421
- package/msg/oc.js +421 -421
- package/msg/olo.js +421 -421
- package/msg/pa.js +421 -421
- package/msg/pl.js +421 -421
- package/msg/pms.js +421 -421
- package/msg/ps.js +421 -421
- package/msg/pt-br.js +421 -421
- package/msg/pt.js +421 -421
- package/msg/ro.js +421 -421
- package/msg/ru.js +421 -421
- package/msg/sc.js +421 -421
- package/msg/sco.js +421 -421
- package/msg/sd.js +421 -421
- package/msg/shn.js +421 -421
- package/msg/si.js +421 -421
- package/msg/sk.js +421 -421
- package/msg/skr-arab.js +421 -421
- package/msg/sl.js +421 -421
- package/msg/smn.js +421 -421
- package/msg/sq.js +421 -421
- package/msg/sr-latn.js +421 -421
- package/msg/sr.js +421 -421
- package/msg/sv.js +421 -421
- package/msg/sw.js +421 -421
- package/msg/ta.js +421 -421
- package/msg/tcy.js +421 -421
- package/msg/te.js +421 -421
- package/msg/th.js +421 -421
- package/msg/ti.js +421 -421
- package/msg/tl.js +421 -421
- package/msg/tlh.js +421 -421
- package/msg/tr.js +421 -421
- package/msg/ug-arab.js +421 -421
- package/msg/uk.js +421 -421
- package/msg/ur.js +421 -421
- package/msg/uz.js +421 -421
- package/msg/vi.js +421 -421
- package/msg/xmf.js +421 -421
- package/msg/yo.js +421 -421
- package/msg/yue.js +421 -421
- package/msg/zgh.js +421 -421
- package/msg/zh-hans.js +421 -421
- package/msg/zh-hant.js +421 -421
- package/package.json +5 -5
- package/php.d.ts +0 -3
- package/php_compressed.js +322 -93
- package/php_compressed.js.map +1 -1
- package/python.d.ts +0 -3
- package/python_compressed.js +237 -90
- package/python_compressed.js.map +1 -1
- package/blockly.d.ts +0 -26127
- package/core/blockly_options.js +0 -28
- package/core/bubble_dragger.js +0 -298
- package/core/clipboard.js +0 -80
- package/core/component_manager.js +0 -263
- package/core/contextmenu_items.js +0 -651
- package/core/contextmenu_registry.js +0 -178
- package/core/delete_area.js +0 -87
- package/core/dialog.js +0 -107
- package/core/drag_target.js +0 -98
- package/core/events/events.js +0 -147
- package/core/events/events_abstract.js +0 -133
- package/core/events/events_block_base.js +0 -70
- package/core/events/events_block_drag.js +0 -89
- package/core/events/events_bubble_open.js +0 -90
- package/core/events/events_comment_base.js +0 -121
- package/core/events/events_marker_move.js +0 -110
- package/core/events/events_selected.js +0 -83
- package/core/events/events_toolbox_item_select.js +0 -84
- package/core/events/events_trashcan_open.js +0 -73
- package/core/events/events_var_base.js +0 -70
- package/core/events/events_viewport.js +0 -107
- package/core/events/workspace_events.js +0 -93
- package/core/field_angle.js +0 -591
- package/core/field_checkbox.js +0 -255
- package/core/field_colour.js +0 -717
- package/core/field_image.js +0 -304
- package/core/field_label.js +0 -149
- package/core/field_label_serializable.js +0 -80
- package/core/field_textinput.js +0 -619
- package/core/flyout_button.js +0 -356
- package/core/grid.js +0 -226
- package/core/icon.js +0 -225
- package/core/input.js +0 -335
- package/core/interfaces/i_ast_node_location_svg.js +0 -45
- package/core/interfaces/i_ast_node_location_with_block.js +0 -41
- package/core/interfaces/i_autohideable.js +0 -40
- package/core/interfaces/i_block_dragger.js +0 -66
- package/core/interfaces/i_bounded_element.js +0 -45
- package/core/interfaces/i_bubble.js +0 -95
- package/core/interfaces/i_collapsible_toolbox_item.js +0 -53
- package/core/interfaces/i_connection_checker.js +0 -104
- package/core/interfaces/i_contextmenu.js +0 -32
- package/core/interfaces/i_copyable.js +0 -49
- package/core/interfaces/i_delete_area.js +0 -50
- package/core/interfaces/i_drag_target.js +0 -88
- package/core/interfaces/i_flyout.js +0 -201
- package/core/interfaces/i_keyboard_accessible.js +0 -38
- package/core/interfaces/i_metrics_manager.js +0 -154
- package/core/interfaces/i_positionable.js +0 -51
- package/core/interfaces/i_selectable.js +0 -51
- package/core/interfaces/i_selectable_toolbox_item.js +0 -73
- package/core/interfaces/i_serializer.js +0 -77
- package/core/interfaces/i_styleable.js +0 -39
- package/core/interfaces/i_toolbox.js +0 -142
- package/core/interfaces/i_toolbox_item.js +0 -85
- package/core/marker_manager.js +0 -213
- package/core/menuitem.js +0 -292
- package/core/names.js +0 -293
- package/core/registry.js +0 -384
- package/core/renderers/common/block_rendering.js +0 -170
- package/core/renderers/common/constants.js +0 -1250
- package/core/renderers/common/i_path_object.js +0 -162
- package/core/renderers/common/marker_svg.js +0 -721
- package/core/renderers/common/path_object.js +0 -283
- package/core/renderers/common/renderer.js +0 -305
- package/core/renderers/geras/constants.js +0 -73
- package/core/renderers/geras/geras.js +0 -36
- package/core/renderers/geras/measurables/inline_input.js +0 -58
- package/core/renderers/geras/measurables/statement_input.js +0 -57
- package/core/renderers/geras/renderer.js +0 -149
- package/core/renderers/measurables/base.js +0 -64
- package/core/renderers/measurables/bottom_row.js +0 -138
- package/core/renderers/measurables/connection.js +0 -56
- package/core/renderers/measurables/external_value_input.js +0 -70
- package/core/renderers/measurables/field.js +0 -71
- package/core/renderers/measurables/in_row_spacer.js +0 -47
- package/core/renderers/measurables/input_connection.js +0 -75
- package/core/renderers/measurables/next_connection.js +0 -50
- package/core/renderers/measurables/output_connection.js +0 -61
- package/core/renderers/measurables/previous_connection.js +0 -50
- package/core/renderers/measurables/round_corner.js +0 -52
- package/core/renderers/measurables/row.js +0 -247
- package/core/renderers/measurables/spacer_row.js +0 -69
- package/core/renderers/measurables/square_corner.js +0 -50
- package/core/renderers/measurables/top_row.js +0 -143
- package/core/renderers/measurables/types.js +0 -353
- package/core/renderers/minimalist/drawer.js +0 -42
- package/core/renderers/minimalist/info.js +0 -54
- package/core/renderers/minimalist/minimalist.js +0 -26
- package/core/renderers/minimalist/renderer.js +0 -80
- package/core/renderers/thrasos/renderer.js +0 -53
- package/core/renderers/thrasos/thrasos.js +0 -22
- package/core/renderers/zelos/marker_svg.js +0 -179
- package/core/renderers/zelos/measurables/bottom_row.js +0 -66
- package/core/renderers/zelos/measurables/row_elements.js +0 -46
- package/core/renderers/zelos/path_object.js +0 -247
- package/core/renderers/zelos/renderer.js +0 -147
- package/core/renderers/zelos/zelos.js +0 -38
- package/core/serialization/exceptions.js +0 -144
- package/core/shortcut_registry.js +0 -366
- package/core/theme/themes.js +0 -23
- package/core/theme.js +0 -228
- package/core/theme_manager.js +0 -211
- package/core/toolbox/category.js +0 -751
- package/core/toolbox/collapsible_category.js +0 -311
- package/core/toolbox/separator.js +0 -133
- package/core/toolbox/toolbox_item.js +0 -173
- package/core/touch.js +0 -285
- package/core/utils/coordinate.js +0 -138
- package/core/utils/global.js +0 -41
- package/core/utils/keycodes.js +0 -172
- package/core/utils/metrics.js +0 -154
- package/core/utils/svg.js +0 -186
- package/core/utils/toolbox.js +0 -459
- package/core/utils/useragent.js +0 -197
- package/core/utils.js +0 -383
- package/core/variable_model.js +0 -96
- package/core/widgetdiv.js +0 -290
- package/core/workspace.js +0 -836
- package/core/workspace_comment.js +0 -400
- package/core/workspace_dragger.js +0 -115
|
@@ -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 size calculation.
|
|
@@ -17,41 +16,30 @@
|
|
|
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.Size');
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
/**
|
|
24
24
|
* Class for representing sizes consisting of a width and height.
|
|
25
25
|
* @alias Blockly.utils.Size
|
|
26
26
|
*/
|
|
27
|
-
|
|
27
|
+
export class Size {
|
|
28
28
|
/**
|
|
29
|
-
* @param
|
|
30
|
-
* @param
|
|
29
|
+
* @param width Width.
|
|
30
|
+
* @param height Height.
|
|
31
31
|
* @struct
|
|
32
32
|
*/
|
|
33
|
-
constructor(width, height) {
|
|
34
|
-
/**
|
|
35
|
-
* Width
|
|
36
|
-
* @type {number}
|
|
37
|
-
*/
|
|
38
|
-
this.width = width;
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* Height
|
|
42
|
-
* @type {number}
|
|
43
|
-
*/
|
|
44
|
-
this.height = height;
|
|
45
|
-
}
|
|
33
|
+
constructor(public width: number, public height: number) {}
|
|
46
34
|
|
|
47
35
|
/**
|
|
48
36
|
* Compares sizes for equality.
|
|
49
|
-
* @param
|
|
50
|
-
* @param
|
|
51
|
-
* @return
|
|
52
|
-
*
|
|
37
|
+
* @param a A Size.
|
|
38
|
+
* @param b A Size.
|
|
39
|
+
* @return True iff the sizes have equal widths and equal heights, or if both
|
|
40
|
+
* are null.
|
|
53
41
|
*/
|
|
54
|
-
static equals(a, b) {
|
|
42
|
+
static equals(a: Size|null, b: Size|null): boolean {
|
|
55
43
|
if (a === b) {
|
|
56
44
|
return true;
|
|
57
45
|
}
|
|
@@ -60,6 +48,4 @@ const Size = class {
|
|
|
60
48
|
}
|
|
61
49
|
return a.width === b.width && a.height === b.height;
|
|
62
50
|
}
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
exports.Size = Size;
|
|
51
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2019 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Fast prefix-checker.
|
|
8
|
+
* Copied from Closure's goog.string.startsWith.
|
|
9
|
+
* @param str The string to check.
|
|
10
|
+
* @param prefix A string to look for at the start of `str`.
|
|
11
|
+
* @return True if `str` begins with `prefix`.
|
|
12
|
+
* @alias Blockly.utils.string.startsWith
|
|
13
|
+
* @deprecated April 2022. Use built-in string.startsWith.
|
|
14
|
+
*/
|
|
15
|
+
export declare function startsWith(str: string, prefix: string): boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Given an array of strings, return the length of the shortest one.
|
|
18
|
+
* @param array Array of strings.
|
|
19
|
+
* @return Length of shortest string.
|
|
20
|
+
* @alias Blockly.utils.string.shortestStringLength
|
|
21
|
+
*/
|
|
22
|
+
export declare function shortestStringLength(array: string[]): number;
|
|
23
|
+
/**
|
|
24
|
+
* Given an array of strings, return the length of the common prefix.
|
|
25
|
+
* Words may not be split. Any space after a word is included in the length.
|
|
26
|
+
* @param array Array of strings.
|
|
27
|
+
* @param opt_shortest Length of shortest string.
|
|
28
|
+
* @return Length of common prefix.
|
|
29
|
+
* @alias Blockly.utils.string.commonWordPrefix
|
|
30
|
+
*/
|
|
31
|
+
export declare function commonWordPrefix(array: string[], opt_shortest?: number): number;
|
|
32
|
+
/**
|
|
33
|
+
* Given an array of strings, return the length of the common suffix.
|
|
34
|
+
* Words may not be split. Any space after a word is included in the length.
|
|
35
|
+
* @param array Array of strings.
|
|
36
|
+
* @param opt_shortest Length of shortest string.
|
|
37
|
+
* @return Length of common suffix.
|
|
38
|
+
* @alias Blockly.utils.string.commonWordSuffix
|
|
39
|
+
*/
|
|
40
|
+
export declare function commonWordSuffix(array: string[], opt_shortest?: number): number;
|
|
41
|
+
/**
|
|
42
|
+
* Wrap text to the specified width.
|
|
43
|
+
* @param text Text to wrap.
|
|
44
|
+
* @param limit Width to wrap each line.
|
|
45
|
+
* @return Wrapped text.
|
|
46
|
+
* @alias Blockly.utils.string.wrap
|
|
47
|
+
*/
|
|
48
|
+
export declare function wrap(text: string, limit: number): string;
|
|
49
|
+
/**
|
|
50
|
+
* Is the given string a number (includes negative and decimals).
|
|
51
|
+
* @param str Input string.
|
|
52
|
+
* @return True if number, false otherwise.
|
|
53
|
+
* @alias Blockly.utils.string.isNumber
|
|
54
|
+
*/
|
|
55
|
+
export declare function isNumber(str: string): boolean;
|
|
@@ -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 string manipulation.
|
|
@@ -17,29 +16,35 @@
|
|
|
17
16
|
* a JavaScript framework such as Closure.
|
|
18
17
|
* @namespace Blockly.utils.string
|
|
19
18
|
*/
|
|
20
|
-
goog
|
|
19
|
+
import * as goog from '../../closure/goog/goog.js';
|
|
20
|
+
goog.declareModuleId('Blockly.utils.string');
|
|
21
|
+
|
|
22
|
+
import * as deprecation from './deprecation.js';
|
|
21
23
|
|
|
22
24
|
|
|
23
25
|
/**
|
|
24
26
|
* Fast prefix-checker.
|
|
25
27
|
* Copied from Closure's goog.string.startsWith.
|
|
26
|
-
* @param
|
|
27
|
-
* @param
|
|
28
|
-
* @return
|
|
28
|
+
* @param str The string to check.
|
|
29
|
+
* @param prefix A string to look for at the start of `str`.
|
|
30
|
+
* @return True if `str` begins with `prefix`.
|
|
29
31
|
* @alias Blockly.utils.string.startsWith
|
|
32
|
+
* @deprecated April 2022. Use built-in string.startsWith.
|
|
30
33
|
*/
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
34
|
+
export function startsWith(str: string, prefix: string): boolean {
|
|
35
|
+
deprecation.warn(
|
|
36
|
+
'Blockly.utils.string.startsWith()', 'April 2022', 'April 2023',
|
|
37
|
+
'Use built-in string.startsWith');
|
|
38
|
+
return str.startsWith(prefix);
|
|
39
|
+
}
|
|
35
40
|
|
|
36
41
|
/**
|
|
37
42
|
* Given an array of strings, return the length of the shortest one.
|
|
38
|
-
* @param
|
|
39
|
-
* @return
|
|
43
|
+
* @param array Array of strings.
|
|
44
|
+
* @return Length of shortest string.
|
|
40
45
|
* @alias Blockly.utils.string.shortestStringLength
|
|
41
46
|
*/
|
|
42
|
-
|
|
47
|
+
export function shortestStringLength(array: string[]): number {
|
|
43
48
|
if (!array.length) {
|
|
44
49
|
return 0;
|
|
45
50
|
}
|
|
@@ -48,18 +53,18 @@ const shortestStringLength = function(array) {
|
|
|
48
53
|
return a.length < b.length ? a : b;
|
|
49
54
|
})
|
|
50
55
|
.length;
|
|
51
|
-
}
|
|
52
|
-
exports.shortestStringLength = shortestStringLength;
|
|
56
|
+
}
|
|
53
57
|
|
|
54
58
|
/**
|
|
55
59
|
* Given an array of strings, return the length of the common prefix.
|
|
56
60
|
* Words may not be split. Any space after a word is included in the length.
|
|
57
|
-
* @param
|
|
58
|
-
* @param
|
|
59
|
-
* @return
|
|
61
|
+
* @param array Array of strings.
|
|
62
|
+
* @param opt_shortest Length of shortest string.
|
|
63
|
+
* @return Length of common prefix.
|
|
60
64
|
* @alias Blockly.utils.string.commonWordPrefix
|
|
61
65
|
*/
|
|
62
|
-
|
|
66
|
+
export function commonWordPrefix(
|
|
67
|
+
array: string[], opt_shortest?: number): number {
|
|
63
68
|
if (!array.length) {
|
|
64
69
|
return 0;
|
|
65
70
|
} else if (array.length === 1) {
|
|
@@ -86,18 +91,18 @@ const commonWordPrefix = function(array, opt_shortest) {
|
|
|
86
91
|
}
|
|
87
92
|
}
|
|
88
93
|
return max;
|
|
89
|
-
}
|
|
90
|
-
exports.commonWordPrefix = commonWordPrefix;
|
|
94
|
+
}
|
|
91
95
|
|
|
92
96
|
/**
|
|
93
97
|
* Given an array of strings, return the length of the common suffix.
|
|
94
98
|
* Words may not be split. Any space after a word is included in the length.
|
|
95
|
-
* @param
|
|
96
|
-
* @param
|
|
97
|
-
* @return
|
|
99
|
+
* @param array Array of strings.
|
|
100
|
+
* @param opt_shortest Length of shortest string.
|
|
101
|
+
* @return Length of common suffix.
|
|
98
102
|
* @alias Blockly.utils.string.commonWordSuffix
|
|
99
103
|
*/
|
|
100
|
-
|
|
104
|
+
export function commonWordSuffix(
|
|
105
|
+
array: string[], opt_shortest?: number): number {
|
|
101
106
|
if (!array.length) {
|
|
102
107
|
return 0;
|
|
103
108
|
} else if (array.length === 1) {
|
|
@@ -124,32 +129,30 @@ const commonWordSuffix = function(array, opt_shortest) {
|
|
|
124
129
|
}
|
|
125
130
|
}
|
|
126
131
|
return max;
|
|
127
|
-
}
|
|
128
|
-
exports.commonWordSuffix = commonWordSuffix;
|
|
132
|
+
}
|
|
129
133
|
|
|
130
134
|
/**
|
|
131
135
|
* Wrap text to the specified width.
|
|
132
|
-
* @param
|
|
133
|
-
* @param
|
|
134
|
-
* @return
|
|
136
|
+
* @param text Text to wrap.
|
|
137
|
+
* @param limit Width to wrap each line.
|
|
138
|
+
* @return Wrapped text.
|
|
135
139
|
* @alias Blockly.utils.string.wrap
|
|
136
140
|
*/
|
|
137
|
-
|
|
141
|
+
export function wrap(text: string, limit: number): string {
|
|
138
142
|
const lines = text.split('\n');
|
|
139
143
|
for (let i = 0; i < lines.length; i++) {
|
|
140
144
|
lines[i] = wrapLine(lines[i], limit);
|
|
141
145
|
}
|
|
142
146
|
return lines.join('\n');
|
|
143
|
-
}
|
|
144
|
-
exports.wrap = wrap;
|
|
147
|
+
}
|
|
145
148
|
|
|
146
149
|
/**
|
|
147
150
|
* Wrap single line of text to the specified width.
|
|
148
|
-
* @param
|
|
149
|
-
* @param
|
|
150
|
-
* @return
|
|
151
|
+
* @param text Text to wrap.
|
|
152
|
+
* @param limit Width to wrap each line.
|
|
153
|
+
* @return Wrapped text.
|
|
151
154
|
*/
|
|
152
|
-
|
|
155
|
+
function wrapLine(text: string, limit: number): string {
|
|
153
156
|
if (text.length <= limit) {
|
|
154
157
|
// Short text, no need to wrap.
|
|
155
158
|
return text;
|
|
@@ -190,16 +193,17 @@ const wrapLine = function(text, limit) {
|
|
|
190
193
|
lineCount++;
|
|
191
194
|
} while (score > lastScore);
|
|
192
195
|
return lastText;
|
|
193
|
-
}
|
|
196
|
+
}
|
|
194
197
|
|
|
195
198
|
/**
|
|
196
199
|
* Compute a score for how good the wrapping is.
|
|
197
|
-
* @param
|
|
198
|
-
* @param
|
|
199
|
-
* @param
|
|
200
|
-
* @return
|
|
200
|
+
* @param words Array of each word.
|
|
201
|
+
* @param wordBreaks Array of line breaks.
|
|
202
|
+
* @param limit Width to wrap each line.
|
|
203
|
+
* @return Larger the better.
|
|
201
204
|
*/
|
|
202
|
-
|
|
205
|
+
function wrapScore(
|
|
206
|
+
words: string[], wordBreaks: boolean[], limit: number): number {
|
|
203
207
|
// If this function becomes a performance liability, add caching.
|
|
204
208
|
// Compute the length of each line.
|
|
205
209
|
const lineLengths = [0];
|
|
@@ -241,17 +245,17 @@ const wrapScore = function(words, wordBreaks, limit) {
|
|
|
241
245
|
score += 0.5;
|
|
242
246
|
}
|
|
243
247
|
return score;
|
|
244
|
-
}
|
|
245
|
-
|
|
248
|
+
}
|
|
246
249
|
/**
|
|
247
250
|
* Mutate the array of line break locations until an optimal solution is found.
|
|
248
251
|
* No line breaks are added or deleted, they are simply moved around.
|
|
249
|
-
* @param
|
|
250
|
-
* @param
|
|
251
|
-
* @param
|
|
252
|
-
* @return
|
|
252
|
+
* @param words Array of each word.
|
|
253
|
+
* @param wordBreaks Array of line breaks.
|
|
254
|
+
* @param limit Width to wrap each line.
|
|
255
|
+
* @return New array of optimal line breaks.
|
|
253
256
|
*/
|
|
254
|
-
|
|
257
|
+
function wrapMutate(
|
|
258
|
+
words: string[], wordBreaks: boolean[], limit: number): boolean[] {
|
|
255
259
|
let bestScore = wrapScore(words, wordBreaks, limit);
|
|
256
260
|
let bestBreaks;
|
|
257
261
|
// Try shifting every line break forward or backward.
|
|
@@ -259,7 +263,7 @@ const wrapMutate = function(words, wordBreaks, limit) {
|
|
|
259
263
|
if (wordBreaks[i] === wordBreaks[i + 1]) {
|
|
260
264
|
continue;
|
|
261
265
|
}
|
|
262
|
-
const mutatedWordBreaks =
|
|
266
|
+
const mutatedWordBreaks = (new Array<boolean>()).concat(wordBreaks);
|
|
263
267
|
mutatedWordBreaks[i] = !mutatedWordBreaks[i];
|
|
264
268
|
mutatedWordBreaks[i + 1] = !mutatedWordBreaks[i + 1];
|
|
265
269
|
const mutatedScore = wrapScore(words, mutatedWordBreaks, limit);
|
|
@@ -274,15 +278,15 @@ const wrapMutate = function(words, wordBreaks, limit) {
|
|
|
274
278
|
}
|
|
275
279
|
// No improvements found. Done.
|
|
276
280
|
return wordBreaks;
|
|
277
|
-
}
|
|
281
|
+
}
|
|
278
282
|
|
|
279
283
|
/**
|
|
280
284
|
* Reassemble the array of words into text, with the specified line breaks.
|
|
281
|
-
* @param
|
|
282
|
-
* @param
|
|
283
|
-
* @return
|
|
285
|
+
* @param words Array of each word.
|
|
286
|
+
* @param wordBreaks Array of line breaks.
|
|
287
|
+
* @return Plain text.
|
|
284
288
|
*/
|
|
285
|
-
|
|
289
|
+
function wrapToText(words: string[], wordBreaks: boolean[]): string {
|
|
286
290
|
const text = [];
|
|
287
291
|
for (let i = 0; i < words.length; i++) {
|
|
288
292
|
text.push(words[i]);
|
|
@@ -291,15 +295,14 @@ const wrapToText = function(words, wordBreaks) {
|
|
|
291
295
|
}
|
|
292
296
|
}
|
|
293
297
|
return text.join('');
|
|
294
|
-
}
|
|
298
|
+
}
|
|
295
299
|
|
|
296
300
|
/**
|
|
297
301
|
* Is the given string a number (includes negative and decimals).
|
|
298
|
-
* @param
|
|
299
|
-
* @return
|
|
302
|
+
* @param str Input string.
|
|
303
|
+
* @return True if number, false otherwise.
|
|
300
304
|
* @alias Blockly.utils.string.isNumber
|
|
301
305
|
*/
|
|
302
|
-
|
|
306
|
+
export function isNumber(str: string): boolean {
|
|
303
307
|
return /^\s*-?\d+(\.\d+)?\s*$/.test(str);
|
|
304
|
-
}
|
|
305
|
-
exports.isNumber = isNumber;
|
|
308
|
+
}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2019 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Coordinate } from './coordinate.js';
|
|
7
|
+
import { Rect } from './rect.js';
|
|
8
|
+
import { Size } from './size.js';
|
|
9
|
+
/**
|
|
10
|
+
* Gets the height and width of an element.
|
|
11
|
+
* Similar to Closure's goog.style.getSize
|
|
12
|
+
* @param element Element to get size of.
|
|
13
|
+
* @return Object with width/height properties.
|
|
14
|
+
* @alias Blockly.utils.style.getSize
|
|
15
|
+
*/
|
|
16
|
+
export declare function getSize(element: Element): Size;
|
|
17
|
+
/**
|
|
18
|
+
* Private version of getSize for stubbing in tests.
|
|
19
|
+
*/
|
|
20
|
+
declare function getSizeInternal(element: Element): Size;
|
|
21
|
+
/**
|
|
22
|
+
* Retrieves a computed style value of a node. It returns empty string if the
|
|
23
|
+
* value cannot be computed (which will be the case in Internet Explorer) or
|
|
24
|
+
* "none" if the property requested is an SVG one and it has not been
|
|
25
|
+
* explicitly set (firefox and webkit).
|
|
26
|
+
*
|
|
27
|
+
* Copied from Closure's goog.style.getComputedStyle
|
|
28
|
+
*
|
|
29
|
+
* @param element Element to get style of.
|
|
30
|
+
* @param property Property to get (camel-case).
|
|
31
|
+
* @return Style value.
|
|
32
|
+
* @alias Blockly.utils.style.getComputedStyle
|
|
33
|
+
*/
|
|
34
|
+
export declare function getComputedStyle(element: Element, property: string): string;
|
|
35
|
+
/**
|
|
36
|
+
* Gets the cascaded style value of a node, or null if the value cannot be
|
|
37
|
+
* computed (only Internet Explorer can do this).
|
|
38
|
+
*
|
|
39
|
+
* Copied from Closure's goog.style.getCascadedStyle
|
|
40
|
+
*
|
|
41
|
+
* @param element Element to get style of.
|
|
42
|
+
* @param style Property to get (camel-case).
|
|
43
|
+
* @return Style value.
|
|
44
|
+
* @alias Blockly.utils.style.getCascadedStyle
|
|
45
|
+
*/
|
|
46
|
+
export declare function getCascadedStyle(element: Element, style: string): string;
|
|
47
|
+
/**
|
|
48
|
+
* Returns a Coordinate object relative to the top-left of the HTML document.
|
|
49
|
+
* Similar to Closure's goog.style.getPageOffset
|
|
50
|
+
* @param el Element to get the page offset for.
|
|
51
|
+
* @return The page offset.
|
|
52
|
+
* @alias Blockly.utils.style.getPageOffset
|
|
53
|
+
*/
|
|
54
|
+
export declare function getPageOffset(el: Element): Coordinate;
|
|
55
|
+
/**
|
|
56
|
+
* Calculates the viewport coordinates relative to the document.
|
|
57
|
+
* Similar to Closure's goog.style.getViewportPageOffset
|
|
58
|
+
* @return The page offset of the viewport.
|
|
59
|
+
* @alias Blockly.utils.style.getViewportPageOffset
|
|
60
|
+
*/
|
|
61
|
+
export declare function getViewportPageOffset(): Coordinate;
|
|
62
|
+
/**
|
|
63
|
+
* Shows or hides an element from the page. Hiding the element is done by
|
|
64
|
+
* setting the display property to "none", removing the element from the
|
|
65
|
+
* rendering hierarchy so it takes up no space. To show the element, the default
|
|
66
|
+
* inherited display property is restored (defined either in stylesheets or by
|
|
67
|
+
* the browser's default style rules).
|
|
68
|
+
* Copied from Closure's goog.style.getViewportPageOffset
|
|
69
|
+
*
|
|
70
|
+
* @param el Element to show or hide.
|
|
71
|
+
* @param isShown True to render the element in its default style, false to
|
|
72
|
+
* disable rendering the element.
|
|
73
|
+
* @alias Blockly.utils.style.setElementShown
|
|
74
|
+
*/
|
|
75
|
+
export declare function setElementShown(el: Element, isShown: any): void;
|
|
76
|
+
/**
|
|
77
|
+
* Returns true if the element is using right to left (RTL) direction.
|
|
78
|
+
* Copied from Closure's goog.style.isRightToLeft
|
|
79
|
+
*
|
|
80
|
+
* @param el The element to test.
|
|
81
|
+
* @return True for right to left, false for left to right.
|
|
82
|
+
* @alias Blockly.utils.style.isRightToLeft
|
|
83
|
+
*/
|
|
84
|
+
export declare function isRightToLeft(el: Element): boolean;
|
|
85
|
+
/**
|
|
86
|
+
* Gets the computed border widths (on all sides) in pixels
|
|
87
|
+
* Copied from Closure's goog.style.getBorderBox
|
|
88
|
+
* @param element The element to get the border widths for.
|
|
89
|
+
* @return The computed border widths.
|
|
90
|
+
* @alias Blockly.utils.style.getBorderBox
|
|
91
|
+
*/
|
|
92
|
+
export declare function getBorderBox(element: Element): Rect;
|
|
93
|
+
/**
|
|
94
|
+
* Changes the scroll position of `container` with the minimum amount so
|
|
95
|
+
* that the content and the borders of the given `element` become visible.
|
|
96
|
+
* If the element is bigger than the container, its top left corner will be
|
|
97
|
+
* aligned as close to the container's top left corner as possible.
|
|
98
|
+
* Copied from Closure's goog.style.scrollIntoContainerView
|
|
99
|
+
*
|
|
100
|
+
* @param element The element to make visible.
|
|
101
|
+
* @param container The container to scroll. If not set, then the document
|
|
102
|
+
* scroll element will be used.
|
|
103
|
+
* @param opt_center Whether to center the element in the container.
|
|
104
|
+
* Defaults to false.
|
|
105
|
+
* @alias Blockly.utils.style.scrollIntoContainerView
|
|
106
|
+
*/
|
|
107
|
+
export declare function scrollIntoContainerView(element: Element, container: Element, opt_center?: boolean): void;
|
|
108
|
+
/**
|
|
109
|
+
* Calculate the scroll position of `container` with the minimum amount so
|
|
110
|
+
* that the content and the borders of the given `element` become visible.
|
|
111
|
+
* If the element is bigger than the container, its top left corner will be
|
|
112
|
+
* aligned as close to the container's top left corner as possible.
|
|
113
|
+
* Copied from Closure's goog.style.getContainerOffsetToScrollInto
|
|
114
|
+
*
|
|
115
|
+
* @param element The element to make visible.
|
|
116
|
+
* @param container The container to scroll. If not set, then the document
|
|
117
|
+
* scroll element will be used.
|
|
118
|
+
* @param opt_center Whether to center the element in the container.
|
|
119
|
+
* Defaults to false.
|
|
120
|
+
* @return The new scroll position of the container.
|
|
121
|
+
* @alias Blockly.utils.style.getContainerOffsetToScrollInto
|
|
122
|
+
*/
|
|
123
|
+
export declare function getContainerOffsetToScrollInto(element: Element, container: Element, opt_center?: boolean): Coordinate;
|
|
124
|
+
export declare const TEST_ONLY: {
|
|
125
|
+
getSizeInternal: typeof getSizeInternal;
|
|
126
|
+
};
|
|
127
|
+
export {};
|