@fivethree/core
Version:
Fivethree Core Components
117 lines • 9.15 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: lib/bottom-sheet/bottom-sheet-content/bottom-sheet-content.component.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { IonContent } from '@ionic/angular';
import { DomSanitizer } from '@angular/platform-browser';
import { Component, Input, HostBinding, EventEmitter, Output, ViewChild } from '@angular/core';
import { DrawerState } from '../drawer-state';
export class FivBottomSheetContent {
/**
* @param {?} sanitizer
*/
constructor(sanitizer) {
this.sanitizer = sanitizer;
this.rounded = true;
this.handle = true;
this.float = true;
this.fivClick = new EventEmitter();
this.states = DrawerState;
this.shouldBounce = true;
this.panning = false;
}
/**
* @return {?}
*/
get isRounded() {
switch (this.currentState) {
case DrawerState.Top:
return false;
case DrawerState.Docked:
return this.rounded;
case DrawerState.Bottom:
return this.rounded && !this.float;
}
return true;
}
/**
* @return {?}
*/
get styles() {
if (!(this.float && this.currentState === DrawerState.Bottom)) {
return this.sanitizer
.bypassSecurityTrustStyle(`box-shadow: 0 4px 16px rgba(0, 0, 0, .12);
border-top: 1px solid var(--ion-color-light);`);
}
}
/**
* @return {?}
*/
ngOnInit() { }
/**
* @return {?}
*/
ngAfterViewInit() {
this.content.scrollEvents = true;
}
/**
* @param {?} state
* @return {?}
*/
updateState(state) {
this.currentState = state;
}
/**
* @return {?}
*/
click() {
this.fivClick.emit();
}
}
FivBottomSheetContent.decorators = [
{ type: Component, args: [{
selector: 'fiv-bottom-sheet-content',
template: "<div class=\"bsc-wrapper\">\n <span (click)=\"click()\" *ngIf=\"currentState !== states.Top && handle\"\n [fivCenter]=\"{vertical: false, horizontal: true}\" class=\"handle\"></span>\n <div [ngClass]=\"{'margin': handle}\" class=\"content\">\n <ion-content [scrollY]=\"currentState === 2 && shouldBounce && !panning\">\n <ng-content>\n\n </ng-content>\n </ion-content>\n\n </div>\n</div>",
styles: [":host{display:block;width:100%;height:100%;--fiv-border-radius:12px;--fiv-padding:20px;padding-top:var(--fiv-padding);--fiv-background:var(--ion-background-color);--fiv-handle-background:var(--ion-color-light-shade);background:var(--fiv-background)}.bsc-wrapper{width:100%;height:100%}:host.rounded{border-top-left-radius:var(--fiv-border-radius);border-top-right-radius:var(--fiv-border-radius)}.handle{display:block;background:var(--fiv-handle-background);border-radius:12px;top:8px;width:32px;height:8px;position:absolute}.content{height:100%}"]
}] }
];
/** @nocollapse */
FivBottomSheetContent.ctorParameters = () => [
{ type: DomSanitizer }
];
FivBottomSheetContent.propDecorators = {
rounded: [{ type: Input }],
handle: [{ type: Input }],
float: [{ type: Input }],
fivClick: [{ type: Output }],
content: [{ type: ViewChild, args: [IonContent, { static: true },] }],
isRounded: [{ type: HostBinding, args: ['class.rounded',] }],
styles: [{ type: HostBinding, args: ['style',] }]
};
if (false) {
/** @type {?} */
FivBottomSheetContent.prototype.rounded;
/** @type {?} */
FivBottomSheetContent.prototype.handle;
/** @type {?} */
FivBottomSheetContent.prototype.float;
/** @type {?} */
FivBottomSheetContent.prototype.fivClick;
/** @type {?} */
FivBottomSheetContent.prototype.content;
/** @type {?} */
FivBottomSheetContent.prototype.currentState;
/** @type {?} */
FivBottomSheetContent.prototype.states;
/** @type {?} */
FivBottomSheetContent.prototype.shouldBounce;
/** @type {?} */
FivBottomSheetContent.prototype.panning;
/**
* @type {?}
* @private
*/
FivBottomSheetContent.prototype.sanitizer;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm90dG9tLXNoZWV0LWNvbnRlbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGZpdmV0aHJlZS9jb3JlLyIsInNvdXJjZXMiOlsibGliL2JvdHRvbS1zaGVldC9ib3R0b20tc2hlZXQtY29udGVudC9ib3R0b20tc2hlZXQtY29udGVudC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLFlBQVksRUFBYSxNQUFNLDJCQUEyQixDQUFDO0FBQ3BFLE9BQU8sRUFDTCxTQUFTLEVBRVQsS0FBSyxFQUNMLFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLFNBQVMsRUFFVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFPOUMsTUFBTSxPQUFPLHFCQUFxQjs7OztJQWtDaEMsWUFBb0IsU0FBdUI7UUFBdkIsY0FBUyxHQUFULFNBQVMsQ0FBYztRQWpDbEMsWUFBTyxHQUFHLElBQUksQ0FBQztRQUNmLFdBQU0sR0FBRyxJQUFJLENBQUM7UUFDZCxVQUFLLEdBQUcsSUFBSSxDQUFDO1FBRVosYUFBUSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBSzNELFdBQU0sR0FBRyxXQUFXLENBQUM7UUFDckIsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFDcEIsWUFBTyxHQUFHLEtBQUssQ0FBQztJQXNCOEIsQ0FBQzs7OztJQXBCL0MsSUFBa0MsU0FBUztRQUN6QyxRQUFRLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDekIsS0FBSyxXQUFXLENBQUMsR0FBRztnQkFDbEIsT0FBTyxLQUFLLENBQUM7WUFDZixLQUFLLFdBQVcsQ0FBQyxNQUFNO2dCQUNyQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDdEIsS0FBSyxXQUFXLENBQUMsTUFBTTtnQkFDckIsT0FBTyxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztTQUN0QztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs7OztJQUVELElBQTBCLE1BQU07UUFDOUIsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLFdBQVcsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUM3RCxPQUFPLElBQUksQ0FBQyxTQUFTO2lCQUNsQix3QkFBd0IsQ0FBQztvR0FDa0UsQ0FBQyxDQUFDO1NBQ2pHO0lBQ0gsQ0FBQzs7OztJQUlELFFBQVEsS0FBSSxDQUFDOzs7O0lBRWIsZUFBZTtRQUNiLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztJQUNuQyxDQUFDOzs7OztJQUVELFdBQVcsQ0FBQyxLQUFrQjtRQUM1QixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztJQUM1QixDQUFDOzs7O0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQzs7O1lBckRGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsMEJBQTBCO2dCQUNwQyxxYUFBb0Q7O2FBRXJEOzs7O1lBakJRLFlBQVk7OztzQkFtQmxCLEtBQUs7cUJBQ0wsS0FBSztvQkFDTCxLQUFLO3VCQUVMLE1BQU07c0JBRU4sU0FBUyxTQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7d0JBT3RDLFdBQVcsU0FBQyxlQUFlO3FCQVkzQixXQUFXLFNBQUMsT0FBTzs7OztJQXpCcEIsd0NBQXdCOztJQUN4Qix1Q0FBdUI7O0lBQ3ZCLHNDQUFzQjs7SUFFdEIseUNBQTJEOztJQUUzRCx3Q0FBNkQ7O0lBRTdELDZDQUEwQjs7SUFDMUIsdUNBQXFCOztJQUNyQiw2Q0FBb0I7O0lBQ3BCLHdDQUFnQjs7Ozs7SUFzQkosMENBQStCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW9uQ29udGVudCB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZVN0eWxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIE9uSW5pdCxcbiAgSW5wdXQsXG4gIEhvc3RCaW5kaW5nLFxuICBFdmVudEVtaXR0ZXIsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxuICBBZnRlclZpZXdJbml0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRHJhd2VyU3RhdGUgfSBmcm9tICcuLi9kcmF3ZXItc3RhdGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmaXYtYm90dG9tLXNoZWV0LWNvbnRlbnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vYm90dG9tLXNoZWV0LWNvbnRlbnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ib3R0b20tc2hlZXQtY29udGVudC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEZpdkJvdHRvbVNoZWV0Q29udGVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBJbnB1dCgpIHJvdW5kZWQgPSB0cnVlO1xuICBASW5wdXQoKSBoYW5kbGUgPSB0cnVlO1xuICBASW5wdXQoKSBmbG9hdCA9IHRydWU7XG5cbiAgQE91dHB1dCgpIGZpdkNsaWNrOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAVmlld0NoaWxkKElvbkNvbnRlbnQsIHsgc3RhdGljOiB0cnVlIH0pIGNvbnRlbnQ6IElvbkNvbnRlbnQ7XG5cbiAgY3VycmVudFN0YXRlOiBEcmF3ZXJTdGF0ZTtcbiAgc3RhdGVzID0gRHJhd2VyU3RhdGU7XG4gIHNob3VsZEJvdW5jZSA9IHRydWU7XG4gIHBhbm5pbmcgPSBmYWxzZTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnJvdW5kZWQnKSBnZXQgaXNSb3VuZGVkKCk6IGJvb2xlYW4ge1xuICAgIHN3aXRjaCAodGhpcy5jdXJyZW50U3RhdGUpIHtcbiAgICAgIGNhc2UgRHJhd2VyU3RhdGUuVG9wOlxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICBjYXNlIERyYXdlclN0YXRlLkRvY2tlZDpcbiAgICAgICAgcmV0dXJuIHRoaXMucm91bmRlZDtcbiAgICAgIGNhc2UgRHJhd2VyU3RhdGUuQm90dG9tOlxuICAgICAgICByZXR1cm4gdGhpcy5yb3VuZGVkICYmICF0aGlzLmZsb2F0O1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnc3R5bGUnKSBnZXQgc3R5bGVzKCk6IFNhZmVTdHlsZSB7XG4gICAgaWYgKCEodGhpcy5mbG9hdCAmJiB0aGlzLmN1cnJlbnRTdGF0ZSA9PT0gRHJhd2VyU3RhdGUuQm90dG9tKSkge1xuICAgICAgcmV0dXJuIHRoaXMuc2FuaXRpemVyXG4gICAgICAgIC5ieXBhc3NTZWN1cml0eVRydXN0U3R5bGUoYGJveC1zaGFkb3c6IDAgNHB4IDE2cHggcmdiYSgwLCAwLCAwLCAuMTIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWlvbi1jb2xvci1saWdodCk7YCk7XG4gICAgfVxuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcikge31cblxuICBuZ09uSW5pdCgpIHt9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY29udGVudC5zY3JvbGxFdmVudHMgPSB0cnVlO1xuICB9XG5cbiAgdXBkYXRlU3RhdGUoc3RhdGU6IERyYXdlclN0YXRlKTogYW55IHtcbiAgICB0aGlzLmN1cnJlbnRTdGF0ZSA9IHN0YXRlO1xuICB9XG5cbiAgY2xpY2soKSB7XG4gICAgdGhpcy5maXZDbGljay5lbWl0KCk7XG4gIH1cbn1cbiJdfQ==