@bitstack/ng-boundary 14.0.2 → 14.0.4-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/bs-boundary-context.service.mjs +21 -0
- package/esm2020/lib/bs-boundary.mjs +19 -10
- package/esm2020/public-api.mjs +2 -1
- package/fesm2015/bitstack-ng-boundary.mjs +38 -12
- package/fesm2015/bitstack-ng-boundary.mjs.map +1 -1
- package/fesm2020/bitstack-ng-boundary.mjs +38 -12
- package/fesm2020/bitstack-ng-boundary.mjs.map +1 -1
- package/lib/bs-boundary-context.service.d.ts +9 -0
- package/lib/bs-boundary.d.ts +5 -3
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class BsBoundaryContextService {
|
|
5
|
+
constructor() {
|
|
6
|
+
this._isLandscape$ = new BehaviorSubject(false);
|
|
7
|
+
this.isLandscape$ = this._isLandscape$.asObservable();
|
|
8
|
+
}
|
|
9
|
+
setIsLandscape(value) {
|
|
10
|
+
this._isLandscape$.next(value);
|
|
11
|
+
}
|
|
12
|
+
getIsLandscape() {
|
|
13
|
+
return this._isLandscape$.value;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
BsBoundaryContextService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: BsBoundaryContextService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
17
|
+
BsBoundaryContextService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: BsBoundaryContextService });
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: BsBoundaryContextService, decorators: [{
|
|
19
|
+
type: Injectable
|
|
20
|
+
}] });
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnMtYm91bmRhcnktY29udGV4dC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYml0c3RhY2stbmctYm91bmRhcnkvc3JjL2xpYi9icy1ib3VuZGFyeS1jb250ZXh0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUd2QyxNQUFNLE9BQU8sd0JBQXdCO0lBRHJDO1FBRVUsa0JBQWEsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUVuRCxpQkFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUM7S0FTM0Q7SUFQQyxjQUFjLENBQUMsS0FBYztRQUMzQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUM7SUFDbEMsQ0FBQzs7cUhBWFUsd0JBQXdCO3lIQUF4Qix3QkFBd0I7MkZBQXhCLHdCQUF3QjtrQkFEcEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQnNCb3VuZGFyeUNvbnRleHRTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBfaXNMYW5kc2NhcGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgcmVhZG9ubHkgaXNMYW5kc2NhcGUkID0gdGhpcy5faXNMYW5kc2NhcGUkLmFzT2JzZXJ2YWJsZSgpO1xuXG4gIHNldElzTGFuZHNjYXBlKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5faXNMYW5kc2NhcGUkLm5leHQodmFsdWUpO1xuICB9XG5cbiAgZ2V0SXNMYW5kc2NhcGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2lzTGFuZHNjYXBlJC52YWx1ZTtcbiAgfVxufSJdfQ==
|
|
@@ -1,15 +1,20 @@
|
|
|
1
1
|
import { Component, EventEmitter, inject, Input, Output, } from '@angular/core';
|
|
2
2
|
import { BreakpointObserver } from '@angular/cdk/layout';
|
|
3
3
|
import { Subject, takeUntil } from 'rxjs';
|
|
4
|
+
import { BsBoundaryContextService } from './bs-boundary-context.service';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
export class BsBoundary {
|
|
6
7
|
constructor() {
|
|
7
8
|
this.isFixedCenter = false;
|
|
9
|
+
this.pointerEventsNone = false;
|
|
8
10
|
this.lockOrientation = 'auto';
|
|
9
|
-
this.
|
|
11
|
+
this.isLandscapeChange = new EventEmitter();
|
|
10
12
|
this.breakpointObserver = inject(BreakpointObserver);
|
|
13
|
+
this.boundaryContext = inject(BsBoundaryContextService);
|
|
11
14
|
this.destroy$ = new Subject();
|
|
12
|
-
|
|
15
|
+
}
|
|
16
|
+
get isLandscape() {
|
|
17
|
+
return this.boundaryContext.getIsLandscape();
|
|
13
18
|
}
|
|
14
19
|
ngOnInit() {
|
|
15
20
|
this.setupBreakpointObserver();
|
|
@@ -23,34 +28,38 @@ export class BsBoundary {
|
|
|
23
28
|
*/
|
|
24
29
|
setupBreakpointObserver() {
|
|
25
30
|
if (this.lockOrientation === 'landscape') {
|
|
26
|
-
this.
|
|
31
|
+
this.boundaryContext.setIsLandscape(true);
|
|
32
|
+
this.isLandscapeChange.emit(true);
|
|
27
33
|
return;
|
|
28
34
|
}
|
|
29
35
|
if (this.lockOrientation === 'portrait') {
|
|
30
|
-
this.
|
|
36
|
+
this.boundaryContext.setIsLandscape(false);
|
|
37
|
+
this.isLandscapeChange.emit(false);
|
|
31
38
|
return;
|
|
32
39
|
}
|
|
33
40
|
this.breakpointObserver
|
|
34
41
|
.observe('(orientation: landscape)')
|
|
35
42
|
.pipe(takeUntil(this.destroy$))
|
|
36
43
|
.subscribe(result => {
|
|
37
|
-
this.
|
|
38
|
-
this.
|
|
44
|
+
this.boundaryContext.setIsLandscape(result.matches);
|
|
45
|
+
this.isLandscapeChange.emit(result.matches);
|
|
39
46
|
});
|
|
40
47
|
}
|
|
41
48
|
}
|
|
42
49
|
BsBoundary.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: BsBoundary, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
43
|
-
BsBoundary.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: BsBoundary, isStandalone: true, selector: "bs-boundary", inputs: { isFixedCenter: "isFixedCenter", lockOrientation: "lockOrientation", forwardStyle: "forwardStyle" }, outputs: {
|
|
50
|
+
BsBoundary.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: BsBoundary, isStandalone: true, selector: "bs-boundary", inputs: { isFixedCenter: "isFixedCenter", pointerEventsNone: "pointerEventsNone", lockOrientation: "lockOrientation", forwardStyle: "forwardStyle" }, outputs: { isLandscapeChange: "isLandscapeChange" }, providers: [BsBoundaryContextService], ngImport: i0, template: "<div\n class=\"boundary-wrapper\"\n [class.fixed-center]=\"isFixedCenter\"\n [class.landscape]=\"isLandscape\"\n [class.pointerEventsNone]=\"pointerEventsNone\"\n [style]=\"forwardStyle\"\n>\n <ng-content></ng-content>\n</div>\n", styles: [":host{--landscape-ratio: calc(var(--design-width) / var(--design-height));--portrait-ratio: calc(var(--design-height) / var(--design-width))}.boundary-wrapper{width:100%;height:100%;max-width:var(--boundary-width);max-height:var(--boundary-height)}.boundary-wrapper.pointerEventsNone{pointer-events:none}.boundary-wrapper{--boundary-width: min(var(--vw100), var(--boundary-max-width));--boundary-height: min(var(--vh100), var(--boundary-max-height));--px2vw-ratio: calc(var(--boundary-width) / var(--design-base-width));--boundary-max-width: calc(var(--vh100) * var(--landscape-ratio));--boundary-max-height: calc(var(--vw100) * var(--portrait-ratio));--design-base-width: var(--design-width);--design-base-height: var(--design-height)}.boundary-wrapper.landscape{--boundary-max-width: calc(var(--vh100) * var(--portrait-ratio));--boundary-max-height: calc(var(--vw100) * var(--landscape-ratio));--design-base-width: var(--design-height);--design-base-height: var(--design-width)}.fixed-center{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;z-index:99}\n"] });
|
|
44
51
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: BsBoundary, decorators: [{
|
|
45
52
|
type: Component,
|
|
46
|
-
args: [{ selector: 'bs-boundary', standalone: true, template: "<div\n class=\"boundary-wrapper\"\n [class.fixed-center]=\"isFixedCenter\"\n [class.landscape]=\"isLandscape\"\n [style]=\"forwardStyle\"\n>\n <ng-content></ng-content>\n</div>\n", styles: [":host{--landscape-ratio: calc(var(--design-width) / var(--design-height));--portrait-ratio: calc(var(--design-height) / var(--design-width))}.boundary-wrapper{width:100%;height:100%;max-width:var(--boundary-width);max-height:var(--boundary-height)}.boundary-wrapper{--boundary-width: min(var(--vw100), var(--boundary-max-width));--boundary-height: min(var(--vh100), var(--boundary-max-height));--px2vw-ratio: calc(var(--boundary-width) / var(--design-base-width));--boundary-max-width: calc(var(--vh100) * var(--landscape-ratio));--boundary-max-height: calc(var(--vw100) * var(--portrait-ratio));--design-base-width: var(--design-width);--design-base-height: var(--design-height)}.boundary-wrapper.landscape{--boundary-max-width: calc(var(--vh100) * var(--portrait-ratio));--boundary-max-height: calc(var(--vw100) * var(--landscape-ratio));--design-base-width: var(--design-height);--design-base-height: var(--design-width)}.fixed-center{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;z-index:99}\n"] }]
|
|
53
|
+
args: [{ selector: 'bs-boundary', standalone: true, providers: [BsBoundaryContextService], template: "<div\n class=\"boundary-wrapper\"\n [class.fixed-center]=\"isFixedCenter\"\n [class.landscape]=\"isLandscape\"\n [class.pointerEventsNone]=\"pointerEventsNone\"\n [style]=\"forwardStyle\"\n>\n <ng-content></ng-content>\n</div>\n", styles: [":host{--landscape-ratio: calc(var(--design-width) / var(--design-height));--portrait-ratio: calc(var(--design-height) / var(--design-width))}.boundary-wrapper{width:100%;height:100%;max-width:var(--boundary-width);max-height:var(--boundary-height)}.boundary-wrapper.pointerEventsNone{pointer-events:none}.boundary-wrapper{--boundary-width: min(var(--vw100), var(--boundary-max-width));--boundary-height: min(var(--vh100), var(--boundary-max-height));--px2vw-ratio: calc(var(--boundary-width) / var(--design-base-width));--boundary-max-width: calc(var(--vh100) * var(--landscape-ratio));--boundary-max-height: calc(var(--vw100) * var(--portrait-ratio));--design-base-width: var(--design-width);--design-base-height: var(--design-height)}.boundary-wrapper.landscape{--boundary-max-width: calc(var(--vh100) * var(--portrait-ratio));--boundary-max-height: calc(var(--vw100) * var(--landscape-ratio));--design-base-width: var(--design-height);--design-base-height: var(--design-width)}.fixed-center{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;z-index:99}\n"] }]
|
|
47
54
|
}], propDecorators: { isFixedCenter: [{
|
|
48
55
|
type: Input
|
|
56
|
+
}], pointerEventsNone: [{
|
|
57
|
+
type: Input
|
|
49
58
|
}], lockOrientation: [{
|
|
50
59
|
type: Input
|
|
51
60
|
}], forwardStyle: [{
|
|
52
61
|
type: Input
|
|
53
|
-
}],
|
|
62
|
+
}], isLandscapeChange: [{
|
|
54
63
|
type: Output
|
|
55
64
|
}] } });
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnMtYm91bmRhcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9iaXRzdGFjay1uZy1ib3VuZGFyeS9zcmMvbGliL2JzLWJvdW5kYXJ5LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvYml0c3RhY2stbmctYm91bmRhcnkvc3JjL2xpYi90ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBRUwsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxPQUFPLEVBQUUsU0FBUyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3hDLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLCtCQUErQixDQUFDOztBQVN2RSxNQUFNLE9BQU8sVUFBVTtJQVB2QjtRQVNhLGtCQUFhLEdBQWEsS0FBSyxDQUFDO1FBQ2hDLHNCQUFpQixHQUFhLEtBQUssQ0FBQztRQUNwQyxvQkFBZSxHQUFzQixNQUFNLENBQUM7UUFHM0Msc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUVsRCx1QkFBa0IsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUNoRCxvQkFBZSxHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBQ25ELGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0tBdUMxQztJQXJDRyxJQUFJLFdBQVc7UUFDWCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDakQsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQ7O09BRUc7SUFDSCx1QkFBdUI7UUFDbkIsSUFBSSxJQUFJLENBQUMsZUFBZSxLQUFLLFdBQVcsRUFBRTtZQUN0QyxJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMxQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2xDLE9BQU87U0FDVjtRQUVELElBQUksSUFBSSxDQUFDLGVBQWUsS0FBSyxVQUFVLEVBQUU7WUFDckMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDM0MsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNuQyxPQUFPO1NBQ1Y7UUFFRCxJQUFJLENBQUMsa0JBQWtCO2FBQ2xCLE9BQU8sQ0FBQywwQkFBMEIsQ0FBQzthQUNuQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUM5QixTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDaEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3BELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2hELENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQzs7dUdBakRRLFVBQVU7MkZBQVYsVUFBVSxxUUFGUixDQUFDLHdCQUF3QixDQUFDLDBCQ2xCekMsNk9BU0E7MkZEV2EsVUFBVTtrQkFQdEIsU0FBUzsrQkFDSSxhQUFhLGNBRVgsSUFBSSxhQUVMLENBQUMsd0JBQXdCLENBQUM7OEJBSTVCLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFFSSxpQkFBaUI7c0JBQTFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgaW5qZWN0LFxuICBJbnB1dCwgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1RPcmllbnRhdGlvbk1vZGV9IGZyb20gJy4vbW9kZWwnO1xuaW1wb3J0IHtCcmVha3BvaW50T2JzZXJ2ZXJ9IGZyb20gJ0Bhbmd1bGFyL2Nkay9sYXlvdXQnO1xuaW1wb3J0IHtTdWJqZWN0LCB0YWtlVW50aWx9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtCc0JvdW5kYXJ5Q29udGV4dFNlcnZpY2V9IGZyb20gJy4vYnMtYm91bmRhcnktY29udGV4dC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdicy1ib3VuZGFyeScsXG4gICAgdGVtcGxhdGVVcmw6ICd0ZW1wbGF0ZS5odG1sJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHN0eWxlVXJsczogWycuL3N0eWxlcy5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbQnNCb3VuZGFyeUNvbnRleHRTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgQnNCb3VuZGFyeSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICAgIEBJbnB1dCgpIGlzRml4ZWRDZW50ZXI/OiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgcG9pbnRlckV2ZW50c05vbmU/OiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgbG9ja09yaWVudGF0aW9uPzogVE9yaWVudGF0aW9uTW9kZSA9ICdhdXRvJztcbiAgICBASW5wdXQoKSBmb3J3YXJkU3R5bGU/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuXG4gICAgQE91dHB1dCgpIGlzTGFuZHNjYXBlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgcHJpdmF0ZSBicmVha3BvaW50T2JzZXJ2ZXIgPSBpbmplY3QoQnJlYWtwb2ludE9ic2VydmVyKTtcbiAgICBwcml2YXRlIGJvdW5kYXJ5Q29udGV4dCA9IGluamVjdChCc0JvdW5kYXJ5Q29udGV4dFNlcnZpY2UpO1xuICAgIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgZ2V0IGlzTGFuZHNjYXBlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5ib3VuZGFyeUNvbnRleHQuZ2V0SXNMYW5kc2NhcGUoKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXR1cEJyZWFrcG9pbnRPYnNlcnZlcigpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOebo+aOp+aWueWQkeiuiuWMllxuICAgICAqL1xuICAgIHNldHVwQnJlYWtwb2ludE9ic2VydmVyKCkge1xuICAgICAgICBpZiAodGhpcy5sb2NrT3JpZW50YXRpb24gPT09ICdsYW5kc2NhcGUnKSB7XG4gICAgICAgICAgICB0aGlzLmJvdW5kYXJ5Q29udGV4dC5zZXRJc0xhbmRzY2FwZSh0cnVlKTtcbiAgICAgICAgICAgIHRoaXMuaXNMYW5kc2NhcGVDaGFuZ2UuZW1pdCh0cnVlKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmxvY2tPcmllbnRhdGlvbiA9PT0gJ3BvcnRyYWl0Jykge1xuICAgICAgICAgICAgdGhpcy5ib3VuZGFyeUNvbnRleHQuc2V0SXNMYW5kc2NhcGUoZmFsc2UpO1xuICAgICAgICAgICAgdGhpcy5pc0xhbmRzY2FwZUNoYW5nZS5lbWl0KGZhbHNlKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYnJlYWtwb2ludE9ic2VydmVyXG4gICAgICAgICAgICAub2JzZXJ2ZSgnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJylcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUocmVzdWx0ID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmJvdW5kYXJ5Q29udGV4dC5zZXRJc0xhbmRzY2FwZShyZXN1bHQubWF0Y2hlcyk7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0xhbmRzY2FwZUNoYW5nZS5lbWl0KHJlc3VsdC5tYXRjaGVzKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJib3VuZGFyeS13cmFwcGVyXCJcbiAgW2NsYXNzLmZpeGVkLWNlbnRlcl09XCJpc0ZpeGVkQ2VudGVyXCJcbiAgW2NsYXNzLmxhbmRzY2FwZV09XCJpc0xhbmRzY2FwZVwiXG4gIFtjbGFzcy5wb2ludGVyRXZlbnRzTm9uZV09XCJwb2ludGVyRXZlbnRzTm9uZVwiXG4gIFtzdHlsZV09XCJmb3J3YXJkU3R5bGVcIlxuPlxuICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9kaXY+XG4iXX0=
|
package/esm2020/public-api.mjs
CHANGED
|
@@ -2,4 +2,5 @@
|
|
|
2
2
|
* Public API Surface of @bitstack/ng-boundary
|
|
3
3
|
*/
|
|
4
4
|
export * from './lib/bs-boundary';
|
|
5
|
-
|
|
5
|
+
export * from './lib/bs-boundary-context.service';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2JpdHN0YWNrLW5nLWJvdW5kYXJ5L3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLG1DQUFtQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBAYml0c3RhY2svbmctYm91bmRhcnlcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9icy1ib3VuZGFyeSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9icy1ib3VuZGFyeS1jb250ZXh0LnNlcnZpY2UnO1xuIl19
|
|
@@ -1,16 +1,38 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { EventEmitter, inject, Component, Input, Output } from '@angular/core';
|
|
2
|
+
import { Injectable, EventEmitter, inject, Component, Input, Output } from '@angular/core';
|
|
3
3
|
import { BreakpointObserver } from '@angular/cdk/layout';
|
|
4
|
-
import { Subject, takeUntil } from 'rxjs';
|
|
4
|
+
import { BehaviorSubject, Subject, takeUntil } from 'rxjs';
|
|
5
|
+
|
|
6
|
+
class BsBoundaryContextService {
|
|
7
|
+
constructor() {
|
|
8
|
+
this._isLandscape$ = new BehaviorSubject(false);
|
|
9
|
+
this.isLandscape$ = this._isLandscape$.asObservable();
|
|
10
|
+
}
|
|
11
|
+
setIsLandscape(value) {
|
|
12
|
+
this._isLandscape$.next(value);
|
|
13
|
+
}
|
|
14
|
+
getIsLandscape() {
|
|
15
|
+
return this._isLandscape$.value;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
BsBoundaryContextService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: BsBoundaryContextService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
19
|
+
BsBoundaryContextService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: BsBoundaryContextService });
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: BsBoundaryContextService, decorators: [{
|
|
21
|
+
type: Injectable
|
|
22
|
+
}] });
|
|
5
23
|
|
|
6
24
|
class BsBoundary {
|
|
7
25
|
constructor() {
|
|
8
26
|
this.isFixedCenter = false;
|
|
27
|
+
this.pointerEventsNone = false;
|
|
9
28
|
this.lockOrientation = 'auto';
|
|
10
|
-
this.
|
|
29
|
+
this.isLandscapeChange = new EventEmitter();
|
|
11
30
|
this.breakpointObserver = inject(BreakpointObserver);
|
|
31
|
+
this.boundaryContext = inject(BsBoundaryContextService);
|
|
12
32
|
this.destroy$ = new Subject();
|
|
13
|
-
|
|
33
|
+
}
|
|
34
|
+
get isLandscape() {
|
|
35
|
+
return this.boundaryContext.getIsLandscape();
|
|
14
36
|
}
|
|
15
37
|
ngOnInit() {
|
|
16
38
|
this.setupBreakpointObserver();
|
|
@@ -24,34 +46,38 @@ class BsBoundary {
|
|
|
24
46
|
*/
|
|
25
47
|
setupBreakpointObserver() {
|
|
26
48
|
if (this.lockOrientation === 'landscape') {
|
|
27
|
-
this.
|
|
49
|
+
this.boundaryContext.setIsLandscape(true);
|
|
50
|
+
this.isLandscapeChange.emit(true);
|
|
28
51
|
return;
|
|
29
52
|
}
|
|
30
53
|
if (this.lockOrientation === 'portrait') {
|
|
31
|
-
this.
|
|
54
|
+
this.boundaryContext.setIsLandscape(false);
|
|
55
|
+
this.isLandscapeChange.emit(false);
|
|
32
56
|
return;
|
|
33
57
|
}
|
|
34
58
|
this.breakpointObserver
|
|
35
59
|
.observe('(orientation: landscape)')
|
|
36
60
|
.pipe(takeUntil(this.destroy$))
|
|
37
61
|
.subscribe(result => {
|
|
38
|
-
this.
|
|
39
|
-
this.
|
|
62
|
+
this.boundaryContext.setIsLandscape(result.matches);
|
|
63
|
+
this.isLandscapeChange.emit(result.matches);
|
|
40
64
|
});
|
|
41
65
|
}
|
|
42
66
|
}
|
|
43
67
|
BsBoundary.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: BsBoundary, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
44
|
-
BsBoundary.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: BsBoundary, isStandalone: true, selector: "bs-boundary", inputs: { isFixedCenter: "isFixedCenter", lockOrientation: "lockOrientation", forwardStyle: "forwardStyle" }, outputs: {
|
|
68
|
+
BsBoundary.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: BsBoundary, isStandalone: true, selector: "bs-boundary", inputs: { isFixedCenter: "isFixedCenter", pointerEventsNone: "pointerEventsNone", lockOrientation: "lockOrientation", forwardStyle: "forwardStyle" }, outputs: { isLandscapeChange: "isLandscapeChange" }, providers: [BsBoundaryContextService], ngImport: i0, template: "<div\n class=\"boundary-wrapper\"\n [class.fixed-center]=\"isFixedCenter\"\n [class.landscape]=\"isLandscape\"\n [class.pointerEventsNone]=\"pointerEventsNone\"\n [style]=\"forwardStyle\"\n>\n <ng-content></ng-content>\n</div>\n", styles: [":host{--landscape-ratio: calc(var(--design-width) / var(--design-height));--portrait-ratio: calc(var(--design-height) / var(--design-width))}.boundary-wrapper{width:100%;height:100%;max-width:var(--boundary-width);max-height:var(--boundary-height)}.boundary-wrapper.pointerEventsNone{pointer-events:none}.boundary-wrapper{--boundary-width: min(var(--vw100), var(--boundary-max-width));--boundary-height: min(var(--vh100), var(--boundary-max-height));--px2vw-ratio: calc(var(--boundary-width) / var(--design-base-width));--boundary-max-width: calc(var(--vh100) * var(--landscape-ratio));--boundary-max-height: calc(var(--vw100) * var(--portrait-ratio));--design-base-width: var(--design-width);--design-base-height: var(--design-height)}.boundary-wrapper.landscape{--boundary-max-width: calc(var(--vh100) * var(--portrait-ratio));--boundary-max-height: calc(var(--vw100) * var(--landscape-ratio));--design-base-width: var(--design-height);--design-base-height: var(--design-width)}.fixed-center{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;z-index:99}\n"] });
|
|
45
69
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: BsBoundary, decorators: [{
|
|
46
70
|
type: Component,
|
|
47
|
-
args: [{ selector: 'bs-boundary', standalone: true, template: "<div\n class=\"boundary-wrapper\"\n [class.fixed-center]=\"isFixedCenter\"\n [class.landscape]=\"isLandscape\"\n [style]=\"forwardStyle\"\n>\n <ng-content></ng-content>\n</div>\n", styles: [":host{--landscape-ratio: calc(var(--design-width) / var(--design-height));--portrait-ratio: calc(var(--design-height) / var(--design-width))}.boundary-wrapper{width:100%;height:100%;max-width:var(--boundary-width);max-height:var(--boundary-height)}.boundary-wrapper{--boundary-width: min(var(--vw100), var(--boundary-max-width));--boundary-height: min(var(--vh100), var(--boundary-max-height));--px2vw-ratio: calc(var(--boundary-width) / var(--design-base-width));--boundary-max-width: calc(var(--vh100) * var(--landscape-ratio));--boundary-max-height: calc(var(--vw100) * var(--portrait-ratio));--design-base-width: var(--design-width);--design-base-height: var(--design-height)}.boundary-wrapper.landscape{--boundary-max-width: calc(var(--vh100) * var(--portrait-ratio));--boundary-max-height: calc(var(--vw100) * var(--landscape-ratio));--design-base-width: var(--design-height);--design-base-height: var(--design-width)}.fixed-center{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;z-index:99}\n"] }]
|
|
71
|
+
args: [{ selector: 'bs-boundary', standalone: true, providers: [BsBoundaryContextService], template: "<div\n class=\"boundary-wrapper\"\n [class.fixed-center]=\"isFixedCenter\"\n [class.landscape]=\"isLandscape\"\n [class.pointerEventsNone]=\"pointerEventsNone\"\n [style]=\"forwardStyle\"\n>\n <ng-content></ng-content>\n</div>\n", styles: [":host{--landscape-ratio: calc(var(--design-width) / var(--design-height));--portrait-ratio: calc(var(--design-height) / var(--design-width))}.boundary-wrapper{width:100%;height:100%;max-width:var(--boundary-width);max-height:var(--boundary-height)}.boundary-wrapper.pointerEventsNone{pointer-events:none}.boundary-wrapper{--boundary-width: min(var(--vw100), var(--boundary-max-width));--boundary-height: min(var(--vh100), var(--boundary-max-height));--px2vw-ratio: calc(var(--boundary-width) / var(--design-base-width));--boundary-max-width: calc(var(--vh100) * var(--landscape-ratio));--boundary-max-height: calc(var(--vw100) * var(--portrait-ratio));--design-base-width: var(--design-width);--design-base-height: var(--design-height)}.boundary-wrapper.landscape{--boundary-max-width: calc(var(--vh100) * var(--portrait-ratio));--boundary-max-height: calc(var(--vw100) * var(--landscape-ratio));--design-base-width: var(--design-height);--design-base-height: var(--design-width)}.fixed-center{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;z-index:99}\n"] }]
|
|
48
72
|
}], propDecorators: { isFixedCenter: [{
|
|
49
73
|
type: Input
|
|
74
|
+
}], pointerEventsNone: [{
|
|
75
|
+
type: Input
|
|
50
76
|
}], lockOrientation: [{
|
|
51
77
|
type: Input
|
|
52
78
|
}], forwardStyle: [{
|
|
53
79
|
type: Input
|
|
54
|
-
}],
|
|
80
|
+
}], isLandscapeChange: [{
|
|
55
81
|
type: Output
|
|
56
82
|
}] } });
|
|
57
83
|
|
|
@@ -63,5 +89,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
63
89
|
* Generated bundle index. Do not edit.
|
|
64
90
|
*/
|
|
65
91
|
|
|
66
|
-
export { BsBoundary };
|
|
92
|
+
export { BsBoundary, BsBoundaryContextService };
|
|
67
93
|
//# sourceMappingURL=bitstack-ng-boundary.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bitstack-ng-boundary.mjs","sources":["../../../projects/bitstack-ng-boundary/src/lib/bs-boundary.ts","../../../projects/bitstack-ng-boundary/src/lib/template.html","../../../projects/bitstack-ng-boundary/src/public-api.ts","../../../projects/bitstack-ng-boundary/src/bitstack-ng-boundary.ts"],"sourcesContent":["import {\n Component,\n EventEmitter,\n inject,\n Input, OnDestroy,\n OnInit,\n Output,\n} from '@angular/core';\nimport {TOrientationMode} from './model';\nimport {BreakpointObserver} from '@angular/cdk/layout';\nimport {Subject, takeUntil} from 'rxjs';\n\n@Component({\n selector: 'bs-boundary',\n templateUrl: 'template.html',\n standalone: true,\n styleUrls: ['./styles.scss'],\n})\nexport class BsBoundary implements OnInit, OnDestroy {\n\n @Input() isFixedCenter?: boolean = false;\n @Input() lockOrientation?: TOrientationMode = 'auto';\n @Input() forwardStyle?: Record<string, string>;\n\n @Output()
|
|
1
|
+
{"version":3,"file":"bitstack-ng-boundary.mjs","sources":["../../../projects/bitstack-ng-boundary/src/lib/bs-boundary-context.service.ts","../../../projects/bitstack-ng-boundary/src/lib/bs-boundary.ts","../../../projects/bitstack-ng-boundary/src/lib/template.html","../../../projects/bitstack-ng-boundary/src/public-api.ts","../../../projects/bitstack-ng-boundary/src/bitstack-ng-boundary.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable()\nexport class BsBoundaryContextService {\n private _isLandscape$ = new BehaviorSubject<boolean>(false);\n\n readonly isLandscape$ = this._isLandscape$.asObservable();\n\n setIsLandscape(value: boolean): void {\n this._isLandscape$.next(value);\n }\n\n getIsLandscape(): boolean {\n return this._isLandscape$.value;\n }\n}","import {\n Component,\n EventEmitter,\n inject,\n Input, OnDestroy,\n OnInit,\n Output,\n} from '@angular/core';\nimport {TOrientationMode} from './model';\nimport {BreakpointObserver} from '@angular/cdk/layout';\nimport {Subject, takeUntil} from 'rxjs';\nimport {BsBoundaryContextService} from './bs-boundary-context.service';\n\n@Component({\n selector: 'bs-boundary',\n templateUrl: 'template.html',\n standalone: true,\n styleUrls: ['./styles.scss'],\n providers: [BsBoundaryContextService],\n})\nexport class BsBoundary implements OnInit, OnDestroy {\n\n @Input() isFixedCenter?: boolean = false;\n @Input() pointerEventsNone?: boolean = false;\n @Input() lockOrientation?: TOrientationMode = 'auto';\n @Input() forwardStyle?: Record<string, string>;\n\n @Output() isLandscapeChange = new EventEmitter<boolean>();\n\n private breakpointObserver = inject(BreakpointObserver);\n private boundaryContext = inject(BsBoundaryContextService);\n private destroy$ = new Subject<void>();\n\n get isLandscape(): boolean {\n return this.boundaryContext.getIsLandscape();\n }\n\n ngOnInit(): void {\n this.setupBreakpointObserver();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n /**\n * 監控方向變化\n */\n setupBreakpointObserver() {\n if (this.lockOrientation === 'landscape') {\n this.boundaryContext.setIsLandscape(true);\n this.isLandscapeChange.emit(true);\n return;\n }\n\n if (this.lockOrientation === 'portrait') {\n this.boundaryContext.setIsLandscape(false);\n this.isLandscapeChange.emit(false);\n return;\n }\n\n this.breakpointObserver\n .observe('(orientation: landscape)')\n .pipe(takeUntil(this.destroy$))\n .subscribe(result => {\n this.boundaryContext.setIsLandscape(result.matches);\n this.isLandscapeChange.emit(result.matches);\n });\n }\n}\n","<div\n class=\"boundary-wrapper\"\n [class.fixed-center]=\"isFixedCenter\"\n [class.landscape]=\"isLandscape\"\n [class.pointerEventsNone]=\"pointerEventsNone\"\n [style]=\"forwardStyle\"\n>\n <ng-content></ng-content>\n</div>\n","/*\n * Public API Surface of @bitstack/ng-boundary\n */\n\nexport * from './lib/bs-boundary';\nexport * from './lib/bs-boundary-context.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,38 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { EventEmitter, inject, Component, Input, Output } from '@angular/core';
|
|
2
|
+
import { Injectable, EventEmitter, inject, Component, Input, Output } from '@angular/core';
|
|
3
3
|
import { BreakpointObserver } from '@angular/cdk/layout';
|
|
4
|
-
import { Subject, takeUntil } from 'rxjs';
|
|
4
|
+
import { BehaviorSubject, Subject, takeUntil } from 'rxjs';
|
|
5
|
+
|
|
6
|
+
class BsBoundaryContextService {
|
|
7
|
+
constructor() {
|
|
8
|
+
this._isLandscape$ = new BehaviorSubject(false);
|
|
9
|
+
this.isLandscape$ = this._isLandscape$.asObservable();
|
|
10
|
+
}
|
|
11
|
+
setIsLandscape(value) {
|
|
12
|
+
this._isLandscape$.next(value);
|
|
13
|
+
}
|
|
14
|
+
getIsLandscape() {
|
|
15
|
+
return this._isLandscape$.value;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
BsBoundaryContextService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: BsBoundaryContextService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
19
|
+
BsBoundaryContextService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: BsBoundaryContextService });
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: BsBoundaryContextService, decorators: [{
|
|
21
|
+
type: Injectable
|
|
22
|
+
}] });
|
|
5
23
|
|
|
6
24
|
class BsBoundary {
|
|
7
25
|
constructor() {
|
|
8
26
|
this.isFixedCenter = false;
|
|
27
|
+
this.pointerEventsNone = false;
|
|
9
28
|
this.lockOrientation = 'auto';
|
|
10
|
-
this.
|
|
29
|
+
this.isLandscapeChange = new EventEmitter();
|
|
11
30
|
this.breakpointObserver = inject(BreakpointObserver);
|
|
31
|
+
this.boundaryContext = inject(BsBoundaryContextService);
|
|
12
32
|
this.destroy$ = new Subject();
|
|
13
|
-
|
|
33
|
+
}
|
|
34
|
+
get isLandscape() {
|
|
35
|
+
return this.boundaryContext.getIsLandscape();
|
|
14
36
|
}
|
|
15
37
|
ngOnInit() {
|
|
16
38
|
this.setupBreakpointObserver();
|
|
@@ -24,34 +46,38 @@ class BsBoundary {
|
|
|
24
46
|
*/
|
|
25
47
|
setupBreakpointObserver() {
|
|
26
48
|
if (this.lockOrientation === 'landscape') {
|
|
27
|
-
this.
|
|
49
|
+
this.boundaryContext.setIsLandscape(true);
|
|
50
|
+
this.isLandscapeChange.emit(true);
|
|
28
51
|
return;
|
|
29
52
|
}
|
|
30
53
|
if (this.lockOrientation === 'portrait') {
|
|
31
|
-
this.
|
|
54
|
+
this.boundaryContext.setIsLandscape(false);
|
|
55
|
+
this.isLandscapeChange.emit(false);
|
|
32
56
|
return;
|
|
33
57
|
}
|
|
34
58
|
this.breakpointObserver
|
|
35
59
|
.observe('(orientation: landscape)')
|
|
36
60
|
.pipe(takeUntil(this.destroy$))
|
|
37
61
|
.subscribe(result => {
|
|
38
|
-
this.
|
|
39
|
-
this.
|
|
62
|
+
this.boundaryContext.setIsLandscape(result.matches);
|
|
63
|
+
this.isLandscapeChange.emit(result.matches);
|
|
40
64
|
});
|
|
41
65
|
}
|
|
42
66
|
}
|
|
43
67
|
BsBoundary.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: BsBoundary, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
44
|
-
BsBoundary.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: BsBoundary, isStandalone: true, selector: "bs-boundary", inputs: { isFixedCenter: "isFixedCenter", lockOrientation: "lockOrientation", forwardStyle: "forwardStyle" }, outputs: {
|
|
68
|
+
BsBoundary.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: BsBoundary, isStandalone: true, selector: "bs-boundary", inputs: { isFixedCenter: "isFixedCenter", pointerEventsNone: "pointerEventsNone", lockOrientation: "lockOrientation", forwardStyle: "forwardStyle" }, outputs: { isLandscapeChange: "isLandscapeChange" }, providers: [BsBoundaryContextService], ngImport: i0, template: "<div\n class=\"boundary-wrapper\"\n [class.fixed-center]=\"isFixedCenter\"\n [class.landscape]=\"isLandscape\"\n [class.pointerEventsNone]=\"pointerEventsNone\"\n [style]=\"forwardStyle\"\n>\n <ng-content></ng-content>\n</div>\n", styles: [":host{--landscape-ratio: calc(var(--design-width) / var(--design-height));--portrait-ratio: calc(var(--design-height) / var(--design-width))}.boundary-wrapper{width:100%;height:100%;max-width:var(--boundary-width);max-height:var(--boundary-height)}.boundary-wrapper.pointerEventsNone{pointer-events:none}.boundary-wrapper{--boundary-width: min(var(--vw100), var(--boundary-max-width));--boundary-height: min(var(--vh100), var(--boundary-max-height));--px2vw-ratio: calc(var(--boundary-width) / var(--design-base-width));--boundary-max-width: calc(var(--vh100) * var(--landscape-ratio));--boundary-max-height: calc(var(--vw100) * var(--portrait-ratio));--design-base-width: var(--design-width);--design-base-height: var(--design-height)}.boundary-wrapper.landscape{--boundary-max-width: calc(var(--vh100) * var(--portrait-ratio));--boundary-max-height: calc(var(--vw100) * var(--landscape-ratio));--design-base-width: var(--design-height);--design-base-height: var(--design-width)}.fixed-center{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;z-index:99}\n"] });
|
|
45
69
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: BsBoundary, decorators: [{
|
|
46
70
|
type: Component,
|
|
47
|
-
args: [{ selector: 'bs-boundary', standalone: true, template: "<div\n class=\"boundary-wrapper\"\n [class.fixed-center]=\"isFixedCenter\"\n [class.landscape]=\"isLandscape\"\n [style]=\"forwardStyle\"\n>\n <ng-content></ng-content>\n</div>\n", styles: [":host{--landscape-ratio: calc(var(--design-width) / var(--design-height));--portrait-ratio: calc(var(--design-height) / var(--design-width))}.boundary-wrapper{width:100%;height:100%;max-width:var(--boundary-width);max-height:var(--boundary-height)}.boundary-wrapper{--boundary-width: min(var(--vw100), var(--boundary-max-width));--boundary-height: min(var(--vh100), var(--boundary-max-height));--px2vw-ratio: calc(var(--boundary-width) / var(--design-base-width));--boundary-max-width: calc(var(--vh100) * var(--landscape-ratio));--boundary-max-height: calc(var(--vw100) * var(--portrait-ratio));--design-base-width: var(--design-width);--design-base-height: var(--design-height)}.boundary-wrapper.landscape{--boundary-max-width: calc(var(--vh100) * var(--portrait-ratio));--boundary-max-height: calc(var(--vw100) * var(--landscape-ratio));--design-base-width: var(--design-height);--design-base-height: var(--design-width)}.fixed-center{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;z-index:99}\n"] }]
|
|
71
|
+
args: [{ selector: 'bs-boundary', standalone: true, providers: [BsBoundaryContextService], template: "<div\n class=\"boundary-wrapper\"\n [class.fixed-center]=\"isFixedCenter\"\n [class.landscape]=\"isLandscape\"\n [class.pointerEventsNone]=\"pointerEventsNone\"\n [style]=\"forwardStyle\"\n>\n <ng-content></ng-content>\n</div>\n", styles: [":host{--landscape-ratio: calc(var(--design-width) / var(--design-height));--portrait-ratio: calc(var(--design-height) / var(--design-width))}.boundary-wrapper{width:100%;height:100%;max-width:var(--boundary-width);max-height:var(--boundary-height)}.boundary-wrapper.pointerEventsNone{pointer-events:none}.boundary-wrapper{--boundary-width: min(var(--vw100), var(--boundary-max-width));--boundary-height: min(var(--vh100), var(--boundary-max-height));--px2vw-ratio: calc(var(--boundary-width) / var(--design-base-width));--boundary-max-width: calc(var(--vh100) * var(--landscape-ratio));--boundary-max-height: calc(var(--vw100) * var(--portrait-ratio));--design-base-width: var(--design-width);--design-base-height: var(--design-height)}.boundary-wrapper.landscape{--boundary-max-width: calc(var(--vh100) * var(--portrait-ratio));--boundary-max-height: calc(var(--vw100) * var(--landscape-ratio));--design-base-width: var(--design-height);--design-base-height: var(--design-width)}.fixed-center{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;z-index:99}\n"] }]
|
|
48
72
|
}], propDecorators: { isFixedCenter: [{
|
|
49
73
|
type: Input
|
|
74
|
+
}], pointerEventsNone: [{
|
|
75
|
+
type: Input
|
|
50
76
|
}], lockOrientation: [{
|
|
51
77
|
type: Input
|
|
52
78
|
}], forwardStyle: [{
|
|
53
79
|
type: Input
|
|
54
|
-
}],
|
|
80
|
+
}], isLandscapeChange: [{
|
|
55
81
|
type: Output
|
|
56
82
|
}] } });
|
|
57
83
|
|
|
@@ -63,5 +89,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
63
89
|
* Generated bundle index. Do not edit.
|
|
64
90
|
*/
|
|
65
91
|
|
|
66
|
-
export { BsBoundary };
|
|
92
|
+
export { BsBoundary, BsBoundaryContextService };
|
|
67
93
|
//# sourceMappingURL=bitstack-ng-boundary.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bitstack-ng-boundary.mjs","sources":["../../../projects/bitstack-ng-boundary/src/lib/bs-boundary.ts","../../../projects/bitstack-ng-boundary/src/lib/template.html","../../../projects/bitstack-ng-boundary/src/public-api.ts","../../../projects/bitstack-ng-boundary/src/bitstack-ng-boundary.ts"],"sourcesContent":["import {\n Component,\n EventEmitter,\n inject,\n Input, OnDestroy,\n OnInit,\n Output,\n} from '@angular/core';\nimport {TOrientationMode} from './model';\nimport {BreakpointObserver} from '@angular/cdk/layout';\nimport {Subject, takeUntil} from 'rxjs';\n\n@Component({\n selector: 'bs-boundary',\n templateUrl: 'template.html',\n standalone: true,\n styleUrls: ['./styles.scss'],\n})\nexport class BsBoundary implements OnInit, OnDestroy {\n\n @Input() isFixedCenter?: boolean = false;\n @Input() lockOrientation?: TOrientationMode = 'auto';\n @Input() forwardStyle?: Record<string, string>;\n\n @Output()
|
|
1
|
+
{"version":3,"file":"bitstack-ng-boundary.mjs","sources":["../../../projects/bitstack-ng-boundary/src/lib/bs-boundary-context.service.ts","../../../projects/bitstack-ng-boundary/src/lib/bs-boundary.ts","../../../projects/bitstack-ng-boundary/src/lib/template.html","../../../projects/bitstack-ng-boundary/src/public-api.ts","../../../projects/bitstack-ng-boundary/src/bitstack-ng-boundary.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable()\nexport class BsBoundaryContextService {\n private _isLandscape$ = new BehaviorSubject<boolean>(false);\n\n readonly isLandscape$ = this._isLandscape$.asObservable();\n\n setIsLandscape(value: boolean): void {\n this._isLandscape$.next(value);\n }\n\n getIsLandscape(): boolean {\n return this._isLandscape$.value;\n }\n}","import {\n Component,\n EventEmitter,\n inject,\n Input, OnDestroy,\n OnInit,\n Output,\n} from '@angular/core';\nimport {TOrientationMode} from './model';\nimport {BreakpointObserver} from '@angular/cdk/layout';\nimport {Subject, takeUntil} from 'rxjs';\nimport {BsBoundaryContextService} from './bs-boundary-context.service';\n\n@Component({\n selector: 'bs-boundary',\n templateUrl: 'template.html',\n standalone: true,\n styleUrls: ['./styles.scss'],\n providers: [BsBoundaryContextService],\n})\nexport class BsBoundary implements OnInit, OnDestroy {\n\n @Input() isFixedCenter?: boolean = false;\n @Input() pointerEventsNone?: boolean = false;\n @Input() lockOrientation?: TOrientationMode = 'auto';\n @Input() forwardStyle?: Record<string, string>;\n\n @Output() isLandscapeChange = new EventEmitter<boolean>();\n\n private breakpointObserver = inject(BreakpointObserver);\n private boundaryContext = inject(BsBoundaryContextService);\n private destroy$ = new Subject<void>();\n\n get isLandscape(): boolean {\n return this.boundaryContext.getIsLandscape();\n }\n\n ngOnInit(): void {\n this.setupBreakpointObserver();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n /**\n * 監控方向變化\n */\n setupBreakpointObserver() {\n if (this.lockOrientation === 'landscape') {\n this.boundaryContext.setIsLandscape(true);\n this.isLandscapeChange.emit(true);\n return;\n }\n\n if (this.lockOrientation === 'portrait') {\n this.boundaryContext.setIsLandscape(false);\n this.isLandscapeChange.emit(false);\n return;\n }\n\n this.breakpointObserver\n .observe('(orientation: landscape)')\n .pipe(takeUntil(this.destroy$))\n .subscribe(result => {\n this.boundaryContext.setIsLandscape(result.matches);\n this.isLandscapeChange.emit(result.matches);\n });\n }\n}\n","<div\n class=\"boundary-wrapper\"\n [class.fixed-center]=\"isFixedCenter\"\n [class.landscape]=\"isLandscape\"\n [class.pointerEventsNone]=\"pointerEventsNone\"\n [style]=\"forwardStyle\"\n>\n <ng-content></ng-content>\n</div>\n","/*\n * Public API Surface of @bitstack/ng-boundary\n */\n\nexport * from './lib/bs-boundary';\nexport * from './lib/bs-boundary-context.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class BsBoundaryContextService {
|
|
3
|
+
private _isLandscape$;
|
|
4
|
+
readonly isLandscape$: import("rxjs").Observable<boolean>;
|
|
5
|
+
setIsLandscape(value: boolean): void;
|
|
6
|
+
getIsLandscape(): boolean;
|
|
7
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<BsBoundaryContextService, never>;
|
|
8
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<BsBoundaryContextService>;
|
|
9
|
+
}
|
package/lib/bs-boundary.d.ts
CHANGED
|
@@ -3,12 +3,14 @@ import { TOrientationMode } from './model';
|
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export declare class BsBoundary implements OnInit, OnDestroy {
|
|
5
5
|
isFixedCenter?: boolean;
|
|
6
|
+
pointerEventsNone?: boolean;
|
|
6
7
|
lockOrientation?: TOrientationMode;
|
|
7
8
|
forwardStyle?: Record<string, string>;
|
|
8
|
-
|
|
9
|
+
isLandscapeChange: EventEmitter<boolean>;
|
|
9
10
|
private breakpointObserver;
|
|
11
|
+
private boundaryContext;
|
|
10
12
|
private destroy$;
|
|
11
|
-
isLandscape: boolean;
|
|
13
|
+
get isLandscape(): boolean;
|
|
12
14
|
ngOnInit(): void;
|
|
13
15
|
ngOnDestroy(): void;
|
|
14
16
|
/**
|
|
@@ -16,5 +18,5 @@ export declare class BsBoundary implements OnInit, OnDestroy {
|
|
|
16
18
|
*/
|
|
17
19
|
setupBreakpointObserver(): void;
|
|
18
20
|
static ɵfac: i0.ɵɵFactoryDeclaration<BsBoundary, never>;
|
|
19
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<BsBoundary, "bs-boundary", never, { "isFixedCenter": "isFixedCenter"; "lockOrientation": "lockOrientation"; "forwardStyle": "forwardStyle"; }, { "
|
|
21
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<BsBoundary, "bs-boundary", never, { "isFixedCenter": "isFixedCenter"; "pointerEventsNone": "pointerEventsNone"; "lockOrientation": "lockOrientation"; "forwardStyle": "forwardStyle"; }, { "isLandscapeChange": "isLandscapeChange"; }, never, ["*"], true>;
|
|
20
22
|
}
|
package/package.json
CHANGED
package/public-api.d.ts
CHANGED