blockly 9.0.0-beta.0 → 9.0.0-beta.1
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 +401 -405
- package/blockly_compressed.js +398 -402
- package/blockly_compressed.js.map +1 -1
- package/blocks.d.ts +0 -5
- package/blocks_compressed.js +3 -3
- package/blocks_compressed.js.map +1 -1
- package/closure/goog/base.d.ts +1 -0
- package/closure/goog/base_minimal.d.ts +1 -0
- package/closure/goog/goog.d.ts +1 -0
- package/core/any_aliases.d.ts +1 -0
- package/core/block.d.ts +145 -53
- package/core/block_animations.d.ts +5 -0
- package/core/block_drag_surface.d.ts +18 -5
- package/core/block_dragger.d.ts +20 -5
- package/core/block_svg.d.ts +89 -21
- package/core/blockly.d.ts +29 -8
- package/core/blockly_options.d.ts +2 -0
- package/core/blocks.d.ts +2 -0
- package/core/browser_events.d.ts +16 -7
- package/core/bubble.d.ts +42 -12
- package/core/bubble_dragger.d.ts +9 -2
- package/core/bump_objects.d.ts +6 -2
- package/core/clipboard.d.ts +6 -2
- package/core/comment.d.ts +13 -3
- package/core/common.d.ts +35 -9
- package/core/component_manager.d.ts +16 -6
- package/core/config.d.ts +1 -0
- package/core/connection.d.ts +48 -18
- package/core/connection_checker.d.ts +16 -7
- package/core/connection_db.d.ts +17 -6
- package/core/connection_type.d.ts +2 -0
- package/core/constants.d.ts +3 -0
- package/core/contextmenu.d.ts +15 -5
- package/core/contextmenu_items.d.ts +15 -0
- package/core/contextmenu_registry.d.ts +12 -7
- package/core/css.d.ts +3 -0
- package/core/delete_area.d.ts +5 -1
- package/core/dialog.d.ts +14 -7
- package/core/drag_target.d.ts +10 -2
- package/core/dropdowndiv.d.ts +42 -10
- package/core/events/events.d.ts +1 -0
- package/core/events/events_abstract.d.ts +10 -3
- package/core/events/events_block_base.d.ts +5 -1
- package/core/events/events_block_change.d.ts +10 -3
- package/core/events/events_block_create.d.ts +6 -1
- package/core/events/events_block_delete.d.ts +6 -1
- package/core/events/events_block_drag.d.ts +5 -1
- package/core/events/events_block_move.d.ts +10 -3
- package/core/events/events_bubble_open.d.ts +6 -2
- package/core/events/events_click.d.ts +5 -1
- package/core/events/events_comment_base.d.ts +6 -1
- package/core/events/events_comment_change.d.ts +8 -2
- package/core/events/events_comment_create.d.ts +6 -1
- package/core/events/events_comment_delete.d.ts +6 -1
- package/core/events/events_comment_move.d.ts +9 -2
- package/core/events/events_marker_move.d.ts +5 -1
- package/core/events/events_selected.d.ts +5 -1
- package/core/events/events_theme_change.d.ts +5 -1
- package/core/events/events_toolbox_item_select.d.ts +5 -1
- package/core/events/events_trashcan_open.d.ts +5 -1
- package/core/events/events_ui.d.ts +5 -1
- package/core/events/events_ui_base.d.ts +2 -0
- package/core/events/events_var_base.d.ts +5 -1
- package/core/events/events_var_create.d.ts +6 -1
- package/core/events/events_var_delete.d.ts +6 -1
- package/core/events/events_var_rename.d.ts +6 -1
- package/core/events/events_viewport.d.ts +5 -1
- package/core/events/utils.d.ts +50 -7
- package/core/events/workspace_events.d.ts +5 -1
- package/core/extensions.d.ts +14 -4
- package/core/field.d.ts +93 -34
- package/core/field_angle.d.ts +14 -3
- package/core/field_checkbox.d.ts +20 -7
- package/core/field_colour.d.ts +22 -6
- package/core/field_dropdown.d.ts +28 -8
- package/core/field_image.d.ts +15 -4
- package/core/field_label.d.ts +8 -2
- package/core/field_label_serializable.d.ts +4 -1
- package/core/field_multilineinput.d.ts +21 -6
- package/core/field_number.d.ts +22 -6
- package/core/field_registry.d.ts +8 -2
- package/core/field_textinput.d.ts +28 -8
- package/core/field_variable.d.ts +36 -13
- package/core/flyout_base.d.ts +70 -24
- package/core/flyout_button.d.ts +12 -5
- package/core/flyout_horizontal.d.ts +14 -6
- package/core/flyout_metrics_manager.d.ts +6 -3
- package/core/flyout_vertical.d.ts +14 -6
- package/core/generator.d.ts +39 -20
- package/core/gesture.d.ts +48 -13
- package/core/grid.d.ts +19 -15
- package/core/icon.d.ts +12 -3
- package/core/inject.d.ts +3 -1
- package/core/input.d.ts +25 -10
- package/core/input_types.d.ts +2 -0
- package/core/insertion_marker_manager.d.ts +27 -9
- package/core/interfaces/i_ast_node_location.d.ts +2 -0
- package/core/interfaces/i_ast_node_location_svg.d.ts +4 -0
- package/core/interfaces/i_ast_node_location_with_block.d.ts +4 -1
- package/core/interfaces/i_autohideable.d.ts +3 -0
- package/core/interfaces/i_block_dragger.d.ts +7 -1
- package/core/interfaces/i_bounded_element.d.ts +5 -1
- package/core/interfaces/i_bubble.d.ts +11 -2
- package/core/interfaces/i_collapsible_toolbox_item.d.ts +6 -2
- package/core/interfaces/i_component.d.ts +2 -0
- package/core/interfaces/i_connection_checker.d.ts +14 -6
- package/core/interfaces/i_contextmenu.d.ts +2 -0
- package/core/interfaces/i_copyable.d.ts +3 -1
- package/core/interfaces/i_deletable.d.ts +4 -1
- package/core/interfaces/i_delete_area.d.ts +4 -1
- package/core/interfaces/i_drag_target.d.ts +10 -2
- package/core/interfaces/i_draggable.d.ts +2 -0
- package/core/interfaces/i_flyout.d.ts +27 -11
- package/core/interfaces/i_keyboard_accessible.d.ts +4 -1
- package/core/interfaces/i_metrics_manager.d.ts +24 -12
- package/core/interfaces/i_movable.d.ts +4 -1
- package/core/interfaces/i_positionable.d.ts +5 -1
- package/core/interfaces/i_registrable.d.ts +2 -0
- package/core/interfaces/i_registrable_field.d.ts +2 -0
- package/core/interfaces/i_selectable.d.ts +2 -0
- package/core/interfaces/i_selectable_toolbox_item.d.ts +10 -3
- package/core/interfaces/i_serializer.d.ts +6 -1
- package/core/interfaces/i_styleable.d.ts +4 -0
- package/core/interfaces/i_toolbox.d.ts +17 -6
- package/core/interfaces/i_toolbox_item.d.ts +17 -7
- package/core/internal_constants.d.ts +6 -0
- package/core/keyboard_nav/ast_node.d.ts +55 -28
- package/core/keyboard_nav/basic_cursor.d.ts +20 -9
- package/core/keyboard_nav/cursor.d.ts +11 -5
- package/core/keyboard_nav/marker.d.ts +9 -2
- package/core/keyboard_nav/tab_navigate_cursor.d.ts +4 -1
- package/core/main.d.ts +1 -0
- package/core/marker_manager.d.ts +13 -2
- package/core/menu.d.ts +23 -5
- package/core/menuitem.d.ts +22 -7
- package/core/metrics_manager.d.ts +30 -15
- package/core/msg.d.ts +1 -0
- package/core/mutator.d.ts +19 -7
- package/core/names.d.ts +20 -8
- package/core/options.d.ts +12 -6
- package/core/positionable_helpers.d.ts +11 -3
- package/core/procedures.d.ts +27 -10
- package/core/registry.d.ts +19 -8
- package/core/rendered_connection.d.ts +28 -7
- package/core/renderers/common/block_rendering.d.ts +9 -2
- package/core/renderers/common/constants.d.ts +49 -17
- package/core/renderers/common/debug.d.ts +5 -1
- package/core/renderers/common/debugger.d.ts +12 -1
- package/core/renderers/common/drawer.d.ts +12 -0
- package/core/renderers/common/i_path_object.d.ts +15 -0
- package/core/renderers/common/info.d.ts +25 -8
- package/core/renderers/common/marker_svg.d.ts +35 -6
- package/core/renderers/common/path_object.d.ts +20 -0
- package/core/renderers/common/renderer.d.ts +33 -12
- package/core/renderers/geras/constants.d.ts +2 -0
- package/core/renderers/geras/drawer.d.ts +2 -0
- package/core/renderers/geras/geras.d.ts +3 -2
- package/core/renderers/geras/highlight_constants.d.ts +9 -6
- package/core/renderers/geras/highlighter.d.ts +12 -1
- package/core/renderers/geras/info.d.ts +4 -1
- package/core/renderers/geras/measurables/inline_input.d.ts +2 -0
- package/core/renderers/geras/measurables/statement_input.d.ts +2 -0
- package/core/renderers/geras/path_object.d.ts +4 -0
- package/core/renderers/geras/renderer.d.ts +16 -6
- package/core/renderers/measurables/base.d.ts +2 -0
- package/core/renderers/measurables/bottom_row.d.ts +9 -3
- package/core/renderers/measurables/connection.d.ts +2 -0
- package/core/renderers/measurables/external_value_input.d.ts +2 -1
- package/core/renderers/measurables/field.d.ts +2 -1
- package/core/renderers/measurables/hat.d.ts +2 -1
- package/core/renderers/measurables/icon.d.ts +3 -1
- package/core/renderers/measurables/in_row_spacer.d.ts +2 -1
- package/core/renderers/measurables/inline_input.d.ts +2 -1
- package/core/renderers/measurables/input_connection.d.ts +2 -0
- package/core/renderers/measurables/input_row.d.ts +4 -1
- package/core/renderers/measurables/jagged_edge.d.ts +2 -1
- package/core/renderers/measurables/next_connection.d.ts +2 -1
- package/core/renderers/measurables/output_connection.d.ts +2 -1
- package/core/renderers/measurables/previous_connection.d.ts +2 -1
- package/core/renderers/measurables/round_corner.d.ts +2 -1
- package/core/renderers/measurables/row.d.ts +27 -5
- package/core/renderers/measurables/spacer_row.d.ts +2 -1
- package/core/renderers/measurables/square_corner.d.ts +2 -1
- package/core/renderers/measurables/statement_input.d.ts +2 -1
- package/core/renderers/measurables/top_row.d.ts +7 -3
- package/core/renderers/measurables/types.d.ts +54 -25
- package/core/renderers/minimalist/constants.d.ts +2 -0
- package/core/renderers/minimalist/drawer.d.ts +2 -0
- package/core/renderers/minimalist/info.d.ts +4 -1
- package/core/renderers/minimalist/minimalist.d.ts +2 -1
- package/core/renderers/minimalist/renderer.d.ts +8 -3
- package/core/renderers/thrasos/info.d.ts +4 -1
- package/core/renderers/thrasos/renderer.d.ts +4 -1
- package/core/renderers/thrasos/thrasos.d.ts +2 -1
- package/core/renderers/zelos/constants.d.ts +11 -3
- package/core/renderers/zelos/drawer.d.ts +3 -0
- package/core/renderers/zelos/info.d.ts +10 -5
- package/core/renderers/zelos/marker_svg.d.ts +5 -0
- package/core/renderers/zelos/measurables/bottom_row.d.ts +2 -0
- package/core/renderers/zelos/measurables/inputs.d.ts +2 -0
- package/core/renderers/zelos/measurables/row_elements.d.ts +2 -0
- package/core/renderers/zelos/measurables/top_row.d.ts +2 -0
- package/core/renderers/zelos/path_object.d.ts +8 -1
- package/core/renderers/zelos/renderer.d.ts +14 -6
- package/core/renderers/zelos/zelos.d.ts +3 -2
- package/core/scrollbar.d.ts +41 -9
- package/core/scrollbar_pair.d.ts +20 -6
- package/core/serialization/blocks.d.ts +10 -4
- package/core/serialization/exceptions.d.ts +5 -0
- package/core/serialization/priorities.d.ts +3 -0
- package/core/serialization/registry.d.ts +3 -0
- package/core/serialization/variables.d.ts +2 -0
- package/core/serialization/workspaces.d.ts +4 -1
- package/core/shortcut_items.d.ts +10 -0
- package/core/shortcut_registry.d.ts +25 -9
- package/core/sprites.d.ts +2 -4
- package/core/theme/classic.d.ts +2 -0
- package/core/theme/themes.d.ts +1 -0
- package/core/theme/zelos.d.ts +2 -0
- package/core/theme.d.ts +14 -3
- package/core/theme_manager.d.ts +10 -1
- package/core/toolbox/category.d.ts +42 -15
- package/core/toolbox/collapsible_category.d.ts +10 -3
- package/core/toolbox/separator.d.ts +4 -1
- package/core/toolbox/toolbox.d.ts +70 -22
- package/core/toolbox/toolbox_item.d.ts +17 -7
- package/core/tooltip.d.ts +22 -1
- package/core/touch.d.ts +18 -6
- package/core/touch_gesture.d.ts +16 -2
- package/core/trashcan.d.ts +27 -6
- package/core/utils/aria.d.ts +4 -0
- package/core/utils/array.d.ts +4 -2
- package/core/utils/colour.d.ts +24 -13
- package/core/utils/coordinate.d.ts +18 -8
- package/core/utils/deprecation.d.ts +6 -4
- package/core/utils/dom.d.ts +32 -12
- package/core/utils/idgenerator.d.ts +13 -3
- package/core/utils/keycodes.d.ts +1 -0
- package/core/utils/math.d.ts +7 -3
- package/core/utils/metrics.d.ts +1 -0
- package/core/utils/object.d.ts +7 -2
- package/core/utils/parsing.d.ts +9 -4
- package/core/utils/rect.d.ts +5 -3
- package/core/utils/sentinel.d.ts +2 -0
- package/core/utils/size.d.ts +4 -2
- package/core/utils/string.d.ts +13 -6
- package/core/utils/style.d.ts +14 -33
- package/core/utils/svg.d.ts +5 -2
- package/core/utils/svg_math.d.ts +15 -7
- package/core/utils/svg_paths.d.ts +20 -10
- package/core/utils/toolbox.d.ts +26 -5
- package/core/utils/useragent.d.ts +1 -12
- package/core/utils/xml.d.ts +13 -5
- package/core/utils.d.ts +43 -21
- package/core/variable_map.d.ts +26 -9
- package/core/variable_model.d.ts +5 -2
- package/core/variables.d.ts +33 -18
- package/core/variables_dynamic.d.ts +25 -5
- package/core/warning.d.ts +8 -3
- package/core/widgetdiv.d.ts +15 -6
- package/core/workspace.d.ts +80 -30
- package/core/workspace_audio.d.ts +6 -0
- package/core/workspace_comment.d.ts +33 -11
- package/core/workspace_comment_svg.d.ts +52 -9
- package/core/workspace_drag_surface_svg.d.ts +20 -14
- package/core/workspace_dragger.d.ts +6 -0
- package/core/workspace_svg.d.ts +174 -62
- package/core/xml.d.ts +26 -11
- package/core/zoom_controls.d.ts +16 -6
- package/core.d.ts +0 -5
- package/dart.d.ts +0 -5
- package/dart_compressed.js.map +1 -1
- package/index.d.ts +2 -6
- package/javascript.d.ts +0 -5
- package/javascript_compressed.js.map +1 -1
- package/lua.d.ts +0 -5
- package/lua_compressed.js.map +1 -1
- package/package.json +6 -3
- package/php.d.ts +0 -5
- package/php_compressed.js.map +1 -1
- package/python.d.ts +0 -5
- package/python_compressed.js.map +1 -1
- package/blocks/blocks.js +0 -48
- package/blocks/colour.js +0 -121
- package/blocks/lists.js +0 -996
- package/blocks/logic.js +0 -665
- package/blocks/loops.js +0 -375
- package/blocks/math.js +0 -594
- package/blocks/procedures.js +0 -1196
- package/blocks/text.js +0 -1000
- package/blocks/variables.js +0 -176
- package/blocks/variables_dynamic.js +0 -192
- package/core/any_aliases.ts +0 -1
- package/core/block.ts +0 -2102
- package/core/block_animations.ts +0 -202
- package/core/block_drag_surface.ts +0 -237
- package/core/block_dragger.ts +0 -447
- package/core/block_svg.ts +0 -1758
- package/core/blockly.js +0 -890
- package/core/blockly.ts +0 -749
- package/core/blockly_options.ts +0 -81
- package/core/blocks.ts +0 -29
- package/core/browser_events.ts +0 -289
- package/core/bubble.ts +0 -892
- package/core/bubble_dragger.ts +0 -229
- package/core/bump_objects.ts +0 -182
- package/core/clipboard.ts +0 -91
- package/core/comment.ts +0 -398
- package/core/common.ts +0 -288
- package/core/component_manager.ts +0 -211
- package/core/config.ts +0 -80
- package/core/connection.ts +0 -692
- package/core/connection_checker.ts +0 -301
- package/core/connection_db.ts +0 -289
- package/core/connection_type.ts +0 -32
- package/core/constants.ts +0 -29
- package/core/contextmenu.ts +0 -363
- package/core/contextmenu_items.ts +0 -576
- package/core/contextmenu_registry.ts +0 -179
- package/core/css.ts +0 -560
- package/core/delete_area.ts +0 -82
- package/core/dialog.ts +0 -127
- package/core/drag_target.ts +0 -94
- package/core/dropdowndiv.ts +0 -683
- package/core/events/events.ts +0 -123
- package/core/events/events_abstract.ts +0 -112
- package/core/events/events_block_base.ts +0 -65
- package/core/events/events_block_change.ts +0 -176
- package/core/events/events_block_create.ts +0 -114
- package/core/events/events_block_delete.ts +0 -126
- package/core/events/events_block_drag.ts +0 -82
- package/core/events/events_block_move.ts +0 -206
- package/core/events/events_bubble_open.ts +0 -82
- package/core/events/events_click.ts +0 -84
- package/core/events/events_comment_base.ts +0 -107
- package/core/events/events_comment_change.ts +0 -108
- package/core/events/events_comment_create.ts +0 -82
- package/core/events/events_comment_delete.ts +0 -77
- package/core/events/events_comment_move.ts +0 -154
- package/core/events/events_marker_move.ts +0 -99
- package/core/events/events_selected.ts +0 -78
- package/core/events/events_theme_change.ts +0 -67
- package/core/events/events_toolbox_item_select.ts +0 -79
- package/core/events/events_trashcan_open.ts +0 -68
- package/core/events/events_ui.ts +0 -89
- package/core/events/events_ui_base.ts +0 -54
- package/core/events/events_var_base.ts +0 -65
- package/core/events/events_var_create.ts +0 -88
- package/core/events/events_var_delete.ts +0 -88
- package/core/events/events_var_rename.ts +0 -89
- package/core/events/events_viewport.ts +0 -100
- package/core/events/utils.ts +0 -529
- package/core/events/workspace_events.ts +0 -86
- package/core/extensions.ts +0 -504
- package/core/field.ts +0 -1206
- package/core/field_angle.ts +0 -563
- package/core/field_checkbox.ts +0 -243
- package/core/field_colour.ts +0 -632
- package/core/field_dropdown.ts +0 -773
- package/core/field_image.ts +0 -282
- package/core/field_label.ts +0 -152
- package/core/field_label_serializable.ts +0 -76
- package/core/field_multilineinput.ts +0 -466
- package/core/field_number.ts +0 -327
- package/core/field_registry.ts +0 -87
- package/core/field_textinput.ts +0 -591
- package/core/field_variable.ts +0 -545
- package/core/flyout_base.ts +0 -1165
- package/core/flyout_button.ts +0 -292
- package/core/flyout_horizontal.ts +0 -381
- package/core/flyout_metrics_manager.ts +0 -94
- package/core/flyout_vertical.ts +0 -384
- package/core/generator.ts +0 -539
- package/core/gesture.ts +0 -946
- package/core/grid.ts +0 -192
- package/core/icon.ts +0 -189
- package/core/inject.ts +0 -390
- package/core/input.ts +0 -309
- package/core/input_types.ts +0 -32
- package/core/insertion_marker_manager.ts +0 -788
- package/core/interfaces/i_ast_node_location.ts +0 -23
- package/core/interfaces/i_ast_node_location_svg.ts +0 -37
- package/core/interfaces/i_ast_node_location_with_block.ts +0 -38
- package/core/interfaces/i_autohideable.ts +0 -34
- package/core/interfaces/i_block_dragger.ts +0 -67
- package/core/interfaces/i_bounded_element.ts +0 -42
- package/core/interfaces/i_bubble.ts +0 -88
- package/core/interfaces/i_collapsible_toolbox_item.ts +0 -47
- package/core/interfaces/i_component.ts +0 -32
- package/core/interfaces/i_connection_checker.ts +0 -102
- package/core/interfaces/i_contextmenu.ts +0 -26
- package/core/interfaces/i_copyable.ts +0 -40
- package/core/interfaces/i_deletable.ts +0 -29
- package/core/interfaces/i_delete_area.ts +0 -46
- package/core/interfaces/i_drag_target.ts +0 -84
- package/core/interfaces/i_draggable.ts +0 -25
- package/core/interfaces/i_flyout.ts +0 -186
- package/core/interfaces/i_keyboard_accessible.ts +0 -35
- package/core/interfaces/i_metrics_manager.ts +0 -151
- package/core/interfaces/i_movable.ts +0 -29
- package/core/interfaces/i_positionable.ts +0 -50
- package/core/interfaces/i_registrable.ts +0 -25
- package/core/interfaces/i_registrable_field.ts +0 -31
- package/core/interfaces/i_selectable.ts +0 -34
- package/core/interfaces/i_selectable_toolbox_item.ts +0 -64
- package/core/interfaces/i_serializer.ts +0 -65
- package/core/interfaces/i_styleable.ts +0 -35
- package/core/interfaces/i_toolbox.ts +0 -127
- package/core/interfaces/i_toolbox_item.ts +0 -84
- package/core/internal_constants.ts +0 -67
- package/core/keyboard_nav/ast_node.ts +0 -717
- package/core/keyboard_nav/basic_cursor.ts +0 -214
- package/core/keyboard_nav/cursor.ts +0 -134
- package/core/keyboard_nav/marker.ts +0 -115
- package/core/keyboard_nav/tab_navigate_cursor.ts +0 -48
- package/core/main.js +0 -303
- package/core/marker_manager.ts +0 -181
- package/core/menu.ts +0 -449
- package/core/menuitem.ts +0 -240
- package/core/metrics_manager.ts +0 -456
- package/core/msg.ts +0 -20
- package/core/mutator.ts +0 -560
- package/core/names.ts +0 -267
- package/core/options.ts +0 -365
- package/core/positionable_helpers.ts +0 -181
- package/core/procedures.ts +0 -443
- package/core/registry.ts +0 -339
- package/core/rendered_connection.ts +0 -568
- package/core/renderers/common/block_rendering.ts +0 -164
- package/core/renderers/common/constants.ts +0 -1124
- package/core/renderers/common/debug.ts +0 -61
- package/core/renderers/common/debugger.ts +0 -433
- package/core/renderers/common/drawer.ts +0 -450
- package/core/renderers/common/i_path_object.ts +0 -161
- package/core/renderers/common/info.ts +0 -718
- package/core/renderers/common/marker_svg.ts +0 -680
- package/core/renderers/common/path_object.ts +0 -272
- package/core/renderers/common/renderer.ts +0 -271
- package/core/renderers/geras/constants.ts +0 -61
- package/core/renderers/geras/drawer.ts +0 -176
- package/core/renderers/geras/geras.ts +0 -37
- package/core/renderers/geras/highlight_constants.ts +0 -337
- package/core/renderers/geras/highlighter.ts +0 -306
- package/core/renderers/geras/info.ts +0 -450
- package/core/renderers/geras/measurables/inline_input.ts +0 -51
- package/core/renderers/geras/measurables/statement_input.ts +0 -50
- package/core/renderers/geras/path_object.ts +0 -138
- package/core/renderers/geras/renderer.ts +0 -126
- package/core/renderers/measurables/base.ts +0 -53
- package/core/renderers/measurables/bottom_row.ts +0 -120
- package/core/renderers/measurables/connection.ts +0 -52
- package/core/renderers/measurables/external_value_input.ts +0 -65
- package/core/renderers/measurables/field.ts +0 -63
- package/core/renderers/measurables/hat.ts +0 -48
- package/core/renderers/measurables/icon.ts +0 -54
- package/core/renderers/measurables/in_row_spacer.ts +0 -44
- package/core/renderers/measurables/inline_input.ts +0 -76
- package/core/renderers/measurables/input_connection.ts +0 -66
- package/core/renderers/measurables/input_row.ts +0 -82
- package/core/renderers/measurables/jagged_edge.ts +0 -43
- package/core/renderers/measurables/next_connection.ts +0 -47
- package/core/renderers/measurables/output_connection.ts +0 -56
- package/core/renderers/measurables/previous_connection.ts +0 -47
- package/core/renderers/measurables/round_corner.ts +0 -49
- package/core/renderers/measurables/row.ts +0 -225
- package/core/renderers/measurables/spacer_row.ts +0 -55
- package/core/renderers/measurables/square_corner.ts +0 -47
- package/core/renderers/measurables/statement_input.ts +0 -55
- package/core/renderers/measurables/top_row.ts +0 -122
- package/core/renderers/measurables/types.ts +0 -332
- package/core/renderers/minimalist/constants.ts +0 -32
- package/core/renderers/minimalist/drawer.ts +0 -38
- package/core/renderers/minimalist/info.ts +0 -52
- package/core/renderers/minimalist/minimalist.ts +0 -22
- package/core/renderers/minimalist/renderer.ts +0 -71
- package/core/renderers/thrasos/info.ts +0 -338
- package/core/renderers/thrasos/renderer.ts +0 -48
- package/core/renderers/thrasos/thrasos.ts +0 -20
- package/core/renderers/zelos/constants.ts +0 -858
- package/core/renderers/zelos/drawer.ts +0 -228
- package/core/renderers/zelos/info.ts +0 -593
- package/core/renderers/zelos/marker_svg.ts +0 -151
- package/core/renderers/zelos/measurables/bottom_row.ts +0 -53
- package/core/renderers/zelos/measurables/inputs.ts +0 -56
- package/core/renderers/zelos/measurables/row_elements.ts +0 -45
- package/core/renderers/zelos/measurables/top_row.ts +0 -58
- package/core/renderers/zelos/path_object.ts +0 -215
- package/core/renderers/zelos/renderer.ts +0 -142
- package/core/renderers/zelos/zelos.ts +0 -39
- package/core/scrollbar.ts +0 -870
- package/core/scrollbar_pair.ts +0 -321
- package/core/serialization/blocks.ts +0 -706
- package/core/serialization/exceptions.ts +0 -98
- package/core/serialization/priorities.ts +0 -32
- package/core/serialization/registry.ts +0 -43
- package/core/serialization/variables.ts +0 -96
- package/core/serialization/workspaces.ts +0 -106
- package/core/shortcut_items.ts +0 -266
- package/core/shortcut_registry.ts +0 -355
- package/core/sprites.ts +0 -29
- package/core/theme/classic.ts +0 -54
- package/core/theme/themes.ts +0 -22
- package/core/theme/zelos.ts +0 -91
- package/core/theme.ts +0 -221
- package/core/theme_manager.ts +0 -186
- package/core/toolbox/category.ts +0 -679
- package/core/toolbox/collapsible_category.ts +0 -273
- package/core/toolbox/separator.ts +0 -105
- package/core/toolbox/toolbox.ts +0 -1044
- package/core/toolbox/toolbox_item.ts +0 -147
- package/core/tooltip.ts +0 -463
- package/core/touch.ts +0 -306
- package/core/touch_gesture.ts +0 -295
- package/core/trashcan.ts +0 -671
- package/core/utils/aria.ts +0 -160
- package/core/utils/array.ts +0 -32
- package/core/utils/colour.ts +0 -276
- package/core/utils/coordinate.ts +0 -124
- package/core/utils/deprecation.ts +0 -41
- package/core/utils/dom.ts +0 -408
- package/core/utils/idgenerator.ts +0 -80
- package/core/utils/keycodes.ts +0 -169
- package/core/utils/math.ts +0 -61
- package/core/utils/metrics.ts +0 -97
- package/core/utils/object.ts +0 -95
- package/core/utils/parsing.ts +0 -261
- package/core/utils/rect.ts +0 -62
- package/core/utils/sentinel.ts +0 -23
- package/core/utils/size.ts +0 -51
- package/core/utils/string.ts +0 -308
- package/core/utils/style.ts +0 -306
- package/core/utils/svg.ts +0 -88
- package/core/utils/svg_math.ts +0 -269
- package/core/utils/svg_paths.ts +0 -140
- package/core/utils/toolbox.ts +0 -433
- package/core/utils/useragent.ts +0 -135
- package/core/utils/xml.ts +0 -97
- package/core/utils.ts +0 -428
- package/core/variable_map.ts +0 -392
- package/core/variable_model.ts +0 -82
- package/core/variables.ts +0 -596
- package/core/variables_dynamic.ts +0 -133
- package/core/warning.ts +0 -161
- package/core/widgetdiv.ts +0 -257
- package/core/workspace.ts +0 -801
- package/core/workspace_audio.ts +0 -156
- package/core/workspace_comment.ts +0 -398
- package/core/workspace_comment_svg.ts +0 -1127
- package/core/workspace_drag_surface_svg.ts +0 -187
- package/core/workspace_dragger.ts +0 -104
- package/core/workspace_svg.ts +0 -2655
- package/core/xml.ts +0 -1023
- package/core/zoom_controls.ts +0 -441
- package/generators/dart/all.js +0 -27
- package/generators/dart/colour.js +0 -105
- package/generators/dart/lists.js +0 -431
- package/generators/dart/logic.js +0 -123
- package/generators/dart/loops.js +0 -161
- package/generators/dart/math.js +0 -446
- package/generators/dart/procedures.js +0 -105
- package/generators/dart/text.js +0 -338
- package/generators/dart/variables.js +0 -32
- package/generators/dart/variables_dynamic.js +0 -21
- package/generators/dart.js +0 -303
- package/generators/javascript/all.js +0 -27
- package/generators/javascript/colour.js +0 -85
- package/generators/javascript/lists.js +0 -405
- package/generators/javascript/logic.js +0 -127
- package/generators/javascript/loops.js +0 -180
- package/generators/javascript/math.js +0 -401
- package/generators/javascript/procedures.js +0 -110
- package/generators/javascript/text.js +0 -371
- package/generators/javascript/variables.js +0 -32
- package/generators/javascript/variables_dynamic.js +0 -21
- package/generators/javascript.js +0 -322
- package/generators/lua/all.js +0 -27
- package/generators/lua/colour.js +0 -71
- package/generators/lua/lists.js +0 -348
- package/generators/lua/logic.js +0 -112
- package/generators/lua/loops.js +0 -168
- package/generators/lua/math.js +0 -406
- package/generators/lua/procedures.js +0 -106
- package/generators/lua/text.js +0 -327
- package/generators/lua/variables.js +0 -31
- package/generators/lua/variables_dynamic.js +0 -21
- package/generators/lua.js +0 -206
- package/generators/php/all.js +0 -27
- package/generators/php/colour.js +0 -81
- package/generators/php/lists.js +0 -481
- package/generators/php/logic.js +0 -119
- package/generators/php/loops.js +0 -161
- package/generators/php/math.js +0 -349
- package/generators/php/procedures.js +0 -125
- package/generators/php/text.js +0 -255
- package/generators/php/variables.js +0 -32
- package/generators/php/variables_dynamic.js +0 -21
- package/generators/php.js +0 -303
- package/generators/python/all.js +0 -27
- package/generators/python/colour.js +0 -67
- package/generators/python/lists.js +0 -346
- package/generators/python/logic.js +0 -120
- package/generators/python/loops.js +0 -206
- package/generators/python/math.js +0 -373
- package/generators/python/procedures.js +0 -129
- package/generators/python/text.js +0 -291
- package/generators/python/variables.js +0 -32
- package/generators/python/variables_dynamic.js +0 -21
- package/generators/python.js +0 -333
package/core/blockly_options.ts
DELETED
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2016 Google LLC
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @fileoverview Object that defines user-specified options for the workspace.
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Object that defines user-specified options for the workspace.
|
|
13
|
-
* @namespace Blockly.BlocklyOptions
|
|
14
|
-
*/
|
|
15
|
-
import * as goog from '../closure/goog/goog.js';
|
|
16
|
-
goog.declareModuleId('Blockly.BlocklyOptions');
|
|
17
|
-
|
|
18
|
-
import type {Theme, ITheme} from './theme.js';
|
|
19
|
-
import type {WorkspaceSvg} from './workspace_svg.js';
|
|
20
|
-
import type {ToolboxDefinition} from './utils/toolbox.js';
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* Blockly options.
|
|
25
|
-
* @alias Blockly.BlocklyOptions
|
|
26
|
-
*/
|
|
27
|
-
export interface BlocklyOptions {
|
|
28
|
-
collapse?: boolean;
|
|
29
|
-
comments?: boolean;
|
|
30
|
-
css?: boolean;
|
|
31
|
-
disable?: boolean;
|
|
32
|
-
grid?: GridOptions;
|
|
33
|
-
horizontalLayout?: boolean;
|
|
34
|
-
maxBlocks?: number;
|
|
35
|
-
maxInstances?: {[blockType: string]: number};
|
|
36
|
-
media?: string;
|
|
37
|
-
move?: MoveOptions;
|
|
38
|
-
oneBasedIndex?: boolean;
|
|
39
|
-
readOnly?: boolean;
|
|
40
|
-
renderer?: string;
|
|
41
|
-
rendererOverrides?: {[rendererConstant: string]: any};
|
|
42
|
-
rtl?: boolean;
|
|
43
|
-
scrollbars?: ScrollbarOptions|boolean;
|
|
44
|
-
sounds?: boolean;
|
|
45
|
-
theme?: Theme|string|ITheme;
|
|
46
|
-
toolbox?: string|ToolboxDefinition|Element;
|
|
47
|
-
toolboxPosition?: string;
|
|
48
|
-
trashcan?: boolean;
|
|
49
|
-
maxTrashcanContents?: number;
|
|
50
|
-
plugins?: {[key: string]: (new(...p1: any[]) => any)|string};
|
|
51
|
-
zoom?: ZoomOptions;
|
|
52
|
-
parentWorkspace?: WorkspaceSvg;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
export interface GridOptions {
|
|
56
|
-
colour?: string;
|
|
57
|
-
length?: number;
|
|
58
|
-
snap?: boolean;
|
|
59
|
-
spacing?: number;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
export interface MoveOptions {
|
|
63
|
-
drag?: boolean;
|
|
64
|
-
scrollbars?: boolean|ScrollbarOptions;
|
|
65
|
-
wheel?: boolean;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
export interface ScrollbarOptions {
|
|
69
|
-
horizontal?: boolean;
|
|
70
|
-
vertical?: boolean;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
export interface ZoomOptions {
|
|
74
|
-
controls?: boolean;
|
|
75
|
-
maxScale?: number;
|
|
76
|
-
minScale?: number;
|
|
77
|
-
pinch?: boolean;
|
|
78
|
-
scaleSpeed?: number;
|
|
79
|
-
startScale?: number;
|
|
80
|
-
wheel?: boolean;
|
|
81
|
-
}
|
package/core/blocks.ts
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2013 Google LLC
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @fileoverview A mapping of block type names to block prototype objects.
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* A mapping of block type names to block prototype objects.
|
|
13
|
-
* @namespace Blockly.blocks
|
|
14
|
-
*/
|
|
15
|
-
import * as goog from '../closure/goog/goog.js';
|
|
16
|
-
goog.declareModuleId('Blockly.blocks');
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* A block definition. For now this very lose, but it can potentially
|
|
21
|
-
* be refined e.g. by replacing this typedef with a class definition.
|
|
22
|
-
*/
|
|
23
|
-
export type BlockDefinition = AnyDuringMigration;
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* A mapping of block type names to block prototype objects.
|
|
27
|
-
* @alias Blockly.blocks.Blocks
|
|
28
|
-
*/
|
|
29
|
-
export const Blocks: {[key: string]: BlockDefinition} = Object.create(null);
|
package/core/browser_events.ts
DELETED
|
@@ -1,289 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2021 Google LLC
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @fileoverview Browser event handling.
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Browser event handling.
|
|
13
|
-
* @namespace Blockly.browserEvents
|
|
14
|
-
*/
|
|
15
|
-
import * as goog from '../closure/goog/goog.js';
|
|
16
|
-
goog.declareModuleId('Blockly.browserEvents');
|
|
17
|
-
|
|
18
|
-
import * as Touch from './touch.js';
|
|
19
|
-
import * as userAgent from './utils/useragent.js';
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Blockly opaque event data used to unbind events when using
|
|
24
|
-
* `bind` and `conditionalBind`.
|
|
25
|
-
* @alias Blockly.browserEvents.Data
|
|
26
|
-
*/
|
|
27
|
-
export type Data = [EventTarget, string, (e: Event) => void][];
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* The multiplier for scroll wheel deltas using the line delta mode.
|
|
31
|
-
* See https://developer.mozilla.org/en-US/docs/Web/API/WheelEvent/deltaMode
|
|
32
|
-
* for more information on deltaMode.
|
|
33
|
-
*/
|
|
34
|
-
const LINE_MODE_MULTIPLIER = 40;
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* The multiplier for scroll wheel deltas using the page delta mode.
|
|
38
|
-
* See https://developer.mozilla.org/en-US/docs/Web/API/WheelEvent/deltaMode
|
|
39
|
-
* for more information on deltaMode.
|
|
40
|
-
*/
|
|
41
|
-
const PAGE_MODE_MULTIPLIER = 125;
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* Bind an event handler that can be ignored if it is not part of the active
|
|
45
|
-
* touch stream.
|
|
46
|
-
* Use this for events that either start or continue a multi-part gesture (e.g.
|
|
47
|
-
* mousedown or mousemove, which may be part of a drag or click).
|
|
48
|
-
* @param node Node upon which to listen.
|
|
49
|
-
* @param name Event name to listen to (e.g. 'mousedown').
|
|
50
|
-
* @param thisObject The value of 'this' in the function.
|
|
51
|
-
* @param func Function to call when event is triggered.
|
|
52
|
-
* @param opt_noCaptureIdentifier True if triggering on this event should not
|
|
53
|
-
* block execution of other event handlers on this touch or other
|
|
54
|
-
* simultaneous touches. False by default.
|
|
55
|
-
* @param opt_noPreventDefault True if triggering on this event should prevent
|
|
56
|
-
* the default handler. False by default. If opt_noPreventDefault is
|
|
57
|
-
* provided, opt_noCaptureIdentifier must also be provided.
|
|
58
|
-
* @return Opaque data that can be passed to unbindEvent_.
|
|
59
|
-
* @alias Blockly.browserEvents.conditionalBind
|
|
60
|
-
*/
|
|
61
|
-
export function conditionalBind(
|
|
62
|
-
node: EventTarget, name: string, thisObject: Object|null, func: Function,
|
|
63
|
-
opt_noCaptureIdentifier?: boolean, opt_noPreventDefault?: boolean): Data {
|
|
64
|
-
let handled = false;
|
|
65
|
-
function wrapFunc(e: Event) {
|
|
66
|
-
const captureIdentifier = !opt_noCaptureIdentifier;
|
|
67
|
-
// Handle each touch point separately. If the event was a mouse event, this
|
|
68
|
-
// will hand back an array with one element, which we're fine handling.
|
|
69
|
-
const events = Touch.splitEventByTouches(e);
|
|
70
|
-
for (let i = 0; i < events.length; i++) {
|
|
71
|
-
const event = events[i];
|
|
72
|
-
if (captureIdentifier && !Touch.shouldHandleEvent(event)) {
|
|
73
|
-
continue;
|
|
74
|
-
}
|
|
75
|
-
Touch.setClientFromTouch(event);
|
|
76
|
-
if (thisObject) {
|
|
77
|
-
func.call(thisObject, event);
|
|
78
|
-
} else {
|
|
79
|
-
func(event);
|
|
80
|
-
}
|
|
81
|
-
handled = true;
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
const bindData: Data = [];
|
|
86
|
-
if (globalThis['PointerEvent'] && name in Touch.TOUCH_MAP) {
|
|
87
|
-
for (let i = 0; i < Touch.TOUCH_MAP[name].length; i++) {
|
|
88
|
-
const type = Touch.TOUCH_MAP[name][i];
|
|
89
|
-
node.addEventListener(type, wrapFunc, false);
|
|
90
|
-
bindData.push([node, type, wrapFunc]);
|
|
91
|
-
}
|
|
92
|
-
} else {
|
|
93
|
-
node.addEventListener(name, wrapFunc, false);
|
|
94
|
-
bindData.push([node, name, wrapFunc]);
|
|
95
|
-
|
|
96
|
-
// Add equivalent touch event.
|
|
97
|
-
if (name in Touch.TOUCH_MAP) {
|
|
98
|
-
const touchWrapFunc = (e: Event) => {
|
|
99
|
-
wrapFunc(e);
|
|
100
|
-
// Calling preventDefault stops the browser from scrolling/zooming the
|
|
101
|
-
// page.
|
|
102
|
-
const preventDef = !opt_noPreventDefault;
|
|
103
|
-
if (handled && preventDef) {
|
|
104
|
-
e.preventDefault();
|
|
105
|
-
}
|
|
106
|
-
};
|
|
107
|
-
for (let i = 0; i < Touch.TOUCH_MAP[name].length; i++) {
|
|
108
|
-
const type = Touch.TOUCH_MAP[name][i];
|
|
109
|
-
node.addEventListener(type, touchWrapFunc, false);
|
|
110
|
-
bindData.push([node, type, touchWrapFunc]);
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
return bindData;
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
/**
|
|
118
|
-
* Bind an event handler that should be called regardless of whether it is part
|
|
119
|
-
* of the active touch stream.
|
|
120
|
-
* Use this for events that are not part of a multi-part gesture (e.g.
|
|
121
|
-
* mouseover for tooltips).
|
|
122
|
-
* @param node Node upon which to listen.
|
|
123
|
-
* @param name Event name to listen to (e.g. 'mousedown').
|
|
124
|
-
* @param thisObject The value of 'this' in the function.
|
|
125
|
-
* @param func Function to call when event is triggered.
|
|
126
|
-
* @return Opaque data that can be passed to unbindEvent_.
|
|
127
|
-
* @alias Blockly.browserEvents.bind
|
|
128
|
-
*/
|
|
129
|
-
export function bind(
|
|
130
|
-
node: EventTarget, name: string, thisObject: Object|null,
|
|
131
|
-
func: Function): Data {
|
|
132
|
-
function wrapFunc(e: Event) {
|
|
133
|
-
if (thisObject) {
|
|
134
|
-
func.call(thisObject, e);
|
|
135
|
-
} else {
|
|
136
|
-
func(e);
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
const bindData: Data = [];
|
|
141
|
-
if (globalThis['PointerEvent'] && name in Touch.TOUCH_MAP) {
|
|
142
|
-
for (let i = 0; i < Touch.TOUCH_MAP[name].length; i++) {
|
|
143
|
-
const type = Touch.TOUCH_MAP[name][i];
|
|
144
|
-
node.addEventListener(type, wrapFunc, false);
|
|
145
|
-
bindData.push([node, type, wrapFunc]);
|
|
146
|
-
}
|
|
147
|
-
} else {
|
|
148
|
-
node.addEventListener(name, wrapFunc, false);
|
|
149
|
-
bindData.push([node, name, wrapFunc]);
|
|
150
|
-
|
|
151
|
-
// Add equivalent touch event.
|
|
152
|
-
if (name in Touch.TOUCH_MAP) {
|
|
153
|
-
const touchWrapFunc = (e: Event) => {
|
|
154
|
-
// Punt on multitouch events.
|
|
155
|
-
if (e instanceof TouchEvent && e.changedTouches &&
|
|
156
|
-
e.changedTouches.length === 1) {
|
|
157
|
-
// Map the touch event's properties to the event.
|
|
158
|
-
const touchPoint = e.changedTouches[0];
|
|
159
|
-
// TODO (6311): We are trying to make a touch event look like a mouse
|
|
160
|
-
// event, which is not allowed, because it requires adding more
|
|
161
|
-
// properties to the event. How do we want to deal with this?
|
|
162
|
-
(e as AnyDuringMigration).clientX = touchPoint.clientX;
|
|
163
|
-
(e as AnyDuringMigration).clientY = touchPoint.clientY;
|
|
164
|
-
}
|
|
165
|
-
wrapFunc(e);
|
|
166
|
-
|
|
167
|
-
// Stop the browser from scrolling/zooming the page.
|
|
168
|
-
e.preventDefault();
|
|
169
|
-
};
|
|
170
|
-
for (let i = 0; i < Touch.TOUCH_MAP[name].length; i++) {
|
|
171
|
-
const type = Touch.TOUCH_MAP[name][i];
|
|
172
|
-
node.addEventListener(type, touchWrapFunc, false);
|
|
173
|
-
bindData.push([node, type, touchWrapFunc]);
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
return bindData;
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
/**
|
|
181
|
-
* Unbind one or more events event from a function call.
|
|
182
|
-
* @param bindData Opaque data from bindEvent_.
|
|
183
|
-
* This list is emptied during the course of calling this function.
|
|
184
|
-
* @return The function call.
|
|
185
|
-
* @alias Blockly.browserEvents.unbind
|
|
186
|
-
*/
|
|
187
|
-
export function unbind(bindData: Data): (e: Event) => void {
|
|
188
|
-
// Accessing an element of the last property of the array is unsafe if the
|
|
189
|
-
// bindData is an empty array. But that should never happen because developers
|
|
190
|
-
// should only pass Data from bind or conditionalBind.
|
|
191
|
-
let callback = bindData[bindData.length - 1][2];
|
|
192
|
-
while (bindData.length) {
|
|
193
|
-
const bindDatum = bindData.pop();
|
|
194
|
-
const node = bindDatum![0];
|
|
195
|
-
const name = bindDatum![1];
|
|
196
|
-
const func = bindDatum![2];
|
|
197
|
-
node.removeEventListener(name, func, false);
|
|
198
|
-
}
|
|
199
|
-
return callback;
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
/**
|
|
203
|
-
* Returns true if this event is targeting a text input widget?
|
|
204
|
-
* @param e An event.
|
|
205
|
-
* @return True if text input.
|
|
206
|
-
* @alias Blockly.browserEvents.isTargetInput
|
|
207
|
-
*/
|
|
208
|
-
export function isTargetInput(e: Event): boolean {
|
|
209
|
-
if (e.target instanceof HTMLElement) {
|
|
210
|
-
if (e.target.isContentEditable ||
|
|
211
|
-
e.target.getAttribute('data-is-text-input') === 'true') {
|
|
212
|
-
return true;
|
|
213
|
-
}
|
|
214
|
-
|
|
215
|
-
if (e.target instanceof HTMLInputElement) {
|
|
216
|
-
const target = e.target;
|
|
217
|
-
return target.type === 'text' || target.type === 'number' ||
|
|
218
|
-
target.type === 'email' || target.type === 'password' ||
|
|
219
|
-
target.type === 'search' || target.type === 'tel' ||
|
|
220
|
-
target.type === 'url';
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
if (e.target instanceof HTMLTextAreaElement) {
|
|
224
|
-
return true;
|
|
225
|
-
}
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
return false;
|
|
229
|
-
}
|
|
230
|
-
|
|
231
|
-
/**
|
|
232
|
-
* Returns true this event is a right-click.
|
|
233
|
-
* @param e Mouse event.
|
|
234
|
-
* @return True if right-click.
|
|
235
|
-
* @alias Blockly.browserEvents.isRightButton
|
|
236
|
-
*/
|
|
237
|
-
export function isRightButton(e: MouseEvent): boolean {
|
|
238
|
-
if (e.ctrlKey && userAgent.MAC) {
|
|
239
|
-
// Control-clicking on Mac OS X is treated as a right-click.
|
|
240
|
-
// WebKit on Mac OS X fails to change button to 2 (but Gecko does).
|
|
241
|
-
return true;
|
|
242
|
-
}
|
|
243
|
-
return e.button === 2;
|
|
244
|
-
}
|
|
245
|
-
|
|
246
|
-
/**
|
|
247
|
-
* Returns the converted coordinates of the given mouse event.
|
|
248
|
-
* The origin (0,0) is the top-left corner of the Blockly SVG.
|
|
249
|
-
* @param e Mouse event.
|
|
250
|
-
* @param svg SVG element.
|
|
251
|
-
* @param matrix Inverted screen CTM to use.
|
|
252
|
-
* @return Object with .x and .y properties.
|
|
253
|
-
* @alias Blockly.browserEvents.mouseToSvg
|
|
254
|
-
*/
|
|
255
|
-
export function mouseToSvg(
|
|
256
|
-
e: MouseEvent, svg: SVGSVGElement, matrix: SVGMatrix|null): SVGPoint {
|
|
257
|
-
const svgPoint = svg.createSVGPoint();
|
|
258
|
-
svgPoint.x = e.clientX;
|
|
259
|
-
svgPoint.y = e.clientY;
|
|
260
|
-
|
|
261
|
-
if (!matrix) {
|
|
262
|
-
matrix = svg.getScreenCTM()!.inverse();
|
|
263
|
-
}
|
|
264
|
-
return svgPoint.matrixTransform(matrix);
|
|
265
|
-
}
|
|
266
|
-
|
|
267
|
-
/**
|
|
268
|
-
* Returns the scroll delta of a mouse event in pixel units.
|
|
269
|
-
* @param e Mouse event.
|
|
270
|
-
* @return Scroll delta object with .x and .y properties.
|
|
271
|
-
* @alias Blockly.browserEvents.getScrollDeltaPixels
|
|
272
|
-
*/
|
|
273
|
-
export function getScrollDeltaPixels(e: WheelEvent): {x: number, y: number} {
|
|
274
|
-
switch (e.deltaMode) {
|
|
275
|
-
case 0x00: // Pixel mode.
|
|
276
|
-
default:
|
|
277
|
-
return {x: e.deltaX, y: e.deltaY};
|
|
278
|
-
case 0x01: // Line mode.
|
|
279
|
-
return {
|
|
280
|
-
x: e.deltaX * LINE_MODE_MULTIPLIER,
|
|
281
|
-
y: e.deltaY * LINE_MODE_MULTIPLIER,
|
|
282
|
-
};
|
|
283
|
-
case 0x02: // Page mode.
|
|
284
|
-
return {
|
|
285
|
-
x: e.deltaX * PAGE_MODE_MULTIPLIER,
|
|
286
|
-
y: e.deltaY * PAGE_MODE_MULTIPLIER,
|
|
287
|
-
};
|
|
288
|
-
}
|
|
289
|
-
}
|