@acorex/components 19.10.0-next.0 → 19.10.0-next.2
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.
- package/button-group/lib/button-group.component.d.ts +5 -7
- package/common/lib/classes/datasource.class.d.ts +3 -0
- package/data-table/lib/base-data-table.class.d.ts +1 -0
- package/data-table/lib/columns/data-text-column.component.d.ts +3 -1
- package/data-table/lib/data-table/data-table.component.d.ts +2 -0
- package/fesm2022/acorex-components-alert.mjs +2 -2
- package/fesm2022/acorex-components-alert.mjs.map +1 -1
- package/fesm2022/acorex-components-button-group.mjs +4 -13
- package/fesm2022/acorex-components-button-group.mjs.map +1 -1
- package/fesm2022/acorex-components-button.mjs +4 -4
- package/fesm2022/acorex-components-button.mjs.map +1 -1
- package/fesm2022/acorex-components-color-palette.mjs +1 -1
- package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
- package/fesm2022/acorex-components-common.mjs +1 -0
- package/fesm2022/acorex-components-common.mjs.map +1 -1
- package/fesm2022/acorex-components-conversation.mjs +2 -2
- package/fesm2022/acorex-components-conversation.mjs.map +1 -1
- package/fesm2022/acorex-components-cron-job.mjs +7 -15
- package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
- package/fesm2022/acorex-components-data-table.mjs +46 -13
- package/fesm2022/acorex-components-data-table.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-input.mjs +2 -2
- package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown.mjs +2 -2
- package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
- package/fesm2022/acorex-components-image-editor.mjs +2 -2
- package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
- package/fesm2022/acorex-components-label.mjs +2 -2
- package/fesm2022/acorex-components-label.mjs.map +1 -1
- package/fesm2022/acorex-components-menu.mjs +4 -4
- package/fesm2022/acorex-components-menu.mjs.map +1 -1
- package/fesm2022/acorex-components-number-box.mjs +2 -2
- package/fesm2022/acorex-components-number-box.mjs.map +1 -1
- package/fesm2022/acorex-components-otp.mjs +2 -2
- package/fesm2022/acorex-components-otp.mjs.map +1 -1
- package/fesm2022/acorex-components-paint.mjs +2 -2
- package/fesm2022/acorex-components-paint.mjs.map +1 -1
- package/fesm2022/acorex-components-password-box.mjs +2 -2
- package/fesm2022/acorex-components-password-box.mjs.map +1 -1
- package/fesm2022/acorex-components-phone-box.mjs +1 -1
- package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
- package/fesm2022/acorex-components-query-builder.mjs +245 -0
- package/fesm2022/acorex-components-query-builder.mjs.map +1 -0
- package/fesm2022/acorex-components-scheduler.mjs +4 -4
- package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
- package/fesm2022/acorex-components-search-box.mjs +2 -2
- package/fesm2022/acorex-components-search-box.mjs.map +1 -1
- package/fesm2022/acorex-components-select-box.mjs +2 -1
- package/fesm2022/acorex-components-select-box.mjs.map +1 -1
- package/fesm2022/acorex-components-slider.mjs +2 -2
- package/fesm2022/acorex-components-slider.mjs.map +1 -1
- package/fesm2022/acorex-components-text-area.mjs +2 -2
- package/fesm2022/acorex-components-text-area.mjs.map +1 -1
- package/fesm2022/acorex-components-text-box.mjs +2 -2
- package/fesm2022/acorex-components-text-box.mjs.map +1 -1
- package/fesm2022/acorex-components-uploader.mjs +2 -2
- package/fesm2022/acorex-components-uploader.mjs.map +1 -1
- package/fesm2022/acorex-components-wysiwyg.mjs +3 -3
- package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
- package/package.json +5 -1
- package/query-builder/README.md +3 -0
- package/query-builder/index.d.ts +2 -0
- package/query-builder/lib/query-builder.component.d.ts +31 -0
- package/query-builder/lib/query-builder.module.d.ts +15 -0
- package/select-box/lib/select-box.component.d.ts +1 -1
| @@ -1,5 +1,6 @@ | |
| 1 1 | 
             
            import { AXClickEvent, AXSelectionMode, MXColorLookComponent, MXInteractiveComponent } from '@acorex/components/common';
         | 
