igniteui-angular 22.1.0-beta.2 → 22.1.0-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. package/fesm2022/igniteui-angular-accordion.mjs +7 -7
  2. package/fesm2022/igniteui-angular-action-strip.mjs +10 -10
  3. package/fesm2022/igniteui-angular-avatar.mjs +7 -7
  4. package/fesm2022/igniteui-angular-badge.mjs +7 -7
  5. package/fesm2022/igniteui-angular-banner.mjs +11 -11
  6. package/fesm2022/igniteui-angular-banner.mjs.map +1 -1
  7. package/fesm2022/igniteui-angular-bottom-nav.mjs +27 -24
  8. package/fesm2022/igniteui-angular-bottom-nav.mjs.map +1 -1
  9. package/fesm2022/igniteui-angular-button-group.mjs +7 -7
  10. package/fesm2022/igniteui-angular-calendar.mjs +65 -65
  11. package/fesm2022/igniteui-angular-calendar.mjs.map +1 -1
  12. package/fesm2022/igniteui-angular-card.mjs +39 -34
  13. package/fesm2022/igniteui-angular-card.mjs.map +1 -1
  14. package/fesm2022/igniteui-angular-carousel.mjs +22 -22
  15. package/fesm2022/igniteui-angular-chat-extras.mjs +6 -6
  16. package/fesm2022/igniteui-angular-chat.mjs +12 -12
  17. package/fesm2022/igniteui-angular-checkbox.mjs +7 -7
  18. package/fesm2022/igniteui-angular-chips.mjs +11 -11
  19. package/fesm2022/igniteui-angular-chips.mjs.map +1 -1
  20. package/fesm2022/igniteui-angular-combo.mjs +55 -55
  21. package/fesm2022/igniteui-angular-combo.mjs.map +1 -1
  22. package/fesm2022/igniteui-angular-core.mjs +54 -54
  23. package/fesm2022/igniteui-angular-date-picker.mjs +38 -38
  24. package/fesm2022/igniteui-angular-dialog.mjs +17 -15
  25. package/fesm2022/igniteui-angular-dialog.mjs.map +1 -1
  26. package/fesm2022/igniteui-angular-directives.mjs +219 -193
  27. package/fesm2022/igniteui-angular-directives.mjs.map +1 -1
  28. package/fesm2022/igniteui-angular-drop-down.mjs +30 -30
  29. package/fesm2022/igniteui-angular-drop-down.mjs.map +1 -1
  30. package/fesm2022/igniteui-angular-expansion-panel.mjs +34 -30
  31. package/fesm2022/igniteui-angular-expansion-panel.mjs.map +1 -1
  32. package/fesm2022/igniteui-angular-grids-core.mjs +433 -431
  33. package/fesm2022/igniteui-angular-grids-core.mjs.map +1 -1
  34. package/fesm2022/igniteui-angular-grids-grid.mjs +58 -53
  35. package/fesm2022/igniteui-angular-grids-grid.mjs.map +1 -1
  36. package/fesm2022/igniteui-angular-grids-hierarchical-grid.mjs +39 -39
  37. package/fesm2022/igniteui-angular-grids-hierarchical-grid.mjs.map +1 -1
  38. package/fesm2022/igniteui-angular-grids-lite.mjs +12 -12
  39. package/fesm2022/igniteui-angular-grids-pivot-grid.mjs +82 -82
  40. package/fesm2022/igniteui-angular-grids-pivot-grid.mjs.map +1 -1
  41. package/fesm2022/igniteui-angular-grids-tree-grid.mjs +57 -57
  42. package/fesm2022/igniteui-angular-grids-tree-grid.mjs.map +1 -1
  43. package/fesm2022/igniteui-angular-icon.mjs +11 -11
  44. package/fesm2022/igniteui-angular-icon.mjs.map +1 -1
  45. package/fesm2022/igniteui-angular-input-group.mjs +26 -26
  46. package/fesm2022/igniteui-angular-input-group.mjs.map +1 -1
  47. package/fesm2022/igniteui-angular-list.mjs +46 -42
  48. package/fesm2022/igniteui-angular-list.mjs.map +1 -1
  49. package/fesm2022/igniteui-angular-navbar.mjs +18 -15
  50. package/fesm2022/igniteui-angular-navbar.mjs.map +1 -1
  51. package/fesm2022/igniteui-angular-navigation-drawer.mjs +21 -18
  52. package/fesm2022/igniteui-angular-navigation-drawer.mjs.map +1 -1
  53. package/fesm2022/igniteui-angular-paginator.mjs +19 -19
  54. package/fesm2022/igniteui-angular-progressbar.mjs +19 -19
  55. package/fesm2022/igniteui-angular-query-builder.mjs +23 -23
  56. package/fesm2022/igniteui-angular-query-builder.mjs.map +1 -1
  57. package/fesm2022/igniteui-angular-radio.mjs +10 -10
  58. package/fesm2022/igniteui-angular-select.mjs +27 -27
  59. package/fesm2022/igniteui-angular-select.mjs.map +1 -1
  60. package/fesm2022/igniteui-angular-simple-combo.mjs +9 -9
  61. package/fesm2022/igniteui-angular-simple-combo.mjs.map +1 -1
  62. package/fesm2022/igniteui-angular-slider.mjs +28 -28
  63. package/fesm2022/igniteui-angular-snackbar.mjs +8 -8
  64. package/fesm2022/igniteui-angular-snackbar.mjs.map +1 -1
  65. package/fesm2022/igniteui-angular-splitter.mjs +13 -13
  66. package/fesm2022/igniteui-angular-stepper.mjs +42 -39
  67. package/fesm2022/igniteui-angular-stepper.mjs.map +1 -1
  68. package/fesm2022/igniteui-angular-switch.mjs +7 -7
  69. package/fesm2022/igniteui-angular-tabs.mjs +39 -37
  70. package/fesm2022/igniteui-angular-tabs.mjs.map +1 -1
  71. package/fesm2022/igniteui-angular-time-picker.mjs +21 -21
  72. package/fesm2022/igniteui-angular-time-picker.mjs.map +1 -1
  73. package/fesm2022/igniteui-angular-toast.mjs +10 -9
  74. package/fesm2022/igniteui-angular-toast.mjs.map +1 -1
  75. package/fesm2022/igniteui-angular-tree.mjs +30 -30
  76. package/fesm2022/igniteui-angular-tree.mjs.map +1 -1
  77. package/lib/core/styles/components/button/_button-theme.scss +13 -12
  78. package/lib/core/styles/components/highlight/highlight-theme.scss +1 -6
  79. package/lib/core/styles/components/icon-button/_icon-button-theme.scss +5 -7
  80. package/lib/core/styles/components/label/_label-theme.scss +1 -6
  81. package/lib/core/styles/components/rating/_rating-theme.scss +1 -6
  82. package/lib/core/styles/components/ripple/_ripple-theme.scss +1 -6
  83. package/lib/core/styles/components/tooltip/_tooltip-theme.scss +1 -6
  84. package/lib/core/styles/themes/generators/_base.scss +6 -2
  85. package/lib/core/styles/typography/_typography.scss +3 -5
  86. package/package.json +2 -2
  87. package/styles/igniteui-angular-dark.css +1 -1
  88. package/styles/igniteui-angular.css +1 -1
  89. package/styles/igniteui-bootstrap-dark.css +1 -1
  90. package/styles/igniteui-bootstrap-light.css +1 -1
  91. package/styles/igniteui-dark-green.css +1 -1
  92. package/styles/igniteui-fluent-dark-excel.css +1 -1
  93. package/styles/igniteui-fluent-dark-word.css +1 -1
  94. package/styles/igniteui-fluent-dark.css +1 -1
  95. package/styles/igniteui-fluent-light-excel.css +1 -1
  96. package/styles/igniteui-fluent-light-word.css +1 -1
  97. package/styles/igniteui-fluent-light.css +1 -1
  98. package/styles/igniteui-indigo-dark.css +1 -1
  99. package/styles/igniteui-indigo-light.css +1 -1
  100. package/styles/maps/igniteui-angular-dark.css.map +1 -1
  101. package/styles/maps/igniteui-angular.css.map +1 -1
  102. package/styles/maps/igniteui-bootstrap-dark.css.map +1 -1
  103. package/styles/maps/igniteui-bootstrap-light.css.map +1 -1
  104. package/styles/maps/igniteui-dark-green.css.map +1 -1
  105. package/styles/maps/igniteui-fluent-dark-excel.css.map +1 -1
  106. package/styles/maps/igniteui-fluent-dark-word.css.map +1 -1
  107. package/styles/maps/igniteui-fluent-dark.css.map +1 -1
  108. package/styles/maps/igniteui-fluent-light-excel.css.map +1 -1
  109. package/styles/maps/igniteui-fluent-light-word.css.map +1 -1
  110. package/styles/maps/igniteui-fluent-light.css.map +1 -1
  111. package/styles/maps/igniteui-indigo-dark.css.map +1 -1
  112. package/styles/maps/igniteui-indigo-light.css.map +1 -1
  113. package/types/igniteui-angular-bottom-nav.d.ts +2 -1
  114. package/types/igniteui-angular-card.d.ts +4 -3
  115. package/types/igniteui-angular-dialog.d.ts +2 -1
  116. package/types/igniteui-angular-directives.d.ts +17 -1
  117. package/types/igniteui-angular-expansion-panel.d.ts +3 -2
  118. package/types/igniteui-angular-grids-core.d.ts +2 -1
  119. package/types/igniteui-angular-list.d.ts +3 -2
  120. package/types/igniteui-angular-navbar.d.ts +2 -1
  121. package/types/igniteui-angular-navigation-drawer.d.ts +2 -1
  122. package/types/igniteui-angular-stepper.d.ts +3 -2
  123. package/types/igniteui-angular-tabs.d.ts +2 -1
  124. package/types/igniteui-angular-toast.d.ts +2 -1
@@ -4,6 +4,8 @@ import { DOCUMENT, NgTemplateOutlet } from '@angular/common';
4
4
  import { fromEvent, interval } from 'rxjs';
5
5
  import { debounce } from 'rxjs/operators';
6
6
  import { IgxNavigationService, PlatformUtil, IgxTouchManager } from 'igniteui-angular/core';
7
+ import * as i1 from 'igniteui-angular/directives';
8
+ import { IgxNoTypographyDirective } from 'igniteui-angular/directives';
7
9
 
8
10
  class IgxNavDrawerItemDirective {
9
11
  constructor() {
@@ -70,15 +72,16 @@ class IgxNavDrawerItemDirective {
70
72
  get disabledCSS() {
71
73
  return this.disabled;
72
74
  }
73
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: IgxNavDrawerItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
74
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "22.1.0", type: IgxNavDrawerItemDirective, isStandalone: true, selector: "[igxDrawerItem]", inputs: { active: ["active", "active", booleanAttribute], disabled: ["disabled", "disabled", booleanAttribute], isHeader: ["isHeader", "isHeader", booleanAttribute] }, host: { properties: { "class.igx-nav-drawer-item": "this.defaultCSS", "class.igx-nav-drawer__item": "this.defaultCSS", "class.igx-nav-drawer-item--active": "this.currentCSS", "class.igx-nav-drawer__item--active": "this.currentCSS", "class.igx-nav-drawer-item--header": "this.headerCSS", "class.igx-nav-drawer__item--header": "this.headerCSS", "class.igx-nav-drawer-item--disabled": "this.disabledCSS", "class.igx-nav-drawer__item--disabled": "this.disabledCSS" } }, exportAs: ["igxDrawerItem"], ngImport: i0 }); }
75
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxNavDrawerItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
76
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "22.1.1", type: IgxNavDrawerItemDirective, isStandalone: true, selector: "[igxDrawerItem]", inputs: { active: ["active", "active", booleanAttribute], disabled: ["disabled", "disabled", booleanAttribute], isHeader: ["isHeader", "isHeader", booleanAttribute] }, host: { properties: { "class.igx-nav-drawer-item": "this.defaultCSS", "class.igx-nav-drawer__item": "this.defaultCSS", "class.igx-nav-drawer-item--active": "this.currentCSS", "class.igx-nav-drawer__item--active": "this.currentCSS", "class.igx-nav-drawer-item--header": "this.headerCSS", "class.igx-nav-drawer__item--header": "this.headerCSS", "class.igx-nav-drawer-item--disabled": "this.disabledCSS", "class.igx-nav-drawer__item--disabled": "this.disabledCSS" } }, exportAs: ["igxDrawerItem"], hostDirectives: [{ directive: i1.IgxNoTypographyDirective }], ngImport: i0 }); }
75
77
  }
