You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by gi...@apache.org on 2022/09/25 04:23:43 UTC

[beam] branch nightly-refs/heads/master updated (2f1f1a76419 -> c4fe823b4f9)

This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a change to branch nightly-refs/heads/master
in repository https://gitbox.apache.org/repos/asf/beam.git


    from 2f1f1a76419 Bump cloud.google.com/go/bigquery from 1.41.0 to 1.42.0 in /sdks (#23329)
     add c4fe823b4f9 Extract playground components (#23253)

No new revisions were added by this update.

Summary of changes:
 .github/workflows/build_playground_frontend.yml    |   6 +-
 .gitignore                                         |   1 +
 .../frontend/assets/png/profile-website.png        | Bin 0 -> 614 bytes
 .../frontend/assets/svg/github-logo.svg            |  19 +
 .../frontend/assets/svg/google-logo.svg            |  22 ++
 .../{welcome-progress-0.svg => profile-about.svg}  |   8 +-
 .../frontend/assets/svg/profile-delete.svg         |  19 +
 .../frontend/assets/svg/profile-logout.svg         |  19 +
 ...{welcome-progress-0.svg => unit-progress-0.svg} |   4 +-
 ...elcome-progress-0.svg => unit-progress-100.svg} |   4 +-
 .../frontend/assets/svg/welcome-progress-0.svg     |   2 +-
 .../frontend/assets/translations/en.yaml           |  39 ++-
 .../frontend/integration_test/app_test.dart        |   2 +-
 .../lib/components/expansion_tile_wrapper.dart     |  27 +-
 .../frontend/lib/components/filler_text.dart       |  12 +-
 .../frontend/lib/components/footer.dart            |  43 ++-
 .../login_button.dart}                             |  26 +-
 .../lib/components/login/login_content.dart        | 140 ++++++++
 .../tour-of-beam/frontend/lib/components/logo.dart |  13 +-
 .../sign_in_button.dart => profile/avatar.dart}    |  35 +-
 .../lib/components/profile/profile_content.dart    | 160 +++++++++
 .../{page_container.dart => scaffold.dart}         |  39 ++-
 .../frontend/lib/components/sdk_dropdown.dart      |  64 ++++
 .../sign_in/sign_in_overlay_content.dart           |  89 -----
 .../frontend/lib/config/theme/colors_provider.dart |  86 -----
 .../frontend/lib/config/theme/theme.dart           | 160 ---------
 .../frontend/lib/constants/assets.dart             |  34 --
 .../tour-of-beam/frontend/lib/constants/sizes.dart |  32 +-
 learning/tour-of-beam/frontend/lib/main.dart       |  13 +-
 .../frontend/lib/pages/tour/playground_demo.dart   | 126 +++++++
 .../frontend/lib/pages/tour/screen.dart            | 359 +++++++++++++++++++
 .../frontend/lib/pages/welcome/screen.dart         |  98 +++---
 learning/tour-of-beam/frontend/pubspec.lock        | 382 +++++++++++++++++++--
 learning/tour-of-beam/frontend/pubspec.yaml        |  19 +-
 .../frontend/test/common/test_screen_wrapper.dart  |  27 +-
 ...witch_notifier_test.dart => overflow_test.dart} |  16 +-
 playground/buf.gen.yaml                            |   4 +-
 playground/frontend/Dockerfile                     |  19 +-
 playground/frontend/README.md                      |  12 +
 playground/frontend/assets/theme.svg               |  27 --
 .../pubspec.yaml => assets/translations/en.yaml}   |  21 +-
 playground/frontend/build.gradle                   |  63 ++--
 .../lib/components/banner/banner_description.dart  |   7 +-
 .../dropdown_button/dropdown_button.dart           |   8 +-
 .../playground_run_or_cancel_button.dart           |  57 +++
 .../toggle_theme_button/toggle_theme_button.dart   |  55 ---
 playground/frontend/lib/config/theme.dart          | 305 ----------------
 playground/frontend/lib/configure_web.dart         |  23 --
 playground/frontend/lib/constants/sizes.dart       |  14 -
 playground/frontend/lib/l10n/app_en.arb            |  16 -
 playground/frontend/lib/l10n/l10n.dart             |   6 +-
 playground/frontend/lib/main.dart                  |  31 +-
 .../actions/components/new_example_action.dart     |  10 +-
 .../modules/actions/components/reset_action.dart   |  30 +-
 .../lib/modules/analytics/analytics_service.dart   |   7 +-
 .../analytics/google_analytics_service.dart        |   9 +-
 .../modules/editor/components/editor_themes.dart   |  64 ----
 .../pipeline_options_dropdown_body.dart            |   2 +-
 .../pipeline_options_dropdown_separator.dart       |   4 +-
 .../pipeline_options_form.dart                     |   5 +-
 .../pipeline_options_text_field.dart               |  12 +-
 .../components/share_dropdown/link_text_field.dart |   8 +-
 .../components/share_dropdown/share_button.dart    |  18 +-
 .../share_dropdown/share_dropdown_body.dart        |   2 +-
 .../share_dropdown/share_tabs/share_tabs.dart      |  12 +-
 .../share_tabs/snippet_save_and_share_tabs.dart    |  12 +-
 .../share_dropdown/share_tabs_headers.dart         |  28 +-
 .../code_client/grpc_code_client.dart              | 234 -------------
 .../description_popover/description_popover.dart   |   4 +-
 .../description_popover_button.dart                |   9 +-
 .../example_list/category_expansion_panel.dart     |   4 +-
 .../example_list/example_item_actions.dart         |   7 +-
 .../components/example_list/example_list.dart      |   6 +-
 .../example_list/expansion_panel_item.dart         |  25 +-
 .../components/filter/category_bubble.dart         |  55 +--
 .../examples/components/filter/type_filter.dart    |   2 +-
 .../multifile_popover/multifile_popover.dart       |   4 +-
 .../multifile_popover_button.dart                  |   6 +-
 .../components/search_field/search_field.dart      |  11 +-
 .../lib/modules/examples/example_selector.dart     |  46 ++-
 ...catalog_default_example_loading_descriptor.dart |  44 ---
 .../examples_loading_descriptor_factory.dart       |  29 +-
 .../standard_example_loading_descriptor.dart       |  46 ---
 .../user_shared_example_loading_descriptor.dart    |  47 ---
 .../examples/models/example_token_type.dart        |   4 +-
 .../example_client/example_client.dart             |  66 ----
 .../example_client/grpc_example_client.dart        | 366 --------------------
 .../examples/repositories/example_repository.dart  |  98 ------
 .../repositories/models/get_example_request.dart   |  37 --
 .../models/get_list_of_examples_request.dart       |  37 --
 .../models/get_list_of_examples_response.dart      |  26 --
 .../messages/handlers/messages_handler.dart        |   8 +-
 .../handlers/set_content_message_handler.dart      |   8 +-
 .../messages/handlers/set_sdk_message_handler.dart |   8 +-
 .../messages/models/set_content_message.dart       |   2 +-
 .../modules/messages/models/set_sdk_message.dart   |   8 +-
 .../lib/modules/output/components/output_area.dart |  74 ----
 .../output_header/result_filter_bubble.dart        |  80 -----
 .../output_header/result_filter_popover.dart       |  75 ----
 .../modules/output/models/output_placement.dart    |   7 +
 .../lib/modules/sdk/components/sdk_selector.dart   |  41 ++-
 .../modules/sdk/components/sdk_selector_row.dart   |   6 +-
 .../frontend/lib/modules/sdk/models/sdk.dart       | 117 -------
 .../modules/shortcuts/components/shortcut_row.dart |   7 +-
 .../shortcuts/components/shortcuts_manager.dart    |   4 +-
 .../shortcuts/components/shortcuts_modal.dart      |  32 +-
 .../shortcuts/constants/global_shortcuts.dart      |  67 +---
 .../shortcuts/utils/shortcuts_display_name.dart    |  36 --
 .../components/embedded_actions.dart               |  14 +-
 .../components/embedded_appbar_title.dart          |  48 +--
 .../components/embedded_editor.dart                |  23 +-
 .../embedded_playground_page.dart                  |  13 +-
 .../playground/components/close_listener.dart      |   4 +-
 .../components/editor_textarea_wrapper.dart        |  77 +----
 .../feedback/feedback_dropdown_content.dart        |  13 +-
 .../pages/playground/components/more_actions.dart  |  18 +-
 .../components/playground_page_body.dart           |  35 +-
 .../components/playground_page_footer.dart         |   6 +-
 .../components/playground_page_providers.dart      |  54 ++-
 .../lib/pages/playground/playground_page.dart      |  76 ++--
 .../states/example_loaders/examples_loader.dart    | 110 ------
 .../playground/states/example_selector_state.dart  |  32 +-
 .../pages/playground/states/examples_state.dart    | 218 ------------
 playground/frontend/lib/playground_app.dart        |  54 ++-
 playground/frontend/lib/utils/analytics_utils.dart |  11 +-
 .../assets/buttons}/reset.svg                      |   0
 .../assets/buttons}/theme-mode.svg                 |   0
 .../assets/notification_icons/error.svg}           |   0
 .../assets/notification_icons/info.svg}            |   0
 .../assets/notification_icons/success.svg}         |   0
 .../assets/notification_icons/warning.svg}         |   0
 .../assets/png/beam-logo.png                       | Bin
 .../assets/svg/drag-horizontal.svg}                |   0
 .../assets/svg/drag-vertical.svg}                  |   0
 .../{pubspec.yaml => assets/translations/en.yaml}  |  44 ++-
 .../playground_components/build.gradle.kts         |  90 +++++
 .../lib/playground_components.dart                 |  73 ++++
 .../lib/src/api/iis_workaround_channel.dart}       |   5 +-
 .../src/api/iis_workaround_channel_non_web.dart}   |  14 +-
 .../lib/src/api/iis_workaround_channel_web.dart}   |   9 +-
 .../lib/src}/api/v1/api.pb.dart                    |   0
 .../lib/src}/api/v1/api.pbenum.dart                |   0
 .../lib/src}/api/v1/api.pbgrpc.dart                |   0
 .../lib/src}/api/v1/api.pbjson.dart                |   0
 .../lib/src/cache/example_cache.dart               | 238 +++++++++++++
 .../lib/src}/constants/colors.dart                 |  44 ++-
 .../lib/src}/constants/links.dart                  |   2 +-
 .../lib/src/constants/playground_components.dart}  |  18 +-
 .../lib/src}/constants/sizes.dart                  |  40 +--
 .../catalog_default_example_loader.dart            |  20 +-
 .../example_loaders/content_example_loader.dart    |  13 +-
 .../example_loaders/empty_example_loader.dart      |  14 +-
 .../example_loaders/example_loader.dart            |   4 +-
 .../example_loaders/example_loader_factory.dart    |  53 +++
 .../example_loaders/examples_loader.dart           | 103 ++++++
 .../example_loaders/standard_example_loader.dart   |  35 +-
 .../user_shared_example_loader.dart                |  16 +-
 .../src/controllers/playground_controller.dart}    | 143 ++++----
 .../controllers/snippet_editing_controller.dart    |  22 +-
 .../lib/src/enums/complexity.dart}                 |   8 +-
 .../lib/src/models/category_with_examples.dart}    |  28 +-
 .../lib/src/models/example.dart                    |  61 ++++
 .../lib/src/models/example_base.dart}              |  65 +---
 ...atalog_default_example_loading_descriptor.dart} |  16 +-
 .../content_example_loading_descriptor.dart        |  33 +-
 .../empty_example_loading_descriptor.dart}         |  16 +-
 .../example_loading_descriptor.dart}               |   8 +-
 .../examples_loading_descriptor.dart               |  13 +-
 .../standard_example_loading_descriptor.dart}      |  14 +-
 .../user_shared_example_loading_descriptor.dart}   |  14 +-
 .../lib/src/models/intents.dart}                   |  24 +-
 .../lib/src/models/outputs.dart}                   |   8 +-
 .../playground_components/lib/src/models/sdk.dart  |  96 ++++++
 .../lib/src}/models/shortcut.dart                  |  27 +-
 .../lib/src/notifications}/base_notification.dart  |  21 +-
 .../lib/src/notifications}/notification.dart       |  23 +-
 .../src/repositories}/code_client/code_client.dart |  18 +-
 .../repositories/code_client/grpc_code_client.dart | 256 ++++++++++++++
 .../lib/src/repositories}/code_repository.dart     |  74 ++--
 .../example_client/example_client.dart             |  67 ++++
 .../example_client/grpc_example_client.dart        | 376 ++++++++++++++++++++
 .../lib/src/repositories/example_repository.dart   |  99 ++++++
 .../models}/check_status_response.dart             |   6 +-
 .../get_default_precompiled_object_request.dart}   |  19 +-
 .../get_precompiled_object_code_response.dart}     |   6 +-
 .../models/get_precompiled_object_request.dart}    |  24 +-
 .../models/get_precompiled_object_response.dart}   |  10 +-
 .../models/get_precompiled_objects_request.dart}   |  22 +-
 .../models/get_precompiled_objects_response.dart}  |  11 +-
 .../repositories/models/get_snippet_request.dart   |   4 +-
 .../repositories/models/get_snippet_response.dart  |   6 +-
 .../src/repositories/models}/output_response.dart  |   5 +-
 .../src/repositories/models}/run_code_error.dart   |   4 +-
 .../src/repositories/models}/run_code_request.dart |   8 +-
 .../repositories/models}/run_code_response.dart    |   4 +-
 .../src/repositories/models}/run_code_result.dart  |  28 +-
 .../repositories/models/save_snippet_request.dart  |  10 +-
 .../repositories/models/save_snippet_response.dart |   0
 .../lib/src/repositories/models/shared_file.dart}  |   0
 .../lib/src/repositories/sdk_grpc_extension.dart}  |  42 ++-
 .../lib/src}/theme/switch_notifier.dart            |  19 +-
 .../playground_components/lib/src/theme/theme.dart | 367 ++++++++++++++++++++
 .../lib/src/util/pipeline_options.dart}            |   0
 .../lib/src/util}/replace_incorrect_symbols.dart   |   6 +-
 .../lib/src/util}/run_with_retry.dart              |   0
 .../lib/src/widgets/bubble.dart                    |  69 ++++
 .../lib/src/widgets}/complexity.dart               |  15 +-
 .../lib/{ => src/widgets}/dismissible_overlay.dart |   0
 .../lib/src/widgets/divider.dart}                  |  17 +-
 .../lib/src/widgets/drag_handle.dart}              |  28 +-
 .../lib/src/widgets}/editor_textarea.dart          |  54 ++-
 .../lib/src/widgets}/header_icon_button.dart       |   9 +-
 .../lib/src/widgets}/loading_indicator.dart        |  12 +-
 .../widgets/logo.dart}                             |  25 +-
 .../lib/src/widgets/output/graph}/graph.dart       |  21 +-
 .../output}/graph/graph_builder/canvas_drawer.dart |  22 +-
 .../graph_builder/extractors/edge_extractor.dart   |   4 +-
 .../extractors/element_extractor.dart              |   6 +-
 .../graph_builder/extractors/extractor_utils.dart  |   0
 .../graph/graph_builder/extractors/extractors.dart |   0
 .../graph_builder/extractors/label_extractor.dart  |   2 +-
 .../output}/graph/graph_builder/graph_builder.dart |  51 +--
 .../graph/graph_builder/painters/edge_painter.dart |  21 +-
 .../graph_builder/painters/graph_painter.dart      |  21 +-
 .../graph/graph_builder/painters/node_painter.dart |  18 +-
 .../src/widgets/output}/graph/models/graph.dart    |   0
 .../widgets/output}/graph/models/table_cell.dart   |   0
 .../lib/src/widgets/output}/output.dart            |  45 +--
 .../lib/src/widgets/output/output_area.dart}       |  53 +--
 .../lib/src/widgets/output}/output_result.dart     |  13 +-
 .../lib/src/widgets/output}/output_tab.dart        |  31 +-
 .../lib/src/widgets/output}/output_tabs.dart       |  57 ++-
 .../src/widgets/output/result_filter_bubble.dart   |  46 ++-
 .../src/widgets/output/result_filter_popover.dart  |  84 +++++
 .../lib/src/widgets/reset_button.dart}             |  38 +-
 .../lib/src/widgets}/run_button.dart               |  39 ++-
 .../lib/src/widgets/run_or_cancel_button.dart      |  63 ++++
 .../lib/src/widgets}/shortcut_tooltip.dart         |  12 +-
 .../lib/src/widgets/snippet_editor.dart            |  44 +--
 .../lib/src/widgets}/split_view.dart               |  47 ++-
 .../lib/src/widgets}/tab_header.dart               |   6 +-
 .../lib/src/widgets}/toggle_theme_button.dart      |  25 +-
 .../lib/src/widgets}/toggle_theme_icon_button.dart |  19 +-
 .../frontend/playground_components/pubspec.yaml    |  39 ++-
 .../test/src/cache/example_cache_test.dart}        | 124 ++++---
 .../test/src/common/categories.dart}               |  42 +--
 .../test/src/common}/example_repository_mock.dart  |  14 +-
 .../test/src/common/examples.dart}                 |  30 +-
 .../test/src/common/requests.dart                  |  66 ++++
 .../controllers/playground_controller_test.dart}   |  41 ++-
 .../src/repositories}/code_repository_test.dart    | 126 +++----
 .../src/repositories/example_repository_test.dart  | 130 +++++++
 .../test/src/util/pipeline_options_test.dart}      |   2 +-
 .../test/src/util}/run_with_retry_test.dart        |   2 +-
 .../test}/theme/switch_notifier_test.dart          |   2 +-
 playground/frontend/pubspec.lock                   | 102 ++++--
 playground/frontend/pubspec.yaml                   |  19 +-
 .../code_repository_test.mocks.dart                | 138 --------
 .../example_repository_test.dart                   | 130 -------
 .../example_repository_test.mocks.dart             | 147 --------
 .../messages/handlers/messages_debouncer_test.dart |  10 +-
 .../messages/models/set_content_message_test.dart  |  17 +-
 .../messages/models/set_sdk_message_test.dart      |   6 +-
 .../messages/parsers/message_parser_test.dart      |  10 +-
 .../states/example_selector_state_test.dart        |  38 +-
 .../states/example_selector_state_test.mocks.dart  |  69 ----
 .../playground/states/mocks/categories_mock.dart   |  45 ---
 .../mocks/example_repository_mock.mocks.dart       | 113 ------
 .../playground/states/mocks/request_mock.dart      |  45 ---
 .../states/playground_state_test.mocks.dart        | 216 ------------
 settings.gradle.kts                                |   1 +
 271 files changed, 5807 insertions(+), 5535 deletions(-)
 create mode 100644 learning/tour-of-beam/frontend/assets/png/profile-website.png
 create mode 100644 learning/tour-of-beam/frontend/assets/svg/github-logo.svg
 create mode 100644 learning/tour-of-beam/frontend/assets/svg/google-logo.svg
 copy learning/tour-of-beam/frontend/assets/svg/{welcome-progress-0.svg => profile-about.svg} (58%)
 create mode 100644 learning/tour-of-beam/frontend/assets/svg/profile-delete.svg
 create mode 100644 learning/tour-of-beam/frontend/assets/svg/profile-logout.svg
 copy learning/tour-of-beam/frontend/assets/svg/{welcome-progress-0.svg => unit-progress-0.svg} (61%)
 copy learning/tour-of-beam/frontend/assets/svg/{welcome-progress-0.svg => unit-progress-100.svg} (60%)
 copy playground/frontend/lib/components/loading_indicator/loading_indicator.dart => learning/tour-of-beam/frontend/lib/components/expansion_tile_wrapper.dart (56%)
 copy playground/frontend/lib/l10n/l10n.dart => learning/tour-of-beam/frontend/lib/components/filler_text.dart (79%)
 copy learning/tour-of-beam/frontend/lib/components/{sign_in/sign_in_button.dart => login/login_button.dart} (72%)
 create mode 100644 learning/tour-of-beam/frontend/lib/components/login/login_content.dart
 rename learning/tour-of-beam/frontend/lib/components/{sign_in/sign_in_button.dart => profile/avatar.dart} (65%)
 create mode 100644 learning/tour-of-beam/frontend/lib/components/profile/profile_content.dart
 copy learning/tour-of-beam/frontend/lib/components/{page_container.dart => scaffold.dart} (56%)
 create mode 100644 learning/tour-of-beam/frontend/lib/components/sdk_dropdown.dart
 delete mode 100644 learning/tour-of-beam/frontend/lib/components/sign_in/sign_in_overlay_content.dart
 delete mode 100644 learning/tour-of-beam/frontend/lib/config/theme/colors_provider.dart
 delete mode 100644 learning/tour-of-beam/frontend/lib/config/theme/theme.dart
 delete mode 100644 learning/tour-of-beam/frontend/lib/constants/assets.dart
 create mode 100644 learning/tour-of-beam/frontend/lib/pages/tour/playground_demo.dart
 create mode 100644 learning/tour-of-beam/frontend/lib/pages/tour/screen.dart
 copy playground/frontend/lib/modules/shortcuts/components/shortcut_tooltip.dart => learning/tour-of-beam/frontend/test/common/test_screen_wrapper.dart (66%)
 copy learning/tour-of-beam/frontend/test/{config/theme/switch_notifier_test.dart => overflow_test.dart} (68%)
 delete mode 100644 playground/frontend/assets/theme.svg
 copy playground/frontend/{playground_components/pubspec.yaml => assets/translations/en.yaml} (72%)
 create mode 100644 playground/frontend/lib/components/playground_run_or_cancel_button.dart
 delete mode 100644 playground/frontend/lib/components/toggle_theme_button/toggle_theme_button.dart
 delete mode 100644 playground/frontend/lib/config/theme.dart
 delete mode 100644 playground/frontend/lib/configure_web.dart
 delete mode 100644 playground/frontend/lib/modules/editor/components/editor_themes.dart
 delete mode 100644 playground/frontend/lib/modules/editor/repository/code_repository/code_client/grpc_code_client.dart
 delete mode 100644 playground/frontend/lib/modules/examples/models/example_loading_descriptors/catalog_default_example_loading_descriptor.dart
 delete mode 100644 playground/frontend/lib/modules/examples/models/example_loading_descriptors/standard_example_loading_descriptor.dart
 delete mode 100644 playground/frontend/lib/modules/examples/models/example_loading_descriptors/user_shared_example_loading_descriptor.dart
 delete mode 100644 playground/frontend/lib/modules/examples/repositories/example_client/example_client.dart
 delete mode 100644 playground/frontend/lib/modules/examples/repositories/example_client/grpc_example_client.dart
 delete mode 100644 playground/frontend/lib/modules/examples/repositories/example_repository.dart
 delete mode 100644 playground/frontend/lib/modules/examples/repositories/models/get_example_request.dart
 delete mode 100644 playground/frontend/lib/modules/examples/repositories/models/get_list_of_examples_request.dart
 delete mode 100644 playground/frontend/lib/modules/examples/repositories/models/get_list_of_examples_response.dart
 delete mode 100644 playground/frontend/lib/modules/output/components/output_area.dart
 delete mode 100644 playground/frontend/lib/modules/output/components/output_header/result_filter_bubble.dart
 delete mode 100644 playground/frontend/lib/modules/output/components/output_header/result_filter_popover.dart
 delete mode 100644 playground/frontend/lib/modules/sdk/models/sdk.dart
 delete mode 100644 playground/frontend/lib/modules/shortcuts/utils/shortcuts_display_name.dart
 delete mode 100644 playground/frontend/lib/pages/playground/states/example_loaders/examples_loader.dart
 delete mode 100644 playground/frontend/lib/pages/playground/states/examples_state.dart
 rename playground/frontend/{assets => playground_components/assets/buttons}/reset.svg (100%)
 rename {learning/tour-of-beam/frontend/assets/svg => playground/frontend/playground_components/assets/buttons}/theme-mode.svg (100%)
 rename playground/frontend/{assets/error_notification.svg => playground_components/assets/notification_icons/error.svg} (100%)
 rename playground/frontend/{assets/info_notification.svg => playground_components/assets/notification_icons/info.svg} (100%)
 rename playground/frontend/{assets/success_notification.svg => playground_components/assets/notification_icons/success.svg} (100%)
 rename playground/frontend/{assets/warning_notification.svg => playground_components/assets/notification_icons/warning.svg} (100%)
 rename {learning/tour-of-beam/frontend => playground/frontend/playground_components}/assets/png/beam-logo.png (100%)
 copy playground/frontend/{assets/drag_horizontal.svg => playground_components/assets/svg/drag-horizontal.svg} (100%)
 copy playground/frontend/{assets/drag_vertical.svg => playground_components/assets/svg/drag-vertical.svg} (100%)
 copy playground/frontend/playground_components/{pubspec.yaml => assets/translations/en.yaml} (60%)
 create mode 100644 playground/frontend/playground_components/build.gradle.kts
 create mode 100644 playground/frontend/playground_components/lib/playground_components.dart
 rename playground/frontend/{lib/configure_nonweb.dart => playground_components/lib/src/api/iis_workaround_channel.dart} (88%)
 copy playground/frontend/{lib/modules/examples/models/example_loading_descriptors/example_loading_descriptor.dart => playground_components/lib/src/api/iis_workaround_channel_non_web.dart} (75%)
 rename playground/frontend/{lib/api/iis_workaround_channel.dart => playground_components/lib/src/api/iis_workaround_channel_web.dart} (88%)
 rename playground/frontend/{lib => playground_components/lib/src}/api/v1/api.pb.dart (100%)
 rename playground/frontend/{lib => playground_components/lib/src}/api/v1/api.pbenum.dart (100%)
 rename playground/frontend/{lib => playground_components/lib/src}/api/v1/api.pbgrpc.dart (100%)
 rename playground/frontend/{lib => playground_components/lib/src}/api/v1/api.pbjson.dart (100%)
 create mode 100644 playground/frontend/playground_components/lib/src/cache/example_cache.dart
 rename {learning/tour-of-beam/frontend/lib => playground/frontend/playground_components/lib/src}/constants/colors.dart (52%)
 rename {learning/tour-of-beam/frontend/lib => playground/frontend/playground_components/lib/src}/constants/links.dart (98%)
 copy playground/frontend/{lib/modules/editor/repository/code_repository/run_code_request.dart => playground_components/lib/src/constants/playground_components.dart} (68%)
 copy {learning/tour-of-beam/frontend/lib => playground/frontend/playground_components/lib/src}/constants/sizes.dart (63%)
 rename playground/frontend/{lib/pages/playground/states => playground_components/lib/src/controllers}/example_loaders/catalog_default_example_loader.dart (65%)
 rename playground/frontend/{lib/pages/playground/states => playground_components/lib/src/controllers}/example_loaders/content_example_loader.dart (72%)
 rename playground/frontend/{lib/pages/playground/states => playground_components/lib/src/controllers}/example_loaders/empty_example_loader.dart (70%)
 rename playground/frontend/{lib/pages/playground/states => playground_components/lib/src/controllers}/example_loaders/example_loader.dart (89%)
 create mode 100644 playground/frontend/playground_components/lib/src/controllers/example_loaders/example_loader_factory.dart
 create mode 100644 playground/frontend/playground_components/lib/src/controllers/example_loaders/examples_loader.dart
 rename playground/frontend/{lib/pages/playground/states => playground_components/lib/src/controllers}/example_loaders/standard_example_loader.dart (61%)
 rename playground/frontend/{lib/pages/playground/states => playground_components/lib/src/controllers}/example_loaders/user_shared_example_loader.dart (65%)
 rename playground/frontend/{lib/pages/playground/states/playground_state.dart => playground_components/lib/src/controllers/playground_controller.dart} (74%)
 rename playground/frontend/{lib/modules/editor => playground_components/lib/src}/controllers/snippet_editing_controller.dart (80%)
 copy playground/frontend/{lib/modules/editor/repository/code_repository/code_client/output_response.dart => playground_components/lib/src/enums/complexity.dart} (91%)
 rename playground/frontend/{lib/modules/examples/models/category_model.dart => playground_components/lib/src/models/category_with_examples.dart} (56%)
 create mode 100644 playground/frontend/playground_components/lib/src/models/example.dart
 rename playground/frontend/{lib/modules/examples/models/example_model.dart => playground_components/lib/src/models/example_base.dart} (60%)
 copy playground/frontend/{lib/modules/editor/repository/code_repository/run_code_request.dart => playground_components/lib/src/models/example_loading_descriptors/catalog_default_example_loading_descriptor.dart} (76%)
 rename playground/frontend/{lib/modules/examples => playground_components/lib/src}/models/example_loading_descriptors/content_example_loading_descriptor.dart (70%)
 copy playground/frontend/{lib/modules/editor/repository/code_repository/run_code_request.dart => playground_components/lib/src/models/example_loading_descriptors/empty_example_loading_descriptor.dart} (76%)
 copy playground/frontend/{lib/modules/editor/repository/code_repository/code_client/check_status_response.dart => playground_components/lib/src/models/example_loading_descriptors/example_loading_descriptor.dart} (79%)
 rename playground/frontend/{lib/modules/examples => playground_components/lib/src}/models/example_loading_descriptors/examples_loading_descriptor.dart (88%)
 copy playground/frontend/{lib/modules/examples/models/example_loading_descriptors/example_loading_descriptor.dart => playground_components/lib/src/models/example_loading_descriptors/standard_example_loading_descriptor.dart} (76%)
 rename playground/frontend/{lib/modules/examples/models/example_loading_descriptors/example_loading_descriptor.dart => playground_components/lib/src/models/example_loading_descriptors/user_shared_example_loading_descriptor.dart} (75%)
 copy playground/frontend/{lib/modules/shortcuts/models/shortcut.dart => playground_components/lib/src/models/intents.dart} (70%)
 rename playground/frontend/{lib/modules/examples/models/outputs_model.dart => playground_components/lib/src/models/outputs.dart} (89%)
 create mode 100644 playground/frontend/playground_components/lib/src/models/sdk.dart
 rename playground/frontend/{lib/modules/shortcuts => playground_components/lib/src}/models/shortcut.dart (68%)
 rename playground/frontend/{lib/modules/notifications/components => playground_components/lib/src/notifications}/base_notification.dart (82%)
 rename playground/frontend/{lib/modules/notifications/components => playground_components/lib/src/notifications}/notification.dart (82%)
 rename playground/frontend/{lib/modules/editor/repository/code_repository => playground_components/lib/src/repositories}/code_client/code_client.dart (66%)
 create mode 100644 playground/frontend/playground_components/lib/src/repositories/code_client/grpc_code_client.dart
 rename playground/frontend/{lib/modules/editor/repository/code_repository => playground_components/lib/src/repositories}/code_repository.dart (76%)
 create mode 100644 playground/frontend/playground_components/lib/src/repositories/example_client/example_client.dart
 create mode 100644 playground/frontend/playground_components/lib/src/repositories/example_client/grpc_example_client.dart
 create mode 100644 playground/frontend/playground_components/lib/src/repositories/example_repository.dart
 rename playground/frontend/{lib/modules/editor/repository/code_repository/code_client => playground_components/lib/src/repositories/models}/check_status_response.dart (87%)
 copy playground/frontend/{lib/modules/editor/repository/code_repository/run_code_request.dart => playground_components/lib/src/repositories/models/get_default_precompiled_object_request.dart} (76%)
 rename playground/frontend/{lib/modules/examples/repositories/models/get_example_code_response.dart => playground_components/lib/src/repositories/models/get_precompiled_object_code_response.dart} (87%)
 copy playground/frontend/{lib/modules/editor/repository/code_repository/run_code_request.dart => playground_components/lib/src/repositories/models/get_precompiled_object_request.dart} (68%)
 rename playground/frontend/{lib/modules/examples/repositories/models/get_example_response.dart => playground_components/lib/src/repositories/models/get_precompiled_object_response.dart} (81%)
 copy playground/frontend/{lib/modules/editor/repository/code_repository/run_code_request.dart => playground_components/lib/src/repositories/models/get_precompiled_objects_request.dart} (72%)
 copy playground/frontend/{lib/modules/examples/repositories/models/save_snippet_response.dart => playground_components/lib/src/repositories/models/get_precompiled_objects_response.dart} (76%)
 rename playground/frontend/{lib/modules/examples => playground_components/lib/src}/repositories/models/get_snippet_request.dart (92%)
 rename playground/frontend/{lib/modules/examples => playground_components/lib/src}/repositories/models/get_snippet_response.dart (86%)
 rename playground/frontend/{lib/modules/editor/repository/code_repository/code_client => playground_components/lib/src/repositories/models}/output_response.dart (87%)
 rename playground/frontend/{lib/modules/editor/repository/code_repository => playground_components/lib/src/repositories/models}/run_code_error.dart (94%)
 rename playground/frontend/{lib/modules/editor/repository/code_repository => playground_components/lib/src/repositories/models}/run_code_request.dart (88%)
 rename playground/frontend/{lib/modules/editor/repository/code_repository/code_client => playground_components/lib/src/repositories/models}/run_code_response.dart (93%)
 rename playground/frontend/{lib/modules/editor/repository/code_repository => playground_components/lib/src/repositories/models}/run_code_result.dart (75%)
 rename playground/frontend/{lib/modules/examples => playground_components/lib/src}/repositories/models/save_snippet_request.dart (80%)
 rename playground/frontend/{lib/modules/examples => playground_components/lib/src}/repositories/models/save_snippet_response.dart (100%)
 rename playground/frontend/{lib/modules/examples/repositories/models/shared_file_model.dart => playground_components/lib/src/repositories/models/shared_file.dart} (100%)
 rename playground/frontend/{lib/modules/examples/models/example_origin.dart => playground_components/lib/src/repositories/sdk_grpc_extension.dart} (53%)
 rename {learning/tour-of-beam/frontend/lib/config => playground/frontend/playground_components/lib/src}/theme/switch_notifier.dart (79%)
 create mode 100644 playground/frontend/playground_components/lib/src/theme/theme.dart
 rename playground/frontend/{lib/modules/editor/parsers/run_options_parser.dart => playground_components/lib/src/util/pipeline_options.dart} (100%)
 rename playground/frontend/{lib/utils => playground_components/lib/src/util}/replace_incorrect_symbols.dart (87%)
 rename playground/frontend/{lib/utils => playground_components/lib/src/util}/run_with_retry.dart (100%)
 create mode 100644 playground/frontend/playground_components/lib/src/widgets/bubble.dart
 rename {learning/tour-of-beam/frontend/lib/components => playground/frontend/playground_components/lib/src/widgets}/complexity.dart (84%)
 copy playground/frontend/playground_components/lib/{ => src/widgets}/dismissible_overlay.dart (100%)
 copy playground/frontend/{lib/modules/editor/components/pipeline_options_dropdown/pipeline_options_dropdown_separator.dart => playground_components/lib/src/widgets/divider.dart} (72%)
 rename playground/frontend/{lib/components/horizontal_divider/horizontal_divider.dart => playground_components/lib/src/widgets/drag_handle.dart} (61%)
 rename playground/frontend/{lib/modules/editor/components => playground_components/lib/src/widgets}/editor_textarea.dart (80%)
 rename playground/frontend/{lib/modules/actions/components => playground_components/lib/src/widgets}/header_icon_button.dart (91%)
 rename playground/frontend/{lib/components/loading_indicator => playground_components/lib/src/widgets}/loading_indicator.dart (83%)
 rename playground/frontend/playground_components/lib/{dismissible_overlay.dart => src/widgets/logo.dart} (71%)
 rename playground/frontend/{lib/modules/output/components => playground_components/lib/src/widgets/output/graph}/graph.dart (83%)
 rename playground/frontend/{lib/modules => playground_components/lib/src/widgets/output}/graph/graph_builder/canvas_drawer.dart (93%)
 rename playground/frontend/{lib/modules => playground_components/lib/src/widgets/output}/graph/graph_builder/extractors/edge_extractor.dart (93%)
 rename playground/frontend/{lib/modules => playground_components/lib/src/widgets/output}/graph/graph_builder/extractors/element_extractor.dart (90%)
 rename playground/frontend/{lib/modules => playground_components/lib/src/widgets/output}/graph/graph_builder/extractors/extractor_utils.dart (100%)
 rename playground/frontend/{lib/modules => playground_components/lib/src/widgets/output}/graph/graph_builder/extractors/extractors.dart (100%)
 rename playground/frontend/{lib/modules => playground_components/lib/src/widgets/output}/graph/graph_builder/extractors/label_extractor.dart (93%)
 rename playground/frontend/{lib/modules => playground_components/lib/src/widgets/output}/graph/graph_builder/graph_builder.dart (85%)
 rename playground/frontend/{lib/modules => playground_components/lib/src/widgets/output}/graph/graph_builder/painters/edge_painter.dart (90%)
 rename playground/frontend/{lib/modules => playground_components/lib/src/widgets/output}/graph/graph_builder/painters/graph_painter.dart (83%)
 rename playground/frontend/{lib/modules => playground_components/lib/src/widgets/output}/graph/graph_builder/painters/node_painter.dart (82%)
 rename playground/frontend/{lib/modules => playground_components/lib/src/widgets/output}/graph/models/graph.dart (100%)
 rename playground/frontend/{lib/modules => playground_components/lib/src/widgets/output}/graph/models/table_cell.dart (100%)
 rename playground/frontend/{lib/modules/output/components => playground_components/lib/src/widgets/output}/output.dart (64%)
 copy playground/frontend/{lib/modules/editor/components/share_dropdown/share_tabs/share_tabs.dart => playground_components/lib/src/widgets/output/output_area.dart} (51%)
 rename playground/frontend/{lib/modules/output/components => playground_components/lib/src/widgets/output}/output_result.dart (86%)
 rename playground/frontend/{lib/modules/output/components/output_header => playground_components/lib/src/widgets/output}/output_tab.dart (78%)
 rename playground/frontend/{lib/modules/output/components/output_header => playground_components/lib/src/widgets/output}/output_tabs.dart (51%)
 copy learning/tour-of-beam/frontend/lib/components/page_container.dart => playground/frontend/playground_components/lib/src/widgets/output/result_filter_bubble.dart (56%)
 create mode 100644 playground/frontend/playground_components/lib/src/widgets/output/result_filter_popover.dart
 copy playground/frontend/{lib/modules/actions/components/reset_action.dart => playground_components/lib/src/widgets/reset_button.dart} (56%)
 rename playground/frontend/{lib/modules/editor/components => playground_components/lib/src/widgets}/run_button.dart (69%)
 create mode 100644 playground/frontend/playground_components/lib/src/widgets/run_or_cancel_button.dart
 rename playground/frontend/{lib/modules/shortcuts/components => playground_components/lib/src/widgets}/shortcut_tooltip.dart (81%)
 rename learning/tour-of-beam/frontend/lib/components/page_container.dart => playground/frontend/playground_components/lib/src/widgets/snippet_editor.dart (56%)
 rename playground/frontend/{lib/components/split_view => playground_components/lib/src/widgets}/split_view.dart (77%)
 rename playground/frontend/{lib/modules/output/components/output_header => playground_components/lib/src/widgets}/tab_header.dart (91%)
 rename {learning/tour-of-beam/frontend/lib/components => playground/frontend/playground_components/lib/src/widgets}/toggle_theme_button.dart (73%)
 rename playground/frontend/{lib/components/toggle_theme_button => playground_components/lib/src/widgets}/toggle_theme_icon_button.dart (73%)
 rename playground/frontend/{test/pages/playground/states/examples_state_test.dart => playground_components/test/src/cache/example_cache_test.dart} (52%)
 rename playground/frontend/{lib/modules/examples/models/example_loading_descriptors/empty_example_loading_descriptor.dart => playground_components/test/src/common/categories.dart} (51%)
 rename playground/frontend/{test/pages/playground/states/mocks => playground_components/test/src/common}/example_repository_mock.dart (82%)
 rename playground/frontend/{test/pages/playground/states/mocks/example_mock.dart => playground_components/test/src/common/examples.dart} (72%)
 create mode 100644 playground/frontend/playground_components/test/src/common/requests.dart
 rename playground/frontend/{test/pages/playground/states/playground_state_test.dart => playground_components/test/src/controllers/playground_controller_test.dart} (79%)
 rename playground/frontend/{test/modules/editor/repository/code_repository => playground_components/test/src/repositories}/code_repository_test.dart (65%)
 create mode 100644 playground/frontend/playground_components/test/src/repositories/example_repository_test.dart
 rename playground/frontend/{test/modules/editor/parsers/run_options_parser_test.dart => playground_components/test/src/util/pipeline_options_test.dart} (96%)
 rename playground/frontend/{test/utils => playground_components/test/src/util}/run_with_retry_test.dart (97%)
 rename {learning/tour-of-beam/frontend/test/config => playground/frontend/playground_components/test}/theme/switch_notifier_test.dart (93%)
 delete mode 100644 playground/frontend/test/modules/editor/repository/code_repository/code_repository_test.mocks.dart
 delete mode 100644 playground/frontend/test/modules/editor/repository/example_repository/example_repository_test.dart
 delete mode 100644 playground/frontend/test/modules/editor/repository/example_repository/example_repository_test.mocks.dart
 delete mode 100644 playground/frontend/test/pages/playground/states/example_selector_state_test.mocks.dart
 delete mode 100644 playground/frontend/test/pages/playground/states/mocks/categories_mock.dart
 delete mode 100644 playground/frontend/test/pages/playground/states/mocks/example_repository_mock.mocks.dart
 delete mode 100644 playground/frontend/test/pages/playground/states/mocks/request_mock.dart
 delete mode 100644 playground/frontend/test/pages/playground/states/playground_state_test.mocks.dart