@alfresco/adf-core 8.1.0-16266387720 → 8.1.0-16266693062

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,12 +3,10 @@ import { InjectionToken, inject, DestroyRef, ViewChild, Inject, Optional, ViewEn
3
3
  import * as i1 from '@angular/router';
4
4
  import { NavigationEnd, RouterModule, provideRouter } from '@angular/router';
5
5
  import * as i2 from '@alfresco/adf-core';
6
- import { SidenavLayoutModule } from '@alfresco/adf-core';
6
+ import { SidenavLayoutHeaderDirective, SidenavLayoutNavigationDirective, SidenavLayoutContentDirective, SidenavLayoutComponent } from '@alfresco/adf-core';
7
7
  import { DynamicExtensionComponent } from '@alfresco/adf-extensions';
8
8
  import { map, withLatestFrom, filter } from 'rxjs/operators';
9
9
  import * as i3 from '@angular/cdk/layout';
10
- import * as i4 from '@angular/common';
11
- import { CommonModule } from '@angular/common';
12
10
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
13
11
 
14
12
  /*!
@@ -117,11 +115,18 @@ class ShellLayoutComponent {
117
115
  return expand;
118
116
  }
119
117
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ShellLayoutComponent, deps: [{ token: i1.Router }, { token: i2.AppConfigService }, { token: i3.BreakpointObserver }, { token: SHELL_APP_SERVICE }, { token: SHELL_NAVBAR_MIN_WIDTH, optional: true }, { token: SHELL_NAVBAR_MAX_WIDTH, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
120
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: ShellLayoutComponent, isStandalone: true, selector: "app-shell", host: { classAttribute: "app-shell" }, viewQueries: [{ propertyName: "layout", first: true, predicate: ["layout"], descendants: true, static: true }], ngImport: i0, template: "<adf-sidenav-layout\n #layout\n [sidenavMin]=\"sidenavMin\"\n [sidenavMax]=\"sidenavMax\"\n [stepOver]=\"600\"\n [hideSidenav]=\"hideSidenav\"\n [expandedSidenav]=\"expandedSidenav\"\n (expanded)=\"onExpanded($event)\"\n>\n <adf-sidenav-layout-header>\n <ng-template let-isMenuMinimized=\"isMenuMinimized\">\n <div\n role=\"heading\"\n aria-level=\"1\"\n *ngIf=\"!hideSidenav\"\n >\n <adf-dynamic-component id=\"app.layout.header\" [data]=\"{ layout }\" />\n </div>\n </ng-template>\n </adf-sidenav-layout-header>\n\n <adf-sidenav-layout-navigation>\n <ng-template let-isMenuMinimized=\"isMenuMinimized\">\n <div\n (swipeleft)=\"hideMenu($event)\"\n [attr.data-automation-id]=\"isMenuMinimized() ? 'collapsed' : 'expanded'\"\n >\n <adf-dynamic-component\n id=\"app.layout.sidenav\"\n [data]=\"{ layout, mode: layout.isMenuMinimized ? 'collapsed' : 'expanded'}\"\n />\n </div>\n </ng-template>\n </adf-sidenav-layout-navigation>\n\n <adf-sidenav-layout-content>\n <ng-template>\n <router-outlet />\n </ng-template>\n </adf-sidenav-layout-content>\n</adf-sidenav-layout>\n\n<adf-dynamic-component id=\"app.shell.sibling\" />\n\n<router-outlet name=\"viewer\" />\n", styles: [".app-shell{display:flex;flex-direction:column;flex:1;height:100%;overflow:hidden;min-height:0}.app-shell router-outlet[name=viewer]+*{width:100%;height:100%;z-index:999;position:absolute;top:0;right:0;background-color:#fff}.app-shell adf-file-uploading-dialog{z-index:1000}@media (max-width: 599.9px){.adf-app-title{display:none}}@media screen and (width <= 719px){.adf-app-logo{display:none}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: SidenavLayoutModule }, { kind: "directive", type: i2.SidenavLayoutHeaderDirective, selector: "adf-sidenav-layout-header" }, { kind: "directive", type: i2.SidenavLayoutContentDirective, selector: "adf-sidenav-layout-content" }, { kind: "directive", type: i2.SidenavLayoutNavigationDirective, selector: "adf-sidenav-layout-navigation" }, { kind: "component", type: i2.SidenavLayoutComponent, selector: "adf-sidenav-layout", inputs: ["position", "sidenavMin", "sidenavMax", "stepOver", "hideSidenav", "expandedSidenav"], outputs: ["expanded"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1.RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: DynamicExtensionComponent, selector: "adf-dynamic-component", inputs: ["id", "data"] }], encapsulation: i0.ViewEncapsulation.None }); }
118
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.6", type: ShellLayoutComponent, isStandalone: true, selector: "app-shell", host: { classAttribute: "app-shell" }, viewQueries: [{ propertyName: "layout", first: true, predicate: ["layout"], descendants: true, static: true }], ngImport: i0, template: "<adf-sidenav-layout\n #layout\n [sidenavMin]=\"sidenavMin\"\n [sidenavMax]=\"sidenavMax\"\n [stepOver]=\"600\"\n [hideSidenav]=\"hideSidenav\"\n [expandedSidenav]=\"expandedSidenav\"\n (expanded)=\"onExpanded($event)\"\n>\n <adf-sidenav-layout-header>\n <ng-template let-isMenuMinimized=\"isMenuMinimized\">\n @if (!hideSidenav) {\n <div\n role=\"heading\"\n aria-level=\"1\"\n >\n <adf-dynamic-component id=\"app.layout.header\" [data]=\"{ layout }\" />\n </div>\n }\n </ng-template>\n </adf-sidenav-layout-header>\n\n <adf-sidenav-layout-navigation>\n <ng-template let-isMenuMinimized=\"isMenuMinimized\">\n <div\n (swipeleft)=\"hideMenu($event)\"\n [attr.data-automation-id]=\"isMenuMinimized() ? 'collapsed' : 'expanded'\"\n >\n <adf-dynamic-component\n id=\"app.layout.sidenav\"\n [data]=\"{ layout, mode: layout.isMenuMinimized ? 'collapsed' : 'expanded'}\"\n />\n </div>\n </ng-template>\n </adf-sidenav-layout-navigation>\n\n <adf-sidenav-layout-content>\n <ng-template>\n <router-outlet />\n </ng-template>\n </adf-sidenav-layout-content>\n</adf-sidenav-layout>\n\n<adf-dynamic-component id=\"app.shell.sibling\" />\n\n<router-outlet name=\"viewer\" />\n", styles: [".app-shell{display:flex;flex-direction:column;flex:1;height:100%;overflow:hidden;min-height:0}.app-shell router-outlet[name=viewer]+*{width:100%;height:100%;z-index:999;position:absolute;top:0;right:0;background-color:#fff}.app-shell adf-file-uploading-dialog{z-index:1000}@media (max-width: 599.9px){.adf-app-title{display:none}}@media screen and (width <= 719px){.adf-app-logo{display:none}}\n"], dependencies: [{ kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1.RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: SidenavLayoutHeaderDirective, selector: "adf-sidenav-layout-header" }, { kind: "directive", type: SidenavLayoutNavigationDirective, selector: "adf-sidenav-layout-navigation" }, { kind: "directive", type: SidenavLayoutContentDirective, selector: "adf-sidenav-layout-content" }, { kind: "component", type: DynamicExtensionComponent, selector: "adf-dynamic-component", inputs: ["id", "data"] }, { kind: "component", type: SidenavLayoutComponent, selector: "adf-sidenav-layout", inputs: ["position", "sidenavMin", "sidenavMax", "stepOver", "hideSidenav", "expandedSidenav"], outputs: ["expanded"] }], encapsulation: i0.ViewEncapsulation.None }); }
121
119
  }
122
120
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ShellLayoutComponent, decorators: [{
123
121
  type: Component,
124
- args: [{ selector: 'app-shell', imports: [CommonModule, SidenavLayoutModule, RouterModule, DynamicExtensionComponent], encapsulation: ViewEncapsulation.None, host: { class: 'app-shell' }, template: "<adf-sidenav-layout\n #layout\n [sidenavMin]=\"sidenavMin\"\n [sidenavMax]=\"sidenavMax\"\n [stepOver]=\"600\"\n [hideSidenav]=\"hideSidenav\"\n [expandedSidenav]=\"expandedSidenav\"\n (expanded)=\"onExpanded($event)\"\n>\n <adf-sidenav-layout-header>\n <ng-template let-isMenuMinimized=\"isMenuMinimized\">\n <div\n role=\"heading\"\n aria-level=\"1\"\n *ngIf=\"!hideSidenav\"\n >\n <adf-dynamic-component id=\"app.layout.header\" [data]=\"{ layout }\" />\n </div>\n </ng-template>\n </adf-sidenav-layout-header>\n\n <adf-sidenav-layout-navigation>\n <ng-template let-isMenuMinimized=\"isMenuMinimized\">\n <div\n (swipeleft)=\"hideMenu($event)\"\n [attr.data-automation-id]=\"isMenuMinimized() ? 'collapsed' : 'expanded'\"\n >\n <adf-dynamic-component\n id=\"app.layout.sidenav\"\n [data]=\"{ layout, mode: layout.isMenuMinimized ? 'collapsed' : 'expanded'}\"\n />\n </div>\n </ng-template>\n </adf-sidenav-layout-navigation>\n\n <adf-sidenav-layout-content>\n <ng-template>\n <router-outlet />\n </ng-template>\n </adf-sidenav-layout-content>\n</adf-sidenav-layout>\n\n<adf-dynamic-component id=\"app.shell.sibling\" />\n\n<router-outlet name=\"viewer\" />\n", styles: [".app-shell{display:flex;flex-direction:column;flex:1;height:100%;overflow:hidden;min-height:0}.app-shell router-outlet[name=viewer]+*{width:100%;height:100%;z-index:999;position:absolute;top:0;right:0;background-color:#fff}.app-shell adf-file-uploading-dialog{z-index:1000}@media (max-width: 599.9px){.adf-app-title{display:none}}@media screen and (width <= 719px){.adf-app-logo{display:none}}\n"] }]
122
+ args: [{ selector: 'app-shell', imports: [
123
+ RouterModule,
124
+ SidenavLayoutHeaderDirective,
125
+ SidenavLayoutNavigationDirective,
126
+ SidenavLayoutContentDirective,
127
+ DynamicExtensionComponent,
128
+ SidenavLayoutComponent
129
+ ], encapsulation: ViewEncapsulation.None, host: { class: 'app-shell' }, template: "<adf-sidenav-layout\n #layout\n [sidenavMin]=\"sidenavMin\"\n [sidenavMax]=\"sidenavMax\"\n [stepOver]=\"600\"\n [hideSidenav]=\"hideSidenav\"\n [expandedSidenav]=\"expandedSidenav\"\n (expanded)=\"onExpanded($event)\"\n>\n <adf-sidenav-layout-header>\n <ng-template let-isMenuMinimized=\"isMenuMinimized\">\n @if (!hideSidenav) {\n <div\n role=\"heading\"\n aria-level=\"1\"\n >\n <adf-dynamic-component id=\"app.layout.header\" [data]=\"{ layout }\" />\n </div>\n }\n </ng-template>\n </adf-sidenav-layout-header>\n\n <adf-sidenav-layout-navigation>\n <ng-template let-isMenuMinimized=\"isMenuMinimized\">\n <div\n (swipeleft)=\"hideMenu($event)\"\n [attr.data-automation-id]=\"isMenuMinimized() ? 'collapsed' : 'expanded'\"\n >\n <adf-dynamic-component\n id=\"app.layout.sidenav\"\n [data]=\"{ layout, mode: layout.isMenuMinimized ? 'collapsed' : 'expanded'}\"\n />\n </div>\n </ng-template>\n </adf-sidenav-layout-navigation>\n\n <adf-sidenav-layout-content>\n <ng-template>\n <router-outlet />\n </ng-template>\n </adf-sidenav-layout-content>\n</adf-sidenav-layout>\n\n<adf-dynamic-component id=\"app.shell.sibling\" />\n\n<router-outlet name=\"viewer\" />\n", styles: [".app-shell{display:flex;flex-direction:column;flex:1;height:100%;overflow:hidden;min-height:0}.app-shell router-outlet[name=viewer]+*{width:100%;height:100%;z-index:999;position:absolute;top:0;right:0;background-color:#fff}.app-shell adf-file-uploading-dialog{z-index:1000}@media (max-width: 599.9px){.adf-app-title{display:none}}@media screen and (width <= 719px){.adf-app-logo{display:none}}\n"] }]
125
130
  }], ctorParameters: () => [{ type: i1.Router }, { type: i2.AppConfigService }, { type: i3.BreakpointObserver }, { type: undefined, decorators: [{
126
131
  type: Inject,
127
132
  args: [SHELL_APP_SERVICE]
@@ -203,7 +208,7 @@ function provideShellRoutes(routes) {
203
208
  * See the License for the specific language governing permissions and
204
209
  * limitations under the License.
205
210
  */
206
- /** @deprecated use `provideShellRoutes` instead */
211
+ /** @deprecated use `provideShell` instead */
207
212
  class ShellModule {
208
213
  static withRoutes(routes) {
209
214
  if (Array.isArray(routes)) {
@@ -258,6 +263,55 @@ function getModuleForRouteConfig(config) {
258
263
  };
259
264
  }
260
265
 
266
+ /*!
267
+ * @license
268
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
269
+ *
270
+ * Licensed under the Apache License, Version 2.0 (the "License");
271
+ * you may not use this file except in compliance with the License.
272
+ * You may obtain a copy of the License at
273
+ *
274
+ * http://www.apache.org/licenses/LICENSE-2.0
275
+ *
276
+ * Unless required by applicable law or agreed to in writing, software
277
+ * distributed under the License is distributed on an "AS IS" BASIS,
278
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
279
+ * See the License for the specific language governing permissions and
280
+ * limitations under the License.
281
+ */
282
+ /**
283
+ * Provides Shell-related api and providers
284
+ *
285
+ * @param opts Optional parameters
286
+ * @returns list of Angular providers
287
+ */
288
+ function provideShell(opts) {
289
+ const result = [provideShellRoutes(opts?.routes || [])];
290
+ if (opts?.appService) {
291
+ result.push({
292
+ provide: SHELL_APP_SERVICE,
293
+ useValue: opts.appService
294
+ });
295
+ }
296
+ if (opts?.authGuard) {
297
+ result.push({
298
+ provide: SHELL_AUTH_TOKEN,
299
+ useValue: opts.authGuard
300
+ });
301
+ }
302
+ if (opts?.navBar) {
303
+ result.push({
304
+ provide: SHELL_NAVBAR_MIN_WIDTH,
305
+ useValue: opts.navBar.minWidth ?? 70
306
+ });
307
+ result.push({
308
+ provide: SHELL_NAVBAR_MAX_WIDTH,
309
+ useValue: opts.navBar.maxWidth ?? 320
310
+ });
311
+ }
312
+ return result;
313
+ }
314
+
261
315
  /*!
262
316
  * @license
263
317
  * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -279,5 +333,5 @@ function getModuleForRouteConfig(config) {
279
333
  * Generated bundle index. Do not edit.
280
334
  */
281
335
 
282
- export { SHELL_APP_SERVICE, SHELL_AUTH_TOKEN, SHELL_LAYOUT_ROUTE, SHELL_NAVBAR_MAX_WIDTH, SHELL_NAVBAR_MIN_WIDTH, ShellLayoutComponent, ShellModule, provideShellRoutes };
336
+ export { SHELL_APP_SERVICE, SHELL_AUTH_TOKEN, SHELL_LAYOUT_ROUTE, SHELL_NAVBAR_MAX_WIDTH, SHELL_NAVBAR_MIN_WIDTH, ShellLayoutComponent, ShellModule, provideShell, provideShellRoutes };
283
337
  //# sourceMappingURL=alfresco-adf-core-shell.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"alfresco-adf-core-shell.mjs","sources":["../../../../lib/core/shell/src/lib/services/shell-app.service.ts","../../../../lib/core/shell/src/lib/components/shell/shell.component.ts","../../../../lib/core/shell/src/lib/components/shell/shell.component.html","../../../../lib/core/shell/src/lib/shell.routes.ts","../../../../lib/core/shell/src/lib/shell.module.ts","../../../../lib/core/shell/src/index.ts","../../../../lib/core/shell/src/alfresco-adf-core-shell.ts"],"sourcesContent":["/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { InjectionToken } from '@angular/core';\nimport { CanActivateFn, CanActivateChildFn } from '@angular/router';\nimport { Observable } from 'rxjs';\n\nexport interface ShellPreferencesService {\n set(preferenceKey: string, value: any): void;\n get(preferenceKey: string, defaultValue: string): string;\n}\n\nexport interface ShellAppService {\n pageHeading$: Observable<string>;\n hideSidenavConditions: string[];\n minimizeSidenavConditions: string[];\n preferencesService: ShellPreferencesService;\n}\n\nexport const SHELL_APP_SERVICE = new InjectionToken<ShellAppService>('SHELL_APP_SERVICE');\n\nexport const SHELL_AUTH_TOKEN = new InjectionToken<CanActivateFn | CanActivateChildFn>('SHELL_AUTH_TOKEN');\nexport const SHELL_NAVBAR_MIN_WIDTH = new InjectionToken<number>('SHELL_NAVBAR_MIN_WIDTH');\nexport const SHELL_NAVBAR_MAX_WIDTH = new InjectionToken<number>('SHELL_NAVBAR_MAX_WIDTH');\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { AppConfigService, SidenavLayoutComponent, SidenavLayoutModule } from '@alfresco/adf-core';\nimport { DynamicExtensionComponent } from '@alfresco/adf-extensions';\nimport { Component, DestroyRef, inject, Inject, OnInit, Optional, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { NavigationEnd, Router, RouterModule } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { filter, map, withLatestFrom } from 'rxjs/operators';\nimport { BreakpointObserver } from '@angular/cdk/layout';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { SHELL_APP_SERVICE, SHELL_NAVBAR_MAX_WIDTH, SHELL_NAVBAR_MIN_WIDTH, ShellAppService } from '../../services/shell-app.service';\nimport { CommonModule } from '@angular/common';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\n@Component({\n selector: 'app-shell',\n imports: [CommonModule, SidenavLayoutModule, RouterModule, DynamicExtensionComponent],\n templateUrl: './shell.component.html',\n styleUrls: ['./shell.component.scss'],\n encapsulation: ViewEncapsulation.None,\n host: { class: 'app-shell' }\n})\nexport class ShellLayoutComponent implements OnInit {\n @ViewChild('layout', { static: true })\n layout: SidenavLayoutComponent;\n\n isSmallScreen$: Observable<boolean>;\n\n expandedSidenav: boolean;\n minimizeSidenav = false;\n hideSidenav = false;\n sidenavMin: number;\n sidenavMax: number;\n direction: Directionality;\n\n private readonly destroyRef = inject(DestroyRef);\n\n constructor(\n private router: Router,\n private appConfigService: AppConfigService,\n private breakpointObserver: BreakpointObserver,\n @Inject(SHELL_APP_SERVICE) private shellService: ShellAppService,\n @Optional() @Inject(SHELL_NAVBAR_MIN_WIDTH) navBarMinWidth: number,\n @Optional() @Inject(SHELL_NAVBAR_MAX_WIDTH) navbarMaxWidth: number\n ) {\n this.sidenavMin = navBarMinWidth ?? 70;\n this.sidenavMax = navbarMaxWidth ?? 320;\n }\n\n ngOnInit() {\n this.isSmallScreen$ = this.breakpointObserver.observe(['(max-width: 600px)']).pipe(map((result) => result.matches));\n\n this.hideSidenav = this.shellService.hideSidenavConditions.some((el) => this.router.routerState.snapshot.url.includes(el));\n this.minimizeSidenav = this.shellService.minimizeSidenavConditions.some((el) => this.router.routerState.snapshot.url.includes(el));\n\n if (!this.minimizeSidenav) {\n this.expandedSidenav = this.getSidenavState();\n } else {\n this.expandedSidenav = false;\n }\n\n this.router.events\n .pipe(\n withLatestFrom(this.isSmallScreen$),\n filter(([event, isSmallScreen]) => isSmallScreen && event instanceof NavigationEnd),\n takeUntilDestroyed(this.destroyRef)\n )\n .subscribe(() => {\n this.layout.container.sidenav.close();\n });\n\n this.router.events\n .pipe(\n filter((event) => event instanceof NavigationEnd),\n takeUntilDestroyed(this.destroyRef)\n )\n .subscribe((event: NavigationEnd) => {\n this.minimizeSidenav = this.shellService.minimizeSidenavConditions.some((el) => event.urlAfterRedirects.includes(el));\n this.hideSidenav = this.shellService.hideSidenavConditions.some((el) => event.urlAfterRedirects.includes(el));\n\n this.updateState();\n });\n }\n hideMenu(event: Event) {\n if (this.layout.container.isMobileScreenSize) {\n event.preventDefault();\n this.layout.container.toggleMenu();\n }\n }\n\n private updateState() {\n if (this.minimizeSidenav && !this.layout.isMenuMinimized) {\n this.layout.isMenuMinimized = true;\n if (!this.layout.container.isMobileScreenSize) {\n this.layout.container.toggleMenu();\n }\n }\n\n if (!this.minimizeSidenav) {\n if (this.getSidenavState() && this.layout.isMenuMinimized) {\n this.layout.isMenuMinimized = false;\n this.layout.container.toggleMenu();\n }\n }\n }\n\n onExpanded(state: boolean) {\n if (!this.minimizeSidenav && this.appConfigService.get('sideNav.preserveState')) {\n this.shellService.preferencesService.set('expandedSidenav', state);\n }\n }\n\n private getSidenavState(): boolean {\n const expand = this.appConfigService.get<boolean>('sideNav.expandedSidenav', true);\n const preserveState = this.appConfigService.get<boolean>('sideNav.preserveState', true);\n\n if (preserveState) {\n return this.shellService.preferencesService.get('expandedSidenav', expand.toString()) === 'true';\n }\n\n return expand;\n }\n}\n","<adf-sidenav-layout\n #layout\n [sidenavMin]=\"sidenavMin\"\n [sidenavMax]=\"sidenavMax\"\n [stepOver]=\"600\"\n [hideSidenav]=\"hideSidenav\"\n [expandedSidenav]=\"expandedSidenav\"\n (expanded)=\"onExpanded($event)\"\n>\n <adf-sidenav-layout-header>\n <ng-template let-isMenuMinimized=\"isMenuMinimized\">\n <div\n role=\"heading\"\n aria-level=\"1\"\n *ngIf=\"!hideSidenav\"\n >\n <adf-dynamic-component id=\"app.layout.header\" [data]=\"{ layout }\" />\n </div>\n </ng-template>\n </adf-sidenav-layout-header>\n\n <adf-sidenav-layout-navigation>\n <ng-template let-isMenuMinimized=\"isMenuMinimized\">\n <div\n (swipeleft)=\"hideMenu($event)\"\n [attr.data-automation-id]=\"isMenuMinimized() ? 'collapsed' : 'expanded'\"\n >\n <adf-dynamic-component\n id=\"app.layout.sidenav\"\n [data]=\"{ layout, mode: layout.isMenuMinimized ? 'collapsed' : 'expanded'}\"\n />\n </div>\n </ng-template>\n </adf-sidenav-layout-navigation>\n\n <adf-sidenav-layout-content>\n <ng-template>\n <router-outlet />\n </ng-template>\n </adf-sidenav-layout-content>\n</adf-sidenav-layout>\n\n<adf-dynamic-component id=\"app.shell.sibling\" />\n\n<router-outlet name=\"viewer\" />\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { provideRouter, Route, Routes } from '@angular/router';\nimport { ShellLayoutComponent } from './components/shell/shell.component';\nimport { SHELL_AUTH_TOKEN } from './services/shell-app.service';\nimport { EnvironmentProviders } from '@angular/core';\n\nexport const SHELL_LAYOUT_ROUTE: Route = {\n path: '',\n component: ShellLayoutComponent,\n canActivate: [SHELL_AUTH_TOKEN],\n children: []\n};\n\nexport interface AppShellRoutesConfig {\n shellParentRoute?: Route;\n shellChildren: Routes;\n}\n\n/**\n * Provides shell routes for the application.\n *\n * @param routes The routes configuration for the shell.\n * @returns An array of providers for the shell routes.\n */\nexport function provideShellRoutes(routes: Routes | AppShellRoutesConfig): EnvironmentProviders[] {\n const shellLayoutRoute = SHELL_LAYOUT_ROUTE;\n\n if (Array.isArray(routes)) {\n shellLayoutRoute.children.push(...routes);\n return [provideRouter([shellLayoutRoute])];\n }\n\n const shellChildrenRoutes = routes.shellChildren || [];\n if (shellChildrenRoutes.length > 0) {\n shellLayoutRoute.children.push(...shellChildrenRoutes);\n }\n\n const shellParentRoute = routes.shellParentRoute;\n const rootRoute = shellParentRoute || shellLayoutRoute;\n\n if (routes.shellParentRoute) {\n rootRoute.children = rootRoute.children || [];\n rootRoute.children.push(shellLayoutRoute);\n }\n\n return [provideRouter([rootRoute])];\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ModuleWithProviders, NgModule } from '@angular/core';\nimport { Routes, provideRouter } from '@angular/router';\nimport { AppShellRoutesConfig, SHELL_LAYOUT_ROUTE } from './shell.routes';\n\n/** @deprecated use `provideShellRoutes` instead */\n@NgModule()\nexport class ShellModule {\n static withRoutes(routes: Routes | AppShellRoutesConfig): ModuleWithProviders<ShellModule> {\n if (Array.isArray(routes)) {\n return getModuleForRoutes(routes);\n }\n\n return getModuleForRouteConfig(routes);\n }\n}\n\n/**\n * Resolve module for routes\n *\n * @param routes route configuration\n * @returns module with providers\n */\nfunction getModuleForRoutes(routes: Routes): ModuleWithProviders<ShellModule> {\n const shellLayoutRoute = SHELL_LAYOUT_ROUTE;\n\n routes.forEach((childRoute) => {\n shellLayoutRoute.children.push(childRoute);\n });\n\n return {\n ngModule: ShellModule,\n providers: [provideRouter([shellLayoutRoute])]\n };\n}\n\n/**\n * Resolve a module for the route configuration\n *\n * @param config route configuration\n * @returns module with providers\n */\nfunction getModuleForRouteConfig(config: AppShellRoutesConfig): ModuleWithProviders<ShellModule> {\n const shellLayoutRoute = SHELL_LAYOUT_ROUTE;\n\n const shellParentRoute = config.shellParentRoute;\n const shellChildrenRoutes = config.shellChildren;\n\n shellLayoutRoute.children.push(...shellChildrenRoutes);\n\n const rootRoute = shellParentRoute ? shellParentRoute : shellLayoutRoute;\n\n if (config.shellParentRoute) {\n if (rootRoute.children === undefined) {\n rootRoute.children = [];\n }\n\n rootRoute.children.push(shellLayoutRoute);\n }\n\n return {\n ngModule: ShellModule,\n providers: [provideRouter([rootRoute])]\n };\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './lib/shell.module';\nexport * from './lib/services/shell-app.service';\nexport * from './lib/components/shell/shell.component';\nexport * from './lib/shell.routes';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"alfresco-adf-core-shell.mjs","sources":["../../../../lib/core/shell/src/lib/services/shell-app.service.ts","../../../../lib/core/shell/src/lib/components/shell/shell.component.ts","../../../../lib/core/shell/src/lib/components/shell/shell.component.html","../../../../lib/core/shell/src/lib/shell.routes.ts","../../../../lib/core/shell/src/lib/shell.module.ts","../../../../lib/core/shell/src/lib/providers.ts","../../../../lib/core/shell/src/index.ts","../../../../lib/core/shell/src/alfresco-adf-core-shell.ts"],"sourcesContent":["/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { InjectionToken } from '@angular/core';\nimport { CanActivateFn, CanActivateChildFn } from '@angular/router';\nimport { Observable } from 'rxjs';\n\nexport interface ShellPreferencesService {\n set(preferenceKey: string, value: any): void;\n get(preferenceKey: string, defaultValue: string): string;\n}\n\nexport interface ShellAppService {\n pageHeading$: Observable<string>;\n hideSidenavConditions: string[];\n minimizeSidenavConditions: string[];\n preferencesService: ShellPreferencesService;\n}\n\nexport const SHELL_APP_SERVICE = new InjectionToken<ShellAppService>('SHELL_APP_SERVICE');\n\nexport const SHELL_AUTH_TOKEN = new InjectionToken<CanActivateFn | CanActivateChildFn>('SHELL_AUTH_TOKEN');\nexport const SHELL_NAVBAR_MIN_WIDTH = new InjectionToken<number>('SHELL_NAVBAR_MIN_WIDTH');\nexport const SHELL_NAVBAR_MAX_WIDTH = new InjectionToken<number>('SHELL_NAVBAR_MAX_WIDTH');\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n AppConfigService,\n SidenavLayoutComponent,\n SidenavLayoutContentDirective,\n SidenavLayoutHeaderDirective,\n SidenavLayoutNavigationDirective\n} from '@alfresco/adf-core';\nimport { DynamicExtensionComponent } from '@alfresco/adf-extensions';\nimport { Component, DestroyRef, inject, Inject, OnInit, Optional, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { NavigationEnd, Router, RouterModule } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { filter, map, withLatestFrom } from 'rxjs/operators';\nimport { BreakpointObserver } from '@angular/cdk/layout';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { SHELL_APP_SERVICE, SHELL_NAVBAR_MAX_WIDTH, SHELL_NAVBAR_MIN_WIDTH, ShellAppService } from '../../services/shell-app.service';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\n@Component({\n selector: 'app-shell',\n imports: [\n RouterModule,\n SidenavLayoutHeaderDirective,\n SidenavLayoutNavigationDirective,\n SidenavLayoutContentDirective,\n DynamicExtensionComponent,\n SidenavLayoutComponent\n ],\n templateUrl: './shell.component.html',\n styleUrls: ['./shell.component.scss'],\n encapsulation: ViewEncapsulation.None,\n host: { class: 'app-shell' }\n})\nexport class ShellLayoutComponent implements OnInit {\n @ViewChild('layout', { static: true })\n layout: SidenavLayoutComponent;\n\n isSmallScreen$: Observable<boolean>;\n\n expandedSidenav: boolean;\n minimizeSidenav = false;\n hideSidenav = false;\n sidenavMin: number;\n sidenavMax: number;\n direction: Directionality;\n\n private readonly destroyRef = inject(DestroyRef);\n\n constructor(\n private router: Router,\n private appConfigService: AppConfigService,\n private breakpointObserver: BreakpointObserver,\n @Inject(SHELL_APP_SERVICE) private shellService: ShellAppService,\n @Optional() @Inject(SHELL_NAVBAR_MIN_WIDTH) navBarMinWidth: number,\n @Optional() @Inject(SHELL_NAVBAR_MAX_WIDTH) navbarMaxWidth: number\n ) {\n this.sidenavMin = navBarMinWidth ?? 70;\n this.sidenavMax = navbarMaxWidth ?? 320;\n }\n\n ngOnInit() {\n this.isSmallScreen$ = this.breakpointObserver.observe(['(max-width: 600px)']).pipe(map((result) => result.matches));\n\n this.hideSidenav = this.shellService.hideSidenavConditions.some((el) => this.router.routerState.snapshot.url.includes(el));\n this.minimizeSidenav = this.shellService.minimizeSidenavConditions.some((el) => this.router.routerState.snapshot.url.includes(el));\n\n if (!this.minimizeSidenav) {\n this.expandedSidenav = this.getSidenavState();\n } else {\n this.expandedSidenav = false;\n }\n\n this.router.events\n .pipe(\n withLatestFrom(this.isSmallScreen$),\n filter(([event, isSmallScreen]) => isSmallScreen && event instanceof NavigationEnd),\n takeUntilDestroyed(this.destroyRef)\n )\n .subscribe(() => {\n this.layout.container.sidenav.close();\n });\n\n this.router.events\n .pipe(\n filter((event) => event instanceof NavigationEnd),\n takeUntilDestroyed(this.destroyRef)\n )\n .subscribe((event: NavigationEnd) => {\n this.minimizeSidenav = this.shellService.minimizeSidenavConditions.some((el) => event.urlAfterRedirects.includes(el));\n this.hideSidenav = this.shellService.hideSidenavConditions.some((el) => event.urlAfterRedirects.includes(el));\n\n this.updateState();\n });\n }\n hideMenu(event: Event) {\n if (this.layout.container.isMobileScreenSize) {\n event.preventDefault();\n this.layout.container.toggleMenu();\n }\n }\n\n private updateState() {\n if (this.minimizeSidenav && !this.layout.isMenuMinimized) {\n this.layout.isMenuMinimized = true;\n if (!this.layout.container.isMobileScreenSize) {\n this.layout.container.toggleMenu();\n }\n }\n\n if (!this.minimizeSidenav) {\n if (this.getSidenavState() && this.layout.isMenuMinimized) {\n this.layout.isMenuMinimized = false;\n this.layout.container.toggleMenu();\n }\n }\n }\n\n onExpanded(state: boolean) {\n if (!this.minimizeSidenav && this.appConfigService.get('sideNav.preserveState')) {\n this.shellService.preferencesService.set('expandedSidenav', state);\n }\n }\n\n private getSidenavState(): boolean {\n const expand = this.appConfigService.get<boolean>('sideNav.expandedSidenav', true);\n const preserveState = this.appConfigService.get<boolean>('sideNav.preserveState', true);\n\n if (preserveState) {\n return this.shellService.preferencesService.get('expandedSidenav', expand.toString()) === 'true';\n }\n\n return expand;\n }\n}\n","<adf-sidenav-layout\n #layout\n [sidenavMin]=\"sidenavMin\"\n [sidenavMax]=\"sidenavMax\"\n [stepOver]=\"600\"\n [hideSidenav]=\"hideSidenav\"\n [expandedSidenav]=\"expandedSidenav\"\n (expanded)=\"onExpanded($event)\"\n>\n <adf-sidenav-layout-header>\n <ng-template let-isMenuMinimized=\"isMenuMinimized\">\n @if (!hideSidenav) {\n <div\n role=\"heading\"\n aria-level=\"1\"\n >\n <adf-dynamic-component id=\"app.layout.header\" [data]=\"{ layout }\" />\n </div>\n }\n </ng-template>\n </adf-sidenav-layout-header>\n\n <adf-sidenav-layout-navigation>\n <ng-template let-isMenuMinimized=\"isMenuMinimized\">\n <div\n (swipeleft)=\"hideMenu($event)\"\n [attr.data-automation-id]=\"isMenuMinimized() ? 'collapsed' : 'expanded'\"\n >\n <adf-dynamic-component\n id=\"app.layout.sidenav\"\n [data]=\"{ layout, mode: layout.isMenuMinimized ? 'collapsed' : 'expanded'}\"\n />\n </div>\n </ng-template>\n </adf-sidenav-layout-navigation>\n\n <adf-sidenav-layout-content>\n <ng-template>\n <router-outlet />\n </ng-template>\n </adf-sidenav-layout-content>\n</adf-sidenav-layout>\n\n<adf-dynamic-component id=\"app.shell.sibling\" />\n\n<router-outlet name=\"viewer\" />\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { provideRouter, Route, Routes } from '@angular/router';\nimport { ShellLayoutComponent } from './components/shell/shell.component';\nimport { SHELL_AUTH_TOKEN } from './services/shell-app.service';\nimport { EnvironmentProviders } from '@angular/core';\n\nexport const SHELL_LAYOUT_ROUTE: Route = {\n path: '',\n component: ShellLayoutComponent,\n canActivate: [SHELL_AUTH_TOKEN],\n children: []\n};\n\nexport interface AppShellRoutesConfig {\n shellParentRoute?: Route;\n shellChildren: Routes;\n}\n\n/**\n * Provides shell routes for the application.\n *\n * @param routes The routes configuration for the shell.\n * @returns An array of providers for the shell routes.\n */\nexport function provideShellRoutes(routes: Routes | AppShellRoutesConfig): EnvironmentProviders[] {\n const shellLayoutRoute = SHELL_LAYOUT_ROUTE;\n\n if (Array.isArray(routes)) {\n shellLayoutRoute.children.push(...routes);\n return [provideRouter([shellLayoutRoute])];\n }\n\n const shellChildrenRoutes = routes.shellChildren || [];\n if (shellChildrenRoutes.length > 0) {\n shellLayoutRoute.children.push(...shellChildrenRoutes);\n }\n\n const shellParentRoute = routes.shellParentRoute;\n const rootRoute = shellParentRoute || shellLayoutRoute;\n\n if (routes.shellParentRoute) {\n rootRoute.children = rootRoute.children || [];\n rootRoute.children.push(shellLayoutRoute);\n }\n\n return [provideRouter([rootRoute])];\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ModuleWithProviders, NgModule } from '@angular/core';\nimport { Routes, provideRouter } from '@angular/router';\nimport { AppShellRoutesConfig, SHELL_LAYOUT_ROUTE } from './shell.routes';\n\n/** @deprecated use `provideShell` instead */\n@NgModule()\nexport class ShellModule {\n static withRoutes(routes: Routes | AppShellRoutesConfig): ModuleWithProviders<ShellModule> {\n if (Array.isArray(routes)) {\n return getModuleForRoutes(routes);\n }\n\n return getModuleForRouteConfig(routes);\n }\n}\n\n/**\n * Resolve module for routes\n *\n * @param routes route configuration\n * @returns module with providers\n */\nfunction getModuleForRoutes(routes: Routes): ModuleWithProviders<ShellModule> {\n const shellLayoutRoute = SHELL_LAYOUT_ROUTE;\n\n routes.forEach((childRoute) => {\n shellLayoutRoute.children.push(childRoute);\n });\n\n return {\n ngModule: ShellModule,\n providers: [provideRouter([shellLayoutRoute])]\n };\n}\n\n/**\n * Resolve a module for the route configuration\n *\n * @param config route configuration\n * @returns module with providers\n */\nfunction getModuleForRouteConfig(config: AppShellRoutesConfig): ModuleWithProviders<ShellModule> {\n const shellLayoutRoute = SHELL_LAYOUT_ROUTE;\n\n const shellParentRoute = config.shellParentRoute;\n const shellChildrenRoutes = config.shellChildren;\n\n shellLayoutRoute.children.push(...shellChildrenRoutes);\n\n const rootRoute = shellParentRoute ? shellParentRoute : shellLayoutRoute;\n\n if (config.shellParentRoute) {\n if (rootRoute.children === undefined) {\n rootRoute.children = [];\n }\n\n rootRoute.children.push(shellLayoutRoute);\n }\n\n return {\n ngModule: ShellModule,\n providers: [provideRouter([rootRoute])]\n };\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { EnvironmentProviders, Provider } from '@angular/core';\nimport { CanActivateChildFn, CanActivateFn, Routes } from '@angular/router';\nimport { AppShellRoutesConfig, provideShellRoutes } from './shell.routes';\nimport { SHELL_APP_SERVICE, SHELL_AUTH_TOKEN, SHELL_NAVBAR_MAX_WIDTH, SHELL_NAVBAR_MIN_WIDTH, ShellAppService } from './services/shell-app.service';\n\nexport interface ProvideShellOpts {\n routes: Routes | AppShellRoutesConfig;\n appService?: ShellAppService;\n authGuard?: CanActivateFn | CanActivateChildFn;\n navBar?: {\n minWidth: number;\n maxWidth: number;\n };\n}\n\n/**\n * Provides Shell-related api and providers\n *\n * @param opts Optional parameters\n * @returns list of Angular providers\n */\nexport function provideShell(opts?: ProvideShellOpts): (Provider | EnvironmentProviders)[] {\n const result: (Provider | EnvironmentProviders)[] = [provideShellRoutes(opts?.routes || [])];\n\n if (opts?.appService) {\n result.push({\n provide: SHELL_APP_SERVICE,\n useValue: opts.appService\n });\n }\n\n if (opts?.authGuard) {\n result.push({\n provide: SHELL_AUTH_TOKEN,\n useValue: opts.authGuard\n });\n }\n\n if (opts?.navBar) {\n result.push({\n provide: SHELL_NAVBAR_MIN_WIDTH,\n useValue: opts.navBar.minWidth ?? 70\n });\n result.push({\n provide: SHELL_NAVBAR_MAX_WIDTH,\n useValue: opts.navBar.maxWidth ?? 320\n });\n }\n\n return result;\n}\n","/*!\n * @license\n * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './lib/shell.module';\nexport * from './lib/services/shell-app.service';\nexport * from './lib/components/shell/shell.component';\nexport * from './lib/shell.routes';\nexport * from './lib/providers';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@alfresco/adf-core",
3
3
  "description": "Alfresco ADF core",
4
- "version": "8.1.0-16266387720",
4
+ "version": "8.1.0-16266693062",
5
5
  "author": "Hyland Software, Inc. and its affiliates",
6
6
  "repository": {
7
7
  "type": "git",
@@ -63,8 +63,8 @@
63
63
  "@angular/router": ">=16.0.0",
64
64
  "@mat-datetimepicker/core": ">=12.0.1",
65
65
  "@ngx-translate/core": ">=16.0.0",
66
- "@alfresco/js-api": ">=9.1.0-16266387720",
67
- "@alfresco/adf-extensions": ">=8.1.0-16266387720",
66
+ "@alfresco/js-api": ">=9.1.0-16266693062",
67
+ "@alfresco/adf-extensions": ">=8.1.0-16266693062",
68
68
  "minimatch": ">=10.0.0",
69
69
  "pdfjs-dist": ">=3.3.122",
70
70
  "ts-morph": ">=20.0.0"
package/shell/README.md CHANGED
@@ -9,9 +9,19 @@ This module provides the main layout for the application, allowing you to define
9
9
  Passed routes are going to be attached to shell main route.
10
10
 
11
11
  ```typescript
12
- import { provideShellRoutes } from '@alfresco/adf-core/shell';
13
-
14
- provideShellRoutes([/*Your Routes*/])
12
+ import { provideShell } from '@alfresco/adf-core/shell';
13
+
14
+ provideShell(
15
+ {
16
+ routes: [],
17
+ appService: AppService,
18
+ authGuard: AuthGuard,
19
+ navBar: {
20
+ minWidth: 0,
21
+ maxWidth: 100
22
+ }
23
+ }
24
+ )
15
25
  ```
16
26
 
17
27
  If you would like to provide custom app guard, you can provide your own using `SHELL_AUTH_TOKEN`.
package/shell/index.d.ts CHANGED
@@ -18,3 +18,4 @@ export * from './lib/shell.module';
18
18
  export * from './lib/services/shell-app.service';
19
19
  export * from './lib/components/shell/shell.component';
20
20
  export * from './lib/shell.routes';
21
+ export * from './lib/providers';
@@ -0,0 +1,36 @@
1
+ /*!
2
+ * @license
3
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import { EnvironmentProviders, Provider } from '@angular/core';
18
+ import { CanActivateChildFn, CanActivateFn, Routes } from '@angular/router';
19
+ import { AppShellRoutesConfig } from './shell.routes';
20
+ import { ShellAppService } from './services/shell-app.service';
21
+ export interface ProvideShellOpts {
22
+ routes: Routes | AppShellRoutesConfig;
23
+ appService?: ShellAppService;
24
+ authGuard?: CanActivateFn | CanActivateChildFn;
25
+ navBar?: {
26
+ minWidth: number;
27
+ maxWidth: number;
28
+ };
29
+ }
30
+ /**
31
+ * Provides Shell-related api and providers
32
+ *
33
+ * @param opts Optional parameters
34
+ * @returns list of Angular providers
35
+ */
36
+ export declare function provideShell(opts?: ProvideShellOpts): (Provider | EnvironmentProviders)[];
@@ -18,7 +18,7 @@ import { ModuleWithProviders } from '@angular/core';
18
18
  import { Routes } from '@angular/router';
19
19
  import { AppShellRoutesConfig } from './shell.routes';
20
20
  import * as i0 from "@angular/core";
21
- /** @deprecated use `provideShellRoutes` instead */
21
+ /** @deprecated use `provideShell` instead */
22
22
  export declare class ShellModule {
23
23
  static withRoutes(routes: Routes | AppShellRoutesConfig): ModuleWithProviders<ShellModule>;
24
24
  static ɵfac: i0.ɵɵFactoryDeclaration<ShellModule, never>;