mirror of
https://github.com/zhigang1992/DefinitelyTyped.git
synced 2026-03-29 22:38:33 +08:00
committed by
Masahiro Wakame
parent
dfb808f777
commit
fc810d7671
39
popper.js/popper-tests.ts
Normal file
39
popper.js/popper-tests.ts
Normal file
@@ -0,0 +1,39 @@
|
||||
/// <reference path="./popper.d.ts" />
|
||||
|
||||
import * as Popper from 'popper.js';
|
||||
|
||||
var reference = document.querySelector('.my-button');
|
||||
var thePopper = new Popper(
|
||||
reference, {
|
||||
content: 'My awesome popper!'
|
||||
}
|
||||
);
|
||||
thePopper.update();
|
||||
thePopper.destroy();
|
||||
|
||||
var options = {
|
||||
placement: 'bottom',
|
||||
offset: 0,
|
||||
arrowElement: document.querySelector('.arrow'),
|
||||
modifiersIgnored: ['applyStyle'],
|
||||
} as Popper.PopperOptions;
|
||||
|
||||
var thePopperWithOptions = new Popper(
|
||||
reference, {
|
||||
content: 'My awesome popper!',
|
||||
}, options);
|
||||
|
||||
var popper = document.querySelector('.my-popper');
|
||||
var anotherPopper = new Popper(
|
||||
reference,
|
||||
popper
|
||||
);
|
||||
|
||||
var reference = document.querySelector('.my-button');
|
||||
var popper = document.querySelector('.my-popper');
|
||||
var anotherPopper = new Popper(reference, popper).onCreate(function(instance) {
|
||||
console.log(instance.offsets);
|
||||
}).onUpdate(function(data) {
|
||||
var p = data.offsets.popper;
|
||||
console.log(`top: ${p.top}, left: ${p.left}`);
|
||||
});
|
||||
58
popper.js/popper.d.ts
vendored
Normal file
58
popper.js/popper.d.ts
vendored
Normal file
@@ -0,0 +1,58 @@
|
||||
// Type definitions for popper.js v0.4.0
|
||||
// Project: https://github.com/FezVrasta/popper.js/
|
||||
// Definitions by: rhysd <https://rhysd.github.io>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
|
||||
declare namespace Popper {
|
||||
export interface PopperOptions {
|
||||
placement?: string;
|
||||
gpuAcceleration?: boolean;
|
||||
offset?: number;
|
||||
boundariesElement?: string | Element;
|
||||
boundariesPadding?: number;
|
||||
preventOverflowOrder?: ("left" | "right" | "top" | "bottom")[];
|
||||
flipBehavior?: string | string[];
|
||||
modifiers?: string[];
|
||||
modifiersIgnored?: string[];
|
||||
removeOnDestroy?: boolean;
|
||||
arrowElement?: string | Element;
|
||||
}
|
||||
export class Modifiers {
|
||||
applyStyle(data: Object): Object;
|
||||
shift(data: Object): Object;
|
||||
preventOverflow(data: Object): Object;
|
||||
keepTogether(data: Object): Object;
|
||||
flip(data: Object): Object;
|
||||
offset(data: Object): Object;
|
||||
arrow(data: Object): Object;
|
||||
}
|
||||
export interface Data {
|
||||
placement: string;
|
||||
offsets: {
|
||||
popper: {
|
||||
position: string;
|
||||
top: number;
|
||||
left: number;
|
||||
};
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
declare class Popper {
|
||||
public modifiers: Popper.Modifiers;
|
||||
public placement: string;
|
||||
|
||||
constructor(reference: Element, popper: Element | Object, options?: Popper.PopperOptions);
|
||||
|
||||
destroy(): void;
|
||||
update(): void;
|
||||
onCreate(cb: (data: Popper.Data) => void): this;
|
||||
onUpdate(cb: (data: Popper.Data) => void): this;
|
||||
parse(config: Object): Element;
|
||||
runModifiers(data: Object, modifiers: string[], ends: Function): void;
|
||||
isModifierRequired(): boolean;
|
||||
}
|
||||
|
||||
declare module "popper.js" {
|
||||
export = Popper;
|
||||
}
|
||||
Reference in New Issue
Block a user