76
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: IgxNavDrawerItemDirective, decorators: [{
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxNavDrawerItemDirective, decorators: [{
77
79
  type: Directive,
78
80
  args: [{
79
81
  selector: '[igxDrawerItem]',
80
82
  exportAs: 'igxDrawerItem',
81
- standalone: true
83
+ standalone: true,
84
+ hostDirectives: [IgxNoTypographyDirective]
82
85
  }]
83
86
  }], propDecorators: { active: [{
84
87
  type: Input,
@@ -118,10 +121,10 @@ class IgxNavDrawerTemplateDirective {
118
121
  constructor() {
119
122
  this.template = inject(TemplateRef);
120
123
  }
121
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: IgxNavDrawerTemplateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
122
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.0", type: IgxNavDrawerTemplateDirective, isStandalone: true, selector: "[igxDrawer]", ngImport: i0 }); }
124
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxNavDrawerTemplateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
125
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.1", type: IgxNavDrawerTemplateDirective, isStandalone: true, selector: "[igxDrawer]", ngImport: i0 }); }
123
126
  }
124
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: IgxNavDrawerTemplateDirective, decorators: [{
127
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxNavDrawerTemplateDirective, decorators: [{
125
128
  type: Directive,
126
129
  args: [{
127
130
  selector: '[igxDrawer]',
@@ -132,10 +135,10 @@ class IgxNavDrawerMiniTemplateDirective {
132
135
  constructor() {
133
136
  this.template = inject(TemplateRef);
134
137
  }
135
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: IgxNavDrawerMiniTemplateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
136
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.0", type: IgxNavDrawerMiniTemplateDirective, isStandalone: true, selector: "[igxDrawerMini]", ngImport: i0 }); }
138
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxNavDrawerMiniTemplateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
139
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.1", type: IgxNavDrawerMiniTemplateDirective, isStandalone: true, selector: "[igxDrawerMini]", ngImport: i0 }); }
137
140
  }
138
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: IgxNavDrawerMiniTemplateDirective, decorators: [{
141
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxNavDrawerMiniTemplateDirective, decorators: [{
139
142
  type: Directive,
140
143
  args: [{
141
144
  selector: '[igxDrawerMini]',
@@ -905,12 +908,12 @@ class IgxNavigationDrawerComponent {
905
908
  this.drawer.hidePopover();
906
909
  }
907
910
  }
908
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: IgxNavigationDrawerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
909
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "22.1.0", type: IgxNavigationDrawerComponent, isStandalone: true, selector: "igx-nav-drawer", inputs: { id: "id", position: "position", enableGestures: ["enableGestures", "enableGestures", booleanAttribute], pinThreshold: "pinThreshold", pin: ["pin", "pin", booleanAttribute], width: "width", disableAnimation: ["disableAnimation", "disableAnimation", booleanAttribute], miniWidth: "miniWidth", isOpen: ["isOpen", "isOpen", booleanAttribute] }, outputs: { isOpenChange: "isOpenChange", pinChange: "pinChange", opening: "opening", opened: "opened", closing: "closing", closed: "closed" }, host: { properties: { "class.igx-nav-drawer": "this.cssClass", "attr.id": "this.id", "class.igx-nav-drawer--disable-animation": "this.animationsDisabled", "class.igx-nav-drawer--mini": "this.isMini", "class.igx-nav-drawer--pinned": "this.pinned", "style.--ig-nav-drawer-size": "this.normalSize", "style.--ig-nav-drawer-size--mini": "this.miniSize", "style.order": "this.isPinnedRight" } }, queries: [{ propertyName: "contentTemplate", first: true, predicate: IgxNavDrawerTemplateDirective, descendants: true, read: IgxNavDrawerTemplateDirective }, { propertyName: "miniTemplate", first: true, predicate: IgxNavDrawerMiniTemplateDirective, descendants: true, read: IgxNavDrawerMiniTemplateDirective }], viewQueries: [{ propertyName: "_drawer", first: true, predicate: ["aside"], descendants: true, static: true }, { propertyName: "_overlay", first: true, predicate: ["overlay"], descendants: true, static: true }, { propertyName: "_styleDummy", first: true, predicate: ["dummy"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<ng-template #defaultItemsTemplate>\n <div igxDrawerItem [isHeader]=\"true\">Navigation Drawer</div>\n <div igxDrawerItem> Start by adding</div>\n <div igxDrawerItem> <code>&lt;ng-template igxDrawer&gt;</code> </div>\n <div igxDrawerItem> And some items inside </div>\n <div igxDrawerItem> Style with igxDrawerItem </div>\n <div igxDrawerItem> and igxRipple directives</div>\n <div igxDrawerItem [disabled]=\"true\">Disabled Item</div>\n</ng-template>\n\n<div [hidden]=\"pin\"\n [attr.popover]=\"pin ? null : 'manual'\"\n class=\"igx-nav-drawer__overlay\"\n [class.igx-nav-drawer__overlay--hidden]=\"!isOpen\"\n [class.igx-nav-drawer--disable-animation]=\"animationsDisabled\"\n (click)=\"close()\" #overlay>\n</div>\n<nav\n class=\"igx-nav-drawer__aside\"\n [attr.popover]=\"pin ? null : 'manual'\"\n [class.igx-nav-drawer__aside--collapsed]=\"!miniTemplate && !isOpen\"\n [class.igx-nav-drawer__aside--mini]=\"miniTemplate && !isOpen\"\n [class.igx-nav-drawer__aside--normal]=\"!miniTemplate || isOpen\"\n [class.igx-nav-drawer__aside--pinned]=\"pin\"\n [class.igx-nav-drawer__aside--right]=\"position === 'right'\" #aside\n [class.igx-nav-drawer--disable-animation]=\"animationsDisabled\">\n\n <ng-container *ngTemplateOutlet=\"template || defaultItemsTemplate\"></ng-container>\n</nav>\n<div class=\"igx-nav-drawer__style-dummy\" #dummy></div>\n", styles: ["@layer ig.base{.igx-nav-drawer{--ig-nav-drawer-transition-duration: .3s;display:block;height:100%;flex:0 0 0;transition-duration:var(--ig-nav-drawer-transition-duration)}.igx-nav-drawer--pinned{flex-basis:var(--size)}.igx-nav-drawer--mini.igx-nav-drawer--pinned{flex-basis:calc(var(--size--mini) + .0625rem)}.igx-nav-drawer__aside{position:fixed;display:block;height:100%;min-height:100%;overflow-x:hidden;background:var(--background);inset:0 auto;width:var(--size);inset-inline-start:0;box-shadow:var(--elevation);padding:var(--aside-padding);border-inline-end:.0625rem solid var(--border-color);border-radius:var(--border-radius);contain:content paint layout;margin:0;border-block:none}.igx-nav-drawer__aside--panning{overflow-x:hidden;transition:none}.igx-nav-drawer__aside--collapsed{transform:translate3d(-300px,0,0);box-shadow:none}[dir=rtl] .igx-nav-drawer__aside--collapsed{transform:translate3d(300px,0,0)}.igx-nav-drawer__aside--collapsed.igx-nav-drawer__aside--right{transform:translate3d(300px,0,0);box-shadow:none}[dir=rtl] .igx-nav-drawer__aside--collapsed.igx-nav-drawer__aside--right{transform:translate3d(-300px,0,0)}.igx-nav-drawer__aside--right{inset-inline-start:auto;inset-inline-end:0;border-inline-end:none;border-inline-start:.0625rem solid var(--border-color)}.igx-nav-drawer__aside--mini{transition-duration:var(--ig-nav-drawer-transition-duration);width:var(--size--mini);min-width:-moz-fit-content;min-width:fit-content}.igx-nav-drawer__aside--mini [igxDrawerItem]{justify-content:center;min-width:-moz-fit-content;min-width:fit-content;width:var(--item-mini-width)}.igx-nav-drawer__aside--mini [igxDrawerItem] igx-icon{margin-inline-start:0}.igx-nav-drawer__aside--normal{transition-duration:var(--ig-nav-drawer-transition-duration);width:var(--size)}.igx-nav-drawer__aside--pinned{position:relative;box-shadow:none}.igx-nav-drawer__aside--pinned.igx-nav-drawer__aside--collapsed{transform:none;width:0;overflow:hidden;border:none;padding-inline:0}.igx-nav-drawer__overlay{opacity:1;background:hsl(from var(--ig-gray-500) h s l/.54);transition:opacity,visibility;transition-duration:var(--ig-nav-drawer-transition-duration),var(--ig-nav-drawer-transition-duration);transition-delay:0s,0s;position:absolute;inset-inline-start:0;inset:0;width:100%;height:100%;visibility:visible;margin:0;padding:0;border:none;display:block}.igx-nav-drawer__overlay--panning{transform:translateZ(0);transition:none}.igx-nav-drawer__overlay--panning.igx-nav-drawer__overlay--hidden{visibility:visible}.igx-nav-drawer__overlay--hidden{visibility:hidden;opacity:0}.igx-nav-drawer__style-dummy{height:0;background:none;box-shadow:none;transition:none;visibility:hidden}.igx-nav-drawer--disable-animation{transition-duration:0s}.igx-nav-drawer-item{position:relative;display:flex;align-items:center;flex-flow:row nowrap;max-height:var(--item-min-height);gap:var(--item-gap);padding:var(--item-padding);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;outline:rgba(0,0,0,0);white-space:nowrap;border-radius:var(--item-border-radius);text-decoration:none;border:none;justify-content:flex-start;contain:paint layout content;color:var(--item-text-color)}.igx-nav-drawer-item igx-icon{--item-icon-color: inherit;--component-size: 3}.igx-nav-drawer-item[igxButton]{background:#0000;border:none;box-shadow:none}.igx-nav-drawer-item[igxButton] igx-icon{width:var(--ig-icon-size, 1.5rem);height:var(--ig-icon-size, 1.5rem);font-size:var(--ig-icon-size, 1.5rem);margin:0}.igx-nav-drawer-item[igxButton]:hover,.igx-nav-drawer-item[igxButton]:focus{box-shadow:none;border:none}.igx-nav-drawer-item:hover:not(.igx-nav-drawer-item--active),.igx-nav-drawer-item:focus:not(.igx-nav-drawer-item--active){background:var(--item-hover-background);color:var(--item-hover-text-color)}.igx-nav-drawer-item--header{display:flex;align-items:center;padding:var(--item-padding);min-height:var(--item-min-height);white-space:nowrap;color:var(--item-header-text-color)}.igx-nav-drawer-item--disabled{background:none;color:var(--item-disabled-text-color);cursor:default;pointer-events:none}.igx-nav-drawer-item--disabled igx-icon{color:var(--item-disabled-icon-color)}}@layer ig.material{@container style(--ig-theme: material){.igx-nav-drawer{--aside-padding: .5rem;--item-padding: .75rem .5rem;--item-gap: 2rem;--item-min-height: 3rem}}}@layer ig.material{@container style(--ig-theme: material){.igx-nav-drawer-item{font-family:var(--ig-subtitle-2-font-family, var(--ig-font-family));font-size:var(--ig-subtitle-2-font-size);font-weight:var(--ig-subtitle-2-font-weight);font-style:var(--ig-subtitle-2-font-style);line-height:var(--ig-subtitle-2-line-height);letter-spacing:var(--ig-subtitle-2-letter-spacing);text-transform:var(--ig-subtitle-2-text-transform);margin-top:var(--ig-subtitle-2-margin-top);margin-bottom:var(--ig-subtitle-2-margin-bottom);border-radius:initial;clip-path:inset(.25rem 0 round var(--item-border-radius))}.igx-nav-drawer-item:after{content:\"\";position:absolute;width:100%;inset-block-start:.25rem;inset-inline-start:0;height:calc(100% - .5rem);border-radius:var(--item-border-radius);z-index:-1}.igx-nav-drawer-item:hover,.igx-nav-drawer-item:focus{background:unset}.igx-nav-drawer-item:hover:after,.igx-nav-drawer-item:focus:after{background:var(--item-hover-background)}.igx-nav-drawer-item--active{color:var(--item-active-text-color)}.igx-nav-drawer-item--active:after{background:var(--item-active-background)}.igx-nav-drawer-item--active:focus,.igx-nav-drawer-item--active:hover{color:var(--item-active-text-color)}.igx-nav-drawer-item--active:focus:after,.igx-nav-drawer-item--active:hover:after{background:var(--item-active-background)}.igx-nav-drawer-item--header{font-family:var(--ig-subtitle-1-font-family, var(--ig-font-family));font-size:var(--ig-subtitle-1-font-size);font-weight:var(--ig-subtitle-1-font-weight);font-style:var(--ig-subtitle-1-font-style);line-height:var(--ig-subtitle-1-line-height);letter-spacing:var(--ig-subtitle-1-letter-spacing);text-transform:var(--ig-subtitle-1-text-transform);margin-top:var(--ig-subtitle-1-margin-top);margin-bottom:var(--ig-subtitle-1-margin-bottom)}}}@layer ig.bootstrap{@container style(--ig-theme: bootstrap){.igx-nav-drawer{--aside-padding: 1rem;--item-padding: .5rem 1rem;--item-gap: .5rem;--item-min-height: 2.5rem;--item-mini-width: 3.5rem}}}@layer ig.bootstrap{@container style(--ig-theme: bootstrap){.igx-nav-drawer-item{font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom)}.igx-nav-drawer-item--active{color:var(--item-active-text-color);background:var(--item-active-background)}.igx-nav-drawer-item--active igx-icon{color:var(--item-active-icon-color)}.igx-nav-drawer-item--active:focus,.igx-nav-drawer-item--active:hover{color:var(--item-active-text-color);background:var(--item-active-background)}.igx-nav-drawer-item--active:focus igx-icon,.igx-nav-drawer-item--active:hover igx-icon{color:var(--item-active-icon-color)}.igx-nav-drawer-item--header{font-family:var(--ig-caption-font-family, var(--ig-font-family));font-size:var(--ig-caption-font-size);font-weight:var(--ig-caption-font-weight);font-style:var(--ig-caption-font-style);line-height:var(--ig-caption-line-height);letter-spacing:var(--ig-caption-letter-spacing);text-transform:var(--ig-caption-text-transform);margin-top:var(--ig-caption-margin-top);margin-bottom:var(--ig-caption-margin-bottom)}}}@layer ig.fluent{@container style(--ig-theme: fluent){.igx-nav-drawer{--aside-padding: 0;--item-padding: .625rem .5rem;--item-gap: .5rem;--item-min-height: 2.75rem}.igx-nav-drawer__aside{border:.0625rem solid var(--border-color)}}}@layer ig.fluent{@container style(--ig-theme: fluent){.igx-nav-drawer-item{font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom)}.igx-nav-drawer-item--active{color:var(--item-active-text-color);background:var(--item-active-background)}.igx-nav-drawer-item--active igx-icon{color:var(--item-active-icon-color)}.igx-nav-drawer-item--active:focus,.igx-nav-drawer-item--active:hover{color:var(--item-active-text-color);background:var(--item-active-background)}.igx-nav-drawer-item--active:focus igx-icon,.igx-nav-drawer-item--active:hover igx-icon{color:var(--item-active-icon-color)}.igx-nav-drawer-item--header{font-family:var(--ig-subtitle-1-font-family, var(--ig-font-family));font-size:var(--ig-subtitle-1-font-size);font-weight:var(--ig-subtitle-1-font-weight);font-style:var(--ig-subtitle-1-font-style);line-height:var(--ig-subtitle-1-line-height);letter-spacing:var(--ig-subtitle-1-letter-spacing);text-transform:var(--ig-subtitle-1-text-transform);margin-top:var(--ig-subtitle-1-margin-top);margin-bottom:var(--ig-subtitle-1-margin-bottom)}}}@layer ig.indigo{@container style(--ig-theme: indigo){.igx-nav-drawer{--aside-padding: .5rem;--item-padding: .5rem 1rem;--item-gap: 1rem;--item-min-height: 2rem;--item-mini-width: 2rem;--item-margin: .25rem}.igx-nav-drawer__aside--mini [igxDrawerItem]{margin:var(--item-margin) auto}}}@layer ig.indigo{@container style(--ig-theme: indigo){.igx-nav-drawer-item{font-family:var(--ig-subtitle-2-font-family, var(--ig-font-family));font-size:var(--ig-subtitle-2-font-size);font-weight:var(--ig-subtitle-2-font-weight);font-style:var(--ig-subtitle-2-font-style);line-height:var(--ig-subtitle-2-line-height);letter-spacing:var(--ig-subtitle-2-letter-spacing);text-transform:var(--ig-subtitle-2-text-transform);margin-top:var(--ig-subtitle-2-margin-top);margin-bottom:var(--ig-subtitle-2-margin-bottom);margin-block-end:var(--item-margin)}.igx-nav-drawer-item igx-icon{--component-size: 2}.igx-nav-drawer-item--active{color:var(--item-active-text-color);background:var(--item-active-background)}.igx-nav-drawer-item--active igx-icon{color:var(--item-active-icon-color)}.igx-nav-drawer-item--active:focus,.igx-nav-drawer-item--active:hover{color:var(--item-active-text-color);background:var(--item-active-background)}.igx-nav-drawer-item--active:focus igx-icon,.igx-nav-drawer-item--active:hover igx-icon{color:var(--item-active-icon-color)}.igx-nav-drawer-item--header{font-family:var(--ig-overline-font-family, var(--ig-font-family));font-size:var(--ig-overline-font-size);font-weight:var(--ig-overline-font-weight);font-style:var(--ig-overline-font-style);line-height:var(--ig-overline-line-height);letter-spacing:var(--ig-overline-letter-spacing);text-transform:var(--ig-overline-text-transform);margin-top:var(--ig-overline-margin-top);margin-bottom:var(--ig-overline-margin-bottom);margin-block-end:var(--item-margin)}}}\n"], dependencies: [{ kind: "directive", type: IgxNavDrawerItemDirective, selector: "[igxDrawerItem]", inputs: ["active", "disabled", "isHeader"], exportAs: ["igxDrawerItem"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.Eager, encapsulation: i0.ViewEncapsulation.None }); }
911
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxNavigationDrawerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
912
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "22.1.1", type: IgxNavigationDrawerComponent, isStandalone: true, selector: "igx-nav-drawer", inputs: { id: "id", position: "position", enableGestures: ["enableGestures", "enableGestures", booleanAttribute], pinThreshold: "pinThreshold", pin: ["pin", "pin", booleanAttribute], width: "width", disableAnimation: ["disableAnimation", "disableAnimation", booleanAttribute], miniWidth: "miniWidth", isOpen: ["isOpen", "isOpen", booleanAttribute] }, outputs: { isOpenChange: "isOpenChange", pinChange: "pinChange", opening: "opening", opened: "opened", closing: "closing", closed: "closed" }, host: { properties: { "class.igx-nav-drawer": "this.cssClass", "attr.id": "this.id", "class.igx-nav-drawer--disable-animation": "this.animationsDisabled", "class.igx-nav-drawer--mini": "this.isMini", "class.igx-nav-drawer--pinned": "this.pinned", "style.--ig-nav-drawer-size": "this.normalSize", "style.--ig-nav-drawer-size--mini": "this.miniSize", "style.order": "this.isPinnedRight" } }, queries: [{ propertyName: "contentTemplate", first: true, predicate: IgxNavDrawerTemplateDirective, descendants: true, read: IgxNavDrawerTemplateDirective }, { propertyName: "miniTemplate", first: true, predicate: IgxNavDrawerMiniTemplateDirective, descendants: true, read: IgxNavDrawerMiniTemplateDirective }], viewQueries: [{ propertyName: "_drawer", first: true, predicate: ["aside"], descendants: true, static: true }, { propertyName: "_overlay", first: true, predicate: ["overlay"], descendants: true, static: true }, { propertyName: "_styleDummy", first: true, predicate: ["dummy"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<ng-template #defaultItemsTemplate>\n <div igxDrawerItem [isHeader]=\"true\">Navigation Drawer</div>\n <div igxDrawerItem> Start by adding</div>\n <div igxDrawerItem> <code>&lt;ng-template igxDrawer&gt;</code> </div>\n <div igxDrawerItem> And some items inside </div>\n <div igxDrawerItem> Style with igxDrawerItem </div>\n <div igxDrawerItem> and igxRipple directives</div>\n <div igxDrawerItem [disabled]=\"true\">Disabled Item</div>\n</ng-template>\n\n<div [hidden]=\"pin\"\n [attr.popover]=\"pin ? null : 'manual'\"\n class=\"igx-nav-drawer__overlay\"\n [class.igx-nav-drawer__overlay--hidden]=\"!isOpen\"\n [class.igx-nav-drawer--disable-animation]=\"animationsDisabled\"\n (click)=\"close()\" #overlay>\n</div>\n<nav\n class=\"igx-nav-drawer__aside\"\n [attr.popover]=\"pin ? null : 'manual'\"\n [class.igx-nav-drawer__aside--collapsed]=\"!miniTemplate && !isOpen\"\n [class.igx-nav-drawer__aside--mini]=\"miniTemplate && !isOpen\"\n [class.igx-nav-drawer__aside--normal]=\"!miniTemplate || isOpen\"\n [class.igx-nav-drawer__aside--pinned]=\"pin\"\n [class.igx-nav-drawer__aside--right]=\"position === 'right'\" #aside\n [class.igx-nav-drawer--disable-animation]=\"animationsDisabled\">\n\n <ng-container *ngTemplateOutlet=\"template || defaultItemsTemplate\"></ng-container>\n</nav>\n<div class=\"igx-nav-drawer__style-dummy\" #dummy></div>\n", styles: ["@layer ig.base{.igx-nav-drawer{--ig-nav-drawer-transition-duration: .3s;display:block;height:100%;flex:0 0 0;transition-duration:var(--ig-nav-drawer-transition-duration)}.igx-nav-drawer--pinned{flex-basis:var(--size)}.igx-nav-drawer--mini.igx-nav-drawer--pinned{flex-basis:calc(var(--size--mini) + .0625rem)}.igx-nav-drawer__aside{position:fixed;display:block;height:100%;min-height:100%;overflow-x:hidden;background:var(--background);inset:0 auto;width:var(--size);inset-inline-start:0;box-shadow:var(--elevation);padding:var(--aside-padding);border:none;border-inline-end:.0625rem solid var(--border-color);border-radius:var(--border-radius);contain:content paint layout;margin:0;border-block:none}.igx-nav-drawer__aside--panning{overflow-x:hidden;transition:none}.igx-nav-drawer__aside--collapsed{transform:translate3d(-300px,0,0);box-shadow:none}[dir=rtl] .igx-nav-drawer__aside--collapsed{transform:translate3d(300px,0,0)}.igx-nav-drawer__aside--collapsed.igx-nav-drawer__aside--right{transform:translate3d(300px,0,0);box-shadow:none}[dir=rtl] .igx-nav-drawer__aside--collapsed.igx-nav-drawer__aside--right{transform:translate3d(-300px,0,0)}.igx-nav-drawer__aside--right{inset-inline-start:auto;inset-inline-end:0;border-inline-end:none;border-inline-start:.0625rem solid var(--border-color)}.igx-nav-drawer__aside--mini{transition-duration:var(--ig-nav-drawer-transition-duration);width:var(--size--mini);min-width:-moz-fit-content;min-width:fit-content}.igx-nav-drawer__aside--mini [igxDrawerItem]{justify-content:center;min-width:-moz-fit-content;min-width:fit-content;width:var(--item-mini-width)}.igx-nav-drawer__aside--mini [igxDrawerItem] igx-icon{margin-inline-start:0}.igx-nav-drawer__aside--normal{transition-duration:var(--ig-nav-drawer-transition-duration);width:var(--size)}.igx-nav-drawer__aside--pinned{position:relative;box-shadow:none}.igx-nav-drawer__aside--pinned.igx-nav-drawer__aside--collapsed{transform:none;width:0;overflow:hidden;border:none;padding-inline:0}.igx-nav-drawer__overlay{opacity:1;background:hsl(from var(--ig-gray-500) h s l/.54);transition:opacity,visibility;transition-duration:var(--ig-nav-drawer-transition-duration),var(--ig-nav-drawer-transition-duration);transition-delay:0s,0s;position:absolute;inset-inline-start:0;inset:0;width:100%;height:100%;visibility:visible;margin:0;padding:0;border:none;display:block}.igx-nav-drawer__overlay--panning{transform:translateZ(0);transition:none}.igx-nav-drawer__overlay--panning.igx-nav-drawer__overlay--hidden{visibility:visible}.igx-nav-drawer__overlay--hidden{visibility:hidden;opacity:0}.igx-nav-drawer__style-dummy{height:0;background:none;box-shadow:none;transition:none;visibility:hidden}.igx-nav-drawer--disable-animation{transition-duration:0s}.igx-nav-drawer-item{position:relative;display:flex;align-items:center;flex-flow:row nowrap;max-height:var(--item-min-height);gap:var(--item-gap);padding:var(--item-padding);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;outline:rgba(0,0,0,0);white-space:nowrap;border-radius:var(--item-border-radius);text-decoration:none;border:none;justify-content:flex-start;contain:paint layout content;color:var(--item-text-color)}.igx-nav-drawer-item igx-icon{--item-icon-color: inherit;--component-size: 3}.igx-nav-drawer-item[igxButton]{--ig-icon-size: 1.5rem;background:#0000;border:none;box-shadow:none}.igx-nav-drawer-item[igxButton] igx-icon{margin:0}.igx-nav-drawer-item[igxButton]:hover,.igx-nav-drawer-item[igxButton]:focus{box-shadow:none;border:none}.igx-nav-drawer-item:hover:not(.igx-nav-drawer-item--active),.igx-nav-drawer-item:focus:not(.igx-nav-drawer-item--active){background:var(--item-hover-background);color:var(--item-hover-text-color)}.igx-nav-drawer-item--header{display:flex;align-items:center;padding:var(--item-padding);min-height:var(--item-min-height);white-space:nowrap;color:var(--item-header-text-color)}.igx-nav-drawer-item--disabled{background:none;color:var(--item-disabled-text-color);cursor:default;pointer-events:none}.igx-nav-drawer-item--disabled igx-icon{color:var(--item-disabled-icon-color)}}@layer ig.material{@container style(--ig-theme: material){.igx-nav-drawer{--aside-padding: .5rem;--item-padding: .75rem .5rem;--item-gap: 2rem;--item-min-height: 3rem}}}@layer ig.material{@container style(--ig-theme: material){.igx-nav-drawer-item{font-family:var(--ig-subtitle-2-font-family, var(--ig-font-family));font-size:var(--ig-subtitle-2-font-size);font-weight:var(--ig-subtitle-2-font-weight);font-style:var(--ig-subtitle-2-font-style);line-height:var(--ig-subtitle-2-line-height);letter-spacing:var(--ig-subtitle-2-letter-spacing);text-transform:var(--ig-subtitle-2-text-transform);margin-top:var(--ig-subtitle-2-margin-top);margin-bottom:var(--ig-subtitle-2-margin-bottom);border-radius:initial;clip-path:inset(.25rem 0 round var(--item-border-radius))}.igx-nav-drawer-item:after{content:\"\";position:absolute;width:100%;inset-block-start:.25rem;inset-inline-start:0;height:calc(100% - .5rem);border-radius:var(--item-border-radius);z-index:-1}.igx-nav-drawer-item:hover,.igx-nav-drawer-item:focus{background:unset}.igx-nav-drawer-item:hover:after,.igx-nav-drawer-item:focus:after{background:var(--item-hover-background)}.igx-nav-drawer-item--active{color:var(--item-active-text-color)}.igx-nav-drawer-item--active:after{background:var(--item-active-background)}.igx-nav-drawer-item--active:focus,.igx-nav-drawer-item--active:hover{color:var(--item-active-text-color)}.igx-nav-drawer-item--active:focus:after,.igx-nav-drawer-item--active:hover:after{background:var(--item-active-background)}.igx-nav-drawer-item--header{font-family:var(--ig-subtitle-1-font-family, var(--ig-font-family));font-size:var(--ig-subtitle-1-font-size);font-weight:var(--ig-subtitle-1-font-weight);font-style:var(--ig-subtitle-1-font-style);line-height:var(--ig-subtitle-1-line-height);letter-spacing:var(--ig-subtitle-1-letter-spacing);text-transform:var(--ig-subtitle-1-text-transform);margin-top:var(--ig-subtitle-1-margin-top);margin-bottom:var(--ig-subtitle-1-margin-bottom)}}}@layer ig.bootstrap{@container style(--ig-theme: bootstrap){.igx-nav-drawer{--aside-padding: 1rem;--item-padding: .5rem 1rem;--item-gap: .5rem;--item-min-height: 2.5rem;--item-mini-width: 3.5rem}}}@layer ig.bootstrap{@container style(--ig-theme: bootstrap){.igx-nav-drawer-item{font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom)}.igx-nav-drawer-item--active{color:var(--item-active-text-color);background:var(--item-active-background)}.igx-nav-drawer-item--active igx-icon{color:var(--item-active-icon-color)}.igx-nav-drawer-item--active:focus,.igx-nav-drawer-item--active:hover{color:var(--item-active-text-color);background:var(--item-active-background)}.igx-nav-drawer-item--active:focus igx-icon,.igx-nav-drawer-item--active:hover igx-icon{color:var(--item-active-icon-color)}.igx-nav-drawer-item--header{font-family:var(--ig-caption-font-family, var(--ig-font-family));font-size:var(--ig-caption-font-size);font-weight:var(--ig-caption-font-weight);font-style:var(--ig-caption-font-style);line-height:var(--ig-caption-line-height);letter-spacing:var(--ig-caption-letter-spacing);text-transform:var(--ig-caption-text-transform);margin-top:var(--ig-caption-margin-top);margin-bottom:var(--ig-caption-margin-bottom)}}}@layer ig.fluent{@container style(--ig-theme: fluent){.igx-nav-drawer{--aside-padding: 0;--item-padding: .625rem .5rem;--item-gap: .5rem;--item-min-height: 2.75rem}.igx-nav-drawer__aside{border:.0625rem solid var(--border-color)}}}@layer ig.fluent{@container style(--ig-theme: fluent){.igx-nav-drawer-item{font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom)}.igx-nav-drawer-item--active{color:var(--item-active-text-color);background:var(--item-active-background)}.igx-nav-drawer-item--active igx-icon{color:var(--item-active-icon-color)}.igx-nav-drawer-item--active:focus,.igx-nav-drawer-item--active:hover{color:var(--item-active-text-color);background:var(--item-active-background)}.igx-nav-drawer-item--active:focus igx-icon,.igx-nav-drawer-item--active:hover igx-icon{color:var(--item-active-icon-color)}.igx-nav-drawer-item--header{font-family:var(--ig-subtitle-1-font-family, var(--ig-font-family));font-size:var(--ig-subtitle-1-font-size);font-weight:var(--ig-subtitle-1-font-weight);font-style:var(--ig-subtitle-1-font-style);line-height:var(--ig-subtitle-1-line-height);letter-spacing:var(--ig-subtitle-1-letter-spacing);text-transform:var(--ig-subtitle-1-text-transform);margin-top:var(--ig-subtitle-1-margin-top);margin-bottom:var(--ig-subtitle-1-margin-bottom)}}}@layer ig.indigo{@container style(--ig-theme: indigo){.igx-nav-drawer{--aside-padding: .5rem;--item-padding: .5rem 1rem;--item-gap: 1rem;--item-min-height: 2rem;--item-mini-width: 2rem;--item-margin: .25rem}.igx-nav-drawer__aside--mini [igxDrawerItem]{margin:var(--item-margin) auto}}}@layer ig.indigo{@container style(--ig-theme: indigo){.igx-nav-drawer-item{font-family:var(--ig-subtitle-2-font-family, var(--ig-font-family));font-size:var(--ig-subtitle-2-font-size);font-weight:var(--ig-subtitle-2-font-weight);font-style:var(--ig-subtitle-2-font-style);line-height:var(--ig-subtitle-2-line-height);letter-spacing:var(--ig-subtitle-2-letter-spacing);text-transform:var(--ig-subtitle-2-text-transform);margin-top:var(--ig-subtitle-2-margin-top);margin-bottom:var(--ig-subtitle-2-margin-bottom);margin-block-end:var(--item-margin)}.igx-nav-drawer-item igx-icon{--component-size: 2}.igx-nav-drawer-item--active{color:var(--item-active-text-color);background:var(--item-active-background)}.igx-nav-drawer-item--active igx-icon{color:var(--item-active-icon-color)}.igx-nav-drawer-item--active:focus,.igx-nav-drawer-item--active:hover{color:var(--item-active-text-color);background:var(--item-active-background)}.igx-nav-drawer-item--active:focus igx-icon,.igx-nav-drawer-item--active:hover igx-icon{color:var(--item-active-icon-color)}.igx-nav-drawer-item--header{font-family:var(--ig-overline-font-family, var(--ig-font-family));font-size:var(--ig-overline-font-size);font-weight:var(--ig-overline-font-weight);font-style:var(--ig-overline-font-style);line-height:var(--ig-overline-line-height);letter-spacing:var(--ig-overline-letter-spacing);text-transform:var(--ig-overline-text-transform);margin-top:var(--ig-overline-margin-top);margin-bottom:var(--ig-overline-margin-bottom);margin-block-end:var(--item-margin)}}}\n"], dependencies: [{ kind: "directive", type: IgxNavDrawerItemDirective, selector: "[igxDrawerItem]", inputs: ["active", "disabled", "isHeader"], exportAs: ["igxDrawerItem"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.Eager, encapsulation: i0.ViewEncapsulation.None }); }
910
913
  }
911
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: IgxNavigationDrawerComponent, decorators: [{
914
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxNavigationDrawerComponent, decorators: [{
912
915
  type: Component,
913
- args: [{ selector: 'igx-nav-drawer', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Eager, imports: [IgxNavDrawerItemDirective, NgTemplateOutlet], template: "<ng-template #defaultItemsTemplate>\n <div igxDrawerItem [isHeader]=\"true\">Navigation Drawer</div>\n <div igxDrawerItem> Start by adding</div>\n <div igxDrawerItem> <code>&lt;ng-template igxDrawer&gt;</code> </div>\n <div igxDrawerItem> And some items inside </div>\n <div igxDrawerItem> Style with igxDrawerItem </div>\n <div igxDrawerItem> and igxRipple directives</div>\n <div igxDrawerItem [disabled]=\"true\">Disabled Item</div>\n</ng-template>\n\n<div [hidden]=\"pin\"\n [attr.popover]=\"pin ? null : 'manual'\"\n class=\"igx-nav-drawer__overlay\"\n [class.igx-nav-drawer__overlay--hidden]=\"!isOpen\"\n [class.igx-nav-drawer--disable-animation]=\"animationsDisabled\"\n (click)=\"close()\" #overlay>\n</div>\n<nav\n class=\"igx-nav-drawer__aside\"\n [attr.popover]=\"pin ? null : 'manual'\"\n [class.igx-nav-drawer__aside--collapsed]=\"!miniTemplate && !isOpen\"\n [class.igx-nav-drawer__aside--mini]=\"miniTemplate && !isOpen\"\n [class.igx-nav-drawer__aside--normal]=\"!miniTemplate || isOpen\"\n [class.igx-nav-drawer__aside--pinned]=\"pin\"\n [class.igx-nav-drawer__aside--right]=\"position === 'right'\" #aside\n [class.igx-nav-drawer--disable-animation]=\"animationsDisabled\">\n\n <ng-container *ngTemplateOutlet=\"template || defaultItemsTemplate\"></ng-container>\n</nav>\n<div class=\"igx-nav-drawer__style-dummy\" #dummy></div>\n", styles: ["@layer ig.base{.igx-nav-drawer{--ig-nav-drawer-transition-duration: .3s;display:block;height:100%;flex:0 0 0;transition-duration:var(--ig-nav-drawer-transition-duration)}.igx-nav-drawer--pinned{flex-basis:var(--size)}.igx-nav-drawer--mini.igx-nav-drawer--pinned{flex-basis:calc(var(--size--mini) + .0625rem)}.igx-nav-drawer__aside{position:fixed;display:block;height:100%;min-height:100%;overflow-x:hidden;background:var(--background);inset:0 auto;width:var(--size);inset-inline-start:0;box-shadow:var(--elevation);padding:var(--aside-padding);border-inline-end:.0625rem solid var(--border-color);border-radius:var(--border-radius);contain:content paint layout;margin:0;border-block:none}.igx-nav-drawer__aside--panning{overflow-x:hidden;transition:none}.igx-nav-drawer__aside--collapsed{transform:translate3d(-300px,0,0);box-shadow:none}[dir=rtl] .igx-nav-drawer__aside--collapsed{transform:translate3d(300px,0,0)}.igx-nav-drawer__aside--collapsed.igx-nav-drawer__aside--right{transform:translate3d(300px,0,0);box-shadow:none}[dir=rtl] .igx-nav-drawer__aside--collapsed.igx-nav-drawer__aside--right{transform:translate3d(-300px,0,0)}.igx-nav-drawer__aside--right{inset-inline-start:auto;inset-inline-end:0;border-inline-end:none;border-inline-start:.0625rem solid var(--border-color)}.igx-nav-drawer__aside--mini{transition-duration:var(--ig-nav-drawer-transition-duration);width:var(--size--mini);min-width:-moz-fit-content;min-width:fit-content}.igx-nav-drawer__aside--mini [igxDrawerItem]{justify-content:center;min-width:-moz-fit-content;min-width:fit-content;width:var(--item-mini-width)}.igx-nav-drawer__aside--mini [igxDrawerItem] igx-icon{margin-inline-start:0}.igx-nav-drawer__aside--normal{transition-duration:var(--ig-nav-drawer-transition-duration);width:var(--size)}.igx-nav-drawer__aside--pinned{position:relative;box-shadow:none}.igx-nav-drawer__aside--pinned.igx-nav-drawer__aside--collapsed{transform:none;width:0;overflow:hidden;border:none;padding-inline:0}.igx-nav-drawer__overlay{opacity:1;background:hsl(from var(--ig-gray-500) h s l/.54);transition:opacity,visibility;transition-duration:var(--ig-nav-drawer-transition-duration),var(--ig-nav-drawer-transition-duration);transition-delay:0s,0s;position:absolute;inset-inline-start:0;inset:0;width:100%;height:100%;visibility:visible;margin:0;padding:0;border:none;display:block}.igx-nav-drawer__overlay--panning{transform:translateZ(0);transition:none}.igx-nav-drawer__overlay--panning.igx-nav-drawer__overlay--hidden{visibility:visible}.igx-nav-drawer__overlay--hidden{visibility:hidden;opacity:0}.igx-nav-drawer__style-dummy{height:0;background:none;box-shadow:none;transition:none;visibility:hidden}.igx-nav-drawer--disable-animation{transition-duration:0s}.igx-nav-drawer-item{position:relative;display:flex;align-items:center;flex-flow:row nowrap;max-height:var(--item-min-height);gap:var(--item-gap);padding:var(--item-padding);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;outline:rgba(0,0,0,0);white-space:nowrap;border-radius:var(--item-border-radius);text-decoration:none;border:none;justify-content:flex-start;contain:paint layout content;color:var(--item-text-color)}.igx-nav-drawer-item igx-icon{--item-icon-color: inherit;--component-size: 3}.igx-nav-drawer-item[igxButton]{background:#0000;border:none;box-shadow:none}.igx-nav-drawer-item[igxButton] igx-icon{width:var(--ig-icon-size, 1.5rem);height:var(--ig-icon-size, 1.5rem);font-size:var(--ig-icon-size, 1.5rem);margin:0}.igx-nav-drawer-item[igxButton]:hover,.igx-nav-drawer-item[igxButton]:focus{box-shadow:none;border:none}.igx-nav-drawer-item:hover:not(.igx-nav-drawer-item--active),.igx-nav-drawer-item:focus:not(.igx-nav-drawer-item--active){background:var(--item-hover-background);color:var(--item-hover-text-color)}.igx-nav-drawer-item--header{display:flex;align-items:center;padding:var(--item-padding);min-height:var(--item-min-height);white-space:nowrap;color:var(--item-header-text-color)}.igx-nav-drawer-item--disabled{background:none;color:var(--item-disabled-text-color);cursor:default;pointer-events:none}.igx-nav-drawer-item--disabled igx-icon{color:var(--item-disabled-icon-color)}}@layer ig.material{@container style(--ig-theme: material){.igx-nav-drawer{--aside-padding: .5rem;--item-padding: .75rem .5rem;--item-gap: 2rem;--item-min-height: 3rem}}}@layer ig.material{@container style(--ig-theme: material){.igx-nav-drawer-item{font-family:var(--ig-subtitle-2-font-family, var(--ig-font-family));font-size:var(--ig-subtitle-2-font-size);font-weight:var(--ig-subtitle-2-font-weight);font-style:var(--ig-subtitle-2-font-style);line-height:var(--ig-subtitle-2-line-height);letter-spacing:var(--ig-subtitle-2-letter-spacing);text-transform:var(--ig-subtitle-2-text-transform);margin-top:var(--ig-subtitle-2-margin-top);margin-bottom:var(--ig-subtitle-2-margin-bottom);border-radius:initial;clip-path:inset(.25rem 0 round var(--item-border-radius))}.igx-nav-drawer-item:after{content:\"\";position:absolute;width:100%;inset-block-start:.25rem;inset-inline-start:0;height:calc(100% - .5rem);border-radius:var(--item-border-radius);z-index:-1}.igx-nav-drawer-item:hover,.igx-nav-drawer-item:focus{background:unset}.igx-nav-drawer-item:hover:after,.igx-nav-drawer-item:focus:after{background:var(--item-hover-background)}.igx-nav-drawer-item--active{color:var(--item-active-text-color)}.igx-nav-drawer-item--active:after{background:var(--item-active-background)}.igx-nav-drawer-item--active:focus,.igx-nav-drawer-item--active:hover{color:var(--item-active-text-color)}.igx-nav-drawer-item--active:focus:after,.igx-nav-drawer-item--active:hover:after{background:var(--item-active-background)}.igx-nav-drawer-item--header{font-family:var(--ig-subtitle-1-font-family, var(--ig-font-family));font-size:var(--ig-subtitle-1-font-size);font-weight:var(--ig-subtitle-1-font-weight);font-style:var(--ig-subtitle-1-font-style);line-height:var(--ig-subtitle-1-line-height);letter-spacing:var(--ig-subtitle-1-letter-spacing);text-transform:var(--ig-subtitle-1-text-transform);margin-top:var(--ig-subtitle-1-margin-top);margin-bottom:var(--ig-subtitle-1-margin-bottom)}}}@layer ig.bootstrap{@container style(--ig-theme: bootstrap){.igx-nav-drawer{--aside-padding: 1rem;--item-padding: .5rem 1rem;--item-gap: .5rem;--item-min-height: 2.5rem;--item-mini-width: 3.5rem}}}@layer ig.bootstrap{@container style(--ig-theme: bootstrap){.igx-nav-drawer-item{font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom)}.igx-nav-drawer-item--active{color:var(--item-active-text-color);background:var(--item-active-background)}.igx-nav-drawer-item--active igx-icon{color:var(--item-active-icon-color)}.igx-nav-drawer-item--active:focus,.igx-nav-drawer-item--active:hover{color:var(--item-active-text-color);background:var(--item-active-background)}.igx-nav-drawer-item--active:focus igx-icon,.igx-nav-drawer-item--active:hover igx-icon{color:var(--item-active-icon-color)}.igx-nav-drawer-item--header{font-family:var(--ig-caption-font-family, var(--ig-font-family));font-size:var(--ig-caption-font-size);font-weight:var(--ig-caption-font-weight);font-style:var(--ig-caption-font-style);line-height:var(--ig-caption-line-height);letter-spacing:var(--ig-caption-letter-spacing);text-transform:var(--ig-caption-text-transform);margin-top:var(--ig-caption-margin-top);margin-bottom:var(--ig-caption-margin-bottom)}}}@layer ig.fluent{@container style(--ig-theme: fluent){.igx-nav-drawer{--aside-padding: 0;--item-padding: .625rem .5rem;--item-gap: .5rem;--item-min-height: 2.75rem}.igx-nav-drawer__aside{border:.0625rem solid var(--border-color)}}}@layer ig.fluent{@container style(--ig-theme: fluent){.igx-nav-drawer-item{font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom)}.igx-nav-drawer-item--active{color:var(--item-active-text-color);background:var(--item-active-background)}.igx-nav-drawer-item--active igx-icon{color:var(--item-active-icon-color)}.igx-nav-drawer-item--active:focus,.igx-nav-drawer-item--active:hover{color:var(--item-active-text-color);background:var(--item-active-background)}.igx-nav-drawer-item--active:focus igx-icon,.igx-nav-drawer-item--active:hover igx-icon{color:var(--item-active-icon-color)}.igx-nav-drawer-item--header{font-family:var(--ig-subtitle-1-font-family, var(--ig-font-family));font-size:var(--ig-subtitle-1-font-size);font-weight:var(--ig-subtitle-1-font-weight);font-style:var(--ig-subtitle-1-font-style);line-height:var(--ig-subtitle-1-line-height);letter-spacing:var(--ig-subtitle-1-letter-spacing);text-transform:var(--ig-subtitle-1-text-transform);margin-top:var(--ig-subtitle-1-margin-top);margin-bottom:var(--ig-subtitle-1-margin-bottom)}}}@layer ig.indigo{@container style(--ig-theme: indigo){.igx-nav-drawer{--aside-padding: .5rem;--item-padding: .5rem 1rem;--item-gap: 1rem;--item-min-height: 2rem;--item-mini-width: 2rem;--item-margin: .25rem}.igx-nav-drawer__aside--mini [igxDrawerItem]{margin:var(--item-margin) auto}}}@layer ig.indigo{@container style(--ig-theme: indigo){.igx-nav-drawer-item{font-family:var(--ig-subtitle-2-font-family, var(--ig-font-family));font-size:var(--ig-subtitle-2-font-size);font-weight:var(--ig-subtitle-2-font-weight);font-style:var(--ig-subtitle-2-font-style);line-height:var(--ig-subtitle-2-line-height);letter-spacing:var(--ig-subtitle-2-letter-spacing);text-transform:var(--ig-subtitle-2-text-transform);margin-top:var(--ig-subtitle-2-margin-top);margin-bottom:var(--ig-subtitle-2-margin-bottom);margin-block-end:var(--item-margin)}.igx-nav-drawer-item igx-icon{--component-size: 2}.igx-nav-drawer-item--active{color:var(--item-active-text-color);background:var(--item-active-background)}.igx-nav-drawer-item--active igx-icon{color:var(--item-active-icon-color)}.igx-nav-drawer-item--active:focus,.igx-nav-drawer-item--active:hover{color:var(--item-active-text-color);background:var(--item-active-background)}.igx-nav-drawer-item--active:focus igx-icon,.igx-nav-drawer-item--active:hover igx-icon{color:var(--item-active-icon-color)}.igx-nav-drawer-item--header{font-family:var(--ig-overline-font-family, var(--ig-font-family));font-size:var(--ig-overline-font-size);font-weight:var(--ig-overline-font-weight);font-style:var(--ig-overline-font-style);line-height:var(--ig-overline-line-height);letter-spacing:var(--ig-overline-letter-spacing);text-transform:var(--ig-overline-text-transform);margin-top:var(--ig-overline-margin-top);margin-bottom:var(--ig-overline-margin-bottom);margin-block-end:var(--item-margin)}}}\n"] }]
916
+ args: [{ selector: 'igx-nav-drawer', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Eager, imports: [IgxNavDrawerItemDirective, NgTemplateOutlet], template: "<ng-template #defaultItemsTemplate>\n <div igxDrawerItem [isHeader]=\"true\">Navigation Drawer</div>\n <div igxDrawerItem> Start by adding</div>\n <div igxDrawerItem> <code>&lt;ng-template igxDrawer&gt;</code> </div>\n <div igxDrawerItem> And some items inside </div>\n <div igxDrawerItem> Style with igxDrawerItem </div>\n <div igxDrawerItem> and igxRipple directives</div>\n <div igxDrawerItem [disabled]=\"true\">Disabled Item</div>\n</ng-template>\n\n<div [hidden]=\"pin\"\n [attr.popover]=\"pin ? null : 'manual'\"\n class=\"igx-nav-drawer__overlay\"\n [class.igx-nav-drawer__overlay--hidden]=\"!isOpen\"\n [class.igx-nav-drawer--disable-animation]=\"animationsDisabled\"\n (click)=\"close()\" #overlay>\n</div>\n<nav\n class=\"igx-nav-drawer__aside\"\n [attr.popover]=\"pin ? null : 'manual'\"\n [class.igx-nav-drawer__aside--collapsed]=\"!miniTemplate && !isOpen\"\n [class.igx-nav-drawer__aside--mini]=\"miniTemplate && !isOpen\"\n [class.igx-nav-drawer__aside--normal]=\"!miniTemplate || isOpen\"\n [class.igx-nav-drawer__aside--pinned]=\"pin\"\n [class.igx-nav-drawer__aside--right]=\"position === 'right'\" #aside\n [class.igx-nav-drawer--disable-animation]=\"animationsDisabled\">\n\n <ng-container *ngTemplateOutlet=\"template || defaultItemsTemplate\"></ng-container>\n</nav>\n<div class=\"igx-nav-drawer__style-dummy\" #dummy></div>\n", styles: ["@layer ig.base{.igx-nav-drawer{--ig-nav-drawer-transition-duration: .3s;display:block;height:100%;flex:0 0 0;transition-duration:var(--ig-nav-drawer-transition-duration)}.igx-nav-drawer--pinned{flex-basis:var(--size)}.igx-nav-drawer--mini.igx-nav-drawer--pinned{flex-basis:calc(var(--size--mini) + .0625rem)}.igx-nav-drawer__aside{position:fixed;display:block;height:100%;min-height:100%;overflow-x:hidden;background:var(--background);inset:0 auto;width:var(--size);inset-inline-start:0;box-shadow:var(--elevation);padding:var(--aside-padding);border:none;border-inline-end:.0625rem solid var(--border-color);border-radius:var(--border-radius);contain:content paint layout;margin:0;border-block:none}.igx-nav-drawer__aside--panning{overflow-x:hidden;transition:none}.igx-nav-drawer__aside--collapsed{transform:translate3d(-300px,0,0);box-shadow:none}[dir=rtl] .igx-nav-drawer__aside--collapsed{transform:translate3d(300px,0,0)}.igx-nav-drawer__aside--collapsed.igx-nav-drawer__aside--right{transform:translate3d(300px,0,0);box-shadow:none}[dir=rtl] .igx-nav-drawer__aside--collapsed.igx-nav-drawer__aside--right{transform:translate3d(-300px,0,0)}.igx-nav-drawer__aside--right{inset-inline-start:auto;inset-inline-end:0;border-inline-end:none;border-inline-start:.0625rem solid var(--border-color)}.igx-nav-drawer__aside--mini{transition-duration:var(--ig-nav-drawer-transition-duration);width:var(--size--mini);min-width:-moz-fit-content;min-width:fit-content}.igx-nav-drawer__aside--mini [igxDrawerItem]{justify-content:center;min-width:-moz-fit-content;min-width:fit-content;width:var(--item-mini-width)}.igx-nav-drawer__aside--mini [igxDrawerItem] igx-icon{margin-inline-start:0}.igx-nav-drawer__aside--normal{transition-duration:var(--ig-nav-drawer-transition-duration);width:var(--size)}.igx-nav-drawer__aside--pinned{position:relative;box-shadow:none}.igx-nav-drawer__aside--pinned.igx-nav-drawer__aside--collapsed{transform:none;width:0;overflow:hidden;border:none;padding-inline:0}.igx-nav-drawer__overlay{opacity:1;background:hsl(from var(--ig-gray-500) h s l/.54);transition:opacity,visibility;transition-duration:var(--ig-nav-drawer-transition-duration),var(--ig-nav-drawer-transition-duration);transition-delay:0s,0s;position:absolute;inset-inline-start:0;inset:0;width:100%;height:100%;visibility:visible;margin:0;padding:0;border:none;display:block}.igx-nav-drawer__overlay--panning{transform:translateZ(0);transition:none}.igx-nav-drawer__overlay--panning.igx-nav-drawer__overlay--hidden{visibility:visible}.igx-nav-drawer__overlay--hidden{visibility:hidden;opacity:0}.igx-nav-drawer__style-dummy{height:0;background:none;box-shadow:none;transition:none;visibility:hidden}.igx-nav-drawer--disable-animation{transition-duration:0s}.igx-nav-drawer-item{position:relative;display:flex;align-items:center;flex-flow:row nowrap;max-height:var(--item-min-height);gap:var(--item-gap);padding:var(--item-padding);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;outline:rgba(0,0,0,0);white-space:nowrap;border-radius:var(--item-border-radius);text-decoration:none;border:none;justify-content:flex-start;contain:paint layout content;color:var(--item-text-color)}.igx-nav-drawer-item igx-icon{--item-icon-color: inherit;--component-size: 3}.igx-nav-drawer-item[igxButton]{--ig-icon-size: 1.5rem;background:#0000;border:none;box-shadow:none}.igx-nav-drawer-item[igxButton] igx-icon{margin:0}.igx-nav-drawer-item[igxButton]:hover,.igx-nav-drawer-item[igxButton]:focus{box-shadow:none;border:none}.igx-nav-drawer-item:hover:not(.igx-nav-drawer-item--active),.igx-nav-drawer-item:focus:not(.igx-nav-drawer-item--active){background:var(--item-hover-background);color:var(--item-hover-text-color)}.igx-nav-drawer-item--header{display:flex;align-items:center;padding:var(--item-padding);min-height:var(--item-min-height);white-space:nowrap;color:var(--item-header-text-color)}.igx-nav-drawer-item--disabled{background:none;color:var(--item-disabled-text-color);cursor:default;pointer-events:none}.igx-nav-drawer-item--disabled igx-icon{color:var(--item-disabled-icon-color)}}@layer ig.material{@container style(--ig-theme: material){.igx-nav-drawer{--aside-padding: .5rem;--item-padding: .75rem .5rem;--item-gap: 2rem;--item-min-height: 3rem}}}@layer ig.material{@container style(--ig-theme: material){.igx-nav-drawer-item{font-family:var(--ig-subtitle-2-font-family, var(--ig-font-family));font-size:var(--ig-subtitle-2-font-size);font-weight:var(--ig-subtitle-2-font-weight);font-style:var(--ig-subtitle-2-font-style);line-height:var(--ig-subtitle-2-line-height);letter-spacing:var(--ig-subtitle-2-letter-spacing);text-transform:var(--ig-subtitle-2-text-transform);margin-top:var(--ig-subtitle-2-margin-top);margin-bottom:var(--ig-subtitle-2-margin-bottom);border-radius:initial;clip-path:inset(.25rem 0 round var(--item-border-radius))}.igx-nav-drawer-item:after{content:\"\";position:absolute;width:100%;inset-block-start:.25rem;inset-inline-start:0;height:calc(100% - .5rem);border-radius:var(--item-border-radius);z-index:-1}.igx-nav-drawer-item:hover,.igx-nav-drawer-item:focus{background:unset}.igx-nav-drawer-item:hover:after,.igx-nav-drawer-item:focus:after{background:var(--item-hover-background)}.igx-nav-drawer-item--active{color:var(--item-active-text-color)}.igx-nav-drawer-item--active:after{background:var(--item-active-background)}.igx-nav-drawer-item--active:focus,.igx-nav-drawer-item--active:hover{color:var(--item-active-text-color)}.igx-nav-drawer-item--active:focus:after,.igx-nav-drawer-item--active:hover:after{background:var(--item-active-background)}.igx-nav-drawer-item--header{font-family:var(--ig-subtitle-1-font-family, var(--ig-font-family));font-size:var(--ig-subtitle-1-font-size);font-weight:var(--ig-subtitle-1-font-weight);font-style:var(--ig-subtitle-1-font-style);line-height:var(--ig-subtitle-1-line-height);letter-spacing:var(--ig-subtitle-1-letter-spacing);text-transform:var(--ig-subtitle-1-text-transform);margin-top:var(--ig-subtitle-1-margin-top);margin-bottom:var(--ig-subtitle-1-margin-bottom)}}}@layer ig.bootstrap{@container style(--ig-theme: bootstrap){.igx-nav-drawer{--aside-padding: 1rem;--item-padding: .5rem 1rem;--item-gap: .5rem;--item-min-height: 2.5rem;--item-mini-width: 3.5rem}}}@layer ig.bootstrap{@container style(--ig-theme: bootstrap){.igx-nav-drawer-item{font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom)}.igx-nav-drawer-item--active{color:var(--item-active-text-color);background:var(--item-active-background)}.igx-nav-drawer-item--active igx-icon{color:var(--item-active-icon-color)}.igx-nav-drawer-item--active:focus,.igx-nav-drawer-item--active:hover{color:var(--item-active-text-color);background:var(--item-active-background)}.igx-nav-drawer-item--active:focus igx-icon,.igx-nav-drawer-item--active:hover igx-icon{color:var(--item-active-icon-color)}.igx-nav-drawer-item--header{font-family:var(--ig-caption-font-family, var(--ig-font-family));font-size:var(--ig-caption-font-size);font-weight:var(--ig-caption-font-weight);font-style:var(--ig-caption-font-style);line-height:var(--ig-caption-line-height);letter-spacing:var(--ig-caption-letter-spacing);text-transform:var(--ig-caption-text-transform);margin-top:var(--ig-caption-margin-top);margin-bottom:var(--ig-caption-margin-bottom)}}}@layer ig.fluent{@container style(--ig-theme: fluent){.igx-nav-drawer{--aside-padding: 0;--item-padding: .625rem .5rem;--item-gap: .5rem;--item-min-height: 2.75rem}.igx-nav-drawer__aside{border:.0625rem solid var(--border-color)}}}@layer ig.fluent{@container style(--ig-theme: fluent){.igx-nav-drawer-item{font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom)}.igx-nav-drawer-item--active{color:var(--item-active-text-color);background:var(--item-active-background)}.igx-nav-drawer-item--active igx-icon{color:var(--item-active-icon-color)}.igx-nav-drawer-item--active:focus,.igx-nav-drawer-item--active:hover{color:var(--item-active-text-color);background:var(--item-active-background)}.igx-nav-drawer-item--active:focus igx-icon,.igx-nav-drawer-item--active:hover igx-icon{color:var(--item-active-icon-color)}.igx-nav-drawer-item--header{font-family:var(--ig-subtitle-1-font-family, var(--ig-font-family));font-size:var(--ig-subtitle-1-font-size);font-weight:var(--ig-subtitle-1-font-weight);font-style:var(--ig-subtitle-1-font-style);line-height:var(--ig-subtitle-1-line-height);letter-spacing:var(--ig-subtitle-1-letter-spacing);text-transform:var(--ig-subtitle-1-text-transform);margin-top:var(--ig-subtitle-1-margin-top);margin-bottom:var(--ig-subtitle-1-margin-bottom)}}}@layer ig.indigo{@container style(--ig-theme: indigo){.igx-nav-drawer{--aside-padding: .5rem;--item-padding: .5rem 1rem;--item-gap: 1rem;--item-min-height: 2rem;--item-mini-width: 2rem;--item-margin: .25rem}.igx-nav-drawer__aside--mini [igxDrawerItem]{margin:var(--item-margin) auto}}}@layer ig.indigo{@container style(--ig-theme: indigo){.igx-nav-drawer-item{font-family:var(--ig-subtitle-2-font-family, var(--ig-font-family));font-size:var(--ig-subtitle-2-font-size);font-weight:var(--ig-subtitle-2-font-weight);font-style:var(--ig-subtitle-2-font-style);line-height:var(--ig-subtitle-2-line-height);letter-spacing:var(--ig-subtitle-2-letter-spacing);text-transform:var(--ig-subtitle-2-text-transform);margin-top:var(--ig-subtitle-2-margin-top);margin-bottom:var(--ig-subtitle-2-margin-bottom);margin-block-end:var(--item-margin)}.igx-nav-drawer-item igx-icon{--component-size: 2}.igx-nav-drawer-item--active{color:var(--item-active-text-color);background:var(--item-active-background)}.igx-nav-drawer-item--active igx-icon{color:var(--item-active-icon-color)}.igx-nav-drawer-item--active:focus,.igx-nav-drawer-item--active:hover{color:var(--item-active-text-color);background:var(--item-active-background)}.igx-nav-drawer-item--active:focus igx-icon,.igx-nav-drawer-item--active:hover igx-icon{color:var(--item-active-icon-color)}.igx-nav-drawer-item--header{font-family:var(--ig-overline-font-family, var(--ig-font-family));font-size:var(--ig-overline-font-size);font-weight:var(--ig-overline-font-weight);font-style:var(--ig-overline-font-style);line-height:var(--ig-overline-line-height);letter-spacing:var(--ig-overline-letter-spacing);text-transform:var(--ig-overline-text-transform);margin-top:var(--ig-overline-margin-top);margin-bottom:var(--ig-overline-margin-bottom);margin-block-end:var(--item-margin)}}}\n"] }]
914
917
  }], ctorParameters: () => [], propDecorators: { cssClass: [{
915
918
  type: HostBinding,
916
919
  args: ['class.igx-nav-drawer']
@@ -998,11 +1001,11 @@ const IGX_NAVIGATION_DRAWER_DIRECTIVES = [
998
1001
  * @hidden
999
1002
  */
1000
1003
  class IgxNavigationDrawerModule {
1001
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: IgxNavigationDrawerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1002
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.0", ngImport: i0, type: IgxNavigationDrawerModule, imports: [IgxNavigationDrawerComponent, IgxNavDrawerItemDirective, IgxNavDrawerMiniTemplateDirective, IgxNavDrawerTemplateDirective], exports: [IgxNavigationDrawerComponent, IgxNavDrawerItemDirective, IgxNavDrawerMiniTemplateDirective, IgxNavDrawerTemplateDirective] }); }
1003
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: IgxNavigationDrawerModule }); }
1004
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxNavigationDrawerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1005
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.1", ngImport: i0, type: IgxNavigationDrawerModule, imports: [IgxNavigationDrawerComponent, IgxNavDrawerItemDirective, IgxNavDrawerMiniTemplateDirective, IgxNavDrawerTemplateDirective], exports: [IgxNavigationDrawerComponent, IgxNavDrawerItemDirective, IgxNavDrawerMiniTemplateDirective, IgxNavDrawerTemplateDirective] }); }
1006
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxNavigationDrawerModule }); }
1004
1007
  }
1005
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: IgxNavigationDrawerModule, decorators: [{
1008
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxNavigationDrawerModule, decorators: [{
1006
1009
  type: NgModule,
1007
1010
  args: [{
1008
1011
  imports: [
@@ -1 +1 @@
1
- {"version":3,"file":"igniteui-angular-navigation-drawer.mjs","sources":["../../../projects/igniteui-angular/navigation-drawer/src/navigation-drawer/navigation-drawer.directives.ts","../../../projects/igniteui-angular/navigation-drawer/src/navigation-drawer/navigation-drawer.component.ts","../../../projects/igniteui-angular/navigation-drawer/src/navigation-drawer/navigation-drawer.component.html","../../../projects/igniteui-angular/navigation-drawer/src/navigation-drawer/public_api.ts","../../../projects/igniteui-angular/navigation-drawer/src/navigation-drawer/navigation-drawer.module.ts","../../../projects/igniteui-angular/navigation-drawer/src/igniteui-angular-navigation-drawer.ts"],"sourcesContent":["import { Directive, HostBinding, Input, TemplateRef, booleanAttribute, inject } from '@angular/core';\n\n@Directive({\n selector: '[igxDrawerItem]',\n exportAs: 'igxDrawerItem',\n standalone: true\n})\nexport class IgxNavDrawerItemDirective {\n\n /**\n * Styles a navigation drawer item as selected.\n * If not set, `active` will have default value `false`.\n *\n * @example\n * ```html\n * <span igxDrawerItem [active]=\"true\">Active Item</span>\n * ```\n */\n @Input({ transform: booleanAttribute }) public active = false;\n\n /**\n * Disables a navigation drawer item.\n * If not set, `disabled` will have default value `false`.\n *\n * @example\n * ```html\n * <span igxDrawerItem [disabled]=\"true\">Disabled Item</span>\n * ```\n */\n @Input({ transform: booleanAttribute }) public disabled = false;\n\n /**\n * Styles a navigation drawer item as a group header.\n * If not set, `isHeader` will have default value `false`.\n *\n * @example\n * ```html\n * <span igxDrawerItem [isHeader]=\"true\">Header</span>\n * ```\n */\n @Input({ transform: booleanAttribute }) public isHeader = false;\n\n /**\n * @hidden\n */\n public readonly activeClass = 'igx-nav-drawer-item--active';\n\n /**\n * @hidden\n */\n public readonly disabledClass = 'igx-nav-drawer-item--disabled';\n\n /**\n * @hidden\n */\n @HostBinding('class.igx-nav-drawer-item')\n @HostBinding('class.igx-nav-drawer__item')\n public get defaultCSS(): boolean {\n return !this.isHeader;\n }\n\n /**\n * @hidden\n */\n @HostBinding('class.igx-nav-drawer-item--active')\n @HostBinding('class.igx-nav-drawer__item--active')\n public get currentCSS(): boolean {\n return this.active && !this.isHeader && !this.disabled;\n }\n\n /**\n * @hidden\n */\n @HostBinding('class.igx-nav-drawer-item--header')\n @HostBinding('class.igx-nav-drawer__item--header')\n public get headerCSS(): boolean {\n return this.isHeader;\n }\n\n /**\n * @hidden\n */\n @HostBinding('class.igx-nav-drawer-item--disabled')\n @HostBinding('class.igx-nav-drawer__item--disabled')\n public get disabledCSS(): boolean {\n return this.disabled;\n }\n}\n\n@Directive({\n selector: '[igxDrawer]',\n standalone: true\n})\nexport class IgxNavDrawerTemplateDirective {\n public template = inject<TemplateRef<any>>(TemplateRef);\n}\n\n@Directive({\n selector: '[igxDrawerMini]',\n standalone: true\n})\nexport class IgxNavDrawerMiniTemplateDirective {\n public template = inject<TemplateRef<any>>(TemplateRef);\n}\n","import {\n AfterContentInit,\n afterRenderEffect,\n afterNextRender,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n SimpleChange,\n ViewChild,\n Renderer2,\n booleanAttribute,\n inject,\n signal,\n computed,\n ChangeDetectionStrategy,\n ViewEncapsulation\n} from '@angular/core';\nimport { DOCUMENT, NgTemplateOutlet } from '@angular/common';\nimport { fromEvent, interval, Subscription } from 'rxjs';\nimport { debounce } from 'rxjs/operators';\nimport { IgxNavigationService, IToggleView } from 'igniteui-angular/core';\nimport { IgxNavDrawerMiniTemplateDirective, IgxNavDrawerTemplateDirective, IgxNavDrawerItemDirective } from './navigation-drawer.directives';\nimport { IgxGestureEvent, IgxTouchManager, PlatformUtil } from 'igniteui-angular/core';\n\nlet NEXT_ID = 0;\n/**\n * **Ignite UI for Angular Navigation Drawer** -\n * [Documentation](https://www.infragistics.com/products/ignite-ui-angular/angular/components/navdrawer)\n *\n * The Ignite UI Navigation Drawer is a collapsible side navigation container commonly used in combination with the Navbar.\n *\n * Example:\n * ```html\n * <igx-nav-drawer id=\"navigation\" [isOpen]=\"true\">\n * <ng-template igxDrawer>\n * <nav>\n * <span igxDrawerItem [isHeader]=\"true\">Email</span>\n * <span igxDrawerItem igxRipple>Inbox</span>\n * <span igxDrawerItem igxRipple>Deleted</span>\n * <span igxDrawerItem igxRipple>Sent</span>\n * </nav>\n * </ng-template>\n * </igx-nav-drawer>\n * ```\n */\n@Component({\n selector: 'igx-nav-drawer',\n templateUrl: 'navigation-drawer.component.html',\n styleUrl: 'navigation-drawer.component.css',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.Eager,\n imports: [IgxNavDrawerItemDirective, NgTemplateOutlet]\n})\nexport class IgxNavigationDrawerComponent implements\n IToggleView,\n OnInit,\n AfterContentInit,\n OnDestroy,\n OnChanges {\n private elementRef = inject<ElementRef>(ElementRef);\n private _state = inject(IgxNavigationService, { optional: true });\n private renderer = inject(Renderer2);\n private _document = inject(DOCUMENT);\n private platformUtil = inject(PlatformUtil);\n\n private _isOpen = signal(false);\n private _pinned = signal(false);\n private _miniTemplate = signal<IgxNavDrawerMiniTemplateDirective | undefined>(undefined);\n private _visibleOverlay = computed<boolean>(() => {\n return !this._pinned() && (this._isOpen() || !!this._miniTemplate());\n });\n private _closingAnimation = signal(false);\n\n\n /** @hidden @internal */\n @HostBinding('class.igx-nav-drawer')\n public cssClass = true;\n\n /**\n * ID of the component\n *\n * ```typescript\n * // get\n * let myNavDrawerId = this.navdrawer.id;\n * ```\n *\n * ```html\n * <!--set-->\n * <igx-nav-drawer id='navdrawer'></igx-nav-drawer>\n * ```\n */\n @HostBinding('attr.id')\n @Input() public id = `igx-nav-drawer-${NEXT_ID++}`;\n\n /**\n * Position of the Navigation Drawer. Can be \"left\"(default) or \"right\".\n *\n * ```typescript\n * // get\n * let myNavDrawerPosition = this.navdrawer.position;\n * ```\n *\n * ```html\n * <!--set-->\n * <igx-nav-drawer [position]=\"'left'\"></igx-nav-drawer>\n * ```\n */\n @Input() public position = 'left';\n\n /**\n * Enables the use of touch gestures to manipulate the drawer:\n * - swipe/pan from edge to open, swipe-toggle and pan-drag.\n *\n * ```typescript\n * // get\n * let gesturesEnabled = this.navdrawer.enableGestures;\n * ```\n *\n * ```html\n * <!--set-->\n * <igx-nav-drawer [enableGestures]='true'></igx-nav-drawer>\n * ```\n */\n @Input({ transform: booleanAttribute }) public enableGestures = true;\n\n /**\n * @hidden\n */\n @Output() public isOpenChange = new EventEmitter<boolean>();\n\n /**\n * Minimum device width required for automatic pin to be toggled.\n * Default is 1024, can be set to a falsy value to disable this behavior.\n *\n * ```typescript\n * // get\n * let navDrawerPinThreshold = this.navdrawer.pinThreshold;\n * ```\n *\n * ```html\n * <!--set-->\n * <igx-nav-drawer [pinThreshold]='1024'></igx-nav-drawer>\n * ```\n */\n @Input() public pinThreshold = 1024;\n\n /**\n * When pinned the drawer is relatively positioned instead of sitting above content.\n * May require additional layout styling.\n *\n * ```typescript\n * // get\n * let navDrawerIsPinned = this.navdrawer.pin;\n * ```\n *\n * ```html\n * <!--set-->\n * <igx-nav-drawer [pin]=\"false\"></igx-nav-drawer>\n * ```\n */\n @Input({ transform: booleanAttribute })\n public get pin(): boolean {\n return this._pinned();\n }\n public set pin(v: boolean) {\n this._pinned.set(v);\n }\n\n\n /**\n * Width of the drawer in its open state.\n *\n * ```typescript\n * // get\n * let navDrawerWidth = this.navdrawer.width;\n * ```\n *\n * ```html\n * <!--set-->\n * <igx-nav-drawer [width]=\"'228px'\"></igx-nav-drawer>\n * ```\n */\n private _width: string;\n\n @Input()\n public get width() {\n return this._width;\n }\n public set width(value: string) {\n this._width = value;\n }\n\n\n /**\n * Enables/disables the animation, when toggling the drawer. Set to `false` by default.\n * ````html\n * <igx-nav-drawer [disableAnimation]=\"true\"></igx-nav-drawer>\n * ````\n */\n @Input({ transform: booleanAttribute }) public disableAnimation = false;\n\n /**\n * Suppresses transitions until the first render has painted, so the drawer\n * settles into its resting (mini/expanded) size without an initial width\n * animation when the aside is first shown as a top-layer popover.\n */\n private _animationsReady = signal(false);\n\n /**\n * Whether transitions are currently suppressed — either explicitly via\n * `disableAnimation`, or implicitly until the first paint has settled.\n * @hidden\n */\n @HostBinding('class.igx-nav-drawer--disable-animation')\n public get animationsDisabled(): boolean {\n return this.disableAnimation || !this._animationsReady();\n }\n\n /**\n * Width of the drawer in its mini state.\n *\n * ```typescript\n * // get\n * let navDrawerMiniWidth = this.navdrawer.miniWidth;\n * ```\n *\n * ```html\n * <!--set-->\n * <igx-nav-drawer [miniWidth]=\"'34px'\"></igx-nav-drawer>\n * ```\n */\n @Input() public miniWidth: string;\n\n /**\n * Pinned state change output for two-way binding.\n *\n * ```html\n * <igx-nav-drawer [(pin)]='isPinned'></igx-nav-drawer>\n * ```\n */\n @Output() public pinChange = new EventEmitter<boolean>(true);\n /**\n * Event fired as the Navigation Drawer is about to open.\n *\n * ```html\n * <igx-nav-drawer (opening)='onOpening()'></igx-nav-drawer>\n * ```\n */\n @Output() public opening = new EventEmitter();\n /**\n * Event fired when the Navigation Drawer has opened.\n *\n * ```html\n * <igx-nav-drawer (opened)='onOpened()'></igx-nav-drawer>\n * ```\n */\n @Output() public opened = new EventEmitter();\n /**\n * Event fired as the Navigation Drawer is about to close.\n *\n * ```html\n * <igx-nav-drawer (closing)='onClosing()'></igx-nav-drawer>\n * ```\n */\n @Output() public closing = new EventEmitter();\n /**\n * Event fired when the Navigation Drawer has closed.\n *\n * ```html\n * <igx-nav-drawer (closed)='onClosed()'></igx-nav-drawer>\n * ```\n */\n @Output() public closed = new EventEmitter();\n\n /**\n * @hidden\n */\n @ContentChild(IgxNavDrawerTemplateDirective, { read: IgxNavDrawerTemplateDirective })\n protected contentTemplate: IgxNavDrawerTemplateDirective;\n\n @ViewChild('aside', { static: true }) private _drawer: ElementRef<HTMLElement>;\n @ViewChild('overlay', { static: true }) private _overlay: ElementRef<HTMLElement>;\n @ViewChild('dummy', { static: true }) private _styleDummy: ElementRef<HTMLElement>;\n\n /**\n * State of the drawer.\n *\n * ```typescript\n * // get\n * let navDrawerIsOpen = this.navdrawer.isOpen;\n * ```\n *\n * ```html\n * <!--set-->\n * <igx-nav-drawer [isOpen]='false'></igx-nav-drawer>\n * ```\n *\n * Two-way data binding.\n * ```html\n * <!--set-->\n * <igx-nav-drawer [(isOpen)]='model.isOpen'></igx-nav-drawer>\n * ```\n */\n @Input({ transform: booleanAttribute })\n public get isOpen() {\n return this._isOpen();\n }\n public set isOpen(value) {\n this._isOpen.set(value);\n this.isOpenChange.emit(value);\n }\n\n /**\n * Returns nativeElement of the component.\n *\n * @hidden\n */\n public get element() {\n return this.elementRef.nativeElement;\n }\n\n /**\n * @hidden\n */\n public get template() {\n if (this.miniTemplate && !this.isOpen) {\n return this.miniTemplate.template;\n } else if (this.contentTemplate) {\n return this.contentTemplate.template;\n }\n }\n /**\n * @hidden\n */\n public get miniTemplate(): IgxNavDrawerMiniTemplateDirective {\n return this._miniTemplate();\n }\n\n /**\n * @hidden\n */\n @ContentChild(IgxNavDrawerMiniTemplateDirective, { read: IgxNavDrawerMiniTemplateDirective })\n public set miniTemplate(v: IgxNavDrawerMiniTemplateDirective) {\n this._miniTemplate.set(v);\n }\n\n /** @hidden @internal */\n @HostBinding('class.igx-nav-drawer--mini')\n public get isMini(): boolean {\n return !!this.miniTemplate && !this.isOpen;\n }\n\n /** @hidden @internal */\n @HostBinding('class.igx-nav-drawer--pinned')\n public get pinned(): boolean {\n return !!this.pin;\n }\n\n /**\n * @hidden\n */\n @HostBinding('style.--ig-nav-drawer-size')\n public get normalSize() {\n if (!this.isOpen) {\n return '0px';\n }\n\n return this.width;\n }\n\n /**\n * @hidden\n */\n @HostBinding('style.--ig-nav-drawer-size--mini')\n public get miniSize() {\n if (this.miniTemplate && this.miniWidth) {\n return this.miniWidth;\n }\n }\n\n /** @hidden */\n @HostBinding('style.order')\n public get isPinnedRight() {\n return this.pin && this.position === 'right' ? '1' : '0';\n }\n\n private _gesturesAttached = false;\n private _gestures: IgxTouchManager | null = null;\n private _widthCache: { width: number; miniWidth: number; windowWidth: number } = { width: null, miniWidth: null, windowWidth: null };\n private _resizeObserver: Subscription;\n private css: { [name: string]: string } = {\n drawer: 'igx-nav-drawer__aside',\n mini: 'igx-nav-drawer__aside--mini',\n overlay: 'igx-nav-drawer__overlay',\n styleDummy: 'igx-nav-drawer__style-dummy'\n };\n\n /**\n * @hidden\n */\n public get drawer() {\n return this._drawer?.nativeElement;\n }\n\n /**\n * @hidden\n */\n public get overlay() {\n return this._overlay?.nativeElement;\n }\n\n /**\n * @hidden\n */\n public get styleDummy() {\n return this._styleDummy.nativeElement;\n }\n\n /** Pan animation properties */\n private _panning = false;\n private _panStartWidth: number;\n private _panLimit: number;\n\n /**\n * Property to decide whether to change width or translate the drawer from pan gesture.\n *\n * @hidden\n */\n public get hasAnimateWidth(): boolean {\n return this.pin || !!this.miniTemplate;\n }\n\n private _maxEdgeZone = 50;\n /**\n * Used for touch gestures (swipe and pan).\n * Defaults to 50 (in px) and is extended to at least 110% of the mini template width if available.\n *\n * @hidden\n */\n public get maxEdgeZone() {\n return this._maxEdgeZone;\n }\n\n /**\n * Gets the Drawer width for specific state.\n * Will attempt to evaluate requested state and cache.\n *\n *\n * @hidden\n */\n public get expectedWidth() {\n return this.getExpectedWidth(false);\n }\n\n /**\n * Get the Drawer mini width for specific state.\n * Will attempt to evaluate requested state and cache.\n *\n * @hidden\n */\n public get expectedMiniWidth() {\n return this.getExpectedWidth(true);\n }\n\n /**\n * Exposes optional navigation service\n *\n * @hidden\n */\n public get state() {\n return this._state;\n }\n\n constructor() {\n afterRenderEffect(() => {\n if (this._closingAnimation()) return;\n this.togglePopover(this._visibleOverlay());\n });\n\n // Enable transitions only after the first paint. The initial popover show\n // resolves the aside's width (e.g. to its mini size) as it enters the top\n // layer; deferring past the first frame lets that settle instantly instead\n // of animating from the fallback/expanded width.\n afterNextRender(() => {\n requestAnimationFrame(() => this._animationsReady.set(true));\n });\n }\n\n /**\n * @hidden\n */\n public ngOnInit() {\n // DOM and @Input()-s initialized\n if (this._state) {\n this._state.add(this.id, this);\n }\n }\n\n /**\n * @hidden\n */\n public ngAfterContentInit() {\n // wait for template and ng-content to be ready\n this.updateEdgeZone();\n this.checkPinThreshold();\n\n this.ensureEvents();\n\n // TODO: apply platform-safe Ruler from http://plnkr.co/edit/81nWDyreYMzkunihfRgX?p=preview\n // (https://github.com/angular/angular/issues/6515), blocked by https://github.com/angular/angular/issues/6904\n }\n\n /**\n * @hidden\n */\n public ngOnDestroy() {\n this.detachGestures();\n if (this._state) {\n this._state.remove(this.id);\n }\n if (this._resizeObserver) {\n this._resizeObserver.unsubscribe();\n }\n }\n\n /**\n * @hidden\n */\n public ngOnChanges(changes: { [propName: string]: SimpleChange }) {\n // simple settings can come from attribute set (rather than binding), make sure boolean props are converted\n if (changes.enableGestures && changes.enableGestures.currentValue !== undefined) {\n this.enableGestures = !!(this.enableGestures && this.enableGestures.toString() === 'true');\n this.ensureEvents();\n }\n if (changes.pin && changes.pin.currentValue !== undefined) {\n this.pin = !!(this.pin && this.pin.toString() === 'true');\n this.ensureEvents();\n }\n\n if (changes.pinThreshold) {\n if (this.pinThreshold) {\n this.ensureEvents();\n this.checkPinThreshold();\n }\n }\n\n if (changes.miniWidth) {\n this.updateEdgeZone();\n }\n }\n\n /**\n * Toggle the open state of the Navigation Drawer.\n *\n * ```typescript\n * this.navdrawer.toggle();\n * ```\n */\n public toggle() {\n if (this.isOpen) {\n this.close();\n } else {\n this.open();\n }\n }\n\n /**\n * Open the Navigation Drawer. Has no effect if already opened.\n *\n * ```typescript\n * this.navdrawer.open();\n * ```\n */\n public open() {\n if (this._panning) {\n this.resetPan();\n }\n\n if (this.isOpen) {\n return;\n }\n\n this.opening.emit();\n this.isOpen = true;\n\n // TODO: Switch to animate API when available\n // var animationCss = this.animate.css();\n // animationCss\n // .setStyles({'width':'50px'}, {'width':'400px'})\n // .start(this.elementRef.nativeElement)\n // .onComplete(() => animationCss.setToStyles({'width':'auto'}).start(this.elementRef.nativeElement));\n\n this.elementRef.nativeElement.addEventListener('transitionend', this.toggleOpenedEvent, false);\n\n requestAnimationFrame(()=>{});\n }\n\n /**\n * Close the Navigation Drawer. Has no effect if already closed.\n *\n * ```typescript\n * this.navdrawer.close();\n * ```\n */\n public close() {\n if (this._panning) {\n this.resetPan();\n }\n\n if (!this.isOpen) {\n return;\n }\n\n this.closing.emit();\n\n // TODO: intersection observer for close popover instead of transitionend\n this._closingAnimation.set(true);\n this.isOpen = false;\n this.elementRef.nativeElement.addEventListener('transitionend', this.toggleClosedEvent, false);\n }\n\n /**\n * @hidden\n */\n protected set_maxEdgeZone(value: number) {\n this._maxEdgeZone = value;\n }\n\n /**\n * Get the Drawer width for specific state. Will attempt to evaluate requested state and cache.\n *\n * @hidden\n * @param [mini] - Request mini width instead\n */\n protected getExpectedWidth(mini?: boolean): number {\n if (mini) {\n if (!this.miniTemplate) {\n return 0;\n }\n if (this.miniWidth) {\n return parseFloat(this.miniWidth);\n } else {\n // if (!this.isOpen) { // This WON'T work due to transition timings...\n // return this.elementRef.nativeElement.children[1].offsetWidth;\n // } else {\n if (this._widthCache.miniWidth === null) {\n // force class for width calc. TODO?\n // force class for width calc. TODO?\n this.renderer.addClass(this.styleDummy, this.css.drawer);\n this.renderer.addClass(this.styleDummy, this.css.mini);\n this._widthCache.miniWidth = this.styleDummy.offsetWidth;\n this.renderer.removeClass(this.styleDummy, this.css.drawer);\n this.renderer.removeClass(this.styleDummy, this.css.mini);\n }\n return this._widthCache.miniWidth;\n }\n } else {\n if (this.width) {\n return parseFloat(this.width);\n } else {\n if (this._widthCache.width === null) {\n // force class for width calc. TODO?\n // force class for width calc. TODO?\n this.renderer.addClass(this.styleDummy, this.css.drawer);\n this._widthCache.width = this.styleDummy.offsetWidth;\n this.renderer.removeClass(this.styleDummy, this.css.drawer);\n }\n return this._widthCache.width;\n }\n }\n }\n\n private getWindowWidth() {\n return (window.innerWidth > 0) ? window.innerWidth : screen.width;\n }\n\n private ensureEvents() {\n // set listeners for swipe/pan only if needed, but just once\n if (this.enableGestures && !this.pin) {\n if (!this._gesturesAttached) {\n this._gestures = new IgxTouchManager(this._document, {\n pointerDown: (event) => this.panStart(event),\n panMove: (event) => this.pan(event),\n swipe: (event) => this.swipe(event),\n panEnd: (event) => this.panEnd(event),\n panCancel: () => this.panCancel()\n }, { pointerTypes: ['touch'], setPointerCapture: false });\n\n this._gesturesAttached = true;\n }\n } else {\n this.detachGestures();\n }\n if (!this._resizeObserver && this.platformUtil.isBrowser) {\n this._resizeObserver = fromEvent(window, 'resize').pipe(debounce(() => interval(150)))\n .subscribe((value) => {\n this.checkPinThreshold(value);\n });\n }\n }\n\n private detachGestures() {\n this._gestures?.destroy();\n this._gestures = null;\n this._gesturesAttached = false;\n }\n\n private updateEdgeZone() {\n let maxValue;\n\n if (this.miniTemplate) {\n maxValue = Math.max(this._maxEdgeZone, this.getExpectedWidth(true) * 1.1);\n this.set_maxEdgeZone(maxValue);\n }\n }\n\n private checkPinThreshold = (evt?: Event) => {\n if (!this.platformUtil.isBrowser) {\n return;\n }\n let windowWidth;\n if (this.pinThreshold) {\n windowWidth = this.getWindowWidth();\n if (evt && this._widthCache.windowWidth === windowWidth) {\n return;\n }\n this._widthCache.windowWidth = windowWidth;\n if (!this.pin && windowWidth >= this.pinThreshold) {\n this.pin = true;\n this.pinChange.emit(true);\n } else if (this.pin && windowWidth < this.pinThreshold) {\n this.pin = false;\n this.pinChange.emit(false);\n }\n }\n };\n\n private swipe = (evt: IgxGestureEvent) => {\n // TODO: Could also force input type: http://stackoverflow.com/a/27108052\n if (!this.enableGestures || evt.pointerType !== 'touch') {\n return;\n }\n\n // HammerJS swipe is horizontal-only by default, don't check deltaY\n let deltaX;\n let startPosition;\n if (this.position === 'right') {\n // when on the right use inverse of deltaX\n deltaX = -evt.deltaX;\n startPosition = this.getWindowWidth() - (evt.center.x + evt.distance);\n } else {\n deltaX = evt.deltaX;\n startPosition = evt.center.x - evt.distance;\n }\n // only accept closing swipe (ignoring minEdgeZone) when the drawer is expanded:\n if ((this.isOpen && deltaX < 0) ||\n // positive deltaX from the edge:\n (deltaX > 0 && startPosition < this.maxEdgeZone)) {\n this.toggle();\n }\n };\n\n private panStart = (evt: IgxGestureEvent): boolean => {\n if (!this.enableGestures || this.pin || evt.pointerType !== 'touch') {\n return false;\n }\n const startPosition = this.position === 'right' ? this.getWindowWidth() - (evt.center.x + evt.distance)\n : evt.center.x - evt.distance;\n\n // cache width during animation, flag to allow further handling\n if (this.isOpen || (startPosition < this.maxEdgeZone)) {\n this._panning = true;\n this._panStartWidth = this.getExpectedWidth(!this.isOpen);\n this._panLimit = this.getExpectedWidth(this.isOpen);\n\n this.renderer.addClass(this.overlay, 'igx-nav-drawer__overlay--panning');\n this.renderer.addClass(this.drawer, 'igx-nav-drawer__aside--panning');\n\n if (!this.hasAnimateWidth) {\n // Translate-mode pan slides the panel via `transform`, but its width is\n // driven by `--ig-nav-drawer-size`, which is forced to 0 while the drawer\n // is closed. Pin the real width for the duration of the gesture so the\n // slide reveals the full panel instead of just its padding/border.\n this.renderer.setStyle(this.drawer, 'width', `${this.getExpectedWidth(false)}px`);\n }\n return true;\n }\n\n // The touch did not start in the edge zone (and the drawer is closed), so this\n // gesture should be ignored. Returning `false` lets the touch manager stop\n // tracking immediately and not interfere with normal page scrolling.\n return false;\n };\n\n private pan = (evt: IgxGestureEvent) => {\n // TODO: input.deltaX = prevDelta.x + (center.x - offset.x);\n // get actual delta (not total session one) from event?\n // pan WILL also fire after a full swipe, only resize on flag\n if (!this._panning) {\n return;\n }\n const right: boolean = this.position === 'right';\n // when on the right use inverse of deltaX\n const deltaX = right ? -evt.deltaX : evt.deltaX;\n let newX;\n let percent;\n const visibleWidth = this._panStartWidth + deltaX;\n\n if (this.isOpen && deltaX < 0) {\n // when visibleWidth hits limit - stop animating\n if (visibleWidth <= this._panLimit) {\n return;\n }\n\n if (this.hasAnimateWidth) {\n percent = (visibleWidth - this._panLimit) / (this._panStartWidth - this._panLimit);\n newX = visibleWidth;\n } else {\n percent = visibleWidth / this._panStartWidth;\n newX = evt.deltaX;\n }\n this.setXSize(newX, percent.toPrecision(2));\n\n } else if (!this.isOpen && deltaX > 0) {\n // when visibleWidth hits limit - stop animating\n if (visibleWidth >= this._panLimit) {\n return;\n }\n\n if (this.hasAnimateWidth) {\n percent = (visibleWidth - this._panStartWidth) / (this._panLimit - this._panStartWidth);\n newX = visibleWidth;\n } else {\n percent = visibleWidth / this._panLimit;\n newX = (this._panLimit - visibleWidth) * (right ? 1 : -1);\n }\n this.setXSize(newX, percent.toPrecision(2));\n }\n };\n\n private panEnd = (evt: IgxGestureEvent) => {\n if (this._panning) {\n const deltaX = this.position === 'right' ? -evt.deltaX : evt.deltaX;\n const visibleWidth: number = this._panStartWidth + deltaX;\n this.resetPan();\n\n // check if pan brought the drawer to 50%\n if (this.isOpen && visibleWidth <= this._panStartWidth / 2) {\n this.close();\n } else if (!this.isOpen && visibleWidth >= this._panLimit / 2) {\n this.open();\n }\n this._panStartWidth = null;\n }\n };\n\n private panCancel = () => {\n if (this._panning) {\n this.resetPan();\n this._panStartWidth = null;\n }\n };\n\n private resetPan() {\n this._panning = false;\n /* styles fail to apply when set on parent due to extra attributes, prob ng bug */\n /* styles fail to apply when set on parent due to extra attributes, prob ng bug */\n this.renderer.removeClass(this.overlay, 'igx-nav-drawer__overlay--panning');\n this.renderer.removeClass(this.drawer, 'igx-nav-drawer__aside--panning');\n this.renderer.removeStyle(this.drawer, 'width');\n this.setXSize(0, '');\n }\n\n /**\n * Sets the absolute position or width in case the drawer doesn't change position.\n *\n * @param x the number pixels to translate on the X axis or the width to set. 0 width will clear the style instead.\n * @param opacity optional value to apply to the overlay\n */\n private setXSize(x: number, opacity?: string) {\n // Angular polyfills patches window.requestAnimationFrame, but switch to DomAdapter API (TODO)\n window.requestAnimationFrame(() => {\n if (this.hasAnimateWidth) {\n this.renderer.setStyle(this.drawer, 'width', x ? Math.abs(x) + 'px' : '');\n } else {\n this.renderer.setStyle(this.drawer, 'transform', x ? 'translate3d(' + x + 'px,0,0)' : '');\n }\n if (opacity !== undefined) {\n this.renderer.setStyle(this.overlay, 'opacity', opacity);\n }\n });\n }\n\n private togglePopover(show: boolean) {\n // check element and functionality exist:\n if (typeof this.drawer?.showPopover !== 'function') return;\n\n const popoverOpen = this.drawer.matches(':popover-open');\n if (show === popoverOpen) return;\n\n if (show) {\n this.overlay.showPopover();\n this.drawer.showPopover();\n } else {\n this.overlay.hidePopover();\n this.drawer.hidePopover();\n }\n }\n\n private toggleOpenedEvent = () => {\n this.elementRef.nativeElement.removeEventListener('transitionend', this.toggleOpenedEvent, false);\n this.opened.emit();\n };\n\n private toggleClosedEvent = () => {\n this.elementRef.nativeElement.removeEventListener('transitionend', this.toggleClosedEvent, false);\n this._closingAnimation.set(false);\n this.closed.emit();\n };\n}\n","<ng-template #defaultItemsTemplate>\n <div igxDrawerItem [isHeader]=\"true\">Navigation Drawer</div>\n <div igxDrawerItem> Start by adding</div>\n <div igxDrawerItem> <code>&lt;ng-template igxDrawer&gt;</code> </div>\n <div igxDrawerItem> And some items inside </div>\n <div igxDrawerItem> Style with igxDrawerItem </div>\n <div igxDrawerItem> and igxRipple directives</div>\n <div igxDrawerItem [disabled]=\"true\">Disabled Item</div>\n</ng-template>\n\n<div [hidden]=\"pin\"\n [attr.popover]=\"pin ? null : 'manual'\"\n class=\"igx-nav-drawer__overlay\"\n [class.igx-nav-drawer__overlay--hidden]=\"!isOpen\"\n [class.igx-nav-drawer--disable-animation]=\"animationsDisabled\"\n (click)=\"close()\" #overlay>\n</div>\n<nav\n class=\"igx-nav-drawer__aside\"\n [attr.popover]=\"pin ? null : 'manual'\"\n [class.igx-nav-drawer__aside--collapsed]=\"!miniTemplate && !isOpen\"\n [class.igx-nav-drawer__aside--mini]=\"miniTemplate && !isOpen\"\n [class.igx-nav-drawer__aside--normal]=\"!miniTemplate || isOpen\"\n [class.igx-nav-drawer__aside--pinned]=\"pin\"\n [class.igx-nav-drawer__aside--right]=\"position === 'right'\" #aside\n [class.igx-nav-drawer--disable-animation]=\"animationsDisabled\">\n\n <ng-container *ngTemplateOutlet=\"template || defaultItemsTemplate\"></ng-container>\n</nav>\n<div class=\"igx-nav-drawer__style-dummy\" #dummy></div>\n","import { IgxNavigationDrawerComponent } from './navigation-drawer.component';\nimport { IgxNavDrawerItemDirective, IgxNavDrawerMiniTemplateDirective, IgxNavDrawerTemplateDirective } from './navigation-drawer.directives';\n\nexport * from './navigation-drawer.component';\nexport * from './navigation-drawer.directives';\n\n/* NOTE: Navigation drawer directives collection for ease-of-use import in standalone components scenario */\nexport const IGX_NAVIGATION_DRAWER_DIRECTIVES = [\n IgxNavigationDrawerComponent,\n IgxNavDrawerItemDirective,\n IgxNavDrawerMiniTemplateDirective,\n IgxNavDrawerTemplateDirective\n] as const;\n","import { NgModule } from '@angular/core';\nimport { IGX_NAVIGATION_DRAWER_DIRECTIVES } from './public_api';\n\n/**\n * @hidden\n */\n@NgModule({\n imports: [\n ...IGX_NAVIGATION_DRAWER_DIRECTIVES\n ],\n exports: [\n ...IGX_NAVIGATION_DRAWER_DIRECTIVES\n ]\n})\nexport class IgxNavigationDrawerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.IgxNavigationDrawerComponent","i2.IgxNavDrawerItemDirective","i2.IgxNavDrawerMiniTemplateDirective","i2.IgxNavDrawerTemplateDirective"],"mappings":"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"}
1
+ {"version":3,"file":"igniteui-angular-navigation-drawer.mjs","sources":["../../../projects/igniteui-angular/navigation-drawer/src/navigation-drawer/navigation-drawer.directives.ts","../../../projects/igniteui-angular/navigation-drawer/src/navigation-drawer/navigation-drawer.component.ts","../../../projects/igniteui-angular/navigation-drawer/src/navigation-drawer/navigation-drawer.component.html","../../../projects/igniteui-angular/navigation-drawer/src/navigation-drawer/public_api.ts","../../../projects/igniteui-angular/navigation-drawer/src/navigation-drawer/navigation-drawer.module.ts","../../../projects/igniteui-angular/navigation-drawer/src/igniteui-angular-navigation-drawer.ts"],"sourcesContent":["import { Directive, HostBinding, Input, TemplateRef, booleanAttribute, inject } from '@angular/core';\nimport { IgxNoTypographyDirective } from 'igniteui-angular/directives';\n\n@Directive({\n selector: '[igxDrawerItem]',\n exportAs: 'igxDrawerItem',\n standalone: true,\n hostDirectives: [IgxNoTypographyDirective]\n})\nexport class IgxNavDrawerItemDirective {\n\n /**\n * Styles a navigation drawer item as selected.\n * If not set, `active` will have default value `false`.\n *\n * @example\n * ```html\n * <span igxDrawerItem [active]=\"true\">Active Item</span>\n * ```\n */\n @Input({ transform: booleanAttribute }) public active = false;\n\n /**\n * Disables a navigation drawer item.\n * If not set, `disabled` will have default value `false`.\n *\n * @example\n * ```html\n * <span igxDrawerItem [disabled]=\"true\">Disabled Item</span>\n * ```\n */\n @Input({ transform: booleanAttribute }) public disabled = false;\n\n /**\n * Styles a navigation drawer item as a group header.\n * If not set, `isHeader` will have default value `false`.\n *\n * @example\n * ```html\n * <span igxDrawerItem [isHeader]=\"true\">Header</span>\n * ```\n */\n @Input({ transform: booleanAttribute }) public isHeader = false;\n\n /**\n * @hidden\n */\n public readonly activeClass = 'igx-nav-drawer-item--active';\n\n /**\n * @hidden\n */\n public readonly disabledClass = 'igx-nav-drawer-item--disabled';\n\n /**\n * @hidden\n */\n @HostBinding('class.igx-nav-drawer-item')\n @HostBinding('class.igx-nav-drawer__item')\n public get defaultCSS(): boolean {\n return !this.isHeader;\n }\n\n /**\n * @hidden\n */\n @HostBinding('class.igx-nav-drawer-item--active')\n @HostBinding('class.igx-nav-drawer__item--active')\n public get currentCSS(): boolean {\n return this.active && !this.isHeader && !this.disabled;\n }\n\n /**\n * @hidden\n */\n @HostBinding('class.igx-nav-drawer-item--header')\n @HostBinding('class.igx-nav-drawer__item--header')\n public get headerCSS(): boolean {\n return this.isHeader;\n }\n\n /**\n * @hidden\n */\n @HostBinding('class.igx-nav-drawer-item--disabled')\n @HostBinding('class.igx-nav-drawer__item--disabled')\n public get disabledCSS(): boolean {\n return this.disabled;\n }\n}\n\n@Directive({\n selector: '[igxDrawer]',\n standalone: true\n})\nexport class IgxNavDrawerTemplateDirective {\n public template = inject<TemplateRef<any>>(TemplateRef);\n}\n\n@Directive({\n selector: '[igxDrawerMini]',\n standalone: true\n})\nexport class IgxNavDrawerMiniTemplateDirective {\n public template = inject<TemplateRef<any>>(TemplateRef);\n}\n","import {\n AfterContentInit,\n afterRenderEffect,\n afterNextRender,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n SimpleChange,\n ViewChild,\n Renderer2,\n booleanAttribute,\n inject,\n signal,\n computed,\n ChangeDetectionStrategy,\n ViewEncapsulation\n} from '@angular/core';\nimport { DOCUMENT, NgTemplateOutlet } from '@angular/common';\nimport { fromEvent, interval, Subscription } from 'rxjs';\nimport { debounce } from 'rxjs/operators';\nimport { IgxNavigationService, IToggleView } from 'igniteui-angular/core';\nimport { IgxNavDrawerMiniTemplateDirective, IgxNavDrawerTemplateDirective, IgxNavDrawerItemDirective } from './navigation-drawer.directives';\nimport { IgxGestureEvent, IgxTouchManager, PlatformUtil } from 'igniteui-angular/core';\n\nlet NEXT_ID = 0;\n/**\n * **Ignite UI for Angular Navigation Drawer** -\n * [Documentation](https://www.infragistics.com/products/ignite-ui-angular/angular/components/navdrawer)\n *\n * The Ignite UI Navigation Drawer is a collapsible side navigation container commonly used in combination with the Navbar.\n *\n * Example:\n * ```html\n * <igx-nav-drawer id=\"navigation\" [isOpen]=\"true\">\n * <ng-template igxDrawer>\n * <nav>\n * <span igxDrawerItem [isHeader]=\"true\">Email</span>\n * <span igxDrawerItem igxRipple>Inbox</span>\n * <span igxDrawerItem igxRipple>Deleted</span>\n * <span igxDrawerItem igxRipple>Sent</span>\n * </nav>\n * </ng-template>\n * </igx-nav-drawer>\n * ```\n */\n@Component({\n selector: 'igx-nav-drawer',\n templateUrl: 'navigation-drawer.component.html',\n styleUrl: 'navigation-drawer.component.css',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.Eager,\n imports: [IgxNavDrawerItemDirective, NgTemplateOutlet]\n})\nexport class IgxNavigationDrawerComponent implements\n IToggleView,\n OnInit,\n AfterContentInit,\n OnDestroy,\n OnChanges {\n private elementRef = inject<ElementRef>(ElementRef);\n private _state = inject(IgxNavigationService, { optional: true });\n private renderer = inject(Renderer2);\n private _document = inject(DOCUMENT);\n private platformUtil = inject(PlatformUtil);\n\n private _isOpen = signal(false);\n private _pinned = signal(false);\n private _miniTemplate = signal<IgxNavDrawerMiniTemplateDirective | undefined>(undefined);\n private _visibleOverlay = computed<boolean>(() => {\n return !this._pinned() && (this._isOpen() || !!this._miniTemplate());\n });\n private _closingAnimation = signal(false);\n\n\n /** @hidden @internal */\n @HostBinding('class.igx-nav-drawer')\n public cssClass = true;\n\n /**\n * ID of the component\n *\n * ```typescript\n * // get\n * let myNavDrawerId = this.navdrawer.id;\n * ```\n *\n * ```html\n * <!--set-->\n * <igx-nav-drawer id='navdrawer'></igx-nav-drawer>\n * ```\n */\n @HostBinding('attr.id')\n @Input() public id = `igx-nav-drawer-${NEXT_ID++}`;\n\n /**\n * Position of the Navigation Drawer. Can be \"left\"(default) or \"right\".\n *\n * ```typescript\n * // get\n * let myNavDrawerPosition = this.navdrawer.position;\n * ```\n *\n * ```html\n * <!--set-->\n * <igx-nav-drawer [position]=\"'left'\"></igx-nav-drawer>\n * ```\n */\n @Input() public position = 'left';\n\n /**\n * Enables the use of touch gestures to manipulate the drawer:\n * - swipe/pan from edge to open, swipe-toggle and pan-drag.\n *\n * ```typescript\n * // get\n * let gesturesEnabled = this.navdrawer.enableGestures;\n * ```\n *\n * ```html\n * <!--set-->\n * <igx-nav-drawer [enableGestures]='true'></igx-nav-drawer>\n * ```\n */\n @Input({ transform: booleanAttribute }) public enableGestures = true;\n\n /**\n * @hidden\n */\n @Output() public isOpenChange = new EventEmitter<boolean>();\n\n /**\n * Minimum device width required for automatic pin to be toggled.\n * Default is 1024, can be set to a falsy value to disable this behavior.\n *\n * ```typescript\n * // get\n * let navDrawerPinThreshold = this.navdrawer.pinThreshold;\n * ```\n *\n * ```html\n * <!--set-->\n * <igx-nav-drawer [pinThreshold]='1024'></igx-nav-drawer>\n * ```\n */\n @Input() public pinThreshold = 1024;\n\n /**\n * When pinned the drawer is relatively positioned instead of sitting above content.\n * May require additional layout styling.\n *\n * ```typescript\n * // get\n * let navDrawerIsPinned = this.navdrawer.pin;\n * ```\n *\n * ```html\n * <!--set-->\n * <igx-nav-drawer [pin]=\"false\"></igx-nav-drawer>\n * ```\n */\n @Input({ transform: booleanAttribute })\n public get pin(): boolean {\n return this._pinned();\n }\n public set pin(v: boolean) {\n this._pinned.set(v);\n }\n\n\n /**\n * Width of the drawer in its open state.\n *\n * ```typescript\n * // get\n * let navDrawerWidth = this.navdrawer.width;\n * ```\n *\n * ```html\n * <!--set-->\n * <igx-nav-drawer [width]=\"'228px'\"></igx-nav-drawer>\n * ```\n */\n private _width: string;\n\n @Input()\n public get width() {\n return this._width;\n }\n public set width(value: string) {\n this._width = value;\n }\n\n\n /**\n * Enables/disables the animation, when toggling the drawer. Set to `false` by default.\n * ````html\n * <igx-nav-drawer [disableAnimation]=\"true\"></igx-nav-drawer>\n * ````\n */\n @Input({ transform: booleanAttribute }) public disableAnimation = false;\n\n /**\n * Suppresses transitions until the first render has painted, so the drawer\n * settles into its resting (mini/expanded) size without an initial width\n * animation when the aside is first shown as a top-layer popover.\n */\n private _animationsReady = signal(false);\n\n /**\n * Whether transitions are currently suppressed — either explicitly via\n * `disableAnimation`, or implicitly until the first paint has settled.\n * @hidden\n */\n @HostBinding('class.igx-nav-drawer--disable-animation')\n public get animationsDisabled(): boolean {\n return this.disableAnimation || !this._animationsReady();\n }\n\n /**\n * Width of the drawer in its mini state.\n *\n * ```typescript\n * // get\n * let navDrawerMiniWidth = this.navdrawer.miniWidth;\n * ```\n *\n * ```html\n * <!--set-->\n * <igx-nav-drawer [miniWidth]=\"'34px'\"></igx-nav-drawer>\n * ```\n */\n @Input() public miniWidth: string;\n\n /**\n * Pinned state change output for two-way binding.\n *\n * ```html\n * <igx-nav-drawer [(pin)]='isPinned'></igx-nav-drawer>\n * ```\n */\n @Output() public pinChange = new EventEmitter<boolean>(true);\n /**\n * Event fired as the Navigation Drawer is about to open.\n *\n * ```html\n * <igx-nav-drawer (opening)='onOpening()'></igx-nav-drawer>\n * ```\n */\n @Output() public opening = new EventEmitter();\n /**\n * Event fired when the Navigation Drawer has opened.\n *\n * ```html\n * <igx-nav-drawer (opened)='onOpened()'></igx-nav-drawer>\n * ```\n */\n @Output() public opened = new EventEmitter();\n /**\n * Event fired as the Navigation Drawer is about to close.\n *\n * ```html\n * <igx-nav-drawer (closing)='onClosing()'></igx-nav-drawer>\n * ```\n */\n @Output() public closing = new EventEmitter();\n /**\n * Event fired when the Navigation Drawer has closed.\n *\n * ```html\n * <igx-nav-drawer (closed)='onClosed()'></igx-nav-drawer>\n * ```\n */\n @Output() public closed = new EventEmitter();\n\n /**\n * @hidden\n */\n @ContentChild(IgxNavDrawerTemplateDirective, { read: IgxNavDrawerTemplateDirective })\n protected contentTemplate: IgxNavDrawerTemplateDirective;\n\n @ViewChild('aside', { static: true }) private _drawer: ElementRef<HTMLElement>;\n @ViewChild('overlay', { static: true }) private _overlay: ElementRef<HTMLElement>;\n @ViewChild('dummy', { static: true }) private _styleDummy: ElementRef<HTMLElement>;\n\n /**\n * State of the drawer.\n *\n * ```typescript\n * // get\n * let navDrawerIsOpen = this.navdrawer.isOpen;\n * ```\n *\n * ```html\n * <!--set-->\n * <igx-nav-drawer [isOpen]='false'></igx-nav-drawer>\n * ```\n *\n * Two-way data binding.\n * ```html\n * <!--set-->\n * <igx-nav-drawer [(isOpen)]='model.isOpen'></igx-nav-drawer>\n * ```\n */\n @Input({ transform: booleanAttribute })\n public get isOpen() {\n return this._isOpen();\n }\n public set isOpen(value) {\n this._isOpen.set(value);\n this.isOpenChange.emit(value);\n }\n\n /**\n * Returns nativeElement of the component.\n *\n * @hidden\n */\n public get element() {\n return this.elementRef.nativeElement;\n }\n\n /**\n * @hidden\n */\n public get template() {\n if (this.miniTemplate && !this.isOpen) {\n return this.miniTemplate.template;\n } else if (this.contentTemplate) {\n return this.contentTemplate.template;\n }\n }\n /**\n * @hidden\n */\n public get miniTemplate(): IgxNavDrawerMiniTemplateDirective {\n return this._miniTemplate();\n }\n\n /**\n * @hidden\n */\n @ContentChild(IgxNavDrawerMiniTemplateDirective, { read: IgxNavDrawerMiniTemplateDirective })\n public set miniTemplate(v: IgxNavDrawerMiniTemplateDirective) {\n this._miniTemplate.set(v);\n }\n\n /** @hidden @internal */\n @HostBinding('class.igx-nav-drawer--mini')\n public get isMini(): boolean {\n return !!this.miniTemplate && !this.isOpen;\n }\n\n /** @hidden @internal */\n @HostBinding('class.igx-nav-drawer--pinned')\n public get pinned(): boolean {\n return !!this.pin;\n }\n\n /**\n * @hidden\n */\n @HostBinding('style.--ig-nav-drawer-size')\n public get normalSize() {\n if (!this.isOpen) {\n return '0px';\n }\n\n return this.width;\n }\n\n /**\n * @hidden\n */\n @HostBinding('style.--ig-nav-drawer-size--mini')\n public get miniSize() {\n if (this.miniTemplate && this.miniWidth) {\n return this.miniWidth;\n }\n }\n\n /** @hidden */\n @HostBinding('style.order')\n public get isPinnedRight() {\n return this.pin && this.position === 'right' ? '1' : '0';\n }\n\n private _gesturesAttached = false;\n private _gestures: IgxTouchManager | null = null;\n private _widthCache: { width: number; miniWidth: number; windowWidth: number } = { width: null, miniWidth: null, windowWidth: null };\n private _resizeObserver: Subscription;\n private css: { [name: string]: string } = {\n drawer: 'igx-nav-drawer__aside',\n mini: 'igx-nav-drawer__aside--mini',\n overlay: 'igx-nav-drawer__overlay',\n styleDummy: 'igx-nav-drawer__style-dummy'\n };\n\n /**\n * @hidden\n */\n public get drawer() {\n return this._drawer?.nativeElement;\n }\n\n /**\n * @hidden\n */\n public get overlay() {\n return this._overlay?.nativeElement;\n }\n\n /**\n * @hidden\n */\n public get styleDummy() {\n return this._styleDummy.nativeElement;\n }\n\n /** Pan animation properties */\n private _panning = false;\n private _panStartWidth: number;\n private _panLimit: number;\n\n /**\n * Property to decide whether to change width or translate the drawer from pan gesture.\n *\n * @hidden\n */\n public get hasAnimateWidth(): boolean {\n return this.pin || !!this.miniTemplate;\n }\n\n private _maxEdgeZone = 50;\n /**\n * Used for touch gestures (swipe and pan).\n * Defaults to 50 (in px) and is extended to at least 110% of the mini template width if available.\n *\n * @hidden\n */\n public get maxEdgeZone() {\n return this._maxEdgeZone;\n }\n\n /**\n * Gets the Drawer width for specific state.\n * Will attempt to evaluate requested state and cache.\n *\n *\n * @hidden\n */\n public get expectedWidth() {\n return this.getExpectedWidth(false);\n }\n\n /**\n * Get the Drawer mini width for specific state.\n * Will attempt to evaluate requested state and cache.\n *\n * @hidden\n */\n public get expectedMiniWidth() {\n return this.getExpectedWidth(true);\n }\n\n /**\n * Exposes optional navigation service\n *\n * @hidden\n */\n public get state() {\n return this._state;\n }\n\n constructor() {\n afterRenderEffect(() => {\n if (this._closingAnimation()) return;\n this.togglePopover(this._visibleOverlay());\n });\n\n // Enable transitions only after the first paint. The initial popover show\n // resolves the aside's width (e.g. to its mini size) as it enters the top\n // layer; deferring past the first frame lets that settle instantly instead\n // of animating from the fallback/expanded width.\n afterNextRender(() => {\n requestAnimationFrame(() => this._animationsReady.set(true));\n });\n }\n\n /**\n * @hidden\n */\n public ngOnInit() {\n // DOM and @Input()-s initialized\n if (this._state) {\n this._state.add(this.id, this);\n }\n }\n\n /**\n * @hidden\n */\n public ngAfterContentInit() {\n // wait for template and ng-content to be ready\n this.updateEdgeZone();\n this.checkPinThreshold();\n\n this.ensureEvents();\n\n // TODO: apply platform-safe Ruler from http://plnkr.co/edit/81nWDyreYMzkunihfRgX?p=preview\n // (https://github.com/angular/angular/issues/6515), blocked by https://github.com/angular/angular/issues/6904\n }\n\n /**\n * @hidden\n */\n public ngOnDestroy() {\n this.detachGestures();\n if (this._state) {\n this._state.remove(this.id);\n }\n if (this._resizeObserver) {\n this._resizeObserver.unsubscribe();\n }\n }\n\n /**\n * @hidden\n */\n public ngOnChanges(changes: { [propName: string]: SimpleChange }) {\n // simple settings can come from attribute set (rather than binding), make sure boolean props are converted\n if (changes.enableGestures && changes.enableGestures.currentValue !== undefined) {\n this.enableGestures = !!(this.enableGestures && this.enableGestures.toString() === 'true');\n this.ensureEvents();\n }\n if (changes.pin && changes.pin.currentValue !== undefined) {\n this.pin = !!(this.pin && this.pin.toString() === 'true');\n this.ensureEvents();\n }\n\n if (changes.pinThreshold) {\n if (this.pinThreshold) {\n this.ensureEvents();\n this.checkPinThreshold();\n }\n }\n\n if (changes.miniWidth) {\n this.updateEdgeZone();\n }\n }\n\n /**\n * Toggle the open state of the Navigation Drawer.\n *\n * ```typescript\n * this.navdrawer.toggle();\n * ```\n */\n public toggle() {\n if (this.isOpen) {\n this.close();\n } else {\n this.open();\n }\n }\n\n /**\n * Open the Navigation Drawer. Has no effect if already opened.\n *\n * ```typescript\n * this.navdrawer.open();\n * ```\n */\n public open() {\n if (this._panning) {\n this.resetPan();\n }\n\n if (this.isOpen) {\n return;\n }\n\n this.opening.emit();\n this.isOpen = true;\n\n // TODO: Switch to animate API when available\n // var animationCss = this.animate.css();\n // animationCss\n // .setStyles({'width':'50px'}, {'width':'400px'})\n // .start(this.elementRef.nativeElement)\n // .onComplete(() => animationCss.setToStyles({'width':'auto'}).start(this.elementRef.nativeElement));\n\n this.elementRef.nativeElement.addEventListener('transitionend', this.toggleOpenedEvent, false);\n\n requestAnimationFrame(()=>{});\n }\n\n /**\n * Close the Navigation Drawer. Has no effect if already closed.\n *\n * ```typescript\n * this.navdrawer.close();\n * ```\n */\n public close() {\n if (this._panning) {\n this.resetPan();\n }\n\n if (!this.isOpen) {\n return;\n }\n\n this.closing.emit();\n\n // TODO: intersection observer for close popover instead of transitionend\n this._closingAnimation.set(true);\n this.isOpen = false;\n this.elementRef.nativeElement.addEventListener('transitionend', this.toggleClosedEvent, false);\n }\n\n /**\n * @hidden\n */\n protected set_maxEdgeZone(value: number) {\n this._maxEdgeZone = value;\n }\n\n /**\n * Get the Drawer width for specific state. Will attempt to evaluate requested state and cache.\n *\n * @hidden\n * @param [mini] - Request mini width instead\n */\n protected getExpectedWidth(mini?: boolean): number {\n if (mini) {\n if (!this.miniTemplate) {\n return 0;\n }\n if (this.miniWidth) {\n return parseFloat(this.miniWidth);\n } else {\n // if (!this.isOpen) { // This WON'T work due to transition timings...\n // return this.elementRef.nativeElement.children[1].offsetWidth;\n // } else {\n if (this._widthCache.miniWidth === null) {\n // force class for width calc. TODO?\n // force class for width calc. TODO?\n this.renderer.addClass(this.styleDummy, this.css.drawer);\n this.renderer.addClass(this.styleDummy, this.css.mini);\n this._widthCache.miniWidth = this.styleDummy.offsetWidth;\n this.renderer.removeClass(this.styleDummy, this.css.drawer);\n this.renderer.removeClass(this.styleDummy, this.css.mini);\n }\n return this._widthCache.miniWidth;\n }\n } else {\n if (this.width) {\n return parseFloat(this.width);\n } else {\n if (this._widthCache.width === null) {\n // force class for width calc. TODO?\n // force class for width calc. TODO?\n this.renderer.addClass(this.styleDummy, this.css.drawer);\n this._widthCache.width = this.styleDummy.offsetWidth;\n this.renderer.removeClass(this.styleDummy, this.css.drawer);\n }\n return this._widthCache.width;\n }\n }\n }\n\n private getWindowWidth() {\n return (window.innerWidth > 0) ? window.innerWidth : screen.width;\n }\n\n private ensureEvents() {\n // set listeners for swipe/pan only if needed, but just once\n if (this.enableGestures && !this.pin) {\n if (!this._gesturesAttached) {\n this._gestures = new IgxTouchManager(this._document, {\n pointerDown: (event) => this.panStart(event),\n panMove: (event) => this.pan(event),\n swipe: (event) => this.swipe(event),\n panEnd: (event) => this.panEnd(event),\n panCancel: () => this.panCancel()\n }, { pointerTypes: ['touch'], setPointerCapture: false });\n\n this._gesturesAttached = true;\n }\n } else {\n this.detachGestures();\n }\n if (!this._resizeObserver && this.platformUtil.isBrowser) {\n this._resizeObserver = fromEvent(window, 'resize').pipe(debounce(() => interval(150)))\n .subscribe((value) => {\n this.checkPinThreshold(value);\n });\n }\n }\n\n private detachGestures() {\n this._gestures?.destroy();\n this._gestures = null;\n this._gesturesAttached = false;\n }\n\n private updateEdgeZone() {\n let maxValue;\n\n if (this.miniTemplate) {\n maxValue = Math.max(this._maxEdgeZone, this.getExpectedWidth(true) * 1.1);\n this.set_maxEdgeZone(maxValue);\n }\n }\n\n private checkPinThreshold = (evt?: Event) => {\n if (!this.platformUtil.isBrowser) {\n return;\n }\n let windowWidth;\n if (this.pinThreshold) {\n windowWidth = this.getWindowWidth();\n if (evt && this._widthCache.windowWidth === windowWidth) {\n return;\n }\n this._widthCache.windowWidth = windowWidth;\n if (!this.pin && windowWidth >= this.pinThreshold) {\n this.pin = true;\n this.pinChange.emit(true);\n } else if (this.pin && windowWidth < this.pinThreshold) {\n this.pin = false;\n this.pinChange.emit(false);\n }\n }\n };\n\n private swipe = (evt: IgxGestureEvent) => {\n // TODO: Could also force input type: http://stackoverflow.com/a/27108052\n if (!this.enableGestures || evt.pointerType !== 'touch') {\n return;\n }\n\n // HammerJS swipe is horizontal-only by default, don't check deltaY\n let deltaX;\n let startPosition;\n if (this.position === 'right') {\n // when on the right use inverse of deltaX\n deltaX = -evt.deltaX;\n startPosition = this.getWindowWidth() - (evt.center.x + evt.distance);\n } else {\n deltaX = evt.deltaX;\n startPosition = evt.center.x - evt.distance;\n }\n // only accept closing swipe (ignoring minEdgeZone) when the drawer is expanded:\n if ((this.isOpen && deltaX < 0) ||\n // positive deltaX from the edge:\n (deltaX > 0 && startPosition < this.maxEdgeZone)) {\n this.toggle();\n }\n };\n\n private panStart = (evt: IgxGestureEvent): boolean => {\n if (!this.enableGestures || this.pin || evt.pointerType !== 'touch') {\n return false;\n }\n const startPosition = this.position === 'right' ? this.getWindowWidth() - (evt.center.x + evt.distance)\n : evt.center.x - evt.distance;\n\n // cache width during animation, flag to allow further handling\n if (this.isOpen || (startPosition < this.maxEdgeZone)) {\n this._panning = true;\n this._panStartWidth = this.getExpectedWidth(!this.isOpen);\n this._panLimit = this.getExpectedWidth(this.isOpen);\n\n this.renderer.addClass(this.overlay, 'igx-nav-drawer__overlay--panning');\n this.renderer.addClass(this.drawer, 'igx-nav-drawer__aside--panning');\n\n if (!this.hasAnimateWidth) {\n // Translate-mode pan slides the panel via `transform`, but its width is\n // driven by `--ig-nav-drawer-size`, which is forced to 0 while the drawer\n // is closed. Pin the real width for the duration of the gesture so the\n // slide reveals the full panel instead of just its padding/border.\n this.renderer.setStyle(this.drawer, 'width', `${this.getExpectedWidth(false)}px`);\n }\n return true;\n }\n\n // The touch did not start in the edge zone (and the drawer is closed), so this\n // gesture should be ignored. Returning `false` lets the touch manager stop\n // tracking immediately and not interfere with normal page scrolling.\n return false;\n };\n\n private pan = (evt: IgxGestureEvent) => {\n // TODO: input.deltaX = prevDelta.x + (center.x - offset.x);\n // get actual delta (not total session one) from event?\n // pan WILL also fire after a full swipe, only resize on flag\n if (!this._panning) {\n return;\n }\n const right: boolean = this.position === 'right';\n // when on the right use inverse of deltaX\n const deltaX = right ? -evt.deltaX : evt.deltaX;\n let newX;\n let percent;\n const visibleWidth = this._panStartWidth + deltaX;\n\n if (this.isOpen && deltaX < 0) {\n // when visibleWidth hits limit - stop animating\n if (visibleWidth <= this._panLimit) {\n return;\n }\n\n if (this.hasAnimateWidth) {\n percent = (visibleWidth - this._panLimit) / (this._panStartWidth - this._panLimit);\n newX = visibleWidth;\n } else {\n percent = visibleWidth / this._panStartWidth;\n newX = evt.deltaX;\n }\n this.setXSize(newX, percent.toPrecision(2));\n\n } else if (!this.isOpen && deltaX > 0) {\n // when visibleWidth hits limit - stop animating\n if (visibleWidth >= this._panLimit) {\n return;\n }\n\n if (this.hasAnimateWidth) {\n percent = (visibleWidth - this._panStartWidth) / (this._panLimit - this._panStartWidth);\n newX = visibleWidth;\n } else {\n percent = visibleWidth / this._panLimit;\n newX = (this._panLimit - visibleWidth) * (right ? 1 : -1);\n }\n this.setXSize(newX, percent.toPrecision(2));\n }\n };\n\n private panEnd = (evt: IgxGestureEvent) => {\n if (this._panning) {\n const deltaX = this.position === 'right' ? -evt.deltaX : evt.deltaX;\n const visibleWidth: number = this._panStartWidth + deltaX;\n this.resetPan();\n\n // check if pan brought the drawer to 50%\n if (this.isOpen && visibleWidth <= this._panStartWidth / 2) {\n this.close();\n } else if (!this.isOpen && visibleWidth >= this._panLimit / 2) {\n this.open();\n }\n this._panStartWidth = null;\n }\n };\n\n private panCancel = () => {\n if (this._panning) {\n this.resetPan();\n this._panStartWidth = null;\n }\n };\n\n private resetPan() {\n this._panning = false;\n /* styles fail to apply when set on parent due to extra attributes, prob ng bug */\n /* styles fail to apply when set on parent due to extra attributes, prob ng bug */\n this.renderer.removeClass(this.overlay, 'igx-nav-drawer__overlay--panning');\n this.renderer.removeClass(this.drawer, 'igx-nav-drawer__aside--panning');\n this.renderer.removeStyle(this.drawer, 'width');\n this.setXSize(0, '');\n }\n\n /**\n * Sets the absolute position or width in case the drawer doesn't change position.\n *\n * @param x the number pixels to translate on the X axis or the width to set. 0 width will clear the style instead.\n * @param opacity optional value to apply to the overlay\n */\n private setXSize(x: number, opacity?: string) {\n // Angular polyfills patches window.requestAnimationFrame, but switch to DomAdapter API (TODO)\n window.requestAnimationFrame(() => {\n if (this.hasAnimateWidth) {\n this.renderer.setStyle(this.drawer, 'width', x ? Math.abs(x) + 'px' : '');\n } else {\n this.renderer.setStyle(this.drawer, 'transform', x ? 'translate3d(' + x + 'px,0,0)' : '');\n }\n if (opacity !== undefined) {\n this.renderer.setStyle(this.overlay, 'opacity', opacity);\n }\n });\n }\n\n private togglePopover(show: boolean) {\n // check element and functionality exist:\n if (typeof this.drawer?.showPopover !== 'function') return;\n\n const popoverOpen = this.drawer.matches(':popover-open');\n if (show === popoverOpen) return;\n\n if (show) {\n this.overlay.showPopover();\n this.drawer.showPopover();\n } else {\n this.overlay.hidePopover();\n this.drawer.hidePopover();\n }\n }\n\n private toggleOpenedEvent = () => {\n this.elementRef.nativeElement.removeEventListener('transitionend', this.toggleOpenedEvent, false);\n this.opened.emit();\n };\n\n private toggleClosedEvent = () => {\n this.elementRef.nativeElement.removeEventListener('transitionend', this.toggleClosedEvent, false);\n this._closingAnimation.set(false);\n this.closed.emit();\n };\n}\n","<ng-template #defaultItemsTemplate>\n <div igxDrawerItem [isHeader]=\"true\">Navigation Drawer</div>\n <div igxDrawerItem> Start by adding</div>\n <div igxDrawerItem> <code>&lt;ng-template igxDrawer&gt;</code> </div>\n <div igxDrawerItem> And some items inside </div>\n <div igxDrawerItem> Style with igxDrawerItem </div>\n <div igxDrawerItem> and igxRipple directives</div>\n <div igxDrawerItem [disabled]=\"true\">Disabled Item</div>\n</ng-template>\n\n<div [hidden]=\"pin\"\n [attr.popover]=\"pin ? null : 'manual'\"\n class=\"igx-nav-drawer__overlay\"\n [class.igx-nav-drawer__overlay--hidden]=\"!isOpen\"\n [class.igx-nav-drawer--disable-animation]=\"animationsDisabled\"\n (click)=\"close()\" #overlay>\n</div>\n<nav\n class=\"igx-nav-drawer__aside\"\n [attr.popover]=\"pin ? null : 'manual'\"\n [class.igx-nav-drawer__aside--collapsed]=\"!miniTemplate && !isOpen\"\n [class.igx-nav-drawer__aside--mini]=\"miniTemplate && !isOpen\"\n [class.igx-nav-drawer__aside--normal]=\"!miniTemplate || isOpen\"\n [class.igx-nav-drawer__aside--pinned]=\"pin\"\n [class.igx-nav-drawer__aside--right]=\"position === 'right'\" #aside\n [class.igx-nav-drawer--disable-animation]=\"animationsDisabled\">\n\n <ng-container *ngTemplateOutlet=\"template || defaultItemsTemplate\"></ng-container>\n</nav>\n<div class=\"igx-nav-drawer__style-dummy\" #dummy></div>\n","import { IgxNavigationDrawerComponent } from './navigation-drawer.component';\nimport { IgxNavDrawerItemDirective, IgxNavDrawerMiniTemplateDirective, IgxNavDrawerTemplateDirective } from './navigation-drawer.directives';\n\nexport * from './navigation-drawer.component';\nexport * from './navigation-drawer.directives';\n\n/* NOTE: Navigation drawer directives collection for ease-of-use import in standalone components scenario */\nexport const IGX_NAVIGATION_DRAWER_DIRECTIVES = [\n IgxNavigationDrawerComponent,\n IgxNavDrawerItemDirective,\n IgxNavDrawerMiniTemplateDirective,\n IgxNavDrawerTemplateDirective\n] as const;\n","import { NgModule } from '@angular/core';\nimport { IGX_NAVIGATION_DRAWER_DIRECTIVES } from './public_api';\n\n/**\n * @hidden\n */\n@NgModule({\n imports: [\n ...IGX_NAVIGATION_DRAWER_DIRECTIVES\n ],\n exports: [\n ...IGX_NAVIGATION_DRAWER_DIRECTIVES\n ]\n})\nexport class IgxNavigationDrawerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.IgxNavigationDrawerComponent","i2.IgxNavDrawerItemDirective","i2.IgxNavDrawerMiniTemplateDirective","i2.IgxNavDrawerTemplateDirective"],"mappings":";;;;;;;;;MASa,yBAAyB,CAAA;AANtC,IAAA,WAAA,GAAA;AAQI;;;;;;;;AAQG;QAC4C,IAAA,CAAA,MAAM,GAAG,KAAK;AAE7D;;;;;;;;AAQG;QAC4C,IAAA,CAAA,QAAQ,GAAG,KAAK;AAE/D;;;;;;;;AAQG;QAC4C,IAAA,CAAA,QAAQ,GAAG,KAAK;AAE/D;;AAEG;QACa,IAAA,CAAA,WAAW,GAAG,6BAA6B;AAE3D;;AAEG;QACa,IAAA,CAAA,aAAa,GAAG,+BAA+B;AAqClE,IAAA;AAnCG;;AAEG;AACH,IAAA,IAEW,UAAU,GAAA;AACjB,QAAA,OAAO,CAAC,IAAI,CAAC,QAAQ;IACzB;AAEA;;AAEG;AACH,IAAA,IAEW,UAAU,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ;IAC1D;AAEA;;AAEG;AACH,IAAA,IAEW,SAAS,GAAA;QAChB,OAAO,IAAI,CAAC,QAAQ;IACxB;AAEA;;AAEG;AACH,IAAA,IAEW,WAAW,GAAA;QAClB,OAAO,IAAI,CAAC,QAAQ;IACxB;8GA/ES,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAWd,gBAAgB,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAWhB,gBAAgB,sCAWhB,gBAAgB,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,2BAAA,EAAA,iBAAA,EAAA,4BAAA,EAAA,iBAAA,EAAA,mCAAA,EAAA,iBAAA,EAAA,oCAAA,EAAA,iBAAA,EAAA,mCAAA,EAAA,gBAAA,EAAA,oCAAA,EAAA,gBAAA,EAAA,qCAAA,EAAA,kBAAA,EAAA,sCAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAjC3B,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBANrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,UAAU,EAAE,IAAI;oBAChB,cAAc,EAAE,CAAC,wBAAwB;AAC5C,iBAAA;;sBAYI,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;;sBAWrC,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;;sBAWrC,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;;sBAerC,WAAW;uBAAC,2BAA2B;;sBACvC,WAAW;uBAAC,4BAA4B;;sBAQxC,WAAW;uBAAC,mCAAmC;;sBAC/C,WAAW;uBAAC,oCAAoC;;sBAQhD,WAAW;uBAAC,mCAAmC;;sBAC/C,WAAW;uBAAC,oCAAoC;;sBAQhD,WAAW;uBAAC,qCAAqC;;sBACjD,WAAW;uBAAC,sCAAsC;;MAU1C,6BAA6B,CAAA;AAJ1C,IAAA,WAAA,GAAA;AAKW,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAmB,WAAW,CAAC;AAC1D,IAAA;8GAFY,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA7B,6BAA6B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAA7B,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAJzC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,aAAa;AACvB,oBAAA,UAAU,EAAE;AACf,iBAAA;;MASY,iCAAiC,CAAA;AAJ9C,IAAA,WAAA,GAAA;AAKW,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAmB,WAAW,CAAC;AAC1D,IAAA;8GAFY,iCAAiC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAjC,iCAAiC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAjC,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAJ7C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,UAAU,EAAE;AACf,iBAAA;;;ACvED,IAAI,OAAO,GAAG,CAAC;AACf;;;;;;;;;;;;;;;;;;;AAmBG;MASU,4BAA4B,CAAA;AA6FrC;;;;;;;;;;;;;AAaG;AACH,IAAA,IACW,GAAG,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,OAAO,EAAE;IACzB;IACA,IAAW,GAAG,CAAC,CAAU,EAAA;AACrB,QAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB;AAkBA,IAAA,IACW,KAAK,GAAA;QACZ,OAAO,IAAI,CAAC,MAAM;IACtB;IACA,IAAW,KAAK,CAAC,KAAa,EAAA;AAC1B,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;IACvB;AAkBA;;;;AAIG;AACH,IAAA,IACW,kBAAkB,GAAA;QACzB,OAAO,IAAI,CAAC,gBAAgB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;IAC5D;AAoEA;;;;;;;;;;;;;;;;;;AAkBG;AACH,IAAA,IACW,MAAM,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,OAAO,EAAE;IACzB;IACA,IAAW,MAAM,CAAC,KAAK,EAAA;AACnB,QAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;AACvB,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;IACjC;AAEA;;;;AAIG;AACH,IAAA,IAAW,OAAO,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa;IACxC;AAEA;;AAEG;AACH,IAAA,IAAW,QAAQ,GAAA;QACf,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;AACnC,YAAA,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ;QACrC;AAAO,aAAA,IAAI,IAAI,CAAC,eAAe,EAAE;AAC7B,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,QAAQ;QACxC;IACJ;AACA;;AAEG;AACH,IAAA,IAAW,YAAY,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,aAAa,EAAE;IAC/B;AAEA;;AAEG;IACH,IACW,YAAY,CAAC,CAAoC,EAAA;AACxD,QAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B;;AAGA,IAAA,IACW,MAAM,GAAA;QACb,OAAO,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,MAAM;IAC9C;;AAGA,IAAA,IACW,MAAM,GAAA;AACb,QAAA,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG;IACrB;AAEA;;AAEG;AACH,IAAA,IACW,UAAU,GAAA;AACjB,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;AACd,YAAA,OAAO,KAAK;QAChB;QAEA,OAAO,IAAI,CAAC,KAAK;IACrB;AAEA;;AAEG;AACH,IAAA,IACW,QAAQ,GAAA;QACf,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,SAAS,EAAE;YACrC,OAAO,IAAI,CAAC,SAAS;QACzB;IACJ;;AAGA,IAAA,IACW,aAAa,GAAA;AACpB,QAAA,OAAO,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,GAAG,GAAG,GAAG,GAAG;IAC5D;AAaA;;AAEG;AACH,IAAA,IAAW,MAAM,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,OAAO,EAAE,aAAa;IACtC;AAEA;;AAEG;AACH,IAAA,IAAW,OAAO,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,QAAQ,EAAE,aAAa;IACvC;AAEA;;AAEG;AACH,IAAA,IAAW,UAAU,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa;IACzC;AAOA;;;;AAIG;AACH,IAAA,IAAW,eAAe,GAAA;QACtB,OAAO,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY;IAC1C;AAGA;;;;;AAKG;AACH,IAAA,IAAW,WAAW,GAAA;QAClB,OAAO,IAAI,CAAC,YAAY;IAC5B;AAEA;;;;;;AAMG;AACH,IAAA,IAAW,aAAa,GAAA;AACpB,QAAA,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;IACvC;AAEA;;;;;AAKG;AACH,IAAA,IAAW,iBAAiB,GAAA;AACxB,QAAA,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;IACtC;AAEA;;;;AAIG;AACH,IAAA,IAAW,KAAK,GAAA;QACZ,OAAO,IAAI,CAAC,MAAM;IACtB;AAEA,IAAA,WAAA,GAAA;AA9ZQ,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAa,UAAU,CAAC;QAC3C,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,oBAAoB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AACzD,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;AAC5B,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC5B,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QAEnC,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,KAAK;oFAAC;QACvB,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,KAAK;oFAAC;QACvB,IAAA,CAAA,aAAa,GAAG,MAAM,CAAgD,SAAS;0FAAC;AAChF,QAAA,IAAA,CAAA,eAAe,GAAG,QAAQ,CAAU,MAAK;AAC7C,YAAA,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;QACxE,CAAC;4FAAC;QACM,IAAA,CAAA,iBAAiB,GAAG,MAAM,CAAC,KAAK;8FAAC;;QAKlC,IAAA,CAAA,QAAQ,GAAG,IAAI;AAEtB;;;;;;;;;;;;AAYG;AAEa,QAAA,IAAA,CAAA,EAAE,GAAG,CAAA,eAAA,EAAkB,OAAO,EAAE,EAAE;AAElD;;;;;;;;;;;;AAYG;QACa,IAAA,CAAA,QAAQ,GAAG,MAAM;AAEjC;;;;;;;;;;;;;AAaG;QAC4C,IAAA,CAAA,cAAc,GAAG,IAAI;AAEpE;;AAEG;AACc,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,YAAY,EAAW;AAE3D;;;;;;;;;;;;;AAaG;QACa,IAAA,CAAA,YAAY,GAAG,IAAI;AAiDnC;;;;;AAKG;QAC4C,IAAA,CAAA,gBAAgB,GAAG,KAAK;AAEvE;;;;AAIG;QACK,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,KAAK;6FAAC;AA2BxC;;;;;;AAMG;AACc,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,YAAY,CAAU,IAAI,CAAC;AAC5D;;;;;;AAMG;AACc,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,YAAY,EAAE;AAC7C;;;;;;AAMG;AACc,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAE;AAC5C;;;;;;AAMG;AACc,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,YAAY,EAAE;AAC7C;;;;;;AAMG;AACc,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAE;QAkHpC,IAAA,CAAA,iBAAiB,GAAG,KAAK;QACzB,IAAA,CAAA,SAAS,GAA2B,IAAI;AACxC,QAAA,IAAA,CAAA,WAAW,GAA8D,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE;AAE5H,QAAA,IAAA,CAAA,GAAG,GAA+B;AACtC,YAAA,MAAM,EAAE,uBAAuB;AAC/B,YAAA,IAAI,EAAE,6BAA6B;AACnC,YAAA,OAAO,EAAE,yBAAyB;AAClC,YAAA,UAAU,EAAE;SACf;;QAwBO,IAAA,CAAA,QAAQ,GAAG,KAAK;QAahB,IAAA,CAAA,YAAY,GAAG,EAAE;AA4RjB,QAAA,IAAA,CAAA,iBAAiB,GAAG,CAAC,GAAW,KAAI;AACxC,YAAA,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE;gBAC9B;YACJ;AACA,YAAA,IAAI,WAAW;AACf,YAAA,IAAI,IAAI,CAAC,YAAY,EAAE;AACnB,gBAAA,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE;gBACnC,IAAI,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,KAAK,WAAW,EAAE;oBACrD;gBACJ;AACA,gBAAA,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,WAAW;gBAC1C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,WAAW,IAAI,IAAI,CAAC,YAAY,EAAE;AAC/C,oBAAA,IAAI,CAAC,GAAG,GAAG,IAAI;AACf,oBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC7B;qBAAO,IAAI,IAAI,CAAC,GAAG,IAAI,WAAW,GAAG,IAAI,CAAC,YAAY,EAAE;AACpD,oBAAA,IAAI,CAAC,GAAG,GAAG,KAAK;AAChB,oBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC9B;YACJ;AACJ,QAAA,CAAC;AAEO,QAAA,IAAA,CAAA,KAAK,GAAG,CAAC,GAAoB,KAAI;;YAErC,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,GAAG,CAAC,WAAW,KAAK,OAAO,EAAE;gBACrD;YACJ;;AAGA,YAAA,IAAI,MAAM;AACV,YAAA,IAAI,aAAa;AACjB,YAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,EAAE;;AAE3B,gBAAA,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM;AACpB,gBAAA,aAAa,GAAG,IAAI,CAAC,cAAc,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC;YACzE;iBAAO;AACH,gBAAA,MAAM,GAAG,GAAG,CAAC,MAAM;gBACnB,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,GAAG,CAAC,QAAQ;YAC/C;;YAEA,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,GAAG,CAAC;;iBAEzB,MAAM,GAAG,CAAC,IAAI,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE;gBAClD,IAAI,CAAC,MAAM,EAAE;YACjB;AACJ,QAAA,CAAC;AAEO,QAAA,IAAA,CAAA,QAAQ,GAAG,CAAC,GAAoB,KAAa;AACjD,YAAA,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,KAAK,OAAO,EAAE;AACjE,gBAAA,OAAO,KAAK;YAChB;YACA,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,KAAK,OAAO,GAAG,IAAI,CAAC,cAAc,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,GAAG,CAAC,QAAQ;kBAChG,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,GAAG,CAAC,QAAQ;;AAGjC,YAAA,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE;AACnD,gBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;AACpB,gBAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;gBACzD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC;gBAEnD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,kCAAkC,CAAC;gBACxE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,gCAAgC,CAAC;AAErE,gBAAA,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;;;;;oBAKvB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAA,EAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAA,EAAA,CAAI,CAAC;gBACrF;AACA,gBAAA,OAAO,IAAI;YACf;;;;AAKA,YAAA,OAAO,KAAK;AAChB,QAAA,CAAC;AAEO,QAAA,IAAA,CAAA,GAAG,GAAG,CAAC,GAAoB,KAAI;;;;AAInC,YAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAChB;YACJ;AACA,YAAA,MAAM,KAAK,GAAY,IAAI,CAAC,QAAQ,KAAK,OAAO;;AAEhD,YAAA,MAAM,MAAM,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM;AAC/C,YAAA,IAAI,IAAI;AACR,YAAA,IAAI,OAAO;AACX,YAAA,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,GAAG,MAAM;YAEjD,IAAI,IAAI,CAAC,MAAM,IAAI,MAAM,GAAG,CAAC,EAAE;;AAE3B,gBAAA,IAAI,YAAY,IAAI,IAAI,CAAC,SAAS,EAAE;oBAChC;gBACJ;AAEA,gBAAA,IAAI,IAAI,CAAC,eAAe,EAAE;AACtB,oBAAA,OAAO,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC;oBAClF,IAAI,GAAG,YAAY;gBACvB;qBAAO;AACH,oBAAA,OAAO,GAAG,YAAY,GAAG,IAAI,CAAC,cAAc;AAC5C,oBAAA,IAAI,GAAG,GAAG,CAAC,MAAM;gBACrB;AACA,gBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAE/C;iBAAO,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,GAAG,CAAC,EAAE;;AAEnC,gBAAA,IAAI,YAAY,IAAI,IAAI,CAAC,SAAS,EAAE;oBAChC;gBACJ;AAEA,gBAAA,IAAI,IAAI,CAAC,eAAe,EAAE;AACtB,oBAAA,OAAO,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC;oBACvF,IAAI,GAAG,YAAY;gBACvB;qBAAO;AACH,oBAAA,OAAO,GAAG,YAAY,GAAG,IAAI,CAAC,SAAS;oBACvC,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,GAAG,YAAY,KAAK,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC7D;AACA,gBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAC/C;AACJ,QAAA,CAAC;AAEO,QAAA,IAAA,CAAA,MAAM,GAAG,CAAC,GAAoB,KAAI;AACtC,YAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACf,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,KAAK,OAAO,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM;AACnE,gBAAA,MAAM,YAAY,GAAW,IAAI,CAAC,cAAc,GAAG,MAAM;gBACzD,IAAI,CAAC,QAAQ,EAAE;;AAGf,gBAAA,IAAI,IAAI,CAAC,MAAM,IAAI,YAAY,IAAI,IAAI,CAAC,cAAc,GAAG,CAAC,EAAE;oBACxD,IAAI,CAAC,KAAK,EAAE;gBAChB;AAAO,qBAAA,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,YAAY,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,EAAE;oBAC3D,IAAI,CAAC,IAAI,EAAE;gBACf;AACA,gBAAA,IAAI,CAAC,cAAc,GAAG,IAAI;YAC9B;AACJ,QAAA,CAAC;QAEO,IAAA,CAAA,SAAS,GAAG,MAAK;AACrB,YAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACf,IAAI,CAAC,QAAQ,EAAE;AACf,gBAAA,IAAI,CAAC,cAAc,GAAG,IAAI;YAC9B;AACJ,QAAA,CAAC;QAgDO,IAAA,CAAA,iBAAiB,GAAG,MAAK;AAC7B,YAAA,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,mBAAmB,CAAC,eAAe,EAAE,IAAI,CAAC,iBAAiB,EAAE,KAAK,CAAC;AACjG,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;AACtB,QAAA,CAAC;QAEO,IAAA,CAAA,iBAAiB,GAAG,MAAK;AAC7B,YAAA,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,mBAAmB,CAAC,eAAe,EAAE,IAAI,CAAC,iBAAiB,EAAE,KAAK,CAAC;AACjG,YAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC;AACjC,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;AACtB,QAAA,CAAC;QA5bG,iBAAiB,CAAC,MAAK;YACnB,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBAAE;YAC9B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;AAC9C,QAAA,CAAC,CAAC;;;;;QAMF,eAAe,CAAC,MAAK;AACjB,YAAA,qBAAqB,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAChE,QAAA,CAAC,CAAC;IACN;AAEA;;AAEG;IACI,QAAQ,GAAA;;AAEX,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;YACb,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC;QAClC;IACJ;AAEA;;AAEG;IACI,kBAAkB,GAAA;;QAErB,IAAI,CAAC,cAAc,EAAE;QACrB,IAAI,CAAC,iBAAiB,EAAE;QAExB,IAAI,CAAC,YAAY,EAAE;;;IAIvB;AAEA;;AAEG;IACI,WAAW,GAAA;QACd,IAAI,CAAC,cAAc,EAAE;AACrB,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;YACb,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B;AACA,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE;AACtB,YAAA,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE;QACtC;IACJ;AAEA;;AAEG;AACI,IAAA,WAAW,CAAC,OAA6C,EAAA;;AAE5D,QAAA,IAAI,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,cAAc,CAAC,YAAY,KAAK,SAAS,EAAE;AAC7E,YAAA,IAAI,CAAC,cAAc,GAAG,CAAC,EAAE,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,KAAK,MAAM,CAAC;YAC1F,IAAI,CAAC,YAAY,EAAE;QACvB;AACA,QAAA,IAAI,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,SAAS,EAAE;AACvD,YAAA,IAAI,CAAC,GAAG,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,MAAM,CAAC;YACzD,IAAI,CAAC,YAAY,EAAE;QACvB;AAEA,QAAA,IAAI,OAAO,CAAC,YAAY,EAAE;AACtB,YAAA,IAAI,IAAI,CAAC,YAAY,EAAE;gBACnB,IAAI,CAAC,YAAY,EAAE;gBACnB,IAAI,CAAC,iBAAiB,EAAE;YAC5B;QACJ;AAEA,QAAA,IAAI,OAAO,CAAC,SAAS,EAAE;YACnB,IAAI,CAAC,cAAc,EAAE;QACzB;IACJ;AAEA;;;;;;AAMG;IACI,MAAM,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;YACb,IAAI,CAAC,KAAK,EAAE;QAChB;aAAO;YACH,IAAI,CAAC,IAAI,EAAE;QACf;IACJ;AAEA;;;;;;AAMG;IACI,IAAI,GAAA;AACP,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,IAAI,CAAC,QAAQ,EAAE;QACnB;AAEA,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;YACb;QACJ;AAEA,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;AACnB,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI;;;;;;;AASlB,QAAA,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,gBAAgB,CAAC,eAAe,EAAE,IAAI,CAAC,iBAAiB,EAAE,KAAK,CAAC;AAE9F,QAAA,qBAAqB,CAAC,MAAI,EAAC,CAAC,CAAC;IACjC;AAEA;;;;;;AAMG;IACI,KAAK,GAAA;AACR,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,IAAI,CAAC,QAAQ,EAAE;QACnB;AAEA,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YACd;QACJ;AAEA,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;;AAGnB,QAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC;AAChC,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;AACnB,QAAA,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,gBAAgB,CAAC,eAAe,EAAE,IAAI,CAAC,iBAAiB,EAAE,KAAK,CAAC;IAClG;AAEA;;AAEG;AACO,IAAA,eAAe,CAAC,KAAa,EAAA;AACnC,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK;IAC7B;AAEA;;;;;AAKG;AACO,IAAA,gBAAgB,CAAC,IAAc,EAAA;QACrC,IAAI,IAAI,EAAE;AACN,YAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;AACpB,gBAAA,OAAO,CAAC;YACZ;AACA,YAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAChB,gBAAA,OAAO,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;YACrC;iBAAO;;;;gBAIH,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,KAAK,IAAI,EAAE;;;AAGrC,oBAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;AACxD,oBAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;oBACtD,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW;AACxD,oBAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;AAC3D,oBAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;gBAC7D;AACA,gBAAA,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS;YACrC;QACJ;aAAO;AACH,YAAA,IAAI,IAAI,CAAC,KAAK,EAAE;AACZ,gBAAA,OAAO,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;YACjC;iBAAO;gBACH,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,KAAK,IAAI,EAAE;;;AAGjC,oBAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;oBACxD,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW;AACpD,oBAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;gBAC/D;AACA,gBAAA,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK;YACjC;QACJ;IACJ;IAEQ,cAAc,GAAA;AAClB,QAAA,OAAO,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,IAAI,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,KAAK;IACrE;IAEQ,YAAY,GAAA;;QAEhB,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;AAClC,YAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;gBACzB,IAAI,CAAC,SAAS,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE;oBACjD,WAAW,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;oBAC5C,OAAO,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;oBACnC,KAAK,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;oBACnC,MAAM,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;AACrC,oBAAA,SAAS,EAAE,MAAM,IAAI,CAAC,SAAS;AAClC,iBAAA,EAAE,EAAE,YAAY,EAAE,CAAC,OAAO,CAAC,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAAC;AAEzD,gBAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI;YACjC;QACJ;aAAO;YACH,IAAI,CAAC,cAAc,EAAE;QACzB;QACA,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE;YACtD,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC;AAChF,iBAAA,SAAS,CAAC,CAAC,KAAK,KAAI;AACjB,gBAAA,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC;AACjC,YAAA,CAAC,CAAC;QACV;IACJ;IAEQ,cAAc,GAAA;AAClB,QAAA,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE;AACzB,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI;AACrB,QAAA,IAAI,CAAC,iBAAiB,GAAG,KAAK;IAClC;IAEQ,cAAc,GAAA;AAClB,QAAA,IAAI,QAAQ;AAEZ,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;AACnB,YAAA,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;AACzE,YAAA,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC;QAClC;IACJ;IAqJQ,QAAQ,GAAA;AACZ,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;;;QAGrB,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,kCAAkC,CAAC;QAC3E,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,gCAAgC,CAAC;QACxE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC;AAC/C,QAAA,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC;IACxB;AAEA;;;;;AAKG;IACK,QAAQ,CAAC,CAAS,EAAE,OAAgB,EAAA;;AAExC,QAAA,MAAM,CAAC,qBAAqB,CAAC,MAAK;AAC9B,YAAA,IAAI,IAAI,CAAC,eAAe,EAAE;AACtB,gBAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;YAC7E;iBAAO;gBACH,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,GAAG,cAAc,GAAG,CAAC,GAAG,SAAS,GAAG,EAAE,CAAC;YAC7F;AACA,YAAA,IAAI,OAAO,KAAK,SAAS,EAAE;AACvB,gBAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC;YAC5D;AACJ,QAAA,CAAC,CAAC;IACN;AAEQ,IAAA,aAAa,CAAC,IAAa,EAAA;;AAE/B,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,EAAE,WAAW,KAAK,UAAU;YAAE;QAEpD,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC;QACxD,IAAI,IAAI,KAAK,WAAW;YAAE;QAE1B,IAAI,IAAI,EAAE;AACN,YAAA,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;AAC1B,YAAA,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;QAC7B;aAAO;AACH,YAAA,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;AAC1B,YAAA,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;QAC7B;IACJ;8GAt1BS,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA5B,4BAA4B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,EAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,cAAA,EAAA,CAAA,gBAAA,EAAA,gBAAA,EAsEjB,gBAAgB,CAAA,EAAA,YAAA,EAAA,cAAA,EAAA,GAAA,EAAA,CAAA,KAAA,EAAA,KAAA,EAqChB,gBAAgB,8EAuChB,gBAAgB,CAAA,EAAA,SAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAwGhB,gBAAgB,CAAA,EAAA,EAAA,OAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,sBAAA,EAAA,eAAA,EAAA,SAAA,EAAA,SAAA,EAAA,yCAAA,EAAA,yBAAA,EAAA,4BAAA,EAAA,aAAA,EAAA,8BAAA,EAAA,aAAA,EAAA,4BAAA,EAAA,iBAAA,EAAA,kCAAA,EAAA,eAAA,EAAA,aAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EA1BtB,6BAA6B,2BAAU,6BAA6B,EAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAgEpE,iCAAiC,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAAU,iCAAiC,2WC5V9F,s4CA8BA,EAAA,MAAA,EAAA,CAAA,+0VAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,ED4Bc,yBAAyB,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,KAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAE5C,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBARxC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,EAAA,aAAA,EAGX,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,KAAK,EAAA,OAAA,EACrC,CAAC,yBAAyB,EAAE,gBAAgB,CAAC,EAAA,QAAA,EAAA,s4CAAA,EAAA,MAAA,EAAA,CAAA,+0VAAA,CAAA,EAAA;;sBAwBrD,WAAW;uBAAC,sBAAsB;;sBAgBlC,WAAW;uBAAC,SAAS;;sBACrB;;sBAeA;;sBAgBA,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;;sBAKrC;;sBAgBA;;sBAgBA,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;;sBAwBrC;;sBAeA,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;;sBAcrC,WAAW;uBAAC,yCAAyC;;sBAkBrD;;sBASA;;sBAQA;;sBAQA;;sBAQA;;sBAQA;;sBAKA,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,6BAA6B,EAAE,EAAE,IAAI,EAAE,6BAA6B,EAAE;;sBAGnF,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;;sBACnC,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;;sBACrC,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;;sBAqBnC,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;;sBAsCrC,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,iCAAiC,EAAE,EAAE,IAAI,EAAE,iCAAiC,EAAE;;sBAM3F,WAAW;uBAAC,4BAA4B;;sBAMxC,WAAW;uBAAC,8BAA8B;;sBAQ1C,WAAW;uBAAC,4BAA4B;;sBAYxC,WAAW;uBAAC,kCAAkC;;sBAQ9C,WAAW;uBAAC,aAAa;;;AE9X9B;AACO,MAAM,gCAAgC,GAAG;IAC5C,4BAA4B;IAC5B,yBAAyB;IACzB,iCAAiC;IACjC;;;ACRJ;;AAEG;MASU,yBAAyB,CAAA;8GAAzB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAAzB,yBAAyB,EAAA,OAAA,EAAA,CAAAA,4BAAA,EAAAC,yBAAA,EAAAC,iCAAA,EAAAC,6BAAA,CAAA,EAAA,OAAA,EAAA,CAAAH,4BAAA,EAAAC,yBAAA,EAAAC,iCAAA,EAAAC,6BAAA,CAAA,EAAA,CAAA,CAAA;+GAAzB,yBAAyB,EAAA,CAAA,CAAA;;2FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBARrC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;AACL,wBAAA,GAAG;AACN,qBAAA;AACD,oBAAA,OAAO,EAAE;AACL,wBAAA,GAAG;AACN;AACJ,iBAAA;;;ACbD;;AAEG;;;;"}