@rolatech/angular-components 17.4.27 → 17.5.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.
Files changed (75) hide show
  1. package/esm2022/index.mjs +6 -6
  2. package/esm2022/lib/angular-components.module.mjs +4 -4
  3. package/esm2022/lib/avatar/avatar.component.mjs +3 -3
  4. package/esm2022/lib/chip-bar/chip-bar.component.mjs +3 -3
  5. package/esm2022/lib/confirmation-dialog/confirmation-dialog.component.mjs +3 -3
  6. package/esm2022/lib/console-layout/console-layout.component.mjs +3 -3
  7. package/esm2022/lib/container/container.component.mjs +20 -0
  8. package/esm2022/lib/container-content/container-content.component.mjs +13 -0
  9. package/esm2022/lib/content/content.component.mjs +3 -3
  10. package/esm2022/lib/drawer/drawer.component.mjs +117 -0
  11. package/esm2022/lib/drawer/expansion-animations.mjs +33 -0
  12. package/esm2022/lib/empty/empty.component.mjs +3 -3
  13. package/esm2022/lib/folder/folder.component.mjs +3 -3
  14. package/esm2022/lib/footer/footer.component.mjs +24 -0
  15. package/esm2022/lib/icon/icon.component.mjs +3 -3
  16. package/esm2022/lib/icon-button/icon-button.component.mjs +3 -3
  17. package/esm2022/lib/image/image.component.mjs +3 -3
  18. package/esm2022/lib/image-placeholder/image-placeholder.component.mjs +3 -3
  19. package/esm2022/lib/image-preview-dialog/image-preview-dialog.component.mjs +3 -3
  20. package/esm2022/lib/input/input.component.mjs +3 -3
  21. package/esm2022/lib/layout/layout.component.mjs +102 -0
  22. package/esm2022/lib/list/list.component.mjs +3 -3
  23. package/esm2022/lib/material.module.mjs +4 -4
  24. package/esm2022/lib/media-list/media-list.component.mjs +3 -3
  25. package/esm2022/lib/media-list-item/media-list-item.component.mjs +3 -3
  26. package/esm2022/lib/media-preview/media-preview.component.mjs +3 -3
  27. package/esm2022/lib/media-preview-dialog/media-preview-dialog.component.mjs +3 -3
  28. package/esm2022/lib/media-upload/media-upload.component.mjs +3 -3
  29. package/esm2022/lib/media-upload-dialog/media-upload-dialog.component.mjs +3 -3
  30. package/esm2022/lib/menu-icon/menu-icon.component.mjs +3 -3
  31. package/esm2022/lib/menu-user/menu-user.component.mjs +3 -3
  32. package/esm2022/lib/mini-guide/mini-guide.component.mjs +3 -3
  33. package/esm2022/lib/not-found/not-found.component.mjs +3 -3
  34. package/esm2022/lib/page/page.component.mjs +24 -0
  35. package/esm2022/lib/paginator/paginator.component.mjs +3 -3
  36. package/esm2022/lib/rich-item/rich-item.component.mjs +3 -3
  37. package/esm2022/lib/rich-view/rich-view.component.mjs +3 -3
  38. package/esm2022/lib/spacer/spacer.component.mjs +3 -3
  39. package/esm2022/lib/spinner/spinner.component.mjs +3 -3
  40. package/esm2022/lib/storage-bucket-create/storage-bucket-create.component.mjs +3 -3
  41. package/esm2022/lib/storage-file-upload/storage-file-upload.component.mjs +3 -3
  42. package/esm2022/lib/storage-folder-create/storage-folder-create.component.mjs +3 -3
  43. package/esm2022/lib/tab/tab.component.mjs +3 -3
  44. package/esm2022/lib/table/table.component.mjs +3 -3
  45. package/esm2022/lib/tabs/tabs.component.mjs +3 -3
  46. package/esm2022/lib/thumbnail/thumbnail.component.mjs +3 -3
  47. package/esm2022/lib/title/title.component.mjs +3 -3
  48. package/esm2022/lib/toolbar/toolbar.component.mjs +3 -3
  49. package/esm2022/lib/topbar/topbar.component.mjs +5 -5
  50. package/esm2022/lib/topbar-avatar-menu/topbar-avatar-menu.component.mjs +3 -3
  51. package/esm2022/lib/wechat-connect-dialog/wechat-connect-dialog.component.mjs +3 -3
  52. package/esm2022/provider.mjs +1 -1
  53. package/fesm2022/rolatech-angular-components.mjs +179 -179
  54. package/fesm2022/rolatech-angular-components.mjs.map +1 -1
  55. package/index.d.ts +5 -5
  56. package/lib/container/container.component.d.ts +7 -0
  57. package/lib/container-content/container-content.component.d.ts +5 -0
  58. package/lib/{app-drawer/app-drawer.component.d.ts → drawer/drawer.component.d.ts} +3 -3
  59. package/lib/footer/footer.component.d.ts +10 -0
  60. package/lib/{app-layout/app-layout.component.d.ts → layout/layout.component.d.ts} +5 -5
  61. package/lib/{app-page/app-page.component.d.ts → page/page.component.d.ts} +1 -1
  62. package/lib/topbar/topbar.component.d.ts +2 -2
  63. package/package.json +1 -1
  64. package/provider.d.ts +2 -2
  65. package/esm2022/lib/app-container/app-container.component.mjs +0 -20
  66. package/esm2022/lib/app-container-content/app-container-content.component.mjs +0 -13
  67. package/esm2022/lib/app-drawer/app-drawer.component.mjs +0 -117
  68. package/esm2022/lib/app-drawer/expansion-animations.mjs +0 -33
  69. package/esm2022/lib/app-footer/app-footer.component.mjs +0 -24
  70. package/esm2022/lib/app-layout/app-layout.component.mjs +0 -102
  71. package/esm2022/lib/app-page/app-page.component.mjs +0 -24
  72. package/lib/app-container/app-container.component.d.ts +0 -7
  73. package/lib/app-container-content/app-container-content.component.d.ts +0 -5
  74. package/lib/app-footer/app-footer.component.d.ts +0 -10
  75. /package/lib/{app-drawer → drawer}/expansion-animations.d.ts +0 -0
package/index.d.ts CHANGED
@@ -1,11 +1,11 @@
1
1
  export { IconComponent } from './lib/icon/icon.component';
2
2
  export { IconButtonComponent } from './lib/icon-button/icon-button.component';
3
3
  export { TitleComponent } from './lib/title/title.component';
4
- export { AppContainerComponent } from './lib/app-container/app-container.component';
5
- export { AppLayoutComponent } from './lib/app-layout/app-layout.component';
6
- export { AppPageComponent } from './lib/app-page/app-page.component';
7
- export { AppDrawerComponent } from './lib/app-drawer/app-drawer.component';
8
- export { AppFooterComponent } from './lib/app-footer/app-footer.component';
4
+ export { ContainerComponent } from './lib/container/container.component';
5
+ export { LayoutComponent } from './lib/layout/layout.component';
6
+ export { AppPageComponent } from './lib/page/page.component';
7
+ export { DrawerComponent } from './lib/drawer/drawer.component';
8
+ export { FooterComponent } from './lib/footer/footer.component';
9
9
  export { ConsoleLayoutComponent } from './lib/console-layout/console-layout.component';
10
10
  export { TopbarComponent } from './lib/topbar/topbar.component';
11
11
  export { TopbarAvatarMenuComponent } from './lib/topbar-avatar-menu/topbar-avatar-menu.component';
@@ -0,0 +1,7 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class ContainerComponent {
3
+ hasId: string;
4
+ hasClass: boolean;
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<ContainerComponent, never>;
6
+ static ɵcmp: i0.ɵɵComponentDeclaration<ContainerComponent, "rolatech-container", never, {}, {}, never, ["rolatech-toolbar", "rolatech-tabs", "rolatech-chip-bar", "rolatech-list", "rolatech-content", "*"], true, never>;
7
+ }
@@ -0,0 +1,5 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class ContainerContentComponent {
3
+ static ɵfac: i0.ɵɵFactoryDeclaration<ContainerContentComponent, never>;
4
+ static ɵcmp: i0.ɵɵComponentDeclaration<ContainerContentComponent, "rolatech-container-content", never, {}, {}, never, ["*"], true, never>;
5
+ }
@@ -12,7 +12,7 @@ export interface LINK {
12
12
  children?: LINK[];
13
13
  button?: boolean;
14
14
  }
