@acorex/components 18.9.7 → 18.10.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (34) hide show
  1. package/drawer/lib/drawer/drawer-item/drawer.component.d.ts +2 -2
  2. package/esm2022/drawer/lib/drawer/drawer-item/drawer.component.mjs +5 -5
  3. package/esm2022/media-viewer/lib/media-viewer-slider/media-viewer-slider.component.mjs +4 -2
  4. package/esm2022/menu/lib/menu-item/menu-item.component.mjs +42 -35
  5. package/esm2022/menu/lib/menu.component.mjs +104 -10
  6. package/esm2022/menu/lib/menu.module.mjs +5 -4
  7. package/esm2022/menu/lib/menu.service.mjs +6 -2
  8. package/esm2022/qrcode/acorex-components-qrcode.mjs +5 -0
  9. package/esm2022/qrcode/index.mjs +4 -0
  10. package/esm2022/qrcode/lib/qrcode.class.mjs +12 -0
  11. package/esm2022/qrcode/lib/qrcode.component.mjs +108 -0
  12. package/esm2022/qrcode/lib/qrcode.module.mjs +18 -0
  13. package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-container/wysiwyg-container.component.mjs +6 -1
  14. package/fesm2022/acorex-components-drawer.mjs +4 -4
  15. package/fesm2022/acorex-components-drawer.mjs.map +1 -1
  16. package/fesm2022/acorex-components-media-viewer.mjs +3 -1
  17. package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
  18. package/fesm2022/acorex-components-menu.mjs +151 -45
  19. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  20. package/fesm2022/acorex-components-qrcode.mjs +142 -0
  21. package/fesm2022/acorex-components-qrcode.mjs.map +1 -0
  22. package/fesm2022/acorex-components-wysiwyg.mjs +5 -0
  23. package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
  24. package/menu/lib/menu-item/menu-item.component.d.ts +28 -27
  25. package/menu/lib/menu.component.d.ts +6 -0
  26. package/menu/lib/menu.module.d.ts +2 -1
  27. package/menu/lib/menu.service.d.ts +4 -0
  28. package/package.json +88 -81
  29. package/qrcode/README.md +3 -0
  30. package/qrcode/index.d.ts +3 -0
  31. package/qrcode/lib/qrcode.class.d.ts +3 -0
  32. package/qrcode/lib/qrcode.component.d.ts +58 -0
  33. package/qrcode/lib/qrcode.module.d.ts +8 -0
  34. package/wysiwyg/lib/wysiwyg/wysiwyg-container/wysiwyg-container.component.d.ts +1 -0
@@ -15,7 +15,7 @@ export declare class AXDrawerComponent extends MXBaseComponent implements AfterC
15
15
  showBackdrop: import("@angular/core").InputSignal<boolean>;
16
16
  mode: import("@angular/core").ModelSignal<AXDrawerMode>;
17
17
  collapsed: import("@angular/core").ModelSignal<boolean>;
18
- multiple: import("@angular/core").InputSignal<boolean>;
18
+ closeOthers: import("@angular/core").InputSignal<boolean>;
19
19
  private backdropElement;
20
20
  private loaded;
21
21
  service: AXDrawerService;
@@ -61,5 +61,5 @@ export declare class AXDrawerComponent extends MXBaseComponent implements AfterC
61
61
  */
62
62
  private _removeBackdrop;
63
63
  static ɵfac: i0.ɵɵFactoryDeclaration<AXDrawerComponent, never>;
