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,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2019 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { Input } from '../../../input.js';
|
|
7
|
+
import type { ConstantProvider as BaseConstantProvider } from '../../../renderers/common/constants.js';
|
|
8
|
+
import { InlineInput as BaseInlineInput } from '../../../renderers/measurables/inline_input.js';
|
|
9
|
+
import type { ConstantProvider as GerasConstantProvider } from '../constants.js';
|
|
10
|
+
/**
|
|
11
|
+
* An object containing information about the space an inline input takes up
|
|
12
|
+
* during rendering.
|
|
13
|
+
* @alias Blockly.geras.InlineInput
|
|
14
|
+
*/
|
|
15
|
+
export declare class InlineInput extends BaseInlineInput {
|
|
16
|
+
constants_: GerasConstantProvider;
|
|
17
|
+
/**
|
|
18
|
+
* @param constants The rendering constants provider.
|
|
19
|
+
* @param input The inline input to measure and store information for.
|
|
20
|
+
* @internal
|
|
21
|
+
*/
|
|
22
|
+
constructor(constants: BaseConstantProvider, input: Input);
|
|
23
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2019 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @fileoverview Objects representing inline inputs with connections on a
|
|
9
|
+
* rendered block.
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Objects representing inline inputs with connections on a
|
|
14
|
+
* rendered block.
|
|
15
|
+
* @class
|
|
16
|
+
*/
|
|
17
|
+
import * as goog from '../../../../closure/goog/goog.js';
|
|
18
|
+
goog.declareModuleId('Blockly.geras.InlineInput');
|
|
19
|
+
|
|
20
|
+
/* eslint-disable-next-line no-unused-vars */
|
|
21
|
+
import type {Input} from '../../../input.js';
|
|
22
|
+
import type {ConstantProvider as BaseConstantProvider} from '../../../renderers/common/constants.js';
|
|
23
|
+
import {InlineInput as BaseInlineInput} from '../../../renderers/measurables/inline_input.js';
|
|
24
|
+
import type {ConstantProvider as GerasConstantProvider} from '../constants.js';
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* An object containing information about the space an inline input takes up
|
|
29
|
+
* during rendering.
|
|
30
|
+
* @alias Blockly.geras.InlineInput
|
|
31
|
+
*/
|
|
32
|
+
export class InlineInput extends BaseInlineInput {
|
|
33
|
+
override constants_: GerasConstantProvider;
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* @param constants The rendering constants provider.
|
|
37
|
+
* @param input The inline input to measure and store information for.
|
|
38
|
+
* @internal
|
|
39
|
+
*/
|
|
40
|
+
constructor(constants: BaseConstantProvider, input: Input) {
|
|
41
|
+
super(constants, input);
|
|
42
|
+
this.constants_ = constants as GerasConstantProvider;
|
|
43
|
+
|
|
44
|
+
if (this.connectedBlock) {
|
|
45
|
+
// We allow the dark path to show on the parent block so that the child
|
|
46
|
+
// block looks embossed. This takes up an extra pixel in both x and y.
|
|
47
|
+
this.width += this.constants_.DARK_PATH_OFFSET;
|
|
48
|
+
this.height += this.constants_.DARK_PATH_OFFSET;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2019 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { Input } from '../../../input.js';
|
|
7
|
+
import type { ConstantProvider as BaseConstantProvider } from '../../../renderers/common/constants.js';
|
|
8
|
+
import { StatementInput as BaseStatementInput } from '../../../renderers/measurables/statement_input.js';
|
|
9
|
+
import type { ConstantProvider as GerasConstantProvider } from '../constants.js';
|
|
10
|
+
/**
|
|
11
|
+
* An object containing information about the space a statement input takes up
|
|
12
|
+
* during rendering.
|
|
13
|
+
* @alias Blockly.geras.StatementInput
|
|
14
|
+
*/
|
|
15
|
+
export declare class StatementInput extends BaseStatementInput {
|
|
16
|
+
constants_: GerasConstantProvider;
|
|
17
|
+
/**
|
|
18
|
+
* @param constants The rendering constants provider.
|
|
19
|
+
* @param input The statement input to measure and store information for.
|
|
20
|
+
* @internal
|
|
21
|
+
*/
|
|
22
|
+
constructor(constants: BaseConstantProvider, input: Input);
|
|
23
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2019 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @fileoverview Objects representing statement inputs with connections on a
|
|
9
|
+
* rendered block.
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Objects representing statement inputs with connections on a
|
|
14
|
+
* rendered block.
|
|
15
|
+
* @class
|
|
16
|
+
*/
|
|
17
|
+
import * as goog from '../../../../closure/goog/goog.js';
|
|
18
|
+
goog.declareModuleId('Blockly.geras.StatementInput');
|
|
19
|
+
|
|
20
|
+
/* eslint-disable-next-line no-unused-vars */
|
|
21
|
+
import type {Input} from '../../../input.js';
|
|
22
|
+
import type {ConstantProvider as BaseConstantProvider} from '../../../renderers/common/constants.js';
|
|
23
|
+
import {StatementInput as BaseStatementInput} from '../../../renderers/measurables/statement_input.js';
|
|
24
|
+
import type {ConstantProvider as GerasConstantProvider} from '../constants.js';
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* An object containing information about the space a statement input takes up
|
|
29
|
+
* during rendering.
|
|
30
|
+
* @alias Blockly.geras.StatementInput
|
|
31
|
+
*/
|
|
32
|
+
export class StatementInput extends BaseStatementInput {
|
|
33
|
+
override constants_: GerasConstantProvider;
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* @param constants The rendering constants provider.
|
|
37
|
+
* @param input The statement input to measure and store information for.
|
|
38
|
+
* @internal
|
|
39
|
+
*/
|
|
40
|
+
constructor(constants: BaseConstantProvider, input: Input) {
|
|
41
|
+
super(constants, input);
|
|
42
|
+
this.constants_ = constants as GerasConstantProvider;
|
|
43
|
+
|
|
44
|
+
if (this.connectedBlock) {
|
|
45
|
+
// We allow the dark path to show on the parent block so that the child
|
|
46
|
+
// block looks embossed. This takes up an extra pixel in both x and y.
|
|
47
|
+
this.height += this.constants_.DARK_PATH_OFFSET;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2019 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { BlockSvg } from '../../block_svg.js';
|
|
7
|
+
import type { BlockStyle } from '../../theme.js';
|
|
8
|
+
import { PathObject as BasePathObject } from '../common/path_object.js';
|
|
9
|
+
import type { ConstantProvider } from './constants.js';
|
|
10
|
+
/**
|
|
11
|
+
* An object that handles creating and setting each of the SVG elements
|
|
12
|
+
* used by the renderer.
|
|
13
|
+
* @alias Blockly.geras.PathObject
|
|
14
|
+
*/
|
|
15
|
+
export declare class PathObject extends BasePathObject {
|
|
16
|
+
constants: ConstantProvider;
|
|
17
|
+
/** @internal */
|
|
18
|
+
svgPathDark: SVGElement;
|
|
19
|
+
/** @internal */
|
|
20
|
+
svgPathLight: SVGElement;
|
|
21
|
+
/**
|
|
22
|
+
* The colour of the dark path on the block in '#RRGGBB' format.
|
|
23
|
+
* @internal
|
|
24
|
+
*/
|
|
25
|
+
colourDark: string;
|
|
26
|
+
style: any;
|
|
27
|
+
/**
|
|
28
|
+
* @param root The root SVG element.
|
|
29
|
+
* @param style The style object to use for colouring.
|
|
30
|
+
* @param constants The renderer's constants.
|
|
31
|
+
* @internal
|
|
32
|
+
*/
|
|
33
|
+
constructor(root: SVGElement, style: BlockStyle, constants: ConstantProvider);
|
|
34
|
+
setPath(mainPath: string): void;
|
|
35
|
+
/**
|
|
36
|
+
* Set the highlight path generated by the renderer onto the SVG element.
|
|
37
|
+
* @param highlightPath The highlight path.
|
|
38
|
+
* @internal
|
|
39
|
+
*/
|
|
40
|
+
setHighlightPath(highlightPath: string): void;
|
|
41
|
+
flipRTL(): void;
|
|
42
|
+
applyColour(block: BlockSvg): void;
|
|
43
|
+
setStyle(blockStyle: BlockStyle): void;
|
|
44
|
+
updateHighlighted(highlighted: boolean): void;
|
|
45
|
+
updateShadow_(shadow: boolean): void;
|
|
46
|
+
updateDisabled_(disabled: boolean): void;
|
|
47
|
+
}
|
|
@@ -8,22 +8,25 @@
|
|
|
8
8
|
* @fileoverview An object that owns a block's rendering SVG elements.
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
'use strict';
|
|
12
|
-
|
|
13
11
|
/**
|
|
14
12
|
* An object that owns a block's rendering SVG elements.
|
|
15
13
|
* @class
|
|
16
14
|
*/
|
|
17
|
-
goog
|
|
15
|
+
import * as goog from '../../../closure/goog/goog.js';
|
|
16
|
+
goog.declareModuleId('Blockly.geras.PathObject');
|
|
18
17
|
|
|
19
|
-
const colour = goog.require('Blockly.utils.colour');
|
|
20
|
-
const dom = goog.require('Blockly.utils.dom');
|
|
21
|
-
/* eslint-disable-next-line no-unused-vars */
|
|
22
|
-
const {ConstantProvider} = goog.requireType('Blockly.geras.ConstantProvider');
|
|
23
|
-
const {PathObject: BasePathObject} = goog.require('Blockly.blockRendering.PathObject');
|
|
24
|
-
const {Svg} = goog.require('Blockly.utils.Svg');
|
|
25
18
|
/* eslint-disable-next-line no-unused-vars */
|
|
26
|
-
|
|
19
|
+
// Unused import preserved for side-effects. Remove if unneeded.
|
|
20
|
+
// import '../../theme.js';
|
|
21
|
+
|
|
22
|
+
import type {BlockSvg} from '../../block_svg.js';
|
|
23
|
+
import type {BlockStyle} from '../../theme.js';
|
|
24
|
+
import * as colour from '../../utils/colour.js';
|
|
25
|
+
import * as dom from '../../utils/dom.js';
|
|
26
|
+
import {Svg} from '../../utils/svg.js';
|
|
27
|
+
import {PathObject as BasePathObject} from '../common/path_object.js';
|
|
28
|
+
|
|
29
|
+
import type {ConstantProvider} from './constants.js';
|
|
27
30
|
|
|
28
31
|
|
|
29
32
|
/**
|
|
@@ -31,82 +34,65 @@ const {Theme} = goog.requireType('Blockly.Theme');
|
|
|
31
34
|
* used by the renderer.
|
|
32
35
|
* @alias Blockly.geras.PathObject
|
|
33
36
|
*/
|
|
34
|
-
class PathObject extends BasePathObject {
|
|
37
|
+
export class PathObject extends BasePathObject {
|
|
38
|
+
/** @internal */
|
|
39
|
+
svgPathDark: SVGElement;
|
|
40
|
+
/** @internal */
|
|
41
|
+
svgPathLight: SVGElement;
|
|
42
|
+
|
|
35
43
|
/**
|
|
36
|
-
*
|
|
37
|
-
* @
|
|
38
|
-
* colouring.
|
|
39
|
-
* @param {!ConstantProvider} constants The renderer's constants.
|
|
40
|
-
* @package
|
|
44
|
+
* The colour of the dark path on the block in '#RRGGBB' format.
|
|
45
|
+
* @internal
|
|
41
46
|
*/
|
|
42
|
-
|
|
47
|
+
colourDark = '#000000';
|
|
48
|
+
override style: AnyDuringMigration;
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* @param root The root SVG element.
|
|
52
|
+
* @param style The style object to use for colouring.
|
|
53
|
+
* @param constants The renderer's constants.
|
|
54
|
+
* @internal
|
|
55
|
+
*/
|
|
56
|
+
constructor(
|
|
57
|
+
root: SVGElement, style: BlockStyle,
|
|
58
|
+
public override constants: ConstantProvider) {
|
|
43
59
|
super(root, style, constants);
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
* @type {!ConstantProvider}
|
|
47
|
-
*/
|
|
48
|
-
this.constants = constants;
|
|
49
|
-
|
|
50
|
-
/**
|
|
51
|
-
* The dark path of the block.
|
|
52
|
-
* @type {SVGElement}
|
|
53
|
-
* @package
|
|
54
|
-
*/
|
|
60
|
+
|
|
61
|
+
/** The dark path of the block. */
|
|
55
62
|
this.svgPathDark = dom.createSvgElement(
|
|
56
63
|
Svg.PATH, {'class': 'blocklyPathDark', 'transform': 'translate(1,1)'});
|
|
57
|
-
|
|
58
64
|
// SVG draw order is based on the order of elements (top most = back most)
|
|
59
65
|
// So we need to insert the dark path before the base path to make sure it
|
|
60
66
|
// gets drawn first.
|
|
61
67
|
this.svgRoot.insertBefore(this.svgPathDark, this.svgPath);
|
|
62
68
|
|
|
63
|
-
/**
|
|
64
|
-
* The light path of the block.
|
|
65
|
-
* @type {SVGElement}
|
|
66
|
-
* @package
|
|
67
|
-
*/
|
|
69
|
+
/** The light path of the block. */
|
|
68
70
|
this.svgPathLight = dom.createSvgElement(
|
|
69
71
|
Svg.PATH, {'class': 'blocklyPathLight'}, this.svgRoot);
|
|
70
|
-
|
|
71
|
-
/**
|
|
72
|
-
* The colour of the dark path on the block in '#RRGGBB' format.
|
|
73
|
-
* @type {string}
|
|
74
|
-
* @package
|
|
75
|
-
*/
|
|
76
|
-
this.colourDark = '#000000';
|
|
77
72
|
}
|
|
78
73
|
|
|
79
|
-
|
|
80
|
-
* @override
|
|
81
|
-
*/
|
|
82
|
-
setPath(mainPath) {
|
|
74
|
+
override setPath(mainPath: string) {
|
|
83
75
|
this.svgPath.setAttribute('d', mainPath);
|
|
84
76
|
this.svgPathDark.setAttribute('d', mainPath);
|
|
85
77
|
}
|
|
86
78
|
|
|
87
79
|
/**
|
|
88
80
|
* Set the highlight path generated by the renderer onto the SVG element.
|
|
89
|
-
* @param
|
|
90
|
-
* @
|
|
81
|
+
* @param highlightPath The highlight path.
|
|
82
|
+
* @internal
|
|
91
83
|
*/
|
|
92
|
-
setHighlightPath(highlightPath) {
|
|
84
|
+
setHighlightPath(highlightPath: string) {
|
|
93
85
|
this.svgPathLight.setAttribute('d', highlightPath);
|
|
94
86
|
}
|
|
95
87
|
|
|
96
|
-
|
|
97
|
-
* @override
|
|
98
|
-
*/
|
|
99
|
-
flipRTL() {
|
|
88
|
+
override flipRTL() {
|
|
100
89
|
// Mirror the block's path.
|
|
101
90
|
this.svgPath.setAttribute('transform', 'scale(-1 1)');
|
|
102
91
|
this.svgPathLight.setAttribute('transform', 'scale(-1 1)');
|
|
103
92
|
this.svgPathDark.setAttribute('transform', 'translate(1,1) scale(-1 1)');
|
|
104
93
|
}
|
|
105
94
|
|
|
106
|
-
|
|
107
|
-
* @override
|
|
108
|
-
*/
|
|
109
|
-
applyColour(block) {
|
|
95
|
+
override applyColour(block: BlockSvg) {
|
|
110
96
|
this.svgPathLight.style.display = '';
|
|
111
97
|
this.svgPathDark.style.display = '';
|
|
112
98
|
this.svgPathLight.setAttribute('stroke', this.style.colourTertiary);
|
|
@@ -117,19 +103,13 @@ class PathObject extends BasePathObject {
|
|
|
117
103
|
this.svgPath.setAttribute('stroke', 'none');
|
|
118
104
|
}
|
|
119
105
|
|
|
120
|
-
|
|
121
|
-
* @override
|
|
122
|
-
*/
|
|
123
|
-
setStyle(blockStyle) {
|
|
106
|
+
override setStyle(blockStyle: BlockStyle) {
|
|
124
107
|
this.style = blockStyle;
|
|
125
108
|
this.colourDark =
|
|
126
109
|
colour.blend('#000', this.style.colourPrimary, 0.2) || this.colourDark;
|
|
127
110
|
}
|
|
128
111
|
|
|
129
|
-
|
|
130
|
-
* @override
|
|
131
|
-
*/
|
|
132
|
-
updateHighlighted(highlighted) {
|
|
112
|
+
override updateHighlighted(highlighted: boolean) {
|
|
133
113
|
if (highlighted) {
|
|
134
114
|
this.svgPath.setAttribute(
|
|
135
115
|
'filter', 'url(#' + this.constants.embossFilterId + ')');
|
|
@@ -140,10 +120,7 @@ class PathObject extends BasePathObject {
|
|
|
140
120
|
}
|
|
141
121
|
}
|
|
142
122
|
|
|
143
|
-
|
|
144
|
-
* @override
|
|
145
|
-
*/
|
|
146
|
-
updateShadow_(shadow) {
|
|
123
|
+
override updateShadow_(shadow: boolean) {
|
|
147
124
|
if (shadow) {
|
|
148
125
|
this.svgPathLight.style.display = 'none';
|
|
149
126
|
this.svgPathDark.setAttribute('fill', this.style.colourSecondary);
|
|
@@ -152,15 +129,10 @@ class PathObject extends BasePathObject {
|
|
|
152
129
|
}
|
|
153
130
|
}
|
|
154
131
|
|
|
155
|
-
|
|
156
|
-
* @override
|
|
157
|
-
*/
|
|
158
|
-
updateDisabled_(disabled) {
|
|
132
|
+
override updateDisabled_(disabled: boolean) {
|
|
159
133
|
super.updateDisabled_(disabled);
|
|
160
134
|
if (disabled) {
|
|
161
135
|
this.svgPath.setAttribute('stroke', 'none');
|
|
162
136
|
}
|
|
163
137
|
}
|
|
164
138
|
}
|
|
165
|
-
|
|
166
|
-
exports.PathObject = PathObject;
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2019 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { BlockSvg } from '../../block_svg.js';
|
|
7
|
+
import type { BlockStyle, Theme } from '../../theme.js';
|
|
8
|
+
import type { RenderInfo as BaseRenderInfo } from '../common/info.js';
|
|
9
|
+
import { Renderer as BaseRenderer } from '../common/renderer.js';
|
|
10
|
+
import { ConstantProvider } from './constants.js';
|
|
11
|
+
import { Drawer } from './drawer.js';
|
|
12
|
+
import { HighlightConstantProvider } from './highlight_constants.js';
|
|
13
|
+
import { RenderInfo } from './info.js';
|
|
14
|
+
import { PathObject } from './path_object.js';
|
|
15
|
+
/**
|
|
16
|
+
* The geras renderer.
|
|
17
|
+
* @alias Blockly.geras.Renderer
|
|
18
|
+
*/
|
|
19
|
+
export declare class Renderer extends BaseRenderer {
|
|
20
|
+
/** The renderer's highlight constant provider. */
|
|
21
|
+
private highlightConstants_;
|
|
22
|
+
/**
|
|
23
|
+
* @param name The renderer name.
|
|
24
|
+
* @internal
|
|
25
|
+
*/
|
|
26
|
+
constructor(name: string);
|
|
27
|
+
/**
|
|
28
|
+
* Initialize the renderer. Geras has a highlight provider in addition to
|
|
29
|
+
* the normal constant provider.
|
|
30
|
+
* @internal
|
|
31
|
+
*/
|
|
32
|
+
init(theme: Theme, opt_rendererOverrides: any): void;
|
|
33
|
+
refreshDom(svg: SVGElement, theme: Theme): void;
|
|
34
|
+
makeConstants_(): ConstantProvider;
|
|
35
|
+
/**
|
|
36
|
+
* Create a new instance of the renderer's render info object.
|
|
37
|
+
* @param block The block to measure.
|
|
38
|
+
* @return The render info object.
|
|
39
|
+
*/
|
|
40
|
+
protected makeRenderInfo_(block: BlockSvg): RenderInfo;
|
|
41
|
+
/**
|
|
42
|
+
* Create a new instance of the renderer's drawer.
|
|
43
|
+
* @param block The block to render.
|
|
44
|
+
* @param info An object containing all information needed to render this
|
|
45
|
+
* block.
|
|
46
|
+
* @return The drawer.
|
|
47
|
+
*/
|
|
48
|
+
protected makeDrawer_(block: BlockSvg, info: BaseRenderInfo): Drawer;
|
|
49
|
+
/**
|
|
50
|
+
* Create a new instance of a renderer path object.
|
|
51
|
+
* @param root The root SVG element.
|
|
52
|
+
* @param style The style object to use for colouring.
|
|
53
|
+
* @return The renderer path object.
|
|
54
|
+
* @internal
|
|
55
|
+
*/
|
|
56
|
+
makePathObject(root: SVGElement, style: BlockStyle): PathObject;
|
|
57
|
+
/**
|
|
58
|
+
* Create a new instance of the renderer's highlight constant provider.
|
|
59
|
+
* @return The highlight constant provider.
|
|
60
|
+
*/
|
|
61
|
+
protected makeHighlightConstants_(): HighlightConstantProvider;
|
|
62
|
+
/**
|
|
63
|
+
* Get the renderer's highlight constant provider. We assume that when this
|
|
64
|
+
* is called, the renderer has already been initialized.
|
|
65
|
+
* @return The highlight constant provider.
|
|
66
|
+
* @internal
|
|
67
|
+
*/
|
|
68
|
+
getHighlightConstants(): HighlightConstantProvider;
|
|
69
|
+
}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2019 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @fileoverview Geras renderer.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Geras renderer.
|
|
13
|
+
* @class
|
|
14
|
+
*/
|
|
15
|
+
import * as goog from '../../../closure/goog/goog.js';
|
|
16
|
+
goog.declareModuleId('Blockly.geras.Renderer');
|
|
17
|
+
|
|
18
|
+
/* eslint-disable-next-line no-unused-vars */
|
|
19
|
+
// Unused import preserved for side-effects. Remove if unneeded.
|
|
20
|
+
// import '../common/constants.js';
|
|
21
|
+
|
|
22
|
+
import type {BlockSvg} from '../../block_svg.js';
|
|
23
|
+
import type {BlockStyle, Theme} from '../../theme.js';
|
|
24
|
+
import * as blockRendering from '../common/block_rendering.js';
|
|
25
|
+
import type {RenderInfo as BaseRenderInfo} from '../common/info.js';
|
|
26
|
+
import {Renderer as BaseRenderer} from '../common/renderer.js';
|
|
27
|
+
|
|
28
|
+
import {ConstantProvider} from './constants.js';
|
|
29
|
+
import {Drawer} from './drawer.js';
|
|
30
|
+
import {HighlightConstantProvider} from './highlight_constants.js';
|
|
31
|
+
import {RenderInfo} from './info.js';
|
|
32
|
+
import {PathObject} from './path_object.js';
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* The geras renderer.
|
|
37
|
+
* @alias Blockly.geras.Renderer
|
|
38
|
+
*/
|
|
39
|
+
export class Renderer extends BaseRenderer {
|
|
40
|
+
/** The renderer's highlight constant provider. */
|
|
41
|
+
// AnyDuringMigration because: Type 'null' is not assignable to type
|
|
42
|
+
// 'HighlightConstantProvider'.
|
|
43
|
+
private highlightConstants_: HighlightConstantProvider =
|
|
44
|
+
null as AnyDuringMigration;
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* @param name The renderer name.
|
|
48
|
+
* @internal
|
|
49
|
+
*/
|
|
50
|
+
constructor(name: string) {
|
|
51
|
+
super(name);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Initialize the renderer. Geras has a highlight provider in addition to
|
|
56
|
+
* the normal constant provider.
|
|
57
|
+
* @internal
|
|
58
|
+
*/
|
|
59
|
+
override init(theme: Theme, opt_rendererOverrides: AnyDuringMigration) {
|
|
60
|
+
super.init(theme, opt_rendererOverrides);
|
|
61
|
+
this.highlightConstants_ = this.makeHighlightConstants_();
|
|
62
|
+
this.highlightConstants_.init();
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
override refreshDom(svg: SVGElement, theme: Theme) {
|
|
66
|
+
super.refreshDom(svg, theme);
|
|
67
|
+
this.getHighlightConstants().init();
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
override makeConstants_() {
|
|
71
|
+
return new ConstantProvider();
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Create a new instance of the renderer's render info object.
|
|
76
|
+
* @param block The block to measure.
|
|
77
|
+
* @return The render info object.
|
|
78
|
+
*/
|
|
79
|
+
protected override makeRenderInfo_(block: BlockSvg): RenderInfo {
|
|
80
|
+
return new RenderInfo(this, block);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Create a new instance of the renderer's drawer.
|
|
85
|
+
* @param block The block to render.
|
|
86
|
+
* @param info An object containing all information needed to render this
|
|
87
|
+
* block.
|
|
88
|
+
* @return The drawer.
|
|
89
|
+
*/
|
|
90
|
+
protected override makeDrawer_(block: BlockSvg, info: BaseRenderInfo):
|
|
91
|
+
Drawer {
|
|
92
|
+
return new Drawer(block, (info as RenderInfo));
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Create a new instance of a renderer path object.
|
|
97
|
+
* @param root The root SVG element.
|
|
98
|
+
* @param style The style object to use for colouring.
|
|
99
|
+
* @return The renderer path object.
|
|
100
|
+
* @internal
|
|
101
|
+
*/
|
|
102
|
+
override makePathObject(root: SVGElement, style: BlockStyle): PathObject {
|
|
103
|
+
return new PathObject(
|
|
104
|
+
root, style, (this.getConstants() as ConstantProvider));
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Create a new instance of the renderer's highlight constant provider.
|
|
109
|
+
* @return The highlight constant provider.
|
|
110
|
+
*/
|
|
111
|
+
protected makeHighlightConstants_(): HighlightConstantProvider {
|
|
112
|
+
return new HighlightConstantProvider((this.getConstants()));
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* Get the renderer's highlight constant provider. We assume that when this
|
|
117
|
+
* is called, the renderer has already been initialized.
|
|
118
|
+
* @return The highlight constant provider.
|
|
119
|
+
* @internal
|
|
120
|
+
*/
|
|
121
|
+
getHighlightConstants(): HighlightConstantProvider {
|
|
122
|
+
return this.highlightConstants_;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
blockRendering.register('geras', Renderer);
|
|
@@ -0,0 +1,27 @@
|
|
|
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
|
+
/**
|
|
8
|
+
* The base class to represent a part of a block that takes up space during
|
|
9
|
+
* rendering. The constructor for each non-spacer Measurable records the size
|
|
10
|
+
* of the block element (e.g. field, statement input).
|
|
11
|
+
* @alias Blockly.blockRendering.Measurable
|
|
12
|
+
*/
|
|
13
|
+
export declare class Measurable {
|
|
14
|
+
width: number;
|
|
15
|
+
height: number;
|
|
16
|
+
type: number;
|
|
17
|
+
xPos: number;
|
|
18
|
+
centerline: number;
|
|
19
|
+
notchOffset: number;
|
|
20
|
+
/** The renderer's constant provider. */
|
|
21
|
+
protected readonly constants_: ConstantProvider;
|
|
22
|
+
/**
|
|
23
|
+
* @param constants The rendering constants provider.
|
|
24
|
+
* @internal
|
|
25
|
+
*/
|
|
26
|
+
constructor(constants: ConstantProvider);
|
|
27
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2019 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @fileoverview Methods for graphically rendering a block as SVG.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Methods for graphically rendering a block as SVG.
|
|
13
|
+
* @class
|
|
14
|
+
*/
|
|
15
|
+
import * as goog from '../../../closure/goog/goog.js';
|
|
16
|
+
goog.declareModuleId('Blockly.blockRendering.Measurable');
|
|
17
|
+
|
|
18
|
+
import type {ConstantProvider} from '../common/constants.js';
|
|
19
|
+
|
|
20
|
+
import {Types} from './types.js';
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* The base class to represent a part of a block that takes up space during
|
|
25
|
+
* rendering. The constructor for each non-spacer Measurable records the size
|
|
26
|
+
* of the block element (e.g. field, statement input).
|
|
27
|
+
* @alias Blockly.blockRendering.Measurable
|
|
28
|
+
*/
|
|
29
|
+
export class Measurable {
|
|
30
|
+
width: number = 0;
|
|
31
|
+
|
|
32
|
+
height: number = 0;
|
|
33
|
+
type: number;
|
|
34
|
+
xPos = 0;
|
|
35
|
+
|
|
36
|
+
centerline = 0;
|
|
37
|
+
notchOffset: number;
|
|
38
|
+
|
|
39
|
+
/** The renderer's constant provider. */
|
|
40
|
+
protected readonly constants_: ConstantProvider
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* @param constants The rendering constants provider.
|
|
44
|
+
* @internal
|
|
45
|
+
*/
|
|
46
|
+
constructor(constants: ConstantProvider) {
|
|
47
|
+
this.constants_ = constants;
|
|
48
|
+
|
|
49
|
+
this.type = Types.NONE;
|
|
50
|
+
|
|
51
|
+
this.notchOffset = this.constants_.NOTCH_OFFSET_LEFT;
|
|
52
|
+
}
|
|
53
|
+
}
|