@acorex/components 18.12.44 → 18.14.1-next.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (105) hide show
  1. package/esm2022/alert/lib/alert.component.mjs +10 -14
  2. package/esm2022/avatar/lib/avatar.component.mjs +2 -2
  3. package/esm2022/calendar/lib/calendar.component.mjs +3 -3
  4. package/esm2022/common/lib/components/selection-base.component.class.mjs +2 -1
  5. package/esm2022/common/lib/components/value-component.class.mjs +5 -4
  6. package/esm2022/menu/lib/context-menu.component.mjs +2 -2
  7. package/esm2022/menu/lib/menu.component.mjs +2 -2
  8. package/esm2022/rate-picker/lib/rate-picker.component.mjs +2 -2
  9. package/esm2022/search-box/lib/search-box.component.mjs +3 -3
  10. package/esm2022/select-box/lib/select-box.component.mjs +2 -2
  11. package/esm2022/selection-list/lib/selection-list.component.mjs +39 -91
  12. package/esm2022/time-line/lib/time-line-item.component.mjs +3 -3
  13. package/esm2022/time-line/lib/time-line.component.mjs +18 -4
  14. package/esm2022/uploader/lib/uploader-zone.directive.mjs +2 -2
  15. package/fesm2022/acorex-components-action-sheet.mjs +1 -1
  16. package/fesm2022/acorex-components-alert.mjs +10 -14
  17. package/fesm2022/acorex-components-alert.mjs.map +1 -1
  18. package/fesm2022/acorex-components-audio-wave.mjs +1 -1
  19. package/fesm2022/acorex-components-avatar.mjs +3 -3
  20. package/fesm2022/acorex-components-avatar.mjs.map +1 -1
  21. package/fesm2022/acorex-components-badge.mjs +1 -1
  22. package/fesm2022/acorex-components-bottom-navigation.mjs +1 -1
  23. package/fesm2022/acorex-components-breadcrumbs.mjs +1 -1
  24. package/fesm2022/acorex-components-button-group.mjs +1 -1
  25. package/fesm2022/acorex-components-button.mjs +1 -1
  26. package/fesm2022/acorex-components-calendar.mjs +3 -3
  27. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  28. package/fesm2022/acorex-components-check-box.mjs +1 -1
  29. package/fesm2022/acorex-components-chips.mjs +1 -1
  30. package/fesm2022/acorex-components-circular-progress.mjs +1 -1
  31. package/fesm2022/acorex-components-collapse.mjs +1 -1
  32. package/fesm2022/acorex-components-color-box.mjs +1 -1
  33. package/fesm2022/acorex-components-color-palette.mjs +1 -1
  34. package/fesm2022/acorex-components-comment.mjs +1 -1
  35. package/fesm2022/acorex-components-common.mjs +6 -4
  36. package/fesm2022/acorex-components-common.mjs.map +1 -1
  37. package/fesm2022/acorex-components-conversation.mjs +1 -1
  38. package/fesm2022/acorex-components-data-pager.mjs +1 -1
  39. package/fesm2022/acorex-components-data-table.mjs +1 -1
  40. package/fesm2022/acorex-components-datetime-box.mjs +1 -1
  41. package/fesm2022/acorex-components-datetime-input.mjs +1 -1
  42. package/fesm2022/acorex-components-datetime-picker.mjs +1 -1
  43. package/fesm2022/acorex-components-decorators.mjs +1 -1
  44. package/fesm2022/acorex-components-dialog.mjs +1 -1
  45. package/fesm2022/acorex-components-drawer.mjs +1 -1
  46. package/fesm2022/acorex-components-dropdown-button.mjs +1 -1
  47. package/fesm2022/acorex-components-dropdown.mjs +1 -1
  48. package/fesm2022/acorex-components-form.mjs +1 -1
  49. package/fesm2022/acorex-components-image-editor.mjs +1 -1
  50. package/fesm2022/acorex-components-image.mjs +1 -1
  51. package/fesm2022/acorex-components-json-viewer.mjs +1 -1
  52. package/fesm2022/acorex-components-label.mjs +1 -1
  53. package/fesm2022/acorex-components-list.mjs +1 -1
  54. package/fesm2022/acorex-components-loading-dialog.mjs +1 -1
  55. package/fesm2022/acorex-components-loading.mjs +1 -1
  56. package/fesm2022/acorex-components-map.mjs +1 -1
  57. package/fesm2022/acorex-components-media-viewer.mjs +1 -1
  58. package/fesm2022/acorex-components-menu.mjs +5 -5
  59. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  60. package/fesm2022/acorex-components-nav.mjs +1 -1
  61. package/fesm2022/acorex-components-navbar.mjs +1 -1
  62. package/fesm2022/acorex-components-notification.mjs +1 -1
  63. package/fesm2022/acorex-components-number-box.mjs +1 -1
  64. package/fesm2022/acorex-components-otp.mjs +1 -1
  65. package/fesm2022/acorex-components-page.mjs +1 -1
  66. package/fesm2022/acorex-components-paint.mjs +1 -1
  67. package/fesm2022/acorex-components-password-box.mjs +1 -1
  68. package/fesm2022/acorex-components-phone-box.mjs +1 -1
  69. package/fesm2022/acorex-components-picker.mjs +1 -1
  70. package/fesm2022/acorex-components-popover.mjs +1 -1
  71. package/fesm2022/acorex-components-popup.mjs +1 -1
  72. package/fesm2022/acorex-components-progress-bar.mjs +1 -1
  73. package/fesm2022/acorex-components-qrcode.mjs +1 -1
  74. package/fesm2022/acorex-components-radio.mjs +1 -1
  75. package/fesm2022/acorex-components-range-slider.mjs +1 -1
  76. package/fesm2022/acorex-components-rate-picker.mjs +2 -2
  77. package/fesm2022/acorex-components-rate-picker.mjs.map +1 -1
  78. package/fesm2022/acorex-components-result.mjs +1 -1
  79. package/fesm2022/acorex-components-routing-progress.mjs +1 -1
  80. package/fesm2022/acorex-components-scheduler.mjs +1 -1
  81. package/fesm2022/acorex-components-search-box.mjs +3 -3
  82. package/fesm2022/acorex-components-search-box.mjs.map +1 -1
  83. package/fesm2022/acorex-components-select-box.mjs +2 -2
  84. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  85. package/fesm2022/acorex-components-selection-list.mjs +39 -91
  86. package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
  87. package/fesm2022/acorex-components-side-menu.mjs +1 -1
  88. package/fesm2022/acorex-components-skeleton.mjs +1 -1
  89. package/fesm2022/acorex-components-slider.mjs +1 -1
  90. package/fesm2022/acorex-components-step-wizard.mjs +1 -1
  91. package/fesm2022/acorex-components-switch.mjs +1 -1
  92. package/fesm2022/acorex-components-tabs.mjs +1 -1
  93. package/fesm2022/acorex-components-tag.mjs +1 -1
  94. package/fesm2022/acorex-components-text-area.mjs +1 -1
  95. package/fesm2022/acorex-components-text-box.mjs +1 -1
  96. package/fesm2022/acorex-components-time-line.mjs +19 -5
  97. package/fesm2022/acorex-components-time-line.mjs.map +1 -1
  98. package/fesm2022/acorex-components-toast.mjs +1 -1
  99. package/fesm2022/acorex-components-tooltip.mjs +1 -1
  100. package/fesm2022/acorex-components-uploader.mjs +2 -2
  101. package/fesm2022/acorex-components-uploader.mjs.map +1 -1
  102. package/fesm2022/acorex-components-wysiwyg.mjs +1 -1
  103. package/package.json +1 -1
  104. package/selection-list/lib/selection-list.component.d.ts +9 -37
  105. package/time-line/lib/time-line.component.d.ts +2 -0
@@ -1,6 +1,6 @@
1
1
  import { MXInteractiveComponent, MXBaseComponent, AXCommonModule } from '@acorex/components/common';
2
2
  import * as i0 from '@angular/core';
