@acorex/components 22.3.11 → 22.3.13

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.
@@ -650,6 +650,53 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImpor
650
650
  args: ['class']
651
651
  }] } });
652
652
 
653
+ /**
654
+ * Icon-only blank chrome control (window caption, toolbar). Matches {@link AXDecoratorCloseButtonComponent} styling.
655
+ *
656
+ * @category Components
657
+ */
658
+ class AXChromeButtonComponent extends MXBaseComponent {
659
+ constructor() {
660
+ super(...arguments);
661
+ /** Visible tooltip / native title. */
662
+ this.title = input(null, /* @ts-ignore */
663
+ ...(ngDevMode ? [{ debugName: "title" }] : /* istanbul ignore next */ []));
664
+ /** Accessible name; falls back to {@link title}. */
665
+ this.ariaLabel = input(null, { ...(ngDevMode ? { debugName: "ariaLabel" } : /* istanbul ignore next */ {}), alias: 'aria-label' });
666
+ }
667
+ /** Forwards ax-xs … ax-xl from the host to the inner ax-button. */
668
+ get buttonSizeClasses() {
669
+ const host = this.getHostElement();
670
+ return ['ax-xs', 'ax-sm', 'ax-md', 'ax-lg', 'ax-xl'].filter((size) => host.classList.contains(size)).join(' ');
671
+ }
672
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXChromeButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
673
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.6", type: AXChromeButtonComponent, isStandalone: true, selector: "ax-chrome-button", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "aria-label", isSignal: true, isRequired: false, transformFunction: null } }, providers: [{ provide: AXComponent, useExisting: AXChromeButtonComponent }], usesInheritance: true, ngImport: i0, template: `<ax-button
674
+ class="ax-chrome-button-action"
675
+ look="blank"
676
+ color="default"
677
+ [iconOnly]="true"
678
+ [class]="buttonSizeClasses"
679
+ [attr.aria-label]="ariaLabel() ?? title()"
680
+ [attr.title]="title()"
681
+ >
682
+ <ng-content></ng-content>
683
+ </ax-button>`, isInline: true, styles: ["@layer components{:is(ax-close-button,ax-chrome-button){display:inline-flex;flex-shrink:0}:is(ax-close-button,ax-chrome-button) ax-button.ax-chrome-button-action{display:inline-flex}:is(ax-close-button,ax-chrome-button) ax-button.ax-chrome-button-action.ax-button-icon button{width:auto;height:auto;min-height:calc(var(--spacing, .25rem) * 0);min-width:calc(var(--spacing, .25rem) * 0);cursor:pointer;background-color:transparent;padding:calc(var(--spacing, .25rem) * 0);box-shadow:none;background-image:none;transform:none}:is(ax-close-button,ax-chrome-button) ax-button.ax-chrome-button-action.ax-button-icon button i{--ax-sys-icon-size: 1.25rem;font-size:1.25rem}:is(ax-close-button,ax-chrome-button) ax-button.ax-chrome-button-action.ax-button-icon.ax-xs button i{--ax-sys-icon-size: 1rem;font-size:1rem}:is(ax-close-button,ax-chrome-button) ax-button.ax-chrome-button-action.ax-button-icon.ax-sm button i{--ax-sys-icon-size: 1.125rem;font-size:1.125rem}}:is(ax-close-button,ax-chrome-button){--ax-comp-ink: var(--ax-comp-text, var(--color-on-surface));--ax-comp-ink-dark: var(--ax-comp-text-dark, var(--ax-comp-text, var(--color-on-surface)));--ax-comp-ink-darker: var(--ax-comp-text-darker, var(--ax-comp-text, var(--color-on-surface)));color:var(--ax-comp-text, inherit)}:is(ax-close-button,ax-chrome-button) ax-button.ax-chrome-button-action.ax-button-icon>button.ax-blank-interactive{color:var(--ax-comp-text, var(--color-on-surface));box-shadow:none;background-color:transparent;background-image:none}:is(ax-close-button,ax-chrome-button) ax-button.ax-chrome-button-action.ax-button-icon>button.ax-blank-interactive :is(i,svg){color:inherit}:is(ax-close-button,ax-chrome-button) ax-button.ax-chrome-button-action.ax-button-icon>button.ax-blank-interactive i:before,:is(ax-close-button,ax-chrome-button) ax-button.ax-chrome-button-action.ax-button-icon>button.ax-blank-interactive i:after{color:inherit}:is(ax-close-button,ax-chrome-button) ax-button.ax-chrome-button-action.ax-button-icon>button.ax-blank-interactive:not(.ax-state-disabled,.ax-state-loading):is(:hover,:focus,:focus-within,:focus-visible,.ax-state-focus){opacity:.75;color:var(--ax-comp-text, var(--color-on-surface));background-color:transparent;background-image:none;box-shadow:none;transform:none}:is(ax-close-button,ax-chrome-button) ax-button.ax-chrome-button-action.ax-button-icon>button.ax-blank-interactive:not(.ax-state-disabled,.ax-state-loading):active{opacity:1;color:var(--ax-comp-text, var(--color-on-surface));background-color:transparent;background-image:none;box-shadow:none;transform:none}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "component", type: AXButtonComponent, selector: "ax-button", inputs: ["disabled", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }], encapsulation: i0.ViewEncapsulation.None }); }
684
+ }
685
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXChromeButtonComponent, decorators: [{
686
+ type: Component,
687
+ args: [{ selector: 'ax-chrome-button', template: `<ax-button
688
+ class="ax-chrome-button-action"
689
+ look="blank"
690
+ color="default"
691
+ [iconOnly]="true"
692
+ [class]="buttonSizeClasses"
693
+ [attr.aria-label]="ariaLabel() ?? title()"
694
+ [attr.title]="title()"
695
+ >
696
+ <ng-content></ng-content>
697
+ </ax-button>`, encapsulation: ViewEncapsulation.None, imports: [AXButtonComponent], providers: [{ provide: AXComponent, useExisting: AXChromeButtonComponent }], styles: ["@layer components{:is(ax-close-button,ax-chrome-button){display:inline-flex;flex-shrink:0}:is(ax-close-button,ax-chrome-button) ax-button.ax-chrome-button-action{display:inline-flex}:is(ax-close-button,ax-chrome-button) ax-button.ax-chrome-button-action.ax-button-icon button{width:auto;height:auto;min-height:calc(var(--spacing, .25rem) * 0);min-width:calc(var(--spacing, .25rem) * 0);cursor:pointer;background-color:transparent;padding:calc(var(--spacing, .25rem) * 0);box-shadow:none;background-image:none;transform:none}:is(ax-close-button,ax-chrome-button) ax-button.ax-chrome-button-action.ax-button-icon button i{--ax-sys-icon-size: 1.25rem;font-size:1.25rem}:is(ax-close-button,ax-chrome-button) ax-button.ax-chrome-button-action.ax-button-icon.ax-xs button i{--ax-sys-icon-size: 1rem;font-size:1rem}:is(ax-close-button,ax-chrome-button) ax-button.ax-chrome-button-action.ax-button-icon.ax-sm button i{--ax-sys-icon-size: 1.125rem;font-size:1.125rem}}:is(ax-close-button,ax-chrome-button){--ax-comp-ink: var(--ax-comp-text, var(--color-on-surface));--ax-comp-ink-dark: var(--ax-comp-text-dark, var(--ax-comp-text, var(--color-on-surface)));--ax-comp-ink-darker: var(--ax-comp-text-darker, var(--ax-comp-text, var(--color-on-surface)));color:var(--ax-comp-text, inherit)}:is(ax-close-button,ax-chrome-button) ax-button.ax-chrome-button-action.ax-button-icon>button.ax-blank-interactive{color:var(--ax-comp-text, var(--color-on-surface));box-shadow:none;background-color:transparent;background-image:none}:is(ax-close-button,ax-chrome-button) ax-button.ax-chrome-button-action.ax-button-icon>button.ax-blank-interactive :is(i,svg){color:inherit}:is(ax-close-button,ax-chrome-button) ax-button.ax-chrome-button-action.ax-button-icon>button.ax-blank-interactive i:before,:is(ax-close-button,ax-chrome-button) ax-button.ax-chrome-button-action.ax-button-icon>button.ax-blank-interactive i:after{color:inherit}:is(ax-close-button,ax-chrome-button) ax-button.ax-chrome-button-action.ax-button-icon>button.ax-blank-interactive:not(.ax-state-disabled,.ax-state-loading):is(:hover,:focus,:focus-within,:focus-visible,.ax-state-focus){opacity:.75;color:var(--ax-comp-text, var(--color-on-surface));background-color:transparent;background-image:none;box-shadow:none;transform:none}:is(ax-close-button,ax-chrome-button) ax-button.ax-chrome-button-action.ax-button-icon>button.ax-blank-interactive:not(.ax-state-disabled,.ax-state-loading):active{opacity:1;color:var(--ax-comp-text, var(--color-on-surface));background-color:transparent;background-image:none;box-shadow:none;transform:none}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"] }]
698
+ }], propDecorators: { title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-label", required: false }] }] } });
699
+
653
700
  /**
654
701
  * A button component that displays a close icon and triggers an action when clicked.
655
702
  *
@@ -681,6 +728,11 @@ class AXDecoratorCloseButtonComponent extends MXBaseComponent {
681
728
  set icon(v) {
682
729
  this._icon = v;
683
730
  }
731
+ /** Forwards ax-xs … ax-xl from the host to the inner ax-button. */
732
+ get buttonSizeClasses() {
733
+ const host = this.getHostElement();
734
+ return ['ax-xs', 'ax-sm', 'ax-md', 'ax-lg', 'ax-xl'].filter((size) => host.classList.contains(size)).join(' ');
735
+ }
684
736
  /**
685
737
  * @ignore
686
738
  */
@@ -694,9 +746,11 @@ class AXDecoratorCloseButtonComponent extends MXBaseComponent {
694
746
  }
695
747
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXDecoratorCloseButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
696
748
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.6", type: AXDecoratorCloseButtonComponent, isStandalone: true, selector: "ax-close-button", inputs: { closeAll: { classPropertyName: "closeAll", publicName: "closeAll", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: false, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "_handleOnClick()" } }, providers: [{ provide: AXComponent, useExisting: AXDecoratorCloseButtonComponent }], usesInheritance: true, ngImport: i0, template: `<ax-button
749
+ class="ax-chrome-button-action"
697
750
  look="blank"
698
751
  color="default"
699
752
  [iconOnly]="true"
753
+ [class]="buttonSizeClasses"
700
754
  [attr.aria-label]="
701
755
  closeAll()
702
756
  ? ('@acorex:common.general.close-all' | translate | async)
@@ -709,14 +763,16 @@ class AXDecoratorCloseButtonComponent extends MXBaseComponent {
709
763
  "
710
764
  >
711
765
  <i [ngClass]="icon"></i>
712
- </ax-button>`, isInline: true, styles: ["@layer components{ax-close-button ax-button i{--ax-sys-icon-size: calc(var(--ax-sys-size-base) * .6)}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "component", type: AXButtonComponent, selector: "ax-button", inputs: ["disabled", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
766
+ </ax-button>`, isInline: true, styles: ["@layer components{:is(ax-close-button,ax-chrome-button){display:inline-flex;flex-shrink:0}:is(ax-close-button,ax-chrome-button) ax-button.ax-chrome-button-action{display:inline-flex}:is(ax-close-button,ax-chrome-button) ax-button.ax-chrome-button-action.ax-button-icon button{width:auto;height:auto;min-height:calc(var(--spacing, .25rem) * 0);min-width:calc(var(--spacing, .25rem) * 0);cursor:pointer;background-color:transparent;padding:calc(var(--spacing, .25rem) * 0);box-shadow:none;background-image:none;transform:none}:is(ax-close-button,ax-chrome-button) ax-button.ax-chrome-button-action.ax-button-icon button i{--ax-sys-icon-size: 1.25rem;font-size:1.25rem}:is(ax-close-button,ax-chrome-button) ax-button.ax-chrome-button-action.ax-button-icon.ax-xs button i{--ax-sys-icon-size: 1rem;font-size:1rem}:is(ax-close-button,ax-chrome-button) ax-button.ax-chrome-button-action.ax-button-icon.ax-sm button i{--ax-sys-icon-size: 1.125rem;font-size:1.125rem}}:is(ax-close-button,ax-chrome-button){--ax-comp-ink: var(--ax-comp-text, var(--color-on-surface));--ax-comp-ink-dark: var(--ax-comp-text-dark, var(--ax-comp-text, var(--color-on-surface)));--ax-comp-ink-darker: var(--ax-comp-text-darker, var(--ax-comp-text, var(--color-on-surface)));color:var(--ax-comp-text, inherit)}:is(ax-close-button,ax-chrome-button) ax-button.ax-chrome-button-action.ax-button-icon>button.ax-blank-interactive{color:var(--ax-comp-text, var(--color-on-surface));box-shadow:none;background-color:transparent;background-image:none}:is(ax-close-button,ax-chrome-button) ax-button.ax-chrome-button-action.ax-button-icon>button.ax-blank-interactive :is(i,svg){color:inherit}:is(ax-close-button,ax-chrome-button) ax-button.ax-chrome-button-action.ax-button-icon>button.ax-blank-interactive i:before,:is(ax-close-button,ax-chrome-button) ax-button.ax-chrome-button-action.ax-button-icon>button.ax-blank-interactive i:after{color:inherit}:is(ax-close-button,ax-chrome-button) ax-button.ax-chrome-button-action.ax-button-icon>button.ax-blank-interactive:not(.ax-state-disabled,.ax-state-loading):is(:hover,:focus,:focus-within,:focus-visible,.ax-state-focus){opacity:.75;color:var(--ax-comp-text, var(--color-on-surface));background-color:transparent;background-image:none;box-shadow:none;transform:none}:is(ax-close-button,ax-chrome-button) ax-button.ax-chrome-button-action.ax-button-icon>button.ax-blank-interactive:not(.ax-state-disabled,.ax-state-loading):active{opacity:1;color:var(--ax-comp-text, var(--color-on-surface));background-color:transparent;background-image:none;box-shadow:none;transform:none}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "component", type: AXButtonComponent, selector: "ax-button", inputs: ["disabled", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
713
767
  }
714
768
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXDecoratorCloseButtonComponent, decorators: [{
715
769
  type: Component,
716
770
  args: [{ selector: 'ax-close-button', template: `<ax-button
771
+ class="ax-chrome-button-action"
717
772
  look="blank"
718
773
  color="default"
719
774
  [iconOnly]="true"
775
+ [class]="buttonSizeClasses"
720
776
  [attr.aria-label]="
721
777
  closeAll()
722
778
  ? ('@acorex:common.general.close-all' | translate | async)
@@ -729,7 +785,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImpor
729
785
  "
730
786
  >
731
787
  <i [ngClass]="icon"></i>
732
- </ax-button>`, encapsulation: ViewEncapsulation.None, imports: [AXButtonComponent, NgClass, AsyncPipe, AXTranslatorPipe], providers: [{ provide: AXComponent, useExisting: AXDecoratorCloseButtonComponent }], styles: ["@layer components{ax-close-button ax-button i{--ax-sys-icon-size: calc(var(--ax-sys-size-base) * .6)}}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"] }]
788
+ </ax-button>`, encapsulation: ViewEncapsulation.None, imports: [AXButtonComponent, NgClass, AsyncPipe, AXTranslatorPipe], providers: [{ provide: AXComponent, useExisting: AXDecoratorCloseButtonComponent }], styles: ["@layer components{:is(ax-close-button,ax-chrome-button){display:inline-flex;flex-shrink:0}:is(ax-close-button,ax-chrome-button) ax-button.ax-chrome-button-action{display:inline-flex}:is(ax-close-button,ax-chrome-button) ax-button.ax-chrome-button-action.ax-button-icon button{width:auto;height:auto;min-height:calc(var(--spacing, .25rem) * 0);min-width:calc(var(--spacing, .25rem) * 0);cursor:pointer;background-color:transparent;padding:calc(var(--spacing, .25rem) * 0);box-shadow:none;background-image:none;transform:none}:is(ax-close-button,ax-chrome-button) ax-button.ax-chrome-button-action.ax-button-icon button i{--ax-sys-icon-size: 1.25rem;font-size:1.25rem}:is(ax-close-button,ax-chrome-button) ax-button.ax-chrome-button-action.ax-button-icon.ax-xs button i{--ax-sys-icon-size: 1rem;font-size:1rem}:is(ax-close-button,ax-chrome-button) ax-button.ax-chrome-button-action.ax-button-icon.ax-sm button i{--ax-sys-icon-size: 1.125rem;font-size:1.125rem}}:is(ax-close-button,ax-chrome-button){--ax-comp-ink: var(--ax-comp-text, var(--color-on-surface));--ax-comp-ink-dark: var(--ax-comp-text-dark, var(--ax-comp-text, var(--color-on-surface)));--ax-comp-ink-darker: var(--ax-comp-text-darker, var(--ax-comp-text, var(--color-on-surface)));color:var(--ax-comp-text, inherit)}:is(ax-close-button,ax-chrome-button) ax-button.ax-chrome-button-action.ax-button-icon>button.ax-blank-interactive{color:var(--ax-comp-text, var(--color-on-surface));box-shadow:none;background-color:transparent;background-image:none}:is(ax-close-button,ax-chrome-button) ax-button.ax-chrome-button-action.ax-button-icon>button.ax-blank-interactive :is(i,svg){color:inherit}:is(ax-close-button,ax-chrome-button) ax-button.ax-chrome-button-action.ax-button-icon>button.ax-blank-interactive i:before,:is(ax-close-button,ax-chrome-button) ax-button.ax-chrome-button-action.ax-button-icon>button.ax-blank-interactive i:after{color:inherit}:is(ax-close-button,ax-chrome-button) ax-button.ax-chrome-button-action.ax-button-icon>button.ax-blank-interactive:not(.ax-state-disabled,.ax-state-loading):is(:hover,:focus,:focus-within,:focus-visible,.ax-state-focus){opacity:.75;color:var(--ax-comp-text, var(--color-on-surface));background-color:transparent;background-image:none;box-shadow:none;transform:none}:is(ax-close-button,ax-chrome-button) ax-button.ax-chrome-button-action.ax-button-icon>button.ax-blank-interactive:not(.ax-state-disabled,.ax-state-loading):active{opacity:1;color:var(--ax-comp-text, var(--color-on-surface));background-color:transparent;background-image:none;box-shadow:none;transform:none}\n/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */\n"] }]
733
789
  }], propDecorators: { closeAll: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeAll", required: false }] }], icon: [{
734
790
  type: Input
735
791
  }], _handleOnClick: [{
@@ -739,14 +795,38 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImpor
739
795
 
740
796
  class AXButtonModule {
741
797
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
742
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.6", ngImport: i0, type: AXButtonModule, imports: [AXButtonComponent, AXButtonItemComponent, AXButtonItemListComponent, AXDecoratorCloseButtonComponent], exports: [AXButtonComponent, AXButtonItemComponent, AXButtonItemListComponent, AXDecoratorCloseButtonComponent] }); }
743
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXButtonModule, imports: [AXButtonComponent, AXButtonItemComponent, AXButtonItemListComponent, AXDecoratorCloseButtonComponent] }); }
798
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.6", ngImport: i0, type: AXButtonModule, imports: [AXButtonComponent,
799
+ AXButtonItemComponent,
800
+ AXButtonItemListComponent,
801
+ AXDecoratorCloseButtonComponent,
802
+ AXChromeButtonComponent], exports: [AXButtonComponent,
803
+ AXButtonItemComponent,
804
+ AXButtonItemListComponent,
805
+ AXDecoratorCloseButtonComponent,
806
+ AXChromeButtonComponent] }); }
807
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXButtonModule, imports: [AXButtonComponent,
808
+ AXButtonItemComponent,
809
+ AXButtonItemListComponent,
810
+ AXDecoratorCloseButtonComponent,
811
+ AXChromeButtonComponent] }); }
744
812
  }
745
813
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXButtonModule, decorators: [{
746
814
  type: NgModule,
747
815
  args: [{
748
- imports: [AXButtonComponent, AXButtonItemComponent, AXButtonItemListComponent, AXDecoratorCloseButtonComponent],
749
- exports: [AXButtonComponent, AXButtonItemComponent, AXButtonItemListComponent, AXDecoratorCloseButtonComponent],
816
+ imports: [
817
+ AXButtonComponent,
818
+ AXButtonItemComponent,
819
+ AXButtonItemListComponent,
820
+ AXDecoratorCloseButtonComponent,
821
+ AXChromeButtonComponent,
822
+ ],
823
+ exports: [
824
+ AXButtonComponent,
825
+ AXButtonItemComponent,
826
+ AXButtonItemListComponent,
827
+ AXDecoratorCloseButtonComponent,
828
+ AXChromeButtonComponent,
829
+ ],
750
830
  }]
751
831
  }] });
752
832
 
@@ -754,5 +834,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImpor
754
834
  * Generated bundle index. Do not edit.
755
835
  */
756
836
 
757
- export { AXButtonComponent, AXButtonItemComponent, AXButtonItemListComponent, AXButtonModule, AXDecoratorCloseButtonComponent };
837
+ export { AXButtonComponent, AXButtonItemComponent, AXButtonItemListComponent, AXButtonModule, AXChromeButtonComponent, AXDecoratorCloseButtonComponent };
758
838
  //# sourceMappingURL=acorex-components-button.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-button.mjs","sources":["../../../../packages/components/button/src/lib/button-item-submenu.service.ts","../../../../packages/components/button/src/lib/button-item.component.ts","../../../../packages/components/button/src/lib/button-item-list.component.ts","../../../../packages/components/button/src/lib/button.component.ts","../../../../packages/components/button/src/lib/button.component.html","../../../../packages/components/button/src/lib/close-button/close-button.component.ts","../../../../packages/components/button/src/lib/button.module.ts","../../../../packages/components/button/src/acorex-components-button.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport type { AXButtonItemComponent } from './button-item.component';\n\n/** Coordinates which nested `ax-button-item` submenu is open within one `ax-button-item-list`. */\n@Injectable()\nexport class AXButtonItemSubmenuCoordinator {\n private current: AXButtonItemComponent | null = null;\n\n requestOpen(item: AXButtonItemComponent): void {\n if (this.current && this.current !== item) {\n this.current.closeNestedMenu();\n }\n this.current = item;\n }\n\n clear(item: AXButtonItemComponent): void {\n if (this.current === item) {\n this.current = null;\n }\n }\n\n closeAll(): void {\n this.current?.closeNestedMenu();\n this.current = null;\n }\n}\n","import {\n AXClickEvent,\n AXComponent,\n AXStyleColorType,\n MXColorComponent,\n MXInteractiveComponent,\n} from '@acorex/cdk/common';\nimport { AXDecoratorGenericComponent } from '@acorex/components/decorators';\nimport { AXPopoverComponent } from '@acorex/components/popover';\nimport { AXHtmlUtil } from '@acorex/core/utils';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { CommonModule } from '@angular/common';\n\nimport {\n Component,\n EventEmitter,\n HostBinding,\n Input,\n OnDestroy,\n Output,\n ViewEncapsulation,\n computed,\n contentChildren,\n inject,\n viewChild,\n} from '@angular/core';\nimport { classes } from 'polytype';\nimport { AXButtonItemSubmenuCoordinator } from './button-item-submenu.service';\n\nexport interface AXButtonItemListItem {\n name: string;\n text: string;\n icon: string;\n divided?: boolean;\n disabled?: boolean;\n selected?: boolean;\n iconOnly?: boolean;\n color?: AXStyleColorType;\n loading?: boolean;\n items?: AXButtonItemListItem[];\n}\n\n/**\n * Represents a button item with optional content like icons, text, and dropdowns.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-button-item',\n template: `\n <div class=\"ax-action-item-prefix\">\n <ng-content select=\"ax-prefix\"> </ng-content>\n <ng-content select=\"ax-loading\"> </ng-content>\n <ng-content select=\"ax-icon\"> </ng-content>\n @if (text) {\n <ax-text>{{ text | translate | async }}</ax-text>\n }\n </div>\n <div class=\"ax-action-item-suffix\">\n <ng-content select=\"ax-suffix\"> </ng-content>\n @if (hasSubItems()) {\n <i class=\"ax-icon ax-icon-solid {{ arrowIcon() }}\"></i>\n }\n </div>\n <ng-content select=\"ax-dropdown-panel\"> </ng-content>\n @if (hasSubItems()) {\n <ax-popover\n #submenuPopover\n [target]=\"submenuTarget\"\n openOn=\"hover\"\n closeOn=\"leave\"\n placement=\"end-top\"\n [closeOnScroll]=\"false\"\n visualContextScope=\"theme\"\n panelClass=\"ax-button-item-submenu-panel\"\n (onOpened)=\"handleSubmenuOpened()\"\n (onClosed)=\"handleSubmenuClosed()\"\n >\n <div class=\"ax-button-item-submenu ax-action-list ax-action-list-vertical\">\n <ng-content select=\"ax-button-item,ax-divider,ax-title\"></ng-content>\n </div>\n </ax-popover>\n }\n `,\n encapsulation: ViewEncapsulation.None,\n\n inputs: ['color', 'disabled'],\n outputs: ['onClick', 'onFocus', 'onBlur', 'disabledChange'],\n imports: [CommonModule, AXDecoratorGenericComponent, AXTranslationModule, AXPopoverComponent],\n providers: [{ provide: AXComponent, useExisting: AXButtonItemComponent }],\n styleUrl: './button-item.component.css',\n host: {\n '(click)': 'handleHostClick($event)',\n '(focus)': 'handleHostFocus($event)',\n '(blur)': 'handleHostBlur($event)',\n },\n})\nexport class AXButtonItemComponent extends classes(MXInteractiveComponent, MXColorComponent) implements OnDestroy {\n private readonly childMenuItems = contentChildren(AXButtonItemComponent, { descendants: false });\n private readonly submenuCoordinator = inject(AXButtonItemSubmenuCoordinator, { optional: true });\n private readonly submenuPopover = viewChild<AXPopoverComponent>('submenuPopover');\n\n protected readonly submenuTarget = this;\n\n protected readonly arrowIcon = computed(() => {\n const isRtl = AXHtmlUtil.isRtl(this.getHostElement());\n return isRtl ? 'ax-icon-chevron-left' : 'ax-icon-chevron-right';\n });\n\n /**\n * Text displayed on the button item.\n */\n @Input()\n text: string;\n\n /**\n * @ignore\n */\n private _selected: boolean;\n\n /**\n * Indicates whether the button item is selected.\n *\n * @param v - A boolean indicating the selected state.\n * Updates the view when the value changes.\n */\n @Input()\n public get selected(): boolean {\n return this._selected;\n }\n public set selected(v: boolean) {\n this._selected = v;\n this.cdr.markForCheck();\n }\n\n /**\n * Whether the item is visually separated from other items.\n * @defaultValue false\n */\n @Input()\n divided = false;\n\n /**\n * Data associated with the button item.\n */\n @Input()\n data: unknown;\n\n /**\n * The name of the button item.\n */\n @Input()\n name: string;\n\n /**\n * Emitted when the button item is clicked.\n * @event\n * The emitted value is an `AXClickEvent` object containing event details.\n */\n @Output()\n onClick: EventEmitter<AXClickEvent> = new EventEmitter<AXClickEvent>();\n\n /** Whether this item has nested `ax-button-item` children. */\n hasSubItems(): boolean {\n return this.childMenuItems().length > 0;\n }\n\n /** Closes the nested submenu flyout when open. */\n closeNestedMenu(): void {\n this.submenuPopover()?.close();\n }\n\n protected handleSubmenuOpened(): void {\n this.submenuCoordinator?.requestOpen(this);\n }\n\n protected handleSubmenuClosed(): void {\n this.submenuCoordinator?.clear(this);\n }\n\n /**\n * Handles click events on the button item host element.\n * Emits the onClick event if the component is not disabled.\n *\n * @param e - The mouse event that triggered the click.\n * @ignore\n */\n handleHostClick(e: MouseEvent) {\n e.stopPropagation();\n if (this.disabled) {\n return;\n }\n\n if (this.hasSubItems()) {\n this.submenuCoordinator?.requestOpen(this);\n this.submenuPopover()?.open();\n }\n\n this.onClick.emit({\n component: this,\n htmlElement: this.getHostElement(),\n nativeEvent: e,\n });\n }\n\n /**\n * Handles focus events on the button item host element.\n * Emits the onFocus event.\n *\n * @param e - The focus event that was triggered.\n * @ignore\n */\n handleHostFocus(e: FocusEvent) {\n this.emitOnFocusEvent(e);\n }\n\n /**\n * Handles blur events on the button item host element.\n * Emits the onBlur event.\n *\n * @param e - The blur event that was triggered.\n * @ignore\n */\n handleHostBlur(e: FocusEvent) {\n this.emitOnBlurEvent(e);\n }\n\n ngOnDestroy(): void {\n this.closeNestedMenu();\n this.submenuCoordinator?.clear(this);\n }\n\n /**\n * Generates the CSS classes for the button item host element.\n * Includes classes for icon-only state, disabled state, selected state, divided state, and color.\n *\n * @returns string - The space-separated CSS class names.\n * @ignore\n */\n @HostBinding('class')\n private get __hostClass(): string {\n const cssClasses = {\n 'ax-button-icon': !this.text,\n 'ax-state-disabled': this.disabled,\n 'ax-state-selected': this.selected,\n 'ax-divided': this.divided,\n 'ax-action-item': true,\n 'ax-has-submenu': this.hasSubItems(),\n };\n cssClasses[`${this.color}`] = true;\n return Object.entries(cssClasses)\n .filter((c) => c[1])\n .map((c) => c[0])\n .join(' ');\n }\n\n /**\n * Sets the tabindex attribute for keyboard navigation.\n *\n * @ignore\n */\n @HostBinding('attr.tabindex') tabindex = '0';\n}\n","import {\n AXClickEvent,\n AXClosableComponent,\n AXComponent,\n AXEvent,\n AXItemClickEvent,\n MXInteractiveComponent,\n} from '@acorex/cdk/common';\nimport { AXDecoratorGenericComponent, AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { AXLoadingComponent } from '@acorex/components/loading';\nimport {\n Component,\n ContentChildren,\n DestroyRef,\n EventEmitter,\n HostBinding,\n Output,\n QueryList,\n ViewEncapsulation,\n afterNextRender,\n inject,\n input,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { AXButtonItemSubmenuCoordinator } from './button-item-submenu.service';\nimport { AXButtonItemComponent, AXButtonItemListItem } from './button-item.component';\n\n/**\n * A component for rendering a list of button items with optional dividers between them.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-button-item-list',\n template: `\n @for (item of items(); track item.name) {\n <ng-container [ngTemplateOutlet]=\"itemTemplate\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-container>\n }\n <ng-content></ng-content>\n\n <ng-template #itemTemplate let-item>\n <ax-button-item\n [text]=\"item.text\"\n [name]=\"item.name\"\n [disabled]=\"isDisabled(item)\"\n [color]=\"item.color\"\n [selected]=\"item.selected\"\n (onClick)=\"_handleOnItemClick($event)\"\n >\n @if (item.loading) {\n <ax-loading class=\"ax-button-item-loading\"></ax-loading>\n } @else if (item.icon) {\n <ax-prefix>\n <ax-icon [icon]=\"item.icon\"></ax-icon>\n </ax-prefix>\n }\n @for (child of item.items ?? []; track child.name ?? child.text) {\n <ng-container [ngTemplateOutlet]=\"itemTemplate\" [ngTemplateOutletContext]=\"{ $implicit: child }\"></ng-container>\n }\n </ax-button-item>\n @if (item.divided) {\n <ax-divider></ax-divider>\n }\n </ng-template>\n `,\n styleUrls: ['./button-item-list.component.css'],\n\n encapsulation: ViewEncapsulation.None,\n imports: [\n NgTemplateOutlet,\n AXButtonItemComponent,\n AXDecoratorGenericComponent,\n AXDecoratorIconComponent,\n AXLoadingComponent,\n ],\n providers: [\n { provide: AXComponent, useExisting: AXButtonItemListComponent },\n AXButtonItemSubmenuCoordinator,\n ],\n})\nexport class AXButtonItemListComponent extends MXInteractiveComponent {\n private parent = inject<AXClosableComponent>(AXClosableComponent, { optional: true });\n private destroyRef = inject(DestroyRef);\n private submenuCoordinator = inject(AXButtonItemSubmenuCoordinator);\n private readonly boundClickItems = new WeakSet<AXButtonItemComponent>();\n\n @ContentChildren(AXButtonItemComponent, { descendants: true })\n protected _contentButtons: QueryList<AXButtonItemComponent>;\n\n /**\n * The list of button items to display.\n *\n * @defaultValue []\n */\n items = input<AXButtonItemListItem[]>([]);\n\n /**\n * Determines if the parent closable component should be closed automatically when\n * an item is clicked.\n *\n * @defaultValue true\n */\n closeParentOnClick = input(true);\n\n /**\n * Locks interaction for all items when any item is loading.\n *\n * @defaultValue false\n */\n lockOnLoading = input(false);\n\n /**\n * Emits an event when an item is clicked.\n * The event contains details about the clicked item.\n *\n * @event {AXItemClickEvent<AXButtonItemComponent>} - The event object containing clicked item details.\n */\n @Output()\n onItemClick: EventEmitter<AXItemClickEvent<AXButtonItemComponent>> = new EventEmitter<\n AXItemClickEvent<AXButtonItemComponent>\n >();\n\n /**\n * Initializes the button item list component.\n * Sets up content change detection and initializes content after the next render.\n *\n * @ignore\n */\n constructor() {\n super();\n afterNextRender(() => {\n this._initContents();\n this._contentButtons.changes.subscribe(() => {\n this._initContents();\n });\n this.bindParentClosed();\n });\n }\n\n private bindParentClosed(): void {\n const closable = this.parent as { onClosed?: EventEmitter<AXEvent> } | null;\n closable?.onClosed?.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {\n this.submenuCoordinator.closeAll();\n });\n }\n\n protected isDisabled(item: AXButtonItemListItem): boolean {\n if (item.disabled) {\n return true;\n }\n if (item.loading) {\n return true;\n }\n if (this.lockOnLoading() && this.hasAnyLoadingItem()) {\n return true;\n }\n return false;\n }\n\n protected hasAnyLoadingItem(): boolean {\n return this.items().some((item) => !!item.loading);\n }\n /**\n * Initializes the content of the button item list.\n * Binds events and properties to content button items and marks for change detection.\n *\n * @ignore\n */\n private _initContents() {\n this._bindEvents();\n this._bindProps();\n this.cdr.markForCheck();\n }\n\n /**\n * Binds click events to content button items.\n * Subscribes to onClick events of child button items if not already subscribed.\n *\n * @ignore\n */\n private _bindEvents() {\n this._contentButtons?.forEach((b) => {\n if (this.boundClickItems.has(b)) {\n return;\n }\n this.boundClickItems.add(b);\n b.onClick.subscribe((c) => {\n this._handleOnItemClick(c);\n });\n });\n }\n\n /**\n * Binds properties to content button items.\n * Sets the disabled state of child button items based on the parent's disabled state.\n *\n * @ignore\n */\n private _bindProps() {\n this._contentButtons?.forEach((b) => {\n b.disabled = b.disabled ?? this.disabled;\n });\n }\n\n /**\n * Handles click events from button items.\n * Closes the parent component if available and emits the item click event.\n *\n * @param e - The click event from the button item.\n * @ignore\n */\n protected _handleOnItemClick(e: AXClickEvent) {\n const item = e.component as AXButtonItemComponent;\n this._emitOnItemClickEvent(e, item);\n if (this.closeParentOnClick() && !item.hasSubItems()) {\n this.submenuCoordinator.closeAll();\n this.parent?.close();\n }\n }\n\n /**\n * Emits the onItemClick event with details about the clicked item.\n *\n * @param e - The click event from the button item.\n * @param item - The button item component that was clicked.\n * @ignore\n */\n _emitOnItemClickEvent(e: AXClickEvent, item: AXButtonItemComponent): void {\n this.onItemClick.emit({\n component: this,\n item,\n htmlElement: this.getHostElement(),\n nativeEvent: e.nativeEvent,\n name: item.name,\n data: item.data,\n });\n }\n\n /**\n * Closes the parent closable component if available.\n */\n public closeParent(): void {\n this.parent?.close();\n }\n\n /**\n * Generates the CSS classes for the button item list host element.\n * Includes classes for action list and vertical layout.\n *\n * @returns string - The space-separated CSS class names.\n * @ignore\n */\n @HostBinding('class')\n private get __hostClass(): string {\n return `ax-action-list ax-action-list-vertical`;\n }\n}\n","import {\n AXClickEvent,\n AXComponent,\n AXFocusableComponent,\n AXRippleDirective,\n MXButtonBaseComponent,\n} from '@acorex/cdk/common';\nimport { AXLoadingComponent } from '@acorex/components/loading';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { CommonModule } from '@angular/common';\nimport {\n AfterViewInit,\n Component,\n EventEmitter,\n HostBinding,\n ViewEncapsulation,\n computed,\n contentChild,\n input,\n model,\n} from '@angular/core';\nimport { AXButtonType } from './button-item.class';\nimport { AXButtonItemComponent } from './button-item.component';\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-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.css'],\n inputs: ['disabled', 'tabIndex', 'color', 'look', 'text', 'toggleable', 'selected'],\n outputs: [\n 'onBlur',\n 'onFocus',\n 'onClick',\n 'selectedChange',\n 'toggleableChange',\n 'lookChange',\n 'colorChange',\n 'disabledChange',\n ],\n\n encapsulation: ViewEncapsulation.None,\n providers: [\n { provide: AXComponent, useExisting: AXButtonComponent },\n { provide: AXButtonItemComponent, useExisting: AXButtonComponent },\n { provide: AXFocusableComponent, useExisting: AXButtonComponent },\n ],\n imports: [AXRippleDirective, AXTranslationModule, CommonModule],\n})\nexport class AXButtonComponent extends MXButtonBaseComponent implements AfterViewInit {\n iconOnly = input(false);\n\n protected showIcon = computed(() => {\n return !this.hasLoadingIcon();\n });\n protected loadingIcon = contentChild(AXLoadingComponent);\n protected hasLoadingIcon = computed(() => this.loadingIcon() != null);\n\n /**\n * Fires each time the user clicks the button.\n * @event\n */\n onClick: EventEmitter<AXClickEvent> = new EventEmitter<AXClickEvent>();\n\n /**\n * Specifies the type of button to be used in the action sheet.\n *\n * @defaultValue 'button'\n */\n type = input<AXButtonType>('button');\n\n /**\n * Defines the text displayed while the action sheet is loading.\n *\n * @defaultValue null\n */\n loadingText = model<string | null>(null);\n\n /**\n * @ignore\n */\n ngAfterViewInit(): void {\n this.getHostElement().removeAttribute('tabindex');\n }\n\n /**\n * @ignore\n */\n private getButton(): HTMLButtonElement {\n return this.getHostElement().firstElementChild as HTMLButtonElement;\n }\n\n /**\n * @ignore\n */\n _handleClick(e: MouseEvent) {\n if (this.disabled) {\n e.preventDefault();\n return;\n }\n if (this.toggleable) {\n this.selected = !this.selected;\n }\n this.onClick.emit({\n component: this,\n htmlElement: this.getHostElement(),\n nativeEvent: e,\n });\n\n // TODO: check keyboard event\n setTimeout(() => {\n this.blur();\n });\n }\n\n /**\n * Triggers a click event on the button element.\n */\n click() {\n this.getButton()?.click();\n }\n\n /**\n * @ignore\n */\n @HostBinding('class')\n private get __hostClass(): string[] {\n const list = Object.entries(this.cssClasses)\n .filter((c) => c[1])\n .map((c) => c[0]);\n if (this.iconOnly()) {\n list.push('ax-button-icon');\n }\n return list;\n }\n\n protected override emitOnFocusEvent(e?: FocusEvent): void {\n this.getButton()?.classList.add('ax-state-focus');\n super.emitOnFocusEvent(e);\n }\n\n protected override emitOnBlurEvent(e?: FocusEvent): void {\n this.getButton()?.classList.remove('ax-state-focus');\n super.emitOnBlurEvent(e);\n }\n\n override focus() {\n this.getButton()?.focus();\n }\n\n override blur() {\n this.getButton()?.blur();\n }\n}\n","<button\n [axRipple]\n [attr.type]=\"type()\"\n [disabled]=\"disabled\"\n [attr.tabindex]=\"tabIndex\"\n (click)=\"_handleClick($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n (focus)=\"emitOnFocusEvent($event)\"\n class=\"{{ color }}\n {{ interactiveLook }} \n {{ selected ? 'ax-state-selected' : '' }} \n {{ disabled ? 'ax-state-disabled' : '' }}\"\n>\n <ng-content select=\"ax-loading, ax-loading-spinner\"> </ng-content>\n\n @if (showIcon()) {\n <ng-content select=\"ax-prefix, ax-icon\"> </ng-content>\n }\n\n <ng-content select=\"ax-content\"> </ng-content>\n\n @if (text && !loadingText() && !iconOnly()) {\n <span class=\"ax-button-text\">{{ text | translate | async }}</span>\n }\n\n @if (loadingText()) {\n <span class=\"ax-button-text\">{{ loadingText() }}</span>\n }\n\n <ng-content select=\"ax-suffix\"> </ng-content>\n <ng-content select=\"ax-dropdown-panel\"> </ng-content>\n <ng-content select=\".tab-content\"> </ng-content>\n\n <ng-content></ng-content>\n</button>\n","import { AXClosableComponent, AXComponent, MXBaseComponent } from '@acorex/cdk/common';\nimport { AXTranslatorPipe } from '@acorex/core/translation';\nimport { AsyncPipe, NgClass } from '@angular/common';\nimport { Component, HostListener, inject, input, Input, ViewEncapsulation } from '@angular/core';\nimport { AXButtonComponent } from '../button.component';\n\n/**\n * A button component that displays a close icon and triggers an action when clicked.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-close-button',\n template: `<ax-button\n look=\"blank\"\n color=\"default\"\n [iconOnly]=\"true\"\n [attr.aria-label]=\"\n closeAll()\n ? ('@acorex:common.general.close-all' | translate | async)\n : ('@acorex:common.general.close' | translate | async)\n \"\n [attr.title]=\"\n closeAll()\n ? ('@acorex:common.general.close-all' | translate | async)\n : ('@acorex:common.general.close' | translate | async)\n \"\n >\n <i [ngClass]=\"icon\"></i>\n </ax-button>`,\n styleUrls: ['close-button.component.css'],\n\n encapsulation: ViewEncapsulation.None,\n imports: [AXButtonComponent, NgClass, AsyncPipe, AXTranslatorPipe],\n providers: [{ provide: AXComponent, useExisting: AXDecoratorCloseButtonComponent }],\n})\nexport class AXDecoratorCloseButtonComponent extends MXBaseComponent {\n private _parent = inject<AXClosableComponent>(AXClosableComponent, { optional: true });\n\n // @Inject(AXClosableComponent) private _parent?: AXClosableComponent,\n closeAll = input(false);\n\n /**\n * @ignore\n */\n private _icon = 'ax-icon ax-icon-close';\n\n /**\n * The icon class to be applied to the button.\n */\n @Input()\n public get icon(): string {\n return this._icon || 'ax-icon-close';\n }\n\n /**\n * Sets the icon class to be applied to the button.\n *\n * @param v The icon class.\n */\n public set icon(v: string) {\n this._icon = v;\n }\n\n /**\n * @ignore\n */\n @HostListener('click')\n protected _handleOnClick() {\n if (this.closeAll()) {\n this._parent?.closeAll();\n } else {\n this._parent?.close();\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { AXButtonItemListComponent } from './button-item-list.component';\nimport { AXButtonItemComponent } from './button-item.component';\nimport { AXButtonComponent } from './button.component';\nimport { AXDecoratorCloseButtonComponent } from './close-button/close-button.component';\n\n@NgModule({\n imports: [AXButtonComponent, AXButtonItemComponent, AXButtonItemListComponent, AXDecoratorCloseButtonComponent],\n exports: [AXButtonComponent, AXButtonItemComponent, AXButtonItemListComponent, AXDecoratorCloseButtonComponent],\n})\nexport class AXButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2"],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-button.mjs","sources":["../../../../packages/components/button/src/lib/button-item-submenu.service.ts","../../../../packages/components/button/src/lib/button-item.component.ts","../../../../packages/components/button/src/lib/button-item-list.component.ts","../../../../packages/components/button/src/lib/button.component.ts","../../../../packages/components/button/src/lib/button.component.html","../../../../packages/components/button/src/lib/chrome-button/chrome-button.component.ts","../../../../packages/components/button/src/lib/close-button/close-button.component.ts","../../../../packages/components/button/src/lib/button.module.ts","../../../../packages/components/button/src/acorex-components-button.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport type { AXButtonItemComponent } from './button-item.component';\n\n/** Coordinates which nested `ax-button-item` submenu is open within one `ax-button-item-list`. */\n@Injectable()\nexport class AXButtonItemSubmenuCoordinator {\n private current: AXButtonItemComponent | null = null;\n\n requestOpen(item: AXButtonItemComponent): void {\n if (this.current && this.current !== item) {\n this.current.closeNestedMenu();\n }\n this.current = item;\n }\n\n clear(item: AXButtonItemComponent): void {\n if (this.current === item) {\n this.current = null;\n }\n }\n\n closeAll(): void {\n this.current?.closeNestedMenu();\n this.current = null;\n }\n}\n","import {\n AXClickEvent,\n AXComponent,\n AXStyleColorType,\n MXColorComponent,\n MXInteractiveComponent,\n} from '@acorex/cdk/common';\nimport { AXDecoratorGenericComponent } from '@acorex/components/decorators';\nimport { AXPopoverComponent } from '@acorex/components/popover';\nimport { AXHtmlUtil } from '@acorex/core/utils';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { CommonModule } from '@angular/common';\n\nimport {\n Component,\n EventEmitter,\n HostBinding,\n Input,\n OnDestroy,\n Output,\n ViewEncapsulation,\n computed,\n contentChildren,\n inject,\n viewChild,\n} from '@angular/core';\nimport { classes } from 'polytype';\nimport { AXButtonItemSubmenuCoordinator } from './button-item-submenu.service';\n\nexport interface AXButtonItemListItem {\n name: string;\n text: string;\n icon: string;\n divided?: boolean;\n disabled?: boolean;\n selected?: boolean;\n iconOnly?: boolean;\n color?: AXStyleColorType;\n loading?: boolean;\n items?: AXButtonItemListItem[];\n}\n\n/**\n * Represents a button item with optional content like icons, text, and dropdowns.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-button-item',\n template: `\n <div class=\"ax-action-item-prefix\">\n <ng-content select=\"ax-prefix\"> </ng-content>\n <ng-content select=\"ax-loading\"> </ng-content>\n <ng-content select=\"ax-icon\"> </ng-content>\n @if (text) {\n <ax-text>{{ text | translate | async }}</ax-text>\n }\n </div>\n <div class=\"ax-action-item-suffix\">\n <ng-content select=\"ax-suffix\"> </ng-content>\n @if (hasSubItems()) {\n <i class=\"ax-icon ax-icon-solid {{ arrowIcon() }}\"></i>\n }\n </div>\n <ng-content select=\"ax-dropdown-panel\"> </ng-content>\n @if (hasSubItems()) {\n <ax-popover\n #submenuPopover\n [target]=\"submenuTarget\"\n openOn=\"hover\"\n closeOn=\"leave\"\n placement=\"end-top\"\n [closeOnScroll]=\"false\"\n visualContextScope=\"theme\"\n panelClass=\"ax-button-item-submenu-panel\"\n (onOpened)=\"handleSubmenuOpened()\"\n (onClosed)=\"handleSubmenuClosed()\"\n >\n <div class=\"ax-button-item-submenu ax-action-list ax-action-list-vertical\">\n <ng-content select=\"ax-button-item,ax-divider,ax-title\"></ng-content>\n </div>\n </ax-popover>\n }\n `,\n encapsulation: ViewEncapsulation.None,\n\n inputs: ['color', 'disabled'],\n outputs: ['onClick', 'onFocus', 'onBlur', 'disabledChange'],\n imports: [CommonModule, AXDecoratorGenericComponent, AXTranslationModule, AXPopoverComponent],\n providers: [{ provide: AXComponent, useExisting: AXButtonItemComponent }],\n styleUrl: './button-item.component.css',\n host: {\n '(click)': 'handleHostClick($event)',\n '(focus)': 'handleHostFocus($event)',\n '(blur)': 'handleHostBlur($event)',\n },\n})\nexport class AXButtonItemComponent extends classes(MXInteractiveComponent, MXColorComponent) implements OnDestroy {\n private readonly childMenuItems = contentChildren(AXButtonItemComponent, { descendants: false });\n private readonly submenuCoordinator = inject(AXButtonItemSubmenuCoordinator, { optional: true });\n private readonly submenuPopover = viewChild<AXPopoverComponent>('submenuPopover');\n\n protected readonly submenuTarget = this;\n\n protected readonly arrowIcon = computed(() => {\n const isRtl = AXHtmlUtil.isRtl(this.getHostElement());\n return isRtl ? 'ax-icon-chevron-left' : 'ax-icon-chevron-right';\n });\n\n /**\n * Text displayed on the button item.\n */\n @Input()\n text: string;\n\n /**\n * @ignore\n */\n private _selected: boolean;\n\n /**\n * Indicates whether the button item is selected.\n *\n * @param v - A boolean indicating the selected state.\n * Updates the view when the value changes.\n */\n @Input()\n public get selected(): boolean {\n return this._selected;\n }\n public set selected(v: boolean) {\n this._selected = v;\n this.cdr.markForCheck();\n }\n\n /**\n * Whether the item is visually separated from other items.\n * @defaultValue false\n */\n @Input()\n divided = false;\n\n /**\n * Data associated with the button item.\n */\n @Input()\n data: unknown;\n\n /**\n * The name of the button item.\n */\n @Input()\n name: string;\n\n /**\n * Emitted when the button item is clicked.\n * @event\n * The emitted value is an `AXClickEvent` object containing event details.\n */\n @Output()\n onClick: EventEmitter<AXClickEvent> = new EventEmitter<AXClickEvent>();\n\n /** Whether this item has nested `ax-button-item` children. */\n hasSubItems(): boolean {\n return this.childMenuItems().length > 0;\n }\n\n /** Closes the nested submenu flyout when open. */\n closeNestedMenu(): void {\n this.submenuPopover()?.close();\n }\n\n protected handleSubmenuOpened(): void {\n this.submenuCoordinator?.requestOpen(this);\n }\n\n protected handleSubmenuClosed(): void {\n this.submenuCoordinator?.clear(this);\n }\n\n /**\n * Handles click events on the button item host element.\n * Emits the onClick event if the component is not disabled.\n *\n * @param e - The mouse event that triggered the click.\n * @ignore\n */\n handleHostClick(e: MouseEvent) {\n e.stopPropagation();\n if (this.disabled) {\n return;\n }\n\n if (this.hasSubItems()) {\n this.submenuCoordinator?.requestOpen(this);\n this.submenuPopover()?.open();\n }\n\n this.onClick.emit({\n component: this,\n htmlElement: this.getHostElement(),\n nativeEvent: e,\n });\n }\n\n /**\n * Handles focus events on the button item host element.\n * Emits the onFocus event.\n *\n * @param e - The focus event that was triggered.\n * @ignore\n */\n handleHostFocus(e: FocusEvent) {\n this.emitOnFocusEvent(e);\n }\n\n /**\n * Handles blur events on the button item host element.\n * Emits the onBlur event.\n *\n * @param e - The blur event that was triggered.\n * @ignore\n */\n handleHostBlur(e: FocusEvent) {\n this.emitOnBlurEvent(e);\n }\n\n ngOnDestroy(): void {\n this.closeNestedMenu();\n this.submenuCoordinator?.clear(this);\n }\n\n /**\n * Generates the CSS classes for the button item host element.\n * Includes classes for icon-only state, disabled state, selected state, divided state, and color.\n *\n * @returns string - The space-separated CSS class names.\n * @ignore\n */\n @HostBinding('class')\n private get __hostClass(): string {\n const cssClasses = {\n 'ax-button-icon': !this.text,\n 'ax-state-disabled': this.disabled,\n 'ax-state-selected': this.selected,\n 'ax-divided': this.divided,\n 'ax-action-item': true,\n 'ax-has-submenu': this.hasSubItems(),\n };\n cssClasses[`${this.color}`] = true;\n return Object.entries(cssClasses)\n .filter((c) => c[1])\n .map((c) => c[0])\n .join(' ');\n }\n\n /**\n * Sets the tabindex attribute for keyboard navigation.\n *\n * @ignore\n */\n @HostBinding('attr.tabindex') tabindex = '0';\n}\n","import {\n AXClickEvent,\n AXClosableComponent,\n AXComponent,\n AXEvent,\n AXItemClickEvent,\n MXInteractiveComponent,\n} from '@acorex/cdk/common';\nimport { AXDecoratorGenericComponent, AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { AXLoadingComponent } from '@acorex/components/loading';\nimport {\n Component,\n ContentChildren,\n DestroyRef,\n EventEmitter,\n HostBinding,\n Output,\n QueryList,\n ViewEncapsulation,\n afterNextRender,\n inject,\n input,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { AXButtonItemSubmenuCoordinator } from './button-item-submenu.service';\nimport { AXButtonItemComponent, AXButtonItemListItem } from './button-item.component';\n\n/**\n * A component for rendering a list of button items with optional dividers between them.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-button-item-list',\n template: `\n @for (item of items(); track item.name) {\n <ng-container [ngTemplateOutlet]=\"itemTemplate\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-container>\n }\n <ng-content></ng-content>\n\n <ng-template #itemTemplate let-item>\n <ax-button-item\n [text]=\"item.text\"\n [name]=\"item.name\"\n [disabled]=\"isDisabled(item)\"\n [color]=\"item.color\"\n [selected]=\"item.selected\"\n (onClick)=\"_handleOnItemClick($event)\"\n >\n @if (item.loading) {\n <ax-loading class=\"ax-button-item-loading\"></ax-loading>\n } @else if (item.icon) {\n <ax-prefix>\n <ax-icon [icon]=\"item.icon\"></ax-icon>\n </ax-prefix>\n }\n @for (child of item.items ?? []; track child.name ?? child.text) {\n <ng-container [ngTemplateOutlet]=\"itemTemplate\" [ngTemplateOutletContext]=\"{ $implicit: child }\"></ng-container>\n }\n </ax-button-item>\n @if (item.divided) {\n <ax-divider></ax-divider>\n }\n </ng-template>\n `,\n styleUrls: ['./button-item-list.component.css'],\n\n encapsulation: ViewEncapsulation.None,\n imports: [\n NgTemplateOutlet,\n AXButtonItemComponent,\n AXDecoratorGenericComponent,\n AXDecoratorIconComponent,\n AXLoadingComponent,\n ],\n providers: [\n { provide: AXComponent, useExisting: AXButtonItemListComponent },\n AXButtonItemSubmenuCoordinator,\n ],\n})\nexport class AXButtonItemListComponent extends MXInteractiveComponent {\n private parent = inject<AXClosableComponent>(AXClosableComponent, { optional: true });\n private destroyRef = inject(DestroyRef);\n private submenuCoordinator = inject(AXButtonItemSubmenuCoordinator);\n private readonly boundClickItems = new WeakSet<AXButtonItemComponent>();\n\n @ContentChildren(AXButtonItemComponent, { descendants: true })\n protected _contentButtons: QueryList<AXButtonItemComponent>;\n\n /**\n * The list of button items to display.\n *\n * @defaultValue []\n */\n items = input<AXButtonItemListItem[]>([]);\n\n /**\n * Determines if the parent closable component should be closed automatically when\n * an item is clicked.\n *\n * @defaultValue true\n */\n closeParentOnClick = input(true);\n\n /**\n * Locks interaction for all items when any item is loading.\n *\n * @defaultValue false\n */\n lockOnLoading = input(false);\n\n /**\n * Emits an event when an item is clicked.\n * The event contains details about the clicked item.\n *\n * @event {AXItemClickEvent<AXButtonItemComponent>} - The event object containing clicked item details.\n */\n @Output()\n onItemClick: EventEmitter<AXItemClickEvent<AXButtonItemComponent>> = new EventEmitter<\n AXItemClickEvent<AXButtonItemComponent>\n >();\n\n /**\n * Initializes the button item list component.\n * Sets up content change detection and initializes content after the next render.\n *\n * @ignore\n */\n constructor() {\n super();\n afterNextRender(() => {\n this._initContents();\n this._contentButtons.changes.subscribe(() => {\n this._initContents();\n });\n this.bindParentClosed();\n });\n }\n\n private bindParentClosed(): void {\n const closable = this.parent as { onClosed?: EventEmitter<AXEvent> } | null;\n closable?.onClosed?.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {\n this.submenuCoordinator.closeAll();\n });\n }\n\n protected isDisabled(item: AXButtonItemListItem): boolean {\n if (item.disabled) {\n return true;\n }\n if (item.loading) {\n return true;\n }\n if (this.lockOnLoading() && this.hasAnyLoadingItem()) {\n return true;\n }\n return false;\n }\n\n protected hasAnyLoadingItem(): boolean {\n return this.items().some((item) => !!item.loading);\n }\n /**\n * Initializes the content of the button item list.\n * Binds events and properties to content button items and marks for change detection.\n *\n * @ignore\n */\n private _initContents() {\n this._bindEvents();\n this._bindProps();\n this.cdr.markForCheck();\n }\n\n /**\n * Binds click events to content button items.\n * Subscribes to onClick events of child button items if not already subscribed.\n *\n * @ignore\n */\n private _bindEvents() {\n this._contentButtons?.forEach((b) => {\n if (this.boundClickItems.has(b)) {\n return;\n }\n this.boundClickItems.add(b);\n b.onClick.subscribe((c) => {\n this._handleOnItemClick(c);\n });\n });\n }\n\n /**\n * Binds properties to content button items.\n * Sets the disabled state of child button items based on the parent's disabled state.\n *\n * @ignore\n */\n private _bindProps() {\n this._contentButtons?.forEach((b) => {\n b.disabled = b.disabled ?? this.disabled;\n });\n }\n\n /**\n * Handles click events from button items.\n * Closes the parent component if available and emits the item click event.\n *\n * @param e - The click event from the button item.\n * @ignore\n */\n protected _handleOnItemClick(e: AXClickEvent) {\n const item = e.component as AXButtonItemComponent;\n this._emitOnItemClickEvent(e, item);\n if (this.closeParentOnClick() && !item.hasSubItems()) {\n this.submenuCoordinator.closeAll();\n this.parent?.close();\n }\n }\n\n /**\n * Emits the onItemClick event with details about the clicked item.\n *\n * @param e - The click event from the button item.\n * @param item - The button item component that was clicked.\n * @ignore\n */\n _emitOnItemClickEvent(e: AXClickEvent, item: AXButtonItemComponent): void {\n this.onItemClick.emit({\n component: this,\n item,\n htmlElement: this.getHostElement(),\n nativeEvent: e.nativeEvent,\n name: item.name,\n data: item.data,\n });\n }\n\n /**\n * Closes the parent closable component if available.\n */\n public closeParent(): void {\n this.parent?.close();\n }\n\n /**\n * Generates the CSS classes for the button item list host element.\n * Includes classes for action list and vertical layout.\n *\n * @returns string - The space-separated CSS class names.\n * @ignore\n */\n @HostBinding('class')\n private get __hostClass(): string {\n return `ax-action-list ax-action-list-vertical`;\n }\n}\n","import {\n AXClickEvent,\n AXComponent,\n AXFocusableComponent,\n AXRippleDirective,\n MXButtonBaseComponent,\n} from '@acorex/cdk/common';\nimport { AXLoadingComponent } from '@acorex/components/loading';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { CommonModule } from '@angular/common';\nimport {\n AfterViewInit,\n Component,\n EventEmitter,\n HostBinding,\n ViewEncapsulation,\n computed,\n contentChild,\n input,\n model,\n} from '@angular/core';\nimport { AXButtonType } from './button-item.class';\nimport { AXButtonItemComponent } from './button-item.component';\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-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.css'],\n inputs: ['disabled', 'tabIndex', 'color', 'look', 'text', 'toggleable', 'selected'],\n outputs: [\n 'onBlur',\n 'onFocus',\n 'onClick',\n 'selectedChange',\n 'toggleableChange',\n 'lookChange',\n 'colorChange',\n 'disabledChange',\n ],\n\n encapsulation: ViewEncapsulation.None,\n providers: [\n { provide: AXComponent, useExisting: AXButtonComponent },\n { provide: AXButtonItemComponent, useExisting: AXButtonComponent },\n { provide: AXFocusableComponent, useExisting: AXButtonComponent },\n ],\n imports: [AXRippleDirective, AXTranslationModule, CommonModule],\n})\nexport class AXButtonComponent extends MXButtonBaseComponent implements AfterViewInit {\n iconOnly = input(false);\n\n protected showIcon = computed(() => {\n return !this.hasLoadingIcon();\n });\n protected loadingIcon = contentChild(AXLoadingComponent);\n protected hasLoadingIcon = computed(() => this.loadingIcon() != null);\n\n /**\n * Fires each time the user clicks the button.\n * @event\n */\n onClick: EventEmitter<AXClickEvent> = new EventEmitter<AXClickEvent>();\n\n /**\n * Specifies the type of button to be used in the action sheet.\n *\n * @defaultValue 'button'\n */\n type = input<AXButtonType>('button');\n\n /**\n * Defines the text displayed while the action sheet is loading.\n *\n * @defaultValue null\n */\n loadingText = model<string | null>(null);\n\n /**\n * @ignore\n */\n ngAfterViewInit(): void {\n this.getHostElement().removeAttribute('tabindex');\n }\n\n /**\n * @ignore\n */\n private getButton(): HTMLButtonElement {\n return this.getHostElement().firstElementChild as HTMLButtonElement;\n }\n\n /**\n * @ignore\n */\n _handleClick(e: MouseEvent) {\n if (this.disabled) {\n e.preventDefault();\n return;\n }\n if (this.toggleable) {\n this.selected = !this.selected;\n }\n this.onClick.emit({\n component: this,\n htmlElement: this.getHostElement(),\n nativeEvent: e,\n });\n\n // TODO: check keyboard event\n setTimeout(() => {\n this.blur();\n });\n }\n\n /**\n * Triggers a click event on the button element.\n */\n click() {\n this.getButton()?.click();\n }\n\n /**\n * @ignore\n */\n @HostBinding('class')\n private get __hostClass(): string[] {\n const list = Object.entries(this.cssClasses)\n .filter((c) => c[1])\n .map((c) => c[0]);\n if (this.iconOnly()) {\n list.push('ax-button-icon');\n }\n return list;\n }\n\n protected override emitOnFocusEvent(e?: FocusEvent): void {\n this.getButton()?.classList.add('ax-state-focus');\n super.emitOnFocusEvent(e);\n }\n\n protected override emitOnBlurEvent(e?: FocusEvent): void {\n this.getButton()?.classList.remove('ax-state-focus');\n super.emitOnBlurEvent(e);\n }\n\n override focus() {\n this.getButton()?.focus();\n }\n\n override blur() {\n this.getButton()?.blur();\n }\n}\n","<button\n [axRipple]\n [attr.type]=\"type()\"\n [disabled]=\"disabled\"\n [attr.tabindex]=\"tabIndex\"\n (click)=\"_handleClick($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n (focus)=\"emitOnFocusEvent($event)\"\n class=\"{{ color }}\n {{ interactiveLook }} \n {{ selected ? 'ax-state-selected' : '' }} \n {{ disabled ? 'ax-state-disabled' : '' }}\"\n>\n <ng-content select=\"ax-loading, ax-loading-spinner\"> </ng-content>\n\n @if (showIcon()) {\n <ng-content select=\"ax-prefix, ax-icon\"> </ng-content>\n }\n\n <ng-content select=\"ax-content\"> </ng-content>\n\n @if (text && !loadingText() && !iconOnly()) {\n <span class=\"ax-button-text\">{{ text | translate | async }}</span>\n }\n\n @if (loadingText()) {\n <span class=\"ax-button-text\">{{ loadingText() }}</span>\n }\n\n <ng-content select=\"ax-suffix\"> </ng-content>\n <ng-content select=\"ax-dropdown-panel\"> </ng-content>\n <ng-content select=\".tab-content\"> </ng-content>\n\n <ng-content></ng-content>\n</button>\n","import { AXComponent, MXBaseComponent } from '@acorex/cdk/common';\nimport { Component, input, ViewEncapsulation } from '@angular/core';\nimport { AXButtonComponent } from '../button.component';\n\n/**\n * Icon-only blank chrome control (window caption, toolbar). Matches {@link AXDecoratorCloseButtonComponent} styling.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-chrome-button',\n template: `<ax-button\n class=\"ax-chrome-button-action\"\n look=\"blank\"\n color=\"default\"\n [iconOnly]=\"true\"\n [class]=\"buttonSizeClasses\"\n [attr.aria-label]=\"ariaLabel() ?? title()\"\n [attr.title]=\"title()\"\n >\n <ng-content></ng-content>\n </ax-button>`,\n styleUrls: ['./chrome-icon-button.css'],\n encapsulation: ViewEncapsulation.None,\n imports: [AXButtonComponent],\n providers: [{ provide: AXComponent, useExisting: AXChromeButtonComponent }],\n})\nexport class AXChromeButtonComponent extends MXBaseComponent {\n /** Visible tooltip / native title. */\n title = input<string | null>(null);\n\n /** Accessible name; falls back to {@link title}. */\n ariaLabel = input<string | null>(null, { alias: 'aria-label' });\n\n /** Forwards ax-xs … ax-xl from the host to the inner ax-button. */\n protected get buttonSizeClasses(): string {\n const host = this.getHostElement();\n return ['ax-xs', 'ax-sm', 'ax-md', 'ax-lg', 'ax-xl'].filter((size) => host.classList.contains(size)).join(' ');\n }\n}\n","import { AXClosableComponent, AXComponent, MXBaseComponent } from '@acorex/cdk/common';\nimport { AXTranslatorPipe } from '@acorex/core/translation';\nimport { AsyncPipe, NgClass } from '@angular/common';\nimport { Component, HostListener, inject, input, Input, ViewEncapsulation } from '@angular/core';\nimport { AXButtonComponent } from '../button.component';\n\n/**\n * A button component that displays a close icon and triggers an action when clicked.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-close-button',\n template: `<ax-button\n class=\"ax-chrome-button-action\"\n look=\"blank\"\n color=\"default\"\n [iconOnly]=\"true\"\n [class]=\"buttonSizeClasses\"\n [attr.aria-label]=\"\n closeAll()\n ? ('@acorex:common.general.close-all' | translate | async)\n : ('@acorex:common.general.close' | translate | async)\n \"\n [attr.title]=\"\n closeAll()\n ? ('@acorex:common.general.close-all' | translate | async)\n : ('@acorex:common.general.close' | translate | async)\n \"\n >\n <i [ngClass]=\"icon\"></i>\n </ax-button>`,\n styleUrls: ['../chrome-button/chrome-icon-button.css'],\n\n encapsulation: ViewEncapsulation.None,\n imports: [AXButtonComponent, NgClass, AsyncPipe, AXTranslatorPipe],\n providers: [{ provide: AXComponent, useExisting: AXDecoratorCloseButtonComponent }],\n})\nexport class AXDecoratorCloseButtonComponent extends MXBaseComponent {\n private _parent = inject<AXClosableComponent>(AXClosableComponent, { optional: true });\n\n // @Inject(AXClosableComponent) private _parent?: AXClosableComponent,\n closeAll = input(false);\n\n /**\n * @ignore\n */\n private _icon = 'ax-icon ax-icon-close';\n\n /**\n * The icon class to be applied to the button.\n */\n @Input()\n public get icon(): string {\n return this._icon || 'ax-icon-close';\n }\n\n /**\n * Sets the icon class to be applied to the button.\n *\n * @param v The icon class.\n */\n public set icon(v: string) {\n this._icon = v;\n }\n\n /** Forwards ax-xs … ax-xl from the host to the inner ax-button. */\n protected get buttonSizeClasses(): string {\n const host = this.getHostElement();\n return ['ax-xs', 'ax-sm', 'ax-md', 'ax-lg', 'ax-xl'].filter((size) => host.classList.contains(size)).join(' ');\n }\n\n /**\n * @ignore\n */\n @HostListener('click')\n protected _handleOnClick() {\n if (this.closeAll()) {\n this._parent?.closeAll();\n } else {\n this._parent?.close();\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { AXButtonItemListComponent } from './button-item-list.component';\nimport { AXButtonItemComponent } from './button-item.component';\nimport { AXButtonComponent } from './button.component';\nimport { AXChromeButtonComponent } from './chrome-button/chrome-button.component';\nimport { AXDecoratorCloseButtonComponent } from './close-button/close-button.component';\n\n@NgModule({\n imports: [\n AXButtonComponent,\n AXButtonItemComponent,\n AXButtonItemListComponent,\n AXDecoratorCloseButtonComponent,\n AXChromeButtonComponent,\n ],\n exports: [\n AXButtonComponent,\n AXButtonItemComponent,\n AXButtonItemListComponent,\n AXDecoratorCloseButtonComponent,\n AXChromeButtonComponent,\n ],\n})\nexport class AXButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2"],"mappings":"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"}