blockly 9.0.0-beta.0 → 9.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/blockly.min.js +401 -405
- package/blockly_compressed.js +398 -402
- package/blockly_compressed.js.map +1 -1
- package/blocks.d.ts +0 -5
- package/blocks_compressed.js +3 -3
- package/blocks_compressed.js.map +1 -1
- package/closure/goog/base.d.ts +1 -0
- package/closure/goog/base_minimal.d.ts +1 -0
- package/closure/goog/goog.d.ts +1 -0
- package/core/any_aliases.d.ts +1 -0
- package/core/block.d.ts +145 -53
- package/core/block_animations.d.ts +5 -0
- package/core/block_drag_surface.d.ts +18 -5
- package/core/block_dragger.d.ts +20 -5
- package/core/block_svg.d.ts +89 -21
- package/core/blockly.d.ts +29 -8
- package/core/blockly_options.d.ts +2 -0
- package/core/blocks.d.ts +2 -0
- package/core/browser_events.d.ts +16 -7
- package/core/bubble.d.ts +42 -12
- package/core/bubble_dragger.d.ts +9 -2
- package/core/bump_objects.d.ts +6 -2
- package/core/clipboard.d.ts +6 -2
- package/core/comment.d.ts +13 -3
- package/core/common.d.ts +35 -9
- package/core/component_manager.d.ts +16 -6
- package/core/config.d.ts +1 -0
- package/core/connection.d.ts +48 -18
- package/core/connection_checker.d.ts +16 -7
- package/core/connection_db.d.ts +17 -6
- package/core/connection_type.d.ts +2 -0
- package/core/constants.d.ts +3 -0
- package/core/contextmenu.d.ts +15 -5
- package/core/contextmenu_items.d.ts +15 -0
- package/core/contextmenu_registry.d.ts +12 -7
- package/core/css.d.ts +3 -0
- package/core/delete_area.d.ts +5 -1
- package/core/dialog.d.ts +14 -7
- package/core/drag_target.d.ts +10 -2
- package/core/dropdowndiv.d.ts +42 -10
- package/core/events/events.d.ts +1 -0
- package/core/events/events_abstract.d.ts +10 -3
- package/core/events/events_block_base.d.ts +5 -1
- package/core/events/events_block_change.d.ts +10 -3
- package/core/events/events_block_create.d.ts +6 -1
- package/core/events/events_block_delete.d.ts +6 -1
- package/core/events/events_block_drag.d.ts +5 -1
- package/core/events/events_block_move.d.ts +10 -3
- package/core/events/events_bubble_open.d.ts +6 -2
- package/core/events/events_click.d.ts +5 -1
- package/core/events/events_comment_base.d.ts +6 -1
- package/core/events/events_comment_change.d.ts +8 -2
- package/core/events/events_comment_create.d.ts +6 -1
- package/core/events/events_comment_delete.d.ts +6 -1
- package/core/events/events_comment_move.d.ts +9 -2
- package/core/events/events_marker_move.d.ts +5 -1
- package/core/events/events_selected.d.ts +5 -1
- package/core/events/events_theme_change.d.ts +5 -1
- package/core/events/events_toolbox_item_select.d.ts +5 -1
- package/core/events/events_trashcan_open.d.ts +5 -1
- package/core/events/events_ui.d.ts +5 -1
- package/core/events/events_ui_base.d.ts +2 -0
- package/core/events/events_var_base.d.ts +5 -1
- package/core/events/events_var_create.d.ts +6 -1
- package/core/events/events_var_delete.d.ts +6 -1
- package/core/events/events_var_rename.d.ts +6 -1
- package/core/events/events_viewport.d.ts +5 -1
- package/core/events/utils.d.ts +50 -7
- package/core/events/workspace_events.d.ts +5 -1
- package/core/extensions.d.ts +14 -4
- package/core/field.d.ts +93 -34
- package/core/field_angle.d.ts +14 -3
- package/core/field_checkbox.d.ts +20 -7
- package/core/field_colour.d.ts +22 -6
- package/core/field_dropdown.d.ts +28 -8
- package/core/field_image.d.ts +15 -4
- package/core/field_label.d.ts +8 -2
- package/core/field_label_serializable.d.ts +4 -1
- package/core/field_multilineinput.d.ts +21 -6
- package/core/field_number.d.ts +22 -6
- package/core/field_registry.d.ts +8 -2
- package/core/field_textinput.d.ts +28 -8
- package/core/field_variable.d.ts +36 -13
- package/core/flyout_base.d.ts +70 -24
- package/core/flyout_button.d.ts +12 -5
- package/core/flyout_horizontal.d.ts +14 -6
- package/core/flyout_metrics_manager.d.ts +6 -3
- package/core/flyout_vertical.d.ts +14 -6
- package/core/generator.d.ts +39 -20
- package/core/gesture.d.ts +48 -13
- package/core/grid.d.ts +19 -15
- package/core/icon.d.ts +12 -3
- package/core/inject.d.ts +3 -1
- package/core/input.d.ts +25 -10
- package/core/input_types.d.ts +2 -0
- package/core/insertion_marker_manager.d.ts +27 -9
- package/core/interfaces/i_ast_node_location.d.ts +2 -0
- package/core/interfaces/i_ast_node_location_svg.d.ts +4 -0
- package/core/interfaces/i_ast_node_location_with_block.d.ts +4 -1
- package/core/interfaces/i_autohideable.d.ts +3 -0
- package/core/interfaces/i_block_dragger.d.ts +7 -1
- package/core/interfaces/i_bounded_element.d.ts +5 -1
- package/core/interfaces/i_bubble.d.ts +11 -2
- package/core/interfaces/i_collapsible_toolbox_item.d.ts +6 -2
- package/core/interfaces/i_component.d.ts +2 -0
- package/core/interfaces/i_connection_checker.d.ts +14 -6
- package/core/interfaces/i_contextmenu.d.ts +2 -0
- package/core/interfaces/i_copyable.d.ts +3 -1
- package/core/interfaces/i_deletable.d.ts +4 -1
- package/core/interfaces/i_delete_area.d.ts +4 -1
- package/core/interfaces/i_drag_target.d.ts +10 -2
- package/core/interfaces/i_draggable.d.ts +2 -0
- package/core/interfaces/i_flyout.d.ts +27 -11
- package/core/interfaces/i_keyboard_accessible.d.ts +4 -1
- package/core/interfaces/i_metrics_manager.d.ts +24 -12
- package/core/interfaces/i_movable.d.ts +4 -1
- package/core/interfaces/i_positionable.d.ts +5 -1
- package/core/interfaces/i_registrable.d.ts +2 -0
- package/core/interfaces/i_registrable_field.d.ts +2 -0
- package/core/interfaces/i_selectable.d.ts +2 -0
- package/core/interfaces/i_selectable_toolbox_item.d.ts +10 -3
- package/core/interfaces/i_serializer.d.ts +6 -1
- package/core/interfaces/i_styleable.d.ts +4 -0
- package/core/interfaces/i_toolbox.d.ts +17 -6
- package/core/interfaces/i_toolbox_item.d.ts +17 -7
- package/core/internal_constants.d.ts +6 -0
- package/core/keyboard_nav/ast_node.d.ts +55 -28
- package/core/keyboard_nav/basic_cursor.d.ts +20 -9
- package/core/keyboard_nav/cursor.d.ts +11 -5
- package/core/keyboard_nav/marker.d.ts +9 -2
- package/core/keyboard_nav/tab_navigate_cursor.d.ts +4 -1
- package/core/main.d.ts +1 -0
- package/core/marker_manager.d.ts +13 -2
- package/core/menu.d.ts +23 -5
- package/core/menuitem.d.ts +22 -7
- package/core/metrics_manager.d.ts +30 -15
- package/core/msg.d.ts +1 -0
- package/core/mutator.d.ts +19 -7
- package/core/names.d.ts +20 -8
- package/core/options.d.ts +12 -6
- package/core/positionable_helpers.d.ts +11 -3
- package/core/procedures.d.ts +27 -10
- package/core/registry.d.ts +19 -8
- package/core/rendered_connection.d.ts +28 -7
- package/core/renderers/common/block_rendering.d.ts +9 -2
- package/core/renderers/common/constants.d.ts +49 -17
- package/core/renderers/common/debug.d.ts +5 -1
- package/core/renderers/common/debugger.d.ts +12 -1
- package/core/renderers/common/drawer.d.ts +12 -0
- package/core/renderers/common/i_path_object.d.ts +15 -0
- package/core/renderers/common/info.d.ts +25 -8
- package/core/renderers/common/marker_svg.d.ts +35 -6
- package/core/renderers/common/path_object.d.ts +20 -0
- package/core/renderers/common/renderer.d.ts +33 -12
- package/core/renderers/geras/constants.d.ts +2 -0
- package/core/renderers/geras/drawer.d.ts +2 -0
- package/core/renderers/geras/geras.d.ts +3 -2
- package/core/renderers/geras/highlight_constants.d.ts +9 -6
- package/core/renderers/geras/highlighter.d.ts +12 -1
- package/core/renderers/geras/info.d.ts +4 -1
- package/core/renderers/geras/measurables/inline_input.d.ts +2 -0
- package/core/renderers/geras/measurables/statement_input.d.ts +2 -0
- package/core/renderers/geras/path_object.d.ts +4 -0
- package/core/renderers/geras/renderer.d.ts +16 -6
- package/core/renderers/measurables/base.d.ts +2 -0
- package/core/renderers/measurables/bottom_row.d.ts +9 -3
- package/core/renderers/measurables/connection.d.ts +2 -0
- package/core/renderers/measurables/external_value_input.d.ts +2 -1
- package/core/renderers/measurables/field.d.ts +2 -1
- package/core/renderers/measurables/hat.d.ts +2 -1
- package/core/renderers/measurables/icon.d.ts +3 -1
- package/core/renderers/measurables/in_row_spacer.d.ts +2 -1
- package/core/renderers/measurables/inline_input.d.ts +2 -1
- package/core/renderers/measurables/input_connection.d.ts +2 -0
- package/core/renderers/measurables/input_row.d.ts +4 -1
- package/core/renderers/measurables/jagged_edge.d.ts +2 -1
- package/core/renderers/measurables/next_connection.d.ts +2 -1
- package/core/renderers/measurables/output_connection.d.ts +2 -1
- package/core/renderers/measurables/previous_connection.d.ts +2 -1
- package/core/renderers/measurables/round_corner.d.ts +2 -1
- package/core/renderers/measurables/row.d.ts +27 -5
- package/core/renderers/measurables/spacer_row.d.ts +2 -1
- package/core/renderers/measurables/square_corner.d.ts +2 -1
- package/core/renderers/measurables/statement_input.d.ts +2 -1
- package/core/renderers/measurables/top_row.d.ts +7 -3
- package/core/renderers/measurables/types.d.ts +54 -25
- package/core/renderers/minimalist/constants.d.ts +2 -0
- package/core/renderers/minimalist/drawer.d.ts +2 -0
- package/core/renderers/minimalist/info.d.ts +4 -1
- package/core/renderers/minimalist/minimalist.d.ts +2 -1
- package/core/renderers/minimalist/renderer.d.ts +8 -3
- package/core/renderers/thrasos/info.d.ts +4 -1
- package/core/renderers/thrasos/renderer.d.ts +4 -1
- package/core/renderers/thrasos/thrasos.d.ts +2 -1
- package/core/renderers/zelos/constants.d.ts +11 -3
- package/core/renderers/zelos/drawer.d.ts +3 -0
- package/core/renderers/zelos/info.d.ts +10 -5
- package/core/renderers/zelos/marker_svg.d.ts +5 -0
- package/core/renderers/zelos/measurables/bottom_row.d.ts +2 -0
- package/core/renderers/zelos/measurables/inputs.d.ts +2 -0
- package/core/renderers/zelos/measurables/row_elements.d.ts +2 -0
- package/core/renderers/zelos/measurables/top_row.d.ts +2 -0
- package/core/renderers/zelos/path_object.d.ts +8 -1
- package/core/renderers/zelos/renderer.d.ts +14 -6
- package/core/renderers/zelos/zelos.d.ts +3 -2
- package/core/scrollbar.d.ts +41 -9
- package/core/scrollbar_pair.d.ts +20 -6
- package/core/serialization/blocks.d.ts +10 -4
- package/core/serialization/exceptions.d.ts +5 -0
- package/core/serialization/priorities.d.ts +3 -0
- package/core/serialization/registry.d.ts +3 -0
- package/core/serialization/variables.d.ts +2 -0
- package/core/serialization/workspaces.d.ts +4 -1
- package/core/shortcut_items.d.ts +10 -0
- package/core/shortcut_registry.d.ts +25 -9
- package/core/sprites.d.ts +2 -4
- package/core/theme/classic.d.ts +2 -0
- package/core/theme/themes.d.ts +1 -0
- package/core/theme/zelos.d.ts +2 -0
- package/core/theme.d.ts +14 -3
- package/core/theme_manager.d.ts +10 -1
- package/core/toolbox/category.d.ts +42 -15
- package/core/toolbox/collapsible_category.d.ts +10 -3
- package/core/toolbox/separator.d.ts +4 -1
- package/core/toolbox/toolbox.d.ts +70 -22
- package/core/toolbox/toolbox_item.d.ts +17 -7
- package/core/tooltip.d.ts +22 -1
- package/core/touch.d.ts +18 -6
- package/core/touch_gesture.d.ts +16 -2
- package/core/trashcan.d.ts +27 -6
- package/core/utils/aria.d.ts +4 -0
- package/core/utils/array.d.ts +4 -2
- package/core/utils/colour.d.ts +24 -13
- package/core/utils/coordinate.d.ts +18 -8
- package/core/utils/deprecation.d.ts +6 -4
- package/core/utils/dom.d.ts +32 -12
- package/core/utils/idgenerator.d.ts +13 -3
- package/core/utils/keycodes.d.ts +1 -0
- package/core/utils/math.d.ts +7 -3
- package/core/utils/metrics.d.ts +1 -0
- package/core/utils/object.d.ts +7 -2
- package/core/utils/parsing.d.ts +9 -4
- package/core/utils/rect.d.ts +5 -3
- package/core/utils/sentinel.d.ts +2 -0
- package/core/utils/size.d.ts +4 -2
- package/core/utils/string.d.ts +13 -6
- package/core/utils/style.d.ts +14 -33
- package/core/utils/svg.d.ts +5 -2
- package/core/utils/svg_math.d.ts +15 -7
- package/core/utils/svg_paths.d.ts +20 -10
- package/core/utils/toolbox.d.ts +26 -5
- package/core/utils/useragent.d.ts +1 -12
- package/core/utils/xml.d.ts +13 -5
- package/core/utils.d.ts +43 -21
- package/core/variable_map.d.ts +26 -9
- package/core/variable_model.d.ts +5 -2
- package/core/variables.d.ts +33 -18
- package/core/variables_dynamic.d.ts +25 -5
- package/core/warning.d.ts +8 -3
- package/core/widgetdiv.d.ts +15 -6
- package/core/workspace.d.ts +80 -30
- package/core/workspace_audio.d.ts +6 -0
- package/core/workspace_comment.d.ts +33 -11
- package/core/workspace_comment_svg.d.ts +52 -9
- package/core/workspace_drag_surface_svg.d.ts +20 -14
- package/core/workspace_dragger.d.ts +6 -0
- package/core/workspace_svg.d.ts +174 -62
- package/core/xml.d.ts +26 -11
- package/core/zoom_controls.d.ts +16 -6
- package/core.d.ts +0 -5
- package/dart.d.ts +0 -5
- package/dart_compressed.js.map +1 -1
- package/index.d.ts +2 -6
- package/javascript.d.ts +0 -5
- package/javascript_compressed.js.map +1 -1
- package/lua.d.ts +0 -5
- package/lua_compressed.js.map +1 -1
- package/package.json +6 -3
- package/php.d.ts +0 -5
- package/php_compressed.js.map +1 -1
- package/python.d.ts +0 -5
- package/python_compressed.js.map +1 -1
- package/blocks/blocks.js +0 -48
- package/blocks/colour.js +0 -121
- package/blocks/lists.js +0 -996
- package/blocks/logic.js +0 -665
- package/blocks/loops.js +0 -375
- package/blocks/math.js +0 -594
- package/blocks/procedures.js +0 -1196
- package/blocks/text.js +0 -1000
- package/blocks/variables.js +0 -176
- package/blocks/variables_dynamic.js +0 -192
- package/core/any_aliases.ts +0 -1
- package/core/block.ts +0 -2102
- package/core/block_animations.ts +0 -202
- package/core/block_drag_surface.ts +0 -237
- package/core/block_dragger.ts +0 -447
- package/core/block_svg.ts +0 -1758
- package/core/blockly.js +0 -890
- package/core/blockly.ts +0 -749
- package/core/blockly_options.ts +0 -81
- package/core/blocks.ts +0 -29
- package/core/browser_events.ts +0 -289
- package/core/bubble.ts +0 -892
- package/core/bubble_dragger.ts +0 -229
- package/core/bump_objects.ts +0 -182
- package/core/clipboard.ts +0 -91
- package/core/comment.ts +0 -398
- package/core/common.ts +0 -288
- package/core/component_manager.ts +0 -211
- package/core/config.ts +0 -80
- package/core/connection.ts +0 -692
- package/core/connection_checker.ts +0 -301
- package/core/connection_db.ts +0 -289
- package/core/connection_type.ts +0 -32
- package/core/constants.ts +0 -29
- package/core/contextmenu.ts +0 -363
- package/core/contextmenu_items.ts +0 -576
- package/core/contextmenu_registry.ts +0 -179
- package/core/css.ts +0 -560
- package/core/delete_area.ts +0 -82
- package/core/dialog.ts +0 -127
- package/core/drag_target.ts +0 -94
- package/core/dropdowndiv.ts +0 -683
- package/core/events/events.ts +0 -123
- package/core/events/events_abstract.ts +0 -112
- package/core/events/events_block_base.ts +0 -65
- package/core/events/events_block_change.ts +0 -176
- package/core/events/events_block_create.ts +0 -114
- package/core/events/events_block_delete.ts +0 -126
- package/core/events/events_block_drag.ts +0 -82
- package/core/events/events_block_move.ts +0 -206
- package/core/events/events_bubble_open.ts +0 -82
- package/core/events/events_click.ts +0 -84
- package/core/events/events_comment_base.ts +0 -107
- package/core/events/events_comment_change.ts +0 -108
- package/core/events/events_comment_create.ts +0 -82
- package/core/events/events_comment_delete.ts +0 -77
- package/core/events/events_comment_move.ts +0 -154
- package/core/events/events_marker_move.ts +0 -99
- package/core/events/events_selected.ts +0 -78
- package/core/events/events_theme_change.ts +0 -67
- package/core/events/events_toolbox_item_select.ts +0 -79
- package/core/events/events_trashcan_open.ts +0 -68
- package/core/events/events_ui.ts +0 -89
- package/core/events/events_ui_base.ts +0 -54
- package/core/events/events_var_base.ts +0 -65
- package/core/events/events_var_create.ts +0 -88
- package/core/events/events_var_delete.ts +0 -88
- package/core/events/events_var_rename.ts +0 -89
- package/core/events/events_viewport.ts +0 -100
- package/core/events/utils.ts +0 -529
- package/core/events/workspace_events.ts +0 -86
- package/core/extensions.ts +0 -504
- package/core/field.ts +0 -1206
- package/core/field_angle.ts +0 -563
- package/core/field_checkbox.ts +0 -243
- package/core/field_colour.ts +0 -632
- package/core/field_dropdown.ts +0 -773
- package/core/field_image.ts +0 -282
- package/core/field_label.ts +0 -152
- package/core/field_label_serializable.ts +0 -76
- package/core/field_multilineinput.ts +0 -466
- package/core/field_number.ts +0 -327
- package/core/field_registry.ts +0 -87
- package/core/field_textinput.ts +0 -591
- package/core/field_variable.ts +0 -545
- package/core/flyout_base.ts +0 -1165
- package/core/flyout_button.ts +0 -292
- package/core/flyout_horizontal.ts +0 -381
- package/core/flyout_metrics_manager.ts +0 -94
- package/core/flyout_vertical.ts +0 -384
- package/core/generator.ts +0 -539
- package/core/gesture.ts +0 -946
- package/core/grid.ts +0 -192
- package/core/icon.ts +0 -189
- package/core/inject.ts +0 -390
- package/core/input.ts +0 -309
- package/core/input_types.ts +0 -32
- package/core/insertion_marker_manager.ts +0 -788
- package/core/interfaces/i_ast_node_location.ts +0 -23
- package/core/interfaces/i_ast_node_location_svg.ts +0 -37
- package/core/interfaces/i_ast_node_location_with_block.ts +0 -38
- package/core/interfaces/i_autohideable.ts +0 -34
- package/core/interfaces/i_block_dragger.ts +0 -67
- package/core/interfaces/i_bounded_element.ts +0 -42
- package/core/interfaces/i_bubble.ts +0 -88
- package/core/interfaces/i_collapsible_toolbox_item.ts +0 -47
- package/core/interfaces/i_component.ts +0 -32
- package/core/interfaces/i_connection_checker.ts +0 -102
- package/core/interfaces/i_contextmenu.ts +0 -26
- package/core/interfaces/i_copyable.ts +0 -40
- package/core/interfaces/i_deletable.ts +0 -29
- package/core/interfaces/i_delete_area.ts +0 -46
- package/core/interfaces/i_drag_target.ts +0 -84
- package/core/interfaces/i_draggable.ts +0 -25
- package/core/interfaces/i_flyout.ts +0 -186
- package/core/interfaces/i_keyboard_accessible.ts +0 -35
- package/core/interfaces/i_metrics_manager.ts +0 -151
- package/core/interfaces/i_movable.ts +0 -29
- package/core/interfaces/i_positionable.ts +0 -50
- package/core/interfaces/i_registrable.ts +0 -25
- package/core/interfaces/i_registrable_field.ts +0 -31
- package/core/interfaces/i_selectable.ts +0 -34
- package/core/interfaces/i_selectable_toolbox_item.ts +0 -64
- package/core/interfaces/i_serializer.ts +0 -65
- package/core/interfaces/i_styleable.ts +0 -35
- package/core/interfaces/i_toolbox.ts +0 -127
- package/core/interfaces/i_toolbox_item.ts +0 -84
- package/core/internal_constants.ts +0 -67
- package/core/keyboard_nav/ast_node.ts +0 -717
- package/core/keyboard_nav/basic_cursor.ts +0 -214
- package/core/keyboard_nav/cursor.ts +0 -134
- package/core/keyboard_nav/marker.ts +0 -115
- package/core/keyboard_nav/tab_navigate_cursor.ts +0 -48
- package/core/main.js +0 -303
- package/core/marker_manager.ts +0 -181
- package/core/menu.ts +0 -449
- package/core/menuitem.ts +0 -240
- package/core/metrics_manager.ts +0 -456
- package/core/msg.ts +0 -20
- package/core/mutator.ts +0 -560
- package/core/names.ts +0 -267
- package/core/options.ts +0 -365
- package/core/positionable_helpers.ts +0 -181
- package/core/procedures.ts +0 -443
- package/core/registry.ts +0 -339
- package/core/rendered_connection.ts +0 -568
- package/core/renderers/common/block_rendering.ts +0 -164
- package/core/renderers/common/constants.ts +0 -1124
- package/core/renderers/common/debug.ts +0 -61
- package/core/renderers/common/debugger.ts +0 -433
- package/core/renderers/common/drawer.ts +0 -450
- package/core/renderers/common/i_path_object.ts +0 -161
- package/core/renderers/common/info.ts +0 -718
- package/core/renderers/common/marker_svg.ts +0 -680
- package/core/renderers/common/path_object.ts +0 -272
- package/core/renderers/common/renderer.ts +0 -271
- package/core/renderers/geras/constants.ts +0 -61
- package/core/renderers/geras/drawer.ts +0 -176
- package/core/renderers/geras/geras.ts +0 -37
- package/core/renderers/geras/highlight_constants.ts +0 -337
- package/core/renderers/geras/highlighter.ts +0 -306
- package/core/renderers/geras/info.ts +0 -450
- package/core/renderers/geras/measurables/inline_input.ts +0 -51
- package/core/renderers/geras/measurables/statement_input.ts +0 -50
- package/core/renderers/geras/path_object.ts +0 -138
- package/core/renderers/geras/renderer.ts +0 -126
- package/core/renderers/measurables/base.ts +0 -53
- package/core/renderers/measurables/bottom_row.ts +0 -120
- package/core/renderers/measurables/connection.ts +0 -52
- package/core/renderers/measurables/external_value_input.ts +0 -65
- package/core/renderers/measurables/field.ts +0 -63
- package/core/renderers/measurables/hat.ts +0 -48
- package/core/renderers/measurables/icon.ts +0 -54
- package/core/renderers/measurables/in_row_spacer.ts +0 -44
- package/core/renderers/measurables/inline_input.ts +0 -76
- package/core/renderers/measurables/input_connection.ts +0 -66
- package/core/renderers/measurables/input_row.ts +0 -82
- package/core/renderers/measurables/jagged_edge.ts +0 -43
- package/core/renderers/measurables/next_connection.ts +0 -47
- package/core/renderers/measurables/output_connection.ts +0 -56
- package/core/renderers/measurables/previous_connection.ts +0 -47
- package/core/renderers/measurables/round_corner.ts +0 -49
- package/core/renderers/measurables/row.ts +0 -225
- package/core/renderers/measurables/spacer_row.ts +0 -55
- package/core/renderers/measurables/square_corner.ts +0 -47
- package/core/renderers/measurables/statement_input.ts +0 -55
- package/core/renderers/measurables/top_row.ts +0 -122
- package/core/renderers/measurables/types.ts +0 -332
- package/core/renderers/minimalist/constants.ts +0 -32
- package/core/renderers/minimalist/drawer.ts +0 -38
- package/core/renderers/minimalist/info.ts +0 -52
- package/core/renderers/minimalist/minimalist.ts +0 -22
- package/core/renderers/minimalist/renderer.ts +0 -71
- package/core/renderers/thrasos/info.ts +0 -338
- package/core/renderers/thrasos/renderer.ts +0 -48
- package/core/renderers/thrasos/thrasos.ts +0 -20
- package/core/renderers/zelos/constants.ts +0 -858
- package/core/renderers/zelos/drawer.ts +0 -228
- package/core/renderers/zelos/info.ts +0 -593
- package/core/renderers/zelos/marker_svg.ts +0 -151
- package/core/renderers/zelos/measurables/bottom_row.ts +0 -53
- package/core/renderers/zelos/measurables/inputs.ts +0 -56
- package/core/renderers/zelos/measurables/row_elements.ts +0 -45
- package/core/renderers/zelos/measurables/top_row.ts +0 -58
- package/core/renderers/zelos/path_object.ts +0 -215
- package/core/renderers/zelos/renderer.ts +0 -142
- package/core/renderers/zelos/zelos.ts +0 -39
- package/core/scrollbar.ts +0 -870
- package/core/scrollbar_pair.ts +0 -321
- package/core/serialization/blocks.ts +0 -706
- package/core/serialization/exceptions.ts +0 -98
- package/core/serialization/priorities.ts +0 -32
- package/core/serialization/registry.ts +0 -43
- package/core/serialization/variables.ts +0 -96
- package/core/serialization/workspaces.ts +0 -106
- package/core/shortcut_items.ts +0 -266
- package/core/shortcut_registry.ts +0 -355
- package/core/sprites.ts +0 -29
- package/core/theme/classic.ts +0 -54
- package/core/theme/themes.ts +0 -22
- package/core/theme/zelos.ts +0 -91
- package/core/theme.ts +0 -221
- package/core/theme_manager.ts +0 -186
- package/core/toolbox/category.ts +0 -679
- package/core/toolbox/collapsible_category.ts +0 -273
- package/core/toolbox/separator.ts +0 -105
- package/core/toolbox/toolbox.ts +0 -1044
- package/core/toolbox/toolbox_item.ts +0 -147
- package/core/tooltip.ts +0 -463
- package/core/touch.ts +0 -306
- package/core/touch_gesture.ts +0 -295
- package/core/trashcan.ts +0 -671
- package/core/utils/aria.ts +0 -160
- package/core/utils/array.ts +0 -32
- package/core/utils/colour.ts +0 -276
- package/core/utils/coordinate.ts +0 -124
- package/core/utils/deprecation.ts +0 -41
- package/core/utils/dom.ts +0 -408
- package/core/utils/idgenerator.ts +0 -80
- package/core/utils/keycodes.ts +0 -169
- package/core/utils/math.ts +0 -61
- package/core/utils/metrics.ts +0 -97
- package/core/utils/object.ts +0 -95
- package/core/utils/parsing.ts +0 -261
- package/core/utils/rect.ts +0 -62
- package/core/utils/sentinel.ts +0 -23
- package/core/utils/size.ts +0 -51
- package/core/utils/string.ts +0 -308
- package/core/utils/style.ts +0 -306
- package/core/utils/svg.ts +0 -88
- package/core/utils/svg_math.ts +0 -269
- package/core/utils/svg_paths.ts +0 -140
- package/core/utils/toolbox.ts +0 -433
- package/core/utils/useragent.ts +0 -135
- package/core/utils/xml.ts +0 -97
- package/core/utils.ts +0 -428
- package/core/variable_map.ts +0 -392
- package/core/variable_model.ts +0 -82
- package/core/variables.ts +0 -596
- package/core/variables_dynamic.ts +0 -133
- package/core/warning.ts +0 -161
- package/core/widgetdiv.ts +0 -257
- package/core/workspace.ts +0 -801
- package/core/workspace_audio.ts +0 -156
- package/core/workspace_comment.ts +0 -398
- package/core/workspace_comment_svg.ts +0 -1127
- package/core/workspace_drag_surface_svg.ts +0 -187
- package/core/workspace_dragger.ts +0 -104
- package/core/workspace_svg.ts +0 -2655
- package/core/xml.ts +0 -1023
- package/core/zoom_controls.ts +0 -441
- package/generators/dart/all.js +0 -27
- package/generators/dart/colour.js +0 -105
- package/generators/dart/lists.js +0 -431
- package/generators/dart/logic.js +0 -123
- package/generators/dart/loops.js +0 -161
- package/generators/dart/math.js +0 -446
- package/generators/dart/procedures.js +0 -105
- package/generators/dart/text.js +0 -338
- package/generators/dart/variables.js +0 -32
- package/generators/dart/variables_dynamic.js +0 -21
- package/generators/dart.js +0 -303
- package/generators/javascript/all.js +0 -27
- package/generators/javascript/colour.js +0 -85
- package/generators/javascript/lists.js +0 -405
- package/generators/javascript/logic.js +0 -127
- package/generators/javascript/loops.js +0 -180
- package/generators/javascript/math.js +0 -401
- package/generators/javascript/procedures.js +0 -110
- package/generators/javascript/text.js +0 -371
- package/generators/javascript/variables.js +0 -32
- package/generators/javascript/variables_dynamic.js +0 -21
- package/generators/javascript.js +0 -322
- package/generators/lua/all.js +0 -27
- package/generators/lua/colour.js +0 -71
- package/generators/lua/lists.js +0 -348
- package/generators/lua/logic.js +0 -112
- package/generators/lua/loops.js +0 -168
- package/generators/lua/math.js +0 -406
- package/generators/lua/procedures.js +0 -106
- package/generators/lua/text.js +0 -327
- package/generators/lua/variables.js +0 -31
- package/generators/lua/variables_dynamic.js +0 -21
- package/generators/lua.js +0 -206
- package/generators/php/all.js +0 -27
- package/generators/php/colour.js +0 -81
- package/generators/php/lists.js +0 -481
- package/generators/php/logic.js +0 -119
- package/generators/php/loops.js +0 -161
- package/generators/php/math.js +0 -349
- package/generators/php/procedures.js +0 -125
- package/generators/php/text.js +0 -255
- package/generators/php/variables.js +0 -32
- package/generators/php/variables_dynamic.js +0 -21
- package/generators/php.js +0 -303
- package/generators/python/all.js +0 -27
- package/generators/python/colour.js +0 -67
- package/generators/python/lists.js +0 -346
- package/generators/python/logic.js +0 -120
- package/generators/python/loops.js +0 -206
- package/generators/python/math.js +0 -373
- package/generators/python/procedures.js +0 -129
- package/generators/python/text.js +0 -291
- package/generators/python/variables.js +0 -32
- package/generators/python/variables_dynamic.js +0 -21
- package/generators/python.js +0 -333
|
@@ -1,176 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2019 Google LLC
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @fileoverview Renderer that preserves the look and feel of Blockly pre-2019.
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Renderer that preserves the look and feel of Blockly pre-2019.
|
|
13
|
-
* @class
|
|
14
|
-
*/
|
|
15
|
-
import * as goog from '../../../closure/goog/goog.js';
|
|
16
|
-
goog.declareModuleId('Blockly.geras.Drawer');
|
|
17
|
-
|
|
18
|
-
import type {BlockSvg} from '../../block_svg.js';
|
|
19
|
-
import * as svgPaths from '../../utils/svg_paths.js';
|
|
20
|
-
import * as debug from '../common/debug.js';
|
|
21
|
-
import {Drawer as BaseDrawer} from '../common/drawer.js';
|
|
22
|
-
import type {Row} from '../measurables/row.js';
|
|
23
|
-
|
|
24
|
-
import type {ConstantProvider} from './constants.js';
|
|
25
|
-
import {Highlighter} from './highlighter.js';
|
|
26
|
-
import type {RenderInfo} from './info.js';
|
|
27
|
-
import type {InlineInput} from './measurables/inline_input.js';
|
|
28
|
-
import type {PathObject} from './path_object.js';
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* An object that draws a block based on the given rendering information.
|
|
33
|
-
* @alias Blockly.geras.Drawer
|
|
34
|
-
*/
|
|
35
|
-
export class Drawer extends BaseDrawer {
|
|
36
|
-
highlighter_: AnyDuringMigration;
|
|
37
|
-
// TODO(b/109816955): remove '!', see go/strict-prop-init-fix.
|
|
38
|
-
override constants_!: ConstantProvider;
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* @param block The block to render.
|
|
42
|
-
* @param info An object containing all information needed to render this
|
|
43
|
-
* block.
|
|
44
|
-
* @internal
|
|
45
|
-
*/
|
|
46
|
-
constructor(block: BlockSvg, info: RenderInfo) {
|
|
47
|
-
super(block, info);
|
|
48
|
-
// Unlike Thrasos, Geras has highlights and drop shadows.
|
|
49
|
-
this.highlighter_ = new Highlighter(info);
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
override draw() {
|
|
53
|
-
this.hideHiddenIcons_();
|
|
54
|
-
this.drawOutline_();
|
|
55
|
-
this.drawInternals_();
|
|
56
|
-
|
|
57
|
-
const pathObject = this.block_.pathObject as PathObject;
|
|
58
|
-
pathObject.setPath(this.outlinePath_ + '\n' + this.inlinePath_);
|
|
59
|
-
pathObject.setHighlightPath(this.highlighter_.getPath());
|
|
60
|
-
if (this.info_.RTL) {
|
|
61
|
-
pathObject.flipRTL();
|
|
62
|
-
}
|
|
63
|
-
if (debug.isDebuggerEnabled()) {
|
|
64
|
-
this.block_.renderingDebugger.drawDebug(this.block_, this.info_);
|
|
65
|
-
}
|
|
66
|
-
this.recordSizeOnBlock_();
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
override drawTop_() {
|
|
70
|
-
this.highlighter_.drawTopCorner(this.info_.topRow);
|
|
71
|
-
this.highlighter_.drawRightSideRow(this.info_.topRow);
|
|
72
|
-
|
|
73
|
-
super.drawTop_();
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
override drawJaggedEdge_(row: Row) {
|
|
77
|
-
this.highlighter_.drawJaggedEdge_(row);
|
|
78
|
-
|
|
79
|
-
super.drawJaggedEdge_(row);
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
override drawValueInput_(row: Row) {
|
|
83
|
-
this.highlighter_.drawValueInput(row);
|
|
84
|
-
|
|
85
|
-
super.drawValueInput_(row);
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
override drawStatementInput_(row: Row) {
|
|
89
|
-
this.highlighter_.drawStatementInput(row);
|
|
90
|
-
|
|
91
|
-
super.drawStatementInput_(row);
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
override drawRightSideRow_(row: Row) {
|
|
95
|
-
this.highlighter_.drawRightSideRow(row);
|
|
96
|
-
|
|
97
|
-
this.outlinePath_ += svgPaths.lineOnAxis('H', row.xPos + row.width) +
|
|
98
|
-
svgPaths.lineOnAxis('V', row.yPos + row.height);
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
override drawBottom_() {
|
|
102
|
-
this.highlighter_.drawBottomRow(this.info_.bottomRow);
|
|
103
|
-
|
|
104
|
-
super.drawBottom_();
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
/**
|
|
108
|
-
* Add steps for the left side of the block, which may include an output
|
|
109
|
-
* connection
|
|
110
|
-
*/
|
|
111
|
-
protected override drawLeft_() {
|
|
112
|
-
this.highlighter_.drawLeft();
|
|
113
|
-
|
|
114
|
-
super.drawLeft_();
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
override drawInlineInput_(input: InlineInput) {
|
|
118
|
-
this.highlighter_.drawInlineInput(input as InlineInput);
|
|
119
|
-
|
|
120
|
-
super.drawInlineInput_(input);
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
override positionInlineInputConnection_(input: InlineInput) {
|
|
124
|
-
const yPos = input.centerline - input.height / 2;
|
|
125
|
-
// Move the connection.
|
|
126
|
-
if (input.connectionModel) {
|
|
127
|
-
// xPos already contains info about startX
|
|
128
|
-
let connX =
|
|
129
|
-
input.xPos + input.connectionWidth + this.constants_.DARK_PATH_OFFSET;
|
|
130
|
-
if (this.info_.RTL) {
|
|
131
|
-
connX *= -1;
|
|
132
|
-
}
|
|
133
|
-
input.connectionModel.setOffsetInBlock(
|
|
134
|
-
connX,
|
|
135
|
-
yPos + input.connectionOffsetY + this.constants_.DARK_PATH_OFFSET);
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
override positionStatementInputConnection_(row: Row) {
|
|
140
|
-
const input = row.getLastInput();
|
|
141
|
-
if (input.connectionModel) {
|
|
142
|
-
let connX = row.xPos + row.statementEdge + input.notchOffset;
|
|
143
|
-
if (this.info_.RTL) {
|
|
144
|
-
connX *= -1;
|
|
145
|
-
} else {
|
|
146
|
-
connX += this.constants_.DARK_PATH_OFFSET;
|
|
147
|
-
}
|
|
148
|
-
input.connectionModel.setOffsetInBlock(
|
|
149
|
-
connX, row.yPos + this.constants_.DARK_PATH_OFFSET);
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
override positionExternalValueConnection_(row: Row) {
|
|
154
|
-
const input = row.getLastInput();
|
|
155
|
-
if (input.connectionModel) {
|
|
156
|
-
let connX = row.xPos + row.width + this.constants_.DARK_PATH_OFFSET;
|
|
157
|
-
if (this.info_.RTL) {
|
|
158
|
-
connX *= -1;
|
|
159
|
-
}
|
|
160
|
-
input.connectionModel.setOffsetInBlock(connX, row.yPos);
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
override positionNextConnection_() {
|
|
165
|
-
const bottomRow = this.info_.bottomRow;
|
|
166
|
-
|
|
167
|
-
if (bottomRow.connection) {
|
|
168
|
-
const connInfo = bottomRow.connection;
|
|
169
|
-
const x = connInfo.xPos; // Already contains info about startX.
|
|
170
|
-
const connX =
|
|
171
|
-
(this.info_.RTL ? -x : x) + this.constants_.DARK_PATH_OFFSET / 2;
|
|
172
|
-
connInfo.connectionModel.setOffsetInBlock(
|
|
173
|
-
connX, bottomRow.baseline + this.constants_.DARK_PATH_OFFSET);
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
/** @fileoverview Re-exports of Blockly.geras.* modules. */
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* @license
|
|
5
|
-
* Copyright 2021 Google LLC
|
|
6
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Re-exports of Blockly.geras.* modules.
|
|
11
|
-
* @namespace Blockly.geras
|
|
12
|
-
*/
|
|
13
|
-
import * as goog from '../../../closure/goog/goog.js';
|
|
14
|
-
goog.declareModuleId('Blockly.geras');
|
|
15
|
-
|
|
16
|
-
import {ConstantProvider} from './constants.js';
|
|
17
|
-
import {Drawer} from './drawer.js';
|
|
18
|
-
import {HighlightConstantProvider} from './highlight_constants.js';
|
|
19
|
-
import {Highlighter} from './highlighter.js';
|
|
20
|
-
import {RenderInfo} from './info.js';
|
|
21
|
-
import {InlineInput} from './measurables/inline_input.js';
|
|
22
|
-
import {StatementInput} from './measurables/statement_input.js';
|
|
23
|
-
import {PathObject} from './path_object.js';
|
|
24
|
-
import {Renderer} from './renderer.js';
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
export {
|
|
28
|
-
ConstantProvider,
|
|
29
|
-
Drawer,
|
|
30
|
-
HighlightConstantProvider,
|
|
31
|
-
Highlighter,
|
|
32
|
-
InlineInput,
|
|
33
|
-
PathObject,
|
|
34
|
-
Renderer,
|
|
35
|
-
RenderInfo,
|
|
36
|
-
StatementInput
|
|
37
|
-
};
|
|
@@ -1,337 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2019 Google LLC
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @fileoverview Objects for rendering highlights on blocks.
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Objects for rendering highlights on blocks.
|
|
13
|
-
* @class
|
|
14
|
-
*/
|
|
15
|
-
import * as goog from '../../../closure/goog/goog.js';
|
|
16
|
-
goog.declareModuleId('Blockly.geras.HighlightConstantProvider');
|
|
17
|
-
|
|
18
|
-
import * as svgPaths from '../../utils/svg_paths.js';
|
|
19
|
-
import type {ConstantProvider} from '../common/constants.js';
|
|
20
|
-
|
|
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
|
-
|
|
65
|
-
/**
|
|
66
|
-
* An object that provides constants for rendering highlights on blocks.
|
|
67
|
-
* Some highlights are simple offsets of the parent paths and can be generated
|
|
68
|
-
* programmatically. Others, especially on curves, are just made out of piles
|
|
69
|
-
* of constants and are hard to tweak.
|
|
70
|
-
* @alias Blockly.geras.HighlightConstantProvider
|
|
71
|
-
*/
|
|
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
|
-
|
|
91
|
-
/**
|
|
92
|
-
* @param constants The rendering constants provider.
|
|
93
|
-
* @internal
|
|
94
|
-
*/
|
|
95
|
-
constructor(constants: ConstantProvider) {
|
|
96
|
-
/** The renderer's constant provider. */
|
|
97
|
-
this.constantProvider = constants;
|
|
98
|
-
|
|
99
|
-
/**
|
|
100
|
-
* The start point, which is offset in both X and Y, as an SVG path chunk.
|
|
101
|
-
* @internal
|
|
102
|
-
*/
|
|
103
|
-
this.START_POINT = svgPaths.moveBy(this.OFFSET, this.OFFSET);
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
/**
|
|
107
|
-
* Initialize shape objects based on the constants set in the constructor.
|
|
108
|
-
* @internal
|
|
109
|
-
*/
|
|
110
|
-
init() {
|
|
111
|
-
/**
|
|
112
|
-
* An object containing sizing and path information about inside corner
|
|
113
|
-
* highlights.
|
|
114
|
-
*/
|
|
115
|
-
this.INSIDE_CORNER = this.makeInsideCorner();
|
|
116
|
-
|
|
117
|
-
/**
|
|
118
|
-
* An object containing sizing and path information about outside corner
|
|
119
|
-
* highlights.
|
|
120
|
-
*/
|
|
121
|
-
this.OUTSIDE_CORNER = this.makeOutsideCorner();
|
|
122
|
-
|
|
123
|
-
/**
|
|
124
|
-
* An object containing sizing and path information about puzzle tab
|
|
125
|
-
* highlights.
|
|
126
|
-
*/
|
|
127
|
-
this.PUZZLE_TAB = this.makePuzzleTab();
|
|
128
|
-
|
|
129
|
-
/**
|
|
130
|
-
* An object containing sizing and path information about notch highlights.
|
|
131
|
-
*/
|
|
132
|
-
this.NOTCH = this.makeNotch();
|
|
133
|
-
|
|
134
|
-
/**
|
|
135
|
-
* An object containing sizing and path information about highlights for
|
|
136
|
-
* collapsed block indicators.
|
|
137
|
-
*/
|
|
138
|
-
this.JAGGED_TEETH = this.makeJaggedTeeth();
|
|
139
|
-
|
|
140
|
-
/**
|
|
141
|
-
* An object containing sizing and path information about start hat
|
|
142
|
-
* highlights.
|
|
143
|
-
*/
|
|
144
|
-
this.START_HAT = this.makeStartHat();
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
/**
|
|
148
|
-
* @return An object containing sizing and path information about inside
|
|
149
|
-
* corner highlights.
|
|
150
|
-
* @internal
|
|
151
|
-
*/
|
|
152
|
-
makeInsideCorner(): InsideCorner {
|
|
153
|
-
const radius = this.constantProvider.CORNER_RADIUS;
|
|
154
|
-
const offset = this.OFFSET;
|
|
155
|
-
|
|
156
|
-
/**
|
|
157
|
-
* Distance from shape edge to intersect with a curved corner at 45 degrees.
|
|
158
|
-
* Applies to highlighting on around the outside of a curve.
|
|
159
|
-
*/
|
|
160
|
-
const distance45outside = (1 - Math.SQRT1_2) * (radius + offset) - offset;
|
|
161
|
-
|
|
162
|
-
const pathTopRtl = svgPaths.moveBy(distance45outside, distance45outside) +
|
|
163
|
-
svgPaths.arc(
|
|
164
|
-
'a', '0 0,0', radius,
|
|
165
|
-
svgPaths.point(
|
|
166
|
-
-distance45outside - offset, radius - distance45outside));
|
|
167
|
-
|
|
168
|
-
const pathBottomRtl = svgPaths.arc(
|
|
169
|
-
'a', '0 0,0', radius + offset,
|
|
170
|
-
svgPaths.point(radius + offset, radius + offset));
|
|
171
|
-
|
|
172
|
-
const pathBottomLtr =
|
|
173
|
-
svgPaths.moveBy(distance45outside, -distance45outside) +
|
|
174
|
-
svgPaths.arc(
|
|
175
|
-
'a', '0 0,0', radius + offset,
|
|
176
|
-
svgPaths.point(
|
|
177
|
-
radius - distance45outside, distance45outside + offset));
|
|
178
|
-
|
|
179
|
-
return {
|
|
180
|
-
width: radius + offset,
|
|
181
|
-
height: radius,
|
|
182
|
-
pathTop(rtl) {
|
|
183
|
-
return rtl ? pathTopRtl : '';
|
|
184
|
-
},
|
|
185
|
-
pathBottom(rtl) {
|
|
186
|
-
return rtl ? pathBottomRtl : pathBottomLtr;
|
|
187
|
-
},
|
|
188
|
-
};
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
/**
|
|
192
|
-
* @return An object containing sizing and path information about outside
|
|
193
|
-
* corner highlights.
|
|
194
|
-
* @internal
|
|
195
|
-
*/
|
|
196
|
-
makeOutsideCorner(): OutsideCorner {
|
|
197
|
-
const radius = this.constantProvider.CORNER_RADIUS;
|
|
198
|
-
const offset = this.OFFSET;
|
|
199
|
-
|
|
200
|
-
/**
|
|
201
|
-
* Distance from shape edge to intersect with a curved corner at 45 degrees.
|
|
202
|
-
* Applies to highlighting on around the inside of a curve.
|
|
203
|
-
*/
|
|
204
|
-
const distance45inside = (1 - Math.SQRT1_2) * (radius - offset) + offset;
|
|
205
|
-
|
|
206
|
-
const topLeftStartX = distance45inside;
|
|
207
|
-
const topLeftStartY = distance45inside;
|
|
208
|
-
const topLeftCornerHighlightRtl =
|
|
209
|
-
svgPaths.moveBy(topLeftStartX, topLeftStartY) +
|
|
210
|
-
svgPaths.arc(
|
|
211
|
-
'a', '0 0,1', radius - offset,
|
|
212
|
-
svgPaths.point(radius - topLeftStartX, -topLeftStartY + offset));
|
|
213
|
-
/**
|
|
214
|
-
* SVG path for drawing the highlight on the rounded top-left corner.
|
|
215
|
-
*/
|
|
216
|
-
const topLeftCornerHighlightLtr = svgPaths.moveBy(offset, radius) +
|
|
217
|
-
svgPaths.arc(
|
|
218
|
-
'a', '0 0,1', radius - offset,
|
|
219
|
-
svgPaths.point(radius, -radius + offset));
|
|
220
|
-
|
|
221
|
-
const bottomLeftStartX = distance45inside;
|
|
222
|
-
const bottomLeftStartY = -distance45inside;
|
|
223
|
-
const bottomLeftPath = svgPaths.moveBy(bottomLeftStartX, bottomLeftStartY) +
|
|
224
|
-
svgPaths.arc(
|
|
225
|
-
'a', '0 0,1', radius - offset,
|
|
226
|
-
svgPaths.point(
|
|
227
|
-
-bottomLeftStartX + offset, -bottomLeftStartY - radius));
|
|
228
|
-
|
|
229
|
-
return {
|
|
230
|
-
height: radius,
|
|
231
|
-
topLeft(rtl) {
|
|
232
|
-
return rtl ? topLeftCornerHighlightRtl : topLeftCornerHighlightLtr;
|
|
233
|
-
},
|
|
234
|
-
bottomLeft() {
|
|
235
|
-
return bottomLeftPath;
|
|
236
|
-
},
|
|
237
|
-
};
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
/**
|
|
241
|
-
* @return An object containing sizing and path information about puzzle tab
|
|
242
|
-
* highlights.
|
|
243
|
-
* @internal
|
|
244
|
-
*/
|
|
245
|
-
makePuzzleTab(): PuzzleTab {
|
|
246
|
-
const width = this.constantProvider.TAB_WIDTH;
|
|
247
|
-
const height = this.constantProvider.TAB_HEIGHT;
|
|
248
|
-
|
|
249
|
-
// This is how much of the vertical block edge is actually drawn by the
|
|
250
|
-
// puzzle tab.
|
|
251
|
-
const verticalOverlap = 2.5;
|
|
252
|
-
|
|
253
|
-
const highlightRtlUp =
|
|
254
|
-
svgPaths.moveBy(-2, -height + verticalOverlap + 0.9) +
|
|
255
|
-
svgPaths.lineTo(width * -0.45, -2.1);
|
|
256
|
-
|
|
257
|
-
const highlightRtlDown = svgPaths.lineOnAxis('v', verticalOverlap) +
|
|
258
|
-
svgPaths.moveBy(-width * 0.97, 2.5) +
|
|
259
|
-
svgPaths.curve(
|
|
260
|
-
'q',
|
|
261
|
-
[
|
|
262
|
-
svgPaths.point(-width * 0.05, 10),
|
|
263
|
-
svgPaths.point(width * 0.3, 9.5),
|
|
264
|
-
]) +
|
|
265
|
-
svgPaths.moveBy(width * 0.67, -1.9) +
|
|
266
|
-
svgPaths.lineOnAxis('v', verticalOverlap);
|
|
267
|
-
|
|
268
|
-
const highlightLtrUp = svgPaths.lineOnAxis('v', -1.5) +
|
|
269
|
-
svgPaths.moveBy(width * -0.92, -0.5) +
|
|
270
|
-
svgPaths.curve(
|
|
271
|
-
'q',
|
|
272
|
-
[svgPaths.point(width * -0.19, -5.5), svgPaths.point(0, -11)]) +
|
|
273
|
-
svgPaths.moveBy(width * 0.92, 1);
|
|
274
|
-
|
|
275
|
-
const highlightLtrDown =
|
|
276
|
-
svgPaths.moveBy(-5, height - 0.7) + svgPaths.lineTo(width * 0.46, -2.1);
|
|
277
|
-
|
|
278
|
-
return {
|
|
279
|
-
width,
|
|
280
|
-
height,
|
|
281
|
-
pathUp(rtl) {
|
|
282
|
-
return rtl ? highlightRtlUp : highlightLtrUp;
|
|
283
|
-
},
|
|
284
|
-
pathDown(rtl) {
|
|
285
|
-
return rtl ? highlightRtlDown : highlightLtrDown;
|
|
286
|
-
},
|
|
287
|
-
};
|
|
288
|
-
}
|
|
289
|
-
|
|
290
|
-
/**
|
|
291
|
-
* @return An object containing sizing and path information about notch
|
|
292
|
-
* highlights.
|
|
293
|
-
* @internal
|
|
294
|
-
*/
|
|
295
|
-
makeNotch(): Notch {
|
|
296
|
-
// This is only for the previous connection.
|
|
297
|
-
const pathLeft = svgPaths.lineOnAxis('h', this.OFFSET) +
|
|
298
|
-
this.constantProvider.NOTCH.pathLeft;
|
|
299
|
-
return {pathLeft};
|
|
300
|
-
}
|
|
301
|
-
|
|
302
|
-
/**
|
|
303
|
-
* @return An object containing sizing and path information about collapsed
|
|
304
|
-
* block edge highlights.
|
|
305
|
-
* @internal
|
|
306
|
-
*/
|
|
307
|
-
makeJaggedTeeth(): JaggedTeeth {
|
|
308
|
-
const pathLeft = svgPaths.lineTo(5.1, 2.6) + svgPaths.moveBy(-10.2, 6.8) +
|
|
309
|
-
svgPaths.lineTo(5.1, 2.6);
|
|
310
|
-
return {pathLeft, height: 12, width: 10.2};
|
|
311
|
-
}
|
|
312
|
-
|
|
313
|
-
/**
|
|
314
|
-
* @return An object containing sizing and path information about start
|
|
315
|
-
* highlights.
|
|
316
|
-
* @internal
|
|
317
|
-
*/
|
|
318
|
-
makeStartHat(): StartHat {
|
|
319
|
-
const hatHeight = this.constantProvider.START_HAT.height;
|
|
320
|
-
const pathRtl = svgPaths.moveBy(25, -8.7) + svgPaths.curve('c', [
|
|
321
|
-
svgPaths.point(29.7, -6.2),
|
|
322
|
-
svgPaths.point(57.2, -0.5),
|
|
323
|
-
svgPaths.point(75, 8.7),
|
|
324
|
-
]);
|
|
325
|
-
|
|
326
|
-
const pathLtr = svgPaths.curve('c', [
|
|
327
|
-
svgPaths.point(17.8, -9.2),
|
|
328
|
-
svgPaths.point(45.3, -14.9),
|
|
329
|
-
svgPaths.point(75, -8.7),
|
|
330
|
-
]) + svgPaths.moveTo(100.5, hatHeight + 0.5);
|
|
331
|
-
return {
|
|
332
|
-
path(rtl) {
|
|
333
|
-
return rtl ? pathRtl : pathLtr;
|
|
334
|
-
},
|
|
335
|
-
};
|
|
336
|
-
}
|
|
337
|
-
}
|