@acorex/components 18.10.4 → 18.10.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. package/esm2022/map/acorex-components-map.mjs +5 -0
  2. package/esm2022/map/index.mjs +3 -0
  3. package/esm2022/map/lib/map.component.mjs +78 -0
  4. package/esm2022/map/lib/map.module.mjs +18 -0
  5. package/esm2022/menu/index.mjs +2 -1
  6. package/esm2022/menu/lib/menu-item/menu-item.component.mjs +5 -18
  7. package/esm2022/menu/lib/menu-item-text/menu-item-text.component.mjs +11 -0
  8. package/esm2022/menu/lib/menu.component.mjs +9 -117
  9. package/esm2022/menu/lib/menu.module.mjs +4 -3
  10. package/esm2022/menu/lib/menu.service.mjs +2 -7
  11. package/esm2022/rate-picker/acorex-components-rate-picker.mjs +5 -0
  12. package/esm2022/rate-picker/index.mjs +3 -0
  13. package/esm2022/rate-picker/lib/calculatePercentage.mjs +45 -0
  14. package/esm2022/rate-picker/lib/rate-picker.component.mjs +184 -0
  15. package/esm2022/rate-picker/lib/rate-picker.module.mjs +18 -0
  16. package/esm2022/time-line/acorex-components-time-line.mjs +5 -0
  17. package/esm2022/time-line/index.mjs +4 -0
  18. package/esm2022/time-line/lib/time-line-item.component.mjs +48 -0
  19. package/esm2022/time-line/lib/time-line.component.mjs +14 -0
  20. package/esm2022/time-line/lib/time-line.module.mjs +19 -0
  21. package/fesm2022/acorex-components-map.mjs +100 -0
  22. package/fesm2022/acorex-components-map.mjs.map +1 -0
  23. package/fesm2022/acorex-components-menu.mjs +24 -141
  24. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  25. package/fesm2022/acorex-components-rate-picker.mjs +250 -0
  26. package/fesm2022/acorex-components-rate-picker.mjs.map +1 -0
  27. package/fesm2022/acorex-components-time-line.mjs +81 -0
  28. package/fesm2022/acorex-components-time-line.mjs.map +1 -0
  29. package/map/README.md +3 -0
  30. package/map/index.d.ts +3 -0
  31. package/map/lib/map.component.d.ts +25 -0
  32. package/map/lib/map.module.d.ts +8 -0
  33. package/menu/index.d.ts +1 -0
  34. package/menu/lib/menu-item/menu-item.component.d.ts +1 -3
  35. package/menu/lib/menu-item-text/menu-item-text.component.d.ts +5 -0
  36. package/menu/lib/menu.component.d.ts +1 -6
  37. package/menu/lib/menu.module.d.ts +9 -8
  38. package/menu/lib/menu.service.d.ts +0 -5
  39. package/package.json +48 -30
  40. package/rate-picker/README.md +3 -0
  41. package/rate-picker/index.d.ts +2 -0
  42. package/rate-picker/lib/calculatePercentage.d.ts +27 -0
  43. package/rate-picker/lib/rate-picker.component.d.ts +69 -0
  44. package/rate-picker/lib/rate-picker.module.d.ts +8 -0
  45. package/time-line/README.md +3 -0
  46. package/time-line/index.d.ts +3 -0
  47. package/time-line/lib/time-line-item.component.d.ts +14 -0
  48. package/time-line/lib/time-line.component.d.ts +7 -0
  49. package/time-line/lib/time-line.module.d.ts +9 -0
@@ -1,77 +1,19 @@
1
1
  import { MXBaseComponent } from '@acorex/components/common';
2
- import { afterNextRender, Component, ContentChildren, HostBinding, inject, input, QueryList, signal, ViewEncapsulation, } from '@angular/core';
2
+ import { Component, ContentChildren, HostBinding, inject, input, QueryList, ViewEncapsulation, } from '@angular/core';
3
3
  import { AXRootMenu } from './class/root-menu.class';
4
4
  import { AXMenuItemComponent } from './menu-item/menu-item.component';
5
5
  import { AXMenuService } from './menu.service';
6
6
  import * as i0 from "@angular/core";
7
- import * as i1 from "@acorex/components/decorators";
8
7
  /**
9
8
  * Represents a menu component that displays menu items.
10
9
  * @category Components
11
10
  */
12
11
  export class AXMenuComponent extends MXBaseComponent {
13
12
  constructor() {
14
- super();
13
+ super(...arguments);
15
14
  this.orientation = input('horizontal');
16
15
  this.openOn = input('toggle');
17
16
  this.service = inject(AXMenuService);
18
- this.menuHeight = signal('');
19
- this.isMenuOpen = signal(false);
20
- this.truncateMenu = input(false);
21
- afterNextRender(() => {
22
- if (!this.truncateMenu())
23
- return;
24
- //add menu container border for detect overflow happen
25
- this.menuHeight.set(`${this.getHostElement()?.getClientRects()[0]?.height + 10}px`);
26
- this.service.rightOverflow.set(this.getHostElement()?.querySelector('.ax-menu-item-container')?.getClientRects()[0]?.right);
27
- this.service.leftOverflow.set(this.getHostElement()?.querySelector('.ax-menu-item-container')?.getClientRects()[0]?.left);
28
- let resizeTimer;
29
- window.addEventListener('resize', () => {
30
- //add menu container border for detect overflow happen
31
- clearTimeout(resizeTimer);
32
- if (!this.getHostElement())
33
- return;
34
- resizeTimer = setTimeout(() => {
35
- this.service.rightOverflow.set(this.getHostElement()?.querySelector('.ax-menu-item-container').getClientRects()[0].right);
36
- this.service.leftOverflow.set(this.getHostElement()?.querySelector('.ax-menu-item-container').getClientRects()[0].left);
37
- if (this.isMenuOpen())
38
- this.showMenuHandler();
39
- this.service.notOverflowElements.set([]);
40
- this.service.overflowElements.set([]);
41
- }, 200);
42
- });
43
- document.addEventListener('click', (event) => {
44
- const menu = document.querySelector('.ax-overflow-menu-container');
45
- const menuButton = document.querySelector('.ax-show-truncate-menu');
46
- if (!menu.contains(event.target) &&
47
- !menuButton.contains(event.target)) {
48
- if (this.isMenuOpen())
49
- this.showMenuHandler();
50
- }
51
- });
52
- });
53
- }
54
- showMenuHandler() {
55
- this.isMenuOpen.update((prev) => !prev);
56
- const injectContainer = this.getHostElement().querySelector('.ax-overflow-menu-container');
57
- const injectContainer2 = this.getHostElement().querySelector('.ax-menu-item-container');
58
- if (this.isMenuOpen()) {
59
- this.service.overflowElements().forEach((item) => {
60
- item.classList.add('overflowMenuOverride');
61
- injectContainer.appendChild(item);
62
- });
63
- this.service.notOverflowElements().forEach((item) => {
64
- item.classList.remove('overflowMenuOverride');
65
- injectContainer2.appendChild(item);
66
- });
67
- }
68
- else {
69
- const allItems = [...this.service.notOverflowElements(), ...this.service.overflowElements()];
70
- allItems.forEach((item) => {
71
- item.classList.remove('overflowMenuOverride');
72
- injectContainer2.appendChild(item);
73
- });
74
- }
75
17
  }
76
18
  /** @ignore */
77
19
  ngAfterViewInit() {
@@ -84,8 +26,8 @@ export class AXMenuComponent extends MXBaseComponent {
84
26
  get __hostClass() {
85
27
  return `ax-orientation-${this.orientation()}`;
86
28
  }
87
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
88
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXMenuComponent, selector: "ax-menu", inputs: { orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, openOn: { classPropertyName: "openOn", publicName: "openOn", isSignal: true, isRequired: false, transformFunction: null }, truncateMenu: { classPropertyName: "truncateMenu", publicName: "truncateMenu", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "this.__hostClass" } }, providers: [
29
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMenuComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
30
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.0", type: AXMenuComponent, selector: "ax-menu", inputs: { orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, openOn: { classPropertyName: "openOn", publicName: "openOn", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "this.__hostClass" } }, providers: [
89
31
  {
90
32
  provide: AXRootMenu,
91
33
  useExisting: AXMenuComponent,
@@ -93,61 +35,11 @@ export class AXMenuComponent extends MXBaseComponent {
93
35
  {
94
36
  provide: AXMenuService,
95
37
  },
96
- ], queries: [{ propertyName: "children", predicate: AXMenuItemComponent }], usesInheritance: true, ngImport: i0, template: `
97
- <div class="ax-main-menu-container">
98
- <div
99
- [style]="{ width: !this.service.isOverflowExist() && !this.truncateMenu() && '100%' }"
100
- class="ax-menu-item-container"
101
- >
102
- <ng-content select="ax-menu-item,ng-container"></ng-content>
103
- </div>
104
-
105
- @if (this.service.overflowElements().length !== 0 && this.truncateMenu()) {
106
- <button
107
- class="ax-general-button ax-button-icon ax-show-truncate-menu"
108
- (click)="showMenuHandler()"
109
- tabindex="0"
110
- type="button"
111
- >
112
- <ax-icon class="ax-icon ax-icon-more-horizontal ng-star-inserted ax-text-xl"></ax-icon>
113
- </button>
114
- }
115
- </div>
116
-
117
- <div
118
- [style]="{ top: menuHeight(), display: this.isMenuOpen() ? 'block' : 'none' }"
119
- class="ax-overflow-menu-container ax-menu-item-children"
120
- ></div>
121
- `, isInline: true, styles: ["ax-menu{width:100%;font-size:.875rem;line-height:1.25rem;color:inherit;position:relative}ax-menu .ax-main-menu-container{display:flex;align-items:center;width:100%;overflow:hidden}ax-menu .ax-menu-item-container{display:flex;overflow:hidden;width:calc(100% - 1.3rem)}ax-menu .ax-show-truncate-menu{position:absolute;right:0;width:1.3rem}ax-menu .ax-overflow-menu-container{position:absolute;right:0}ax-menu.ax-orientation-horizontal{display:flex}ax-menu.ax-orientation-horizontal ax-menu-item:not(ax-menu.ax-orientation-horizontal ax-menu-item:last-child){margin-inline-end:1rem}ax-menu.ax-orientation-vertical{display:flex;flex-direction:column}ax-menu.ax-orientation-vertical ax-menu-item{justify-content:space-between}ax-menu.ax-orientation-vertical ax-menu-item:not(ax-menu.ax-orientation-vertical ax-menu-item:last-child){margin-bottom:1rem}ax-menu ax-menu-item:hover:not(ax-menu ax-menu-item:hover.ax-state-disabled){color:rgba(var(--ax-color-primary-500))}ax-menu-item{position:relative;display:flex;align-items:center;gap:.5rem;font-size:.875rem;line-height:1.25rem;font-weight:500;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;justify-content:space-between;color:rgba(var(--ax-color-text-default))}ax-menu-item:not(ax-menu-item.ax-state-disabled){cursor:pointer}ax-menu-item .ax-menu-item-start-side{display:flex;align-items:center;gap:.5rem}ax-menu-item.ax-state-disabled{cursor:not-allowed;opacity:.5}ax-menu-item.ax-state-selected{color:rgba(var(--ax-color-primary-500))}ax-menu-item .ax-menu-item-child-icon{width:fit-content;line-height:1;font-size:10px}ax-menu-item ax-popover{position:absolute}.overflowMenuOverride{margin-inline-end:0!important}.overflowMenuOverride:hover:not(.overflowMenuOverride:hover.ax-state-disabled){color:rgba(var(--ax-color-text-default))!important}.ax-menu-item-children{padding-top:.5rem;padding-bottom:.5rem}.ax-menu-item-children:not(.ax-menu-item-children:empty){display:flex;min-width:12rem;flex-direction:column;border-radius:var(--ax-rounded-border-default);border-width:1px;border-color:rgba(var(--ax-color-border-default));background-color:rgba(var(--ax-color-surface))}.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item{padding:.5rem 1rem;font-size:.875rem;line-height:1.25rem}.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item:hover:not(.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item:hover.ax-state-disabled){background-color:rgba(var(--ax-color-on-surface))}.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item:hover:not(.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item:hover.ax-state-disabled) ax-prefix,.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item:hover:not(.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item:hover.ax-state-disabled) ax-suffix{opacity:1}.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item ax-prefix,.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item ax-suffix{opacity:.75}.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item .ax-menu-item-text{flex:1 1 0%}html[dir=rtl] .ax-parent-horizontal .ax-menu-item-child-icon{transform:rotate(-90deg)}html[dir=rtl] .ax-parent-horizontal .ax-menu-item-child-icon:before{-moz-transform:scale(1,-1);-webkit-transform:scale(1,-1);-o-transform:scale(1,-1);-ms-transform:scale(1,-1);transform:scaleY(-1)}.ax-parent-horizontal .ax-menu-item-child-icon{transform:rotate(-90deg)}\n"], dependencies: [{ kind: "component", type: i1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }], encapsulation: i0.ViewEncapsulation.None }); }
38
+ ], queries: [{ propertyName: "children", predicate: AXMenuItemComponent }], usesInheritance: true, ngImport: i0, template: ` <ng-content select="ax-menu-item,ng-container"></ng-content>`, isInline: true, styles: ["ax-menu{width:100%;font-size:.875rem;line-height:1.25rem;color:inherit;position:relative}ax-menu.ax-orientation-horizontal{display:flex}ax-menu.ax-orientation-horizontal ax-menu-item:not(ax-menu.ax-orientation-horizontal ax-menu-item:last-child){margin-inline-end:1rem}ax-menu.ax-orientation-vertical{display:flex;flex-direction:column}ax-menu.ax-orientation-vertical ax-menu-item{justify-content:space-between}ax-menu.ax-orientation-vertical ax-menu-item:not(ax-menu.ax-orientation-vertical ax-menu-item:last-child){margin-bottom:1rem}ax-menu ax-menu-item:hover:not(ax-menu ax-menu-item:hover.ax-state-disabled){color:rgba(var(--ax-color-primary-500))}ax-menu-item{position:relative;display:flex;align-items:center;gap:.5rem;font-size:.875rem;line-height:1.25rem;font-weight:500;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;justify-content:space-between;color:rgba(var(--ax-color-text-default))}ax-menu-item .ax-menu-item-text{white-space:nowrap}ax-menu-item:not(ax-menu-item.ax-state-disabled){cursor:pointer}ax-menu-item .ax-menu-item-start-side{display:flex;align-items:center;gap:.5rem}ax-menu-item.ax-state-disabled{cursor:not-allowed;opacity:.5}ax-menu-item.ax-state-selected{color:rgba(var(--ax-color-primary-500))}ax-menu-item .ax-menu-item-child-icon{width:fit-content;line-height:1;font-size:10px}ax-menu-item ax-popover{position:absolute}.ax-menu-item-children{padding-top:.5rem;padding-bottom:.5rem}.ax-menu-item-children:not(.ax-menu-item-children:empty){display:flex;min-width:12rem;flex-direction:column;border-radius:var(--ax-rounded-border-default);border-width:1px;border-color:rgba(var(--ax-color-border-default));background-color:rgba(var(--ax-color-surface))}.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item{padding:.5rem 1rem;font-size:.875rem;line-height:1.25rem}.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item:hover:not(.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item:hover.ax-state-disabled){background-color:rgba(var(--ax-color-on-surface))}.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item:hover:not(.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item:hover.ax-state-disabled) ax-prefix,.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item:hover:not(.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item:hover.ax-state-disabled) ax-suffix{opacity:1}.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item ax-prefix,.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item ax-suffix{opacity:.75}.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item .ax-menu-item-text{flex:1 1 0%}html[dir=rtl] .ax-parent-horizontal .ax-menu-item-child-icon{transform:rotate(-90deg)}html[dir=rtl] .ax-parent-horizontal .ax-menu-item-child-icon:before{-moz-transform:scale(1,-1);-webkit-transform:scale(1,-1);-o-transform:scale(1,-1);-ms-transform:scale(1,-1);transform:scaleY(-1)}.ax-parent-horizontal .ax-menu-item-child-icon{transform:rotate(-90deg)}\n"], encapsulation: i0.ViewEncapsulation.None }); }
122
39
  }
