@spectrum-web-components/reactive-controllers
Version:
ReactiveControllers for powering common UI patterns
38 lines (37 loc) • 1.67 kB
TypeScript
/**
* Copyright 2026 Adobe. All rights reserved.
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. You may obtain a copy
* of the License at http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
* OF ANY KIND, either express or implied. See the License for the specific language
* governing permissions and limitations under the License.
*/
import type { ReactiveElement } from 'lit';
export declare const dependencyManagerLoadedSymbol: unique symbol;
/**
* Manage the availability of custom element dependencies of a host element
* to gate render and functional behavior before and after their presence
*/
export declare class DependencyManagerController {
private dependencies;
private host;
/**
* Whether all of the provided dependencies have been registered.
* This will be `false` when no dependencies have been listed for management.
* Changes to this value will trigger `requestUpdate()` on the host.
*/
get loaded(): boolean;
private set loaded(value);
private _loaded;
constructor(host: ReactiveElement);
/**
* Submit a custom element tag name to be managed as a dependency.
*
* @param dependency {string} - the custom element tag to manage
* @param alreadyLoaded {boolean} - force the managemented custom element to be listed as loaded
*/
add(dependency: string, alreadyLoaded?: boolean): void;
}