// Copyright 2022 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
{
    include: [ "//src/ui/meta/ui_routes_base.shard.cml" ],
    children: [
        {
            name: "ui",
            url: "fuchsia-pkg://fuchsia.com/ui#meta/ui.cm",
            environment: "#core-env",
        },
    ],
    offer: [
        // Routes from optional shards.
        // All of these routes should be marked `source_availability: "unknown"`
        //
        // PLEASE KEEP THESE ALPHABETICAL IN TERMS OF "FROM".
        {
            protocol: [ "fuchsia.ui.brightness.Control" ],
            from: "#brightness_manager",
            to: "#ui",
            source_availability: "unknown",
        },
        {
            protocol: [ "fuchsia.factory.MiscFactoryStoreProvider" ],
            from: "#factory_store_providers",
            to: "#ui",
            source_availability: "unknown",
        },
        {
            protocol: [
                "fuchsia.settings.Keyboard",
                "fuchsia.settings.Light",
            ],
            from: "#setui_service",
            to: "#ui",
            source_availability: "unknown",
        },
        {
            protocol: [ "fuchsia.media.sounds.Player" ],
            from: "#soundplayer",
            to: "#ui",
            source_availability: "unknown",
        },
    ],
}