64
- static ɵcmp: i0.ɵɵComponentDeclaration<AXDrawerComponent, "ax-drawer", never, { "location": { "alias": "location"; "required": false; "isSignal": true; }; "showBackdrop": { "alias": "showBackdrop"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "collapsed": { "alias": "collapsed"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; }, { "location": "locationChange"; "mode": "modeChange"; "collapsed": "collapsedChange"; }, never, ["ax-header", "ax-content"], false, never>;
64
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXDrawerComponent, "ax-drawer", never, { "location": { "alias": "location"; "required": false; "isSignal": true; }; "showBackdrop": { "alias": "showBackdrop"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "collapsed": { "alias": "collapsed"; "required": false; "isSignal": true; }; "closeOthers": { "alias": "closeOthers"; "required": false; "isSignal": true; }; }, { "location": "locationChange"; "mode": "modeChange"; "collapsed": "collapsedChange"; }, never, ["ax-header", "ax-content"], false, never>;
65
65
  }
@@ -19,7 +19,7 @@ export class AXDrawerComponent extends MXBaseComponent {
19
19
  this.showBackdrop = input(true);
20
20
  this.mode = model('overlay');
21
21
  this.collapsed = model(true);
22
- this.multiple = input(false);
22
+ this.closeOthers = input(false);
23
23
  this.backdropElement = signal(null);
24
24
  this.loaded = signal(false);
25
25
  this.service = inject(AXDrawerService);
@@ -59,7 +59,7 @@ export class AXDrawerComponent extends MXBaseComponent {
59
59
  * Toggles the collapsed state of the drawer.
60
60
  */
61
61
  toggle() {
62
- if (!this.multiple()) {
62
+ if (!this.closeOthers()) {
63
63
  this.service.drawerElements().forEach((element) => {
64
64
  if (element.location() === this.location() && element.id !== this.id) {
65
65
  element.close();
@@ -80,7 +80,7 @@ export class AXDrawerComponent extends MXBaseComponent {
80
80
  * Expands the drawer.
81
81
  */
82
82
  open() {
83
- if (!this.multiple()) {
83
+ if (!this.closeOthers()) {
84
84
  this.service.drawerElements().forEach((element) => {
85
85
  if (element.location() === this.location() && element.id !== this.id) {
86
86
  element.close();
@@ -127,7 +127,7 @@ export class AXDrawerComponent extends MXBaseComponent {
127
127
  }
128
128
  }
129
129
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXDrawerComponent, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
130
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.0", type: AXDrawerComponent, selector: "ax-drawer", inputs: { location: { classPropertyName: "location", publicName: "location", isSignal: true, isRequired: false, transformFunction: null }, showBackdrop: { classPropertyName: "showBackdrop", publicName: "showBackdrop", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, collapsed: { classPropertyName: "collapsed", publicName: "collapsed", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { location: "locationChange", mode: "modeChange", collapsed: "collapsedChange" }, host: { properties: { "class": "this.__hostClass" } }, providers: [
130
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.0", type: AXDrawerComponent, selector: "ax-drawer", inputs: { location: { classPropertyName: "location", publicName: "location", isSignal: true, isRequired: false, transformFunction: null }, showBackdrop: { classPropertyName: "showBackdrop", publicName: "showBackdrop", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, collapsed: { classPropertyName: "collapsed", publicName: "collapsed", isSignal: true, isRequired: false, transformFunction: null }, closeOthers: { classPropertyName: "closeOthers", publicName: "closeOthers", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { location: "locationChange", mode: "modeChange", collapsed: "collapsedChange" }, host: { properties: { "class": "this.__hostClass" } }, providers: [
131
131
  { provide: AXComponent, useExisting: AXDrawerComponent },
132
132
  { provide: AXClosbaleComponent, useExisting: AXDrawerComponent },
133
133
  ], usesInheritance: true, ngImport: i0, template: `
@@ -148,4 +148,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
148
148
  type: HostBinding,
149
149
  args: ['class']
150
150
  }] } });
151
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kcmF3ZXIvc3JjL2xpYi9kcmF3ZXIvZHJhd2VyLWl0ZW0vZHJhd2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRCxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFFVCxNQUFNLEVBQ04sV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsS0FBSyxFQUNMLE1BQU0sRUFDTixNQUFNLEVBQ04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFLdkQ7Ozs7R0FJRztBQWVILE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxlQUFlO0lBaUJwRDs7T0FFRztJQUNILFlBQW9CLEtBQWE7UUFDL0IsS0FBSyxFQUFFLENBQUM7UUFEVSxVQUFLLEdBQUwsS0FBSyxDQUFRO1FBbkJqQyxhQUFRLEdBQUcsS0FBSyxDQUFtQixPQUFPLENBQUMsQ0FBQztRQUU1QyxpQkFBWSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUUzQixTQUFJLEdBQUcsS0FBSyxDQUFlLFNBQVMsQ0FBQyxDQUFDO1FBRXRDLGNBQVMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFeEIsYUFBUSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVoQixvQkFBZSxHQUFHLE1BQU0sQ0FBYyxJQUFJLENBQUMsQ0FBQztRQUU1QyxXQUFNLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRS9CLFlBQU8s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LENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ2pDLENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDOzhHQTNJVSxpQkFBaUI7a0dBQWpCLGlCQUFpQiwwMEJBTGpCO1lBQ1QsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRTtZQUN4RCxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUU7U0FDakUsaURBVlM7OztHQUdUOzsyRkFTVSxpQkFBaUI7a0JBZDdCLFNBQVM7K0JBQ0UsV0FBVyxZQUNYOzs7R0FHVCxtQkFFZ0IsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxhQUMxQjt3QkFDVCxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxtQkFBbUIsRUFBRTt3QkFDeEQsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxtQkFBbUIsRUFBRTtxQkFDakU7MkVBd0dXLFdBQVc7c0JBRHRCLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQ2xvc2JhbGVDb21wb25lbnQsIEFYQ29tcG9uZW50LCBNWEJhc2VDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcbmltcG9ydCB7IGlzQnJvd3NlciB9IGZyb20gJ0BhY29yZXgvY29yZS9wbGF0Zm9ybSc7XG5pbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBEb0NoZWNrLFxuICBlZmZlY3QsXG4gIEhvc3RCaW5kaW5nLFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBtb2RlbCxcbiAgTmdab25lLFxuICBzaWduYWwsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYRHJhd2VyU2VydmljZSB9IGZyb20gJy4uLy4uL2RyYXdlci5zZXJ2aWNlJztcblxuZXhwb3J0IHR5cGUgQVhEcmF3ZXJNb2RlID0gJ3B1c2gnIHwgJ292ZXJsYXknO1xuZXhwb3J0IHR5cGUgQVhEcmF3ZXJMb2NhdGlvbiA9ICdzdGFydCcgfCAnZW5kJztcblxuLyoqXG4gKiBBIGNvbXBvbmVudCB0aGF0IHJlcHJlc2VudHMgYSBkcmF3ZXIgd2l0aCBoZWFkZXIgYW5kIGNvbnRlbnQgc2VjdGlvbnMuXG4gKlxuICogQGNhdGVnb3J5IENvbXBvbmVudHNcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtZHJhd2VyJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJheC1oZWFkZXJcIj48L25nLWNvbnRlbnQ+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtY29udGVudFwiPjwvbmctY29udGVudD5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vZHJhd2VyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IEFYQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhEcmF3ZXJDb21wb25lbnQgfSxcbiAgICB7IHByb3ZpZGU6IEFYQ2xvc2JhbGVDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWERyYXdlckNvbXBvbmVudCB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBWERyYXdlckNvbXBvbmVudCBleHRlbmRzIE1YQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIERvQ2hlY2sge1xuICBsb2NhdGlvbiA9IG1vZGVsPEFYRHJhd2VyTG9jYXRpb24+KCdzdGFydCcpO1xuXG4gIHNob3dCYWNrZHJvcCA9IGlucHV0KHRydWUpO1xuXG4gIG1vZGUgPSBtb2RlbDxBWERyYXdlck1vZGU+KCdvdmVybGF5Jyk7XG5cbiAgY29sbGFwc2VkID0gbW9kZWwodHJ1ZSk7XG5cbiAgbXVsdGlwbGUgPSBpbnB1dChmYWxzZSk7XG5cbiAgcHJpdmF0ZSBiYWNrZHJvcEVsZW1lbnQgPSBzaWduYWw8SFRNTEVsZW1lbnQ+KG51bGwpO1xuXG4gIHByaXZhdGUgbG9hZGVkID0gc2lnbmFsKGZhbHNlKTtcblxuICBzZXJ2aWNlID0gaW5qZWN0KEFYRHJhd2VyU2VydmljZSk7XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF96b25lOiBOZ1pvbmUpIHtcbiAgICBzdXBlcigpO1xuICAgIGVmZmVjdChcbiAgICAgICgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMubW9kZSgpID09PSAnb3ZlcmxheScgJiYgIXRoaXMuY29sbGFwc2VkKCkgJiYgdGhpcy5zaG93QmFja2Ryb3AoKSkge1xuICAgICAgICAgIHRoaXMuX2FkZEJhY2tkcm9wKCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH0sXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX2RldGVjdEJvdW5kaW5nU2l6ZSgpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5sb2FkZWQuc2V0KHRydWUpO1xuICAgIH0sIDUwMDApO1xuICB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBuZ0RvQ2hlY2soKSB7XG4gICAgdGhpcy5fZGV0ZWN0Qm91bmRpbmdTaXplKCk7XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByaXZhdGUgX2RldGVjdEJvdW5kaW5nU2l6ZSgpIHtcbiAgICB0aGlzLl96b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIGNvbnN0IGhvc3QgPSB0aGlzLmdldEhvc3RFbGVtZW50KCk7XG4gICAgICBpZiAoaG9zdC5jbGllbnRXaWR0aCkge1xuICAgICAgICBob3N0LnN0eWxlLnNldFByb3BlcnR5KCctLWF4LWVsLXdpZHRoJywgYCR7aG9zdC5jbGllbnRXaWR0aH1weGApO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFRvZ2dsZXMgdGhlIGNvbGxhcHNlZCBzdGF0ZSBvZiB0aGUgZHJhd2VyLlxuICAgKi9cbiAgdG9nZ2xlKCkge1xuICAgIGlmICghdGhpcy5tdWx0aXBsZSgpKSB7XG4gICAgICB0aGlzLnNlcnZpY2UuZHJhd2VyRWxlbWVudHMoKS5mb3JFYWNoKChlbGVtZW50KSA9PiB7XG4gICAgICAgIGlmIChlbGVtZW50LmxvY2F0aW9uKCkgPT09IHRoaXMubG9jYXRpb24oKSAmJiBlbGVtZW50LmlkICE9PSB0aGlzLmlkKSB7XG4gICAgICAgICAgZWxlbWVudC5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gICAgdGhpcy5jb2xsYXBzZWQudXBkYXRlKChwcmV2KSA9PiAhcHJldik7XG4gIH1cblxuICAvKipcbiAgICogQ29sbGFwc2VzIHRoZSBkcmF3ZXIuXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIGNsb3NlKCkge1xuICAgIHRoaXMuX3JlbW92ZUJhY2tkcm9wKCk7XG4gICAgdGhpcy5jb2xsYXBzZWQuc2V0KHRydWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEV4cGFuZHMgdGhlIGRyYXdlci5cbiAgICovXG4gIG9wZW4oKSB7XG4gICAgaWYgKCF0aGlzLm11bHRpcGxlKCkpIHtcbiAgICAgIHRoaXMuc2VydmljZS5kcmF3ZXJFbGVtZW50cygpLmZvckVhY2goKGVsZW1lbnQpID0+IHtcbiAgICAgICAgaWYgKGVsZW1lbnQubG9jYXRpb24oKSA9PT0gdGhpcy5sb2NhdGlvbigpICYmIGVsZW1lbnQuaWQgIT09IHRoaXMuaWQpIHtcbiAgICAgICAgICBlbGVtZW50LmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aGlzLmNvbGxhcHNlZC5zZXQoZmFsc2UpO1xuICB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgcHJpdmF0ZSBnZXQgX19ob3N0Q2xhc3MoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYGF4LWRyYXdlci0ke3RoaXMubW9kZSgpfSBheC1kcmF3ZXItJHt0aGlzLmxvY2F0aW9uKCl9ICR7XG4gICAgICB0aGlzLmNvbGxhcHNlZCgpID8gJ2F4LWNvbGxhcHNlZCcgOiAnYXgtZXhwYW5kZWQnXG4gICAgfSAke3RoaXMubG9hZGVkKCkgPyAnYXgtc3RhdGUtbG9hZGVkJyA6ICcnfWA7XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByaXZhdGUgX2FkZEJhY2tkcm9wKCkge1xuICAgIGlmIChpc0Jyb3dzZXIoKSkge1xuICAgICAgdGhpcy5fem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgIGNvbnN0IGJhY2tEcm9wRWxlbSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICBiYWNrRHJvcEVsZW0uY2xhc3NMaXN0LmFkZCgnYXgtYmFja2Ryb3AnKTtcbiAgICAgICAgYmFja0Ryb3BFbGVtLm9uY2xpY2sgPSAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5fem9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9O1xuICAgICAgICB0aGlzLmdldEhvc3RFbGVtZW50KCk/LnBhcmVudEVsZW1lbnQ/LmFwcGVuZENoaWxkKGJhY2tEcm9wRWxlbSk7XG4gICAgICAgIHRoaXMuYmFja2Ryb3BFbGVtZW50LnNldChiYWNrRHJvcEVsZW0pO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcml2YXRlIF9yZW1vdmVCYWNrZHJvcCgpIHtcbiAgICBpZiAoaXNCcm93c2VyKCkpIHtcbiAgICAgIHRoaXMuX3pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5iYWNrZHJvcEVsZW1lbnQoKSkge1xuICAgICAgICAgIHRoaXMuZ2V0SG9zdEVsZW1lbnQoKT8ucGFyZW50RWxlbWVudD8ucmVtb3ZlQ2hpbGQodGhpcy5iYWNrZHJvcEVsZW1lbnQoKSk7XG4gICAgICAgICAgdGhpcy5iYWNrZHJvcEVsZW1lbnQuc2V0KG51bGwpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
151
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kcmF3ZXIvc3JjL2xpYi9kcmF3ZXIvZHJhd2VyLWl0ZW0vZHJhd2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRCxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFFVCxNQUFNLEVBQ04sV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsS0FBSyxFQUNMLE1BQU0sRUFDTixNQUFNLEVBQ04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFLdkQ7Ozs7R0FJRztBQWVILE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxlQUFlO0lBaUJwRDs7T0FFRztJQUNILFlBQW9CLEtBQWE7UUFDL0IsS0FBSyxFQUFFLENBQUM7UUFEVSxVQUFLLEdBQUwsS0FBSyxDQUFRO1FBbkJqQyxhQUFRLEdBQUcsS0FBSyxDQUFtQixPQUFPLENBQUMsQ0FBQztRQUU1QyxpQkFBWSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUUzQixTQUFJLEdBQUcsS0FBSyxDQUFlLFNBQVMsQ0FBQyxDQUFDO1FBRXRDLGNBQVMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFeEIsZ0JBQVcsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFbkIsb0JBQWUsR0FBRyxNQUFNLENBQWMsSUFBSSxDQUFDLENBQUM7UUFFNUMsV0FBTSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUvQixZQUFP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RyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNqQyxDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQzs4R0EzSVUsaUJBQWlCO2tHQUFqQixpQkFBaUIsbTFCQUxqQjtZQUNULEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUU7WUFDeEQsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFO1NBQ2pFLGlEQVZTOzs7R0FHVDs7MkZBU1UsaUJBQWlCO2tCQWQ3QixTQUFTOytCQUNFLFdBQVcsWUFDWDs7O0dBR1QsbUJBRWdCLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksYUFDMUI7d0JBQ1QsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsbUJBQW1CLEVBQUU7d0JBQ3hELEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsbUJBQW1CLEVBQUU7cUJBQ2pFOzJFQXdHVyxXQUFXO3NCQUR0QixXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWENsb3NiYWxlQ29tcG9uZW50LCBBWENvbXBvbmVudCwgTVhCYXNlQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XG5pbXBvcnQgeyBpc0Jyb3dzZXIgfSBmcm9tICdAYWNvcmV4L2NvcmUvcGxhdGZvcm0nO1xuaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRG9DaGVjayxcbiAgZWZmZWN0LFxuICBIb3N0QmluZGluZyxcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgbW9kZWwsXG4gIE5nWm9uZSxcbiAgc2lnbmFsLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWERyYXdlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9kcmF3ZXIuc2VydmljZSc7XG5cbmV4cG9ydCB0eXBlIEFYRHJhd2VyTW9kZSA9ICdwdXNoJyB8ICdvdmVybGF5JztcbmV4cG9ydCB0eXBlIEFYRHJhd2VyTG9jYXRpb24gPSAnc3RhcnQnIHwgJ2VuZCc7XG5cbi8qKlxuICogQSBjb21wb25lbnQgdGhhdCByZXByZXNlbnRzIGEgZHJhd2VyIHdpdGggaGVhZGVyIGFuZCBjb250ZW50IHNlY3Rpb25zLlxuICpcbiAqIEBjYXRlZ29yeSBDb21wb25lbnRzXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LWRyYXdlcicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtaGVhZGVyXCI+PC9uZy1jb250ZW50PlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LWNvbnRlbnRcIj48L25nLWNvbnRlbnQ+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL2RyYXdlci5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBBWENvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYRHJhd2VyQ29tcG9uZW50IH0sXG4gICAgeyBwcm92aWRlOiBBWENsb3NiYWxlQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhEcmF3ZXJDb21wb25lbnQgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhEcmF3ZXJDb21wb25lbnQgZXh0ZW5kcyBNWEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBEb0NoZWNrIHtcbiAgbG9jYXRpb24gPSBtb2RlbDxBWERyYXdlckxvY2F0aW9uPignc3RhcnQnKTtcblxuICBzaG93QmFja2Ryb3AgPSBpbnB1dCh0cnVlKTtcblxuICBtb2RlID0gbW9kZWw8QVhEcmF3ZXJNb2RlPignb3ZlcmxheScpO1xuXG4gIGNvbGxhcHNlZCA9IG1vZGVsKHRydWUpO1xuXG4gIGNsb3NlT3RoZXJzID0gaW5wdXQoZmFsc2UpO1xuXG4gIHByaXZhdGUgYmFja2Ryb3BFbGVtZW50ID0gc2lnbmFsPEhUTUxFbGVtZW50PihudWxsKTtcblxuICBwcml2YXRlIGxvYWRlZCA9IHNpZ25hbChmYWxzZSk7XG5cbiAgc2VydmljZSA9IGluamVjdChBWERyYXdlclNlcnZpY2UpO1xuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfem9uZTogTmdab25lKSB7XG4gICAgc3VwZXIoKTtcbiAgICBlZmZlY3QoXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLm1vZGUoKSA9PT0gJ292ZXJsYXknICYmICF0aGlzLmNvbGxhcHNlZCgpICYmIHRoaXMuc2hvd0JhY2tkcm9wKCkpIHtcbiAgICAgICAgICB0aGlzLl9hZGRCYWNrZHJvcCgpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgeyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9LFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9kZXRlY3RCb3VuZGluZ1NpemUoKTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMubG9hZGVkLnNldCh0cnVlKTtcbiAgICB9LCA1MDAwKTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgbmdEb0NoZWNrKCkge1xuICAgIHRoaXMuX2RldGVjdEJvdW5kaW5nU2l6ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcml2YXRlIF9kZXRlY3RCb3VuZGluZ1NpemUoKSB7XG4gICAgdGhpcy5fem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICBjb25zdCBob3N0ID0gdGhpcy5nZXRIb3N0RWxlbWVudCgpO1xuICAgICAgaWYgKGhvc3QuY2xpZW50V2lkdGgpIHtcbiAgICAgICAgaG9zdC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1heC1lbC13aWR0aCcsIGAke2hvc3QuY2xpZW50V2lkdGh9cHhgKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUb2dnbGVzIHRoZSBjb2xsYXBzZWQgc3RhdGUgb2YgdGhlIGRyYXdlci5cbiAgICovXG4gIHRvZ2dsZSgpIHtcbiAgICBpZiAoIXRoaXMuY2xvc2VPdGhlcnMoKSkge1xuICAgICAgdGhpcy5zZXJ2aWNlLmRyYXdlckVsZW1lbnRzKCkuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xuICAgICAgICBpZiAoZWxlbWVudC5sb2NhdGlvbigpID09PSB0aGlzLmxvY2F0aW9uKCkgJiYgZWxlbWVudC5pZCAhPT0gdGhpcy5pZCkge1xuICAgICAgICAgIGVsZW1lbnQuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMuY29sbGFwc2VkLnVwZGF0ZSgocHJldikgPT4gIXByZXYpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbGxhcHNlcyB0aGUgZHJhd2VyLlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBjbG9zZSgpIHtcbiAgICB0aGlzLl9yZW1vdmVCYWNrZHJvcCgpO1xuICAgIHRoaXMuY29sbGFwc2VkLnNldCh0cnVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeHBhbmRzIHRoZSBkcmF3ZXIuXG4gICAqL1xuICBvcGVuKCkge1xuICAgIGlmICghdGhpcy5jbG9zZU90aGVycygpKSB7XG4gICAgICB0aGlzLnNlcnZpY2UuZHJhd2VyRWxlbWVudHMoKS5mb3JFYWNoKChlbGVtZW50KSA9PiB7XG4gICAgICAgIGlmIChlbGVtZW50LmxvY2F0aW9uKCkgPT09IHRoaXMubG9jYXRpb24oKSAmJiBlbGVtZW50LmlkICE9PSB0aGlzLmlkKSB7XG4gICAgICAgICAgZWxlbWVudC5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gICAgdGhpcy5jb2xsYXBzZWQuc2V0KGZhbHNlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIHByaXZhdGUgZ2V0IF9faG9zdENsYXNzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBheC1kcmF3ZXItJHt0aGlzLm1vZGUoKX0gYXgtZHJhd2VyLSR7dGhpcy5sb2NhdGlvbigpfSAke1xuICAgICAgdGhpcy5jb2xsYXBzZWQoKSA/ICdheC1jb2xsYXBzZWQnIDogJ2F4LWV4cGFuZGVkJ1xuICAgIH0gJHt0aGlzLmxvYWRlZCgpID8gJ2F4LXN0YXRlLWxvYWRlZCcgOiAnJ31gO1xuICB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcml2YXRlIF9hZGRCYWNrZHJvcCgpIHtcbiAgICBpZiAoaXNCcm93c2VyKCkpIHtcbiAgICAgIHRoaXMuX3pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICBjb25zdCBiYWNrRHJvcEVsZW0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgYmFja0Ryb3BFbGVtLmNsYXNzTGlzdC5hZGQoJ2F4LWJhY2tkcm9wJyk7XG4gICAgICAgIGJhY2tEcm9wRWxlbS5vbmNsaWNrID0gKCkgPT4ge1xuICAgICAgICAgIHRoaXMuX3pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5nZXRIb3N0RWxlbWVudCgpPy5wYXJlbnRFbGVtZW50Py5hcHBlbmRDaGlsZChiYWNrRHJvcEVsZW0pO1xuICAgICAgICB0aGlzLmJhY2tkcm9wRWxlbWVudC5zZXQoYmFja0Ryb3BFbGVtKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJpdmF0ZSBfcmVtb3ZlQmFja2Ryb3AoKSB7XG4gICAgaWYgKGlzQnJvd3NlcigpKSB7XG4gICAgICB0aGlzLl96b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuYmFja2Ryb3BFbGVtZW50KCkpIHtcbiAgICAgICAgICB0aGlzLmdldEhvc3RFbGVtZW50KCk/LnBhcmVudEVsZW1lbnQ/LnJlbW92ZUNoaWxkKHRoaXMuYmFja2Ryb3BFbGVtZW50KCkpO1xuICAgICAgICAgIHRoaXMuYmFja2Ryb3BFbGVtZW50LnNldChudWxsKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -15,7 +15,9 @@ export class AXMediaViewerSliderComponent {
15
15
  /** @ignore */
16
16
  this.registryService = inject(AXMediaViewerTypeRegistryService);
17
17
  effect(() => {
18
- this.portal.set(new ComponentPortal(this.registryService.resolve(this.dataObject()?.type).component));
18
+ if (this.dataObject()) {
19
+ this.portal.set(new ComponentPortal(this.registryService.resolve(this.dataObject().type).component));
20
+ }
19
21
  }, { allowSignalWrites: true });
20
22
  }
21
23
  /** @ignore */
@@ -32,4 +34,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
32
34
  type: Component,
33
35
  args: [{ selector: 'ax-media-viewer-slider', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ng-template [cdkPortalOutlet]=\"portal()\" (attached)=\"_handleAttached($event)\"></ng-template>\n", styles: ["ax-media-viewer-slider{padding:1rem}\n"] }]
34
36
  }], ctorParameters: () => [] });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWEtdmlld2VyLXNsaWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbWVkaWEtdmlld2VyL3NyYy9saWIvbWVkaWEtdmlld2VyLXNsaWRlci9tZWRpYS12aWV3ZXItc2xpZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi9tZWRpYS12aWV3ZXItc2xpZGVyL21lZGlhLXZpZXdlci1zbGlkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2xELE9BQU8sRUFBOEIsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEYsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsTUFBTSxFQUNOLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUV6RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7O0FBUy9ELE1BQU0sT0FBTyw0QkFBNEI7SUFXdkMsZUFBZTtJQUNmO1FBWFUsWUFBTyxHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBRWpELGVBQVUsR0FBRyxLQUFLLEVBQXFCLENBQUM7UUFFeEMsZUFBZTtRQUNMLFdBQU0sR0FBRyxNQUFNLENBQThCLElBQUksQ0FBQyxDQUFDO1FBRTdELGVBQWU7UUFDTCxvQkFBZSxHQUFHLE1BQU0sQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1FBSW5FLE1BQU0sQ0FDSixHQUFHLEVBQUU7WUFDSCxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUN4RyxDQUFDLEVBQ0QsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsQ0FDNUIsQ0FBQztJQUNKLENBQUM7SUFFRCxlQUFlO0lBQ0wsZUFBZSxDQUFDLEdBQStCO1FBQ3ZELEdBQUcsR0FBRyxHQUE0QixDQUFDO1FBQ25DLElBQUksR0FBRyxDQUFDLFFBQVEsSUFBSSxTQUFTLEVBQUUsRUFBRSxDQUFDO1lBQ2hDLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzlELENBQUM7SUFDSCxDQUFDOzhHQTNCVSw0QkFBNEI7a0dBQTVCLDRCQUE0QixpTkN4QnpDLHFHQUNBOzsyRkR1QmEsNEJBQTRCO2tCQVB4QyxTQUFTOytCQUNFLHdCQUF3QixtQkFHakIsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzQnJvd3NlciB9IGZyb20gJ0BhY29yZXgvY29yZS9wbGF0Zm9ybSc7XG5pbXBvcnQgeyBDZGtQb3J0YWxPdXRsZXRBdHRhY2hlZFJlZiwgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb21wb25lbnRSZWYsXG4gIGVmZmVjdCxcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgc2lnbmFsLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEFYTWVkaWFWaWV3ZXJUeXBlUmVnaXN0cnlTZXJ2aWNlIH0gZnJvbSAnLi4vbWVkaWEtdmlld2VyLXR5cGUtcmVnaXN0cnkuc2VydmljZSc7XG5pbXBvcnQgeyBBWE1lZGlhVmlld2VyRGF0YSB9IGZyb20gJy4uL21lZGlhLXZpZXdlci10eXBlcyc7XG5pbXBvcnQgeyBBWE1lZGlhVmlld2VyU2VydmljZSB9IGZyb20gJy4uL21lZGlhLXZpZXdlci5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtbWVkaWEtdmlld2VyLXNsaWRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9tZWRpYS12aWV3ZXItc2xpZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWVkaWEtdmlld2VyLXNsaWRlci5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgQVhNZWRpYVZpZXdlclNsaWRlckNvbXBvbmVudCB7XG4gIHByb3RlY3RlZCBzZXJ2aWNlID0gaW5qZWN0KEFYTWVkaWFWaWV3ZXJTZXJ2aWNlKTtcblxuICBkYXRhT2JqZWN0ID0gaW5wdXQ8QVhNZWRpYVZpZXdlckRhdGE+KCk7XG5cbiAgLyoqICBAaWdub3JlICovXG4gIHByb3RlY3RlZCBwb3J0YWwgPSBzaWduYWw8Q29tcG9uZW50UG9ydGFsPGFueT4gfCBudWxsPihudWxsKTtcblxuICAvKiogIEBpZ25vcmUgKi9cbiAgcHJvdGVjdGVkIHJlZ2lzdHJ5U2VydmljZSA9IGluamVjdChBWE1lZGlhVmlld2VyVHlwZVJlZ2lzdHJ5U2VydmljZSk7XG5cbiAgLyoqICBAaWdub3JlICovXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGVmZmVjdChcbiAgICAgICgpID0+IHtcbiAgICAgICAgdGhpcy5wb3J0YWwuc2V0KG5ldyBDb21wb25lbnRQb3J0YWwodGhpcy5yZWdpc3RyeVNlcnZpY2UucmVzb2x2ZSh0aGlzLmRhdGFPYmplY3QoKT8udHlwZSkuY29tcG9uZW50KSk7XG4gICAgICB9LFxuICAgICAgeyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9LFxuICAgICk7XG4gIH1cblxuICAvKiogIEBpZ25vcmUgKi9cbiAgcHJvdGVjdGVkIF9oYW5kbGVBdHRhY2hlZChyZWY6IENka1BvcnRhbE91dGxldEF0dGFjaGVkUmVmKSB7XG4gICAgcmVmID0gcmVmIGFzIENvbXBvbmVudFJlZjx1bmtub3duPjtcbiAgICBpZiAocmVmLmluc3RhbmNlICYmIGlzQnJvd3NlcigpKSB7XG4gICAgICBPYmplY3QuYXNzaWduKHJlZi5pbnN0YW5jZSwgeyBtZXNzYWdlOiB0aGlzLmRhdGFPYmplY3QoKSB9KTtcbiAgICB9XG4gIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZSBbY2RrUG9ydGFsT3V0bGV0XT1cInBvcnRhbCgpXCIgKGF0dGFjaGVkKT1cIl9oYW5kbGVBdHRhY2hlZCgkZXZlbnQpXCI+PC9uZy10ZW1wbGF0ZT5cbiJdfQ==
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWEtdmlld2VyLXNsaWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbWVkaWEtdmlld2VyL3NyYy9saWIvbWVkaWEtdmlld2VyLXNsaWRlci9tZWRpYS12aWV3ZXItc2xpZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi9tZWRpYS12aWV3ZXItc2xpZGVyL21lZGlhLXZpZXdlci1zbGlkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2xELE9BQU8sRUFBOEIsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEYsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsTUFBTSxFQUNOLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUV6RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7O0FBUy9ELE1BQU0sT0FBTyw0QkFBNEI7SUFXdkMsZUFBZTtJQUNmO1FBWFUsWUFBTyxHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBRWpELGVBQVUsR0FBRyxLQUFLLEVBQXFCLENBQUM7UUFFeEMsZUFBZTtRQUNMLFdBQU0sR0FBRyxNQUFNLENBQThCLElBQUksQ0FBQyxDQUFDO1FBRTdELGVBQWU7UUFDTCxvQkFBZSxHQUFHLE1BQU0sQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1FBSW5FLE1BQU0sQ0FDSixHQUFHLEVBQUU7WUFDSCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDO2dCQUN0QixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FDYixJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQ3BGLENBQUM7WUFDSixDQUFDO1FBQ0gsQ0FBQyxFQUNELEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLENBQzVCLENBQUM7SUFDSixDQUFDO0lBRUQsZUFBZTtJQUNMLGVBQWUsQ0FBQyxHQUErQjtRQUN2RCxHQUFHLEdBQUcsR0FBNEIsQ0FBQztRQUNuQyxJQUFJLEdBQUcsQ0FBQyxRQUFRLElBQUksU0FBUyxFQUFFLEVBQUUsQ0FBQztZQUNoQyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM5RCxDQUFDO0lBQ0gsQ0FBQzs4R0EvQlUsNEJBQTRCO2tHQUE1Qiw0QkFBNEIsaU5DeEJ6QyxxR0FDQTs7MkZEdUJhLDRCQUE0QjtrQkFQeEMsU0FBUzsrQkFDRSx3QkFBd0IsbUJBR2pCLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc0Jyb3dzZXIgfSBmcm9tICdAYWNvcmV4L2NvcmUvcGxhdGZvcm0nO1xuaW1wb3J0IHsgQ2RrUG9ydGFsT3V0bGV0QXR0YWNoZWRSZWYsIENvbXBvbmVudFBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29tcG9uZW50UmVmLFxuICBlZmZlY3QsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIHNpZ25hbCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBBWE1lZGlhVmlld2VyVHlwZVJlZ2lzdHJ5U2VydmljZSB9IGZyb20gJy4uL21lZGlhLXZpZXdlci10eXBlLXJlZ2lzdHJ5LnNlcnZpY2UnO1xuaW1wb3J0IHsgQVhNZWRpYVZpZXdlckRhdGEgfSBmcm9tICcuLi9tZWRpYS12aWV3ZXItdHlwZXMnO1xuaW1wb3J0IHsgQVhNZWRpYVZpZXdlclNlcnZpY2UgfSBmcm9tICcuLi9tZWRpYS12aWV3ZXIuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LW1lZGlhLXZpZXdlci1zbGlkZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vbWVkaWEtdmlld2VyLXNsaWRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21lZGlhLXZpZXdlci1zbGlkZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIEFYTWVkaWFWaWV3ZXJTbGlkZXJDb21wb25lbnQge1xuICBwcm90ZWN0ZWQgc2VydmljZSA9IGluamVjdChBWE1lZGlhVmlld2VyU2VydmljZSk7XG5cbiAgZGF0YU9iamVjdCA9IGlucHV0PEFYTWVkaWFWaWV3ZXJEYXRhPigpO1xuXG4gIC8qKiAgQGlnbm9yZSAqL1xuICBwcm90ZWN0ZWQgcG9ydGFsID0gc2lnbmFsPENvbXBvbmVudFBvcnRhbDxhbnk+IHwgbnVsbD4obnVsbCk7XG5cbiAgLyoqICBAaWdub3JlICovXG4gIHByb3RlY3RlZCByZWdpc3RyeVNlcnZpY2UgPSBpbmplY3QoQVhNZWRpYVZpZXdlclR5cGVSZWdpc3RyeVNlcnZpY2UpO1xuXG4gIC8qKiAgQGlnbm9yZSAqL1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBlZmZlY3QoXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmRhdGFPYmplY3QoKSkge1xuICAgICAgICAgIHRoaXMucG9ydGFsLnNldChcbiAgICAgICAgICAgIG5ldyBDb21wb25lbnRQb3J0YWwodGhpcy5yZWdpc3RyeVNlcnZpY2UucmVzb2x2ZSh0aGlzLmRhdGFPYmplY3QoKS50eXBlKS5jb21wb25lbnQpLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH0sXG4gICAgKTtcbiAgfVxuXG4gIC8qKiAgQGlnbm9yZSAqL1xuICBwcm90ZWN0ZWQgX2hhbmRsZUF0dGFjaGVkKHJlZjogQ2RrUG9ydGFsT3V0bGV0QXR0YWNoZWRSZWYpIHtcbiAgICByZWYgPSByZWYgYXMgQ29tcG9uZW50UmVmPHVua25vd24+O1xuICAgIGlmIChyZWYuaW5zdGFuY2UgJiYgaXNCcm93c2VyKCkpIHtcbiAgICAgIE9iamVjdC5hc3NpZ24ocmVmLmluc3RhbmNlLCB7IG1lc3NhZ2U6IHRoaXMuZGF0YU9iamVjdCgpIH0pO1xuICAgIH1cbiAgfVxufVxuIiwiPG5nLXRlbXBsYXRlIFtjZGtQb3J0YWxPdXRsZXRdPVwicG9ydGFsKClcIiAoYXR0YWNoZWQpPVwiX2hhbmRsZUF0dGFjaGVkKCRldmVudClcIj48L25nLXRlbXBsYXRlPlxuIl19
@@ -1,6 +1,6 @@
1
1
  import { MXInteractiveComponent } from '@acorex/components/common';
2
2
  import { AXPopoverComponent } from '@acorex/components/popover';
3
- import { Component, ContentChildren, HostBinding, HostListener, QueryList, ViewChild, afterNextRender, inject, input, output, signal, } from '@angular/core';
3
+ import { Component, ContentChildren, HostBinding, HostListener, QueryList, ViewChild, ViewEncapsulation, afterNextRender, effect, inject, input, output, signal, } from '@angular/core';
4
4
  import { AXRootMenu } from '../class/root-menu.class';
5
5
  import { AXMenuService } from '../menu.service';
6
6
  import * as i0 from "@angular/core";
@@ -13,42 +13,43 @@ export class AXMenuItemComponent extends MXInteractiveComponent {
13
13
  /** @ignore */
14
14
  constructor() {
15
15
  super();
16
+ this.service = inject(AXMenuService);
16
17
  /**
17
- * Injects the `AXMenuService` for managing menu interactions.
18
- */
18
+ * Injects the `AXMenuService` for managing menu interactions.
19
+ */
19
20
  this.menuService = inject(AXMenuService);
20
21
  /**
21
- * The vertical offset for positioning, initialized to 0.
22
- */
22
+ * The vertical offset for positioning, initialized to 0.
23
+ */
23
24
  this.offsetY = signal(0);
24
25
  /**
25
- * The horizontal offset for positioning, initialized to 0.
26
- */
26
+ * The horizontal offset for positioning, initialized to 0.
27
+ */
27
28
  this.offsetX = signal(0);
28
29
  /**
29
- * The text content, initialized to an empty string.
30
- */
30
+ * The text content, initialized to an empty string.
31
+ */
31
32
  this.text = input();
32
33
  /**
33
- * Indicates whether the item is active.
34
- */
34
+ * Indicates whether the item is active.
35
+ */
35
36
  this.active = input();
36
37
  /**
37
- * Emitted when the active state changes.
38
- */
38
+ * Emitted when the active state changes.
39
+ */
39
40
  this.activeChange = output();
40
41
  /**
41
- * Emitted when the element is clicked.
42
- */
42
+ * Emitted when the element is clicked.
43
+ */
43
44
  this.onClick = output();
44
45
  /**
45
- * Indicates whether the component is a root menu item.
46
- * @defaultValue false
47
- */
46
+ * Indicates whether the component is a root menu item.
47
+ * @defaultValue false
48
+ */
48
49
  this.isRoot = false;
49
50
  /**
50
- * Injects the root menu service.
51
- */
51
+ * Injects the root menu service.
52
+ */
52
53
  this.rootMenu = inject(AXRootMenu);
53
54
  afterNextRender(() => {
54
55
  this.children.forEach((c) => {
@@ -58,19 +59,25 @@ export class AXMenuItemComponent extends MXInteractiveComponent {
58
59
  this.offsetX.set(this.isRoot ? 0 : 4);
59
60
  this.getPlacement();
60
61
  });
62
+ effect(() => {
63
+ if (!this.getHostElement().getClientRects()[0]?.right)
64
+ return;
65
+ //add overflow items to array
66
+ if (this.getHostElement().getClientRects()[0]?.right > this.service.rightOverflow() ||
67
+ this.getHostElement().getClientRects()[0]?.left < this.service.leftOverflow()) {
68
+ this.service.overflowElements.update((prev) => [...prev, this.getHostElement()]);
69
+ }
70
+ else {
71
+ this.service.notOverflowElements.update((prev) => [...prev, this.getHostElement()]);
72
+ }
73
+ }, { allowSignalWrites: true });
61
74
  }
62
75
  /**
63
- * Closes the popover if it is open.
64
- */
76
+ * Closes the popover if it is open.
77
+ */
65
78
  close() {
66
79
  this.popover?.close();
67
80
  }
68
- // @HostListener('mouseleave', ['$event'])
69
- // private onMouseHover(e: MouseEvent) {
70
- // this.children.forEach((c) => {
71
- // c.close();
72
- // });
73
- // }
74
81
  /** @ignore */
75
82
  _handleOnOpened() {
76
83
  this.parent.children.forEach((c) => {
@@ -89,8 +96,8 @@ export class AXMenuItemComponent extends MXInteractiveComponent {
89
96
  });
90
97
  }
91
98
  /**
92
- * Returns the icon based on the orientation of the root menu.
93
- */
99
+ * Returns the icon based on the orientation of the root menu.
100
+ */
94
101
  getIcon() {
95
102
  if (this.rootMenu.orientation() == 'vertical') {
96
103
  return 'ax-icon-arrow-right';
@@ -100,8 +107,8 @@ export class AXMenuItemComponent extends MXInteractiveComponent {
100
107
  }
101
108
  }
102
109
  /**
103
- * Determines the placement based on the root menu's orientation: 'bottom-start' for horizontal root, 'end-top' otherwise.
104
- */
110
+ * Determines the placement based on the root menu's orientation: 'bottom-start' for horizontal root, 'end-top' otherwise.
111
+ */
105
112
  getPlacement() {
106
113
  switch (this.rootMenu.orientation()) {
107
114
  case 'horizontal':
@@ -143,11 +150,11 @@ export class AXMenuItemComponent extends MXInteractiveComponent {
143
150
  }
144
151
  }
145
152
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMenuItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
146
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXMenuItemComponent, selector: "ax-menu-item", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null }, active: { classPropertyName: "active", publicName: "active", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { activeChange: "activeChange", onClick: "onClick" }, host: { attributes: { "ngSkipHydration": "true" }, listeners: { "click": "__hostClick($event)" }, properties: { "class": "this.__hostClass" } }, queries: [{ propertyName: "children", predicate: AXMenuItemComponent }], viewQueries: [{ propertyName: "popover", first: true, predicate: AXPopoverComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-menu-item-start-side\">\n <ng-content select=\"ax-prefix\"></ng-content>\n <div class=\"ax-menu-item-text\">{{ text() }}</div>\n</div>\n<ng-content select=\"ax-suffix\"></ng-content>\n@if(children.length){\n<i class=\"ax-icon ax-icon-solid {{ getIcon() }} ax-menu-item-child-icon\"></i>\n}\n<ax-popover #popover [closeOn]=\"'clickOut'\" [openOn]=\"rootMenu.openOn()\" [target]=\"getHostElement()\"\n [offsetY]=\"offsetY()\" [offsetX]=\"offsetX()\" [placement]=\"getPlacement()\" (onOpened)=\"_handleOnOpened()\"\n (onClosed)=\"_handleOnClosed()\">\n <div class=\"ax-menu-item-children ax-parent-{{ this.rootMenu.orientation() }}\">\n <ng-content select=\"ax-menu-item\"></ng-content>\n </div>\n</ax-popover>", dependencies: [{ kind: "component", type: i1.AXPopoverComponent, selector: "ax-popover", inputs: ["offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "backdropClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }] }); }
153
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXMenuItemComponent, selector: "ax-menu-item", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null }, active: { classPropertyName: "active", publicName: "active", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { activeChange: "activeChange", onClick: "onClick" }, host: { attributes: { "ngSkipHydration": "true" }, listeners: { "click": "__hostClick($event)" }, properties: { "class": "this.__hostClass" } }, queries: [{ propertyName: "children", predicate: AXMenuItemComponent }], viewQueries: [{ propertyName: "popover", first: true, predicate: AXPopoverComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-menu-item-start-side\">\n <ng-content select=\"ax-prefix\"></ng-content>\n <p class=\"ax-menu-item-text\">{{ text() }}</p>\n</div>\n<ng-content select=\"ax-suffix\"></ng-content>\n@if (children.length) {\n <i class=\"ax-icon ax-icon-solid {{ getIcon() }} ax-menu-item-child-icon\"></i>\n}\n\n<ax-popover\n #popover\n [closeOn]=\"'clickOut'\"\n [openOn]=\"rootMenu.openOn()\"\n [target]=\"getHostElement()\"\n [offsetY]=\"offsetY()\"\n [offsetX]=\"offsetX()\"\n [placement]=\"getPlacement()\"\n (onOpened)=\"_handleOnOpened()\"\n (onClosed)=\"_handleOnClosed()\"\n>\n <div class=\"ax-menu-item-children ax-parent-{{ this.rootMenu.orientation() }}\">\n <ng-content select=\"ax-menu-item\"></ng-content>\n </div>\n</ax-popover>\n", styles: [".ax-menu-item-text{white-space:nowrap}\n"], dependencies: [{ kind: "component", type: i1.AXPopoverComponent, selector: "ax-popover", inputs: ["offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "backdropClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }], encapsulation: i0.ViewEncapsulation.None }); }
147
154
  }
148
155
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMenuItemComponent, decorators: [{
149
156
  type: Component,
150
- args: [{ selector: 'ax-menu-item', inputs: ['disabled'], host: { ngSkipHydration: 'true' }, template: "<div class=\"ax-menu-item-start-side\">\n <ng-content select=\"ax-prefix\"></ng-content>\n <div class=\"ax-menu-item-text\">{{ text() }}</div>\n</div>\n<ng-content select=\"ax-suffix\"></ng-content>\n@if(children.length){\n<i class=\"ax-icon ax-icon-solid {{ getIcon() }} ax-menu-item-child-icon\"></i>\n}\n<ax-popover #popover [closeOn]=\"'clickOut'\" [openOn]=\"rootMenu.openOn()\" [target]=\"getHostElement()\"\n [offsetY]=\"offsetY()\" [offsetX]=\"offsetX()\" [placement]=\"getPlacement()\" (onOpened)=\"_handleOnOpened()\"\n (onClosed)=\"_handleOnClosed()\">\n <div class=\"ax-menu-item-children ax-parent-{{ this.rootMenu.orientation() }}\">\n <ng-content select=\"ax-menu-item\"></ng-content>\n </div>\n</ax-popover>" }]
157
+ args: [{ selector: 'ax-menu-item', inputs: ['disabled'], host: { ngSkipHydration: 'true' }, encapsulation: ViewEncapsulation.None, template: "<div class=\"ax-menu-item-start-side\">\n <ng-content select=\"ax-prefix\"></ng-content>\n <p class=\"ax-menu-item-text\">{{ text() }}</p>\n</div>\n<ng-content select=\"ax-suffix\"></ng-content>\n@if (children.length) {\n <i class=\"ax-icon ax-icon-solid {{ getIcon() }} ax-menu-item-child-icon\"></i>\n}\n\n<ax-popover\n #popover\n [closeOn]=\"'clickOut'\"\n [openOn]=\"rootMenu.openOn()\"\n [target]=\"getHostElement()\"\n [offsetY]=\"offsetY()\"\n [offsetX]=\"offsetX()\"\n [placement]=\"getPlacement()\"\n (onOpened)=\"_handleOnOpened()\"\n (onClosed)=\"_handleOnClosed()\"\n>\n <div class=\"ax-menu-item-children ax-parent-{{ this.rootMenu.orientation() }}\">\n <ng-content select=\"ax-menu-item\"></ng-content>\n </div>\n</ax-popover>\n", styles: [".ax-menu-item-text{white-space:nowrap}\n"] }]
151
158
  }], ctorParameters: () => [], propDecorators: { popover: [{
152
159
  type: ViewChild,
153
160
  args: [AXPopoverComponent]
@@ -161,4 +168,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
161
168
  type: HostListener,
162
169
  args: ['click', ['$event']]
163
170
  }] } });
164
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tZW51L3NyYy9saWIvbWVudS1pdGVtL21lbnUtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbWVudS9zcmMvbGliL21lbnUtaXRlbS9tZW51LWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixzQkFBc0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFDTCxTQUFTLEVBQ1QsZUFBZSxFQUNmLFdBQVcsRUFDWCxZQUFZLEVBQ1osU0FBUyxFQUNULFNBQVMsRUFDVCxlQUFlLEVBQ2YsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQUVoRDs7O0dBR0c7QUFPSCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsc0JBQXNCO0lBK0Q3RCxjQUFjO0lBQ2Q7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQXpEVjs7U0FFQztRQUNELGdCQUFXLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRXBDOztTQUVDO1FBQ0QsWUFBTyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVwQjs7U0FFQztRQUNELFlBQU8sR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFcEI7O1NBRUM7UUFDRCxTQUFJLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFFdkI7O1NBRUM7UUFDRCxXQUFNLEdBQUcsS0FB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ZCxTQUFTO3VCQUFDLGtCQUFrQjtnQkEwRDdCLFFBQVE7c0JBRFAsZUFBZTt1QkFBQyxtQkFBbUI7Z0JBd0ZoQyxXQUFXO3NCQURkLFdBQVc7dUJBQUMsT0FBTztnQkFPWixXQUFXO3NCQURsQixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQ2xpY2tFdmVudCwgTVhJbnRlcmFjdGl2ZUNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xuaW1wb3J0IHsgQVhQb3BvdmVyQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3BvcG92ZXInO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEhvc3RCaW5kaW5nLFxuICBIb3N0TGlzdGVuZXIsXG4gIFF1ZXJ5TGlzdCxcbiAgVmlld0NoaWxkLFxuICBhZnRlck5leHRSZW5kZXIsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIG91dHB1dCxcbiAgc2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUm9vdE1lbnUgfSBmcm9tICcuLi9jbGFzcy9yb290LW1lbnUuY2xhc3MnO1xuaW1wb3J0IHsgQVhNZW51U2VydmljZSB9IGZyb20gJy4uL21lbnUuc2VydmljZSc7XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIG1lbnUgaXRlbSBjb21wb25lbnQgdXNlZCB3aXRoaW4gYW4gYGF4LW1lbnVgLlxuICogQGNhdGVnb3J5IENvbXBvbmVudHNcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtbWVudS1pdGVtJyxcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJ10sXG4gIHRlbXBsYXRlVXJsOiAnLi9tZW51LWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBob3N0OiB7IG5nU2tpcEh5ZHJhdGlvbjogJ3RydWUnIH0sXG59KVxuZXhwb3J0IGNsYXNzIEFYTWVudUl0ZW1Db21wb25lbnQgZXh0ZW5kcyBNWEludGVyYWN0aXZlQ29tcG9uZW50IHtcblxuICAvKiogQGlnbm9yZSAqL1xuICBAVmlld0NoaWxkKEFYUG9wb3ZlckNvbXBvbmVudClcblxuICAvKiogQGlnbm9yZSAqL1xuICBwcml2YXRlIHBvcG92ZXI6IEFYUG9wb3ZlckNvbXBvbmVudDtcblxuICAvKipcbiAqIEluamVjdHMgdGhlIGBBWE1lbnVTZXJ2aWNlYCBmb3IgbWFuYWdpbmcgbWVudSBpbnRlcmFjdGlvbnMuXG4gKi9cbiAgbWVudVNlcnZpY2UgPSBpbmplY3QoQVhNZW51U2VydmljZSk7XG5cbiAgLyoqXG4gKiBUaGUgdmVydGljYWwgb2Zmc2V0IGZvciBwb3NpdGlvbmluZywgaW5pdGlhbGl6ZWQgdG8gMC5cbiAqL1xuICBvZmZzZXRZID0gc2lnbmFsKDApO1xuXG4gIC8qKlxuICogVGhlIGhvcml6b250YWwgb2Zmc2V0IGZvciBwb3NpdGlvbmluZywgaW5pdGlhbGl6ZWQgdG8gMC5cbiAqL1xuICBvZmZzZXRYID0gc2lnbmFsKDApO1xuXG4gIC8qKlxuICogVGhlIHRleHQgY29udGVudCwgaW5pdGlhbGl6ZWQgdG8gYW4gZW1wdHkgc3RyaW5nLlxuICovXG4gIHRleHQgPSBpbnB1dDxzdHJpbmc+KCk7XG5cbiAgLyoqXG4gKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgaXRlbSBpcyBhY3RpdmUuXG4gKi9cbiAgYWN0aXZlID0gaW5wdXQ8Ym9vbGVhbj4oKTtcblxuICAvKipcbiAqIEVtaXR0ZWQgd2hlbiB0aGUgYWN0aXZlIHN0YXRlIGNoYW5nZXMuXG4gKi9cbiAgYWN0aXZlQ2hhbmdlID0gb3V0cHV0PGJvb2xlYW4+KCk7XG5cbiAgLyoqXG4gKiBFbWl0dGVkIHdoZW4gdGhlIGVsZW1lbnQgaXMgY2xpY2tlZC5cbiAqL1xuICBvbkNsaWNrID0gb3V0cHV0PEFYQ2xpY2tFdmVudD4oKTtcblxuICAvKipcbiAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBjb21wb25lbnQgaXMgYSByb290IG1lbnUgaXRlbS5cbiAqIEBkZWZhdWx0VmFsdWUgZmFsc2VcbiAqL1xuICBpc1Jvb3QgPSBmYWxzZTtcblxuICAvKipcbiAqIFRoZSBwYXJlbnQgbWVudSBpdGVtIGNvbXBvbmVudCwgaWYgYW55LlxuICovXG4gIHBhcmVudD86IEFYTWVudUl0ZW1Db21wb25lbnQ7XG5cbiAgLyoqXG4gKiBJbmplY3RzIHRoZSByb290IG1lbnUgc2VydmljZS5cbiAqL1xuICByb290TWVudSA9IGluamVjdChBWFJvb3RNZW51KTtcblxuICAvKiogQGlnbm9yZSAqL1xuICBAQ29udGVudENoaWxkcmVuKEFYTWVudUl0ZW1Db21wb25lbnQpXG4gIGNoaWxkcmVuOiBRdWVyeUxpc3Q8QVhNZW51SXRlbUNvbXBvbmVudD47XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICBhZnRlck5leHRSZW5kZXIoKCkgPT4ge1xuICAgICAgdGhpcy5jaGlsZHJlbi5mb3JFYWNoKChjKSA9PiB7XG4gICAgICAgIGMucGFyZW50ID0gdGhpcztcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLm9mZnNldFkuc2V0KHRoaXMuaXNSb290ID8gOCA6IDApO1xuICAgICAgdGhpcy5vZmZzZXRYLnNldCh0aGlzLmlzUm9vdCA/IDAgOiA0KTtcblxuICAgICAgdGhpcy5nZXRQbGFjZW1lbnQoKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICogQ2xvc2VzIHRoZSBwb3BvdmVyIGlmIGl0IGlzIG9wZW4uXG4gKi9cbiAgY2xvc2UoKSB7XG4gICAgdGhpcy5wb3BvdmVyPy5jbG9zZSgpO1xuICB9XG5cbiAgLy8gQEhvc3RMaXN0ZW5lcignbW91c2VsZWF2ZScsIFsnJGV2ZW50J10pXG4gIC8vIHByaXZhdGUgb25Nb3VzZUhvdmVyKGU6IE1vdXNlRXZlbnQpIHtcbiAgLy8gICB0aGlzLmNoaWxkcmVuLmZvckVhY2goKGMpID0+IHtcbiAgLy8gICAgIGMuY2xvc2UoKTtcbiAgLy8gICB9KTtcbiAgLy8gfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIF9oYW5kbGVPbk9wZW5lZCgpIHtcbiAgICB0aGlzLnBhcmVudC5jaGlsZHJlbi5mb3JFYWNoKChjKSA9PiB7XG4gICAgICBpZiAoYyAhPSB0aGlzKSB7XG4gICAgICAgIGMuY2xvc2UoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBpZiAodGhpcy5jaGlsZHJlbi5sZW5ndGgpIHtcbiAgICAgIHRoaXMubWVudVNlcnZpY2UuYWN0aXZlTWVudXMkLm5leHQodGhpcy5tZW51U2VydmljZS5hY3RpdmVNZW51cyQuZ2V0VmFsdWUoKS5jb25jYXQodGhpcykpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIF9oYW5kbGVPbkNsb3NlZCgpIHtcbiAgICB0aGlzLmNoaWxkcmVuLmZvckVhY2goKGMpID0+IHtcbiAgICAgIGMuY2xvc2UoKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICogUmV0dXJucyB0aGUgaWNvbiBiYXNlZCBvbiB0aGUgb3JpZW50YXRpb24gb2YgdGhlIHJvb3QgbWVudS5cbiAqL1xuICBnZXRJY29uKCkge1xuICAgIGlmICh0aGlzLnJvb3RNZW51Lm9yaWVudGF0aW9uKCkgPT0gJ3ZlcnRpY2FsJykge1xuICAgICAgcmV0dXJuICdheC1pY29uLWFycm93LXJpZ2h0JztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICdheC1pY29uLWFycm93LWRvd24nO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICogRGV0ZXJtaW5lcyB0aGUgcGxhY2VtZW50IGJhc2VkIG9uIHRoZSByb290IG1lbnUncyBvcmllbnRhdGlvbjogJ2JvdHRvbS1zdGFydCcgZm9yIGhvcml6b250YWwgcm9vdCwgJ2VuZC10b3AnIG90aGVyd2lzZS5cbiAqL1xuICBnZXRQbGFjZW1lbnQoKSB7XG4gICAgc3dpdGNoICh0aGlzLnJvb3RNZW51Lm9yaWVudGF0aW9uKCkpIHtcbiAgICAgIGNhc2UgJ2hvcml6b250YWwnOlxuICAgICAgICBpZiAodGhpcy5pc1Jvb3QpIHtcbiAgICAgICAgICByZXR1cm4gJ2JvdHRvbS1zdGFydCc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuICdlbmQtdG9wJztcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3ZlcnRpY2FsJzpcbiAgICAgICAgaWYgKHRoaXMuaXNSb290KSB7XG4gICAgICAgICAgcmV0dXJuICdlbmQtdG9wJztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gJ2VuZC10b3AnO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICdib3R0b20tc3RhcnQnO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBnZXQgX19ob3N0Q2xhc3MoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBbYCR7dGhpcy5kaXNhYmxlZCA/ICdheC1zdGF0ZS1kaXNhYmxlZCcgOiAnJ31gLCBgJHt0aGlzLmFjdGl2ZSgpID8gJ2F4LXN0YXRlLWFjdGl2ZScgOiAnJ31gXTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgcHJpdmF0ZSBfX2hvc3RDbGljayhlOiBNb3VzZUV2ZW50KSB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLm9uQ2xpY2suZW1pdCh7XG4gICAgICAgIGNvbXBvbmVudDogdGhpcyxcbiAgICAgICAgaHRtbEVsZW1lbnQ6IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKSxcbiAgICAgICAgbmF0aXZlRXZlbnQ6IGUsXG4gICAgICB9KTtcbiAgICAgIGlmICghdGhpcy5jaGlsZHJlbi5sZW5ndGgpIHtcbiAgICAgICAgdGhpcy5tZW51U2VydmljZS5hY3RpdmVNZW51cyQuc3Vic2NyaWJlKChjKSA9PiBjLmZvckVhY2goKHgpID0+IHguY2xvc2UoKSkpLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMubWVudVNlcnZpY2UuYWN0aXZlTWVudXMkLm5leHQoW10pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImF4LW1lbnUtaXRlbS1zdGFydC1zaWRlXCI+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LXByZWZpeFwiPjwvbmctY29udGVudD5cbiAgPGRpdiBjbGFzcz1cImF4LW1lbnUtaXRlbS10ZXh0XCI+e3sgdGV4dCgpIH19PC9kaXY+XG48L2Rpdj5cbjxuZy1jb250ZW50IHNlbGVjdD1cImF4LXN1ZmZpeFwiPjwvbmctY29udGVudD5cbkBpZihjaGlsZHJlbi5sZW5ndGgpe1xuPGkgY2xhc3M9XCJheC1pY29uIGF4LWljb24tc29saWQge3sgZ2V0SWNvbigpIH19IGF4LW1lbnUtaXRlbS1jaGlsZC1pY29uXCI+PC9pPlxufVxuPGF4LXBvcG92ZXIgI3BvcG92ZXIgW2Nsb3NlT25dPVwiJ2NsaWNrT3V0J1wiIFtvcGVuT25dPVwicm9vdE1lbnUub3Blbk9uKClcIiBbdGFyZ2V0XT1cImdldEhvc3RFbGVtZW50KClcIlxuICBbb2Zmc2V0WV09XCJvZmZzZXRZKClcIiBbb2Zmc2V0WF09XCJvZmZzZXRYKClcIiBbcGxhY2VtZW50XT1cImdldFBsYWNlbWVudCgpXCIgKG9uT3BlbmVkKT1cIl9oYW5kbGVPbk9wZW5lZCgpXCJcbiAgKG9uQ2xvc2VkKT1cIl9oYW5kbGVPbkNsb3NlZCgpXCI+XG4gIDxkaXYgY2xhc3M9XCJheC1tZW51LWl0ZW0tY2hpbGRyZW4gYXgtcGFyZW50LXt7IHRoaXMucm9vdE1lbnUub3JpZW50YXRpb24oKSB9fVwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LW1lbnUtaXRlbVwiPjwvbmctY29udGVudD5cbiAgPC9kaXY+XG48L2F4LXBvcG92ZXI+Il19
171
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tZW51L3NyYy9saWIvbWVudS1pdGVtL21lbnUtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbWVudS9zcmMvbGliL21lbnUtaXRlbS9tZW51LWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixzQkFBc0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFDTCxTQUFTLEVBQ1QsZUFBZSxFQUNmLFdBQVcsRUFDWCxZQUFZLEVBQ1osU0FBUyxFQUNULFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsZUFBZSxFQUNmLE1BQU0sRUFDTixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBRWhEOzs7R0FHRztBQWFILE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxzQkFBc0I7SUFnRTdELGNBQWM7SUFDZDtRQUNFLEtBQUssRUFBRSxDQUFDO1FBakVWLFlBQU8sR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFRaEM7O1dBRUc7UUFDSCxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUVwQzs7V0FFRztRQUNILFlBQU8sR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFcEI7O1dBRUc7UUFDSCxZQUFPLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXBCOztX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dGl2ZUNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xuaW1wb3J0IHsgQVhQb3BvdmVyQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3BvcG92ZXInO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEhvc3RCaW5kaW5nLFxuICBIb3N0TGlzdGVuZXIsXG4gIFF1ZXJ5TGlzdCxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgYWZ0ZXJOZXh0UmVuZGVyLFxuICBlZmZlY3QsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIG91dHB1dCxcbiAgc2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUm9vdE1lbnUgfSBmcm9tICcuLi9jbGFzcy9yb290LW1lbnUuY2xhc3MnO1xuaW1wb3J0IHsgQVhNZW51U2VydmljZSB9IGZyb20gJy4uL21lbnUuc2VydmljZSc7XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIG1lbnUgaXRlbSBjb21wb25lbnQgdXNlZCB3aXRoaW4gYW4gYGF4LW1lbnVgLlxuICogQGNhdGVnb3J5IENvbXBvbmVudHNcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtbWVudS1pdGVtJyxcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJ10sXG4gIHRlbXBsYXRlVXJsOiAnLi9tZW51LWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBob3N0OiB7IG5nU2tpcEh5ZHJhdGlvbjogJ3RydWUnIH0sXG4gIHN0eWxlczogYFxuICAgIC5heC1tZW51LWl0ZW0tdGV4dCB7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cbiAgYCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgQVhNZW51SXRlbUNvbXBvbmVudCBleHRlbmRzIE1YSW50ZXJhY3RpdmVDb21wb25lbnQge1xuICBzZXJ2aWNlID0gaW5qZWN0KEFYTWVudVNlcnZpY2UpO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIEBWaWV3Q2hpbGQoQVhQb3BvdmVyQ29tcG9uZW50KVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByaXZhdGUgcG9wb3ZlcjogQVhQb3BvdmVyQ29tcG9uZW50O1xuXG4gIC8qKlxuICAgKiBJbmplY3RzIHRoZSBgQVhNZW51U2VydmljZWAgZm9yIG1hbmFnaW5nIG1lbnUgaW50ZXJhY3Rpb25zLlxuICAgKi9cbiAgbWVudVNlcnZpY2UgPSBpbmplY3QoQVhNZW51U2VydmljZSk7XG5cbiAgLyoqXG4gICAqIFRoZSB2ZXJ0aWNhbCBvZmZzZXQgZm9yIHBvc2l0aW9uaW5nLCBpbml0aWFsaXplZCB0byAwLlxuICAgKi9cbiAgb2Zmc2V0WSA9IHNpZ25hbCgwKTtcblxuICAvKipcbiAgICogVGhlIGhvcml6b250YWwgb2Zmc2V0IGZvciBwb3NpdGlvbmluZywgaW5pdGlhbGl6ZWQgdG8gMC5cbiAgICovXG4gIG9mZnNldFggPSBzaWduYWwoMCk7XG5cbiAgLyoqXG4gICAqIFRoZSB0ZXh0IGNvbnRlbnQsIGluaXRpYWxpemVkIHRvIGFuIGVtcHR5IHN0cmluZy5cbiAgICovXG4gIHRleHQgPSBpbnB1dDxzdHJpbmc+KCk7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBpdGVtIGlzIGFjdGl2ZS5cbiAgICovXG4gIGFjdGl2ZSA9IGlucHV0PGJvb2xlYW4+KCk7XG5cbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgYWN0aXZlIHN0YXRlIGNoYW5nZXMuXG4gICAqL1xuICBhY3RpdmVDaGFuZ2UgPSBvdXRwdXQ8Ym9vbGVhbj4oKTtcblxuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBlbGVtZW50IGlzIGNsaWNrZWQuXG4gICAqL1xuICBvbkNsaWNrID0gb3V0cHV0PEFYQ2xpY2tFdmVudD4oKTtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGNvbXBvbmVudCBpcyBhIHJvb3QgbWVudSBpdGVtLlxuICAgKiBAZGVmYXVsdFZhbHVlIGZhbHNlXG4gICAqL1xuICBpc1Jvb3QgPSBmYWxzZTtcblxuICAvKipcbiAgICogVGhlIHBhcmVudCBtZW51IGl0ZW0gY29tcG9uZW50LCBpZiBhbnkuXG4gICAqL1xuICBwYXJlbnQ/OiBBWE1lbnVJdGVtQ29tcG9uZW50O1xuXG4gIC8qKlxuICAgKiBJbmplY3RzIHRoZSByb290IG1lbnUgc2VydmljZS5cbiAgICovXG4gIHJvb3RNZW51ID0gaW5qZWN0KEFYUm9vdE1lbnUpO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIEBDb250ZW50Q2hpbGRyZW4oQVhNZW51SXRlbUNvbXBvbmVudClcbiAgY2hpbGRyZW46IFF1ZXJ5TGlzdDxBWE1lbnVJdGVtQ29tcG9uZW50PjtcblxuICAvKiogQGlnbm9yZSAqL1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgYWZ0ZXJOZXh0UmVuZGVyKCgpID0+IHtcbiAgICAgIHRoaXMuY2hpbGRyZW4uZm9yRWFjaCgoYykgPT4ge1xuICAgICAgICBjLnBhcmVudCA9IHRoaXM7XG4gICAgICB9KTtcblxuICAgICAgdGhpcy5vZmZzZXRZLnNldCh0aGlzLmlzUm9vdCA/IDggOiAwKTtcbiAgICAgIHRoaXMub2Zmc2V0WC5zZXQodGhpcy5pc1Jvb3QgPyAwIDogNCk7XG5cbiAgICAgIHRoaXMuZ2V0UGxhY2VtZW50KCk7XG4gICAgfSk7XG5cbiAgICBlZmZlY3QoXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGlmICghdGhpcy5nZXRIb3N0RWxlbWVudCgpLmdldENsaWVudFJlY3RzKClbMF0/LnJpZ2h0KSByZXR1cm47XG4gICAgICAgIC8vYWRkIG92ZXJmbG93IGl0ZW1zIHRvIGFycmF5XG4gICAgICAgIGlmIChcbiAgICAgICAgICB0aGlzLmdldEhvc3RFbGVtZW50KCkuZ2V0Q2xpZW50UmVjdHMoKVswXT8ucmlnaHQgPiB0aGlzLnNlcnZpY2UucmlnaHRPdmVyZmxvdygpIHx8XG4gICAgICAgICAgdGhpcy5nZXRIb3N0RWxlbWVudCgpLmdldENsaWVudFJlY3RzKClbMF0/LmxlZnQgPCB0aGlzLnNlcnZpY2UubGVmdE92ZXJmbG93KClcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGhpcy5zZXJ2aWNlLm92ZXJmbG93RWxlbWVudHMudXBkYXRlKChwcmV2KSA9PiBbLi4ucHJldiwgdGhpcy5nZXRIb3N0RWxlbWVudCgpXSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5zZXJ2aWNlLm5vdE92ZXJmbG93RWxlbWVudHMudXBkYXRlKChwcmV2KSA9PiBbLi4ucHJldiwgdGhpcy5nZXRIb3N0RWxlbWVudCgpXSk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH0sXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbG9zZXMgdGhlIHBvcG92ZXIgaWYgaXQgaXMgb3Blbi5cbiAgICovXG4gIGNsb3NlKCkge1xuICAgIHRoaXMucG9wb3Zlcj8uY2xvc2UoKTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIF9oYW5kbGVPbk9wZW5lZCgpIHtcbiAgICB0aGlzLnBhcmVudC5jaGlsZHJlbi5mb3JFYWNoKChjKSA9PiB7XG4gICAgICBpZiAoYyAhPSB0aGlzKSB7XG4gICAgICAgIGMuY2xvc2UoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBpZiAodGhpcy5jaGlsZHJlbi5sZW5ndGgpIHtcbiAgICAgIHRoaXMubWVudVNlcnZpY2UuYWN0aXZlTWVudXMkLm5leHQodGhpcy5tZW51U2VydmljZS5hY3RpdmVNZW51cyQuZ2V0VmFsdWUoKS5jb25jYXQodGhpcykpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIF9oYW5kbGVPbkNsb3NlZCgpIHtcbiAgICB0aGlzLmNoaWxkcmVuLmZvckVhY2goKGMpID0+IHtcbiAgICAgIGMuY2xvc2UoKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBpY29uIGJhc2VkIG9uIHRoZSBvcmllbnRhdGlvbiBvZiB0aGUgcm9vdCBtZW51LlxuICAgKi9cbiAgZ2V0SWNvbigpIHtcbiAgICBpZiAodGhpcy5yb290TWVudS5vcmllbnRhdGlvbigpID09ICd2ZXJ0aWNhbCcpIHtcbiAgICAgIHJldHVybiAnYXgtaWNvbi1hcnJvdy1yaWdodCc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAnYXgtaWNvbi1hcnJvdy1kb3duJztcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRGV0ZXJtaW5lcyB0aGUgcGxhY2VtZW50IGJhc2VkIG9uIHRoZSByb290IG1lbnUncyBvcmllbnRhdGlvbjogJ2JvdHRvbS1zdGFydCcgZm9yIGhvcml6b250YWwgcm9vdCwgJ2VuZC10b3AnIG90aGVyd2lzZS5cbiAgICovXG4gIGdldFBsYWNlbWVudCgpIHtcbiAgICBzd2l0Y2ggKHRoaXMucm9vdE1lbnUub3JpZW50YXRpb24oKSkge1xuICAgICAgY2FzZSAnaG9yaXpvbnRhbCc6XG4gICAgICAgIGlmICh0aGlzLmlzUm9vdCkge1xuICAgICAgICAgIHJldHVybiAnYm90dG9tLXN0YXJ0JztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gJ2VuZC10b3AnO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAndmVydGljYWwnOlxuICAgICAgICBpZiAodGhpcy5pc1Jvb3QpIHtcbiAgICAgICAgICByZXR1cm4gJ2VuZC10b3AnO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiAnZW5kLXRvcCc7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gJ2JvdHRvbS1zdGFydCc7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIGdldCBfX2hvc3RDbGFzcygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIFtgJHt0aGlzLmRpc2FibGVkID8gJ2F4LXN0YXRlLWRpc2FibGVkJyA6ICcnfWAsIGAke3RoaXMuYWN0aXZlKCkgPyAnYXgtc3RhdGUtYWN0aXZlJyA6ICcnfWBdO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxuICBwcml2YXRlIF9faG9zdENsaWNrKGU6IE1vdXNlRXZlbnQpIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMub25DbGljay5lbWl0KHtcbiAgICAgICAgY29tcG9uZW50OiB0aGlzLFxuICAgICAgICBodG1sRWxlbWVudDogdGhpcy5nZXRIb3N0RWxlbWVudCgpLFxuICAgICAgICBuYXRpdmVFdmVudDogZSxcbiAgICAgIH0pO1xuICAgICAgaWYgKCF0aGlzLmNoaWxkcmVuLmxlbmd0aCkge1xuICAgICAgICB0aGlzLm1lbnVTZXJ2aWNlLmFjdGl2ZU1lbnVzJC5zdWJzY3JpYmUoKGMpID0+IGMuZm9yRWFjaCgoeCkgPT4geC5jbG9zZSgpKSkudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5tZW51U2VydmljZS5hY3RpdmVNZW51cyQubmV4dChbXSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYXgtbWVudS1pdGVtLXN0YXJ0LXNpZGVcIj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtcHJlZml4XCI+PC9uZy1jb250ZW50PlxuICA8cCBjbGFzcz1cImF4LW1lbnUtaXRlbS10ZXh0XCI+e3sgdGV4dCgpIH19PC9wPlxuPC9kaXY+XG48bmctY29udGVudCBzZWxlY3Q9XCJheC1zdWZmaXhcIj48L25nLWNvbnRlbnQ+XG5AaWYgKGNoaWxkcmVuLmxlbmd0aCkge1xuICA8aSBjbGFzcz1cImF4LWljb24gYXgtaWNvbi1zb2xpZCB7eyBnZXRJY29uKCkgfX0gYXgtbWVudS1pdGVtLWNoaWxkLWljb25cIj48L2k+XG59XG5cbjxheC1wb3BvdmVyXG4gICNwb3BvdmVyXG4gIFtjbG9zZU9uXT1cIidjbGlja091dCdcIlxuICBbb3Blbk9uXT1cInJvb3RNZW51Lm9wZW5PbigpXCJcbiAgW3RhcmdldF09XCJnZXRIb3N0RWxlbWVudCgpXCJcbiAgW29mZnNldFldPVwib2Zmc2V0WSgpXCJcbiAgW29mZnNldFhdPVwib2Zmc2V0WCgpXCJcbiAgW3BsYWNlbWVudF09XCJnZXRQbGFjZW1lbnQoKVwiXG4gIChvbk9wZW5lZCk9XCJfaGFuZGxlT25PcGVuZWQoKVwiXG4gIChvbkNsb3NlZCk9XCJfaGFuZGxlT25DbG9zZWQoKVwiXG4+XG4gIDxkaXYgY2xhc3M9XCJheC1tZW51LWl0ZW0tY2hpbGRyZW4gYXgtcGFyZW50LXt7IHRoaXMucm9vdE1lbnUub3JpZW50YXRpb24oKSB9fVwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LW1lbnUtaXRlbVwiPjwvbmctY29udGVudD5cbiAgPC9kaXY+XG48L2F4LXBvcG92ZXI+XG4iXX0=
@@ -1,18 +1,72 @@
1
1
  import { MXBaseComponent } from '@acorex/components/common';
2
- import { Component, ContentChildren, HostBinding, QueryList, ViewEncapsulation, input } from '@angular/core';
2
+ import { afterNextRender, Component, ContentChildren, effect, HostBinding, inject, input, QueryList, signal, ViewEncapsulation, } from '@angular/core';
3
3
  import { AXRootMenu } from './class/root-menu.class';
4
4
  import { AXMenuItemComponent } from './menu-item/menu-item.component';
5
5
  import { AXMenuService } from './menu.service';
6
6
  import * as i0 from "@angular/core";
7
+ import * as i1 from "@acorex/components/decorators";
7
8
  /**
8
9
  * Represents a menu component that displays menu items.
9
10
  * @category Components
10
11
  */
11
12
  export class AXMenuComponent extends MXBaseComponent {
12
13
  constructor() {
13
- super(...arguments);
14
+ super();
14
15
  this.orientation = input('horizontal');
15
16
  this.openOn = input('toggle');
17
+ this.service = inject(AXMenuService);
18
+ this.menuHeight = signal('');
19
+ this.isMenuOpen = signal(false);
20
+ afterNextRender(() => {
21
+ //add menu container border for detect overflow happen
22
+ this.menuHeight.set(`${this.getHostElement()?.getClientRects()[0]?.height}px`);
23
+ this.service.rightOverflow.set(this.getHostElement().querySelector('.ax-menu-item-container')?.getClientRects()[0]?.right);
24
+ this.service.leftOverflow.set(this.getHostElement().querySelector('.ax-menu-item-container')?.getClientRects()[0]?.left);
25
+ });
26
+ let resizeTimer;
27
+ window.addEventListener('resize', () => {
28
+ //add menu container border for detect overflow happen
29
+ clearTimeout(resizeTimer);
30
+ if (!this.getHostElement())
31
+ return;
32
+ resizeTimer = setTimeout(() => {
33
+ this.service.rightOverflow.set(this.getHostElement().querySelector('.ax-menu-item-container').getClientRects()[0].right);
34
+ this.service.leftOverflow.set(this.getHostElement().querySelector('.ax-menu-item-container').getClientRects()[0].left);
35
+ this.service.notOverflowElements.set([]);
36
+ this.service.overflowElements.set([]);
37
+ this.isMenuOpen.set(false);
38
+ }, 200);
39
+ });
40
+ effect(() => {
41
+ //rearrange items base on menu state
42
+ const overflowMenu = this.getHostElement().querySelector('.overflowMenu');
43
+ const originalMenu = this.getHostElement().querySelector('.originalMenu');
44
+ const injectContainer = this.getHostElement().querySelector('.ax-overflow-menu-container');
45
+ const injectContainer2 = this.getHostElement().querySelector('.ax-menu-item-container');
46
+ if (this.isMenuOpen()) {
47
+ overflowMenu?.remove();
48
+ const axMenu = document.createElement('ax-menu');
49
+ axMenu.classList.add('overflowMenu');
50
+ this.service.overflowElements().forEach((item) => {
51
+ axMenu.appendChild(item);
52
+ });
53
+ injectContainer.appendChild(axMenu);
54
+ }
55
+ else {
56
+ originalMenu?.remove();
57
+ overflowMenu?.remove();
58
+ const axMenu = document.createElement('ax-menu');
59
+ axMenu.classList.add('originalMenu');
60
+ const allItems = [...this.service.overflowElements(), ...this.service.notOverflowElements()];
61
+ allItems.forEach((item) => {
62
+ axMenu.appendChild(item);
63
+ });
64
+ injectContainer2.appendChild(axMenu);
65
+ }
66
+ });
67
+ }
68
+ showMenuHandler() {
69
+ this.isMenuOpen.update((prev) => !prev);
16
70
  }
17
71
  /** @ignore */
18
72
  ngAfterViewInit() {
@@ -23,10 +77,10 @@ export class AXMenuComponent extends MXBaseComponent {
23
77
  }
24
78
  /** @ignore */
25
79
  get __hostClass() {
26
- return `ax-orientation-${this.orientation()}`;
80
+ return `ax-orientation-${this.orientation()} main-menu`;
27
81
  }
28
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMenuComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
29
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.0", type: AXMenuComponent, selector: "ax-menu", inputs: { orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, openOn: { classPropertyName: "openOn", publicName: "openOn", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "this.__hostClass" } }, providers: [
82
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
83
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXMenuComponent, selector: "ax-menu", inputs: { orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, openOn: { classPropertyName: "openOn", publicName: "openOn", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "this.__hostClass" } }, providers: [
30
84
  {
31
85
  provide: AXRootMenu,
32
86
  useExisting: AXMenuComponent,
@@ -34,11 +88,51 @@ export class AXMenuComponent extends MXBaseComponent {
34
88
  {
35
89
  provide: AXMenuService,
36
90
  },
37
- ], queries: [{ propertyName: "children", predicate: AXMenuItemComponent }], usesInheritance: true, ngImport: i0, template: `<ng-content select="ax-menu-item,ng-container"></ng-content>`, isInline: true, styles: ["ax-menu{width:100%;font-size:.875rem;line-height:1.25rem;color:inherit}ax-menu.ax-orientation-horizontal{display:flex}ax-menu.ax-orientation-horizontal ax-menu-item:not(ax-menu.ax-orientation-horizontal ax-menu-item:last-child){margin-inline-end:1rem}ax-menu.ax-orientation-vertical{display:flex;flex-direction:column}ax-menu.ax-orientation-vertical ax-menu-item{justify-content:space-between}ax-menu.ax-orientation-vertical ax-menu-item:not(ax-menu.ax-orientation-vertical ax-menu-item:last-child){margin-bottom:1rem}ax-menu ax-menu-item:hover:not(ax-menu ax-menu-item:hover.ax-state-disabled){color:rgba(var(--ax-color-primary-500))}ax-menu-item{position:relative;display:flex;align-items:center;gap:.5rem;font-size:.875rem;line-height:1.25rem;font-weight:500;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;justify-content:space-between;color:rgba(var(--ax-color-text-default))}ax-menu-item:not(ax-menu-item.ax-state-disabled){cursor:pointer}ax-menu-item .ax-menu-item-start-side{display:flex;align-items:center;gap:.5rem}ax-menu-item.ax-state-disabled{cursor:not-allowed;opacity:.5}ax-menu-item.ax-state-selected{color:rgba(var(--ax-color-primary-500))}ax-menu-item .ax-menu-item-child-icon{width:fit-content;line-height:1}ax-menu-item ax-popover{position:absolute}.ax-menu-item-children{padding-top:.5rem;padding-bottom:.5rem}.ax-menu-item-children:not(.ax-menu-item-children:empty){display:flex;min-width:12rem;flex-direction:column;border-radius:var(--ax-rounded-border-default);border-width:1px;border-color:rgba(var(--ax-color-border-default));background-color:rgba(var(--ax-color-surface))}.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item{padding:.5rem 1rem;font-size:.875rem;line-height:1.25rem}.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item:hover:not(.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item:hover.ax-state-disabled){background-color:rgba(var(--ax-color-on-surface))}.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item:hover:not(.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item:hover.ax-state-disabled) ax-prefix,.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item:hover:not(.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item:hover.ax-state-disabled) ax-suffix{opacity:1}.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item ax-prefix,.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item ax-suffix{opacity:.75}.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item .ax-menu-item-text{flex:1 1 0%}html[dir=rtl] .ax-parent-horizontal .ax-menu-item-child-icon{transform:rotate(-90deg)}html[dir=rtl] .ax-parent-horizontal .ax-menu-item-child-icon:before{-moz-transform:scale(1,-1);-webkit-transform:scale(1,-1);-o-transform:scale(1,-1);-ms-transform:scale(1,-1);transform:scaleY(-1)}.ax-parent-horizontal .ax-menu-item-child-icon{transform:rotate(-90deg)}\n"], encapsulation: i0.ViewEncapsulation.None }); }
91
+ ], queries: [{ propertyName: "children", predicate: AXMenuItemComponent }], usesInheritance: true, ngImport: i0, template: `
92
+ <div class="ax-main-menu-container">
93
+ <div
94
+ [style]="{ width: this.service.overflowElements().length !== 0 ? '90%' : '100%' }"
95
+ class="ax-menu-item-container"
96
+ >
97
+ <ng-content select="ax-menu-item,ng-container"></ng-content>
98
+ </div>
99
+ @if (this.service.overflowElements().length !== 0) {
100
+ <div class="ax-show-truncate-menu">
101
+ <button (click)="showMenuHandler()" tabindex="0" type="button">
102
+ <ax-icon class="ax-icon ax-icon-more-horizontal ng-star-inserted ax-text-xl"></ax-icon>
103
+ </button>
104
+ </div>
105
+ }
106
+ </div>
107
+
108
+ @if (this.service.overflowElements().length !== 0) {
109
+ <div [style]="{ top: menuHeight() }" class="ax-overflow-menu-container ax-menu-item-children"></div>
110
+ }
111
+ `, isInline: true, styles: ["ax-menu{width:100%;font-size:.875rem;line-height:1.25rem;color:inherit;position:relative}ax-menu .ax-main-menu-container{display:flex;align-items:center;width:100%;overflow:hidden}ax-menu .ax-menu-item-container{display:flex;overflow:hidden}ax-menu .originalMenu{display:flex;overflow:hidden;width:100%}ax-menu .ax-show-truncate-menu{position:absolute;right:0;width:10%}ax-menu .ax-overflow-menu-container{position:absolute;right:0}ax-menu.ax-orientation-horizontal{display:flex}ax-menu.ax-orientation-horizontal ax-menu-item:not(ax-menu.ax-orientation-horizontal ax-menu-item:last-child){margin-inline-end:1rem}ax-menu.ax-orientation-vertical{display:flex;flex-direction:column}ax-menu.ax-orientation-vertical ax-menu-item{justify-content:space-between}ax-menu.ax-orientation-vertical ax-menu-item:not(ax-menu.ax-orientation-vertical ax-menu-item:last-child){margin-bottom:1rem}ax-menu ax-menu-item:hover:not(ax-menu ax-menu-item:hover.ax-state-disabled){color:rgba(var(--ax-color-primary-500))}ax-menu-item{position:relative;display:flex;align-items:center;gap:.5rem;font-size:.875rem;line-height:1.25rem;font-weight:500;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;justify-content:space-between;color:rgba(var(--ax-color-text-default))}ax-menu-item:not(ax-menu-item.ax-state-disabled){cursor:pointer}ax-menu-item .ax-menu-item-start-side{display:flex;align-items:center;gap:.5rem}ax-menu-item.ax-state-disabled{cursor:not-allowed;opacity:.5}ax-menu-item.ax-state-selected{color:rgba(var(--ax-color-primary-500))}ax-menu-item .ax-menu-item-child-icon{width:fit-content;line-height:1}ax-menu-item ax-popover{position:absolute}.ax-menu-item-children{padding-top:.5rem;padding-bottom:.5rem}.ax-menu-item-children:not(.ax-menu-item-children:empty){display:flex;min-width:12rem;flex-direction:column;border-radius:var(--ax-rounded-border-default);border-width:1px;border-color:rgba(var(--ax-color-border-default));background-color:rgba(var(--ax-color-surface))}.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item{padding:.5rem 1rem;font-size:.875rem;line-height:1.25rem}.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item:hover:not(.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item:hover.ax-state-disabled){background-color:rgba(var(--ax-color-on-surface))}.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item:hover:not(.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item:hover.ax-state-disabled) ax-prefix,.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item:hover:not(.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item:hover.ax-state-disabled) ax-suffix{opacity:1}.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item ax-prefix,.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item ax-suffix{opacity:.75}.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item .ax-menu-item-text{flex:1 1 0%}html[dir=rtl] .ax-parent-horizontal .ax-menu-item-child-icon{transform:rotate(-90deg)}html[dir=rtl] .ax-parent-horizontal .ax-menu-item-child-icon:before{-moz-transform:scale(1,-1);-webkit-transform:scale(1,-1);-o-transform:scale(1,-1);-ms-transform:scale(1,-1);transform:scaleY(-1)}.ax-parent-horizontal .ax-menu-item-child-icon{transform:rotate(-90deg)}\n"], dependencies: [{ kind: "component", type: i1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }], encapsulation: i0.ViewEncapsulation.None }); }
38
112
  }
39
113
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMenuComponent, decorators: [{
40
114
  type: Component,
41
- args: [{ selector: 'ax-menu', template: `<ng-content select="ax-menu-item,ng-container"></ng-content>`, encapsulation: ViewEncapsulation.None, providers: [
115
+ args: [{ selector: 'ax-menu', template: `
116
+ <div class="ax-main-menu-container">
117
+ <div
118
+ [style]="{ width: this.service.overflowElements().length !== 0 ? '90%' : '100%' }"
119
+ class="ax-menu-item-container"
120
+ >
121
+ <ng-content select="ax-menu-item,ng-container"></ng-content>
122
+ </div>
123
+ @if (this.service.overflowElements().length !== 0) {
124
+ <div class="ax-show-truncate-menu">
125
+ <button (click)="showMenuHandler()" tabindex="0" type="button">
126
+ <ax-icon class="ax-icon ax-icon-more-horizontal ng-star-inserted ax-text-xl"></ax-icon>
127
+ </button>
128
+ </div>
129
+ }
130
+ </div>
131
+
132
+ @if (this.service.overflowElements().length !== 0) {
133
+ <div [style]="{ top: menuHeight() }" class="ax-overflow-menu-container ax-menu-item-children"></div>
134
+ }
135
+ `, encapsulation: ViewEncapsulation.None, providers: [
42
136
  {
43
137
  provide: AXRootMenu,
44
138
  useExisting: AXMenuComponent,
@@ -46,12 +140,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
46
140
  {
47
141
  provide: AXMenuService,
48
142
  },
49
- ], styles: ["ax-menu{width:100%;font-size:.875rem;line-height:1.25rem;color:inherit}ax-menu.ax-orientation-horizontal{display:flex}ax-menu.ax-orientation-horizontal ax-menu-item:not(ax-menu.ax-orientation-horizontal ax-menu-item:last-child){margin-inline-end:1rem}ax-menu.ax-orientation-vertical{display:flex;flex-direction:column}ax-menu.ax-orientation-vertical ax-menu-item{justify-content:space-between}ax-menu.ax-orientation-vertical ax-menu-item:not(ax-menu.ax-orientation-vertical ax-menu-item:last-child){margin-bottom:1rem}ax-menu ax-menu-item:hover:not(ax-menu ax-menu-item:hover.ax-state-disabled){color:rgba(var(--ax-color-primary-500))}ax-menu-item{position:relative;display:flex;align-items:center;gap:.5rem;font-size:.875rem;line-height:1.25rem;font-weight:500;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;justify-content:space-between;color:rgba(var(--ax-color-text-default))}ax-menu-item:not(ax-menu-item.ax-state-disabled){cursor:pointer}ax-menu-item .ax-menu-item-start-side{display:flex;align-items:center;gap:.5rem}ax-menu-item.ax-state-disabled{cursor:not-allowed;opacity:.5}ax-menu-item.ax-state-selected{color:rgba(var(--ax-color-primary-500))}ax-menu-item .ax-menu-item-child-icon{width:fit-content;line-height:1}ax-menu-item ax-popover{position:absolute}.ax-menu-item-children{padding-top:.5rem;padding-bottom:.5rem}.ax-menu-item-children:not(.ax-menu-item-children:empty){display:flex;min-width:12rem;flex-direction:column;border-radius:var(--ax-rounded-border-default);border-width:1px;border-color:rgba(var(--ax-color-border-default));background-color:rgba(var(--ax-color-surface))}.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item{padding:.5rem 1rem;font-size:.875rem;line-height:1.25rem}.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item:hover:not(.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item:hover.ax-state-disabled){background-color:rgba(var(--ax-color-on-surface))}.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item:hover:not(.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item:hover.ax-state-disabled) ax-prefix,.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item:hover:not(.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item:hover.ax-state-disabled) ax-suffix{opacity:1}.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item ax-prefix,.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item ax-suffix{opacity:.75}.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item .ax-menu-item-text{flex:1 1 0%}html[dir=rtl] .ax-parent-horizontal .ax-menu-item-child-icon{transform:rotate(-90deg)}html[dir=rtl] .ax-parent-horizontal .ax-menu-item-child-icon:before{-moz-transform:scale(1,-1);-webkit-transform:scale(1,-1);-o-transform:scale(1,-1);-ms-transform:scale(1,-1);transform:scaleY(-1)}.ax-parent-horizontal .ax-menu-item-child-icon{transform:rotate(-90deg)}\n"] }]
50
- }], propDecorators: { children: [{
143
+ ], styles: ["ax-menu{width:100%;font-size:.875rem;line-height:1.25rem;color:inherit;position:relative}ax-menu .ax-main-menu-container{display:flex;align-items:center;width:100%;overflow:hidden}ax-menu .ax-menu-item-container{display:flex;overflow:hidden}ax-menu .originalMenu{display:flex;overflow:hidden;width:100%}ax-menu .ax-show-truncate-menu{position:absolute;right:0;width:10%}ax-menu .ax-overflow-menu-container{position:absolute;right:0}ax-menu.ax-orientation-horizontal{display:flex}ax-menu.ax-orientation-horizontal ax-menu-item:not(ax-menu.ax-orientation-horizontal ax-menu-item:last-child){margin-inline-end:1rem}ax-menu.ax-orientation-vertical{display:flex;flex-direction:column}ax-menu.ax-orientation-vertical ax-menu-item{justify-content:space-between}ax-menu.ax-orientation-vertical ax-menu-item:not(ax-menu.ax-orientation-vertical ax-menu-item:last-child){margin-bottom:1rem}ax-menu ax-menu-item:hover:not(ax-menu ax-menu-item:hover.ax-state-disabled){color:rgba(var(--ax-color-primary-500))}ax-menu-item{position:relative;display:flex;align-items:center;gap:.5rem;font-size:.875rem;line-height:1.25rem;font-weight:500;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;justify-content:space-between;color:rgba(var(--ax-color-text-default))}ax-menu-item:not(ax-menu-item.ax-state-disabled){cursor:pointer}ax-menu-item .ax-menu-item-start-side{display:flex;align-items:center;gap:.5rem}ax-menu-item.ax-state-disabled{cursor:not-allowed;opacity:.5}ax-menu-item.ax-state-selected{color:rgba(var(--ax-color-primary-500))}ax-menu-item .ax-menu-item-child-icon{width:fit-content;line-height:1}ax-menu-item ax-popover{position:absolute}.ax-menu-item-children{padding-top:.5rem;padding-bottom:.5rem}.ax-menu-item-children:not(.ax-menu-item-children:empty){display:flex;min-width:12rem;flex-direction:column;border-radius:var(--ax-rounded-border-default);border-width:1px;border-color:rgba(var(--ax-color-border-default));background-color:rgba(var(--ax-color-surface))}.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item{padding:.5rem 1rem;font-size:.875rem;line-height:1.25rem}.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item:hover:not(.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item:hover.ax-state-disabled){background-color:rgba(var(--ax-color-on-surface))}.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item:hover:not(.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item:hover.ax-state-disabled) ax-prefix,.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item:hover:not(.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item:hover.ax-state-disabled) ax-suffix{opacity:1}.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item ax-prefix,.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item ax-suffix{opacity:.75}.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item .ax-menu-item-text{flex:1 1 0%}html[dir=rtl] .ax-parent-horizontal .ax-menu-item-child-icon{transform:rotate(-90deg)}html[dir=rtl] .ax-parent-horizontal .ax-menu-item-child-icon:before{-moz-transform:scale(1,-1);-webkit-transform:scale(1,-1);-o-transform:scale(1,-1);-ms-transform:scale(1,-1);transform:scaleY(-1)}.ax-parent-horizontal .ax-menu-item-child-icon{transform:rotate(-90deg)}\n"] }]
144
+ }], ctorParameters: () => [], propDecorators: { children: [{
51
145
  type: ContentChildren,
52
146
  args: [AXMenuItemComponent]
53
147
  }], __hostClass: [{
54
148
  type: HostBinding,
55
149
  args: ['class']
56
150
  }] } });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbWVudS9zcmMvbGliL21lbnUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0UsT0FBTyxFQUFpQixTQUFTLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTVILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBRS9DOzs7R0FHRztBQWdCSCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxlQUFlO0lBZnBEOztRQWdCRSxnQkFBVyxHQUFHLEtBQUssQ0FBZ0IsWUFBWSxDQUFDLENBQUM7UUFDakQsV0FBTSxHQUFHLEtBQUssQ0FBdUIsUUFBUSxDQUFDLENBQUM7S0FtQmhEO0lBYkMsY0FBYztJQUNkLGVBQWU7UUFDYixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQzFCLENBQUMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQ2hCLENBQUMsQ0FBQyxNQUFNLEdBQUcsSUFBc0MsQ0FBQztRQUNwRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxjQUFjO0lBQ2QsSUFDSSxXQUFXO1FBQ2IsT0FBTyxrQkFBa0IsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7SUFDaEQsQ0FBQzs4R0FwQlUsZUFBZTtrR0FBZixlQUFlLDBXQVZmO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLFVBQVU7Z0JBQ25CLFdBQVcsRUFBRSxlQUFlO2FBQzdCO1lBQ0Q7Z0JBQ0UsT0FBTyxFQUFFLGFBQWE7YUFDdkI7U0FDRixtREFPZ0IsbUJBQW1CLG9EQWxCMUIsOERBQThEOzsyRkFhN0QsZUFBZTtrQkFmM0IsU0FBUzsrQkFDRSxTQUFTLFlBQ1QsOERBQThELGlCQUV6RCxpQkFBaUIsQ0FBQyxJQUFJLGFBQzFCO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxVQUFVOzRCQUNuQixXQUFXLGlCQUFpQjt5QkFDN0I7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLGFBQWE7eUJBQ3ZCO3FCQUNGOzhCQVFELFFBQVE7c0JBRFAsZUFBZTt1QkFBQyxtQkFBbUI7Z0JBYWhDLFdBQVc7c0JBRGQsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhPcmllbnRhdGlvbiwgTVhCYXNlQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XG5pbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbiwgSG9zdEJpbmRpbmcsIFF1ZXJ5TGlzdCwgVmlld0VuY2Fwc3VsYXRpb24sIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWE1lbnVQb3BvdmVyVHJpZ2dlciB9IGZyb20gJy4vY2xhc3MvcG9wb3Zlci5jbGFzcyc7XG5pbXBvcnQgeyBBWFJvb3RNZW51IH0gZnJvbSAnLi9jbGFzcy9yb290LW1lbnUuY2xhc3MnO1xuaW1wb3J0IHsgQVhNZW51SXRlbUNvbXBvbmVudCB9IGZyb20gJy4vbWVudS1pdGVtL21lbnUtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhNZW51U2VydmljZSB9IGZyb20gJy4vbWVudS5zZXJ2aWNlJztcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgbWVudSBjb21wb25lbnQgdGhhdCBkaXNwbGF5cyBtZW51IGl0ZW1zLlxuICogQGNhdGVnb3J5IENvbXBvbmVudHNcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtbWVudScsXG4gIHRlbXBsYXRlOiBgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtbWVudS1pdGVtLG5nLWNvbnRhaW5lclwiPjwvbmctY29udGVudD5gLFxuICBzdHlsZVVybHM6IFsnLi9tZW51LmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYUm9vdE1lbnUsXG4gICAgICB1c2VFeGlzdGluZzogQVhNZW51Q29tcG9uZW50LFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhNZW51U2VydmljZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBWE1lbnVDb21wb25lbnQgZXh0ZW5kcyBNWEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgb3JpZW50YXRpb24gPSBpbnB1dDxBWE9yaWVudGF0aW9uPignaG9yaXpvbnRhbCcpO1xuICBvcGVuT24gPSBpbnB1dDxBWE1lbnVQb3BvdmVyVHJpZ2dlcj4oJ3RvZ2dsZScpO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIEBDb250ZW50Q2hpbGRyZW4oQVhNZW51SXRlbUNvbXBvbmVudClcbiAgY2hpbGRyZW46IFF1ZXJ5TGlzdDxBWE1lbnVJdGVtQ29tcG9uZW50PjtcblxuICAvKiogQGlnbm9yZSAqL1xuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5jaGlsZHJlbi5mb3JFYWNoKChjKSA9PiB7XG4gICAgICBjLmlzUm9vdCA9IHRydWU7XG4gICAgICBjLnBhcmVudCA9IHRoaXMgYXMgdW5rbm93biBhcyBBWE1lbnVJdGVtQ29tcG9uZW50O1xuICAgIH0pO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIGdldCBfX2hvc3RDbGFzcygpOiBzdHJpbmcge1xuICAgIHJldHVybiBgYXgtb3JpZW50YXRpb24tJHt0aGlzLm9yaWVudGF0aW9uKCl9YDtcbiAgfVxufVxuIl19
151
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbWVudS9zcmMvbGliL21lbnUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0UsT0FBTyxFQUNMLGVBQWUsRUFFZixTQUFTLEVBQ1QsZUFBZSxFQUNmLE1BQU0sRUFDTixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFDTCxTQUFTLEVBQ1QsTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFFL0M7OztHQUdHO0FBb0NILE1BQU0sT0FBTyxlQUFnQixTQUFRLGVBQWU7SUFXbEQ7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQVhWLGdCQUFXLEdBQUcsS0FBSyxDQUFnQixZQUFZLENBQUMsQ0FBQztRQUNqRCxXQUFNLEdBQUcsS0FBSyxDQUF1QixRQUFRLENBQUMsQ0FBQztRQUMvQyxZQUFPLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2hDLGVBQVUsR0FBRyxNQUFNLENBQVMsRUFBRSxDQUFDLENBQUM7UUFDaEMsZUFBVSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQVN6QixlQUFlLENBQUMsR0FBRyxFQUFFO1lBQ25CLHNEQUFzRDtZQUN0RCxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLElBQUksQ0FBQyxDQUFD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RixtREFVZ0IsbUJBQW1CLG9EQXpDMUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JUOzsyRkFhVSxlQUFlO2tCQW5DM0IsU0FBUzsrQkFDRSxTQUFTLFlBQ1Q7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JULGlCQUVjLGlCQUFpQixDQUFDLElBQUksYUFDMUI7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLFVBQVU7NEJBQ25CLFdBQVcsaUJBQWlCO3lCQUM3Qjt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsYUFBYTt5QkFDdkI7cUJBQ0Y7d0RBV0QsUUFBUTtzQkFEUCxlQUFlO3VCQUFDLG1CQUFtQjtnQkFnRmhDLFdBQVc7c0JBRGQsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhPcmllbnRhdGlvbiwgTVhCYXNlQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XG5pbXBvcnQge1xuICBhZnRlck5leHRSZW5kZXIsXG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBlZmZlY3QsXG4gIEhvc3RCaW5kaW5nLFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBRdWVyeUxpc3QsXG4gIHNpZ25hbCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhNZW51UG9wb3ZlclRyaWdnZXIgfSBmcm9tICcuL2NsYXNzL3BvcG92ZXIuY2xhc3MnO1xuaW1wb3J0IHsgQVhSb290TWVudSB9IGZyb20gJy4vY2xhc3Mvcm9vdC1tZW51LmNsYXNzJztcbmltcG9ydCB7IEFYTWVudUl0ZW1Db21wb25lbnQgfSBmcm9tICcuL21lbnUtaXRlbS9tZW51LWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IEFYTWVudVNlcnZpY2UgfSBmcm9tICcuL21lbnUuc2VydmljZSc7XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIG1lbnUgY29tcG9uZW50IHRoYXQgZGlzcGxheXMgbWVudSBpdGVtcy5cbiAqIEBjYXRlZ29yeSBDb21wb25lbnRzXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LW1lbnUnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJheC1tYWluLW1lbnUtY29udGFpbmVyXCI+XG4gICAgICA8ZGl2XG4gICAgICAgIFtzdHlsZV09XCJ7IHdpZHRoOiB0aGlzLnNlcnZpY2Uub3ZlcmZsb3dFbGVtZW50cygpLmxlbmd0aCAhPT0gMCA/ICc5MCUnIDogJzEwMCUnIH1cIlxuICAgICAgICBjbGFzcz1cImF4LW1lbnUtaXRlbS1jb250YWluZXJcIlxuICAgICAgPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJheC1tZW51LWl0ZW0sbmctY29udGFpbmVyXCI+PC9uZy1jb250ZW50PlxuICAgICAgPC9kaXY+XG4gICAgICBAaWYgKHRoaXMuc2VydmljZS5vdmVyZmxvd0VsZW1lbnRzKCkubGVuZ3RoICE9PSAwKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJheC1zaG93LXRydW5jYXRlLW1lbnVcIj5cbiAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJzaG93TWVudUhhbmRsZXIoKVwiIHRhYmluZGV4PVwiMFwiIHR5cGU9XCJidXR0b25cIj5cbiAgICAgICAgICAgIDxheC1pY29uIGNsYXNzPVwiYXgtaWNvbiBheC1pY29uLW1vcmUtaG9yaXpvbnRhbCBuZy1zdGFyLWluc2VydGVkIGF4LXRleHQteGxcIj48L2F4LWljb24+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIDwvZGl2PlxuXG4gICAgQGlmICh0aGlzLnNlcnZpY2Uub3ZlcmZsb3dFbGVtZW50cygpLmxlbmd0aCAhPT0gMCkge1xuICAgICAgPGRpdiBbc3R5bGVdPVwieyB0b3A6IG1lbnVIZWlnaHQoKSB9XCIgY2xhc3M9XCJheC1vdmVyZmxvdy1tZW51LWNvbnRhaW5lciBheC1tZW51LWl0ZW0tY2hpbGRyZW5cIj48L2Rpdj5cbiAgICB9XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL21lbnUuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhSb290TWVudSxcbiAgICAgIHVzZUV4aXN0aW5nOiBBWE1lbnVDb21wb25lbnQsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWE1lbnVTZXJ2aWNlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYTWVudUNvbXBvbmVudCBleHRlbmRzIE1YQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBvcmllbnRhdGlvbiA9IGlucHV0PEFYT3JpZW50YXRpb24+KCdob3Jpem9udGFsJyk7XG4gIG9wZW5PbiA9IGlucHV0PEFYTWVudVBvcG92ZXJUcmlnZ2VyPigndG9nZ2xlJyk7XG4gIHNlcnZpY2UgPSBpbmplY3QoQVhNZW51U2VydmljZSk7XG4gIG1lbnVIZWlnaHQgPSBzaWduYWw8c3RyaW5nPignJyk7XG4gIGlzTWVudU9wZW4gPSBzaWduYWwoZmFsc2UpO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIEBDb250ZW50Q2hpbGRyZW4oQVhNZW51SXRlbUNvbXBvbmVudClcbiAgY2hpbGRyZW46IFF1ZXJ5TGlzdDxBWE1lbnVJdGVtQ29tcG9uZW50PjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgYWZ0ZXJOZXh0UmVuZGVyKCgpID0+IHtcbiAgICAgIC8vYWRkIG1lbnUgY29udGFpbmVyIGJvcmRlciBmb3IgZGV0ZWN0IG92ZXJmbG93IGhhcHBlblxuICAgICAgdGhpcy5tZW51SGVpZ2h0LnNldChgJHt0aGlzLmdldEhvc3RFbGVtZW50KCk/LmdldENsaWVudFJlY3RzKClbMF0/LmhlaWdodH1weGApO1xuICAgICAgdGhpcy5zZXJ2aWNlLnJpZ2h0T3ZlcmZsb3cuc2V0KFxuICAgICAgICB0aGlzLmdldEhvc3RFbGVtZW50KCkucXVlcnlTZWxlY3RvcignLmF4LW1lbnUtaXRlbS1jb250YWluZXInKT8uZ2V0Q2xpZW50UmVjdHMoKVswXT8ucmlnaHQsXG4gICAgICApO1xuICAgICAgdGhpcy5zZXJ2aWNlLmxlZnRPdmVyZmxvdy5zZXQoXG4gICAgICAgIHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yKCcuYXgtbWVudS1pdGVtLWNvbnRhaW5lcicpPy5nZXRDbGllbnRSZWN0cygpWzBdPy5sZWZ0LFxuICAgICAgKTtcbiAgICB9KTtcblxuICAgIGxldCByZXNpemVUaW1lcjtcblxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCAoKSA9PiB7XG4gICAgICAvL2FkZCBtZW51IGNvbnRhaW5lciBib3JkZXIgZm9yIGRldGVjdCBvdmVyZmxvdyBoYXBwZW5cbiAgICAgIGNsZWFyVGltZW91dChyZXNpemVUaW1lcik7XG4gICAgICBpZiAoIXRoaXMuZ2V0SG9zdEVsZW1lbnQoKSkgcmV0dXJuO1xuICAgICAgcmVzaXplVGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5zZXJ2aWNlLnJpZ2h0T3ZlcmZsb3cuc2V0KFxuICAgICAgICAgIHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yKCcuYXgtbWVudS1pdGVtLWNvbnRhaW5lcicpLmdldENsaWVudFJlY3RzKClbMF0ucmlnaHQsXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuc2VydmljZS5sZWZ0T3ZlcmZsb3cuc2V0KFxuICAgICAgICAgIHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yKCcuYXgtbWVudS1pdGVtLWNvbnRhaW5lcicpLmdldENsaWVudFJlY3RzKClbMF0ubGVmdCxcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5zZXJ2aWNlLm5vdE92ZXJmbG93RWxlbWVudHMuc2V0KFtdKTtcbiAgICAgICAgdGhpcy5zZXJ2aWNlLm92ZXJmbG93RWxlbWVudHMuc2V0KFtdKTtcbiAgICAgICAgdGhpcy5pc01lbnVPcGVuLnNldChmYWxzZSk7XG4gICAgICB9LCAyMDApO1xuICAgIH0pO1xuXG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIC8vcmVhcnJhbmdlIGl0ZW1zIGJhc2Ugb24gbWVudSBzdGF0ZVxuICAgICAgY29uc3Qgb3ZlcmZsb3dNZW51ID0gdGhpcy5nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3IoJy5vdmVyZmxvd01lbnUnKTtcbiAgICAgIGNvbnN0IG9yaWdpbmFsTWVudSA9IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yKCcub3JpZ2luYWxNZW51Jyk7XG4gICAgICBjb25zdCBpbmplY3RDb250YWluZXIgPSB0aGlzLmdldEhvc3RFbGVtZW50KCkucXVlcnlTZWxlY3RvcignLmF4LW92ZXJmbG93LW1lbnUtY29udGFpbmVyJyk7XG4gICAgICBjb25zdCBpbmplY3RDb250YWluZXIyID0gdGhpcy5nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3IoJy5heC1tZW51LWl0ZW0tY29udGFpbmVyJyk7XG5cbiAgICAgIGlmICh0aGlzLmlzTWVudU9wZW4oKSkge1xuICAgICAgICBvdmVyZmxvd01lbnU/LnJlbW92ZSgpO1xuICAgICAgICBjb25zdCBheE1lbnUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdheC1tZW51Jyk7XG4gICAgICAgIGF4TWVudS5jbGFzc0xpc3QuYWRkKCdvdmVyZmxvd01lbnUnKTtcbiAgICAgICAgdGhpcy5zZXJ2aWNlLm92ZXJmbG93RWxlbWVudHMoKS5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgYXhNZW51LmFwcGVuZENoaWxkKGl0ZW0pO1xuICAgICAgICB9KTtcbiAgICAgICAgaW5qZWN0Q29udGFpbmVyLmFwcGVuZENoaWxkKGF4TWVudSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvcmlnaW5hbE1lbnU/LnJlbW92ZSgpO1xuICAgICAgICBvdmVyZmxvd01lbnU/LnJlbW92ZSgpO1xuICAgICAgICBjb25zdCBheE1lbnUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdheC1tZW51Jyk7XG4gICAgICAgIGF4TWVudS5jbGFzc0xpc3QuYWRkKCdvcmlnaW5hbE1lbnUnKTtcbiAgICAgICAgY29uc3QgYWxsSXRlbXMgPSBbLi4udGhpcy5zZXJ2aWNlLm92ZXJmbG93RWxlbWVudHMoKSwgLi4udGhpcy5zZXJ2aWNlLm5vdE92ZXJmbG93RWxlbWVudHMoKV07XG4gICAgICAgIGFsbEl0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICBheE1lbnUuYXBwZW5kQ2hpbGQoaXRlbSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGluamVjdENvbnRhaW5lcjIuYXBwZW5kQ2hpbGQoYXhNZW51KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHNob3dNZW51SGFuZGxlcigpIHtcbiAgICB0aGlzLmlzTWVudU9wZW4udXBkYXRlKChwcmV2KSA9PiAhcHJldik7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5jaGlsZHJlbi5mb3JFYWNoKChjKSA9PiB7XG4gICAgICBjLmlzUm9vdCA9IHRydWU7XG4gICAgICBjLnBhcmVudCA9IHRoaXMgYXMgdW5rbm93biBhcyBBWE1lbnVJdGVtQ29tcG9uZW50O1xuICAgIH0pO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIGdldCBfX2hvc3RDbGFzcygpOiBzdHJpbmcge1xuICAgIHJldHVybiBgYXgtb3JpZW50YXRpb24tJHt0aGlzLm9yaWVudGF0aW9uKCl9IG1haW4tbWVudWA7XG4gIH1cbn1cbiJdfQ==