| 2 | 
            -
            import {  | 
| 2 | 
            +
            import { EventEmitter } from '@angular/core';
         | 
| 3 | 
            +
            import { AXButtonGroupItemComponent } from './button-group-item.component';
         | 
| 3 4 | 
             
            import * as i0 from "@angular/core";
         | 
| 4 5 | 
             
            declare const AXButtonGroupComponent_base: import("polytype").Polytype.ClusteredConstructor<[typeof MXInteractiveComponent, typeof MXColorLookComponent]>;
         | 
| 5 6 | 
             
            /**
         | 
| @@ -7,7 +8,7 @@ declare const AXButtonGroupComponent_base: import("polytype").Polytype.Clustered | |
| 7 8 | 
             
             *
         | 
| 8 9 | 
             
             * @category Components
         | 
| 9 10 | 
             
             */
         | 
| 10 | 
            -
            export declare class AXButtonGroupComponent extends AXButtonGroupComponent_base  | 
| 11 | 
            +
            export declare class AXButtonGroupComponent extends AXButtonGroupComponent_base {
         | 
| 11 12 | 
             
                #private;
         | 
| 12 13 | 
             
                /**
         | 
| 13 14 | 
             
                 * Fires when any button in the group is clicked.
         | 
| @@ -25,6 +26,7 @@ export declare class AXButtonGroupComponent extends AXButtonGroupComponent_base | |
| 25 26 | 
             
                 * @event
         | 
| 26 27 | 
             
                 */
         | 
| 27 28 | 
             
                selectionChange: EventEmitter<AXSelectionMode>;
         | 
| 29 | 
            +
                selectedButtonChange: import("@angular/core").OutputEmitterRef<AXButtonGroupItemComponent>;
         | 
| 28 30 | 
             
                /**
         | 
| 29 31 | 
             
                 *  @ignore
         | 
| 30 32 | 
             
                 */
         | 
| @@ -39,10 +41,6 @@ export declare class AXButtonGroupComponent extends AXButtonGroupComponent_base | |
| 39 41 | 
             
                 * @param value - The selection mode to be set. Possible values include 'single', 'multiple', or 'none'.
         | 
| 40 42 | 
             
                 */
         | 
| 41 43 | 
             
                set selection(value: AXSelectionMode);
         | 
| 42 | 
            -
                /**
         | 
| 43 | 
            -
                 *  @ignore
         | 
| 44 | 
            -
                 */
         | 
| 45 | 
            -
                ngAfterContentInit(): void;
         | 
| 46 44 | 
             
                /**
         | 
| 47 45 | 
             
                 *  @ignore
         | 
| 48 46 | 
             
                 */
         | 
| @@ -76,6 +74,6 @@ export declare class AXButtonGroupComponent extends AXButtonGroupComponent_base | |
| 76 74 | 
             
                 */
         | 
| 77 75 | 
             
                private __hostClick;
         | 
| 78 76 | 
             
                static ɵfac: i0.ɵɵFactoryDeclaration<AXButtonGroupComponent, never>;
         | 
| 79 | 
            -
                static ɵcmp: i0.ɵɵComponentDeclaration<AXButtonGroupComponent, "ax-button-group", never, { "disabled": { "alias": "disabled"; "required": false; }; "color": { "alias": "color"; "required": false; }; "look": { "alias": "look"; "required": false; }; "selection": { "alias": "selection"; "required": false; }; }, { "onBlur": "onBlur"; "onFocus": "onFocus"; "lookChange": "lookChange"; "colorChange": "colorChange"; "disabledChange": "disabledChange"; "onClick": "onClick"; "selectionChange": "selectionChange"; }, ["_contentButtons"], ["ax-button-group-item"], false, never>;
         | 
| 77 | 
            +
                static ɵcmp: i0.ɵɵComponentDeclaration<AXButtonGroupComponent, "ax-button-group", never, { "disabled": { "alias": "disabled"; "required": false; }; "color": { "alias": "color"; "required": false; }; "look": { "alias": "look"; "required": false; }; "selection": { "alias": "selection"; "required": false; }; }, { "onBlur": "onBlur"; "onFocus": "onFocus"; "lookChange": "lookChange"; "colorChange": "colorChange"; "disabledChange": "disabledChange"; "onClick": "onClick"; "selectionChange": "selectionChange"; "selectedButtonChange": "selectedButtonChange"; }, ["_contentButtons"], ["ax-button-group-item"], false, never>;
         | 
| 80 78 | 
             
            }
         | 
| 81 79 | 
             
            export {};
         | 
| @@ -62,6 +62,9 @@ export declare class AXDataSource<T = unknown> { | |
| 62 62 | 
             
                get query(): AXDataSourceQuery;
         | 
| 63 63 | 
             
                onChanged: Subject<AXDataSourceChangedEvent<T>>;
         | 
| 64 64 | 
             
                onItemExpanded: Subject<AXDataSourceItemExpandedEvent<T>>;
         | 
| 65 | 
            +
                onItemRefreshChildren: Subject<{
         | 
| 66 | 
            +
                    id: string;
         | 
| 67 | 
            +
                }>;
         | 
| 65 68 | 
             
                onLoadingChanged: Subject<boolean>;
         | 
| 66 69 | 
             
                private _isLoading;
         | 
| 67 70 | 
             
                get isLoading(): boolean;
         | 
| @@ -30,6 +30,7 @@ export declare abstract class AXBaseDataTable extends MXBaseComponent { | |
| 30 30 | 
             
                get selectedRows(): unknown[];
         | 
| 31 31 | 
             
                set selectedRows(v: unknown[]);
         | 
| 32 32 | 
             
                expandRow(row: any): Promise<void>;
         | 
| 33 | 
            +
                refreshItemChildren(id: string): Promise<void>;
         | 
| 33 34 | 
             
                selectRows(...rows: unknown[]): void;
         | 
| 34 35 | 
             
                unSelectRows(...rows: unknown[]): void;
         | 
| 35 36 | 
             
                static ɵfac: i0.ɵɵFactoryDeclaration<AXBaseDataTable, never>;
         | 
| @@ -11,6 +11,8 @@ export declare class AXDataTableTextColumnComponent extends AXDataTableColumnCom | |
| 11 11 | 
             
                private grid;
         | 
| 12 12 | 
             
                protected loadingRow: import("@angular/core").WritableSignal<any>;
         | 
| 13 13 | 
             
                protected initialWidth: string;
         | 
| 14 | 
            +
                customExpandIcon: string;
         | 
| 15 | 
            +
                customCollapseIcon: string;
         | 
| 14 16 | 
             
                /**
         | 
| 15 17 | 
             
                 * Defines the data field to display in the column.
         | 
| 16 18 | 
             
                 */
         | 
| @@ -94,5 +96,5 @@ export declare class AXDataTableTextColumnComponent extends AXDataTableColumnCom | |
| 94 96 | 
             
                 */
         | 
| 95 97 | 
             
                formatOptions: AXFormatOptions;
         | 
| 96 98 | 
             
                static ɵfac: i0.ɵɵFactoryDeclaration<AXDataTableTextColumnComponent, never>;
         | 
| 97 | 
            -
                static ɵcmp: i0.ɵɵComponentDeclaration<AXDataTableTextColumnComponent, "ax-text-column", never, { "width": { "alias": "width"; "required": false; }; "caption": { "alias": "caption"; "required": false; }; "allowSorting": { "alias": "allowSorting"; "required": false; }; "allowResizing": { "alias": "allowResizing"; "required": false; }; "fixed": { "alias": "fixed"; "required": false; }; "dataField": { "alias": "dataField"; "required": false; }; "expandHandler": { "alias": "expandHandler"; "required": false; }; "wrapText": { "alias": "wrapText"; "required": false; }; "cellTemplate": { "alias": "cellTemplate"; "required": false; }; "footerTemplate": { "alias": "footerTemplate"; "required": false; }; "headerTemplate": { "alias": "headerTemplate"; "required": false; }; "format": { "alias": "format"; "required": false; }; "formatOptions": { "alias": "formatOptions"; "required": false; }; }, {}, never, never, false, never>;
         | 
| 99 | 
            +
                static ɵcmp: i0.ɵɵComponentDeclaration<AXDataTableTextColumnComponent, "ax-text-column", never, { "width": { "alias": "width"; "required": false; }; "caption": { "alias": "caption"; "required": false; }; "allowSorting": { "alias": "allowSorting"; "required": false; }; "allowResizing": { "alias": "allowResizing"; "required": false; }; "fixed": { "alias": "fixed"; "required": false; }; "customExpandIcon": { "alias": "customExpandIcon"; "required": false; }; "customCollapseIcon": { "alias": "customCollapseIcon"; "required": false; }; "dataField": { "alias": "dataField"; "required": false; }; "expandHandler": { "alias": "expandHandler"; "required": false; }; "wrapText": { "alias": "wrapText"; "required": false; }; "cellTemplate": { "alias": "cellTemplate"; "required": false; }; "footerTemplate": { "alias": "footerTemplate"; "required": false; }; "headerTemplate": { "alias": "headerTemplate"; "required": false; }; "format": { "alias": "format"; "required": false; }; "formatOptions": { "alias": "formatOptions"; "required": false; }; }, {}, never, never, false, never>;
         | 
| 98 100 | 
             
            }
         | 
| @@ -217,6 +217,8 @@ export declare class AXDataTableComponent extends AXBaseDataTable implements OnI | |
| 217 217 | 
             
                 */
         | 
| 218 218 | 
             
                ngAfterViewInit(): void;
         | 
| 219 219 | 
             
                protected toggleExpanded(rows: any[], expandedItem: any, children: any[]): any[];
         | 
| 220 | 
            +
                protected refreshExpandedItem(id: string | number): Promise<void>;
         | 
| 221 | 
            +
                private updateChildren;
         | 
| 220 222 | 
             
                /**
         | 
| 221 223 | 
             
                 *  @ignore
         | 
| 222 224 | 
             
                 */
         | 
| @@ -130,11 +130,11 @@ class AXAlertComponent extends MXColorComponent { | |
| 130 130 | 
             
                    return `ax-alert ax-none ax-${this.color}`;
         | 
| 131 131 | 
             
                }
         | 
| 132 132 | 
             
                static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXAlertComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
         | 
| 133 | 
            -
                static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXAlertComponent, isStandalone: false, selector: "ax-alert", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: false, isRequired: false, transformFunction: null }, timeOut: { classPropertyName: "timeOut", publicName: "timeOut", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { colorChange: "colorChange", onClosed: "onClosed", timeOut: "timeOutChange" }, host: { properties: { "class": "this.__hostClass" } }, providers: [{ provide: AXClosbaleComponent, useExisting: AXAlertComponent }], queries: [{ propertyName: "axIcon", first: true, predicate: ["ax-icon"], descendants: true, isSignal: true }, { propertyName: "axTitle", first: true, predicate: ["ax-title"], descendants: true, isSignal: true }, { propertyName: "axContent", first: true, predicate: ["ax-content"], descendants: true, isSignal: true }, { propertyName: "axFooter", first: true, predicate: ["ax-footer"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@if (showInline()) {\n  <div class=\"ax-alert-inline\">\n    <div class=\"ax-alert-icon ax-icon-solid\">\n      <ng-container [ngTemplateOutlet]=\"icon\"></ng-container>\n    </div>\n    <div class=\"ax-alert-title\">\n      <ng-container [ngTemplateOutlet]=\"title\"></ng-container>\n    </div>\n    <div class=\"ax-alert-buttons\">\n      <ng-container [ngTemplateOutlet]=\"buttons\"></ng-container>\n    </div>\n    <ng-container [ngTemplateOutlet]=\"closeButton\"></ng-container>\n  </div>\n} @else {\n  <div class=\"ax-alert-block\">\n    <div class=\"ax-alert-icon ax-icon-solid\">\n      <ng-container [ngTemplateOutlet]=\"icon\"></ng-container>\n    </div>\n    <div class=\"ax-alert-content\">\n      <div class=\"ax-alert-title\">\n        <ng-container [ngTemplateOutlet]=\"title\"></ng-container>\n      </div>\n      <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n      <ng-container [ngTemplateOutlet]=\"footer\"></ng-container>\n    </div>\n    <div><ng-container [ngTemplateOutlet]=\"closeButton\"></ng-container></div>\n  </div>\n}\n\n@if (timeOut()) {\n  <div class=\"ax-alert-progress\" [style.animation-duration.ms]=\"timeOut()\"></div>\n}\n\n<ng-template #buttons>\n  <ng-content select=\"ax-button\"> </ng-content>\n</ng-template>\n<ng-template #closeButton>\n  <ng-content select=\"ax-close-button\"> </ng-content>\n</ng-template>\n<ng-template #title>\n  <ng-content select=\"ax-title\"> </ng-content>\n</ng-template>\n<ng-template #icon>\n  <ng-content select=\"ax-icon\"> </ng-content>\n</ng-template>\n<ng-template #content>\n  <ng-content select=\"ax-content\"> </ng-content>\n</ng-template>\n<ng-template #footer>\n  <ng-content select=\"ax-footer\"> </ng-content>\n</ng-template>\n", styles: ["ax-alert{--ax-comp-alert-bg-color-opacity: .15;--ax-comp-alert-icon-border-radius: 100%;--ax-comp-alert-border-radius: var(--ax-sys-border-radius)}ax-alert{--ax-comp-alert-title-content-text-color: var(--ax-sys-body-text-color)}ax-alert.ax- | 
| 133 | 
            +
                static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXAlertComponent, isStandalone: false, selector: "ax-alert", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: false, isRequired: false, transformFunction: null }, timeOut: { classPropertyName: "timeOut", publicName: "timeOut", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { colorChange: "colorChange", onClosed: "onClosed", timeOut: "timeOutChange" }, host: { properties: { "class": "this.__hostClass" } }, providers: [{ provide: AXClosbaleComponent, useExisting: AXAlertComponent }], queries: [{ propertyName: "axIcon", first: true, predicate: ["ax-icon"], descendants: true, isSignal: true }, { propertyName: "axTitle", first: true, predicate: ["ax-title"], descendants: true, isSignal: true }, { propertyName: "axContent", first: true, predicate: ["ax-content"], descendants: true, isSignal: true }, { propertyName: "axFooter", first: true, predicate: ["ax-footer"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@if (showInline()) {\n  <div class=\"ax-alert-inline\">\n    <div class=\"ax-alert-icon ax-icon-solid\">\n      <ng-container [ngTemplateOutlet]=\"icon\"></ng-container>\n    </div>\n    <div class=\"ax-alert-title\">\n      <ng-container [ngTemplateOutlet]=\"title\"></ng-container>\n    </div>\n    <div class=\"ax-alert-buttons\">\n      <ng-container [ngTemplateOutlet]=\"buttons\"></ng-container>\n    </div>\n    <ng-container [ngTemplateOutlet]=\"closeButton\"></ng-container>\n  </div>\n} @else {\n  <div class=\"ax-alert-block\">\n    <div class=\"ax-alert-icon ax-icon-solid\">\n      <ng-container [ngTemplateOutlet]=\"icon\"></ng-container>\n    </div>\n    <div class=\"ax-alert-content\">\n      <div class=\"ax-alert-title\">\n        <ng-container [ngTemplateOutlet]=\"title\"></ng-container>\n      </div>\n      <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n      <ng-container [ngTemplateOutlet]=\"footer\"></ng-container>\n    </div>\n    <div><ng-container [ngTemplateOutlet]=\"closeButton\"></ng-container></div>\n  </div>\n}\n\n@if (timeOut()) {\n  <div class=\"ax-alert-progress\" [style.animation-duration.ms]=\"timeOut()\"></div>\n}\n\n<ng-template #buttons>\n  <ng-content select=\"ax-button\"> </ng-content>\n</ng-template>\n<ng-template #closeButton>\n  <ng-content select=\"ax-close-button\"> </ng-content>\n</ng-template>\n<ng-template #title>\n  <ng-content select=\"ax-title\"> </ng-content>\n</ng-template>\n<ng-template #icon>\n  <ng-content select=\"ax-icon\"> </ng-content>\n</ng-template>\n<ng-template #content>\n  <ng-content select=\"ax-content\"> </ng-content>\n</ng-template>\n<ng-template #footer>\n  <ng-content select=\"ax-footer\"> </ng-content>\n</ng-template>\n", styles: ["ax-alert{--ax-comp-alert-bg-color-opacity: .15;--ax-comp-alert-icon-border-radius: 100%;--ax-comp-alert-border-radius: var(--ax-sys-border-radius)}ax-alert{--ax-comp-alert-title-content-text-color: var(--ax-sys-body-text-color)}ax-alert.ax-primary{--ax-comp-alert-bg-color: var(--ax-sys-color-primary-surface);--ax-comp-alert-border-color: var(--ax-sys-color-primary-surface);--ax-comp-alert-icon-color: var(--ax-sys-color-primary-surface);--ax-comp-alert-progress-bg-color: var(--ax-sys-color-on-primary-surface)}ax-alert.ax-secondary{--ax-comp-alert-bg-color: var(--ax-sys-color-secondary-surface);--ax-comp-alert-border-color: var(--ax-sys-color-secondary-surface);--ax-comp-alert-icon-color: var(--ax-sys-color-secondary-surface);--ax-comp-alert-progress-bg-color: var(--ax-sys-color-on-secondary-surface)}ax-alert.ax-success{--ax-comp-alert-bg-color: var(--ax-sys-color-success-surface);--ax-comp-alert-border-color: var(--ax-sys-color-success-surface);--ax-comp-alert-icon-color: var(--ax-sys-color-success-surface);--ax-comp-alert-progress-bg-color: var(--ax-sys-color-on-success-surface)}ax-alert.ax-warning{--ax-comp-alert-bg-color: var(--ax-sys-color-warning-surface);--ax-comp-alert-border-color: var(--ax-sys-color-warning-surface);--ax-comp-alert-icon-color: var(--ax-sys-color-warning-surface);--ax-comp-alert-progress-bg-color: var(--ax-sys-color-on-warning-surface)}ax-alert.ax-danger{--ax-comp-alert-bg-color: var(--ax-sys-color-danger-surface);--ax-comp-alert-border-color: var(--ax-sys-color-danger-surface);--ax-comp-alert-icon-color: var(--ax-sys-color-danger-surface);--ax-comp-alert-progress-bg-color: var(--ax-sys-color-on-danger-surface)}ax-alert.ax-ghost{--ax-comp-alert-bg-color: var(--ax-sys-color-ghost-surface);--ax-comp-alert-border-color: var(--ax-sys-color-ghost-surface);--ax-comp-alert-icon-color: var(--ax-sys-color-ghost-surface);--ax-comp-alert-progress-bg-color: var(--ax-sys-color-on-ghost-surface)}ax-alert{gap:1rem;padding:1rem;display:flex;overflow:hidden;border-width:1px;position:relative;font-size:var(--ax-comp-alert-font-size, .875rem);line-height:var(--ax-comp-alert-line-height, 1.25rem);border-radius:var(--ax-comp-alert-border-radius);border-color:rgba(var(--ax-comp-alert-border-color));background-color:rgba(var(--ax-comp-alert-bg-color),var(--ax-comp-alert-bg-color-opacity))}ax-alert ax-title,ax-alert ax-content{color:rgba(var(--ax-comp-alert-title-content-text-color))}ax-alert .ax-alert-progress{background-color:rgba(var(--ax-comp-alert-progress-bg-color))}ax-alert .ax-alert-inline{display:flex;flex:1 1 0%;align-items:center;justify-content:center}ax-alert .ax-alert-block{display:flex}ax-alert .ax-alert-block .ax-alert-content{display:flex;flex-direction:column;line-height:1.5}ax-alert .ax-alert-block .ax-alert-content .ax-alert-title:empty{display:none}ax-alert .ax-alert-block .ax-alert-content .ax-alert-title:not(:empty)+ax-content:not(:empty){margin-top:.5rem}ax-alert .ax-alert-block .ax-alert-content ax-footer{margin-top:1rem}ax-alert .ax-alert-icon{display:grid;color:rgba(var(--ax-comp-alert-icon-color));border-radius:var(--ax-comp-alert-icon-border-radius);padding-inline-end:.5rem;font-size:1.125rem;line-height:1.75rem;align-items:start}ax-alert .ax-alert-icon ax-icon{line-height:var(--ax-comp-alert-icon-line-height, normal)}ax-alert .ax-alert-buttons{padding-inline-start:1rem}ax-alert .ax-alert-title{display:flex;flex:1 1 0%;flex-direction:column}ax-alert .ax-alert-title ax-title{font-size:.875rem;line-height:1.25rem;font-weight:500}ax-alert .ax-alert-progress{position:absolute;bottom:0;inset-inline-start:0px;height:.25rem}@keyframes progressBar{0%{width:100%}to{width:0%}}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
         | 
| 134 134 | 
             
            }
         | 
| 135 135 | 
             
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXAlertComponent, decorators: [{
         | 
| 136 136 | 
             
                        type: Component,
         | 
| 137 | 
            -
                        args: [{ selector: 'ax-alert', inputs: ['color'], outputs: ['colorChange'], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [{ provide: AXClosbaleComponent, useExisting: AXAlertComponent }], standalone: false, template: "@if (showInline()) {\n  <div class=\"ax-alert-inline\">\n    <div class=\"ax-alert-icon ax-icon-solid\">\n      <ng-container [ngTemplateOutlet]=\"icon\"></ng-container>\n    </div>\n    <div class=\"ax-alert-title\">\n      <ng-container [ngTemplateOutlet]=\"title\"></ng-container>\n    </div>\n    <div class=\"ax-alert-buttons\">\n      <ng-container [ngTemplateOutlet]=\"buttons\"></ng-container>\n    </div>\n    <ng-container [ngTemplateOutlet]=\"closeButton\"></ng-container>\n  </div>\n} @else {\n  <div class=\"ax-alert-block\">\n    <div class=\"ax-alert-icon ax-icon-solid\">\n      <ng-container [ngTemplateOutlet]=\"icon\"></ng-container>\n    </div>\n    <div class=\"ax-alert-content\">\n      <div class=\"ax-alert-title\">\n        <ng-container [ngTemplateOutlet]=\"title\"></ng-container>\n      </div>\n      <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n      <ng-container [ngTemplateOutlet]=\"footer\"></ng-container>\n    </div>\n    <div><ng-container [ngTemplateOutlet]=\"closeButton\"></ng-container></div>\n  </div>\n}\n\n@if (timeOut()) {\n  <div class=\"ax-alert-progress\" [style.animation-duration.ms]=\"timeOut()\"></div>\n}\n\n<ng-template #buttons>\n  <ng-content select=\"ax-button\"> </ng-content>\n</ng-template>\n<ng-template #closeButton>\n  <ng-content select=\"ax-close-button\"> </ng-content>\n</ng-template>\n<ng-template #title>\n  <ng-content select=\"ax-title\"> </ng-content>\n</ng-template>\n<ng-template #icon>\n  <ng-content select=\"ax-icon\"> </ng-content>\n</ng-template>\n<ng-template #content>\n  <ng-content select=\"ax-content\"> </ng-content>\n</ng-template>\n<ng-template #footer>\n  <ng-content select=\"ax-footer\"> </ng-content>\n</ng-template>\n", styles: ["ax-alert{--ax-comp-alert-bg-color-opacity: .15;--ax-comp-alert-icon-border-radius: 100%;--ax-comp-alert-border-radius: var(--ax-sys-border-radius)}ax-alert{--ax-comp-alert-title-content-text-color: var(--ax-sys-body-text-color)}ax-alert.ax- | 
| 137 | 
            +
                        args: [{ selector: 'ax-alert', inputs: ['color'], outputs: ['colorChange'], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [{ provide: AXClosbaleComponent, useExisting: AXAlertComponent }], standalone: false, template: "@if (showInline()) {\n  <div class=\"ax-alert-inline\">\n    <div class=\"ax-alert-icon ax-icon-solid\">\n      <ng-container [ngTemplateOutlet]=\"icon\"></ng-container>\n    </div>\n    <div class=\"ax-alert-title\">\n      <ng-container [ngTemplateOutlet]=\"title\"></ng-container>\n    </div>\n    <div class=\"ax-alert-buttons\">\n      <ng-container [ngTemplateOutlet]=\"buttons\"></ng-container>\n    </div>\n    <ng-container [ngTemplateOutlet]=\"closeButton\"></ng-container>\n  </div>\n} @else {\n  <div class=\"ax-alert-block\">\n    <div class=\"ax-alert-icon ax-icon-solid\">\n      <ng-container [ngTemplateOutlet]=\"icon\"></ng-container>\n    </div>\n    <div class=\"ax-alert-content\">\n      <div class=\"ax-alert-title\">\n        <ng-container [ngTemplateOutlet]=\"title\"></ng-container>\n      </div>\n      <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n      <ng-container [ngTemplateOutlet]=\"footer\"></ng-container>\n    </div>\n    <div><ng-container [ngTemplateOutlet]=\"closeButton\"></ng-container></div>\n  </div>\n}\n\n@if (timeOut()) {\n  <div class=\"ax-alert-progress\" [style.animation-duration.ms]=\"timeOut()\"></div>\n}\n\n<ng-template #buttons>\n  <ng-content select=\"ax-button\"> </ng-content>\n</ng-template>\n<ng-template #closeButton>\n  <ng-content select=\"ax-close-button\"> </ng-content>\n</ng-template>\n<ng-template #title>\n  <ng-content select=\"ax-title\"> </ng-content>\n</ng-template>\n<ng-template #icon>\n  <ng-content select=\"ax-icon\"> </ng-content>\n</ng-template>\n<ng-template #content>\n  <ng-content select=\"ax-content\"> </ng-content>\n</ng-template>\n<ng-template #footer>\n  <ng-content select=\"ax-footer\"> </ng-content>\n</ng-template>\n", styles: ["ax-alert{--ax-comp-alert-bg-color-opacity: .15;--ax-comp-alert-icon-border-radius: 100%;--ax-comp-alert-border-radius: var(--ax-sys-border-radius)}ax-alert{--ax-comp-alert-title-content-text-color: var(--ax-sys-body-text-color)}ax-alert.ax-primary{--ax-comp-alert-bg-color: var(--ax-sys-color-primary-surface);--ax-comp-alert-border-color: var(--ax-sys-color-primary-surface);--ax-comp-alert-icon-color: var(--ax-sys-color-primary-surface);--ax-comp-alert-progress-bg-color: var(--ax-sys-color-on-primary-surface)}ax-alert.ax-secondary{--ax-comp-alert-bg-color: var(--ax-sys-color-secondary-surface);--ax-comp-alert-border-color: var(--ax-sys-color-secondary-surface);--ax-comp-alert-icon-color: var(--ax-sys-color-secondary-surface);--ax-comp-alert-progress-bg-color: var(--ax-sys-color-on-secondary-surface)}ax-alert.ax-success{--ax-comp-alert-bg-color: var(--ax-sys-color-success-surface);--ax-comp-alert-border-color: var(--ax-sys-color-success-surface);--ax-comp-alert-icon-color: var(--ax-sys-color-success-surface);--ax-comp-alert-progress-bg-color: var(--ax-sys-color-on-success-surface)}ax-alert.ax-warning{--ax-comp-alert-bg-color: var(--ax-sys-color-warning-surface);--ax-comp-alert-border-color: var(--ax-sys-color-warning-surface);--ax-comp-alert-icon-color: var(--ax-sys-color-warning-surface);--ax-comp-alert-progress-bg-color: var(--ax-sys-color-on-warning-surface)}ax-alert.ax-danger{--ax-comp-alert-bg-color: var(--ax-sys-color-danger-surface);--ax-comp-alert-border-color: var(--ax-sys-color-danger-surface);--ax-comp-alert-icon-color: var(--ax-sys-color-danger-surface);--ax-comp-alert-progress-bg-color: var(--ax-sys-color-on-danger-surface)}ax-alert.ax-ghost{--ax-comp-alert-bg-color: var(--ax-sys-color-ghost-surface);--ax-comp-alert-border-color: var(--ax-sys-color-ghost-surface);--ax-comp-alert-icon-color: var(--ax-sys-color-ghost-surface);--ax-comp-alert-progress-bg-color: var(--ax-sys-color-on-ghost-surface)}ax-alert{gap:1rem;padding:1rem;display:flex;overflow:hidden;border-width:1px;position:relative;font-size:var(--ax-comp-alert-font-size, .875rem);line-height:var(--ax-comp-alert-line-height, 1.25rem);border-radius:var(--ax-comp-alert-border-radius);border-color:rgba(var(--ax-comp-alert-border-color));background-color:rgba(var(--ax-comp-alert-bg-color),var(--ax-comp-alert-bg-color-opacity))}ax-alert ax-title,ax-alert ax-content{color:rgba(var(--ax-comp-alert-title-content-text-color))}ax-alert .ax-alert-progress{background-color:rgba(var(--ax-comp-alert-progress-bg-color))}ax-alert .ax-alert-inline{display:flex;flex:1 1 0%;align-items:center;justify-content:center}ax-alert .ax-alert-block{display:flex}ax-alert .ax-alert-block .ax-alert-content{display:flex;flex-direction:column;line-height:1.5}ax-alert .ax-alert-block .ax-alert-content .ax-alert-title:empty{display:none}ax-alert .ax-alert-block .ax-alert-content .ax-alert-title:not(:empty)+ax-content:not(:empty){margin-top:.5rem}ax-alert .ax-alert-block .ax-alert-content ax-footer{margin-top:1rem}ax-alert .ax-alert-icon{display:grid;color:rgba(var(--ax-comp-alert-icon-color));border-radius:var(--ax-comp-alert-icon-border-radius);padding-inline-end:.5rem;font-size:1.125rem;line-height:1.75rem;align-items:start}ax-alert .ax-alert-icon ax-icon{line-height:var(--ax-comp-alert-icon-line-height, normal)}ax-alert .ax-alert-buttons{padding-inline-start:1rem}ax-alert .ax-alert-title{display:flex;flex:1 1 0%;flex-direction:column}ax-alert .ax-alert-title ax-title{font-size:.875rem;line-height:1.25rem;font-weight:500}ax-alert .ax-alert-progress{position:absolute;bottom:0;inset-inline-start:0px;height:.25rem}@keyframes progressBar{0%{width:100%}to{width:0%}}\n"] }]
         | 
| 138 138 | 
             
                    }], ctorParameters: () => [], propDecorators: { __hostClass: [{
         | 
| 139 139 | 
             
                            type: HostBinding,
         | 
| 140 140 | 
             
                            args: ['class']
         | 
| @@ -1 +1 @@ | |
| 1 | 
            -
            {"version":3,"file":"acorex-components-alert.mjs","sources":["../../../../libs/components/alert/src/lib/alert.component.ts","../../../../libs/components/alert/src/lib/alert.component.html","../../../../libs/components/alert/src/lib/alert.module.ts","../../../../libs/components/alert/src/acorex-components-alert.ts"],"sourcesContent":["import { AXClosbaleComponent, AXEvent, MXColorComponent } from '@acorex/components/common';\nimport { AXDecoratorGenericComponent, AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { isBrowser } from '@acorex/core/platform';\n\nimport {\n  afterNextRender,\n  ChangeDetectionStrategy,\n  Component,\n  contentChild,\n  effect,\n  HostBinding,\n  model,\n  output,\n  signal,\n  ViewEncapsulation,\n} from '@angular/core';\n\n/**\n * The Alert component is used to display notifications or alerts to users.\n *\n * @category Components\n */\n@Component({\n  selector: 'ax-alert',\n  templateUrl: './alert.component.html',\n  styleUrls: ['./alert.component.scss'],\n  inputs: ['color'],\n  outputs: ['colorChange'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  providers: [{ provide: AXClosbaleComponent, useExisting: AXAlertComponent }],\n  standalone: false,\n})\nexport class AXAlertComponent extends MXColorComponent {\n  /**\n   *  @ignore\n   */\n  axIcon = contentChild<AXDecoratorIconComponent>('ax-icon');\n  /**\n   *  @ignore\n   */\n  axTitle = contentChild<AXDecoratorGenericComponent>('ax-title');\n  /**\n   *  @ignore\n   */\n  axContent = contentChild<AXDecoratorGenericComponent>('ax-content');\n  /**\n   *  @ignore\n   */\n  axFooter = contentChild<AXDecoratorGenericComponent>('ax-footer');\n\n  /**\n   *  @ignore\n   */\n  protected showInline = signal(false);\n\n  /**\n   * Emits an event when the alert component is closed.\n   *\n   * @event\n   */\n  onClosed = output<AXEvent>();\n\n  /**\n   *  @ignore\n   */\n  private customIcon = signal('');\n\n  /**\n   *  @ignore\n   */\n  private _timeOutRef: number;\n\n  /**\n   * Sets the duration (in milliseconds) after which the alert will automatically close.\n   *\n   * @defaultValue 0\n   */\n  timeOut = model<number>(0);\n\n  /**\n   *  @ignore\n   */\n  //TODO: Check Console for  effect() can only be used within an injection context such as a constructor, a factory function, a field initializer, or a function used with `runInInjectionContext`\n  timeOutEffect = () => {\n    effect(() => {\n      if (this.timeOut()) {\n        clearTimeout(this._timeOutRef);\n        this._timeOutRef = window.setTimeout(() => {\n          this.close();\n        }, this.timeOut());\n      }\n    });\n  };\n\n  /**\n   *  @ignore\n   */\n  constructor() {\n    super();\n    afterNextRender(() => {\n      this.onOptionChanged.subscribe(this._handleOnOptionChanged.bind(this));\n      this._setLayout();\n      this.customIcon.set(this.axIcon()?.icon);\n    });\n    this.timeOutEffect();\n  }\n\n  /**\n   *  @ignore\n   */\n  private _setLayout() {\n    this._setIcon();\n    this.showInline.set(this.axContent() == null && this.axFooter() == null);\n    this.cdr.markForCheck();\n  }\n\n  /**\n   *  @ignore\n   */\n  protected _handleOnOptionChanged() {\n    this._setIcon();\n  }\n\n  /**\n   *  @ignore\n   */\n  private _setIcon() {\n    if (!this.axIcon() || this.axIcon().getHostElement().firstElementChild) return;\n\n    switch (this.color) {\n      case 'success':\n        this.axIcon().icon = 'ax-icon ax-icon-check-circle';\n        break;\n      case 'danger':\n        this.axIcon().icon = 'ax-icon ax-icon-error';\n        break;\n      case 'warning':\n        this.axIcon().icon = 'ax-icon ax-icon-warning';\n        break;\n      default:\n        this.axIcon().icon = this.customIcon() || 'ax-icon ax-icon-info';\n        break;\n    }\n  }\n\n  /**\n   * Removes the alert from the container after a transition effect.\n   *\n   *  @ignore\n   */\n  close(): void {\n    if (isBrowser()) {\n      const host = this.getHostElement();\n      host.parentElement?.removeChild(host);\n      this.onClosed.emit({\n        component: this,\n      });\n    }\n  }\n\n  /**\n   *  @ignore\n   */\n  @HostBinding('class')\n  get __hostClass(): string {\n    return `ax-alert ax-none ax-${this.color}`;\n  }\n}\n","@if (showInline()) {\n  <div class=\"ax-alert-inline\">\n    <div class=\"ax-alert-icon ax-icon-solid\">\n      <ng-container [ngTemplateOutlet]=\"icon\"></ng-container>\n    </div>\n    <div class=\"ax-alert-title\">\n      <ng-container [ngTemplateOutlet]=\"title\"></ng-container>\n    </div>\n    <div class=\"ax-alert-buttons\">\n      <ng-container [ngTemplateOutlet]=\"buttons\"></ng-container>\n    </div>\n    <ng-container [ngTemplateOutlet]=\"closeButton\"></ng-container>\n  </div>\n} @else {\n  <div class=\"ax-alert-block\">\n    <div class=\"ax-alert-icon ax-icon-solid\">\n      <ng-container [ngTemplateOutlet]=\"icon\"></ng-container>\n    </div>\n    <div class=\"ax-alert-content\">\n      <div class=\"ax-alert-title\">\n        <ng-container [ngTemplateOutlet]=\"title\"></ng-container>\n      </div>\n      <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n      <ng-container [ngTemplateOutlet]=\"footer\"></ng-container>\n    </div>\n    <div><ng-container [ngTemplateOutlet]=\"closeButton\"></ng-container></div>\n  </div>\n}\n\n@if (timeOut()) {\n  <div class=\"ax-alert-progress\" [style.animation-duration.ms]=\"timeOut()\"></div>\n}\n\n<ng-template #buttons>\n  <ng-content select=\"ax-button\"> </ng-content>\n</ng-template>\n<ng-template #closeButton>\n  <ng-content select=\"ax-close-button\"> </ng-content>\n</ng-template>\n<ng-template #title>\n  <ng-content select=\"ax-title\"> </ng-content>\n</ng-template>\n<ng-template #icon>\n  <ng-content select=\"ax-icon\"> </ng-content>\n</ng-template>\n<ng-template #content>\n  <ng-content select=\"ax-content\"> </ng-content>\n</ng-template>\n<ng-template #footer>\n  <ng-content select=\"ax-footer\"> </ng-content>\n</ng-template>\n","import { AXDecoratorModule } from '@acorex/components/decorators';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXAlertComponent } from './alert.component';\n\nconst COMPONENT = [AXAlertComponent];\nconst MODULES = [CommonModule, AXDecoratorModule];\n\n@NgModule({\n  declarations: [...COMPONENT],\n  imports: [...MODULES],\n  exports: [...COMPONENT],\n  providers: [],\n})\nexport class AXAlertModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
         | 
| 1 | 
            +
            {"version":3,"file":"acorex-components-alert.mjs","sources":["../../../../libs/components/alert/src/lib/alert.component.ts","../../../../libs/components/alert/src/lib/alert.component.html","../../../../libs/components/alert/src/lib/alert.module.ts","../../../../libs/components/alert/src/acorex-components-alert.ts"],"sourcesContent":["import { AXClosbaleComponent, AXEvent, MXColorComponent } from '@acorex/components/common';\nimport { AXDecoratorGenericComponent, AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { isBrowser } from '@acorex/core/platform';\n\nimport {\n  afterNextRender,\n  ChangeDetectionStrategy,\n  Component,\n  contentChild,\n  effect,\n  HostBinding,\n  model,\n  output,\n  signal,\n  ViewEncapsulation,\n} from '@angular/core';\n\n/**\n * The Alert component is used to display notifications or alerts to users.\n *\n * @category Components\n */\n@Component({\n  selector: 'ax-alert',\n  templateUrl: './alert.component.html',\n  styleUrls: ['./alert.component.scss'],\n  inputs: ['color'],\n  outputs: ['colorChange'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  providers: [{ provide: AXClosbaleComponent, useExisting: AXAlertComponent }],\n  standalone: false,\n})\nexport class AXAlertComponent extends MXColorComponent {\n  /**\n   *  @ignore\n   */\n  axIcon = contentChild<AXDecoratorIconComponent>('ax-icon');\n  /**\n   *  @ignore\n   */\n  axTitle = contentChild<AXDecoratorGenericComponent>('ax-title');\n  /**\n   *  @ignore\n   */\n  axContent = contentChild<AXDecoratorGenericComponent>('ax-content');\n  /**\n   *  @ignore\n   */\n  axFooter = contentChild<AXDecoratorGenericComponent>('ax-footer');\n\n  /**\n   *  @ignore\n   */\n  protected showInline = signal(false);\n\n  /**\n   * Emits an event when the alert component is closed.\n   *\n   * @event\n   */\n  onClosed = output<AXEvent>();\n\n  /**\n   *  @ignore\n   */\n  private customIcon = signal('');\n\n  /**\n   *  @ignore\n   */\n  private _timeOutRef: number;\n\n  /**\n   * Sets the duration (in milliseconds) after which the alert will automatically close.\n   *\n   * @defaultValue 0\n   */\n  timeOut = model<number>(0);\n\n  /**\n   *  @ignore\n   */\n  //TODO: Check Console for  effect() can only be used within an injection context such as a constructor, a factory function, a field initializer, or a function used with `runInInjectionContext`\n  timeOutEffect = () => {\n    effect(() => {\n      if (this.timeOut()) {\n        clearTimeout(this._timeOutRef);\n        this._timeOutRef = window.setTimeout(() => {\n          this.close();\n        }, this.timeOut());\n      }\n    });\n  };\n\n  /**\n   *  @ignore\n   */\n  constructor() {\n    super();\n    afterNextRender(() => {\n      this.onOptionChanged.subscribe(this._handleOnOptionChanged.bind(this));\n      this._setLayout();\n      this.customIcon.set(this.axIcon()?.icon);\n    });\n    this.timeOutEffect();\n  }\n\n  /**\n   *  @ignore\n   */\n  private _setLayout() {\n    this._setIcon();\n    this.showInline.set(this.axContent() == null && this.axFooter() == null);\n    this.cdr.markForCheck();\n  }\n\n  /**\n   *  @ignore\n   */\n  protected _handleOnOptionChanged() {\n    this._setIcon();\n  }\n\n  /**\n   *  @ignore\n   */\n  private _setIcon() {\n    if (!this.axIcon() || this.axIcon().getHostElement().firstElementChild) return;\n\n    switch (this.color) {\n      case 'success':\n        this.axIcon().icon = 'ax-icon ax-icon-check-circle';\n        break;\n      case 'danger':\n        this.axIcon().icon = 'ax-icon ax-icon-error';\n        break;\n      case 'warning':\n        this.axIcon().icon = 'ax-icon ax-icon-warning';\n        break;\n      default:\n        this.axIcon().icon = this.customIcon() || 'ax-icon ax-icon-info';\n        break;\n    }\n  }\n\n  /**\n   * Removes the alert from the container after a transition effect.\n   *\n   *  @ignore\n   */\n  close(): void {\n    if (isBrowser()) {\n      const host = this.getHostElement();\n      host.parentElement?.removeChild(host);\n      this.onClosed.emit({\n        component: this,\n      });\n    }\n  }\n\n  /**\n   *  @ignore\n   */\n  @HostBinding('class')\n  get __hostClass(): string {\n    return `ax-alert ax-none ax-${this.color}`;\n  }\n}\n","@if (showInline()) {\n  <div class=\"ax-alert-inline\">\n    <div class=\"ax-alert-icon ax-icon-solid\">\n      <ng-container [ngTemplateOutlet]=\"icon\"></ng-container>\n    </div>\n    <div class=\"ax-alert-title\">\n      <ng-container [ngTemplateOutlet]=\"title\"></ng-container>\n    </div>\n    <div class=\"ax-alert-buttons\">\n      <ng-container [ngTemplateOutlet]=\"buttons\"></ng-container>\n    </div>\n    <ng-container [ngTemplateOutlet]=\"closeButton\"></ng-container>\n  </div>\n} @else {\n  <div class=\"ax-alert-block\">\n    <div class=\"ax-alert-icon ax-icon-solid\">\n      <ng-container [ngTemplateOutlet]=\"icon\"></ng-container>\n    </div>\n    <div class=\"ax-alert-content\">\n      <div class=\"ax-alert-title\">\n        <ng-container [ngTemplateOutlet]=\"title\"></ng-container>\n      </div>\n      <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n      <ng-container [ngTemplateOutlet]=\"footer\"></ng-container>\n    </div>\n    <div><ng-container [ngTemplateOutlet]=\"closeButton\"></ng-container></div>\n  </div>\n}\n\n@if (timeOut()) {\n  <div class=\"ax-alert-progress\" [style.animation-duration.ms]=\"timeOut()\"></div>\n}\n\n<ng-template #buttons>\n  <ng-content select=\"ax-button\"> </ng-content>\n</ng-template>\n<ng-template #closeButton>\n  <ng-content select=\"ax-close-button\"> </ng-content>\n</ng-template>\n<ng-template #title>\n  <ng-content select=\"ax-title\"> </ng-content>\n</ng-template>\n<ng-template #icon>\n  <ng-content select=\"ax-icon\"> </ng-content>\n</ng-template>\n<ng-template #content>\n  <ng-content select=\"ax-content\"> </ng-content>\n</ng-template>\n<ng-template #footer>\n  <ng-content select=\"ax-footer\"> </ng-content>\n</ng-template>\n","import { AXDecoratorModule } from '@acorex/components/decorators';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXAlertComponent } from './alert.component';\n\nconst COMPONENT = [AXAlertComponent];\nconst MODULES = [CommonModule, AXDecoratorModule];\n\n@NgModule({\n  declarations: [...COMPONENT],\n  imports: [...MODULES],\n  exports: [...COMPONENT],\n  providers: [],\n})\nexport class AXAlertModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
         | 
| @@ -1,6 +1,6 @@ | |
| 1 1 | 
             
            import { MXInteractiveComponent, MXColorLookComponent, MXColorComponent } from '@acorex/components/common';
         | 
| 2 2 | 
             
            import * as i0 from '@angular/core';
         | 
| 3 | 
            -
            import { effect, EventEmitter, contentChildren, HostListener, HostBinding, Input, Output, ViewEncapsulation, ChangeDetectionStrategy, Component, inject, NgModule } from '@angular/core';
         | 
| 3 | 
            +
            import { effect, EventEmitter, contentChildren, output, HostListener, HostBinding, Input, Output, ViewEncapsulation, ChangeDetectionStrategy, Component, inject, NgModule } from '@angular/core';
         | 
| 4 4 | 
             
            import { classes } from 'polytype';
         | 
| 5 5 | 
             
            import * as i1 from '@acorex/components/button';
         | 
| 6 6 | 
             
            import { AXButtonModule } from '@acorex/components/button';
         | 
| @@ -37,6 +37,7 @@ class AXButtonGroupComponent extends classes(MXInteractiveComponent, MXColorLook | |
| 37 37 | 
             
                     * @event
         | 
| 38 38 | 
             
                     */
         | 
| 39 39 | 
             
                    this.selectionChange = new EventEmitter();
         | 
| 40 | 
            +
                    this.selectedButtonChange = output();
         | 
| 40 41 | 
             
                }
         | 
| 41 42 | 
             
                #effect;
         | 
| 42 43 | 
             
                /**
         | 
| @@ -61,17 +62,6 @@ class AXButtonGroupComponent extends classes(MXInteractiveComponent, MXColorLook | |
| 61 62 | 
             
                        },
         | 
| 62 63 | 
             
                    });
         | 
| 63 64 | 
             
                }
         | 
| 64 | 
            -
                /**
         | 
| 65 | 
            -
                 *  @ignore
         | 
| 66 | 
            -
                 */
         | 
| 67 | 
            -
                ngAfterContentInit() {
         | 
| 68 | 
            -
                    this._bindEvents();
         | 
| 69 | 
            -
                    this._bindProps();
         | 
| 70 | 
            -
                    // this._contentButtons().subscribe(() => {
         | 
| 71 | 
            -
                    //   this._bindEvents();
         | 
| 72 | 
            -
                    //   this._bindProps();
         | 
| 73 | 
            -
                    // });
         | 
| 74 | 
            -
                }
         | 
| 75 65 | 
             
                /**
         | 
| 76 66 | 
             
                 *  @ignore
         | 
| 77 67 | 
             
                 */
         | 
| @@ -109,6 +99,7 @@ class AXButtonGroupComponent extends classes(MXInteractiveComponent, MXColorLook | |
| 109 99 | 
             
                 *  @ignore
         | 
| 110 100 | 
             
                 */
         | 
| 111 101 | 
             
                _handleClickEvent(e, button) {
         | 
| 102 | 
            +
                    this.selectedButtonChange.emit(button);
         | 
| 112 103 | 
             
                    if (this.selection == 'multiple') {
         | 
| 113 104 | 
             
                        button.selected = !button.selected;
         | 
| 114 105 | 
             
                    }
         | 
| @@ -158,7 +149,7 @@ class AXButtonGroupComponent extends classes(MXInteractiveComponent, MXColorLook | |
| 158 149 | 
             
                    }
         | 
| 159 150 | 
             
                }
         | 
| 160 151 | 
             
                static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXButtonGroupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
         | 
| 161 | 
            -
                static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.0.3", type: AXButtonGroupComponent, isStandalone: false, selector: "ax-button-group", inputs: { disabled: "disabled", color: "color", look: "look", selection: "selection" }, outputs: { onBlur: "onBlur", onFocus: "onFocus", lookChange: "lookChange", colorChange: "colorChange", disabledChange: "disabledChange", onClick: "onClick", selectionChange: "selectionChange" }, host: { listeners: { "click": "__hostClick($event)" }, properties: { "class": "this.__hostClass", "attr.role": "this.role" } }, queries: [{ propertyName: "_contentButtons", predicate: AXButtonGroupItemComponent, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<ng-container>\n  <ng-content select=\"ax-button-group-item\"></ng-content>\n</ng-container>\n", styles: ["ax-button-group{display:flex}ax-button-group ax-button-group-item ax-button{--ax-sys-transition-duration: 0}ax-button-group ax-button-group-item.ax-state-selected ax-button{z-index:1}ax-button-group ax-button-group-item:not(:first-child,:last-child) ax-button{--ax-comp-button-border-radius: 0}ax-button-group ax-button-group-item:not(:first-child) ax-button{margin-inline-start:-1px}ax-button-group ax-button-group-item:first-child ax-button{--ax-comp-button-border-radius: 0;border-start-start-radius:var(--ax-comp-button-group-border-radius, var(--ax-sys-border-radius));border-end-start-radius:var(--ax-comp-button-group-border-radius, var(--ax-sys-border-radius))}ax-button-group ax-button-group-item:last-child ax-button{--ax-comp-button-border-radius: 0;border-start-end-radius:var(--ax-comp-button-group-border-radius, var(--ax-sys-border-radius));border-end-end-radius:var(--ax-comp-button-group-border-radius, var(--ax-sys-border-radius))}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
         | 
| 152 | 
            +
                static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.0.3", type: AXButtonGroupComponent, isStandalone: false, selector: "ax-button-group", inputs: { disabled: "disabled", color: "color", look: "look", selection: "selection" }, outputs: { onBlur: "onBlur", onFocus: "onFocus", lookChange: "lookChange", colorChange: "colorChange", disabledChange: "disabledChange", onClick: "onClick", selectionChange: "selectionChange", selectedButtonChange: "selectedButtonChange" }, host: { listeners: { "click": "__hostClick($event)" }, properties: { "class": "this.__hostClass", "attr.role": "this.role" } }, queries: [{ propertyName: "_contentButtons", predicate: AXButtonGroupItemComponent, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<ng-container>\n  <ng-content select=\"ax-button-group-item\"></ng-content>\n</ng-container>\n", styles: ["ax-button-group{display:flex}ax-button-group ax-button-group-item ax-button{--ax-sys-transition-duration: 0}ax-button-group ax-button-group-item.ax-state-selected ax-button{z-index:1}ax-button-group ax-button-group-item:not(:first-child,:last-child) ax-button{--ax-comp-button-border-radius: 0}ax-button-group ax-button-group-item:not(:first-child) ax-button{margin-inline-start:-1px}ax-button-group ax-button-group-item:first-child ax-button{--ax-comp-button-border-radius: 0;border-start-start-radius:var(--ax-comp-button-group-border-radius, var(--ax-sys-border-radius));border-end-start-radius:var(--ax-comp-button-group-border-radius, var(--ax-sys-border-radius))}ax-button-group ax-button-group-item:last-child ax-button{--ax-comp-button-border-radius: 0;border-start-end-radius:var(--ax-comp-button-group-border-radius, var(--ax-sys-border-radius));border-end-end-radius:var(--ax-comp-button-group-border-radius, var(--ax-sys-border-radius))}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
         | 
| 162 153 | 
             
            }
         | 
| 163 154 | 
             
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXButtonGroupComponent, decorators: [{
         | 
| 164 155 | 
             
                        type: Component,
         | 
| @@ -1 +1 @@ | |
| 1 | 
            -
            {"version":3,"file":"acorex-components-button-group.mjs","sources":["../../../../libs/components/button-group/src/lib/button-group.component.ts","../../../../libs/components/button-group/src/lib/button-group.component.html","../../../../libs/components/button-group/src/lib/button-group-item.component.ts","../../../../libs/components/button-group/src/lib/button-group.module.ts","../../../../libs/components/button-group/src/acorex-components-button-group.ts"],"sourcesContent":["import {\n  AXClickEvent,\n  AXSelectionMode,\n  MXColorLookComponent,\n  MXInteractiveComponent,\n} from '@acorex/components/common';\nimport {\n  AfterContentInit,\n  ChangeDetectionStrategy,\n  Component,\n  contentChildren,\n  effect,\n  EventEmitter,\n  HostBinding,\n  HostListener,\n  Input,\n  Output,\n  ViewEncapsulation,\n} from '@angular/core';\nimport { classes } from 'polytype';\nimport { AXButtonGroupItemComponent } from './button-group-item.component';\n\n/**\n * A component that groups multiple buttons together, allowing for consistent styling and behavior.\n *\n * @category Components\n */\n@Component({\n  selector: 'ax-button-group',\n  templateUrl: './button-group.component.html',\n  styleUrls: ['./button-group.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  inputs: ['disabled', 'color', 'look'],\n  outputs: ['onBlur', 'onFocus', 'lookChange', 'colorChange', 'disabledChange'],\n  standalone: false,\n})\nexport class AXButtonGroupComponent\n  extends classes(MXInteractiveComponent, MXColorLookComponent)\n  implements AfterContentInit\n{\n  #effect = effect(() => {\n    if (this._contentButtons().length) {\n      this._bindEvents();\n      this._bindProps();\n    }\n  });\n  /**\n   * Fires when any button in the group is clicked.\n   *\n   * @event\n   */\n  @Output()\n  onClick: EventEmitter<AXClickEvent> = new EventEmitter<AXClickEvent>();\n\n  /**\n   *  @ignore\n   */\n  private _contentButtons = contentChildren(AXButtonGroupItemComponent, { descendants: true });\n\n  /**\n   * Emitted when the selection mode changes.\n   *\n   * @event\n   */\n  @Output()\n  selectionChange: EventEmitter<AXSelectionMode> = new EventEmitter();\n\n  /**\n   *  @ignore\n   */\n  private _selection: AXSelectionMode;\n\n  /**\n   * Defines the selection mode for the component.\n   */\n  @Input()\n  public get selection(): AXSelectionMode {\n    return this._selection;\n  }\n\n  /**\n   * Sets the selection mode for the component.\n   *\n   * @param value - The selection mode to be set. Possible values include 'single', 'multiple', or 'none'.\n   */\n  public set selection(value: AXSelectionMode) {\n    this.setOption({\n      name: 'selection',\n      value: value,\n      afterCallback: (o, n) => {\n        if (value == 'none') {\n          this.clearSelection();\n        }\n      },\n    });\n  }\n\n  /**\n   *  @ignore\n   */\n  ngAfterContentInit() {\n    this._bindEvents();\n    this._bindProps();\n    // this._contentButtons().subscribe(() => {\n    //   this._bindEvents();\n    //   this._bindProps();\n    // });\n  }\n\n  /**\n   *  @ignore\n   */\n  private _bindEvents() {\n    this._contentButtons()?.forEach((b: any) => {\n      if (!b.onClick.length)\n        b.onClick.subscribe((c: any) => {\n          this._handleClickEvent(c, b);\n        });\n    });\n  }\n\n  /**\n   *  @ignore\n   */\n  private _bindProps() {\n    this._contentButtons()?.forEach((b: any) => {\n      if (b['originDisabled'] == null) {\n        b['originDisabled'] = b.disabled;\n      }\n      if (this.look) b.look = this.look;\n      if (this.color) b.color = this.color;\n      b.disabled = b['originDisabled'] || this.disabled;\n      b.toggleable = false;\n    });\n  }\n\n  /**\n   * Updates component properties based on internal option changes.\n   */\n  override internalOptionChanged() {\n    this._bindProps();\n  }\n\n  /**\n   *  @ignore\n   */\n  private _handleClickEvent(e: AXClickEvent, button: AXButtonGroupItemComponent) {\n    if (this.selection == 'multiple') {\n      button.selected = !button.selected;\n    } else if (this.selection == 'single') {\n      this.clearSelection();\n      button.selected = true;\n    } else {\n      button.selected = false;\n    }\n  }\n\n  /**\n   *  @ignore\n   */\n  private clearSelection() {\n    this._contentButtons()?.forEach((c: AXButtonGroupItemComponent) => {\n      c.selected = false;\n    });\n  }\n\n  /**\n   *  @ignore\n   */\n  @HostBinding('class')\n  private get __hostClass(): { [key: string]: boolean } {\n    const cssClasses = {\n      'ax-state-disabled': this.disabled,\n    };\n    cssClasses[`ax-${this.color || 'primary'}`] = true;\n    cssClasses[`ax-${this.look || 'default'}`] = true;\n    return cssClasses;\n  }\n  /**\n   *  @ignore\n   */\n  @HostBinding('attr.role') get role() {\n    return 'group';\n  }\n\n  /**\n   *  @ignore\n   */\n  @HostListener('click', ['$event'])\n  private __hostClick(e: MouseEvent) {\n    if (!this.disabled) {\n      this.onClick.emit({\n        component: this,\n        htmlElement: this.getHostElement(),\n        nativeEvent: e,\n      });\n    }\n  }\n}\n","<ng-container>\n  <ng-content select=\"ax-button-group-item\"></ng-content>\n</ng-container>\n","import {\n  AXClickEvent,\n  AXStyleColorType,\n  MXColorComponent,\n  MXInteractiveComponent,\n} from '@acorex/components/common';\n\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  EventEmitter,\n  HostBinding,\n  HostListener,\n  inject,\n  Input,\n  Output,\n  ViewEncapsulation,\n} from '@angular/core';\nimport { classes } from 'polytype';\nimport { AXButtonGroupComponent } from './button-group.component';\n\nexport interface AXButtonItemListItem {\n  name: string;\n  text: string;\n  icon: string;\n  divided?: boolean;\n  disabled?: boolean;\n  color?: AXStyleColorType;\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-group-item',\n  template: `\n    <ax-button\n      [color]=\"selected ? color : 'ghost'\"\n      [text]=\"text\"\n      [look]=\"btnGroup.look\"\n      [disabled]=\"disabled\"\n      [selected]=\"color === 'ghost' ? selected : false\"\n    >\n      <ng-content></ng-content>\n    </ax-button>\n  `,\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  inputs: ['color', 'disabled'],\n  outputs: ['onClick', 'onFocus', 'onBlur', 'disabledChange'],\n  standalone: false,\n})\nexport class AXButtonGroupItemComponent extends classes(MXInteractiveComponent, MXColorComponent) {\n  btnGroup = inject(AXButtonGroupComponent);\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  /**\n   *  @ignore\n   */\n  @HostListener('click', ['$event'])\n  private __hostClick(e: MouseEvent) {\n    if (!this.disabled) {\n      this.onClick.emit({\n        component: this,\n        htmlElement: this.getHostElement(),\n        nativeEvent: e,\n      });\n    }\n  }\n  /**\n   *  @ignore\n   */\n  @HostListener('focus', ['$event'])\n  private __hostFocus(e: FocusEvent) {\n    this.emitOnFocusEvent(e);\n  }\n\n  /**\n   *  @ignore\n   */\n  @HostListener('blur', ['$event'])\n  private __hostBlur(e: FocusEvent) {\n    this.emitOnBlurEvent(e);\n  }\n\n  /**\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    };\n    cssClasses[`ax-${this.color || 'primary'}-default`] = true;\n    return Object.entries(cssClasses)\n      .filter((c) => c[1])\n      .map((c) => c[0])\n      .join(' ');\n  }\n\n  /**\n   *  @ignore\n   */\n  @HostBinding('attr.tabindex') tabindex = '0';\n}\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXButtonGroupItemComponent } from './button-group-item.component';\nimport { AXButtonGroupComponent } from './button-group.component';\n\nconst COMPONENT = [AXButtonGroupComponent, AXButtonGroupItemComponent];\nconst MODULES = [CommonModule, AXDecoratorModule, AXButtonModule];\n\n@NgModule({\n  declarations: [...COMPONENT],\n  imports: [...MODULES],\n  exports: [...COMPONENT],\n  providers: [],\n})\nexport class AXButtonGroupModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
         | 
| 1 | 
            +
            {"version":3,"file":"acorex-components-button-group.mjs","sources":["../../../../libs/components/button-group/src/lib/button-group.component.ts","../../../../libs/components/button-group/src/lib/button-group.component.html","../../../../libs/components/button-group/src/lib/button-group-item.component.ts","../../../../libs/components/button-group/src/lib/button-group.module.ts","../../../../libs/components/button-group/src/acorex-components-button-group.ts"],"sourcesContent":["import {\n  AXClickEvent,\n  AXSelectionMode,\n  MXColorLookComponent,\n  MXInteractiveComponent,\n} from '@acorex/components/common';\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  contentChildren,\n  effect,\n  EventEmitter,\n  HostBinding,\n  HostListener,\n  Input,\n  output,\n  Output,\n  ViewEncapsulation,\n} from '@angular/core';\nimport { classes } from 'polytype';\nimport { AXButtonGroupItemComponent } from './button-group-item.component';\n\n/**\n * A component that groups multiple buttons together, allowing for consistent styling and behavior.\n *\n * @category Components\n */\n@Component({\n  selector: 'ax-button-group',\n  templateUrl: './button-group.component.html',\n  styleUrls: ['./button-group.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  inputs: ['disabled', 'color', 'look'],\n  outputs: ['onBlur', 'onFocus', 'lookChange', 'colorChange', 'disabledChange'],\n  standalone: false,\n})\nexport class AXButtonGroupComponent extends classes(MXInteractiveComponent, MXColorLookComponent) {\n  #effect = effect(() => {\n    if (this._contentButtons().length) {\n      this._bindEvents();\n      this._bindProps();\n    }\n  });\n\n  /**\n   * Fires when any button in the group is clicked.\n   *\n   * @event\n   */\n  @Output()\n  onClick: EventEmitter<AXClickEvent> = new EventEmitter<AXClickEvent>();\n\n  /**\n   *  @ignore\n   */\n  private _contentButtons = contentChildren(AXButtonGroupItemComponent, { descendants: true });\n\n  /**\n   * Emitted when the selection mode changes.\n   *\n   * @event\n   */\n  @Output()\n  selectionChange: EventEmitter<AXSelectionMode> = new EventEmitter();\n\n  selectedButtonChange = output<AXButtonGroupItemComponent>();\n\n  /**\n   *  @ignore\n   */\n  private _selection: AXSelectionMode;\n\n  /**\n   * Defines the selection mode for the component.\n   */\n  @Input()\n  public get selection(): AXSelectionMode {\n    return this._selection;\n  }\n\n  /**\n   * Sets the selection mode for the component.\n   *\n   * @param value - The selection mode to be set. Possible values include 'single', 'multiple', or 'none'.\n   */\n  public set selection(value: AXSelectionMode) {\n    this.setOption({\n      name: 'selection',\n      value: value,\n      afterCallback: (o, n) => {\n        if (value == 'none') {\n          this.clearSelection();\n        }\n      },\n    });\n  }\n\n  /**\n   *  @ignore\n   */\n  private _bindEvents() {\n    this._contentButtons()?.forEach((b: any) => {\n      if (!b.onClick.length)\n        b.onClick.subscribe((c: any) => {\n          this._handleClickEvent(c, b);\n        });\n    });\n  }\n\n  /**\n   *  @ignore\n   */\n  private _bindProps() {\n    this._contentButtons()?.forEach((b: any) => {\n      if (b['originDisabled'] == null) {\n        b['originDisabled'] = b.disabled;\n      }\n      if (this.look) b.look = this.look;\n      if (this.color) b.color = this.color;\n      b.disabled = b['originDisabled'] || this.disabled;\n      b.toggleable = false;\n    });\n  }\n\n  /**\n   * Updates component properties based on internal option changes.\n   */\n  override internalOptionChanged() {\n    this._bindProps();\n  }\n\n  /**\n   *  @ignore\n   */\n  private _handleClickEvent(e: AXClickEvent, button: AXButtonGroupItemComponent) {\n    this.selectedButtonChange.emit(button);\n    if (this.selection == 'multiple') {\n      button.selected = !button.selected;\n    } else if (this.selection == 'single') {\n      this.clearSelection();\n      button.selected = true;\n    } else {\n      button.selected = false;\n    }\n  }\n\n  /**\n   *  @ignore\n   */\n  private clearSelection() {\n    this._contentButtons()?.forEach((c: AXButtonGroupItemComponent) => {\n      c.selected = false;\n    });\n  }\n\n  /**\n   *  @ignore\n   */\n  @HostBinding('class')\n  private get __hostClass(): { [key: string]: boolean } {\n    const cssClasses = {\n      'ax-state-disabled': this.disabled,\n    };\n    cssClasses[`ax-${this.color || 'primary'}`] = true;\n    cssClasses[`ax-${this.look || 'default'}`] = true;\n    return cssClasses;\n  }\n  /**\n   *  @ignore\n   */\n  @HostBinding('attr.role') get role() {\n    return 'group';\n  }\n\n  /**\n   *  @ignore\n   */\n  @HostListener('click', ['$event'])\n  private __hostClick(e: MouseEvent) {\n    if (!this.disabled) {\n      this.onClick.emit({\n        component: this,\n        htmlElement: this.getHostElement(),\n        nativeEvent: e,\n      });\n    }\n  }\n}\n","<ng-container>\n  <ng-content select=\"ax-button-group-item\"></ng-content>\n</ng-container>\n","import {\n  AXClickEvent,\n  AXStyleColorType,\n  MXColorComponent,\n  MXInteractiveComponent,\n} from '@acorex/components/common';\n\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  EventEmitter,\n  HostBinding,\n  HostListener,\n  inject,\n  Input,\n  Output,\n  ViewEncapsulation,\n} from '@angular/core';\nimport { classes } from 'polytype';\nimport { AXButtonGroupComponent } from './button-group.component';\n\nexport interface AXButtonItemListItem {\n  name: string;\n  text: string;\n  icon: string;\n  divided?: boolean;\n  disabled?: boolean;\n  color?: AXStyleColorType;\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-group-item',\n  template: `\n    <ax-button\n      [color]=\"selected ? color : 'ghost'\"\n      [text]=\"text\"\n      [look]=\"btnGroup.look\"\n      [disabled]=\"disabled\"\n      [selected]=\"color === 'ghost' ? selected : false\"\n    >\n      <ng-content></ng-content>\n    </ax-button>\n  `,\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  inputs: ['color', 'disabled'],\n  outputs: ['onClick', 'onFocus', 'onBlur', 'disabledChange'],\n  standalone: false,\n})\nexport class AXButtonGroupItemComponent extends classes(MXInteractiveComponent, MXColorComponent) {\n  btnGroup = inject(AXButtonGroupComponent);\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  /**\n   *  @ignore\n   */\n  @HostListener('click', ['$event'])\n  private __hostClick(e: MouseEvent) {\n    if (!this.disabled) {\n      this.onClick.emit({\n        component: this,\n        htmlElement: this.getHostElement(),\n        nativeEvent: e,\n      });\n    }\n  }\n  /**\n   *  @ignore\n   */\n  @HostListener('focus', ['$event'])\n  private __hostFocus(e: FocusEvent) {\n    this.emitOnFocusEvent(e);\n  }\n\n  /**\n   *  @ignore\n   */\n  @HostListener('blur', ['$event'])\n  private __hostBlur(e: FocusEvent) {\n    this.emitOnBlurEvent(e);\n  }\n\n  /**\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    };\n    cssClasses[`ax-${this.color || 'primary'}-default`] = true;\n    return Object.entries(cssClasses)\n      .filter((c) => c[1])\n      .map((c) => c[0])\n      .join(' ');\n  }\n\n  /**\n   *  @ignore\n   */\n  @HostBinding('attr.tabindex') tabindex = '0';\n}\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXButtonGroupItemComponent } from './button-group-item.component';\nimport { AXButtonGroupComponent } from './button-group.component';\n\nconst COMPONENT = [AXButtonGroupComponent, AXButtonGroupItemComponent];\nconst MODULES = [CommonModule, AXDecoratorModule, AXButtonModule];\n\n@NgModule({\n  declarations: [...COMPONENT],\n  imports: [...MODULES],\n  exports: [...COMPONENT],\n  providers: [],\n})\nexport class AXButtonGroupModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
         |