123
40
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMenuComponent, decorators: [{
124
41
  type: Component,
125
- args: [{ selector: 'ax-menu', template: `
126
- <div class="ax-main-menu-container">
127
- <div
128
- [style]="{ width: !this.service.isOverflowExist() && !this.truncateMenu() && '100%' }"
129
- class="ax-menu-item-container"
130
- >
131
- <ng-content select="ax-menu-item,ng-container"></ng-content>
132
- </div>
133
-
134
- @if (this.service.overflowElements().length !== 0 && this.truncateMenu()) {
135
- <button
136
- class="ax-general-button ax-button-icon ax-show-truncate-menu"
137
- (click)="showMenuHandler()"
138
- tabindex="0"
139
- type="button"
140
- >
141
- <ax-icon class="ax-icon ax-icon-more-horizontal ng-star-inserted ax-text-xl"></ax-icon>
142
- </button>
143
- }
144
- </div>
145
-
146
- <div
147
- [style]="{ top: menuHeight(), display: this.isMenuOpen() ? 'block' : 'none' }"
148
- class="ax-overflow-menu-container ax-menu-item-children"
149
- ></div>
150
- `, encapsulation: ViewEncapsulation.None, providers: [
42
+ args: [{ selector: 'ax-menu', template: ` <ng-content select="ax-menu-item,ng-container"></ng-content>`, encapsulation: ViewEncapsulation.None, providers: [
151
43
  {
152
44
  provide: AXRootMenu,
153
45
  useExisting: AXMenuComponent,
@@ -155,12 +47,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
155
47
  {
156
48
  provide: AXMenuService,
157
49
  },
158
- ], styles: ["ax-menu{width:100%;font-size:.875rem;line-height:1.25rem;color:inherit;position:relative}ax-menu .ax-main-menu-container{display:flex;align-items:center;width:100%;overflow:hidden}ax-menu .ax-menu-item-container{display:flex;overflow:hidden;width:calc(100% - 1.3rem)}ax-menu .ax-show-truncate-menu{position:absolute;right:0;width:1.3rem}ax-menu .ax-overflow-menu-container{position:absolute;right:0}ax-menu.ax-orientation-horizontal{display:flex}ax-menu.ax-orientation-horizontal ax-menu-item:not(ax-menu.ax-orientation-horizontal ax-menu-item:last-child){margin-inline-end:1rem}ax-menu.ax-orientation-vertical{display:flex;flex-direction:column}ax-menu.ax-orientation-vertical ax-menu-item{justify-content:space-between}ax-menu.ax-orientation-vertical ax-menu-item:not(ax-menu.ax-orientation-vertical ax-menu-item:last-child){margin-bottom:1rem}ax-menu ax-menu-item:hover:not(ax-menu ax-menu-item:hover.ax-state-disabled){color:rgba(var(--ax-color-primary-500))}ax-menu-item{position:relative;display:flex;align-items:center;gap:.5rem;font-size:.875rem;line-height:1.25rem;font-weight:500;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;justify-content:space-between;color:rgba(var(--ax-color-text-default))}ax-menu-item:not(ax-menu-item.ax-state-disabled){cursor:pointer}ax-menu-item .ax-menu-item-start-side{display:flex;align-items:center;gap:.5rem}ax-menu-item.ax-state-disabled{cursor:not-allowed;opacity:.5}ax-menu-item.ax-state-selected{color:rgba(var(--ax-color-primary-500))}ax-menu-item .ax-menu-item-child-icon{width:fit-content;line-height:1;font-size:10px}ax-menu-item ax-popover{position:absolute}.overflowMenuOverride{margin-inline-end:0!important}.overflowMenuOverride:hover:not(.overflowMenuOverride:hover.ax-state-disabled){color:rgba(var(--ax-color-text-default))!important}.ax-menu-item-children{padding-top:.5rem;padding-bottom:.5rem}.ax-menu-item-children:not(.ax-menu-item-children:empty){display:flex;min-width:12rem;flex-direction:column;border-radius:var(--ax-rounded-border-default);border-width:1px;border-color:rgba(var(--ax-color-border-default));background-color:rgba(var(--ax-color-surface))}.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item{padding:.5rem 1rem;font-size:.875rem;line-height:1.25rem}.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item:hover:not(.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item:hover.ax-state-disabled){background-color:rgba(var(--ax-color-on-surface))}.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item:hover:not(.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item:hover.ax-state-disabled) ax-prefix,.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item:hover:not(.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item:hover.ax-state-disabled) ax-suffix{opacity:1}.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item ax-prefix,.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item ax-suffix{opacity:.75}.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item .ax-menu-item-text{flex:1 1 0%}html[dir=rtl] .ax-parent-horizontal .ax-menu-item-child-icon{transform:rotate(-90deg)}html[dir=rtl] .ax-parent-horizontal .ax-menu-item-child-icon:before{-moz-transform:scale(1,-1);-webkit-transform:scale(1,-1);-o-transform:scale(1,-1);-ms-transform:scale(1,-1);transform:scaleY(-1)}.ax-parent-horizontal .ax-menu-item-child-icon{transform:rotate(-90deg)}\n"] }]
159
- }], ctorParameters: () => [], propDecorators: { children: [{
50
+ ], styles: ["ax-menu{width:100%;font-size:.875rem;line-height:1.25rem;color:inherit;position:relative}ax-menu.ax-orientation-horizontal{display:flex}ax-menu.ax-orientation-horizontal ax-menu-item:not(ax-menu.ax-orientation-horizontal ax-menu-item:last-child){margin-inline-end:1rem}ax-menu.ax-orientation-vertical{display:flex;flex-direction:column}ax-menu.ax-orientation-vertical ax-menu-item{justify-content:space-between}ax-menu.ax-orientation-vertical ax-menu-item:not(ax-menu.ax-orientation-vertical ax-menu-item:last-child){margin-bottom:1rem}ax-menu ax-menu-item:hover:not(ax-menu ax-menu-item:hover.ax-state-disabled){color:rgba(var(--ax-color-primary-500))}ax-menu-item{position:relative;display:flex;align-items:center;gap:.5rem;font-size:.875rem;line-height:1.25rem;font-weight:500;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;justify-content:space-between;color:rgba(var(--ax-color-text-default))}ax-menu-item .ax-menu-item-text{white-space:nowrap}ax-menu-item:not(ax-menu-item.ax-state-disabled){cursor:pointer}ax-menu-item .ax-menu-item-start-side{display:flex;align-items:center;gap:.5rem}ax-menu-item.ax-state-disabled{cursor:not-allowed;opacity:.5}ax-menu-item.ax-state-selected{color:rgba(var(--ax-color-primary-500))}ax-menu-item .ax-menu-item-child-icon{width:fit-content;line-height:1;font-size:10px}ax-menu-item ax-popover{position:absolute}.ax-menu-item-children{padding-top:.5rem;padding-bottom:.5rem}.ax-menu-item-children:not(.ax-menu-item-children:empty){display:flex;min-width:12rem;flex-direction:column;border-radius:var(--ax-rounded-border-default);border-width:1px;border-color:rgba(var(--ax-color-border-default));background-color:rgba(var(--ax-color-surface))}.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item{padding:.5rem 1rem;font-size:.875rem;line-height:1.25rem}.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item:hover:not(.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item:hover.ax-state-disabled){background-color:rgba(var(--ax-color-on-surface))}.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item:hover:not(.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item:hover.ax-state-disabled) ax-prefix,.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item:hover:not(.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item:hover.ax-state-disabled) ax-suffix{opacity:1}.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item ax-prefix,.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item ax-suffix{opacity:.75}.ax-menu-item-children:not(.ax-menu-item-children:empty) ax-menu-item .ax-menu-item-text{flex:1 1 0%}html[dir=rtl] .ax-parent-horizontal .ax-menu-item-child-icon{transform:rotate(-90deg)}html[dir=rtl] .ax-parent-horizontal .ax-menu-item-child-icon:before{-moz-transform:scale(1,-1);-webkit-transform:scale(1,-1);-o-transform:scale(1,-1);-ms-transform:scale(1,-1);transform:scaleY(-1)}.ax-parent-horizontal .ax-menu-item-child-icon{transform:rotate(-90deg)}\n"] }]
51
+ }], propDecorators: { children: [{
160
52
  type: ContentChildren,
161
53
  args: [AXMenuItemComponent]
162
54
  }], __hostClass: [{
163
55
  type: HostBinding,
164
56
  args: ['class']
165
57
  }] } });
