ui-lit
Version:
UI Elements on LIT
204 lines (203 loc) • 7.27 kB
TypeScript
import { LitElement, TemplateResult } from 'lit';
import '../spinner';
import '../icon';
import '../link';
import { TLinkTartget } from '../link/interface';
/**
*
* @cssprop --lit-button-display - Controls the display of button
*
*
* @cssprop --lit-button-small-height - small size Height
* @cssprop --lit-button-small-padding - small size Padding
* @cssprop --lit-button-small-font-size - small size FontSize
*
* @cssprop --lit-button-height - medium size Height
* @cssprop --lit-button-padding - medium size Padding
* @cssprop --lit-button-font-size - medium size FontSize
*
* @cssprop --lit-button-large-height - large size Height
* @cssprop --lit-button-large-padding - large size Padding
* @cssprop --lit-button-large-font-size - large size FontSize
*
* @cssprop --lit-button-border - border
* @cssprop --lit-button-outline - outline
* @cssprop --lit-button-radius - border-radius
*
*
* @cssprop --lit-button-text-transform - text-transform
* @cssprop --lit-button-letter-spacing - letter-spacing
*
*
* @cssprop --lit-button-color - color
* @cssprop --lit-button-background - background
*
* @cssprop --lit-button-background-hover - hover background-color
* @cssprop --lit-button-background-focus - focus background-color
* @cssprop --lit-button-background-pressed - pressed background-color
*
* @cssprop --lit-button-outline-hover - hover outline
* @cssprop --lit-button-outline-focus - focus outline
* @cssprop --lit-button-outline-pressed - pressed outline
*
* @cssprop --lit-button-color-hover - hover color
* @cssprop --lit-button-color-focus - focus color
* @cssprop --lit-button-color-pressed - pressed color
*
*
* @cssprop --lit-button-primary-color - color
* @cssprop --lit-button-primary-background - background
* @cssprop --lit-button-primary-border - border
*
* @cssprop --lit-button-primary-color-hover - hover color
* @cssprop --lit-button-primary-color-focus - focus color
* @cssprop --lit-button-primary-color-pressed - pressed color
*
* @cssprop --lit-button-primary-background-hover - hover background
* @cssprop --lit-button-primary-background-focus - focus background
* @cssprop --lit-button-primary-background-pressed - pressed background
*
* @cssprop --lit-button-primary-outline-hover - outline hover
* @cssprop --lit-button-primary-outline-focus - outline hover
* @cssprop --lit-button-primary-outline-pressed - outline pressed
*
*
* @cssprop --lit-button-success-color - color
* @cssprop --lit-button-success-background - background
* @cssprop --lit-button-success-border - border
*
* @cssprop --lit-button-success-color-hover - hover color
* @cssprop --lit-button-success-color-focus - focus color
* @cssprop --lit-button-success-color-pressed - pressed color
*
* @cssprop --lit-button-success-background-hover - hover background
* @cssprop --lit-button-success-background-focus - focus background
* @cssprop --lit-button-success-background-pressed - pressed background
*
* @cssprop --lit-button-success-outline-hover - outline hover
* @cssprop --lit-button-success-outline-focus - outline hover
* @cssprop --lit-button-success-outline-pressed - outline pressed
*
*
* @cssprop --lit-button-danger-color - color
* @cssprop --lit-button-danger-background - background
* @cssprop --lit-button-danger-border - border
*
* @cssprop --lit-button-danger-color-hover - hover color
* @cssprop --lit-button-danger-color-focus - focus color
* @cssprop --lit-button-danger-color-pressed - pressed color
*
* @cssprop --lit-button-danger-background-hover - hover background
* @cssprop --lit-button-danger-background-focus - focus background
* @cssprop --lit-button-danger-background-pressed - pressed background
*
* @cssprop --lit-button-danger-outline-hover - outline hover
* @cssprop --lit-button-danger-outline-focus - outline hover
* @cssprop --lit-button-danger-outline-pressed - outline pressed
*
* @cssprop --lit-button-switch-color Switch color
* @cssprop --lit-button-switch-background Switch background color
*
* @cssprop --lit-button-switch-on-color Switch-On color
* @cssprop --lit-button-switch-on-background Switch-On background color
*
*
*/
export interface ButtonProps {
type: Type;
size: TSize;
primary?: boolean;
disabled?: boolean;
borderless?: boolean;
success?: boolean;
danger?: boolean;
switchOn?: boolean;
notifyOnClick?: boolean;
center?: boolean;
loading?: boolean;
}
declare type Type = 'submit' | 'button' | 'switch';
declare type TSize = "small" | "medium" | "large";
declare const LitButton_base: (new (...args: any[]) => import("../mixins/focusable/inderface").Focusable & LitElement) & typeof LitElement;
/** @tag lit-button */
export declare class LitButton extends LitButton_base implements ButtonProps {
static styles: import("lit").CSSResult[];
static get properties(): {
loading: {
type: BooleanConstructor;
};
};
/** @ignore */
private _loading;
get loading(): boolean;
set loading(value: boolean);
/** @prop {"button" | "submit"} type */
align: 'start' | 'center' | 'end';
href: string | null;
target: TLinkTartget;
/** @prop {"button" | "submit"} type */
type: Type;
size: TSize;
/** @prop {boolean} disabled - Disable element */
disabled: boolean;
/** @prop {boolean} borderless - Borderless element */
borderless: boolean;
/** @prop {boolean} primary - Primary */
primary: boolean;
/** @prop {boolean} success - Success */
success: boolean;
/** @prop {boolean} danger - Danger */
danger: boolean;
between: boolean;
/** @prop {boolean} switchOn - switch State. true - enabled, false disabled */
switchOn: boolean;
accent: boolean;
notifyOnClick: boolean;
/** @ignore */
_notifyIcon: boolean;
tabindex: number;
/** @ignore */
private _notifyTimeout;
/** @ignore */
private _width;
/** @ignore */
private _radiant;
/** @ignore */
private _animationFrame;
/** @ignore */
private _pressed;
/** @ignore */
private get classes();
/** @ignore */
private _contentTemplate;
private wrapperTemplate;
/**
* @slot icon-before - You can put some elements before content
* @slot icon-after - You can put some elements after content
*/
render(): TemplateResult<1 | 2>;
private _startAnimation;
private _onTouchstart;
private _onMouseOver;
private _onMouseOut;
private _onMouseDown;
private _startPress;
private _endPress;
/** @ignore */
private _onBlur;
/** @ignore */
private _onFocus;
/** @ignore */
private _onKeyDown;
click(): void;
/** @event {CustomEvent} switchChanged - for type = 'switch'. Return current switchOn state. */
toggleSwitch(): void;
/** @event {CustomEvent} submitForm - for type = 'submit'. Submit to lit-form */
submit(): void;
}
declare global {
interface HTMLElementTagNameMap {
'lit-button': LitButton;
}
}
export {};