UNPKG

vanilla-hamburger

Version:

A tiny framework agnostic hamburger button element for modern web apps

76 lines 2.36 kB
import { props, render, update } from '../internals.js'; import type { BurgerProps, RenderOptions } from '../types'; declare const btn: unique symbol; declare const updating: unique symbol; declare const prepare: unique symbol; export declare const defaultProps: BurgerProps; export declare abstract class Burger extends HTMLElement { static get observedAttributes(): string[]; protected abstract get lines(): number; protected abstract [render](options: RenderOptions): void; private [btn]; private [props]; private [updating]; /** * A valid `transition-timing-function` CSS value, for example 'ease-out'. * @type {string} * @default cubic-bezier(0, 0, 0, 1) */ get easing(): string; set easing(easing: string); /** * The vertical distance between the lines. Small (sm), medium (md) or large (lg). * @type {'sm' | 'md' | 'lg'} * @default md */ get distance(): 'sm' | 'md' | 'lg'; set distance(distance: 'sm' | 'md' | 'lg'); /** * The duration of the animation. Can be set to zero if no animation is desired. * @type {number} * @default 0.4 */ get duration(): number; set duration(duration: number); /** * When set to true, the internal <button> element is disabled. * @type {boolean} * @attr disabled * @default false */ get disabled(): boolean; set disabled(disabled: boolean); /** * Accessible label set on the internal <button> element for screen readers. * @type {string} * @default {hamburger} */ get label(): string; set label(label: string); /** * Set to true when element is pressed. * @type {boolean} * @attr pressed * @default false */ get pressed(): boolean; set pressed(pressed: boolean); /** * Size of the icon. Should be a number between 12 and 48. * @type {number} * @default 32 */ get size(): number; set size(size: number); constructor(); connectedCallback(): void; attributeChangedCallback(prop: string, oldVal: string, newVal: string): void; handleEvent(event: KeyboardEvent | MouseEvent): void; focus(): void; blur(): void; click(): void; private [prepare]; protected [update](): Promise<void>; } export {}; //# sourceMappingURL=burger.d.ts.map