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
|
@@ -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
|
* Utilities for element styles.
|
|
@@ -17,26 +16,37 @@
|
|
|
17
16
|
* a JavaScript framework such as Closure.
|
|
18
17
|
* @namespace Blockly.utils.style
|
|
19
18
|
*/
|
|
20
|
-
goog
|
|
19
|
+
import * as goog from '../../closure/goog/goog.js';
|
|
20
|
+
goog.declareModuleId('Blockly.utils.style');
|
|
21
21
|
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
import {Coordinate} from './coordinate.js';
|
|
23
|
+
import {Rect} from './rect.js';
|
|
24
|
+
import {Size} from './size.js';
|
|
24
25
|
|
|
25
26
|
|
|
26
27
|
/**
|
|
27
28
|
* Gets the height and width of an element.
|
|
28
29
|
* Similar to Closure's goog.style.getSize
|
|
29
|
-
* @param
|
|
30
|
-
* @return
|
|
30
|
+
* @param element Element to get size of.
|
|
31
|
+
* @return Object with width/height properties.
|
|
31
32
|
* @alias Blockly.utils.style.getSize
|
|
32
33
|
*/
|
|
33
|
-
|
|
34
|
+
export function getSize(element: Element): Size {
|
|
35
|
+
return TEST_ONLY.getSizeInternal(element);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Private version of getSize for stubbing in tests.
|
|
40
|
+
*/
|
|
41
|
+
function getSizeInternal(element: Element): Size {
|
|
34
42
|
if (getStyle(element, 'display') !== 'none') {
|
|
35
43
|
return getSizeWithDisplay(element);
|
|
36
44
|
}
|
|
37
45
|
|
|
38
46
|
// Evaluate size with a temporary element.
|
|
39
|
-
|
|
47
|
+
// AnyDuringMigration because: Property 'style' does not exist on type
|
|
48
|
+
// 'Element'.
|
|
49
|
+
const style = (element as AnyDuringMigration).style;
|
|
40
50
|
const originalDisplay = style.display;
|
|
41
51
|
const originalVisibility = style.visibility;
|
|
42
52
|
const originalPosition = style.position;
|
|
@@ -45,27 +55,26 @@ const getSize = function(element) {
|
|
|
45
55
|
style.position = 'absolute';
|
|
46
56
|
style.display = 'inline';
|
|
47
57
|
|
|
48
|
-
const offsetWidth =
|
|
49
|
-
const offsetHeight =
|
|
58
|
+
const offsetWidth = (element as HTMLElement).offsetWidth;
|
|
59
|
+
const offsetHeight = (element as HTMLElement).offsetHeight;
|
|
50
60
|
|
|
51
61
|
style.display = originalDisplay;
|
|
52
62
|
style.position = originalPosition;
|
|
53
63
|
style.visibility = originalVisibility;
|
|
54
64
|
|
|
55
65
|
return new Size(offsetWidth, offsetHeight);
|
|
56
|
-
}
|
|
57
|
-
exports.getSize = getSize;
|
|
66
|
+
}
|
|
58
67
|
|
|
59
68
|
/**
|
|
60
69
|
* Gets the height and width of an element when the display is not none.
|
|
61
|
-
* @param
|
|
62
|
-
* @return
|
|
70
|
+
* @param element Element to get size of.
|
|
71
|
+
* @return Object with width/height properties.
|
|
63
72
|
*/
|
|
64
|
-
|
|
65
|
-
const offsetWidth =
|
|
66
|
-
const offsetHeight =
|
|
73
|
+
function getSizeWithDisplay(element: Element): Size {
|
|
74
|
+
const offsetWidth = (element as HTMLElement).offsetWidth;
|
|
75
|
+
const offsetHeight = (element as HTMLElement).offsetHeight;
|
|
67
76
|
return new Size(offsetWidth, offsetHeight);
|
|
68
|
-
}
|
|
77
|
+
}
|
|
69
78
|
|
|
70
79
|
/**
|
|
71
80
|
* Cross-browser pseudo get computed style. It returns the computed style where
|
|
@@ -76,14 +85,18 @@ const getSizeWithDisplay = function(element) {
|
|
|
76
85
|
*
|
|
77
86
|
* Copied from Closure's goog.style.getStyle_
|
|
78
87
|
*
|
|
79
|
-
* @param
|
|
80
|
-
* @param
|
|
81
|
-
* @return
|
|
88
|
+
* @param element Element to get style of.
|
|
89
|
+
* @param style Property to get (must be camelCase, not CSS-style).
|
|
90
|
+
* @return Style value.
|
|
82
91
|
*/
|
|
83
|
-
|
|
92
|
+
function getStyle(element: Element, style: string): string {
|
|
93
|
+
// AnyDuringMigration because: Property 'style' does not exist on type
|
|
94
|
+
// 'Element'. AnyDuringMigration because: Property 'style' does not exist on
|
|
95
|
+
// type 'Element'.
|
|
84
96
|
return getComputedStyle(element, style) || getCascadedStyle(element, style) ||
|
|
85
|
-
(element.style &&
|
|
86
|
-
|
|
97
|
+
(element as AnyDuringMigration).style &&
|
|
98
|
+
(element as AnyDuringMigration).style[style];
|
|
99
|
+
}
|
|
87
100
|
|
|
88
101
|
/**
|
|
89
102
|
* Retrieves a computed style value of a node. It returns empty string if the
|
|
@@ -93,24 +106,24 @@ const getStyle = function(element, style) {
|
|
|
93
106
|
*
|
|
94
107
|
* Copied from Closure's goog.style.getComputedStyle
|
|
95
108
|
*
|
|
96
|
-
* @param
|
|
97
|
-
* @param
|
|
98
|
-
* @return
|
|
109
|
+
* @param element Element to get style of.
|
|
110
|
+
* @param property Property to get (camel-case).
|
|
111
|
+
* @return Style value.
|
|
99
112
|
* @alias Blockly.utils.style.getComputedStyle
|
|
100
113
|
*/
|
|
101
|
-
|
|
114
|
+
export function getComputedStyle(element: Element, property: string): string {
|
|
102
115
|
if (document.defaultView && document.defaultView.getComputedStyle) {
|
|
103
116
|
const styles = document.defaultView.getComputedStyle(element, null);
|
|
104
117
|
if (styles) {
|
|
105
118
|
// element.style[..] is undefined for browser specific styles
|
|
106
119
|
// as 'filter'.
|
|
107
|
-
return styles[property] ||
|
|
120
|
+
return (styles as AnyDuringMigration)[property] ||
|
|
121
|
+
styles.getPropertyValue(property) || '';
|
|
108
122
|
}
|
|
109
123
|
}
|
|
110
124
|
|
|
111
125
|
return '';
|
|
112
|
-
}
|
|
113
|
-
exports.getComputedStyle = getComputedStyle;
|
|
126
|
+
}
|
|
114
127
|
|
|
115
128
|
/**
|
|
116
129
|
* Gets the cascaded style value of a node, or null if the value cannot be
|
|
@@ -118,25 +131,28 @@ exports.getComputedStyle = getComputedStyle;
|
|
|
118
131
|
*
|
|
119
132
|
* Copied from Closure's goog.style.getCascadedStyle
|
|
120
133
|
*
|
|
121
|
-
* @param
|
|
122
|
-
* @param
|
|
123
|
-
* @return
|
|
134
|
+
* @param element Element to get style of.
|
|
135
|
+
* @param style Property to get (camel-case).
|
|
136
|
+
* @return Style value.
|
|
124
137
|
* @alias Blockly.utils.style.getCascadedStyle
|
|
125
138
|
*/
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
139
|
+
export function getCascadedStyle(element: Element, style: string): string {
|
|
140
|
+
// AnyDuringMigration because: Property 'currentStyle' does not exist on type
|
|
141
|
+
// 'Element'. AnyDuringMigration because: Property 'currentStyle' does not
|
|
142
|
+
// exist on type 'Element'.
|
|
143
|
+
return (element as AnyDuringMigration).currentStyle ?
|
|
144
|
+
(element as AnyDuringMigration).currentStyle[style] :
|
|
145
|
+
'' as string;
|
|
146
|
+
}
|
|
131
147
|
|
|
132
148
|
/**
|
|
133
149
|
* Returns a Coordinate object relative to the top-left of the HTML document.
|
|
134
150
|
* Similar to Closure's goog.style.getPageOffset
|
|
135
|
-
* @param
|
|
136
|
-
* @return
|
|
151
|
+
* @param el Element to get the page offset for.
|
|
152
|
+
* @return The page offset.
|
|
137
153
|
* @alias Blockly.utils.style.getPageOffset
|
|
138
154
|
*/
|
|
139
|
-
|
|
155
|
+
export function getPageOffset(el: Element): Coordinate {
|
|
140
156
|
const pos = new Coordinate(0, 0);
|
|
141
157
|
const box = el.getBoundingClientRect();
|
|
142
158
|
const documentElement = document.documentElement;
|
|
@@ -150,23 +166,21 @@ const getPageOffset = function(el) {
|
|
|
150
166
|
pos.y = box.top + scrollCoord.y;
|
|
151
167
|
|
|
152
168
|
return pos;
|
|
153
|
-
}
|
|
154
|
-
exports.getPageOffset = getPageOffset;
|
|
169
|
+
}
|
|
155
170
|
|
|
156
171
|
/**
|
|
157
172
|
* Calculates the viewport coordinates relative to the document.
|
|
158
173
|
* Similar to Closure's goog.style.getViewportPageOffset
|
|
159
|
-
* @return
|
|
174
|
+
* @return The page offset of the viewport.
|
|
160
175
|
* @alias Blockly.utils.style.getViewportPageOffset
|
|
161
176
|
*/
|
|
162
|
-
|
|
177
|
+
export function getViewportPageOffset(): Coordinate {
|
|
163
178
|
const body = document.body;
|
|
164
179
|
const documentElement = document.documentElement;
|
|
165
180
|
const scrollLeft = body.scrollLeft || documentElement.scrollLeft;
|
|
166
181
|
const scrollTop = body.scrollTop || documentElement.scrollTop;
|
|
167
182
|
return new Coordinate(scrollLeft, scrollTop);
|
|
168
|
-
}
|
|
169
|
-
exports.getViewportPageOffset = getViewportPageOffset;
|
|
183
|
+
}
|
|
170
184
|
|
|
171
185
|
/**
|
|
172
186
|
* Shows or hides an element from the page. Hiding the element is done by
|
|
@@ -176,50 +190,44 @@ exports.getViewportPageOffset = getViewportPageOffset;
|
|
|
176
190
|
* the browser's default style rules).
|
|
177
191
|
* Copied from Closure's goog.style.getViewportPageOffset
|
|
178
192
|
*
|
|
179
|
-
* @param
|
|
180
|
-
* @param
|
|
181
|
-
*
|
|
193
|
+
* @param el Element to show or hide.
|
|
194
|
+
* @param isShown True to render the element in its default style, false to
|
|
195
|
+
* disable rendering the element.
|
|
182
196
|
* @alias Blockly.utils.style.setElementShown
|
|
183
197
|
*/
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
198
|
+
export function setElementShown(el: Element, isShown: AnyDuringMigration) {
|
|
199
|
+
// AnyDuringMigration because: Property 'style' does not exist on type
|
|
200
|
+
// 'Element'.
|
|
201
|
+
(el as AnyDuringMigration).style.display = isShown ? '' : 'none';
|
|
202
|
+
}
|
|
188
203
|
|
|
189
204
|
/**
|
|
190
205
|
* Returns true if the element is using right to left (RTL) direction.
|
|
191
206
|
* Copied from Closure's goog.style.isRightToLeft
|
|
192
207
|
*
|
|
193
|
-
* @param
|
|
194
|
-
* @return
|
|
208
|
+
* @param el The element to test.
|
|
209
|
+
* @return True for right to left, false for left to right.
|
|
195
210
|
* @alias Blockly.utils.style.isRightToLeft
|
|
196
211
|
*/
|
|
197
|
-
|
|
212
|
+
export function isRightToLeft(el: Element): boolean {
|
|
198
213
|
return 'rtl' === getStyle(el, 'direction');
|
|
199
|
-
}
|
|
200
|
-
exports.isRightToLeft = isRightToLeft;
|
|
214
|
+
}
|
|
201
215
|
|
|
202
216
|
/**
|
|
203
217
|
* Gets the computed border widths (on all sides) in pixels
|
|
204
218
|
* Copied from Closure's goog.style.getBorderBox
|
|
205
|
-
* @param
|
|
206
|
-
* @return
|
|
219
|
+
* @param element The element to get the border widths for.
|
|
220
|
+
* @return The computed border widths.
|
|
207
221
|
* @alias Blockly.utils.style.getBorderBox
|
|
208
222
|
*/
|
|
209
|
-
|
|
210
|
-
const left = getComputedStyle(element, 'borderLeftWidth');
|
|
211
|
-
const right = getComputedStyle(element, 'borderRightWidth');
|
|
212
|
-
const top = getComputedStyle(element, 'borderTopWidth');
|
|
213
|
-
const bottom = getComputedStyle(element, 'borderBottomWidth');
|
|
223
|
+
export function getBorderBox(element: Element): Rect {
|
|
224
|
+
const left = parseFloat(getComputedStyle(element, 'borderLeftWidth'));
|
|
225
|
+
const right = parseFloat(getComputedStyle(element, 'borderRightWidth'));
|
|
226
|
+
const top = parseFloat(getComputedStyle(element, 'borderTopWidth'));
|
|
227
|
+
const bottom = parseFloat(getComputedStyle(element, 'borderBottomWidth'));
|
|
214
228
|
|
|
215
|
-
return
|
|
216
|
-
|
|
217
|
-
right: parseFloat(right),
|
|
218
|
-
bottom: parseFloat(bottom),
|
|
219
|
-
left: parseFloat(left),
|
|
220
|
-
};
|
|
221
|
-
};
|
|
222
|
-
exports.getBorderBox = getBorderBox;
|
|
229
|
+
return new Rect(top, bottom, left, right);
|
|
230
|
+
}
|
|
223
231
|
|
|
224
232
|
/**
|
|
225
233
|
* Changes the scroll position of `container` with the minimum amount so
|
|
@@ -228,19 +236,19 @@ exports.getBorderBox = getBorderBox;
|
|
|
228
236
|
* aligned as close to the container's top left corner as possible.
|
|
229
237
|
* Copied from Closure's goog.style.scrollIntoContainerView
|
|
230
238
|
*
|
|
231
|
-
* @param
|
|
232
|
-
* @param
|
|
233
|
-
*
|
|
234
|
-
* @param
|
|
239
|
+
* @param element The element to make visible.
|
|
240
|
+
* @param container The container to scroll. If not set, then the document
|
|
241
|
+
* scroll element will be used.
|
|
242
|
+
* @param opt_center Whether to center the element in the container.
|
|
235
243
|
* Defaults to false.
|
|
236
244
|
* @alias Blockly.utils.style.scrollIntoContainerView
|
|
237
245
|
*/
|
|
238
|
-
|
|
246
|
+
export function scrollIntoContainerView(
|
|
247
|
+
element: Element, container: Element, opt_center?: boolean) {
|
|
239
248
|
const offset = getContainerOffsetToScrollInto(element, container, opt_center);
|
|
240
249
|
container.scrollLeft = offset.x;
|
|
241
250
|
container.scrollTop = offset.y;
|
|
242
|
-
}
|
|
243
|
-
exports.scrollIntoContainerView = scrollIntoContainerView;
|
|
251
|
+
}
|
|
244
252
|
|
|
245
253
|
/**
|
|
246
254
|
* Calculate the scroll position of `container` with the minimum amount so
|
|
@@ -249,17 +257,16 @@ exports.scrollIntoContainerView = scrollIntoContainerView;
|
|
|
249
257
|
* aligned as close to the container's top left corner as possible.
|
|
250
258
|
* Copied from Closure's goog.style.getContainerOffsetToScrollInto
|
|
251
259
|
*
|
|
252
|
-
* @param
|
|
253
|
-
* @param
|
|
254
|
-
*
|
|
255
|
-
* @param
|
|
260
|
+
* @param element The element to make visible.
|
|
261
|
+
* @param container The container to scroll. If not set, then the document
|
|
262
|
+
* scroll element will be used.
|
|
263
|
+
* @param opt_center Whether to center the element in the container.
|
|
256
264
|
* Defaults to false.
|
|
257
|
-
* @return
|
|
258
|
-
* in form of goog.math.Coordinate(scrollLeft, scrollTop).
|
|
265
|
+
* @return The new scroll position of the container.
|
|
259
266
|
* @alias Blockly.utils.style.getContainerOffsetToScrollInto
|
|
260
267
|
*/
|
|
261
|
-
|
|
262
|
-
element, container, opt_center) {
|
|
268
|
+
export function getContainerOffsetToScrollInto(
|
|
269
|
+
element: Element, container: Element, opt_center?: boolean): Coordinate {
|
|
263
270
|
// Absolute position of the element's border's top left corner.
|
|
264
271
|
const elementPos = getPageOffset(element);
|
|
265
272
|
// Absolute position of the container's border's top left corner.
|
|
@@ -292,5 +299,8 @@ const getContainerOffsetToScrollInto = function(
|
|
|
292
299
|
scrollTop += Math.min(relY, Math.max(relY - spaceY, 0));
|
|
293
300
|
}
|
|
294
301
|
return new Coordinate(scrollLeft, scrollTop);
|
|
295
|
-
}
|
|
296
|
-
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
export const TEST_ONLY = {
|
|
305
|
+
getSizeInternal,
|
|
306
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2020 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* A name with the type of the SVG element stored in the generic.
|
|
8
|
+
* @alias Blockly.utils.Svg
|
|
9
|
+
*/
|
|
10
|
+
export declare class Svg<T> {
|
|
11
|
+
private readonly tagName;
|
|
12
|
+
/** @internal */
|
|
13
|
+
static ANIMATE: Svg<SVGAnimateElement>;
|
|
14
|
+
/** @internal */
|
|
15
|
+
static CIRCLE: Svg<SVGCircleElement>;
|
|
16
|
+
/** @internal */
|
|
17
|
+
static CLIPPATH: Svg<SVGClipPathElement>;
|
|
18
|
+
/** @internal */
|
|
19
|
+
static DEFS: Svg<SVGDefsElement>;
|
|
20
|
+
/** @internal */
|
|
21
|
+
static FECOMPOSITE: Svg<SVGFECompositeElement>;
|
|
22
|
+
/** @internal */
|
|
23
|
+
static FECOMPONENTTRANSFER: Svg<SVGFEComponentTransferElement>;
|
|
24
|
+
/** @internal */
|
|
25
|
+
static FEFLOOD: Svg<SVGFEFloodElement>;
|
|
26
|
+
/** @internal */
|
|
27
|
+
static FEFUNCA: Svg<SVGFEFuncAElement>;
|
|
28
|
+
/** @internal */
|
|
29
|
+
static FEGAUSSIANBLUR: Svg<SVGFEGaussianBlurElement>;
|
|
30
|
+
/** @internal */
|
|
31
|
+
static FEPOINTLIGHT: Svg<SVGFEPointLightElement>;
|
|
32
|
+
/** @internal */
|
|
33
|
+
static FESPECULARLIGHTING: Svg<SVGFESpecularLightingElement>;
|
|
34
|
+
/** @internal */
|
|
35
|
+
static FILTER: Svg<SVGFilterElement>;
|
|
36
|
+
/** @internal */
|
|
37
|
+
static FOREIGNOBJECT: Svg<SVGForeignObjectElement>;
|
|
38
|
+
/** @internal */
|
|
39
|
+
static G: Svg<SVGGElement>;
|
|
40
|
+
/** @internal */
|
|
41
|
+
static IMAGE: Svg<SVGImageElement>;
|
|
42
|
+
/** @internal */
|
|
43
|
+
static LINE: Svg<SVGLineElement>;
|
|
44
|
+
/** @internal */
|
|
45
|
+
static PATH: Svg<SVGPathElement>;
|
|
46
|
+
/** @internal */
|
|
47
|
+
static PATTERN: Svg<SVGPatternElement>;
|
|
48
|
+
/** @internal */
|
|
49
|
+
static POLYGON: Svg<SVGPolygonElement>;
|
|
50
|
+
/** @internal */
|
|
51
|
+
static RECT: Svg<SVGRectElement>;
|
|
52
|
+
/** @internal */
|
|
53
|
+
static SVG: Svg<SVGSVGElement>;
|
|
54
|
+
/** @internal */
|
|
55
|
+
static TEXT: Svg<SVGTextElement>;
|
|
56
|
+
/** @internal */
|
|
57
|
+
static TSPAN: Svg<SVGTSpanElement>;
|
|
58
|
+
/**
|
|
59
|
+
* @param tagName The SVG element tag name.
|
|
60
|
+
* @internal
|
|
61
|
+
*/
|
|
62
|
+
constructor(tagName: string);
|
|
63
|
+
/**
|
|
64
|
+
* Returns the SVG element tag name.
|
|
65
|
+
* @return The name.
|
|
66
|
+
*/
|
|
67
|
+
toString(): string;
|
|
68
|
+
}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2020 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @fileoverview Defines the Svg class. Its constants enumerate
|
|
9
|
+
* all SVG tag names used by Blockly.
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Defines the Svg class. Its constants enumerate
|
|
14
|
+
* all SVG tag names used by Blockly.
|
|
15
|
+
* @class
|
|
16
|
+
*/
|
|
17
|
+
import * as goog from '../../closure/goog/goog.js';
|
|
18
|
+
goog.declareModuleId('Blockly.utils.Svg');
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* A name with the type of the SVG element stored in the generic.
|
|
23
|
+
* @alias Blockly.utils.Svg
|
|
24
|
+
*/
|
|
25
|
+
export class Svg<T> {
|
|
26
|
+
/** @internal */
|
|
27
|
+
static ANIMATE = new Svg<SVGAnimateElement>('animate');
|
|
28
|
+
/** @internal */
|
|
29
|
+
static CIRCLE = new Svg<SVGCircleElement>('circle');
|
|
30
|
+
/** @internal */
|
|
31
|
+
static CLIPPATH = new Svg<SVGClipPathElement>('clipPath');
|
|
32
|
+
/** @internal */
|
|
33
|
+
static DEFS = new Svg<SVGDefsElement>('defs');
|
|
34
|
+
/** @internal */
|
|
35
|
+
static FECOMPOSITE = new Svg<SVGFECompositeElement>('feComposite');
|
|
36
|
+
/** @internal */
|
|
37
|
+
static FECOMPONENTTRANSFER =
|
|
38
|
+
new Svg<SVGFEComponentTransferElement>('feComponentTransfer');
|
|
39
|
+
/** @internal */
|
|
40
|
+
static FEFLOOD = new Svg<SVGFEFloodElement>('feFlood');
|
|
41
|
+
/** @internal */
|
|
42
|
+
static FEFUNCA = new Svg<SVGFEFuncAElement>('feFuncA');
|
|
43
|
+
/** @internal */
|
|
44
|
+
static FEGAUSSIANBLUR = new Svg<SVGFEGaussianBlurElement>('feGaussianBlur');
|
|
45
|
+
/** @internal */
|
|
46
|
+
static FEPOINTLIGHT = new Svg<SVGFEPointLightElement>('fePointLight');
|
|
47
|
+
/** @internal */
|
|
48
|
+
static FESPECULARLIGHTING =
|
|
49
|
+
new Svg<SVGFESpecularLightingElement>('feSpecularLighting');
|
|
50
|
+
/** @internal */
|
|
51
|
+
static FILTER = new Svg<SVGFilterElement>('filter');
|
|
52
|
+
/** @internal */
|
|
53
|
+
static FOREIGNOBJECT = new Svg<SVGForeignObjectElement>('foreignObject');
|
|
54
|
+
/** @internal */
|
|
55
|
+
static G = new Svg<SVGGElement>('g');
|
|
56
|
+
/** @internal */
|
|
57
|
+
static IMAGE = new Svg<SVGImageElement>('image');
|
|
58
|
+
/** @internal */
|
|
59
|
+
static LINE = new Svg<SVGLineElement>('line');
|
|
60
|
+
/** @internal */
|
|
61
|
+
static PATH = new Svg<SVGPathElement>('path');
|
|
62
|
+
/** @internal */
|
|
63
|
+
static PATTERN = new Svg<SVGPatternElement>('pattern');
|
|
64
|
+
/** @internal */
|
|
65
|
+
static POLYGON = new Svg<SVGPolygonElement>('polygon');
|
|
66
|
+
/** @internal */
|
|
67
|
+
static RECT = new Svg<SVGRectElement>('rect');
|
|
68
|
+
/** @internal */
|
|
69
|
+
static SVG = new Svg<SVGSVGElement>('svg');
|
|
70
|
+
/** @internal */
|
|
71
|
+
static TEXT = new Svg<SVGTextElement>('text');
|
|
72
|
+
/** @internal */
|
|
73
|
+
static TSPAN = new Svg<SVGTSpanElement>('tspan');
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* @param tagName The SVG element tag name.
|
|
77
|
+
* @internal
|
|
78
|
+
*/
|
|
79
|
+
constructor(private readonly tagName: string) {}
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* Returns the SVG element tag name.
|
|
83
|
+
* @return The name.
|
|
84
|
+
*/
|
|
85
|
+
toString(): string {
|
|
86
|
+
return this.tagName;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2021 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { WorkspaceSvg } from '../workspace_svg.js';
|
|
7
|
+
import { Coordinate } from './coordinate.js';
|
|
8
|
+
import { Rect } from './rect.js';
|
|
9
|
+
import { Size } from './size.js';
|
|
10
|
+
/**
|
|
11
|
+
* Return the coordinates of the top-left corner of this element relative to
|
|
12
|
+
* its parent. Only for SVG elements and children (e.g. rect, g, path).
|
|
13
|
+
* @param element SVG element to find the coordinates of.
|
|
14
|
+
* @return Object with .x and .y properties.
|
|
15
|
+
* @alias Blockly.utils.svgMath.getRelativeXY
|
|
16
|
+
*/
|
|
17
|
+
export declare function getRelativeXY(element: Element): Coordinate;
|
|
18
|
+
/**
|
|
19
|
+
* Return the coordinates of the top-left corner of this element relative to
|
|
20
|
+
* the div Blockly was injected into.
|
|
21
|
+
* @param element SVG element to find the coordinates of. If this is not a child
|
|
22
|
+
* of the div Blockly was injected into, the behaviour is undefined.
|
|
23
|
+
* @return Object with .x and .y properties.
|
|
24
|
+
* @alias Blockly.utils.svgMath.getInjectionDivXY
|
|
25
|
+
*/
|
|
26
|
+
export declare function getInjectionDivXY(element: Element): Coordinate;
|
|
27
|
+
/**
|
|
28
|
+
* Check if 3D transforms are supported by adding an element
|
|
29
|
+
* and attempting to set the property.
|
|
30
|
+
* @return True if 3D transforms are supported.
|
|
31
|
+
* @alias Blockly.utils.svgMath.is3dSupported
|
|
32
|
+
*/
|
|
33
|
+
export declare function is3dSupported(): boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Get the position of the current viewport in window coordinates. This takes
|
|
36
|
+
* scroll into account.
|
|
37
|
+
* @return An object containing window width, height, and scroll position in
|
|
38
|
+
* window coordinates.
|
|
39
|
+
* @alias Blockly.utils.svgMath.getViewportBBox
|
|
40
|
+
* @internal
|
|
41
|
+
*/
|
|
42
|
+
export declare function getViewportBBox(): Rect;
|
|
43
|
+
/**
|
|
44
|
+
* Gets the document scroll distance as a coordinate object.
|
|
45
|
+
* Copied from Closure's goog.dom.getDocumentScroll.
|
|
46
|
+
* @return Object with values 'x' and 'y'.
|
|
47
|
+
* @alias Blockly.utils.svgMath.getDocumentScroll
|
|
48
|
+
*/
|
|
49
|
+
export declare function getDocumentScroll(): Coordinate;
|
|
50
|
+
/**
|
|
51
|
+
* Converts screen coordinates to workspace coordinates.
|
|
52
|
+
* @param ws The workspace to find the coordinates on.
|
|
53
|
+
* @param screenCoordinates The screen coordinates to be converted to workspace
|
|
54
|
+
* coordinates
|
|
55
|
+
* @return The workspace coordinates.
|
|
56
|
+
* @alias Blockly.utils.svgMath.screenToWsCoordinates
|
|
57
|
+
*/
|
|
58
|
+
export declare function screenToWsCoordinates(ws: WorkspaceSvg, screenCoordinates: Coordinate): Coordinate;
|
|
59
|
+
/**
|
|
60
|
+
* Returns the dimensions of the specified SVG image.
|
|
61
|
+
* @param svg SVG image.
|
|
62
|
+
* @return Contains width and height properties.
|
|
63
|
+
* @deprecated Use workspace.getCachedParentSvgSize. (2021 March 5)
|
|
64
|
+
* @alias Blockly.utils.svgMath.svgSize
|
|
65
|
+
*/
|
|
66
|
+
export declare function svgSize(svg: SVGElement): Size;
|
|
67
|
+
export declare const TEST_ONLY: {
|
|
68
|
+
XY_REGEX: RegExp;
|
|
69
|
+
XY_STYLE_REGEX: RegExp;
|
|
70
|
+
};
|