import { EventEmitter, OnInit, ElementRef } from "@angular/core"; import { AbstractJigsawComponent } from "./common"; export declare class DrawerDivComponent extends AbstractJigsawComponent implements OnInit { private _elementRef; constructor(_elementRef: ElementRef); private _position; /** * 用于设置抽屉的位置,支持上下左右4个方向。 * * $demo = drawer/basic */ position: "left" | "right" | "top" | "bottom"; private _open; /** * 代表了抽屉的状态,`true`为打开状态,`false`为关闭状态。在双绑模式下,改变此属性的值可以打开或者关闭抽屉。 * * $demo = drawer/basic */ open: boolean; /** * 当抽屉的状态发生变化时,Jigsaw发出此事件 * * $demo = drawer/basic * */ openChange: EventEmitter; /** * 容器的selector,支持'.className'、'#id'、'[attr]'、'tagName' * 向上寻找离抽屉最近的匹配节点作为抽屉的容器 * * $demo = drawer/with-div * $demo = drawer/with-scrollbar * $demo = drawer/with-tab */ container: string; private _offsetTop; private _offsetLeft; private _offsetRight; private _offsetBottom; /** * $demo = drawer/with-div */ offsetTop: string; /** * $demo = drawer/with-div */ offsetLeft: string; /** * $demo = drawer/with-div */ offsetRight: string; /** * $demo = drawer/with-div */ offsetBottom: string; /** * $demo = drawer/with-div */ width: string; /** * $demo = drawer/with-div */ height: string; /** * $demo = drawer/in-dom */ floating: boolean; private _drawerEl; _$hostWidth: string; _$hostHeight: string; private _setHostSize; /** * host(jigsaw-drawer)宽高的计算方法: * 浮动模式下:不做任何处理。 * 文档流模式下: * host是inline-block的模式,所以width和height属性没值时,默认按内容计算尺寸; * 有值时则为width和height的属性值 */ private _calcHostWidth; private _calcHostHeight; /** * @internal */ _$handleStyle: {}; private _setStyle; /** * 抽屉(div.jigsaw-drawer)宽高的计算方法: * * 在浮动模式下: * 有width和height属性值时,按照width和height的值; * 否则position为top或bottom时,宽度为100%,跟随容器的宽度,高度为auto,按内容撑开; * position为left或right时,宽度为auto,按内容撑开,高度为100%,跟随容器的宽度; * * 在文档流模式下: * 当有width和height属性值时,因为width和height是设置在host上的,所以采用计算值calc(100% - 14px) * 当没有width和height属性值时,则宽高设置为auto,按照内容撑开 */ private _calcWidth; private _calcDrawerWidth; private _calcHeight; private _calcDrawerHeight; /** * @internal */ _$handleClass: {}; /** * @internal */ _$onAnimation: boolean; private _setClass; _$toggleOpen(e: any): void; private _setContainer; private _update; ngOnInit(): void; }