166
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbWVudS9zcmMvbGliL21lbnUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0UsT0FBTyxFQUNMLGVBQWUsRUFFZixTQUFTLEVBQ1QsZUFBZSxFQUNmLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUNMLFNBQVMsRUFDVCxNQUFNLEVBQ04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUUvQzs7O0dBR0c7QUF5Q0gsTUFBTSxPQUFPLGVBQWdCLFNBQVEsZUFBZTtJQVlsRDtRQUNFLEtBQUssRUFBRSxDQUFDO1FBWlYsZ0JBQVcsR0FBRyxLQUFLLENBQWdCLFlBQVksQ0FBQyxDQUFDO1FBQ2pELFdBQU0sR0FBRyxLQUFLLENBQXVCLFFBQVEsQ0FBQyxDQUFDO1FBQy9DLFlBQU8sR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDaEMsZUFBVSxHQUFHLE1BQU0sQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUNoQyxlQUFVLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNCLGlCQUFZLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBUTFCLGVBQWUsQ0FBQyxHQUFHLEVBQUU7WUFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUU7Z0JBQUUsT0FBTztZQUVqQyxzREFBc0Q7WUFDdEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMs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SUFDZCxJQUNJLFdBQVc7UUFDYixPQUFPLGtCQUFrQixJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztJQUNoRCxDQUFDOzhHQTlGVSxlQUFlO2tHQUFmLGVBQWUsdWZBVmY7WUFDVDtnQkFDRSxPQUFPLEVBQUUsVUFBVTtnQkFDbkIsV0FBVyxFQUFFLGVBQWU7YUFDN0I7WUFDRDtnQkFDRSxPQUFPLEVBQUUsYUFBYTthQUN2QjtTQUNGLG1EQVdnQixtQkFBbUIsb0RBL0MxQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXlCVDs7MkZBYVUsZUFBZTtrQkF4QzNCLFNBQVM7K0JBQ0UsU0FBUyxZQUNUOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBeUJULGlCQUVjLGlCQUFpQixDQUFDLElBQUksYUFDMUI7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLFVBQVU7NEJBQ25CLFdBQVcsaUJBQWlCO3lCQUM3Qjt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsYUFBYTt5QkFDdkI7cUJBQ0Y7d0RBWUQsUUFBUTtzQkFEUCxlQUFlO3VCQUFDLG1CQUFtQjtnQkFtRmhDLFdBQVc7c0JBRGQsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhPcmllbnRhdGlvbiwgTVhCYXNlQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XG5pbXBvcnQge1xuICBhZnRlck5leHRSZW5kZXIsXG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBIb3N0QmluZGluZyxcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgUXVlcnlMaXN0LFxuICBzaWduYWwsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYTWVudVBvcG92ZXJUcmlnZ2VyIH0gZnJvbSAnLi9jbGFzcy9wb3BvdmVyLmNsYXNzJztcbmltcG9ydCB7IEFYUm9vdE1lbnUgfSBmcm9tICcuL2NsYXNzL3Jvb3QtbWVudS5jbGFzcyc7XG5pbXBvcnQgeyBBWE1lbnVJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9tZW51LWl0ZW0vbWVudS1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWE1lbnVTZXJ2aWNlIH0gZnJvbSAnLi9tZW51LnNlcnZpY2UnO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBtZW51IGNvbXBvbmVudCB0aGF0IGRpc3BsYXlzIG1lbnUgaXRlbXMuXG4gKiBAY2F0ZWdvcnkgQ29tcG9uZW50c1xuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1tZW51JyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwiYXgtbWFpbi1tZW51LWNvbnRhaW5lclwiPlxuICAgICAgPGRpdlxuICAgICAgICBbc3R5bGVdPVwieyB3aWR0aDogIXRoaXMuc2VydmljZS5pc092ZXJmbG93RXhpc3QoKSAmJiAhdGhpcy50cnVuY2F0ZU1lbnUoKSAmJiAnMTAwJScgfVwiXG4gICAgICAgIGNsYXNzPVwiYXgtbWVudS1pdGVtLWNvbnRhaW5lclwiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LW1lbnUtaXRlbSxuZy1jb250YWluZXJcIj48L25nLWNvbnRlbnQ+XG4gICAgICA8L2Rpdj5cblxuICAgICAgQGlmICh0aGlzLnNlcnZpY2Uub3ZlcmZsb3dFbGVtZW50cygpLmxlbmd0aCAhPT0gMCAmJiB0aGlzLnRydW5jYXRlTWVudSgpKSB7XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBjbGFzcz1cImF4LWdlbmVyYWwtYnV0dG9uIGF4LWJ1dHRvbi1pY29uIGF4LXNob3ctdHJ1bmNhdGUtbWVudVwiXG4gICAgICAgICAgKGNsaWNrKT1cInNob3dNZW51SGFuZGxlcigpXCJcbiAgICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICA+XG4gICAgICAgICAgPGF4LWljb24gY2xhc3M9XCJheC1pY29uIGF4LWljb24tbW9yZS1ob3Jpem9udGFsIG5nLXN0YXItaW5zZXJ0ZWQgYXgtdGV4dC14bFwiPjwvYXgtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICB9XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2XG4gICAgICBbc3R5bGVdPVwieyB0b3A6IG1lbnVIZWlnaHQoKSwgZGlzcGxheTogdGhpcy5pc01lbnVPcGVuKCkgPyAnYmxvY2snIDogJ25vbmUnIH1cIlxuICAgICAgY2xhc3M9XCJheC1vdmVyZmxvdy1tZW51LWNvbnRhaW5lciBheC1tZW51LWl0ZW0tY2hpbGRyZW5cIlxuICAgID48L2Rpdj5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vbWVudS5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWFJvb3RNZW51LFxuICAgICAgdXNlRXhpc3Rpbmc6IEFYTWVudUNvbXBvbmVudCxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYTWVudVNlcnZpY2UsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhNZW51Q29tcG9uZW50IGV4dGVuZHMgTVhCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIG9yaWVudGF0aW9uID0gaW5wdXQ8QVhPcmllbnRhdGlvbj4oJ2hvcml6b250YWwnKTtcbiAgb3Blbk9uID0gaW5wdXQ8QVhNZW51UG9wb3ZlclRyaWdnZXI+KCd0b2dnbGUnKTtcbiAgc2VydmljZSA9IGluamVjdChBWE1lbnVTZXJ2aWNlKTtcbiAgbWVudUhlaWdodCA9IHNpZ25hbDxzdHJpbmc+KCcnKTtcbiAgaXNNZW51T3BlbiA9IHNpZ25hbChmYWxzZSk7XG4gIHRydW5jYXRlTWVudSA9IGlucHV0KGZhbHNlKTtcblxuICAvKiogQGlnbm9yZSAqL1xuICBAQ29udGVudENoaWxkcmVuKEFYTWVudUl0ZW1Db21wb25lbnQpXG4gIGNoaWxkcmVuOiBRdWVyeUxpc3Q8QVhNZW51SXRlbUNvbXBvbmVudD47XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICBhZnRlck5leHRSZW5kZXIoKCkgPT4ge1xuICAgICAgaWYgKCF0aGlzLnRydW5jYXRlTWVudSgpKSByZXR1cm47XG5cbiAgICAgIC8vYWRkIG1lbnUgY29udGFpbmVyIGJvcmRlciBmb3IgZGV0ZWN0IG92ZXJmbG93IGhhcHBlblxuICAgICAgdGhpcy5tZW51SGVpZ2h0LnNldChgJHt0aGlzLmdldEhvc3RFbGVtZW50KCk/LmdldENsaWVudFJlY3RzKClbMF0/LmhlaWdodCArIDEwfXB4YCk7XG4gICAgICB0aGlzLnNlcnZpY2UucmlnaHRPdmVyZmxvdy5zZXQoXG4gICAgICAgIHRoaXMuZ2V0SG9zdEVsZW1lbnQoKT8ucXVlcnlTZWxlY3RvcignLmF4LW1lbnUtaXRlbS1jb250YWluZXInKT8uZ2V0Q2xpZW50UmVjdHMoKVswXT8ucmlnaHQsXG4gICAgICApO1xuICAgICAgdGhpcy5zZXJ2aWNlLmxlZnRPdmVyZmxvdy5zZXQoXG4gICAgICAgIHRoaXMuZ2V0SG9zdEVsZW1lbnQoKT8ucXVlcnlTZWxlY3RvcignLmF4LW1lbnUtaXRlbS1jb250YWluZXInKT8uZ2V0Q2xpZW50UmVjdHMoKVswXT8ubGVmdCxcbiAgICAgICk7XG5cbiAgICAgIGxldCByZXNpemVUaW1lcjtcblxuICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsICgpID0+IHtcbiAgICAgICAgLy9hZGQgbWVudSBjb250YWluZXIgYm9yZGVyIGZvciBkZXRlY3Qgb3ZlcmZsb3cgaGFwcGVuXG4gICAgICAgIGNsZWFyVGltZW91dChyZXNpemVUaW1lcik7XG4gICAgICAgIGlmICghdGhpcy5nZXRIb3N0RWxlbWVudCgpKSByZXR1cm47XG4gICAgICAgIHJlc2l6ZVRpbWVyID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5zZXJ2aWNlLnJpZ2h0T3ZlcmZsb3cuc2V0KFxuICAgICAgICAgICAgdGhpcy5nZXRIb3N0RWxlbWVudCgpPy5xdWVyeVNlbGVjdG9yKCcuYXgtbWVudS1pdGVtLWNvbnRhaW5lcicpLmdldENsaWVudFJlY3RzKClbMF0ucmlnaHQsXG4gICAgICAgICAgKTtcbiAgICAgICAgICB0aGlzLnNlcnZpY2UubGVmdE92ZXJmbG93LnNldChcbiAgICAgICAgICAgIHRoaXMuZ2V0SG9zdEVsZW1lbnQoKT8ucXVlcnlTZWxlY3RvcignLmF4LW1lbnUtaXRlbS1jb250YWluZXInKS5nZXRDbGllbnRSZWN0cygpWzBdLmxlZnQsXG4gICAgICAgICAgKTtcbiAgICAgICAgICBpZiAodGhpcy5pc01lbnVPcGVuKCkpIHRoaXMuc2hvd01lbnVIYW5kbGVyKCk7XG4gICAgICAgICAgdGhpcy5zZXJ2aWNlLm5vdE92ZXJmbG93RWxlbWVudHMuc2V0KFtdKTtcbiAgICAgICAgICB0aGlzLnNlcnZpY2Uub3ZlcmZsb3dFbGVtZW50cy5zZXQoW10pO1xuICAgICAgICB9LCAyMDApO1xuICAgICAgfSk7XG5cbiAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKGV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IG1lbnUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuYXgtb3ZlcmZsb3ctbWVudS1jb250YWluZXInKTtcbiAgICAgICAgY29uc3QgbWVudUJ1dHRvbiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5heC1zaG93LXRydW5jYXRlLW1lbnUnKTtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICFtZW51LmNvbnRhaW5zKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkgJiZcbiAgICAgICAgICAhbWVudUJ1dHRvbi5jb250YWlucyhldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpXG4gICAgICAgICkge1xuICAgICAgICAgIGlmICh0aGlzLmlzTWVudU9wZW4oKSkgdGhpcy5zaG93TWVudUhhbmRsZXIoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBzaG93TWVudUhhbmRsZXIoKSB7XG4gICAgdGhpcy5pc01lbnVPcGVuLnVwZGF0ZSgocHJldikgPT4gIXByZXYpO1xuXG4gICAgY29uc3QgaW5qZWN0Q29udGFpbmVyID0gdGhpcy5nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3IoJy5heC1vdmVyZmxvdy1tZW51LWNvbnRhaW5lcicpO1xuICAgIGNvbnN0IGluamVjdENvbnRhaW5lcjIgPSB0aGlzLmdldEhvc3RFbGVtZW50KCkucXVlcnlTZWxlY3RvcignLmF4LW1lbnUtaXRlbS1jb250YWluZXInKTtcblxuICAgIGlmICh0aGlzLmlzTWVudU9wZW4oKSkge1xuICAgICAgdGhpcy5zZXJ2aWNlLm92ZXJmbG93RWxlbWVudHMoKS5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgIGl0ZW0uY2xhc3NMaXN0LmFkZCgnb3ZlcmZsb3dNZW51T3ZlcnJpZGUnKTtcbiAgICAgICAgaW5qZWN0Q29udGFpbmVyLmFwcGVuZENoaWxkKGl0ZW0pO1xuICAgICAgfSk7XG4gICAgICB0aGlzLnNlcnZpY2Uubm90T3ZlcmZsb3dFbGVtZW50cygpLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgaXRlbS5jbGFzc0xpc3QucmVtb3ZlKCdvdmVyZmxvd01lbnVPdmVycmlkZScpO1xuICAgICAgICBpbmplY3RDb250YWluZXIyLmFwcGVuZENoaWxkKGl0ZW0pO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGFsbEl0ZW1zID0gWy4uLnRoaXMuc2VydmljZS5ub3RPdmVyZmxvd0VsZW1lbnRzKCksIC4uLnRoaXMuc2VydmljZS5vdmVyZmxvd0VsZW1lbnRzKCldO1xuICAgICAgYWxsSXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICBpdGVtLmNsYXNzTGlzdC5yZW1vdmUoJ292ZXJmbG93TWVudU92ZXJyaWRlJyk7XG4gICAgICAgIGluamVjdENvbnRhaW5lcjIuYXBwZW5kQ2hpbGQoaXRlbSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5jaGlsZHJlbi5mb3JFYWNoKChjKSA9PiB7XG4gICAgICBjLmlzUm9vdCA9IHRydWU7XG4gICAgICBjLnBhcmVudCA9IHRoaXMgYXMgdW5rbm93biBhcyBBWE1lbnVJdGVtQ29tcG9uZW50O1xuICAgIH0pO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIGdldCBfX2hvc3RDbGFzcygpOiBzdHJpbmcge1xuICAgIHJldHVybiBgYXgtb3JpZW50YXRpb24tJHt0aGlzLm9yaWVudGF0aW9uKCl9YDtcbiAgfVxufVxuIl19
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbWVudS9zcmMvbGliL21lbnUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0UsT0FBTyxFQUVMLFNBQVMsRUFDVCxlQUFlLEVBQ2YsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUUvQzs7O0dBR0c7QUFnQkgsTUFBTSxPQUFPLGVBQWdCLFNBQVEsZUFBZTtJQWZwRDs7UUFnQkUsZ0JBQVcsR0FBRyxLQUFLLENBQWdCLFlBQVksQ0FBQyxDQUFDO1FBQ2pELFdBQU0sR0FBRyxLQUFLLENBQXVCLFFBQVEsQ0FBQyxDQUFDO1FBQy9DLFlBQU8sR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7S0FtQmpDO0lBYkMsY0FBYztJQUNkLGVBQWU7UUFDYixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQzFCLENBQUMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQ2hCLENBQUMsQ0FBQyxNQUFNLEdBQUcsSUFBc0MsQ0FBQztRQUNwRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxjQUFjO0lBQ2QsSUFDSSxXQUFXO1FBQ2IsT0FBTyxrQkFBa0IsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7SUFDaEQsQ0FBQzs4R0FyQlUsZUFBZTtrR0FBZixlQUFlLDBXQVZmO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLFVBQVU7Z0JBQ25CLFdBQVcsRUFBRSxlQUFlO2FBQzdCO1lBQ0Q7Z0JBQ0UsT0FBTyxFQUFFLGFBQWE7YUFDdkI7U0FDRixtREFRZ0IsbUJBQW1CLG9EQW5CMUIsK0RBQStEOzsyRkFhOUQsZUFBZTtrQkFmM0IsU0FBUzsrQkFDRSxTQUFTLFlBQ1QsK0RBQStELGlCQUUxRCxpQkFBaUIsQ0FBQyxJQUFJLGFBQzFCO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxVQUFVOzRCQUNuQixXQUFXLGlCQUFpQjt5QkFDN0I7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLGFBQWE7eUJBQ3ZCO3FCQUNGOzhCQVNELFFBQVE7c0JBRFAsZUFBZTt1QkFBQyxtQkFBbUI7Z0JBYWhDLFdBQVc7c0JBRGQsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhPcmllbnRhdGlvbiwgTVhCYXNlQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgSG9zdEJpbmRpbmcsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhNZW51UG9wb3ZlclRyaWdnZXIgfSBmcm9tICcuL2NsYXNzL3BvcG92ZXIuY2xhc3MnO1xuaW1wb3J0IHsgQVhSb290TWVudSB9IGZyb20gJy4vY2xhc3Mvcm9vdC1tZW51LmNsYXNzJztcbmltcG9ydCB7IEFYTWVudUl0ZW1Db21wb25lbnQgfSBmcm9tICcuL21lbnUtaXRlbS9tZW51LWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IEFYTWVudVNlcnZpY2UgfSBmcm9tICcuL21lbnUuc2VydmljZSc7XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIG1lbnUgY29tcG9uZW50IHRoYXQgZGlzcGxheXMgbWVudSBpdGVtcy5cbiAqIEBjYXRlZ29yeSBDb21wb25lbnRzXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LW1lbnUnLFxuICB0ZW1wbGF0ZTogYCA8bmctY29udGVudCBzZWxlY3Q9XCJheC1tZW51LWl0ZW0sbmctY29udGFpbmVyXCI+PC9uZy1jb250ZW50PmAsXG4gIHN0eWxlVXJsczogWycuL21lbnUuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhSb290TWVudSxcbiAgICAgIHVzZUV4aXN0aW5nOiBBWE1lbnVDb21wb25lbnQsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWE1lbnVTZXJ2aWNlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYTWVudUNvbXBvbmVudCBleHRlbmRzIE1YQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBvcmllbnRhdGlvbiA9IGlucHV0PEFYT3JpZW50YXRpb24+KCdob3Jpem9udGFsJyk7XG4gIG9wZW5PbiA9IGlucHV0PEFYTWVudVBvcG92ZXJUcmlnZ2VyPigndG9nZ2xlJyk7XG4gIHNlcnZpY2UgPSBpbmplY3QoQVhNZW51U2VydmljZSk7XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgQENvbnRlbnRDaGlsZHJlbihBWE1lbnVJdGVtQ29tcG9uZW50KVxuICBjaGlsZHJlbjogUXVlcnlMaXN0PEFYTWVudUl0ZW1Db21wb25lbnQ+O1xuXG4gIC8qKiBAaWdub3JlICovXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmNoaWxkcmVuLmZvckVhY2goKGMpID0+IHtcbiAgICAgIGMuaXNSb290ID0gdHJ1ZTtcbiAgICAgIGMucGFyZW50ID0gdGhpcyBhcyB1bmtub3duIGFzIEFYTWVudUl0ZW1Db21wb25lbnQ7XG4gICAgfSk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgZ2V0IF9faG9zdENsYXNzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBheC1vcmllbnRhdGlvbi0ke3RoaXMub3JpZW50YXRpb24oKX1gO1xuICB9XG59XG4iXX0=
@@ -6,14 +6,15 @@ import { AXTranslationModule } from '@acorex/core/translation';
6
6
  import { OverlayModule } from '@angular/cdk/overlay';