3
- import { EventEmitter, Component, ChangeDetectionStrategy, ViewEncapsulation, Output, Input, NgModule } from '@angular/core';
3
+ import { EventEmitter, Input, Output, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
4
4
  import { classes } from 'polytype';
5
5
  import { CommonModule } from '@angular/common';
6
6
 
@@ -1,6 +1,6 @@
1
1
  import { MXLookComponent } from '@acorex/components/common';
2
2
  import * as i0 from '@angular/core';
3
- import { Component, ChangeDetectionStrategy, ViewEncapsulation, HostBinding, NgModule } from '@angular/core';
3
+ import { HostBinding, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
4
4
  import { CommonModule } from '@angular/common';
5
5
 
6
6
  /**
@@ -4,7 +4,7 @@ import { DIALOG_DATA, Dialog, DialogModule } from '@angular/cdk/dialog';
4
4
  import * as i2 from '@angular/cdk/portal';
5
5
  import { TemplatePortal, ComponentPortal, PortalModule } from '@angular/cdk/portal';
6
6
  import * as i0 from '@angular/core';
7
- import { TemplateRef, Component, ChangeDetectionStrategy, ViewEncapsulation, Inject, HostBinding, InjectionToken, inject, Injectable, NgModule } from '@angular/core';
7
+ import { TemplateRef, HostBinding, Inject, ViewEncapsulation, ChangeDetectionStrategy, Component, InjectionToken, inject, Injectable, NgModule } from '@angular/core';
8
8
  import * as i3 from '@acorex/components/button';
9
9
  import { AXButtonModule } from '@acorex/components/button';
10
10
  import * as i4 from '@acorex/components/loading';
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { forwardRef, Component, ChangeDetectionStrategy, ViewEncapsulation, ViewChild, Input, HostListener, NgModule } from '@angular/core';
2
+ import { forwardRef, HostListener, ViewChild, Input, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
3
3
  import * as i2 from 'angular-imask';
4
4
  import { IMaskDirective, IMaskModule } from 'angular-imask';
5
5
  import { createMask } from 'imask';
@@ -1,6 +1,6 @@
1
1
  import { AXEvent, MXValueComponent, MXLookComponent } from '@acorex/components/common';
2
2
  import * as i0 from '@angular/core';
3
- import { model, output, signal, effect, forwardRef, Component, ChangeDetectionStrategy, ViewEncapsulation, NgModule } from '@angular/core';
3
+ import { model, output, signal, effect, forwardRef, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
4
4
  import * as i2 from '@angular/forms';
5
5
  import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
6
6
  import { classes } from 'polytype';
@@ -2,7 +2,7 @@ import { MXBaseComponent } from '@acorex/components/common';
2
2
  import '@acorex/components/decorators';
3
3
  import { AXLoadingService } from '@acorex/components/loading';
4
4
  import * as i0 from '@angular/core';
5
- import { inject, EventEmitter, Injectable, ViewChild, Output, Input, Inject, NgModule } from '@angular/core';
5
+ import { inject, EventEmitter, Input, Output, ViewChild, Injectable, Inject, NgModule } from '@angular/core';
6
6
 
7
7
  class AXBasePageComponent extends MXBaseComponent {
8
8
  constructor() {
@@ -12,7 +12,7 @@ import { AXSelectBoxModule } from '@acorex/components/select-box';
12
12
  import * as i3 from '@acorex/components/tooltip';
13
13
  import { AXTooltipModule } from '@acorex/components/tooltip';
14
14
  import * as i0 from '@angular/core';
15
- import { signal, Injectable, forwardRef, Component, ViewEncapsulation, inject, HostBinding, input, viewChild, afterNextRender, effect, NgModule } from '@angular/core';
15
+ import { signal, Injectable, forwardRef, ViewEncapsulation, Component, inject, HostBinding, input, viewChild, afterNextRender, effect, NgModule } from '@angular/core';
16
16
  import * as i1 from '@angular/forms';
17
17
  import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
18
18
  import { MXInputBaseValueComponent, MXLookComponent, AXComponent, AXFocusableComponent, AXClearableComponent, AXValuableComponent } from '@acorex/components/common';
@@ -1,6 +1,6 @@
1
1
  import { MXInputBaseValueComponent, MXLookComponent, AXComponent, AXFocusableComponent, AXClearableComponent, AXValuableComponent } from '@acorex/components/common';
2
2
  import * as i0 from '@angular/core';
3
- import { forwardRef, Component, ViewEncapsulation, ChangeDetectionStrategy, ViewChild, Input, NgModule } from '@angular/core';
3
+ import { forwardRef, Input, ViewChild, ChangeDetectionStrategy, ViewEncapsulation, Component, NgModule } from '@angular/core';
4
4
  import * as i1 from '@angular/forms';
5
5
  import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
6
6
  import { classes } from 'polytype';
@@ -3,7 +3,7 @@ import * as i6 from '@acorex/components/text-box';
3
3
  import { AXTextBoxComponent, AXTextBoxModule } from '@acorex/components/text-box';
4
4
  import { COUNTRIES } from '@acorex/core/common';
5
5
  import * as i0 from '@angular/core';
6
- import { input, signal, afterNextRender, forwardRef, Component, ChangeDetectionStrategy, ViewEncapsulation, ViewChild, Input, NgModule } from '@angular/core';
6
+ import { input, signal, afterNextRender, forwardRef, Input, ViewChild, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
7
7
  import * as i2 from '@angular/forms';
8
8
  import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
9
9
  import { filter } from 'lodash-es';
@@ -1,6 +1,6 @@
1
1
  import { MXValueComponent, MXBaseComponent } from '@acorex/components/common';
2
2
  import * as i0 from '@angular/core';
3
- import { EventEmitter, forwardRef, Directive, Input, Output, inject, NgZone, Component, ChangeDetectionStrategy, ViewEncapsulation, ContentChildren, NgModule } from '@angular/core';
3
+ import { EventEmitter, forwardRef, Input, Output, Directive, inject, NgZone, ContentChildren, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
4
4
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
5
5
  import { AXUnsubscriber, AXDrawingUtil } from '@acorex/core/utils';
6
6
  import { startWith } from 'rxjs';
@@ -4,7 +4,7 @@ import { AXHtmlUtil } from '@acorex/core/utils';
4
4
  import { Overlay } from '@angular/cdk/overlay';
5
5
  import { TemplatePortal, ComponentPortal } from '@angular/cdk/portal';
6
6
  import * as i0 from '@angular/core';
7
- import { inject, EventEmitter, ElementRef, TemplateRef, Component, ViewEncapsulation, ChangeDetectionStrategy, Input, ViewChild, Output, NgModule } from '@angular/core';
7
+ import { inject, EventEmitter, ElementRef, TemplateRef, Output, Input, ViewChild, ChangeDetectionStrategy, ViewEncapsulation, Component, NgModule } from '@angular/core';
8
8
  import { fromEvent, delay } from 'rxjs';
9
9
  import { CommonModule } from '@angular/common';
10
10
 
@@ -3,7 +3,7 @@ import { AXPlatform } from '@acorex/core/platform';
3
3
  import * as i6 from '@angular/cdk/portal';
4
4
  import { TemplatePortal, ComponentPortal, PortalModule } from '@angular/cdk/portal';
5
5
  import * as i0 from '@angular/core';
6
- import { TemplateRef, Component, ChangeDetectionStrategy, ViewEncapsulation, Inject, HostListener, inject, Injectable, NgModule } from '@angular/core';
6
+ import { TemplateRef, HostListener, Inject, ViewEncapsulation, ChangeDetectionStrategy, Component, inject, Injectable, NgModule } from '@angular/core';
7
7
  import { MXBaseComponent, AXClosbaleComponent, AXComponentClosedPromise, AXCommonModule } from '@acorex/components/common';
8
8
  import * as i1 from '@acorex/components/loading';
9
9
  import * as i3 from '@angular/cdk/dialog';
@@ -1,6 +1,6 @@
1
1
  import { MXColorComponent } from '@acorex/components/common';
2
2
  import * as i0 from '@angular/core';
3
- import { EventEmitter, Component, ChangeDetectionStrategy, ViewEncapsulation, ViewChild, Output, Input, HostBinding, NgModule } from '@angular/core';
3
+ import { EventEmitter, HostBinding, Input, Output, ViewChild, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
4
4
  import { CommonModule } from '@angular/common';
5
5
 
6
6
  class AXProgressBarComponent extends MXColorComponent {
@@ -1,7 +1,7 @@
1
1
  import { generateQRCode } from '@acorex/cdk/qrcode';
2
2
  import { AXValuableComponent } from '@acorex/components/common';
3
3
  import * as i0 from '@angular/core';
4
- import { input, signal, viewChild, effect, forwardRef, Component, ViewEncapsulation, ChangeDetectionStrategy, NgModule } from '@angular/core';
4
+ import { input, signal, viewChild, effect, forwardRef, ChangeDetectionStrategy, ViewEncapsulation, Component, NgModule } from '@angular/core';
5
5
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
6
6
  import { CommonModule } from '@angular/common';
7
7
 
@@ -1,7 +1,7 @@
1
1
  import { MXValueComponent } from '@acorex/components/common';
2
2
  import { AXLabelComponent } from '@acorex/components/label';
3
3
  import * as i0 from '@angular/core';
4
- import { forwardRef, Component, ChangeDetectionStrategy, ViewEncapsulation, ContentChildren, HostListener, NgModule } from '@angular/core';
4
+ import { forwardRef, HostListener, ContentChildren, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
5
5
  import * as i1 from '@angular/forms';
6
6
  import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
7
7
  import { CommonModule } from '@angular/common';
@@ -1,6 +1,6 @@
1
1
  import { MXValueComponent, AXValuableComponent } from '@acorex/components/common';
2
2
  import * as i0 from '@angular/core';
3
- import { inject, NgZone, input, model, computed, effect, forwardRef, Component, ViewEncapsulation, ChangeDetectionStrategy, HostListener, HostBinding, NgModule } from '@angular/core';
3
+ import { inject, NgZone, input, model, computed, effect, forwardRef, HostBinding, HostListener, ChangeDetectionStrategy, ViewEncapsulation, Component, NgModule } from '@angular/core';
4
4
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
5
5
  import { classes } from 'polytype';
6
6
  import * as i1 from '@angular/common';
@@ -1,6 +1,6 @@
1
1
  import { MXValueComponent, AXValuableComponent } from '@acorex/components/common';
2
2
  import * as i0 from '@angular/core';
3
- import { input, computed, signal, viewChild, inject, Renderer2, effect, forwardRef, Component, ViewEncapsulation, ChangeDetectionStrategy, HostBinding, NgModule } from '@angular/core';
3
+ import { input, computed, signal, viewChild, inject, Renderer2, effect, forwardRef, HostBinding, ChangeDetectionStrategy, ViewEncapsulation, Component, NgModule } from '@angular/core';
4
4
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
5
5
  import { CommonModule } from '@angular/common';
6
6
 
@@ -165,7 +165,7 @@ class AXRatePickerComponent extends MXValueComponent {
165
165
  if (!this.readonly && !this.disabled) {
166
166
  const pointerPercentage = getPointerPercentage(event);
167
167
  if (pointerPercentage === -1) {
168
- return console.log('Only support touch and click events.');
168
+ return console.warn('Only support touch and click events.');
169
169
  }
170
170
  const value = this.roundToStep(pointerPercentage);
171
171
  if (this.prevState.ishover === true) {
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-rate-picker.mjs","sources":["../../../../libs/components/rate-picker/src/lib/calculatePercentage.ts","../../../../libs/components/rate-picker/src/lib/rate-picker.component.ts","../../../../libs/components/rate-picker/src/lib/rate-picker.component.html","../../../../libs/components/rate-picker/src/lib/rate-picker.module.ts","../../../../libs/components/rate-picker/src/acorex-components-rate-picker.ts"],"sourcesContent":["/**\n * Calculates the horizontal position of a pointer event (mouse or touch) as a percentage\n * of the target element's width.\n *\n * @param event - The mouse or touch event to get the pointer position from.\n * @returns The percentage of the event's position relative to the target element's width,\n * or -1 if the event is invalid.\n *\n * @remarks\n * - For `MouseEvent`, it uses the `clientX` property.\n * - For `TouchEvent`, it uses the `clientX` of the first touch point.\n * - Returns `-1` if the event is neither a valid `MouseEvent` nor a `TouchEvent`.\n *\n * @example\n * ```typescript\n * document.addEventListener('click', function(event) {\n * const percentage = getPointerPercentage(event);\n * console.log(`Click position: ${percentage.toFixed(2)}% of the element's width`);\n * });\n *\n * document.addEventListener('touchstart', function(event) {\n * const percentage = getPointerPercentage(event);\n * console.log(`Touch position: ${percentage.toFixed(2)}% of the element's width`);\n * });\n * ```\n */\nexport function getPointerPercentage(event: MouseEvent | TouchEvent): number {\n let clientX: number;\n\n if (event instanceof MouseEvent) {\n clientX = event.clientX; // Mouse event uses clientX\n } else if (event instanceof TouchEvent && event.touches.length > 0) {\n clientX = event.touches[0].clientX; // Touch event uses the first touch's clientX\n } else {\n return -1; // Return -1 for invalid events\n }\n\n // Use currentTarget to get the bounding box of the element the event listener is attached to\n const rect = (event.currentTarget as HTMLElement).getBoundingClientRect();\n const clickX = clientX - rect.left; // Calculate X position relative to the element\n const divWidth = rect.width; // Get the width from the bounding box\n const percentage = (clickX / divWidth) * 100; // Calculate percentage\n\n return percentage;\n}\n","import { AXValuableComponent, MXValueComponent } from '@acorex/components/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n effect,\n ElementRef,\n forwardRef,\n HostBinding,\n inject,\n input,\n Renderer2,\n signal,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { getPointerPercentage } from './calculatePercentage';\n\n/**\n * @description\n * The `AXRatePickerComponent` provides a customizable rating picker.\n * The component allows users to select a rating between 0 and the defined maximum.\n * It supports transitions, dynamic value changes, and hover states.\n *\n * @example\n * <ax-rate-picker [max]=\"5\" [readonly]=\"false\" [disabled]=\"false\"></ax-rate-picker>\n */\n@Component({\n selector: 'ax-rate-picker',\n templateUrl: './rate-picker.component.html',\n styleUrls: ['./rate-picker.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n inputs: ['readonly', 'disabled'],\n providers: [\n { provide: AXValuableComponent, useExisting: AXRatePickerComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXRatePickerComponent),\n multi: true,\n },\n ],\n})\nexport class AXRatePickerComponent extends MXValueComponent<number> {\n /**\n * @description\n * The icon to be used for each rating point.\n * @default 'fa-star'\n */\n iconName = input('fa-star');\n\n /**\n * @description\n * Maximum value for the rating.\n * Defines how many rating points are available.\n * @default 5\n */\n max = input(5);\n\n /**\n * @description\n * Defines the step increment between rating values.\n * The rating value will be rounded to the nearest multiple of this step.\n * @default 0.01\n */\n step = input(0.01);\n\n /**\n * @description\n * Whether the rating should have a transition effect when changing values.\n * @default true\n */\n hasTransition = input(true);\n\n /**\n * @description\n * The percentage of the current rating value relative to the maximum rating.\n */\n protected ratePercentage = computed(() => Math.round((this.currentValue() / this.max()) * 10000) / 100);\n\n /**\n * @description\n * The current rating value as a signal.\n */\n private currentValue = signal(this.max());\n\n /**\n * @description\n * State for tracking hover status and previous value.\n */\n private prevState: { ishover: boolean; previousValue?: number } = {\n ishover: false,\n previousValue: undefined,\n };\n\n /**\n * @description\n * Reference to the container element.\n */\n containerEl = viewChild.required<ElementRef>('c');\n\n /**\n * @description\n * Reference to the rating element.\n */\n ratingEl = viewChild.required<ElementRef>('r');\n\n /**\n * @description\n * Renderer for manipulating styles.\n */\n renderer = inject(Renderer2);\n\n /**\n * @description\n * Array of rating values from 1 to `max`.\n */\n protected rates = computed(() =>\n Array(this.max())\n .fill(0)\n .map((_, index) => index + 1),\n );\n\n /**\n * @description\n * Initializes the component and sets up value change subscription.\n */\n constructor() {\n super();\n effect(() => {\n if (!this.hasTransition()) {\n this.renderer.removeStyle(this.ratingEl().nativeElement, 'transition');\n }\n return this.hasTransition();\n });\n this.onValueChanged.subscribe((val: { value }) => {\n if (val.value < 0) {\n this.currentValue.set(0);\n console.warn('ax-rate-picker: value cant be negative!');\n } else if (val.value > this.max()) {\n this.currentValue.set(this.max());\n console.warn('ax-rate-picker: value cant be more than max!');\n } else {\n this.currentValue.set(val.value);\n }\n });\n }\n\n /**\n * @description\n * Calculates and updates the rating based on the mouse or touch event.\n *\n * @param event - The mouse or touch event triggering the rating calculation.\n */\n protected calculateRate(event: MouseEvent | TouchEvent): void {\n if (this.hasTransition()) {\n this.renderer.removeStyle(this.ratingEl().nativeElement, 'transition');\n }\n event.preventDefault();\n if (!this.readonly && !this.disabled) {\n const pointerPercentage = getPointerPercentage(event);\n if (pointerPercentage === -1) {\n return console.log('Only support touch and click events.');\n }\n const value = this.roundToStep(pointerPercentage);\n if (this.prevState.ishover === true) {\n this.currentValue.set(value);\n } else {\n this.commitValue(value);\n }\n }\n }\n\n /**\n * @description\n * Rounds the rating value to the nearest step.\n *\n * @param percentage - The calculated percentage from pointer event.\n * @returns The rounded rating value.\n */\n private roundToStep(percentage: number): number {\n const value = (percentage / 100) * this.max();\n const value2 = Math.round(value / (this.step() || 0.01)) * this.step();\n return value2;\n }\n\n /**\n * @description\n * Handles mouse enter events to start tracking mouse movements for rating.\n */\n protected mouseEnter() {\n this.prevState = {\n ishover: true,\n previousValue: this.value,\n };\n if (this.hasTransition()) {\n this.renderer.setStyle(this.ratingEl().nativeElement, 'opacity', '80%');\n }\n const moveListener = (moveEvent: MouseEvent | TouchEvent) => this.calculateRate(moveEvent);\n const endListener = () => this.onEnd(moveListener, endListener);\n const container = this.containerEl().nativeElement;\n container.addEventListener('mousemove', moveListener);\n container.addEventListener('mouseup', endListener);\n container.addEventListener('mouseleave', endListener);\n }\n\n /**\n * @description\n * Handles mouse leave events to reset styles.\n */\n mouseLeave() {\n if (this.hasTransition()) {\n this.renderer.removeStyle(this.ratingEl().nativeElement, 'opacity');\n }\n }\n\n /**\n * @description\n * Cleans up event listeners and restores the previous rating value.\n *\n * @param moveListener - The function to remove for mouse move events.\n * @param endListener - The function to remove for mouse end events.\n */\n private onEnd(moveListener: (event: MouseEvent | TouchEvent) => void, endListener: () => void): void {\n if (this.hasTransition()) {\n this.renderer.setStyle(\n this.ratingEl().nativeElement,\n 'transition',\n `width ${this.max() * 50 + 250}ms cubic-bezier(0.29, 0.72, 0.68, 0.85)`,\n );\n this.renderer.removeStyle(this.ratingEl().nativeElement, 'opacity');\n }\n this.currentValue.set(this.prevState.previousValue);\n this.prevState = {\n ishover: false,\n previousValue: undefined,\n };\n const container = this.containerEl().nativeElement;\n container.removeEventListener('mousemove', moveListener);\n container.removeEventListener('mouseup', endListener);\n container.removeEventListener('mouseleave', endListener);\n }\n\n /**\n * @description\n * Determines if the component is active (i.e., not readonly or disabled).\n */\n @HostBinding('class.active') get isActive() {\n return !this.readonly && !this.disabled;\n }\n\n /**\n * @description\n * Determines if the component is in readonly mode.\n */\n @HostBinding('class.readonly') get isReadonly() {\n return this.readonly;\n }\n\n /**\n * @description\n * Determines if the component is disabled.\n */\n @HostBinding('class.disable') get isDisabled() {\n return this.disabled;\n }\n}\n","<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","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXRatePickerComponent } from './rate-picker.component';\n\n@NgModule({\n declarations: [AXRatePickerComponent],\n imports: [CommonModule],\n exports: [AXRatePickerComponent],\n})\nexport class AXRatePickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-rate-picker.mjs","sources":["../../../../libs/components/rate-picker/src/lib/calculatePercentage.ts","../../../../libs/components/rate-picker/src/lib/rate-picker.component.ts","../../../../libs/components/rate-picker/src/lib/rate-picker.component.html","../../../../libs/components/rate-picker/src/lib/rate-picker.module.ts","../../../../libs/components/rate-picker/src/acorex-components-rate-picker.ts"],"sourcesContent":["/**\n * Calculates the horizontal position of a pointer event (mouse or touch) as a percentage\n * of the target element's width.\n *\n * @param event - The mouse or touch event to get the pointer position from.\n * @returns The percentage of the event's position relative to the target element's width,\n * or -1 if the event is invalid.\n *\n * @remarks\n * - For `MouseEvent`, it uses the `clientX` property.\n * - For `TouchEvent`, it uses the `clientX` of the first touch point.\n * - Returns `-1` if the event is neither a valid `MouseEvent` nor a `TouchEvent`.\n *\n * @example\n * ```typescript\n * document.addEventListener('click', function(event) {\n * const percentage = getPointerPercentage(event);\n * console.log(`Click position: ${percentage.toFixed(2)}% of the element's width`);\n * });\n *\n * document.addEventListener('touchstart', function(event) {\n * const percentage = getPointerPercentage(event);\n * console.log(`Touch position: ${percentage.toFixed(2)}% of the element's width`);\n * });\n * ```\n */\nexport function getPointerPercentage(event: MouseEvent | TouchEvent): number {\n let clientX: number;\n\n if (event instanceof MouseEvent) {\n clientX = event.clientX; // Mouse event uses clientX\n } else if (event instanceof TouchEvent && event.touches.length > 0) {\n clientX = event.touches[0].clientX; // Touch event uses the first touch's clientX\n } else {\n return -1; // Return -1 for invalid events\n }\n\n // Use currentTarget to get the bounding box of the element the event listener is attached to\n const rect = (event.currentTarget as HTMLElement).getBoundingClientRect();\n const clickX = clientX - rect.left; // Calculate X position relative to the element\n const divWidth = rect.width; // Get the width from the bounding box\n const percentage = (clickX / divWidth) * 100; // Calculate percentage\n\n return percentage;\n}\n","import { AXValuableComponent, MXValueComponent } from '@acorex/components/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n effect,\n ElementRef,\n forwardRef,\n HostBinding,\n inject,\n input,\n Renderer2,\n signal,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { getPointerPercentage } from './calculatePercentage';\n\n/**\n * @description\n * The `AXRatePickerComponent` provides a customizable rating picker.\n * The component allows users to select a rating between 0 and the defined maximum.\n * It supports transitions, dynamic value changes, and hover states.\n *\n * @example\n * <ax-rate-picker [max]=\"5\" [readonly]=\"false\" [disabled]=\"false\"></ax-rate-picker>\n */\n@Component({\n selector: 'ax-rate-picker',\n templateUrl: './rate-picker.component.html',\n styleUrls: ['./rate-picker.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n inputs: ['readonly', 'disabled'],\n providers: [\n { provide: AXValuableComponent, useExisting: AXRatePickerComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXRatePickerComponent),\n multi: true,\n },\n ],\n})\nexport class AXRatePickerComponent extends MXValueComponent<number> {\n /**\n * @description\n * The icon to be used for each rating point.\n * @default 'fa-star'\n */\n iconName = input('fa-star');\n\n /**\n * @description\n * Maximum value for the rating.\n * Defines how many rating points are available.\n * @default 5\n */\n max = input(5);\n\n /**\n * @description\n * Defines the step increment between rating values.\n * The rating value will be rounded to the nearest multiple of this step.\n * @default 0.01\n */\n step = input(0.01);\n\n /**\n * @description\n * Whether the rating should have a transition effect when changing values.\n * @default true\n */\n hasTransition = input(true);\n\n /**\n * @description\n * The percentage of the current rating value relative to the maximum rating.\n */\n protected ratePercentage = computed(() => Math.round((this.currentValue() / this.max()) * 10000) / 100);\n\n /**\n * @description\n * The current rating value as a signal.\n */\n private currentValue = signal(this.max());\n\n /**\n * @description\n * State for tracking hover status and previous value.\n */\n private prevState: { ishover: boolean; previousValue?: number } = {\n ishover: false,\n previousValue: undefined,\n };\n\n /**\n * @description\n * Reference to the container element.\n */\n containerEl = viewChild.required<ElementRef>('c');\n\n /**\n * @description\n * Reference to the rating element.\n */\n ratingEl = viewChild.required<ElementRef>('r');\n\n /**\n * @description\n * Renderer for manipulating styles.\n */\n renderer = inject(Renderer2);\n\n /**\n * @description\n * Array of rating values from 1 to `max`.\n */\n protected rates = computed(() =>\n Array(this.max())\n .fill(0)\n .map((_, index) => index + 1),\n );\n\n /**\n * @description\n * Initializes the component and sets up value change subscription.\n */\n constructor() {\n super();\n effect(() => {\n if (!this.hasTransition()) {\n this.renderer.removeStyle(this.ratingEl().nativeElement, 'transition');\n }\n return this.hasTransition();\n });\n this.onValueChanged.subscribe((val: { value }) => {\n if (val.value < 0) {\n this.currentValue.set(0);\n console.warn('ax-rate-picker: value cant be negative!');\n } else if (val.value > this.max()) {\n this.currentValue.set(this.max());\n console.warn('ax-rate-picker: value cant be more than max!');\n } else {\n this.currentValue.set(val.value);\n }\n });\n }\n\n /**\n * @description\n * Calculates and updates the rating based on the mouse or touch event.\n *\n * @param event - The mouse or touch event triggering the rating calculation.\n */\n protected calculateRate(event: MouseEvent | TouchEvent): void {\n if (this.hasTransition()) {\n this.renderer.removeStyle(this.ratingEl().nativeElement, 'transition');\n }\n event.preventDefault();\n if (!this.readonly && !this.disabled) {\n const pointerPercentage = getPointerPercentage(event);\n if (pointerPercentage === -1) {\n return console.warn('Only support touch and click events.');\n }\n const value = this.roundToStep(pointerPercentage);\n if (this.prevState.ishover === true) {\n this.currentValue.set(value);\n } else {\n this.commitValue(value);\n }\n }\n }\n\n /**\n * @description\n * Rounds the rating value to the nearest step.\n *\n * @param percentage - The calculated percentage from pointer event.\n * @returns The rounded rating value.\n */\n private roundToStep(percentage: number): number {\n const value = (percentage / 100) * this.max();\n const value2 = Math.round(value / (this.step() || 0.01)) * this.step();\n return value2;\n }\n\n /**\n * @description\n * Handles mouse enter events to start tracking mouse movements for rating.\n */\n protected mouseEnter() {\n this.prevState = {\n ishover: true,\n previousValue: this.value,\n };\n if (this.hasTransition()) {\n this.renderer.setStyle(this.ratingEl().nativeElement, 'opacity', '80%');\n }\n const moveListener = (moveEvent: MouseEvent | TouchEvent) => this.calculateRate(moveEvent);\n const endListener = () => this.onEnd(moveListener, endListener);\n const container = this.containerEl().nativeElement;\n container.addEventListener('mousemove', moveListener);\n container.addEventListener('mouseup', endListener);\n container.addEventListener('mouseleave', endListener);\n }\n\n /**\n * @description\n * Handles mouse leave events to reset styles.\n */\n mouseLeave() {\n if (this.hasTransition()) {\n this.renderer.removeStyle(this.ratingEl().nativeElement, 'opacity');\n }\n }\n\n /**\n * @description\n * Cleans up event listeners and restores the previous rating value.\n *\n * @param moveListener - The function to remove for mouse move events.\n * @param endListener - The function to remove for mouse end events.\n */\n private onEnd(moveListener: (event: MouseEvent | TouchEvent) => void, endListener: () => void): void {\n if (this.hasTransition()) {\n this.renderer.setStyle(\n this.ratingEl().nativeElement,\n 'transition',\n `width ${this.max() * 50 + 250}ms cubic-bezier(0.29, 0.72, 0.68, 0.85)`,\n );\n this.renderer.removeStyle(this.ratingEl().nativeElement, 'opacity');\n }\n this.currentValue.set(this.prevState.previousValue);\n this.prevState = {\n ishover: false,\n previousValue: undefined,\n };\n const container = this.containerEl().nativeElement;\n container.removeEventListener('mousemove', moveListener);\n container.removeEventListener('mouseup', endListener);\n container.removeEventListener('mouseleave', endListener);\n }\n\n /**\n * @description\n * Determines if the component is active (i.e., not readonly or disabled).\n */\n @HostBinding('class.active') get isActive() {\n return !this.readonly && !this.disabled;\n }\n\n /**\n * @description\n * Determines if the component is in readonly mode.\n */\n @HostBinding('class.readonly') get isReadonly() {\n return this.readonly;\n }\n\n /**\n * @description\n * Determines if the component is disabled.\n */\n @HostBinding('class.disable') get isDisabled() {\n return this.disabled;\n }\n}\n","<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","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXRatePickerComponent } from './rate-picker.component';\n\n@NgModule({\n declarations: [AXRatePickerComponent],\n imports: [CommonModule],\n exports: [AXRatePickerComponent],\n})\nexport class AXRatePickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;AAyBG;AACG,SAAU,oBAAoB,CAAC,KAA8B,EAAA;AACjE,IAAA,IAAI,OAAe;AAEnB,IAAA,IAAI,KAAK,YAAY,UAAU,EAAE;AAC/B,QAAA,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;;AACnB,SAAA,IAAI,KAAK,YAAY,UAAU,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;QAClE,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;;SAC9B;AACL,QAAA,OAAO,CAAC,CAAC,CAAC;;;IAIZ,MAAM,IAAI,GAAI,KAAK,CAAC,aAA6B,CAAC,qBAAqB,EAAE;IACzE,MAAM,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;AACnC,IAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;IAC5B,MAAM,UAAU,GAAG,CAAC,MAAM,GAAG,QAAQ,IAAI,GAAG,CAAC;AAE7C,IAAA,OAAO,UAAU;AACnB;;ACzBA;;;;;;;;AAQG;AAiBG,MAAO,qBAAsB,SAAQ,gBAAwB,CAAA;AAgFjE;;;AAGG;AACH,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE;AApFT;;;;AAIG;AACH,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC;AAE3B;;;;;AAKG;AACH,QAAA,IAAA,CAAA,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC;AAEd;;;;;AAKG;AACH,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;AAElB;;;;AAIG;AACH,QAAA,IAAA,CAAA,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC;AAE3B;;;AAGG;QACO,IAAc,CAAA,cAAA,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,KAAK,CAAC,GAAG,GAAG,CAAC;AAEvG;;;AAGG;QACK,IAAY,CAAA,YAAA,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;AAEzC;;;AAGG;AACK,QAAA,IAAA,CAAA,SAAS,GAAiD;AAChE,YAAA,OAAO,EAAE,KAAK;AACd,YAAA,aAAa,EAAE,SAAS;SACzB;AAED;;;AAGG;AACH,QAAA,IAAA,CAAA,WAAW,GAAG,SAAS,CAAC,QAAQ,CAAa,GAAG,CAAC;AAEjD;;;AAGG;AACH,QAAA,IAAA,CAAA,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAa,GAAG,CAAC;AAE9C;;;AAGG;AACH,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;AAE5B;;;AAGG;AACO,QAAA,IAAA,CAAA,KAAK,GAAG,QAAQ,CAAC,MACzB,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE;aACb,IAAI,CAAC,CAAC;AACN,aAAA,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,KAAK,GAAG,CAAC,CAAC,CAChC;QAQC,MAAM,CAAC,MAAK;AACV,YAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE;AACzB,gBAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,aAAa,EAAE,YAAY,CAAC;;AAExE,YAAA,OAAO,IAAI,CAAC,aAAa,EAAE;AAC7B,SAAC,CAAC;QACF,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,GAAc,KAAI;AAC/C,YAAA,IAAI,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE;AACjB,gBAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;AACxB,gBAAA,OAAO,CAAC,IAAI,CAAC,yCAAyC,CAAC;;iBAClD,IAAI,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE;gBACjC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;AACjC,gBAAA,OAAO,CAAC,IAAI,CAAC,8CAA8C,CAAC;;iBACvD;gBACL,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC;;AAEpC,SAAC,CAAC;;AAGJ;;;;;AAKG;AACO,IAAA,aAAa,CAAC,KAA8B,EAAA;AACpD,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE;AACxB,YAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,aAAa,EAAE,YAAY,CAAC;;QAExE,KAAK,CAAC,cAAc,EAAE;QACtB,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AACpC,YAAA,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,KAAK,CAAC;AACrD,YAAA,IAAI,iBAAiB,KAAK,CAAC,CAAC,EAAE;AAC5B,gBAAA,OAAO,OAAO,CAAC,IAAI,CAAC,sCAAsC,CAAC;;YAE7D,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC;YACjD,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,KAAK,IAAI,EAAE;AACnC,gBAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC;;iBACvB;AACL,gBAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;;;;AAK7B;;;;;;AAMG;AACK,IAAA,WAAW,CAAC,UAAkB,EAAA;AACpC,QAAA,MAAM,KAAK,GAAG,CAAC,UAAU,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE;QAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE;AACtE,QAAA,OAAO,MAAM;;AAGf;;;AAGG;IACO,UAAU,GAAA;QAClB,IAAI,CAAC,SAAS,GAAG;AACf,YAAA,OAAO,EAAE,IAAI;YACb,aAAa,EAAE,IAAI,CAAC,KAAK;SAC1B;AACD,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE;AACxB,YAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE,KAAK,CAAC;;AAEzE,QAAA,MAAM,YAAY,GAAG,CAAC,SAAkC,KAAK,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;AAC1F,QAAA,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,WAAW,CAAC;QAC/D,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,aAAa;AAClD,QAAA,SAAS,CAAC,gBAAgB,CAAC,WAAW,EAAE,YAAY,CAAC;AACrD,QAAA,SAAS,CAAC,gBAAgB,CAAC,SAAS,EAAE,WAAW,CAAC;AAClD,QAAA,SAAS,CAAC,gBAAgB,CAAC,YAAY,EAAE,WAAW,CAAC;;AAGvD;;;AAGG;IACH,UAAU,GAAA;AACR,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE;AACxB,YAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC;;;AAIvE;;;;;;AAMG;IACK,KAAK,CAAC,YAAsD,EAAE,WAAuB,EAAA;AAC3F,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE;YACxB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CACpB,IAAI,CAAC,QAAQ,EAAE,CAAC,aAAa,EAC7B,YAAY,EACZ,CAAA,MAAA,EAAS,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAyC,uCAAA,CAAA,CACxE;AACD,YAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC;;QAErE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC;QACnD,IAAI,CAAC,SAAS,GAAG;AACf,YAAA,OAAO,EAAE,KAAK;AACd,YAAA,aAAa,EAAE,SAAS;SACzB;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,aAAa;AAClD,QAAA,SAAS,CAAC,mBAAmB,CAAC,WAAW,EAAE,YAAY,CAAC;AACxD,QAAA,SAAS,CAAC,mBAAmB,CAAC,SAAS,EAAE,WAAW,CAAC;AACrD,QAAA,SAAS,CAAC,mBAAmB,CAAC,YAAY,EAAE,WAAW,CAAC;;AAG1D;;;AAGG;AACH,IAAA,IAAiC,QAAQ,GAAA;QACvC,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ;;AAGzC;;;AAGG;AACH,IAAA,IAAmC,UAAU,GAAA;QAC3C,OAAO,IAAI,CAAC,QAAQ;;AAGtB;;;AAGG;AACH,IAAA,IAAkC,UAAU,GAAA;QAC1C,OAAO,IAAI,CAAC,QAAQ;;8GA7NX,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,EATrB,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,cAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACT,YAAA,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,qBAAqB,EAAE;AACpE,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,qBAAqB,CAAC;AACpD,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,aAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,GAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,GAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC1CH,otBAqBA,EAAA,MAAA,EAAA,CAAA,uuCAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FDuBa,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAhBjC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,EAGX,aAAA,EAAA,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM,EAAA,MAAA,EACvC,CAAC,UAAU,EAAE,UAAU,CAAC,EACrB,SAAA,EAAA;AACT,wBAAA,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,uBAAuB,EAAE;AACpE,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,2BAA2B,CAAC;AACpD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,QAAA,EAAA,otBAAA,EAAA,MAAA,EAAA,CAAA,uuCAAA,CAAA,EAAA;wDA8MgC,QAAQ,EAAA,CAAA;sBAAxC,WAAW;uBAAC,cAAc;gBAQQ,UAAU,EAAA,CAAA;sBAA5C,WAAW;uBAAC,gBAAgB;gBAQK,UAAU,EAAA,CAAA;sBAA3C,WAAW;uBAAC,eAAe;;;ME/PjB,kBAAkB,CAAA;8GAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,EAJd,YAAA,EAAA,CAAA,qBAAqB,CAC1B,EAAA,OAAA,EAAA,CAAA,YAAY,aACZ,qBAAqB,CAAA,EAAA,CAAA,CAAA;AAEpB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,YAHnB,YAAY,CAAA,EAAA,CAAA,CAAA;;2FAGX,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAL9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,qBAAqB,CAAC;oBACrC,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,qBAAqB,CAAC;AACjC,iBAAA;;;ACRD;;AAEG;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { MXBaseComponent } from '@acorex/components/common';
2
2
  import * as i0 from '@angular/core';
3
- import { Component, ChangeDetectionStrategy, ViewEncapsulation, Input, HostBinding, NgModule } from '@angular/core';
3
+ import { HostBinding, Input, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
4
4
  import { CommonModule } from '@angular/common';
5
5
 
6
6
  /**
@@ -1,6 +1,6 @@
1
1
  import { MXBaseComponent } from '@acorex/components/common';
2
2
  import * as i0 from '@angular/core';
3
- import { Component, ChangeDetectionStrategy, ViewEncapsulation, NgModule } from '@angular/core';
3
+ import { ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
4
4
  import * as i1 from '@angular/router';
5
5
  import { NavigationError, NavigationCancel, NavigationEnd, NavigationStart } from '@angular/router';
6
6
  import { interval, delay } from 'rxjs';
@@ -2,7 +2,7 @@ import { MXBaseComponent } from '@acorex/components/common';
2
2
  import { AXDateTimeRange, AXCalendarService, AXDateTimeModule } from '@acorex/core/date-time';
3
3
  import { AXPlatform } from '@acorex/core/platform';
4
4
  import * as i0 from '@angular/core';
5
- import { inject, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, NgModule } from '@angular/core';
5
+ import { inject, Input, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
6
6
  import * as i1 from '@angular/common';
7
7
  import { CommonModule } from '@angular/common';
8
8
  import * as i2 from '@acorex/components/button';
@@ -1,7 +1,7 @@
1
1
  import * as i2 from '@acorex/components/common';
2
2
  import { MXInputBaseValueComponent, MXLookComponent, AXSearchableComponent, AXComponent, AXFocusableComponent, AXClearableComponent, AXValuableComponent, AXNgModelDelayedValueChangedDirective } from '@acorex/components/common';
3
3
  import * as i0 from '@angular/core';
4
- import { forwardRef, Component, ChangeDetectionStrategy, ViewEncapsulation, Optional, Inject, Input, HostBinding, NgModule } from '@angular/core';
4
+ import { forwardRef, HostBinding, Input, Optional, Inject, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
5
5
  import * as i1 from '@angular/forms';
6
6
  import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
7
7
  import { classes } from 'polytype';
@@ -56,7 +56,7 @@ class AXSearchBoxComponent extends classes((MXInputBaseValueComponent), MXLookCo
56
56
  useExisting: forwardRef(() => AXSearchBoxComponent),
57
57
  multi: true,
58
58
  },
59
- ], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-prefix\"> </ng-content>\n\n<div #icon>\n <ng-content select=\"ax-icon\"> </ng-content>\n</div>\n\n@if (!icon.children.length) {\n <span class=\"ax-icon ax-icon-search ax-editor-control\"></span>\n}\n\n<input\n #input\n class=\"ax-input\"\n [attr.name]=\"name\"\n [attr.placeholder]=\"placeholder ?? 'search' | translate | async\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [tabindex]=\"tabIndex\"\n [ngModel]=\"value\"\n [delayTime]=\"delayTime\"\n (axDelayedValueChanged)=\"_handleModelChange($event)\"\n (keydown)=\"emitOnKeydownEvent($event)\"\n (keyup)=\"emitOnKeyupEvent($event)\"\n (keypress)=\"emitOnKeypressEvent($event)\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n/>\n\n@if (input.value && !disabled && !readonly) {\n <ng-content select=\"ax-clear-button\"></ng-content>\n}\n<ng-content select=\"ax-suffix\"> </ng-content>\n", styles: [".ax-xs>.ax-icon{font-size:.85rem;padding-inline-start:.25rem}.ax-sm>.ax-icon{font-size:.95rem;padding-inline-start:.5rem}.ax-md>.ax-icon{padding-inline-start:1.25rem;font-size:1.125rem;padding-inline-end:.35rem}.ax-lg>.ax-icon{padding-inline-start:1.5rem;font-size:1.35rem;padding-inline-end:.75rem}.ax-xl>.ax-icon{padding-inline-start:1.75rem;font-size:1.5rem;padding-inline-end:.75rem}\n"], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.AXNgModelDelayedValueChangedDirective, selector: "[axDelayedValueChanged]", inputs: ["delayTime"], outputs: ["axDelayedValueChanged", "axDelayTimeChange"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
59
+ ], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-prefix\"> </ng-content>\n\n<div #icon>\n <ng-content select=\"ax-icon\"> </ng-content>\n</div>\n\n@if (!icon.children.length) {\n <span class=\"ax-icon ax-icon-search ax-editor-control\"></span>\n}\n\n<input\n #input\n class=\"ax-input\"\n [attr.name]=\"name\"\n [attr.placeholder]=\"placeholder ?? 'search' | translate | async\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [tabindex]=\"tabIndex\"\n [ngModel]=\"value\"\n [delayTime]=\"delayTime\"\n (axDelayedValueChanged)=\"_handleModelChange($event)\"\n (keydown)=\"emitOnKeydownEvent($event)\"\n (keyup)=\"emitOnKeyupEvent($event)\"\n (keypress)=\"emitOnKeypressEvent($event)\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n/>\n\n@if (input.value && !disabled && !readonly) {\n <ng-content select=\"ax-clear-button\"></ng-content>\n}\n<ng-content select=\"ax-suffix\"> </ng-content>\n", styles: [".ax-xs>.ax-icon{font-size:.85rem}.ax-xs>.ax-icon.ax-icon-search{padding-inline-start:.25rem}.ax-xs>.ax-icon.ax-clear-button{margin:0}.ax-sm>.ax-icon{font-size:.95rem}.ax-sm>.ax-icon.ax-icon-search{padding-inline-start:.5rem}.ax-md>.ax-icon{font-size:1.125rem}.ax-md>.ax-icon.ax-icon-search{padding-inline-start:1.25rem;padding-inline-end:.35rem}.ax-md>.ax-icon.ax-clear-button{padding-inline-end:.25rem}.ax-lg>.ax-icon{font-size:1.35rem}.ax-lg>.ax-icon.ax-icon-search{padding-inline-start:1.5rem;padding-inline-end:.75rem}.ax-lg>.ax-icon.ax-clear-button{padding-inline-end:.75rem}.ax-xl>.ax-icon{font-size:1.5rem}.ax-xl>.ax-icon.ax-icon-search{padding-inline-start:1.75rem;padding-inline-end:.75rem}.ax-xl>.ax-icon.ax-clear-button{padding-inline-end:1.25rem}\n"], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.AXNgModelDelayedValueChangedDirective, selector: "[axDelayedValueChanged]", inputs: ["delayTime"], outputs: ["axDelayedValueChanged", "axDelayTimeChange"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
60
60
  }
61
61
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXSearchBoxComponent, decorators: [{
62
62
  type: Component,
@@ -81,7 +81,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
81
81
  useExisting: forwardRef(() => AXSearchBoxComponent),
82
82
  multi: true,
83
83
  },
84
- ], template: "<ng-content select=\"ax-prefix\"> </ng-content>\n\n<div #icon>\n <ng-content select=\"ax-icon\"> </ng-content>\n</div>\n\n@if (!icon.children.length) {\n <span class=\"ax-icon ax-icon-search ax-editor-control\"></span>\n}\n\n<input\n #input\n class=\"ax-input\"\n [attr.name]=\"name\"\n [attr.placeholder]=\"placeholder ?? 'search' | translate | async\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [tabindex]=\"tabIndex\"\n [ngModel]=\"value\"\n [delayTime]=\"delayTime\"\n (axDelayedValueChanged)=\"_handleModelChange($event)\"\n (keydown)=\"emitOnKeydownEvent($event)\"\n (keyup)=\"emitOnKeyupEvent($event)\"\n (keypress)=\"emitOnKeypressEvent($event)\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n/>\n\n@if (input.value && !disabled && !readonly) {\n <ng-content select=\"ax-clear-button\"></ng-content>\n}\n<ng-content select=\"ax-suffix\"> </ng-content>\n", styles: [".ax-xs>.ax-icon{font-size:.85rem;padding-inline-start:.25rem}.ax-sm>.ax-icon{font-size:.95rem;padding-inline-start:.5rem}.ax-md>.ax-icon{padding-inline-start:1.25rem;font-size:1.125rem;padding-inline-end:.35rem}.ax-lg>.ax-icon{padding-inline-start:1.5rem;font-size:1.35rem;padding-inline-end:.75rem}.ax-xl>.ax-icon{padding-inline-start:1.75rem;font-size:1.5rem;padding-inline-end:.75rem}\n"] }]
84
+ ], template: "<ng-content select=\"ax-prefix\"> </ng-content>\n\n<div #icon>\n <ng-content select=\"ax-icon\"> </ng-content>\n</div>\n\n@if (!icon.children.length) {\n <span class=\"ax-icon ax-icon-search ax-editor-control\"></span>\n}\n\n<input\n #input\n class=\"ax-input\"\n [attr.name]=\"name\"\n [attr.placeholder]=\"placeholder ?? 'search' | translate | async\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [tabindex]=\"tabIndex\"\n [ngModel]=\"value\"\n [delayTime]=\"delayTime\"\n (axDelayedValueChanged)=\"_handleModelChange($event)\"\n (keydown)=\"emitOnKeydownEvent($event)\"\n (keyup)=\"emitOnKeyupEvent($event)\"\n (keypress)=\"emitOnKeypressEvent($event)\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n/>\n\n@if (input.value && !disabled && !readonly) {\n <ng-content select=\"ax-clear-button\"></ng-content>\n}\n<ng-content select=\"ax-suffix\"> </ng-content>\n", styles: [".ax-xs>.ax-icon{font-size:.85rem}.ax-xs>.ax-icon.ax-icon-search{padding-inline-start:.25rem}.ax-xs>.ax-icon.ax-clear-button{margin:0}.ax-sm>.ax-icon{font-size:.95rem}.ax-sm>.ax-icon.ax-icon-search{padding-inline-start:.5rem}.ax-md>.ax-icon{font-size:1.125rem}.ax-md>.ax-icon.ax-icon-search{padding-inline-start:1.25rem;padding-inline-end:.35rem}.ax-md>.ax-icon.ax-clear-button{padding-inline-end:.25rem}.ax-lg>.ax-icon{font-size:1.35rem}.ax-lg>.ax-icon.ax-icon-search{padding-inline-start:1.5rem;padding-inline-end:.75rem}.ax-lg>.ax-icon.ax-clear-button{padding-inline-end:.75rem}.ax-xl>.ax-icon{font-size:1.5rem}.ax-xl>.ax-icon.ax-icon-search{padding-inline-start:1.75rem;padding-inline-end:.75rem}.ax-xl>.ax-icon.ax-clear-button{padding-inline-end:1.25rem}\n"] }]
85
85
  }], ctorParameters: () => [{ type: i2.AXSearchableComponent, decorators: [{
86
86
  type: Optional
87
87
  }, {
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-search-box.mjs","sources":["../../../../libs/components/search-box/src/lib/search-box.component.ts","../../../../libs/components/search-box/src/lib/search-box.component.html","../../../../libs/components/search-box/src/lib/search-box.module.ts","../../../../libs/components/search-box/src/acorex-components-search-box.ts"],"sourcesContent":["import {\n AXClearableComponent,\n AXComponent,\n AXFocusableComponent,\n AXSearchableComponent,\n AXValuableComponent,\n MXInputBaseValueComponent,\n MXLookComponent,\n} from '@acorex/components/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Inject,\n Input,\n Optional,\n ViewEncapsulation,\n forwardRef,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\n\n/**\n * @category\n * Represents a search box component that allows users to input and search text.\n */\n@Component({\n selector: 'ax-search-box',\n templateUrl: './search-box.component.html',\n styles: `\n .ax-xs > .ax-icon {\n font-size: 0.85rem;\n padding-inline-start: 0.25rem;\n }\n .ax-sm > .ax-icon {\n font-size: 0.95rem;\n padding-inline-start: 0.5rem;\n }\n .ax-md > .ax-icon {\n padding-inline-start: 1.25rem;\n font-size: 1.125rem;\n padding-inline-end: 0.35rem;\n }\n .ax-lg > .ax-icon {\n padding-inline-start: 1.5rem;\n font-size: 1.35rem;\n padding-inline-end: 0.75rem;\n }\n .ax-xl > .ax-icon {\n padding-inline-start: 1.75rem;\n font-size: 1.5rem;\n padding-inline-end: 0.75rem;\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n inputs: ['disabled', 'readonly', 'tabIndex', 'placeholder', 'value', 'state', 'name', 'id', 'look'],\n outputs: [\n 'valueChange',\n 'stateChange',\n 'onValueChanged',\n 'onBlur',\n 'onFocus',\n 'readonlyChange',\n 'disabledChange',\n 'onKeyDown',\n 'onKeyUp',\n 'onKeyPress',\n ],\n providers: [\n { provide: AXComponent, useExisting: AXSearchBoxComponent },\n { provide: AXFocusableComponent, useExisting: AXSearchBoxComponent },\n { provide: AXClearableComponent, useExisting: AXSearchBoxComponent },\n { provide: AXValuableComponent, useExisting: AXSearchBoxComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXSearchBoxComponent),\n multi: true,\n },\n ],\n})\nexport class AXSearchBoxComponent extends classes(MXInputBaseValueComponent<string>, MXLookComponent) {\n /** @ignore */\n constructor(\n /** @ignore */\n @Optional()\n @Inject(AXSearchableComponent)\n private _parent: AXSearchableComponent,\n ) {\n super();\n }\n\n /**\n * The delay time for search actions, specified in milliseconds.\n * @defaultValue 500\n */\n @Input()\n delayTime = 500;\n\n /**\n * Handles changes to the model and triggers a search in the parent component if available.\n *\n * @param {string} value\n */\n _handleModelChange(value: string) {\n if (this._parent && this._parent.search) {\n this._parent.search(value);\n }\n this.commitValue(value, true);\n }\n\n /** @ignore */\n @HostBinding('class')\n get __hostClass(): string[] {\n return ['ax-editor-container', `ax-look-${this.look}`, `${this.disabled ? 'ax-state-disabled' : ''}`];\n }\n}\n","<ng-content select=\"ax-prefix\"> </ng-content>\n\n<div #icon>\n <ng-content select=\"ax-icon\"> </ng-content>\n</div>\n\n@if (!icon.children.length) {\n <span class=\"ax-icon ax-icon-search ax-editor-control\"></span>\n}\n\n<input\n #input\n class=\"ax-input\"\n [attr.name]=\"name\"\n [attr.placeholder]=\"placeholder ?? 'search' | translate | async\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [tabindex]=\"tabIndex\"\n [ngModel]=\"value\"\n [delayTime]=\"delayTime\"\n (axDelayedValueChanged)=\"_handleModelChange($event)\"\n (keydown)=\"emitOnKeydownEvent($event)\"\n (keyup)=\"emitOnKeyupEvent($event)\"\n (keypress)=\"emitOnKeypressEvent($event)\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n/>\n\n@if (input.value && !disabled && !readonly) {\n <ng-content select=\"ax-clear-button\"></ng-content>\n}\n<ng-content select=\"ax-suffix\"> </ng-content>\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXNgModelDelayedValueChangedDirective } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXSearchBoxComponent } from './search-box.component';\n\nconst COMPONENT = [AXSearchBoxComponent];\nconst MODULES = [\n CommonModule,\n FormsModule,\n AXTranslationModule,\n AXDecoratorModule,\n AXTextBoxModule,\n AXButtonModule,\n AXNgModelDelayedValueChangedDirective,\n];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXSearchBoxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-search-box.mjs","sources":["../../../../libs/components/search-box/src/lib/search-box.component.ts","../../../../libs/components/search-box/src/lib/search-box.component.html","../../../../libs/components/search-box/src/lib/search-box.module.ts","../../../../libs/components/search-box/src/acorex-components-search-box.ts"],"sourcesContent":["import {\n AXClearableComponent,\n AXComponent,\n AXFocusableComponent,\n AXSearchableComponent,\n AXValuableComponent,\n MXInputBaseValueComponent,\n MXLookComponent,\n} from '@acorex/components/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Inject,\n Input,\n Optional,\n ViewEncapsulation,\n forwardRef,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\n\n/**\n * @category\n * Represents a search box component that allows users to input and search text.\n */\n@Component({\n selector: 'ax-search-box',\n templateUrl: './search-box.component.html',\n styleUrl: './search-box.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n inputs: ['disabled', 'readonly', 'tabIndex', 'placeholder', 'value', 'state', 'name', 'id', 'look'],\n outputs: [\n 'valueChange',\n 'stateChange',\n 'onValueChanged',\n 'onBlur',\n 'onFocus',\n 'readonlyChange',\n 'disabledChange',\n 'onKeyDown',\n 'onKeyUp',\n 'onKeyPress',\n ],\n providers: [\n { provide: AXComponent, useExisting: AXSearchBoxComponent },\n { provide: AXFocusableComponent, useExisting: AXSearchBoxComponent },\n { provide: AXClearableComponent, useExisting: AXSearchBoxComponent },\n { provide: AXValuableComponent, useExisting: AXSearchBoxComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXSearchBoxComponent),\n multi: true,\n },\n ],\n})\nexport class AXSearchBoxComponent extends classes(MXInputBaseValueComponent<string>, MXLookComponent) {\n /** @ignore */\n constructor(\n /** @ignore */\n @Optional()\n @Inject(AXSearchableComponent)\n private _parent: AXSearchableComponent,\n ) {\n super();\n }\n\n /**\n * The delay time for search actions, specified in milliseconds.\n * @defaultValue 500\n */\n @Input()\n delayTime = 500;\n\n /**\n * Handles changes to the model and triggers a search in the parent component if available.\n *\n * @param {string} value\n */\n _handleModelChange(value: string) {\n if (this._parent && this._parent.search) {\n this._parent.search(value);\n }\n this.commitValue(value, true);\n }\n\n /** @ignore */\n @HostBinding('class')\n get __hostClass(): string[] {\n return ['ax-editor-container', `ax-look-${this.look}`, `${this.disabled ? 'ax-state-disabled' : ''}`];\n }\n}\n","<ng-content select=\"ax-prefix\"> </ng-content>\n\n<div #icon>\n <ng-content select=\"ax-icon\"> </ng-content>\n</div>\n\n@if (!icon.children.length) {\n <span class=\"ax-icon ax-icon-search ax-editor-control\"></span>\n}\n\n<input\n #input\n class=\"ax-input\"\n [attr.name]=\"name\"\n [attr.placeholder]=\"placeholder ?? 'search' | translate | async\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [tabindex]=\"tabIndex\"\n [ngModel]=\"value\"\n [delayTime]=\"delayTime\"\n (axDelayedValueChanged)=\"_handleModelChange($event)\"\n (keydown)=\"emitOnKeydownEvent($event)\"\n (keyup)=\"emitOnKeyupEvent($event)\"\n (keypress)=\"emitOnKeypressEvent($event)\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n/>\n\n@if (input.value && !disabled && !readonly) {\n <ng-content select=\"ax-clear-button\"></ng-content>\n}\n<ng-content select=\"ax-suffix\"> </ng-content>\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXNgModelDelayedValueChangedDirective } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXSearchBoxComponent } from './search-box.component';\n\nconst COMPONENT = [AXSearchBoxComponent];\nconst MODULES = [\n CommonModule,\n FormsModule,\n AXTranslationModule,\n AXDecoratorModule,\n AXTextBoxModule,\n AXButtonModule,\n AXNgModelDelayedValueChangedDirective,\n];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXSearchBoxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AAsBA;;;AAGG;AAgCG,MAAO,oBAAqB,SAAQ,OAAO,EAAC,yBAAiC,GAAE,eAAe,CAAC,CAAA;;AAEnG,IAAA,WAAA;;IAIU,OAA8B,EAAA;AAEtC,QAAA,KAAK,EAAE;QAFC,IAAO,CAAA,OAAA,GAAP,OAAO;AAKjB;;;AAGG;QAEH,IAAS,CAAA,SAAA,GAAG,GAAG;;AAEf;;;;AAIG;AACH,IAAA,kBAAkB,CAAC,KAAa,EAAA;QAC9B,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;AACvC,YAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;;AAE5B,QAAA,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC;;;AAI/B,IAAA,IACI,WAAW,GAAA;QACb,OAAO,CAAC,qBAAqB,EAAE,CAAA,QAAA,EAAW,IAAI,CAAC,IAAI,CAAE,CAAA,EAAE,CAAG,EAAA,IAAI,CAAC,QAAQ,GAAG,mBAAmB,GAAG,EAAE,CAAE,CAAA,CAAC;;AAjC5F,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,kBAKrB,qBAAqB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AALpB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,EAZpB,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,WAAA,EAAA,aAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,WAAA,EAAA,aAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,SAAA,EAAA,WAAA,EAAA,OAAA,EAAA,SAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACT,YAAA,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,oBAAoB,EAAE;AAC3D,YAAA,EAAE,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,oBAAoB,EAAE;AACpE,YAAA,EAAE,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,oBAAoB,EAAE;AACpE,YAAA,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,oBAAoB,EAAE;AACnE,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,oBAAoB,CAAC;AACnD,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECvDH,++BAkCA,EAAA,MAAA,EAAA,CAAA,0vBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,qCAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,uBAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FDuBa,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBA/BhC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,eAAe,EAGR,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAChC,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAC7B,MAAA,EAAA,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,EAC1F,OAAA,EAAA;wBACP,aAAa;wBACb,aAAa;wBACb,gBAAgB;wBAChB,QAAQ;wBACR,SAAS;wBACT,gBAAgB;wBAChB,gBAAgB;wBAChB,WAAW;wBACX,SAAS;wBACT,YAAY;qBACb,EACU,SAAA,EAAA;AACT,wBAAA,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,sBAAsB,EAAE;AAC3D,wBAAA,EAAE,OAAO,EAAE,oBAAoB,EAAE,WAAW,sBAAsB,EAAE;AACpE,wBAAA,EAAE,OAAO,EAAE,oBAAoB,EAAE,WAAW,sBAAsB,EAAE;AACpE,wBAAA,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,sBAAsB,EAAE;AACnE,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,0BAA0B,CAAC;AACnD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,QAAA,EAAA,++BAAA,EAAA,MAAA,EAAA,CAAA,0vBAAA,CAAA,EAAA;;0BAME;;0BACA,MAAM;2BAAC,qBAAqB;yCAW/B,SAAS,EAAA,CAAA;sBADR;gBAiBG,WAAW,EAAA,CAAA;sBADd,WAAW;uBAAC,OAAO;;;AE9EtB,MAAM,SAAS,GAAG,CAAC,oBAAoB,CAAC;AACxC,MAAM,OAAO,GAAG;IACd,YAAY;IACZ,WAAW;IACX,mBAAmB;IACnB,iBAAiB;IACjB,eAAe;IACf,cAAc;IACd,qCAAqC;CACtC;MAQY,iBAAiB,CAAA;8GAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAAjB,iBAAiB,EAAA,YAAA,EAAA,CAjBX,oBAAoB,CAAA,EAAA,OAAA,EAAA,CAErC,YAAY;YACZ,WAAW;YACX,mBAAmB;YACnB,iBAAiB;YACjB,eAAe;YACf,cAAc;AACd,YAAA,qCAAqC,aARpB,oBAAoB,CAAA,EAAA,CAAA,CAAA;AAiB1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,YAf5B,YAAY;YACZ,WAAW;YACX,mBAAmB;YACnB,iBAAiB;YACjB,eAAe;YACf,cAAc,CAAA,EAAA,CAAA,CAAA;;2FAUH,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAN7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,CAAC,GAAG,SAAS,CAAC;AAC5B,oBAAA,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC;AACrB,oBAAA,OAAO,EAAE,CAAC,GAAG,SAAS,CAAC;AACvB,oBAAA,SAAS,EAAE,EAAE;AACd,iBAAA;;;AC1BD;;AAEG;;;;"}
@@ -6,7 +6,7 @@ import { AXListComponent, AXListModule } from '@acorex/components/list';
6
6
  import { AXSearchBoxComponent } from '@acorex/components/search-box';
7
7
  import { AXUnsubscriber } from '@acorex/core/utils';
8
8
  import * as i0 from '@angular/core';
9
- import { inject, signal, forwardRef, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, ViewChild, ContentChild, HostListener, NgModule } from '@angular/core';
9
+ import { inject, signal, forwardRef, HostListener, ViewChild, ContentChild, Input, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
10
10
  import * as i2 from '@angular/forms';
11
11
  import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
12
12
  import { last, findLastIndex, nth } from 'lodash-es';
@@ -122,7 +122,7 @@ class AXSelectBoxComponent extends classes(MXDropdownBoxBaseComponent, MXSelecti
122
122
  await new Promise((resolve) => setTimeout(resolve, 50));
123
123
  }
124
124
  }
125
- console.log('Timeout reached without finding the "getItemByKey" method');
125
+ console.warn('Timeout reached without finding the "getItemByKey" method');
126
126
  };
127
127
  return check();
128
128
  }