15
- export declare class AppDrawerComponent implements OnInit {
15
+ export declare class DrawerComponent implements OnInit {
16
16
  opened: boolean;
17
17
  links: import("@angular/core").InputSignal<LINK[] | undefined>;
18
18
  position: import("@angular/core").InputSignal<string>;
@@ -38,6 +38,6 @@ export declare class AppDrawerComponent implements OnInit {
38
38
  close(): void;
39
39
  toggle(): void;
40
40
  ngOnInit(): void;
41
- static ɵfac: i0.ɵɵFactoryDeclaration<AppDrawerComponent, never>;
42
- static ɵcmp: i0.ɵɵComponentDeclaration<AppDrawerComponent, "rolatech-app-drawer", never, { "links": { "alias": "links"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
41
+ static ɵfac: i0.ɵɵFactoryDeclaration<DrawerComponent, never>;
42
+ static ɵcmp: i0.ɵɵComponentDeclaration<DrawerComponent, "rolatech-drawer", never, { "links": { "alias": "links"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
43
43
  }
@@ -0,0 +1,10 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class FooterComponent {
3
+ hostId: string;
4
+ hasClass: boolean;
5
+ config: any;
6
+ title: import("@angular/core").InputSignal<string | undefined>;
7
+ copyright: import("@angular/core").InputSignal<string>;
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<FooterComponent, never>;
9
+ static ɵcmp: i0.ɵɵComponentDeclaration<FooterComponent, "rolatech-footer", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "copyright": { "alias": "copyright"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
10
+ }
@@ -1,10 +1,10 @@
1
1
  import { AfterContentInit, ElementRef, OnInit, Renderer2 } from '@angular/core';
2
2
  import { TopbarComponent } from '../topbar/topbar.component';
3
- import { AppDrawerComponent } from '../app-drawer/app-drawer.component';
3
+ import { DrawerComponent } from '../drawer/drawer.component';
4
4
  import { BreakpointObserver } from '@angular/cdk/layout';
5
5
  import { MiniGuideComponent } from '../mini-guide/mini-guide.component';
6
6
  import * as i0 from "@angular/core";
7
- export declare class AppLayoutComponent implements OnInit, AfterContentInit {
7
+ export declare class LayoutComponent implements OnInit, AfterContentInit {
8
8
  hostId: string;
9
9
  hasClass: boolean;
10
10
  appLayout: import("../../provider").AppLayoutConfig;
@@ -13,13 +13,13 @@ export declare class AppLayoutComponent implements OnInit, AfterContentInit {
13
13
  platformId: Object;
14
14
  breakpointObserver: BreakpointObserver;
15
15
  topbar: import("@angular/core").Signal<TopbarComponent>;
16
- drawer: import("@angular/core").Signal<AppDrawerComponent>;
16
+ drawer: import("@angular/core").Signal<DrawerComponent>;
17
17
  guide: import("@angular/core").Signal<MiniGuideComponent>;
18
18
  currentBreakpoint: string;
19
19
  readonly breakpoint$: import("rxjs").Observable<import("@angular/cdk/layout").BreakpointState>;
20
20
  ngOnInit(): void;
21
21
  ngAfterContentInit(): void;
22
22
  private breakpointChanged;
23
- static ɵfac: i0.ɵɵFactoryDeclaration<AppLayoutComponent, never>;
24
- static ɵcmp: i0.ɵɵComponentDeclaration<AppLayoutComponent, "rolatech-app-layout", never, {}, {}, ["topbar", "drawer", "guide"], ["rolatech-topbar", "rolatech-app-drawer", "rolatech-mini-guide", "rolatech-app-page", "rolatech-app-footer"], true, never>;
23
+ static ɵfac: i0.ɵɵFactoryDeclaration<LayoutComponent, never>;
24
+ static ɵcmp: i0.ɵɵComponentDeclaration<LayoutComponent, "rolatech-layout", never, {}, {}, ["topbar", "drawer", "guide"], ["rolatech-topbar", "rolatech-drawer", "rolatech-mini-guide", "rolatech-page", "rolatech-footer"], true, never>;
25
25
  }
@@ -4,5 +4,5 @@ export declare class AppPageComponent {
4
4
  hasClass: boolean;
5
5
  hasAppClass: boolean;
6
6
  static ɵfac: i0.ɵɵFactoryDeclaration<AppPageComponent, never>;
7
- static ɵcmp: i0.ɵɵComponentDeclaration<AppPageComponent, "rolatech-app-page", never, {}, {}, never, ["*"], true, never>;
7
+ static ɵcmp: i0.ɵɵComponentDeclaration<AppPageComponent, "rolatech-page", never, {}, {}, never, ["*"], true, never>;
8
8
  }
@@ -1,7 +1,7 @@
1
1
  import { ElementRef, OnInit, Renderer2 } from '@angular/core';
2
2
  import { BreakpointObserver } from '@angular/cdk/layout';
3
3
  import { Observable } from 'rxjs';
4
- import { AppDrawerComponent } from '../app-drawer/app-drawer.component';
4
+ import { DrawerComponent } from '../drawer/drawer.component';
5
5
  import { MiniGuideComponent } from '../mini-guide/mini-guide.component';
6
6
  import * as i0 from "@angular/core";
7
7
  export declare class TopbarComponent implements OnInit {
@@ -15,7 +15,7 @@ export declare class TopbarComponent implements OnInit {
15
15
  appLayout: import("../../provider").AppLayoutConfig;
16
16
  link: import("@angular/core").InputSignal<string>;
17
17
  isHandset$: Observable<boolean>;
18
- appDrawer: AppDrawerComponent;
18
+ appDrawer: DrawerComponent;
19
19
  miniGuide: MiniGuideComponent;
20
20
  constructor();
21
21
  ngOnInit(): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rolatech/angular-components",
3
- "version": "17.4.27",
3
+ "version": "17.5.0",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^18.0.0",
6
6
  "@angular/core": "^18.0.0"
package/provider.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { EnvironmentProviders, InjectionToken } from '@angular/core';
2
- export interface AppDrawerConfig {
2
+ export interface DrawerConfig {
3
3
  persistent: boolean;
4
4
  }
5
5
  export interface AppTopbarConfig {
@@ -10,7 +10,7 @@ export interface AppLayoutConfig {
10
10
  subtitle?: string;
11
11
  persistent?: boolean | undefined;
12
12
  topbar?: AppTopbarConfig;
13
- drawer?: AppDrawerConfig;
13
+ drawer?: DrawerConfig;
14
14
  guide?: boolean | undefined;
15
15
  }
16
16
  export declare const APP_LAYOUT: InjectionToken<AppLayoutConfig>;
@@ -1,20 +0,0 @@
1
- import { Component, HostBinding, ViewEncapsulation } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import * as i0 from "@angular/core";
4
- export class AppContainerComponent {
5
- hasId = 'rolatech-app-container';
6
- hasClass = true;
7
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AppContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.2", type: AppContainerComponent, isStandalone: true, selector: "rolatech-app-container", host: { properties: { "id": "this.hasId", "class.rolatech-app-container": "this.hasClass" } }, ngImport: i0, template: "<div class=\"xl:max-w-[1024px] 2xl:max-w-[1280px] m-auto\">\n <ng-content select=\"rolatech-toolbar\"></ng-content>\n <ng-content select=\"rolatech-tabs\"></ng-content>\n <ng-content select=\"rolatech-chip-bar\"></ng-content>\n <ng-content select=\"rolatech-list\"></ng-content>\n <ng-content select=\"rolatech-content\"></ng-content>\n <div class=\"app-container-content\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: ["@media (min-width: 1280){.rolatech-app-container{max-width:var(--rt-app-container-max-width, 1024px)}}@media (min-width: 1536px){.rolatech-app-container{max-width:var(--rt-app-container-max-width, 1280px)}}rolatech-app-container .app-container-content{margin:0 auto;display:block;padding-left:var(--rt-app-container-content-padding-left, 16px);padding-right:var(--rt-app-container-content-padding-right, 16px)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], encapsulation: i0.ViewEncapsulation.None });
9
- }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AppContainerComponent, decorators: [{
11
- type: Component,
12
- args: [{ standalone: true, selector: 'rolatech-app-container', imports: [CommonModule], encapsulation: ViewEncapsulation.None, template: "<div class=\"xl:max-w-[1024px] 2xl:max-w-[1280px] m-auto\">\n <ng-content select=\"rolatech-toolbar\"></ng-content>\n <ng-content select=\"rolatech-tabs\"></ng-content>\n <ng-content select=\"rolatech-chip-bar\"></ng-content>\n <ng-content select=\"rolatech-list\"></ng-content>\n <ng-content select=\"rolatech-content\"></ng-content>\n <div class=\"app-container-content\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: ["@media (min-width: 1280){.rolatech-app-container{max-width:var(--rt-app-container-max-width, 1024px)}}@media (min-width: 1536px){.rolatech-app-container{max-width:var(--rt-app-container-max-width, 1280px)}}rolatech-app-container .app-container-content{margin:0 auto;display:block;padding-left:var(--rt-app-container-content-padding-left, 16px);padding-right:var(--rt-app-container-content-padding-right, 16px)}\n"] }]
13
- }], propDecorators: { hasId: [{
14
- type: HostBinding,
15
- args: ['id']
16
- }], hasClass: [{
17
- type: HostBinding,
18
- args: ['class.rolatech-app-container']
19
- }] } });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL2FwcC1jb250YWluZXIvYXBwLWNvbnRhaW5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL2FwcC1jb250YWluZXIvYXBwLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBVS9DLE1BQU0sT0FBTyxxQkFBcUI7SUFDYixLQUFLLEdBQUcsd0JBQXdCLENBQUM7SUFDUCxRQUFRLEdBQUcsSUFBSSxDQUFDO3VHQUZsRCxxQkFBcUI7MkZBQXJCLHFCQUFxQixpTENYbEMsaWJBVUEscWRESlksWUFBWTs7MkZBS1gscUJBQXFCO2tCQVJqQyxTQUFTO2lDQUNJLElBQUksWUFDTix3QkFBd0IsV0FDekIsQ0FBQyxZQUFZLENBQUMsaUJBR1IsaUJBQWlCLENBQUMsSUFBSTs4QkFHbEIsS0FBSztzQkFBdkIsV0FBVzt1QkFBQyxJQUFJO2dCQUM0QixRQUFRO3NCQUFwRCxXQUFXO3VCQUFDLDhCQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1hcHAtY29udGFpbmVyJyxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9hcHAtY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2FwcC1jb250YWluZXIuY29tcG9uZW50LnNjc3MnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBBcHBDb250YWluZXJDb21wb25lbnQge1xuICBASG9zdEJpbmRpbmcoJ2lkJykgaGFzSWQgPSAncm9sYXRlY2gtYXBwLWNvbnRhaW5lcic7XG4gIEBIb3N0QmluZGluZygnY2xhc3Mucm9sYXRlY2gtYXBwLWNvbnRhaW5lcicpIGhhc0NsYXNzID0gdHJ1ZTtcbn1cbiIsIjxkaXYgY2xhc3M9XCJ4bDptYXgtdy1bMTAyNHB4XSAyeGw6bWF4LXctWzEyODBweF0gbS1hdXRvXCI+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cInJvbGF0ZWNoLXRvb2xiYXJcIj48L25nLWNvbnRlbnQ+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cInJvbGF0ZWNoLXRhYnNcIj48L25nLWNvbnRlbnQ+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cInJvbGF0ZWNoLWNoaXAtYmFyXCI+PC9uZy1jb250ZW50PlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJyb2xhdGVjaC1saXN0XCI+PC9uZy1jb250ZW50PlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJyb2xhdGVjaC1jb250ZW50XCI+PC9uZy1jb250ZW50PlxuICA8ZGl2IGNsYXNzPVwiYXBwLWNvbnRhaW5lci1jb250ZW50XCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,13 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { MatSidenavModule } from '@angular/material/sidenav';
4
- import * as i0 from "@angular/core";
5
- export class AppContainerContentComponent {
6
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AppContainerContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.2", type: AppContainerContentComponent, isStandalone: true, selector: "rolatech-app-container-content", ngImport: i0, template: "<div>\n <ng-content></ng-content>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatSidenavModule }] });
8
- }
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AppContainerContentComponent, decorators: [{
10
- type: Component,
11
- args: [{ selector: 'rolatech-app-container-content', standalone: true, imports: [CommonModule, MatSidenavModule], template: "<div>\n <ng-content></ng-content>\n</div>\n" }]
12
- }] });
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWNvbnRhaW5lci1jb250ZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1jb21wb25lbnRzL3NyYy9saWIvYXBwLWNvbnRhaW5lci1jb250ZW50L2FwcC1jb250YWluZXItY29udGVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL2FwcC1jb250YWluZXItY29udGVudC9hcHAtY29udGFpbmVyLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBUzdELE1BQU0sT0FBTyw0QkFBNEI7dUdBQTVCLDRCQUE0QjsyRkFBNUIsNEJBQTRCLDBGQ1h6Qyw4Q0FHQSx5RERJWSxZQUFZLDhCQUFFLGdCQUFnQjs7MkZBSTdCLDRCQUE0QjtrQkFQeEMsU0FBUzsrQkFDRSxnQ0FBZ0MsY0FDOUIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWF0U2lkZW5hdk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NpZGVuYXYnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1hcHAtY29udGFpbmVyLWNvbnRlbnQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRTaWRlbmF2TW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2FwcC1jb250YWluZXItY29udGVudC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9hcHAtY29udGFpbmVyLWNvbnRlbnQuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBBcHBDb250YWluZXJDb250ZW50Q29tcG9uZW50IHt9XG4iLCI8ZGl2PlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbiJdfQ==
@@ -1,117 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, ElementRef, HostBinding, PLATFORM_ID, Renderer2, ViewEncapsulation, inject, input, viewChild, } from '@angular/core';
2
- import { CommonModule, isPlatformBrowser } from '@angular/common';
3
- import { MatNavList } from '@angular/material/list';
4
- import { RouterLink, RouterLinkActive } from '@angular/router';
5
- import { map } from 'rxjs';
6
- import { BreakpointObserver } from '@angular/cdk/layout';
7
- import { IconButtonComponent } from '../icon-button/icon-button.component';
8
- import { IconComponent } from '../icon/icon.component';
9
- import { APP_LAYOUT } from '../../provider';
10
- import { MatExpansionPanel, MatExpansionPanelHeader } from '@angular/material/expansion';
11
- import { MatIcon } from '@angular/material/icon';
12
- import { heightAnimation } from './expansion-animations';
13
- import { MenuIconComponent } from '../menu-icon/menu-icon.component';
14
- import { MatButtonModule } from '@angular/material/button';
15
- import * as i0 from "@angular/core";
16
- export const EXPANSION_PANEL_ANIMATION_TIMING = '225ms cubic-bezier(0.4,0.0,0.2,1)';
17
- export class AppDrawerComponent {
18
- opened = false;
19
- links = input();
20
- position = input('left');
21
- hostId = 'rolatech-app-drawer';
22
- hasClass = true;
23
- duration = '200ms';
24
- persistent;
25
- el = inject(ElementRef);
26
- renderer = inject(Renderer2);
27
- platformId = inject(PLATFORM_ID);
28
- breakpointObserver = inject(BreakpointObserver);
29
- appLayout = inject(APP_LAYOUT);
30
- guideEl = viewChild('guide');
31
- content = viewChild('content');
32
- scrimEl = viewChild('scrim');
33
- headerEl = viewChild('header');
34
- isHandset$;
35
- isMobile = false;
36
- isPersistent = true;
37
- completed = false;
38
- panelOpenState = false;
39
- open() {
40
- this.opened = true;
41
- this.renderer.setAttribute(this.el.nativeElement, 'opened', '');
42
- this.renderer.setAttribute(this.content()?.nativeElement, 'opened', '');
43
- if (this.isMobile) {
44
- this.renderer.addClass(this.scrimEl()?.nativeElement, 'visible');
45
- }
46
- }
47
- close() {
48
- this.opened = false;
49
- this.renderer.removeAttribute(this.el.nativeElement, 'opened');
50
- this.renderer.removeAttribute(this.content()?.nativeElement, 'opened');
51
- if (this.isMobile) {
52
- this.renderer.removeClass(this.scrimEl()?.nativeElement, 'visible');
53
- }
54
- }
55
- toggle() {
56
- this.opened ? this.close() : this.open();
57
- }
58
- ngOnInit() {
59
- if (isPlatformBrowser(this.platformId)) {
60
- this.renderer.setAttribute(this.el.nativeElement, 'position', this.position());
61
- this.completed = false;
62
- this.isHandset$ = this.breakpointObserver.observe(['(max-width: 768px)']).pipe(map((result) => result.matches));
63
- this.isHandset$.subscribe({
64
- next: (res) => {
65
- this.opened = !res;
66
- this.isMobile = res;
67
- this.isPersistent = !res;
68
- if (res) {
69
- if (this.persistent) {
70
- this.renderer.removeAttribute(this.el.nativeElement, 'persistent');
71
- this.renderer.removeAttribute(this.headerEl()?.nativeElement, 'hidden', '');
72
- this.renderer.removeAttribute(this.el.nativeElement, 'opened');
73
- this.renderer.removeAttribute(this.content()?.nativeElement, 'opened');
74
- }
75
- }
76
- else {
77
- if (this.persistent) {
78
- this.renderer.setAttribute(this.el.nativeElement, 'persistent', '');
79
- this.renderer.setAttribute(this.headerEl()?.nativeElement, 'hidden', '');
80
- this.renderer.setAttribute(this.el.nativeElement, 'opened', '');
81
- this.renderer.setAttribute(this.content()?.nativeElement, 'opened', '');
82
- }
83
- }
84
- this.completed = true;
85
- },
86
- });
87
- }
88
- }
89
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AppDrawerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
90
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.2", type: AppDrawerComponent, isStandalone: true, selector: "rolatech-app-drawer", inputs: { links: { classPropertyName: "links", publicName: "links", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "id": "this.hostId", "class.rolatech-app-drawer": "this.hasClass", "style.transition-duration": "this.duration" } }, viewQueries: [{ propertyName: "guideEl", first: true, predicate: ["guide"], descendants: true, isSignal: true }, { propertyName: "content", first: true, predicate: ["content"], descendants: true, isSignal: true }, { propertyName: "scrimEl", first: true, predicate: ["scrim"], descendants: true, isSignal: true }, { propertyName: "headerEl", first: true, predicate: ["header"], descendants: true, isSignal: true }], ngImport: i0, template: "<div id=\"scrim\" #scrim class=\"rolatech-app-drawer\" (click)=\"close()\"></div>\n<div id=\"contentContainer\" #content class=\"rolatech-app-drawer\">\n <div id=\"guide-wrapper\" class=\"rolatech-app-drawer\">\n <div id=\"guide-spacer\"></div>\n <div id=\"guide-content\" class=\"rolatech-app-drawer\">\n <div id=\"header\" #header class=\"flex pl-4 h-14 items-center\">\n <rolatech-menu-icon #menuButton (click)=\"this.toggle()\" onclick=\"this.blur()\"></rolatech-menu-icon>\n <div class=\"text-[--rt-text-primary] text-lg md:text-xl font-bold\" routerLink=\"/\">\n <span class=\"text-orange-600\">{{ appLayout.title }}</span>\n <span>{{ appLayout.subtitle }}</span>\n </div>\n </div>\n <div id=\"guide-inner-content\" class=\"rolatech-app-drawer\">\n @if (completed) {\n <div>\n <div class=\"block p-3\">\n @for (item of links(); track $index) {\n @if (item.children) {\n <div class=\"cursor-pointer\">\n <div class=\"flex items-center h-11 mr-2\" (click)=\"panelOpenState = !panelOpenState\">\n <rolatech-icon class=\"ml-3\">{{ item.icon }}</rolatech-icon>\n <span class=\"ml-3\">{{ item.title }}</span>\n <div class=\"flex-1\"></div>\n <rolatech-icon\n style=\"transition-duration:.5s;transform: {{ panelOpenState ? 'rotate(180deg)' : 'rotate(0deg)' }};\"\n >expand_more</rolatech-icon\n >\n </div>\n <div class=\"flex flex-col pl-8\" [@heightAnimation]=\"panelOpenState === true ? 'open' : 'closed'\">\n @for (child of item.children; track child) {\n <a\n id=\"endpoint\"\n [routerLink]=\"child.link\"\n routerLinkActive=\"drawer-active\"\n [routerLinkActiveOptions]=\"{ exact: true }\"\n class=\"p-3 rt-guide-entry-renderer\"\n (click)=\"this.isPersistent ? '' : this.close()\"\n >\n <span class=\"text-sm\">{{ child.title }}</span>\n </a>\n }\n </div>\n </div>\n } @else {\n @if (item.openinView) {\n <a\n class=\"flex hover:bg-[--rt-10-percent-layer] min-h-11\"\n [href]=\"item.link\"\n target=\"_blank\"\n (click)=\"this.isPersistent ? '' : this.close()\"\n >\n <div class=\"flex justify-between items-center w-full\">\n <div class=\"flex justify-start\">\n @if (item.icon) {\n <rolatech-icon class=\"ml-3\">{{ item.icon }}</rolatech-icon>\n }\n <div class=\"flex flex-col ml-3\">\n <span>{{ item.title }}</span>\n <span class=\"text-sm opacity-75\">{{ item.subtitle }}</span>\n </div>\n </div>\n <rolatech-icon class=\"scale-90 mr-3\">open_in_new</rolatech-icon>\n </div>\n </a>\n } @else {\n @if (item.button) {\n <a\n class=\"flex app-drawer-button min-h-11 rounded-xl mr-4\"\n [routerLink]=\"item.link\"\n (click)=\"this.isPersistent ? '' : this.close()\"\n >\n <div class=\"flex justify-between items-center w-full\">\n <div class=\"flex justify-start\">\n @if (item.icon) {\n <rolatech-icon class=\"ml-3\">{{ item.icon }}</rolatech-icon>\n }\n <div class=\"flex flex-col ml-3\">\n <span>{{ item.title }}</span>\n <span class=\"text-sm\">{{ item.subtitle }}</span>\n </div>\n </div>\n </div>\n </a>\n } @else {\n <a\n id=\"endpoint\"\n class=\"flex hover:bg-[--rt-10-percent-layer] min-h-11 rt-guide-entry-renderer\"\n [routerLink]=\"item.link\"\n (click)=\"this.isPersistent ? '' : this.close()\"\n routerLinkActive=\"drawer-active\"\n [routerLinkActiveOptions]=\"{ exact: true }\"\n #routerLink=\"routerLinkActive\"\n >\n <div class=\"flex justify-between items-center w-full\">\n <div class=\"flex justify-start\">\n @if (item.icon) {\n <rolatech-icon class=\"ml-3\" [filled]=\"routerLink.isActive\">{{ item.icon }}</rolatech-icon>\n }\n <div class=\"flex flex-col ml-3\">\n <span>{{ item.title }}</span>\n <span class=\"text-sm\">{{ item.subtitle }}</span>\n </div>\n </div>\n </div>\n </a>\n }\n }\n }\n }\n </div>\n </div>\n }\n </div>\n </div>\n </div>\n</div>\n", styles: ["rolatech-app-drawer{position:fixed;z-index:1;inset:-120px 0;visibility:hidden;transition-property:visibility;transition-duration:.2s;touch-action:pan-y}rolatech-app-drawer[persistent]{width:var(--rt-drawer-width, 256px)}rolatech-app-drawer[persistent][position=top]{width:100%}rolatech-app-drawer[opened]{visibility:visible}rolatech-app-drawer[position=top] #contentContainer{left:0;right:0;width:100%;height:var(--rt-topbar-height, 56px);transform:translate3d(0,-100%,0)}rolatech-app-drawer[position=top] #contentContainer #guide-inner-content{height:56px}rolatech-app-drawer[position=top] #contentContainer #guide-inner-content div{display:flex!important;flex-direction:row!important;overflow:hidden;flex:1;flex-basis:.000000001px;overflow-y:auto;scrollbar-color:transparent transparent;scrollbar-width:thin;height:56px;align-items:center}rolatech-app-drawer[position=bottom] #contentContainer{left:0;right:0;transform:translate3d(0,100%,0)}rolatech-app-drawer[position=left] #contentContainer{left:0;transform:translate3d(-100%,0,0)}rolatech-app-drawer[position=right] #contentContainer{right:0;transform:translate3d(100%,0,0)}rolatech-app-drawer[persistent][position=left]{right:auto}rolatech-app-drawer[persistent][position=right]{left:auto}rolatech-app-drawer[persistent][position=top] #contentContainer{transform:translate3d(0,-100%,0)}rolatech-app-drawer[persistent][position=left] #contentContainer{transform:translate3d(-100%,0,0)}rolatech-app-drawer[persistent][position=right] #contentContainer{transform:translate3d(100%,0,0)}rolatech-app-drawer[persistent][position=top] #contentContainer[opened]{transform:translateZ(0)}rolatech-app-drawer[persistent][position=left] #contentContainer[opened]{transform:translateZ(0)}rolatech-app-drawer[persistent][position=right] #contentContainer[opened]{transform:translateZ(0)}[hidden]{display:none!important}#guide-wrapper.rolatech-app-drawer{height:100%;display:flexbox;display:flex;flex-direction:column}#contentContainer.rolatech-app-drawer{position:absolute;top:0;bottom:0;width:var(--rt-drawer-width, 256px);padding:var(--rt-drawer-content-padding, 120px 0);transition-property:transform;transition-duration:0ms;color:var(--rt-drawer-content-container-color, #000);background-color:var(--rt-drawer-content-container-background-color, #fff);transition-duration:.2s}#contentContainer.rolatech-app-drawer[opened]{transform:translateZ(0)}#guide-content.rolatech-app-drawer{background:var(--rt-base-background);flex:1;flex-basis:.000000001px;display:flex;flex-direction:column}#guide-inner-content.rolatech-app-drawer{overflow:hidden;flex:1;flex-basis:.000000001px;overflow-y:auto;scrollbar-color:transparent transparent;scrollbar-width:thin}#scrim.rolatech-app-drawer{position:absolute;inset:0;transition-property:opacity;transform:translateZ(0);transition-duration:.2s;opacity:0;background:var(--rt-drawer-scrim-background, rgba(0, 0, 0, .5))}#scrim.visible.rolatech-app-drawer{opacity:1}#guide-spacer{margin-top:var(--ytd-masthead-height, 56px)}rolatech-app-drawer:not([persistent]) #guide-spacer{display:none}rolatech-app-drawer:not([persistent]){z-index:2030}.drawer-active{background-color:var(--rt-drawer-active-background-color, rgba(0, 0, 0, .05));font-weight:500;border-radius:10px}.content{display:flex;flex-direction:column;overflow:visible}.app-drawer-button{background-color:var(--rt-brand-color, #000);color:var(--rt-brand-color-inverse, #fff)}.app-drawer-button:hover{box-shadow:0 1px 3px #3c40434d,0 4px 8px 3px #3c404326;background-color:var(--rt-brand-color, #c2e7ff)}#endpoint.rt-guide-entry-renderer:hover{background-color:var(--rt-drawer-active-background-color);border-radius:10px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: IconComponent, selector: "rolatech-icon", inputs: ["filled"] }, { kind: "component", type: MenuIconComponent, selector: "rolatech-menu-icon" }, { kind: "ngmodule", type: MatButtonModule }], animations: [heightAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
91
- }
92
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AppDrawerComponent, decorators: [{
93
- type: Component,
94
- args: [{ selector: 'rolatech-app-drawer', standalone: true, imports: [
95
- CommonModule,
96
- MatNavList,
97
- RouterLink,
98
- MatExpansionPanel,
99
- MatExpansionPanelHeader,
100
- MatIcon,
101
- RouterLinkActive,
102
- IconButtonComponent,
103
- IconComponent,
104
- MenuIconComponent,
105
- MatButtonModule,
106
- ], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, animations: [heightAnimation], template: "<div id=\"scrim\" #scrim class=\"rolatech-app-drawer\" (click)=\"close()\"></div>\n<div id=\"contentContainer\" #content class=\"rolatech-app-drawer\">\n <div id=\"guide-wrapper\" class=\"rolatech-app-drawer\">\n <div id=\"guide-spacer\"></div>\n <div id=\"guide-content\" class=\"rolatech-app-drawer\">\n <div id=\"header\" #header class=\"flex pl-4 h-14 items-center\">\n <rolatech-menu-icon #menuButton (click)=\"this.toggle()\" onclick=\"this.blur()\"></rolatech-menu-icon>\n <div class=\"text-[--rt-text-primary] text-lg md:text-xl font-bold\" routerLink=\"/\">\n <span class=\"text-orange-600\">{{ appLayout.title }}</span>\n <span>{{ appLayout.subtitle }}</span>\n </div>\n </div>\n <div id=\"guide-inner-content\" class=\"rolatech-app-drawer\">\n @if (completed) {\n <div>\n <div class=\"block p-3\">\n @for (item of links(); track $index) {\n @if (item.children) {\n <div class=\"cursor-pointer\">\n <div class=\"flex items-center h-11 mr-2\" (click)=\"panelOpenState = !panelOpenState\">\n <rolatech-icon class=\"ml-3\">{{ item.icon }}</rolatech-icon>\n <span class=\"ml-3\">{{ item.title }}</span>\n <div class=\"flex-1\"></div>\n <rolatech-icon\n style=\"transition-duration:.5s;transform: {{ panelOpenState ? 'rotate(180deg)' : 'rotate(0deg)' }};\"\n >expand_more</rolatech-icon\n >\n </div>\n <div class=\"flex flex-col pl-8\" [@heightAnimation]=\"panelOpenState === true ? 'open' : 'closed'\">\n @for (child of item.children; track child) {\n <a\n id=\"endpoint\"\n [routerLink]=\"child.link\"\n routerLinkActive=\"drawer-active\"\n [routerLinkActiveOptions]=\"{ exact: true }\"\n class=\"p-3 rt-guide-entry-renderer\"\n (click)=\"this.isPersistent ? '' : this.close()\"\n >\n <span class=\"text-sm\">{{ child.title }}</span>\n </a>\n }\n </div>\n </div>\n } @else {\n @if (item.openinView) {\n <a\n class=\"flex hover:bg-[--rt-10-percent-layer] min-h-11\"\n [href]=\"item.link\"\n target=\"_blank\"\n (click)=\"this.isPersistent ? '' : this.close()\"\n >\n <div class=\"flex justify-between items-center w-full\">\n <div class=\"flex justify-start\">\n @if (item.icon) {\n <rolatech-icon class=\"ml-3\">{{ item.icon }}</rolatech-icon>\n }\n <div class=\"flex flex-col ml-3\">\n <span>{{ item.title }}</span>\n <span class=\"text-sm opacity-75\">{{ item.subtitle }}</span>\n </div>\n </div>\n <rolatech-icon class=\"scale-90 mr-3\">open_in_new</rolatech-icon>\n </div>\n </a>\n } @else {\n @if (item.button) {\n <a\n class=\"flex app-drawer-button min-h-11 rounded-xl mr-4\"\n [routerLink]=\"item.link\"\n (click)=\"this.isPersistent ? '' : this.close()\"\n >\n <div class=\"flex justify-between items-center w-full\">\n <div class=\"flex justify-start\">\n @if (item.icon) {\n <rolatech-icon class=\"ml-3\">{{ item.icon }}</rolatech-icon>\n }\n <div class=\"flex flex-col ml-3\">\n <span>{{ item.title }}</span>\n <span class=\"text-sm\">{{ item.subtitle }}</span>\n </div>\n </div>\n </div>\n </a>\n } @else {\n <a\n id=\"endpoint\"\n class=\"flex hover:bg-[--rt-10-percent-layer] min-h-11 rt-guide-entry-renderer\"\n [routerLink]=\"item.link\"\n (click)=\"this.isPersistent ? '' : this.close()\"\n routerLinkActive=\"drawer-active\"\n [routerLinkActiveOptions]=\"{ exact: true }\"\n #routerLink=\"routerLinkActive\"\n >\n <div class=\"flex justify-between items-center w-full\">\n <div class=\"flex justify-start\">\n @if (item.icon) {\n <rolatech-icon class=\"ml-3\" [filled]=\"routerLink.isActive\">{{ item.icon }}</rolatech-icon>\n }\n <div class=\"flex flex-col ml-3\">\n <span>{{ item.title }}</span>\n <span class=\"text-sm\">{{ item.subtitle }}</span>\n </div>\n </div>\n </div>\n </a>\n }\n }\n }\n }\n </div>\n </div>\n }\n </div>\n </div>\n </div>\n</div>\n", styles: ["rolatech-app-drawer{position:fixed;z-index:1;inset:-120px 0;visibility:hidden;transition-property:visibility;transition-duration:.2s;touch-action:pan-y}rolatech-app-drawer[persistent]{width:var(--rt-drawer-width, 256px)}rolatech-app-drawer[persistent][position=top]{width:100%}rolatech-app-drawer[opened]{visibility:visible}rolatech-app-drawer[position=top] #contentContainer{left:0;right:0;width:100%;height:var(--rt-topbar-height, 56px);transform:translate3d(0,-100%,0)}rolatech-app-drawer[position=top] #contentContainer #guide-inner-content{height:56px}rolatech-app-drawer[position=top] #contentContainer #guide-inner-content div{display:flex!important;flex-direction:row!important;overflow:hidden;flex:1;flex-basis:.000000001px;overflow-y:auto;scrollbar-color:transparent transparent;scrollbar-width:thin;height:56px;align-items:center}rolatech-app-drawer[position=bottom] #contentContainer{left:0;right:0;transform:translate3d(0,100%,0)}rolatech-app-drawer[position=left] #contentContainer{left:0;transform:translate3d(-100%,0,0)}rolatech-app-drawer[position=right] #contentContainer{right:0;transform:translate3d(100%,0,0)}rolatech-app-drawer[persistent][position=left]{right:auto}rolatech-app-drawer[persistent][position=right]{left:auto}rolatech-app-drawer[persistent][position=top] #contentContainer{transform:translate3d(0,-100%,0)}rolatech-app-drawer[persistent][position=left] #contentContainer{transform:translate3d(-100%,0,0)}rolatech-app-drawer[persistent][position=right] #contentContainer{transform:translate3d(100%,0,0)}rolatech-app-drawer[persistent][position=top] #contentContainer[opened]{transform:translateZ(0)}rolatech-app-drawer[persistent][position=left] #contentContainer[opened]{transform:translateZ(0)}rolatech-app-drawer[persistent][position=right] #contentContainer[opened]{transform:translateZ(0)}[hidden]{display:none!important}#guide-wrapper.rolatech-app-drawer{height:100%;display:flexbox;display:flex;flex-direction:column}#contentContainer.rolatech-app-drawer{position:absolute;top:0;bottom:0;width:var(--rt-drawer-width, 256px);padding:var(--rt-drawer-content-padding, 120px 0);transition-property:transform;transition-duration:0ms;color:var(--rt-drawer-content-container-color, #000);background-color:var(--rt-drawer-content-container-background-color, #fff);transition-duration:.2s}#contentContainer.rolatech-app-drawer[opened]{transform:translateZ(0)}#guide-content.rolatech-app-drawer{background:var(--rt-base-background);flex:1;flex-basis:.000000001px;display:flex;flex-direction:column}#guide-inner-content.rolatech-app-drawer{overflow:hidden;flex:1;flex-basis:.000000001px;overflow-y:auto;scrollbar-color:transparent transparent;scrollbar-width:thin}#scrim.rolatech-app-drawer{position:absolute;inset:0;transition-property:opacity;transform:translateZ(0);transition-duration:.2s;opacity:0;background:var(--rt-drawer-scrim-background, rgba(0, 0, 0, .5))}#scrim.visible.rolatech-app-drawer{opacity:1}#guide-spacer{margin-top:var(--ytd-masthead-height, 56px)}rolatech-app-drawer:not([persistent]) #guide-spacer{display:none}rolatech-app-drawer:not([persistent]){z-index:2030}.drawer-active{background-color:var(--rt-drawer-active-background-color, rgba(0, 0, 0, .05));font-weight:500;border-radius:10px}.content{display:flex;flex-direction:column;overflow:visible}.app-drawer-button{background-color:var(--rt-brand-color, #000);color:var(--rt-brand-color-inverse, #fff)}.app-drawer-button:hover{box-shadow:0 1px 3px #3c40434d,0 4px 8px 3px #3c404326;background-color:var(--rt-brand-color, #c2e7ff)}#endpoint.rt-guide-entry-renderer:hover{background-color:var(--rt-drawer-active-background-color);border-radius:10px}\n"] }]
107
- }], propDecorators: { hostId: [{
108
- type: HostBinding,
109
- args: ['id']
110
- }], hasClass: [{
111
- type: HostBinding,
112
- args: ['class.rolatech-app-drawer']
113
- }], duration: [{
114
- type: HostBinding,
115
- args: ['style.transition-duration']
116
- }] } });
117
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWRyYXdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL2FwcC1kcmF3ZXIvYXBwLWRyYXdlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL2FwcC1kcmF3ZXIvYXBwLWRyYXdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsV0FBVyxFQUVYLFdBQVcsRUFDWCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLE1BQU0sRUFDTixLQUFLLEVBQ0wsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9ELE9BQU8sRUFBc0IsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBZSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDekYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBQzNELE1BQU0sQ0FBQyxNQUFNLGdDQUFnQyxHQUFHLG1DQUFtQyxDQUFDO0FBaUNwRixNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDZixLQUFLLEdBQUcsS0FBSyxFQUFVLENBQUM7SUFDeEIsUUFBUSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNOLE1BQU0sR0FBRyxxQkFBcUIsQ0FBQztJQUNSLFFBQVEsR0FBRyxJQUFJLENBQUM7SUFDaEIsUUFBUSxHQUFHLE9BQU8sQ0FBQztJQUM3RCxVQUFVLENBQXNCO0lBQ2hDLEVBQUUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDeEIsUUFBUSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM3QixVQUFVLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2pDLGtCQUFrQixHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ2hELFNBQVMsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDL0IsT0FBTyxHQUFHLFNBQVMsQ0FBYSxPQUFPLENBQUMsQ0FBQztJQUN6QyxPQUFPLEdBQUcsU0FBUyxDQUFhLFNBQVMsQ0FBQyxDQUFDO0lBQzNDLE9BQU8sR0FBRyxTQUFTLENBQWEsT0FBTyxDQUFDLENBQUM7SUFDekMsUUFBUSxHQUFHLFNBQVMsQ0FBYSxRQUFRLENBQUMsQ0FBQztJQUMzQyxVQUFVLENBQXVCO0lBQ2pDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDakIsWUFBWSxHQUFHLElBQUksQ0FBQztJQUNwQixTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ2xCLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFFdkIsSUFBSTtRQUNGLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ25CLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNoRSxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN4RSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsYUFBYSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ25FLENBQUM7SUFDSCxDQUFDO0lBQ0QsS0FBSztRQUNILElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQy9ELElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxhQUFhLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDdkUsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLGFBQWEsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN0RSxDQUFDO0lBQ0gsQ0FBQztJQUNELE1BQU07UUFDSixJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBQ0QsUUFBUTtRQUNOLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDdkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQy9FLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUNoSCxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQztnQkFDeEIsSUFBSSxFQUFFLENBQUMsR0FBUSxFQUFFLEVBQUU7b0JBQ2pCLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxHQUFHLENBQUM7b0JBQ25CLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDO29CQUNwQixJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsR0FBRyxDQUFDO29CQUN6QixJQUFJLEdBQUcsRUFBRSxDQUFDO3dCQUNSLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDOzRCQUNwQixJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxZQUFZLENBQUMsQ0FBQzs0QkFDbkUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUM7NEJBQzVFLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDOzRCQUMvRCxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDO3dCQUN6RSxDQUFDO29CQUNILENBQUM7eUJBQU0sQ0FBQzt3QkFDTixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQzs0QkFDcEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsWUFBWSxFQUFFLEVBQUUsQ0FBQyxDQUFDOzRCQUNwRSxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQzs0QkFDekUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDOzRCQUNoRSxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQzt3QkFDMUUsQ0FBQztvQkFDSCxDQUFDO29CQUNELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO2dCQUN4QixDQUFDO2FBQ0YsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7dUdBdkVVLGtCQUFrQjsyRkFBbEIsa0JBQWtCLDgzQkMzRC9CLG94TEFvSEEscW9IRDNFSSxZQUFZLCtCQUVaLFVBQVUsb09BSVYsZ0JBQWdCLDhNQUVoQixhQUFhLDhFQUNiLGlCQUFpQiw4REFDakIsZUFBZSxpQkFNTCxDQUFDLGVBQWUsQ0FBQzs7MkZBRWxCLGtCQUFrQjtrQkF0QjlCLFNBQVM7K0JBQ0UscUJBQXFCLGNBQ25CLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLFVBQVU7d0JBQ1YsVUFBVTt3QkFDVixpQkFBaUI7d0JBQ2pCLHVCQUF1Qjt3QkFDdkIsT0FBTzt3QkFDUCxnQkFBZ0I7d0JBQ2hCLG1CQUFtQjt3QkFDbkIsYUFBYTt3QkFDYixpQkFBaUI7d0JBQ2pCLGVBQWU7cUJBQ2hCLGlCQUdjLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsQ0FBQyxlQUFlLENBQUM7OEJBTVYsTUFBTTtzQkFBeEIsV0FBVzt1QkFBQyxJQUFJO2dCQUN5QixRQUFRO3NCQUFqRCxXQUFXO3VCQUFDLDJCQUEyQjtnQkFDRSxRQUFRO3NCQUFqRCxXQUFXO3VCQUFDLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBPbkluaXQsXG4gIFBMQVRGT1JNX0lELFxuICBSZW5kZXJlcjIsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBpbmplY3QsXG4gIGlucHV0LFxuICB2aWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlLCBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXROYXZMaXN0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdCc7XG5pbXBvcnQgeyBSb3V0ZXJMaW5rLCBSb3V0ZXJMaW5rQWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGZpbHRlciwgbWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBCcmVha3BvaW50T2JzZXJ2ZXIsIEJyZWFrcG9pbnRzIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2xheW91dCc7XG5pbXBvcnQgeyBJY29uQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vaWNvbi1idXR0b24vaWNvbi1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICcuLi9pY29uL2ljb24uY29tcG9uZW50JztcbmltcG9ydCB7IEFQUF9MQVlPVVQgfSBmcm9tICcuLi8uLi9wcm92aWRlcic7XG5pbXBvcnQgeyBNYXRFeHBhbnNpb25QYW5lbCwgTWF0RXhwYW5zaW9uUGFuZWxIZWFkZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9leHBhbnNpb24nO1xuaW1wb3J0IHsgTWF0SWNvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgaGVpZ2h0QW5pbWF0aW9uIH0gZnJvbSAnLi9leHBhbnNpb24tYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBNZW51SWNvbkNvbXBvbmVudCB9IGZyb20gJy4uL21lbnUtaWNvbi9tZW51LWljb24uY29tcG9uZW50JztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5leHBvcnQgY29uc3QgRVhQQU5TSU9OX1BBTkVMX0FOSU1BVElPTl9USU1JTkcgPSAnMjI1bXMgY3ViaWMtYmV6aWVyKDAuNCwwLjAsMC4yLDEpJztcblxuZXhwb3J0IGludGVyZmFjZSBMSU5LIHtcbiAgdGl0bGU6IHN0cmluZztcbiAgc3VidGl0bGU/OiBzdHJpbmc7XG4gIG9wZW5pblZpZXc/OiBib29sZWFuO1xuICBpY29uPzogc3RyaW5nO1xuICBsaW5rOiBzdHJpbmc7XG4gIGNoaWxkcmVuPzogTElOS1tdO1xuICBidXR0b24/OiBib29sZWFuO1xufVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncm9sYXRlY2gtYXBwLWRyYXdlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgTWF0TmF2TGlzdCxcbiAgICBSb3V0ZXJMaW5rLFxuICAgIE1hdEV4cGFuc2lvblBhbmVsLFxuICAgIE1hdEV4cGFuc2lvblBhbmVsSGVhZGVyLFxuICAgIE1hdEljb24sXG4gICAgUm91dGVyTGlua0FjdGl2ZSxcbiAgICBJY29uQnV0dG9uQ29tcG9uZW50LFxuICAgIEljb25Db21wb25lbnQsXG4gICAgTWVudUljb25Db21wb25lbnQsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vYXBwLWRyYXdlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9hcHAtZHJhd2VyLmNvbXBvbmVudC5zY3NzJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGFuaW1hdGlvbnM6IFtoZWlnaHRBbmltYXRpb25dLCAvLyBBcHBseSB0aGUgYW5pbWF0aW9uIHRvIHRoZSBjb21wb25lbnRcbn0pXG5leHBvcnQgY2xhc3MgQXBwRHJhd2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgb3BlbmVkID0gZmFsc2U7XG4gIGxpbmtzID0gaW5wdXQ8TElOS1tdPigpO1xuICBwb3NpdGlvbiA9IGlucHV0KCdsZWZ0Jyk7XG4gIEBIb3N0QmluZGluZygnaWQnKSBob3N0SWQgPSAncm9sYXRlY2gtYXBwLWRyYXdlcic7XG4gIEBIb3N0QmluZGluZygnY2xhc3Mucm9sYXRlY2gtYXBwLWRyYXdlcicpIGhhc0NsYXNzID0gdHJ1ZTtcbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS50cmFuc2l0aW9uLWR1cmF0aW9uJykgZHVyYXRpb24gPSAnMjAwbXMnO1xuICBwZXJzaXN0ZW50OiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICBlbCA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgcmVuZGVyZXIgPSBpbmplY3QoUmVuZGVyZXIyKTtcbiAgcGxhdGZvcm1JZCA9IGluamVjdChQTEFURk9STV9JRCk7XG4gIGJyZWFrcG9pbnRPYnNlcnZlciA9IGluamVjdChCcmVha3BvaW50T2JzZXJ2ZXIpO1xuICBhcHBMYXlvdXQgPSBpbmplY3QoQVBQX0xBWU9VVCk7XG4gIGd1aWRlRWwgPSB2aWV3Q2hpbGQ8RWxlbWVudFJlZj4oJ2d1aWRlJyk7XG4gIGNvbnRlbnQgPSB2aWV3Q2hpbGQ8RWxlbWVudFJlZj4oJ2NvbnRlbnQnKTtcbiAgc2NyaW1FbCA9IHZpZXdDaGlsZDxFbGVtZW50UmVmPignc2NyaW0nKTtcbiAgaGVhZGVyRWwgPSB2aWV3Q2hpbGQ8RWxlbWVudFJlZj4oJ2hlYWRlcicpO1xuICBpc0hhbmRzZXQkITogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgaXNNb2JpbGUgPSBmYWxzZTtcbiAgaXNQZXJzaXN0ZW50ID0gdHJ1ZTtcbiAgY29tcGxldGVkID0gZmFsc2U7XG4gIHBhbmVsT3BlblN0YXRlID0gZmFsc2U7XG5cbiAgb3BlbigpIHtcbiAgICB0aGlzLm9wZW5lZCA9IHRydWU7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAnb3BlbmVkJywgJycpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMuY29udGVudCgpPy5uYXRpdmVFbGVtZW50LCAnb3BlbmVkJywgJycpO1xuICAgIGlmICh0aGlzLmlzTW9iaWxlKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuc2NyaW1FbCgpPy5uYXRpdmVFbGVtZW50LCAndmlzaWJsZScpO1xuICAgIH1cbiAgfVxuICBjbG9zZSgpIHtcbiAgICB0aGlzLm9wZW5lZCA9IGZhbHNlO1xuICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQXR0cmlidXRlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ29wZW5lZCcpO1xuICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQXR0cmlidXRlKHRoaXMuY29udGVudCgpPy5uYXRpdmVFbGVtZW50LCAnb3BlbmVkJyk7XG4gICAgaWYgKHRoaXMuaXNNb2JpbGUpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5zY3JpbUVsKCk/Lm5hdGl2ZUVsZW1lbnQsICd2aXNpYmxlJyk7XG4gICAgfVxuICB9XG4gIHRvZ2dsZSgpIHtcbiAgICB0aGlzLm9wZW5lZCA/IHRoaXMuY2xvc2UoKSA6IHRoaXMub3BlbigpO1xuICB9XG4gIG5nT25Jbml0KCkge1xuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdwb3NpdGlvbicsIHRoaXMucG9zaXRpb24oKSk7XG4gICAgICB0aGlzLmNvbXBsZXRlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5pc0hhbmRzZXQkID0gdGhpcy5icmVha3BvaW50T2JzZXJ2ZXIub2JzZXJ2ZShbJyhtYXgtd2lkdGg6IDc2OHB4KSddKS5waXBlKG1hcCgocmVzdWx0KSA9PiByZXN1bHQubWF0Y2hlcykpO1xuICAgICAgdGhpcy5pc0hhbmRzZXQkLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICAgIHRoaXMub3BlbmVkID0gIXJlcztcbiAgICAgICAgICB0aGlzLmlzTW9iaWxlID0gcmVzO1xuICAgICAgICAgIHRoaXMuaXNQZXJzaXN0ZW50ID0gIXJlcztcbiAgICAgICAgICBpZiAocmVzKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5wZXJzaXN0ZW50KSB7XG4gICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQXR0cmlidXRlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ3BlcnNpc3RlbnQnKTtcbiAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVBdHRyaWJ1dGUodGhpcy5oZWFkZXJFbCgpPy5uYXRpdmVFbGVtZW50LCAnaGlkZGVuJywgJycpO1xuICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUF0dHJpYnV0ZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdvcGVuZWQnKTtcbiAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVBdHRyaWJ1dGUodGhpcy5jb250ZW50KCk/Lm5hdGl2ZUVsZW1lbnQsICdvcGVuZWQnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHRoaXMucGVyc2lzdGVudCkge1xuICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdwZXJzaXN0ZW50JywgJycpO1xuICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLmhlYWRlckVsKCk/Lm5hdGl2ZUVsZW1lbnQsICdoaWRkZW4nLCAnJyk7XG4gICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ29wZW5lZCcsICcnKTtcbiAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5jb250ZW50KCk/Lm5hdGl2ZUVsZW1lbnQsICdvcGVuZWQnLCAnJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuY29tcGxldGVkID0gdHJ1ZTtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBpZD1cInNjcmltXCIgI3NjcmltIGNsYXNzPVwicm9sYXRlY2gtYXBwLWRyYXdlclwiIChjbGljayk9XCJjbG9zZSgpXCI+PC9kaXY+XG48ZGl2IGlkPVwiY29udGVudENvbnRhaW5lclwiICNjb250ZW50IGNsYXNzPVwicm9sYXRlY2gtYXBwLWRyYXdlclwiPlxuICA8ZGl2IGlkPVwiZ3VpZGUtd3JhcHBlclwiIGNsYXNzPVwicm9sYXRlY2gtYXBwLWRyYXdlclwiPlxuICAgIDxkaXYgaWQ9XCJndWlkZS1zcGFjZXJcIj48L2Rpdj5cbiAgICA8ZGl2IGlkPVwiZ3VpZGUtY29udGVudFwiIGNsYXNzPVwicm9sYXRlY2gtYXBwLWRyYXdlclwiPlxuICAgICAgPGRpdiBpZD1cImhlYWRlclwiICNoZWFkZXIgY2xhc3M9XCJmbGV4IHBsLTQgaC0xNCBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgPHJvbGF0ZWNoLW1lbnUtaWNvbiAjbWVudUJ1dHRvbiAoY2xpY2spPVwidGhpcy50b2dnbGUoKVwiIG9uY2xpY2s9XCJ0aGlzLmJsdXIoKVwiPjwvcm9sYXRlY2gtbWVudS1pY29uPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1bLS1ydC10ZXh0LXByaW1hcnldIHRleHQtbGcgbWQ6dGV4dC14bCBmb250LWJvbGRcIiByb3V0ZXJMaW5rPVwiL1wiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1vcmFuZ2UtNjAwXCI+e3sgYXBwTGF5b3V0LnRpdGxlIH19PC9zcGFuPlxuICAgICAgICAgIDxzcGFuPnt7IGFwcExheW91dC5zdWJ0aXRsZSB9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgaWQ9XCJndWlkZS1pbm5lci1jb250ZW50XCIgY2xhc3M9XCJyb2xhdGVjaC1hcHAtZHJhd2VyXCI+XG4gICAgICAgIEBpZiAoY29tcGxldGVkKSB7XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJibG9jayBwLTNcIj5cbiAgICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBsaW5rcygpOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICBAaWYgKGl0ZW0uY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgaC0xMSBtci0yXCIgKGNsaWNrKT1cInBhbmVsT3BlblN0YXRlID0gIXBhbmVsT3BlblN0YXRlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPHJvbGF0ZWNoLWljb24gY2xhc3M9XCJtbC0zXCI+e3sgaXRlbS5pY29uIH19PC9yb2xhdGVjaC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWwtM1wiPnt7IGl0ZW0udGl0bGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtMVwiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxyb2xhdGVjaC1pY29uXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT1cInRyYW5zaXRpb24tZHVyYXRpb246LjVzO3RyYW5zZm9ybToge3sgcGFuZWxPcGVuU3RhdGUgPyAncm90YXRlKDE4MGRlZyknIDogJ3JvdGF0ZSgwZGVnKScgfX07XCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5leHBhbmRfbW9yZTwvcm9sYXRlY2gtaWNvblxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIHBsLThcIiBbQGhlaWdodEFuaW1hdGlvbl09XCJwYW5lbE9wZW5TdGF0ZSA9PT0gdHJ1ZSA/ICdvcGVuJyA6ICdjbG9zZWQnXCI+XG4gICAgICAgICAgICAgICAgICAgICAgQGZvciAoY2hpbGQgb2YgaXRlbS5jaGlsZHJlbjsgdHJhY2sgY2hpbGQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwiZW5kcG9pbnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJjaGlsZC5saW5rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcm91dGVyTGlua0FjdGl2ZT1cImRyYXdlci1hY3RpdmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbcm91dGVyTGlua0FjdGl2ZU9wdGlvbnNdPVwieyBleGFjdDogdHJ1ZSB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwLTMgcnQtZ3VpZGUtZW50cnktcmVuZGVyZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidGhpcy5pc1BlcnNpc3RlbnQgPyAnJyA6IHRoaXMuY2xvc2UoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zbVwiPnt7IGNoaWxkLnRpdGxlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbS5vcGVuaW5WaWV3KSB7XG4gICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGhvdmVyOmJnLVstLXJ0LTEwLXBlcmNlbnQtbGF5ZXJdIG1pbi1oLTExXCJcbiAgICAgICAgICAgICAgICAgICAgICBbaHJlZl09XCJpdGVtLmxpbmtcIlxuICAgICAgICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInRoaXMuaXNQZXJzaXN0ZW50ID8gJycgOiB0aGlzLmNsb3NlKClcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1iZXR3ZWVuIGl0ZW1zLWNlbnRlciB3LWZ1bGxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktc3RhcnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChpdGVtLmljb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cm9sYXRlY2gtaWNvbiBjbGFzcz1cIm1sLTNcIj57eyBpdGVtLmljb24gfX08L3JvbGF0ZWNoLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgbWwtM1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IGl0ZW0udGl0bGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXNtIG9wYWNpdHktNzVcIj57eyBpdGVtLnN1YnRpdGxlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHJvbGF0ZWNoLWljb24gY2xhc3M9XCJzY2FsZS05MCBtci0zXCI+b3Blbl9pbl9uZXc8L3JvbGF0ZWNoLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0uYnV0dG9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmxleCBhcHAtZHJhd2VyLWJ1dHRvbiBtaW4taC0xMSByb3VuZGVkLXhsIG1yLTRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiaXRlbS5saW5rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ0aGlzLmlzUGVyc2lzdGVudCA/ICcnIDogdGhpcy5jbG9zZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWJldHdlZW4gaXRlbXMtY2VudGVyIHctZnVsbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LXN0YXJ0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChpdGVtLmljb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyb2xhdGVjaC1pY29uIGNsYXNzPVwibWwtM1wiPnt7IGl0ZW0uaWNvbiB9fTwvcm9sYXRlY2gtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgbWwtM1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgaXRlbS50aXRsZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zbVwiPnt7IGl0ZW0uc3VidGl0bGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJlbmRwb2ludFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXggaG92ZXI6YmctWy0tcnQtMTAtcGVyY2VudC1sYXllcl0gbWluLWgtMTEgcnQtZ3VpZGUtZW50cnktcmVuZGVyZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiaXRlbS5saW5rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ0aGlzLmlzUGVyc2lzdGVudCA/ICcnIDogdGhpcy5jbG9zZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRlckxpbmtBY3RpdmU9XCJkcmF3ZXItYWN0aXZlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rQWN0aXZlT3B0aW9uc109XCJ7IGV4YWN0OiB0cnVlIH1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgI3JvdXRlckxpbms9XCJyb3V0ZXJMaW5rQWN0aXZlXCJcbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWJldHdlZW4gaXRlbXMtY2VudGVyIHctZnVsbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LXN0YXJ0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChpdGVtLmljb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyb2xhdGVjaC1pY29uIGNsYXNzPVwibWwtM1wiIFtmaWxsZWRdPVwicm91dGVyTGluay5pc0FjdGl2ZVwiPnt7IGl0ZW0uaWNvbiB9fTwvcm9sYXRlY2gtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgbWwtM1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgaXRlbS50aXRsZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zbVwiPnt7IGl0ZW0uc3VidGl0bGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -1,33 +0,0 @@
1
- import { animate, state, style, transition, trigger } from '@angular/animations';
2
- /** Time and timing curve for expansion panel animations. */
3
- // Note: Keep this in sync with the Sass variable for the panel header animation.
4
- export const EXPANSION_PANEL_ANIMATION_TIMING = '225ms cubic-bezier(0.4,0.0,0.2,1)';
5
- export const matExpansionAnimations = {
6
- /** Animation that rotates the indicator arrow. */
7
- indicatorRotate: trigger('indicatorRotate', [
8
- state('collapsed, void', style({ transform: 'rotate(0deg)' })),
9
- state('expanded', style({ transform: 'rotate(180deg)' })),
10
- transition('expanded <=> collapsed, void => collapsed', animate(EXPANSION_PANEL_ANIMATION_TIMING)),
11
- ]),
12
- /** Animation that expands and collapses the panel content. */
13
- bodyExpansion: trigger('bodyExpansion', [
14
- state('collapsed, void', style({ height: '0px', visibility: 'hidden' })),
15
- // Clear the `visibility` while open, otherwise the content will be visible when placed in
16
- // a parent that's `visibility: hidden`, because `visibility` doesn't apply to descendants
17
- // that have a `visibility` of their own (see #27436).
18
- state('expanded', style({ height: '*', visibility: '' })),
19
- transition('expanded <=> collapsed, void => collapsed', animate(EXPANSION_PANEL_ANIMATION_TIMING)),
20
- ]),
21
- };
22
- export const heightAnimation = trigger('heightAnimation', [
23
- state('open', style({
24
- height: '*',
25
- visibility: '',
26
- })),
27
- state('closed', style({
28
- height: '0px',
29
- visibility: 'hidden',
30
- })),
31
- transition('open <=> closed', [animate(EXPANSION_PANEL_ANIMATION_TIMING)]),
32
- ]);
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwYW5zaW9uLWFuaW1hdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL2FwcC1kcmF3ZXIvZXhwYW5zaW9uLWFuaW1hdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBNEIsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFM0csNERBQTREO0FBQzVELGlGQUFpRjtBQUNqRixNQUFNLENBQUMsTUFBTSxnQ0FBZ0MsR0FBRyxtQ0FBbUMsQ0FBQztBQUNwRixNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FHL0I7SUFDRixrREFBa0Q7SUFDbEQsZUFBZSxFQUFFLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRTtRQUMxQyxLQUFLLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUM7UUFDOUQsS0FBSyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO1FBQ3pELFVBQVUsQ0FBQywyQ0FBMkMsRUFBRSxPQUFPLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztLQUNuRyxDQUFDO0lBQ0YsOERBQThEO0lBQzlELGFBQWEsRUFBRSxPQUFPLENBQUMsZUFBZSxFQUFFO1FBQ3RDLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3hFLDBGQUEwRjtRQUMxRiwwRkFBMEY7UUFDMUYsc0RBQXNEO1FBQ3RELEtBQUssQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN6RCxVQUFVLENBQUMsMkNBQTJDLEVBQUUsT0FBTyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7S0FDbkcsQ0FBQztDQUNILENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixFQUFFO0lBQ3hELEtBQUssQ0FDSCxNQUFNLEVBQ04sS0FBSyxDQUFDO1FBQ0osTUFBTSxFQUFFLEdBQUc7UUFDWCxVQUFVLEVBQUUsRUFBRTtLQUNmLENBQUMsQ0FDSDtJQUNELEtBQUssQ0FDSCxRQUFRLEVBQ1IsS0FBSyxDQUFDO1FBQ0osTUFBTSxFQUFFLEtBQUs7UUFDYixVQUFVLEVBQUUsUUFBUTtLQUNyQixDQUFDLENBQ0g7SUFDRCxVQUFVLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxPQUFPLENBQUMsZ0NBQWdDLENBQUMsQ0FBQyxDQUFDO0NBQzNFLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIEFuaW1hdGlvblRyaWdnZXJNZXRhZGF0YSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5cbi8qKiBUaW1lIGFuZCB0aW1pbmcgY3VydmUgZm9yIGV4cGFuc2lvbiBwYW5lbCBhbmltYXRpb25zLiAqL1xuLy8gTm90ZTogS2VlcCB0aGlzIGluIHN5bmMgd2l0aCB0aGUgU2FzcyB2YXJpYWJsZSBmb3IgdGhlIHBhbmVsIGhlYWRlciBhbmltYXRpb24uXG5leHBvcnQgY29uc3QgRVhQQU5TSU9OX1BBTkVMX0FOSU1BVElPTl9USU1JTkcgPSAnMjI1bXMgY3ViaWMtYmV6aWVyKDAuNCwwLjAsMC4yLDEpJztcbmV4cG9ydCBjb25zdCBtYXRFeHBhbnNpb25BbmltYXRpb25zOiB7XG4gIHJlYWRvbmx5IGluZGljYXRvclJvdGF0ZTogQW5pbWF0aW9uVHJpZ2dlck1ldGFkYXRhO1xuICByZWFkb25seSBib2R5RXhwYW5zaW9uOiBBbmltYXRpb25UcmlnZ2VyTWV0YWRhdGE7XG59ID0ge1xuICAvKiogQW5pbWF0aW9uIHRoYXQgcm90YXRlcyB0aGUgaW5kaWNhdG9yIGFycm93LiAqL1xuICBpbmRpY2F0b3JSb3RhdGU6IHRyaWdnZXIoJ2luZGljYXRvclJvdGF0ZScsIFtcbiAgICBzdGF0ZSgnY29sbGFwc2VkLCB2b2lkJywgc3R5bGUoeyB0cmFuc2Zvcm06ICdyb3RhdGUoMGRlZyknIH0pKSxcbiAgICBzdGF0ZSgnZXhwYW5kZWQnLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3JvdGF0ZSgxODBkZWcpJyB9KSksXG4gICAgdHJhbnNpdGlvbignZXhwYW5kZWQgPD0+IGNvbGxhcHNlZCwgdm9pZCA9PiBjb2xsYXBzZWQnLCBhbmltYXRlKEVYUEFOU0lPTl9QQU5FTF9BTklNQVRJT05fVElNSU5HKSksXG4gIF0pLFxuICAvKiogQW5pbWF0aW9uIHRoYXQgZXhwYW5kcyBhbmQgY29sbGFwc2VzIHRoZSBwYW5lbCBjb250ZW50LiAqL1xuICBib2R5RXhwYW5zaW9uOiB0cmlnZ2VyKCdib2R5RXhwYW5zaW9uJywgW1xuICAgIHN0YXRlKCdjb2xsYXBzZWQsIHZvaWQnLCBzdHlsZSh7IGhlaWdodDogJzBweCcsIHZpc2liaWxpdHk6ICdoaWRkZW4nIH0pKSxcbiAgICAvLyBDbGVhciB0aGUgYHZpc2liaWxpdHlgIHdoaWxlIG9wZW4sIG90aGVyd2lzZSB0aGUgY29udGVudCB3aWxsIGJlIHZpc2libGUgd2hlbiBwbGFjZWQgaW5cbiAgICAvLyBhIHBhcmVudCB0aGF0J3MgYHZpc2liaWxpdHk6IGhpZGRlbmAsIGJlY2F1c2UgYHZpc2liaWxpdHlgIGRvZXNuJ3QgYXBwbHkgdG8gZGVzY2VuZGFudHNcbiAgICAvLyB0aGF0IGhhdmUgYSBgdmlzaWJpbGl0eWAgb2YgdGhlaXIgb3duIChzZWUgIzI3NDM2KS5cbiAgICBzdGF0ZSgnZXhwYW5kZWQnLCBzdHlsZSh7IGhlaWdodDogJyonLCB2aXNpYmlsaXR5OiAnJyB9KSksXG4gICAgdHJhbnNpdGlvbignZXhwYW5kZWQgPD0+IGNvbGxhcHNlZCwgdm9pZCA9PiBjb2xsYXBzZWQnLCBhbmltYXRlKEVYUEFOU0lPTl9QQU5FTF9BTklNQVRJT05fVElNSU5HKSksXG4gIF0pLFxufTtcbmV4cG9ydCBjb25zdCBoZWlnaHRBbmltYXRpb24gPSB0cmlnZ2VyKCdoZWlnaHRBbmltYXRpb24nLCBbXG4gIHN0YXRlKFxuICAgICdvcGVuJyxcbiAgICBzdHlsZSh7XG4gICAgICBoZWlnaHQ6ICcqJyxcbiAgICAgIHZpc2liaWxpdHk6ICcnLFxuICAgIH0pLFxuICApLFxuICBzdGF0ZShcbiAgICAnY2xvc2VkJyxcbiAgICBzdHlsZSh7XG4gICAgICBoZWlnaHQ6ICcwcHgnLFxuICAgICAgdmlzaWJpbGl0eTogJ2hpZGRlbicsXG4gICAgfSksXG4gICksXG4gIHRyYW5zaXRpb24oJ29wZW4gPD0+IGNsb3NlZCcsIFthbmltYXRlKEVYUEFOU0lPTl9QQU5FTF9BTklNQVRJT05fVElNSU5HKV0pLFxuXSk7XG4iXX0=
@@ -1,24 +0,0 @@
1
- import { Component, HostBinding, ViewEncapsulation, inject, input } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { APP_CONFIG } from '@rolatech/angular-common';
4
- import * as i0 from "@angular/core";
5
- export class AppFooterComponent {
6
- hostId = 'rolatech-app-footer';
7
- hasClass = true;
8
- config = inject(APP_CONFIG);
9
- title = input();
10
- copyright = input('');
11
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AppFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.2", type: AppFooterComponent, isStandalone: true, selector: "rolatech-app-footer", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, copyright: { classPropertyName: "copyright", publicName: "copyright", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "id": "this.hostId", "class.rolatech-app-footer": "this.hasClass" } }, ngImport: i0, template: "<div class=\"bg-[--rt-base-background] flex flex-col justify-between px-5 md:px-16 py-6\">\n <div class=\"flex flex-col md:flex-row md:gap-10 gap-3 py-3\">\n <ng-content></ng-content>\n </div>\n <div class=\"flex justify-between mt-6\">\n <div class=\"cursor-pointer\">\n <a href=\"/\" target=\"_blank\" class=\"text-lg font-bold\">{{ title() }}</a>\n </div>\n <span class=\"text-sm\">\u00A9{{ copyright() }}</span>\n </div>\n</div>\n", styles: [".rolatech-app-footer{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], encapsulation: i0.ViewEncapsulation.None });
13
- }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AppFooterComponent, decorators: [{
15
- type: Component,
16
- args: [{ selector: 'rolatech-app-footer', standalone: true, imports: [CommonModule], encapsulation: ViewEncapsulation.None, template: "<div class=\"bg-[--rt-base-background] flex flex-col justify-between px-5 md:px-16 py-6\">\n <div class=\"flex flex-col md:flex-row md:gap-10 gap-3 py-3\">\n <ng-content></ng-content>\n </div>\n <div class=\"flex justify-between mt-6\">\n <div class=\"cursor-pointer\">\n <a href=\"/\" target=\"_blank\" class=\"text-lg font-bold\">{{ title() }}</a>\n </div>\n <span class=\"text-sm\">\u00A9{{ copyright() }}</span>\n </div>\n</div>\n", styles: [".rolatech-app-footer{width:100%}\n"] }]
17
- }], propDecorators: { hostId: [{
18
- type: HostBinding,
19
- args: ['id']
20
- }], hasClass: [{
21
- type: HostBinding,
22
- args: ['class.rolatech-app-footer']
23
- }] } });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWZvb3Rlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL2FwcC1mb290ZXIvYXBwLWZvb3Rlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL2FwcC1mb290ZXIvYXBwLWZvb3Rlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBVXRELE1BQU0sT0FBTyxrQkFBa0I7SUFDVixNQUFNLEdBQUcscUJBQXFCLENBQUM7SUFDUixRQUFRLEdBQUcsSUFBSSxDQUFDO0lBQzFELE1BQU0sR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDNUIsS0FBSyxHQUFHLEtBQUssRUFBVSxDQUFDO0lBQ3hCLFNBQVMsR0FBRyxLQUFLLENBQVMsRUFBRSxDQUFDLENBQUM7dUdBTG5CLGtCQUFrQjsyRkFBbEIsa0JBQWtCLG9iQ1ovQix5Y0FXQSwyRkRKWSxZQUFZOzsyRkFLWCxrQkFBa0I7a0JBUjlCLFNBQVM7K0JBQ0UscUJBQXFCLGNBQ25CLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyxpQkFHUixpQkFBaUIsQ0FBQyxJQUFJOzhCQUdsQixNQUFNO3NCQUF4QixXQUFXO3VCQUFDLElBQUk7Z0JBQ3lCLFFBQVE7c0JBQWpELFdBQVc7dUJBQUMsMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgVmlld0VuY2Fwc3VsYXRpb24sIGluamVjdCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBUFBfQ09ORklHIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncm9sYXRlY2gtYXBwLWZvb3RlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vYXBwLWZvb3Rlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9hcHAtZm9vdGVyLmNvbXBvbmVudC5zY3NzJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgQXBwRm9vdGVyQ29tcG9uZW50IHtcbiAgQEhvc3RCaW5kaW5nKCdpZCcpIGhvc3RJZCA9ICdyb2xhdGVjaC1hcHAtZm9vdGVyJztcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5yb2xhdGVjaC1hcHAtZm9vdGVyJykgaGFzQ2xhc3MgPSB0cnVlO1xuICBjb25maWcgPSBpbmplY3QoQVBQX0NPTkZJRyk7XG4gIHRpdGxlID0gaW5wdXQ8c3RyaW5nPigpO1xuICBjb3B5cmlnaHQgPSBpbnB1dDxzdHJpbmc+KCcnKTtcbn1cbiIsIjxkaXYgY2xhc3M9XCJiZy1bLS1ydC1iYXNlLWJhY2tncm91bmRdIGZsZXggZmxleC1jb2wganVzdGlmeS1iZXR3ZWVuIHB4LTUgbWQ6cHgtMTYgcHktNlwiPlxuICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBtZDpmbGV4LXJvdyBtZDpnYXAtMTAgZ2FwLTMgcHktM1wiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktYmV0d2VlbiBtdC02XCI+XG4gICAgPGRpdiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+XG4gICAgICA8YSBocmVmPVwiL1wiIHRhcmdldD1cIl9ibGFua1wiIGNsYXNzPVwidGV4dC1sZyBmb250LWJvbGRcIj57eyB0aXRsZSgpIH19PC9hPlxuICAgIDwvZGl2PlxuICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zbVwiPsKpe3sgY29weXJpZ2h0KCkgfX08L3NwYW4+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=