blockly 12.4.0 → 12.5.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 +2751 -0
- package/blockly.mjs +163 -0
- package/blockly_compressed.js +1825 -0
- package/blockly_compressed.js.map +1 -0
- package/blocks.js +4 -0
- package/blocks.mjs +12 -0
- package/blocks_compressed.js +194 -0
- package/blocks_compressed.js.map +1 -0
- package/core/any_aliases.d.ts +7 -0
- package/core/block.d.ts +1006 -0
- package/core/block_animations.d.ts +34 -0
- package/core/block_flyout_inflater.d.ts +94 -0
- package/core/block_svg.d.ts +737 -0
- package/core/blockly.d.ts +286 -0
- package/core/blockly_options.d.ts +70 -0
- package/core/blocks.d.ts +17 -0
- package/core/browser_events.d.ts +88 -0
- package/core/bubbles/bubble.d.ts +228 -0
- package/core/bubbles/mini_workspace_bubble.d.ts +84 -0
- package/core/bubbles/text_bubble.d.ts +38 -0
- package/core/bubbles/textinput_bubble.d.ts +102 -0
- package/core/bubbles.d.ts +11 -0
- package/core/bump_objects.d.ts +37 -0
- package/core/button_flyout_inflater.d.ts +42 -0
- package/core/clipboard/block_paster.d.ts +34 -0
- package/core/clipboard/registry.d.ts +21 -0
- package/core/clipboard/workspace_comment_paster.d.ts +19 -0
- package/core/clipboard.d.ts +103 -0
- package/core/comments/collapse_comment_bar_button.d.ts +52 -0
- package/core/comments/comment_bar_button.d.ts +62 -0
- package/core/comments/comment_editor.d.ts +62 -0
- package/core/comments/comment_view.d.ts +213 -0
- package/core/comments/delete_comment_bar_button.d.ts +52 -0
- package/core/comments/rendered_workspace_comment.d.ts +121 -0
- package/core/comments/workspace_comment.d.ts +107 -0
- package/core/comments.d.ts +13 -0
- package/core/common.d.ts +163 -0
- package/core/component_manager.d.ts +112 -0
- package/core/config.d.ts +24 -0
- package/core/connection.d.ts +291 -0
- package/core/connection_checker.d.ts +85 -0
- package/core/connection_db.d.ts +100 -0
- package/core/connection_type.d.ts +15 -0
- package/core/constants.d.ts +19 -0
- package/core/contextmenu.d.ts +58 -0
- package/core/contextmenu_items.d.ts +73 -0
- package/core/contextmenu_registry.d.ts +173 -0
- package/core/css.d.ts +25 -0
- package/core/delete_area.d.ts +48 -0
- package/core/dialog.d.ts +82 -0
- package/core/drag_target.d.ts +75 -0
- package/core/dragging/block_drag_strategy.d.ts +130 -0
- package/core/dragging/bubble_drag_strategy.d.ts +20 -0
- package/core/dragging/comment_drag_strategy.d.ts +26 -0
- package/core/dragging/dragger.d.ts +49 -0
- package/core/dragging.d.ts +11 -0
- package/core/dropdowndiv.d.ts +208 -0
- package/core/events/events.d.ts +72 -0
- package/core/events/events_abstract.d.ts +72 -0
- package/core/events/events_block_base.d.ts +46 -0
- package/core/events/events_block_change.d.ts +100 -0
- package/core/events/events_block_create.d.ts +59 -0
- package/core/events/events_block_delete.d.ts +62 -0
- package/core/events/events_block_drag.d.ts +61 -0
- package/core/events/events_block_field_intermediate_change.d.ts +71 -0
- package/core/events/events_block_move.d.ts +115 -0
- package/core/events/events_bubble_open.d.ts +62 -0
- package/core/events/events_click.d.ts +64 -0
- package/core/events/events_comment_base.d.ts +55 -0
- package/core/events/events_comment_change.d.ts +64 -0
- package/core/events/events_comment_collapse.d.ts +40 -0
- package/core/events/events_comment_create.d.ts +57 -0
- package/core/events/events_comment_delete.d.ts +57 -0
- package/core/events/events_comment_drag.d.ts +51 -0
- package/core/events/events_comment_move.d.ts +93 -0
- package/core/events/events_comment_resize.d.ts +68 -0
- package/core/events/events_selected.d.ts +53 -0
- package/core/events/events_theme_change.d.ts +43 -0
- package/core/events/events_toolbox_item_select.d.ts +49 -0
- package/core/events/events_trashcan_open.d.ts +47 -0
- package/core/events/events_ui_base.d.ts +32 -0
- package/core/events/events_var_base.d.ts +46 -0
- package/core/events/events_var_create.d.ts +55 -0
- package/core/events/events_var_delete.d.ts +50 -0
- package/core/events/events_var_rename.d.ts +51 -0
- package/core/events/events_var_type_change.d.ts +55 -0
- package/core/events/events_viewport.d.ts +67 -0
- package/core/events/predicates.d.ts +87 -0
- package/core/events/type.d.ts +81 -0
- package/core/events/utils.d.ts +211 -0
- package/core/events/workspace_events.d.ts +23 -0
- package/core/extensions.d.ts +99 -0
- package/core/field.d.ts +724 -0
- package/core/field_checkbox.d.ts +156 -0
- package/core/field_dropdown.d.ts +295 -0
- package/core/field_image.d.ts +148 -0
- package/core/field_input.d.ts +293 -0
- package/core/field_label.d.ts +80 -0
- package/core/field_label_serializable.d.ts +50 -0
- package/core/field_number.d.ts +194 -0
- package/core/field_registry.d.ts +83 -0
- package/core/field_textinput.d.ts +78 -0
- package/core/field_variable.d.ts +261 -0
- package/core/flyout_base.d.ts +453 -0
- package/core/flyout_button.d.ts +140 -0
- package/core/flyout_horizontal.d.ts +87 -0
- package/core/flyout_item.d.ts +26 -0
- package/core/flyout_metrics_manager.d.ts +46 -0
- package/core/flyout_navigator.d.ts +11 -0
- package/core/flyout_separator.d.ts +64 -0
- package/core/flyout_vertical.d.ts +88 -0
- package/core/focus_manager.d.ts +266 -0
- package/core/generator.d.ts +279 -0
- package/core/gesture.d.ts +449 -0
- package/core/grid.d.ts +124 -0
- package/core/icons/comment_icon.d.ts +134 -0
- package/core/icons/exceptions.d.ts +17 -0
- package/core/icons/icon.d.ts +84 -0
- package/core/icons/icon_types.d.ts +25 -0
- package/core/icons/mutator_icon.d.ts +96 -0
- package/core/icons/registry.d.ts +23 -0
- package/core/icons/warning_icon.d.ts +77 -0
- package/core/icons.d.ts +14 -0
- package/core/inject.d.ts +16 -0
- package/core/inputs/align.d.ts +14 -0
- package/core/inputs/dummy_input.d.ts +20 -0
- package/core/inputs/end_row_input.d.ts +25 -0
- package/core/inputs/input.d.ts +147 -0
- package/core/inputs/input_types.d.ts +16 -0
- package/core/inputs/statement_input.d.ts +22 -0
- package/core/inputs/value_input.d.ts +20 -0
- package/core/inputs.d.ts +14 -0
- package/core/insertion_marker_previewer.d.ts +67 -0
- package/core/interfaces/i_autohideable.d.ts +21 -0
- package/core/interfaces/i_bounded_element.d.ts +27 -0
- package/core/interfaces/i_bubble.d.ts +55 -0
- package/core/interfaces/i_collapsible_toolbox_item.d.ts +28 -0
- package/core/interfaces/i_comment_icon.d.ts +24 -0
- package/core/interfaces/i_component.d.ts +17 -0
- package/core/interfaces/i_connection_checker.d.ts +75 -0
- package/core/interfaces/i_connection_previewer.d.ts +39 -0
- package/core/interfaces/i_contextmenu.d.ts +16 -0
- package/core/interfaces/i_copyable.d.ts +30 -0
- package/core/interfaces/i_deletable.d.ts +23 -0
- package/core/interfaces/i_delete_area.d.ts +25 -0
- package/core/interfaces/i_drag_target.d.ts +59 -0
- package/core/interfaces/i_draggable.d.ts +56 -0
- package/core/interfaces/i_dragger.d.ts +32 -0
- package/core/interfaces/i_flyout.d.ts +159 -0
- package/core/interfaces/i_flyout_inflater.d.ts +48 -0
- package/core/interfaces/i_focusable_node.d.ts +105 -0
- package/core/interfaces/i_focusable_tree.d.ts +125 -0
- package/core/interfaces/i_has_bubble.d.ts +27 -0
- package/core/interfaces/i_icon.d.ts +84 -0
- package/core/interfaces/i_keyboard_accessible.d.ts +19 -0
- package/core/interfaces/i_legacy_procedure_blocks.d.ts +34 -0
- package/core/interfaces/i_metrics_manager.d.ts +129 -0
- package/core/interfaces/i_movable.d.ts +17 -0
- package/core/interfaces/i_navigation_policy.d.ts +63 -0
- package/core/interfaces/i_observable.d.ts +21 -0
- package/core/interfaces/i_parameter_model.d.ts +44 -0
- package/core/interfaces/i_paster.d.ts +15 -0
- package/core/interfaces/i_positionable.d.ts +29 -0
- package/core/interfaces/i_procedure_block.d.ts +16 -0
- package/core/interfaces/i_procedure_map.d.ts +16 -0
- package/core/interfaces/i_procedure_model.d.ts +59 -0
- package/core/interfaces/i_registrable.d.ts +11 -0
- package/core/interfaces/i_rendered_element.d.ts +16 -0
- package/core/interfaces/i_selectable.d.ts +26 -0
- package/core/interfaces/i_selectable_toolbox_item.d.ts +51 -0
- package/core/interfaces/i_serializable.d.ts +24 -0
- package/core/interfaces/i_serializer.d.ts +45 -0
- package/core/interfaces/i_styleable.d.ts +23 -0
- package/core/interfaces/i_toolbox.d.ts +102 -0
- package/core/interfaces/i_toolbox_item.d.ts +71 -0
- package/core/interfaces/i_variable_backed_parameter_model.d.ts +17 -0
- package/core/interfaces/i_variable_map.d.ts +48 -0
- package/core/interfaces/i_variable_model.d.ts +36 -0
- package/core/internal_constants.d.ts +34 -0
- package/core/keyboard_nav/block_comment_navigation_policy.d.ts +56 -0
- package/core/keyboard_nav/block_navigation_policy.d.ts +84 -0
- package/core/keyboard_nav/comment_bar_button_navigation_policy.d.ts +56 -0
- package/core/keyboard_nav/comment_editor_navigation_policy.d.ts +34 -0
- package/core/keyboard_nav/connection_navigation_policy.d.ts +67 -0
- package/core/keyboard_nav/field_navigation_policy.d.ts +56 -0
- package/core/keyboard_nav/flyout_button_navigation_policy.d.ts +56 -0
- package/core/keyboard_nav/flyout_navigation_policy.d.ts +65 -0
- package/core/keyboard_nav/flyout_separator_navigation_policy.d.ts +33 -0
- package/core/keyboard_nav/icon_navigation_policy.d.ts +56 -0
- package/core/keyboard_nav/line_cursor.d.ts +187 -0
- package/core/keyboard_nav/marker.d.ts +53 -0
- package/core/keyboard_nav/workspace_comment_navigation_policy.d.ts +56 -0
- package/core/keyboard_nav/workspace_navigation_policy.d.ts +56 -0
- package/core/keyboard_navigation_controller.d.ts +48 -0
- package/core/label_flyout_inflater.d.ts +42 -0
- package/core/layer_manager.d.ts +101 -0
- package/core/layers.d.ts +16 -0
- package/core/main.d.ts +7 -0
- package/core/marker_manager.d.ts +72 -0
- package/core/menu.d.ts +170 -0
- package/core/menu_separator.d.ts +25 -0
- package/core/menuitem.d.ts +147 -0
- package/core/metrics_manager.d.ts +221 -0
- package/core/msg.d.ts +24 -0
- package/core/names.d.ts +139 -0
- package/core/navigator.d.ts +65 -0
- package/core/observable_procedure_map.d.ts +34 -0
- package/core/options.d.ts +148 -0
- package/core/positionable_helpers.d.ts +89 -0
- package/core/procedures.d.ts +108 -0
- package/core/registry.d.ts +158 -0
- package/core/render_management.d.ts +34 -0
- package/core/rendered_connection.d.ts +262 -0
- package/core/renderers/common/block_rendering.d.ts +63 -0
- package/core/renderers/common/constants.d.ts +454 -0
- package/core/renderers/common/drawer.d.ts +156 -0
- package/core/renderers/common/i_path_object.d.ts +88 -0
- package/core/renderers/common/info.d.ts +201 -0
- package/core/renderers/common/path_object.d.ts +130 -0
- package/core/renderers/common/renderer.d.ts +141 -0
- package/core/renderers/geras/constants.d.ts +22 -0
- package/core/renderers/geras/drawer.d.ts +44 -0
- package/core/renderers/geras/geras.d.ts +17 -0
- package/core/renderers/geras/highlight_constants.d.ts +100 -0
- package/core/renderers/geras/highlighter.d.ts +96 -0
- package/core/renderers/geras/info.d.ts +45 -0
- package/core/renderers/geras/measurables/inline_input.d.ts +22 -0
- package/core/renderers/geras/measurables/statement_input.d.ts +22 -0
- package/core/renderers/geras/path_object.d.ts +42 -0
- package/core/renderers/geras/renderer.d.ts +77 -0
- package/core/renderers/measurables/base.d.ts +26 -0
- package/core/renderers/measurables/bottom_row.d.ts +58 -0
- package/core/renderers/measurables/connection.d.ts +25 -0
- package/core/renderers/measurables/external_value_input.d.ts +25 -0
- package/core/renderers/measurables/field.d.ts +28 -0
- package/core/renderers/measurables/hat.d.ts +19 -0
- package/core/renderers/measurables/icon.d.ts +25 -0
- package/core/renderers/measurables/in_row_spacer.d.ts +20 -0
- package/core/renderers/measurables/inline_input.d.ts +22 -0
- package/core/renderers/measurables/input_connection.d.ts +28 -0
- package/core/renderers/measurables/input_row.d.ts +26 -0
- package/core/renderers/measurables/jagged_edge.d.ts +19 -0
- package/core/renderers/measurables/next_connection.d.ts +22 -0
- package/core/renderers/measurables/output_connection.d.ts +24 -0
- package/core/renderers/measurables/previous_connection.d.ts +22 -0
- package/core/renderers/measurables/round_corner.d.ts +20 -0
- package/core/renderers/measurables/row.d.ts +124 -0
- package/core/renderers/measurables/spacer_row.d.ts +27 -0
- package/core/renderers/measurables/square_corner.d.ts +20 -0
- package/core/renderers/measurables/statement_input.d.ts +21 -0
- package/core/renderers/measurables/top_row.d.ts +53 -0
- package/core/renderers/measurables/types.d.ts +258 -0
- package/core/renderers/thrasos/info.d.ts +37 -0
- package/core/renderers/thrasos/renderer.d.ts +28 -0
- package/core/renderers/thrasos/thrasos.d.ts +10 -0
- package/core/renderers/zelos/constants.d.ts +165 -0
- package/core/renderers/zelos/drawer.d.ts +51 -0
- package/core/renderers/zelos/info.d.ts +89 -0
- package/core/renderers/zelos/measurables/bottom_row.d.ts +26 -0
- package/core/renderers/zelos/measurables/inputs.d.ts +21 -0
- package/core/renderers/zelos/measurables/row_elements.d.ts +20 -0
- package/core/renderers/zelos/measurables/top_row.d.ts +28 -0
- package/core/renderers/zelos/path_object.d.ts +76 -0
- package/core/renderers/zelos/renderer.d.ts +64 -0
- package/core/renderers/zelos/zelos.d.ts +17 -0
- package/core/scrollbar.d.ts +348 -0
- package/core/scrollbar_pair.d.ts +121 -0
- package/core/separator_flyout_inflater.d.ts +57 -0
- package/core/serialization/blocks.d.ts +138 -0
- package/core/serialization/exceptions.d.ts +81 -0
- package/core/serialization/priorities.d.ts +20 -0
- package/core/serialization/procedures.d.ts +97 -0
- package/core/serialization/registry.d.ts +21 -0
- package/core/serialization/variables.d.ts +38 -0
- package/core/serialization/workspace_comments.d.ts +45 -0
- package/core/serialization/workspaces.d.ts +29 -0
- package/core/serialization.d.ts +19 -0
- package/core/shortcut_items.d.ts +59 -0
- package/core/shortcut_registry.d.ts +236 -0
- package/core/sprites.d.ts +15 -0
- package/core/theme/classic.d.ts +12 -0
- package/core/theme/themes.d.ts +9 -0
- package/core/theme/zelos.d.ts +11 -0
- package/core/theme.d.ts +151 -0
- package/core/theme_manager.d.ts +92 -0
- package/core/toast.d.ts +74 -0
- package/core/toolbox/category.d.ts +265 -0
- package/core/toolbox/collapsible_category.d.ts +99 -0
- package/core/toolbox/separator.d.ts +40 -0
- package/core/toolbox/toolbox.d.ts +419 -0
- package/core/toolbox/toolbox_item.d.ts +109 -0
- package/core/tooltip.d.ts +118 -0
- package/core/touch.d.ts +72 -0
- package/core/trashcan.d.ts +212 -0
- package/core/utils/aria.d.ts +69 -0
- package/core/utils/array.d.ts +15 -0
- package/core/utils/colour.d.ts +102 -0
- package/core/utils/coordinate.d.ts +87 -0
- package/core/utils/deprecation.d.ts +18 -0
- package/core/utils/dom.d.ts +154 -0
- package/core/utils/drag.d.ts +33 -0
- package/core/utils/focusable_tree_traverser.d.ts +53 -0
- package/core/utils/idgenerator.d.ts +33 -0
- package/core/utils/keycodes.d.ts +137 -0
- package/core/utils/math.d.ts +31 -0
- package/core/utils/metrics.d.ts +64 -0
- package/core/utils/object.d.ts +17 -0
- package/core/utils/parsing.d.ts +52 -0
- package/core/utils/rect.d.ts +82 -0
- package/core/utils/size.d.ts +44 -0
- package/core/utils/string.d.ts +46 -0
- package/core/utils/style.d.ts +89 -0
- package/core/utils/svg.d.ts +75 -0
- package/core/utils/svg_math.d.ts +64 -0
- package/core/utils/svg_paths.d.ts +103 -0
- package/core/utils/toolbox.d.ts +180 -0
- package/core/utils/useragent.d.ts +14 -0
- package/core/utils/xml.d.ts +96 -0
- package/core/utils.d.ts +31 -0
- package/core/variable_map.d.ts +164 -0
- package/core/variable_model.d.ts +73 -0
- package/core/variables.d.ts +238 -0
- package/core/variables_dynamic.d.ts +56 -0
- package/core/widgetdiv.d.ts +87 -0
- package/core/workspace.d.ts +482 -0
- package/core/workspace_audio.d.ts +62 -0
- package/core/workspace_dragger.d.ts +48 -0
- package/core/workspace_svg.d.ts +1103 -0
- package/core/xml.d.ts +127 -0
- package/core/zoom_controls.d.ts +134 -0
- package/core.js +4 -0
- package/dart.js +4 -0
- package/dart.mjs +6 -0
- package/dart_compressed.js +330 -0
- package/dart_compressed.js.map +1 -0
- package/generators/dart/dart_generator.d.ts +104 -0
- package/generators/dart/lists.d.ts +21 -0
- package/generators/dart/logic.d.ts +20 -0
- package/generators/dart/loops.d.ts +14 -0
- package/generators/dart/math.d.ts +26 -0
- package/generators/dart/procedures.d.ts +14 -0
- package/generators/dart/text.d.ts +25 -0
- package/generators/dart/variables.d.ts +14 -0
- package/generators/dart/variables_dynamic.d.ts +10 -0
- package/generators/dart.d.ts +18 -0
- package/generators/javascript/javascript_generator.d.ts +123 -0
- package/generators/javascript/lists.d.ts +21 -0
- package/generators/javascript/logic.d.ts +20 -0
- package/generators/javascript/loops.d.ts +14 -0
- package/generators/javascript/math.d.ts +26 -0
- package/generators/javascript/procedures.d.ts +14 -0
- package/generators/javascript/text.d.ts +25 -0
- package/generators/javascript/variables.d.ts +14 -0
- package/generators/javascript/variables_dynamic.d.ts +10 -0
- package/generators/javascript.d.ts +18 -0
- package/generators/lua/lists.d.ts +21 -0
- package/generators/lua/logic.d.ts +20 -0
- package/generators/lua/loops.d.ts +14 -0
- package/generators/lua/lua_generator.d.ts +91 -0
- package/generators/lua/math.d.ts +26 -0
- package/generators/lua/procedures.d.ts +14 -0
- package/generators/lua/text.d.ts +25 -0
- package/generators/lua/variables.d.ts +14 -0
- package/generators/lua/variables_dynamic.d.ts +10 -0
- package/generators/lua.d.ts +12 -0
- package/generators/php/lists.d.ts +21 -0
- package/generators/php/logic.d.ts +20 -0
- package/generators/php/loops.d.ts +14 -0
- package/generators/php/math.d.ts +26 -0
- package/generators/php/php_generator.d.ts +122 -0
- package/generators/php/procedures.d.ts +14 -0
- package/generators/php/text.d.ts +25 -0
- package/generators/php/variables.d.ts +14 -0
- package/generators/php/variables_dynamic.d.ts +10 -0
- package/generators/php.d.ts +13 -0
- package/generators/python/lists.d.ts +21 -0
- package/generators/python/logic.d.ts +20 -0
- package/generators/python/loops.d.ts +14 -0
- package/generators/python/math.d.ts +26 -0
- package/generators/python/procedures.d.ts +14 -0
- package/generators/python/python_generator.d.ts +111 -0
- package/generators/python/text.d.ts +25 -0
- package/generators/python/variables.d.ts +14 -0
- package/generators/python/variables_dynamic.d.ts +10 -0
- package/generators/python.d.ts +13 -0
- package/index.js +36 -0
- package/index.mjs +163 -0
- package/javascript.js +4 -0
- package/javascript.mjs +6 -0
- package/javascript_compressed.js +264 -0
- package/javascript_compressed.js.map +1 -0
- package/lua.js +4 -0
- package/lua.mjs +6 -0
- package/lua_compressed.js +373 -0
- package/lua_compressed.js.map +1 -0
- package/msg/ab.js +465 -0
- package/msg/ab.mjs +446 -0
- package/msg/ace.js +465 -0
- package/msg/ace.mjs +446 -0
- package/msg/af.js +465 -0
- package/msg/af.mjs +446 -0
- package/msg/am.js +465 -0
- package/msg/am.mjs +446 -0
- package/msg/ar.js +465 -0
- package/msg/ar.mjs +446 -0
- package/msg/ast.js +465 -0
- package/msg/ast.mjs +446 -0
- package/msg/az.js +465 -0
- package/msg/az.mjs +446 -0
- package/msg/ba.js +465 -0
- package/msg/ba.mjs +446 -0
- package/msg/bcc.js +465 -0
- package/msg/bcc.mjs +446 -0
- package/msg/be-tarask.js +465 -0
- package/msg/be-tarask.mjs +446 -0
- package/msg/be.js +465 -0
- package/msg/be.mjs +446 -0
- package/msg/bg.js +465 -0
- package/msg/bg.mjs +446 -0
- package/msg/bn.js +465 -0
- package/msg/bn.mjs +446 -0
- package/msg/br.js +465 -0
- package/msg/br.mjs +446 -0
- package/msg/bs.js +465 -0
- package/msg/bs.mjs +446 -0
- package/msg/ca.js +465 -0
- package/msg/ca.mjs +446 -0
- package/msg/cdo.js +465 -0
- package/msg/cdo.mjs +446 -0
- package/msg/ce.js +465 -0
- package/msg/ce.mjs +446 -0
- package/msg/cs.js +465 -0
- package/msg/cs.mjs +446 -0
- package/msg/da.js +465 -0
- package/msg/da.mjs +446 -0
- package/msg/de.js +465 -0
- package/msg/de.mjs +446 -0
- package/msg/diq.js +465 -0
- package/msg/diq.mjs +446 -0
- package/msg/dtp.js +465 -0
- package/msg/dtp.mjs +446 -0
- package/msg/dty.js +465 -0
- package/msg/dty.mjs +446 -0
- package/msg/ee.js +465 -0
- package/msg/ee.mjs +446 -0
- package/msg/el.js +465 -0
- package/msg/el.mjs +446 -0
- package/msg/en-gb.js +465 -0
- package/msg/en-gb.mjs +446 -0
- package/msg/en.js +465 -0
- package/msg/en.mjs +446 -0
- package/msg/eo.js +465 -0
- package/msg/eo.mjs +446 -0
- package/msg/es.js +465 -0
- package/msg/es.mjs +446 -0
- package/msg/et.js +465 -0
- package/msg/et.mjs +446 -0
- package/msg/eu.js +465 -0
- package/msg/eu.mjs +446 -0
- package/msg/fa.js +465 -0
- package/msg/fa.mjs +446 -0
- package/msg/fi.js +465 -0
- package/msg/fi.mjs +446 -0
- package/msg/fo.js +465 -0
- package/msg/fo.mjs +446 -0
- package/msg/fr.js +465 -0
- package/msg/fr.mjs +446 -0
- package/msg/frr.js +465 -0
- package/msg/frr.mjs +446 -0
- package/msg/gl.js +465 -0
- package/msg/gl.mjs +446 -0
- package/msg/gn.js +465 -0
- package/msg/gn.mjs +446 -0
- package/msg/gor.js +465 -0
- package/msg/gor.mjs +446 -0
- package/msg/ha.js +465 -0
- package/msg/ha.mjs +446 -0
- package/msg/hak.js +465 -0
- package/msg/hak.mjs +446 -0
- package/msg/he.js +465 -0
- package/msg/he.mjs +446 -0
- package/msg/hi.js +465 -0
- package/msg/hi.mjs +446 -0
- package/msg/hr.js +465 -0
- package/msg/hr.mjs +446 -0
- package/msg/hrx.js +465 -0
- package/msg/hrx.mjs +446 -0
- package/msg/hsb.js +465 -0
- package/msg/hsb.mjs +446 -0
- package/msg/hu.js +465 -0
- package/msg/hu.mjs +446 -0
- package/msg/hy.js +465 -0
- package/msg/hy.mjs +446 -0
- package/msg/ia.js +465 -0
- package/msg/ia.mjs +446 -0
- package/msg/id.js +465 -0
- package/msg/id.mjs +446 -0
- package/msg/ig.js +465 -0
- package/msg/ig.mjs +446 -0
- package/msg/inh.js +465 -0
- package/msg/inh.mjs +446 -0
- package/msg/is.js +465 -0
- package/msg/is.mjs +446 -0
- package/msg/it.js +465 -0
- package/msg/it.mjs +446 -0
- package/msg/ja.js +465 -0
- package/msg/ja.mjs +446 -0
- package/msg/ka.js +465 -0
- package/msg/ka.mjs +446 -0
- package/msg/kab.js +465 -0
- package/msg/kab.mjs +446 -0
- package/msg/kbd-cyrl.js +465 -0
- package/msg/kbd-cyrl.mjs +446 -0
- package/msg/km.js +465 -0
- package/msg/km.mjs +446 -0
- package/msg/kn.js +465 -0
- package/msg/kn.mjs +446 -0
- package/msg/ko.js +465 -0
- package/msg/ko.mjs +446 -0
- package/msg/ksh.js +465 -0
- package/msg/ksh.mjs +446 -0
- package/msg/ku-latn.js +465 -0
- package/msg/ku-latn.mjs +446 -0
- package/msg/ky.js +465 -0
- package/msg/ky.mjs +446 -0
- package/msg/la.js +465 -0
- package/msg/la.mjs +446 -0
- package/msg/lb.js +465 -0
- package/msg/lb.mjs +446 -0
- package/msg/lki.js +465 -0
- package/msg/lki.mjs +446 -0
- package/msg/lo.js +465 -0
- package/msg/lo.mjs +446 -0
- package/msg/lrc.js +465 -0
- package/msg/lrc.mjs +446 -0
- package/msg/lt.js +465 -0
- package/msg/lt.mjs +446 -0
- package/msg/lv.js +465 -0
- package/msg/lv.mjs +446 -0
- package/msg/mg.js +465 -0
- package/msg/mg.mjs +446 -0
- package/msg/mk.js +465 -0
- package/msg/mk.mjs +446 -0
- package/msg/ml.js +465 -0
- package/msg/ml.mjs +446 -0
- package/msg/mnw.js +465 -0
- package/msg/mnw.mjs +446 -0
- package/msg/ms.js +465 -0
- package/msg/ms.mjs +446 -0
- package/msg/my.js +465 -0
- package/msg/my.mjs +446 -0
- package/msg/mzn.js +465 -0
- package/msg/mzn.mjs +446 -0
- package/msg/nb.js +465 -0
- package/msg/nb.mjs +446 -0
- package/msg/ne.js +465 -0
- package/msg/ne.mjs +446 -0
- package/msg/nl.js +465 -0
- package/msg/nl.mjs +446 -0
- package/msg/oc.js +465 -0
- package/msg/oc.mjs +446 -0
- package/msg/olo.js +465 -0
- package/msg/olo.mjs +446 -0
- package/msg/pa.js +465 -0
- package/msg/pa.mjs +446 -0
- package/msg/pl.js +465 -0
- package/msg/pl.mjs +446 -0
- package/msg/pms.js +465 -0
- package/msg/pms.mjs +446 -0
- package/msg/ps.js +465 -0
- package/msg/ps.mjs +446 -0
- package/msg/pt-br.js +465 -0
- package/msg/pt-br.mjs +446 -0
- package/msg/pt.js +465 -0
- package/msg/pt.mjs +446 -0
- package/msg/ro.js +465 -0
- package/msg/ro.mjs +446 -0
- package/msg/ru.js +465 -0
- package/msg/ru.mjs +446 -0
- package/msg/sc.js +465 -0
- package/msg/sc.mjs +446 -0
- package/msg/sco.js +465 -0
- package/msg/sco.mjs +446 -0
- package/msg/sd.js +465 -0
- package/msg/sd.mjs +446 -0
- package/msg/shn.js +465 -0
- package/msg/shn.mjs +446 -0
- package/msg/si.js +465 -0
- package/msg/si.mjs +446 -0
- package/msg/sk.js +465 -0
- package/msg/sk.mjs +446 -0
- package/msg/skr-arab.js +465 -0
- package/msg/skr-arab.mjs +446 -0
- package/msg/sl.js +465 -0
- package/msg/sl.mjs +446 -0
- package/msg/smn.js +465 -0
- package/msg/smn.mjs +446 -0
- package/msg/sq.js +465 -0
- package/msg/sq.mjs +446 -0
- package/msg/sr-latn.js +465 -0
- package/msg/sr-latn.mjs +446 -0
- package/msg/sr.js +465 -0
- package/msg/sr.mjs +446 -0
- package/msg/sv.js +465 -0
- package/msg/sv.mjs +446 -0
- package/msg/sw.js +465 -0
- package/msg/sw.mjs +446 -0
- package/msg/ta.js +465 -0
- package/msg/ta.mjs +446 -0
- package/msg/tcy.js +465 -0
- package/msg/tcy.mjs +446 -0
- package/msg/tdd.js +465 -0
- package/msg/tdd.mjs +446 -0
- package/msg/te.js +465 -0
- package/msg/te.mjs +446 -0
- package/msg/th.js +465 -0
- package/msg/th.mjs +446 -0
- package/msg/ti.js +465 -0
- package/msg/ti.mjs +446 -0
- package/msg/tl.js +465 -0
- package/msg/tl.mjs +446 -0
- package/msg/tlh.js +465 -0
- package/msg/tlh.mjs +446 -0
- package/msg/tr.js +465 -0
- package/msg/tr.mjs +446 -0
- package/msg/ug-arab.js +465 -0
- package/msg/ug-arab.mjs +446 -0
- package/msg/uk.js +465 -0
- package/msg/uk.mjs +446 -0
- package/msg/ur.js +465 -0
- package/msg/ur.mjs +446 -0
- package/msg/uz.js +465 -0
- package/msg/uz.mjs +446 -0
- package/msg/vi.js +465 -0
- package/msg/vi.mjs +446 -0
- package/msg/xmf.js +465 -0
- package/msg/xmf.mjs +446 -0
- package/msg/yo.js +465 -0
- package/msg/yo.mjs +446 -0
- package/msg/zgh.js +465 -0
- package/msg/zgh.mjs +446 -0
- package/msg/zh-hans.js +465 -0
- package/msg/zh-hans.mjs +446 -0
- package/msg/zh-hant.js +465 -0
- package/msg/zh-hant.mjs +446 -0
- package/package.json +8 -37
- package/php.js +4 -0
- package/php.mjs +6 -0
- package/php_compressed.js +283 -0
- package/php_compressed.js.map +1 -0
- package/python.js +4 -0
- package/python.mjs +6 -0
- package/python_compressed.js +208 -0
- package/python_compressed.js.map +1 -0
- package/.prettierignore +0 -30
- package/.prettierrc.js +0 -15
- package/api-extractor.json +0 -390
- package/appengine/.gcloudignore +0 -20
- package/appengine/README.txt +0 -42
- package/appengine/add_timestamps.py +0 -69
- package/appengine/app.yaml +0 -106
- package/appengine/apple-touch-icon.png +0 -0
- package/appengine/blockly_compressed.js +0 -11
- package/appengine/expiration.py +0 -52
- package/appengine/favicon.ico +0 -0
- package/appengine/index.yaml +0 -11
- package/appengine/main.py +0 -39
- package/appengine/redirect.html +0 -107
- package/appengine/requirements.txt +0 -1
- package/appengine/robots.txt +0 -2
- package/appengine/storage.js +0 -190
- package/appengine/storage.py +0 -125
- package/blocks/blocks.ts +0 -44
- package/blocks/lists.ts +0 -1065
- package/blocks/logic.ts +0 -712
- package/blocks/loops.ts +0 -408
- package/blocks/math.ts +0 -591
- package/blocks/procedures.ts +0 -1366
- package/blocks/text.ts +0 -1001
- package/blocks/variables.ts +0 -181
- package/blocks/variables_dynamic.ts +0 -192
- package/core/any_aliases.ts +0 -8
- package/core/block.ts +0 -2511
- package/core/block_animations.ts +0 -233
- package/core/block_flyout_inflater.ts +0 -283
- package/core/block_svg.ts +0 -1873
- package/core/blockly.ts +0 -644
- package/core/blockly_options.ts +0 -71
- package/core/blocks.ts +0 -18
- package/core/browser_events.ts +0 -256
- package/core/bubbles/bubble.ts +0 -732
- package/core/bubbles/mini_workspace_bubble.ts +0 -292
- package/core/bubbles/text_bubble.ts +0 -112
- package/core/bubbles/textinput_bubble.ts +0 -296
- package/core/bubbles.ts +0 -12
- package/core/bump_objects.ts +0 -188
- package/core/button_flyout_inflater.ts +0 -76
- package/core/clipboard/block_paster.ts +0 -154
- package/core/clipboard/registry.ts +0 -31
- package/core/clipboard/workspace_comment_paster.ts +0 -95
- package/core/clipboard.ts +0 -197
- package/core/comments/collapse_comment_bar_button.ts +0 -102
- package/core/comments/comment_bar_button.ts +0 -105
- package/core/comments/comment_editor.ts +0 -220
- package/core/comments/comment_view.ts +0 -773
- package/core/comments/delete_comment_bar_button.ts +0 -106
- package/core/comments/rendered_workspace_comment.ts +0 -361
- package/core/comments/workspace_comment.ts +0 -247
- package/core/comments.ts +0 -13
- package/core/common.ts +0 -347
- package/core/component_manager.ts +0 -247
- package/core/config.ts +0 -65
- package/core/connection.ts +0 -807
- package/core/connection_checker.ts +0 -348
- package/core/connection_db.ts +0 -297
- package/core/connection_type.ts +0 -21
- package/core/constants.ts +0 -23
- package/core/contextmenu.ts +0 -295
- package/core/contextmenu_items.ts +0 -684
- package/core/contextmenu_registry.ts +0 -278
- package/core/css.ts +0 -518
- package/core/delete_area.ts +0 -77
- package/core/dialog.ts +0 -167
- package/core/drag_target.ts +0 -97
- package/core/dragging/block_drag_strategy.ts +0 -523
- package/core/dragging/bubble_drag_strategy.ts +0 -49
- package/core/dragging/comment_drag_strategy.ts +0 -92
- package/core/dragging/dragger.ts +0 -174
- package/core/dragging.ts +0 -12
- package/core/dropdowndiv.ts +0 -792
- package/core/events/events.ts +0 -109
- package/core/events/events_abstract.ts +0 -129
- package/core/events/events_block_base.ts +0 -87
- package/core/events/events_block_change.ts +0 -259
- package/core/events/events_block_create.ts +0 -185
- package/core/events/events_block_delete.ts +0 -182
- package/core/events/events_block_drag.ts +0 -116
- package/core/events/events_block_field_intermediate_change.ts +0 -166
- package/core/events/events_block_move.ts +0 -306
- package/core/events/events_bubble_open.ts +0 -121
- package/core/events/events_click.ts +0 -110
- package/core/events/events_comment_base.ts +0 -126
- package/core/events/events_comment_change.ts +0 -156
- package/core/events/events_comment_collapse.ts +0 -103
- package/core/events/events_comment_create.ts +0 -114
- package/core/events/events_comment_delete.ts +0 -113
- package/core/events/events_comment_drag.ts +0 -99
- package/core/events/events_comment_move.ts +0 -206
- package/core/events/events_comment_resize.ts +0 -169
- package/core/events/events_selected.ts +0 -97
- package/core/events/events_theme_change.ts +0 -84
- package/core/events/events_toolbox_item_select.ts +0 -96
- package/core/events/events_trashcan_open.ts +0 -87
- package/core/events/events_ui_base.ts +0 -47
- package/core/events/events_var_base.ts +0 -88
- package/core/events/events_var_create.ts +0 -131
- package/core/events/events_var_delete.ts +0 -124
- package/core/events/events_var_rename.ts +0 -133
- package/core/events/events_var_type_change.ts +0 -122
- package/core/events/events_viewport.ts +0 -149
- package/core/events/predicates.ts +0 -166
- package/core/events/type.ts +0 -87
- package/core/events/utils.ts +0 -455
- package/core/events/workspace_events.ts +0 -46
- package/core/extensions.ts +0 -497
- package/core/field.ts +0 -1445
- package/core/field_checkbox.ts +0 -266
- package/core/field_dropdown.ts +0 -907
- package/core/field_image.ts +0 -307
- package/core/field_input.ts +0 -826
- package/core/field_label.ts +0 -150
- package/core/field_label_serializable.ts +0 -73
- package/core/field_number.ts +0 -381
- package/core/field_registry.ts +0 -115
- package/core/field_textinput.ts +0 -125
- package/core/field_variable.ts +0 -654
- package/core/flyout_base.ts +0 -1013
- package/core/flyout_button.ts +0 -447
- package/core/flyout_horizontal.ts +0 -375
- package/core/flyout_item.ts +0 -33
- package/core/flyout_metrics_manager.ts +0 -90
- package/core/flyout_navigator.ts +0 -24
- package/core/flyout_separator.ts +0 -94
- package/core/flyout_vertical.ts +0 -354
- package/core/focus_manager.ts +0 -675
- package/core/generator.ts +0 -611
- package/core/gesture.ts +0 -1190
- package/core/grid.ts +0 -267
- package/core/icons/comment_icon.ts +0 -429
- package/core/icons/exceptions.ts +0 -23
- package/core/icons/icon.ts +0 -204
- package/core/icons/icon_types.ts +0 -32
- package/core/icons/mutator_icon.ts +0 -360
- package/core/icons/registry.ts +0 -33
- package/core/icons/warning_icon.ts +0 -226
- package/core/icons.ts +0 -24
- package/core/inject.ts +0 -332
- package/core/inputs/align.ts +0 -14
- package/core/inputs/dummy_input.ts +0 -26
- package/core/inputs/end_row_input.ts +0 -31
- package/core/inputs/input.ts +0 -317
- package/core/inputs/input_types.ts +0 -27
- package/core/inputs/statement_input.ts +0 -34
- package/core/inputs/value_input.ts +0 -30
- package/core/inputs.ts +0 -23
- package/core/insertion_marker_previewer.ts +0 -268
- package/core/interfaces/i_autohideable.ts +0 -27
- package/core/interfaces/i_bounded_element.ts +0 -31
- package/core/interfaces/i_bubble.ts +0 -64
- package/core/interfaces/i_collapsible_toolbox_item.ts +0 -33
- package/core/interfaces/i_comment_icon.ts +0 -47
- package/core/interfaces/i_component.ts +0 -19
- package/core/interfaces/i_connection_checker.ts +0 -101
- package/core/interfaces/i_connection_previewer.ts +0 -50
- package/core/interfaces/i_contextmenu.ts +0 -21
- package/core/interfaces/i_copyable.ts +0 -39
- package/core/interfaces/i_deletable.ts +0 -35
- package/core/interfaces/i_delete_area.ts +0 -28
- package/core/interfaces/i_drag_target.ts +0 -67
- package/core/interfaces/i_draggable.ts +0 -73
- package/core/interfaces/i_dragger.ts +0 -35
- package/core/interfaces/i_flyout.ts +0 -190
- package/core/interfaces/i_flyout_inflater.ts +0 -51
- package/core/interfaces/i_focusable_node.ts +0 -120
- package/core/interfaces/i_focusable_tree.ts +0 -144
- package/core/interfaces/i_has_bubble.ts +0 -37
- package/core/interfaces/i_icon.ts +0 -116
- package/core/interfaces/i_keyboard_accessible.ts +0 -22
- package/core/interfaces/i_legacy_procedure_blocks.ts +0 -51
- package/core/interfaces/i_metrics_manager.ts +0 -150
- package/core/interfaces/i_movable.ts +0 -19
- package/core/interfaces/i_navigation_policy.ts +0 -69
- package/core/interfaces/i_observable.ts +0 -28
- package/core/interfaces/i_parameter_model.ts +0 -51
- package/core/interfaces/i_paster.ts +0 -25
- package/core/interfaces/i_positionable.ts +0 -33
- package/core/interfaces/i_procedure_block.ts +0 -29
- package/core/interfaces/i_procedure_map.ts +0 -18
- package/core/interfaces/i_procedure_model.ts +0 -71
- package/core/interfaces/i_registrable.ts +0 -12
- package/core/interfaces/i_rendered_element.ts +0 -19
- package/core/interfaces/i_selectable.ts +0 -41
- package/core/interfaces/i_selectable_toolbox_item.ts +0 -63
- package/core/interfaces/i_serializable.ts +0 -32
- package/core/interfaces/i_serializer.ts +0 -51
- package/core/interfaces/i_styleable.ts +0 -26
- package/core/interfaces/i_toolbox.ts +0 -121
- package/core/interfaces/i_toolbox_item.ts +0 -83
- package/core/interfaces/i_variable_backed_parameter_model.ts +0 -23
- package/core/interfaces/i_variable_map.ts +0 -65
- package/core/interfaces/i_variable_model.ts +0 -57
- package/core/internal_constants.ts +0 -47
- package/core/keyboard_nav/block_comment_navigation_policy.ts +0 -76
- package/core/keyboard_nav/block_navigation_policy.ts +0 -213
- package/core/keyboard_nav/comment_bar_button_navigation_policy.ts +0 -88
- package/core/keyboard_nav/comment_editor_navigation_policy.ts +0 -54
- package/core/keyboard_nav/connection_navigation_policy.ts +0 -155
- package/core/keyboard_nav/field_navigation_policy.ts +0 -85
- package/core/keyboard_nav/flyout_button_navigation_policy.ts +0 -76
- package/core/keyboard_nav/flyout_navigation_policy.ts +0 -111
- package/core/keyboard_nav/flyout_separator_navigation_policy.ts +0 -53
- package/core/keyboard_nav/icon_navigation_policy.ts +0 -93
- package/core/keyboard_nav/line_cursor.ts +0 -414
- package/core/keyboard_nav/marker.ts +0 -86
- package/core/keyboard_nav/workspace_comment_navigation_policy.ts +0 -77
- package/core/keyboard_nav/workspace_navigation_policy.ts +0 -77
- package/core/keyboard_navigation_controller.ts +0 -63
- package/core/label_flyout_inflater.ts +0 -75
- package/core/layer_manager.ts +0 -229
- package/core/layers.ts +0 -17
- package/core/main.ts +0 -31
- package/core/marker_manager.ts +0 -116
- package/core/menu.ts +0 -486
- package/core/menu_separator.ts +0 -38
- package/core/menuitem.ts +0 -289
- package/core/metrics_manager.ts +0 -486
- package/core/msg.ts +0 -27
- package/core/names.ts +0 -275
- package/core/navigator.ts +0 -123
- package/core/observable_procedure_map.ts +0 -66
- package/core/options.ts +0 -377
- package/core/positionable_helpers.ts +0 -186
- package/core/procedures.ts +0 -622
- package/core/registry.ts +0 -400
- package/core/render_management.ts +0 -193
- package/core/rendered_connection.ts +0 -690
- package/core/renderers/common/block_rendering.ts +0 -122
- package/core/renderers/common/constants.ts +0 -1226
- package/core/renderers/common/drawer.ts +0 -511
- package/core/renderers/common/i_path_object.ts +0 -109
- package/core/renderers/common/info.ts +0 -768
- package/core/renderers/common/path_object.ts +0 -260
- package/core/renderers/common/renderer.ts +0 -236
- package/core/renderers/geras/constants.ts +0 -42
- package/core/renderers/geras/drawer.ts +0 -166
- package/core/renderers/geras/geras.ts +0 -31
- package/core/renderers/geras/highlight_constants.ts +0 -342
- package/core/renderers/geras/highlighter.ts +0 -312
- package/core/renderers/geras/info.ts +0 -476
- package/core/renderers/geras/measurables/inline_input.ts +0 -36
- package/core/renderers/geras/measurables/statement_input.ts +0 -35
- package/core/renderers/geras/path_object.ts +0 -121
- package/core/renderers/geras/renderer.ts +0 -127
- package/core/renderers/measurables/base.ts +0 -40
- package/core/renderers/measurables/bottom_row.ts +0 -103
- package/core/renderers/measurables/connection.ts +0 -41
- package/core/renderers/measurables/external_value_input.ts +0 -51
- package/core/renderers/measurables/field.ts +0 -48
- package/core/renderers/measurables/hat.ts +0 -32
- package/core/renderers/measurables/icon.ts +0 -40
- package/core/renderers/measurables/in_row_spacer.ts +0 -36
- package/core/renderers/measurables/inline_input.ts +0 -61
- package/core/renderers/measurables/input_connection.ts +0 -56
- package/core/renderers/measurables/input_row.ts +0 -62
- package/core/renderers/measurables/jagged_edge.ts +0 -35
- package/core/renderers/measurables/next_connection.ts +0 -41
- package/core/renderers/measurables/output_connection.ts +0 -42
- package/core/renderers/measurables/previous_connection.ts +0 -41
- package/core/renderers/measurables/round_corner.ts +0 -41
- package/core/renderers/measurables/row.ts +0 -190
- package/core/renderers/measurables/spacer_row.ts +0 -43
- package/core/renderers/measurables/square_corner.ts +0 -39
- package/core/renderers/measurables/statement_input.ts +0 -47
- package/core/renderers/measurables/top_row.ts +0 -108
- package/core/renderers/measurables/types.ts +0 -362
- package/core/renderers/thrasos/info.ts +0 -327
- package/core/renderers/thrasos/renderer.ts +0 -39
- package/core/renderers/thrasos/thrasos.ts +0 -14
- package/core/renderers/zelos/constants.ts +0 -913
- package/core/renderers/zelos/drawer.ts +0 -272
- package/core/renderers/zelos/info.ts +0 -651
- package/core/renderers/zelos/measurables/bottom_row.ts +0 -44
- package/core/renderers/zelos/measurables/inputs.ts +0 -40
- package/core/renderers/zelos/measurables/row_elements.ts +0 -29
- package/core/renderers/zelos/measurables/top_row.ts +0 -50
- package/core/renderers/zelos/path_object.ts +0 -209
- package/core/renderers/zelos/renderer.ts +0 -91
- package/core/renderers/zelos/zelos.ts +0 -31
- package/core/scrollbar.ts +0 -898
- package/core/scrollbar_pair.ts +0 -349
- package/core/separator_flyout_inflater.ts +0 -83
- package/core/serialization/blocks.ts +0 -834
- package/core/serialization/exceptions.ts +0 -112
- package/core/serialization/priorities.ts +0 -25
- package/core/serialization/procedures.ts +0 -158
- package/core/serialization/registry.ts +0 -30
- package/core/serialization/variables.ts +0 -69
- package/core/serialization/workspace_comments.ts +0 -143
- package/core/serialization/workspaces.ts +0 -94
- package/core/serialization.ts +0 -32
- package/core/shortcut_items.ts +0 -405
- package/core/shortcut_registry.ts +0 -451
- package/core/sprites.ts +0 -15
- package/core/theme/classic.ts +0 -40
- package/core/theme/themes.ts +0 -12
- package/core/theme/zelos.ts +0 -80
- package/core/theme.ts +0 -232
- package/core/theme_manager.ts +0 -192
- package/core/toast.ts +0 -219
- package/core/toolbox/category.ts +0 -746
- package/core/toolbox/collapsible_category.ts +0 -287
- package/core/toolbox/separator.ts +0 -108
- package/core/toolbox/toolbox.ts +0 -1210
- package/core/toolbox/toolbox_item.ts +0 -181
- package/core/tooltip.ts +0 -466
- package/core/touch.ts +0 -155
- package/core/trashcan.ts +0 -730
- package/core/utils/aria.ts +0 -158
- package/core/utils/array.ts +0 -24
- package/core/utils/colour.ts +0 -265
- package/core/utils/coordinate.ts +0 -129
- package/core/utils/deprecation.ts +0 -47
- package/core/utils/dom.ts +0 -356
- package/core/utils/drag.ts +0 -74
- package/core/utils/focusable_tree_traverser.ts +0 -126
- package/core/utils/idgenerator.ts +0 -70
- package/core/utils/keycodes.ts +0 -154
- package/core/utils/math.ts +0 -50
- package/core/utils/metrics.ts +0 -86
- package/core/utils/object.ts +0 -33
- package/core/utils/parsing.ts +0 -286
- package/core/utils/rect.ts +0 -142
- package/core/utils/size.ts +0 -62
- package/core/utils/string.ts +0 -289
- package/core/utils/style.ts +0 -219
- package/core/utils/svg.ts +0 -84
- package/core/utils/svg_math.ts +0 -207
- package/core/utils/svg_paths.ts +0 -133
- package/core/utils/toolbox.ts +0 -417
- package/core/utils/useragent.ts +0 -86
- package/core/utils/xml.ts +0 -165
- package/core/utils.ts +0 -59
- package/core/variable_map.ts +0 -476
- package/core/variable_model.ts +0 -150
- package/core/variables.ts +0 -931
- package/core/variables_dynamic.ts +0 -230
- package/core/widgetdiv.ts +0 -349
- package/core/workspace.ts +0 -994
- package/core/workspace_audio.ts +0 -137
- package/core/workspace_dragger.ts +0 -81
- package/core/workspace_svg.ts +0 -2954
- package/core/xml.ts +0 -1126
- package/core/zoom_controls.ts +0 -495
- package/demos/blockfactory/analytics.js +0 -195
- package/demos/blockfactory/app_controller.js +0 -726
- package/demos/blockfactory/block_definition_extractor.js +0 -742
- package/demos/blockfactory/block_exporter_controller.js +0 -311
- package/demos/blockfactory/block_exporter_tools.js +0 -212
- package/demos/blockfactory/block_exporter_view.js +0 -101
- package/demos/blockfactory/block_library_controller.js +0 -325
- package/demos/blockfactory/block_library_storage.js +0 -149
- package/demos/blockfactory/block_library_view.js +0 -178
- package/demos/blockfactory/block_option.js +0 -151
- package/demos/blockfactory/blocks.js +0 -920
- package/demos/blockfactory/cp.css +0 -46
- package/demos/blockfactory/cp.js +0 -179
- package/demos/blockfactory/factory.css +0 -586
- package/demos/blockfactory/factory.js +0 -338
- package/demos/blockfactory/factory_utils.js +0 -1036
- package/demos/blockfactory/icon.png +0 -0
- package/demos/blockfactory/index.html +0 -767
- package/demos/blockfactory/link.png +0 -0
- package/demos/blockfactory/standard_categories.js +0 -384
- package/demos/blockfactory/workspacefactory/wfactory_controller.js +0 -1332
- package/demos/blockfactory/workspacefactory/wfactory_generator.js +0 -224
- package/demos/blockfactory/workspacefactory/wfactory_init.js +0 -541
- package/demos/blockfactory/workspacefactory/wfactory_model.js +0 -548
- package/demos/blockfactory/workspacefactory/wfactory_view.js +0 -424
- package/demos/code/code.js +0 -626
- package/demos/code/icon.png +0 -0
- package/demos/code/icons.png +0 -0
- package/demos/code/index.html +0 -359
- package/demos/code/msg/ar.js +0 -24
- package/demos/code/msg/be-tarask.js +0 -24
- package/demos/code/msg/br.js +0 -24
- package/demos/code/msg/ca.js +0 -24
- package/demos/code/msg/cs.js +0 -24
- package/demos/code/msg/da.js +0 -24
- package/demos/code/msg/de.js +0 -24
- package/demos/code/msg/el.js +0 -24
- package/demos/code/msg/en.js +0 -24
- package/demos/code/msg/es.js +0 -24
- package/demos/code/msg/et.js +0 -24
- package/demos/code/msg/fa.js +0 -24
- package/demos/code/msg/fr.js +0 -24
- package/demos/code/msg/he.js +0 -24
- package/demos/code/msg/hr.js +0 -24
- package/demos/code/msg/hrx.js +0 -24
- package/demos/code/msg/hu.js +0 -24
- package/demos/code/msg/ia.js +0 -24
- package/demos/code/msg/is.js +0 -24
- package/demos/code/msg/it.js +0 -24
- package/demos/code/msg/ja.js +0 -24
- package/demos/code/msg/kab.js +0 -24
- package/demos/code/msg/ko.js +0 -24
- package/demos/code/msg/mk.js +0 -24
- package/demos/code/msg/ms.js +0 -24
- package/demos/code/msg/nb.js +0 -24
- package/demos/code/msg/nl.js +0 -24
- package/demos/code/msg/oc.js +0 -24
- package/demos/code/msg/pl.js +0 -24
- package/demos/code/msg/pms.js +0 -24
- package/demos/code/msg/pt-br.js +0 -24
- package/demos/code/msg/ro.js +0 -24
- package/demos/code/msg/ru.js +0 -24
- package/demos/code/msg/sc.js +0 -24
- package/demos/code/msg/sk.js +0 -24
- package/demos/code/msg/sr.js +0 -24
- package/demos/code/msg/sv.js +0 -24
- package/demos/code/msg/ta.js +0 -24
- package/demos/code/msg/th.js +0 -24
- package/demos/code/msg/tlh.js +0 -24
- package/demos/code/msg/tr.js +0 -24
- package/demos/code/msg/uk.js +0 -24
- package/demos/code/msg/vi.js +0 -24
- package/demos/code/msg/zh-hans.js +0 -24
- package/demos/code/msg/zh-hant.js +0 -24
- package/demos/code/style.css +0 -184
- package/demos/index.html +0 -68
- package/demos/storage/icon.png +0 -0
- package/demos/storage/index.html +0 -104
- package/eslint.config.mjs +0 -314
- package/generators/dart/dart_generator.ts +0 -321
- package/generators/dart/lists.ts +0 -525
- package/generators/dart/logic.ts +0 -157
- package/generators/dart/loops.ts +0 -217
- package/generators/dart/math.ts +0 -559
- package/generators/dart/procedures.ts +0 -138
- package/generators/dart/text.ts +0 -405
- package/generators/dart/variables.ts +0 -32
- package/generators/dart/variables_dynamic.ts +0 -17
- package/generators/dart.ts +0 -50
- package/generators/javascript/javascript_generator.ts +0 -346
- package/generators/javascript/lists.ts +0 -465
- package/generators/javascript/logic.ts +0 -155
- package/generators/javascript/loops.ts +0 -245
- package/generators/javascript/math.ts +0 -450
- package/generators/javascript/procedures.ts +0 -142
- package/generators/javascript/text.ts +0 -418
- package/generators/javascript/variables.ts +0 -32
- package/generators/javascript/variables_dynamic.ts +0 -17
- package/generators/javascript.ts +0 -46
- package/generators/lua/lists.ts +0 -445
- package/generators/lua/logic.ts +0 -144
- package/generators/lua/loops.ts +0 -192
- package/generators/lua/lua_generator.ts +0 -225
- package/generators/lua/math.ts +0 -473
- package/generators/lua/procedures.ts +0 -144
- package/generators/lua/text.ts +0 -380
- package/generators/lua/variables.ts +0 -31
- package/generators/lua/variables_dynamic.ts +0 -17
- package/generators/lua.ts +0 -44
- package/generators/php/lists.ts +0 -585
- package/generators/php/logic.ts +0 -157
- package/generators/php/loops.ts +0 -218
- package/generators/php/math.ts +0 -408
- package/generators/php/php_generator.ts +0 -320
- package/generators/php/procedures.ts +0 -159
- package/generators/php/text.ts +0 -315
- package/generators/php/variables.ts +0 -32
- package/generators/php/variables_dynamic.ts +0 -17
- package/generators/php.ts +0 -46
- package/generators/python/lists.ts +0 -398
- package/generators/python/logic.ts +0 -152
- package/generators/python/loops.ts +0 -251
- package/generators/python/math.ts +0 -434
- package/generators/python/procedures.ts +0 -159
- package/generators/python/python_generator.ts +0 -355
- package/generators/python/text.ts +0 -338
- package/generators/python/variables.ts +0 -31
- package/generators/python/variables_dynamic.ts +0 -17
- package/generators/python.ts +0 -51
- package/gulpfile.mjs +0 -100
- package/jsconfig.json +0 -7
- package/msg/json/README.md +0 -33
- package/msg/json/ab.json +0 -222
- package/msg/json/ace.json +0 -7
- package/msg/json/af.json +0 -34
- package/msg/json/am.json +0 -30
- package/msg/json/ar.json +0 -355
- package/msg/json/ast.json +0 -10
- package/msg/json/az.json +0 -334
- package/msg/json/ba.json +0 -211
- package/msg/json/bcc.json +0 -290
- package/msg/json/be-tarask.json +0 -335
- package/msg/json/be.json +0 -326
- package/msg/json/bg.json +0 -347
- package/msg/json/bn.json +0 -189
- package/msg/json/br.json +0 -334
- package/msg/json/bs.json +0 -166
- package/msg/json/ca.json +0 -341
- package/msg/json/cdo.json +0 -6
- package/msg/json/ce.json +0 -328
- package/msg/json/constants.json +0 -12
- package/msg/json/cs.json +0 -344
- package/msg/json/da.json +0 -346
- package/msg/json/de.json +0 -369
- package/msg/json/diq.json +0 -264
- package/msg/json/dtp.json +0 -198
- package/msg/json/dty.json +0 -97
- package/msg/json/ee.json +0 -160
- package/msg/json/el.json +0 -356
- package/msg/json/en-gb.json +0 -199
- package/msg/json/en.json +0 -423
- package/msg/json/eo.json +0 -337
- package/msg/json/es.json +0 -361
- package/msg/json/et.json +0 -335
- package/msg/json/eu.json +0 -219
- package/msg/json/fa.json +0 -342
- package/msg/json/fi.json +0 -350
- package/msg/json/fo.json +0 -46
- package/msg/json/fr.json +0 -374
- package/msg/json/frr.json +0 -6
- package/msg/json/gl.json +0 -338
- package/msg/json/gn.json +0 -54
- package/msg/json/gor.json +0 -87
- package/msg/json/ha.json +0 -313
- package/msg/json/hak.json +0 -17
- package/msg/json/he.json +0 -355
- package/msg/json/hi.json +0 -318
- package/msg/json/hr.json +0 -337
- package/msg/json/hrx.json +0 -287
- package/msg/json/hsb.json +0 -128
- package/msg/json/hu.json +0 -349
- package/msg/json/hy.json +0 -337
- package/msg/json/ia.json +0 -337
- package/msg/json/id.json +0 -338
- package/msg/json/ig.json +0 -323
- package/msg/json/inh.json +0 -80
- package/msg/json/is.json +0 -331
- package/msg/json/it.json +0 -346
- package/msg/json/ja.json +0 -362
- package/msg/json/ka.json +0 -14
- package/msg/json/kab.json +0 -323
- package/msg/json/kbd-cyrl.json +0 -84
- package/msg/json/km.json +0 -29
- package/msg/json/kn.json +0 -333
- package/msg/json/ko.json +0 -377
- package/msg/json/ksh.json +0 -43
- package/msg/json/ku-latn.json +0 -41
- package/msg/json/ky.json +0 -71
- package/msg/json/la.json +0 -6
- package/msg/json/lb.json +0 -156
- package/msg/json/lki.json +0 -282
- package/msg/json/lo.json +0 -92
- package/msg/json/lrc.json +0 -123
- package/msg/json/lt.json +0 -321
- package/msg/json/lv.json +0 -324
- package/msg/json/mg.json +0 -58
- package/msg/json/mk.json +0 -178
- package/msg/json/ml.json +0 -35
- package/msg/json/mnw.json +0 -90
- package/msg/json/ms.json +0 -300
- package/msg/json/my.json +0 -57
- package/msg/json/mzn.json +0 -6
- package/msg/json/nb.json +0 -331
- package/msg/json/ne.json +0 -247
- package/msg/json/nl.json +0 -358
- package/msg/json/oc.json +0 -194
- package/msg/json/olo.json +0 -37
- package/msg/json/pa.json +0 -75
- package/msg/json/pl.json +0 -358
- package/msg/json/pms.json +0 -325
- package/msg/json/ps.json +0 -50
- package/msg/json/pt-br.json +0 -371
- package/msg/json/pt.json +0 -360
- package/msg/json/qqq.json +0 -430
- package/msg/json/ro.json +0 -333
- package/msg/json/ru.json +0 -363
- package/msg/json/sc.json +0 -283
- package/msg/json/sco.json +0 -11
- package/msg/json/sd.json +0 -158
- package/msg/json/shn.json +0 -109
- package/msg/json/si.json +0 -16
- package/msg/json/sk.json +0 -339
- package/msg/json/skr-arab.json +0 -117
- package/msg/json/sl.json +0 -355
- package/msg/json/smn.json +0 -133
- package/msg/json/sq.json +0 -343
- package/msg/json/sr-latn.json +0 -324
- package/msg/json/sr.json +0 -349
- package/msg/json/sv.json +0 -350
- package/msg/json/sw.json +0 -12
- package/msg/json/synonyms.json +0 -22
- package/msg/json/ta.json +0 -306
- package/msg/json/tcy.json +0 -316
- package/msg/json/tdd.json +0 -110
- package/msg/json/te.json +0 -101
- package/msg/json/th.json +0 -333
- package/msg/json/ti.json +0 -50
- package/msg/json/tl.json +0 -149
- package/msg/json/tlh.json +0 -179
- package/msg/json/tr.json +0 -370
- package/msg/json/ug-arab.json +0 -180
- package/msg/json/uk.json +0 -346
- package/msg/json/ur.json +0 -118
- package/msg/json/uz.json +0 -36
- package/msg/json/vi.json +0 -345
- package/msg/json/xmf.json +0 -99
- package/msg/json/yo.json +0 -316
- package/msg/json/zgh.json +0 -83
- package/msg/json/zh-hans.json +0 -374
- package/msg/json/zh-hant.json +0 -362
- package/msg/messages.js +0 -1695
- package/scripts/gulpfiles/appengine_tasks.mjs +0 -189
- package/scripts/gulpfiles/build_tasks.mjs +0 -753
- package/scripts/gulpfiles/config.mjs +0 -40
- package/scripts/gulpfiles/docs_tasks.mjs +0 -146
- package/scripts/gulpfiles/git_tasks.mjs +0 -167
- package/scripts/gulpfiles/helper_tasks.mjs +0 -25
- package/scripts/gulpfiles/package_tasks.mjs +0 -257
- package/scripts/gulpfiles/release_tasks.mjs +0 -174
- package/scripts/gulpfiles/test_tasks.mjs +0 -409
- package/scripts/helpers.js +0 -74
- package/scripts/i18n/common.py +0 -233
- package/scripts/i18n/create_messages.py +0 -167
- package/scripts/i18n/dedup_json.py +0 -72
- package/scripts/i18n/js_to_json.py +0 -135
- package/scripts/i18n/tests.py +0 -46
- package/scripts/migration/renamings.json5 +0 -1599
- package/scripts/package/index.js +0 -23
- package/scripts/package/templates/umd-msg.template +0 -16
- package/scripts/package/templates/umd.template +0 -13
- package/scripts/themes/blockStyles_example.json +0 -11
- package/scripts/themes/create_blockStyles.py +0 -184
- package/scripts/tsick.js +0 -86
- package/tests/browser/.mocharc.js +0 -7
- package/tests/browser/test/basic_block_factory_test.mjs +0 -44
- package/tests/browser/test/basic_block_test.mjs +0 -38
- package/tests/browser/test/basic_playground_test.mjs +0 -461
- package/tests/browser/test/block_undo_test.mjs +0 -50
- package/tests/browser/test/clipboard_test.mjs +0 -611
- package/tests/browser/test/delete_blocks_test.mjs +0 -217
- package/tests/browser/test/extensive_test.mjs +0 -191
- package/tests/browser/test/field_edits_test.mjs +0 -61
- package/tests/browser/test/hooks.mjs +0 -23
- package/tests/browser/test/mutator_test.mjs +0 -87
- package/tests/browser/test/procedure_test.mjs +0 -109
- package/tests/browser/test/test_setup.mjs +0 -623
- package/tests/browser/test/toolbox_drag_test.mjs +0 -219
- package/tests/browser/test/workspace_comment_test.mjs +0 -220
- package/tests/compile/index.html +0 -43
- package/tests/compile/main.js +0 -53
- package/tests/compile/test_blocks.js +0 -47
- package/tests/compile/webdriver.js +0 -81
- package/tests/generators/functions.xml +0 -561
- package/tests/generators/golden/generated.dart +0 -1604
- package/tests/generators/golden/generated.js +0 -1552
- package/tests/generators/golden/generated.lua +0 -1828
- package/tests/generators/golden/generated.php +0 -1611
- package/tests/generators/golden/generated.py +0 -1407
- package/tests/generators/index.html +0 -408
- package/tests/generators/lists.xml +0 -8675
- package/tests/generators/logic.xml +0 -1019
- package/tests/generators/loops1.xml +0 -345
- package/tests/generators/loops2.xml +0 -891
- package/tests/generators/loops3.xml +0 -735
- package/tests/generators/math.xml +0 -2077
- package/tests/generators/text.xml +0 -4651
- package/tests/generators/unittest.js +0 -103
- package/tests/generators/unittest_dart.js +0 -163
- package/tests/generators/unittest_javascript.js +0 -167
- package/tests/generators/unittest_lua.js +0 -165
- package/tests/generators/unittest_php.js +0 -154
- package/tests/generators/unittest_python.js +0 -138
- package/tests/generators/variables.xml +0 -68
- package/tests/generators/webdriver.js +0 -123
- package/tests/media/200px.png +0 -0
- package/tests/media/30px.png +0 -0
- package/tests/media/50px.png +0 -0
- package/tests/media/a.png +0 -0
- package/tests/media/arrow.png +0 -0
- package/tests/media/b.png +0 -0
- package/tests/media/c.png +0 -0
- package/tests/media/d.png +0 -0
- package/tests/media/e.png +0 -0
- package/tests/media/f.png +0 -0
- package/tests/media/g.png +0 -0
- package/tests/media/h.png +0 -0
- package/tests/media/i.png +0 -0
- package/tests/media/j.png +0 -0
- package/tests/media/k.png +0 -0
- package/tests/media/l.png +0 -0
- package/tests/media/m.png +0 -0
- package/tests/migration/renamings.schema.json +0 -59
- package/tests/migration/validate-renamings.mjs +0 -63
- package/tests/mocha/.mocharc.js +0 -6
- package/tests/mocha/block_json_test.js +0 -777
- package/tests/mocha/block_test.js +0 -2949
- package/tests/mocha/blocks/lists_test.js +0 -238
- package/tests/mocha/blocks/logic_ternary_test.js +0 -320
- package/tests/mocha/blocks/loops_test.js +0 -56
- package/tests/mocha/blocks/procedures_test.js +0 -2509
- package/tests/mocha/blocks/variables_test.js +0 -345
- package/tests/mocha/clipboard_test.js +0 -263
- package/tests/mocha/comment_deserialization_test.js +0 -122
- package/tests/mocha/comment_test.js +0 -215
- package/tests/mocha/comment_view_test.js +0 -188
- package/tests/mocha/connection_checker_test.js +0 -694
- package/tests/mocha/connection_db_test.js +0 -363
- package/tests/mocha/connection_test.js +0 -3738
- package/tests/mocha/contextmenu_items_test.js +0 -653
- package/tests/mocha/contextmenu_test.js +0 -73
- package/tests/mocha/cursor_test.js +0 -922
- package/tests/mocha/dialog_test.js +0 -168
- package/tests/mocha/dropdowndiv_test.js +0 -458
- package/tests/mocha/event_block_change_test.js +0 -126
- package/tests/mocha/event_block_create_test.js +0 -109
- package/tests/mocha/event_block_delete_test.js +0 -55
- package/tests/mocha/event_block_drag_test.js +0 -36
- package/tests/mocha/event_block_field_intermediate_change_test.js +0 -67
- package/tests/mocha/event_block_move_test.js +0 -39
- package/tests/mocha/event_bubble_open_test.js +0 -42
- package/tests/mocha/event_click_test.js +0 -40
- package/tests/mocha/event_comment_change_test.js +0 -39
- package/tests/mocha/event_comment_collapse_test.js +0 -34
- package/tests/mocha/event_comment_create_test.js +0 -38
- package/tests/mocha/event_comment_delete_test.js +0 -38
- package/tests/mocha/event_comment_drag_test.js +0 -35
- package/tests/mocha/event_comment_move_test.js +0 -40
- package/tests/mocha/event_comment_resize_test.js +0 -38
- package/tests/mocha/event_selected_test.js +0 -41
- package/tests/mocha/event_test.js +0 -1668
- package/tests/mocha/event_theme_change_test.js +0 -36
- package/tests/mocha/event_toolbox_item_select_test.js +0 -64
- package/tests/mocha/event_trashcan_open_test.js +0 -36
- package/tests/mocha/event_var_create_test.js +0 -54
- package/tests/mocha/event_var_delete_test.js +0 -54
- package/tests/mocha/event_var_rename_test.js +0 -39
- package/tests/mocha/event_var_type_change_test.js +0 -43
- package/tests/mocha/event_viewport_test.js +0 -39
- package/tests/mocha/extensions_test.js +0 -613
- package/tests/mocha/field_checkbox_test.js +0 -299
- package/tests/mocha/field_colour_test.js +0 -395
- package/tests/mocha/field_dropdown_test.js +0 -328
- package/tests/mocha/field_image_test.js +0 -351
- package/tests/mocha/field_label_serializable_test.js +0 -252
- package/tests/mocha/field_label_test.js +0 -226
- package/tests/mocha/field_number_test.js +0 -505
- package/tests/mocha/field_registry_test.js +0 -115
- package/tests/mocha/field_test.js +0 -821
- package/tests/mocha/field_textinput_test.js +0 -593
- package/tests/mocha/field_variable_test.js +0 -644
- package/tests/mocha/flyout_test.js +0 -650
- package/tests/mocha/focus_manager_test.js +0 -5979
- package/tests/mocha/focusable_tree_traverser_test.js +0 -602
- package/tests/mocha/generator_test.js +0 -233
- package/tests/mocha/gesture_test.js +0 -133
- package/tests/mocha/icon_test.js +0 -431
- package/tests/mocha/index.html +0 -354
- package/tests/mocha/input_test.js +0 -296
- package/tests/mocha/insertion_marker_test.js +0 -432
- package/tests/mocha/jso_deserialization_test.js +0 -848
- package/tests/mocha/jso_serialization_test.js +0 -1068
- package/tests/mocha/json_test.js +0 -303
- package/tests/mocha/keyboard_navigation_controller_test.js +0 -37
- package/tests/mocha/layering_test.js +0 -104
- package/tests/mocha/menu_item_test.js +0 -176
- package/tests/mocha/metrics_test.js +0 -671
- package/tests/mocha/mutator_test.js +0 -87
- package/tests/mocha/names_test.js +0 -97
- package/tests/mocha/navigation_test.js +0 -876
- package/tests/mocha/old_workspace_comment_test.js +0 -256
- package/tests/mocha/procedure_map_test.js +0 -52
- package/tests/mocha/rect_test.js +0 -1668
- package/tests/mocha/registry_test.js +0 -281
- package/tests/mocha/render_management_test.js +0 -127
- package/tests/mocha/serializer_test.js +0 -2100
- package/tests/mocha/shortcut_items_test.js +0 -563
- package/tests/mocha/shortcut_registry_test.js +0 -533
- package/tests/mocha/test_helpers/block_definitions.js +0 -204
- package/tests/mocha/test_helpers/code_generation.js +0 -114
- package/tests/mocha/test_helpers/common.js +0 -106
- package/tests/mocha/test_helpers/events.js +0 -290
- package/tests/mocha/test_helpers/fields.js +0 -310
- package/tests/mocha/test_helpers/icon_mocks.js +0 -130
- package/tests/mocha/test_helpers/procedures.js +0 -304
- package/tests/mocha/test_helpers/serialization.js +0 -124
- package/tests/mocha/test_helpers/setup_teardown.js +0 -232
- package/tests/mocha/test_helpers/toolbox_definitions.js +0 -269
- package/tests/mocha/test_helpers/user_input.js +0 -62
- package/tests/mocha/test_helpers/variables.js +0 -27
- package/tests/mocha/test_helpers/warnings.js +0 -83
- package/tests/mocha/test_helpers/workspace.js +0 -1659
- package/tests/mocha/theme_test.js +0 -307
- package/tests/mocha/toast_test.js +0 -129
- package/tests/mocha/toolbox_test.js +0 -821
- package/tests/mocha/tooltip_test.js +0 -276
- package/tests/mocha/touch_test.js +0 -109
- package/tests/mocha/trashcan_test.js +0 -376
- package/tests/mocha/utils_test.js +0 -557
- package/tests/mocha/variable_map_test.js +0 -470
- package/tests/mocha/variable_model_test.js +0 -85
- package/tests/mocha/webdriver.js +0 -110
- package/tests/mocha/widget_div_test.js +0 -427
- package/tests/mocha/workspace_comment_test.js +0 -197
- package/tests/mocha/workspace_svg_test.js +0 -922
- package/tests/mocha/workspace_test.js +0 -24
- package/tests/mocha/xml_test.js +0 -893
- package/tests/mocha/zoom_controls_test.js +0 -81
- package/tests/multi_playground.html +0 -482
- package/tests/node/.mocharc.js +0 -6
- package/tests/node/run_node_test.mjs +0 -191
- package/tests/playground.html +0 -1280
- package/tests/playgrounds/advanced_playground.html +0 -188
- package/tests/playgrounds/iframe.html +0 -40
- package/tests/playgrounds/screenshot.js +0 -123
- package/tests/scripts/check_metadata.sh +0 -170
- package/tests/scripts/load.mjs +0 -140
- package/tests/scripts/setup_linux_env.sh +0 -7
- package/tests/scripts/update_metadata.sh +0 -46
- package/tests/themes/test_themes.js +0 -62
- package/tests/typescript/README.md +0 -4
- package/tests/typescript/src/field/different_user_input.ts +0 -81
- package/tests/typescript/src/generators/dart.ts +0 -24
- package/tests/typescript/src/generators/javascript.ts +0 -28
- package/tests/typescript/src/generators/lua.ts +0 -24
- package/tests/typescript/src/generators/php.ts +0 -24
- package/tests/typescript/src/generators/python.ts +0 -24
- package/tests/typescript/src/generators.ts +0 -33
- package/tests/typescript/src/msg.ts +0 -20
- package/tests/typescript/tsconfig.json +0 -20
- package/tests/xml/README.txt +0 -11
- package/tests/xml/blockly.xsd +0 -178
- package/tests/xml/invalid.xml +0 -6
- package/tests/xml/toolbox.xml +0 -311
- package/tests/xml/workspace.xml +0 -114
- package/tsconfig.json +0 -37
- package/tsdoc.json +0 -25
- package/typings/README.md +0 -5
- package/typings/templates/blockly-header.template +0 -11
- package/typings/templates/blockly-interfaces.template +0 -83
- package/typings/templates/msg.template +0 -15
- package/typings/tsconfig.json +0 -23
- /package/{scripts/package/README.md → README.md} +0 -0
- /package/{typings/blocks.d.ts → blocks.d.ts} +0 -0
- /package/{scripts/package/core-node.js → core-node.js} +0 -0
- /package/{typings/core.d.ts → core.d.ts} +0 -0
- /package/{typings/dart.d.ts → dart.d.ts} +0 -0
- /package/{typings/index.d.ts → index.d.ts} +0 -0
- /package/{typings/javascript.d.ts → javascript.d.ts} +0 -0
- /package/{typings/lua.d.ts → lua.d.ts} +0 -0
- /package/{typings/msg → msg}/ab.d.ts +0 -0
- /package/{typings/msg → msg}/ace.d.ts +0 -0
- /package/{typings/msg → msg}/af.d.ts +0 -0
- /package/{typings/msg → msg}/am.d.ts +0 -0
- /package/{typings/msg → msg}/ar.d.ts +0 -0
- /package/{typings/msg → msg}/ast.d.ts +0 -0
- /package/{typings/msg → msg}/az.d.ts +0 -0
- /package/{typings/msg → msg}/ba.d.ts +0 -0
- /package/{typings/msg → msg}/bcc.d.ts +0 -0
- /package/{typings/msg → msg}/be-tarask.d.ts +0 -0
- /package/{typings/msg → msg}/be.d.ts +0 -0
- /package/{typings/msg → msg}/bg.d.ts +0 -0
- /package/{typings/msg → msg}/bn.d.ts +0 -0
- /package/{typings/msg → msg}/br.d.ts +0 -0
- /package/{typings/msg → msg}/bs.d.ts +0 -0
- /package/{typings/msg → msg}/ca.d.ts +0 -0
- /package/{typings/msg → msg}/cdo.d.ts +0 -0
- /package/{typings/msg → msg}/ce.d.ts +0 -0
- /package/{typings/msg → msg}/cs.d.ts +0 -0
- /package/{typings/msg → msg}/da.d.ts +0 -0
- /package/{typings/msg → msg}/de.d.ts +0 -0
- /package/{typings/msg → msg}/diq.d.ts +0 -0
- /package/{typings/msg → msg}/dtp.d.ts +0 -0
- /package/{typings/msg → msg}/dty.d.ts +0 -0
- /package/{typings/msg → msg}/ee.d.ts +0 -0
- /package/{typings/msg → msg}/el.d.ts +0 -0
- /package/{typings/msg → msg}/en-gb.d.ts +0 -0
- /package/{typings/msg → msg}/en.d.ts +0 -0
- /package/{typings/msg → msg}/eo.d.ts +0 -0
- /package/{typings/msg → msg}/es.d.ts +0 -0
- /package/{typings/msg → msg}/et.d.ts +0 -0
- /package/{typings/msg → msg}/eu.d.ts +0 -0
- /package/{typings/msg → msg}/fa.d.ts +0 -0
- /package/{typings/msg → msg}/fi.d.ts +0 -0
- /package/{typings/msg → msg}/fo.d.ts +0 -0
- /package/{typings/msg → msg}/fr.d.ts +0 -0
- /package/{typings/msg → msg}/frr.d.ts +0 -0
- /package/{typings/msg → msg}/gl.d.ts +0 -0
- /package/{typings/msg → msg}/gn.d.ts +0 -0
- /package/{typings/msg → msg}/gor.d.ts +0 -0
- /package/{typings/msg → msg}/ha.d.ts +0 -0
- /package/{typings/msg → msg}/hak.d.ts +0 -0
- /package/{typings/msg → msg}/he.d.ts +0 -0
- /package/{typings/msg → msg}/hi.d.ts +0 -0
- /package/{typings/msg → msg}/hr.d.ts +0 -0
- /package/{typings/msg → msg}/hrx.d.ts +0 -0
- /package/{typings/msg → msg}/hsb.d.ts +0 -0
- /package/{typings/msg → msg}/hu.d.ts +0 -0
- /package/{typings/msg → msg}/hy.d.ts +0 -0
- /package/{typings/msg → msg}/ia.d.ts +0 -0
- /package/{typings/msg → msg}/id.d.ts +0 -0
- /package/{typings/msg → msg}/ig.d.ts +0 -0
- /package/{typings/msg → msg}/inh.d.ts +0 -0
- /package/{typings/msg → msg}/is.d.ts +0 -0
- /package/{typings/msg → msg}/it.d.ts +0 -0
- /package/{typings/msg → msg}/ja.d.ts +0 -0
- /package/{typings/msg → msg}/ka.d.ts +0 -0
- /package/{typings/msg → msg}/kab.d.ts +0 -0
- /package/{typings/msg → msg}/kbd-cyrl.d.ts +0 -0
- /package/{typings/msg → msg}/km.d.ts +0 -0
- /package/{typings/msg → msg}/kn.d.ts +0 -0
- /package/{typings/msg → msg}/ko.d.ts +0 -0
- /package/{typings/msg → msg}/ksh.d.ts +0 -0
- /package/{typings/msg → msg}/ku-latn.d.ts +0 -0
- /package/{typings/msg → msg}/ky.d.ts +0 -0
- /package/{typings/msg → msg}/la.d.ts +0 -0
- /package/{typings/msg → msg}/lb.d.ts +0 -0
- /package/{typings/msg → msg}/lki.d.ts +0 -0
- /package/{typings/msg → msg}/lo.d.ts +0 -0
- /package/{typings/msg → msg}/lrc.d.ts +0 -0
- /package/{typings/msg → msg}/lt.d.ts +0 -0
- /package/{typings/msg → msg}/lv.d.ts +0 -0
- /package/{typings/msg → msg}/mg.d.ts +0 -0
- /package/{typings/msg → msg}/mk.d.ts +0 -0
- /package/{typings/msg → msg}/ml.d.ts +0 -0
- /package/{typings/msg → msg}/mnw.d.ts +0 -0
- /package/{typings/msg → msg}/ms.d.ts +0 -0
- /package/{typings/msg → msg}/msg.d.ts +0 -0
- /package/{typings/msg → msg}/my.d.ts +0 -0
- /package/{typings/msg → msg}/mzn.d.ts +0 -0
- /package/{typings/msg → msg}/nb.d.ts +0 -0
- /package/{typings/msg → msg}/ne.d.ts +0 -0
- /package/{typings/msg → msg}/nl.d.ts +0 -0
- /package/{typings/msg → msg}/oc.d.ts +0 -0
- /package/{typings/msg → msg}/olo.d.ts +0 -0
- /package/{typings/msg → msg}/pa.d.ts +0 -0
- /package/{typings/msg → msg}/pl.d.ts +0 -0
- /package/{typings/msg → msg}/pms.d.ts +0 -0
- /package/{typings/msg → msg}/ps.d.ts +0 -0
- /package/{typings/msg → msg}/pt-br.d.ts +0 -0
- /package/{typings/msg → msg}/pt.d.ts +0 -0
- /package/{typings/msg → msg}/ro.d.ts +0 -0
- /package/{typings/msg → msg}/ru.d.ts +0 -0
- /package/{typings/msg → msg}/sc.d.ts +0 -0
- /package/{typings/msg → msg}/sco.d.ts +0 -0
- /package/{typings/msg → msg}/sd.d.ts +0 -0
- /package/{typings/msg → msg}/shn.d.ts +0 -0
- /package/{typings/msg → msg}/si.d.ts +0 -0
- /package/{typings/msg → msg}/sk.d.ts +0 -0
- /package/{typings/msg → msg}/skr-arab.d.ts +0 -0
- /package/{typings/msg → msg}/sl.d.ts +0 -0
- /package/{typings/msg → msg}/smn.d.ts +0 -0
- /package/{typings/msg → msg}/sq.d.ts +0 -0
- /package/{typings/msg → msg}/sr-latn.d.ts +0 -0
- /package/{typings/msg → msg}/sr.d.ts +0 -0
- /package/{typings/msg → msg}/sv.d.ts +0 -0
- /package/{typings/msg → msg}/sw.d.ts +0 -0
- /package/{typings/msg → msg}/ta.d.ts +0 -0
- /package/{typings/msg → msg}/tcy.d.ts +0 -0
- /package/{typings/msg → msg}/tdd.d.ts +0 -0
- /package/{typings/msg → msg}/te.d.ts +0 -0
- /package/{typings/msg → msg}/th.d.ts +0 -0
- /package/{typings/msg → msg}/ti.d.ts +0 -0
- /package/{typings/msg → msg}/tl.d.ts +0 -0
- /package/{typings/msg → msg}/tlh.d.ts +0 -0
- /package/{typings/msg → msg}/tr.d.ts +0 -0
- /package/{typings/msg → msg}/ug-arab.d.ts +0 -0
- /package/{typings/msg → msg}/uk.d.ts +0 -0
- /package/{typings/msg → msg}/ur.d.ts +0 -0
- /package/{typings/msg → msg}/uz.d.ts +0 -0
- /package/{typings/msg → msg}/vi.d.ts +0 -0
- /package/{typings/msg → msg}/xmf.d.ts +0 -0
- /package/{typings/msg → msg}/yo.d.ts +0 -0
- /package/{typings/msg → msg}/zgh.d.ts +0 -0
- /package/{typings/msg → msg}/zh-hans.d.ts +0 -0
- /package/{typings/msg → msg}/zh-hant.d.ts +0 -0
- /package/{typings/php.d.ts → php.d.ts} +0 -0
- /package/{typings/python.d.ts → python.d.ts} +0 -0
|
@@ -0,0 +1,1103 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2014 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Object representing a workspace rendered as SVG.
|
|
8
|
+
*
|
|
9
|
+
* @class
|
|
10
|
+
*/
|
|
11
|
+
import './events/events_block_create.js';
|
|
12
|
+
import './events/events_theme_change.js';
|
|
13
|
+
import './events/events_viewport.js';
|
|
14
|
+
import type { Block } from './block.js';
|
|
15
|
+
import type { BlockSvg } from './block_svg.js';
|
|
16
|
+
import * as browserEvents from './browser_events.js';
|
|
17
|
+
import { RenderedWorkspaceComment } from './comments/rendered_workspace_comment.js';
|
|
18
|
+
import { WorkspaceComment } from './comments/workspace_comment.js';
|
|
19
|
+
import { ComponentManager } from './component_manager.js';
|
|
20
|
+
import { ContextMenuOption } from './contextmenu_registry.js';
|
|
21
|
+
import type { FlyoutButton } from './flyout_button.js';
|
|
22
|
+
import { Gesture } from './gesture.js';
|
|
23
|
+
import { Grid } from './grid.js';
|
|
24
|
+
import type { IBoundedElement } from './interfaces/i_bounded_element.js';
|
|
25
|
+
import { IContextMenu } from './interfaces/i_contextmenu.js';
|
|
26
|
+
import type { IDragTarget } from './interfaces/i_drag_target.js';
|
|
27
|
+
import type { IFlyout } from './interfaces/i_flyout.js';
|
|
28
|
+
import { type IFocusableNode } from './interfaces/i_focusable_node.js';
|
|
29
|
+
import type { IFocusableTree } from './interfaces/i_focusable_tree.js';
|
|
30
|
+
import type { IMetricsManager } from './interfaces/i_metrics_manager.js';
|
|
31
|
+
import type { IToolbox } from './interfaces/i_toolbox.js';
|
|
32
|
+
import type { LineCursor } from './keyboard_nav/line_cursor.js';
|
|
33
|
+
import type { Marker } from './keyboard_nav/marker.js';
|
|
34
|
+
import { LayerManager } from './layer_manager.js';
|
|
35
|
+
import { MarkerManager } from './marker_manager.js';
|
|
36
|
+
import { Navigator } from './navigator.js';
|
|
37
|
+
import { Options } from './options.js';
|
|
38
|
+
import type { Renderer } from './renderers/common/renderer.js';
|
|
39
|
+
import type { ScrollbarPair } from './scrollbar_pair.js';
|
|
40
|
+
import type { Theme } from './theme.js';
|
|
41
|
+
import { ThemeManager } from './theme_manager.js';
|
|
42
|
+
import type { Trashcan } from './trashcan.js';
|
|
43
|
+
import { Coordinate } from './utils/coordinate.js';
|
|
44
|
+
import type { Metrics } from './utils/metrics.js';
|
|
45
|
+
import { Rect } from './utils/rect.js';
|
|
46
|
+
import { Size } from './utils/size.js';
|
|
47
|
+
import { Svg } from './utils/svg.js';
|
|
48
|
+
import * as toolbox from './utils/toolbox.js';
|
|
49
|
+
import { Workspace } from './workspace.js';
|
|
50
|
+
import { WorkspaceAudio } from './workspace_audio.js';
|
|
51
|
+
import { ZoomControls } from './zoom_controls.js';
|
|
52
|
+
/**
|
|
53
|
+
* Class for a workspace. This is an onscreen area with optional trashcan,
|
|
54
|
+
* scrollbars, bubbles, and dragging.
|
|
55
|
+
*/
|
|
56
|
+
export declare class WorkspaceSvg extends Workspace implements IContextMenu, IFocusableNode, IFocusableTree {
|
|
57
|
+
/**
|
|
58
|
+
* A wrapper function called when a resize event occurs.
|
|
59
|
+
* You can pass the result to `eventHandling.unbind`.
|
|
60
|
+
*/
|
|
61
|
+
private resizeHandlerWrapper;
|
|
62
|
+
/**
|
|
63
|
+
* The render status of an SVG workspace.
|
|
64
|
+
* Returns `false` for headless workspaces and true for instances of
|
|
65
|
+
* `WorkspaceSvg`.
|
|
66
|
+
*/
|
|
67
|
+
rendered: boolean;
|
|
68
|
+
/**
|
|
69
|
+
* Whether the workspace is visible. False if the workspace has been hidden
|
|
70
|
+
* by calling `setVisible(false)`.
|
|
71
|
+
*/
|
|
72
|
+
private visible;
|
|
73
|
+
/**
|
|
74
|
+
* Whether this workspace has resizes enabled.
|
|
75
|
+
* Disable during batch operations for a performance improvement.
|
|
76
|
+
*/
|
|
77
|
+
private resizesEnabled;
|
|
78
|
+
/**
|
|
79
|
+
* Current horizontal scrolling offset in pixel units, relative to the
|
|
80
|
+
* workspace origin.
|
|
81
|
+
*
|
|
82
|
+
* It is useful to think about a view, and a canvas moving beneath that
|
|
83
|
+
* view. As the canvas moves right, this value becomes more positive, and
|
|
84
|
+
* the view is now "seeing" the left side of the canvas. As the canvas moves
|
|
85
|
+
* left, this value becomes more negative, and the view is now "seeing" the
|
|
86
|
+
* right side of the canvas.
|
|
87
|
+
*
|
|
88
|
+
* The confusing thing about this value is that it does not, and must not
|
|
89
|
+
* include the absoluteLeft offset. This is because it is used to calculate
|
|
90
|
+
* the viewLeft value.
|
|
91
|
+
*
|
|
92
|
+
* The viewLeft is relative to the workspace origin (although in pixel
|
|
93
|
+
* units). The workspace origin is the top-left corner of the workspace (at
|
|
94
|
+
* least when it is enabled). It is shifted from the top-left of the
|
|
95
|
+
* blocklyDiv so as not to be beneath the toolbox.
|
|
96
|
+
*
|
|
97
|
+
* When the workspace is enabled the viewLeft and workspace origin are at
|
|
98
|
+
* the same X location. As the canvas slides towards the right beneath the
|
|
99
|
+
* view this value (scrollX) becomes more positive, and the viewLeft becomes
|
|
100
|
+
* more negative relative to the workspace origin (imagine the workspace
|
|
101
|
+
* origin as a dot on the canvas sliding to the right as the canvas moves).
|
|
102
|
+
*
|
|
103
|
+
* So if the scrollX were to include the absoluteLeft this would in a way
|
|
104
|
+
* "unshift" the workspace origin. This means that the viewLeft would be
|
|
105
|
+
* representing the left edge of the blocklyDiv, rather than the left edge
|
|
106
|
+
* of the workspace.
|
|
107
|
+
*/
|
|
108
|
+
scrollX: number;
|
|
109
|
+
/**
|
|
110
|
+
* Current vertical scrolling offset in pixel units, relative to the
|
|
111
|
+
* workspace origin.
|
|
112
|
+
*
|
|
113
|
+
* It is useful to think about a view, and a canvas moving beneath that
|
|
114
|
+
* view. As the canvas moves down, this value becomes more positive, and the
|
|
115
|
+
* view is now "seeing" the upper part of the canvas. As the canvas moves
|
|
116
|
+
* up, this value becomes more negative, and the view is "seeing" the lower
|
|
117
|
+
* part of the canvas.
|
|
118
|
+
*
|
|
119
|
+
* This confusing thing about this value is that it does not, and must not
|
|
120
|
+
* include the absoluteTop offset. This is because it is used to calculate
|
|
121
|
+
* the viewTop value.
|
|
122
|
+
*
|
|
123
|
+
* The viewTop is relative to the workspace origin (although in pixel
|
|
124
|
+
* units). The workspace origin is the top-left corner of the workspace (at
|
|
125
|
+
* least when it is enabled). It is shifted from the top-left of the
|
|
126
|
+
* blocklyDiv so as not to be beneath the toolbox.
|
|
127
|
+
*
|
|
128
|
+
* When the workspace is enabled the viewTop and workspace origin are at the
|
|
129
|
+
* same Y location. As the canvas slides towards the bottom this value
|
|
130
|
+
* (scrollY) becomes more positive, and the viewTop becomes more negative
|
|
131
|
+
* relative to the workspace origin (image in the workspace origin as a dot
|
|
132
|
+
* on the canvas sliding downwards as the canvas moves).
|
|
133
|
+
*
|
|
134
|
+
* So if the scrollY were to include the absoluteTop this would in a way
|
|
135
|
+
* "unshift" the workspace origin. This means that the viewTop would be
|
|
136
|
+
* representing the top edge of the blocklyDiv, rather than the top edge of
|
|
137
|
+
* the workspace.
|
|
138
|
+
*/
|
|
139
|
+
scrollY: number;
|
|
140
|
+
/** Horizontal scroll value when scrolling started in pixel units. */
|
|
141
|
+
startScrollX: number;
|
|
142
|
+
/** Vertical scroll value when scrolling started in pixel units. */
|
|
143
|
+
startScrollY: number;
|
|
144
|
+
/** Current scale. */
|
|
145
|
+
scale: number;
|
|
146
|
+
/** Cached scale value. Used to detect changes in viewport. */
|
|
147
|
+
private oldScale;
|
|
148
|
+
/** Cached viewport top value. Used to detect changes in viewport. */
|
|
149
|
+
private oldTop;
|
|
150
|
+
/** Cached viewport left value. Used to detect changes in viewport. */
|
|
151
|
+
private oldLeft;
|
|
152
|
+
/** The workspace's trashcan (if any). */
|
|
153
|
+
trashcan: Trashcan | null;
|
|
154
|
+
/** This workspace's scrollbars, if they exist. */
|
|
155
|
+
scrollbar: ScrollbarPair | null;
|
|
156
|
+
/**
|
|
157
|
+
* Fixed flyout providing blocks which may be dragged into this workspace.
|
|
158
|
+
*/
|
|
159
|
+
private flyout;
|
|
160
|
+
/**
|
|
161
|
+
* Category-based toolbox providing blocks which may be dragged into this
|
|
162
|
+
* workspace.
|
|
163
|
+
*/
|
|
164
|
+
private toolbox;
|
|
165
|
+
/**
|
|
166
|
+
* The current gesture in progress on this workspace, if any.
|
|
167
|
+
*
|
|
168
|
+
* @internal
|
|
169
|
+
*/
|
|
170
|
+
currentGesture_: Gesture | null;
|
|
171
|
+
/**
|
|
172
|
+
* The first parent div with 'injectionDiv' in the name, or null if not set.
|
|
173
|
+
* Access this with getInjectionDiv.
|
|
174
|
+
*/
|
|
175
|
+
private injectionDiv;
|
|
176
|
+
/**
|
|
177
|
+
* Last known position of the page scroll.
|
|
178
|
+
* This is used to determine whether we have recalculated screen coordinate
|
|
179
|
+
* stuff since the page scrolled.
|
|
180
|
+
*/
|
|
181
|
+
private lastRecordedPageScroll;
|
|
182
|
+
/**
|
|
183
|
+
* Developers may define this function to add custom menu options to the
|
|
184
|
+
* workspace's context menu or edit the workspace-created set of menu
|
|
185
|
+
* options.
|
|
186
|
+
*
|
|
187
|
+
* @param options List of menu options to add to.
|
|
188
|
+
* @param e The right-click event that triggered the context menu.
|
|
189
|
+
*/
|
|
190
|
+
configureContextMenu: ((menuOptions: ContextMenuOption[], e: Event) => void) | null;
|
|
191
|
+
/**
|
|
192
|
+
* A dummy wheel event listener used as a workaround for a Safari scrolling issue.
|
|
193
|
+
* Set in createDom and used for removal in dispose to ensure proper cleanup.
|
|
194
|
+
*/
|
|
195
|
+
private dummyWheelListener;
|
|
196
|
+
/**
|
|
197
|
+
* In a flyout, the target workspace where blocks should be placed after a
|
|
198
|
+
* drag. Otherwise null.
|
|
199
|
+
*
|
|
200
|
+
* @internal
|
|
201
|
+
*/
|
|
202
|
+
targetWorkspace: WorkspaceSvg | null;
|
|
203
|
+
/** Inverted screen CTM, for use in mouseToSvg. */
|
|
204
|
+
private inverseScreenCTM;
|
|
205
|
+
/** Inverted screen CTM is dirty, recalculate it. */
|
|
206
|
+
private inverseScreenCTMDirty;
|
|
207
|
+
private metricsManager;
|
|
208
|
+
/** @internal */
|
|
209
|
+
getMetrics: () => Metrics;
|
|
210
|
+
/** @internal */
|
|
211
|
+
setMetrics: (p1: {
|
|
212
|
+
x?: number;
|
|
213
|
+
y?: number;
|
|
214
|
+
}) => void;
|
|
215
|
+
private readonly componentManager;
|
|
216
|
+
/**
|
|
217
|
+
* List of currently highlighted blocks. Block highlighting is often used
|
|
218
|
+
* to visually mark blocks currently being executed.
|
|
219
|
+
*/
|
|
220
|
+
private readonly highlightedBlocks;
|
|
221
|
+
private audioManager;
|
|
222
|
+
private grid;
|
|
223
|
+
private markerManager;
|
|
224
|
+
/**
|
|
225
|
+
* Map from function names to callbacks, for deciding what to do when a
|
|
226
|
+
* custom toolbox category is opened.
|
|
227
|
+
*/
|
|
228
|
+
private toolboxCategoryCallbacks;
|
|
229
|
+
/**
|
|
230
|
+
* Map from function names to callbacks, for deciding what to do when a
|
|
231
|
+
* button is clicked.
|
|
232
|
+
*/
|
|
233
|
+
private flyoutButtonCallbacks;
|
|
234
|
+
protected themeManager_: ThemeManager;
|
|
235
|
+
private readonly renderer;
|
|
236
|
+
/** Cached parent SVG. */
|
|
237
|
+
private cachedParentSvg;
|
|
238
|
+
/** True if keyboard accessibility mode is on, false otherwise. */
|
|
239
|
+
keyboardAccessibilityMode: boolean;
|
|
240
|
+
/** True iff a keyboard-initiated move ("drag") is in progress. */
|
|
241
|
+
keyboardMoveInProgress: boolean;
|
|
242
|
+
/** The list of top-level bounded elements on the workspace. */
|
|
243
|
+
private topBoundedElements;
|
|
244
|
+
/** The recorded drag targets. */
|
|
245
|
+
private dragTargetAreas;
|
|
246
|
+
private readonly cachedParentSvgSize;
|
|
247
|
+
private layerManager;
|
|
248
|
+
svgGroup_: SVGElement;
|
|
249
|
+
svgBackground_: SVGElement;
|
|
250
|
+
svgBlockCanvas_: SVGElement;
|
|
251
|
+
svgBubbleCanvas_: SVGElement;
|
|
252
|
+
zoomControls_: ZoomControls | null;
|
|
253
|
+
/**
|
|
254
|
+
* Navigator that handles moving focus between items in this workspace in
|
|
255
|
+
* response to keyboard navigation commands.
|
|
256
|
+
*/
|
|
257
|
+
private navigator;
|
|
258
|
+
/**
|
|
259
|
+
* @param options Dictionary of options.
|
|
260
|
+
*/
|
|
261
|
+
constructor(options: Options);
|
|
262
|
+
/**
|
|
263
|
+
* Get the marker manager for this workspace.
|
|
264
|
+
*
|
|
265
|
+
* @returns The marker manager.
|
|
266
|
+
*/
|
|
267
|
+
getMarkerManager(): MarkerManager;
|
|
268
|
+
/**
|
|
269
|
+
* Gets the metrics manager for this workspace.
|
|
270
|
+
*
|
|
271
|
+
* @returns The metrics manager.
|
|
272
|
+
*/
|
|
273
|
+
getMetricsManager(): IMetricsManager;
|
|
274
|
+
/**
|
|
275
|
+
* Sets the metrics manager for the workspace.
|
|
276
|
+
*
|
|
277
|
+
* @param metricsManager The metrics manager.
|
|
278
|
+
* @internal
|
|
279
|
+
*/
|
|
280
|
+
setMetricsManager(metricsManager: IMetricsManager): void;
|
|
281
|
+
/**
|
|
282
|
+
* Gets the component manager for this workspace.
|
|
283
|
+
*
|
|
284
|
+
* @returns The component manager.
|
|
285
|
+
*/
|
|
286
|
+
getComponentManager(): ComponentManager;
|
|
287
|
+
/**
|
|
288
|
+
* Get the marker with the given ID.
|
|
289
|
+
*
|
|
290
|
+
* @param id The ID of the marker.
|
|
291
|
+
* @returns The marker with the given ID or null if no marker with the given
|
|
292
|
+
* ID exists.
|
|
293
|
+
* @internal
|
|
294
|
+
*/
|
|
295
|
+
getMarker(id: string): Marker | null;
|
|
296
|
+
/**
|
|
297
|
+
* The cursor for this workspace.
|
|
298
|
+
*
|
|
299
|
+
* @returns The cursor for the workspace.
|
|
300
|
+
*/
|
|
301
|
+
getCursor(): LineCursor;
|
|
302
|
+
/**
|
|
303
|
+
* Get the block renderer attached to this workspace.
|
|
304
|
+
*
|
|
305
|
+
* @returns The renderer attached to this workspace.
|
|
306
|
+
*/
|
|
307
|
+
getRenderer(): Renderer;
|
|
308
|
+
/**
|
|
309
|
+
* Get the theme manager for this workspace.
|
|
310
|
+
*
|
|
311
|
+
* @returns The theme manager for this workspace.
|
|
312
|
+
* @internal
|
|
313
|
+
*/
|
|
314
|
+
getThemeManager(): ThemeManager;
|
|
315
|
+
/**
|
|
316
|
+
* Get the workspace theme object.
|
|
317
|
+
*
|
|
318
|
+
* @returns The workspace theme object.
|
|
319
|
+
*/
|
|
320
|
+
getTheme(): Theme;
|
|
321
|
+
/**
|
|
322
|
+
* Set the workspace theme object.
|
|
323
|
+
* If no theme is passed, default to the `Classic` theme.
|
|
324
|
+
*
|
|
325
|
+
* @param theme The workspace theme object.
|
|
326
|
+
*/
|
|
327
|
+
setTheme(theme: Theme): void;
|
|
328
|
+
/**
|
|
329
|
+
* Refresh all blocks on the workspace after a theme update.
|
|
330
|
+
*/
|
|
331
|
+
refreshTheme(): void;
|
|
332
|
+
/**
|
|
333
|
+
* Updates all the blocks with new style.
|
|
334
|
+
*
|
|
335
|
+
* @param blocks List of blocks to update the style on.
|
|
336
|
+
*/
|
|
337
|
+
private updateBlockStyles;
|
|
338
|
+
/**
|
|
339
|
+
* Getter for the inverted screen CTM.
|
|
340
|
+
*
|
|
341
|
+
* @returns The matrix to use in mouseToSvg
|
|
342
|
+
*/
|
|
343
|
+
getInverseScreenCTM(): SVGMatrix | null;
|
|
344
|
+
/** Mark the inverse screen CTM as dirty. */
|
|
345
|
+
updateInverseScreenCTM(): void;
|
|
346
|
+
/**
|
|
347
|
+
* Getter for isVisible
|
|
348
|
+
*
|
|
349
|
+
* @returns Whether the workspace is visible.
|
|
350
|
+
* False if the workspace has been hidden by calling `setVisible(false)`.
|
|
351
|
+
*/
|
|
352
|
+
isVisible(): boolean;
|
|
353
|
+
/**
|
|
354
|
+
* Return the absolute coordinates of the top-left corner of this element,
|
|
355
|
+
* scales that after canvas SVG element, if it's a descendant.
|
|
356
|
+
* The origin (0,0) is the top-left corner of the Blockly SVG.
|
|
357
|
+
*
|
|
358
|
+
* @param element SVG element to find the coordinates of.
|
|
359
|
+
* @returns Object with .x and .y properties.
|
|
360
|
+
* @internal
|
|
361
|
+
*/
|
|
362
|
+
getSvgXY(element: SVGElement): Coordinate;
|
|
363
|
+
/**
|
|
364
|
+
* Gets the size of the workspace's parent SVG element.
|
|
365
|
+
*
|
|
366
|
+
* @returns The cached width and height of the workspace's parent SVG element.
|
|
367
|
+
* @internal
|
|
368
|
+
*/
|
|
369
|
+
getCachedParentSvgSize(): Size;
|
|
370
|
+
/**
|
|
371
|
+
* Return the position of the workspace origin relative to the injection div
|
|
372
|
+
* origin in pixels.
|
|
373
|
+
* The workspace origin is where a block would render at position (0, 0).
|
|
374
|
+
* It is not the upper left corner of the workspace SVG.
|
|
375
|
+
*
|
|
376
|
+
* @returns Offset in pixels.
|
|
377
|
+
* @internal
|
|
378
|
+
*/
|
|
379
|
+
getOriginOffsetInPixels(): Coordinate;
|
|
380
|
+
/**
|
|
381
|
+
* Return the injection div that is a parent of this workspace.
|
|
382
|
+
* Walks the DOM the first time it's called, then returns a cached value.
|
|
383
|
+
* Note: We assume this is only called after the workspace has been injected
|
|
384
|
+
* into the DOM.
|
|
385
|
+
*
|
|
386
|
+
* @returns The first parent div with 'injectionDiv' in the name.
|
|
387
|
+
* @internal
|
|
388
|
+
*/
|
|
389
|
+
getInjectionDiv(): HTMLElement;
|
|
390
|
+
/**
|
|
391
|
+
* Returns the SVG group for the workspace.
|
|
392
|
+
*
|
|
393
|
+
* @returns The SVG group for the workspace.
|
|
394
|
+
*/
|
|
395
|
+
getSvgGroup(): Element;
|
|
396
|
+
/**
|
|
397
|
+
* Get the SVG block canvas for the workspace.
|
|
398
|
+
*
|
|
399
|
+
* @returns The SVG group for the workspace.
|
|
400
|
+
* @internal
|
|
401
|
+
*/
|
|
402
|
+
getBlockCanvas(): SVGElement | null;
|
|
403
|
+
/**
|
|
404
|
+
* Save resize handler data so we can delete it later in dispose.
|
|
405
|
+
*
|
|
406
|
+
* @param handler Data that can be passed to eventHandling.unbind.
|
|
407
|
+
*/
|
|
408
|
+
setResizeHandlerWrapper(handler: browserEvents.Data): void;
|
|
409
|
+
/**
|
|
410
|
+
* Create the workspace DOM elements.
|
|
411
|
+
*
|
|
412
|
+
* @param opt_backgroundClass Either 'blocklyMainBackground' or
|
|
413
|
+
* 'blocklyMutatorBackground'.
|
|
414
|
+
* @returns The workspace's SVG group.
|
|
415
|
+
*/
|
|
416
|
+
createDom(opt_backgroundClass?: string, injectionDiv?: HTMLElement): Element;
|
|
417
|
+
/**
|
|
418
|
+
* Dispose of this workspace.
|
|
419
|
+
* Unlink from all DOM elements to prevent memory leaks.
|
|
420
|
+
*/
|
|
421
|
+
dispose(): void;
|
|
422
|
+
/**
|
|
423
|
+
* Add a trashcan.
|
|
424
|
+
*
|
|
425
|
+
* @internal
|
|
426
|
+
*/
|
|
427
|
+
addTrashcan(): void;
|
|
428
|
+
/**
|
|
429
|
+
* @param _workspace
|
|
430
|
+
* @internal
|
|
431
|
+
*/
|
|
432
|
+
static newTrashcan(_workspace: WorkspaceSvg): Trashcan;
|
|
433
|
+
/**
|
|
434
|
+
* Add zoom controls.
|
|
435
|
+
*
|
|
436
|
+
* @internal
|
|
437
|
+
*/
|
|
438
|
+
addZoomControls(): void;
|
|
439
|
+
/**
|
|
440
|
+
* Creates a new set of options from this workspace's options with just the
|
|
441
|
+
* values that are relevant to a flyout.
|
|
442
|
+
*
|
|
443
|
+
* @returns A subset of this workspace's options.
|
|
444
|
+
*/
|
|
445
|
+
copyOptionsForFlyout(): Options;
|
|
446
|
+
/**
|
|
447
|
+
* Add a flyout element in an element with the given tag name.
|
|
448
|
+
*
|
|
449
|
+
* @param tagName What type of tag the flyout belongs in.
|
|
450
|
+
* @returns The element containing the flyout DOM.
|
|
451
|
+
* @internal
|
|
452
|
+
*/
|
|
453
|
+
addFlyout(tagName: string | Svg<SVGSVGElement> | Svg<SVGGElement>): Element;
|
|
454
|
+
/**
|
|
455
|
+
* Getter for the flyout associated with this workspace. This flyout may be
|
|
456
|
+
* owned by either the toolbox or the workspace, depending on toolbox
|
|
457
|
+
* configuration. It will be null if there is no flyout.
|
|
458
|
+
*
|
|
459
|
+
* @param opt_own Whether to only return the workspace's own flyout.
|
|
460
|
+
* @returns The flyout on this workspace.
|
|
461
|
+
*/
|
|
462
|
+
getFlyout(opt_own?: boolean): IFlyout | null;
|
|
463
|
+
/**
|
|
464
|
+
* Getter for the toolbox associated with this workspace, if one exists.
|
|
465
|
+
*
|
|
466
|
+
* @returns The toolbox on this workspace.
|
|
467
|
+
*/
|
|
468
|
+
getToolbox(): IToolbox | null;
|
|
469
|
+
/**
|
|
470
|
+
* Update items that use screen coordinate calculations
|
|
471
|
+
* because something has changed (e.g. scroll position, window size).
|
|
472
|
+
*/
|
|
473
|
+
private updateScreenCalculations;
|
|
474
|
+
/**
|
|
475
|
+
* If enabled, resize the parts of the workspace that change when the
|
|
476
|
+
* workspace contents (e.g. block positions) change. This will also scroll
|
|
477
|
+
* the workspace contents if needed.
|
|
478
|
+
*
|
|
479
|
+
* @internal
|
|
480
|
+
*/
|
|
481
|
+
resizeContents(): void;
|
|
482
|
+
/**
|
|
483
|
+
* Resize and reposition all of the workspace chrome (toolbox,
|
|
484
|
+
* trash, scrollbars etc.)
|
|
485
|
+
* This should be called when something changes that
|
|
486
|
+
* requires recalculating dimensions and positions of the
|
|
487
|
+
* trash, zoom, toolbox, etc. (e.g. window resize).
|
|
488
|
+
*/
|
|
489
|
+
resize(): void;
|
|
490
|
+
/**
|
|
491
|
+
* Resizes and repositions workspace chrome if the page has a new
|
|
492
|
+
* scroll position.
|
|
493
|
+
*
|
|
494
|
+
* @internal
|
|
495
|
+
*/
|
|
496
|
+
updateScreenCalculationsIfScrolled(): void;
|
|
497
|
+
/**
|
|
498
|
+
* @returns The layer manager for this workspace.
|
|
499
|
+
* @internal
|
|
500
|
+
*/
|
|
501
|
+
getLayerManager(): LayerManager | null;
|
|
502
|
+
/**
|
|
503
|
+
* Get the SVG element that forms the drawing surface.
|
|
504
|
+
*
|
|
505
|
+
* @returns SVG group element.
|
|
506
|
+
*/
|
|
507
|
+
getCanvas(): SVGGElement;
|
|
508
|
+
/**
|
|
509
|
+
* Caches the width and height of the workspace's parent SVG element for use
|
|
510
|
+
* with getSvgMetrics.
|
|
511
|
+
*
|
|
512
|
+
* @param width The width of the parent SVG element.
|
|
513
|
+
* @param height The height of the parent SVG element
|
|
514
|
+
* @internal
|
|
515
|
+
*/
|
|
516
|
+
setCachedParentSvgSize(width: number | null, height: number | null): void;
|
|
517
|
+
/**
|
|
518
|
+
* Get the SVG element that forms the bubble surface.
|
|
519
|
+
*
|
|
520
|
+
* @returns SVG group element.
|
|
521
|
+
*/
|
|
522
|
+
getBubbleCanvas(): SVGGElement;
|
|
523
|
+
/**
|
|
524
|
+
* Get the SVG element that contains this workspace.
|
|
525
|
+
* Note: We assume this is only called after the workspace has been injected
|
|
526
|
+
* into the DOM.
|
|
527
|
+
*
|
|
528
|
+
* @returns SVG element.
|
|
529
|
+
*/
|
|
530
|
+
getParentSvg(): SVGSVGElement;
|
|
531
|
+
/**
|
|
532
|
+
* Fires a viewport event if events are enabled and there is a change in
|
|
533
|
+
* viewport values.
|
|
534
|
+
*
|
|
535
|
+
* @internal
|
|
536
|
+
*/
|
|
537
|
+
maybeFireViewportChangeEvent(): void;
|
|
538
|
+
/**
|
|
539
|
+
* Translate this workspace to new coordinates.
|
|
540
|
+
*
|
|
541
|
+
* @param x Horizontal translation, in pixel units relative to the top left of
|
|
542
|
+
* the Blockly div.
|
|
543
|
+
* @param y Vertical translation, in pixel units relative to the top left of
|
|
544
|
+
* the Blockly div.
|
|
545
|
+
*/
|
|
546
|
+
translate(x: number, y: number): void;
|
|
547
|
+
/**
|
|
548
|
+
* Returns the horizontal offset of the workspace.
|
|
549
|
+
* Intended for LTR/RTL compatibility in XML.
|
|
550
|
+
*
|
|
551
|
+
* @returns Width.
|
|
552
|
+
*/
|
|
553
|
+
getWidth(): number;
|
|
554
|
+
/**
|
|
555
|
+
* Toggles the visibility of the workspace.
|
|
556
|
+
* Currently only intended for main workspace.
|
|
557
|
+
*
|
|
558
|
+
* @param isVisible True if workspace should be visible.
|
|
559
|
+
*/
|
|
560
|
+
setVisible(isVisible: boolean): void;
|
|
561
|
+
/**
|
|
562
|
+
* Render all blocks in workspace.
|
|
563
|
+
*/
|
|
564
|
+
render(): void;
|
|
565
|
+
/**
|
|
566
|
+
* Highlight or unhighlight a block in the workspace. Block highlighting is
|
|
567
|
+
* often used to visually mark blocks currently being executed.
|
|
568
|
+
*
|
|
569
|
+
* @param id ID of block to highlight/unhighlight, or null for no block (used
|
|
570
|
+
* to unhighlight all blocks).
|
|
571
|
+
* @param opt_state If undefined, highlight specified block and automatically
|
|
572
|
+
* unhighlight all others. If true or false, manually
|
|
573
|
+
* highlight/unhighlight the specified block.
|
|
574
|
+
*/
|
|
575
|
+
highlightBlock(id: string | null, opt_state?: boolean): void;
|
|
576
|
+
/**
|
|
577
|
+
* Handles any necessary updates when a variable changes.
|
|
578
|
+
*
|
|
579
|
+
* @internal
|
|
580
|
+
*/
|
|
581
|
+
private variableChangeCallback;
|
|
582
|
+
/**
|
|
583
|
+
* Refresh the toolbox unless there's a drag in progress.
|
|
584
|
+
*
|
|
585
|
+
* @internal
|
|
586
|
+
*/
|
|
587
|
+
refreshToolboxSelection(): void;
|
|
588
|
+
/** Make a list of all the delete areas for this workspace. */
|
|
589
|
+
recordDragTargets(): void;
|
|
590
|
+
/**
|
|
591
|
+
* Obtain a newly created block.
|
|
592
|
+
*
|
|
593
|
+
* @param prototypeName Name of the language object containing type-specific
|
|
594
|
+
* functions for this block.
|
|
595
|
+
* @param opt_id Optional ID. Use this ID if provided, otherwise create a new
|
|
596
|
+
* ID.
|
|
597
|
+
* @returns The created block.
|
|
598
|
+
*/
|
|
599
|
+
newBlock(prototypeName: string, opt_id?: string): BlockSvg;
|
|
600
|
+
/**
|
|
601
|
+
* Obtain a newly created comment.
|
|
602
|
+
*
|
|
603
|
+
* @param id Optional ID. Use this ID if provided, otherwise create a new
|
|
604
|
+
* ID.
|
|
605
|
+
* @returns The created comment.
|
|
606
|
+
*/
|
|
607
|
+
newComment(id?: string): WorkspaceComment;
|
|
608
|
+
/**
|
|
609
|
+
* Returns the drag target the pointer event is over.
|
|
610
|
+
*
|
|
611
|
+
* @param e Pointer move event.
|
|
612
|
+
* @returns Null if not over a drag target, or the drag target the event is
|
|
613
|
+
* over.
|
|
614
|
+
*/
|
|
615
|
+
getDragTarget(e: PointerEvent): IDragTarget | null;
|
|
616
|
+
/**
|
|
617
|
+
* Handle a pointerdown on SVG drawing surface.
|
|
618
|
+
*
|
|
619
|
+
* @param e Pointer down event.
|
|
620
|
+
*/
|
|
621
|
+
private onMouseDown;
|
|
622
|
+
/**
|
|
623
|
+
* Start tracking a drag of an object on this workspace.
|
|
624
|
+
*
|
|
625
|
+
* @param e Pointer down event.
|
|
626
|
+
* @param xy Starting location of object.
|
|
627
|
+
*/
|
|
628
|
+
startDrag(e: PointerEvent, xy: Coordinate): void;
|
|
629
|
+
/**
|
|
630
|
+
* Track a drag of an object on this workspace.
|
|
631
|
+
*
|
|
632
|
+
* @param e Pointer move event.
|
|
633
|
+
* @returns New location of object.
|
|
634
|
+
*/
|
|
635
|
+
moveDrag(e: PointerEvent): Coordinate;
|
|
636
|
+
/**
|
|
637
|
+
* Indicate whether a keyboard move is in progress or not.
|
|
638
|
+
*
|
|
639
|
+
* Should be called with true when a keyboard move of an IDraggable
|
|
640
|
+
* is starts, and false when it finishes or is aborted.
|
|
641
|
+
*
|
|
642
|
+
* N.B.: This method is experimental and internal-only. It is
|
|
643
|
+
* intended only to called only from the keyboard navigation plugin.
|
|
644
|
+
* Its signature and behaviour may be modified, or the method
|
|
645
|
+
* removed, at an time without notice and without being treated
|
|
646
|
+
* as a breaking change.
|
|
647
|
+
*
|
|
648
|
+
* TODO(#8960): Delete this.
|
|
649
|
+
*
|
|
650
|
+
* @internal
|
|
651
|
+
* @param inProgress Is a keyboard-initated move in progress?
|
|
652
|
+
*/
|
|
653
|
+
setKeyboardMoveInProgress(inProgress: boolean): void;
|
|
654
|
+
/**
|
|
655
|
+
* Returns true iff the user is currently engaged in a drag gesture,
|
|
656
|
+
* or if a keyboard-initated move is in progress.
|
|
657
|
+
*
|
|
658
|
+
* Dragging gestures normally entail moving a block or other item on
|
|
659
|
+
* the workspace, or scrolling the flyout/workspace.
|
|
660
|
+
*
|
|
661
|
+
* Keyboard-initated movements are implemnted using the dragging
|
|
662
|
+
* infrastructure and are intended to emulate (a subset of) drag
|
|
663
|
+
* gestures and so should typically be treated as if they were a
|
|
664
|
+
* gesture-based drag.
|
|
665
|
+
*
|
|
666
|
+
* @returns True iff a drag gesture or keyboard move is in porgress.
|
|
667
|
+
*/
|
|
668
|
+
isDragging(): boolean;
|
|
669
|
+
/**
|
|
670
|
+
* Is this workspace draggable?
|
|
671
|
+
*
|
|
672
|
+
* @returns True if this workspace may be dragged.
|
|
673
|
+
*/
|
|
674
|
+
isDraggable(): boolean;
|
|
675
|
+
/**
|
|
676
|
+
* Is this workspace movable?
|
|
677
|
+
*
|
|
678
|
+
* This means the user can reposition the X Y coordinates of the workspace
|
|
679
|
+
* through input. This can be through scrollbars, scroll wheel, dragging, or
|
|
680
|
+
* through zooming with the scroll wheel or pinch (since the zoom is centered
|
|
681
|
+
* on the mouse position). This does not include zooming with the zoom
|
|
682
|
+
* controls since the X Y coordinates are decided programmatically.
|
|
683
|
+
*
|
|
684
|
+
* @returns True if the workspace is movable, false otherwise.
|
|
685
|
+
*/
|
|
686
|
+
isMovable(): boolean;
|
|
687
|
+
/**
|
|
688
|
+
* Is this workspace movable horizontally?
|
|
689
|
+
*
|
|
690
|
+
* @returns True if the workspace is movable horizontally, false otherwise.
|
|
691
|
+
*/
|
|
692
|
+
isMovableHorizontally(): boolean;
|
|
693
|
+
/**
|
|
694
|
+
* Is this workspace movable vertically?
|
|
695
|
+
*
|
|
696
|
+
* @returns True if the workspace is movable vertically, false otherwise.
|
|
697
|
+
*/
|
|
698
|
+
isMovableVertically(): boolean;
|
|
699
|
+
/**
|
|
700
|
+
* Handle a mouse-wheel on SVG drawing surface.
|
|
701
|
+
*
|
|
702
|
+
* @param e Mouse wheel event.
|
|
703
|
+
*/
|
|
704
|
+
private onMouseWheel;
|
|
705
|
+
/**
|
|
706
|
+
* Calculate the bounding box for the blocks on the workspace.
|
|
707
|
+
* Coordinate system: workspace coordinates.
|
|
708
|
+
*
|
|
709
|
+
* @returns Contains the position and size of the bounding box containing the
|
|
710
|
+
* blocks on the workspace.
|
|
711
|
+
*/
|
|
712
|
+
getBlocksBoundingBox(): Rect;
|
|
713
|
+
/** Clean up the workspace by ordering all the blocks in a column such that none overlap. */
|
|
714
|
+
cleanUp(): void;
|
|
715
|
+
/**
|
|
716
|
+
* Show the context menu for the workspace.
|
|
717
|
+
*
|
|
718
|
+
* @param e Mouse event.
|
|
719
|
+
* @internal
|
|
720
|
+
*/
|
|
721
|
+
showContextMenu(e: Event): void;
|
|
722
|
+
/**
|
|
723
|
+
* Modify the block tree on the existing toolbox.
|
|
724
|
+
*
|
|
725
|
+
* @param toolboxDef DOM tree of toolbox contents, string of toolbox contents,
|
|
726
|
+
* or JSON representing toolbox definition.
|
|
727
|
+
*/
|
|
728
|
+
updateToolbox(toolboxDef: toolbox.ToolboxDefinition | null): void;
|
|
729
|
+
/** Mark this workspace as the currently focused main workspace. */
|
|
730
|
+
markFocused(): void;
|
|
731
|
+
/**
|
|
732
|
+
* Zooms the workspace in or out relative to/centered on the given (x, y)
|
|
733
|
+
* coordinate.
|
|
734
|
+
*
|
|
735
|
+
* @param x X coordinate of center, in pixel units relative to the top-left
|
|
736
|
+
* corner of the parentSVG.
|
|
737
|
+
* @param y Y coordinate of center, in pixel units relative to the top-left
|
|
738
|
+
* corner of the parentSVG.
|
|
739
|
+
* @param amount Amount of zooming. The formula for the new scale is newScale
|
|
740
|
+
* = currentScale * (scaleSpeed^amount). scaleSpeed is set in the
|
|
741
|
+
* workspace options. Negative amount values zoom out, and positive amount
|
|
742
|
+
* values zoom in.
|
|
743
|
+
*/
|
|
744
|
+
zoom(x: number, y: number, amount: number): void;
|
|
745
|
+
/**
|
|
746
|
+
* Zooming the blocks centered in the center of view with zooming in or out.
|
|
747
|
+
*
|
|
748
|
+
* @param type Type of zooming (-1 zooming out and 1 zooming in).
|
|
749
|
+
*/
|
|
750
|
+
zoomCenter(type: number): void;
|
|
751
|
+
/** Zoom the blocks to fit in the workspace if possible. */
|
|
752
|
+
zoomToFit(): void;
|
|
753
|
+
/**
|
|
754
|
+
* Add a transition class to the block and bubble canvas, to animate any
|
|
755
|
+
* transform changes.
|
|
756
|
+
*
|
|
757
|
+
* @internal
|
|
758
|
+
*/
|
|
759
|
+
beginCanvasTransition(): void;
|
|
760
|
+
/**
|
|
761
|
+
* Remove transition class from the block and bubble canvas.
|
|
762
|
+
*
|
|
763
|
+
* @internal
|
|
764
|
+
*/
|
|
765
|
+
endCanvasTransition(): void;
|
|
766
|
+
/** Center the workspace. */
|
|
767
|
+
scrollCenter(): void;
|
|
768
|
+
/**
|
|
769
|
+
* Scroll the workspace to center on the given block. If the block has other
|
|
770
|
+
* blocks stacked below it, the workspace will be centered on the stack,
|
|
771
|
+
* unless blockOnly is true.
|
|
772
|
+
*
|
|
773
|
+
* @param id ID of block center on.
|
|
774
|
+
* @param blockOnly True to center only on the block itself, not its stack.
|
|
775
|
+
*/
|
|
776
|
+
centerOnBlock(id: string | null, blockOnly?: boolean): void;
|
|
777
|
+
/**
|
|
778
|
+
* Set the workspace's zoom factor.
|
|
779
|
+
*
|
|
780
|
+
* @param newScale Zoom factor. Units: (pixels / workspaceUnit).
|
|
781
|
+
*/
|
|
782
|
+
setScale(newScale: number): void;
|
|
783
|
+
/**
|
|
784
|
+
* Get the workspace's zoom factor.
|
|
785
|
+
*
|
|
786
|
+
* @returns The workspace zoom factor. Units: (pixels / workspaceUnit).
|
|
787
|
+
*/
|
|
788
|
+
getScale(): number;
|
|
789
|
+
/**
|
|
790
|
+
* Returns the absolute scale of the workspace.
|
|
791
|
+
*
|
|
792
|
+
* Workspace scaling is multiplicative; if a workspace B (e.g. a mutator editor)
|
|
793
|
+
* with scale Y is nested within a root workspace A with scale X, workspace B's
|
|
794
|
+
* effective scale is X * Y, because, as a child of A, it is already transformed
|
|
795
|
+
* by A's scaling factor, and then further transforms itself by its own scaling
|
|
796
|
+
* factor. Normally this Just Works, but for global elements (e.g. field
|
|
797
|
+
* editors) that are visually associated with a particular workspace but live at
|
|
798
|
+
* the top level of the DOM rather than being a child of their associated
|
|
799
|
+
* workspace, the absolute/effective scale may be needed to render
|
|
800
|
+
* appropriately.
|
|
801
|
+
*
|
|
802
|
+
* @returns The absolute/effective scale of the given workspace.
|
|
803
|
+
*/
|
|
804
|
+
getAbsoluteScale(): number;
|
|
805
|
+
/**
|
|
806
|
+
* Scroll the workspace to a specified offset (in pixels), keeping in the
|
|
807
|
+
* workspace bounds. See comment on workspaceSvg.scrollX for more detail on
|
|
808
|
+
* the meaning of these values.
|
|
809
|
+
*
|
|
810
|
+
* @param x Target X to scroll to.
|
|
811
|
+
* @param y Target Y to scroll to.
|
|
812
|
+
*/
|
|
813
|
+
scroll(x: number, y: number): void;
|
|
814
|
+
/**
|
|
815
|
+
* Find the block on this workspace with the specified ID.
|
|
816
|
+
*
|
|
817
|
+
* @param id ID of block to find.
|
|
818
|
+
* @returns The sought after block, or null if not found.
|
|
819
|
+
*/
|
|
820
|
+
getBlockById(id: string): BlockSvg | null;
|
|
821
|
+
/**
|
|
822
|
+
* Find all blocks in workspace. Blocks are optionally sorted
|
|
823
|
+
* by position; top to bottom (with slight LTR or RTL bias).
|
|
824
|
+
*
|
|
825
|
+
* @param ordered Sort the list if true.
|
|
826
|
+
* @returns Array of blocks.
|
|
827
|
+
*/
|
|
828
|
+
getAllBlocks(ordered?: boolean): BlockSvg[];
|
|
829
|
+
/**
|
|
830
|
+
* Finds the top-level blocks and returns them. Blocks are optionally sorted
|
|
831
|
+
* by position; top to bottom (with slight LTR or RTL bias).
|
|
832
|
+
*
|
|
833
|
+
* @param ordered Sort the list if true.
|
|
834
|
+
* @returns The top-level block objects.
|
|
835
|
+
*/
|
|
836
|
+
getTopBlocks(ordered?: boolean): BlockSvg[];
|
|
837
|
+
/**
|
|
838
|
+
* Adds a block to the list of top blocks.
|
|
839
|
+
*
|
|
840
|
+
* @param block Block to add.
|
|
841
|
+
*/
|
|
842
|
+
addTopBlock(block: Block): void;
|
|
843
|
+
/**
|
|
844
|
+
* Removes a block from the list of top blocks.
|
|
845
|
+
*
|
|
846
|
+
* @param block Block to remove.
|
|
847
|
+
*/
|
|
848
|
+
removeTopBlock(block: Block): void;
|
|
849
|
+
/**
|
|
850
|
+
* Adds a comment to the list of top comments.
|
|
851
|
+
*
|
|
852
|
+
* @param comment comment to add.
|
|
853
|
+
*/
|
|
854
|
+
addTopComment(comment: RenderedWorkspaceComment): void;
|
|
855
|
+
/**
|
|
856
|
+
* Removes a comment from the list of top comments.
|
|
857
|
+
*
|
|
858
|
+
* @param comment comment to remove.
|
|
859
|
+
*/
|
|
860
|
+
removeTopComment(comment: RenderedWorkspaceComment): void;
|
|
861
|
+
/**
|
|
862
|
+
* Returns a list of comments on this workspace.
|
|
863
|
+
*
|
|
864
|
+
* @param ordered If true, sorts the comments based on their position.
|
|
865
|
+
* @returns A list of workspace comments.
|
|
866
|
+
*/
|
|
867
|
+
getTopComments(ordered?: boolean): RenderedWorkspaceComment[];
|
|
868
|
+
/**
|
|
869
|
+
* Returns the workspace comment with the given ID, if any.
|
|
870
|
+
*
|
|
871
|
+
* @param id The ID of the comment to retrieve.
|
|
872
|
+
* @returns The workspace comment with the given ID, or null.
|
|
873
|
+
*/
|
|
874
|
+
getCommentById(id: string): RenderedWorkspaceComment | null;
|
|
875
|
+
getRootWorkspace(): WorkspaceSvg | null;
|
|
876
|
+
/**
|
|
877
|
+
* Adds a bounded element to the list of top bounded elements.
|
|
878
|
+
*
|
|
879
|
+
* @param element Bounded element to add.
|
|
880
|
+
*/
|
|
881
|
+
addTopBoundedElement(element: IBoundedElement): void;
|
|
882
|
+
/**
|
|
883
|
+
* Removes a bounded element from the list of top bounded elements.
|
|
884
|
+
*
|
|
885
|
+
* @param element Bounded element to remove.
|
|
886
|
+
*/
|
|
887
|
+
removeTopBoundedElement(element: IBoundedElement): void;
|
|
888
|
+
/**
|
|
889
|
+
* Finds the top-level bounded elements and returns them.
|
|
890
|
+
*
|
|
891
|
+
* @returns The top-level bounded elements.
|
|
892
|
+
*/
|
|
893
|
+
getTopBoundedElements(ordered?: boolean): IBoundedElement[];
|
|
894
|
+
/**
|
|
895
|
+
* Update whether this workspace has resizes enabled.
|
|
896
|
+
* If enabled, workspace will resize when appropriate.
|
|
897
|
+
* If disabled, workspace will not resize until re-enabled.
|
|
898
|
+
* Use to avoid resizing during a batch operation, for performance.
|
|
899
|
+
*
|
|
900
|
+
* @param enabled Whether resizes should be enabled.
|
|
901
|
+
*/
|
|
902
|
+
setResizesEnabled(enabled: boolean): void;
|
|
903
|
+
/**
|
|
904
|
+
* Dispose of all blocks in workspace, with an optimization to prevent
|
|
905
|
+
* resizes.
|
|
906
|
+
*/
|
|
907
|
+
clear(): void;
|
|
908
|
+
/**
|
|
909
|
+
* Register a callback function associated with a given key, for clicks on
|
|
910
|
+
* buttons and labels in the flyout.
|
|
911
|
+
* For instance, a button specified by the XML
|
|
912
|
+
* <button text="create variable" callbackKey="CREATE_VARIABLE"></button>
|
|
913
|
+
* should be matched by a call to
|
|
914
|
+
* registerButtonCallback("CREATE_VARIABLE", yourCallbackFunction).
|
|
915
|
+
*
|
|
916
|
+
* @param key The name to use to look up this function.
|
|
917
|
+
* @param func The function to call when the given button is clicked.
|
|
918
|
+
*/
|
|
919
|
+
registerButtonCallback(key: string, func: (p1: FlyoutButton) => void): void;
|
|
920
|
+
/**
|
|
921
|
+
* Get the callback function associated with a given key, for clicks on
|
|
922
|
+
* buttons and labels in the flyout.
|
|
923
|
+
*
|
|
924
|
+
* @param key The name to use to look up the function.
|
|
925
|
+
* @returns The function corresponding to the given key for this workspace;
|
|
926
|
+
* null if no callback is registered.
|
|
927
|
+
*/
|
|
928
|
+
getButtonCallback(key: string): ((p1: FlyoutButton) => void) | null;
|
|
929
|
+
/**
|
|
930
|
+
* Remove a callback for a click on a button in the flyout.
|
|
931
|
+
*
|
|
932
|
+
* @param key The name associated with the callback function.
|
|
933
|
+
*/
|
|
934
|
+
removeButtonCallback(key: string): void;
|
|
935
|
+
/**
|
|
936
|
+
* Register a callback function associated with a given key, for populating
|
|
937
|
+
* custom toolbox categories in this workspace. See the variable and
|
|
938
|
+
* procedure categories as an example.
|
|
939
|
+
*
|
|
940
|
+
* @param key The name to use to look up this function.
|
|
941
|
+
* @param func The function to call when the given toolbox category is opened.
|
|
942
|
+
*/
|
|
943
|
+
registerToolboxCategoryCallback(key: string, func: (p1: WorkspaceSvg) => toolbox.FlyoutDefinition): void;
|
|
944
|
+
/**
|
|
945
|
+
* Get the callback function associated with a given key, for populating
|
|
946
|
+
* custom toolbox categories in this workspace.
|
|
947
|
+
*
|
|
948
|
+
* @param key The name to use to look up the function.
|
|
949
|
+
* @returns The function corresponding to the given key for this workspace, or
|
|
950
|
+
* null if no function is registered.
|
|
951
|
+
*/
|
|
952
|
+
getToolboxCategoryCallback(key: string): ((p1: WorkspaceSvg) => toolbox.FlyoutDefinition) | null;
|
|
953
|
+
/**
|
|
954
|
+
* Remove a callback for a click on a custom category's name in the toolbox.
|
|
955
|
+
*
|
|
956
|
+
* @param key The name associated with the callback function.
|
|
957
|
+
*/
|
|
958
|
+
removeToolboxCategoryCallback(key: string): void;
|
|
959
|
+
/**
|
|
960
|
+
* Look up the gesture that is tracking this touch stream on this workspace.
|
|
961
|
+
*
|
|
962
|
+
* Returns the gesture in progress, except:
|
|
963
|
+
*
|
|
964
|
+
* - If there is a keyboard-initiate move in progress then null will
|
|
965
|
+
* be returned - after calling event.preventDefault() and
|
|
966
|
+
* event.stopPropagation() to ensure the pointer event is ignored.
|
|
967
|
+
* - If there is a gesture in progress but event.type is
|
|
968
|
+
* 'pointerdown' then the in-progress gesture will be cancelled;
|
|
969
|
+
* this will result in null being returned.
|
|
970
|
+
* - If no gesutre is in progress but event is a pointerdown then a
|
|
971
|
+
* new gesture will be created and returned.
|
|
972
|
+
*
|
|
973
|
+
* @param e Pointer event.
|
|
974
|
+
* @returns The gesture that is tracking this touch stream, or null if no
|
|
975
|
+
* valid gesture exists.
|
|
976
|
+
* @internal
|
|
977
|
+
*/
|
|
978
|
+
getGesture(e?: PointerEvent): Gesture | null;
|
|
979
|
+
/**
|
|
980
|
+
* Clear the reference to the current gesture.
|
|
981
|
+
*
|
|
982
|
+
* @internal
|
|
983
|
+
*/
|
|
984
|
+
clearGesture(): void;
|
|
985
|
+
/**
|
|
986
|
+
* Cancel the current gesture, if one exists.
|
|
987
|
+
*
|
|
988
|
+
* @internal
|
|
989
|
+
*/
|
|
990
|
+
cancelCurrentGesture(): void;
|
|
991
|
+
/**
|
|
992
|
+
* Get the audio manager for this workspace.
|
|
993
|
+
*
|
|
994
|
+
* @returns The audio manager for this workspace.
|
|
995
|
+
*/
|
|
996
|
+
getAudioManager(): WorkspaceAudio;
|
|
997
|
+
/**
|
|
998
|
+
* Get the grid object for this workspace, or null if there is none.
|
|
999
|
+
*
|
|
1000
|
+
* @returns The grid object for this workspace.
|
|
1001
|
+
*/
|
|
1002
|
+
getGrid(): Grid | null;
|
|
1003
|
+
/**
|
|
1004
|
+
* Close tooltips, context menus, dropdown selections, etc.
|
|
1005
|
+
*
|
|
1006
|
+
* @param onlyClosePopups Whether only popups should be closed. Defaults to
|
|
1007
|
+
* false.
|
|
1008
|
+
*/
|
|
1009
|
+
hideChaff(onlyClosePopups?: boolean): void;
|
|
1010
|
+
/**
|
|
1011
|
+
* Hide any autohideable components (like flyout, trashcan, and any
|
|
1012
|
+
* user-registered components).
|
|
1013
|
+
*
|
|
1014
|
+
* @param onlyClosePopups Whether only popups should be closed. Defaults to
|
|
1015
|
+
* false.
|
|
1016
|
+
*/
|
|
1017
|
+
hideComponents(onlyClosePopups?: boolean): void;
|
|
1018
|
+
/**
|
|
1019
|
+
* Sets the X/Y translations of a top level workspace.
|
|
1020
|
+
*
|
|
1021
|
+
* @param xyRatio Contains an x and/or y property which is a float between 0
|
|
1022
|
+
* and 1 specifying the degree of scrolling.
|
|
1023
|
+
*/
|
|
1024
|
+
private static setTopLevelWorkspaceMetrics;
|
|
1025
|
+
/**
|
|
1026
|
+
* Adds a CSS class to the workspace.
|
|
1027
|
+
*
|
|
1028
|
+
* @param className Name of class to add.
|
|
1029
|
+
*/
|
|
1030
|
+
addClass(className: string): void;
|
|
1031
|
+
/**
|
|
1032
|
+
* Removes a CSS class from the workspace.
|
|
1033
|
+
*
|
|
1034
|
+
* @param className Name of class to remove.
|
|
1035
|
+
*/
|
|
1036
|
+
removeClass(className: string): void;
|
|
1037
|
+
setIsReadOnly(readOnly: boolean): void;
|
|
1038
|
+
/**
|
|
1039
|
+
* Scrolls the provided bounds into view.
|
|
1040
|
+
*
|
|
1041
|
+
* In the case of small workspaces/large bounds, this function prioritizes
|
|
1042
|
+
* getting the top left corner of the bounds into view. It also adds some
|
|
1043
|
+
* padding around the bounds to allow the element to be comfortably in view.
|
|
1044
|
+
*
|
|
1045
|
+
* @internal
|
|
1046
|
+
* @param bounds A rectangle to scroll into view, as best as possible.
|
|
1047
|
+
* @param padding Amount of spacing to put between the bounds and the edge of
|
|
1048
|
+
* the workspace's viewport.
|
|
1049
|
+
*/
|
|
1050
|
+
scrollBoundsIntoView(bounds: Rect, padding?: number): void;
|
|
1051
|
+
/** See IFocusableNode.getFocusableElement. */
|
|
1052
|
+
getFocusableElement(): HTMLElement | SVGElement;
|
|
1053
|
+
/** See IFocusableNode.getFocusableTree. */
|
|
1054
|
+
getFocusableTree(): IFocusableTree;
|
|
1055
|
+
/** See IFocusableNode.onNodeFocus. */
|
|
1056
|
+
onNodeFocus(): void;
|
|
1057
|
+
/** See IFocusableNode.onNodeBlur. */
|
|
1058
|
+
onNodeBlur(): void;
|
|
1059
|
+
/** See IFocusableNode.canBeFocused. */
|
|
1060
|
+
canBeFocused(): boolean;
|
|
1061
|
+
/** See IFocusableTree.getRootFocusableNode. */
|
|
1062
|
+
getRootFocusableNode(): IFocusableNode;
|
|
1063
|
+
/** See IFocusableTree.getRestoredFocusableNode. */
|
|
1064
|
+
getRestoredFocusableNode(previousNode: IFocusableNode | null): IFocusableNode | null;
|
|
1065
|
+
/** See IFocusableTree.getNestedTrees. */
|
|
1066
|
+
getNestedTrees(): Array<IFocusableTree>;
|
|
1067
|
+
/**
|
|
1068
|
+
* Used for searching for a specific workspace comment.
|
|
1069
|
+
* We can't use this.getWorkspaceCommentById because the workspace
|
|
1070
|
+
* comment ids might not be globally unique, but the id assigned to
|
|
1071
|
+
* the focusable element for the comment should be.
|
|
1072
|
+
*/
|
|
1073
|
+
private searchForWorkspaceComment;
|
|
1074
|
+
/** See IFocusableTree.lookUpFocusableNode. */
|
|
1075
|
+
lookUpFocusableNode(id: string): IFocusableNode | null;
|
|
1076
|
+
/** See IFocusableTree.onTreeFocus. */
|
|
1077
|
+
onTreeFocus(_node: IFocusableNode, _previousTree: IFocusableTree | null): void;
|
|
1078
|
+
/** See IFocusableTree.onTreeBlur. */
|
|
1079
|
+
onTreeBlur(nextTree: IFocusableTree | null): void;
|
|
1080
|
+
/**
|
|
1081
|
+
* Returns an object responsible for coordinating movement of focus between
|
|
1082
|
+
* items on this workspace in response to keyboard navigation commands.
|
|
1083
|
+
*
|
|
1084
|
+
* @returns This workspace's Navigator instance.
|
|
1085
|
+
*/
|
|
1086
|
+
getNavigator(): Navigator;
|
|
1087
|
+
/**
|
|
1088
|
+
* Sets the Navigator instance used by this workspace.
|
|
1089
|
+
*
|
|
1090
|
+
* @param newNavigator A Navigator object to coordinate movement between
|
|
1091
|
+
* elements on the workspace.
|
|
1092
|
+
*/
|
|
1093
|
+
setNavigator(newNavigator: Navigator): void;
|
|
1094
|
+
}
|
|
1095
|
+
/**
|
|
1096
|
+
* Size the workspace when the contents change. This also updates
|
|
1097
|
+
* scrollbars accordingly.
|
|
1098
|
+
*
|
|
1099
|
+
* @param workspace The workspace to resize.
|
|
1100
|
+
* @internal
|
|
1101
|
+
*/
|
|
1102
|
+
export declare function resizeSvgContents(workspace: WorkspaceSvg): void;
|
|
1103
|
+
//# sourceMappingURL=workspace_svg.d.ts.map
|