@acorex/components 19.11.4 → 19.11.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/button/index.d.ts +0 -1
  2. package/button/lib/button.component.d.ts +6 -1
  3. package/common/lib/classes/components.class.d.ts +4 -3
  4. package/fesm2022/acorex-components-autocomplete.mjs +19 -5
  5. package/fesm2022/acorex-components-autocomplete.mjs.map +1 -1
  6. package/fesm2022/acorex-components-button-group.mjs +1 -1
  7. package/fesm2022/acorex-components-button-group.mjs.map +1 -1
  8. package/fesm2022/acorex-components-button.mjs +26 -7
  9. package/fesm2022/acorex-components-button.mjs.map +1 -1
  10. package/fesm2022/acorex-components-common.mjs +5 -4
  11. package/fesm2022/acorex-components-common.mjs.map +1 -1
  12. package/fesm2022/acorex-components-conversation.mjs +3 -3
  13. package/fesm2022/acorex-components-conversation.mjs.map +1 -1
  14. package/fesm2022/acorex-components-data-pager.mjs +4 -4
  15. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  16. package/fesm2022/acorex-components-data-table.mjs +2 -2
  17. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  18. package/fesm2022/acorex-components-datetime-picker.mjs +1 -1
  19. package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
  20. package/fesm2022/acorex-components-dialog.mjs +1 -1
  21. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  22. package/fesm2022/acorex-components-dropdown-button.mjs +1 -1
  23. package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
  24. package/fesm2022/acorex-components-file-explorer.mjs +1 -1
  25. package/fesm2022/acorex-components-file-explorer.mjs.map +1 -1
  26. package/fesm2022/acorex-components-form.mjs +1 -1
  27. package/fesm2022/acorex-components-form.mjs.map +1 -1
  28. package/fesm2022/acorex-components-image-editor.mjs +4 -4
  29. package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
  30. package/fesm2022/acorex-components-loading-dialog.mjs +1 -1
  31. package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
  32. package/fesm2022/acorex-components-notification.mjs +1 -1
  33. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  34. package/fesm2022/acorex-components-paint.mjs +1 -1
  35. package/fesm2022/acorex-components-paint.mjs.map +1 -1
  36. package/fesm2022/acorex-components-query-builder.mjs +1 -1
  37. package/fesm2022/acorex-components-query-builder.mjs.map +1 -1
  38. package/fesm2022/acorex-components-rest-api-generator.mjs +2 -2
  39. package/fesm2022/acorex-components-rest-api-generator.mjs.map +1 -1
  40. package/fesm2022/acorex-components-scheduler.mjs +2 -2
  41. package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
  42. package/fesm2022/acorex-components-tag-box.mjs +47 -24
  43. package/fesm2022/acorex-components-tag-box.mjs.map +1 -1
  44. package/fesm2022/acorex-components-wysiwyg.mjs +6 -6
  45. package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
  46. package/package.json +1 -1
  47. package/tag-box/lib/tag-box.component.d.ts +12 -7
  48. package/button/lib/button.class.d.ts +0 -1
package/button/index.d.ts CHANGED
@@ -1,6 +1,5 @@
1
1
  export * from './lib/button-item-list.component';
2
2
  export * from './lib/button-item.class';
3
3
  export * from './lib/button-item.component';
4
- export * from './lib/button.class';
5
4
  export * from './lib/button.component';
6
5
  export * from './lib/button.module';
@@ -1,4 +1,5 @@
1
1
  import { AXClickEvent, MXButtonBaseComponent } from '@acorex/components/common';
2
+ import { AXLoadingComponent } from '@acorex/components/loading';
2
3
  import { AfterViewInit, EventEmitter } from '@angular/core';
3
4
  import { AXButtonType } from './button-item.class';
4
5
  import * as i0 from "@angular/core";
@@ -8,6 +9,10 @@ import * as i0 from "@angular/core";
8
9
  * @category Components
9
10
  */
