@acorex/components 19.11.0-next.4 → 19.11.0-next.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/common/lib/classes/datasource.class.d.ts +2 -2
  2. package/fesm2022/acorex-components-action-sheet.mjs +12 -12
  3. package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
  4. package/fesm2022/acorex-components-alert.mjs +7 -7
  5. package/fesm2022/acorex-components-audio-wave.mjs +7 -7
  6. package/fesm2022/acorex-components-autocomplete.mjs +7 -7
  7. package/fesm2022/acorex-components-avatar.mjs +10 -10
  8. package/fesm2022/acorex-components-badge.mjs +7 -7
  9. package/fesm2022/acorex-components-bottom-navigation.mjs +10 -10
  10. package/fesm2022/acorex-components-breadcrumbs.mjs +10 -10
  11. package/fesm2022/acorex-components-button-group.mjs +10 -10
  12. package/fesm2022/acorex-components-button.mjs +13 -13
  13. package/fesm2022/acorex-components-calendar.mjs +13 -13
  14. package/fesm2022/acorex-components-check-box.mjs +7 -7
  15. package/fesm2022/acorex-components-chips.mjs +7 -7
  16. package/fesm2022/acorex-components-circular-progress.mjs +7 -7
  17. package/fesm2022/acorex-components-collapse.mjs +10 -10
  18. package/fesm2022/acorex-components-color-box.mjs +7 -7
  19. package/fesm2022/acorex-components-color-palette.mjs +25 -25
  20. package/fesm2022/acorex-components-comment.mjs +28 -28
  21. package/fesm2022/acorex-components-common.mjs +91 -91
  22. package/fesm2022/acorex-components-common.mjs.map +1 -1
  23. package/fesm2022/acorex-components-conversation.mjs +49 -49
  24. package/fesm2022/acorex-components-cron-job.mjs +46 -46
  25. package/fesm2022/acorex-components-data-pager.mjs +31 -31
  26. package/fesm2022/acorex-components-data-table.mjs +38 -38
  27. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  28. package/fesm2022/acorex-components-datetime-box.mjs +7 -7
  29. package/fesm2022/acorex-components-datetime-input.mjs +7 -7
  30. package/fesm2022/acorex-components-datetime-picker.mjs +7 -7
  31. package/fesm2022/acorex-components-decorators.mjs +25 -25
  32. package/fesm2022/acorex-components-dialog.mjs +10 -10
  33. package/fesm2022/acorex-components-drawer.mjs +13 -13
  34. package/fesm2022/acorex-components-dropdown-button.mjs +7 -7
  35. package/fesm2022/acorex-components-dropdown.mjs +13 -13
  36. package/fesm2022/acorex-components-file-explorer.mjs +25 -25
  37. package/fesm2022/acorex-components-form.mjs +16 -16
  38. package/fesm2022/acorex-components-grid-layout-builder.mjs +189 -112
  39. package/fesm2022/acorex-components-grid-layout-builder.mjs.map +1 -1
  40. package/fesm2022/acorex-components-image-editor.mjs +298 -241
  41. package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
  42. package/fesm2022/acorex-components-image.mjs +7 -7
  43. package/fesm2022/acorex-components-json-viewer.mjs +7 -7
  44. package/fesm2022/acorex-components-kbd.mjs +10 -10
  45. package/fesm2022/acorex-components-label.mjs +7 -7
  46. package/fesm2022/acorex-components-list.mjs +7 -7
  47. package/fesm2022/acorex-components-loading-dialog.mjs +10 -10
  48. package/fesm2022/acorex-components-loading.mjs +16 -16
  49. package/fesm2022/acorex-components-map.mjs +10 -10
  50. package/fesm2022/acorex-components-media-viewer.mjs +34 -34
  51. package/fesm2022/acorex-components-menu.mjs +20 -20
  52. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  53. package/fesm2022/acorex-components-navbar.mjs +7 -7
  54. package/fesm2022/acorex-components-notification.mjs +49 -33
  55. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  56. package/fesm2022/acorex-components-number-box.mjs +7 -7
  57. package/fesm2022/acorex-components-otp.mjs +7 -7
  58. package/fesm2022/acorex-components-page.mjs +10 -10
  59. package/fesm2022/acorex-components-paint.mjs +20 -49
  60. package/fesm2022/acorex-components-paint.mjs.map +1 -1
  61. package/fesm2022/acorex-components-password-box.mjs +10 -10
  62. package/fesm2022/acorex-components-pdf-reader.mjs +7 -7
  63. package/fesm2022/acorex-components-phone-box.mjs +7 -7
  64. package/fesm2022/acorex-components-picker.mjs +13 -13
  65. package/fesm2022/acorex-components-popover.mjs +7 -7
  66. package/fesm2022/acorex-components-popup.mjs +10 -10
  67. package/fesm2022/acorex-components-progress-bar.mjs +7 -7
  68. package/fesm2022/acorex-components-qrcode.mjs +7 -7
  69. package/fesm2022/acorex-components-query-builder.mjs +7 -7
  70. package/fesm2022/acorex-components-radio.mjs +7 -7
  71. package/fesm2022/acorex-components-rail-navigation.mjs +13 -13
  72. package/fesm2022/acorex-components-range-slider.mjs +7 -7
  73. package/fesm2022/acorex-components-rate-picker.mjs +7 -7
  74. package/fesm2022/acorex-components-rest-api-generator.mjs +22 -22
  75. package/fesm2022/acorex-components-result.mjs +7 -7
  76. package/fesm2022/acorex-components-routing-progress.mjs +7 -7
  77. package/fesm2022/acorex-components-scheduler.mjs +13 -13
  78. package/fesm2022/acorex-components-scss.mjs +4 -4
  79. package/fesm2022/acorex-components-search-box.mjs +7 -7
  80. package/fesm2022/acorex-components-select-box.mjs +7 -7
  81. package/fesm2022/acorex-components-selection-list.mjs +7 -7
  82. package/fesm2022/acorex-components-side-menu.mjs +13 -13
  83. package/fesm2022/acorex-components-skeleton.mjs +7 -7
  84. package/fesm2022/acorex-components-slider.mjs +7 -7
  85. package/fesm2022/acorex-components-sliding-item.mjs +13 -13
  86. package/fesm2022/acorex-components-sliding-item.mjs.map +1 -1
  87. package/fesm2022/acorex-components-step-wizard.mjs +13 -13
  88. package/fesm2022/acorex-components-switch.mjs +10 -10
  89. package/fesm2022/acorex-components-tabs.mjs +13 -13
  90. package/fesm2022/acorex-components-tag-box.mjs +7 -7
  91. package/fesm2022/acorex-components-tag.mjs +7 -7
  92. package/fesm2022/acorex-components-text-area.mjs +7 -7
  93. package/fesm2022/acorex-components-text-box.mjs +10 -10
  94. package/fesm2022/acorex-components-time-line.mjs +10 -10
  95. package/fesm2022/acorex-components-toast.mjs +51 -15
  96. package/fesm2022/acorex-components-toast.mjs.map +1 -1
  97. package/fesm2022/acorex-components-toolbar.mjs +7 -7
  98. package/fesm2022/acorex-components-tooltip.mjs +10 -10
  99. package/fesm2022/acorex-components-tree-view.mjs +10 -10
  100. package/fesm2022/acorex-components-uploader.mjs +22 -22
  101. package/fesm2022/acorex-components-video-player.mjs +7 -7
  102. package/fesm2022/acorex-components-wysiwyg.mjs +31 -31
  103. package/grid-layout-builder/lib/grid-layout-container.component.d.ts +8 -23
  104. package/grid-layout-builder/lib/grid-layout-widget.component.d.ts +27 -3
  105. package/grid-layout-builder/lib/types.d.ts +79 -25
  106. package/grid-layout-builder/lib/utility.d.ts +7 -0
  107. package/image-editor/index.d.ts +1 -0
  108. package/image-editor/lib/image-editor-container/image-editor-container.component.d.ts +1 -0
  109. package/image-editor/lib/image-editor-cropper-window/image-editor-cropper-window.component.d.ts +48 -0
  110. package/image-editor/lib/image-editor-tools/image-editor-crop/image-editor-crop.component.d.ts +3 -1
  111. package/image-editor/lib/image-editor-view/image-editor-view.component.d.ts +17 -24
  112. package/image-editor/lib/image-editor.module.d.ts +2 -1
  113. package/notification/lib/notification.class.d.ts +2 -0
  114. package/notification/lib/notification.component.d.ts +7 -6
  115. package/notification/lib/notification.config.d.ts +1 -0
  116. package/package.json +1 -1
  117. package/paint/lib/paint/paint-view/paint-view.component.d.ts +0 -6
  118. package/rest-api-generator/lib/request-headers/request-headers.component.d.ts +1 -1
  119. package/toast/lib/toast.class.d.ts +2 -0
  120. package/toast/lib/toast.component.d.ts +7 -0
  121. package/toast/lib/toast.config.d.ts +1 -0
@@ -21,10 +21,10 @@ class AXTimeLineComponent {
21
21
  });
22
22
  }
23
23
  #modeChange;
