blockly 8.0.4 → 8.0.5-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/blockly.min.js +2421 -2688
- package/blockly_compressed.js +1499 -1994
- package/blockly_compressed.js.map +1 -1
- package/blocks/blocks.js +3 -2
- package/blocks/colour.js +3 -1
- package/blocks/lists.js +94 -22
- package/blocks/logic.js +14 -6
- package/blocks/loops.js +5 -3
- package/blocks/math.js +3 -1
- package/blocks/procedures.js +3 -1
- package/blocks/text.js +14 -6
- package/blocks/variables.js +3 -1
- package/blocks/variables_dynamic.js +3 -1
- package/blocks.d.ts +0 -2
- package/blocks_compressed.js +189 -171
- package/blocks_compressed.js.map +1 -1
- package/closure/goog/base.d.ts +1 -0
- package/closure/goog/base_minimal.d.ts +18 -0
- package/closure/goog/goog.d.ts +25 -0
- package/core/any_aliases.d.ts +1 -0
- package/core/any_aliases.ts +1 -0
- package/core/block.d.ts +779 -0
- package/core/{block.js → block.ts} +610 -719
- package/core/block_animations.d.ts +33 -0
- package/core/{block_animations.js → block_animations.ts} +75 -79
- package/core/block_drag_surface.d.ts +111 -0
- package/core/{block_drag_surface.js → block_drag_surface.ts} +85 -117
- package/core/block_dragger.d.ts +143 -0
- package/core/{block_dragger.js → block_dragger.ts} +139 -176
- package/core/block_svg.d.ts +588 -0
- package/core/{block_svg.js → block_svg.ts} +494 -630
- package/core/blockly.d.ts +562 -0
- package/core/blockly.js +1 -1
- package/core/blockly.ts +749 -0
- package/core/blockly_options.d.ts +69 -0
- package/core/blockly_options.ts +81 -0
- package/core/blocks.d.ts +17 -0
- package/core/{blocks.js → blocks.ts} +4 -8
- package/core/browser_events.d.ts +85 -0
- package/core/{browser_events.js → browser_events.ts} +98 -93
- package/core/bubble.d.ts +279 -0
- package/core/{bubble.js → bubble.ts} +277 -370
- package/core/bubble_dragger.d.ts +73 -0
- package/core/bubble_dragger.ts +229 -0
- package/core/bump_objects.d.ts +34 -0
- package/core/{bump_objects.js → bump_objects.ts} +54 -52
- package/core/clipboard.d.ts +42 -0
- package/core/clipboard.ts +91 -0
- package/core/comment.d.ts +113 -0
- package/core/{comment.js → comment.ts} +135 -185
- package/core/common.d.ts +129 -0
- package/core/{common.js → common.ts} +105 -82
- package/core/component_manager.d.ts +91 -0
- package/core/component_manager.ts +211 -0
- package/core/config.d.ts +23 -0
- package/core/{config.js → config.ts} +12 -19
- package/core/connection.d.ts +232 -0
- package/core/{connection.js → connection.ts} +187 -237
- package/core/connection_checker.d.ts +78 -0
- package/core/{connection_checker.js → connection_checker.ts} +66 -77
- package/core/connection_db.d.ts +91 -0
- package/core/{connection_db.js → connection_db.ts} +62 -87
- package/core/connection_type.d.ts +15 -0
- package/core/{connection_type.js → connection_type.ts} +8 -12
- package/core/constants.d.ts +15 -0
- package/core/{constants.js → constants.ts} +4 -8
- package/core/contextmenu.d.ts +80 -0
- package/core/{contextmenu.js → contextmenu.ts} +118 -153
- package/core/contextmenu_items.d.ts +77 -0
- package/core/contextmenu_items.ts +576 -0
- package/core/contextmenu_registry.d.ts +105 -0
- package/core/contextmenu_registry.ts +179 -0
- package/core/css.d.ts +24 -0
- package/core/{css.js → css.ts} +16 -24
- package/core/delete_area.d.ts +47 -0
- package/core/delete_area.ts +82 -0
- package/core/dialog.d.ts +61 -0
- package/core/dialog.ts +127 -0
- package/core/drag_target.d.ts +63 -0
- package/core/drag_target.ts +94 -0
- package/core/dropdowndiv.d.ts +155 -0
- package/core/{dropdowndiv.js → dropdowndiv.ts} +262 -333
- package/core/events/events.d.ts +102 -0
- package/core/events/events.ts +123 -0
- package/core/events/events_abstract.d.ts +51 -0
- package/core/events/events_abstract.ts +112 -0
- package/core/events/events_block_base.d.ts +31 -0
- package/core/events/events_block_base.ts +65 -0
- package/core/events/events_block_change.d.ts +55 -0
- package/core/events/{events_block_change.js → events_block_change.ts} +45 -48
- package/core/events/events_block_create.d.ts +35 -0
- package/core/events/{events_block_create.js → events_block_create.ts} +30 -35
- package/core/events/events_block_delete.d.ts +36 -0
- package/core/events/{events_block_delete.js → events_block_delete.ts} +34 -39
- package/core/events/events_block_drag.d.ts +36 -0
- package/core/events/events_block_drag.ts +82 -0
- package/core/events/events_block_move.d.ts +51 -0
- package/core/events/{events_block_move.js → events_block_move.ts} +54 -50
- package/core/events/events_bubble_open.d.ts +35 -0
- package/core/events/events_bubble_open.ts +82 -0
- package/core/events/events_click.d.ts +36 -0
- package/core/events/{events_click.js → events_click.ts} +27 -30
- package/core/events/events_comment_base.d.ts +39 -0
- package/core/events/events_comment_base.ts +107 -0
- package/core/events/events_comment_change.d.ts +43 -0
- package/core/events/{events_comment_change.js → events_comment_change.ts} +31 -28
- package/core/events/events_comment_create.d.ts +35 -0
- package/core/events/{events_comment_create.js → events_comment_create.ts} +24 -26
- package/core/events/events_comment_delete.d.ts +35 -0
- package/core/events/{events_comment_delete.js → events_comment_delete.ts} +20 -24
- package/core/events/events_comment_move.d.ts +55 -0
- package/core/events/{events_comment_move.js → events_comment_move.ts} +39 -42
- package/core/events/events_marker_move.d.ts +40 -0
- package/core/events/events_marker_move.ts +99 -0
- package/core/events/events_selected.d.ts +34 -0
- package/core/events/events_selected.ts +78 -0
- package/core/events/events_theme_change.d.ts +30 -0
- package/core/events/{events_theme_change.js → events_theme_change.ts} +19 -24
- package/core/events/events_toolbox_item_select.d.ts +34 -0
- package/core/events/events_toolbox_item_select.ts +79 -0
- package/core/events/events_trashcan_open.d.ts +31 -0
- package/core/events/events_trashcan_open.ts +68 -0
- package/core/events/events_ui.d.ts +37 -0
- package/core/events/{events_ui.js → events_ui.ts} +27 -26
- package/core/events/events_ui_base.d.ts +26 -0
- package/core/events/{events_ui_base.js → events_ui_base.ts} +17 -26
- package/core/events/events_var_base.d.ts +31 -0
- package/core/events/events_var_base.ts +65 -0
- package/core/events/events_var_create.d.ts +35 -0
- package/core/events/{events_var_create.js → events_var_create.ts} +24 -25
- package/core/events/events_var_delete.d.ts +35 -0
- package/core/events/{events_var_delete.js → events_var_delete.ts} +24 -25
- package/core/events/events_var_rename.d.ts +36 -0
- package/core/events/{events_var_rename.js → events_var_rename.ts} +25 -26
- package/core/events/events_viewport.d.ts +39 -0
- package/core/events/events_viewport.ts +100 -0
- package/core/events/utils.d.ts +272 -0
- package/core/events/{utils.js → utils.ts} +148 -219
- package/core/events/workspace_events.d.ts +36 -0
- package/core/events/workspace_events.ts +86 -0
- package/core/extensions.d.ts +107 -0
- package/core/{extensions.js → extensions.ts} +153 -172
- package/core/field.d.ts +534 -0
- package/core/{field.js → field.ts} +413 -489
- package/core/field_angle.d.ts +176 -0
- package/core/field_angle.ts +563 -0
- package/core/field_checkbox.d.ts +124 -0
- package/core/field_checkbox.ts +243 -0
- package/core/field_colour.d.ts +200 -0
- package/core/field_colour.ts +632 -0
- package/core/field_dropdown.d.ts +222 -0
- package/core/{field_dropdown.js → field_dropdown.ts} +277 -299
- package/core/field_image.d.ts +134 -0
- package/core/field_image.ts +282 -0
- package/core/field_label.d.ts +71 -0
- package/core/field_label.ts +152 -0
- package/core/field_label_serializable.d.ts +42 -0
- package/core/field_label_serializable.ts +76 -0
- package/core/field_multilineinput.d.ts +146 -0
- package/core/{field_multilineinput.js → field_multilineinput.ts} +166 -163
- package/core/field_number.d.ts +156 -0
- package/core/{field_number.js → field_number.ts} +110 -123
- package/core/field_registry.d.ts +45 -0
- package/core/{field_registry.js → field_registry.ts} +37 -30
- package/core/field_textinput.d.ts +219 -0
- package/core/field_textinput.ts +591 -0
- package/core/field_variable.d.ts +217 -0
- package/core/{field_variable.js → field_variable.ts} +174 -187
- package/core/flyout_base.d.ts +459 -0
- package/core/{flyout_base.js → flyout_base.ts} +429 -518
- package/core/flyout_button.d.ts +81 -0
- package/core/flyout_button.ts +292 -0
- package/core/flyout_horizontal.d.ts +82 -0
- package/core/{flyout_horizontal.js → flyout_horizontal.ts} +97 -107
- package/core/flyout_metrics_manager.d.ts +40 -0
- package/core/{flyout_metrics_manager.js → flyout_metrics_manager.ts} +22 -34
- package/core/flyout_vertical.d.ts +83 -0
- package/core/{flyout_vertical.js → flyout_vertical.ts} +106 -117
- package/core/generator.d.ts +205 -0
- package/core/{generator.js → generator.ts} +168 -193
- package/core/gesture.d.ts +357 -0
- package/core/{gesture.js → gesture.ts} +289 -369
- package/core/grid.d.ts +83 -0
- package/core/grid.ts +192 -0
- package/core/icon.d.ts +78 -0
- package/core/icon.ts +189 -0
- package/core/inject.d.ts +15 -0
- package/core/{inject.js → inject.ts} +101 -100
- package/core/input.d.ts +128 -0
- package/core/input.ts +309 -0
- package/core/input_types.d.ts +14 -0
- package/core/{input_types.js → input_types.ts} +8 -12
- package/core/insertion_marker_manager.d.ts +212 -0
- package/core/{insertion_marker_manager.js → insertion_marker_manager.ts} +234 -236
- package/core/interfaces/i_ast_node_location.d.ts +11 -0
- package/core/interfaces/{i_ast_node_location.js → i_ast_node_location.ts} +4 -7
- package/core/interfaces/i_ast_node_location_svg.d.ts +22 -0
- package/core/interfaces/i_ast_node_location_svg.ts +37 -0
- package/core/interfaces/i_ast_node_location_with_block.d.ts +18 -0
- package/core/interfaces/i_ast_node_location_with_block.ts +38 -0
- package/core/interfaces/i_autohideable.d.ts +18 -0
- package/core/interfaces/i_autohideable.ts +34 -0
- package/core/interfaces/i_block_dragger.d.ts +43 -0
- package/core/interfaces/i_block_dragger.ts +67 -0
- package/core/interfaces/i_bounded_element.d.ts +24 -0
- package/core/interfaces/i_bounded_element.ts +42 -0
- package/core/interfaces/i_bubble.d.ts +59 -0
- package/core/interfaces/i_bubble.ts +88 -0
- package/core/interfaces/i_collapsible_toolbox_item.d.ts +26 -0
- package/core/interfaces/i_collapsible_toolbox_item.ts +47 -0
- package/core/interfaces/i_component.d.ts +17 -0
- package/core/interfaces/{i_component.js → i_component.ts} +9 -14
- package/core/interfaces/i_connection_checker.d.ts +69 -0
- package/core/interfaces/i_connection_checker.ts +102 -0
- package/core/interfaces/i_contextmenu.d.ts +13 -0
- package/core/interfaces/i_contextmenu.ts +26 -0
- package/core/interfaces/i_copyable.d.ts +24 -0
- package/core/interfaces/i_copyable.ts +40 -0
- package/core/interfaces/i_deletable.d.ts +16 -0
- package/core/interfaces/{i_deletable.js → i_deletable.ts} +9 -13
- package/core/interfaces/i_delete_area.d.ts +25 -0
- package/core/interfaces/i_delete_area.ts +46 -0
- package/core/interfaces/i_drag_target.d.ts +53 -0
- package/core/interfaces/i_drag_target.ts +84 -0
- package/core/interfaces/i_draggable.d.ts +12 -0
- package/core/interfaces/{i_draggable.js → i_draggable.ts} +4 -10
- package/core/interfaces/i_flyout.d.ts +134 -0
- package/core/interfaces/i_flyout.ts +186 -0
- package/core/interfaces/i_keyboard_accessible.d.ts +18 -0
- package/core/interfaces/i_keyboard_accessible.ts +35 -0
- package/core/interfaces/i_metrics_manager.d.ts +117 -0
- package/core/interfaces/i_metrics_manager.ts +151 -0
- package/core/interfaces/i_movable.d.ts +16 -0
- package/core/interfaces/{i_movable.js → i_movable.ts} +9 -13
- package/core/interfaces/i_positionable.d.ts +27 -0
- package/core/interfaces/i_positionable.ts +50 -0
- package/core/interfaces/i_registrable.d.ts +11 -0
- package/core/interfaces/{i_registrable.js → i_registrable.ts} +3 -7
- package/core/interfaces/i_registrable_field.d.ts +17 -0
- package/core/interfaces/{i_registrable_field.js → i_registrable_field.ts} +8 -16
- package/core/interfaces/i_selectable.d.ts +18 -0
- package/core/interfaces/i_selectable.ts +34 -0
- package/core/interfaces/i_selectable_toolbox_item.d.ts +42 -0
- package/core/interfaces/i_selectable_toolbox_item.ts +64 -0
- package/core/interfaces/i_serializer.d.ts +42 -0
- package/core/interfaces/i_serializer.ts +65 -0
- package/core/interfaces/i_styleable.d.ts +21 -0
- package/core/interfaces/i_styleable.ts +35 -0
- package/core/interfaces/i_toolbox.d.ts +85 -0
- package/core/interfaces/i_toolbox.ts +127 -0
- package/core/interfaces/i_toolbox_item.d.ts +62 -0
- package/core/interfaces/i_toolbox_item.ts +84 -0
- package/core/internal_constants.d.ts +40 -0
- package/core/{internal_constants.js → internal_constants.ts} +13 -18
- package/core/keyboard_nav/ast_node.d.ts +239 -0
- package/core/keyboard_nav/{ast_node.js → ast_node.ts} +207 -231
- package/core/keyboard_nav/basic_cursor.d.ts +88 -0
- package/core/keyboard_nav/{basic_cursor.js → basic_cursor.ts} +55 -66
- package/core/keyboard_nav/cursor.d.ts +41 -0
- package/core/keyboard_nav/{cursor.js → cursor.ts} +25 -35
- package/core/keyboard_nav/marker.d.ts +58 -0
- package/core/keyboard_nav/{marker.js → marker.ts} +36 -55
- package/core/keyboard_nav/tab_navigate_cursor.d.ts +19 -0
- package/core/keyboard_nav/{tab_navigate_cursor.js → tab_navigate_cursor.ts} +11 -15
- package/core/main.d.ts +11 -0
- package/core/main.js +303 -0
- package/core/marker_manager.d.ts +85 -0
- package/core/marker_manager.ts +181 -0
- package/core/menu.d.ts +149 -0
- package/core/{menu.js → menu.ts} +141 -174
- package/core/menuitem.d.ts +118 -0
- package/core/menuitem.ts +240 -0
- package/core/metrics_manager.d.ts +201 -0
- package/core/{metrics_manager.js → metrics_manager.ts} +117 -156
- package/core/msg.d.ts +9 -0
- package/core/{msg.js → msg.ts} +4 -8
- package/core/mutator.d.ts +128 -0
- package/core/{mutator.js → mutator.ts} +196 -211
- package/core/names.d.ts +124 -0
- package/core/names.ts +267 -0
- package/core/options.d.ts +137 -0
- package/core/{options.js → options.ts} +147 -173
- package/core/positionable_helpers.d.ts +88 -0
- package/core/{positionable_helpers.js → positionable_helpers.ts} +63 -70
- package/core/procedures.d.ts +108 -0
- package/core/{procedures.js → procedures.ts} +143 -152
- package/core/registry.d.ts +137 -0
- package/core/registry.ts +339 -0
- package/core/rendered_connection.d.ts +191 -0
- package/core/{rendered_connection.js → rendered_connection.ts} +164 -184
- package/core/renderers/common/block_rendering.d.ts +114 -0
- package/core/renderers/common/block_rendering.ts +164 -0
- package/core/renderers/common/constants.d.ts +458 -0
- package/core/renderers/common/constants.ts +1124 -0
- package/core/renderers/common/debug.d.ts +28 -0
- package/core/renderers/common/{debug.js → debug.ts} +14 -20
- package/core/renderers/common/debugger.d.ts +120 -0
- package/core/renderers/common/{debugger.js → debugger.ts} +100 -124
- package/core/renderers/common/drawer.d.ts +132 -0
- package/core/renderers/common/{drawer.js → drawer.ts} +112 -137
- package/core/renderers/common/i_path_object.d.ts +117 -0
- package/core/renderers/common/i_path_object.ts +161 -0
- package/core/renderers/common/info.d.ts +194 -0
- package/core/renderers/common/{info.js → info.ts} +165 -222
- package/core/renderers/common/marker_svg.d.ts +220 -0
- package/core/renderers/common/marker_svg.ts +680 -0
- package/core/renderers/common/path_object.d.ts +146 -0
- package/core/renderers/common/path_object.ts +272 -0
- package/core/renderers/common/renderer.d.ts +157 -0
- package/core/renderers/common/renderer.ts +271 -0
- package/core/renderers/geras/constants.d.ts +23 -0
- package/core/renderers/geras/constants.ts +61 -0
- package/core/renderers/geras/drawer.d.ts +43 -0
- package/core/renderers/geras/{drawer.js → drawer.ts} +40 -84
- package/core/renderers/geras/geras.d.ts +11 -0
- package/core/renderers/geras/geras.ts +37 -0
- package/core/renderers/geras/highlight_constants.d.ts +108 -0
- package/core/renderers/geras/{highlight_constants.js → highlight_constants.ts} +107 -69
- package/core/renderers/geras/highlighter.d.ts +98 -0
- package/core/renderers/geras/{highlighter.js → highlighter.ts} +81 -86
- package/core/renderers/geras/info.d.ts +45 -0
- package/core/renderers/geras/{info.js → info.ts} +61 -99
- package/core/renderers/geras/measurables/inline_input.d.ts +23 -0
- package/core/renderers/geras/measurables/inline_input.ts +51 -0
- package/core/renderers/geras/measurables/statement_input.d.ts +23 -0
- package/core/renderers/geras/measurables/statement_input.ts +50 -0
- package/core/renderers/geras/path_object.d.ts +47 -0
- package/core/renderers/geras/{path_object.js → path_object.ts} +46 -74
- package/core/renderers/geras/renderer.d.ts +69 -0
- package/core/renderers/geras/renderer.ts +126 -0
- package/core/renderers/measurables/base.d.ts +27 -0
- package/core/renderers/measurables/base.ts +53 -0
- package/core/renderers/measurables/bottom_row.d.ts +61 -0
- package/core/renderers/measurables/bottom_row.ts +120 -0
- package/core/renderers/measurables/connection.d.ts +25 -0
- package/core/renderers/measurables/connection.ts +52 -0
- package/core/renderers/measurables/external_value_input.d.ts +27 -0
- package/core/renderers/measurables/external_value_input.ts +65 -0
- package/core/renderers/measurables/field.d.ts +30 -0
- package/core/renderers/measurables/field.ts +63 -0
- package/core/renderers/measurables/hat.d.ts +21 -0
- package/core/renderers/measurables/{hat.js → hat.ts} +12 -14
- package/core/renderers/measurables/icon.d.ts +26 -0
- package/core/renderers/measurables/{icon.js → icon.ts} +14 -18
- package/core/renderers/measurables/in_row_spacer.d.ts +21 -0
- package/core/renderers/measurables/in_row_spacer.ts +44 -0
- package/core/renderers/measurables/inline_input.d.ts +24 -0
- package/core/renderers/measurables/{inline_input.js → inline_input.ts} +22 -26
- package/core/renderers/measurables/input_connection.d.ts +29 -0
- package/core/renderers/measurables/input_connection.ts +66 -0
- package/core/renderers/measurables/input_row.d.ts +30 -0
- package/core/renderers/measurables/{input_row.js → input_row.ts} +24 -31
- package/core/renderers/measurables/jagged_edge.d.ts +20 -0
- package/core/renderers/measurables/{jagged_edge.js → jagged_edge.ts} +10 -13
- package/core/renderers/measurables/next_connection.d.ts +23 -0
- package/core/renderers/measurables/next_connection.ts +47 -0
- package/core/renderers/measurables/output_connection.d.ts +26 -0
- package/core/renderers/measurables/output_connection.ts +56 -0
- package/core/renderers/measurables/previous_connection.d.ts +23 -0
- package/core/renderers/measurables/previous_connection.ts +47 -0
- package/core/renderers/measurables/round_corner.d.ts +21 -0
- package/core/renderers/measurables/round_corner.ts +49 -0
- package/core/renderers/measurables/row.d.ts +141 -0
- package/core/renderers/measurables/row.ts +225 -0
- package/core/renderers/measurables/spacer_row.d.ts +29 -0
- package/core/renderers/measurables/spacer_row.ts +55 -0
- package/core/renderers/measurables/square_corner.d.ts +21 -0
- package/core/renderers/measurables/square_corner.ts +47 -0
- package/core/renderers/measurables/statement_input.d.ts +22 -0
- package/core/renderers/measurables/{statement_input.js → statement_input.ts} +14 -18
- package/core/renderers/measurables/top_row.d.ts +56 -0
- package/core/renderers/measurables/top_row.ts +122 -0
- package/core/renderers/measurables/types.d.ts +235 -0
- package/core/renderers/measurables/types.ts +332 -0
- package/core/renderers/minimalist/constants.d.ts +14 -0
- package/core/renderers/minimalist/{constants.js → constants.ts} +5 -10
- package/core/renderers/minimalist/drawer.d.ts +21 -0
- package/core/renderers/minimalist/drawer.ts +38 -0
- package/core/renderers/minimalist/info.d.ts +30 -0
- package/core/renderers/minimalist/info.ts +52 -0
- package/core/renderers/minimalist/minimalist.d.ts +6 -0
- package/core/renderers/minimalist/minimalist.ts +22 -0
- package/core/renderers/minimalist/renderer.d.ts +41 -0
- package/core/renderers/minimalist/renderer.ts +71 -0
- package/core/renderers/thrasos/info.d.ts +40 -0
- package/core/renderers/thrasos/{info.js → info.ts} +66 -67
- package/core/renderers/thrasos/renderer.d.ts +25 -0
- package/core/renderers/thrasos/renderer.ts +48 -0
- package/core/renderers/thrasos/thrasos.d.ts +4 -0
- package/core/renderers/thrasos/thrasos.ts +20 -0
- package/core/renderers/zelos/constants.d.ts +186 -0
- package/core/renderers/zelos/{constants.js → constants.ts} +294 -441
- package/core/renderers/zelos/drawer.d.ts +47 -0
- package/core/renderers/zelos/{drawer.js → drawer.ts} +73 -95
- package/core/renderers/zelos/info.d.ts +88 -0
- package/core/renderers/zelos/{info.js → info.ts} +111 -142
- package/core/renderers/zelos/marker_svg.d.ts +46 -0
- package/core/renderers/zelos/marker_svg.ts +151 -0
- package/core/renderers/zelos/measurables/bottom_row.d.ts +27 -0
- package/core/renderers/zelos/measurables/bottom_row.ts +53 -0
- package/core/renderers/zelos/measurables/inputs.d.ts +23 -0
- package/core/renderers/zelos/measurables/{inputs.js → inputs.ts} +14 -15
- package/core/renderers/zelos/measurables/row_elements.d.ts +21 -0
- package/core/renderers/zelos/measurables/row_elements.ts +45 -0
- package/core/renderers/zelos/measurables/top_row.d.ts +29 -0
- package/core/renderers/zelos/measurables/{top_row.js → top_row.ts} +14 -27
- package/core/renderers/zelos/path_object.d.ts +77 -0
- package/core/renderers/zelos/path_object.ts +215 -0
- package/core/renderers/zelos/renderer.d.ts +74 -0
- package/core/renderers/zelos/renderer.ts +142 -0
- package/core/renderers/zelos/zelos.d.ts +12 -0
- package/core/renderers/zelos/zelos.ts +39 -0
- package/core/scrollbar.d.ts +277 -0
- package/core/{scrollbar.js → scrollbar.ts} +307 -328
- package/core/scrollbar_pair.d.ts +105 -0
- package/core/{scrollbar_pair.js → scrollbar_pair.ts} +71 -79
- package/core/serialization/blocks.d.ts +98 -0
- package/core/serialization/{blocks.js → blocks.ts} +229 -228
- package/core/serialization/exceptions.d.ts +73 -0
- package/core/serialization/exceptions.ts +98 -0
- package/core/serialization/priorities.d.ts +15 -0
- package/core/serialization/{priorities.js → priorities.ts} +4 -10
- package/core/serialization/registry.d.ts +20 -0
- package/core/serialization/{registry.js → registry.ts} +11 -13
- package/core/serialization/variables.d.ts +14 -0
- package/core/serialization/{variables.js → variables.ts} +30 -32
- package/core/serialization/workspaces.d.ts +28 -0
- package/core/serialization/{workspaces.js → workspaces.ts} +30 -27
- package/core/shortcut_items.d.ts +61 -0
- package/core/{shortcut_items.js → shortcut_items.ts} +121 -157
- package/core/shortcut_registry.d.ts +151 -0
- package/core/shortcut_registry.ts +355 -0
- package/core/sprites.d.ts +19 -0
- package/core/{sprites.js → sprites.ts} +4 -6
- package/core/theme/classic.d.ts +12 -0
- package/core/theme/{classic.js → classic.ts} +5 -7
- package/core/theme/themes.d.ts +8 -0
- package/core/theme/themes.ts +22 -0
- package/core/theme/zelos.d.ts +11 -0
- package/core/theme/{zelos.js → zelos.ts} +4 -7
- package/core/theme.d.ts +142 -0
- package/core/theme.ts +221 -0
- package/core/theme_manager.d.ts +81 -0
- package/core/theme_manager.ts +186 -0
- package/core/toolbox/category.d.ts +239 -0
- package/core/toolbox/category.ts +679 -0
- package/core/toolbox/collapsible_category.d.ts +91 -0
- package/core/toolbox/collapsible_category.ts +273 -0
- package/core/toolbox/separator.d.ts +39 -0
- package/core/toolbox/separator.ts +105 -0
- package/core/toolbox/toolbox.d.ts +352 -0
- package/core/toolbox/{toolbox.js → toolbox.ts} +316 -432
- package/core/toolbox/toolbox_item.d.ts +85 -0
- package/core/toolbox/toolbox_item.ts +147 -0
- package/core/tooltip.d.ts +126 -0
- package/core/{tooltip.js → tooltip.ts} +136 -214
- package/core/touch.d.ts +121 -0
- package/core/touch.ts +306 -0
- package/core/touch_gesture.d.ts +115 -0
- package/core/{touch_gesture.js → touch_gesture.ts} +87 -125
- package/core/trashcan.d.ts +195 -0
- package/core/{trashcan.js → trashcan.ts} +226 -312
- package/core/utils/aria.d.ts +67 -0
- package/core/utils/{aria.js → aria.ts} +47 -61
- package/core/utils/array.d.ts +14 -0
- package/core/utils/{array.js → array.ts} +10 -12
- package/core/utils/colour.d.ts +103 -0
- package/core/utils/{colour.js → colour.ts} +60 -72
- package/core/utils/coordinate.d.ts +72 -0
- package/core/utils/coordinate.ts +124 -0
- package/core/utils/deprecation.d.ts +17 -0
- package/core/utils/{deprecation.js → deprecation.ts} +11 -11
- package/core/utils/dom.d.ts +165 -0
- package/core/utils/{dom.js → dom.ts} +125 -147
- package/core/utils/idgenerator.d.ts +25 -0
- package/core/utils/{idgenerator.js → idgenerator.ts} +15 -18
- package/core/utils/keycodes.d.ts +137 -0
- package/core/utils/keycodes.ts +169 -0
- package/core/utils/math.d.ts +30 -0
- package/core/utils/{math.js → math.ts} +17 -19
- package/core/utils/metrics.d.ts +64 -0
- package/core/utils/metrics.ts +97 -0
- package/core/utils/object.d.ts +35 -0
- package/core/utils/{object.js → object.ts} +30 -26
- package/core/utils/parsing.d.ts +50 -0
- package/core/utils/{parsing.js → parsing.ts} +50 -50
- package/core/utils/rect.d.ts +38 -0
- package/core/utils/{rect.js → rect.ts} +18 -31
- package/core/utils/sentinel.d.ts +11 -0
- package/core/utils/{sentinel.js → sentinel.ts} +3 -5
- package/core/utils/size.d.ts +27 -0
- package/core/utils/{size.js → size.ts} +12 -26
- package/core/utils/string.d.ts +55 -0
- package/core/utils/{string.js → string.ts} +64 -61
- package/core/utils/style.d.ts +127 -0
- package/core/utils/{style.js → style.ts} +102 -92
- package/core/utils/svg.d.ts +68 -0
- package/core/utils/svg.ts +88 -0
- package/core/utils/svg_math.d.ts +70 -0
- package/core/utils/{svg_math.js → svg_math.ts} +72 -71
- package/core/utils/svg_paths.d.ts +101 -0
- package/core/utils/{svg_paths.js → svg_paths.ts} +56 -65
- package/core/utils/toolbox.d.ts +193 -0
- package/core/utils/toolbox.ts +433 -0
- package/core/utils/useragent.d.ts +33 -0
- package/core/utils/useragent.ts +135 -0
- package/core/utils/xml.d.ts +52 -0
- package/core/utils/{xml.js → xml.ts} +26 -36
- package/core/utils.d.ts +217 -0
- package/core/utils.ts +428 -0
- package/core/variable_map.d.ts +141 -0
- package/core/{variable_map.js → variable_map.ts} +131 -149
- package/core/variable_model.d.ts +40 -0
- package/core/variable_model.ts +82 -0
- package/core/variables.d.ts +181 -0
- package/core/{variables.js → variables.ts} +206 -188
- package/core/variables_dynamic.d.ts +38 -0
- package/core/{variables_dynamic.js → variables_dynamic.ts} +47 -43
- package/core/warning.d.ts +50 -0
- package/core/{warning.js → warning.ts} +52 -66
- package/core/widgetdiv.d.ts +69 -0
- package/core/widgetdiv.ts +257 -0
- package/core/workspace.d.ts +386 -0
- package/core/workspace.ts +801 -0
- package/core/workspace_audio.d.ts +47 -0
- package/core/{workspace_audio.js → workspace_audio.ts} +47 -60
- package/core/workspace_comment.d.ts +170 -0
- package/core/workspace_comment.ts +398 -0
- package/core/workspace_comment_svg.d.ts +329 -0
- package/core/{workspace_comment_svg.js → workspace_comment_svg.ts} +347 -444
- package/core/workspace_drag_surface_svg.d.ts +68 -0
- package/core/{workspace_drag_surface_svg.js → workspace_drag_surface_svg.ts} +75 -82
- package/core/workspace_dragger.d.ts +48 -0
- package/core/workspace_dragger.ts +104 -0
- package/core/workspace_svg.d.ts +920 -0
- package/core/{workspace_svg.js → workspace_svg.ts} +855 -935
- package/core/xml.d.ts +117 -0
- package/core/{xml.js → xml.ts} +306 -326
- package/core/zoom_controls.d.ts +130 -0
- package/core/{zoom_controls.js → zoom_controls.ts} +185 -251
- package/core.d.ts +1 -3
- package/core.js +1 -2
- package/dart.d.ts +0 -3
- package/dart_compressed.js +387 -99
- package/dart_compressed.js.map +1 -1
- package/generators/dart/all.js +2 -0
- package/generators/dart/colour.js +1 -1
- package/generators/dart/lists.js +1 -1
- package/generators/dart/logic.js +1 -1
- package/generators/dart/loops.js +1 -1
- package/generators/dart/math.js +1 -1
- package/generators/dart/procedures.js +1 -1
- package/generators/dart/text.js +1 -1
- package/generators/dart/variables.js +1 -1
- package/generators/dart/variables_dynamic.js +1 -1
- package/generators/dart.js +1 -2
- package/generators/javascript/all.js +2 -0
- package/generators/javascript/colour.js +1 -1
- package/generators/javascript/lists.js +1 -1
- package/generators/javascript/logic.js +1 -1
- package/generators/javascript/loops.js +1 -1
- package/generators/javascript/math.js +4 -4
- package/generators/javascript/procedures.js +1 -1
- package/generators/javascript/text.js +2 -2
- package/generators/javascript/variables.js +1 -1
- package/generators/javascript/variables_dynamic.js +1 -1
- package/generators/javascript.js +1 -3
- package/generators/lua/all.js +2 -0
- package/generators/lua/colour.js +1 -1
- package/generators/lua/lists.js +1 -1
- package/generators/lua/logic.js +1 -1
- package/generators/lua/loops.js +1 -1
- package/generators/lua/math.js +1 -1
- package/generators/lua/procedures.js +1 -1
- package/generators/lua/text.js +1 -1
- package/generators/lua/variables.js +1 -1
- package/generators/lua/variables_dynamic.js +1 -1
- package/generators/lua.js +1 -2
- package/generators/php/all.js +2 -0
- package/generators/php/colour.js +1 -1
- package/generators/php/lists.js +1 -2
- package/generators/php/logic.js +1 -1
- package/generators/php/loops.js +1 -1
- package/generators/php/math.js +1 -1
- package/generators/php/procedures.js +1 -1
- package/generators/php/text.js +1 -1
- package/generators/php/variables.js +1 -1
- package/generators/php/variables_dynamic.js +1 -1
- package/generators/php.js +1 -2
- package/generators/python/all.js +2 -0
- package/generators/python/colour.js +3 -3
- package/generators/python/lists.js +1 -1
- package/generators/python/logic.js +1 -1
- package/generators/python/loops.js +4 -7
- package/generators/python/math.js +1 -1
- package/generators/python/procedures.js +1 -1
- package/generators/python/text.js +1 -1
- package/generators/python/variables.js +1 -1
- package/generators/python/variables_dynamic.js +1 -1
- package/generators/python.js +1 -2
- package/index.d.ts +2 -8
- package/javascript.d.ts +0 -3
- package/javascript_compressed.js +314 -104
- package/javascript_compressed.js.map +1 -1
- package/lua.d.ts +0 -3
- package/lua_compressed.js +399 -81
- package/lua_compressed.js.map +1 -1
- package/msg/ab.js +420 -420
- package/msg/ace.js +420 -420
- package/msg/af.js +420 -420
- package/msg/am.js +420 -420
- package/msg/ar.js +420 -420
- package/msg/ast.js +420 -420
- package/msg/az.js +420 -420
- package/msg/ba.js +420 -420
- package/msg/bcc.js +420 -420
- package/msg/be-tarask.js +420 -420
- package/msg/be.js +420 -420
- package/msg/bg.js +420 -420
- package/msg/bn.js +420 -420
- package/msg/br.js +420 -420
- package/msg/bs.js +420 -420
- package/msg/ca.js +420 -420
- package/msg/cdo.js +420 -420
- package/msg/cs.js +420 -420
- package/msg/da.js +420 -420
- package/msg/de.js +420 -420
- package/msg/diq.js +420 -420
- package/msg/dty.js +420 -420
- package/msg/ee.js +420 -420
- package/msg/el.js +420 -420
- package/msg/en-gb.js +420 -420
- package/msg/en.js +420 -420
- package/msg/eo.js +420 -420
- package/msg/es.js +420 -420
- package/msg/et.js +420 -420
- package/msg/eu.js +420 -420
- package/msg/fa.js +420 -420
- package/msg/fi.js +420 -420
- package/msg/fo.js +420 -420
- package/msg/fr.js +420 -420
- package/msg/frr.js +420 -420
- package/msg/gl.js +420 -420
- package/msg/gn.js +420 -420
- package/msg/gor.js +420 -420
- package/msg/ha.js +420 -420
- package/msg/hak.js +420 -420
- package/msg/he.js +420 -420
- package/msg/hi.js +420 -420
- package/msg/hr.js +420 -420
- package/msg/hrx.js +420 -420
- package/msg/hu.js +420 -420
- package/msg/hy.js +420 -420
- package/msg/ia.js +420 -420
- package/msg/id.js +420 -420
- package/msg/ig.js +420 -420
- package/msg/inh.js +420 -420
- package/msg/is.js +420 -420
- package/msg/it.js +420 -420
- package/msg/ja.js +420 -420
- package/msg/ka.js +420 -420
- package/msg/kab.js +420 -420
- package/msg/kbd-cyrl.js +420 -420
- package/msg/km.js +420 -420
- package/msg/kn.js +420 -420
- package/msg/ko.js +420 -420
- package/msg/ksh.js +420 -420
- package/msg/ku-latn.js +420 -420
- package/msg/ky.js +420 -420
- package/msg/la.js +420 -420
- package/msg/lb.js +420 -420
- package/msg/lki.js +420 -420
- package/msg/lo.js +420 -420
- package/msg/lrc.js +420 -420
- package/msg/lt.js +420 -420
- package/msg/lv.js +420 -420
- package/msg/mg.js +420 -420
- package/msg/mk.js +420 -420
- package/msg/ml.js +420 -420
- package/msg/mnw.js +420 -420
- package/msg/ms.js +420 -420
- package/msg/my.js +420 -420
- package/msg/mzn.js +420 -420
- package/msg/nb.js +420 -420
- package/msg/ne.js +420 -420
- package/msg/nl.js +420 -420
- package/msg/oc.js +420 -420
- package/msg/olo.js +420 -420
- package/msg/pa.js +420 -420
- package/msg/pl.js +420 -420
- package/msg/pms.js +420 -420
- package/msg/ps.js +420 -420
- package/msg/pt-br.js +420 -420
- package/msg/pt.js +420 -420
- package/msg/ro.js +420 -420
- package/msg/ru.js +420 -420
- package/msg/sc.js +420 -420
- package/msg/sco.js +420 -420
- package/msg/sd.js +420 -420
- package/msg/shn.js +420 -420
- package/msg/si.js +420 -420
- package/msg/sk.js +420 -420
- package/msg/skr-arab.js +420 -420
- package/msg/sl.js +420 -420
- package/msg/smn.js +420 -420
- package/msg/sq.js +420 -420
- package/msg/sr-latn.js +420 -420
- package/msg/sr.js +420 -420
- package/msg/sv.js +420 -420
- package/msg/sw.js +420 -420
- package/msg/ta.js +420 -420
- package/msg/tcy.js +420 -420
- package/msg/te.js +420 -420
- package/msg/th.js +420 -420
- package/msg/ti.js +420 -420
- package/msg/tl.js +420 -420
- package/msg/tlh.js +420 -420
- package/msg/tr.js +420 -420
- package/msg/ug-arab.js +420 -420
- package/msg/uk.js +420 -420
- package/msg/ur.js +420 -420
- package/msg/uz.js +420 -420
- package/msg/vi.js +420 -420
- package/msg/xmf.js +420 -420
- package/msg/yo.js +420 -420
- package/msg/yue.js +420 -420
- package/msg/zgh.js +420 -420
- package/msg/zh-hans.js +420 -420
- package/msg/zh-hant.js +420 -420
- package/package.json +5 -5
- package/php.d.ts +0 -3
- package/php_compressed.js +322 -93
- package/php_compressed.js.map +1 -1
- package/python.d.ts +0 -3
- package/python_compressed.js +237 -90
- package/python_compressed.js.map +1 -1
- package/blockly.d.ts +0 -26127
- package/core/blockly_options.js +0 -28
- package/core/bubble_dragger.js +0 -298
- package/core/clipboard.js +0 -80
- package/core/component_manager.js +0 -263
- package/core/contextmenu_items.js +0 -651
- package/core/contextmenu_registry.js +0 -178
- package/core/delete_area.js +0 -87
- package/core/dialog.js +0 -107
- package/core/drag_target.js +0 -98
- package/core/events/events.js +0 -147
- package/core/events/events_abstract.js +0 -133
- package/core/events/events_block_base.js +0 -70
- package/core/events/events_block_drag.js +0 -89
- package/core/events/events_bubble_open.js +0 -90
- package/core/events/events_comment_base.js +0 -121
- package/core/events/events_marker_move.js +0 -110
- package/core/events/events_selected.js +0 -83
- package/core/events/events_toolbox_item_select.js +0 -84
- package/core/events/events_trashcan_open.js +0 -73
- package/core/events/events_var_base.js +0 -70
- package/core/events/events_viewport.js +0 -107
- package/core/events/workspace_events.js +0 -93
- package/core/field_angle.js +0 -591
- package/core/field_checkbox.js +0 -255
- package/core/field_colour.js +0 -717
- package/core/field_image.js +0 -304
- package/core/field_label.js +0 -149
- package/core/field_label_serializable.js +0 -80
- package/core/field_textinput.js +0 -619
- package/core/flyout_button.js +0 -356
- package/core/grid.js +0 -226
- package/core/icon.js +0 -225
- package/core/input.js +0 -335
- package/core/interfaces/i_ast_node_location_svg.js +0 -45
- package/core/interfaces/i_ast_node_location_with_block.js +0 -41
- package/core/interfaces/i_autohideable.js +0 -40
- package/core/interfaces/i_block_dragger.js +0 -66
- package/core/interfaces/i_bounded_element.js +0 -45
- package/core/interfaces/i_bubble.js +0 -95
- package/core/interfaces/i_collapsible_toolbox_item.js +0 -53
- package/core/interfaces/i_connection_checker.js +0 -104
- package/core/interfaces/i_contextmenu.js +0 -32
- package/core/interfaces/i_copyable.js +0 -49
- package/core/interfaces/i_delete_area.js +0 -50
- package/core/interfaces/i_drag_target.js +0 -88
- package/core/interfaces/i_flyout.js +0 -201
- package/core/interfaces/i_keyboard_accessible.js +0 -38
- package/core/interfaces/i_metrics_manager.js +0 -154
- package/core/interfaces/i_positionable.js +0 -51
- package/core/interfaces/i_selectable.js +0 -51
- package/core/interfaces/i_selectable_toolbox_item.js +0 -73
- package/core/interfaces/i_serializer.js +0 -77
- package/core/interfaces/i_styleable.js +0 -39
- package/core/interfaces/i_toolbox.js +0 -142
- package/core/interfaces/i_toolbox_item.js +0 -85
- package/core/marker_manager.js +0 -213
- package/core/menuitem.js +0 -292
- package/core/names.js +0 -293
- package/core/registry.js +0 -384
- package/core/renderers/common/block_rendering.js +0 -170
- package/core/renderers/common/constants.js +0 -1250
- package/core/renderers/common/i_path_object.js +0 -162
- package/core/renderers/common/marker_svg.js +0 -721
- package/core/renderers/common/path_object.js +0 -283
- package/core/renderers/common/renderer.js +0 -305
- package/core/renderers/geras/constants.js +0 -73
- package/core/renderers/geras/geras.js +0 -36
- package/core/renderers/geras/measurables/inline_input.js +0 -58
- package/core/renderers/geras/measurables/statement_input.js +0 -57
- package/core/renderers/geras/renderer.js +0 -149
- package/core/renderers/measurables/base.js +0 -64
- package/core/renderers/measurables/bottom_row.js +0 -138
- package/core/renderers/measurables/connection.js +0 -56
- package/core/renderers/measurables/external_value_input.js +0 -70
- package/core/renderers/measurables/field.js +0 -71
- package/core/renderers/measurables/in_row_spacer.js +0 -47
- package/core/renderers/measurables/input_connection.js +0 -75
- package/core/renderers/measurables/next_connection.js +0 -50
- package/core/renderers/measurables/output_connection.js +0 -61
- package/core/renderers/measurables/previous_connection.js +0 -50
- package/core/renderers/measurables/round_corner.js +0 -52
- package/core/renderers/measurables/row.js +0 -247
- package/core/renderers/measurables/spacer_row.js +0 -69
- package/core/renderers/measurables/square_corner.js +0 -50
- package/core/renderers/measurables/top_row.js +0 -143
- package/core/renderers/measurables/types.js +0 -353
- package/core/renderers/minimalist/drawer.js +0 -42
- package/core/renderers/minimalist/info.js +0 -54
- package/core/renderers/minimalist/minimalist.js +0 -26
- package/core/renderers/minimalist/renderer.js +0 -80
- package/core/renderers/thrasos/renderer.js +0 -53
- package/core/renderers/thrasos/thrasos.js +0 -22
- package/core/renderers/zelos/marker_svg.js +0 -179
- package/core/renderers/zelos/measurables/bottom_row.js +0 -66
- package/core/renderers/zelos/measurables/row_elements.js +0 -46
- package/core/renderers/zelos/path_object.js +0 -247
- package/core/renderers/zelos/renderer.js +0 -147
- package/core/renderers/zelos/zelos.js +0 -38
- package/core/serialization/exceptions.js +0 -144
- package/core/shortcut_registry.js +0 -366
- package/core/theme/themes.js +0 -23
- package/core/theme.js +0 -228
- package/core/theme_manager.js +0 -211
- package/core/toolbox/category.js +0 -751
- package/core/toolbox/collapsible_category.js +0 -311
- package/core/toolbox/separator.js +0 -133
- package/core/toolbox/toolbox_item.js +0 -173
- package/core/touch.js +0 -285
- package/core/utils/coordinate.js +0 -138
- package/core/utils/global.js +0 -41
- package/core/utils/keycodes.js +0 -172
- package/core/utils/metrics.js +0 -154
- package/core/utils/svg.js +0 -186
- package/core/utils/toolbox.js +0 -459
- package/core/utils/useragent.js +0 -197
- package/core/utils.js +0 -383
- package/core/variable_model.js +0 -96
- package/core/widgetdiv.js +0 -290
- package/core/workspace.js +0 -836
- package/core/workspace_comment.js +0 -400
- package/core/workspace_dragger.js +0 -115
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2019 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { ConstantProvider } from '../common/constants.js';
|
|
7
|
+
/** An object containing sizing and path information about an outside corner. */
|
|
8
|
+
export interface OutsideCorner {
|
|
9
|
+
height: number;
|
|
10
|
+
topLeft: (p1: boolean) => string;
|
|
11
|
+
bottomLeft: () => string;
|
|
12
|
+
}
|
|
13
|
+
/** An object containing sizing and path information about an inside corner. */
|
|
14
|
+
export interface InsideCorner {
|
|
15
|
+
width: number;
|
|
16
|
+
height: number;
|
|
17
|
+
pathTop: (p1: boolean) => string;
|
|
18
|
+
pathBottom: (p1: boolean) => string;
|
|
19
|
+
}
|
|
20
|
+
/** An object containing sizing and path information about a start hat. */
|
|
21
|
+
export interface StartHat {
|
|
22
|
+
path: (p1: boolean) => string;
|
|
23
|
+
}
|
|
24
|
+
/** An object containing sizing and path information about a notch. */
|
|
25
|
+
export interface Notch {
|
|
26
|
+
pathLeft: string;
|
|
27
|
+
}
|
|
28
|
+
/** An object containing sizing and path information about a puzzle tab. */
|
|
29
|
+
export interface PuzzleTab {
|
|
30
|
+
width: number;
|
|
31
|
+
height: number;
|
|
32
|
+
pathDown: (p1: boolean) => string;
|
|
33
|
+
pathUp: (p1: boolean) => string;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* An object containing sizing and path information about collapsed block
|
|
37
|
+
* indicators.
|
|
38
|
+
*/
|
|
39
|
+
export interface JaggedTeeth {
|
|
40
|
+
height: number;
|
|
41
|
+
width: number;
|
|
42
|
+
pathLeft: string;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* An object that provides constants for rendering highlights on blocks.
|
|
46
|
+
* Some highlights are simple offsets of the parent paths and can be generated
|
|
47
|
+
* programmatically. Others, especially on curves, are just made out of piles
|
|
48
|
+
* of constants and are hard to tweak.
|
|
49
|
+
* @alias Blockly.geras.HighlightConstantProvider
|
|
50
|
+
*/
|
|
51
|
+
export declare class HighlightConstantProvider {
|
|
52
|
+
constantProvider: ConstantProvider;
|
|
53
|
+
/** The offset between the block's main path and highlight path. */
|
|
54
|
+
OFFSET: number;
|
|
55
|
+
START_POINT: string;
|
|
56
|
+
INSIDE_CORNER: InsideCorner;
|
|
57
|
+
OUTSIDE_CORNER: OutsideCorner;
|
|
58
|
+
PUZZLE_TAB: PuzzleTab;
|
|
59
|
+
NOTCH: Notch;
|
|
60
|
+
JAGGED_TEETH: JaggedTeeth;
|
|
61
|
+
START_HAT: StartHat;
|
|
62
|
+
/**
|
|
63
|
+
* @param constants The rendering constants provider.
|
|
64
|
+
* @internal
|
|
65
|
+
*/
|
|
66
|
+
constructor(constants: ConstantProvider);
|
|
67
|
+
/**
|
|
68
|
+
* Initialize shape objects based on the constants set in the constructor.
|
|
69
|
+
* @internal
|
|
70
|
+
*/
|
|
71
|
+
init(): void;
|
|
72
|
+
/**
|
|
73
|
+
* @return An object containing sizing and path information about inside
|
|
74
|
+
* corner highlights.
|
|
75
|
+
* @internal
|
|
76
|
+
*/
|
|
77
|
+
makeInsideCorner(): InsideCorner;
|
|
78
|
+
/**
|
|
79
|
+
* @return An object containing sizing and path information about outside
|
|
80
|
+
* corner highlights.
|
|
81
|
+
* @internal
|
|
82
|
+
*/
|
|
83
|
+
makeOutsideCorner(): OutsideCorner;
|
|
84
|
+
/**
|
|
85
|
+
* @return An object containing sizing and path information about puzzle tab
|
|
86
|
+
* highlights.
|
|
87
|
+
* @internal
|
|
88
|
+
*/
|
|
89
|
+
makePuzzleTab(): PuzzleTab;
|
|
90
|
+
/**
|
|
91
|
+
* @return An object containing sizing and path information about notch
|
|
92
|
+
* highlights.
|
|
93
|
+
* @internal
|
|
94
|
+
*/
|
|
95
|
+
makeNotch(): Notch;
|
|
96
|
+
/**
|
|
97
|
+
* @return An object containing sizing and path information about collapsed
|
|
98
|
+
* block edge highlights.
|
|
99
|
+
* @internal
|
|
100
|
+
*/
|
|
101
|
+
makeJaggedTeeth(): JaggedTeeth;
|
|
102
|
+
/**
|
|
103
|
+
* @return An object containing sizing and path information about start
|
|
104
|
+
* highlights.
|
|
105
|
+
* @internal
|
|
106
|
+
*/
|
|
107
|
+
makeStartHat(): StartHat;
|
|
108
|
+
}
|
|
@@ -7,19 +7,61 @@
|
|
|
7
7
|
/**
|
|
8
8
|
* @fileoverview Objects for rendering highlights on blocks.
|
|
9
9
|
*/
|
|
10
|
-
'use strict';
|
|
11
10
|
|
|
12
11
|
/**
|
|
13
12
|
* Objects for rendering highlights on blocks.
|
|
14
13
|
* @class
|
|
15
14
|
*/
|
|
16
|
-
goog
|
|
15
|
+
import * as goog from '../../../closure/goog/goog.js';
|
|
16
|
+
goog.declareModuleId('Blockly.geras.HighlightConstantProvider');
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
const {ConstantProvider} = goog.requireType('Blockly.blockRendering.ConstantProvider');
|
|
18
|
+
import * as svgPaths from '../../utils/svg_paths.js';
|
|
19
|
+
import type {ConstantProvider} from '../common/constants.js';
|
|
21
20
|
|
|
22
21
|
|
|
22
|
+
/** An object containing sizing and path information about an outside corner. */
|
|
23
|
+
export interface OutsideCorner {
|
|
24
|
+
height: number;
|
|
25
|
+
topLeft: (p1: boolean) => string;
|
|
26
|
+
bottomLeft: () => string;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/** An object containing sizing and path information about an inside corner. */
|
|
30
|
+
export interface InsideCorner {
|
|
31
|
+
width: number;
|
|
32
|
+
height: number;
|
|
33
|
+
pathTop: (p1: boolean) => string;
|
|
34
|
+
pathBottom: (p1: boolean) => string;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/** An object containing sizing and path information about a start hat. */
|
|
38
|
+
export interface StartHat {
|
|
39
|
+
path: (p1: boolean) => string;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/** An object containing sizing and path information about a notch. */
|
|
43
|
+
export interface Notch {
|
|
44
|
+
pathLeft: string;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/** An object containing sizing and path information about a puzzle tab. */
|
|
48
|
+
export interface PuzzleTab {
|
|
49
|
+
width: number;
|
|
50
|
+
height: number;
|
|
51
|
+
pathDown: (p1: boolean) => string;
|
|
52
|
+
pathUp: (p1: boolean) => string;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* An object containing sizing and path information about collapsed block
|
|
57
|
+
* indicators.
|
|
58
|
+
*/
|
|
59
|
+
export interface JaggedTeeth {
|
|
60
|
+
height: number;
|
|
61
|
+
width: number;
|
|
62
|
+
pathLeft: string;
|
|
63
|
+
}
|
|
64
|
+
|
|
23
65
|
/**
|
|
24
66
|
* An object that provides constants for rendering highlights on blocks.
|
|
25
67
|
* Some highlights are simple offsets of the parent paths and can be generated
|
|
@@ -27,93 +69,93 @@ const {ConstantProvider} = goog.requireType('Blockly.blockRendering.ConstantProv
|
|
|
27
69
|
* of constants and are hard to tweak.
|
|
28
70
|
* @alias Blockly.geras.HighlightConstantProvider
|
|
29
71
|
*/
|
|
30
|
-
class HighlightConstantProvider {
|
|
72
|
+
export class HighlightConstantProvider {
|
|
73
|
+
constantProvider: ConstantProvider;
|
|
74
|
+
|
|
75
|
+
/** The offset between the block's main path and highlight path. */
|
|
76
|
+
OFFSET = 0.5;
|
|
77
|
+
START_POINT: string;
|
|
78
|
+
// TODO(b/109816955): remove '!', see go/strict-prop-init-fix.
|
|
79
|
+
INSIDE_CORNER!: InsideCorner;
|
|
80
|
+
// TODO(b/109816955): remove '!', see go/strict-prop-init-fix.
|
|
81
|
+
OUTSIDE_CORNER!: OutsideCorner;
|
|
82
|
+
// TODO(b/109816955): remove '!', see go/strict-prop-init-fix.
|
|
83
|
+
PUZZLE_TAB!: PuzzleTab;
|
|
84
|
+
// TODO(b/109816955): remove '!', see go/strict-prop-init-fix.
|
|
85
|
+
NOTCH!: Notch;
|
|
86
|
+
// TODO(b/109816955): remove '!', see go/strict-prop-init-fix.
|
|
87
|
+
JAGGED_TEETH!: JaggedTeeth;
|
|
88
|
+
// TODO(b/109816955): remove '!', see go/strict-prop-init-fix.
|
|
89
|
+
START_HAT!: StartHat;
|
|
90
|
+
|
|
31
91
|
/**
|
|
32
|
-
* @param
|
|
33
|
-
*
|
|
34
|
-
* @package
|
|
92
|
+
* @param constants The rendering constants provider.
|
|
93
|
+
* @internal
|
|
35
94
|
*/
|
|
36
|
-
constructor(constants) {
|
|
37
|
-
/**
|
|
38
|
-
* The renderer's constant provider.
|
|
39
|
-
* @type {!ConstantProvider}
|
|
40
|
-
*/
|
|
95
|
+
constructor(constants: ConstantProvider) {
|
|
96
|
+
/** The renderer's constant provider. */
|
|
41
97
|
this.constantProvider = constants;
|
|
42
98
|
|
|
43
|
-
/**
|
|
44
|
-
* The offset between the block's main path and highlight path.
|
|
45
|
-
* @type {number}
|
|
46
|
-
* @package
|
|
47
|
-
*/
|
|
48
|
-
this.OFFSET = 0.5;
|
|
49
|
-
|
|
50
99
|
/**
|
|
51
100
|
* The start point, which is offset in both X and Y, as an SVG path chunk.
|
|
52
|
-
* @
|
|
101
|
+
* @internal
|
|
53
102
|
*/
|
|
54
103
|
this.START_POINT = svgPaths.moveBy(this.OFFSET, this.OFFSET);
|
|
55
104
|
}
|
|
56
105
|
|
|
57
106
|
/**
|
|
58
107
|
* Initialize shape objects based on the constants set in the constructor.
|
|
59
|
-
* @
|
|
108
|
+
* @internal
|
|
60
109
|
*/
|
|
61
110
|
init() {
|
|
62
111
|
/**
|
|
63
112
|
* An object containing sizing and path information about inside corner
|
|
64
113
|
* highlights.
|
|
65
|
-
* @type {!Object}
|
|
66
114
|
*/
|
|
67
115
|
this.INSIDE_CORNER = this.makeInsideCorner();
|
|
68
116
|
|
|
69
117
|
/**
|
|
70
118
|
* An object containing sizing and path information about outside corner
|
|
71
119
|
* highlights.
|
|
72
|
-
* @type {!Object}
|
|
73
120
|
*/
|
|
74
121
|
this.OUTSIDE_CORNER = this.makeOutsideCorner();
|
|
75
122
|
|
|
76
123
|
/**
|
|
77
124
|
* An object containing sizing and path information about puzzle tab
|
|
78
125
|
* highlights.
|
|
79
|
-
* @type {!Object}
|
|
80
126
|
*/
|
|
81
127
|
this.PUZZLE_TAB = this.makePuzzleTab();
|
|
82
128
|
|
|
83
129
|
/**
|
|
84
130
|
* An object containing sizing and path information about notch highlights.
|
|
85
|
-
* @type {!Object}
|
|
86
131
|
*/
|
|
87
132
|
this.NOTCH = this.makeNotch();
|
|
88
133
|
|
|
89
134
|
/**
|
|
90
135
|
* An object containing sizing and path information about highlights for
|
|
91
136
|
* collapsed block indicators.
|
|
92
|
-
* @type {!Object}
|
|
93
137
|
*/
|
|
94
138
|
this.JAGGED_TEETH = this.makeJaggedTeeth();
|
|
95
139
|
|
|
96
140
|
/**
|
|
97
141
|
* An object containing sizing and path information about start hat
|
|
98
142
|
* highlights.
|
|
99
|
-
* @type {!Object}
|
|
100
143
|
*/
|
|
101
144
|
this.START_HAT = this.makeStartHat();
|
|
102
145
|
}
|
|
103
146
|
|
|
104
147
|
/**
|
|
105
|
-
* @return
|
|
106
|
-
*
|
|
107
|
-
* @
|
|
148
|
+
* @return An object containing sizing and path information about inside
|
|
149
|
+
* corner highlights.
|
|
150
|
+
* @internal
|
|
108
151
|
*/
|
|
109
|
-
makeInsideCorner() {
|
|
152
|
+
makeInsideCorner(): InsideCorner {
|
|
110
153
|
const radius = this.constantProvider.CORNER_RADIUS;
|
|
111
154
|
const offset = this.OFFSET;
|
|
112
155
|
|
|
113
156
|
/**
|
|
114
157
|
* Distance from shape edge to intersect with a curved corner at 45 degrees.
|
|
115
158
|
* Applies to highlighting on around the outside of a curve.
|
|
116
|
-
* @const
|
|
117
159
|
*/
|
|
118
160
|
const distance45outside = (1 - Math.SQRT1_2) * (radius + offset) - offset;
|
|
119
161
|
|
|
@@ -137,28 +179,27 @@ class HighlightConstantProvider {
|
|
|
137
179
|
return {
|
|
138
180
|
width: radius + offset,
|
|
139
181
|
height: radius,
|
|
140
|
-
pathTop
|
|
182
|
+
pathTop(rtl) {
|
|
141
183
|
return rtl ? pathTopRtl : '';
|
|
142
184
|
},
|
|
143
|
-
pathBottom
|
|
185
|
+
pathBottom(rtl) {
|
|
144
186
|
return rtl ? pathBottomRtl : pathBottomLtr;
|
|
145
187
|
},
|
|
146
188
|
};
|
|
147
189
|
}
|
|
148
190
|
|
|
149
191
|
/**
|
|
150
|
-
* @return
|
|
151
|
-
*
|
|
152
|
-
* @
|
|
192
|
+
* @return An object containing sizing and path information about outside
|
|
193
|
+
* corner highlights.
|
|
194
|
+
* @internal
|
|
153
195
|
*/
|
|
154
|
-
makeOutsideCorner() {
|
|
196
|
+
makeOutsideCorner(): OutsideCorner {
|
|
155
197
|
const radius = this.constantProvider.CORNER_RADIUS;
|
|
156
198
|
const offset = this.OFFSET;
|
|
157
199
|
|
|
158
200
|
/**
|
|
159
201
|
* Distance from shape edge to intersect with a curved corner at 45 degrees.
|
|
160
202
|
* Applies to highlighting on around the inside of a curve.
|
|
161
|
-
* @const
|
|
162
203
|
*/
|
|
163
204
|
const distance45inside = (1 - Math.SQRT1_2) * (radius - offset) + offset;
|
|
164
205
|
|
|
@@ -171,7 +212,6 @@ class HighlightConstantProvider {
|
|
|
171
212
|
svgPaths.point(radius - topLeftStartX, -topLeftStartY + offset));
|
|
172
213
|
/**
|
|
173
214
|
* SVG path for drawing the highlight on the rounded top-left corner.
|
|
174
|
-
* @const
|
|
175
215
|
*/
|
|
176
216
|
const topLeftCornerHighlightLtr = svgPaths.moveBy(offset, radius) +
|
|
177
217
|
svgPaths.arc(
|
|
@@ -188,21 +228,21 @@ class HighlightConstantProvider {
|
|
|
188
228
|
|
|
189
229
|
return {
|
|
190
230
|
height: radius,
|
|
191
|
-
topLeft
|
|
231
|
+
topLeft(rtl) {
|
|
192
232
|
return rtl ? topLeftCornerHighlightRtl : topLeftCornerHighlightLtr;
|
|
193
233
|
},
|
|
194
|
-
bottomLeft
|
|
234
|
+
bottomLeft() {
|
|
195
235
|
return bottomLeftPath;
|
|
196
236
|
},
|
|
197
237
|
};
|
|
198
238
|
}
|
|
199
239
|
|
|
200
240
|
/**
|
|
201
|
-
* @return
|
|
202
|
-
*
|
|
203
|
-
* @
|
|
241
|
+
* @return An object containing sizing and path information about puzzle tab
|
|
242
|
+
* highlights.
|
|
243
|
+
* @internal
|
|
204
244
|
*/
|
|
205
|
-
makePuzzleTab() {
|
|
245
|
+
makePuzzleTab(): PuzzleTab {
|
|
206
246
|
const width = this.constantProvider.TAB_WIDTH;
|
|
207
247
|
const height = this.constantProvider.TAB_HEIGHT;
|
|
208
248
|
|
|
@@ -236,46 +276,46 @@ class HighlightConstantProvider {
|
|
|
236
276
|
svgPaths.moveBy(-5, height - 0.7) + svgPaths.lineTo(width * 0.46, -2.1);
|
|
237
277
|
|
|
238
278
|
return {
|
|
239
|
-
width
|
|
240
|
-
height
|
|
241
|
-
pathUp
|
|
279
|
+
width,
|
|
280
|
+
height,
|
|
281
|
+
pathUp(rtl) {
|
|
242
282
|
return rtl ? highlightRtlUp : highlightLtrUp;
|
|
243
283
|
},
|
|
244
|
-
pathDown
|
|
284
|
+
pathDown(rtl) {
|
|
245
285
|
return rtl ? highlightRtlDown : highlightLtrDown;
|
|
246
286
|
},
|
|
247
287
|
};
|
|
248
288
|
}
|
|
249
289
|
|
|
250
290
|
/**
|
|
251
|
-
* @return
|
|
252
|
-
*
|
|
253
|
-
* @
|
|
291
|
+
* @return An object containing sizing and path information about notch
|
|
292
|
+
* highlights.
|
|
293
|
+
* @internal
|
|
254
294
|
*/
|
|
255
|
-
makeNotch() {
|
|
295
|
+
makeNotch(): Notch {
|
|
256
296
|
// This is only for the previous connection.
|
|
257
297
|
const pathLeft = svgPaths.lineOnAxis('h', this.OFFSET) +
|
|
258
298
|
this.constantProvider.NOTCH.pathLeft;
|
|
259
|
-
return {pathLeft
|
|
299
|
+
return {pathLeft};
|
|
260
300
|
}
|
|
261
301
|
|
|
262
302
|
/**
|
|
263
|
-
* @return
|
|
264
|
-
*
|
|
265
|
-
* @
|
|
303
|
+
* @return An object containing sizing and path information about collapsed
|
|
304
|
+
* block edge highlights.
|
|
305
|
+
* @internal
|
|
266
306
|
*/
|
|
267
|
-
makeJaggedTeeth() {
|
|
307
|
+
makeJaggedTeeth(): JaggedTeeth {
|
|
268
308
|
const pathLeft = svgPaths.lineTo(5.1, 2.6) + svgPaths.moveBy(-10.2, 6.8) +
|
|
269
309
|
svgPaths.lineTo(5.1, 2.6);
|
|
270
|
-
return {pathLeft
|
|
310
|
+
return {pathLeft, height: 12, width: 10.2};
|
|
271
311
|
}
|
|
272
312
|
|
|
273
313
|
/**
|
|
274
|
-
* @return
|
|
275
|
-
*
|
|
276
|
-
* @
|
|
314
|
+
* @return An object containing sizing and path information about start
|
|
315
|
+
* highlights.
|
|
316
|
+
* @internal
|
|
277
317
|
*/
|
|
278
|
-
makeStartHat() {
|
|
318
|
+
makeStartHat(): StartHat {
|
|
279
319
|
const hatHeight = this.constantProvider.START_HAT.height;
|
|
280
320
|
const pathRtl = svgPaths.moveBy(25, -8.7) + svgPaths.curve('c', [
|
|
281
321
|
svgPaths.point(29.7, -6.2),
|
|
@@ -289,11 +329,9 @@ class HighlightConstantProvider {
|
|
|
289
329
|
svgPaths.point(75, -8.7),
|
|
290
330
|
]) + svgPaths.moveTo(100.5, hatHeight + 0.5);
|
|
291
331
|
return {
|
|
292
|
-
path
|
|
332
|
+
path(rtl) {
|
|
293
333
|
return rtl ? pathRtl : pathLtr;
|
|
294
334
|
},
|
|
295
335
|
};
|
|
296
336
|
}
|
|
297
337
|
}
|
|
298
|
-
|
|
299
|
-
exports.HighlightConstantProvider = HighlightConstantProvider;
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2019 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { ConstantProvider } from '../common/constants.js';
|
|
7
|
+
import type { BottomRow } from '../measurables/bottom_row.js';
|
|
8
|
+
import type { Row } from '../measurables/row.js';
|
|
9
|
+
import type { TopRow } from '../measurables/top_row.js';
|
|
10
|
+
import type { HighlightConstantProvider, InsideCorner, JaggedTeeth, Notch, OutsideCorner, PuzzleTab, StartHat } from './highlight_constants.js';
|
|
11
|
+
import type { RenderInfo } from './info.js';
|
|
12
|
+
import type { InlineInput } from './measurables/inline_input.js';
|
|
13
|
+
/**
|
|
14
|
+
* An object that adds highlights to a block based on the given rendering
|
|
15
|
+
* information.
|
|
16
|
+
*
|
|
17
|
+
* Highlighting is interesting because the highlights do not fully enclose the
|
|
18
|
+
* block. Instead, they are positioned based on a light source in the top left.
|
|
19
|
+
* This means that rendering highlights requires exact information about the
|
|
20
|
+
* position of each part of the block. The resulting paths are not continuous
|
|
21
|
+
* or closed paths. The highlights for tabs and notches are loosely based on
|
|
22
|
+
* tab and notch shapes, but are not exactly the same.
|
|
23
|
+
* @alias Blockly.geras.Highlighter
|
|
24
|
+
*/
|
|
25
|
+
export declare class Highlighter {
|
|
26
|
+
info_: RenderInfo;
|
|
27
|
+
steps_: string;
|
|
28
|
+
inlineSteps_: string;
|
|
29
|
+
RTL_: boolean;
|
|
30
|
+
constants_: ConstantProvider;
|
|
31
|
+
highlightConstants_: HighlightConstantProvider;
|
|
32
|
+
private readonly highlightOffset_;
|
|
33
|
+
outsideCornerPaths_: OutsideCorner;
|
|
34
|
+
insideCornerPaths_: InsideCorner;
|
|
35
|
+
puzzleTabPaths_: PuzzleTab;
|
|
36
|
+
notchPaths_: Notch;
|
|
37
|
+
startPaths_: StartHat;
|
|
38
|
+
jaggedTeethPaths_: JaggedTeeth;
|
|
39
|
+
/**
|
|
40
|
+
* @param info An object containing all information needed to render this
|
|
41
|
+
* block.
|
|
42
|
+
* @internal
|
|
43
|
+
*/
|
|
44
|
+
constructor(info: RenderInfo);
|
|
45
|
+
/**
|
|
46
|
+
* Get the steps for the highlight path.
|
|
47
|
+
* @return The steps for the highlight path.
|
|
48
|
+
* @internal
|
|
49
|
+
*/
|
|
50
|
+
getPath(): string;
|
|
51
|
+
/**
|
|
52
|
+
* Add a highlight to the top corner of a block.
|
|
53
|
+
* @param row The top row of the block.
|
|
54
|
+
* @internal
|
|
55
|
+
*/
|
|
56
|
+
drawTopCorner(row: TopRow): void;
|
|
57
|
+
/**
|
|
58
|
+
* Add a highlight on a jagged edge for a collapsed block.
|
|
59
|
+
* @param row The row to highlight.
|
|
60
|
+
* @internal
|
|
61
|
+
*/
|
|
62
|
+
drawJaggedEdge_(row: Row): void;
|
|
63
|
+
/**
|
|
64
|
+
* Add a highlight on a value input.
|
|
65
|
+
* @param row The row the input belongs to.
|
|
66
|
+
* @internal
|
|
67
|
+
*/
|
|
68
|
+
drawValueInput(row: Row): void;
|
|
69
|
+
/**
|
|
70
|
+
* Add a highlight on a statement input.
|
|
71
|
+
* @param row The row to highlight.
|
|
72
|
+
* @internal
|
|
73
|
+
*/
|
|
74
|
+
drawStatementInput(row: Row): void;
|
|
75
|
+
/**
|
|
76
|
+
* Add a highlight on the right side of a row.
|
|
77
|
+
* @param row The row to highlight.
|
|
78
|
+
* @internal
|
|
79
|
+
*/
|
|
80
|
+
drawRightSideRow(row: Row): void;
|
|
81
|
+
/**
|
|
82
|
+
* Add a highlight to the bottom row.
|
|
83
|
+
* @param row The row to highlight.
|
|
84
|
+
* @internal
|
|
85
|
+
*/
|
|
86
|
+
drawBottomRow(row: BottomRow): void;
|
|
87
|
+
/**
|
|
88
|
+
* Draw the highlight on the left side of the block.
|
|
89
|
+
* @internal
|
|
90
|
+
*/
|
|
91
|
+
drawLeft(): void;
|
|
92
|
+
/**
|
|
93
|
+
* Add a highlight to an inline input.
|
|
94
|
+
* @param input The input to highlight.
|
|
95
|
+
* @internal
|
|
96
|
+
*/
|
|
97
|
+
drawInlineInput(input: InlineInput): void;
|
|
98
|
+
}
|