@cds/core
Version:
Clarity Design System - common components, themes, and utilties
27 lines (26 loc) • 828 B
TypeScript
import { ReactiveController, ReactiveElement } from 'lit';
export declare type ButtonAnchor = ReactiveElement & HTMLElement & {
readonly: boolean;
};
/**
* Shim for allowing custom element button types to be wrapped with anchors as Safari prevents use of extending native element types.
* Will detect presence of anchor and set component to a readonly button state.
*
* Example:
*
* ```html
* <a href="#">
* <cds-button></cds-button>
* </a>
* ```
*/
export declare function buttonAnchor<T extends ButtonAnchor>(): ClassDecorator;
export declare class ButtonAnchorController<T extends ButtonAnchor> implements ReactiveController {
private host;
private previousAnchor;
private get currentAnchor();
constructor(host: T);
hostConnected(): void;
hostUpdated(): void;
private setAnchor;
}