24
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: AXTimeLineComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
25
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.1.8", type: AXTimeLineComponent, isStandalone: true, selector: "ax-time-line", inputs: { mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"ax-time-line-item-container\" [style]=\"containerStyle()\">\n <ng-content></ng-content>\n</div>\n", styles: ["ax-time-line{width:100%;display:block}ax-time-line .ax-time-line-item-container{position:relative;display:flex;flex-direction:column}ax-time-line .ax-time-line-item-container:before,ax-time-line .ax-time-line-item-container:after{display:block;content:\"\";position:absolute;background-color:rgba(var(--ax-sys-color-border-lightest-surface))}ax-time-line .ax-time-line-item-container:before{width:1px;height:100%;top:0;inset-inline-start:.875rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
24
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: AXTimeLineComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
25
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.1", type: AXTimeLineComponent, isStandalone: true, selector: "ax-time-line", inputs: { mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"ax-time-line-item-container\" [style]=\"containerStyle()\">\n <ng-content></ng-content>\n</div>\n", styles: ["ax-time-line{width:100%;display:block}ax-time-line .ax-time-line-item-container{position:relative;display:flex;flex-direction:column}ax-time-line .ax-time-line-item-container:before,ax-time-line .ax-time-line-item-container:after{display:block;content:\"\";position:absolute;background-color:rgba(var(--ax-sys-color-border-lightest-surface))}ax-time-line .ax-time-line-item-container:before{width:1px;height:100%;top:0;inset-inline-start:.875rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
26
26
  }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: AXTimeLineComponent, decorators: [{
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: AXTimeLineComponent, decorators: [{
28
28
  type: Component,
29
29
  args: [{ selector: 'ax-time-line', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"ax-time-line-item-container\" [style]=\"containerStyle()\">\n <ng-content></ng-content>\n</div>\n", styles: ["ax-time-line{width:100%;display:block}ax-time-line .ax-time-line-item-container{position:relative;display:flex;flex-direction:column}ax-time-line .ax-time-line-item-container:before,ax-time-line .ax-time-line-item-container:after{display:block;content:\"\";position:absolute;background-color:rgba(var(--ax-sys-color-border-lightest-surface))}ax-time-line .ax-time-line-item-container:before{width:1px;height:100%;top:0;inset-inline-start:.875rem}\n"] }]
30
30
  }] });
@@ -46,8 +46,8 @@ class AXTimeLineItemComponent {
46
46
  get __hostClass() {
47
47
  return [`ax-mode-${this.mode()}`, `${this.isActive() ? 'ax-state-active' : ''}`];
48
48
  }
49
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: AXTimeLineItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
50
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.8", type: AXTimeLineItemComponent, isStandalone: true, selector: "ax-time-line-item", inputs: { text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null }, isActive: { classPropertyName: "isActive", publicName: "isActive", isSignal: true, isRequired: false, transformFunction: null }, isCollapsed: { classPropertyName: "isCollapsed", publicName: "isCollapsed", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isCollapsed: "isCollapsedChange" }, host: { properties: { "class": "this.__hostClass" } }, ngImport: i0, template: "<div class=\"ax-time-line-header\" (click)=\"handleClick()\">\n @switch (mode()) {\n @case ('bullet') {\n <span class=\"ax-time-line-bullet\"></span>\n }\n @case ('icon') {\n <span class=\"ax-time-line-icon\">\n <ng-content select=\"ax-icon\"></ng-content>\n </span>\n }\n }\n <span class=\"ax-time-line-text\">{{ text() }}</span>\n <span\n class=\"ax-icon ax-icon-chevron-left ax-collapse-arrow\"\n [ngClass]=\"{ '-rotation-90': isCollapsed(), 'rotation-90': !isCollapsed() }\"\n ></span>\n</div>\n<div class=\"ax-time-line-content\" [@collapse]=\"isCollapsed()\"><ng-content></ng-content></div>\n", styles: ["ax-time-line{--ax-comp-time-line-deactivate-bg-color: var(--ax-sys-color-darkest-surface);--ax-comp-time-line-bullet-active-bg-color: var(--ax-sys-color-primary-surface);--ax-comp-time-line-active-bg-color: var(--ax-sys-color-primary-lightest-surface);--ax-comp-time-line-active-text-color: var(--ax-sys-color-on-primary-lightest-surface);--ax-comp-time-line-icon-bg-color: var(--ax-sys-color-surface);--ax-comp-time-line-icon-text-color: var(--ax-sys-color-on-surface)}.ax-dark ax-time-line{--ax-comp-time-line-deactivate-bg-color: var(--ax-sys-color-lightest-surface)}ax-time-line-item{position:relative;display:flex;flex-direction:column;gap:.75rem}ax-time-line-item.ax-mode-icon{padding-inline-start:3rem}ax-time-line-item.ax-mode-bullet{padding-inline-start:1.75rem}ax-time-line-item.ax-state-active .ax-time-line-bullet{background-color:rgba(var(--ax-comp-time-line-bullet-active-bg-color))!important}ax-time-line-item.ax-state-active .ax-time-line-icon{background-color:rgba(var(--ax-comp-time-line-active-bg-color))!important;color:rgba(var(--ax-comp-time-line-active-text-color))!important}ax-time-line-item .ax-time-line-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none}ax-time-line-item .ax-time-line-header .ax-time-line-bullet,ax-time-line-item .ax-time-line-header .ax-time-line-icon{position:absolute;border-radius:999rem}ax-time-line-item .ax-time-line-header .ax-time-line-bullet{width:.75rem;height:.75rem;inset-inline-start:.5rem;background-color:rgba(var(--ax-comp-time-line-deactivate-bg-color))}ax-time-line-item .ax-time-line-header .ax-time-line-icon{width:2.5rem;height:2.5rem;inset-inline-start:-.25rem;display:flex;align-items:center;justify-content:center;background-color:rgba(var(--ax-comp-time-line-icon-bg-color));color:rgba(var(--ax-comp-time-line-icon-text-color))}ax-time-line-item .ax-time-line-header .ax-time-line-text{flex:1}ax-time-line-item .ax-time-line-header .ax-collapse-arrow{transition-property:all;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function);display:block}ax-time-line-item .ax-time-line-header .ax-collapse-arrow.-rotation-90{transform:rotate(-90deg)}ax-time-line-item .ax-time-line-header .ax-collapse-arrow.rotation-90{transform:rotate(90deg)}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], animations: [
49
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: AXTimeLineItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
50
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.1", type: AXTimeLineItemComponent, isStandalone: true, selector: "ax-time-line-item", inputs: { text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null }, isActive: { classPropertyName: "isActive", publicName: "isActive", isSignal: true, isRequired: false, transformFunction: null }, isCollapsed: { classPropertyName: "isCollapsed", publicName: "isCollapsed", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isCollapsed: "isCollapsedChange" }, host: { properties: { "class": "this.__hostClass" } }, ngImport: i0, template: "<div class=\"ax-time-line-header\" (click)=\"handleClick()\">\n @switch (mode()) {\n @case ('bullet') {\n <span class=\"ax-time-line-bullet\"></span>\n }\n @case ('icon') {\n <span class=\"ax-time-line-icon\">\n <ng-content select=\"ax-icon\"></ng-content>\n </span>\n }\n }\n <span class=\"ax-time-line-text\">{{ text() }}</span>\n <span\n class=\"ax-icon ax-icon-chevron-left ax-collapse-arrow\"\n [ngClass]=\"{ '-rotation-90': isCollapsed(), 'rotation-90': !isCollapsed() }\"\n ></span>\n</div>\n<div class=\"ax-time-line-content\" [@collapse]=\"isCollapsed()\"><ng-content></ng-content></div>\n", styles: ["ax-time-line{--ax-comp-time-line-deactivate-bg-color: var(--ax-sys-color-darkest-surface);--ax-comp-time-line-bullet-active-bg-color: var(--ax-sys-color-primary-surface);--ax-comp-time-line-active-bg-color: var(--ax-sys-color-primary-lightest-surface);--ax-comp-time-line-active-text-color: var(--ax-sys-color-on-primary-lightest-surface);--ax-comp-time-line-icon-bg-color: var(--ax-sys-color-surface);--ax-comp-time-line-icon-text-color: var(--ax-sys-color-on-surface)}.ax-dark ax-time-line{--ax-comp-time-line-deactivate-bg-color: var(--ax-sys-color-lightest-surface)}ax-time-line-item{position:relative;display:flex;flex-direction:column;gap:.75rem}ax-time-line-item.ax-mode-icon{padding-inline-start:3rem}ax-time-line-item.ax-mode-bullet{padding-inline-start:1.75rem}ax-time-line-item.ax-state-active .ax-time-line-bullet{background-color:rgba(var(--ax-comp-time-line-bullet-active-bg-color))!important}ax-time-line-item.ax-state-active .ax-time-line-icon{background-color:rgba(var(--ax-comp-time-line-active-bg-color))!important;color:rgba(var(--ax-comp-time-line-active-text-color))!important}ax-time-line-item .ax-time-line-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none}ax-time-line-item .ax-time-line-header .ax-time-line-bullet,ax-time-line-item .ax-time-line-header .ax-time-line-icon{position:absolute;border-radius:999rem}ax-time-line-item .ax-time-line-header .ax-time-line-bullet{width:.75rem;height:.75rem;inset-inline-start:.5rem;background-color:rgba(var(--ax-comp-time-line-deactivate-bg-color))}ax-time-line-item .ax-time-line-header .ax-time-line-icon{width:2.5rem;height:2.5rem;inset-inline-start:-.25rem;display:flex;align-items:center;justify-content:center;background-color:rgba(var(--ax-comp-time-line-icon-bg-color));color:rgba(var(--ax-comp-time-line-icon-text-color))}ax-time-line-item .ax-time-line-header .ax-time-line-text{flex:1}ax-time-line-item .ax-time-line-header .ax-collapse-arrow{transition-property:all;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function);display:block}ax-time-line-item .ax-time-line-header .ax-collapse-arrow.-rotation-90{transform:rotate(-90deg)}ax-time-line-item .ax-time-line-header .ax-collapse-arrow.rotation-90{transform:rotate(90deg)}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], animations: [
51
51
  trigger('collapse', [
52
52
  state('false', style({ height: AUTO_STYLE, visibility: AUTO_STYLE })),
53
53
  state('true', style({ height: '0', visibility: 'hidden' })),
@@ -56,7 +56,7 @@ class AXTimeLineItemComponent {
56
56
  ]),
57
57
  ], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
58
58
  }
59
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: AXTimeLineItemComponent, decorators: [{
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: AXTimeLineItemComponent, decorators: [{
60
60
  type: Component,
61
61
  args: [{ selector: 'ax-time-line-item', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, animations: [
62
62
  trigger('collapse', [
@@ -72,11 +72,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImpor
72
72
  }] } });
73
73
 
74
74
  class AXTimeLineModule {
75
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: AXTimeLineModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
76
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.8", ngImport: i0, type: AXTimeLineModule, imports: [CommonModule, AXTimeLineComponent, AXTimeLineItemComponent], exports: [AXTimeLineComponent, AXTimeLineItemComponent] }); }
77
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: AXTimeLineModule, imports: [CommonModule] }); }
75
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: AXTimeLineModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
76
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.1", ngImport: i0, type: AXTimeLineModule, imports: [CommonModule, AXTimeLineComponent, AXTimeLineItemComponent], exports: [AXTimeLineComponent, AXTimeLineItemComponent] }); }
77
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: AXTimeLineModule, imports: [CommonModule] }); }
78
78
  }
79
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: AXTimeLineModule, decorators: [{
79
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: AXTimeLineModule, decorators: [{
80
80
  type: NgModule,
81
81
  args: [{
82
82
  imports: [CommonModule, AXTimeLineComponent, AXTimeLineItemComponent],
@@ -27,6 +27,7 @@ const AXToastDefaultConfig = {
27
27
  timeOutProgress: true,
28
28
  location: 'bottom-center',
29
29
  limit: 3,
30
+ pauseOnHover: true,
30
31
  };
31
32
  function toastConfig(config = {}) {
32
33
  const result = {
@@ -263,10 +264,10 @@ class AXToastService {
263
264
  break;
264
265
  }
265
266
  }
266
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: AXToastService, deps: [{ token: i1.ScrollStrategyOptions }], target: i0.ɵɵFactoryTarget.Injectable }); }
267
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: AXToastService }); }
267
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: AXToastService, deps: [{ token: i1.ScrollStrategyOptions }], target: i0.ɵɵFactoryTarget.Injectable }); }
268
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: AXToastService }); }
268
269
  }
269
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: AXToastService, decorators: [{
270
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: AXToastService, decorators: [{
270
271
  type: Injectable
271
272
  }], ctorParameters: () => [{ type: i1.ScrollStrategyOptions }] });
272
273
 
@@ -285,18 +286,53 @@ class AXToastComponent extends MXBaseComponent {
285
286
  this.dialogRef = dialogRef;
286
287
  this.toastService = inject(AXToastService);
287
288
  this.createdDate = signal(0);
289
+ this.isPaused = signal(false);
290
+ this.remainingTime = signal(0);
291
+ this.transitionDuration = signal(150);
288
292
  /** @ignore */
289
293
  this._toastWidth = 100;
290
294
  }
