blockly 12.4.0 → 12.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/blockly.min.js +2751 -0
- package/blockly.mjs +163 -0
- package/blockly_compressed.js +1825 -0
- package/blockly_compressed.js.map +1 -0
- package/blocks.js +4 -0
- package/blocks.mjs +12 -0
- package/blocks_compressed.js +194 -0
- package/blocks_compressed.js.map +1 -0
- package/core/any_aliases.d.ts +7 -0
- package/core/block.d.ts +1006 -0
- package/core/block_animations.d.ts +34 -0
- package/core/block_flyout_inflater.d.ts +94 -0
- package/core/block_svg.d.ts +737 -0
- package/core/blockly.d.ts +286 -0
- package/core/blockly_options.d.ts +70 -0
- package/core/blocks.d.ts +17 -0
- package/core/browser_events.d.ts +88 -0
- package/core/bubbles/bubble.d.ts +228 -0
- package/core/bubbles/mini_workspace_bubble.d.ts +84 -0
- package/core/bubbles/text_bubble.d.ts +38 -0
- package/core/bubbles/textinput_bubble.d.ts +102 -0
- package/core/bubbles.d.ts +11 -0
- package/core/bump_objects.d.ts +37 -0
- package/core/button_flyout_inflater.d.ts +42 -0
- package/core/clipboard/block_paster.d.ts +34 -0
- package/core/clipboard/registry.d.ts +21 -0
- package/core/clipboard/workspace_comment_paster.d.ts +19 -0
- package/core/clipboard.d.ts +103 -0
- package/core/comments/collapse_comment_bar_button.d.ts +52 -0
- package/core/comments/comment_bar_button.d.ts +62 -0
- package/core/comments/comment_editor.d.ts +62 -0
- package/core/comments/comment_view.d.ts +213 -0
- package/core/comments/delete_comment_bar_button.d.ts +52 -0
- package/core/comments/rendered_workspace_comment.d.ts +121 -0
- package/core/comments/workspace_comment.d.ts +107 -0
- package/core/comments.d.ts +13 -0
- package/core/common.d.ts +163 -0
- package/core/component_manager.d.ts +112 -0
- package/core/config.d.ts +24 -0
- package/core/connection.d.ts +291 -0
- package/core/connection_checker.d.ts +85 -0
- package/core/connection_db.d.ts +100 -0
- package/core/connection_type.d.ts +15 -0
- package/core/constants.d.ts +19 -0
- package/core/contextmenu.d.ts +58 -0
- package/core/contextmenu_items.d.ts +73 -0
- package/core/contextmenu_registry.d.ts +173 -0
- package/core/css.d.ts +25 -0
- package/core/delete_area.d.ts +48 -0
- package/core/dialog.d.ts +82 -0
- package/core/drag_target.d.ts +75 -0
- package/core/dragging/block_drag_strategy.d.ts +130 -0
- package/core/dragging/bubble_drag_strategy.d.ts +20 -0
- package/core/dragging/comment_drag_strategy.d.ts +26 -0
- package/core/dragging/dragger.d.ts +49 -0
- package/core/dragging.d.ts +11 -0
- package/core/dropdowndiv.d.ts +208 -0
- package/core/events/events.d.ts +72 -0
- package/core/events/events_abstract.d.ts +72 -0
- package/core/events/events_block_base.d.ts +46 -0
- package/core/events/events_block_change.d.ts +100 -0
- package/core/events/events_block_create.d.ts +59 -0
- package/core/events/events_block_delete.d.ts +62 -0
- package/core/events/events_block_drag.d.ts +61 -0
- package/core/events/events_block_field_intermediate_change.d.ts +71 -0
- package/core/events/events_block_move.d.ts +115 -0
- package/core/events/events_bubble_open.d.ts +62 -0
- package/core/events/events_click.d.ts +64 -0
- package/core/events/events_comment_base.d.ts +55 -0
- package/core/events/events_comment_change.d.ts +64 -0
- package/core/events/events_comment_collapse.d.ts +40 -0
- package/core/events/events_comment_create.d.ts +57 -0
- package/core/events/events_comment_delete.d.ts +57 -0
- package/core/events/events_comment_drag.d.ts +51 -0
- package/core/events/events_comment_move.d.ts +93 -0
- package/core/events/events_comment_resize.d.ts +68 -0
- package/core/events/events_selected.d.ts +53 -0
- package/core/events/events_theme_change.d.ts +43 -0
- package/core/events/events_toolbox_item_select.d.ts +49 -0
- package/core/events/events_trashcan_open.d.ts +47 -0
- package/core/events/events_ui_base.d.ts +32 -0
- package/core/events/events_var_base.d.ts +46 -0
- package/core/events/events_var_create.d.ts +55 -0
- package/core/events/events_var_delete.d.ts +50 -0
- package/core/events/events_var_rename.d.ts +51 -0
- package/core/events/events_var_type_change.d.ts +55 -0
- package/core/events/events_viewport.d.ts +67 -0
- package/core/events/predicates.d.ts +87 -0
- package/core/events/type.d.ts +81 -0
- package/core/events/utils.d.ts +211 -0
- package/core/events/workspace_events.d.ts +23 -0
- package/core/extensions.d.ts +99 -0
- package/core/field.d.ts +724 -0
- package/core/field_checkbox.d.ts +156 -0
- package/core/field_dropdown.d.ts +295 -0
- package/core/field_image.d.ts +148 -0
- package/core/field_input.d.ts +293 -0
- package/core/field_label.d.ts +80 -0
- package/core/field_label_serializable.d.ts +50 -0
- package/core/field_number.d.ts +194 -0
- package/core/field_registry.d.ts +83 -0
- package/core/field_textinput.d.ts +78 -0
- package/core/field_variable.d.ts +261 -0
- package/core/flyout_base.d.ts +453 -0
- package/core/flyout_button.d.ts +140 -0
- package/core/flyout_horizontal.d.ts +87 -0
- package/core/flyout_item.d.ts +26 -0
- package/core/flyout_metrics_manager.d.ts +46 -0
- package/core/flyout_navigator.d.ts +11 -0
- package/core/flyout_separator.d.ts +64 -0
- package/core/flyout_vertical.d.ts +88 -0
- package/core/focus_manager.d.ts +266 -0
- package/core/generator.d.ts +279 -0
- package/core/gesture.d.ts +449 -0
- package/core/grid.d.ts +124 -0
- package/core/icons/comment_icon.d.ts +134 -0
- package/core/icons/exceptions.d.ts +17 -0
- package/core/icons/icon.d.ts +84 -0
- package/core/icons/icon_types.d.ts +25 -0
- package/core/icons/mutator_icon.d.ts +96 -0
- package/core/icons/registry.d.ts +23 -0
- package/core/icons/warning_icon.d.ts +77 -0
- package/core/icons.d.ts +14 -0
- package/core/inject.d.ts +16 -0
- package/core/inputs/align.d.ts +14 -0
- package/core/inputs/dummy_input.d.ts +20 -0
- package/core/inputs/end_row_input.d.ts +25 -0
- package/core/inputs/input.d.ts +147 -0
- package/core/inputs/input_types.d.ts +16 -0
- package/core/inputs/statement_input.d.ts +22 -0
- package/core/inputs/value_input.d.ts +20 -0
- package/core/inputs.d.ts +14 -0
- package/core/insertion_marker_previewer.d.ts +67 -0
- package/core/interfaces/i_autohideable.d.ts +21 -0
- package/core/interfaces/i_bounded_element.d.ts +27 -0
- package/core/interfaces/i_bubble.d.ts +55 -0
- package/core/interfaces/i_collapsible_toolbox_item.d.ts +28 -0
- package/core/interfaces/i_comment_icon.d.ts +24 -0
- package/core/interfaces/i_component.d.ts +17 -0
- package/core/interfaces/i_connection_checker.d.ts +75 -0
- package/core/interfaces/i_connection_previewer.d.ts +39 -0
- package/core/interfaces/i_contextmenu.d.ts +16 -0
- package/core/interfaces/i_copyable.d.ts +30 -0
- package/core/interfaces/i_deletable.d.ts +23 -0
- package/core/interfaces/i_delete_area.d.ts +25 -0
- package/core/interfaces/i_drag_target.d.ts +59 -0
- package/core/interfaces/i_draggable.d.ts +56 -0
- package/core/interfaces/i_dragger.d.ts +32 -0
- package/core/interfaces/i_flyout.d.ts +159 -0
- package/core/interfaces/i_flyout_inflater.d.ts +48 -0
- package/core/interfaces/i_focusable_node.d.ts +105 -0
- package/core/interfaces/i_focusable_tree.d.ts +125 -0
- package/core/interfaces/i_has_bubble.d.ts +27 -0
- package/core/interfaces/i_icon.d.ts +84 -0
- package/core/interfaces/i_keyboard_accessible.d.ts +19 -0
- package/core/interfaces/i_legacy_procedure_blocks.d.ts +34 -0
- package/core/interfaces/i_metrics_manager.d.ts +129 -0
- package/core/interfaces/i_movable.d.ts +17 -0
- package/core/interfaces/i_navigation_policy.d.ts +63 -0
- package/core/interfaces/i_observable.d.ts +21 -0
- package/core/interfaces/i_parameter_model.d.ts +44 -0
- package/core/interfaces/i_paster.d.ts +15 -0
- package/core/interfaces/i_positionable.d.ts +29 -0
- package/core/interfaces/i_procedure_block.d.ts +16 -0
- package/core/interfaces/i_procedure_map.d.ts +16 -0
- package/core/interfaces/i_procedure_model.d.ts +59 -0
- package/core/interfaces/i_registrable.d.ts +11 -0
- package/core/interfaces/i_rendered_element.d.ts +16 -0
- package/core/interfaces/i_selectable.d.ts +26 -0
- package/core/interfaces/i_selectable_toolbox_item.d.ts +51 -0
- package/core/interfaces/i_serializable.d.ts +24 -0
- package/core/interfaces/i_serializer.d.ts +45 -0
- package/core/interfaces/i_styleable.d.ts +23 -0
- package/core/interfaces/i_toolbox.d.ts +102 -0
- package/core/interfaces/i_toolbox_item.d.ts +71 -0
- package/core/interfaces/i_variable_backed_parameter_model.d.ts +17 -0
- package/core/interfaces/i_variable_map.d.ts +48 -0
- package/core/interfaces/i_variable_model.d.ts +36 -0
- package/core/internal_constants.d.ts +34 -0
- package/core/keyboard_nav/block_comment_navigation_policy.d.ts +56 -0
- package/core/keyboard_nav/block_navigation_policy.d.ts +84 -0
- package/core/keyboard_nav/comment_bar_button_navigation_policy.d.ts +56 -0
- package/core/keyboard_nav/comment_editor_navigation_policy.d.ts +34 -0
- package/core/keyboard_nav/connection_navigation_policy.d.ts +67 -0
- package/core/keyboard_nav/field_navigation_policy.d.ts +56 -0
- package/core/keyboard_nav/flyout_button_navigation_policy.d.ts +56 -0
- package/core/keyboard_nav/flyout_navigation_policy.d.ts +65 -0
- package/core/keyboard_nav/flyout_separator_navigation_policy.d.ts +33 -0
- package/core/keyboard_nav/icon_navigation_policy.d.ts +56 -0
- package/core/keyboard_nav/line_cursor.d.ts +187 -0
- package/core/keyboard_nav/marker.d.ts +53 -0
- package/core/keyboard_nav/workspace_comment_navigation_policy.d.ts +56 -0
- package/core/keyboard_nav/workspace_navigation_policy.d.ts +56 -0
- package/core/keyboard_navigation_controller.d.ts +48 -0
- package/core/label_flyout_inflater.d.ts +42 -0
- package/core/layer_manager.d.ts +101 -0
- package/core/layers.d.ts +16 -0
- package/core/main.d.ts +7 -0
- package/core/marker_manager.d.ts +72 -0
- package/core/menu.d.ts +170 -0
- package/core/menu_separator.d.ts +25 -0
- package/core/menuitem.d.ts +147 -0
- package/core/metrics_manager.d.ts +221 -0
- package/core/msg.d.ts +24 -0
- package/core/names.d.ts +139 -0
- package/core/navigator.d.ts +65 -0
- package/core/observable_procedure_map.d.ts +34 -0
- package/core/options.d.ts +148 -0
- package/core/positionable_helpers.d.ts +89 -0
- package/core/procedures.d.ts +108 -0
- package/core/registry.d.ts +158 -0
- package/core/render_management.d.ts +34 -0
- package/core/rendered_connection.d.ts +262 -0
- package/core/renderers/common/block_rendering.d.ts +63 -0
- package/core/renderers/common/constants.d.ts +454 -0
- package/core/renderers/common/drawer.d.ts +156 -0
- package/core/renderers/common/i_path_object.d.ts +88 -0
- package/core/renderers/common/info.d.ts +201 -0
- package/core/renderers/common/path_object.d.ts +130 -0
- package/core/renderers/common/renderer.d.ts +141 -0
- package/core/renderers/geras/constants.d.ts +22 -0
- package/core/renderers/geras/drawer.d.ts +44 -0
- package/core/renderers/geras/geras.d.ts +17 -0
- package/core/renderers/geras/highlight_constants.d.ts +100 -0
- package/core/renderers/geras/highlighter.d.ts +96 -0
- package/core/renderers/geras/info.d.ts +45 -0
- package/core/renderers/geras/measurables/inline_input.d.ts +22 -0
- package/core/renderers/geras/measurables/statement_input.d.ts +22 -0
- package/core/renderers/geras/path_object.d.ts +42 -0
- package/core/renderers/geras/renderer.d.ts +77 -0
- package/core/renderers/measurables/base.d.ts +26 -0
- package/core/renderers/measurables/bottom_row.d.ts +58 -0
- package/core/renderers/measurables/connection.d.ts +25 -0
- package/core/renderers/measurables/external_value_input.d.ts +25 -0
- package/core/renderers/measurables/field.d.ts +28 -0
- package/core/renderers/measurables/hat.d.ts +19 -0
- package/core/renderers/measurables/icon.d.ts +25 -0
- package/core/renderers/measurables/in_row_spacer.d.ts +20 -0
- package/core/renderers/measurables/inline_input.d.ts +22 -0
- package/core/renderers/measurables/input_connection.d.ts +28 -0
- package/core/renderers/measurables/input_row.d.ts +26 -0
- package/core/renderers/measurables/jagged_edge.d.ts +19 -0
- package/core/renderers/measurables/next_connection.d.ts +22 -0
- package/core/renderers/measurables/output_connection.d.ts +24 -0
- package/core/renderers/measurables/previous_connection.d.ts +22 -0
- package/core/renderers/measurables/round_corner.d.ts +20 -0
- package/core/renderers/measurables/row.d.ts +124 -0
- package/core/renderers/measurables/spacer_row.d.ts +27 -0
- package/core/renderers/measurables/square_corner.d.ts +20 -0
- package/core/renderers/measurables/statement_input.d.ts +21 -0
- package/core/renderers/measurables/top_row.d.ts +53 -0
- package/core/renderers/measurables/types.d.ts +258 -0
- package/core/renderers/thrasos/info.d.ts +37 -0
- package/core/renderers/thrasos/renderer.d.ts +28 -0
- package/core/renderers/thrasos/thrasos.d.ts +10 -0
- package/core/renderers/zelos/constants.d.ts +165 -0
- package/core/renderers/zelos/drawer.d.ts +51 -0
- package/core/renderers/zelos/info.d.ts +89 -0
- package/core/renderers/zelos/measurables/bottom_row.d.ts +26 -0
- package/core/renderers/zelos/measurables/inputs.d.ts +21 -0
- package/core/renderers/zelos/measurables/row_elements.d.ts +20 -0
- package/core/renderers/zelos/measurables/top_row.d.ts +28 -0
- package/core/renderers/zelos/path_object.d.ts +76 -0
- package/core/renderers/zelos/renderer.d.ts +64 -0
- package/core/renderers/zelos/zelos.d.ts +17 -0
- package/core/scrollbar.d.ts +348 -0
- package/core/scrollbar_pair.d.ts +121 -0
- package/core/separator_flyout_inflater.d.ts +57 -0
- package/core/serialization/blocks.d.ts +138 -0
- package/core/serialization/exceptions.d.ts +81 -0
- package/core/serialization/priorities.d.ts +20 -0
- package/core/serialization/procedures.d.ts +97 -0
- package/core/serialization/registry.d.ts +21 -0
- package/core/serialization/variables.d.ts +38 -0
- package/core/serialization/workspace_comments.d.ts +45 -0
- package/core/serialization/workspaces.d.ts +29 -0
- package/core/serialization.d.ts +19 -0
- package/core/shortcut_items.d.ts +59 -0
- package/core/shortcut_registry.d.ts +236 -0
- package/core/sprites.d.ts +15 -0
- package/core/theme/classic.d.ts +12 -0
- package/core/theme/themes.d.ts +9 -0
- package/core/theme/zelos.d.ts +11 -0
- package/core/theme.d.ts +151 -0
- package/core/theme_manager.d.ts +92 -0
- package/core/toast.d.ts +74 -0
- package/core/toolbox/category.d.ts +265 -0
- package/core/toolbox/collapsible_category.d.ts +99 -0
- package/core/toolbox/separator.d.ts +40 -0
- package/core/toolbox/toolbox.d.ts +419 -0
- package/core/toolbox/toolbox_item.d.ts +109 -0
- package/core/tooltip.d.ts +118 -0
- package/core/touch.d.ts +72 -0
- package/core/trashcan.d.ts +212 -0
- package/core/utils/aria.d.ts +69 -0
- package/core/utils/array.d.ts +15 -0
- package/core/utils/colour.d.ts +102 -0
- package/core/utils/coordinate.d.ts +87 -0
- package/core/utils/deprecation.d.ts +18 -0
- package/core/utils/dom.d.ts +154 -0
- package/core/utils/drag.d.ts +33 -0
- package/core/utils/focusable_tree_traverser.d.ts +53 -0
- package/core/utils/idgenerator.d.ts +33 -0
- package/core/utils/keycodes.d.ts +137 -0
- package/core/utils/math.d.ts +31 -0
- package/core/utils/metrics.d.ts +64 -0
- package/core/utils/object.d.ts +17 -0
- package/core/utils/parsing.d.ts +52 -0
- package/core/utils/rect.d.ts +82 -0
- package/core/utils/size.d.ts +44 -0
- package/core/utils/string.d.ts +46 -0
- package/core/utils/style.d.ts +89 -0
- package/core/utils/svg.d.ts +75 -0
- package/core/utils/svg_math.d.ts +64 -0
- package/core/utils/svg_paths.d.ts +103 -0
- package/core/utils/toolbox.d.ts +180 -0
- package/core/utils/useragent.d.ts +14 -0
- package/core/utils/xml.d.ts +96 -0
- package/core/utils.d.ts +31 -0
- package/core/variable_map.d.ts +164 -0
- package/core/variable_model.d.ts +73 -0
- package/core/variables.d.ts +238 -0
- package/core/variables_dynamic.d.ts +56 -0
- package/core/widgetdiv.d.ts +87 -0
- package/core/workspace.d.ts +482 -0
- package/core/workspace_audio.d.ts +62 -0
- package/core/workspace_dragger.d.ts +48 -0
- package/core/workspace_svg.d.ts +1103 -0
- package/core/xml.d.ts +127 -0
- package/core/zoom_controls.d.ts +134 -0
- package/core.js +4 -0
- package/dart.js +4 -0
- package/dart.mjs +6 -0
- package/dart_compressed.js +330 -0
- package/dart_compressed.js.map +1 -0
- package/generators/dart/dart_generator.d.ts +104 -0
- package/generators/dart/lists.d.ts +21 -0
- package/generators/dart/logic.d.ts +20 -0
- package/generators/dart/loops.d.ts +14 -0
- package/generators/dart/math.d.ts +26 -0
- package/generators/dart/procedures.d.ts +14 -0
- package/generators/dart/text.d.ts +25 -0
- package/generators/dart/variables.d.ts +14 -0
- package/generators/dart/variables_dynamic.d.ts +10 -0
- package/generators/dart.d.ts +18 -0
- package/generators/javascript/javascript_generator.d.ts +123 -0
- package/generators/javascript/lists.d.ts +21 -0
- package/generators/javascript/logic.d.ts +20 -0
- package/generators/javascript/loops.d.ts +14 -0
- package/generators/javascript/math.d.ts +26 -0
- package/generators/javascript/procedures.d.ts +14 -0
- package/generators/javascript/text.d.ts +25 -0
- package/generators/javascript/variables.d.ts +14 -0
- package/generators/javascript/variables_dynamic.d.ts +10 -0
- package/generators/javascript.d.ts +18 -0
- package/generators/lua/lists.d.ts +21 -0
- package/generators/lua/logic.d.ts +20 -0
- package/generators/lua/loops.d.ts +14 -0
- package/generators/lua/lua_generator.d.ts +91 -0
- package/generators/lua/math.d.ts +26 -0
- package/generators/lua/procedures.d.ts +14 -0
- package/generators/lua/text.d.ts +25 -0
- package/generators/lua/variables.d.ts +14 -0
- package/generators/lua/variables_dynamic.d.ts +10 -0
- package/generators/lua.d.ts +12 -0
- package/generators/php/lists.d.ts +21 -0
- package/generators/php/logic.d.ts +20 -0
- package/generators/php/loops.d.ts +14 -0
- package/generators/php/math.d.ts +26 -0
- package/generators/php/php_generator.d.ts +122 -0
- package/generators/php/procedures.d.ts +14 -0
- package/generators/php/text.d.ts +25 -0
- package/generators/php/variables.d.ts +14 -0
- package/generators/php/variables_dynamic.d.ts +10 -0
- package/generators/php.d.ts +13 -0
- package/generators/python/lists.d.ts +21 -0
- package/generators/python/logic.d.ts +20 -0
- package/generators/python/loops.d.ts +14 -0
- package/generators/python/math.d.ts +26 -0
- package/generators/python/procedures.d.ts +14 -0
- package/generators/python/python_generator.d.ts +111 -0
- package/generators/python/text.d.ts +25 -0
- package/generators/python/variables.d.ts +14 -0
- package/generators/python/variables_dynamic.d.ts +10 -0
- package/generators/python.d.ts +13 -0
- package/index.js +36 -0
- package/index.mjs +163 -0
- package/javascript.js +4 -0
- package/javascript.mjs +6 -0
- package/javascript_compressed.js +264 -0
- package/javascript_compressed.js.map +1 -0
- package/lua.js +4 -0
- package/lua.mjs +6 -0
- package/lua_compressed.js +373 -0
- package/lua_compressed.js.map +1 -0
- package/msg/ab.js +465 -0
- package/msg/ab.mjs +446 -0
- package/msg/ace.js +465 -0
- package/msg/ace.mjs +446 -0
- package/msg/af.js +465 -0
- package/msg/af.mjs +446 -0
- package/msg/am.js +465 -0
- package/msg/am.mjs +446 -0
- package/msg/ar.js +465 -0
- package/msg/ar.mjs +446 -0
- package/msg/ast.js +465 -0
- package/msg/ast.mjs +446 -0
- package/msg/az.js +465 -0
- package/msg/az.mjs +446 -0
- package/msg/ba.js +465 -0
- package/msg/ba.mjs +446 -0
- package/msg/bcc.js +465 -0
- package/msg/bcc.mjs +446 -0
- package/msg/be-tarask.js +465 -0
- package/msg/be-tarask.mjs +446 -0
- package/msg/be.js +465 -0
- package/msg/be.mjs +446 -0
- package/msg/bg.js +465 -0
- package/msg/bg.mjs +446 -0
- package/msg/bn.js +465 -0
- package/msg/bn.mjs +446 -0
- package/msg/br.js +465 -0
- package/msg/br.mjs +446 -0
- package/msg/bs.js +465 -0
- package/msg/bs.mjs +446 -0
- package/msg/ca.js +465 -0
- package/msg/ca.mjs +446 -0
- package/msg/cdo.js +465 -0
- package/msg/cdo.mjs +446 -0
- package/msg/ce.js +465 -0
- package/msg/ce.mjs +446 -0
- package/msg/cs.js +465 -0
- package/msg/cs.mjs +446 -0
- package/msg/da.js +465 -0
- package/msg/da.mjs +446 -0
- package/msg/de.js +465 -0
- package/msg/de.mjs +446 -0
- package/msg/diq.js +465 -0
- package/msg/diq.mjs +446 -0
- package/msg/dtp.js +465 -0
- package/msg/dtp.mjs +446 -0
- package/msg/dty.js +465 -0
- package/msg/dty.mjs +446 -0
- package/msg/ee.js +465 -0
- package/msg/ee.mjs +446 -0
- package/msg/el.js +465 -0
- package/msg/el.mjs +446 -0
- package/msg/en-gb.js +465 -0
- package/msg/en-gb.mjs +446 -0
- package/msg/en.js +465 -0
- package/msg/en.mjs +446 -0
- package/msg/eo.js +465 -0
- package/msg/eo.mjs +446 -0
- package/msg/es.js +465 -0
- package/msg/es.mjs +446 -0
- package/msg/et.js +465 -0
- package/msg/et.mjs +446 -0
- package/msg/eu.js +465 -0
- package/msg/eu.mjs +446 -0
- package/msg/fa.js +465 -0
- package/msg/fa.mjs +446 -0
- package/msg/fi.js +465 -0
- package/msg/fi.mjs +446 -0
- package/msg/fo.js +465 -0
- package/msg/fo.mjs +446 -0
- package/msg/fr.js +465 -0
- package/msg/fr.mjs +446 -0
- package/msg/frr.js +465 -0
- package/msg/frr.mjs +446 -0
- package/msg/gl.js +465 -0
- package/msg/gl.mjs +446 -0
- package/msg/gn.js +465 -0
- package/msg/gn.mjs +446 -0
- package/msg/gor.js +465 -0
- package/msg/gor.mjs +446 -0
- package/msg/ha.js +465 -0
- package/msg/ha.mjs +446 -0
- package/msg/hak.js +465 -0
- package/msg/hak.mjs +446 -0
- package/msg/he.js +465 -0
- package/msg/he.mjs +446 -0
- package/msg/hi.js +465 -0
- package/msg/hi.mjs +446 -0
- package/msg/hr.js +465 -0
- package/msg/hr.mjs +446 -0
- package/msg/hrx.js +465 -0
- package/msg/hrx.mjs +446 -0
- package/msg/hsb.js +465 -0
- package/msg/hsb.mjs +446 -0
- package/msg/hu.js +465 -0
- package/msg/hu.mjs +446 -0
- package/msg/hy.js +465 -0
- package/msg/hy.mjs +446 -0
- package/msg/ia.js +465 -0
- package/msg/ia.mjs +446 -0
- package/msg/id.js +465 -0
- package/msg/id.mjs +446 -0
- package/msg/ig.js +465 -0
- package/msg/ig.mjs +446 -0
- package/msg/inh.js +465 -0
- package/msg/inh.mjs +446 -0
- package/msg/is.js +465 -0
- package/msg/is.mjs +446 -0
- package/msg/it.js +465 -0
- package/msg/it.mjs +446 -0
- package/msg/ja.js +465 -0
- package/msg/ja.mjs +446 -0
- package/msg/ka.js +465 -0
- package/msg/ka.mjs +446 -0
- package/msg/kab.js +465 -0
- package/msg/kab.mjs +446 -0
- package/msg/kbd-cyrl.js +465 -0
- package/msg/kbd-cyrl.mjs +446 -0
- package/msg/km.js +465 -0
- package/msg/km.mjs +446 -0
- package/msg/kn.js +465 -0
- package/msg/kn.mjs +446 -0
- package/msg/ko.js +465 -0
- package/msg/ko.mjs +446 -0
- package/msg/ksh.js +465 -0
- package/msg/ksh.mjs +446 -0
- package/msg/ku-latn.js +465 -0
- package/msg/ku-latn.mjs +446 -0
- package/msg/ky.js +465 -0
- package/msg/ky.mjs +446 -0
- package/msg/la.js +465 -0
- package/msg/la.mjs +446 -0
- package/msg/lb.js +465 -0
- package/msg/lb.mjs +446 -0
- package/msg/lki.js +465 -0
- package/msg/lki.mjs +446 -0
- package/msg/lo.js +465 -0
- package/msg/lo.mjs +446 -0
- package/msg/lrc.js +465 -0
- package/msg/lrc.mjs +446 -0
- package/msg/lt.js +465 -0
- package/msg/lt.mjs +446 -0
- package/msg/lv.js +465 -0
- package/msg/lv.mjs +446 -0
- package/msg/mg.js +465 -0
- package/msg/mg.mjs +446 -0
- package/msg/mk.js +465 -0
- package/msg/mk.mjs +446 -0
- package/msg/ml.js +465 -0
- package/msg/ml.mjs +446 -0
- package/msg/mnw.js +465 -0
- package/msg/mnw.mjs +446 -0
- package/msg/ms.js +465 -0
- package/msg/ms.mjs +446 -0
- package/msg/my.js +465 -0
- package/msg/my.mjs +446 -0
- package/msg/mzn.js +465 -0
- package/msg/mzn.mjs +446 -0
- package/msg/nb.js +465 -0
- package/msg/nb.mjs +446 -0
- package/msg/ne.js +465 -0
- package/msg/ne.mjs +446 -0
- package/msg/nl.js +465 -0
- package/msg/nl.mjs +446 -0
- package/msg/oc.js +465 -0
- package/msg/oc.mjs +446 -0
- package/msg/olo.js +465 -0
- package/msg/olo.mjs +446 -0
- package/msg/pa.js +465 -0
- package/msg/pa.mjs +446 -0
- package/msg/pl.js +465 -0
- package/msg/pl.mjs +446 -0
- package/msg/pms.js +465 -0
- package/msg/pms.mjs +446 -0
- package/msg/ps.js +465 -0
- package/msg/ps.mjs +446 -0
- package/msg/pt-br.js +465 -0
- package/msg/pt-br.mjs +446 -0
- package/msg/pt.js +465 -0
- package/msg/pt.mjs +446 -0
- package/msg/ro.js +465 -0
- package/msg/ro.mjs +446 -0
- package/msg/ru.js +465 -0
- package/msg/ru.mjs +446 -0
- package/msg/sc.js +465 -0
- package/msg/sc.mjs +446 -0
- package/msg/sco.js +465 -0
- package/msg/sco.mjs +446 -0
- package/msg/sd.js +465 -0
- package/msg/sd.mjs +446 -0
- package/msg/shn.js +465 -0
- package/msg/shn.mjs +446 -0
- package/msg/si.js +465 -0
- package/msg/si.mjs +446 -0
- package/msg/sk.js +465 -0
- package/msg/sk.mjs +446 -0
- package/msg/skr-arab.js +465 -0
- package/msg/skr-arab.mjs +446 -0
- package/msg/sl.js +465 -0
- package/msg/sl.mjs +446 -0
- package/msg/smn.js +465 -0
- package/msg/smn.mjs +446 -0
- package/msg/sq.js +465 -0
- package/msg/sq.mjs +446 -0
- package/msg/sr-latn.js +465 -0
- package/msg/sr-latn.mjs +446 -0
- package/msg/sr.js +465 -0
- package/msg/sr.mjs +446 -0
- package/msg/sv.js +465 -0
- package/msg/sv.mjs +446 -0
- package/msg/sw.js +465 -0
- package/msg/sw.mjs +446 -0
- package/msg/ta.js +465 -0
- package/msg/ta.mjs +446 -0
- package/msg/tcy.js +465 -0
- package/msg/tcy.mjs +446 -0
- package/msg/tdd.js +465 -0
- package/msg/tdd.mjs +446 -0
- package/msg/te.js +465 -0
- package/msg/te.mjs +446 -0
- package/msg/th.js +465 -0
- package/msg/th.mjs +446 -0
- package/msg/ti.js +465 -0
- package/msg/ti.mjs +446 -0
- package/msg/tl.js +465 -0
- package/msg/tl.mjs +446 -0
- package/msg/tlh.js +465 -0
- package/msg/tlh.mjs +446 -0
- package/msg/tr.js +465 -0
- package/msg/tr.mjs +446 -0
- package/msg/ug-arab.js +465 -0
- package/msg/ug-arab.mjs +446 -0
- package/msg/uk.js +465 -0
- package/msg/uk.mjs +446 -0
- package/msg/ur.js +465 -0
- package/msg/ur.mjs +446 -0
- package/msg/uz.js +465 -0
- package/msg/uz.mjs +446 -0
- package/msg/vi.js +465 -0
- package/msg/vi.mjs +446 -0
- package/msg/xmf.js +465 -0
- package/msg/xmf.mjs +446 -0
- package/msg/yo.js +465 -0
- package/msg/yo.mjs +446 -0
- package/msg/zgh.js +465 -0
- package/msg/zgh.mjs +446 -0
- package/msg/zh-hans.js +465 -0
- package/msg/zh-hans.mjs +446 -0
- package/msg/zh-hant.js +465 -0
- package/msg/zh-hant.mjs +446 -0
- package/package.json +8 -37
- package/php.js +4 -0
- package/php.mjs +6 -0
- package/php_compressed.js +283 -0
- package/php_compressed.js.map +1 -0
- package/python.js +4 -0
- package/python.mjs +6 -0
- package/python_compressed.js +208 -0
- package/python_compressed.js.map +1 -0
- package/.prettierignore +0 -30
- package/.prettierrc.js +0 -15
- package/api-extractor.json +0 -390
- package/appengine/.gcloudignore +0 -20
- package/appengine/README.txt +0 -42
- package/appengine/add_timestamps.py +0 -69
- package/appengine/app.yaml +0 -106
- package/appengine/apple-touch-icon.png +0 -0
- package/appengine/blockly_compressed.js +0 -11
- package/appengine/expiration.py +0 -52
- package/appengine/favicon.ico +0 -0
- package/appengine/index.yaml +0 -11
- package/appengine/main.py +0 -39
- package/appengine/redirect.html +0 -107
- package/appengine/requirements.txt +0 -1
- package/appengine/robots.txt +0 -2
- package/appengine/storage.js +0 -190
- package/appengine/storage.py +0 -125
- package/blocks/blocks.ts +0 -44
- package/blocks/lists.ts +0 -1065
- package/blocks/logic.ts +0 -712
- package/blocks/loops.ts +0 -408
- package/blocks/math.ts +0 -591
- package/blocks/procedures.ts +0 -1366
- package/blocks/text.ts +0 -1001
- package/blocks/variables.ts +0 -181
- package/blocks/variables_dynamic.ts +0 -192
- package/core/any_aliases.ts +0 -8
- package/core/block.ts +0 -2511
- package/core/block_animations.ts +0 -233
- package/core/block_flyout_inflater.ts +0 -283
- package/core/block_svg.ts +0 -1873
- package/core/blockly.ts +0 -644
- package/core/blockly_options.ts +0 -71
- package/core/blocks.ts +0 -18
- package/core/browser_events.ts +0 -256
- package/core/bubbles/bubble.ts +0 -732
- package/core/bubbles/mini_workspace_bubble.ts +0 -292
- package/core/bubbles/text_bubble.ts +0 -112
- package/core/bubbles/textinput_bubble.ts +0 -296
- package/core/bubbles.ts +0 -12
- package/core/bump_objects.ts +0 -188
- package/core/button_flyout_inflater.ts +0 -76
- package/core/clipboard/block_paster.ts +0 -154
- package/core/clipboard/registry.ts +0 -31
- package/core/clipboard/workspace_comment_paster.ts +0 -95
- package/core/clipboard.ts +0 -197
- package/core/comments/collapse_comment_bar_button.ts +0 -102
- package/core/comments/comment_bar_button.ts +0 -105
- package/core/comments/comment_editor.ts +0 -220
- package/core/comments/comment_view.ts +0 -773
- package/core/comments/delete_comment_bar_button.ts +0 -106
- package/core/comments/rendered_workspace_comment.ts +0 -361
- package/core/comments/workspace_comment.ts +0 -247
- package/core/comments.ts +0 -13
- package/core/common.ts +0 -347
- package/core/component_manager.ts +0 -247
- package/core/config.ts +0 -65
- package/core/connection.ts +0 -807
- package/core/connection_checker.ts +0 -348
- package/core/connection_db.ts +0 -297
- package/core/connection_type.ts +0 -21
- package/core/constants.ts +0 -23
- package/core/contextmenu.ts +0 -295
- package/core/contextmenu_items.ts +0 -684
- package/core/contextmenu_registry.ts +0 -278
- package/core/css.ts +0 -518
- package/core/delete_area.ts +0 -77
- package/core/dialog.ts +0 -167
- package/core/drag_target.ts +0 -97
- package/core/dragging/block_drag_strategy.ts +0 -523
- package/core/dragging/bubble_drag_strategy.ts +0 -49
- package/core/dragging/comment_drag_strategy.ts +0 -92
- package/core/dragging/dragger.ts +0 -174
- package/core/dragging.ts +0 -12
- package/core/dropdowndiv.ts +0 -792
- package/core/events/events.ts +0 -109
- package/core/events/events_abstract.ts +0 -129
- package/core/events/events_block_base.ts +0 -87
- package/core/events/events_block_change.ts +0 -259
- package/core/events/events_block_create.ts +0 -185
- package/core/events/events_block_delete.ts +0 -182
- package/core/events/events_block_drag.ts +0 -116
- package/core/events/events_block_field_intermediate_change.ts +0 -166
- package/core/events/events_block_move.ts +0 -306
- package/core/events/events_bubble_open.ts +0 -121
- package/core/events/events_click.ts +0 -110
- package/core/events/events_comment_base.ts +0 -126
- package/core/events/events_comment_change.ts +0 -156
- package/core/events/events_comment_collapse.ts +0 -103
- package/core/events/events_comment_create.ts +0 -114
- package/core/events/events_comment_delete.ts +0 -113
- package/core/events/events_comment_drag.ts +0 -99
- package/core/events/events_comment_move.ts +0 -206
- package/core/events/events_comment_resize.ts +0 -169
- package/core/events/events_selected.ts +0 -97
- package/core/events/events_theme_change.ts +0 -84
- package/core/events/events_toolbox_item_select.ts +0 -96
- package/core/events/events_trashcan_open.ts +0 -87
- package/core/events/events_ui_base.ts +0 -47
- package/core/events/events_var_base.ts +0 -88
- package/core/events/events_var_create.ts +0 -131
- package/core/events/events_var_delete.ts +0 -124
- package/core/events/events_var_rename.ts +0 -133
- package/core/events/events_var_type_change.ts +0 -122
- package/core/events/events_viewport.ts +0 -149
- package/core/events/predicates.ts +0 -166
- package/core/events/type.ts +0 -87
- package/core/events/utils.ts +0 -455
- package/core/events/workspace_events.ts +0 -46
- package/core/extensions.ts +0 -497
- package/core/field.ts +0 -1445
- package/core/field_checkbox.ts +0 -266
- package/core/field_dropdown.ts +0 -907
- package/core/field_image.ts +0 -307
- package/core/field_input.ts +0 -826
- package/core/field_label.ts +0 -150
- package/core/field_label_serializable.ts +0 -73
- package/core/field_number.ts +0 -381
- package/core/field_registry.ts +0 -115
- package/core/field_textinput.ts +0 -125
- package/core/field_variable.ts +0 -654
- package/core/flyout_base.ts +0 -1013
- package/core/flyout_button.ts +0 -447
- package/core/flyout_horizontal.ts +0 -375
- package/core/flyout_item.ts +0 -33
- package/core/flyout_metrics_manager.ts +0 -90
- package/core/flyout_navigator.ts +0 -24
- package/core/flyout_separator.ts +0 -94
- package/core/flyout_vertical.ts +0 -354
- package/core/focus_manager.ts +0 -675
- package/core/generator.ts +0 -611
- package/core/gesture.ts +0 -1190
- package/core/grid.ts +0 -267
- package/core/icons/comment_icon.ts +0 -429
- package/core/icons/exceptions.ts +0 -23
- package/core/icons/icon.ts +0 -204
- package/core/icons/icon_types.ts +0 -32
- package/core/icons/mutator_icon.ts +0 -360
- package/core/icons/registry.ts +0 -33
- package/core/icons/warning_icon.ts +0 -226
- package/core/icons.ts +0 -24
- package/core/inject.ts +0 -332
- package/core/inputs/align.ts +0 -14
- package/core/inputs/dummy_input.ts +0 -26
- package/core/inputs/end_row_input.ts +0 -31
- package/core/inputs/input.ts +0 -317
- package/core/inputs/input_types.ts +0 -27
- package/core/inputs/statement_input.ts +0 -34
- package/core/inputs/value_input.ts +0 -30
- package/core/inputs.ts +0 -23
- package/core/insertion_marker_previewer.ts +0 -268
- package/core/interfaces/i_autohideable.ts +0 -27
- package/core/interfaces/i_bounded_element.ts +0 -31
- package/core/interfaces/i_bubble.ts +0 -64
- package/core/interfaces/i_collapsible_toolbox_item.ts +0 -33
- package/core/interfaces/i_comment_icon.ts +0 -47
- package/core/interfaces/i_component.ts +0 -19
- package/core/interfaces/i_connection_checker.ts +0 -101
- package/core/interfaces/i_connection_previewer.ts +0 -50
- package/core/interfaces/i_contextmenu.ts +0 -21
- package/core/interfaces/i_copyable.ts +0 -39
- package/core/interfaces/i_deletable.ts +0 -35
- package/core/interfaces/i_delete_area.ts +0 -28
- package/core/interfaces/i_drag_target.ts +0 -67
- package/core/interfaces/i_draggable.ts +0 -73
- package/core/interfaces/i_dragger.ts +0 -35
- package/core/interfaces/i_flyout.ts +0 -190
- package/core/interfaces/i_flyout_inflater.ts +0 -51
- package/core/interfaces/i_focusable_node.ts +0 -120
- package/core/interfaces/i_focusable_tree.ts +0 -144
- package/core/interfaces/i_has_bubble.ts +0 -37
- package/core/interfaces/i_icon.ts +0 -116
- package/core/interfaces/i_keyboard_accessible.ts +0 -22
- package/core/interfaces/i_legacy_procedure_blocks.ts +0 -51
- package/core/interfaces/i_metrics_manager.ts +0 -150
- package/core/interfaces/i_movable.ts +0 -19
- package/core/interfaces/i_navigation_policy.ts +0 -69
- package/core/interfaces/i_observable.ts +0 -28
- package/core/interfaces/i_parameter_model.ts +0 -51
- package/core/interfaces/i_paster.ts +0 -25
- package/core/interfaces/i_positionable.ts +0 -33
- package/core/interfaces/i_procedure_block.ts +0 -29
- package/core/interfaces/i_procedure_map.ts +0 -18
- package/core/interfaces/i_procedure_model.ts +0 -71
- package/core/interfaces/i_registrable.ts +0 -12
- package/core/interfaces/i_rendered_element.ts +0 -19
- package/core/interfaces/i_selectable.ts +0 -41
- package/core/interfaces/i_selectable_toolbox_item.ts +0 -63
- package/core/interfaces/i_serializable.ts +0 -32
- package/core/interfaces/i_serializer.ts +0 -51
- package/core/interfaces/i_styleable.ts +0 -26
- package/core/interfaces/i_toolbox.ts +0 -121
- package/core/interfaces/i_toolbox_item.ts +0 -83
- package/core/interfaces/i_variable_backed_parameter_model.ts +0 -23
- package/core/interfaces/i_variable_map.ts +0 -65
- package/core/interfaces/i_variable_model.ts +0 -57
- package/core/internal_constants.ts +0 -47
- package/core/keyboard_nav/block_comment_navigation_policy.ts +0 -76
- package/core/keyboard_nav/block_navigation_policy.ts +0 -213
- package/core/keyboard_nav/comment_bar_button_navigation_policy.ts +0 -88
- package/core/keyboard_nav/comment_editor_navigation_policy.ts +0 -54
- package/core/keyboard_nav/connection_navigation_policy.ts +0 -155
- package/core/keyboard_nav/field_navigation_policy.ts +0 -85
- package/core/keyboard_nav/flyout_button_navigation_policy.ts +0 -76
- package/core/keyboard_nav/flyout_navigation_policy.ts +0 -111
- package/core/keyboard_nav/flyout_separator_navigation_policy.ts +0 -53
- package/core/keyboard_nav/icon_navigation_policy.ts +0 -93
- package/core/keyboard_nav/line_cursor.ts +0 -414
- package/core/keyboard_nav/marker.ts +0 -86
- package/core/keyboard_nav/workspace_comment_navigation_policy.ts +0 -77
- package/core/keyboard_nav/workspace_navigation_policy.ts +0 -77
- package/core/keyboard_navigation_controller.ts +0 -63
- package/core/label_flyout_inflater.ts +0 -75
- package/core/layer_manager.ts +0 -229
- package/core/layers.ts +0 -17
- package/core/main.ts +0 -31
- package/core/marker_manager.ts +0 -116
- package/core/menu.ts +0 -486
- package/core/menu_separator.ts +0 -38
- package/core/menuitem.ts +0 -289
- package/core/metrics_manager.ts +0 -486
- package/core/msg.ts +0 -27
- package/core/names.ts +0 -275
- package/core/navigator.ts +0 -123
- package/core/observable_procedure_map.ts +0 -66
- package/core/options.ts +0 -377
- package/core/positionable_helpers.ts +0 -186
- package/core/procedures.ts +0 -622
- package/core/registry.ts +0 -400
- package/core/render_management.ts +0 -193
- package/core/rendered_connection.ts +0 -690
- package/core/renderers/common/block_rendering.ts +0 -122
- package/core/renderers/common/constants.ts +0 -1226
- package/core/renderers/common/drawer.ts +0 -511
- package/core/renderers/common/i_path_object.ts +0 -109
- package/core/renderers/common/info.ts +0 -768
- package/core/renderers/common/path_object.ts +0 -260
- package/core/renderers/common/renderer.ts +0 -236
- package/core/renderers/geras/constants.ts +0 -42
- package/core/renderers/geras/drawer.ts +0 -166
- package/core/renderers/geras/geras.ts +0 -31
- package/core/renderers/geras/highlight_constants.ts +0 -342
- package/core/renderers/geras/highlighter.ts +0 -312
- package/core/renderers/geras/info.ts +0 -476
- package/core/renderers/geras/measurables/inline_input.ts +0 -36
- package/core/renderers/geras/measurables/statement_input.ts +0 -35
- package/core/renderers/geras/path_object.ts +0 -121
- package/core/renderers/geras/renderer.ts +0 -127
- package/core/renderers/measurables/base.ts +0 -40
- package/core/renderers/measurables/bottom_row.ts +0 -103
- package/core/renderers/measurables/connection.ts +0 -41
- package/core/renderers/measurables/external_value_input.ts +0 -51
- package/core/renderers/measurables/field.ts +0 -48
- package/core/renderers/measurables/hat.ts +0 -32
- package/core/renderers/measurables/icon.ts +0 -40
- package/core/renderers/measurables/in_row_spacer.ts +0 -36
- package/core/renderers/measurables/inline_input.ts +0 -61
- package/core/renderers/measurables/input_connection.ts +0 -56
- package/core/renderers/measurables/input_row.ts +0 -62
- package/core/renderers/measurables/jagged_edge.ts +0 -35
- package/core/renderers/measurables/next_connection.ts +0 -41
- package/core/renderers/measurables/output_connection.ts +0 -42
- package/core/renderers/measurables/previous_connection.ts +0 -41
- package/core/renderers/measurables/round_corner.ts +0 -41
- package/core/renderers/measurables/row.ts +0 -190
- package/core/renderers/measurables/spacer_row.ts +0 -43
- package/core/renderers/measurables/square_corner.ts +0 -39
- package/core/renderers/measurables/statement_input.ts +0 -47
- package/core/renderers/measurables/top_row.ts +0 -108
- package/core/renderers/measurables/types.ts +0 -362
- package/core/renderers/thrasos/info.ts +0 -327
- package/core/renderers/thrasos/renderer.ts +0 -39
- package/core/renderers/thrasos/thrasos.ts +0 -14
- package/core/renderers/zelos/constants.ts +0 -913
- package/core/renderers/zelos/drawer.ts +0 -272
- package/core/renderers/zelos/info.ts +0 -651
- package/core/renderers/zelos/measurables/bottom_row.ts +0 -44
- package/core/renderers/zelos/measurables/inputs.ts +0 -40
- package/core/renderers/zelos/measurables/row_elements.ts +0 -29
- package/core/renderers/zelos/measurables/top_row.ts +0 -50
- package/core/renderers/zelos/path_object.ts +0 -209
- package/core/renderers/zelos/renderer.ts +0 -91
- package/core/renderers/zelos/zelos.ts +0 -31
- package/core/scrollbar.ts +0 -898
- package/core/scrollbar_pair.ts +0 -349
- package/core/separator_flyout_inflater.ts +0 -83
- package/core/serialization/blocks.ts +0 -834
- package/core/serialization/exceptions.ts +0 -112
- package/core/serialization/priorities.ts +0 -25
- package/core/serialization/procedures.ts +0 -158
- package/core/serialization/registry.ts +0 -30
- package/core/serialization/variables.ts +0 -69
- package/core/serialization/workspace_comments.ts +0 -143
- package/core/serialization/workspaces.ts +0 -94
- package/core/serialization.ts +0 -32
- package/core/shortcut_items.ts +0 -405
- package/core/shortcut_registry.ts +0 -451
- package/core/sprites.ts +0 -15
- package/core/theme/classic.ts +0 -40
- package/core/theme/themes.ts +0 -12
- package/core/theme/zelos.ts +0 -80
- package/core/theme.ts +0 -232
- package/core/theme_manager.ts +0 -192
- package/core/toast.ts +0 -219
- package/core/toolbox/category.ts +0 -746
- package/core/toolbox/collapsible_category.ts +0 -287
- package/core/toolbox/separator.ts +0 -108
- package/core/toolbox/toolbox.ts +0 -1210
- package/core/toolbox/toolbox_item.ts +0 -181
- package/core/tooltip.ts +0 -466
- package/core/touch.ts +0 -155
- package/core/trashcan.ts +0 -730
- package/core/utils/aria.ts +0 -158
- package/core/utils/array.ts +0 -24
- package/core/utils/colour.ts +0 -265
- package/core/utils/coordinate.ts +0 -129
- package/core/utils/deprecation.ts +0 -47
- package/core/utils/dom.ts +0 -356
- package/core/utils/drag.ts +0 -74
- package/core/utils/focusable_tree_traverser.ts +0 -126
- package/core/utils/idgenerator.ts +0 -70
- package/core/utils/keycodes.ts +0 -154
- package/core/utils/math.ts +0 -50
- package/core/utils/metrics.ts +0 -86
- package/core/utils/object.ts +0 -33
- package/core/utils/parsing.ts +0 -286
- package/core/utils/rect.ts +0 -142
- package/core/utils/size.ts +0 -62
- package/core/utils/string.ts +0 -289
- package/core/utils/style.ts +0 -219
- package/core/utils/svg.ts +0 -84
- package/core/utils/svg_math.ts +0 -207
- package/core/utils/svg_paths.ts +0 -133
- package/core/utils/toolbox.ts +0 -417
- package/core/utils/useragent.ts +0 -86
- package/core/utils/xml.ts +0 -165
- package/core/utils.ts +0 -59
- package/core/variable_map.ts +0 -476
- package/core/variable_model.ts +0 -150
- package/core/variables.ts +0 -931
- package/core/variables_dynamic.ts +0 -230
- package/core/widgetdiv.ts +0 -349
- package/core/workspace.ts +0 -994
- package/core/workspace_audio.ts +0 -137
- package/core/workspace_dragger.ts +0 -81
- package/core/workspace_svg.ts +0 -2954
- package/core/xml.ts +0 -1126
- package/core/zoom_controls.ts +0 -495
- package/demos/blockfactory/analytics.js +0 -195
- package/demos/blockfactory/app_controller.js +0 -726
- package/demos/blockfactory/block_definition_extractor.js +0 -742
- package/demos/blockfactory/block_exporter_controller.js +0 -311
- package/demos/blockfactory/block_exporter_tools.js +0 -212
- package/demos/blockfactory/block_exporter_view.js +0 -101
- package/demos/blockfactory/block_library_controller.js +0 -325
- package/demos/blockfactory/block_library_storage.js +0 -149
- package/demos/blockfactory/block_library_view.js +0 -178
- package/demos/blockfactory/block_option.js +0 -151
- package/demos/blockfactory/blocks.js +0 -920
- package/demos/blockfactory/cp.css +0 -46
- package/demos/blockfactory/cp.js +0 -179
- package/demos/blockfactory/factory.css +0 -586
- package/demos/blockfactory/factory.js +0 -338
- package/demos/blockfactory/factory_utils.js +0 -1036
- package/demos/blockfactory/icon.png +0 -0
- package/demos/blockfactory/index.html +0 -767
- package/demos/blockfactory/link.png +0 -0
- package/demos/blockfactory/standard_categories.js +0 -384
- package/demos/blockfactory/workspacefactory/wfactory_controller.js +0 -1332
- package/demos/blockfactory/workspacefactory/wfactory_generator.js +0 -224
- package/demos/blockfactory/workspacefactory/wfactory_init.js +0 -541
- package/demos/blockfactory/workspacefactory/wfactory_model.js +0 -548
- package/demos/blockfactory/workspacefactory/wfactory_view.js +0 -424
- package/demos/code/code.js +0 -626
- package/demos/code/icon.png +0 -0
- package/demos/code/icons.png +0 -0
- package/demos/code/index.html +0 -359
- package/demos/code/msg/ar.js +0 -24
- package/demos/code/msg/be-tarask.js +0 -24
- package/demos/code/msg/br.js +0 -24
- package/demos/code/msg/ca.js +0 -24
- package/demos/code/msg/cs.js +0 -24
- package/demos/code/msg/da.js +0 -24
- package/demos/code/msg/de.js +0 -24
- package/demos/code/msg/el.js +0 -24
- package/demos/code/msg/en.js +0 -24
- package/demos/code/msg/es.js +0 -24
- package/demos/code/msg/et.js +0 -24
- package/demos/code/msg/fa.js +0 -24
- package/demos/code/msg/fr.js +0 -24
- package/demos/code/msg/he.js +0 -24
- package/demos/code/msg/hr.js +0 -24
- package/demos/code/msg/hrx.js +0 -24
- package/demos/code/msg/hu.js +0 -24
- package/demos/code/msg/ia.js +0 -24
- package/demos/code/msg/is.js +0 -24
- package/demos/code/msg/it.js +0 -24
- package/demos/code/msg/ja.js +0 -24
- package/demos/code/msg/kab.js +0 -24
- package/demos/code/msg/ko.js +0 -24
- package/demos/code/msg/mk.js +0 -24
- package/demos/code/msg/ms.js +0 -24
- package/demos/code/msg/nb.js +0 -24
- package/demos/code/msg/nl.js +0 -24
- package/demos/code/msg/oc.js +0 -24
- package/demos/code/msg/pl.js +0 -24
- package/demos/code/msg/pms.js +0 -24
- package/demos/code/msg/pt-br.js +0 -24
- package/demos/code/msg/ro.js +0 -24
- package/demos/code/msg/ru.js +0 -24
- package/demos/code/msg/sc.js +0 -24
- package/demos/code/msg/sk.js +0 -24
- package/demos/code/msg/sr.js +0 -24
- package/demos/code/msg/sv.js +0 -24
- package/demos/code/msg/ta.js +0 -24
- package/demos/code/msg/th.js +0 -24
- package/demos/code/msg/tlh.js +0 -24
- package/demos/code/msg/tr.js +0 -24
- package/demos/code/msg/uk.js +0 -24
- package/demos/code/msg/vi.js +0 -24
- package/demos/code/msg/zh-hans.js +0 -24
- package/demos/code/msg/zh-hant.js +0 -24
- package/demos/code/style.css +0 -184
- package/demos/index.html +0 -68
- package/demos/storage/icon.png +0 -0
- package/demos/storage/index.html +0 -104
- package/eslint.config.mjs +0 -314
- package/generators/dart/dart_generator.ts +0 -321
- package/generators/dart/lists.ts +0 -525
- package/generators/dart/logic.ts +0 -157
- package/generators/dart/loops.ts +0 -217
- package/generators/dart/math.ts +0 -559
- package/generators/dart/procedures.ts +0 -138
- package/generators/dart/text.ts +0 -405
- package/generators/dart/variables.ts +0 -32
- package/generators/dart/variables_dynamic.ts +0 -17
- package/generators/dart.ts +0 -50
- package/generators/javascript/javascript_generator.ts +0 -346
- package/generators/javascript/lists.ts +0 -465
- package/generators/javascript/logic.ts +0 -155
- package/generators/javascript/loops.ts +0 -245
- package/generators/javascript/math.ts +0 -450
- package/generators/javascript/procedures.ts +0 -142
- package/generators/javascript/text.ts +0 -418
- package/generators/javascript/variables.ts +0 -32
- package/generators/javascript/variables_dynamic.ts +0 -17
- package/generators/javascript.ts +0 -46
- package/generators/lua/lists.ts +0 -445
- package/generators/lua/logic.ts +0 -144
- package/generators/lua/loops.ts +0 -192
- package/generators/lua/lua_generator.ts +0 -225
- package/generators/lua/math.ts +0 -473
- package/generators/lua/procedures.ts +0 -144
- package/generators/lua/text.ts +0 -380
- package/generators/lua/variables.ts +0 -31
- package/generators/lua/variables_dynamic.ts +0 -17
- package/generators/lua.ts +0 -44
- package/generators/php/lists.ts +0 -585
- package/generators/php/logic.ts +0 -157
- package/generators/php/loops.ts +0 -218
- package/generators/php/math.ts +0 -408
- package/generators/php/php_generator.ts +0 -320
- package/generators/php/procedures.ts +0 -159
- package/generators/php/text.ts +0 -315
- package/generators/php/variables.ts +0 -32
- package/generators/php/variables_dynamic.ts +0 -17
- package/generators/php.ts +0 -46
- package/generators/python/lists.ts +0 -398
- package/generators/python/logic.ts +0 -152
- package/generators/python/loops.ts +0 -251
- package/generators/python/math.ts +0 -434
- package/generators/python/procedures.ts +0 -159
- package/generators/python/python_generator.ts +0 -355
- package/generators/python/text.ts +0 -338
- package/generators/python/variables.ts +0 -31
- package/generators/python/variables_dynamic.ts +0 -17
- package/generators/python.ts +0 -51
- package/gulpfile.mjs +0 -100
- package/jsconfig.json +0 -7
- package/msg/json/README.md +0 -33
- package/msg/json/ab.json +0 -222
- package/msg/json/ace.json +0 -7
- package/msg/json/af.json +0 -34
- package/msg/json/am.json +0 -30
- package/msg/json/ar.json +0 -355
- package/msg/json/ast.json +0 -10
- package/msg/json/az.json +0 -334
- package/msg/json/ba.json +0 -211
- package/msg/json/bcc.json +0 -290
- package/msg/json/be-tarask.json +0 -335
- package/msg/json/be.json +0 -326
- package/msg/json/bg.json +0 -347
- package/msg/json/bn.json +0 -189
- package/msg/json/br.json +0 -334
- package/msg/json/bs.json +0 -166
- package/msg/json/ca.json +0 -341
- package/msg/json/cdo.json +0 -6
- package/msg/json/ce.json +0 -328
- package/msg/json/constants.json +0 -12
- package/msg/json/cs.json +0 -344
- package/msg/json/da.json +0 -346
- package/msg/json/de.json +0 -369
- package/msg/json/diq.json +0 -264
- package/msg/json/dtp.json +0 -198
- package/msg/json/dty.json +0 -97
- package/msg/json/ee.json +0 -160
- package/msg/json/el.json +0 -356
- package/msg/json/en-gb.json +0 -199
- package/msg/json/en.json +0 -423
- package/msg/json/eo.json +0 -337
- package/msg/json/es.json +0 -361
- package/msg/json/et.json +0 -335
- package/msg/json/eu.json +0 -219
- package/msg/json/fa.json +0 -342
- package/msg/json/fi.json +0 -350
- package/msg/json/fo.json +0 -46
- package/msg/json/fr.json +0 -374
- package/msg/json/frr.json +0 -6
- package/msg/json/gl.json +0 -338
- package/msg/json/gn.json +0 -54
- package/msg/json/gor.json +0 -87
- package/msg/json/ha.json +0 -313
- package/msg/json/hak.json +0 -17
- package/msg/json/he.json +0 -355
- package/msg/json/hi.json +0 -318
- package/msg/json/hr.json +0 -337
- package/msg/json/hrx.json +0 -287
- package/msg/json/hsb.json +0 -128
- package/msg/json/hu.json +0 -349
- package/msg/json/hy.json +0 -337
- package/msg/json/ia.json +0 -337
- package/msg/json/id.json +0 -338
- package/msg/json/ig.json +0 -323
- package/msg/json/inh.json +0 -80
- package/msg/json/is.json +0 -331
- package/msg/json/it.json +0 -346
- package/msg/json/ja.json +0 -362
- package/msg/json/ka.json +0 -14
- package/msg/json/kab.json +0 -323
- package/msg/json/kbd-cyrl.json +0 -84
- package/msg/json/km.json +0 -29
- package/msg/json/kn.json +0 -333
- package/msg/json/ko.json +0 -377
- package/msg/json/ksh.json +0 -43
- package/msg/json/ku-latn.json +0 -41
- package/msg/json/ky.json +0 -71
- package/msg/json/la.json +0 -6
- package/msg/json/lb.json +0 -156
- package/msg/json/lki.json +0 -282
- package/msg/json/lo.json +0 -92
- package/msg/json/lrc.json +0 -123
- package/msg/json/lt.json +0 -321
- package/msg/json/lv.json +0 -324
- package/msg/json/mg.json +0 -58
- package/msg/json/mk.json +0 -178
- package/msg/json/ml.json +0 -35
- package/msg/json/mnw.json +0 -90
- package/msg/json/ms.json +0 -300
- package/msg/json/my.json +0 -57
- package/msg/json/mzn.json +0 -6
- package/msg/json/nb.json +0 -331
- package/msg/json/ne.json +0 -247
- package/msg/json/nl.json +0 -358
- package/msg/json/oc.json +0 -194
- package/msg/json/olo.json +0 -37
- package/msg/json/pa.json +0 -75
- package/msg/json/pl.json +0 -358
- package/msg/json/pms.json +0 -325
- package/msg/json/ps.json +0 -50
- package/msg/json/pt-br.json +0 -371
- package/msg/json/pt.json +0 -360
- package/msg/json/qqq.json +0 -430
- package/msg/json/ro.json +0 -333
- package/msg/json/ru.json +0 -363
- package/msg/json/sc.json +0 -283
- package/msg/json/sco.json +0 -11
- package/msg/json/sd.json +0 -158
- package/msg/json/shn.json +0 -109
- package/msg/json/si.json +0 -16
- package/msg/json/sk.json +0 -339
- package/msg/json/skr-arab.json +0 -117
- package/msg/json/sl.json +0 -355
- package/msg/json/smn.json +0 -133
- package/msg/json/sq.json +0 -343
- package/msg/json/sr-latn.json +0 -324
- package/msg/json/sr.json +0 -349
- package/msg/json/sv.json +0 -350
- package/msg/json/sw.json +0 -12
- package/msg/json/synonyms.json +0 -22
- package/msg/json/ta.json +0 -306
- package/msg/json/tcy.json +0 -316
- package/msg/json/tdd.json +0 -110
- package/msg/json/te.json +0 -101
- package/msg/json/th.json +0 -333
- package/msg/json/ti.json +0 -50
- package/msg/json/tl.json +0 -149
- package/msg/json/tlh.json +0 -179
- package/msg/json/tr.json +0 -370
- package/msg/json/ug-arab.json +0 -180
- package/msg/json/uk.json +0 -346
- package/msg/json/ur.json +0 -118
- package/msg/json/uz.json +0 -36
- package/msg/json/vi.json +0 -345
- package/msg/json/xmf.json +0 -99
- package/msg/json/yo.json +0 -316
- package/msg/json/zgh.json +0 -83
- package/msg/json/zh-hans.json +0 -374
- package/msg/json/zh-hant.json +0 -362
- package/msg/messages.js +0 -1695
- package/scripts/gulpfiles/appengine_tasks.mjs +0 -189
- package/scripts/gulpfiles/build_tasks.mjs +0 -753
- package/scripts/gulpfiles/config.mjs +0 -40
- package/scripts/gulpfiles/docs_tasks.mjs +0 -146
- package/scripts/gulpfiles/git_tasks.mjs +0 -167
- package/scripts/gulpfiles/helper_tasks.mjs +0 -25
- package/scripts/gulpfiles/package_tasks.mjs +0 -257
- package/scripts/gulpfiles/release_tasks.mjs +0 -174
- package/scripts/gulpfiles/test_tasks.mjs +0 -409
- package/scripts/helpers.js +0 -74
- package/scripts/i18n/common.py +0 -233
- package/scripts/i18n/create_messages.py +0 -167
- package/scripts/i18n/dedup_json.py +0 -72
- package/scripts/i18n/js_to_json.py +0 -135
- package/scripts/i18n/tests.py +0 -46
- package/scripts/migration/renamings.json5 +0 -1599
- package/scripts/package/index.js +0 -23
- package/scripts/package/templates/umd-msg.template +0 -16
- package/scripts/package/templates/umd.template +0 -13
- package/scripts/themes/blockStyles_example.json +0 -11
- package/scripts/themes/create_blockStyles.py +0 -184
- package/scripts/tsick.js +0 -86
- package/tests/browser/.mocharc.js +0 -7
- package/tests/browser/test/basic_block_factory_test.mjs +0 -44
- package/tests/browser/test/basic_block_test.mjs +0 -38
- package/tests/browser/test/basic_playground_test.mjs +0 -461
- package/tests/browser/test/block_undo_test.mjs +0 -50
- package/tests/browser/test/clipboard_test.mjs +0 -611
- package/tests/browser/test/delete_blocks_test.mjs +0 -217
- package/tests/browser/test/extensive_test.mjs +0 -191
- package/tests/browser/test/field_edits_test.mjs +0 -61
- package/tests/browser/test/hooks.mjs +0 -23
- package/tests/browser/test/mutator_test.mjs +0 -87
- package/tests/browser/test/procedure_test.mjs +0 -109
- package/tests/browser/test/test_setup.mjs +0 -623
- package/tests/browser/test/toolbox_drag_test.mjs +0 -219
- package/tests/browser/test/workspace_comment_test.mjs +0 -220
- package/tests/compile/index.html +0 -43
- package/tests/compile/main.js +0 -53
- package/tests/compile/test_blocks.js +0 -47
- package/tests/compile/webdriver.js +0 -81
- package/tests/generators/functions.xml +0 -561
- package/tests/generators/golden/generated.dart +0 -1604
- package/tests/generators/golden/generated.js +0 -1552
- package/tests/generators/golden/generated.lua +0 -1828
- package/tests/generators/golden/generated.php +0 -1611
- package/tests/generators/golden/generated.py +0 -1407
- package/tests/generators/index.html +0 -408
- package/tests/generators/lists.xml +0 -8675
- package/tests/generators/logic.xml +0 -1019
- package/tests/generators/loops1.xml +0 -345
- package/tests/generators/loops2.xml +0 -891
- package/tests/generators/loops3.xml +0 -735
- package/tests/generators/math.xml +0 -2077
- package/tests/generators/text.xml +0 -4651
- package/tests/generators/unittest.js +0 -103
- package/tests/generators/unittest_dart.js +0 -163
- package/tests/generators/unittest_javascript.js +0 -167
- package/tests/generators/unittest_lua.js +0 -165
- package/tests/generators/unittest_php.js +0 -154
- package/tests/generators/unittest_python.js +0 -138
- package/tests/generators/variables.xml +0 -68
- package/tests/generators/webdriver.js +0 -123
- package/tests/media/200px.png +0 -0
- package/tests/media/30px.png +0 -0
- package/tests/media/50px.png +0 -0
- package/tests/media/a.png +0 -0
- package/tests/media/arrow.png +0 -0
- package/tests/media/b.png +0 -0
- package/tests/media/c.png +0 -0
- package/tests/media/d.png +0 -0
- package/tests/media/e.png +0 -0
- package/tests/media/f.png +0 -0
- package/tests/media/g.png +0 -0
- package/tests/media/h.png +0 -0
- package/tests/media/i.png +0 -0
- package/tests/media/j.png +0 -0
- package/tests/media/k.png +0 -0
- package/tests/media/l.png +0 -0
- package/tests/media/m.png +0 -0
- package/tests/migration/renamings.schema.json +0 -59
- package/tests/migration/validate-renamings.mjs +0 -63
- package/tests/mocha/.mocharc.js +0 -6
- package/tests/mocha/block_json_test.js +0 -777
- package/tests/mocha/block_test.js +0 -2949
- package/tests/mocha/blocks/lists_test.js +0 -238
- package/tests/mocha/blocks/logic_ternary_test.js +0 -320
- package/tests/mocha/blocks/loops_test.js +0 -56
- package/tests/mocha/blocks/procedures_test.js +0 -2509
- package/tests/mocha/blocks/variables_test.js +0 -345
- package/tests/mocha/clipboard_test.js +0 -263
- package/tests/mocha/comment_deserialization_test.js +0 -122
- package/tests/mocha/comment_test.js +0 -215
- package/tests/mocha/comment_view_test.js +0 -188
- package/tests/mocha/connection_checker_test.js +0 -694
- package/tests/mocha/connection_db_test.js +0 -363
- package/tests/mocha/connection_test.js +0 -3738
- package/tests/mocha/contextmenu_items_test.js +0 -653
- package/tests/mocha/contextmenu_test.js +0 -73
- package/tests/mocha/cursor_test.js +0 -922
- package/tests/mocha/dialog_test.js +0 -168
- package/tests/mocha/dropdowndiv_test.js +0 -458
- package/tests/mocha/event_block_change_test.js +0 -126
- package/tests/mocha/event_block_create_test.js +0 -109
- package/tests/mocha/event_block_delete_test.js +0 -55
- package/tests/mocha/event_block_drag_test.js +0 -36
- package/tests/mocha/event_block_field_intermediate_change_test.js +0 -67
- package/tests/mocha/event_block_move_test.js +0 -39
- package/tests/mocha/event_bubble_open_test.js +0 -42
- package/tests/mocha/event_click_test.js +0 -40
- package/tests/mocha/event_comment_change_test.js +0 -39
- package/tests/mocha/event_comment_collapse_test.js +0 -34
- package/tests/mocha/event_comment_create_test.js +0 -38
- package/tests/mocha/event_comment_delete_test.js +0 -38
- package/tests/mocha/event_comment_drag_test.js +0 -35
- package/tests/mocha/event_comment_move_test.js +0 -40
- package/tests/mocha/event_comment_resize_test.js +0 -38
- package/tests/mocha/event_selected_test.js +0 -41
- package/tests/mocha/event_test.js +0 -1668
- package/tests/mocha/event_theme_change_test.js +0 -36
- package/tests/mocha/event_toolbox_item_select_test.js +0 -64
- package/tests/mocha/event_trashcan_open_test.js +0 -36
- package/tests/mocha/event_var_create_test.js +0 -54
- package/tests/mocha/event_var_delete_test.js +0 -54
- package/tests/mocha/event_var_rename_test.js +0 -39
- package/tests/mocha/event_var_type_change_test.js +0 -43
- package/tests/mocha/event_viewport_test.js +0 -39
- package/tests/mocha/extensions_test.js +0 -613
- package/tests/mocha/field_checkbox_test.js +0 -299
- package/tests/mocha/field_colour_test.js +0 -395
- package/tests/mocha/field_dropdown_test.js +0 -328
- package/tests/mocha/field_image_test.js +0 -351
- package/tests/mocha/field_label_serializable_test.js +0 -252
- package/tests/mocha/field_label_test.js +0 -226
- package/tests/mocha/field_number_test.js +0 -505
- package/tests/mocha/field_registry_test.js +0 -115
- package/tests/mocha/field_test.js +0 -821
- package/tests/mocha/field_textinput_test.js +0 -593
- package/tests/mocha/field_variable_test.js +0 -644
- package/tests/mocha/flyout_test.js +0 -650
- package/tests/mocha/focus_manager_test.js +0 -5979
- package/tests/mocha/focusable_tree_traverser_test.js +0 -602
- package/tests/mocha/generator_test.js +0 -233
- package/tests/mocha/gesture_test.js +0 -133
- package/tests/mocha/icon_test.js +0 -431
- package/tests/mocha/index.html +0 -354
- package/tests/mocha/input_test.js +0 -296
- package/tests/mocha/insertion_marker_test.js +0 -432
- package/tests/mocha/jso_deserialization_test.js +0 -848
- package/tests/mocha/jso_serialization_test.js +0 -1068
- package/tests/mocha/json_test.js +0 -303
- package/tests/mocha/keyboard_navigation_controller_test.js +0 -37
- package/tests/mocha/layering_test.js +0 -104
- package/tests/mocha/menu_item_test.js +0 -176
- package/tests/mocha/metrics_test.js +0 -671
- package/tests/mocha/mutator_test.js +0 -87
- package/tests/mocha/names_test.js +0 -97
- package/tests/mocha/navigation_test.js +0 -876
- package/tests/mocha/old_workspace_comment_test.js +0 -256
- package/tests/mocha/procedure_map_test.js +0 -52
- package/tests/mocha/rect_test.js +0 -1668
- package/tests/mocha/registry_test.js +0 -281
- package/tests/mocha/render_management_test.js +0 -127
- package/tests/mocha/serializer_test.js +0 -2100
- package/tests/mocha/shortcut_items_test.js +0 -563
- package/tests/mocha/shortcut_registry_test.js +0 -533
- package/tests/mocha/test_helpers/block_definitions.js +0 -204
- package/tests/mocha/test_helpers/code_generation.js +0 -114
- package/tests/mocha/test_helpers/common.js +0 -106
- package/tests/mocha/test_helpers/events.js +0 -290
- package/tests/mocha/test_helpers/fields.js +0 -310
- package/tests/mocha/test_helpers/icon_mocks.js +0 -130
- package/tests/mocha/test_helpers/procedures.js +0 -304
- package/tests/mocha/test_helpers/serialization.js +0 -124
- package/tests/mocha/test_helpers/setup_teardown.js +0 -232
- package/tests/mocha/test_helpers/toolbox_definitions.js +0 -269
- package/tests/mocha/test_helpers/user_input.js +0 -62
- package/tests/mocha/test_helpers/variables.js +0 -27
- package/tests/mocha/test_helpers/warnings.js +0 -83
- package/tests/mocha/test_helpers/workspace.js +0 -1659
- package/tests/mocha/theme_test.js +0 -307
- package/tests/mocha/toast_test.js +0 -129
- package/tests/mocha/toolbox_test.js +0 -821
- package/tests/mocha/tooltip_test.js +0 -276
- package/tests/mocha/touch_test.js +0 -109
- package/tests/mocha/trashcan_test.js +0 -376
- package/tests/mocha/utils_test.js +0 -557
- package/tests/mocha/variable_map_test.js +0 -470
- package/tests/mocha/variable_model_test.js +0 -85
- package/tests/mocha/webdriver.js +0 -110
- package/tests/mocha/widget_div_test.js +0 -427
- package/tests/mocha/workspace_comment_test.js +0 -197
- package/tests/mocha/workspace_svg_test.js +0 -922
- package/tests/mocha/workspace_test.js +0 -24
- package/tests/mocha/xml_test.js +0 -893
- package/tests/mocha/zoom_controls_test.js +0 -81
- package/tests/multi_playground.html +0 -482
- package/tests/node/.mocharc.js +0 -6
- package/tests/node/run_node_test.mjs +0 -191
- package/tests/playground.html +0 -1280
- package/tests/playgrounds/advanced_playground.html +0 -188
- package/tests/playgrounds/iframe.html +0 -40
- package/tests/playgrounds/screenshot.js +0 -123
- package/tests/scripts/check_metadata.sh +0 -170
- package/tests/scripts/load.mjs +0 -140
- package/tests/scripts/setup_linux_env.sh +0 -7
- package/tests/scripts/update_metadata.sh +0 -46
- package/tests/themes/test_themes.js +0 -62
- package/tests/typescript/README.md +0 -4
- package/tests/typescript/src/field/different_user_input.ts +0 -81
- package/tests/typescript/src/generators/dart.ts +0 -24
- package/tests/typescript/src/generators/javascript.ts +0 -28
- package/tests/typescript/src/generators/lua.ts +0 -24
- package/tests/typescript/src/generators/php.ts +0 -24
- package/tests/typescript/src/generators/python.ts +0 -24
- package/tests/typescript/src/generators.ts +0 -33
- package/tests/typescript/src/msg.ts +0 -20
- package/tests/typescript/tsconfig.json +0 -20
- package/tests/xml/README.txt +0 -11
- package/tests/xml/blockly.xsd +0 -178
- package/tests/xml/invalid.xml +0 -6
- package/tests/xml/toolbox.xml +0 -311
- package/tests/xml/workspace.xml +0 -114
- package/tsconfig.json +0 -37
- package/tsdoc.json +0 -25
- package/typings/README.md +0 -5
- package/typings/templates/blockly-header.template +0 -11
- package/typings/templates/blockly-interfaces.template +0 -83
- package/typings/templates/msg.template +0 -15
- package/typings/tsconfig.json +0 -23
- /package/{scripts/package/README.md → README.md} +0 -0
- /package/{typings/blocks.d.ts → blocks.d.ts} +0 -0
- /package/{scripts/package/core-node.js → core-node.js} +0 -0
- /package/{typings/core.d.ts → core.d.ts} +0 -0
- /package/{typings/dart.d.ts → dart.d.ts} +0 -0
- /package/{typings/index.d.ts → index.d.ts} +0 -0
- /package/{typings/javascript.d.ts → javascript.d.ts} +0 -0
- /package/{typings/lua.d.ts → lua.d.ts} +0 -0
- /package/{typings/msg → msg}/ab.d.ts +0 -0
- /package/{typings/msg → msg}/ace.d.ts +0 -0
- /package/{typings/msg → msg}/af.d.ts +0 -0
- /package/{typings/msg → msg}/am.d.ts +0 -0
- /package/{typings/msg → msg}/ar.d.ts +0 -0
- /package/{typings/msg → msg}/ast.d.ts +0 -0
- /package/{typings/msg → msg}/az.d.ts +0 -0
- /package/{typings/msg → msg}/ba.d.ts +0 -0
- /package/{typings/msg → msg}/bcc.d.ts +0 -0
- /package/{typings/msg → msg}/be-tarask.d.ts +0 -0
- /package/{typings/msg → msg}/be.d.ts +0 -0
- /package/{typings/msg → msg}/bg.d.ts +0 -0
- /package/{typings/msg → msg}/bn.d.ts +0 -0
- /package/{typings/msg → msg}/br.d.ts +0 -0
- /package/{typings/msg → msg}/bs.d.ts +0 -0
- /package/{typings/msg → msg}/ca.d.ts +0 -0
- /package/{typings/msg → msg}/cdo.d.ts +0 -0
- /package/{typings/msg → msg}/ce.d.ts +0 -0
- /package/{typings/msg → msg}/cs.d.ts +0 -0
- /package/{typings/msg → msg}/da.d.ts +0 -0
- /package/{typings/msg → msg}/de.d.ts +0 -0
- /package/{typings/msg → msg}/diq.d.ts +0 -0
- /package/{typings/msg → msg}/dtp.d.ts +0 -0
- /package/{typings/msg → msg}/dty.d.ts +0 -0
- /package/{typings/msg → msg}/ee.d.ts +0 -0
- /package/{typings/msg → msg}/el.d.ts +0 -0
- /package/{typings/msg → msg}/en-gb.d.ts +0 -0
- /package/{typings/msg → msg}/en.d.ts +0 -0
- /package/{typings/msg → msg}/eo.d.ts +0 -0
- /package/{typings/msg → msg}/es.d.ts +0 -0
- /package/{typings/msg → msg}/et.d.ts +0 -0
- /package/{typings/msg → msg}/eu.d.ts +0 -0
- /package/{typings/msg → msg}/fa.d.ts +0 -0
- /package/{typings/msg → msg}/fi.d.ts +0 -0
- /package/{typings/msg → msg}/fo.d.ts +0 -0
- /package/{typings/msg → msg}/fr.d.ts +0 -0
- /package/{typings/msg → msg}/frr.d.ts +0 -0
- /package/{typings/msg → msg}/gl.d.ts +0 -0
- /package/{typings/msg → msg}/gn.d.ts +0 -0
- /package/{typings/msg → msg}/gor.d.ts +0 -0
- /package/{typings/msg → msg}/ha.d.ts +0 -0
- /package/{typings/msg → msg}/hak.d.ts +0 -0
- /package/{typings/msg → msg}/he.d.ts +0 -0
- /package/{typings/msg → msg}/hi.d.ts +0 -0
- /package/{typings/msg → msg}/hr.d.ts +0 -0
- /package/{typings/msg → msg}/hrx.d.ts +0 -0
- /package/{typings/msg → msg}/hsb.d.ts +0 -0
- /package/{typings/msg → msg}/hu.d.ts +0 -0
- /package/{typings/msg → msg}/hy.d.ts +0 -0
- /package/{typings/msg → msg}/ia.d.ts +0 -0
- /package/{typings/msg → msg}/id.d.ts +0 -0
- /package/{typings/msg → msg}/ig.d.ts +0 -0
- /package/{typings/msg → msg}/inh.d.ts +0 -0
- /package/{typings/msg → msg}/is.d.ts +0 -0
- /package/{typings/msg → msg}/it.d.ts +0 -0
- /package/{typings/msg → msg}/ja.d.ts +0 -0
- /package/{typings/msg → msg}/ka.d.ts +0 -0
- /package/{typings/msg → msg}/kab.d.ts +0 -0
- /package/{typings/msg → msg}/kbd-cyrl.d.ts +0 -0
- /package/{typings/msg → msg}/km.d.ts +0 -0
- /package/{typings/msg → msg}/kn.d.ts +0 -0
- /package/{typings/msg → msg}/ko.d.ts +0 -0
- /package/{typings/msg → msg}/ksh.d.ts +0 -0
- /package/{typings/msg → msg}/ku-latn.d.ts +0 -0
- /package/{typings/msg → msg}/ky.d.ts +0 -0
- /package/{typings/msg → msg}/la.d.ts +0 -0
- /package/{typings/msg → msg}/lb.d.ts +0 -0
- /package/{typings/msg → msg}/lki.d.ts +0 -0
- /package/{typings/msg → msg}/lo.d.ts +0 -0
- /package/{typings/msg → msg}/lrc.d.ts +0 -0
- /package/{typings/msg → msg}/lt.d.ts +0 -0
- /package/{typings/msg → msg}/lv.d.ts +0 -0
- /package/{typings/msg → msg}/mg.d.ts +0 -0
- /package/{typings/msg → msg}/mk.d.ts +0 -0
- /package/{typings/msg → msg}/ml.d.ts +0 -0
- /package/{typings/msg → msg}/mnw.d.ts +0 -0
- /package/{typings/msg → msg}/ms.d.ts +0 -0
- /package/{typings/msg → msg}/msg.d.ts +0 -0
- /package/{typings/msg → msg}/my.d.ts +0 -0
- /package/{typings/msg → msg}/mzn.d.ts +0 -0
- /package/{typings/msg → msg}/nb.d.ts +0 -0
- /package/{typings/msg → msg}/ne.d.ts +0 -0
- /package/{typings/msg → msg}/nl.d.ts +0 -0
- /package/{typings/msg → msg}/oc.d.ts +0 -0
- /package/{typings/msg → msg}/olo.d.ts +0 -0
- /package/{typings/msg → msg}/pa.d.ts +0 -0
- /package/{typings/msg → msg}/pl.d.ts +0 -0
- /package/{typings/msg → msg}/pms.d.ts +0 -0
- /package/{typings/msg → msg}/ps.d.ts +0 -0
- /package/{typings/msg → msg}/pt-br.d.ts +0 -0
- /package/{typings/msg → msg}/pt.d.ts +0 -0
- /package/{typings/msg → msg}/ro.d.ts +0 -0
- /package/{typings/msg → msg}/ru.d.ts +0 -0
- /package/{typings/msg → msg}/sc.d.ts +0 -0
- /package/{typings/msg → msg}/sco.d.ts +0 -0
- /package/{typings/msg → msg}/sd.d.ts +0 -0
- /package/{typings/msg → msg}/shn.d.ts +0 -0
- /package/{typings/msg → msg}/si.d.ts +0 -0
- /package/{typings/msg → msg}/sk.d.ts +0 -0
- /package/{typings/msg → msg}/skr-arab.d.ts +0 -0
- /package/{typings/msg → msg}/sl.d.ts +0 -0
- /package/{typings/msg → msg}/smn.d.ts +0 -0
- /package/{typings/msg → msg}/sq.d.ts +0 -0
- /package/{typings/msg → msg}/sr-latn.d.ts +0 -0
- /package/{typings/msg → msg}/sr.d.ts +0 -0
- /package/{typings/msg → msg}/sv.d.ts +0 -0
- /package/{typings/msg → msg}/sw.d.ts +0 -0
- /package/{typings/msg → msg}/ta.d.ts +0 -0
- /package/{typings/msg → msg}/tcy.d.ts +0 -0
- /package/{typings/msg → msg}/tdd.d.ts +0 -0
- /package/{typings/msg → msg}/te.d.ts +0 -0
- /package/{typings/msg → msg}/th.d.ts +0 -0
- /package/{typings/msg → msg}/ti.d.ts +0 -0
- /package/{typings/msg → msg}/tl.d.ts +0 -0
- /package/{typings/msg → msg}/tlh.d.ts +0 -0
- /package/{typings/msg → msg}/tr.d.ts +0 -0
- /package/{typings/msg → msg}/ug-arab.d.ts +0 -0
- /package/{typings/msg → msg}/uk.d.ts +0 -0
- /package/{typings/msg → msg}/ur.d.ts +0 -0
- /package/{typings/msg → msg}/uz.d.ts +0 -0
- /package/{typings/msg → msg}/vi.d.ts +0 -0
- /package/{typings/msg → msg}/xmf.d.ts +0 -0
- /package/{typings/msg → msg}/yo.d.ts +0 -0
- /package/{typings/msg → msg}/zgh.d.ts +0 -0
- /package/{typings/msg → msg}/zh-hans.d.ts +0 -0
- /package/{typings/msg → msg}/zh-hant.d.ts +0 -0
- /package/{typings/php.d.ts → php.d.ts} +0 -0
- /package/{typings/python.d.ts → python.d.ts} +0 -0
package/blocks.js
ADDED
package/blocks.mjs
ADDED
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
// Do not edit this file; automatically generated.
|
|
2
|
+
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
;(function(root, factory) {
|
|
5
|
+
if (typeof define === 'function' && define.amd) { // AMD
|
|
6
|
+
define(["./blockly_compressed.js"], factory);
|
|
7
|
+
} else if (typeof exports === 'object') { // Node.js
|
|
8
|
+
module.exports = factory(require("./blockly_compressed.js"));
|
|
9
|
+
} else { // Script
|
|
10
|
+
root.Blockly.libraryBlocks = factory(root.Blockly);
|
|
11
|
+
}
|
|
12
|
+
}(this, function(__parent__) {
|
|
13
|
+
var $=__parent__.__namespace__;
|
|
14
|
+
var blocks$$module$build$src$blocks$variables_dynamic=$.createBlockDefinitionsFromJsonArray$$module$build$src$core$common([{type:"variables_get_dynamic",message0:"%1",args0:[{type:"field_variable",name:"VAR",variable:"%{BKY_VARIABLES_DEFAULT_NAME}"}],output:null,style:"variable_dynamic_blocks",helpUrl:"%{BKY_VARIABLES_GET_HELPURL}",tooltip:"%{BKY_VARIABLES_GET_TOOLTIP}",extensions:["contextMenu_variableDynamicSetterGetter"]},{type:"variables_set_dynamic",message0:"%{BKY_VARIABLES_SET}",args0:[{type:"field_variable",
|
|
15
|
+
name:"VAR",variable:"%{BKY_VARIABLES_DEFAULT_NAME}"},{type:"input_value",name:"VALUE"}],previousStatement:null,nextStatement:null,style:"variable_dynamic_blocks",tooltip:"%{BKY_VARIABLES_SET_TOOLTIP}",helpUrl:"%{BKY_VARIABLES_SET_HELPURL}",extensions:["contextMenu_variableDynamicSetterGetter"]}]),CUSTOM_CONTEXT_MENU_VARIABLE_GETTER_SETTER_MIXIN$$module$build$src$blocks$variables_dynamic={customContextMenu:function(a){if(!this.isInFlyout){if(this.type==="variables_get_dynamic"){var b="variables_set_dynamic";
|
|
16
|
+
var c=$.Msg$$module$build$src$core$msg.VARIABLES_GET_CREATE_SET}else b="variables_get_dynamic",c=$.Msg$$module$build$src$core$msg.VARIABLES_SET_CREATE_GET;var d=this.getField("VAR");b={type:b,fields:{VAR:d.saveState(!0)}};a.push({enabled:this.workspace.remainingCapacity()>0,text:c.replace("%1",d.getText()),callback:$.callbackFactory$$module$build$src$core$contextmenu(this,b)})}else if(this.type==="variables_get_dynamic"||this.type==="variables_get_reporter_dynamic")c={text:$.Msg$$module$build$src$core$msg.RENAME_VARIABLE,
|
|
17
|
+
enabled:!0,callback:renameOptionCallbackFactory$$module$build$src$blocks$variables_dynamic(this)},d=this.getField("VAR").getText(),d={text:$.Msg$$module$build$src$core$msg.DELETE_VARIABLE.replace("%1",d),enabled:!0,callback:deleteOptionCallbackFactory$$module$build$src$blocks$variables_dynamic(this)},a.unshift(c),a.unshift(d)},onchange:function(a){a=this.getFieldValue("VAR");a=$.getVariable$$module$build$src$core$variables(this.workspace,a);this.type==="variables_get_dynamic"?this.outputConnection.setCheck(a.getType()):
|
|
18
|
+
this.getInput("VALUE").connection.setCheck(a.getType())}},renameOptionCallbackFactory$$module$build$src$blocks$variables_dynamic=function(a){return function(){const b=a.workspace,c=a.getField("VAR").getVariable();$.renameVariable$$module$build$src$core$variables(b,c)}},deleteOptionCallbackFactory$$module$build$src$blocks$variables_dynamic=function(a){return function(){const b=a.getField("VAR").getVariable();b&&$.deleteVariable$$module$build$src$core$variables(b.getWorkspace(),b,a)}};
|
|
19
|
+
$.registerMixin$$module$build$src$core$extensions("contextMenu_variableDynamicSetterGetter",CUSTOM_CONTEXT_MENU_VARIABLE_GETTER_SETTER_MIXIN$$module$build$src$blocks$variables_dynamic);$.defineBlocks$$module$build$src$core$common(blocks$$module$build$src$blocks$variables_dynamic);var module$build$src$blocks$variables_dynamic={blocks:blocks$$module$build$src$blocks$variables_dynamic};var blocks$$module$build$src$blocks$variables=$.createBlockDefinitionsFromJsonArray$$module$build$src$core$common([{type:"variables_get",message0:"%1",args0:[{type:"field_variable",name:"VAR",variable:"%{BKY_VARIABLES_DEFAULT_NAME}"}],output:null,style:"variable_blocks",helpUrl:"%{BKY_VARIABLES_GET_HELPURL}",tooltip:"%{BKY_VARIABLES_GET_TOOLTIP}",extensions:["contextMenu_variableSetterGetter"]},{type:"variables_set",message0:"%{BKY_VARIABLES_SET}",args0:[{type:"field_variable",name:"VAR",variable:"%{BKY_VARIABLES_DEFAULT_NAME}"},
|
|
20
|
+
{type:"input_value",name:"VALUE"}],previousStatement:null,nextStatement:null,style:"variable_blocks",tooltip:"%{BKY_VARIABLES_SET_TOOLTIP}",helpUrl:"%{BKY_VARIABLES_SET_HELPURL}",extensions:["contextMenu_variableSetterGetter"]}]),CUSTOM_CONTEXT_MENU_VARIABLE_GETTER_SETTER_MIXIN$$module$build$src$blocks$variables={customContextMenu:function(a){if(!this.isInFlyout){if(this.type==="variables_get"){var b="variables_set";var c=$.Msg$$module$build$src$core$msg.VARIABLES_GET_CREATE_SET}else b="variables_get",
|
|
21
|
+
c=$.Msg$$module$build$src$core$msg.VARIABLES_SET_CREATE_GET;var d=this.getField("VAR");b={type:b,fields:{VAR:d.saveState(!0)}};a.push({enabled:this.workspace.remainingCapacity()>0,text:c.replace("%1",d.getText()),callback:$.callbackFactory$$module$build$src$core$contextmenu(this,b)})}else if(this.type==="variables_get"||this.type==="variables_get_reporter")c={text:$.Msg$$module$build$src$core$msg.RENAME_VARIABLE,enabled:!0,callback:renameOptionCallbackFactory$$module$build$src$blocks$variables(this)},
|
|
22
|
+
d=this.getField("VAR").getText(),d={text:$.Msg$$module$build$src$core$msg.DELETE_VARIABLE.replace("%1",d),enabled:!0,callback:deleteOptionCallbackFactory$$module$build$src$blocks$variables(this)},a.unshift(c),a.unshift(d)}},renameOptionCallbackFactory$$module$build$src$blocks$variables=function(a){return function(){const b=a.workspace,c=a.getField("VAR").getVariable();$.renameVariable$$module$build$src$core$variables(b,c)}},deleteOptionCallbackFactory$$module$build$src$blocks$variables=function(a){return function(){const b=
|
|
23
|
+
a.getField("VAR").getVariable();b&&$.deleteVariable$$module$build$src$core$variables(b.getWorkspace(),b,a)}};$.registerMixin$$module$build$src$core$extensions("contextMenu_variableSetterGetter",CUSTOM_CONTEXT_MENU_VARIABLE_GETTER_SETTER_MIXIN$$module$build$src$blocks$variables);$.defineBlocks$$module$build$src$core$common(blocks$$module$build$src$blocks$variables);var module$build$src$blocks$variables={blocks:blocks$$module$build$src$blocks$variables};var blocks$$module$build$src$blocks$text=$.createBlockDefinitionsFromJsonArray$$module$build$src$core$common([{type:"text",message0:"%1",args0:[{type:"field_input",name:"TEXT",text:""}],output:"String",style:"text_blocks",helpUrl:"%{BKY_TEXT_TEXT_HELPURL}",tooltip:"%{BKY_TEXT_TEXT_TOOLTIP}",extensions:["text_quotes","parent_tooltip_when_inline"]},{type:"text_join",message0:"",output:"String",style:"text_blocks",helpUrl:"%{BKY_TEXT_JOIN_HELPURL}",tooltip:"%{BKY_TEXT_JOIN_TOOLTIP}",mutator:"text_join_mutator"},
|
|
24
|
+
{type:"text_create_join_container",message0:"%{BKY_TEXT_CREATE_JOIN_TITLE_JOIN} %1 %2",args0:[{type:"input_dummy"},{type:"input_statement",name:"STACK"}],style:"text_blocks",tooltip:"%{BKY_TEXT_CREATE_JOIN_TOOLTIP}",enableContextMenu:!1},{type:"text_create_join_item",message0:"%{BKY_TEXT_CREATE_JOIN_ITEM_TITLE_ITEM}",previousStatement:null,nextStatement:null,style:"text_blocks",tooltip:"%{BKY_TEXT_CREATE_JOIN_ITEM_TOOLTIP}",enableContextMenu:!1},{type:"text_append",message0:"%{BKY_TEXT_APPEND_TITLE}",
|
|
25
|
+
args0:[{type:"field_variable",name:"VAR",variable:"%{BKY_TEXT_APPEND_VARIABLE}"},{type:"input_value",name:"TEXT"}],previousStatement:null,nextStatement:null,style:"text_blocks",extensions:["text_append_tooltip"]},{type:"text_length",message0:"%{BKY_TEXT_LENGTH_TITLE}",args0:[{type:"input_value",name:"VALUE",check:["String","Array"]}],output:"Number",style:"text_blocks",tooltip:"%{BKY_TEXT_LENGTH_TOOLTIP}",helpUrl:"%{BKY_TEXT_LENGTH_HELPURL}"},{type:"text_isEmpty",message0:"%{BKY_TEXT_ISEMPTY_TITLE}",
|
|
26
|
+
args0:[{type:"input_value",name:"VALUE",check:["String","Array"]}],output:"Boolean",style:"text_blocks",tooltip:"%{BKY_TEXT_ISEMPTY_TOOLTIP}",helpUrl:"%{BKY_TEXT_ISEMPTY_HELPURL}"},{type:"text_indexOf",message0:"%{BKY_TEXT_INDEXOF_TITLE}",args0:[{type:"input_value",name:"VALUE",check:"String"},{type:"field_dropdown",name:"END",options:[["%{BKY_TEXT_INDEXOF_OPERATOR_FIRST}","FIRST"],["%{BKY_TEXT_INDEXOF_OPERATOR_LAST}","LAST"]]},{type:"input_value",name:"FIND",check:"String"}],output:"Number",style:"text_blocks",
|
|
27
|
+
helpUrl:"%{BKY_TEXT_INDEXOF_HELPURL}",inputsInline:!0,extensions:["text_indexOf_tooltip"]},{type:"text_charAt",message0:"%{BKY_TEXT_CHARAT_TITLE}",args0:[{type:"input_value",name:"VALUE",check:"String"},{type:"field_dropdown",name:"WHERE",options:[["%{BKY_TEXT_CHARAT_FROM_START}","FROM_START"],["%{BKY_TEXT_CHARAT_FROM_END}","FROM_END"],["%{BKY_TEXT_CHARAT_FIRST}","FIRST"],["%{BKY_TEXT_CHARAT_LAST}","LAST"],["%{BKY_TEXT_CHARAT_RANDOM}","RANDOM"]]}],output:"String",style:"text_blocks",helpUrl:"%{BKY_TEXT_CHARAT_HELPURL}",
|
|
28
|
+
inputsInline:!0,mutator:"text_charAt_mutator"}]),GET_SUBSTRING_BLOCK$$module$build$src$blocks$text={init:function(){this.WHERE_OPTIONS_1=[[$.Msg$$module$build$src$core$msg.TEXT_GET_SUBSTRING_START_FROM_START,"FROM_START"],[$.Msg$$module$build$src$core$msg.TEXT_GET_SUBSTRING_START_FROM_END,"FROM_END"],[$.Msg$$module$build$src$core$msg.TEXT_GET_SUBSTRING_START_FIRST,"FIRST"]];this.WHERE_OPTIONS_2=[[$.Msg$$module$build$src$core$msg.TEXT_GET_SUBSTRING_END_FROM_START,"FROM_START"],[$.Msg$$module$build$src$core$msg.TEXT_GET_SUBSTRING_END_FROM_END,
|
|
29
|
+
"FROM_END"],[$.Msg$$module$build$src$core$msg.TEXT_GET_SUBSTRING_END_LAST,"LAST"]];this.setHelpUrl($.Msg$$module$build$src$core$msg.TEXT_GET_SUBSTRING_HELPURL);this.setStyle("text_blocks");this.appendValueInput("STRING").setCheck("String").appendField($.Msg$$module$build$src$core$msg.TEXT_GET_SUBSTRING_INPUT_IN_TEXT);const a=b=>{const c=$.fromJson$$module$build$src$core$field_registry({type:"field_dropdown",options:this["WHERE_OPTIONS_"+b]});c.setValidator(function(d){const e=this.getValue();d=d===
|
|
30
|
+
"FROM_START"||d==="FROM_END";d!==(e==="FROM_START"||e==="FROM_END")&&this.getSourceBlock().updateAt_(b,d)});return c};this.appendDummyInput("WHERE1_INPUT").appendField(a(1),"WHERE1");this.appendDummyInput("AT1");this.appendDummyInput("WHERE2_INPUT").appendField(a(2),"WHERE2");this.appendDummyInput("AT2");$.Msg$$module$build$src$core$msg.TEXT_GET_SUBSTRING_TAIL&&this.appendDummyInput("TAIL").appendField($.Msg$$module$build$src$core$msg.TEXT_GET_SUBSTRING_TAIL);this.setInputsInline(!0);this.setOutput(!0,
|
|
31
|
+
"String");this.updateAt_(1,!0);this.updateAt_(2,!0);this.setTooltip($.Msg$$module$build$src$core$msg.TEXT_GET_SUBSTRING_TOOLTIP)},mutationToDom:function(){const a=$.createElement$$module$build$src$core$utils$xml("mutation");var b=this.getInput("AT1")instanceof $.ValueInput$$module$build$src$core$inputs$value_input;a.setAttribute("at1",`${b}`);b=this.getInput("AT2")instanceof $.ValueInput$$module$build$src$core$inputs$value_input;a.setAttribute("at2",`${b}`);return a},domToMutation:function(a){const b=
|
|
32
|
+
a.getAttribute("at1")==="true";a=a.getAttribute("at2")==="true";this.updateAt_(1,b);this.updateAt_(2,a)},updateAt_:function(a,b){this.removeInput("AT"+a);this.removeInput("ORDINAL"+a,!0);b?(this.appendValueInput("AT"+a).setCheck("Number"),$.Msg$$module$build$src$core$msg.ORDINAL_NUMBER_SUFFIX&&this.appendDummyInput("ORDINAL"+a).appendField($.Msg$$module$build$src$core$msg.ORDINAL_NUMBER_SUFFIX)):this.appendDummyInput("AT"+a);a===2&&$.Msg$$module$build$src$core$msg.TEXT_GET_SUBSTRING_TAIL&&(this.removeInput("TAIL",
|
|
33
|
+
!0),this.appendDummyInput("TAIL").appendField($.Msg$$module$build$src$core$msg.TEXT_GET_SUBSTRING_TAIL));a===1&&(this.moveInputBefore("AT1","WHERE2_INPUT"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","WHERE2_INPUT"))}};blocks$$module$build$src$blocks$text.text_getSubstring=GET_SUBSTRING_BLOCK$$module$build$src$blocks$text;
|
|
34
|
+
blocks$$module$build$src$blocks$text.text_changeCase={init:function(){const a=[[$.Msg$$module$build$src$core$msg.TEXT_CHANGECASE_OPERATOR_UPPERCASE,"UPPERCASE"],[$.Msg$$module$build$src$core$msg.TEXT_CHANGECASE_OPERATOR_LOWERCASE,"LOWERCASE"],[$.Msg$$module$build$src$core$msg.TEXT_CHANGECASE_OPERATOR_TITLECASE,"TITLECASE"]];this.setHelpUrl($.Msg$$module$build$src$core$msg.TEXT_CHANGECASE_HELPURL);this.setStyle("text_blocks");this.appendValueInput("TEXT").setCheck("String").appendField($.fromJson$$module$build$src$core$field_registry({type:"field_dropdown",
|
|
35
|
+
options:a}),"CASE");this.setOutput(!0,"String");this.setTooltip($.Msg$$module$build$src$core$msg.TEXT_CHANGECASE_TOOLTIP)}};
|
|
36
|
+
blocks$$module$build$src$blocks$text.text_trim={init:function(){const a=[[$.Msg$$module$build$src$core$msg.TEXT_TRIM_OPERATOR_BOTH,"BOTH"],[$.Msg$$module$build$src$core$msg.TEXT_TRIM_OPERATOR_LEFT,"LEFT"],[$.Msg$$module$build$src$core$msg.TEXT_TRIM_OPERATOR_RIGHT,"RIGHT"]];this.setHelpUrl($.Msg$$module$build$src$core$msg.TEXT_TRIM_HELPURL);this.setStyle("text_blocks");this.appendValueInput("TEXT").setCheck("String").appendField($.fromJson$$module$build$src$core$field_registry({type:"field_dropdown",options:a}),
|
|
37
|
+
"MODE");this.setOutput(!0,"String");this.setTooltip($.Msg$$module$build$src$core$msg.TEXT_TRIM_TOOLTIP)}};blocks$$module$build$src$blocks$text.text_print={init:function(){this.jsonInit({message0:$.Msg$$module$build$src$core$msg.TEXT_PRINT_TITLE,args0:[{type:"input_value",name:"TEXT"}],previousStatement:null,nextStatement:null,style:"text_blocks",tooltip:$.Msg$$module$build$src$core$msg.TEXT_PRINT_TOOLTIP,helpUrl:$.Msg$$module$build$src$core$msg.TEXT_PRINT_HELPURL})}};
|
|
38
|
+
var PROMPT_COMMON$$module$build$src$blocks$text={updateType_:function(a){this.outputConnection.setCheck(a==="NUMBER"?"Number":"String")},mutationToDom:function(){const a=$.createElement$$module$build$src$core$utils$xml("mutation");a.setAttribute("type",this.getFieldValue("TYPE"));return a},domToMutation:function(a){this.updateType_(a.getAttribute("type"))}};
|
|
39
|
+
blocks$$module$build$src$blocks$text.text_prompt_ext=Object.assign({},PROMPT_COMMON$$module$build$src$blocks$text,{init:function(){var a=[[$.Msg$$module$build$src$core$msg.TEXT_PROMPT_TYPE_TEXT,"TEXT"],[$.Msg$$module$build$src$core$msg.TEXT_PROMPT_TYPE_NUMBER,"NUMBER"]];this.setHelpUrl($.Msg$$module$build$src$core$msg.TEXT_PROMPT_HELPURL);this.setStyle("text_blocks");a=$.fromJson$$module$build$src$core$field_registry({type:"field_dropdown",options:a});a.setValidator(b=>{this.updateType_(b)});this.appendValueInput("TEXT").appendField(a,
|
|
40
|
+
"TYPE");this.setOutput(!0,"String");this.setTooltip(()=>this.getFieldValue("TYPE")==="TEXT"?$.Msg$$module$build$src$core$msg.TEXT_PROMPT_TOOLTIP_TEXT:$.Msg$$module$build$src$core$msg.TEXT_PROMPT_TOOLTIP_NUMBER)}});
|
|
41
|
+
blocks$$module$build$src$blocks$text.text_prompt=Object.assign({},PROMPT_COMMON$$module$build$src$blocks$text,{init:function(){this.mixin(QUOTE_IMAGE_MIXIN$$module$build$src$blocks$text);var a=[[$.Msg$$module$build$src$core$msg.TEXT_PROMPT_TYPE_TEXT,"TEXT"],[$.Msg$$module$build$src$core$msg.TEXT_PROMPT_TYPE_NUMBER,"NUMBER"]];this.setHelpUrl($.Msg$$module$build$src$core$msg.TEXT_PROMPT_HELPURL);this.setStyle("text_blocks");a=$.fromJson$$module$build$src$core$field_registry({type:"field_dropdown",options:a});
|
|
42
|
+
a.setValidator(b=>{this.updateType_(b)});this.appendDummyInput().appendField(a,"TYPE").appendField(this.newQuote_(!0)).appendField($.fromJson$$module$build$src$core$field_registry({type:"field_input",text:""}),"TEXT").appendField(this.newQuote_(!1));this.setOutput(!0,"String");this.setTooltip(()=>this.getFieldValue("TYPE")==="TEXT"?$.Msg$$module$build$src$core$msg.TEXT_PROMPT_TOOLTIP_TEXT:$.Msg$$module$build$src$core$msg.TEXT_PROMPT_TOOLTIP_NUMBER)}});
|
|
43
|
+
blocks$$module$build$src$blocks$text.text_count={init:function(){this.jsonInit({message0:$.Msg$$module$build$src$core$msg.TEXT_COUNT_MESSAGE0,args0:[{type:"input_value",name:"SUB",check:"String"},{type:"input_value",name:"TEXT",check:"String"}],output:"Number",inputsInline:!0,style:"text_blocks",tooltip:$.Msg$$module$build$src$core$msg.TEXT_COUNT_TOOLTIP,helpUrl:$.Msg$$module$build$src$core$msg.TEXT_COUNT_HELPURL})}};
|
|
44
|
+
blocks$$module$build$src$blocks$text.text_replace={init:function(){this.jsonInit({message0:$.Msg$$module$build$src$core$msg.TEXT_REPLACE_MESSAGE0,args0:[{type:"input_value",name:"FROM",check:"String"},{type:"input_value",name:"TO",check:"String"},{type:"input_value",name:"TEXT",check:"String"}],output:"String",inputsInline:!0,style:"text_blocks",tooltip:$.Msg$$module$build$src$core$msg.TEXT_REPLACE_TOOLTIP,helpUrl:$.Msg$$module$build$src$core$msg.TEXT_REPLACE_HELPURL})}};
|
|
45
|
+
blocks$$module$build$src$blocks$text.text_reverse={init:function(){this.jsonInit({message0:$.Msg$$module$build$src$core$msg.TEXT_REVERSE_MESSAGE0,args0:[{type:"input_value",name:"TEXT",check:"String"}],output:"String",inputsInline:!0,style:"text_blocks",tooltip:$.Msg$$module$build$src$core$msg.TEXT_REVERSE_TOOLTIP,helpUrl:$.Msg$$module$build$src$core$msg.TEXT_REVERSE_HELPURL})}};
|
|
46
|
+
var QUOTE_IMAGE_MIXIN$$module$build$src$blocks$text={QUOTE_IMAGE_LEFT_DATAURI:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAn0lEQVQI1z3OMa5BURSF4f/cQhAKjUQhuQmFNwGJEUi0RKN5rU7FHKhpjEH3TEMtkdBSCY1EIv8r7nFX9e29V7EBAOvu7RPjwmWGH/VuF8CyN9/OAdvqIXYLvtRaNjx9mMTDyo+NjAN1HNcl9ZQ5oQMM3dgDUqDo1l8DzvwmtZN7mnD+PkmLa+4mhrxVA9fRowBWmVBhFy5gYEjKMfz9AylsaRRgGzvZAAAAAElFTkSuQmCC",QUOTE_IMAGE_RIGHT_DATAURI:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAqUlEQVQI1z3KvUpCcRiA8ef9E4JNHhI0aFEacm1o0BsI0Slx8wa8gLauoDnoBhq7DcfWhggONDmJJgqCPA7neJ7p934EOOKOnM8Q7PDElo/4x4lFb2DmuUjcUzS3URnGib9qaPNbuXvBO3sGPHJDRG6fGVdMSeWDP2q99FQdFrz26Gu5Tq7dFMzUvbXy8KXeAj57cOklgA+u1B5AoslLtGIHQMaCVnwDnADZIFIrXsoXrgAAAABJRU5ErkJggg==",
|
|
47
|
+
QUOTE_IMAGE_WIDTH:12,QUOTE_IMAGE_HEIGHT:12,quoteField_:function(a){for(let b=0,c;c=this.inputList[b];b++)for(let d=0,e;e=c.fieldRow[d];d++)if(a===e.name){c.insertFieldAt(d,this.newQuote_(!0));c.insertFieldAt(d+2,this.newQuote_(!1));return}console.warn('field named "'+a+'" not found in '+this.toDevString())},newQuote_:function(a){a=this.RTL?!a:a;return $.fromJson$$module$build$src$core$field_registry({type:"field_image",src:a?this.QUOTE_IMAGE_LEFT_DATAURI:this.QUOTE_IMAGE_RIGHT_DATAURI,width:this.QUOTE_IMAGE_WIDTH,
|
|
48
|
+
height:this.QUOTE_IMAGE_HEIGHT,alt:a?"\u201c":"\u201d"})}},QUOTES_EXTENSION$$module$build$src$blocks$text=function(){this.mixin(QUOTE_IMAGE_MIXIN$$module$build$src$blocks$text);this.quoteField_("TEXT")},JOIN_MUTATOR_MIXIN$$module$build$src$blocks$text={itemCount_:0,mutationToDom:function(){const a=$.createElement$$module$build$src$core$utils$xml("mutation");a.setAttribute("items",`${this.itemCount_}`);return a},domToMutation:function(a){this.itemCount_=parseInt(a.getAttribute("items"),10);this.updateShape_()},
|
|
49
|
+
saveExtraState:function(){return{itemCount:this.itemCount_}},loadExtraState:function(a){this.itemCount_=a.itemCount;this.updateShape_()},decompose:function(a){const b=a.newBlock("text_create_join_container");b.initSvg();let c=b.getInput("STACK").connection;for(let d=0;d<this.itemCount_;d++){const e=a.newBlock("text_create_join_item");e.initSvg();c.connect(e.previousConnection);c=e.nextConnection}return b},compose:function(a){var b=a.getInputTargetBlock("STACK");for(a=[];b;)b.isInsertionMarker()||
|
|
50
|
+
a.push(b.valueConnection_),b=b.getNextBlock();for(b=0;b<this.itemCount_;b++){const c=this.getInput("ADD"+b).connection.targetConnection;c&&!a.includes(c)&&c.disconnect()}this.itemCount_=a.length;this.updateShape_();for(b=0;b<this.itemCount_;b++){let c;(c=a[b])==null||c.reconnect(this,"ADD"+b)}},saveConnections:function(a){a=a.getInputTargetBlock("STACK");let b=0;for(;a;){if(a.isInsertionMarker()){a=a.getNextBlock();continue}const c=this.getInput("ADD"+b);a.valueConnection_=c&&c.connection.targetConnection;
|
|
51
|
+
a=a.getNextBlock();b++}},updateShape_:function(){this.itemCount_&&this.getInput("EMPTY")?this.removeInput("EMPTY"):this.itemCount_||this.getInput("EMPTY")||this.appendDummyInput("EMPTY").appendField(this.newQuote_(!0)).appendField(this.newQuote_(!1));for(var a=0;a<this.itemCount_;a++)if(!this.getInput("ADD"+a)){const b=this.appendValueInput("ADD"+a).setAlign($.Align$$module$build$src$core$inputs$align.RIGHT);a===0&&b.appendField($.Msg$$module$build$src$core$msg.TEXT_JOIN_TITLE_CREATEWITH)}for(a=this.itemCount_;this.getInput("ADD"+
|
|
52
|
+
a);a++)this.removeInput("ADD"+a)}},JOIN_EXTENSION$$module$build$src$blocks$text=function(){this.mixin(QUOTE_IMAGE_MIXIN$$module$build$src$blocks$text);this.itemCount_=2;this.updateShape_();this.setMutator(new $.MutatorIcon$$module$build$src$core$icons$mutator_icon(["text_create_join_item"],this))};$.register$$module$build$src$core$extensions("text_append_tooltip",$.buildTooltipWithFieldText$$module$build$src$core$extensions("%{BKY_TEXT_APPEND_TOOLTIP}","VAR"));
|
|
53
|
+
var INDEXOF_TOOLTIP_EXTENSION$$module$build$src$blocks$text=function(){this.setTooltip(()=>$.Msg$$module$build$src$core$msg.TEXT_INDEXOF_TOOLTIP.replace("%1",this.workspace.options.oneBasedIndex?"0":"-1"))},CHARAT_MUTATOR_MIXIN$$module$build$src$blocks$text={isAt_:!1,mutationToDom:function(){const a=$.createElement$$module$build$src$core$utils$xml("mutation");a.setAttribute("at",`${this.isAt_}`);return a},domToMutation:function(a){a=a.getAttribute("at")!=="false";this.updateAt_(a)},updateAt_:function(a){this.removeInput("AT",
|
|
54
|
+
!0);this.removeInput("ORDINAL",!0);a&&(this.appendValueInput("AT").setCheck("Number"),$.Msg$$module$build$src$core$msg.ORDINAL_NUMBER_SUFFIX&&this.appendDummyInput("ORDINAL").appendField($.Msg$$module$build$src$core$msg.ORDINAL_NUMBER_SUFFIX));$.Msg$$module$build$src$core$msg.TEXT_CHARAT_TAIL&&(this.removeInput("TAIL",!0),this.appendDummyInput("TAIL").appendField($.Msg$$module$build$src$core$msg.TEXT_CHARAT_TAIL));this.isAt_=a}},CHARAT_EXTENSION$$module$build$src$blocks$text=function(){this.getField("WHERE").setValidator(function(a){a=
|
|
55
|
+
a==="FROM_START"||a==="FROM_END";const b=this.getSourceBlock();a!==b.isAt_&&b.updateAt_(a)});this.updateAt_(!0);this.setTooltip(()=>{var a=this.getFieldValue("WHERE");let b=$.Msg$$module$build$src$core$msg.TEXT_CHARAT_TOOLTIP;(a==="FROM_START"||a==="FROM_END")&&(a=a==="FROM_START"?$.Msg$$module$build$src$core$msg.LISTS_INDEX_FROM_START_TOOLTIP:$.Msg$$module$build$src$core$msg.LISTS_INDEX_FROM_END_TOOLTIP)&&(b+=" "+a.replace("%1",this.workspace.options.oneBasedIndex?"#1":"#0"));return b})};
|
|
56
|
+
$.register$$module$build$src$core$extensions("text_indexOf_tooltip",INDEXOF_TOOLTIP_EXTENSION$$module$build$src$blocks$text);$.register$$module$build$src$core$extensions("text_quotes",QUOTES_EXTENSION$$module$build$src$blocks$text);$.registerMixin$$module$build$src$core$extensions("quote_image_mixin",QUOTE_IMAGE_MIXIN$$module$build$src$blocks$text);$.registerMutator$$module$build$src$core$extensions("text_join_mutator",JOIN_MUTATOR_MIXIN$$module$build$src$blocks$text,JOIN_EXTENSION$$module$build$src$blocks$text);
|
|
57
|
+
$.registerMutator$$module$build$src$core$extensions("text_charAt_mutator",CHARAT_MUTATOR_MIXIN$$module$build$src$blocks$text,CHARAT_EXTENSION$$module$build$src$blocks$text);$.defineBlocks$$module$build$src$core$common(blocks$$module$build$src$blocks$text);var module$build$src$blocks$text={blocks:blocks$$module$build$src$blocks$text};var blocks$$module$build$src$blocks$procedures={},PROCEDURE_DEF_COMMON$$module$build$src$blocks$procedures={setStatements_:function(a){this.hasStatements_!==a&&(a?(this.appendStatementInput("STACK").appendField($.Msg$$module$build$src$core$msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=a)},updateParams_:function(){let a="";this.arguments_.length&&(a=$.Msg$$module$build$src$core$msg.PROCEDURES_BEFORE_PARAMS+
|
|
58
|
+
" "+this.arguments_.join(", "));$.disable$$module$build$src$core$events$utils();try{this.setFieldValue(a,"PARAMS")}finally{$.enable$$module$build$src$core$events$utils()}},mutationToDom:function(a){const b=$.createElement$$module$build$src$core$utils$xml("mutation");a&&b.setAttribute("name",this.getFieldValue("NAME"));for(let c=0;c<this.argumentVarModels_.length;c++){const d=$.createElement$$module$build$src$core$utils$xml("arg"),e=this.argumentVarModels_[c];d.setAttribute("name",e.getName());d.setAttribute("varid",
|
|
59
|
+
e.getId());a&&this.paramIds_&&d.setAttribute("paramId",this.paramIds_[c]);b.appendChild(d)}this.hasStatements_||b.setAttribute("statements","false");return b},domToMutation:function(a){this.arguments_=[];this.argumentVarModels_=[];for(let c=0,d;d=a.childNodes[c];c++)if(d.nodeName.toLowerCase()==="arg"){var b=d;const e=b.getAttribute("name");b=b.getAttribute("varid")||b.getAttribute("varId");this.arguments_.push(e);b=$.getOrCreateVariablePackage$$module$build$src$core$variables(this.workspace,b,e,
|
|
60
|
+
"");b!==null?this.argumentVarModels_.push(b):console.log(`Failed to create a variable named "${e}", ignoring.`)}this.updateParams_();$.mutateCallers$$module$build$src$core$procedures(this);this.setStatements_(a.getAttribute("statements")!=="false")},saveExtraState:function(){if(!this.argumentVarModels_.length&&this.hasStatements_)return null;const a=Object.create(null);if(this.argumentVarModels_.length){a.params=[];for(let b=0;b<this.argumentVarModels_.length;b++)a.params.push({name:this.argumentVarModels_[b].getName(),
|
|
61
|
+
id:this.argumentVarModels_[b].getId()})}this.hasStatements_||(a.hasStatements=!1);return a},loadExtraState:function(a){this.arguments_=[];this.argumentVarModels_=[];if(a.params)for(let c=0;c<a.params.length;c++){var b=a.params[c];b=$.getOrCreateVariablePackage$$module$build$src$core$variables(this.workspace,b.id,b.name,"");this.arguments_.push(b.getName());this.argumentVarModels_.push(b)}this.updateParams_();$.mutateCallers$$module$build$src$core$procedures(this);this.setStatements_(a.hasStatements===
|
|
62
|
+
!1?!1:!0)},decompose:function(a){const b=$.createElement$$module$build$src$core$utils$xml("block");b.setAttribute("type","procedures_mutatorcontainer");var c=$.createElement$$module$build$src$core$utils$xml("statement");c.setAttribute("name","STACK");b.appendChild(c);for(let e=0;e<this.arguments_.length;e++){const f=$.createElement$$module$build$src$core$utils$xml("block");f.setAttribute("type","procedures_mutatorarg");var d=$.createElement$$module$build$src$core$utils$xml("field");d.setAttribute("name",
|
|
63
|
+
"NAME");const g=$.createTextNode$$module$build$src$core$utils$xml(this.arguments_[e]);d.appendChild(g);f.appendChild(d);d=$.createElement$$module$build$src$core$utils$xml("next");f.appendChild(d);c.appendChild(f);c=d}a=$.domToBlock$$module$build$src$core$xml(b,a);this.type==="procedures_defreturn"?a.setFieldValue(this.hasStatements_,"STATEMENTS"):a.removeInput("STATEMENT_INPUT");$.mutateCallers$$module$build$src$core$procedures(this);return a},compose:function(a){this.arguments_=[];this.paramIds_=
|
|
64
|
+
[];this.argumentVarModels_=[];let b=a.getInputTargetBlock("STACK");for(;b&&!b.isInsertionMarker();){var c=b.getFieldValue("NAME");this.arguments_.push(c);c=this.workspace.getVariableMap().getVariable(c,"");this.argumentVarModels_.push(c);this.paramIds_.push(b.id);b=b.nextConnection&&b.nextConnection.targetBlock()}this.updateParams_();$.mutateCallers$$module$build$src$core$procedures(this);a=a.getFieldValue("STATEMENTS");if(a!==null&&(a=a==="TRUE",this.hasStatements_!==a))if(a){this.setStatements_(!0);
|
|
65
|
+
var d;(d=this.statementConnection_)==null||d.reconnect(this,"STACK");this.statementConnection_=null}else{d=this.getInput("STACK").connection;if(this.statementConnection_=d.targetConnection)d=d.targetBlock(),d.unplug(),d.bumpNeighbours();this.setStatements_(!1)}},getVars:function(){return this.arguments_},getVarModels:function(){return this.argumentVarModels_},renameVarById:function(a,b){var c=this.workspace.getVariableMap().getVariableById(a);if(c.getType()===""){c=c.getName();b=this.workspace.getVariableMap().getVariableById(b);
|
|
66
|
+
var d=!1;for(let e=0;e<this.argumentVarModels_.length;e++)this.argumentVarModels_[e].getId()===a&&(this.arguments_[e]=b.getName(),this.argumentVarModels_[e]=b,d=!0);d&&(this.displayRenamedVar_(c,b.getName()),$.mutateCallers$$module$build$src$core$procedures(this))}},updateVarName:function(a){const b=a.getName();let c=!1,d;for(let e=0;e<this.argumentVarModels_.length;e++)this.argumentVarModels_[e].getId()===a.getId()&&(d=this.arguments_[e],this.arguments_[e]=b,c=!0);c&&(this.displayRenamedVar_(d,b),
|
|
67
|
+
$.mutateCallers$$module$build$src$core$procedures(this))},displayRenamedVar_:function(a,b){this.updateParams_();var c=this.getIcon($.MutatorIcon$$module$build$src$core$icons$mutator_icon.TYPE);if(c&&c.bubbleIsVisible()){c=c.getWorkspace().getAllBlocks(!1);for(let d=0,e;e=c[d];d++)e.type==="procedures_mutatorarg"&&$.Names$$module$build$src$core$names.equals(a,e.getFieldValue("NAME"))&&e.setFieldValue(b,"NAME")}},customContextMenu:function(a){if(!this.isInFlyout){var b=this.getFieldValue("NAME"),c=
|
|
68
|
+
{type:this.callType_,extraState:{name:b,params:this.arguments_}};a.push({enabled:!0,text:$.Msg$$module$build$src$core$msg.PROCEDURES_CREATE_DO.replace("%1",b),callback:$.callbackFactory$$module$build$src$core$contextmenu(this,c)});if(!this.isCollapsed())for(b=0;b<this.argumentVarModels_.length;b++){c=this.argumentVarModels_[b];const d={type:"variables_get",fields:{VAR:{name:c.getName(),id:c.getId(),type:c.getType()}}};a.push({enabled:!0,text:$.Msg$$module$build$src$core$msg.VARIABLES_SET_CREATE_GET.replace("%1",
|
|
69
|
+
c.getName()),callback:$.callbackFactory$$module$build$src$core$contextmenu(this,d)})}}}};
|
|
70
|
+
blocks$$module$build$src$blocks$procedures.procedures_defnoreturn=Object.assign({},PROCEDURE_DEF_COMMON$$module$build$src$blocks$procedures,{init:function(){var a=$.findLegalName$$module$build$src$core$procedures("",this);a=$.fromJson$$module$build$src$core$field_registry({type:"field_input",text:a});a.setValidator($.rename$$module$build$src$core$procedures);a.setSpellcheck(!1);this.appendDummyInput().appendField($.Msg$$module$build$src$core$msg.PROCEDURES_DEFNORETURN_TITLE).appendField(a,"NAME").appendField("",
|
|
71
|
+
"PARAMS");this.setMutator(new $.MutatorIcon$$module$build$src$core$icons$mutator_icon(["procedures_mutatorarg"],this));(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&$.Msg$$module$build$src$core$msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText($.Msg$$module$build$src$core$msg.PROCEDURES_DEFNORETURN_COMMENT);this.setStyle("procedure_blocks");this.setTooltip($.Msg$$module$build$src$core$msg.PROCEDURES_DEFNORETURN_TOOLTIP);
|
|
72
|
+
this.setHelpUrl($.Msg$$module$build$src$core$msg.PROCEDURES_DEFNORETURN_HELPURL);this.arguments_=[];this.argumentVarModels_=[];this.setStatements_(!0);this.statementConnection_=null},getProcedureDef:function(){return[this.getFieldValue("NAME"),this.arguments_,!1]},callType_:"procedures_callnoreturn"});
|
|
73
|
+
blocks$$module$build$src$blocks$procedures.procedures_defreturn=Object.assign({},PROCEDURE_DEF_COMMON$$module$build$src$blocks$procedures,{init:function(){var a=$.findLegalName$$module$build$src$core$procedures("",this);a=$.fromJson$$module$build$src$core$field_registry({type:"field_input",text:a});a.setValidator($.rename$$module$build$src$core$procedures);a.setSpellcheck(!1);this.appendDummyInput().appendField($.Msg$$module$build$src$core$msg.PROCEDURES_DEFRETURN_TITLE).appendField(a,"NAME").appendField("",
|
|
74
|
+
"PARAMS");this.appendValueInput("RETURN").setAlign($.Align$$module$build$src$core$inputs$align.RIGHT).appendField($.Msg$$module$build$src$core$msg.PROCEDURES_DEFRETURN_RETURN);this.setMutator(new $.MutatorIcon$$module$build$src$core$icons$mutator_icon(["procedures_mutatorarg"],this));(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&$.Msg$$module$build$src$core$msg.PROCEDURES_DEFRETURN_COMMENT&&this.setCommentText($.Msg$$module$build$src$core$msg.PROCEDURES_DEFRETURN_COMMENT);
|
|
75
|
+
this.setStyle("procedure_blocks");this.setTooltip($.Msg$$module$build$src$core$msg.PROCEDURES_DEFRETURN_TOOLTIP);this.setHelpUrl($.Msg$$module$build$src$core$msg.PROCEDURES_DEFRETURN_HELPURL);this.arguments_=[];this.argumentVarModels_=[];this.setStatements_(!0);this.statementConnection_=null},getProcedureDef:function(){return[this.getFieldValue("NAME"),this.arguments_,!0]},callType_:"procedures_callreturn"});
|
|
76
|
+
var PROCEDURES_MUTATORCONTAINER$$module$build$src$blocks$procedures={init:function(){this.appendDummyInput().appendField($.Msg$$module$build$src$core$msg.PROCEDURES_MUTATORCONTAINER_TITLE);this.appendStatementInput("STACK");this.appendDummyInput("STATEMENT_INPUT").appendField($.Msg$$module$build$src$core$msg.PROCEDURES_ALLOW_STATEMENTS).appendField($.fromJson$$module$build$src$core$field_registry({type:"field_checkbox",checked:!0}),"STATEMENTS");this.setStyle("procedure_blocks");this.setTooltip($.Msg$$module$build$src$core$msg.PROCEDURES_MUTATORCONTAINER_TOOLTIP);
|
|
77
|
+
this.contextMenu=!1}};blocks$$module$build$src$blocks$procedures.procedures_mutatorcontainer=PROCEDURES_MUTATORCONTAINER$$module$build$src$blocks$procedures;
|
|
78
|
+
var ProcedureArgumentField$$module$build$src$blocks$procedures=class extends $.FieldTextInput$$module$build$src$core$field_textinput{constructor(){super(...arguments);this.editingInteractively=!1}showEditor_(a){super.showEditor_(a);this.editingInteractively=!0;this.editingVariable=void 0}onFinishEditing_(a){super.onFinishEditing_(a);this.editingInteractively=!1}},PROCEDURES_MUTATORARGUMENT$$module$build$src$blocks$procedures={init:function(){const a=new ProcedureArgumentField$$module$build$src$blocks$procedures($.DEFAULT_ARG$$module$build$src$core$procedures,
|
|
79
|
+
this.validator_);this.appendDummyInput().appendField($.Msg$$module$build$src$core$msg.PROCEDURES_MUTATORARG_TITLE).appendField(a,"NAME");this.setPreviousStatement(!0);this.setNextStatement(!0);this.setStyle("procedure_blocks");this.setTooltip($.Msg$$module$build$src$core$msg.PROCEDURES_MUTATORARG_TOOLTIP);this.contextMenu=!1},validator_:function(a){var b=this.getSourceBlock(),c=b.workspace.getRootWorkspace();a=a.replace(/[\s\xa0]+/g," ").replace(/^ | $/g,"");if(!a)return null;const d=(b.workspace.targetWorkspace||
|
|
80
|
+
b.workspace).getAllBlocks(!1),e=a.toLowerCase();for(let f=0;f<d.length;f++){if(d[f].id===this.getSourceBlock().id)continue;const g=d[f].getFieldValue("NAME");if(g&&g.toLowerCase()===e)return null}if(b.isInFlyout)return a;b=c.getVariableMap();(c=b.getVariable(a,""))&&c.getName()!==a&&b.renameVariable(c,a);c||(this.editingInteractively?this.editingVariable?b.renameVariable(this.editingVariable,a):this.editingVariable=b.createVariable(a,""):b.createVariable(a,""));return a}};
|
|
81
|
+
blocks$$module$build$src$blocks$procedures.procedures_mutatorarg=PROCEDURES_MUTATORARGUMENT$$module$build$src$blocks$procedures;
|
|
82
|
+
var DISABLED_PROCEDURE_DEFINITION_DISABLED_REASON$$module$build$src$blocks$procedures="DISABLED_PROCEDURE_DEFINITION",PROCEDURE_CALL_COMMON$$module$build$src$blocks$procedures={getProcedureCall:function(){return this.getFieldValue("NAME")},renameProcedure:function(a,b){$.Names$$module$build$src$core$names.equals(a,this.getProcedureCall())&&(this.setFieldValue(b,"NAME"),this.setTooltip((this.outputConnection?$.Msg$$module$build$src$core$msg.PROCEDURES_CALLRETURN_TOOLTIP:$.Msg$$module$build$src$core$msg.PROCEDURES_CALLNORETURN_TOOLTIP).replace("%1",
|
|
83
|
+
b)))},setProcedureParameters_:function(a,b){var c=$.getDefinition$$module$build$src$core$procedures(this.getProcedureCall(),this.workspace);(c=(c=c&&c.getIcon($.MutatorIcon$$module$build$src$core$icons$mutator_icon.TYPE))&&c.bubbleIsVisible())?this.setCollapsed(!1):(this.quarkConnections_={},this.quarkIds_=null);if(a.join("\n")===this.arguments_.join("\n"))this.quarkIds_=b;else{if(b.length!==a.length)throw RangeError("paramNames and paramIds must be the same length.");this.quarkIds_||(this.quarkConnections_=
|
|
84
|
+
{},this.quarkIds_=[]);for(let e=0;e<this.arguments_.length;e++){var d=this.getInput("ARG"+e);d&&(d=d.connection.targetConnection,this.quarkConnections_[this.quarkIds_[e]]=d,c&&d&&!b.includes(this.quarkIds_[e])&&(d.disconnect(),d.getSourceBlock().bumpNeighbours()))}this.arguments_=[].concat(a);this.argumentVarModels_=[];for(a=0;a<this.arguments_.length;a++)c=$.getOrCreateVariablePackage$$module$build$src$core$variables(this.workspace,null,this.arguments_[a],""),this.argumentVarModels_.push(c);this.updateShape_();
|
|
85
|
+
if(this.quarkIds_=b)for(b=0;b<this.arguments_.length;b++)if(a=this.quarkIds_[b],a in this.quarkConnections_){let e;((e=this.quarkConnections_[a])==null?0:e.reconnect(this,"ARG"+b))||delete this.quarkConnections_[a]}}},updateShape_:function(){for(var a=0;a<this.arguments_.length;a++){var b=this.getField("ARGNAME"+a);if(b){$.disable$$module$build$src$core$events$utils();try{b.setValue(this.arguments_[a])}finally{$.enable$$module$build$src$core$events$utils()}}else b=$.fromJson$$module$build$src$core$field_registry({type:"field_label",
|
|
86
|
+
text:this.arguments_[a]}),this.appendValueInput("ARG"+a).setAlign($.Align$$module$build$src$core$inputs$align.RIGHT).appendField(b,"ARGNAME"+a)}for(a=this.arguments_.length;this.getInput("ARG"+a);a++)this.removeInput("ARG"+a);(a=this.getInput("TOPROW"))&&(this.arguments_.length?this.getField("WITH")||a.appendField($.Msg$$module$build$src$core$msg.PROCEDURES_CALL_BEFORE_PARAMS,"WITH"):this.getField("WITH")&&a.removeField("WITH"))},mutationToDom:function(){const a=$.createElement$$module$build$src$core$utils$xml("mutation");
|
|
87
|
+
a.setAttribute("name",this.getProcedureCall());for(let b=0;b<this.arguments_.length;b++){const c=$.createElement$$module$build$src$core$utils$xml("arg");c.setAttribute("name",this.arguments_[b]);a.appendChild(c)}return a},domToMutation:function(a){var b=a.getAttribute("name");this.renameProcedure(this.getProcedureCall(),b);b=[];const c=[];for(let d=0,e;e=a.childNodes[d];d++)e.nodeName.toLowerCase()==="arg"&&(b.push(e.getAttribute("name")),c.push(e.getAttribute("paramId")));this.setProcedureParameters_(b,
|
|
88
|
+
c)},saveExtraState:function(){const a=Object.create(null);a.name=this.getProcedureCall();this.arguments_.length&&(a.params=this.arguments_);return a},loadExtraState:function(a){this.renameProcedure(this.getProcedureCall(),a.name);if(a=a.params){const b=[];b.length=a.length;b.fill(null);this.setProcedureParameters_(a,b)}},getVars:function(){return this.arguments_},getVarModels:function(){return this.argumentVarModels_},onchange:function(a){if(this.workspace&&!this.workspace.isFlyout&&a.recordUndo)if(a.type===
|
|
89
|
+
$.BLOCK_CREATE$$module$build$src$core$events$events&&a.ids.includes(this.id)){var b=this.getProcedureCall(),c=$.getDefinition$$module$build$src$core$procedures(b,this.workspace);!c||c.type===this.defType_&&JSON.stringify(c.getVars())===JSON.stringify(this.arguments_)||(c=null);if(c)c.isEnabled()||(this.setDisabledReason(!0,DISABLED_PROCEDURE_DEFINITION_DISABLED_REASON$$module$build$src$blocks$procedures),this.setWarningText($.Msg$$module$build$src$core$msg.PROCEDURES_CALL_DISABLED_DEF_WARNING.replace("%1",
|
|
90
|
+
b)));else{$.setGroup$$module$build$src$core$events$utils(a.group);a=$.createElement$$module$build$src$core$utils$xml("xml");b=$.createElement$$module$build$src$core$utils$xml("block");b.setAttribute("type",this.defType_);c=this.getRelativeToSurfaceXY();var d=c.y+$.config$$module$build$src$core$config.snapRadius*2;b.setAttribute("x",`${c.x+$.config$$module$build$src$core$config.snapRadius*(this.RTL?-1:1)}`);b.setAttribute("y",`${d}`);c=this.mutationToDom();b.appendChild(c);c=$.createElement$$module$build$src$core$utils$xml("field");
|
|
91
|
+
c.setAttribute("name","NAME");d=this.getProcedureCall();const e=$.findLegalName$$module$build$src$core$procedures(d,this);d!==e&&this.renameProcedure(d,e);c.appendChild($.createTextNode$$module$build$src$core$utils$xml(d));b.appendChild(c);a.appendChild(b);$.domToWorkspace$$module$build$src$core$xml(a,this.workspace);$.setGroup$$module$build$src$core$events$utils(!1)}}else a.type===$.BLOCK_DELETE$$module$build$src$core$events$events?(b=this.getProcedureCall(),$.getDefinition$$module$build$src$core$procedures(b,
|
|
92
|
+
this.workspace)||($.setGroup$$module$build$src$core$events$utils(a.group),this.dispose(!0),$.setGroup$$module$build$src$core$events$utils(!1))):a.type===$.BLOCK_CHANGE$$module$build$src$core$events$events&&a.element==="disabled"&&(b=this.getProcedureCall(),(d=$.getDefinition$$module$build$src$core$procedures(b,this.workspace))&&d.id===a.blockId&&((c=$.getGroup$$module$build$src$core$events$utils())&&console.log("Saw an existing group while responding to a definition change"),$.setGroup$$module$build$src$core$events$utils(a.group),
|
|
93
|
+
a=d.isEnabled(),this.setDisabledReason(!a,DISABLED_PROCEDURE_DEFINITION_DISABLED_REASON$$module$build$src$blocks$procedures),this.setWarningText(a?null:$.Msg$$module$build$src$core$msg.PROCEDURES_CALL_DISABLED_DEF_WARNING.replace("%1",b)),$.setGroup$$module$build$src$core$events$utils(c)))},customContextMenu:function(a){if(this.workspace.isMovable()){var b=this.getProcedureCall(),c=this.workspace;a.push({enabled:!0,text:$.Msg$$module$build$src$core$msg.PROCEDURES_HIGHLIGHT_DEF,callback:function(){const d=
|
|
94
|
+
$.getDefinition$$module$build$src$core$procedures(b,c);d&&(c.centerOnBlock(d.id),$.getFocusManager$$module$build$src$core$focus_manager().focusNode(d))}})}}};
|
|
95
|
+
blocks$$module$build$src$blocks$procedures.procedures_callnoreturn=Object.assign({},PROCEDURE_CALL_COMMON$$module$build$src$blocks$procedures,{init:function(){this.appendDummyInput("TOPROW").appendField("","NAME");this.setPreviousStatement(!0);this.setNextStatement(!0);this.setStyle("procedure_blocks");this.setHelpUrl($.Msg$$module$build$src$core$msg.PROCEDURES_CALLNORETURN_HELPURL);this.arguments_=[];this.argumentVarModels_=[];this.quarkConnections_={};this.quarkIds_=null},defType_:"procedures_defnoreturn"});
|
|
96
|
+
blocks$$module$build$src$blocks$procedures.procedures_callreturn=Object.assign({},PROCEDURE_CALL_COMMON$$module$build$src$blocks$procedures,{init:function(){this.appendDummyInput("TOPROW").appendField("","NAME");this.setOutput(!0);this.setStyle("procedure_blocks");this.setHelpUrl($.Msg$$module$build$src$core$msg.PROCEDURES_CALLRETURN_HELPURL);this.arguments_=[];this.argumentVarModels_=[];this.quarkConnections_={};this.quarkIds_=null},defType_:"procedures_defreturn"});
|
|
97
|
+
var UNPARENTED_IFRETURN_DISABLED_REASON$$module$build$src$blocks$procedures="UNPARENTED_IFRETURN",PROCEDURES_IFRETURN$$module$build$src$blocks$procedures={init:function(){this.appendValueInput("CONDITION").setCheck("Boolean").appendField($.Msg$$module$build$src$core$msg.CONTROLS_IF_MSG_IF);this.appendValueInput("VALUE").appendField($.Msg$$module$build$src$core$msg.PROCEDURES_DEFRETURN_RETURN);this.setInputsInline(!0);this.setPreviousStatement(!0);this.setNextStatement(!0);this.setStyle("procedure_blocks");
|
|
98
|
+
this.setTooltip($.Msg$$module$build$src$core$msg.PROCEDURES_IFRETURN_TOOLTIP);this.setHelpUrl($.Msg$$module$build$src$core$msg.PROCEDURES_IFRETURN_HELPURL);this.hasReturnValue_=!0},mutationToDom:function(){const a=$.createElement$$module$build$src$core$utils$xml("mutation");a.setAttribute("value",String(Number(this.hasReturnValue_)));return a},domToMutation:function(a){this.hasReturnValue_=a.getAttribute("value")==="1";this.hasReturnValue_||(this.removeInput("VALUE"),this.appendDummyInput("VALUE").appendField($.Msg$$module$build$src$core$msg.PROCEDURES_DEFRETURN_RETURN))},
|
|
99
|
+
onchange:function(a){if(!(this.workspace.isDragging&&this.workspace.isDragging()||a.type!==$.BLOCK_MOVE$$module$build$src$core$events$events&&a.type!==$.BLOCK_CREATE$$module$build$src$core$events$events)){a=!1;var b=this;do{if(this.FUNCTION_TYPES.includes(b.type)){a=!0;break}b=b.getSurroundParent()}while(b);a?(b.type==="procedures_defnoreturn"&&this.hasReturnValue_?(this.removeInput("VALUE"),this.appendDummyInput("VALUE").appendField($.Msg$$module$build$src$core$msg.PROCEDURES_DEFRETURN_RETURN),this.hasReturnValue_=
|
|
100
|
+
!1):b.type!=="procedures_defreturn"||this.hasReturnValue_||(this.removeInput("VALUE"),this.appendValueInput("VALUE").appendField($.Msg$$module$build$src$core$msg.PROCEDURES_DEFRETURN_RETURN),this.hasReturnValue_=!0),this.setWarningText(null)):this.setWarningText($.Msg$$module$build$src$core$msg.PROCEDURES_IFRETURN_WARNING);if(!this.isInFlyout)try{$.setRecordUndo$$module$build$src$core$events$utils(!1),this.setDisabledReason(!a,UNPARENTED_IFRETURN_DISABLED_REASON$$module$build$src$blocks$procedures)}finally{$.setRecordUndo$$module$build$src$core$events$utils(!0)}}},
|
|
101
|
+
FUNCTION_TYPES:["procedures_defnoreturn","procedures_defreturn"]};blocks$$module$build$src$blocks$procedures.procedures_ifreturn=PROCEDURES_IFRETURN$$module$build$src$blocks$procedures;$.defineBlocks$$module$build$src$core$common(blocks$$module$build$src$blocks$procedures);var module$build$src$blocks$procedures={blocks:blocks$$module$build$src$blocks$procedures};var blocks$$module$build$src$blocks$math=$.createBlockDefinitionsFromJsonArray$$module$build$src$core$common([{type:"math_number",message0:"%1",args0:[{type:"field_number",name:"NUM",value:0}],output:"Number",helpUrl:"%{BKY_MATH_NUMBER_HELPURL}",style:"math_blocks",tooltip:"%{BKY_MATH_NUMBER_TOOLTIP}",extensions:["parent_tooltip_when_inline"]},{type:"math_arithmetic",message0:"%1 %2 %3",args0:[{type:"input_value",name:"A",check:"Number"},{type:"field_dropdown",name:"OP",options:[["%{BKY_MATH_ADDITION_SYMBOL}",
|
|
102
|
+
"ADD"],["%{BKY_MATH_SUBTRACTION_SYMBOL}","MINUS"],["%{BKY_MATH_MULTIPLICATION_SYMBOL}","MULTIPLY"],["%{BKY_MATH_DIVISION_SYMBOL}","DIVIDE"],["%{BKY_MATH_POWER_SYMBOL}","POWER"]]},{type:"input_value",name:"B",check:"Number"}],inputsInline:!0,output:"Number",style:"math_blocks",helpUrl:"%{BKY_MATH_ARITHMETIC_HELPURL}",extensions:["math_op_tooltip"]},{type:"math_single",message0:"%1 %2",args0:[{type:"field_dropdown",name:"OP",options:[["%{BKY_MATH_SINGLE_OP_ROOT}","ROOT"],["%{BKY_MATH_SINGLE_OP_ABSOLUTE}",
|
|
103
|
+
"ABS"],["-","NEG"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]},{type:"input_value",name:"NUM",check:"Number"}],output:"Number",style:"math_blocks",helpUrl:"%{BKY_MATH_SINGLE_HELPURL}",extensions:["math_op_tooltip"]},{type:"math_trig",message0:"%1 %2",args0:[{type:"field_dropdown",name:"OP",options:[["%{BKY_MATH_TRIG_SIN}","SIN"],["%{BKY_MATH_TRIG_COS}","COS"],["%{BKY_MATH_TRIG_TAN}","TAN"],["%{BKY_MATH_TRIG_ASIN}","ASIN"],["%{BKY_MATH_TRIG_ACOS}","ACOS"],["%{BKY_MATH_TRIG_ATAN}",
|
|
104
|
+
"ATAN"]]},{type:"input_value",name:"NUM",check:"Number"}],output:"Number",style:"math_blocks",helpUrl:"%{BKY_MATH_TRIG_HELPURL}",extensions:["math_op_tooltip"]},{type:"math_constant",message0:"%1",args0:[{type:"field_dropdown",name:"CONSTANT",options:[["\u03c0","PI"],["e","E"],["\u03c6","GOLDEN_RATIO"],["sqrt(2)","SQRT2"],["sqrt(\u00bd)","SQRT1_2"],["\u221e","INFINITY"]]}],output:"Number",style:"math_blocks",tooltip:"%{BKY_MATH_CONSTANT_TOOLTIP}",helpUrl:"%{BKY_MATH_CONSTANT_HELPURL}"},{type:"math_number_property",
|
|
105
|
+
message0:"%1 %2",args0:[{type:"input_value",name:"NUMBER_TO_CHECK",check:"Number"},{type:"field_dropdown",name:"PROPERTY",options:[["%{BKY_MATH_IS_EVEN}","EVEN"],["%{BKY_MATH_IS_ODD}","ODD"],["%{BKY_MATH_IS_PRIME}","PRIME"],["%{BKY_MATH_IS_WHOLE}","WHOLE"],["%{BKY_MATH_IS_POSITIVE}","POSITIVE"],["%{BKY_MATH_IS_NEGATIVE}","NEGATIVE"],["%{BKY_MATH_IS_DIVISIBLE_BY}","DIVISIBLE_BY"]]}],inputsInline:!0,output:"Boolean",style:"math_blocks",tooltip:"%{BKY_MATH_IS_TOOLTIP}",mutator:"math_is_divisibleby_mutator"},
|
|
106
|
+
{type:"math_change",message0:"%{BKY_MATH_CHANGE_TITLE}",args0:[{type:"field_variable",name:"VAR",variable:"%{BKY_MATH_CHANGE_TITLE_ITEM}"},{type:"input_value",name:"DELTA",check:"Number"}],previousStatement:null,nextStatement:null,style:"variable_blocks",helpUrl:"%{BKY_MATH_CHANGE_HELPURL}",extensions:["math_change_tooltip"]},{type:"math_round",message0:"%1 %2",args0:[{type:"field_dropdown",name:"OP",options:[["%{BKY_MATH_ROUND_OPERATOR_ROUND}","ROUND"],["%{BKY_MATH_ROUND_OPERATOR_ROUNDUP}","ROUNDUP"],
|
|
107
|
+
["%{BKY_MATH_ROUND_OPERATOR_ROUNDDOWN}","ROUNDDOWN"]]},{type:"input_value",name:"NUM",check:"Number"}],output:"Number",style:"math_blocks",helpUrl:"%{BKY_MATH_ROUND_HELPURL}",tooltip:"%{BKY_MATH_ROUND_TOOLTIP}"},{type:"math_on_list",message0:"%1 %2",args0:[{type:"field_dropdown",name:"OP",options:[["%{BKY_MATH_ONLIST_OPERATOR_SUM}","SUM"],["%{BKY_MATH_ONLIST_OPERATOR_MIN}","MIN"],["%{BKY_MATH_ONLIST_OPERATOR_MAX}","MAX"],["%{BKY_MATH_ONLIST_OPERATOR_AVERAGE}","AVERAGE"],["%{BKY_MATH_ONLIST_OPERATOR_MEDIAN}",
|
|
108
|
+
"MEDIAN"],["%{BKY_MATH_ONLIST_OPERATOR_MODE}","MODE"],["%{BKY_MATH_ONLIST_OPERATOR_STD_DEV}","STD_DEV"],["%{BKY_MATH_ONLIST_OPERATOR_RANDOM}","RANDOM"]]},{type:"input_value",name:"LIST",check:"Array"}],output:"Number",style:"math_blocks",helpUrl:"%{BKY_MATH_ONLIST_HELPURL}",mutator:"math_modes_of_list_mutator",extensions:["math_op_tooltip"]},{type:"math_modulo",message0:"%{BKY_MATH_MODULO_TITLE}",args0:[{type:"input_value",name:"DIVIDEND",check:"Number"},{type:"input_value",name:"DIVISOR",check:"Number"}],
|
|
109
|
+
inputsInline:!0,output:"Number",style:"math_blocks",tooltip:"%{BKY_MATH_MODULO_TOOLTIP}",helpUrl:"%{BKY_MATH_MODULO_HELPURL}"},{type:"math_constrain",message0:"%{BKY_MATH_CONSTRAIN_TITLE}",args0:[{type:"input_value",name:"VALUE",check:"Number"},{type:"input_value",name:"LOW",check:"Number"},{type:"input_value",name:"HIGH",check:"Number"}],inputsInline:!0,output:"Number",style:"math_blocks",tooltip:"%{BKY_MATH_CONSTRAIN_TOOLTIP}",helpUrl:"%{BKY_MATH_CONSTRAIN_HELPURL}"},{type:"math_random_int",message0:"%{BKY_MATH_RANDOM_INT_TITLE}",
|
|
110
|
+
args0:[{type:"input_value",name:"FROM",check:"Number"},{type:"input_value",name:"TO",check:"Number"}],inputsInline:!0,output:"Number",style:"math_blocks",tooltip:"%{BKY_MATH_RANDOM_INT_TOOLTIP}",helpUrl:"%{BKY_MATH_RANDOM_INT_HELPURL}"},{type:"math_random_float",message0:"%{BKY_MATH_RANDOM_FLOAT_TITLE_RANDOM}",output:"Number",style:"math_blocks",tooltip:"%{BKY_MATH_RANDOM_FLOAT_TOOLTIP}",helpUrl:"%{BKY_MATH_RANDOM_FLOAT_HELPURL}"},{type:"math_atan2",message0:"%{BKY_MATH_ATAN2_TITLE}",args0:[{type:"input_value",
|
|
111
|
+
name:"X",check:"Number"},{type:"input_value",name:"Y",check:"Number"}],inputsInline:!0,output:"Number",style:"math_blocks",tooltip:"%{BKY_MATH_ATAN2_TOOLTIP}",helpUrl:"%{BKY_MATH_ATAN2_HELPURL}"}]),TOOLTIPS_BY_OP$$module$build$src$blocks$math={ADD:"%{BKY_MATH_ARITHMETIC_TOOLTIP_ADD}",MINUS:"%{BKY_MATH_ARITHMETIC_TOOLTIP_MINUS}",MULTIPLY:"%{BKY_MATH_ARITHMETIC_TOOLTIP_MULTIPLY}",DIVIDE:"%{BKY_MATH_ARITHMETIC_TOOLTIP_DIVIDE}",POWER:"%{BKY_MATH_ARITHMETIC_TOOLTIP_POWER}",ROOT:"%{BKY_MATH_SINGLE_TOOLTIP_ROOT}",
|
|
112
|
+
ABS:"%{BKY_MATH_SINGLE_TOOLTIP_ABS}",NEG:"%{BKY_MATH_SINGLE_TOOLTIP_NEG}",LN:"%{BKY_MATH_SINGLE_TOOLTIP_LN}",LOG10:"%{BKY_MATH_SINGLE_TOOLTIP_LOG10}",EXP:"%{BKY_MATH_SINGLE_TOOLTIP_EXP}",POW10:"%{BKY_MATH_SINGLE_TOOLTIP_POW10}",SIN:"%{BKY_MATH_TRIG_TOOLTIP_SIN}",COS:"%{BKY_MATH_TRIG_TOOLTIP_COS}",TAN:"%{BKY_MATH_TRIG_TOOLTIP_TAN}",ASIN:"%{BKY_MATH_TRIG_TOOLTIP_ASIN}",ACOS:"%{BKY_MATH_TRIG_TOOLTIP_ACOS}",ATAN:"%{BKY_MATH_TRIG_TOOLTIP_ATAN}",SUM:"%{BKY_MATH_ONLIST_TOOLTIP_SUM}",MIN:"%{BKY_MATH_ONLIST_TOOLTIP_MIN}",
|
|
113
|
+
MAX:"%{BKY_MATH_ONLIST_TOOLTIP_MAX}",AVERAGE:"%{BKY_MATH_ONLIST_TOOLTIP_AVERAGE}",MEDIAN:"%{BKY_MATH_ONLIST_TOOLTIP_MEDIAN}",MODE:"%{BKY_MATH_ONLIST_TOOLTIP_MODE}",STD_DEV:"%{BKY_MATH_ONLIST_TOOLTIP_STD_DEV}",RANDOM:"%{BKY_MATH_ONLIST_TOOLTIP_RANDOM}"};$.register$$module$build$src$core$extensions("math_op_tooltip",$.buildTooltipForDropdown$$module$build$src$core$extensions("OP",TOOLTIPS_BY_OP$$module$build$src$blocks$math));
|
|
114
|
+
var IS_DIVISIBLEBY_MUTATOR_MIXIN$$module$build$src$blocks$math={mutationToDom:function(){const a=$.createElement$$module$build$src$core$utils$xml("mutation"),b=this.getFieldValue("PROPERTY")==="DIVISIBLE_BY";a.setAttribute("divisor_input",String(b));return a},domToMutation:function(a){a=a.getAttribute("divisor_input")==="true";this.updateShape_(a)},updateShape_:function(a){const b=this.getInput("DIVISOR");a?b||this.appendValueInput("DIVISOR").setCheck("Number"):b&&this.removeInput("DIVISOR")}},IS_DIVISIBLE_MUTATOR_EXTENSION$$module$build$src$blocks$math=
|
|
115
|
+
function(){this.getField("PROPERTY").setValidator(function(a){a=a==="DIVISIBLE_BY";this.getSourceBlock().updateShape_(a)})};$.registerMutator$$module$build$src$core$extensions("math_is_divisibleby_mutator",IS_DIVISIBLEBY_MUTATOR_MIXIN$$module$build$src$blocks$math,IS_DIVISIBLE_MUTATOR_EXTENSION$$module$build$src$blocks$math);$.register$$module$build$src$core$extensions("math_change_tooltip",$.buildTooltipWithFieldText$$module$build$src$core$extensions("%{BKY_MATH_CHANGE_TOOLTIP}","VAR"));
|
|
116
|
+
var LIST_MODES_MUTATOR_MIXIN$$module$build$src$blocks$math={updateType_:function(a){a==="MODE"?this.outputConnection.setCheck("Array"):this.outputConnection.setCheck("Number")},mutationToDom:function(){const a=$.createElement$$module$build$src$core$utils$xml("mutation");a.setAttribute("op",this.getFieldValue("OP"));return a},domToMutation:function(a){a=a.getAttribute("op");if(a===null)throw new TypeError("xmlElement had no op attribute");this.updateType_(a)}},LIST_MODES_MUTATOR_EXTENSION$$module$build$src$blocks$math=
|
|
117
|
+
function(){this.getField("OP").setValidator(function(a){this.updateType_(a)}.bind(this))};$.registerMutator$$module$build$src$core$extensions("math_modes_of_list_mutator",LIST_MODES_MUTATOR_MIXIN$$module$build$src$blocks$math,LIST_MODES_MUTATOR_EXTENSION$$module$build$src$blocks$math);$.defineBlocks$$module$build$src$core$common(blocks$$module$build$src$blocks$math);var module$build$src$blocks$math={blocks:blocks$$module$build$src$blocks$math};var blocks$$module$build$src$blocks$loops=$.createBlockDefinitionsFromJsonArray$$module$build$src$core$common([{type:"controls_repeat_ext",message0:"%{BKY_CONTROLS_REPEAT_TITLE}",args0:[{type:"input_value",name:"TIMES",check:"Number"}],message1:"%{BKY_CONTROLS_REPEAT_INPUT_DO} %1",args1:[{type:"input_statement",name:"DO"}],previousStatement:null,nextStatement:null,style:"loop_blocks",tooltip:"%{BKY_CONTROLS_REPEAT_TOOLTIP}",helpUrl:"%{BKY_CONTROLS_REPEAT_HELPURL}"},{type:"controls_repeat",message0:"%{BKY_CONTROLS_REPEAT_TITLE}",
|
|
118
|
+
args0:[{type:"field_number",name:"TIMES",value:10,min:0,precision:1}],message1:"%{BKY_CONTROLS_REPEAT_INPUT_DO} %1",args1:[{type:"input_statement",name:"DO"}],previousStatement:null,nextStatement:null,style:"loop_blocks",tooltip:"%{BKY_CONTROLS_REPEAT_TOOLTIP}",helpUrl:"%{BKY_CONTROLS_REPEAT_HELPURL}"},{type:"controls_whileUntil",message0:"%1 %2",args0:[{type:"field_dropdown",name:"MODE",options:[["%{BKY_CONTROLS_WHILEUNTIL_OPERATOR_WHILE}","WHILE"],["%{BKY_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL}","UNTIL"]]},
|
|
119
|
+
{type:"input_value",name:"BOOL",check:"Boolean"}],message1:"%{BKY_CONTROLS_REPEAT_INPUT_DO} %1",args1:[{type:"input_statement",name:"DO"}],previousStatement:null,nextStatement:null,style:"loop_blocks",helpUrl:"%{BKY_CONTROLS_WHILEUNTIL_HELPURL}",extensions:["controls_whileUntil_tooltip"]},{type:"controls_for",message0:"%{BKY_CONTROLS_FOR_TITLE}",args0:[{type:"field_variable",name:"VAR",variable:null},{type:"input_value",name:"FROM",check:"Number",align:"RIGHT"},{type:"input_value",name:"TO",check:"Number",
|
|
120
|
+
align:"RIGHT"},{type:"input_value",name:"BY",check:"Number",align:"RIGHT"}],message1:"%{BKY_CONTROLS_REPEAT_INPUT_DO} %1",args1:[{type:"input_statement",name:"DO"}],inputsInline:!0,previousStatement:null,nextStatement:null,style:"loop_blocks",helpUrl:"%{BKY_CONTROLS_FOR_HELPURL}",extensions:["contextMenu_newGetVariableBlock","controls_for_tooltip"]},{type:"controls_forEach",message0:"%{BKY_CONTROLS_FOREACH_TITLE}",args0:[{type:"field_variable",name:"VAR",variable:null},{type:"input_value",name:"LIST",
|
|
121
|
+
check:"Array"}],message1:"%{BKY_CONTROLS_REPEAT_INPUT_DO} %1",args1:[{type:"input_statement",name:"DO"}],previousStatement:null,nextStatement:null,style:"loop_blocks",helpUrl:"%{BKY_CONTROLS_FOREACH_HELPURL}",extensions:["contextMenu_newGetVariableBlock","controls_forEach_tooltip"]},{type:"controls_flow_statements",message0:"%1",args0:[{type:"field_dropdown",name:"FLOW",options:[["%{BKY_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK}","BREAK"],["%{BKY_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE}","CONTINUE"]]}],
|
|
122
|
+
previousStatement:null,style:"loop_blocks",helpUrl:"%{BKY_CONTROLS_FLOW_STATEMENTS_HELPURL}",suppressPrefixSuffix:!0,extensions:["controls_flow_tooltip","controls_flow_in_loop_check"]}]),WHILE_UNTIL_TOOLTIPS$$module$build$src$blocks$loops={WHILE:"%{BKY_CONTROLS_WHILEUNTIL_TOOLTIP_WHILE}",UNTIL:"%{BKY_CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}"};$.register$$module$build$src$core$extensions("controls_whileUntil_tooltip",$.buildTooltipForDropdown$$module$build$src$core$extensions("MODE",WHILE_UNTIL_TOOLTIPS$$module$build$src$blocks$loops));
|
|
123
|
+
var BREAK_CONTINUE_TOOLTIPS$$module$build$src$blocks$loops={BREAK:"%{BKY_CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK}",CONTINUE:"%{BKY_CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}"};$.register$$module$build$src$core$extensions("controls_flow_tooltip",$.buildTooltipForDropdown$$module$build$src$core$extensions("FLOW",BREAK_CONTINUE_TOOLTIPS$$module$build$src$blocks$loops));
|
|
124
|
+
var CUSTOM_CONTEXT_MENU_CREATE_VARIABLES_GET_MIXIN$$module$build$src$blocks$loops={customContextMenu:function(a){if(!this.isInFlyout){var b=this.getField("VAR"),c=b.getVariable().getName();this.isCollapsed()||c===null||(b={type:"variables_get",fields:{VAR:b.saveState(!0)}},a.push({enabled:!0,text:$.Msg$$module$build$src$core$msg.VARIABLES_SET_CREATE_GET.replace("%1",c),callback:$.callbackFactory$$module$build$src$core$contextmenu(this,b)}))}}};
|
|
125
|
+
$.registerMixin$$module$build$src$core$extensions("contextMenu_newGetVariableBlock",CUSTOM_CONTEXT_MENU_CREATE_VARIABLES_GET_MIXIN$$module$build$src$blocks$loops);$.register$$module$build$src$core$extensions("controls_for_tooltip",$.buildTooltipWithFieldText$$module$build$src$core$extensions("%{BKY_CONTROLS_FOR_TOOLTIP}","VAR"));$.register$$module$build$src$core$extensions("controls_forEach_tooltip",$.buildTooltipWithFieldText$$module$build$src$core$extensions("%{BKY_CONTROLS_FOREACH_TOOLTIP}","VAR"));
|
|
126
|
+
var loopTypes$$module$build$src$blocks$loops=new Set(["controls_repeat","controls_repeat_ext","controls_forEach","controls_for","controls_whileUntil"]),CONTROL_FLOW_NOT_IN_LOOP_DISABLED_REASON$$module$build$src$blocks$loops="CONTROL_FLOW_NOT_IN_LOOP",CONTROL_FLOW_IN_LOOP_CHECK_MIXIN$$module$build$src$blocks$loops={getSurroundLoop:function(){let a=this;do{if(loopTypes$$module$build$src$blocks$loops.has(a.type))return a;a=a.getSurroundParent()}while(a);return null},onchange:function(a){const b=this.workspace;
|
|
127
|
+
if(b.isDragging&&!b.isDragging()&&(a.type===$.BLOCK_MOVE$$module$build$src$core$events$events||a.type===$.BLOCK_CREATE$$module$build$src$core$events$events)&&(a=!!this.getSurroundLoop(),this.setWarningText(a?null:$.Msg$$module$build$src$core$msg.CONTROLS_FLOW_STATEMENTS_WARNING),!this.isInFlyout))try{$.setRecordUndo$$module$build$src$core$events$utils(!1),this.setDisabledReason(!a,CONTROL_FLOW_NOT_IN_LOOP_DISABLED_REASON$$module$build$src$blocks$loops)}finally{$.setRecordUndo$$module$build$src$core$events$utils(!0)}}};
|
|
128
|
+
$.registerMixin$$module$build$src$core$extensions("controls_flow_in_loop_check",CONTROL_FLOW_IN_LOOP_CHECK_MIXIN$$module$build$src$blocks$loops);$.defineBlocks$$module$build$src$core$common(blocks$$module$build$src$blocks$loops);var module$build$src$blocks$loops={blocks:blocks$$module$build$src$blocks$loops,loopTypes:loopTypes$$module$build$src$blocks$loops};var blocks$$module$build$src$blocks$logic=$.createBlockDefinitionsFromJsonArray$$module$build$src$core$common([{type:"logic_boolean",message0:"%1",args0:[{type:"field_dropdown",name:"BOOL",options:[["%{BKY_LOGIC_BOOLEAN_TRUE}","TRUE"],["%{BKY_LOGIC_BOOLEAN_FALSE}","FALSE"]]}],output:"Boolean",style:"logic_blocks",tooltip:"%{BKY_LOGIC_BOOLEAN_TOOLTIP}",helpUrl:"%{BKY_LOGIC_BOOLEAN_HELPURL}"},{type:"controls_if",message0:"%{BKY_CONTROLS_IF_MSG_IF} %1",args0:[{type:"input_value",name:"IF0",check:"Boolean"}],
|
|
129
|
+
message1:"%{BKY_CONTROLS_IF_MSG_THEN} %1",args1:[{type:"input_statement",name:"DO0"}],previousStatement:null,nextStatement:null,style:"logic_blocks",helpUrl:"%{BKY_CONTROLS_IF_HELPURL}",suppressPrefixSuffix:!0,mutator:"controls_if_mutator",extensions:["controls_if_tooltip"]},{type:"controls_ifelse",message0:"%{BKY_CONTROLS_IF_MSG_IF} %1",args0:[{type:"input_value",name:"IF0",check:"Boolean"}],message1:"%{BKY_CONTROLS_IF_MSG_THEN} %1",args1:[{type:"input_statement",name:"DO0"}],message2:"%{BKY_CONTROLS_IF_MSG_ELSE} %1",
|
|
130
|
+
args2:[{type:"input_statement",name:"ELSE"}],previousStatement:null,nextStatement:null,style:"logic_blocks",tooltip:"%{BKYCONTROLS_IF_TOOLTIP_2}",helpUrl:"%{BKY_CONTROLS_IF_HELPURL}",suppressPrefixSuffix:!0,extensions:["controls_if_tooltip"]},{type:"logic_compare",message0:"%1 %2 %3",args0:[{type:"input_value",name:"A"},{type:"field_dropdown",name:"OP",options:[["=","EQ"],["\u2260","NEQ"],["\u200f<","LT"],["\u200f\u2264","LTE"],["\u200f>","GT"],["\u200f\u2265","GTE"]]},{type:"input_value",name:"B"}],
|
|
131
|
+
inputsInline:!0,output:"Boolean",style:"logic_blocks",helpUrl:"%{BKY_LOGIC_COMPARE_HELPURL}",extensions:["logic_compare","logic_op_tooltip"]},{type:"logic_operation",message0:"%1 %2 %3",args0:[{type:"input_value",name:"A",check:"Boolean"},{type:"field_dropdown",name:"OP",options:[["%{BKY_LOGIC_OPERATION_AND}","AND"],["%{BKY_LOGIC_OPERATION_OR}","OR"]]},{type:"input_value",name:"B",check:"Boolean"}],inputsInline:!0,output:"Boolean",style:"logic_blocks",helpUrl:"%{BKY_LOGIC_OPERATION_HELPURL}",extensions:["logic_op_tooltip"]},
|
|
132
|
+
{type:"logic_negate",message0:"%{BKY_LOGIC_NEGATE_TITLE}",args0:[{type:"input_value",name:"BOOL",check:"Boolean"}],output:"Boolean",style:"logic_blocks",tooltip:"%{BKY_LOGIC_NEGATE_TOOLTIP}",helpUrl:"%{BKY_LOGIC_NEGATE_HELPURL}"},{type:"logic_null",message0:"%{BKY_LOGIC_NULL}",output:null,style:"logic_blocks",tooltip:"%{BKY_LOGIC_NULL_TOOLTIP}",helpUrl:"%{BKY_LOGIC_NULL_HELPURL}"},{type:"logic_ternary",message0:"%{BKY_LOGIC_TERNARY_CONDITION} %1",args0:[{type:"input_value",name:"IF",check:"Boolean"}],
|
|
133
|
+
message1:"%{BKY_LOGIC_TERNARY_IF_TRUE} %1",args1:[{type:"input_value",name:"THEN"}],message2:"%{BKY_LOGIC_TERNARY_IF_FALSE} %1",args2:[{type:"input_value",name:"ELSE"}],output:null,style:"logic_blocks",tooltip:"%{BKY_LOGIC_TERNARY_TOOLTIP}",helpUrl:"%{BKY_LOGIC_TERNARY_HELPURL}",extensions:["logic_ternary"]},{type:"controls_if_if",message0:"%{BKY_CONTROLS_IF_IF_TITLE_IF}",nextStatement:null,enableContextMenu:!1,style:"logic_blocks",tooltip:"%{BKY_CONTROLS_IF_IF_TOOLTIP}"},{type:"controls_if_elseif",
|
|
134
|
+
message0:"%{BKY_CONTROLS_IF_ELSEIF_TITLE_ELSEIF}",previousStatement:null,nextStatement:null,enableContextMenu:!1,style:"logic_blocks",tooltip:"%{BKY_CONTROLS_IF_ELSEIF_TOOLTIP}"},{type:"controls_if_else",message0:"%{BKY_CONTROLS_IF_ELSE_TITLE_ELSE}",previousStatement:null,enableContextMenu:!1,style:"logic_blocks",tooltip:"%{BKY_CONTROLS_IF_ELSE_TOOLTIP}"}]),TOOLTIPS_BY_OP$$module$build$src$blocks$logic={EQ:"%{BKY_LOGIC_COMPARE_TOOLTIP_EQ}",NEQ:"%{BKY_LOGIC_COMPARE_TOOLTIP_NEQ}",LT:"%{BKY_LOGIC_COMPARE_TOOLTIP_LT}",
|
|
135
|
+
LTE:"%{BKY_LOGIC_COMPARE_TOOLTIP_LTE}",GT:"%{BKY_LOGIC_COMPARE_TOOLTIP_GT}",GTE:"%{BKY_LOGIC_COMPARE_TOOLTIP_GTE}",AND:"%{BKY_LOGIC_OPERATION_TOOLTIP_AND}",OR:"%{BKY_LOGIC_OPERATION_TOOLTIP_OR}"};$.register$$module$build$src$core$extensions("logic_op_tooltip",$.buildTooltipForDropdown$$module$build$src$core$extensions("OP",TOOLTIPS_BY_OP$$module$build$src$blocks$logic));
|
|
136
|
+
var CONTROLS_IF_MUTATOR_MIXIN$$module$build$src$blocks$logic={elseifCount_:0,elseCount_:0,mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;const a=$.createElement$$module$build$src$core$utils$xml("mutation");this.elseifCount_&&a.setAttribute("elseif",String(this.elseifCount_));this.elseCount_&&a.setAttribute("else","1");return a},domToMutation:function(a){this.elseifCount_=parseInt(a.getAttribute("elseif"),10)||0;this.elseCount_=parseInt(a.getAttribute("else"),10)||0;this.rebuildShape_()},
|
|
137
|
+
saveExtraState:function(){if(!this.elseifCount_&&!this.elseCount_)return null;const a=Object.create(null);this.elseifCount_&&(a.elseIfCount=this.elseifCount_);this.elseCount_&&(a.hasElse=!0);return a},loadExtraState:function(a){this.elseifCount_=a.elseIfCount||0;this.elseCount_=a.hasElse?1:0;this.updateShape_()},decompose:function(a){const b=a.newBlock("controls_if_if");b.initSvg();let c=b.nextConnection;for(let d=1;d<=this.elseifCount_;d++){const e=a.newBlock("controls_if_elseif");e.initSvg();c.connect(e.previousConnection);
|
|
138
|
+
c=e.nextConnection}this.elseCount_&&(a=a.newBlock("controls_if_else"),a.initSvg(),c.connect(a.previousConnection));return b},compose:function(a){a=a.nextConnection.targetBlock();this.elseCount_=this.elseifCount_=0;const b=[null],c=[null];let d=null;for(;a;){if(!a.isInsertionMarker())switch(a.type){case "controls_if_elseif":this.elseifCount_++;b.push(a.valueConnection_);c.push(a.statementConnection_);break;case "controls_if_else":this.elseCount_++;d=a.statementConnection_;break;default:throw TypeError("Unknown block type: "+
|
|
139
|
+
a.type);}a=a.getNextBlock()}this.updateShape_();this.reconnectChildBlocks_(b,c,d)},saveConnections:function(a){a=a.nextConnection.targetBlock();let b=1;for(;a;){if(!a.isInsertionMarker())switch(a.type){case "controls_if_elseif":var c=this.getInput("IF"+b);const d=this.getInput("DO"+b);a.valueConnection_=c&&c.connection.targetConnection;a.statementConnection_=d&&d.connection.targetConnection;b++;break;case "controls_if_else":c=this.getInput("ELSE");a.statementConnection_=c&&c.connection.targetConnection;
|
|
140
|
+
break;default:throw TypeError("Unknown block type: "+a.type);}a=a.getNextBlock()}},rebuildShape_:function(){const a=[null],b=[null];let c=null;this.getInput("ELSE")&&(c=this.getInput("ELSE").connection.targetConnection);for(let d=1;this.getInput("IF"+d);d++){const e=this.getInput("IF"+d),f=this.getInput("DO"+d);a.push(e.connection.targetConnection);b.push(f.connection.targetConnection)}this.updateShape_();this.reconnectChildBlocks_(a,b,c)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");
|
|
141
|
+
for(var a=1;this.getInput("IF"+a);a++)this.removeInput("IF"+a),this.removeInput("DO"+a);for(a=1;a<=this.elseifCount_;a++)this.appendValueInput("IF"+a).setCheck("Boolean").appendField($.Msg$$module$build$src$core$msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+a).appendField($.Msg$$module$build$src$core$msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField($.Msg$$module$build$src$core$msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(a,b,c){for(let d=
|
|
142
|
+
1;d<=this.elseifCount_;d++){let e;(e=a[d])==null||e.reconnect(this,"IF"+d);let f;(f=b[d])==null||f.reconnect(this,"DO"+d)}c==null||c.reconnect(this,"ELSE")}};$.registerMutator$$module$build$src$core$extensions("controls_if_mutator",CONTROLS_IF_MUTATOR_MIXIN$$module$build$src$blocks$logic,null,["controls_if_elseif","controls_if_else"]);
|
|
143
|
+
var CONTROLS_IF_TOOLTIP_EXTENSION$$module$build$src$blocks$logic=function(){this.setTooltip(function(){if(this.elseifCount_||this.elseCount_){if(!this.elseifCount_&&this.elseCount_)return $.Msg$$module$build$src$core$msg.CONTROLS_IF_TOOLTIP_2;if(this.elseifCount_&&!this.elseCount_)return $.Msg$$module$build$src$core$msg.CONTROLS_IF_TOOLTIP_3;if(this.elseifCount_&&this.elseCount_)return $.Msg$$module$build$src$core$msg.CONTROLS_IF_TOOLTIP_4}else return $.Msg$$module$build$src$core$msg.CONTROLS_IF_TOOLTIP_1;
|
|
144
|
+
return""}.bind(this))};$.register$$module$build$src$core$extensions("controls_if_tooltip",CONTROLS_IF_TOOLTIP_EXTENSION$$module$build$src$blocks$logic);
|
|
145
|
+
var LOGIC_COMPARE_ONCHANGE_MIXIN$$module$build$src$blocks$logic={onchange:function(a){this.prevBlocks_||(this.prevBlocks_=[null,null]);var b=this.getInputTargetBlock("A");const c=this.getInputTargetBlock("B");b&&c&&!this.workspace.connectionChecker.doTypeChecks(b.outputConnection,c.outputConnection)&&($.setGroup$$module$build$src$core$events$utils(a.group),a=this.prevBlocks_[0],a!==b&&(b.unplug(),!a||a.isDisposed()||a.isShadow()||this.getInput("A").connection.connect(a.outputConnection)),b=this.prevBlocks_[1],
|
|
146
|
+
b!==c&&(c.unplug(),!b||b.isDisposed()||b.isShadow()||this.getInput("B").connection.connect(b.outputConnection)),this.bumpNeighbours(),$.setGroup$$module$build$src$core$events$utils(!1));this.prevBlocks_[0]=this.getInputTargetBlock("A");this.prevBlocks_[1]=this.getInputTargetBlock("B")}},LOGIC_COMPARE_EXTENSION$$module$build$src$blocks$logic=function(){this.mixin(LOGIC_COMPARE_ONCHANGE_MIXIN$$module$build$src$blocks$logic)};$.register$$module$build$src$core$extensions("logic_compare",LOGIC_COMPARE_EXTENSION$$module$build$src$blocks$logic);
|
|
147
|
+
var LOGIC_TERNARY_ONCHANGE_MIXIN$$module$build$src$blocks$logic={prevParentConnection_:null,onchange:function(a){const b=this.getInputTargetBlock("THEN"),c=this.getInputTargetBlock("ELSE"),d=this.outputConnection.targetConnection;if((b||c)&&d)for(let e=0;e<2;e++){const f=e===1?b:c;f&&!f.workspace.connectionChecker.doTypeChecks(f.outputConnection,d)&&($.setGroup$$module$build$src$core$events$utils(a.group),d===this.prevParentConnection_?(this.unplug(),d.getSourceBlock().bumpNeighbours()):(f.unplug(),
|
|
148
|
+
f.bumpNeighbours()),$.setGroup$$module$build$src$core$events$utils(!1))}this.prevParentConnection_=d}};$.registerMixin$$module$build$src$core$extensions("logic_ternary",LOGIC_TERNARY_ONCHANGE_MIXIN$$module$build$src$blocks$logic);$.defineBlocks$$module$build$src$core$common(blocks$$module$build$src$blocks$logic);var module$build$src$blocks$logic={blocks:blocks$$module$build$src$blocks$logic};var blocks$$module$build$src$blocks$lists=$.createBlockDefinitionsFromJsonArray$$module$build$src$core$common([{type:"lists_create_empty",message0:"%{BKY_LISTS_CREATE_EMPTY_TITLE}",output:"Array",style:"list_blocks",tooltip:"%{BKY_LISTS_CREATE_EMPTY_TOOLTIP}",helpUrl:"%{BKY_LISTS_CREATE_EMPTY_HELPURL}"},{type:"lists_repeat",message0:"%{BKY_LISTS_REPEAT_TITLE}",args0:[{type:"input_value",name:"ITEM"},{type:"input_value",name:"NUM",check:"Number"}],output:"Array",style:"list_blocks",tooltip:"%{BKY_LISTS_REPEAT_TOOLTIP}",
|
|
149
|
+
helpUrl:"%{BKY_LISTS_REPEAT_HELPURL}"},{type:"lists_reverse",message0:"%{BKY_LISTS_REVERSE_MESSAGE0}",args0:[{type:"input_value",name:"LIST",check:"Array"}],output:"Array",inputsInline:!0,style:"list_blocks",tooltip:"%{BKY_LISTS_REVERSE_TOOLTIP}",helpUrl:"%{BKY_LISTS_REVERSE_HELPURL}"},{type:"lists_isEmpty",message0:"%{BKY_LISTS_ISEMPTY_TITLE}",args0:[{type:"input_value",name:"VALUE",check:["String","Array"]}],output:"Boolean",style:"list_blocks",tooltip:"%{BKY_LISTS_ISEMPTY_TOOLTIP}",helpUrl:"%{BKY_LISTS_ISEMPTY_HELPURL}"},
|
|
150
|
+
{type:"lists_length",message0:"%{BKY_LISTS_LENGTH_TITLE}",args0:[{type:"input_value",name:"VALUE",check:["String","Array"]}],output:"Number",style:"list_blocks",tooltip:"%{BKY_LISTS_LENGTH_TOOLTIP}",helpUrl:"%{BKY_LISTS_LENGTH_HELPURL}"}]),LISTS_CREATE_WITH$$module$build$src$blocks$lists={init:function(){this.setHelpUrl($.Msg$$module$build$src$core$msg.LISTS_CREATE_WITH_HELPURL);this.setStyle("list_blocks");this.itemCount_=3;this.updateShape_();this.setOutput(!0,"Array");this.setMutator(new $.MutatorIcon$$module$build$src$core$icons$mutator_icon(["lists_create_with_item"],
|
|
151
|
+
this));this.setTooltip($.Msg$$module$build$src$core$msg.LISTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){const a=$.createElement$$module$build$src$core$utils$xml("mutation");a.setAttribute("items",String(this.itemCount_));return a},domToMutation:function(a){a=a.getAttribute("items");if(!a)throw new TypeError("element did not have items");this.itemCount_=parseInt(a,10);this.updateShape_()},saveExtraState:function(){return{itemCount:this.itemCount_}},loadExtraState:function(a){this.itemCount_=a.itemCount;
|
|
152
|
+
this.updateShape_()},decompose:function(a){const b=a.newBlock("lists_create_with_container");b.initSvg();let c=b.getInput("STACK").connection;for(let d=0;d<this.itemCount_;d++){const e=a.newBlock("lists_create_with_item");e.initSvg();if(!e.previousConnection)throw Error("itemBlock has no previousConnection");c.connect(e.previousConnection);c=e.nextConnection}return b},compose:function(a){var b=a.getInputTargetBlock("STACK");for(a=[];b;)b.isInsertionMarker()||a.push(b.valueConnection_),b=b.getNextBlock();
|
|
153
|
+
for(b=0;b<this.itemCount_;b++){const c=this.getInput("ADD"+b).connection.targetConnection;c&&!a.includes(c)&&c.disconnect()}this.itemCount_=a.length;this.updateShape_();for(b=0;b<this.itemCount_;b++){let c;(c=a[b])==null||c.reconnect(this,"ADD"+b)}},saveConnections:function(a){a=a.getInputTargetBlock("STACK");let b=0;for(;a;){if(a.isInsertionMarker()){a=a.getNextBlock();continue}const c=this.getInput("ADD"+b);let d;a.valueConnection_=(d=c)==null?void 0:d.connection.targetConnection;a=a.getNextBlock();
|
|
154
|
+
b++}},updateShape_:function(){this.itemCount_&&this.getInput("EMPTY")?this.removeInput("EMPTY"):this.itemCount_||this.getInput("EMPTY")||this.appendDummyInput("EMPTY").appendField($.Msg$$module$build$src$core$msg.LISTS_CREATE_EMPTY_TITLE);for(var a=0;a<this.itemCount_;a++)if(!this.getInput("ADD"+a)){const b=this.appendValueInput("ADD"+a).setAlign($.Align$$module$build$src$core$inputs$align.RIGHT);a===0&&b.appendField($.Msg$$module$build$src$core$msg.LISTS_CREATE_WITH_INPUT_WITH)}for(a=this.itemCount_;this.getInput("ADD"+
|
|
155
|
+
a);a++)this.removeInput("ADD"+a)}};blocks$$module$build$src$blocks$lists.lists_create_with=LISTS_CREATE_WITH$$module$build$src$blocks$lists;var LISTS_CREATE_WITH_CONTAINER$$module$build$src$blocks$lists={init:function(){this.setStyle("list_blocks");this.appendDummyInput().appendField($.Msg$$module$build$src$core$msg.LISTS_CREATE_WITH_CONTAINER_TITLE_ADD);this.appendStatementInput("STACK");this.setTooltip($.Msg$$module$build$src$core$msg.LISTS_CREATE_WITH_CONTAINER_TOOLTIP);this.contextMenu=!1}};
|
|
156
|
+
blocks$$module$build$src$blocks$lists.lists_create_with_container=LISTS_CREATE_WITH_CONTAINER$$module$build$src$blocks$lists;var LISTS_CREATE_WITH_ITEM$$module$build$src$blocks$lists={init:function(){this.setStyle("list_blocks");this.appendDummyInput().appendField($.Msg$$module$build$src$core$msg.LISTS_CREATE_WITH_ITEM_TITLE);this.setPreviousStatement(!0);this.setNextStatement(!0);this.setTooltip($.Msg$$module$build$src$core$msg.LISTS_CREATE_WITH_ITEM_TOOLTIP);this.contextMenu=!1}};
|
|
157
|
+
blocks$$module$build$src$blocks$lists.lists_create_with_item=LISTS_CREATE_WITH_ITEM$$module$build$src$blocks$lists;
|
|
158
|
+
var LISTS_INDEXOF$$module$build$src$blocks$lists={init:function(){var a=[[$.Msg$$module$build$src$core$msg.LISTS_INDEX_OF_FIRST,"FIRST"],[$.Msg$$module$build$src$core$msg.LISTS_INDEX_OF_LAST,"LAST"]];this.setHelpUrl($.Msg$$module$build$src$core$msg.LISTS_INDEX_OF_HELPURL);this.setStyle("list_blocks");this.setOutput(!0,"Number");this.appendValueInput("VALUE").setCheck("Array").appendField($.Msg$$module$build$src$core$msg.LISTS_INDEX_OF_INPUT_IN_LIST);a=$.fromJson$$module$build$src$core$field_registry({type:"field_dropdown",
|
|
159
|
+
options:a});if(!a)throw Error("field_dropdown not found");this.appendValueInput("FIND").appendField(a,"END");this.setInputsInline(!0);this.setTooltip(()=>$.Msg$$module$build$src$core$msg.LISTS_INDEX_OF_TOOLTIP.replace("%1",this.workspace.options.oneBasedIndex?"0":"-1"))}};blocks$$module$build$src$blocks$lists.lists_indexOf=LISTS_INDEXOF$$module$build$src$blocks$lists;
|
|
160
|
+
var LISTS_GETINDEX$$module$build$src$blocks$lists={init:function(){var a=[[$.Msg$$module$build$src$core$msg.LISTS_GET_INDEX_GET,"GET"],[$.Msg$$module$build$src$core$msg.LISTS_GET_INDEX_GET_REMOVE,"GET_REMOVE"],[$.Msg$$module$build$src$core$msg.LISTS_GET_INDEX_REMOVE,"REMOVE"]];this.WHERE_OPTIONS=[[$.Msg$$module$build$src$core$msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[$.Msg$$module$build$src$core$msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[$.Msg$$module$build$src$core$msg.LISTS_GET_INDEX_FIRST,"FIRST"],
|
|
161
|
+
[$.Msg$$module$build$src$core$msg.LISTS_GET_INDEX_LAST,"LAST"],[$.Msg$$module$build$src$core$msg.LISTS_GET_INDEX_RANDOM,"RANDOM"]];this.setHelpUrl($.Msg$$module$build$src$core$msg.LISTS_GET_INDEX_HELPURL);this.setStyle("list_blocks");a=$.fromJson$$module$build$src$core$field_registry({type:"field_dropdown",options:a});a.setValidator(function(b){b=b==="REMOVE";this.getSourceBlock().updateStatement_(b)});this.appendValueInput("VALUE").setCheck("Array").appendField($.Msg$$module$build$src$core$msg.LISTS_GET_INDEX_INPUT_IN_LIST);
|
|
162
|
+
this.appendDummyInput().appendField(a,"MODE").appendField("","SPACE");a=$.fromJson$$module$build$src$core$field_registry({type:"field_dropdown",options:this.WHERE_OPTIONS});a.setValidator(function(b){const c=this.getValue();b=b==="FROM_START"||b==="FROM_END";b!==(c==="FROM_START"||c==="FROM_END")&&this.getSourceBlock().updateAt_(b)});this.appendDummyInput().appendField(a,"WHERE");this.appendDummyInput("AT");$.Msg$$module$build$src$core$msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField($.Msg$$module$build$src$core$msg.LISTS_GET_INDEX_TAIL);
|
|
163
|
+
this.setInputsInline(!0);this.setOutput(!0);this.updateAt_(!0);this.setTooltip(()=>{const b=this.getFieldValue("MODE"),c=this.getFieldValue("WHERE");let d="";switch(b+" "+c){case "GET FROM_START":case "GET FROM_END":d=$.Msg$$module$build$src$core$msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case "GET FIRST":d=$.Msg$$module$build$src$core$msg.LISTS_GET_INDEX_TOOLTIP_GET_FIRST;break;case "GET LAST":d=$.Msg$$module$build$src$core$msg.LISTS_GET_INDEX_TOOLTIP_GET_LAST;break;case "GET RANDOM":d=$.Msg$$module$build$src$core$msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;
|
|
164
|
+
break;case "GET_REMOVE FROM_START":case "GET_REMOVE FROM_END":d=$.Msg$$module$build$src$core$msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case "GET_REMOVE FIRST":d=$.Msg$$module$build$src$core$msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST;break;case "GET_REMOVE LAST":d=$.Msg$$module$build$src$core$msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST;break;case "GET_REMOVE RANDOM":d=$.Msg$$module$build$src$core$msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM;break;case "REMOVE FROM_START":case "REMOVE FROM_END":d=
|
|
165
|
+
$.Msg$$module$build$src$core$msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM;break;case "REMOVE FIRST":d=$.Msg$$module$build$src$core$msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST;break;case "REMOVE LAST":d=$.Msg$$module$build$src$core$msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST;break;case "REMOVE RANDOM":d=$.Msg$$module$build$src$core$msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM}if(c==="FROM_START"||c==="FROM_END")d+=" "+(c==="FROM_START"?$.Msg$$module$build$src$core$msg.LISTS_INDEX_FROM_START_TOOLTIP:$.Msg$$module$build$src$core$msg.LISTS_INDEX_FROM_END_TOOLTIP).replace("%1",
|
|
166
|
+
this.workspace.options.oneBasedIndex?"#1":"#0");return d})},mutationToDom:function(){const a=$.createElement$$module$build$src$core$utils$xml("mutation");a.setAttribute("statement",String(!this.outputConnection));const b=this.getInput("AT")instanceof $.ValueInput$$module$build$src$core$inputs$value_input;a.setAttribute("at",String(b));return a},domToMutation:function(a){const b=a.getAttribute("statement")==="true";this.updateStatement_(b);a=a.getAttribute("at")!=="false";this.updateAt_(a)},saveExtraState:function(){return this.outputConnection?
|
|
167
|
+
null:{isStatement:!0}},loadExtraState:function(a){a.isStatement?this.updateStatement_(!0):typeof a==="string"&&this.domToMutation($.textToDom$$module$build$src$core$utils$xml(a))},updateStatement_:function(a){a!==!this.outputConnection&&(this.unplug(!0,!0),a?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(a){this.removeInput("AT");this.removeInput("ORDINAL",!0);a?(this.appendValueInput("AT").setCheck("Number"),
|
|
168
|
+
$.Msg$$module$build$src$core$msg.ORDINAL_NUMBER_SUFFIX&&this.appendDummyInput("ORDINAL").appendField($.Msg$$module$build$src$core$msg.ORDINAL_NUMBER_SUFFIX)):this.appendDummyInput("AT");$.Msg$$module$build$src$core$msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}};blocks$$module$build$src$blocks$lists.lists_getIndex=LISTS_GETINDEX$$module$build$src$blocks$lists;
|
|
169
|
+
var LISTS_SETINDEX$$module$build$src$blocks$lists={init:function(){var a=[[$.Msg$$module$build$src$core$msg.LISTS_SET_INDEX_SET,"SET"],[$.Msg$$module$build$src$core$msg.LISTS_SET_INDEX_INSERT,"INSERT"]];this.WHERE_OPTIONS=[[$.Msg$$module$build$src$core$msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[$.Msg$$module$build$src$core$msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[$.Msg$$module$build$src$core$msg.LISTS_GET_INDEX_FIRST,"FIRST"],[$.Msg$$module$build$src$core$msg.LISTS_GET_INDEX_LAST,"LAST"],[$.Msg$$module$build$src$core$msg.LISTS_GET_INDEX_RANDOM,
|
|
170
|
+
"RANDOM"]];this.setHelpUrl($.Msg$$module$build$src$core$msg.LISTS_SET_INDEX_HELPURL);this.setStyle("list_blocks");this.appendValueInput("LIST").setCheck("Array").appendField($.Msg$$module$build$src$core$msg.LISTS_SET_INDEX_INPUT_IN_LIST);a=$.fromJson$$module$build$src$core$field_registry({type:"field_dropdown",options:a});this.appendDummyInput().appendField(a,"MODE").appendField("","SPACE");a=$.fromJson$$module$build$src$core$field_registry({type:"field_dropdown",options:this.WHERE_OPTIONS});a.setValidator(function(b){const c=
|
|
171
|
+
this.getValue();b=b==="FROM_START"||b==="FROM_END";b!==(c==="FROM_START"||c==="FROM_END")&&this.getSourceBlock().updateAt_(b)});this.appendDummyInput().appendField(a,"WHERE");this.appendDummyInput("AT");this.appendValueInput("TO").appendField($.Msg$$module$build$src$core$msg.LISTS_SET_INDEX_INPUT_TO);this.setInputsInline(!0);this.setPreviousStatement(!0);this.setNextStatement(!0);this.setTooltip($.Msg$$module$build$src$core$msg.LISTS_SET_INDEX_TOOLTIP);this.updateAt_(!0);this.setTooltip(()=>{const b=
|
|
172
|
+
this.getFieldValue("MODE"),c=this.getFieldValue("WHERE");let d="";switch(b+" "+c){case "SET FROM_START":case "SET FROM_END":d=$.Msg$$module$build$src$core$msg.LISTS_SET_INDEX_TOOLTIP_SET_FROM;break;case "SET FIRST":d=$.Msg$$module$build$src$core$msg.LISTS_SET_INDEX_TOOLTIP_SET_FIRST;break;case "SET LAST":d=$.Msg$$module$build$src$core$msg.LISTS_SET_INDEX_TOOLTIP_SET_LAST;break;case "SET RANDOM":d=$.Msg$$module$build$src$core$msg.LISTS_SET_INDEX_TOOLTIP_SET_RANDOM;break;case "INSERT FROM_START":case "INSERT FROM_END":d=
|
|
173
|
+
$.Msg$$module$build$src$core$msg.LISTS_SET_INDEX_TOOLTIP_INSERT_FROM;break;case "INSERT FIRST":d=$.Msg$$module$build$src$core$msg.LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST;break;case "INSERT LAST":d=$.Msg$$module$build$src$core$msg.LISTS_SET_INDEX_TOOLTIP_INSERT_LAST;break;case "INSERT RANDOM":d=$.Msg$$module$build$src$core$msg.LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM}if(c==="FROM_START"||c==="FROM_END")d+=" "+$.Msg$$module$build$src$core$msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",this.workspace.options.oneBasedIndex?
|
|
174
|
+
"#1":"#0");return d})},mutationToDom:function(){const a=$.createElement$$module$build$src$core$utils$xml("mutation"),b=this.getInput("AT")instanceof $.ValueInput$$module$build$src$core$inputs$value_input;a.setAttribute("at",String(b));return a},domToMutation:function(a){a=a.getAttribute("at")!=="false";this.updateAt_(a)},saveExtraState:function(){return null},loadExtraState:function(){},updateAt_:function(a){this.removeInput("AT");this.removeInput("ORDINAL",!0);a?(this.appendValueInput("AT").setCheck("Number"),
|
|
175
|
+
$.Msg$$module$build$src$core$msg.ORDINAL_NUMBER_SUFFIX&&this.appendDummyInput("ORDINAL").appendField($.Msg$$module$build$src$core$msg.ORDINAL_NUMBER_SUFFIX)):this.appendDummyInput("AT");this.moveInputBefore("AT","TO");this.getInput("ORDINAL")&&this.moveInputBefore("ORDINAL","TO")}};blocks$$module$build$src$blocks$lists.lists_setIndex=LISTS_SETINDEX$$module$build$src$blocks$lists;
|
|
176
|
+
var LISTS_GETSUBLIST$$module$build$src$blocks$lists={init:function(){this.WHERE_OPTIONS_1=[[$.Msg$$module$build$src$core$msg.LISTS_GET_SUBLIST_START_FROM_START,"FROM_START"],[$.Msg$$module$build$src$core$msg.LISTS_GET_SUBLIST_START_FROM_END,"FROM_END"],[$.Msg$$module$build$src$core$msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]];this.WHERE_OPTIONS_2=[[$.Msg$$module$build$src$core$msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[$.Msg$$module$build$src$core$msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],
|
|
177
|
+
[$.Msg$$module$build$src$core$msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]];this.setHelpUrl($.Msg$$module$build$src$core$msg.LISTS_GET_SUBLIST_HELPURL);this.setStyle("list_blocks");this.appendValueInput("LIST").setCheck("Array").appendField($.Msg$$module$build$src$core$msg.LISTS_GET_SUBLIST_INPUT_IN_LIST);const a=b=>{const c=$.fromJson$$module$build$src$core$field_registry({type:"field_dropdown",options:this["WHERE_OPTIONS_"+b]});c.setValidator(function(d){const e=this.getValue();d=d==="FROM_START"||d===
|
|
178
|
+
"FROM_END";d!==(e==="FROM_START"||e==="FROM_END")&&this.getSourceBlock().updateAt_(b,d)});return c};this.appendDummyInput("WHERE1_INPUT").appendField(a(1),"WHERE1");this.appendDummyInput("AT1");this.appendDummyInput("WHERE2_INPUT").appendField(a(2),"WHERE2");this.appendDummyInput("AT2");$.Msg$$module$build$src$core$msg.LISTS_GET_SUBLIST_TAIL&&this.appendDummyInput("TAIL").appendField($.Msg$$module$build$src$core$msg.LISTS_GET_SUBLIST_TAIL);this.setInputsInline(!0);this.setOutput(!0,"Array");this.updateAt_(1,
|
|
179
|
+
!0);this.updateAt_(2,!0);this.setTooltip($.Msg$$module$build$src$core$msg.LISTS_GET_SUBLIST_TOOLTIP)},mutationToDom:function(){const a=$.createElement$$module$build$src$core$utils$xml("mutation");var b=this.getInput("AT1")instanceof $.ValueInput$$module$build$src$core$inputs$value_input;a.setAttribute("at1",String(b));b=this.getInput("AT2")instanceof $.ValueInput$$module$build$src$core$inputs$value_input;a.setAttribute("at2",String(b));return a},domToMutation:function(a){const b=a.getAttribute("at1")===
|
|
180
|
+
"true";a=a.getAttribute("at2")==="true";this.updateAt_(1,b);this.updateAt_(2,a)},saveExtraState:function(){return null},loadExtraState:function(){},updateAt_:function(a,b){this.removeInput("AT"+a);this.removeInput("ORDINAL"+a,!0);b?(this.appendValueInput("AT"+a).setCheck("Number"),$.Msg$$module$build$src$core$msg.ORDINAL_NUMBER_SUFFIX&&this.appendDummyInput("ORDINAL"+a).appendField($.Msg$$module$build$src$core$msg.ORDINAL_NUMBER_SUFFIX)):this.appendDummyInput("AT"+a);a===1&&(this.moveInputBefore("AT1",
|
|
181
|
+
"WHERE2_INPUT"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","WHERE2_INPUT"));$.Msg$$module$build$src$core$msg.LISTS_GET_SUBLIST_TAIL&&this.moveInputBefore("TAIL",null)}};blocks$$module$build$src$blocks$lists.lists_getSublist=LISTS_GETSUBLIST$$module$build$src$blocks$lists;
|
|
182
|
+
blocks$$module$build$src$blocks$lists.lists_sort={init:function(){this.jsonInit({message0:"%{BKY_LISTS_SORT_TITLE}",args0:[{type:"field_dropdown",name:"TYPE",options:[["%{BKY_LISTS_SORT_TYPE_NUMERIC}","NUMERIC"],["%{BKY_LISTS_SORT_TYPE_TEXT}","TEXT"],["%{BKY_LISTS_SORT_TYPE_IGNORECASE}","IGNORE_CASE"]]},{type:"field_dropdown",name:"DIRECTION",options:[["%{BKY_LISTS_SORT_ORDER_ASCENDING}","1"],["%{BKY_LISTS_SORT_ORDER_DESCENDING}","-1"]]},{type:"input_value",name:"LIST",check:"Array"}],output:"Array",
|
|
183
|
+
style:"list_blocks",tooltip:"%{BKY_LISTS_SORT_TOOLTIP}",helpUrl:"%{BKY_LISTS_SORT_HELPURL}"})}};
|
|
184
|
+
blocks$$module$build$src$blocks$lists.lists_split={init:function(){const a=$.fromJson$$module$build$src$core$field_registry({type:"field_dropdown",options:[[$.Msg$$module$build$src$core$msg.LISTS_SPLIT_LIST_FROM_TEXT,"SPLIT"],[$.Msg$$module$build$src$core$msg.LISTS_SPLIT_TEXT_FROM_LIST,"JOIN"]]});if(!a)throw Error("field_dropdown not found");a.setValidator(b=>{this.updateType_(b)});this.setHelpUrl($.Msg$$module$build$src$core$msg.LISTS_SPLIT_HELPURL);this.setStyle("list_blocks");this.appendValueInput("INPUT").setCheck("String").appendField(a,
|
|
185
|
+
"MODE");this.appendValueInput("DELIM").setCheck("String").appendField($.Msg$$module$build$src$core$msg.LISTS_SPLIT_WITH_DELIMITER);this.setInputsInline(!0);this.setOutput(!0,"Array");this.setTooltip(()=>{const b=this.getFieldValue("MODE");if(b==="SPLIT")return $.Msg$$module$build$src$core$msg.LISTS_SPLIT_TOOLTIP_SPLIT;if(b==="JOIN")return $.Msg$$module$build$src$core$msg.LISTS_SPLIT_TOOLTIP_JOIN;throw Error("Unknown mode: "+b);})},updateType_:function(a){if(this.getFieldValue("MODE")!==a){const b=
|
|
186
|
+
this.getInput("INPUT").connection;b.setShadowDom(null);const c=b.targetBlock();c&&(b.disconnect(),c.isShadow()?c.dispose(!1):this.bumpNeighbours())}a==="SPLIT"?(this.outputConnection.setCheck("Array"),this.getInput("INPUT").setCheck("String")):(this.outputConnection.setCheck("String"),this.getInput("INPUT").setCheck("Array"))},mutationToDom:function(){const a=$.createElement$$module$build$src$core$utils$xml("mutation");a.setAttribute("mode",this.getFieldValue("MODE"));return a},domToMutation:function(a){this.updateType_(a.getAttribute("mode"))},
|
|
187
|
+
saveExtraState:function(){return{mode:this.getFieldValue("MODE")}},loadExtraState:function(a){this.updateType_(a.mode)}};$.defineBlocks$$module$build$src$core$common(blocks$$module$build$src$blocks$lists);var module$build$src$blocks$lists={blocks:blocks$$module$build$src$blocks$lists};var blocks$$module$build$src$blocks$blocks=Object.assign({},blocks$$module$build$src$blocks$lists,blocks$$module$build$src$blocks$logic,blocks$$module$build$src$blocks$loops,blocks$$module$build$src$blocks$math,blocks$$module$build$src$blocks$procedures,blocks$$module$build$src$blocks$text,blocks$$module$build$src$blocks$variables,blocks$$module$build$src$blocks$variables_dynamic),module$build$src$blocks$blocks={blocks:blocks$$module$build$src$blocks$blocks,lists:module$build$src$blocks$lists,logic:module$build$src$blocks$logic,
|
|
188
|
+
loops:module$build$src$blocks$loops,math:module$build$src$blocks$math,procedures:module$build$src$blocks$procedures,texts:module$build$src$blocks$text,variables:module$build$src$blocks$variables,variablesDynamic:module$build$src$blocks$variables_dynamic};
|
|
189
|
+
module$build$src$blocks$blocks.__namespace__=$;
|
|
190
|
+
return module$build$src$blocks$blocks;
|
|
191
|
+
}));
|
|
192
|
+
|
|
193
|
+
|
|
194
|
+
//# sourceMappingURL=blocks_compressed.js.map
|