7
7
  import { CommonModule } from '@angular/common';
8
8
  import { NgModule } from '@angular/core';
9
+ import { AXMenuItemTextComponent } from './menu-item-text/menu-item-text.component';
9
10
  import { AXMenuItemComponent } from './menu-item/menu-item.component';
10
11
  import { AXMenuComponent } from './menu.component';
11
12
  import * as i0 from "@angular/core";
12
- const COMPONENT = [AXMenuItemComponent, AXMenuComponent];
13
+ const COMPONENT = [AXMenuItemComponent, AXMenuComponent, AXMenuItemTextComponent];
13
14
  const MODULES = [AXDecoratorModule, AXLoadingModule, AXTranslationModule, OverlayModule, AXPopoverModule];
14
15
  export class AXMenuModule {
15
16
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
16
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: AXMenuModule, declarations: [AXMenuItemComponent, AXMenuComponent], imports: [CommonModule, AXDecoratorModule, AXLoadingModule, AXTranslationModule, OverlayModule, AXPopoverModule, AXButtonModule], exports: [AXMenuItemComponent, AXMenuComponent] }); }
17
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: AXMenuModule, declarations: [AXMenuItemComponent, AXMenuComponent, AXMenuItemTextComponent], imports: [CommonModule, AXDecoratorModule, AXLoadingModule, AXTranslationModule, OverlayModule, AXPopoverModule, AXButtonModule], exports: [AXMenuItemComponent, AXMenuComponent, AXMenuItemTextComponent] }); }
17
18
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMenuModule, imports: [CommonModule, MODULES, AXButtonModule] }); }
18
19
  }
19
20
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMenuModule, decorators: [{
@@ -25,4 +26,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
25
26
  providers: [],
26
27
  }]
27
28
  }] });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbWVudS9zcmMvbGliL21lbnUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBRW5ELE1BQU0sU0FBUyxHQUFHLENBQUMsbUJBQW1CLEVBQUUsZUFBZSxDQUFDLENBQUM7QUFDekQsTUFBTSxPQUFPLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0FBUTFHLE1BQU0sT0FBTyxZQUFZOzhHQUFaLFlBQVk7K0dBQVosWUFBWSxpQkFUTixtQkFBbUIsRUFBRSxlQUFlLGFBSzNDLFlBQVksRUFKUCxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFJbEUsY0FBYyxhQUxqQyxtQkFBbUIsRUFBRSxlQUFlOytHQVMxQyxZQUFZLFlBSmIsWUFBWSxFQUFLLE9BQU8sRUFBRSxjQUFjOzsyRkFJdkMsWUFBWTtrQkFOeEIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQztvQkFDNUIsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLEdBQUcsT0FBTyxFQUFFLGNBQWMsQ0FBQztvQkFDbkQsT0FBTyxFQUFFLENBQUMsR0FBRyxTQUFTLENBQUM7b0JBQ3ZCLFNBQVMsRUFBRSxFQUFFO2lCQUNkIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhMb2FkaW5nTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2xvYWRpbmcnO1xuaW1wb3J0IHsgQVhQb3BvdmVyTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3BvcG92ZXInO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBPdmVybGF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWE1lbnVJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9tZW51LWl0ZW0vbWVudS1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWE1lbnVDb21wb25lbnQgfSBmcm9tICcuL21lbnUuY29tcG9uZW50JztcblxuY29uc3QgQ09NUE9ORU5UID0gW0FYTWVudUl0ZW1Db21wb25lbnQsIEFYTWVudUNvbXBvbmVudF07XG5jb25zdCBNT0RVTEVTID0gW0FYRGVjb3JhdG9yTW9kdWxlLCBBWExvYWRpbmdNb2R1bGUsIEFYVHJhbnNsYXRpb25Nb2R1bGUsIE92ZXJsYXlNb2R1bGUsIEFYUG9wb3Zlck1vZHVsZV07XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogWy4uLkNPTVBPTkVOVF0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIC4uLk1PRFVMRVMsIEFYQnV0dG9uTW9kdWxlXSxcbiAgZXhwb3J0czogWy4uLkNPTVBPTkVOVF0sXG4gIHByb3ZpZGVyczogW10sXG59KVxuZXhwb3J0IGNsYXNzIEFYTWVudU1vZHVsZSB7fVxuIl19
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbWVudS9zcmMvbGliL21lbnUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNwRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBRW5ELE1BQU0sU0FBUyxHQUFHLENBQUMsbUJBQW1CLEVBQUUsZUFBZSxFQUFFLHVCQUF1QixDQUFDLENBQUM7QUFDbEYsTUFBTSxPQUFPLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0FBUTFHLE1BQU0sT0FBTyxZQUFZOzhHQUFaLFlBQVk7K0dBQVosWUFBWSxpQkFUTixtQkFBbUIsRUFBRSxlQUFlLEVBQUUsdUJBQXVCLGFBS3BFLFlBQVksRUFKUCxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFJbEUsY0FBYyxhQUxqQyxtQkFBbUIsRUFBRSxlQUFlLEVBQUUsdUJBQXVCOytHQVNuRSxZQUFZLFlBSmIsWUFBWSxFQUFLLE9BQU8sRUFBRSxjQUFjOzsyRkFJdkMsWUFBWTtrQkFOeEIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQztvQkFDNUIsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLEdBQUcsT0FBTyxFQUFFLGNBQWMsQ0FBQztvQkFDbkQsT0FBTyxFQUFFLENBQUMsR0FBRyxTQUFTLENBQUM7b0JBQ3ZCLFNBQVMsRUFBRSxFQUFFO2lCQUNkIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhMb2FkaW5nTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2xvYWRpbmcnO1xuaW1wb3J0IHsgQVhQb3BvdmVyTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3BvcG92ZXInO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBPdmVybGF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWE1lbnVJdGVtVGV4dENvbXBvbmVudCB9IGZyb20gJy4vbWVudS1pdGVtLXRleHQvbWVudS1pdGVtLXRleHQuY29tcG9uZW50JztcbmltcG9ydCB7IEFYTWVudUl0ZW1Db21wb25lbnQgfSBmcm9tICcuL21lbnUtaXRlbS9tZW51LWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IEFYTWVudUNvbXBvbmVudCB9IGZyb20gJy4vbWVudS5jb21wb25lbnQnO1xuXG5jb25zdCBDT01QT05FTlQgPSBbQVhNZW51SXRlbUNvbXBvbmVudCwgQVhNZW51Q29tcG9uZW50LCBBWE1lbnVJdGVtVGV4dENvbXBvbmVudF07XG5jb25zdCBNT0RVTEVTID0gW0FYRGVjb3JhdG9yTW9kdWxlLCBBWExvYWRpbmdNb2R1bGUsIEFYVHJhbnNsYXRpb25Nb2R1bGUsIE92ZXJsYXlNb2R1bGUsIEFYUG9wb3Zlck1vZHVsZV07XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogWy4uLkNPTVBPTkVOVF0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIC4uLk1PRFVMRVMsIEFYQnV0dG9uTW9kdWxlXSxcbiAgZXhwb3J0czogWy4uLkNPTVBPTkVOVF0sXG4gIHByb3ZpZGVyczogW10sXG59KVxuZXhwb3J0IGNsYXNzIEFYTWVudU1vZHVsZSB7fVxuIl19
@@ -1,14 +1,9 @@
1
- import { Injectable, signal } from '@angular/core';
1
+ import { Injectable } from '@angular/core';
2
2
  import { BehaviorSubject } from 'rxjs';