291
295
  /** @ignore */
292
296
  ngOnInit() {
293
297
  super.ngOnInit();
298
+ this._initIcon();
299
+ this.createdDate.set(new Date().getTime());
300
+ this.remainingTime.set(this.config.timeOut);
301
+ this._handleTimeOut();
302
+ this.getHostElement().addEventListener('pointerenter', () => {
303
+ if (!this.config.pauseOnHover)
304
+ return;
305
+ if (this.isPaused())
306
+ return;
307
+ // Only pause if not already paused
308
+ this.isPaused.set(true);
309
+ this.pauseAnimation();
310
+ });
311
+ this.getHostElement().addEventListener('pointerleave', () => {
312
+ if (!this.config.pauseOnHover)
313
+ return;
314
+ if (!this.isPaused())
315
+ return;
316
+ // Only resume if paused
317
+ this.isPaused.set(false);
318
+ this._handleTimeOut();
319
+ });
320
+ }
321
+ pauseAnimation() {
322
+ clearInterval(this.intervalId);
323
+ }
324
+ _handleTimeOut() {
294
325
  if (this.config.timeOut) {
295
- this.createdDate.set(new Date().getTime());
296
- setTimeout(() => {
297
- this.close();
298
- }, this.config.timeOut);
326
+ this.intervalId = setInterval(() => {
327
+ this.remainingTime.update((prev) => prev - this.transitionDuration());
328
+ if (this.remainingTime() <= 0) {
329
+ clearInterval(this.intervalId);
330
+ this.close();
331
+ }
332
+ }, this.transitionDuration());
299
333
  }
334
+ }
335
+ _initIcon() {
300
336
  if (!this.config.icon) {
301
337
  switch (this.config.color) {
302
338
  case 'success':
@@ -337,12 +373,12 @@ class AXToastComponent extends MXBaseComponent {
337
373
  closeAll() {
338
374
  this.toastService.hideAll();
339
375
  }
340
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: AXToastComponent, deps: [{ token: DIALOG_DATA }, { token: i1$1.DialogRef }], target: i0.ɵɵFactoryTarget.Component }); }
341
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.8", type: AXToastComponent, isStandalone: true, selector: "ax-toast", host: { properties: { "class": "this.__hostClass" } }, providers: [{ provide: AXClosbaleComponent, useExisting: AXToastComponent }], usesInheritance: true, ngImport: i0, template: "<span class=\"ax-toast-icon ax-icon-solid {{ _icon }}\"></span>\n<div class=\"ax-toast-content\">\n <div class=\"ax-toast-title\" [class.ax-mb-2]=\"config.title && config.content\">\n {{ config.title | translate | async }}\n </div>\n <div class=\"ax-toast-content\" [innerHTML]=\"config.content\"></div>\n</div>\n@if (config.closeButton) {\n <ax-close-button></ax-close-button>\n} @else if (config.closeAllButton) {\n <ax-close-button [closeAll]=\"true\"></ax-close-button>\n}\n@if (config.timeOutProgress && config.timeOut) {\n <div class=\"ax-toast-progress\" [style.animation-duration.ms]=\"config.timeOut\"></div>\n}\n", styles: ["ax-toast.ax-default{--ax-comp-toast-bg-color: var(--ax-sys-color-lighter-surface);--ax-comp-toast-text-color: var(--ax-sys-color-on-lighter-surface);--ax-comp-toast-progress-bg-color: var(--ax-sys-color-darkest-surface)}.ax-dark ax-toast.ax-default{--ax-comp-toast-bg-color: var(--ax-sys-color-darker-surface);--ax-comp-toast-text-color: var(--ax-sys-color-on-darker-surface);--ax-comp-toast-progress-bg-color: var(--ax-sys-color-lightest-surface)}ax-toast.ax-primary{--ax-comp-toast-bg-color: var(--ax-sys-color-primary-surface);--ax-comp-toast-text-color: var(--ax-sys-color-on-primary-surface);--ax-comp-toast-progress-bg-color: var(--ax-sys-color-primary-darker-surface)}ax-toast.ax-secondary{--ax-comp-toast-bg-color: var(--ax-sys-color-secondary-surface);--ax-comp-toast-text-color: var(--ax-sys-color-on-secondary-surface);--ax-comp-toast-progress-bg-color: var(--ax-sys-color-secondary-darker-surface)}ax-toast.ax-success{--ax-comp-toast-bg-color: var(--ax-sys-color-success-surface);--ax-comp-toast-text-color: var(--ax-sys-color-on-success-surface);--ax-comp-toast-progress-bg-color: var(--ax-sys-color-success-darker-surface)}ax-toast.ax-warning{--ax-comp-toast-bg-color: var(--ax-sys-color-warning-surface);--ax-comp-toast-text-color: var(--ax-sys-color-on-warning-surface);--ax-comp-toast-progress-bg-color: var(--ax-sys-color-warning-darker-surface)}ax-toast.ax-danger{--ax-comp-toast-bg-color: var(--ax-sys-color-danger-surface);--ax-comp-toast-text-color: var(--ax-sys-color-on-danger-surface);--ax-comp-toast-progress-bg-color: var(--ax-sys-color-danger-darker-surface)}ax-toast{position:relative;display:flex;width:98vw;overflow:hidden;padding:.75rem 1rem;--ax-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--ax-shadow-colored: 0 4px 6px -1px var(--ax-shadow-color), 0 2px 4px -2px var(--ax-shadow-color);box-shadow:var(--ax-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)),var(--ax-ring-shadow, 0 0 rgba(0, 0, 0, 0)),var(--ax-shadow);color:rgba(var(--ax-comp-toast-text-color));background-color:rgba(var(--ax-comp-toast-bg-color));font-size:var(--ax-comp-toast-font-size, .875rem);line-height:var(--ax-comp-toast-line-height, 1.25rem);border-radius:var(--ax-comp-toast-border-radius, var(--ax-sys-border-radius))}@media (min-width: 768px){ax-toast{width:24rem}}ax-toast .ax-toast-icon,ax-toast .ax-icon-close{font-size:1.25rem;max-width:fit-content;align-items:start}ax-toast .ax-toast-icon{margin-inline-end:.5rem}ax-toast .ax-toast-content{display:flex;flex:1 1 0%;flex-direction:column}ax-toast .ax-toast-content .ax-toast-title{font-weight:500;line-height:1.5rem}ax-toast .ax-toast-content .ax-toast-buttons{margin-top:.75rem;margin-bottom:.75rem;display:flex;gap:.5rem}ax-toast ax-icon-close{height:fit-content}ax-toast ax-icon-close:hover{opacity:.75}ax-toast .ax-toast-progress{animation-duration:4s;animation-timing-function:linear;animation-name:progressBar;background-color:rgba(var(--ax-comp-toast-progress-bg-color, 255, 255, 255, .46));position:absolute;bottom:0;inset-inline-end:0px;inset-inline-start:0px;height:.25rem;width:100%}@keyframes progressBar{0%{width:100%}to{width:0%}}\n"], dependencies: [{ kind: "component", type: AXDecoratorCloseButtonComponent, selector: "ax-close-button", inputs: ["closeAll", "icon"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
376
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: AXToastComponent, deps: [{ token: DIALOG_DATA }, { token: i1$1.DialogRef }], target: i0.ɵɵFactoryTarget.Component }); }
377
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.1", type: AXToastComponent, isStandalone: true, selector: "ax-toast", host: { properties: { "class": "this.__hostClass" } }, providers: [{ provide: AXClosbaleComponent, useExisting: AXToastComponent }], usesInheritance: true, ngImport: i0, template: "<span class=\"ax-toast-icon ax-icon-solid {{ _icon }}\"></span>\n<div class=\"ax-toast-content\">\n <div class=\"ax-toast-title\" [class.ax-mb-2]=\"config.title && config.content\">\n {{ config.title | translate | async }}\n </div>\n <div class=\"ax-toast-content\" [innerHTML]=\"config.content\"></div>\n</div>\n@if (config.closeButton) {\n <ax-close-button></ax-close-button>\n} @else if (config.closeAllButton) {\n <ax-close-button [closeAll]=\"true\"></ax-close-button>\n}\n@if (config.timeOutProgress && config.timeOut) {\n <div class=\"ax-toast-progress\" [style.transition-duration]=\"transitionDuration()\" [style.width]=\"(remainingTime() * 100) / config.timeOut + '%'\"></div>\n}\n", styles: ["ax-toast.ax-default{--ax-comp-toast-bg-color: var(--ax-sys-color-lighter-surface);--ax-comp-toast-text-color: var(--ax-sys-color-on-lighter-surface);--ax-comp-toast-progress-bg-color: var(--ax-sys-color-darkest-surface)}.ax-dark ax-toast.ax-default{--ax-comp-toast-bg-color: var(--ax-sys-color-darker-surface);--ax-comp-toast-text-color: var(--ax-sys-color-on-darker-surface);--ax-comp-toast-progress-bg-color: var(--ax-sys-color-lightest-surface)}ax-toast.ax-primary{--ax-comp-toast-bg-color: var(--ax-sys-color-primary-surface);--ax-comp-toast-text-color: var(--ax-sys-color-on-primary-surface);--ax-comp-toast-progress-bg-color: var(--ax-sys-color-primary-darker-surface)}ax-toast.ax-secondary{--ax-comp-toast-bg-color: var(--ax-sys-color-secondary-surface);--ax-comp-toast-text-color: var(--ax-sys-color-on-secondary-surface);--ax-comp-toast-progress-bg-color: var(--ax-sys-color-secondary-darker-surface)}ax-toast.ax-success{--ax-comp-toast-bg-color: var(--ax-sys-color-success-surface);--ax-comp-toast-text-color: var(--ax-sys-color-on-success-surface);--ax-comp-toast-progress-bg-color: var(--ax-sys-color-success-darker-surface)}ax-toast.ax-warning{--ax-comp-toast-bg-color: var(--ax-sys-color-warning-surface);--ax-comp-toast-text-color: var(--ax-sys-color-on-warning-surface);--ax-comp-toast-progress-bg-color: var(--ax-sys-color-warning-darker-surface)}ax-toast.ax-danger{--ax-comp-toast-bg-color: var(--ax-sys-color-danger-surface);--ax-comp-toast-text-color: var(--ax-sys-color-on-danger-surface);--ax-comp-toast-progress-bg-color: var(--ax-sys-color-danger-darker-surface)}ax-toast{position:relative;display:flex;width:98vw;overflow:hidden;padding:.75rem 1rem;--ax-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--ax-shadow-colored: 0 4px 6px -1px var(--ax-shadow-color), 0 2px 4px -2px var(--ax-shadow-color);box-shadow:var(--ax-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)),var(--ax-ring-shadow, 0 0 rgba(0, 0, 0, 0)),var(--ax-shadow);color:rgba(var(--ax-comp-toast-text-color));background-color:rgba(var(--ax-comp-toast-bg-color));font-size:var(--ax-comp-toast-font-size, .875rem);line-height:var(--ax-comp-toast-line-height, 1.25rem);border-radius:var(--ax-comp-toast-border-radius, var(--ax-sys-border-radius))}@media (min-width: 768px){ax-toast{width:24rem}}ax-toast .ax-toast-icon,ax-toast .ax-icon-close{font-size:1.25rem;max-width:fit-content;align-items:start}ax-toast .ax-toast-icon{margin-inline-end:.5rem}ax-toast .ax-toast-content{display:flex;flex:1 1 0%;flex-direction:column}ax-toast .ax-toast-content .ax-toast-title{font-weight:500;line-height:1.5rem}ax-toast .ax-toast-content .ax-toast-buttons{margin-top:.75rem;margin-bottom:.75rem;display:flex;gap:.5rem}ax-toast ax-icon-close{height:fit-content}ax-toast ax-icon-close:hover{opacity:.75}ax-toast .ax-toast-progress{width:100%;bottom:0;height:.25rem;position:absolute;inset-inline-end:0px;inset-inline-start:0px;transition-property:width;transition-timing-function:linear;transition-duration:var(--ax-sys-transition-duration);background-color:rgba(var(--ax-comp-toast-progress-bg-color, 255, 255, 255, .46))}\n"], dependencies: [{ kind: "component", type: AXDecoratorCloseButtonComponent, selector: "ax-close-button", inputs: ["closeAll", "icon"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
342
378
  }
343
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: AXToastComponent, decorators: [{
379
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: AXToastComponent, decorators: [{
344
380
  type: Component,
345
- args: [{ selector: 'ax-toast', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [{ provide: AXClosbaleComponent, useExisting: AXToastComponent }], imports: [AXDecoratorCloseButtonComponent, AsyncPipe, AXTranslatorPipe], template: "<span class=\"ax-toast-icon ax-icon-solid {{ _icon }}\"></span>\n<div class=\"ax-toast-content\">\n <div class=\"ax-toast-title\" [class.ax-mb-2]=\"config.title && config.content\">\n {{ config.title | translate | async }}\n </div>\n <div class=\"ax-toast-content\" [innerHTML]=\"config.content\"></div>\n</div>\n@if (config.closeButton) {\n <ax-close-button></ax-close-button>\n} @else if (config.closeAllButton) {\n <ax-close-button [closeAll]=\"true\"></ax-close-button>\n}\n@if (config.timeOutProgress && config.timeOut) {\n <div class=\"ax-toast-progress\" [style.animation-duration.ms]=\"config.timeOut\"></div>\n}\n", styles: ["ax-toast.ax-default{--ax-comp-toast-bg-color: var(--ax-sys-color-lighter-surface);--ax-comp-toast-text-color: var(--ax-sys-color-on-lighter-surface);--ax-comp-toast-progress-bg-color: var(--ax-sys-color-darkest-surface)}.ax-dark ax-toast.ax-default{--ax-comp-toast-bg-color: var(--ax-sys-color-darker-surface);--ax-comp-toast-text-color: var(--ax-sys-color-on-darker-surface);--ax-comp-toast-progress-bg-color: var(--ax-sys-color-lightest-surface)}ax-toast.ax-primary{--ax-comp-toast-bg-color: var(--ax-sys-color-primary-surface);--ax-comp-toast-text-color: var(--ax-sys-color-on-primary-surface);--ax-comp-toast-progress-bg-color: var(--ax-sys-color-primary-darker-surface)}ax-toast.ax-secondary{--ax-comp-toast-bg-color: var(--ax-sys-color-secondary-surface);--ax-comp-toast-text-color: var(--ax-sys-color-on-secondary-surface);--ax-comp-toast-progress-bg-color: var(--ax-sys-color-secondary-darker-surface)}ax-toast.ax-success{--ax-comp-toast-bg-color: var(--ax-sys-color-success-surface);--ax-comp-toast-text-color: var(--ax-sys-color-on-success-surface);--ax-comp-toast-progress-bg-color: var(--ax-sys-color-success-darker-surface)}ax-toast.ax-warning{--ax-comp-toast-bg-color: var(--ax-sys-color-warning-surface);--ax-comp-toast-text-color: var(--ax-sys-color-on-warning-surface);--ax-comp-toast-progress-bg-color: var(--ax-sys-color-warning-darker-surface)}ax-toast.ax-danger{--ax-comp-toast-bg-color: var(--ax-sys-color-danger-surface);--ax-comp-toast-text-color: var(--ax-sys-color-on-danger-surface);--ax-comp-toast-progress-bg-color: var(--ax-sys-color-danger-darker-surface)}ax-toast{position:relative;display:flex;width:98vw;overflow:hidden;padding:.75rem 1rem;--ax-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--ax-shadow-colored: 0 4px 6px -1px var(--ax-shadow-color), 0 2px 4px -2px var(--ax-shadow-color);box-shadow:var(--ax-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)),var(--ax-ring-shadow, 0 0 rgba(0, 0, 0, 0)),var(--ax-shadow);color:rgba(var(--ax-comp-toast-text-color));background-color:rgba(var(--ax-comp-toast-bg-color));font-size:var(--ax-comp-toast-font-size, .875rem);line-height:var(--ax-comp-toast-line-height, 1.25rem);border-radius:var(--ax-comp-toast-border-radius, var(--ax-sys-border-radius))}@media (min-width: 768px){ax-toast{width:24rem}}ax-toast .ax-toast-icon,ax-toast .ax-icon-close{font-size:1.25rem;max-width:fit-content;align-items:start}ax-toast .ax-toast-icon{margin-inline-end:.5rem}ax-toast .ax-toast-content{display:flex;flex:1 1 0%;flex-direction:column}ax-toast .ax-toast-content .ax-toast-title{font-weight:500;line-height:1.5rem}ax-toast .ax-toast-content .ax-toast-buttons{margin-top:.75rem;margin-bottom:.75rem;display:flex;gap:.5rem}ax-toast ax-icon-close{height:fit-content}ax-toast ax-icon-close:hover{opacity:.75}ax-toast .ax-toast-progress{animation-duration:4s;animation-timing-function:linear;animation-name:progressBar;background-color:rgba(var(--ax-comp-toast-progress-bg-color, 255, 255, 255, .46));position:absolute;bottom:0;inset-inline-end:0px;inset-inline-start:0px;height:.25rem;width:100%}@keyframes progressBar{0%{width:100%}to{width:0%}}\n"] }]
381
+ args: [{ selector: 'ax-toast', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [{ provide: AXClosbaleComponent, useExisting: AXToastComponent }], imports: [AXDecoratorCloseButtonComponent, AsyncPipe, AXTranslatorPipe], template: "<span class=\"ax-toast-icon ax-icon-solid {{ _icon }}\"></span>\n<div class=\"ax-toast-content\">\n <div class=\"ax-toast-title\" [class.ax-mb-2]=\"config.title && config.content\">\n {{ config.title | translate | async }}\n </div>\n <div class=\"ax-toast-content\" [innerHTML]=\"config.content\"></div>\n</div>\n@if (config.closeButton) {\n <ax-close-button></ax-close-button>\n} @else if (config.closeAllButton) {\n <ax-close-button [closeAll]=\"true\"></ax-close-button>\n}\n@if (config.timeOutProgress && config.timeOut) {\n <div class=\"ax-toast-progress\" [style.transition-duration]=\"transitionDuration()\" [style.width]=\"(remainingTime() * 100) / config.timeOut + '%'\"></div>\n}\n", styles: ["ax-toast.ax-default{--ax-comp-toast-bg-color: var(--ax-sys-color-lighter-surface);--ax-comp-toast-text-color: var(--ax-sys-color-on-lighter-surface);--ax-comp-toast-progress-bg-color: var(--ax-sys-color-darkest-surface)}.ax-dark ax-toast.ax-default{--ax-comp-toast-bg-color: var(--ax-sys-color-darker-surface);--ax-comp-toast-text-color: var(--ax-sys-color-on-darker-surface);--ax-comp-toast-progress-bg-color: var(--ax-sys-color-lightest-surface)}ax-toast.ax-primary{--ax-comp-toast-bg-color: var(--ax-sys-color-primary-surface);--ax-comp-toast-text-color: var(--ax-sys-color-on-primary-surface);--ax-comp-toast-progress-bg-color: var(--ax-sys-color-primary-darker-surface)}ax-toast.ax-secondary{--ax-comp-toast-bg-color: var(--ax-sys-color-secondary-surface);--ax-comp-toast-text-color: var(--ax-sys-color-on-secondary-surface);--ax-comp-toast-progress-bg-color: var(--ax-sys-color-secondary-darker-surface)}ax-toast.ax-success{--ax-comp-toast-bg-color: var(--ax-sys-color-success-surface);--ax-comp-toast-text-color: var(--ax-sys-color-on-success-surface);--ax-comp-toast-progress-bg-color: var(--ax-sys-color-success-darker-surface)}ax-toast.ax-warning{--ax-comp-toast-bg-color: var(--ax-sys-color-warning-surface);--ax-comp-toast-text-color: var(--ax-sys-color-on-warning-surface);--ax-comp-toast-progress-bg-color: var(--ax-sys-color-warning-darker-surface)}ax-toast.ax-danger{--ax-comp-toast-bg-color: var(--ax-sys-color-danger-surface);--ax-comp-toast-text-color: var(--ax-sys-color-on-danger-surface);--ax-comp-toast-progress-bg-color: var(--ax-sys-color-danger-darker-surface)}ax-toast{position:relative;display:flex;width:98vw;overflow:hidden;padding:.75rem 1rem;--ax-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--ax-shadow-colored: 0 4px 6px -1px var(--ax-shadow-color), 0 2px 4px -2px var(--ax-shadow-color);box-shadow:var(--ax-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)),var(--ax-ring-shadow, 0 0 rgba(0, 0, 0, 0)),var(--ax-shadow);color:rgba(var(--ax-comp-toast-text-color));background-color:rgba(var(--ax-comp-toast-bg-color));font-size:var(--ax-comp-toast-font-size, .875rem);line-height:var(--ax-comp-toast-line-height, 1.25rem);border-radius:var(--ax-comp-toast-border-radius, var(--ax-sys-border-radius))}@media (min-width: 768px){ax-toast{width:24rem}}ax-toast .ax-toast-icon,ax-toast .ax-icon-close{font-size:1.25rem;max-width:fit-content;align-items:start}ax-toast .ax-toast-icon{margin-inline-end:.5rem}ax-toast .ax-toast-content{display:flex;flex:1 1 0%;flex-direction:column}ax-toast .ax-toast-content .ax-toast-title{font-weight:500;line-height:1.5rem}ax-toast .ax-toast-content .ax-toast-buttons{margin-top:.75rem;margin-bottom:.75rem;display:flex;gap:.5rem}ax-toast ax-icon-close{height:fit-content}ax-toast ax-icon-close:hover{opacity:.75}ax-toast .ax-toast-progress{width:100%;bottom:0;height:.25rem;position:absolute;inset-inline-end:0px;inset-inline-start:0px;transition-property:width;transition-timing-function:linear;transition-duration:var(--ax-sys-transition-duration);background-color:rgba(var(--ax-comp-toast-progress-bg-color, 255, 255, 255, .46))}\n"] }]
346
382
  }], ctorParameters: () => [{ type: undefined, decorators: [{
347
383
  type: Inject,
348
384
  args: [DIALOG_DATA]
@@ -354,11 +390,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImpor
354
390
  const COMPONENT = [AXToastComponent];
355
391
  const MODULES = [CommonModule, AXButtonModule, AXDecoratorModule, AXLoadingModule, DialogModule, AXTranslationModule];
356
392
  class AXToastModule {
357
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: AXToastModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
358
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.8", ngImport: i0, type: AXToastModule, imports: [CommonModule, AXButtonModule, AXDecoratorModule, AXLoadingModule, DialogModule, AXTranslationModule, AXToastComponent], exports: [AXToastComponent] }); }
359
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: AXToastModule, providers: [AXToastService], imports: [MODULES, COMPONENT] }); }
393
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: AXToastModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
394
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.1", ngImport: i0, type: AXToastModule, imports: [CommonModule, AXButtonModule, AXDecoratorModule, AXLoadingModule, DialogModule, AXTranslationModule, AXToastComponent], exports: [AXToastComponent] }); }
395
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: AXToastModule, providers: [AXToastService], imports: [MODULES, COMPONENT] }); }
360
396
  }
361
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: AXToastModule, decorators: [{
397
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: AXToastModule, decorators: [{
362
398
  type: NgModule,
363
399
  args: [{
364
400
  imports: [...MODULES, ...COMPONENT],
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-toast.mjs","sources":["../../../../libs/components/toast/src/lib/toast.config.ts","../../../../libs/components/toast/src/lib/toast.service.ts","../../../../libs/components/toast/src/lib/toast.component.ts","../../../../libs/components/toast/src/lib/toast.component.html","../../../../libs/components/toast/src/lib/toast.module.ts","../../../../libs/components/toast/src/acorex-components-toast.ts"],"sourcesContent":["import { AXLocation } from '@acorex/components/common';\nimport { AX_GLOBAL_CONFIG } from '@acorex/core/config';\nimport { InjectionToken, inject } from '@angular/core';\nimport { set } from 'lodash-es';\n\nexport interface AXToastConfig {\n gap: number;\n timeOut: number;\n timeOutProgress: boolean;\n location: AXLocation;\n limit: number;\n}\n\nexport const AX_TOAST_CONFIG = new InjectionToken<AXToastConfig>('AX_TOAST_CONFIG', {\n providedIn: 'root',\n factory: () => {\n const global = inject(AX_GLOBAL_CONFIG);\n set(global, 'layout.toast', AX_TOAST_CONFIG);\n return AXToastDefaultConfig;\n },\n});\n\nexport const AXToastDefaultConfig: AXToastConfig = {\n gap: 5,\n timeOut: 2500,\n timeOutProgress: true,\n location: 'bottom-center',\n limit: 3,\n};\n\nexport type PartialToastConfig = Partial<AXToastConfig>;\n\nexport function toastConfig(config: PartialToastConfig = {}): AXToastConfig {\n const result = {\n ...AXToastDefaultConfig,\n ...config,\n };\n return result;\n}\n","import { AXLocation, AXStyleColorType } from '@acorex/components/common';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { Dialog } from '@angular/cdk/dialog';\nimport { GlobalPositionStrategy, ScrollStrategy, ScrollStrategyOptions } from '@angular/cdk/overlay';\nimport { Injectable, inject, signal } from '@angular/core';\nimport { AXToastData, AXToastDisplayConfig, AXToastRef } from './toast.class';\nimport { AXToastComponent } from './toast.component';\nimport { AXToastConfig, AX_TOAST_CONFIG } from './toast.config';\n\ntype AXReservedToasts = {\n config: AXToastDisplayConfig;\n reservedRef: {\n close: () => void;\n };\n};\ntype AXMoreToastsConfig = {\n timeOut?: number;\n timeOutProgress?: boolean;\n color: AXStyleColorType;\n location: AXLocation;\n};\n\n@Injectable()\nexport class AXToastService {\n private dialog: Dialog = inject(Dialog);\n private defaultConfig: AXToastConfig = inject(AX_TOAST_CONFIG);\n private translationService: AXTranslationService = inject(AXTranslationService);\n\n private reserveCounter = signal(0);\n private activeToasts = signal<string[]>([]);\n private reservedToasts = signal<AXReservedToasts[]>([]);\n private toastCounterElement = signal<AXToastComponent | null>(null);\n private moreToastsConfig = signal<AXMoreToastsConfig>({ color: 'primary', location: 'bottom-center' });\n\n scrollStrategy: ScrollStrategy;\n\n constructor(private readonly scrollStrategyOptions: ScrollStrategyOptions) {\n this.scrollStrategy = this.scrollStrategyOptions.noop();\n }\n\n primary(content: string) {\n this.show({\n timeOut: this.defaultConfig.timeOut,\n color: 'primary',\n content: content,\n });\n }\n secondary(content: string) {\n this.show({\n timeOut: this.defaultConfig.timeOut,\n color: 'secondary',\n content: content,\n });\n }\n success(content: string) {\n this.show({\n timeOut: this.defaultConfig.timeOut,\n color: 'success',\n content: content,\n });\n }\n warning(content: string) {\n this.show({\n timeOut: this.defaultConfig.timeOut,\n color: 'warning',\n content: content,\n });\n }\n danger(content: string) {\n this.show({\n timeOut: this.defaultConfig.timeOut,\n color: 'danger',\n content: content,\n });\n }\n\n default(content: string) {\n this.show({\n timeOut: this.defaultConfig.timeOut,\n color: 'default',\n content: content,\n });\n }\n\n show(config: AXToastDisplayConfig): AXToastRef {\n config = { ...this.defaultConfig, ...config };\n\n this.moreToastsConfig.set({\n color: config.color,\n location: config.location,\n timeOut: config.timeOut,\n timeOutProgress: config.timeOutProgress,\n });\n\n if (this.defaultConfig.limit > 0 && this.activeToasts().length >= this.defaultConfig.limit) {\n const reservedRef = {\n close: () => {\n console.warn('Reserved notification cannot be closed until it is displayed.');\n },\n };\n this.reservedToasts.update((prev) => [...prev, { config, reservedRef }]);\n this.handleReservedToastCounter();\n return reservedRef;\n }\n\n return this.displayToast(config);\n }\n\n private displayToast(config: AXToastDisplayConfig): AXToastRef {\n const gap = this.defaultConfig.gap;\n const pos = this.getPosition(config.location) + gap + 'px';\n const positionStrategy = this.getPositionStrategy(new GlobalPositionStrategy(), config.location, pos, gap);\n const dialogRef = this.dialog.open(AXToastComponent, {\n data: config,\n autoFocus: '__no_element__',\n restoreFocus: true,\n role: 'dialog',\n ariaModal: true,\n closeOnNavigation: true,\n closeOnDestroy: true,\n hasBackdrop: false,\n panelClass: ['ax-animate-animated', 'ax-animate-fadeIn', 'ax-animate-faster'],\n positionStrategy,\n scrollStrategy: this.scrollStrategy,\n });\n\n this.activeToasts.update((prev) => [...prev, dialogRef.id]);\n this.handleReservedToastCounter();\n\n const toastRef = dialogRef.componentInstance as AXToastComponent;\n dialogRef.closed.subscribe(() => {\n this.activeToasts.set(this.activeToasts().filter((id) => id !== dialogRef.id));\n\n this.handleShowReservedToast();\n this.handleReservedToastCounter();\n\n setTimeout(() => {\n this.reposition(config.location, gap);\n });\n });\n\n return {\n close: () => {\n toastRef.close();\n },\n };\n }\n\n hideAll() {\n this.reserveCounter.set(0);\n this.reservedToasts.set([]);\n this.activeToasts.set([]);\n this.dialog.closeAll();\n this.handleReservedToastCounter();\n }\n\n private handleShowReservedToast() {\n if (this.activeToasts().length > this.defaultConfig.limit - 1) return;\n if (!this.reservedToasts().length) return;\n\n const { config, reservedRef } = this.reservedToasts().shift();\n\n const displayedRef = this.displayToast(config);\n this.handleReservedToastCounter();\n reservedRef.close = displayedRef.close;\n }\n\n private handleReservedToastCounter() {\n const reservedCount = this.reservedToasts().length;\n\n if (reservedCount === this.reserveCounter()) return;\n\n this.reserveCounter.set(reservedCount);\n\n if (reservedCount === 0 && this.toastCounterElement() !== null) {\n this.toastCounterElement().close();\n return;\n }\n\n if (reservedCount > 0) {\n if (this.toastCounterElement() !== null) {\n this.toastCounterElement().close();\n }\n const remainingTime = (this.dialog.getDialogById(this.activeToasts()[0]).componentRef.instance as AXToastComponent).createdDate();\n\n this.createReservedCounterToast(remainingTime);\n }\n }\n\n private async createReservedCounterToast(remainingTime: number) {\n const timeOut = Math.min(this.moreToastsConfig().timeOut - (new Date().getTime() - remainingTime), this.moreToastsConfig().timeOut);\n const opt: AXToastData = {\n closeButton: false,\n color: this.moreToastsConfig().color,\n location: this.moreToastsConfig().location,\n title: await this.translationService.translateAsync('more-toast', {\n params: { number: this.reserveCounter() },\n }),\n timeOut,\n timeOutProgress: this.moreToastsConfig().timeOutProgress,\n closeAllButton: true,\n };\n const gap = this.defaultConfig.gap;\n const pos = this.getPosition(opt.location) + gap + 'px';\n const positionStrategy = this.getPositionStrategy(new GlobalPositionStrategy(), opt.location, pos, gap);\n const dialogRef = this.dialog.open(AXToastComponent, {\n data: opt,\n autoFocus: '__no_element__',\n restoreFocus: true,\n role: 'dialog',\n ariaModal: true,\n closeOnNavigation: true,\n closeOnDestroy: true,\n hasBackdrop: false,\n panelClass: ['ax-animate-animated', 'ax-animate-fadeIn', 'ax-animate-faster'],\n positionStrategy,\n scrollStrategy: this.scrollStrategy,\n });\n this.toastCounterElement.set(dialogRef.componentInstance as AXToastComponent);\n }\n\n private reposition(toastLocation: AXLocation, gap: number): void {\n const list = this.dialog.openDialogs.map((c) => c.componentInstance as AXToastComponent).filter((c) => c.config?.location == toastLocation);\n\n list.forEach((element, index) => {\n const pos = this.getRepositionPosition(index, gap, list, toastLocation);\n\n this.getPositionStrategy(element.dialogRef.config.positionStrategy as GlobalPositionStrategy, toastLocation, pos, gap).apply();\n });\n }\n\n private getRepositionPosition(index: number, gap: number, list: AXToastComponent[], toastLocation: string) {\n if (index === 0) return gap + 'px';\n const previouseElement = list[index - 1];\n if (toastLocation.split('-')[0] == 'bottom') {\n return window.innerHeight - previouseElement.getHostElement().offsetTop + gap + 'px';\n }\n return previouseElement.getHostElement().offsetTop + previouseElement.getHostElement().offsetHeight + gap + 'px';\n }\n\n private getPosition(location: string) {\n const list = this.dialog.openDialogs.map((c) => c.componentInstance as AXToastComponent).filter((c) => c.config?.location == location);\n if (list.length == 0) return 0;\n if (location.split('-')[0] == 'bottom') {\n return window.innerHeight - list[list.length - 1].getHostElement().offsetTop;\n }\n return list[list.length - 1].getHostElement().offsetTop + list[list.length - 1].getHostElement().offsetHeight;\n }\n\n private getPositionStrategy(positionStrategy: GlobalPositionStrategy, location: AXLocation, pos: string, gap: number) {\n switch (location) {\n case 'bottom-center':\n return positionStrategy.bottom(pos).centerHorizontally();\n break;\n case 'bottom-end':\n return positionStrategy.bottom(pos).right(gap + 'px');\n break;\n case 'bottom-start':\n return positionStrategy.bottom(pos).left(gap + 'px');\n break;\n case 'top-center':\n return positionStrategy.top(pos).centerHorizontally();\n break;\n case 'top-end':\n return positionStrategy.top(pos).right(gap + 'px');\n break;\n case 'top-start':\n return positionStrategy.top(pos).left(gap + 'px');\n break;\n case 'center-start':\n return positionStrategy.centerVertically().left(gap + 'px');\n break;\n case 'center-end':\n return positionStrategy.centerVertically().right(gap + 'px');\n break;\n }\n }\n}\n","import { AXButtonItem } from '@acorex/components/button';\nimport { AXClosbaleComponent, AXComponentCloseEvent, MXBaseComponent } from '@acorex/components/common';\nimport { AXDecoratorCloseButtonComponent } from '@acorex/components/decorators';\nimport { AXTranslatorPipe } from '@acorex/core/translation';\nimport { DIALOG_DATA, DialogRef } from '@angular/cdk/dialog';\nimport { AsyncPipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, HostBinding, inject, Inject, OnInit, signal, ViewEncapsulation } from '@angular/core';\nimport { AXToastData } from './toast.class';\nimport { AXToastService } from './toast.service';\n\n/**\n * The Button is a component which detects user interaction and triggers a corresponding event\n *\n * @category Components\n */\n@Component({\n selector: 'ax-toast',\n templateUrl: './toast.component.html',\n styleUrls: ['./toast.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: AXClosbaleComponent, useExisting: AXToastComponent }],\n imports: [AXDecoratorCloseButtonComponent, AsyncPipe, AXTranslatorPipe],\n})\nexport class AXToastComponent extends MXBaseComponent implements OnInit {\n toastService = inject(AXToastService);\n createdDate = signal(0);\n\n /** @ignore */\n protected _toastWidth = 100;\n\n /** @ignore */\n protected _icon: string;\n\n /**\n * @ignore\n */\n constructor(\n @Inject(DIALOG_DATA)\n public config: AXToastData,\n public dialogRef: DialogRef<AXComponentCloseEvent>,\n ) {\n super();\n }\n\n /** @ignore */\n override ngOnInit() {\n super.ngOnInit();\n if (this.config.timeOut) {\n this.createdDate.set(new Date().getTime());\n setTimeout(() => {\n this.close();\n }, this.config.timeOut);\n }\n if (!this.config.icon) {\n switch (this.config.color) {\n case 'success':\n this._icon = 'ax-icon ax-icon-check-circle';\n break;\n case 'warning':\n this._icon = 'ax-icon ax-icon-warning';\n break;\n case 'danger':\n this._icon = 'ax-icon ax-icon-error';\n break;\n default:\n this._icon = this.config.icon || 'ax-icon ax-icon-info';\n break;\n }\n } else {\n this._icon = this.config.icon;\n }\n }\n\n /** @ignore */\n _handleButtonClick(button: AXButtonItem) {\n if (button.onClick) {\n button.onClick({ source: button });\n }\n }\n\n /** @ignore */\n @HostBinding('class')\n private get __hostClass(): string {\n return `ax-${this.config.color}`;\n }\n\n /** @ignore */\n close() {\n this.dialogRef.close({\n component: this,\n htmlElement: this.getHostElement(),\n });\n }\n\n closeAll() {\n this.toastService.hideAll();\n }\n}\n","<span class=\"ax-toast-icon ax-icon-solid {{ _icon }}\"></span>\n<div class=\"ax-toast-content\">\n <div class=\"ax-toast-title\" [class.ax-mb-2]=\"config.title && config.content\">\n {{ config.title | translate | async }}\n </div>\n <div class=\"ax-toast-content\" [innerHTML]=\"config.content\"></div>\n</div>\n@if (config.closeButton) {\n <ax-close-button></ax-close-button>\n} @else if (config.closeAllButton) {\n <ax-close-button [closeAll]=\"true\"></ax-close-button>\n}\n@if (config.timeOutProgress && config.timeOut) {\n <div class=\"ax-toast-progress\" [style.animation-duration.ms]=\"config.timeOut\"></div>\n}\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { DialogModule } from '@angular/cdk/dialog';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXToastComponent } from './toast.component';\nimport { AXToastService } from './toast.service';\n\nconst COMPONENT = [AXToastComponent];\nconst MODULES = [CommonModule, AXButtonModule, AXDecoratorModule, AXLoadingModule, DialogModule, AXTranslationModule];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [AXToastService],\n})\nexport class AXToastModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-toast.mjs","sources":["../../../../libs/components/toast/src/lib/toast.config.ts","../../../../libs/components/toast/src/lib/toast.service.ts","../../../../libs/components/toast/src/lib/toast.component.ts","../../../../libs/components/toast/src/lib/toast.component.html","../../../../libs/components/toast/src/lib/toast.module.ts","../../../../libs/components/toast/src/acorex-components-toast.ts"],"sourcesContent":["import { AXLocation } from '@acorex/components/common';\nimport { AX_GLOBAL_CONFIG } from '@acorex/core/config';\nimport { InjectionToken, inject } from '@angular/core';\nimport { set } from 'lodash-es';\n\nexport interface AXToastConfig {\n gap: number;\n timeOut: number;\n timeOutProgress: boolean;\n location: AXLocation;\n limit: number;\n pauseOnHover: boolean;\n}\n\nexport const AX_TOAST_CONFIG = new InjectionToken<AXToastConfig>('AX_TOAST_CONFIG', {\n providedIn: 'root',\n factory: () => {\n const global = inject(AX_GLOBAL_CONFIG);\n set(global, 'layout.toast', AX_TOAST_CONFIG);\n return AXToastDefaultConfig;\n },\n});\n\nexport const AXToastDefaultConfig: AXToastConfig = {\n gap: 5,\n timeOut: 2500,\n timeOutProgress: true,\n location: 'bottom-center',\n limit: 3,\n pauseOnHover: true,\n};\n\nexport type PartialToastConfig = Partial<AXToastConfig>;\n\nexport function toastConfig(config: PartialToastConfig = {}): AXToastConfig {\n const result = {\n ...AXToastDefaultConfig,\n ...config,\n };\n return result;\n}\n","import { AXLocation, AXStyleColorType } from '@acorex/components/common';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { Dialog } from '@angular/cdk/dialog';\nimport { GlobalPositionStrategy, ScrollStrategy, ScrollStrategyOptions } from '@angular/cdk/overlay';\nimport { Injectable, inject, signal } from '@angular/core';\nimport { AXToastData, AXToastDisplayConfig, AXToastRef } from './toast.class';\nimport { AXToastComponent } from './toast.component';\nimport { AXToastConfig, AX_TOAST_CONFIG } from './toast.config';\n\ntype AXReservedToasts = {\n config: AXToastDisplayConfig;\n reservedRef: {\n close: () => void;\n };\n};\ntype AXMoreToastsConfig = {\n timeOut?: number;\n timeOutProgress?: boolean;\n color: AXStyleColorType;\n location: AXLocation;\n};\n\n@Injectable()\nexport class AXToastService {\n private dialog: Dialog = inject(Dialog);\n private defaultConfig: AXToastConfig = inject(AX_TOAST_CONFIG);\n private translationService: AXTranslationService = inject(AXTranslationService);\n\n private reserveCounter = signal(0);\n private activeToasts = signal<string[]>([]);\n private reservedToasts = signal<AXReservedToasts[]>([]);\n private toastCounterElement = signal<AXToastComponent | null>(null);\n private moreToastsConfig = signal<AXMoreToastsConfig>({ color: 'primary', location: 'bottom-center' });\n\n scrollStrategy: ScrollStrategy;\n\n constructor(private readonly scrollStrategyOptions: ScrollStrategyOptions) {\n this.scrollStrategy = this.scrollStrategyOptions.noop();\n }\n\n primary(content: string) {\n this.show({\n timeOut: this.defaultConfig.timeOut,\n color: 'primary',\n content: content,\n });\n }\n secondary(content: string) {\n this.show({\n timeOut: this.defaultConfig.timeOut,\n color: 'secondary',\n content: content,\n });\n }\n success(content: string) {\n this.show({\n timeOut: this.defaultConfig.timeOut,\n color: 'success',\n content: content,\n });\n }\n warning(content: string) {\n this.show({\n timeOut: this.defaultConfig.timeOut,\n color: 'warning',\n content: content,\n });\n }\n danger(content: string) {\n this.show({\n timeOut: this.defaultConfig.timeOut,\n color: 'danger',\n content: content,\n });\n }\n\n default(content: string) {\n this.show({\n timeOut: this.defaultConfig.timeOut,\n color: 'default',\n content: content,\n });\n }\n\n show(config: AXToastDisplayConfig): AXToastRef {\n config = { ...this.defaultConfig, ...config };\n\n this.moreToastsConfig.set({\n color: config.color,\n location: config.location,\n timeOut: config.timeOut,\n timeOutProgress: config.timeOutProgress,\n });\n\n if (this.defaultConfig.limit > 0 && this.activeToasts().length >= this.defaultConfig.limit) {\n const reservedRef = {\n close: () => {\n console.warn('Reserved notification cannot be closed until it is displayed.');\n },\n };\n this.reservedToasts.update((prev) => [...prev, { config, reservedRef }]);\n this.handleReservedToastCounter();\n return reservedRef;\n }\n\n return this.displayToast(config);\n }\n\n private displayToast(config: AXToastDisplayConfig): AXToastRef {\n const gap = this.defaultConfig.gap;\n const pos = this.getPosition(config.location) + gap + 'px';\n const positionStrategy = this.getPositionStrategy(new GlobalPositionStrategy(), config.location, pos, gap);\n const dialogRef = this.dialog.open(AXToastComponent, {\n data: config,\n autoFocus: '__no_element__',\n restoreFocus: true,\n role: 'dialog',\n ariaModal: true,\n closeOnNavigation: true,\n closeOnDestroy: true,\n hasBackdrop: false,\n panelClass: ['ax-animate-animated', 'ax-animate-fadeIn', 'ax-animate-faster'],\n positionStrategy,\n scrollStrategy: this.scrollStrategy,\n });\n\n this.activeToasts.update((prev) => [...prev, dialogRef.id]);\n this.handleReservedToastCounter();\n\n const toastRef = dialogRef.componentInstance as AXToastComponent;\n dialogRef.closed.subscribe(() => {\n this.activeToasts.set(this.activeToasts().filter((id) => id !== dialogRef.id));\n\n this.handleShowReservedToast();\n this.handleReservedToastCounter();\n\n setTimeout(() => {\n this.reposition(config.location, gap);\n });\n });\n\n return {\n close: () => {\n toastRef.close();\n },\n };\n }\n\n hideAll() {\n this.reserveCounter.set(0);\n this.reservedToasts.set([]);\n this.activeToasts.set([]);\n this.dialog.closeAll();\n this.handleReservedToastCounter();\n }\n\n private handleShowReservedToast() {\n if (this.activeToasts().length > this.defaultConfig.limit - 1) return;\n if (!this.reservedToasts().length) return;\n\n const { config, reservedRef } = this.reservedToasts().shift();\n\n const displayedRef = this.displayToast(config);\n this.handleReservedToastCounter();\n reservedRef.close = displayedRef.close;\n }\n\n private handleReservedToastCounter() {\n const reservedCount = this.reservedToasts().length;\n\n if (reservedCount === this.reserveCounter()) return;\n\n this.reserveCounter.set(reservedCount);\n\n if (reservedCount === 0 && this.toastCounterElement() !== null) {\n this.toastCounterElement().close();\n return;\n }\n\n if (reservedCount > 0) {\n if (this.toastCounterElement() !== null) {\n this.toastCounterElement().close();\n }\n const remainingTime = (this.dialog.getDialogById(this.activeToasts()[0]).componentRef.instance as AXToastComponent).createdDate();\n\n this.createReservedCounterToast(remainingTime);\n }\n }\n\n private async createReservedCounterToast(remainingTime: number) {\n const timeOut = Math.min(this.moreToastsConfig().timeOut - (new Date().getTime() - remainingTime), this.moreToastsConfig().timeOut);\n const opt: AXToastData = {\n closeButton: false,\n color: this.moreToastsConfig().color,\n location: this.moreToastsConfig().location,\n title: await this.translationService.translateAsync('more-toast', {\n params: { number: this.reserveCounter() },\n }),\n timeOut,\n timeOutProgress: this.moreToastsConfig().timeOutProgress,\n closeAllButton: true,\n };\n const gap = this.defaultConfig.gap;\n const pos = this.getPosition(opt.location) + gap + 'px';\n const positionStrategy = this.getPositionStrategy(new GlobalPositionStrategy(), opt.location, pos, gap);\n const dialogRef = this.dialog.open(AXToastComponent, {\n data: opt,\n autoFocus: '__no_element__',\n restoreFocus: true,\n role: 'dialog',\n ariaModal: true,\n closeOnNavigation: true,\n closeOnDestroy: true,\n hasBackdrop: false,\n panelClass: ['ax-animate-animated', 'ax-animate-fadeIn', 'ax-animate-faster'],\n positionStrategy,\n scrollStrategy: this.scrollStrategy,\n });\n this.toastCounterElement.set(dialogRef.componentInstance as AXToastComponent);\n }\n\n private reposition(toastLocation: AXLocation, gap: number): void {\n const list = this.dialog.openDialogs.map((c) => c.componentInstance as AXToastComponent).filter((c) => c.config?.location == toastLocation);\n\n list.forEach((element, index) => {\n const pos = this.getRepositionPosition(index, gap, list, toastLocation);\n\n this.getPositionStrategy(element.dialogRef.config.positionStrategy as GlobalPositionStrategy, toastLocation, pos, gap).apply();\n });\n }\n\n private getRepositionPosition(index: number, gap: number, list: AXToastComponent[], toastLocation: string) {\n if (index === 0) return gap + 'px';\n const previouseElement = list[index - 1];\n if (toastLocation.split('-')[0] == 'bottom') {\n return window.innerHeight - previouseElement.getHostElement().offsetTop + gap + 'px';\n }\n return previouseElement.getHostElement().offsetTop + previouseElement.getHostElement().offsetHeight + gap + 'px';\n }\n\n private getPosition(location: string) {\n const list = this.dialog.openDialogs.map((c) => c.componentInstance as AXToastComponent).filter((c) => c.config?.location == location);\n if (list.length == 0) return 0;\n if (location.split('-')[0] == 'bottom') {\n return window.innerHeight - list[list.length - 1].getHostElement().offsetTop;\n }\n return list[list.length - 1].getHostElement().offsetTop + list[list.length - 1].getHostElement().offsetHeight;\n }\n\n private getPositionStrategy(positionStrategy: GlobalPositionStrategy, location: AXLocation, pos: string, gap: number) {\n switch (location) {\n case 'bottom-center':\n return positionStrategy.bottom(pos).centerHorizontally();\n break;\n case 'bottom-end':\n return positionStrategy.bottom(pos).right(gap + 'px');\n break;\n case 'bottom-start':\n return positionStrategy.bottom(pos).left(gap + 'px');\n break;\n case 'top-center':\n return positionStrategy.top(pos).centerHorizontally();\n break;\n case 'top-end':\n return positionStrategy.top(pos).right(gap + 'px');\n break;\n case 'top-start':\n return positionStrategy.top(pos).left(gap + 'px');\n break;\n case 'center-start':\n return positionStrategy.centerVertically().left(gap + 'px');\n break;\n case 'center-end':\n return positionStrategy.centerVertically().right(gap + 'px');\n break;\n }\n }\n}\n","import { AXButtonItem } from '@acorex/components/button';\nimport { AXClosbaleComponent, AXComponentCloseEvent, MXBaseComponent } from '@acorex/components/common';\nimport { AXDecoratorCloseButtonComponent } from '@acorex/components/decorators';\nimport { AXTranslatorPipe } from '@acorex/core/translation';\nimport { DIALOG_DATA, DialogRef } from '@angular/cdk/dialog';\nimport { AsyncPipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, HostBinding, inject, Inject, OnInit, signal, ViewEncapsulation } from '@angular/core';\nimport { AXToastData } from './toast.class';\nimport { AXToastService } from './toast.service';\n\n/**\n * The Button is a component which detects user interaction and triggers a corresponding event\n *\n * @category Components\n */\n@Component({\n selector: 'ax-toast',\n templateUrl: './toast.component.html',\n styleUrls: ['./toast.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: AXClosbaleComponent, useExisting: AXToastComponent }],\n imports: [AXDecoratorCloseButtonComponent, AsyncPipe, AXTranslatorPipe],\n})\nexport class AXToastComponent extends MXBaseComponent implements OnInit {\n toastService = inject(AXToastService);\n createdDate = signal(0);\n\n private intervalId: number;\n private isPaused = signal(false);\n protected remainingTime = signal(0);\n protected transitionDuration = signal(150);\n\n /** @ignore */\n protected _toastWidth = 100;\n\n /** @ignore */\n protected _icon: string;\n\n /**\n * @ignore\n */\n constructor(\n @Inject(DIALOG_DATA)\n public config: AXToastData,\n public dialogRef: DialogRef<AXComponentCloseEvent>,\n ) {\n super();\n }\n\n /** @ignore */\n override ngOnInit() {\n super.ngOnInit();\n this._initIcon();\n this.createdDate.set(new Date().getTime());\n this.remainingTime.set(this.config.timeOut);\n this._handleTimeOut();\n\n this.getHostElement().addEventListener('pointerenter', () => {\n if (!this.config.pauseOnHover) return;\n if (this.isPaused()) return;\n // Only pause if not already paused\n this.isPaused.set(true);\n this.pauseAnimation();\n });\n\n this.getHostElement().addEventListener('pointerleave', () => {\n if (!this.config.pauseOnHover) return;\n if (!this.isPaused()) return;\n // Only resume if paused\n this.isPaused.set(false);\n this._handleTimeOut();\n });\n }\n\n private pauseAnimation() {\n clearInterval(this.intervalId);\n }\n\n private _handleTimeOut() {\n if (this.config.timeOut) {\n this.intervalId = setInterval(() => {\n this.remainingTime.update((prev) => prev - this.transitionDuration());\n if (this.remainingTime() <= 0) {\n clearInterval(this.intervalId);\n this.close();\n }\n }, this.transitionDuration()) as unknown as number;\n }\n }\n\n private _initIcon() {\n if (!this.config.icon) {\n switch (this.config.color) {\n case 'success':\n this._icon = 'ax-icon ax-icon-check-circle';\n break;\n case 'warning':\n this._icon = 'ax-icon ax-icon-warning';\n break;\n case 'danger':\n this._icon = 'ax-icon ax-icon-error';\n break;\n default:\n this._icon = this.config.icon || 'ax-icon ax-icon-info';\n break;\n }\n } else {\n this._icon = this.config.icon;\n }\n }\n\n /** @ignore */\n _handleButtonClick(button: AXButtonItem) {\n if (button.onClick) {\n button.onClick({ source: button });\n }\n }\n\n /** @ignore */\n @HostBinding('class')\n private get __hostClass(): string {\n return `ax-${this.config.color}`;\n }\n\n /** @ignore */\n close() {\n this.dialogRef.close({\n component: this,\n htmlElement: this.getHostElement(),\n });\n }\n\n closeAll() {\n this.toastService.hideAll();\n }\n}\n","<span class=\"ax-toast-icon ax-icon-solid {{ _icon }}\"></span>\n<div class=\"ax-toast-content\">\n <div class=\"ax-toast-title\" [class.ax-mb-2]=\"config.title && config.content\">\n {{ config.title | translate | async }}\n </div>\n <div class=\"ax-toast-content\" [innerHTML]=\"config.content\"></div>\n</div>\n@if (config.closeButton) {\n <ax-close-button></ax-close-button>\n} @else if (config.closeAllButton) {\n <ax-close-button [closeAll]=\"true\"></ax-close-button>\n}\n@if (config.timeOutProgress && config.timeOut) {\n <div class=\"ax-toast-progress\" [style.transition-duration]=\"transitionDuration()\" [style.width]=\"(remainingTime() * 100) / config.timeOut + '%'\"></div>\n}\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { DialogModule } from '@angular/cdk/dialog';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXToastComponent } from './toast.component';\nimport { AXToastService } from './toast.service';\n\nconst COMPONENT = [AXToastComponent];\nconst MODULES = [CommonModule, AXButtonModule, AXDecoratorModule, AXLoadingModule, DialogModule, AXTranslationModule];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [AXToastService],\n})\nexport class AXToastModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
@@ -34,10 +34,10 @@ class AXToolBarComponent {
34
34
  get __hostClass() {
35
35
  return `ax-sm`;
36
36
  }
37
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: AXToolBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
38
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.8", type: AXToolBarComponent, isStandalone: true, selector: "ax-toolbar", host: { properties: { "class": "this.__hostClass" } }, queries: [{ propertyName: "buttons", predicate: AXButtonComponent, descendants: true, isSignal: true }, { propertyName: "decorators", predicate: AXDecoratorGenericComponent, isSignal: true }], ngImport: i0, template: "<ng-content select=\"ax-prefix\"> </ng-content>\n@if (prefixState() && (contentState() || suffixState())) {\n <ax-divider class=\"ax-start-toolbar-divider\"></ax-divider>\n}\n\n<ng-content select=\"ax-content\"></ng-content>\n\n@if (contentState() && suffixState()) {\n <ax-divider class=\"ax-end-toolbar-divider\"></ax-divider>\n}\n\n<ng-content select=\"ax-suffix\"></ng-content>\n", styles: ["ax-toolbar{display:flex;align-items:center;flex-wrap:wrap;padding-block:.25rem;padding-inline:.5rem;width:100%}ax-toolbar ax-divider{display:block;margin-inline:.5rem;width:1px;min-height:25px;background-color:rgba(var(--ax-sys-color-border-lightest-surface))}ax-toolbar ax-suffix,ax-toolbar ax-prefix,ax-toolbar ax-content{display:flex;justify-content:space-between;align-items:center;min-height:100%;flex-wrap:wrap}ax-toolbar ax-button,ax-toolbar ax-select-box,ax-toolbar ax-text-box,ax-toolbar ax-number-box{margin-inline:.15rem}\n"], dependencies: [{ kind: "component", type: AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
37
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: AXToolBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
38
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.1", type: AXToolBarComponent, isStandalone: true, selector: "ax-toolbar", host: { properties: { "class": "this.__hostClass" } }, queries: [{ propertyName: "buttons", predicate: AXButtonComponent, descendants: true, isSignal: true }, { propertyName: "decorators", predicate: AXDecoratorGenericComponent, isSignal: true }], ngImport: i0, template: "<ng-content select=\"ax-prefix\"> </ng-content>\n@if (prefixState() && (contentState() || suffixState())) {\n <ax-divider class=\"ax-start-toolbar-divider\"></ax-divider>\n}\n\n<ng-content select=\"ax-content\"></ng-content>\n\n@if (contentState() && suffixState()) {\n <ax-divider class=\"ax-end-toolbar-divider\"></ax-divider>\n}\n\n<ng-content select=\"ax-suffix\"></ng-content>\n", styles: ["ax-toolbar{display:flex;align-items:center;flex-wrap:wrap;padding-block:.25rem;padding-inline:.5rem;width:100%}ax-toolbar ax-divider{display:block;margin-inline:.5rem;width:1px;min-height:25px;background-color:rgba(var(--ax-sys-color-border-lightest-surface))}ax-toolbar ax-suffix,ax-toolbar ax-prefix,ax-toolbar ax-content{display:flex;justify-content:space-between;align-items:center;min-height:100%;flex-wrap:wrap}ax-toolbar ax-button,ax-toolbar ax-select-box,ax-toolbar ax-text-box,ax-toolbar ax-number-box{margin-inline:.15rem}\n"], dependencies: [{ kind: "component", type: AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
39
39
  }
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: AXToolBarComponent, decorators: [{
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: AXToolBarComponent, decorators: [{
41
41
  type: Component,
42
42
  args: [{ selector: 'ax-toolbar', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [AXDecoratorGenericComponent], template: "<ng-content select=\"ax-prefix\"> </ng-content>\n@if (prefixState() && (contentState() || suffixState())) {\n <ax-divider class=\"ax-start-toolbar-divider\"></ax-divider>\n}\n\n<ng-content select=\"ax-content\"></ng-content>\n\n@if (contentState() && suffixState()) {\n <ax-divider class=\"ax-end-toolbar-divider\"></ax-divider>\n}\n\n<ng-content select=\"ax-suffix\"></ng-content>\n", styles: ["ax-toolbar{display:flex;align-items:center;flex-wrap:wrap;padding-block:.25rem;padding-inline:.5rem;width:100%}ax-toolbar ax-divider{display:block;margin-inline:.5rem;width:1px;min-height:25px;background-color:rgba(var(--ax-sys-color-border-lightest-surface))}ax-toolbar ax-suffix,ax-toolbar ax-prefix,ax-toolbar ax-content{display:flex;justify-content:space-between;align-items:center;min-height:100%;flex-wrap:wrap}ax-toolbar ax-button,ax-toolbar ax-select-box,ax-toolbar ax-text-box,ax-toolbar ax-number-box{margin-inline:.15rem}\n"] }]
43
43
  }], propDecorators: { __hostClass: [{
@@ -48,11 +48,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImpor
48
48
  const COMPONENT = [AXToolBarComponent];
49
49
  const MODULES = [AXDecoratorModule];
50
50
  class AXToolBarModule {
51
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: AXToolBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
52
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.8", ngImport: i0, type: AXToolBarModule, imports: [AXDecoratorModule, AXToolBarComponent], exports: [AXToolBarComponent] }); }
53
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: AXToolBarModule, imports: [MODULES, COMPONENT] }); }
51
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: AXToolBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
52
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.1", ngImport: i0, type: AXToolBarModule, imports: [AXDecoratorModule, AXToolBarComponent], exports: [AXToolBarComponent] }); }
53
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: AXToolBarModule, imports: [MODULES, COMPONENT] }); }
54
54
  }
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: AXToolBarModule, decorators: [{
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: AXToolBarModule, decorators: [{
56
56
  type: NgModule,
57
57
  args: [{
58
58
  imports: [...MODULES, ...COMPONENT],
@@ -10,10 +10,10 @@ import { CommonModule } from '@angular/common';
10
10
  * @category Components
11
11
  */
12
12
  class AXTooltipComponent extends MXBaseComponent {
13
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: AXTooltipComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
14
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.8", type: AXTooltipComponent, isStandalone: true, selector: "ax-tooltip", inputs: { text: "text", position: "position" }, usesInheritance: true, ngImport: i0, template: "<div class=\"ax-tooltip-container\">\n <div class=\"ax-tooltip\">\n {{ text }}\n </div>\n <!-- <div class=\"ax-tooltip-tringle ax-tooltip-tringle-{{ position }}\"></div> -->\n</div>", styles: ["ax-tooltip{--ax-comp-tooltip-border-radius: .25rem;--ax-comp-tooltip-bg-color: var(--ax-sys-color-dark);--ax-comp-tooltip-text-color: var(--ax-sys-color-light)}.ax-dark ax-tooltip{--ax-comp-tooltip-bg-color: var(--ax-sys-color-light);--ax-comp-tooltip-text-color: var(--ax-sys-color-dark)}.ax-tooltip-container{position:relative}.ax-tooltip-container .ax-tooltip{display:block;padding:.25rem .5rem;background-color:rgba(var(--ax-comp-tooltip-bg-color));color:rgba(var(--ax-comp-tooltip-text-color));border-radius:var(--ax-comp-tooltip-border-radius);font-size:.75rem;font-weight:400}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
13
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: AXTooltipComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
14
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.1", type: AXTooltipComponent, isStandalone: true, selector: "ax-tooltip", inputs: { text: "text", position: "position" }, usesInheritance: true, ngImport: i0, template: "<div class=\"ax-tooltip-container\">\n <div class=\"ax-tooltip\">\n {{ text }}\n </div>\n <!-- <div class=\"ax-tooltip-tringle ax-tooltip-tringle-{{ position }}\"></div> -->\n</div>", styles: ["ax-tooltip{--ax-comp-tooltip-border-radius: .25rem;--ax-comp-tooltip-bg-color: var(--ax-sys-color-dark);--ax-comp-tooltip-text-color: var(--ax-sys-color-light)}.ax-dark ax-tooltip{--ax-comp-tooltip-bg-color: var(--ax-sys-color-light);--ax-comp-tooltip-text-color: var(--ax-sys-color-dark)}.ax-tooltip-container{position:relative}.ax-tooltip-container .ax-tooltip{display:block;padding:.25rem .5rem;background-color:rgba(var(--ax-comp-tooltip-bg-color));color:rgba(var(--ax-comp-tooltip-text-color));border-radius:var(--ax-comp-tooltip-border-radius);font-size:.75rem;font-weight:400}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
15
15
  }
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: AXTooltipComponent, decorators: [{
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: AXTooltipComponent, decorators: [{
17
17
  type: Component,
18
18
  args: [{ selector: 'ax-tooltip', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"ax-tooltip-container\">\n <div class=\"ax-tooltip\">\n {{ text }}\n </div>\n <!-- <div class=\"ax-tooltip-tringle ax-tooltip-tringle-{{ position }}\"></div> -->\n</div>", styles: ["ax-tooltip{--ax-comp-tooltip-border-radius: .25rem;--ax-comp-tooltip-bg-color: var(--ax-sys-color-dark);--ax-comp-tooltip-text-color: var(--ax-sys-color-light)}.ax-dark ax-tooltip{--ax-comp-tooltip-bg-color: var(--ax-sys-color-light);--ax-comp-tooltip-text-color: var(--ax-sys-color-dark)}.ax-tooltip-container{position:relative}.ax-tooltip-container .ax-tooltip{display:block;padding:.25rem .5rem;background-color:rgba(var(--ax-comp-tooltip-bg-color));color:rgba(var(--ax-comp-tooltip-text-color));border-radius:var(--ax-comp-tooltip-border-radius);font-size:.75rem;font-weight:400}\n"] }]
19
19
  }], propDecorators: { text: [{
@@ -78,10 +78,10 @@ class AXTooltipDirective {
78
78
  }
79
79
  });
80
80
  }
81
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: AXTooltipDirective, deps: [{ token: i0.ElementRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
82
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.8", type: AXTooltipDirective, isStandalone: true, selector: "[axTooltip]", inputs: { content: ["axTooltip", "content"], placement: ["axTooltipPlacement", "placement"], openAfter: ["axTooltipOpenAfter", "openAfter"], closeAfter: ["axTooltipCloseAfter", "closeAfter"] }, ngImport: i0 }); }
81
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: AXTooltipDirective, deps: [{ token: i0.ElementRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
82
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.1", type: AXTooltipDirective, isStandalone: true, selector: "[axTooltip]", inputs: { content: ["axTooltip", "content"], placement: ["axTooltipPlacement", "placement"], openAfter: ["axTooltipOpenAfter", "openAfter"], closeAfter: ["axTooltipCloseAfter", "closeAfter"] }, ngImport: i0 }); }
83
83
  }
84
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: AXTooltipDirective, decorators: [{
84
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: AXTooltipDirective, decorators: [{
85
85
  type: Directive,
86
86
  args: [{ selector: '[axTooltip]' }]
87
87
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ViewContainerRef }], propDecorators: { content: [{
@@ -101,11 +101,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImpor
101
101
  const COMPONENT = [AXTooltipComponent, AXTooltipDirective];
102
102
  const MODULES = [CommonModule, OverlayModule];
103
103
  class AXTooltipModule {
104
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: AXTooltipModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
105
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.8", ngImport: i0, type: AXTooltipModule, imports: [CommonModule, OverlayModule, AXTooltipComponent, AXTooltipDirective], exports: [AXTooltipComponent, AXTooltipDirective] }); }
106
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: AXTooltipModule, imports: [MODULES] }); }
104
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: AXTooltipModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
105
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.1", ngImport: i0, type: AXTooltipModule, imports: [CommonModule, OverlayModule, AXTooltipComponent, AXTooltipDirective], exports: [AXTooltipComponent, AXTooltipDirective] }); }
106
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: AXTooltipModule, imports: [MODULES] }); }
107
107
  }
108
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: AXTooltipModule, decorators: [{
108
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: AXTooltipModule, decorators: [{
109
109
  type: NgModule,
110
110
  args: [{
111
111
  imports: [...MODULES, ...COMPONENT],