vaadin / vaadin-notification

The Web Component for customized notifications. Part of the Vaadin components.
https://vaadin.com/components
Apache License 2.0
6 stars 6 forks source link

feat: prepare for TS defs generation #110

Closed Haprog closed 4 years ago

Haprog commented 4 years ago

Fixes #109

The generated TS definitions look like this:

import {PolymerElement} from '@polymer/polymer/polymer-element.js';

import {templatize} from '@polymer/polymer/lib/utils/templatize.js';

import {ElementMixin} from '@vaadin/vaadin-element-mixin/vaadin-element-mixin.js';

import {ThemableMixin} from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';

import {ThemePropertyMixin} from '@vaadin/vaadin-themable-mixin/vaadin-theme-property-mixin.js';

import {FlattenedNodesObserver} from '@polymer/polymer/lib/utils/flattened-nodes-observer.js';

import {html} from '@polymer/polymer/lib/utils/html-tag.js';

declare class NotificationContainer extends
  ElementMixin(
  ThemableMixin(
  PolymerElement)) {

  opened: boolean;
}

declare global {
  interface HTMLElementTagNameMap {
    "vaadin-notification-container": NotificationContainer;
    "vaadin-notification-card": NotificationCard;
    "vaadin-notification": NotificationElement;
  }
}

declare class NotificationCard extends
  ThemableMixin(
  PolymerElement) {

  ready(): void;
}

declare class NotificationElement extends
  ThemePropertyMixin(
  ElementMixin(
  PolymerElement)) {

  duration: number;
  opened: boolean;
  position: NotificationPosition;
  renderer: NotificationRenderer|undefined;
  _notificationTemplate: HTMLTemplateElement|undefined;

  ready(): void;
  _setTemplateFromNodes(nodes: Node[]): void;
  render(): void;
  open(): void;
  close(): void;
}

export {NotificationContainer};

export {NotificationCard};

export {NotificationElement};

import {NotificationPosition} from '../@types/interfaces';

import {NotificationRenderer} from '../@types/interfaces';