3
3
  import * as i0 from "@angular/core";
4
4
  export class AXMenuService {
5
5
  constructor() {
6
6
  this.activeMenus$ = new BehaviorSubject([]);
7
- this.rightOverflow = signal(0);
8
- this.leftOverflow = signal(0);
9
- this.overflowElements = signal([]);
10
- this.notOverflowElements = signal([]);
11
- this.isOverflowExist = signal(false);
12
7
  }
13
8
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMenuService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
14
9
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMenuService, providedIn: 'root' }); }
@@ -19,4 +14,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
19
14
  providedIn: 'root',
20
15
  }]
21
16
  }] });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21lbnUvc3JjL2xpYi9tZW51LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFNdkMsTUFBTSxPQUFPLGFBQWE7SUFIMUI7UUFJRSxpQkFBWSxHQUEyQyxJQUFJLGVBQWUsQ0FBd0IsRUFBRSxDQUFDLENBQUM7UUFFdEcsa0JBQWEsR0FBRyxNQUFNLENBQVMsQ0FBQyxDQUFDLENBQUM7UUFDbEMsaUJBQVksR0FBRyxNQUFNLENBQVMsQ0FBQyxDQUFDLENBQUM7UUFDakMscUJBQWdCLEdBQUcsTUFBTSxDQUFnQixFQUFFLENBQUMsQ0FBQztRQUM3Qyx3QkFBbUIsR0FBRyxNQUFNLENBQWdCLEVBQUUsQ0FBQyxDQUFDO1FBQ2hELG9CQUFlLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQ2pDOzhHQVJZLGFBQWE7a0hBQWIsYUFBYSxjQUZaLE1BQU07OzJGQUVQLGFBQWE7a0JBSHpCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFYTWVudUl0ZW1Db21wb25lbnQgfSBmcm9tICcuL21lbnUtaXRlbS9tZW51LWl0ZW0uY29tcG9uZW50JztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEFYTWVudVNlcnZpY2Uge1xuICBhY3RpdmVNZW51cyQ6IEJlaGF2aW9yU3ViamVjdDxBWE1lbnVJdGVtQ29tcG9uZW50W10+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBWE1lbnVJdGVtQ29tcG9uZW50W10+KFtdKTtcblxuICByaWdodE92ZXJmbG93ID0gc2lnbmFsPG51bWJlcj4oMCk7XG4gIGxlZnRPdmVyZmxvdyA9IHNpZ25hbDxudW1iZXI+KDApO1xuICBvdmVyZmxvd0VsZW1lbnRzID0gc2lnbmFsPEhUTUxFbGVtZW50W10+KFtdKTtcbiAgbm90T3ZlcmZsb3dFbGVtZW50cyA9IHNpZ25hbDxIVE1MRWxlbWVudFtdPihbXSk7XG4gIGlzT3ZlcmZsb3dFeGlzdCA9IHNpZ25hbChmYWxzZSk7XG59XG4iXX0=
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21lbnUvc3JjL2xpYi9tZW51LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQU12QyxNQUFNLE9BQU8sYUFBYTtJQUgxQjtRQUlFLGlCQUFZLEdBQTJDLElBQUksZUFBZSxDQUF3QixFQUFFLENBQUMsQ0FBQztLQUN2Rzs4R0FGWSxhQUFhO2tIQUFiLGFBQWEsY0FGWixNQUFNOzsyRkFFUCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQVhNZW51SXRlbUNvbXBvbmVudCB9IGZyb20gJy4vbWVudS1pdGVtL21lbnUtaXRlbS5jb21wb25lbnQnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQVhNZW51U2VydmljZSB7XG4gIGFjdGl2ZU1lbnVzJDogQmVoYXZpb3JTdWJqZWN0PEFYTWVudUl0ZW1Db21wb25lbnRbXT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEFYTWVudUl0ZW1Db21wb25lbnRbXT4oW10pO1xufVxuIl19
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNvbXBvbmVudHMtcmF0ZS1waWNrZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcmF0ZS1waWNrZXIvc3JjL2Fjb3JleC1jb21wb25lbnRzLXJhdGUtcGlja2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
@@ -0,0 +1,3 @@
1
+ export * from './lib/rate-picker.component';
2
+ export * from './lib/rate-picker.module';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcmF0ZS1waWNrZXIvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYywwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL3JhdGUtcGlja2VyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9yYXRlLXBpY2tlci5tb2R1bGUnO1xuIl19
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Calculates the horizontal position of a pointer event (mouse or touch) as a percentage
3
+ * of the target element's width.
4
+ *
5
+ * @param event - The mouse or touch event to get the pointer position from.
6
+ * @returns The percentage of the event's position relative to the target element's width,
7
+ * or -1 if the event is invalid.
8
+ *
9
+ * @remarks
10
+ * - For `MouseEvent`, it uses the `clientX` property.
11
+ * - For `TouchEvent`, it uses the `clientX` of the first touch point.
12
+ * - Returns `-1` if the event is neither a valid `MouseEvent` nor a `TouchEvent`.
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * document.addEventListener('click', function(event) {
17
+ * const percentage = getPointerPercentage(event);
18
+ * console.log(`Click position: ${percentage.toFixed(2)}% of the element's width`);
19
+ * });
20
+ *
21
+ * document.addEventListener('touchstart', function(event) {
22
+ * const percentage = getPointerPercentage(event);
23
+ * console.log(`Touch position: ${percentage.toFixed(2)}% of the element's width`);
24
+ * });
25
+ * ```
26
+ */
27
+ export function getPointerPercentage(event) {
28
+ let clientX;
29
+ if (event instanceof MouseEvent) {
30
+ clientX = event.clientX; // Mouse event uses clientX
31
+ }
32
+ else if (event instanceof TouchEvent && event.touches.length > 0) {
33
+ clientX = event.touches[0].clientX; // Touch event uses the first touch's clientX
34
+ }
35
+ else {
36
+ return -1; // Return -1 for invalid events
37
+ }
38
+ // Use currentTarget to get the bounding box of the element the event listener is attached to
39
+ const rect = event.currentTarget.getBoundingClientRect();
40
+ const clickX = clientX - rect.left; // Calculate X position relative to the element
41
+ const divWidth = rect.width; // Get the width from the bounding box
42
+ const percentage = (clickX / divWidth) * 100; // Calculate percentage
43
+ return percentage;
44
+ }
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlUGVyY2VudGFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9yYXRlLXBpY2tlci9zcmMvbGliL2NhbGN1bGF0ZVBlcmNlbnRhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F5Qkc7QUFDSCxNQUFNLFVBQVUsb0JBQW9CLENBQUMsS0FBOEI7SUFDakUsSUFBSSxPQUFlLENBQUM7SUFFcEIsSUFBSSxLQUFLLFlBQVksVUFBVSxFQUFFLENBQUM7UUFDaEMsT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQywyQkFBMkI7SUFDdEQsQ0FBQztTQUFNLElBQUksS0FBSyxZQUFZLFVBQVUsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUNuRSxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyw2Q0FBNkM7SUFDbkYsQ0FBQztTQUFNLENBQUM7UUFDTixPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsK0JBQStCO0lBQzVDLENBQUM7SUFFRCw2RkFBNkY7SUFDN0YsTUFBTSxJQUFJLEdBQUksS0FBSyxDQUFDLGFBQTZCLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUMxRSxNQUFNLE1BQU0sR0FBRyxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLCtDQUErQztJQUNuRixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsc0NBQXNDO0lBQ25FLE1BQU0sVUFBVSxHQUFHLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLHVCQUF1QjtJQUVyRSxPQUFPLFVBQVUsQ0FBQztBQUNwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDYWxjdWxhdGVzIHRoZSBob3Jpem9udGFsIHBvc2l0aW9uIG9mIGEgcG9pbnRlciBldmVudCAobW91c2Ugb3IgdG91Y2gpIGFzIGEgcGVyY2VudGFnZVxuICogb2YgdGhlIHRhcmdldCBlbGVtZW50J3Mgd2lkdGguXG4gKlxuICogQHBhcmFtIGV2ZW50IC0gVGhlIG1vdXNlIG9yIHRvdWNoIGV2ZW50IHRvIGdldCB0aGUgcG9pbnRlciBwb3NpdGlvbiBmcm9tLlxuICogQHJldHVybnMgVGhlIHBlcmNlbnRhZ2Ugb2YgdGhlIGV2ZW50J3MgcG9zaXRpb24gcmVsYXRpdmUgdG8gdGhlIHRhcmdldCBlbGVtZW50J3Mgd2lkdGgsXG4gKiAgICAgICAgICBvciAtMSBpZiB0aGUgZXZlbnQgaXMgaW52YWxpZC5cbiAqXG4gKiBAcmVtYXJrc1xuICogLSBGb3IgYE1vdXNlRXZlbnRgLCBpdCB1c2VzIHRoZSBgY2xpZW50WGAgcHJvcGVydHkuXG4gKiAtIEZvciBgVG91Y2hFdmVudGAsIGl0IHVzZXMgdGhlIGBjbGllbnRYYCBvZiB0aGUgZmlyc3QgdG91Y2ggcG9pbnQuXG4gKiAtIFJldHVybnMgYC0xYCBpZiB0aGUgZXZlbnQgaXMgbmVpdGhlciBhIHZhbGlkIGBNb3VzZUV2ZW50YCBub3IgYSBgVG91Y2hFdmVudGAuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZXZlbnQpIHtcbiAqICAgY29uc3QgcGVyY2VudGFnZSA9IGdldFBvaW50ZXJQZXJjZW50YWdlKGV2ZW50KTtcbiAqICAgY29uc29sZS5sb2coYENsaWNrIHBvc2l0aW9uOiAke3BlcmNlbnRhZ2UudG9GaXhlZCgyKX0lIG9mIHRoZSBlbGVtZW50J3Mgd2lkdGhgKTtcbiAqIH0pO1xuICpcbiAqIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoc3RhcnQnLCBmdW5jdGlvbihldmVudCkge1xuICogICBjb25zdCBwZXJjZW50YWdlID0gZ2V0UG9pbnRlclBlcmNlbnRhZ2UoZXZlbnQpO1xuICogICBjb25zb2xlLmxvZyhgVG91Y2ggcG9zaXRpb246ICR7cGVyY2VudGFnZS50b0ZpeGVkKDIpfSUgb2YgdGhlIGVsZW1lbnQncyB3aWR0aGApO1xuICogfSk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFBvaW50ZXJQZXJjZW50YWdlKGV2ZW50OiBNb3VzZUV2ZW50IHwgVG91Y2hFdmVudCk6IG51bWJlciB7XG4gIGxldCBjbGllbnRYOiBudW1iZXI7XG5cbiAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTW91c2VFdmVudCkge1xuICAgIGNsaWVudFggPSBldmVudC5jbGllbnRYOyAvLyBNb3VzZSBldmVudCB1c2VzIGNsaWVudFhcbiAgfSBlbHNlIGlmIChldmVudCBpbnN0YW5jZW9mIFRvdWNoRXZlbnQgJiYgZXZlbnQudG91Y2hlcy5sZW5ndGggPiAwKSB7XG4gICAgY2xpZW50WCA9IGV2ZW50LnRvdWNoZXNbMF0uY2xpZW50WDsgLy8gVG91Y2ggZXZlbnQgdXNlcyB0aGUgZmlyc3QgdG91Y2gncyBjbGllbnRYXG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIC0xOyAvLyBSZXR1cm4gLTEgZm9yIGludmFsaWQgZXZlbnRzXG4gIH1cblxuICAvLyBVc2UgY3VycmVudFRhcmdldCB0byBnZXQgdGhlIGJvdW5kaW5nIGJveCBvZiB0aGUgZWxlbWVudCB0aGUgZXZlbnQgbGlzdGVuZXIgaXMgYXR0YWNoZWQgdG9cbiAgY29uc3QgcmVjdCA9IChldmVudC5jdXJyZW50VGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgY29uc3QgY2xpY2tYID0gY2xpZW50WCAtIHJlY3QubGVmdDsgLy8gQ2FsY3VsYXRlIFggcG9zaXRpb24gcmVsYXRpdmUgdG8gdGhlIGVsZW1lbnRcbiAgY29uc3QgZGl2V2lkdGggPSByZWN0LndpZHRoOyAvLyBHZXQgdGhlIHdpZHRoIGZyb20gdGhlIGJvdW5kaW5nIGJveFxuICBjb25zdCBwZXJjZW50YWdlID0gKGNsaWNrWCAvIGRpdldpZHRoKSAqIDEwMDsgLy8gQ2FsY3VsYXRlIHBlcmNlbnRhZ2VcblxuICByZXR1cm4gcGVyY2VudGFnZTtcbn1cbiJdfQ==
@@ -0,0 +1,184 @@
1
+ import { AXValuableComponent, MXValueComponent } from '@acorex/components/common';
2
+ import { ChangeDetectionStrategy, Component, computed, effect, forwardRef, HostBinding, inject, input, Renderer2, signal, viewChild, ViewEncapsulation, } from '@angular/core';
3
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
4
+ import { getPointerPercentage } from './calculatePercentage';
5
+ import * as i0 from "@angular/core";
6
+ /**
7
+ * A component for selecting a rating using star icons.
8
+ *
9
+ * This component allows users to pick a rating by clicking or dragging over star icons.
10
+ * It supports rounding options and manages the rating state internally.
11
+ */
12
+ export class AXRatePickerComponent extends MXValueComponent {
13
+ /**
14
+ * Initializes the component and sets up value change subscription.
15
+ */
16
+ constructor() {
17
+ super();
18
+ /** The icon name to use for stars (e.g., 'fa-star'). */
19
+ this.iconName = input('fa-star');
20
+ /** The maximum rating value (e.g., 5 stars). */
21
+ this.max = input(5);
22
+ /** Determines if the rating should be rounded to the nearest integer. */
23
+ this.isRound = input(true);
24
+ /** choosing to have css transition for unchanging value after hover. */
25
+ this.hasTransition = input(true);
26
+ /** The percentage of the current rating value relative to the maximum rating. */
27
+ this.ratePercentage = computed(() => Math.round((this.currentValue() / this.max()) * 10000) / 100);
28
+ /** The current rating value as a signal. */
29
+ this.currentValue = signal(this.max());
30
+ /** State for tracking hover status and previous value. */
31
+ this.prevState = {
32
+ ishover: false,
33
+ previousValue: undefined,
34
+ };
35
+ /** Reference to the container element. */
36
+ this.containerEl = viewChild.required('c');
37
+ /** Reference to the rating element. */
38
+ this.ratingEl = viewChild.required('r');
39
+ /** Renderer for manipulating styles. */
40
+ this.renderer = inject(Renderer2);
41
+ /** Array of rating values from 1 to `max`. */
42
+ this.rates = computed(() => Array(this.max())
43
+ .fill(0)
44
+ .map((_, index) => index + 1));
45
+ effect(() => {
46
+ if (!this.hasTransition()) {
47
+ this.renderer.removeStyle(this.ratingEl().nativeElement, 'transition');
48
+ }
49
+ return this.hasTransition();
50
+ });
51
+ this.onValueChanged.subscribe((val) => {
52
+ if (val.value < 0) {
53
+ this.currentValue.set(0);
54
+ console.warn('ax-rate-picker: value cant be negative!');
55
+ }
56
+ else if (val.value > this.max()) {
57
+ this.currentValue.set(this.max());
58
+ console.warn('ax-rate-picker: value cant be more than max!');
59
+ }
60
+ else {
61
+ this.currentValue.set(val.value);
62
+ }
63
+ });
64
+ }
65
+ /**
66
+ * Calculates and updates the rating based on the mouse or touch event.
67
+ *
68
+ * @param event - The mouse or touch event triggering the rating calculation.
69
+ */
70
+ calculateRate(event) {
71
+ if (this.hasTransition()) {
72
+ this.renderer.removeStyle(this.ratingEl().nativeElement, 'transition');
73
+ }
74
+ event.preventDefault();
75
+ if (!this.readonly && !this.disabled) {
76
+ const pointerPercentage = getPointerPercentage(event);
77
+ if (pointerPercentage === -1) {
78
+ return console.log('Only support touch and click events.');
79
+ }
80
+ const value = (pointerPercentage / 100) * this.max();
81
+ const finalValue = this.isRound() ? Math.ceil(value) : Number.parseFloat(value.toFixed(2));
82
+ if (finalValue !== this.value) {
83
+ if (this.prevState.ishover === true) {
84
+ this.currentValue.set(finalValue);
85
+ }
86
+ else {
87
+ this.commitValue(finalValue);
88
+ }
89
+ }
90
+ }
91
+ }
92
+ /**
93
+ * Handles mouse enter events to start tracking mouse movements for rating.
94
+ */
95
+ mouseEnter() {
96
+ this.prevState = {
97
+ ishover: true,
98
+ previousValue: this.value,
99
+ };
100
+ if (this.hasTransition()) {
101
+ this.renderer.setStyle(this.ratingEl().nativeElement, 'opacity', '80%');
102
+ }
103
+ const moveListener = (moveEvent) => this.calculateRate(moveEvent);
104
+ const endListener = () => this.onEnd(moveListener, endListener);
105
+ const container = this.containerEl().nativeElement;
106
+ container.addEventListener('mousemove', moveListener);
107
+ container.addEventListener('mouseup', endListener);
108
+ container.addEventListener('mouseleave', endListener);
109
+ }
110
+ mouseLeave() {
111
+ if (this.hasTransition()) {
112
+ this.renderer.removeStyle(this.ratingEl().nativeElement, 'opacity');
113
+ }
114
+ }
115
+ /**
116
+ * Cleans up event listeners and restores the previous rating value.
117
+ *
118
+ * @param moveListener - The function to remove for mouse move events.
119
+ * @param endListener - The function to remove for mouse end events.
120
+ */
121
+ onEnd(moveListener, endListener) {
122
+ if (this.hasTransition()) {
123
+ this.renderer.setStyle(this.ratingEl().nativeElement, 'transition', `width ${this.max() * 50 + 250}ms cubic-bezier(0.29, 0.72, 0.68, 0.85)`);
124
+ this.renderer.removeStyle(this.ratingEl().nativeElement, 'opacity');
125
+ }
126
+ this.currentValue.set(this.prevState.previousValue);
127
+ this.prevState = {
128
+ ishover: false,
129
+ previousValue: undefined,
130
+ };
131
+ const container = this.containerEl().nativeElement;
132
+ container.removeEventListener('mousemove', moveListener);
133
+ container.removeEventListener('mouseup', endListener);
134
+ container.removeEventListener('mouseleave', endListener);
135
+ }
136
+ /**
137
+ * Determines if the component is active (i.e., not readonly or disabled).
138
+ */
139
+ get isActive() {
140
+ return !this.readonly && !this.disabled;
141
+ }
142
+ /**
143
+ * Determines if the component is in readonly mode.
144
+ */
145
+ get isReadonly() {
146
+ return this.readonly;
147
+ }
148
+ /**
149
+ * Determines if the component is disabled.
150
+ */
151
+ get isDisabled() {
152
+ return this.disabled;
153
+ }
154
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXRatePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
155
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXRatePickerComponent, selector: "ax-rate-picker", inputs: { readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: false, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, iconName: { classPropertyName: "iconName", publicName: "iconName", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, isRound: { classPropertyName: "isRound", publicName: "isRound", isSignal: true, isRequired: false, transformFunction: null }, hasTransition: { classPropertyName: "hasTransition", publicName: "hasTransition", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.active": "this.isActive", "class.readonly": "this.isReadonly", "class.disable": "this.isDisabled" } }, providers: [
156
+ { provide: AXValuableComponent, useExisting: AXRatePickerComponent },
157
+ {
158
+ provide: NG_VALUE_ACCESSOR,
159
+ useExisting: forwardRef(() => AXRatePickerComponent),
160
+ multi: true,
161
+ },
162
+ ], viewQueries: [{ propertyName: "containerEl", first: true, predicate: ["c"], descendants: true, isSignal: true }, { propertyName: "ratingEl", first: true, predicate: ["r"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div\n #c\n class=\"ax-rate-picker-container\"\n (click)=\"calculateRate($event)\"\n (touchstart)=\"calculateRate($event)\"\n (mouseenter)=\"mouseEnter()\"\n (mouseleave)=\"mouseLeave()\"\n>\n <div #r class=\"ax-rate-picker-rating\" [style.width.%]=\"ratePercentage()\">\n <div class=\"ax-rate-picker-icons ax-rp-active\">\n @for (rate of rates(); track rate) {\n <i class=\"ax-rate-picker-icon fa-solid\" [class]=\"iconName()\" [class.pointer]=\"!this.readonly\"></i>\n }\n </div>\n </div>\n <div class=\"ax-rate-picker-icons ax-rp-inactive\">\n @for (rate of rates(); track rate) {\n <i class=\"ax-rate-picker-icon fa-solid\" [class]=\"iconName()\"></i>\n }\n </div>\n</div>\n", styles: [":root{--ax-rate-picker-color: rgba(var(--ax-color-primary-500));--ax-rate-picker-background: rgba(var(--ax-color-neutral-300))}ax-rate-picker.active{cursor:pointer}ax-rate-picker.readonly{opacity:.75}ax-rate-picker.disable{cursor:not-allowed;opacity:.5}ax-rate-picker.ax-sm{font-size:1rem}ax-rate-picker.ax-md{font-size:1.5rem}ax-rate-picker.ax-lg{font-size:2rem}ax-rate-picker.ax-xl{font-size:2.5rem}ax-rate-picker.ax-2xl{font-size:3rem}ax-rate-picker.ax-3xl{font-size:4rem}ax-rate-picker .ax-rate-picker-container{position:relative;width:min-content}ax-rate-picker .ax-rate-picker-container .ax-rate-picker-rating{position:relative;z-index:10;overflow:hidden}ax-rate-picker .ax-rate-picker-container .ax-rate-picker-rating .ax-rate-picker-icons{display:flex}ax-rate-picker .ax-rate-picker-container .ax-rate-picker-rating .ax-rate-picker-icons.ax-rp-active{color:var(--ax-rate-picker-color)}ax-rate-picker .ax-rate-picker-container .ax-rate-picker-icons{display:flex}ax-rate-picker .ax-rate-picker-container .ax-rate-picker-icons.ax-rp-inactive{color:var(--ax-rate-picker-background);position:absolute;left:50%;top:50%;translate:-50% -50%;z-index:5}.ax-dark :root{--ax-rate-picker-color: rgba(var(--ax-color-primary-300));--ax-rate-picker-background: rgba(var(--ax-color-neutral-600))}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
163
+ }
164
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXRatePickerComponent, decorators: [{
165
+ type: Component,
166
+ args: [{ selector: 'ax-rate-picker', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, inputs: ['readonly', 'disabled'], providers: [
167
+ { provide: AXValuableComponent, useExisting: AXRatePickerComponent },
168
+ {
169
+ provide: NG_VALUE_ACCESSOR,
170
+ useExisting: forwardRef(() => AXRatePickerComponent),
171
+ multi: true,
172
+ },
173
+ ], template: "<div\n #c\n class=\"ax-rate-picker-container\"\n (click)=\"calculateRate($event)\"\n (touchstart)=\"calculateRate($event)\"\n (mouseenter)=\"mouseEnter()\"\n (mouseleave)=\"mouseLeave()\"\n>\n <div #r class=\"ax-rate-picker-rating\" [style.width.%]=\"ratePercentage()\">\n <div class=\"ax-rate-picker-icons ax-rp-active\">\n @for (rate of rates(); track rate) {\n <i class=\"ax-rate-picker-icon fa-solid\" [class]=\"iconName()\" [class.pointer]=\"!this.readonly\"></i>\n }\n </div>\n </div>\n <div class=\"ax-rate-picker-icons ax-rp-inactive\">\n @for (rate of rates(); track rate) {\n <i class=\"ax-rate-picker-icon fa-solid\" [class]=\"iconName()\"></i>\n }\n </div>\n</div>\n", styles: [":root{--ax-rate-picker-color: rgba(var(--ax-color-primary-500));--ax-rate-picker-background: rgba(var(--ax-color-neutral-300))}ax-rate-picker.active{cursor:pointer}ax-rate-picker.readonly{opacity:.75}ax-rate-picker.disable{cursor:not-allowed;opacity:.5}ax-rate-picker.ax-sm{font-size:1rem}ax-rate-picker.ax-md{font-size:1.5rem}ax-rate-picker.ax-lg{font-size:2rem}ax-rate-picker.ax-xl{font-size:2.5rem}ax-rate-picker.ax-2xl{font-size:3rem}ax-rate-picker.ax-3xl{font-size:4rem}ax-rate-picker .ax-rate-picker-container{position:relative;width:min-content}ax-rate-picker .ax-rate-picker-container .ax-rate-picker-rating{position:relative;z-index:10;overflow:hidden}ax-rate-picker .ax-rate-picker-container .ax-rate-picker-rating .ax-rate-picker-icons{display:flex}ax-rate-picker .ax-rate-picker-container .ax-rate-picker-rating .ax-rate-picker-icons.ax-rp-active{color:var(--ax-rate-picker-color)}ax-rate-picker .ax-rate-picker-container .ax-rate-picker-icons{display:flex}ax-rate-picker .ax-rate-picker-container .ax-rate-picker-icons.ax-rp-inactive{color:var(--ax-rate-picker-background);position:absolute;left:50%;top:50%;translate:-50% -50%;z-index:5}.ax-dark :root{--ax-rate-picker-color: rgba(var(--ax-color-primary-300));--ax-rate-picker-background: rgba(var(--ax-color-neutral-600))}\n"] }]
174
+ }], ctorParameters: () => [], propDecorators: { isActive: [{
175
+ type: HostBinding,
176
+ args: ['class.active']
177
+ }], isReadonly: [{
178
+ type: HostBinding,
179
+ args: ['class.readonly']
180
+ }], isDisabled: [{
181
+ type: HostBinding,
182
+ args: ['class.disable']
183
+ }] } });
184
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3JhdGUtcGlja2VyL3NyYy9saWIvcmF0ZS1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3JhdGUtcGlja2VyL3NyYy9saWIvcmF0ZS1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEYsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsUUFBUSxFQUNSLE1BQU0sRUFFTixVQUFVLEVBQ1YsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsU0FBUyxFQUNULE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQUU3RDs7Ozs7R0FLRztBQWlCSCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsZ0JBQXdCO0lBeUNqRTs7T0FFRztJQUNIO1FBQ0UsS0FBSyxFQUFFLENBQUM7UUE1Q1Ysd0RBQXdEO1FBQ3hELGFBQVEsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFNUIsZ0RBQWdEO1FBQ2hELFFBQUcsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFZix5RUFBeUU7UUFDekUsWUFBTyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV0Qix3RUFBd0U7UUFDeEUsa0JBQWEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFNUIsaUZBQWlGO1FBQ3ZFLG1CQUFjLEdBQUcs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QUMsR0FBRyxFQUFFLHNCQUFzQixDQUFDOzRCQUNwRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjt3REFvSmdDLFFBQVE7c0JBQXhDLFdBQVc7dUJBQUMsY0FBYztnQkFPUSxVQUFVO3NCQUE1QyxXQUFXO3VCQUFDLGdCQUFnQjtnQkFPSyxVQUFVO3NCQUEzQyxXQUFXO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFZhbHVhYmxlQ29tcG9uZW50LCBNWFZhbHVlQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBjb21wdXRlZCxcbiAgZWZmZWN0LFxuICBFbGVtZW50UmVmLFxuICBmb3J3YXJkUmVmLFxuICBIb3N0QmluZGluZyxcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgUmVuZGVyZXIyLFxuICBzaWduYWwsXG4gIHZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBnZXRQb2ludGVyUGVyY2VudGFnZSB9IGZyb20gJy4vY2FsY3VsYXRlUGVyY2VudGFnZSc7XG5cbi8qKlxuICogQSBjb21wb25lbnQgZm9yIHNlbGVjdGluZyBhIHJhdGluZyB1c2luZyBzdGFyIGljb25zLlxuICpcbiAqIFRoaXMgY29tcG9uZW50IGFsbG93cyB1c2VycyB0byBwaWNrIGEgcmF0aW5nIGJ5IGNsaWNraW5nIG9yIGRyYWdnaW5nIG92ZXIgc3RhciBpY29ucy5cbiAqIEl0IHN1cHBvcnRzIHJvdW5kaW5nIG9wdGlvbnMgYW5kIG1hbmFnZXMgdGhlIHJhdGluZyBzdGF0ZSBpbnRlcm5hbGx5LlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1yYXRlLXBpY2tlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9yYXRlLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JhdGUtcGlja2VyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbnB1dHM6IFsncmVhZG9ubHknLCAnZGlzYWJsZWQnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBBWFZhbHVhYmxlQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhSYXRlUGlja2VyQ29tcG9uZW50IH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBBWFJhdGVQaWNrZXJDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhSYXRlUGlja2VyQ29tcG9uZW50IGV4dGVuZHMgTVhWYWx1ZUNvbXBvbmVudDxudW1iZXI+IHtcbiAgLyoqIFRoZSBpY29uIG5hbWUgdG8gdXNlIGZvciBzdGFycyAoZS5nLiwgJ2ZhLXN0YXInKS4gKi9cbiAgaWNvbk5hbWUgPSBpbnB1dCgnZmEtc3RhcicpO1xuXG4gIC8qKiBUaGUgbWF4aW11bSByYXRpbmcgdmFsdWUgKGUuZy4sIDUgc3RhcnMpLiAqL1xuICBtYXggPSBpbnB1dCg1KTtcblxuICAvKiogRGV0ZXJtaW5lcyBpZiB0aGUgcmF0aW5nIHNob3VsZCBiZSByb3VuZGVkIHRvIHRoZSBuZWFyZXN0IGludGVnZXIuICovXG4gIGlzUm91bmQgPSBpbnB1dCh0cnVlKTtcblxuICAvKiogY2hvb3NpbmcgdG8gaGF2ZSBjc3MgdHJhbnNpdGlvbiBmb3IgdW5jaGFuZ2luZyB2YWx1ZSBhZnRlciBob3Zlci4gKi9cbiAgaGFzVHJhbnNpdGlvbiA9IGlucHV0KHRydWUpO1xuXG4gIC8qKiBUaGUgcGVyY2VudGFnZSBvZiB0aGUgY3VycmVudCByYXRpbmcgdmFsdWUgcmVsYXRpdmUgdG8gdGhlIG1heGltdW0gcmF0aW5nLiAqL1xuICBwcm90ZWN0ZWQgcmF0ZVBlcmNlbnRhZ2UgPSBjb21wdXRlZCgoKSA9PiBNYXRoLnJvdW5kKCh0aGlzLmN1cnJlbnRWYWx1ZSgpIC8gdGhpcy5tYXgoKSkgKiAxMDAwMCkgLyAxMDApO1xuXG4gIC8qKiBUaGUgY3VycmVudCByYXRpbmcgdmFsdWUgYXMgYSBzaWduYWwuICovXG4gIHByaXZhdGUgY3VycmVudFZhbHVlID0gc2lnbmFsKHRoaXMubWF4KCkpO1xuXG4gIC8qKiBTdGF0ZSBmb3IgdHJhY2tpbmcgaG92ZXIgc3RhdHVzIGFuZCBwcmV2aW91cyB2YWx1ZS4gKi9cbiAgcHJpdmF0ZSBwcmV2U3RhdGU6IHsgaXNob3ZlcjogYm9vbGVhbjsgcHJldmlvdXNWYWx1ZT86IG51bWJlciB9ID0ge1xuICAgIGlzaG92ZXI6IGZhbHNlLFxuICAgIHByZXZpb3VzVmFsdWU6IHVuZGVmaW5lZCxcbiAgfTtcblxuICAvKiogUmVmZXJlbmNlIHRvIHRoZSBjb250YWluZXIgZWxlbWVudC4gKi9cbiAgY29udGFpbmVyRWwgPSB2aWV3Q2hpbGQucmVxdWlyZWQ8RWxlbWVudFJlZj4oJ2MnKTtcblxuICAvKiogUmVmZXJlbmNlIHRvIHRoZSByYXRpbmcgZWxlbWVudC4gKi9cbiAgcmF0aW5nRWwgPSB2aWV3Q2hpbGQucmVxdWlyZWQ8RWxlbWVudFJlZj4oJ3InKTtcblxuICAvKiogUmVuZGVyZXIgZm9yIG1hbmlwdWxhdGluZyBzdHlsZXMuICovXG4gIHJlbmRlcmVyID0gaW5qZWN0KFJlbmRlcmVyMik7XG5cbiAgLyoqIEFycmF5IG9mIHJhdGluZyB2YWx1ZXMgZnJvbSAxIHRvIGBtYXhgLiAqL1xuICBwcm90ZWN0ZWQgcmF0ZXMgPSBjb21wdXRlZCgoKSA9PlxuICAgIEFycmF5KHRoaXMubWF4KCkpXG4gICAgICAuZmlsbCgwKVxuICAgICAgLm1hcCgoXywgaW5kZXgpID0+IGluZGV4ICsgMSksXG4gICk7XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemVzIHRoZSBjb21wb25lbnQgYW5kIHNldHMgdXAgdmFsdWUgY2hhbmdlIHN1YnNjcmlwdGlvbi5cbiAgICovXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIGlmICghdGhpcy5oYXNUcmFuc2l0aW9uKCkpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVTdHlsZSh0aGlzLnJhdGluZ0VsKCkubmF0aXZlRWxlbWVudCwgJ3RyYW5zaXRpb24nKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLmhhc1RyYW5zaXRpb24oKTtcbiAgICB9KTtcbiAgICB0aGlzLm9uVmFsdWVDaGFuZ2VkLnN1YnNjcmliZSgodmFsOiB7IHZhbHVlIH0pID0+IHtcbiAgICAgIGlmICh2YWwudmFsdWUgPCAwKSB7XG4gICAgICAgIHRoaXMuY3VycmVudFZhbHVlLnNldCgwKTtcbiAgICAgICAgY29uc29sZS53YXJuKCdheC1yYXRlLXBpY2tlcjogdmFsdWUgY2FudCBiZSBuZWdhdGl2ZSEnKTtcbiAgICAgIH0gZWxzZSBpZiAodmFsLnZhbHVlID4gdGhpcy5tYXgoKSkge1xuICAgICAgICB0aGlzLmN1cnJlbnRWYWx1ZS5zZXQodGhpcy5tYXgoKSk7XG4gICAgICAgIGNvbnNvbGUud2FybignYXgtcmF0ZS1waWNrZXI6IHZhbHVlIGNhbnQgYmUgbW9yZSB0aGFuIG1heCEnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuY3VycmVudFZhbHVlLnNldCh2YWwudmFsdWUpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGN1bGF0ZXMgYW5kIHVwZGF0ZXMgdGhlIHJhdGluZyBiYXNlZCBvbiB0aGUgbW91c2Ugb3IgdG91Y2ggZXZlbnQuXG4gICAqXG4gICAqIEBwYXJhbSBldmVudCAtIFRoZSBtb3VzZSBvciB0b3VjaCBldmVudCB0cmlnZ2VyaW5nIHRoZSByYXRpbmcgY2FsY3VsYXRpb24uXG4gICAqL1xuICBwcm90ZWN0ZWQgY2FsY3VsYXRlUmF0ZShldmVudDogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5oYXNUcmFuc2l0aW9uKCkpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlU3R5bGUodGhpcy5yYXRpbmdFbCgpLm5hdGl2ZUVsZW1lbnQsICd0cmFuc2l0aW9uJyk7XG4gICAgfVxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgaWYgKCF0aGlzLnJlYWRvbmx5ICYmICF0aGlzLmRpc2FibGVkKSB7XG4gICAgICBjb25zdCBwb2ludGVyUGVyY2VudGFnZSA9IGdldFBvaW50ZXJQZXJjZW50YWdlKGV2ZW50KTtcbiAgICAgIGlmIChwb2ludGVyUGVyY2VudGFnZSA9PT0gLTEpIHtcbiAgICAgICAgcmV0dXJuIGNvbnNvbGUubG9nKCdPbmx5IHN1cHBvcnQgdG91Y2ggYW5kIGNsaWNrIGV2ZW50cy4nKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHZhbHVlID0gKHBvaW50ZXJQZXJjZW50YWdlIC8gMTAwKSAqIHRoaXMubWF4KCk7XG4gICAgICBjb25zdCBmaW5hbFZhbHVlID0gdGhpcy5pc1JvdW5kKCkgPyBNYXRoLmNlaWwodmFsdWUpIDogTnVtYmVyLnBhcnNlRmxvYXQodmFsdWUudG9GaXhlZCgyKSk7XG4gICAgICBpZiAoZmluYWxWYWx1ZSAhPT0gdGhpcy52YWx1ZSkge1xuICAgICAgICBpZiAodGhpcy5wcmV2U3RhdGUuaXNob3ZlciA9PT0gdHJ1ZSkge1xuICAgICAgICAgIHRoaXMuY3VycmVudFZhbHVlLnNldChmaW5hbFZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmNvbW1pdFZhbHVlKGZpbmFsVmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEhhbmRsZXMgbW91c2UgZW50ZXIgZXZlbnRzIHRvIHN0YXJ0IHRyYWNraW5nIG1vdXNlIG1vdmVtZW50cyBmb3IgcmF0aW5nLlxuICAgKi9cbiAgcHJvdGVjdGVkIG1vdXNlRW50ZXIoKSB7XG4gICAgdGhpcy5wcmV2U3RhdGUgPSB7XG4gICAgICBpc2hvdmVyOiB0cnVlLFxuICAgICAgcHJldmlvdXNWYWx1ZTogdGhpcy52YWx1ZSxcbiAgICB9O1xuICAgIGlmICh0aGlzLmhhc1RyYW5zaXRpb24oKSkge1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnJhdGluZ0VsKCkubmF0aXZlRWxlbWVudCwgJ29wYWNpdHknLCAnODAlJyk7XG4gICAgfVxuICAgIGNvbnN0IG1vdmVMaXN0ZW5lciA9IChtb3ZlRXZlbnQ6IE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50KSA9PiB0aGlzLmNhbGN1bGF0ZVJhdGUobW92ZUV2ZW50KTtcbiAgICBjb25zdCBlbmRMaXN0ZW5lciA9ICgpID0+IHRoaXMub25FbmQobW92ZUxpc3RlbmVyLCBlbmRMaXN0ZW5lcik7XG4gICAgY29uc3QgY29udGFpbmVyID0gdGhpcy5jb250YWluZXJFbCgpLm5hdGl2ZUVsZW1lbnQ7XG4gICAgY29udGFpbmVyLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIG1vdmVMaXN0ZW5lcik7XG4gICAgY29udGFpbmVyLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCBlbmRMaXN0ZW5lcik7XG4gICAgY29udGFpbmVyLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbGVhdmUnLCBlbmRMaXN0ZW5lcik7XG4gIH1cbiAgbW91c2VMZWF2ZSgpIHtcbiAgICBpZiAodGhpcy5oYXNUcmFuc2l0aW9uKCkpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlU3R5bGUodGhpcy5yYXRpbmdFbCgpLm5hdGl2ZUVsZW1lbnQsICdvcGFjaXR5Jyk7XG4gICAgfVxuICB9XG4gIC8qKlxuICAgKiBDbGVhbnMgdXAgZXZlbnQgbGlzdGVuZXJzIGFuZCByZXN0b3JlcyB0aGUgcHJldmlvdXMgcmF0aW5nIHZhbHVlLlxuICAgKlxuICAgKiBAcGFyYW0gbW92ZUxpc3RlbmVyIC0gVGhlIGZ1bmN0aW9uIHRvIHJlbW92ZSBmb3IgbW91c2UgbW92ZSBldmVudHMuXG4gICAqIEBwYXJhbSBlbmRMaXN0ZW5lciAtIFRoZSBmdW5jdGlvbiB0byByZW1vdmUgZm9yIG1vdXNlIGVuZCBldmVudHMuXG4gICAqL1xuICBwcml2YXRlIG9uRW5kKG1vdmVMaXN0ZW5lcjogKGV2ZW50OiBNb3VzZUV2ZW50IHwgVG91Y2hFdmVudCkgPT4gdm9pZCwgZW5kTGlzdGVuZXI6ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5oYXNUcmFuc2l0aW9uKCkpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIHRoaXMucmF0aW5nRWwoKS5uYXRpdmVFbGVtZW50LFxuICAgICAgICAndHJhbnNpdGlvbicsXG4gICAgICAgIGB3aWR0aCAke3RoaXMubWF4KCkgKiA1MCArIDI1MH1tcyBjdWJpYy1iZXppZXIoMC4yOSwgMC43MiwgMC42OCwgMC44NSlgLFxuICAgICAgKTtcbiAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlU3R5bGUodGhpcy5yYXRpbmdFbCgpLm5hdGl2ZUVsZW1lbnQsICdvcGFjaXR5Jyk7XG4gICAgfVxuXG4gICAgdGhpcy5jdXJyZW50VmFsdWUuc2V0KHRoaXMucHJldlN0YXRlLnByZXZpb3VzVmFsdWUpO1xuICAgIHRoaXMucHJldlN0YXRlID0ge1xuICAgICAgaXNob3ZlcjogZmFsc2UsXG4gICAgICBwcmV2aW91c1ZhbHVlOiB1bmRlZmluZWQsXG4gICAgfTtcblxuICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMuY29udGFpbmVyRWwoKS5uYXRpdmVFbGVtZW50O1xuICAgIGNvbnRhaW5lci5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCBtb3ZlTGlzdGVuZXIpO1xuICAgIGNvbnRhaW5lci5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgZW5kTGlzdGVuZXIpO1xuICAgIGNvbnRhaW5lci5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWxlYXZlJywgZW5kTGlzdGVuZXIpO1xuICB9XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgaWYgdGhlIGNvbXBvbmVudCBpcyBhY3RpdmUgKGkuZS4sIG5vdCByZWFkb25seSBvciBkaXNhYmxlZCkuXG4gICAqL1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmFjdGl2ZScpIGdldCBpc0FjdGl2ZSgpIHtcbiAgICByZXR1cm4gIXRoaXMucmVhZG9ubHkgJiYgIXRoaXMuZGlzYWJsZWQ7XG4gIH1cblxuICAvKipcbiAgICogRGV0ZXJtaW5lcyBpZiB0aGUgY29tcG9uZW50IGlzIGluIHJlYWRvbmx5IG1vZGUuXG4gICAqL1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnJlYWRvbmx5JykgZ2V0IGlzUmVhZG9ubHkoKSB7XG4gICAgcmV0dXJuIHRoaXMucmVhZG9ubHk7XG4gIH1cblxuICAvKipcbiAgICogRGV0ZXJtaW5lcyBpZiB0aGUgY29tcG9uZW50IGlzIGRpc2FibGVkLlxuICAgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5kaXNhYmxlJykgZ2V0IGlzRGlzYWJsZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZGlzYWJsZWQ7XG4gIH1cbn1cbiIsIjxkaXZcbiAgI2NcbiAgY2xhc3M9XCJheC1yYXRlLXBpY2tlci1jb250YWluZXJcIlxuICAoY2xpY2spPVwiY2FsY3VsYXRlUmF0ZSgkZXZlbnQpXCJcbiAgKHRvdWNoc3RhcnQpPVwiY2FsY3VsYXRlUmF0ZSgkZXZlbnQpXCJcbiAgKG1vdXNlZW50ZXIpPVwibW91c2VFbnRlcigpXCJcbiAgKG1vdXNlbGVhdmUpPVwibW91c2VMZWF2ZSgpXCJcbj5cbiAgPGRpdiAjciBjbGFzcz1cImF4LXJhdGUtcGlja2VyLXJhdGluZ1wiIFtzdHlsZS53aWR0aC4lXT1cInJhdGVQZXJjZW50YWdlKClcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYXgtcmF0ZS1waWNrZXItaWNvbnMgYXgtcnAtYWN0aXZlXCI+XG4gICAgICBAZm9yIChyYXRlIG9mIHJhdGVzKCk7IHRyYWNrIHJhdGUpIHtcbiAgICAgICAgPGkgY2xhc3M9XCJheC1yYXRlLXBpY2tlci1pY29uIGZhLXNvbGlkXCIgW2NsYXNzXT1cImljb25OYW1lKClcIiBbY2xhc3MucG9pbnRlcl09XCIhdGhpcy5yZWFkb25seVwiPjwvaT5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJheC1yYXRlLXBpY2tlci1pY29ucyBheC1ycC1pbmFjdGl2ZVwiPlxuICAgIEBmb3IgKHJhdGUgb2YgcmF0ZXMoKTsgdHJhY2sgcmF0ZSkge1xuICAgICAgPGkgY2xhc3M9XCJheC1yYXRlLXBpY2tlci1pY29uIGZhLXNvbGlkXCIgW2NsYXNzXT1cImljb25OYW1lKClcIj48L2k+XG4gICAgfVxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,18 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { AXRatePickerComponent } from './rate-picker.component';
4
+ import * as i0 from "@angular/core";
5
+ export class AXRatePickerModule {
6
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXRatePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: AXRatePickerModule, declarations: [AXRatePickerComponent], imports: [CommonModule], exports: [AXRatePickerComponent] }); }
8
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXRatePickerModule, imports: [CommonModule] }); }
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXRatePickerModule, decorators: [{
11
+ type: NgModule,
12
+ args: [{
13
+ declarations: [AXRatePickerComponent],
14
+ imports: [CommonModule],
15
+ exports: [AXRatePickerComponent],
16
+ }]
17
+ }] });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmF0ZS1waWNrZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3JhdGUtcGlja2VyL3NyYy9saWIvcmF0ZS1waWNrZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQU9oRSxNQUFNLE9BQU8sa0JBQWtCOzhHQUFsQixrQkFBa0I7K0dBQWxCLGtCQUFrQixpQkFKZCxxQkFBcUIsYUFDMUIsWUFBWSxhQUNaLHFCQUFxQjsrR0FFcEIsa0JBQWtCLFlBSG5CLFlBQVk7OzJGQUdYLGtCQUFrQjtrQkFMOUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztvQkFDckMsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixPQUFPLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztpQkFDakMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUmF0ZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vcmF0ZS1waWNrZXIuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbQVhSYXRlUGlja2VyQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGV4cG9ydHM6IFtBWFJhdGVQaWNrZXJDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBBWFJhdGVQaWNrZXJNb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNvbXBvbmVudHMtdGltZS1saW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RpbWUtbGluZS9zcmMvYWNvcmV4LWNvbXBvbmVudHMtdGltZS1saW5lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19