@spectrum-web-components/shared
Version:
The `@spectrum-web-components/shared` package provides essential base classes, mixins, and utilities that support developing Spectrum Web Components. This package contains foundational tools for focus management, slot observation, accessibility enhancemen
35 lines (34 loc) • 1.38 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 { ReactiveElement, TemplateResult } from '@spectrum-web-components/base';
type Constructor<T = Record<string, unknown>> = {
new (...args: any[]): T;
prototype: T;
};
type RenderAnchorOptions = {
id: string;
className?: string;
ariaHidden?: boolean;
anchorContent?: TemplateResult | TemplateResult[];
labelledby?: string;
tabindex?: -1 | 0;
};
export interface LikeAnchorInterface {
download?: string;
label?: string;
href?: string;
rel?: string;
target?: '_blank' | '_parent' | '_self' | '_top';
renderAnchor(options: RenderAnchorOptions): TemplateResult;
}
export declare function LikeAnchor<T extends Constructor<ReactiveElement>>(constructor: T): T & Constructor<LikeAnchorInterface>;
export {};