UNPKG

@cds/core

Version:

Clarity Design System - common components, themes, and utilties

27 lines (26 loc) 828 B
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; }