From d95c7a2a385b31c1b3dbbf63be2a71baecd2a95d Mon Sep 17 00:00:00 2001 From: Beka Westberg Date: Fri, 8 Jul 2022 18:15:30 +0000 Subject: [PATCH] remove side-effect imports --- core/block.ts | 7 - core/block_dragger.ts | 3 +- core/block_svg.ts | 7 - core/bubble.ts | 5 - core/bubble_dragger.ts | 5 - core/comment.ts | 12 - core/connection.ts | 3 +- core/connection_db.ts | 3 +- core/field.ts | 7 - core/field_checkbox.ts | 3 +- core/field_colour.ts | 3 +- core/field_textinput.ts | 3 +- core/field_variable.ts | 3 +- core/flyout_vertical.ts | 5 - core/gesture.ts | 5 - core/input.ts | 3 +- .../i_ast_node_location_with_block.ts | 3 +- core/interfaces/i_block_dragger.ts | 6 +- core/interfaces/i_bounded_element.ts | 3 +- core/interfaces/i_bubble.ts | 6 +- core/interfaces/i_collapsible_toolbox_item.ts | 3 +- core/interfaces/i_connection_checker.ts | 6 +- core/interfaces/i_delete_area.ts | 3 +- core/interfaces/i_drag_target.ts | 6 +- core/interfaces/i_flyout.ts | 12 +- core/interfaces/i_keyboard_accessible.ts | 3 +- core/interfaces/i_metrics_manager.ts | 9 +- core/interfaces/i_positionable.ts | 6 +- core/interfaces/i_selectable_toolbox_item.ts | 3 +- core/interfaces/i_toolbox.ts | 12 +- core/internal.ts | 310 ++++++++++++++++++ core/main.js | 291 ---------------- core/mutator.ts | 3 +- core/names.ts | 3 +- core/positionable_helpers.ts | 3 +- core/procedures.ts | 3 +- core/renderers/common/i_path_object.ts | 9 +- core/renderers/common/marker_svg.ts | 3 +- core/renderers/common/path_object.ts | 3 +- core/renderers/geras/highlighter.ts | 3 +- core/renderers/geras/path_object.ts | 3 +- core/renderers/geras/renderer.ts | 3 +- core/renderers/zelos/path_object.ts | 3 +- core/renderers/zelos/renderer.ts | 3 +- core/toolbox/toolbox.ts | 5 - core/trashcan.ts | 5 - core/utils/toolbox.ts | 6 +- core/variable_map.ts | 5 - core/variable_model.ts | 3 +- core/warning.ts | 3 +- core/workspace.ts | 3 +- core/workspace_comment.ts | 7 - core/workspace_comment_svg.ts | 7 - core/workspace_svg.ts | 25 -- core/xml.ts | 9 - core/zoom_controls.ts | 6 - 56 files changed, 364 insertions(+), 521 deletions(-) create mode 100644 core/internal.ts delete mode 100644 core/main.js diff --git a/core/block.ts b/core/block.ts index b05af07db..0c0d996af 100644 --- a/core/block.ts +++ b/core/block.ts @@ -14,13 +14,6 @@ */ -// Unused import preserved for side-effects. Remove if unneeded. -import './events/events_block_change'; -// Unused import preserved for side-effects. Remove if unneeded. -import './events/events_block_create'; -// Unused import preserved for side-effects. Remove if unneeded. -import './events/events_block_delete'; - import {Blocks} from './blocks'; import type {Comment} from './comment'; import * as common from './common'; diff --git a/core/block_dragger.ts b/core/block_dragger.ts index 876f5224a..dd2936f2e 100644 --- a/core/block_dragger.ts +++ b/core/block_dragger.ts @@ -14,8 +14,7 @@ */ -// Unused import preserved for side-effects. Remove if unneeded. -import './events/events_block_drag'; + import * as blockAnimation from './block_animations'; import type {BlockSvg} from './block_svg'; diff --git a/core/block_svg.ts b/core/block_svg.ts index 3f0b2952f..996ddfb9f 100644 --- a/core/block_svg.ts +++ b/core/block_svg.ts @@ -14,13 +14,6 @@ */ -/* eslint-disable-next-line no-unused-vars */ -// Unused import preserved for side-effects. Remove if unneeded. -import './theme'; -// Unused import preserved for side-effects. Remove if unneeded. -import './events/events_selected'; -// Unused import preserved for side-effects. Remove if unneeded. -import './touch'; import {Block} from './block'; import * as blockAnimations from './block_animations'; diff --git a/core/bubble.ts b/core/bubble.ts index f30ba958a..5b01d242a 100644 --- a/core/bubble.ts +++ b/core/bubble.ts @@ -14,11 +14,6 @@ */ -/* eslint-disable-next-line no-unused-vars */ -// Unused import preserved for side-effects. Remove if unneeded. -import './metrics_manager'; -// Unused import preserved for side-effects. Remove if unneeded. -import './workspace'; import type {BlockDragSurfaceSvg} from './block_drag_surface'; import type {BlockSvg} from './block_svg'; diff --git a/core/bubble_dragger.ts b/core/bubble_dragger.ts index 8d2f15540..d0f2b7315 100644 --- a/core/bubble_dragger.ts +++ b/core/bubble_dragger.ts @@ -14,11 +14,6 @@ */ -// Unused import preserved for side-effects. Remove if unneeded. -import './bubble'; -// Unused import preserved for side-effects. Remove if unneeded. -import './constants'; - import type {BlockDragSurfaceSvg} from './block_drag_surface'; import {ComponentManager} from './component_manager'; import type {CommentMove} from './events/events_comment_move'; diff --git a/core/comment.ts b/core/comment.ts index 1211ff548..c4fde943e 100644 --- a/core/comment.ts +++ b/core/comment.ts @@ -14,18 +14,6 @@ */ -/* eslint-disable-next-line no-unused-vars */ -// Unused import preserved for side-effects. Remove if unneeded. -import './block'; -/* eslint-disable-next-line no-unused-vars */ -// Unused import preserved for side-effects. Remove if unneeded. -import './workspace_svg'; -// Unused import preserved for side-effects. Remove if unneeded. -import './events/events_block_change'; -// Unused import preserved for side-effects. Remove if unneeded. -import './events/events_bubble_open'; -// Unused import preserved for side-effects. Remove if unneeded. -import './warning'; import {CommentModel} from './block'; import type {BlockSvg} from './block_svg'; diff --git a/core/connection.ts b/core/connection.ts index 898d16dce..70f6c73f6 100644 --- a/core/connection.ts +++ b/core/connection.ts @@ -14,8 +14,7 @@ */ -// Unused import preserved for side-effects. Remove if unneeded. -import './constants'; + import type {Block} from './block'; import {ConnectionType} from './connection_type'; diff --git a/core/connection_db.ts b/core/connection_db.ts index bd44b25bf..a27f9fe2a 100644 --- a/core/connection_db.ts +++ b/core/connection_db.ts @@ -18,8 +18,7 @@ */ -// Unused import preserved for side-effects. Remove if unneeded. -import './constants'; + import {ConnectionType} from './connection_type'; import type {IConnectionChecker} from './interfaces/i_connection_checker'; diff --git a/core/field.ts b/core/field.ts index da8f4c6ec..b08f5fa50 100644 --- a/core/field.ts +++ b/core/field.ts @@ -18,13 +18,6 @@ */ -/* eslint-disable-next-line no-unused-vars */ -// Unused import preserved for side-effects. Remove if unneeded. -import './shortcut_registry'; -// Unused import preserved for side-effects. Remove if unneeded. -import './events/events_block_change'; -// Unused import preserved for side-effects. Remove if unneeded. -import './gesture'; import type {Block} from './block'; import type {BlockSvg} from './block_svg'; diff --git a/core/field_checkbox.ts b/core/field_checkbox.ts index 0a2ba28f3..b59ff91b7 100644 --- a/core/field_checkbox.ts +++ b/core/field_checkbox.ts @@ -14,8 +14,7 @@ */ -// Unused import preserved for side-effects. Remove if unneeded. -import './events/events_block_change'; + import {Field} from './field'; import * as fieldRegistry from './field_registry'; diff --git a/core/field_colour.ts b/core/field_colour.ts index 90dbe8c0c..441f2547c 100644 --- a/core/field_colour.ts +++ b/core/field_colour.ts @@ -14,8 +14,7 @@ */ -// Unused import preserved for side-effects. Remove if unneeded. -import './events/events_block_change'; + import {BlockSvg} from './block_svg'; import * as browserEvents from './browser_events'; diff --git a/core/field_textinput.ts b/core/field_textinput.ts index 4a064d0f6..ee238c09a 100644 --- a/core/field_textinput.ts +++ b/core/field_textinput.ts @@ -14,8 +14,7 @@ */ -// Unused import preserved for side-effects. Remove if unneeded. -import './events/events_block_change'; + import type {BlockSvg} from './block_svg'; import * as browserEvents from './browser_events'; diff --git a/core/field_variable.ts b/core/field_variable.ts index e1e27de14..591805da2 100644 --- a/core/field_variable.ts +++ b/core/field_variable.ts @@ -14,8 +14,7 @@ */ -// Unused import preserved for side-effects. Remove if unneeded. -import './events/events_block_change'; + import type {Block} from './block'; import {Field} from './field'; diff --git a/core/flyout_vertical.ts b/core/flyout_vertical.ts index f7224e5c3..c33e7dcd6 100644 --- a/core/flyout_vertical.ts +++ b/core/flyout_vertical.ts @@ -14,11 +14,6 @@ */ -// Unused import preserved for side-effects. Remove if unneeded. -import './block'; -// Unused import preserved for side-effects. Remove if unneeded. -import './constants'; - import * as browserEvents from './browser_events'; import * as dropDownDiv from './dropdowndiv'; import {Flyout, FlyoutItem} from './flyout_base'; diff --git a/core/gesture.ts b/core/gesture.ts index 89da33f59..7512acb24 100644 --- a/core/gesture.ts +++ b/core/gesture.ts @@ -16,11 +16,6 @@ */ -// Unused import preserved for side-effects. Remove if unneeded. -import './block_dragger'; -// Unused import preserved for side-effects. Remove if unneeded. -import './events/events_click'; - import * as blockAnimations from './block_animations'; import type {BlockSvg} from './block_svg'; import * as browserEvents from './browser_events'; diff --git a/core/input.ts b/core/input.ts index efe758346..3b920659a 100644 --- a/core/input.ts +++ b/core/input.ts @@ -14,8 +14,7 @@ */ -// Unused import preserved for side-effects. Remove if unneeded. -import './field_label'; + import type {Block} from './block'; import type {BlockSvg} from './block_svg'; diff --git a/core/interfaces/i_ast_node_location_with_block.ts b/core/interfaces/i_ast_node_location_with_block.ts index fbf283330..833316a9b 100644 --- a/core/interfaces/i_ast_node_location_with_block.ts +++ b/core/interfaces/i_ast_node_location_with_block.ts @@ -17,8 +17,7 @@ /* eslint-disable-next-line no-unused-vars */ -// Unused import preserved for side-effects. Remove if unneeded. -import '../block'; + import type {IASTNodeLocation} from './i_ast_node_location'; diff --git a/core/interfaces/i_block_dragger.ts b/core/interfaces/i_block_dragger.ts index d742464c9..0aa899402 100644 --- a/core/interfaces/i_block_dragger.ts +++ b/core/interfaces/i_block_dragger.ts @@ -15,11 +15,9 @@ /* eslint-disable-next-line no-unused-vars */ -// Unused import preserved for side-effects. Remove if unneeded. -import '../block_svg'; + /* eslint-disable-next-line no-unused-vars */ -// Unused import preserved for side-effects. Remove if unneeded. -import '../utils/coordinate'; + /** diff --git a/core/interfaces/i_bounded_element.ts b/core/interfaces/i_bounded_element.ts index aa6c22ea7..a604383ac 100644 --- a/core/interfaces/i_bounded_element.ts +++ b/core/interfaces/i_bounded_element.ts @@ -15,8 +15,7 @@ /* eslint-disable-next-line no-unused-vars */ -// Unused import preserved for side-effects. Remove if unneeded. -import '../utils/rect'; + /** diff --git a/core/interfaces/i_bubble.ts b/core/interfaces/i_bubble.ts index 68cabad40..2b37cb260 100644 --- a/core/interfaces/i_bubble.ts +++ b/core/interfaces/i_bubble.ts @@ -15,11 +15,9 @@ /* eslint-disable-next-line no-unused-vars */ -// Unused import preserved for side-effects. Remove if unneeded. -import '../block_drag_surface'; + /* eslint-disable-next-line no-unused-vars */ -// Unused import preserved for side-effects. Remove if unneeded. -import '../utils/coordinate'; + import type {IContextMenu} from './i_contextmenu'; import type {IDraggable} from './i_draggable'; diff --git a/core/interfaces/i_collapsible_toolbox_item.ts b/core/interfaces/i_collapsible_toolbox_item.ts index 26a6d099b..829af54f7 100644 --- a/core/interfaces/i_collapsible_toolbox_item.ts +++ b/core/interfaces/i_collapsible_toolbox_item.ts @@ -16,8 +16,7 @@ /* eslint-disable-next-line no-unused-vars */ /* eslint-disable-next-line no-unused-vars */ -// Unused import preserved for side-effects. Remove if unneeded. -import './i_toolbox_item'; + import {ISelectableToolboxItem} from './i_selectable_toolbox_item'; diff --git a/core/interfaces/i_connection_checker.ts b/core/interfaces/i_connection_checker.ts index 534a9da8f..cc5870c7b 100644 --- a/core/interfaces/i_connection_checker.ts +++ b/core/interfaces/i_connection_checker.ts @@ -17,11 +17,9 @@ /* eslint-disable-next-line no-unused-vars */ -// Unused import preserved for side-effects. Remove if unneeded. -import '../connection'; + /* eslint-disable-next-line no-unused-vars */ -// Unused import preserved for side-effects. Remove if unneeded. -import '../rendered_connection'; + /** diff --git a/core/interfaces/i_delete_area.ts b/core/interfaces/i_delete_area.ts index 2c7a71fb2..ea9dd0e5b 100644 --- a/core/interfaces/i_delete_area.ts +++ b/core/interfaces/i_delete_area.ts @@ -18,8 +18,7 @@ /* eslint-disable-next-line no-unused-vars */ /* eslint-disable-next-line no-unused-vars */ -// Unused import preserved for side-effects. Remove if unneeded. -import './i_draggable'; + import {IDragTarget} from './i_drag_target'; diff --git a/core/interfaces/i_drag_target.ts b/core/interfaces/i_drag_target.ts index 239cd7a81..14b0e52e2 100644 --- a/core/interfaces/i_drag_target.ts +++ b/core/interfaces/i_drag_target.ts @@ -18,11 +18,9 @@ /* eslint-disable-next-line no-unused-vars */ /* eslint-disable-next-line no-unused-vars */ -// Unused import preserved for side-effects. Remove if unneeded. -import './i_draggable'; + /* eslint-disable-next-line no-unused-vars */ -// Unused import preserved for side-effects. Remove if unneeded. -import '../utils/rect'; + import {IComponent} from './i_component'; diff --git a/core/interfaces/i_flyout.ts b/core/interfaces/i_flyout.ts index 972497bf4..9d48504d3 100644 --- a/core/interfaces/i_flyout.ts +++ b/core/interfaces/i_flyout.ts @@ -15,17 +15,13 @@ /* eslint-disable-next-line no-unused-vars */ -// Unused import preserved for side-effects. Remove if unneeded. -import '../utils/toolbox'; + /* eslint-disable-next-line no-unused-vars */ -// Unused import preserved for side-effects. Remove if unneeded. -import '../block_svg'; + /* eslint-disable-next-line no-unused-vars */ -// Unused import preserved for side-effects. Remove if unneeded. -import '../utils/coordinate'; + /* eslint-disable-next-line no-unused-vars */ -// Unused import preserved for side-effects. Remove if unneeded. -import '../utils/svg'; + import type {WorkspaceSvg} from '../workspace_svg'; diff --git a/core/interfaces/i_keyboard_accessible.ts b/core/interfaces/i_keyboard_accessible.ts index 13d380ce3..5535e10a2 100644 --- a/core/interfaces/i_keyboard_accessible.ts +++ b/core/interfaces/i_keyboard_accessible.ts @@ -15,8 +15,7 @@ /* eslint-disable-next-line no-unused-vars */ -// Unused import preserved for side-effects. Remove if unneeded. -import '../shortcut_registry'; + /** diff --git a/core/interfaces/i_metrics_manager.ts b/core/interfaces/i_metrics_manager.ts index 51c13207e..e6d5c8fde 100644 --- a/core/interfaces/i_metrics_manager.ts +++ b/core/interfaces/i_metrics_manager.ts @@ -15,14 +15,11 @@ /* eslint-disable-next-line no-unused-vars */ -// Unused import preserved for side-effects. Remove if unneeded. -import '../metrics_manager'; + /* eslint-disable-next-line no-unused-vars */ -// Unused import preserved for side-effects. Remove if unneeded. -import '../utils/metrics'; + /* eslint-disable-next-line no-unused-vars */ -// Unused import preserved for side-effects. Remove if unneeded. -import '../utils/size'; + /** diff --git a/core/interfaces/i_positionable.ts b/core/interfaces/i_positionable.ts index b4683f570..3a30ebb4b 100644 --- a/core/interfaces/i_positionable.ts +++ b/core/interfaces/i_positionable.ts @@ -16,11 +16,9 @@ /* eslint-disable-next-line no-unused-vars */ /* eslint-disable-next-line no-unused-vars */ -// Unused import preserved for side-effects. Remove if unneeded. -import '../metrics_manager'; + /* eslint-disable-next-line no-unused-vars */ -// Unused import preserved for side-effects. Remove if unneeded. -import '../utils/rect'; + import {IComponent} from './i_component'; diff --git a/core/interfaces/i_selectable_toolbox_item.ts b/core/interfaces/i_selectable_toolbox_item.ts index 1f34cfdc7..960dc094a 100644 --- a/core/interfaces/i_selectable_toolbox_item.ts +++ b/core/interfaces/i_selectable_toolbox_item.ts @@ -15,8 +15,7 @@ /* eslint-disable-next-line no-unused-vars */ -// Unused import preserved for side-effects. Remove if unneeded. -import '../utils/toolbox'; + import type {IToolboxItem} from './i_toolbox_item'; diff --git a/core/interfaces/i_toolbox.ts b/core/interfaces/i_toolbox.ts index 23f98f17a..275b25775 100644 --- a/core/interfaces/i_toolbox.ts +++ b/core/interfaces/i_toolbox.ts @@ -15,17 +15,13 @@ /* eslint-disable-next-line no-unused-vars */ -// Unused import preserved for side-effects. Remove if unneeded. -import '../utils/toolbox'; + /* eslint-disable-next-line no-unused-vars */ -// Unused import preserved for side-effects. Remove if unneeded. -import './i_flyout'; + /* eslint-disable-next-line no-unused-vars */ -// Unused import preserved for side-effects. Remove if unneeded. -import './i_toolbox_item'; + /* eslint-disable-next-line no-unused-vars */ -// Unused import preserved for side-effects. Remove if unneeded. -import '../workspace_svg'; + import type {IRegistrable} from './i_registrable'; diff --git a/core/internal.ts b/core/internal.ts new file mode 100644 index 000000000..13f1012ab --- /dev/null +++ b/core/internal.ts @@ -0,0 +1,310 @@ +export * from './registry'; +export * from './generator'; +export * from './procedures'; +export * from './widgetdiv'; +export * from './flyout_vertical'; +export { + CATEGORY_NAME as VARIABLE_CATEGORY_NAME, + onCreateVariableButtonClick_String, + onCreateVariableButtonClick_Number, + onCreateVariableButtonClick_Colour, + flyoutCategory, + flyoutCategoryBlocks, +} from './variables_dynamic'; +export * from './field_image'; +export * from './workspace_dragger'; +export * from './common'; +export * from './block_dragger'; +export * from './zoom_controls'; +export * from './contextmenu_registry'; +export * from './field'; +export * from './block'; +export * from './field_colour'; +export * from './comment'; +export * from './positionable_helpers'; +export { + TipInfo, + CustomTooltip, + setCustomTooltip, + getCustomTooltip, + isVisible as tooltipIsVisible, + LIMIT, + OFFSET_X, + OFFSET_Y, + RADIUS_OK, + HOVER_MS, + MARGINS, + getDiv as tooltipGetDiv, + getTooltipOfObject, + createDom as tooltipCreateDom, + bindMouseEvents, + unbindMouseEvents, + dispose, + hide as tooltipHide, + block, + unblock +} from './tooltip'; +export { + ARROW_SIZE, + BORDER_SIZE, + ARROW_HORIZONTAL_PADDING, + PADDING_Y, + ANIMATION_TIME, + BoundsInfo, + PositionMetrics, + createDom as dropDownDivCreateDom, + setBoundsElement, + getContentDiv, + clearContent, + setColour, + showPositionedByBlock, + showPositionedByField, + show as dropDownDivShow, + getPositionX, + isVisible as dropDownDivIsVisible, + hideIfOwner as dropDownDivHideIfOwner, + hide as dropDownDivHide, + hideWithoutAnimation, + repositionForWindowResize, + TEST_ONLY as DROPDOWN_DIV_TEST_ONLY, +} from './dropdowndiv'; +export * from './workspace_svg'; +export * from './bubble'; +export * from './msg'; +export * from './theme'; +export * from './config'; +export * from './dialog'; +export * from './marker_manager'; +export * from './touch'; +export * from './menuitem'; +export * from './mutator'; +export * from './theme_manager'; +export * from './field_label_serializable'; +export * from './block_drag_surface'; +export * from './css'; +export * from './names'; +export * from './variables'; +export * from './delete_area'; +export * from './constants'; +export * from './connection_type'; +export * from './workspace'; +export * from './field_checkbox'; +export * from './connection_checker'; +export * from './flyout_base'; +export * from './gesture'; +export * from './trashcan'; +export * from './workspace_audio'; +export * from './rendered_connection'; +export * from './extensions'; +export * from './options'; +export * from './flyout_button'; +export * from './xml'; +export * from './drag_target'; +export * from './connection'; +export * from './warning'; +export * from './field_angle'; +export * from './inject'; +export * from './blockly_options'; +export * from './input'; +export * from './scrollbar'; +export * from './browser_events'; +export * from './contextmenu'; +export * from './touch_gesture'; +export * from './field_label'; +export * from './flyout_metrics_manager'; +export * from './menu'; +export * from './workspace_comment_svg'; +export * from './bump_objects'; +export * from './internal_constants'; +export * from './blockly'; +export * from './field_number'; +export * from './field_textinput'; +export * from './input_types'; +export * from './field_dropdown'; +export * from './field_variable'; +export * from './field_multilineinput'; +export * from './contextmenu_items'; +export * from './bubble_dragger'; +export * from './field_registry'; +export * from './internal'; +export * from './flyout_horizontal'; +export * from './insertion_marker_manager'; +export * from './shortcut_items'; +export * from './sprites'; +export * from './variable_model'; +export * from './icon'; +export * from './block_svg'; +export * from './scrollbar_pair'; +export * from './shortcut_registry'; +export * from './component_manager'; +export * from './grid'; +export * from './workspace_comment'; +export * from './workspace_drag_surface_svg'; +export * from './metrics_manager'; +export * from './connection_db'; +export * from './block_animations'; +export * from './blocks'; +export * from './utils'; +export * from './variable_map'; +export * from './clipboard'; +export * from './serialization/registry'; +export * from './serialization/workspaces'; +export * from './serialization/variables'; +export * from './serialization/exceptions'; +export * from './serialization/blocks'; +export * from './serialization/priorities'; +export * from './interfaces/i_selectable'; +export * from './interfaces/i_bubble'; +export * from './interfaces/i_metrics_manager'; +export * from './interfaces/i_ast_node_location_with_block'; +export * from './interfaces/i_toolbox'; +export * from './interfaces/i_keyboard_accessible'; +export * from './interfaces/i_connection_checker'; +export * from './interfaces/i_ast_node_location'; +export * from './interfaces/i_registrable_field'; +export * from './interfaces/i_deletable'; +export * from './interfaces/i_flyout'; +export * from './interfaces/i_movable'; +export * from './interfaces/i_component'; +export * from './interfaces/i_collapsible_toolbox_item'; +export * from './interfaces/i_ast_node_location_svg'; +export * from './interfaces/i_drag_target'; +export * from './interfaces/i_serializer'; +export * from './interfaces/i_toolbox_item'; +export * from './interfaces/i_styleable'; +export * from './interfaces/i_autohideable'; +export * from './interfaces/i_positionable'; +export * from './interfaces/i_contextmenu'; +export * from './interfaces/i_draggable'; +export * from './interfaces/i_bounded_element'; +export * from './interfaces/i_copyable'; +export * from './interfaces/i_delete_area'; +export * from './interfaces/i_block_dragger'; +export * from './interfaces/i_selectable_toolbox_item'; +export * from './interfaces/i_registrable'; +export * from './events/events'; +export * from './events/events_block_change'; +export * from './events/events_block_base'; +export * from './events/events_comment_delete'; +export * from './events/events_block_move'; +export * from './events/events_ui'; +export * from './events/events_comment_move'; +export * from './events/events_block_create'; +export * from './events/events_click'; +export * from './events/events_toolbox_item_select'; +export * from './events/events_comment_change'; +export * from './events/events_comment_create'; +export * from './events/events_block_drag'; +export * from './events/events_var_create'; +export * from './events/events_comment_base'; +export * from './events/events_block_delete'; +export * from './events/events_theme_change'; +export * from './events/events_var_delete'; +export * from './events/events_var_rename'; +export * from './events/events_abstract'; +export * from './events/events_selected'; +export * from './events/events_viewport'; +export * from './events/events_ui_base'; +export * from './events/events_trashcan_open'; +export * from './events/events_var_base'; +export * from './events/workspace_events'; +export * from './events/events_marker_move'; +export * from './events/events_bubble_open'; +export * from './events/utils'; +export * from './keyboard_nav/ast_node'; +export * from './keyboard_nav/basic_cursor'; +export * from './keyboard_nav/tab_navigate_cursor'; +export * from './keyboard_nav/marker'; +export * from './keyboard_nav/cursor'; +export * from './theme/classic'; +export * from './theme/themes'; +export * from './theme/zelos'; +export * from './utils/string'; +export * from './utils/idgenerator'; +export * from './utils/svg'; +export * from './utils/toolbox'; +export * from './utils/colour'; +export * from './utils/deprecation'; +export * from './utils/sentinel'; +export * from './utils/size'; +export * from './utils/parsing'; +export * from './utils/style'; +export * from './utils/coordinate'; +export * from './utils/svg_math'; +export * from './utils/object'; +export * from './utils/useragent'; +export * from './utils/xml'; +export * from './utils/aria'; +export * from './utils/metrics'; +export * from './utils/array'; +export * from './utils/keycodes'; +export * from './utils/rect'; +export * from './utils/dom'; +export * from './utils/svg_paths'; +export * from './utils/math'; +export * from './toolbox/toolbox'; +export * from './toolbox/separator'; +export * from './toolbox/collapsible_category'; +export * from './toolbox/category'; +export * from './toolbox/toolbox_item'; +export * from './renderers/minimalist/drawer'; +export * from './renderers/minimalist/minimalist'; +export * from './renderers/minimalist/renderer'; +export * from './renderers/minimalist/constants'; +export * from './renderers/minimalist/info'; +export * from './renderers/geras/geras'; +export * from './renderers/geras/drawer'; +export * from './renderers/geras/highlighter'; +export * from './renderers/geras/highlight_constants'; +export * from './renderers/geras/renderer'; +export * from './renderers/geras/constants'; +export * from './renderers/geras/info'; +export * from './renderers/geras/path_object'; +export * from './renderers/geras/measurables/inline_input'; +export * from './renderers/geras/measurables/statement_input'; +export * from './renderers/measurables/input_row'; +export * from './renderers/measurables/in_row_spacer'; +export * from './renderers/measurables/field'; +export * from './renderers/measurables/next_connection'; +export * from './renderers/measurables/jagged_edge'; +export * from './renderers/measurables/input_connection'; +export * from './renderers/measurables/top_row'; +export * from './renderers/measurables/types'; +export * from './renderers/measurables/row'; +export * from './renderers/measurables/inline_input'; +export * from './renderers/measurables/connection'; +export * from './renderers/measurables/output_connection'; +export * from './renderers/measurables/external_value_input'; +export * from './renderers/measurables/bottom_row'; +export * from './renderers/measurables/round_corner'; +export * from './renderers/measurables/hat'; +export * from './renderers/measurables/spacer_row'; +export * from './renderers/measurables/statement_input'; +export * from './renderers/measurables/icon'; +export * from './renderers/measurables/previous_connection'; +export * from './renderers/measurables/base'; +export * from './renderers/measurables/square_corner'; +export * from './renderers/zelos/drawer'; +export * from './renderers/zelos/renderer'; +export * from './renderers/zelos/constants'; +export * from './renderers/zelos/info'; +export * from './renderers/zelos/marker_svg'; +export * from './renderers/zelos/zelos'; +export * from './renderers/zelos/path_object'; +export * from './renderers/zelos/measurables/top_row'; +export * from './renderers/zelos/measurables/inputs'; +export * from './renderers/zelos/measurables/bottom_row'; +export * from './renderers/zelos/measurables/row_elements'; +export * from './renderers/common/block_rendering'; +export * from './renderers/common/debugger'; +export * from './renderers/common/drawer'; +export * from './renderers/common/i_path_object'; +export * from './renderers/common/renderer'; +export * from './renderers/common/constants'; +export * from './renderers/common/debug'; +export * from './renderers/common/info'; +export * from './renderers/common/marker_svg'; +export * from './renderers/common/path_object'; +export * from './renderers/thrasos/renderer'; +export * from './renderers/thrasos/info'; +export * from './renderers/thrasos/thrasos'; diff --git a/core/main.js b/core/main.js deleted file mode 100644 index f8fd102cf..000000000 --- a/core/main.js +++ /dev/null @@ -1,291 +0,0 @@ -/** - * @license - * Copyright 2022 Google LLC - * SPDX-License-Identifier: Apache-2.0 - */ - -/** - * @fileoverview The entrypoint for blockly_compressed.js. Provides - * various backwards-compatibility hacks. Not used when loading - * in uncompiled (uncompressed) mode via bootstrap.js. - */ -'use strict'; - -goog.module('Blockly.main'); - -const Blockly = goog.require('Blockly'); -const ContextMenu = goog.require('Blockly.ContextMenu'); -const Events = goog.require('Blockly.Events'); -const Msg = goog.require('Blockly.Msg'); -const Tooltip = goog.require('Blockly.Tooltip'); -const WidgetDiv = goog.require('Blockly.WidgetDiv'); -const colour = goog.require('Blockly.utils.colour'); -const common = goog.require('Blockly.common'); -const deprecation = goog.require('Blockly.utils.deprecation'); -const dialog = goog.require('Blockly.dialog'); -const eventUtils = goog.require('Blockly.Events.utils'); - -/* - * Aliased functions and properties that used to be on the Blockly namespace. - * Everything in this section is deprecated. Both external and internal code - * should avoid using these functions and use the designated replacements. - * Everything in this section will be removed in a future version of Blockly. - */ - -// Add accessors for properties on Blockly that have now been deprecated. -Object.defineProperties(Blockly, { - /** - * Wrapper to window.alert() that app developers may override to - * provide alternatives to the modal browser window. - * @name Blockly.alert - * @type {!function(string, function()=)} - * @deprecated Use Blockly.dialog.alert / .setAlert() instead. - * (December 2021) - * @suppress {checkTypes} - */ - alert: { - set: function(newAlert) { - deprecation.warn('Blockly.alert', 'December 2021', 'December 2022'); - dialog.setAlert(newAlert); - }, - get: function() { - deprecation.warn( - 'Blockly.alert', 'December 2021', 'December 2022', - 'Blockly.dialog.alert()'); - return dialog.alert; - }, - }, - /** - * Wrapper to window.confirm() that app developers may override to - * provide alternatives to the modal browser window. - * @name Blockly.confirm - * @type {!function(string, function()=)} - * @deprecated Use Blockly.dialog.confirm / .setConfirm() instead. - * (December 2021) - * @suppress {checkTypes} - */ - confirm: { - set: function(newConfirm) { - deprecation.warn('Blockly.confirm', 'December 2021', 'December 2022'); - dialog.setConfirm(newConfirm); - }, - get: function() { - deprecation.warn( - 'Blockly.confirm', 'December 2021', 'December 2022', - 'Blockly.dialog.confirm()'); - return dialog.confirm; - }, - }, - /** - * The main workspace most recently used. - * Set by Blockly.WorkspaceSvg.prototype.markFocused - * @name Blockly.mainWorkspace - * @type {Workspace} - * @suppress {checkTypes} - */ - mainWorkspace: { - set: function(x) { - common.setMainWorkspace(x); - }, - get: function() { - return common.getMainWorkspace(); - }, - }, - /** - * Wrapper to window.prompt() that app developers may override to - * provide alternatives to the modal browser window. Built-in - * browser prompts are often used for better text input experience - * on mobile device. We strongly recommend testing mobile when - * overriding this. - * @name Blockly.prompt - * @type {!function(string, string, function()=)} - * @deprecated Use Blockly.dialog.prompt / .setPrompt() instead. - * (December 2021) - * @suppress {checkTypes} - */ - prompt: { - set: function(newPrompt) { - deprecation.warn('Blockly.prompt', 'December 2021', 'December 2022'); - dialog.setPrompt(newPrompt); - }, - get: function() { - deprecation.warn( - 'Blockly.prompt', 'December 2021', 'December 2022', - 'Blockly.dialog.prompt()'); - return dialog.prompt; - }, - }, - /** - * Currently selected block. - * @name Blockly.selected - * @type {?ICopyable} - * @suppress {checkTypes} - */ - selected: { - get: function() { - return common.getSelected(); - }, - set: function(newSelection) { - common.setSelected(newSelection); - }, - }, - /** - * The richness of block colours, regardless of the hue. - * Must be in the range of 0 (inclusive) to 1 (exclusive). - * @name Blockly.HSV_SATURATION - * @type {number} - * @suppress {checkTypes} - */ - HSV_SATURATION: { - get: function() { - return colour.getHsvSaturation(); - }, - set: function(newValue) { - colour.setHsvSaturation(newValue); - }, - }, - /** - * The intensity of block colours, regardless of the hue. - * Must be in the range of 0 (inclusive) to 1 (exclusive). - * @name Blockly.HSV_VALUE - * @type {number} - * @suppress {checkTypes} - */ - HSV_VALUE: { - get: function() { - return colour.getHsvValue(); - }, - set: function(newValue) { - colour.setHsvValue(newValue); - }, - }, -}); - -// Add accessors for properties on Blockly.ContextMenu that have now -// been deprecated. -Object.defineProperties(ContextMenu, { - /** - * Which block is the context menu attached to? - * @name Blockly.ContextMenu.currentBlock - * @type {Block} - * @deprecated Use Blockly.Tooltip.getCurrentBlock() / - * .setCurrentBlock() instead. (September 2021) - * @suppress {checkTypes} - */ - currentBlock: { - get: function() { - deprecation.warn( - 'Blockly.ContextMenu.currentBlock', 'September 2021', - 'September 2022', 'Blockly.Tooltip.getCurrentBlock()'); - return ContextMenu.getCurrentBlock(); - }, - set: function(block) { - deprecation.warn( - 'Blockly.ContextMenu.currentBlock', 'September 2021', - 'September 2022', 'Blockly.Tooltip.setCurrentBlock(block)'); - ContextMenu.setCurrentBlock(block); - }, - }, -}); - -// Add accessors for properties on Blockly.Events that have now been -// deprecated. -Object.defineProperties(Events, { - /** - * Sets whether the next event should be added to the undo stack. - * @name Blockly.Evenents.recordUndo - * @type {boolean} - * @deprecated Use Blockly.Events.getRecordUndo() and - * .setRecordUndo(). (September 2021) - * @suppress {checkTypes} - */ - recordUndo: { - get: function() { - deprecation.warn( - 'Blockly.Events.recordUndo', 'September 2021', 'September 2022', - 'Blockly.Events.getRecordUndo()'); - return eventUtils.getRecordUndo(); - }, - set: function(record) { - deprecation.warn( - 'Blockly.Events.recordUndo', 'September 2021', 'September 2022', - 'Blockly.Events.setRecordUndo()'); - eventUtils.setRecordUndo(record); - }, - }, -}); - - -// Add accessors for properties on Blockly.Tooltip that have now been -// deprecated. -Object.defineProperties(Tooltip, { - /** - * Is a tooltip currently showing? - * @name Blockly.Tooltip.visible - * @type {boolean} - * @deprecated Use Blockly.Tooltip.isVisible() instead. (September - * 2021) - * @suppress {checkTypes} - */ - visible: { - get: function() { - deprecation.warn( - 'Blockly.Tooltip.visible', 'September 2021', 'September 2022', - 'Blockly.Tooltip.isVisible()'); - return Tooltip.isVisible(); - }, - }, - /** - * The HTML container. Set once by createDom. - * @name Blockly.Tooltip.DIV - * @type {HTMLDivElement} - * @deprecated Use Blockly.Tooltip.getDiv() and .setDiv(). - * (September 2021) - * @suppress {checkTypes} - */ - DIV: { - get: function() { - deprecation.warn( - 'Blockly.Tooltip.DIV', 'September 2021', 'September 2022', - 'Blockly.Tooltip.getDiv()'); - return Tooltip.getDiv(); - }, - }, -}); - -// Add accessors for properties on Blockly.WidgetDiv that have now been -// deprecated. -Object.defineProperties(WidgetDiv, { - /** - * The HTML container for popup overlays (e.g. editor widgets). - * @name Blockly.WidgetDiv.DIV - * @type {?Element} - * @deprecated Use Blockly.WidgetDiv.getDiv() and .setDiv(). - * (September 2021) - * @suppress {checkTypes} - */ - DIV: { - get: function() { - deprecation.warn( - 'Blockly.WidgetDiv.DIV', 'September 2021', 'September 2022', - 'Blockly.WidgetDiv.getDiv()'); - return WidgetDiv.getDiv(); - }, - }, -}); - -// If Blockly is compiled with ADVANCED_COMPILATION and/or loaded as a -// CJS or ES module there will not be a Blockly global variable -// created. This can cause problems because a very common way of -// loading translations is to use a