mirror of
https://github.com/FlipsideCrypto/DefinitelyTyped.git
synced 2026-02-06 10:56:53 +00:00
Add webcomponents.js 0.6.0 typings
This commit is contained in:
parent
be0b6b394f
commit
f2a11bab3b
39
webcomponents.js/webcomponents.js-tests.ts
Normal file
39
webcomponents.js/webcomponents.js-tests.ts
Normal file
@ -0,0 +1,39 @@
|
||||
/// <reference path="webcomponents.js.d.ts" />
|
||||
|
||||
/*
|
||||
* Custom Elements
|
||||
*/
|
||||
var fooProto = Object.create(HTMLElement.prototype, {
|
||||
createdCallback() {
|
||||
// `this` should be the created element
|
||||
this.getElementsByTagName("a");
|
||||
}
|
||||
});
|
||||
|
||||
document.registerElement("x-foo", {
|
||||
prototype: fooProto
|
||||
});
|
||||
|
||||
window.CustomElements.hasNative;
|
||||
window.CustomElements.flags;
|
||||
window.CustomElements.ready;
|
||||
window.CustomElements.useNative;
|
||||
|
||||
/*
|
||||
* HTMLImports
|
||||
*/
|
||||
|
||||
window.HTMLImports.isIE;
|
||||
window.HTMLImports.rootDocument.querySelectorAll("div");
|
||||
window.HTMLImports.useNative;
|
||||
window.HTMLImports.whenReady(() => {
|
||||
return window.HTMLImports.ready === true;
|
||||
});
|
||||
|
||||
document.querySelectorAll(`link[type=${window.HTMLImports.IMPORT_LINK_TYPE}`);
|
||||
|
||||
/*
|
||||
* Web Components
|
||||
*/
|
||||
window.WebComponents.flags;
|
||||
|
||||
48
webcomponents.js/webcomponents.js.d.ts
vendored
Normal file
48
webcomponents.js/webcomponents.js.d.ts
vendored
Normal file
@ -0,0 +1,48 @@
|
||||
// Type definitions for webcomponents.js 0.6.0
|
||||
// Project: https://github.com/webcomponents/webcomponentsjs
|
||||
// Definitions by: Adi Dahiya <https://github.com/adidahiya>
|
||||
// Definitions: https://github.com/borisyankov/DefinitelyTyped
|
||||
|
||||
declare module webcomponents {
|
||||
|
||||
export interface CustomElementInit {
|
||||
prototype: HTMLElement;
|
||||
extends?: string;
|
||||
}
|
||||
|
||||
export interface CustomElementsPolyfill {
|
||||
hasNative: boolean;
|
||||
flags: any;
|
||||
ready: boolean;
|
||||
useNative: boolean;
|
||||
}
|
||||
|
||||
export interface HTMLImportsPolyfill {
|
||||
IMPORT_LINK_TYPE: string;
|
||||
isIE: boolean;
|
||||
flags: any;
|
||||
ready: boolean;
|
||||
rootDocument: Document;
|
||||
useNative: boolean;
|
||||
whenReady(callback: () => void): void;
|
||||
}
|
||||
|
||||
export interface Polyfill {
|
||||
flags: any;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
declare module "webcomponents.js" {
|
||||
export = webcomponents;
|
||||
}
|
||||
|
||||
interface Document {
|
||||
registerElement(name: string, prototype: webcomponents.CustomElementInit): void;
|
||||
}
|
||||
|
||||
interface Window {
|
||||
CustomElements: webcomponents.CustomElementsPolyfill;
|
||||
HTMLImports: webcomponents.HTMLImportsPolyfill;
|
||||
WebComponents: webcomponents.Polyfill;
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user