@softheon/armature 21.1.0-alpha → 21.2.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.
|
@@ -3,7 +3,7 @@ import { CommonModule, DatePipe } from '@angular/common';
|
|
|
3
3
|
import * as i1$1 from '@angular/common/http';
|
|
4
4
|
import { HttpHeaders, provideHttpClient, withInterceptorsFromDi, HTTP_INTERCEPTORS } from '@angular/common/http';
|
|
5
5
|
import * as i0 from '@angular/core';
|
|
6
|
-
import { InjectionToken, Injectable, ViewChild, Input, Optional, Inject, Component, NgModule, EventEmitter, Output, ViewChildren, signal, inject, ChangeDetectionStrategy, DOCUMENT, isDevMode, HostListener, Directive, Renderer2, ElementRef, Pipe, ViewEncapsulation, Self, Host, APP_INITIALIZER, Injector, computed, DestroyRef, effect, ChangeDetectorRef, ErrorHandler } from '@angular/core';
|
|
6
|
+
import { InjectionToken, Injectable, ViewChild, Input, Optional, Inject, Component, NgModule, EventEmitter, Output, ViewChildren, signal, inject, ChangeDetectionStrategy, DOCUMENT, isDevMode, HostListener, Directive, Renderer2, ElementRef, Pipe, ViewEncapsulation, Self, Host, APP_INITIALIZER, Injector, computed, DestroyRef, effect, ChangeDetectorRef, ErrorHandler, NgZone } from '@angular/core';
|
|
7
7
|
import * as i1$4 from '@angular/router';
|
|
8
8
|
import { NavigationEnd, Router, RouterModule, NavigationStart, NavigationError } from '@angular/router';
|
|
9
9
|
import { FlexLayoutModule } from '@ngbracket/ngx-layout';
|
|
@@ -6658,13 +6658,14 @@ class MarketSelectionService {
|
|
|
6658
6658
|
* @param translateService translate service
|
|
6659
6659
|
* @param userEntityService user entity service
|
|
6660
6660
|
*/
|
|
6661
|
-
constructor(cookieService, router, config, selectedMarketContext, translateService, oAuthService) {
|
|
6661
|
+
constructor(cookieService, router, config, selectedMarketContext, translateService, oAuthService, authorizationService) {
|
|
6662
6662
|
this.cookieService = cookieService;
|
|
6663
6663
|
this.router = router;
|
|
6664
6664
|
this.config = config;
|
|
6665
6665
|
this.selectedMarketContext = selectedMarketContext;
|
|
6666
6666
|
this.translateService = translateService;
|
|
6667
6667
|
this.oAuthService = oAuthService;
|
|
6668
|
+
this.authorizationService = authorizationService;
|
|
6668
6669
|
/** The MFE Queue Lookup Constant Key for Cookie Storage */
|
|
6669
6670
|
this.MFE_QUEUE_LOOKUP = 'mfe.graphql-domain';
|
|
6670
6671
|
/** The cookie key for local environment selection */
|
|
@@ -6697,9 +6698,12 @@ class MarketSelectionService {
|
|
|
6697
6698
|
this.markets = [];
|
|
6698
6699
|
this.selectedMarket$ = this.selectedMarketContext.selectedMarket$;
|
|
6699
6700
|
this.ephemeralMarket$ = this.selectedMarketContext.ephemeralMarket$;
|
|
6700
|
-
this.
|
|
6701
|
-
|
|
6702
|
-
|
|
6701
|
+
this.authorizationService.isLoggedIn$.subscribe((isLoggedIn) => {
|
|
6702
|
+
if (isLoggedIn) {
|
|
6703
|
+
const claims = this.oAuthService.getIdentityClaims();
|
|
6704
|
+
this.userEmail = claims?.upn || claims?.preferred_username || '';
|
|
6705
|
+
this.evaluateLocalEnvSelectionEnabled();
|
|
6706
|
+
}
|
|
6703
6707
|
});
|
|
6704
6708
|
this.router.events.subscribe((event) => {
|
|
6705
6709
|
if (event instanceof NavigationEnd) {
|
|
@@ -6968,7 +6972,7 @@ class MarketSelectionService {
|
|
|
6968
6972
|
return undefined;
|
|
6969
6973
|
}
|
|
6970
6974
|
}
|
|
6971
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: MarketSelectionService, deps: [{ token: i1$a.CookieService }, { token: i1$4.Router }, { token: BaseConfigService }, { token: SelectedMarketContext }, { token: i2$1.TranslateService }, { token: i1$2.OAuthService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
6975
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: MarketSelectionService, deps: [{ token: i1$a.CookieService }, { token: i1$4.Router }, { token: BaseConfigService }, { token: SelectedMarketContext }, { token: i2$1.TranslateService }, { token: i1$2.OAuthService }, { token: AuthorizationService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
6972
6976
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: MarketSelectionService, providedIn: 'root' }); }
|
|
6973
6977
|
}
|
|
6974
6978
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: MarketSelectionService, decorators: [{
|
|
@@ -6976,7 +6980,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
|
|
|
6976
6980
|
args: [{
|
|
6977
6981
|
providedIn: 'root'
|
|
6978
6982
|
}]
|
|
6979
|
-
}], ctorParameters: () => [{ type: i1$a.CookieService }, { type: i1$4.Router }, { type: BaseConfigService }, { type: SelectedMarketContext }, { type: i2$1.TranslateService }, { type: i1$2.OAuthService }] });
|
|
6983
|
+
}], ctorParameters: () => [{ type: i1$a.CookieService }, { type: i1$4.Router }, { type: BaseConfigService }, { type: SelectedMarketContext }, { type: i2$1.TranslateService }, { type: i1$2.OAuthService }, { type: AuthorizationService }] });
|
|
6980
6984
|
|
|
6981
6985
|
/* Market Selection Config */
|
|
6982
6986
|
class MarketSelectionConfig {
|
|
@@ -10110,63 +10114,144 @@ class ResizePanelsComponent {
|
|
|
10110
10114
|
/** Whether the panels should be resizable */
|
|
10111
10115
|
this.resizable = true;
|
|
10112
10116
|
// TODO: ⚠️ Output bindings should not be named "on", nor prefixed with it ...
|
|
10113
|
-
// Using on in @Output() names causes confusion with native events and can break tooling (e.g., Angular
|
|
10117
|
+
// Using on in @Output() names causes confusion with native events and can break tooling (e.g., Angular's template type checking, IDE autocomplete).
|
|
10114
10118
|
// The Angular team explicitly discourages this pattern.
|
|
10115
|
-
// run `npm run lint` to see error
|
|
10119
|
+
// run `npm run lint` to see this error
|
|
10116
10120
|
/** The Resize Event */
|
|
10117
10121
|
this.onResize = new EventEmitter();
|
|
10118
10122
|
/** The Resize Start Event */
|
|
10119
10123
|
this.onResizeStart = new EventEmitter();
|
|
10120
10124
|
/** The Resize End Event */
|
|
10121
10125
|
this.onResizeEnd = new EventEmitter();
|
|
10122
|
-
/** Whether the user is currently resizing */
|
|
10123
|
-
this.isResizing = false;
|
|
10126
|
+
/** Whether the user is currently resizing - using signal for better performance */
|
|
10127
|
+
this.isResizing = signal(false, ...(ngDevMode ? [{ debugName: "isResizing" }] : []));
|
|
10128
|
+
/** Cached style objects to avoid recalculation on every change detection */
|
|
10129
|
+
this.firstPanelStyle = signal({
|
|
10130
|
+
flex: 50,
|
|
10131
|
+
minWidth: 'auto',
|
|
10132
|
+
minHeight: 'auto',
|
|
10133
|
+
maxHeight: 'none'
|
|
10134
|
+
}, ...(ngDevMode ? [{ debugName: "firstPanelStyle" }] : []));
|
|
10135
|
+
this.secondPanelStyle = signal({
|
|
10136
|
+
flex: 50,
|
|
10137
|
+
minWidth: 'auto',
|
|
10138
|
+
minHeight: 'auto',
|
|
10139
|
+
maxHeight: 'none'
|
|
10140
|
+
}, ...(ngDevMode ? [{ debugName: "secondPanelStyle" }] : []));
|
|
10124
10141
|
/** The first panel max height */
|
|
10125
10142
|
this.firstPanelMaxHeight = 'none';
|
|
10126
10143
|
/** The second panel max height */
|
|
10127
10144
|
this.secondPanelMaxHeight = 'none';
|
|
10145
|
+
/** ResizeObserver for efficient content size tracking */
|
|
10146
|
+
this.resizeObserver = null;
|
|
10147
|
+
/** Animation frame ID for throttling */
|
|
10148
|
+
this.animationFrameId = null;
|
|
10149
|
+
/** Angular safe document reference */
|
|
10150
|
+
this.document = inject(DOCUMENT);
|
|
10151
|
+
/** Angular zone */
|
|
10152
|
+
this.ngZone = inject(NgZone);
|
|
10153
|
+
// Create bound handlers outside Angular zone
|
|
10154
|
+
this.boundMouseMoveHandler = this.onMouseMove.bind(this);
|
|
10155
|
+
this.boundMouseUpHandler = this.stopResize.bind(this);
|
|
10128
10156
|
}
|
|
10129
10157
|
/** Initializes the component */
|
|
10130
10158
|
ngOnInit() {
|
|
10131
10159
|
this.initialSplit = this.splitPosition;
|
|
10160
|
+
this.updatePanelStyles();
|
|
10161
|
+
this.setupResizeObserver();
|
|
10132
10162
|
}
|
|
10133
10163
|
/** On Changes Lifecycle Hook */
|
|
10134
10164
|
ngOnChanges() {
|
|
10135
10165
|
if (this.resizable && !!this.initialSplit) {
|
|
10136
10166
|
this.splitPosition = this.initialSplit;
|
|
10137
10167
|
}
|
|
10168
|
+
this.updatePanelStyles();
|
|
10138
10169
|
}
|
|
10139
|
-
/**
|
|
10140
|
-
|
|
10141
|
-
|
|
10142
|
-
|
|
10143
|
-
|
|
10170
|
+
/** Cleanup on destroy */
|
|
10171
|
+
ngOnDestroy() {
|
|
10172
|
+
this.removeEventListeners();
|
|
10173
|
+
this.cleanupResizeObserver();
|
|
10174
|
+
if (this.animationFrameId !== null) {
|
|
10175
|
+
cancelAnimationFrame(this.animationFrameId);
|
|
10144
10176
|
}
|
|
10145
|
-
|
|
10146
|
-
|
|
10177
|
+
}
|
|
10178
|
+
/** Setup ResizeObserver for efficient content size tracking */
|
|
10179
|
+
setupResizeObserver() {
|
|
10180
|
+
if (typeof ResizeObserver === 'undefined') {
|
|
10181
|
+
return; // Fallback for older browsers
|
|
10147
10182
|
}
|
|
10148
|
-
|
|
10149
|
-
|
|
10150
|
-
|
|
10151
|
-
|
|
10152
|
-
|
|
10153
|
-
|
|
10183
|
+
this.ngZone.runOutsideAngular(() => {
|
|
10184
|
+
this.resizeObserver = new ResizeObserver(() => {
|
|
10185
|
+
this.updatePanelStyles();
|
|
10186
|
+
});
|
|
10187
|
+
// Observe content changes in panels
|
|
10188
|
+
if (this.firstPanel?.nativeElement?.children[0]) {
|
|
10189
|
+
this.resizeObserver.observe(this.firstPanel.nativeElement.children[0]);
|
|
10190
|
+
}
|
|
10191
|
+
if (this.secondPanel?.nativeElement?.children[0]) {
|
|
10192
|
+
this.resizeObserver.observe(this.secondPanel.nativeElement.children[0]);
|
|
10193
|
+
}
|
|
10194
|
+
});
|
|
10195
|
+
}
|
|
10196
|
+
/** Cleanup ResizeObserver */
|
|
10197
|
+
cleanupResizeObserver() {
|
|
10198
|
+
if (this.resizeObserver) {
|
|
10199
|
+
this.resizeObserver.disconnect();
|
|
10200
|
+
this.resizeObserver = null;
|
|
10201
|
+
}
|
|
10202
|
+
}
|
|
10203
|
+
/** Update cached panel styles - called only when necessary */
|
|
10204
|
+
updatePanelStyles() {
|
|
10205
|
+
this.updateFirstPanelStyle();
|
|
10206
|
+
this.updateSecondPanelStyle();
|
|
10154
10207
|
}
|
|
10155
|
-
/**
|
|
10156
|
-
|
|
10157
|
-
|
|
10158
|
-
if (
|
|
10159
|
-
|
|
10208
|
+
/** Calculate and cache first panel style */
|
|
10209
|
+
updateFirstPanelStyle() {
|
|
10210
|
+
let maxHeight = 'none';
|
|
10211
|
+
if (this.firstPanel?.nativeElement?.children[0]) {
|
|
10212
|
+
const contentHeight = this.firstPanel.nativeElement.children[0].getBoundingClientRect().height;
|
|
10213
|
+
const panelHeight = this.firstPanel.nativeElement.getBoundingClientRect().height;
|
|
10214
|
+
if (contentHeight < panelHeight) {
|
|
10215
|
+
maxHeight = contentHeight + 'px';
|
|
10216
|
+
}
|
|
10160
10217
|
}
|
|
10161
|
-
|
|
10162
|
-
|
|
10218
|
+
this.firstPanelMaxHeight = maxHeight;
|
|
10219
|
+
this.firstPanelStyle.set({
|
|
10220
|
+
flex: this.splitPosition,
|
|
10221
|
+
minWidth: this.direction === 'vertical' ? this.firstPanelMinSize || 'auto' : 'auto',
|
|
10222
|
+
minHeight: this.direction === 'horizontal' ? this.firstPanelMinSize || 'auto' : 'auto',
|
|
10223
|
+
maxHeight: this.direction === 'horizontal' ? maxHeight : 'none'
|
|
10224
|
+
});
|
|
10225
|
+
}
|
|
10226
|
+
/** Calculate and cache second panel style */
|
|
10227
|
+
updateSecondPanelStyle() {
|
|
10228
|
+
let maxHeight = 'none';
|
|
10229
|
+
if (this.secondPanel?.nativeElement?.children[0]) {
|
|
10230
|
+
const contentHeight = this.secondPanel.nativeElement.children[0].getBoundingClientRect().height;
|
|
10231
|
+
const panelHeight = this.secondPanel.nativeElement.getBoundingClientRect().height;
|
|
10232
|
+
if (contentHeight < panelHeight) {
|
|
10233
|
+
maxHeight = contentHeight + 'px';
|
|
10234
|
+
}
|
|
10163
10235
|
}
|
|
10164
|
-
|
|
10236
|
+
this.secondPanelMaxHeight = maxHeight;
|
|
10237
|
+
this.secondPanelStyle.set({
|
|
10165
10238
|
flex: 100 - this.splitPosition,
|
|
10166
|
-
minWidth: this.direction === 'vertical' ? this.secondPanelMinSize : 'auto',
|
|
10167
|
-
minHeight: this.direction === 'horizontal' ? this.secondPanelMinSize : 'auto',
|
|
10168
|
-
maxHeight: this.direction === 'horizontal' ?
|
|
10169
|
-
};
|
|
10239
|
+
minWidth: this.direction === 'vertical' ? this.secondPanelMinSize || 'auto' : 'auto',
|
|
10240
|
+
minHeight: this.direction === 'horizontal' ? this.secondPanelMinSize || 'auto' : 'auto',
|
|
10241
|
+
maxHeight: this.direction === 'horizontal' ? maxHeight : 'none'
|
|
10242
|
+
});
|
|
10243
|
+
}
|
|
10244
|
+
/** Add event listeners outside Angular zone */
|
|
10245
|
+
addEventListeners() {
|
|
10246
|
+
this.ngZone.runOutsideAngular(() => {
|
|
10247
|
+
this.document.addEventListener('mousemove', this.boundMouseMoveHandler);
|
|
10248
|
+
this.document.addEventListener('mouseup', this.boundMouseUpHandler);
|
|
10249
|
+
});
|
|
10250
|
+
}
|
|
10251
|
+
/** Remove event listeners */
|
|
10252
|
+
removeEventListeners() {
|
|
10253
|
+
this.document.removeEventListener('mousemove', this.boundMouseMoveHandler);
|
|
10254
|
+
this.document.removeEventListener('mouseup', this.boundMouseUpHandler);
|
|
10170
10255
|
}
|
|
10171
10256
|
/** Start resizing */
|
|
10172
10257
|
startResize() {
|
|
@@ -10175,17 +10260,26 @@ class ResizePanelsComponent {
|
|
|
10175
10260
|
firstPanelSize: this.direction === 'vertical' ? this.firstPanel.nativeElement.clientWidth : this.firstPanel.nativeElement.clientHeight,
|
|
10176
10261
|
secondPanelSize: this.direction === 'vertical' ? this.secondPanel.nativeElement.clientWidth : this.secondPanel.nativeElement.clientHeight
|
|
10177
10262
|
});
|
|
10178
|
-
this.isResizing
|
|
10263
|
+
this.isResizing.set(true);
|
|
10264
|
+
this.addEventListeners();
|
|
10179
10265
|
}
|
|
10180
10266
|
/** Stop resizing on mouse up */
|
|
10181
10267
|
stopResize() {
|
|
10182
|
-
if (this.isResizing) {
|
|
10183
|
-
this.
|
|
10184
|
-
|
|
10185
|
-
|
|
10186
|
-
|
|
10187
|
-
|
|
10268
|
+
if (this.isResizing()) {
|
|
10269
|
+
this.ngZone.run(() => {
|
|
10270
|
+
this.isResizing.set(false);
|
|
10271
|
+
this.onResizeEnd.emit({
|
|
10272
|
+
splitPosition: this.splitPosition,
|
|
10273
|
+
firstPanelSize: this.direction === 'vertical' ? this.firstPanel.nativeElement.clientWidth : this.firstPanel.nativeElement.clientHeight,
|
|
10274
|
+
secondPanelSize: this.direction === 'vertical' ? this.secondPanel.nativeElement.clientWidth : this.secondPanel.nativeElement.clientHeight
|
|
10275
|
+
});
|
|
10188
10276
|
});
|
|
10277
|
+
this.removeEventListeners();
|
|
10278
|
+
// Cancel any pending animation frame
|
|
10279
|
+
if (this.animationFrameId !== null) {
|
|
10280
|
+
cancelAnimationFrame(this.animationFrameId);
|
|
10281
|
+
this.animationFrameId = null;
|
|
10282
|
+
}
|
|
10189
10283
|
}
|
|
10190
10284
|
}
|
|
10191
10285
|
/**
|
|
@@ -10193,10 +10287,16 @@ class ResizePanelsComponent {
|
|
|
10193
10287
|
* @param event the mouse event
|
|
10194
10288
|
*/
|
|
10195
10289
|
onMouseMove(event) {
|
|
10196
|
-
if (this.isResizing) {
|
|
10290
|
+
if (this.isResizing()) {
|
|
10197
10291
|
event.preventDefault();
|
|
10198
10292
|
event.stopPropagation();
|
|
10199
|
-
|
|
10293
|
+
// Use requestAnimationFrame for smoother updates
|
|
10294
|
+
if (this.animationFrameId === null) {
|
|
10295
|
+
this.animationFrameId = requestAnimationFrame(() => {
|
|
10296
|
+
this.resize(event);
|
|
10297
|
+
this.animationFrameId = null;
|
|
10298
|
+
});
|
|
10299
|
+
}
|
|
10200
10300
|
}
|
|
10201
10301
|
}
|
|
10202
10302
|
/**
|
|
@@ -10209,6 +10309,8 @@ class ResizePanelsComponent {
|
|
|
10209
10309
|
const mousePos = this.direction === 'vertical' ? event.x : event.y;
|
|
10210
10310
|
const pos = ((mousePos - containerPos) / containerSize) * 100;
|
|
10211
10311
|
this.splitPosition = Math.min(Math.max(pos, 1), 99);
|
|
10312
|
+
// Update cached styles
|
|
10313
|
+
this.updatePanelStyles();
|
|
10212
10314
|
this.onResize.emit({
|
|
10213
10315
|
splitPosition: this.splitPosition,
|
|
10214
10316
|
firstPanelSize: this.direction === 'vertical' ? this.firstPanel.nativeElement.clientWidth : this.firstPanel.nativeElement.clientHeight,
|
|
@@ -10216,12 +10318,12 @@ class ResizePanelsComponent {
|
|
|
10216
10318
|
});
|
|
10217
10319
|
}
|
|
10218
10320
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ResizePanelsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10219
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: ResizePanelsComponent, isStandalone: false, selector: "sof-ar-resize-panels", inputs: { direction: "direction", splitPosition: "splitPosition", firstPanelMinSize: "firstPanelMinSize", secondPanelMinSize: "secondPanelMinSize", resizable: "resizable" }, outputs: { onResize: "onResize", onResizeStart: "onResizeStart", onResizeEnd: "onResizeEnd" },
|
|
10321
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: ResizePanelsComponent, isStandalone: false, selector: "sof-ar-resize-panels", inputs: { direction: "direction", splitPosition: "splitPosition", firstPanelMinSize: "firstPanelMinSize", secondPanelMinSize: "secondPanelMinSize", resizable: "resizable" }, outputs: { onResize: "onResize", onResizeStart: "onResizeStart", onResizeEnd: "onResizeEnd" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }, { propertyName: "firstPanel", first: true, predicate: ["firstPanel"], descendants: true }, { propertyName: "secondPanel", first: true, predicate: ["secondPanel"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div \r\n #container \r\n class=\"sof-ar-resize-panels-container\" \r\n [ngClass]=\"{\r\n 'vertical': direction === 'vertical',\r\n 'horizontal': direction === 'horizontal',\r\n 'resizing': isResizing()\r\n }\">\r\n <!-- First Panel -->\r\n <div #firstPanel [ngStyle]=\"firstPanelStyle()\" class=\"sof-ar-resize-panels-panel-content\">\r\n <ng-content select=\"[sof-ar-resize-panel-first]\"></ng-content>\r\n </div>\r\n <!-- Drag Handle / Border -->\r\n @if (resizable) {\r\n <div class=\"sof-ar-resize-panels-border\" [ngClass]=\"direction\">\r\n <div \r\n class=\"sof-ar-resize-panels-drag-handle\" \r\n (mousedown)=\"startResize()\" \r\n [ngClass]=\"{\r\n 'vertical': direction === 'vertical',\r\n 'horizontal': direction === 'horizontal',\r\n 'resizing': isResizing()\r\n }\">\r\n </div>\r\n </div>\r\n }\r\n <!-- Second Panel -->\r\n <div #secondPanel [ngStyle]=\"secondPanelStyle()\" class=\"sof-ar-resize-panels-panel-content\">\r\n <ng-content select=\"[sof-ar-resize-panel-second]\"></ng-content>\r\n </div>\r\n</div>\r\n", styles: [".sof-ar-resize-panels-container{width:100%;height:100%;display:flex;contain:layout style}.sof-ar-resize-panels-container.vertical{flex-direction:row}.sof-ar-resize-panels-container.horizontal{flex-direction:column}.sof-ar-resize-panels-container.vertical.resizing{cursor:ew-resize;will-change:cursor}.sof-ar-resize-panels-container.horizontal.resizing{cursor:ns-resize;will-change:cursor}.sof-ar-resize-panels-drag-handle{background-color:transparent;position:relative;transition:background-color .1s linear;transition-delay:0s;z-index:1000;will-change:background-color}.sof-ar-resize-panels-drag-handle:hover,.sof-ar-resize-panels-drag-handle.resizing{background-color:var(--primary-color-500-parts);transition-delay:.25s}.sof-ar-resize-panels-drag-handle.vertical:hover{cursor:ew-resize}.sof-ar-resize-panels-drag-handle.horizontal:hover{cursor:ns-resize}.sof-ar-resize-panels-drag-handle.vertical{width:5px;height:100%;right:2px}.sof-ar-resize-panels-drag-handle.horizontal{width:100%;height:5px;bottom:2px}.sof-ar-resize-panels-border{background-color:#000}.sof-ar-resize-panels-border.vertical{width:1px}.sof-ar-resize-panels-border.horizontal{height:1px}.sof-ar-resize-panels-panel-content{overflow:auto;contain:layout style paint;transform:translateZ(0);-webkit-overflow-scrolling:touch}.sof-ar-resize-panels-panel-content:empty{display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
10220
10322
|
}
|
|
10221
10323
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ResizePanelsComponent, decorators: [{
|
|
10222
10324
|
type: Component,
|
|
10223
|
-
args: [{ selector: 'sof-ar-resize-panels', standalone: false, template: "<div #container class=\"sof-ar-resize-panels-container\"\r\n
|
|
10224
|
-
}], propDecorators: { direction: [{
|
|
10325
|
+
args: [{ selector: 'sof-ar-resize-panels', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<div \r\n #container \r\n class=\"sof-ar-resize-panels-container\" \r\n [ngClass]=\"{\r\n 'vertical': direction === 'vertical',\r\n 'horizontal': direction === 'horizontal',\r\n 'resizing': isResizing()\r\n }\">\r\n <!-- First Panel -->\r\n <div #firstPanel [ngStyle]=\"firstPanelStyle()\" class=\"sof-ar-resize-panels-panel-content\">\r\n <ng-content select=\"[sof-ar-resize-panel-first]\"></ng-content>\r\n </div>\r\n <!-- Drag Handle / Border -->\r\n @if (resizable) {\r\n <div class=\"sof-ar-resize-panels-border\" [ngClass]=\"direction\">\r\n <div \r\n class=\"sof-ar-resize-panels-drag-handle\" \r\n (mousedown)=\"startResize()\" \r\n [ngClass]=\"{\r\n 'vertical': direction === 'vertical',\r\n 'horizontal': direction === 'horizontal',\r\n 'resizing': isResizing()\r\n }\">\r\n </div>\r\n </div>\r\n }\r\n <!-- Second Panel -->\r\n <div #secondPanel [ngStyle]=\"secondPanelStyle()\" class=\"sof-ar-resize-panels-panel-content\">\r\n <ng-content select=\"[sof-ar-resize-panel-second]\"></ng-content>\r\n </div>\r\n</div>\r\n", styles: [".sof-ar-resize-panels-container{width:100%;height:100%;display:flex;contain:layout style}.sof-ar-resize-panels-container.vertical{flex-direction:row}.sof-ar-resize-panels-container.horizontal{flex-direction:column}.sof-ar-resize-panels-container.vertical.resizing{cursor:ew-resize;will-change:cursor}.sof-ar-resize-panels-container.horizontal.resizing{cursor:ns-resize;will-change:cursor}.sof-ar-resize-panels-drag-handle{background-color:transparent;position:relative;transition:background-color .1s linear;transition-delay:0s;z-index:1000;will-change:background-color}.sof-ar-resize-panels-drag-handle:hover,.sof-ar-resize-panels-drag-handle.resizing{background-color:var(--primary-color-500-parts);transition-delay:.25s}.sof-ar-resize-panels-drag-handle.vertical:hover{cursor:ew-resize}.sof-ar-resize-panels-drag-handle.horizontal:hover{cursor:ns-resize}.sof-ar-resize-panels-drag-handle.vertical{width:5px;height:100%;right:2px}.sof-ar-resize-panels-drag-handle.horizontal{width:100%;height:5px;bottom:2px}.sof-ar-resize-panels-border{background-color:#000}.sof-ar-resize-panels-border.vertical{width:1px}.sof-ar-resize-panels-border.horizontal{height:1px}.sof-ar-resize-panels-panel-content{overflow:auto;contain:layout style paint;transform:translateZ(0);-webkit-overflow-scrolling:touch}.sof-ar-resize-panels-panel-content:empty{display:none}\n"] }]
|
|
10326
|
+
}], ctorParameters: () => [], propDecorators: { direction: [{
|
|
10225
10327
|
type: Input
|
|
10226
10328
|
}], splitPosition: [{
|
|
10227
10329
|
type: Input
|
|
@@ -10246,12 +10348,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
|
|
|
10246
10348
|
}], secondPanel: [{
|
|
10247
10349
|
type: ViewChild,
|
|
10248
10350
|
args: ['secondPanel']
|
|
10249
|
-
}], stopResize: [{
|
|
10250
|
-
type: HostListener,
|
|
10251
|
-
args: ['window:mouseup']
|
|
10252
|
-
}], onMouseMove: [{
|
|
10253
|
-
type: HostListener,
|
|
10254
|
-
args: ['window:mousemove', ['$event']]
|
|
10255
10351
|
}] } });
|
|
10256
10352
|
|
|
10257
10353
|
/** The Resize Panels Module */
|