10
11
  export declare class AXButtonComponent extends MXButtonBaseComponent implements AfterViewInit {
12
+ iconOnly: import("@angular/core").InputSignal<boolean>;
13
+ protected showIcon: import("@angular/core").Signal<boolean>;
14
+ protected loadingIcon: import("@angular/core").Signal<AXLoadingComponent>;
15
+ protected hasLoadingIcon: import("@angular/core").Signal<boolean>;
11
16
  /**
12
17
  * Fires each time the user clicks the button.
13
18
  * @event
@@ -56,5 +61,5 @@ export declare class AXButtonComponent extends MXButtonBaseComponent implements
56
61
  */
57
62
  blur(): void;
58
63
  static ɵfac: i0.ɵɵFactoryDeclaration<AXButtonComponent, never>;
59
- static ɵcmp: i0.ɵɵComponentDeclaration<AXButtonComponent, "ax-button", never, { "disabled": { "alias": "disabled"; "required": false; }; "size": { "alias": "size"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "color": { "alias": "color"; "required": false; }; "look": { "alias": "look"; "required": false; }; "text": { "alias": "text"; "required": false; }; "toggleable": { "alias": "toggleable"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "loadingText": { "alias": "loadingText"; "required": false; "isSignal": true; }; }, { "onBlur": "onBlur"; "onFocus": "onFocus"; "onClick": "onClick"; "selectedChange": "selectedChange"; "toggleableChange": "toggleableChange"; "lookChange": "lookChange"; "colorChange": "colorChange"; "disabledChange": "disabledChange"; "loadingText": "loadingTextChange"; }, never, ["ax-loading, ax-loading-spinner", "ax-prefix, ax-icon", "ax-content", "ax-suffix", "ax-dropdown-panel", ".tab-content", "*"], true, never>;
64
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXButtonComponent, "ax-button", never, { "disabled": { "alias": "disabled"; "required": false; }; "size": { "alias": "size"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "color": { "alias": "color"; "required": false; }; "look": { "alias": "look"; "required": false; }; "text": { "alias": "text"; "required": false; }; "toggleable": { "alias": "toggleable"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "iconOnly": { "alias": "iconOnly"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "loadingText": { "alias": "loadingText"; "required": false; "isSignal": true; }; }, { "onBlur": "onBlur"; "onFocus": "onFocus"; "onClick": "onClick"; "selectedChange": "selectedChange"; "toggleableChange": "toggleableChange"; "lookChange": "lookChange"; "colorChange": "colorChange"; "disabledChange": "disabledChange"; "loadingText": "loadingTextChange"; }, ["loadingIcon"], ["ax-loading, ax-loading-spinner", "ax-prefix, ax-icon", "ax-content", "ax-suffix", "ax-dropdown-panel", ".tab-content", "*"], true, never>;
60
65
  }
@@ -87,12 +87,13 @@ export declare abstract class AXPagedComponent extends AXComponent implements AX
87
87
  }
88
88
  export declare abstract class AXAutocompleteParentComponent extends MXValueComponent {
89
89
  oldInputValue: string;
90
- abstract _unsubscriber: AXUnsubscriber;
90
+ oldInputEmitValue: unknown[];
91
+ abstract unsubscriber: AXUnsubscriber;
91
92
  onKeyDown: EventEmitter<AXHtmlEvent<KeyboardEvent>>;
92
- onInputValueEmit: EventEmitter<AXValueChangedEvent<string>>;
93
+ onInputValueEmit: EventEmitter<AXValueChangedEvent<unknown[]>>;
93
94
  onInputValueChanged: EventEmitter<AXValueChangedEvent<string>>;
94
95
  handleInputValueChanged(value: string, isUserInteraction?: boolean): void;
95
- handleInputValueEmit(value: string, isUserInteraction?: boolean): void;
96
+ handleInputValueEmit(value: unknown[], isUserInteraction?: boolean): void;
96
97
  static ɵfac: i0.ɵɵFactoryDeclaration<AXAutocompleteParentComponent, never>;
97
98
  static ɵprov: i0.ɵɵInjectableDeclaration<AXAutocompleteParentComponent>;
98
99
  }
@@ -82,7 +82,9 @@ class AXAutocompleteComponent extends classes(MXDropdownBoxBaseComponent, MXSele
82
82
  ngAfterViewInit() {
83
83
  this.setDropdownSize();
84
84
  this.registerValidation();
85
- this.parent.onInputValueChanged.pipe(debounceTime(this.delayTime()), this.parent._unsubscriber.takeUntilDestroy).subscribe((e) => {
85
+ this.parent.onInputValueChanged
86
+ .pipe(debounceTime(this.delayTime()), this.parent.unsubscriber.takeUntilDestroy)
87
+ .subscribe((e) => {
86
88
  if (!e.isUserInteraction)
87
89
  return;
88
90
  this.inputValue.set(e.value);
@@ -93,7 +95,7 @@ class AXAutocompleteComponent extends classes(MXDropdownBoxBaseComponent, MXSele
93
95
  this.search(e.value);
94
96
  this.open();
95
97
  });
96
- this.parent.onKeyDown.pipe(this.parent._unsubscriber.takeUntilDestroy).subscribe((e) => {
98
+ this.parent.onKeyDown.pipe(this.parent.unsubscriber.takeUntilDestroy).subscribe((e) => {
97
99
  if (e.nativeEvent.key === 'ArrowDown') {
98
100
  this.search(this.inputValue());
99
101
  this.open();
@@ -154,7 +156,7 @@ class AXAutocompleteComponent extends classes(MXDropdownBoxBaseComponent, MXSele
154
156
  if (!this.multiple) {
155
157
  this.close();
156
158
  }
157
- this.parent.handleInputValueEmit(e.value, true);
159
+ this.parent.handleInputValueEmit(this.selectedItems, true);
158
160
  }
159
161
  }
160
162
  /** @ignore */
@@ -162,7 +164,9 @@ class AXAutocompleteComponent extends classes(MXDropdownBoxBaseComponent, MXSele
162
164
  if (this.dropdown.isActionsheetStyle) {
163
165
  this.dropdownSizes = {
164
166
  width: '100%',
165
- height: ['auto', '0px'].includes(this.dropdownSizes.height) ? `${Math.min(15, count) * 40}px` : this.dropdownSizes.height,
167
+ height: ['auto', '0px'].includes(this.dropdownSizes.height)
168
+ ? `${Math.min(15, count) * 40}px`
169
+ : this.dropdownSizes.height,
166
170
  };
167
171
  }
168
172
  else {
@@ -243,7 +247,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImpor
243
247
  'disabledField',
244
248
  'textTemplate',
245
249
  'selectedItems',
246
- ], outputs: ['valueChange', 'stateChange', 'onValueChanged', 'onBlur', 'onFocus', 'readonlyChange', 'disabledChange', 'onOpened', 'onClosed'], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
250
+ ], outputs: [
251
+ 'valueChange',
252
+ 'stateChange',
253
+ 'onValueChanged',
254
+ 'onBlur',
255
+ 'onFocus',
256
+ 'readonlyChange',
257
+ 'disabledChange',
258
+ 'onOpened',
259
+ 'onClosed',
260
+ ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
247
261
  { provide: AXComponent, useExisting: AXAutocompleteComponent },
248
262
  { provide: AXFocusableComponent, useExisting: AXAutocompleteComponent },
249
263
  { provide: AXValuableComponent, useExisting: AXAutocompleteComponent },
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-autocomplete.mjs","sources":["../../../../libs/components/autocomplete/src/lib/autocomplete.component.ts","../../../../libs/components/autocomplete/src/lib/autocomplete.component.html","../../../../libs/components/autocomplete/src/lib/autocomplete.module.ts","../../../../libs/components/autocomplete/src/acorex-components-autocomplete.ts"],"sourcesContent":["import {\n AXAutocompleteParentComponent,\n AXClearableComponent,\n AXClosbaleComponent,\n AXComponent,\n AXDataSource,\n AXEvent,\n AXFocusableComponent,\n AXSearchableComponent,\n AXValuableComponent,\n AXValueChangedEvent,\n AX_SELECTION_DATA_TOKEN,\n MXLookComponent,\n MXSelectionBridgeService,\n MXSelectionValueComponent,\n convertArrayToDataSource,\n} from '@acorex/components/common';\nimport { AXDecoratorCloseButtonComponent, AXDecoratorGenericComponent } from '@acorex/components/decorators';\nimport { AXDropdownBoxComponent, MXDropdownBoxBaseComponent } from '@acorex/components/dropdown';\nimport { AXListComponent } from '@acorex/components/list';\nimport { AXLoadingComponent } from '@acorex/components/loading';\nimport { AXTranslatorPipe } from '@acorex/core/translation';\nimport { AXUnsubscriber } from '@acorex/core/utils';\nimport { AsyncPipe, NgTemplateOutlet } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n Input,\n OnDestroy,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n forwardRef,\n inject,\n input,\n signal,\n} from '@angular/core';\nimport { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\nimport { Subscription, debounceTime } from 'rxjs';\n\n/**\n * The Button is a component which detects user interaction and triggers a corresponding event\n * @category\n */\n@Component({\n selector: 'ax-autocomplete',\n templateUrl: './autocomplete.component.html',\n inputs: [\n 'disabled',\n 'readonly',\n 'tabIndex',\n 'placeholder',\n 'minValue',\n 'maxValue',\n 'value',\n 'state',\n 'name',\n 'id',\n 'type',\n 'look',\n 'multiple',\n 'valueField',\n 'textField',\n 'disabledField',\n 'textTemplate',\n 'selectedItems',\n ],\n outputs: ['valueChange', 'stateChange', 'onValueChanged', 'onBlur', 'onFocus', 'readonlyChange', 'disabledChange', 'onOpened', 'onClosed'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n { provide: AXComponent, useExisting: AXAutocompleteComponent },\n { provide: AXFocusableComponent, useExisting: AXAutocompleteComponent },\n { provide: AXValuableComponent, useExisting: AXAutocompleteComponent },\n { provide: AXClearableComponent, useExisting: AXAutocompleteComponent },\n { provide: AXClosbaleComponent, useExisting: AXAutocompleteComponent },\n { provide: AXSearchableComponent, useExisting: AXAutocompleteComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXAutocompleteComponent),\n multi: true,\n },\n {\n provide: AX_SELECTION_DATA_TOKEN,\n useClass: MXSelectionBridgeService,\n },\n AXUnsubscriber,\n ],\n host: { ngSkipHydration: 'true' },\n imports: [\n AsyncPipe,\n FormsModule,\n AXListComponent,\n NgTemplateOutlet,\n AXTranslatorPipe,\n AXLoadingComponent,\n AXDropdownBoxComponent,\n AXDecoratorGenericComponent,\n AXDecoratorCloseButtonComponent,\n ],\n})\nexport class AXAutocompleteComponent\n extends classes(MXDropdownBoxBaseComponent, MXSelectionValueComponent, MXLookComponent)\n implements AfterViewInit, OnDestroy\n{\n delayTime = input(300);\n\n protected inputValue = signal('');\n protected isLoading = signal(false);\n\n /** @ignore */\n protected renderList = false;\n\n /** @ignore */\n protected dropdownSizes: { width: string; height: string } = {\n width: '100%',\n height: 'auto',\n };\n\n /** @ignore */\n protected _listDataSource: AXDataSource<any> = convertArrayToDataSource([], {\n key: this.valueField,\n pageSize: 10,\n });\n\n /** @ignore */\n private _dataSource: AXDataSource<any> | any[];\n\n /** @ignore */\n private onChangedSubscription: Subscription;\n\n /**\n * Gets the data source for the component, which can be either an `AXDataSource` or an array of items.\n * @returns {AXDataSource<any> | any[]}\n */\n public get dataSource(): AXDataSource<any> | any[] {\n return this._dataSource;\n }\n\n /**\n * Sets the data source, either as `AXDataSource` or an array. Converts arrays to `AXDataSource` and subscribes to data and loading changes.\n * @param {AXDataSource<any> | any[]} v\n */\n @Input()\n public set dataSource(v: AXDataSource<any> | any[]) {\n this._dataSource = v;\n if (Array.isArray(v)) {\n this._listDataSource = convertArrayToDataSource(v, {\n key: this.valueField,\n pageSize: 10,\n });\n } else {\n this._listDataSource = this.dataSource as AXDataSource<any>;\n }\n //\n this.onChangedSubscription = this._listDataSource.onChanged.subscribe((data) => {\n this.setDropdownSize(data.totalCount);\n });\n this._listDataSource.onLoadingChanged.pipe(this._unsubscriber.takeUntilDestroy).subscribe((loading) => {\n this.isLoading.set(loading);\n });\n }\n\n /**\n * The placeholder text displayed when the component is empty.\n * @param {string} placeholder\n */\n @Input()\n placeholder: string;\n\n /**\n * The caption text to be displayed in the component.\n * @param {string} caption\n */\n @Input()\n caption: string;\n\n /**\n * The template used to customize the rendering of items.\n * @param {TemplateRef<any>} itemTemplate\n */\n @Input()\n itemTemplate: TemplateRef<any>;\n\n /**\n * The template used to customize the rendering of selected items.\n * @param {TemplateRef<any>} selectedTemplate\n */\n @Input()\n selectedTemplate: TemplateRef<any>;\n\n /**\n * The template used to display when there are no items.\n * @param {TemplateRef<any>} emptyTemplate\n */\n @Input()\n emptyTemplate: TemplateRef<any>;\n\n /**\n * The template used to display while loading.\n * @param {TemplateRef<any>} loadingTemplate\n */\n @Input()\n loadingTemplate: TemplateRef<any>;\n\n /**\n * The width of the dropdown in pixels.\n * @defaultValue 260\n */\n @Input()\n dropdownWidth = 260;\n\n /** @ignore */\n @ViewChild(AXListComponent)\n list: AXListComponent;\n\n /** @ignore */\n @ViewChild(AXDropdownBoxComponent, { static: true })\n protected dropdown: AXDropdownBoxComponent;\n\n /**\n * Service for managing selection data, injected via `AX_SELECTION_DATA_TOKEN`.\n */\n public selectionService = inject(AX_SELECTION_DATA_TOKEN);\n\n /** @ignore */\n private _unsubscriber = inject(AXUnsubscriber);\n\n parent = inject(AXAutocompleteParentComponent);\n\n /** @ignore */\n ngAfterViewInit() {\n this.setDropdownSize();\n this.registerValidation();\n\n this.parent.onInputValueChanged.pipe(debounceTime(this.delayTime()), this.parent._unsubscriber.takeUntilDestroy).subscribe((e) => {\n if (!e.isUserInteraction) return;\n this.inputValue.set(e.value);\n if (!e.value) {\n this.close();\n return;\n }\n this.search(e.value);\n this.open();\n });\n\n this.parent.onKeyDown.pipe(this.parent._unsubscriber.takeUntilDestroy).subscribe((e) => {\n if (e.nativeEvent.key === 'ArrowDown') {\n this.search(this.inputValue());\n this.open();\n this.list.focus();\n }\n });\n }\n\n /** @ignore */\n override ngOnDestroy(): void {\n this.onChangedSubscription.unsubscribe();\n }\n\n /**\n * Retrieves an item by its key.\n * @param {any} key\n */\n getItemByKey(key: any): Promise<any> | any {\n const startTime = Date.now();\n\n const check = async () => {\n while (Date.now() - startTime < 2000) {\n if (typeof this._listDataSource.find === 'function') {\n return this._listDataSource.find(key);\n } else {\n await new Promise((resolve) => setTimeout(resolve, 50));\n }\n }\n console.warn('Timeout reached without finding the \"getItemByKey\" method');\n };\n return check();\n }\n\n /** @ignore */\n protected _handleOnOpenedEvent(e: AXEvent) {\n if (!this.renderList) {\n this.renderList = true;\n this.list?.render();\n } else if (!this._listDataSource.totalCount || this._listDataSource.totalCount == 0) {\n this.list?.refresh(false);\n }\n //\n this.onOpened.emit({\n component: this,\n isUserInteraction: e.isUserInteraction,\n });\n }\n\n /** @ignore */\n protected _handleOnClosedEvent(e: AXEvent) {\n this.parent.focus();\n this.onClosed.emit({\n component: this,\n isUserInteraction: e.isUserInteraction,\n });\n this._unsubscriber.unsubscribe();\n }\n\n /** @ignore */\n protected _handleValueChanged(e: AXValueChangedEvent) {\n if (e.isUserInteraction) {\n if (!this.multiple) {\n this.close();\n }\n this.parent.handleInputValueEmit(e.value, true);\n }\n }\n\n /** @ignore */\n private setDropdownSize(count = 0) {\n if (this.dropdown.isActionsheetStyle) {\n this.dropdownSizes = {\n width: '100%',\n height: ['auto', '0px'].includes(this.dropdownSizes.height) ? `${Math.min(15, count) * 40}px` : this.dropdownSizes.height,\n };\n } else {\n const hostWidth = Math.max(this.parent.getHostElement().offsetWidth, this.dropdownWidth);\n this.dropdownSizes = {\n width: `${hostWidth}px`,\n height: count == 0 ? 'auto' : `${Math.min(5, count) * 40}px`,\n };\n }\n setTimeout(() => {\n this.dropdown.updatePosition();\n });\n }\n\n /**\n * Filters the data source based on the provided search term.\n * @param {string} term\n */\n search(term: string) {\n if (term) {\n this._listDataSource.filter({\n field: this.textField,\n value: term,\n operator: { type: 'contains' },\n });\n } else {\n this._listDataSource.clearFilter();\n }\n this._listDataSource.refresh();\n }\n\n /**\n * Refreshes the component by resetting state, clearing selection cache, refreshing the list, and closing the component.\n */\n refresh() {\n this.reset(false);\n this.clearSelectionCache();\n this.list?.refresh();\n this.close();\n }\n}\n","<ax-dropdown-box\n [look]=\"look\"\n [hasInput]=\"false\"\n [disabled]=\"disabled\"\n (blur)=\"emitOnBlurEvent($event)\"\n (focus)=\"emitOnFocusEvent($event)\"\n [class.ax-state-multiple]=\"multiple\"\n (onOpened)=\"_handleOnOpenedEvent($event)\"\n (onClosed)=\"_handleOnClosedEvent($event)\"\n>\n <ng-container panel>\n <div #panel class=\"ax-autocomplete-panel\" [style.min-width]=\"dropdownSizes.width\">\n @if (dropdown.isActionsheetStyle) {\n <ax-header class=\"ax-solid\">\n <ax-title>{{ caption || placeholder || 'autocomplete.popover.title' | translate | async }}</ax-title>\n <ax-close-button [icon]=\"multiple ? 'ax-icon ax-icon-check' : 'ax-icon ax-icon-close'\"></ax-close-button>\n </ax-header>\n }\n @if (renderList) {\n <ax-list\n [ngModel]=\"value\"\n [readonly]=\"readonly\"\n [multiple]=\"multiple\"\n [textField]=\"textField\"\n [selectionMode]=\"'item'\"\n [valueField]=\"valueField\"\n [textTemplate]=\"textTemplate\"\n [itemTemplate]=\"itemTemplate\"\n [dataSource]=\"_listDataSource\"\n [loadingTemplate]=\"loadingTemplate\"\n [style.height]=\"dropdownSizes.height\"\n [emptyTemplate]=\"emptyTemplate ?? empty\"\n (onValueChanged)=\"_handleValueChanged($event)\"\n >\n <ng-template #empty> {{ 'no-result-found' | translate | async }} </ng-template>\n </ax-list>\n }\n\n @if (isLoading()) {\n @if (loadingTemplate) {\n <ng-template *ngTemplateOutlet=\"loadingTemplate\"></ng-template>\n } @else {\n <div class=\"ax-autocomplete-loading-container\">\n <ax-loading></ax-loading>\n </div>\n }\n }\n\n <ng-content select=\"ax-footer\"> </ng-content>\n </div>\n </ng-container>\n</ax-dropdown-box>\n","import { NgModule } from '@angular/core';\nimport { AXAutocompleteComponent } from './autocomplete.component';\n\n@NgModule({\n imports: [AXAutocompleteComponent],\n exports: [AXAutocompleteComponent],\n providers: [],\n})\nexport class AXAutocompleteModule {}\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-autocomplete.mjs","sources":["../../../../libs/components/autocomplete/src/lib/autocomplete.component.ts","../../../../libs/components/autocomplete/src/lib/autocomplete.component.html","../../../../libs/components/autocomplete/src/lib/autocomplete.module.ts","../../../../libs/components/autocomplete/src/acorex-components-autocomplete.ts"],"sourcesContent":["import {\n AXAutocompleteParentComponent,\n AXClearableComponent,\n AXClosbaleComponent,\n AXComponent,\n AXDataSource,\n AXEvent,\n AXFocusableComponent,\n AXSearchableComponent,\n AXValuableComponent,\n AXValueChangedEvent,\n AX_SELECTION_DATA_TOKEN,\n MXLookComponent,\n MXSelectionBridgeService,\n MXSelectionValueComponent,\n convertArrayToDataSource,\n} from '@acorex/components/common';\nimport { AXDecoratorCloseButtonComponent, AXDecoratorGenericComponent } from '@acorex/components/decorators';\nimport { AXDropdownBoxComponent, MXDropdownBoxBaseComponent } from '@acorex/components/dropdown';\nimport { AXListComponent } from '@acorex/components/list';\nimport { AXLoadingComponent } from '@acorex/components/loading';\nimport { AXTranslatorPipe } from '@acorex/core/translation';\nimport { AXUnsubscriber } from '@acorex/core/utils';\nimport { AsyncPipe, NgTemplateOutlet } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n Input,\n OnDestroy,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n forwardRef,\n inject,\n input,\n signal,\n} from '@angular/core';\nimport { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\nimport { Subscription, debounceTime } from 'rxjs';\n\n/**\n * The Button is a component which detects user interaction and triggers a corresponding event\n * @category\n */\n@Component({\n selector: 'ax-autocomplete',\n templateUrl: './autocomplete.component.html',\n inputs: [\n 'disabled',\n 'readonly',\n 'tabIndex',\n 'placeholder',\n 'minValue',\n 'maxValue',\n 'value',\n 'state',\n 'name',\n 'id',\n 'type',\n 'look',\n 'multiple',\n 'valueField',\n 'textField',\n 'disabledField',\n 'textTemplate',\n 'selectedItems',\n ],\n outputs: [\n 'valueChange',\n 'stateChange',\n 'onValueChanged',\n 'onBlur',\n 'onFocus',\n 'readonlyChange',\n 'disabledChange',\n 'onOpened',\n 'onClosed',\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n { provide: AXComponent, useExisting: AXAutocompleteComponent },\n { provide: AXFocusableComponent, useExisting: AXAutocompleteComponent },\n { provide: AXValuableComponent, useExisting: AXAutocompleteComponent },\n { provide: AXClearableComponent, useExisting: AXAutocompleteComponent },\n { provide: AXClosbaleComponent, useExisting: AXAutocompleteComponent },\n { provide: AXSearchableComponent, useExisting: AXAutocompleteComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXAutocompleteComponent),\n multi: true,\n },\n {\n provide: AX_SELECTION_DATA_TOKEN,\n useClass: MXSelectionBridgeService,\n },\n AXUnsubscriber,\n ],\n host: { ngSkipHydration: 'true' },\n imports: [\n AsyncPipe,\n FormsModule,\n AXListComponent,\n NgTemplateOutlet,\n AXTranslatorPipe,\n AXLoadingComponent,\n AXDropdownBoxComponent,\n AXDecoratorGenericComponent,\n AXDecoratorCloseButtonComponent,\n ],\n})\nexport class AXAutocompleteComponent\n extends classes(MXDropdownBoxBaseComponent, MXSelectionValueComponent, MXLookComponent)\n implements AfterViewInit, OnDestroy\n{\n delayTime = input(300);\n\n protected inputValue = signal('');\n protected isLoading = signal(false);\n\n /** @ignore */\n protected renderList = false;\n\n /** @ignore */\n protected dropdownSizes: { width: string; height: string } = {\n width: '100%',\n height: 'auto',\n };\n\n /** @ignore */\n protected _listDataSource: AXDataSource<any> = convertArrayToDataSource([], {\n key: this.valueField,\n pageSize: 10,\n });\n\n /** @ignore */\n private _dataSource: AXDataSource<any> | any[];\n\n /** @ignore */\n private onChangedSubscription: Subscription;\n\n /**\n * Gets the data source for the component, which can be either an `AXDataSource` or an array of items.\n * @returns {AXDataSource<any> | any[]}\n */\n public get dataSource(): AXDataSource<any> | any[] {\n return this._dataSource;\n }\n\n /**\n * Sets the data source, either as `AXDataSource` or an array. Converts arrays to `AXDataSource` and subscribes to data and loading changes.\n * @param {AXDataSource<any> | any[]} v\n */\n @Input()\n public set dataSource(v: AXDataSource<any> | any[]) {\n this._dataSource = v;\n if (Array.isArray(v)) {\n this._listDataSource = convertArrayToDataSource(v, {\n key: this.valueField,\n pageSize: 10,\n });\n } else {\n this._listDataSource = this.dataSource as AXDataSource<any>;\n }\n //\n this.onChangedSubscription = this._listDataSource.onChanged.subscribe((data) => {\n this.setDropdownSize(data.totalCount);\n });\n this._listDataSource.onLoadingChanged.pipe(this._unsubscriber.takeUntilDestroy).subscribe((loading) => {\n this.isLoading.set(loading);\n });\n }\n\n /**\n * The placeholder text displayed when the component is empty.\n * @param {string} placeholder\n */\n @Input()\n placeholder: string;\n\n /**\n * The caption text to be displayed in the component.\n * @param {string} caption\n */\n @Input()\n caption: string;\n\n /**\n * The template used to customize the rendering of items.\n * @param {TemplateRef<any>} itemTemplate\n */\n @Input()\n itemTemplate: TemplateRef<any>;\n\n /**\n * The template used to customize the rendering of selected items.\n * @param {TemplateRef<any>} selectedTemplate\n */\n @Input()\n selectedTemplate: TemplateRef<any>;\n\n /**\n * The template used to display when there are no items.\n * @param {TemplateRef<any>} emptyTemplate\n */\n @Input()\n emptyTemplate: TemplateRef<any>;\n\n /**\n * The template used to display while loading.\n * @param {TemplateRef<any>} loadingTemplate\n */\n @Input()\n loadingTemplate: TemplateRef<any>;\n\n /**\n * The width of the dropdown in pixels.\n * @defaultValue 260\n */\n @Input()\n dropdownWidth = 260;\n\n /** @ignore */\n @ViewChild(AXListComponent)\n list: AXListComponent;\n\n /** @ignore */\n @ViewChild(AXDropdownBoxComponent, { static: true })\n protected dropdown: AXDropdownBoxComponent;\n\n /**\n * Service for managing selection data, injected via `AX_SELECTION_DATA_TOKEN`.\n */\n public selectionService = inject(AX_SELECTION_DATA_TOKEN);\n\n /** @ignore */\n private _unsubscriber = inject(AXUnsubscriber);\n\n parent = inject(AXAutocompleteParentComponent);\n\n /** @ignore */\n ngAfterViewInit() {\n this.setDropdownSize();\n this.registerValidation();\n\n this.parent.onInputValueChanged\n .pipe(debounceTime(this.delayTime()), this.parent.unsubscriber.takeUntilDestroy)\n .subscribe((e) => {\n if (!e.isUserInteraction) return;\n this.inputValue.set(e.value);\n if (!e.value) {\n this.close();\n return;\n }\n this.search(e.value);\n this.open();\n });\n\n this.parent.onKeyDown.pipe(this.parent.unsubscriber.takeUntilDestroy).subscribe((e) => {\n if (e.nativeEvent.key === 'ArrowDown') {\n this.search(this.inputValue());\n this.open();\n this.list.focus();\n }\n });\n }\n\n /** @ignore */\n override ngOnDestroy(): void {\n this.onChangedSubscription.unsubscribe();\n }\n\n /**\n * Retrieves an item by its key.\n * @param {any} key\n */\n getItemByKey(key: any): Promise<any> | any {\n const startTime = Date.now();\n\n const check = async () => {\n while (Date.now() - startTime < 2000) {\n if (typeof this._listDataSource.find === 'function') {\n return this._listDataSource.find(key);\n } else {\n await new Promise((resolve) => setTimeout(resolve, 50));\n }\n }\n console.warn('Timeout reached without finding the \"getItemByKey\" method');\n };\n return check();\n }\n\n /** @ignore */\n protected _handleOnOpenedEvent(e: AXEvent) {\n if (!this.renderList) {\n this.renderList = true;\n this.list?.render();\n } else if (!this._listDataSource.totalCount || this._listDataSource.totalCount == 0) {\n this.list?.refresh(false);\n }\n //\n this.onOpened.emit({\n component: this,\n isUserInteraction: e.isUserInteraction,\n });\n }\n\n /** @ignore */\n protected _handleOnClosedEvent(e: AXEvent) {\n this.parent.focus();\n this.onClosed.emit({\n component: this,\n isUserInteraction: e.isUserInteraction,\n });\n this._unsubscriber.unsubscribe();\n }\n\n /** @ignore */\n protected _handleValueChanged(e: AXValueChangedEvent) {\n if (e.isUserInteraction) {\n if (!this.multiple) {\n this.close();\n }\n this.parent.handleInputValueEmit(this.selectedItems, true);\n }\n }\n\n /** @ignore */\n private setDropdownSize(count = 0) {\n if (this.dropdown.isActionsheetStyle) {\n this.dropdownSizes = {\n width: '100%',\n height: ['auto', '0px'].includes(this.dropdownSizes.height)\n ? `${Math.min(15, count) * 40}px`\n : this.dropdownSizes.height,\n };\n } else {\n const hostWidth = Math.max(this.parent.getHostElement().offsetWidth, this.dropdownWidth);\n this.dropdownSizes = {\n width: `${hostWidth}px`,\n height: count == 0 ? 'auto' : `${Math.min(5, count) * 40}px`,\n };\n }\n setTimeout(() => {\n this.dropdown.updatePosition();\n });\n }\n\n /**\n * Filters the data source based on the provided search term.\n * @param {string} term\n */\n search(term: string) {\n if (term) {\n this._listDataSource.filter({\n field: this.textField,\n value: term,\n operator: { type: 'contains' },\n });\n } else {\n this._listDataSource.clearFilter();\n }\n this._listDataSource.refresh();\n }\n\n /**\n * Refreshes the component by resetting state, clearing selection cache, refreshing the list, and closing the component.\n */\n refresh() {\n this.reset(false);\n this.clearSelectionCache();\n this.list?.refresh();\n this.close();\n }\n}\n","<ax-dropdown-box\n [look]=\"look\"\n [hasInput]=\"false\"\n [disabled]=\"disabled\"\n (blur)=\"emitOnBlurEvent($event)\"\n (focus)=\"emitOnFocusEvent($event)\"\n [class.ax-state-multiple]=\"multiple\"\n (onOpened)=\"_handleOnOpenedEvent($event)\"\n (onClosed)=\"_handleOnClosedEvent($event)\"\n>\n <ng-container panel>\n <div #panel class=\"ax-autocomplete-panel\" [style.min-width]=\"dropdownSizes.width\">\n @if (dropdown.isActionsheetStyle) {\n <ax-header class=\"ax-solid\">\n <ax-title>{{ caption || placeholder || 'autocomplete.popover.title' | translate | async }}</ax-title>\n <ax-close-button [icon]=\"multiple ? 'ax-icon ax-icon-check' : 'ax-icon ax-icon-close'\"></ax-close-button>\n </ax-header>\n }\n @if (renderList) {\n <ax-list\n [ngModel]=\"value\"\n [readonly]=\"readonly\"\n [multiple]=\"multiple\"\n [textField]=\"textField\"\n [selectionMode]=\"'item'\"\n [valueField]=\"valueField\"\n [textTemplate]=\"textTemplate\"\n [itemTemplate]=\"itemTemplate\"\n [dataSource]=\"_listDataSource\"\n [loadingTemplate]=\"loadingTemplate\"\n [style.height]=\"dropdownSizes.height\"\n [emptyTemplate]=\"emptyTemplate ?? empty\"\n (onValueChanged)=\"_handleValueChanged($event)\"\n >\n <ng-template #empty> {{ 'no-result-found' | translate | async }} </ng-template>\n </ax-list>\n }\n\n @if (isLoading()) {\n @if (loadingTemplate) {\n <ng-template *ngTemplateOutlet=\"loadingTemplate\"></ng-template>\n } @else {\n <div class=\"ax-autocomplete-loading-container\">\n <ax-loading></ax-loading>\n </div>\n }\n }\n\n <ng-content select=\"ax-footer\"> </ng-content>\n </div>\n </ng-container>\n</ax-dropdown-box>\n","import { NgModule } from '@angular/core';\nimport { AXAutocompleteComponent } from './autocomplete.component';\n\n@NgModule({\n imports: [AXAutocompleteComponent],\n exports: [AXAutocompleteComponent],\n providers: [],\n})\nexport class AXAutocompleteModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -259,7 +259,7 @@ class AXButtonGroupItemComponent extends classes(MXInteractiveComponent, MXColor
259
259
  >
260
260
  <ng-content></ng-content>
261
261
  </ax-button>
262
- `, isInline: true, dependencies: [{ kind: "component", type: AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
262
+ `, isInline: true, dependencies: [{ kind: "component", type: AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
263
263
  }
264
264
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: AXButtonGroupItemComponent, decorators: [{
265
265
  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 { AXClickEvent, AXSelectionMode, MXColorLookComponent, MXInteractiveComponent } 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})\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 { AXClickEvent, AXStyleColorType, MXColorComponent, MXInteractiveComponent } from '@acorex/components/common';\n\nimport { AXButtonComponent } from '@acorex/components/button';\nimport { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, HostListener, inject, Input, Output, ViewEncapsulation } 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 : 'default'\"\n [text]=\"text\"\n [look]=\"btnGroup.look\"\n [disabled]=\"disabled\"\n [selected]=\"color === 'default' ? 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 imports: [AXButtonComponent],\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 imports: [...MODULES, ...COMPONENT],\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 { AXClickEvent, AXSelectionMode, MXColorLookComponent, MXInteractiveComponent } 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})\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 { AXClickEvent, AXStyleColorType, MXColorComponent, MXInteractiveComponent } from '@acorex/components/common';\n\nimport { AXButtonComponent } from '@acorex/components/button';\nimport { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, HostListener, inject, Input, Output, ViewEncapsulation } 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 : 'default'\"\n [text]=\"text\"\n [look]=\"btnGroup.look\"\n [disabled]=\"disabled\"\n [selected]=\"color === 'default' ? 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 imports: [AXButtonComponent],\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 imports: [...MODULES, ...COMPONENT],\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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"}