@acorex/components 19.11.3 → 19.11.4-next.0
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/index.d.ts +0 -1
- package/button/lib/button.component.d.ts +6 -1
- package/common/lib/types/base/button.type.d.ts +1 -1
- package/common/lib/types/base/color.type.d.ts +1 -1
- package/common/lib/types/base/interactive.type.d.ts +1 -1
- package/common/lib/types/base/look.type.d.ts +1 -1
- package/common/lib/types/base/value.type.d.ts +1 -1
- package/conversation/lib/conversation-messages/conversation-message-image-popup/conversation-message-image-popup.component.d.ts +1 -1
- package/fesm2022/acorex-components-breadcrumbs.mjs +4 -4
- package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/acorex-components-button-group.mjs +1 -1
- package/fesm2022/acorex-components-button-group.mjs.map +1 -1
- package/fesm2022/acorex-components-button.mjs +26 -7
- package/fesm2022/acorex-components-button.mjs.map +1 -1
- package/fesm2022/acorex-components-common.mjs +5 -13
- package/fesm2022/acorex-components-common.mjs.map +1 -1
- package/fesm2022/acorex-components-conversation.mjs +6 -6
- package/fesm2022/acorex-components-conversation.mjs.map +1 -1
- package/fesm2022/acorex-components-data-pager.mjs +4 -4
- package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
- package/fesm2022/acorex-components-data-table.mjs +2 -2
- package/fesm2022/acorex-components-data-table.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-picker.mjs +1 -1
- package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-dialog.mjs +1 -1
- package/fesm2022/acorex-components-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown-button.mjs +1 -1
- package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
- package/fesm2022/acorex-components-file-explorer.mjs +1 -1
- package/fesm2022/acorex-components-file-explorer.mjs.map +1 -1
- package/fesm2022/acorex-components-form.mjs +1 -1
- package/fesm2022/acorex-components-form.mjs.map +1 -1
- package/fesm2022/acorex-components-image-editor.mjs +4 -4
- package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
- package/fesm2022/acorex-components-kbd.mjs +3 -12
- package/fesm2022/acorex-components-kbd.mjs.map +1 -1
- package/fesm2022/acorex-components-loading-dialog.mjs +1 -1
- package/fesm2022/acorex-components-loading-dialog.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-notification.mjs +1 -1
- package/fesm2022/acorex-components-notification.mjs.map +1 -1
- package/fesm2022/acorex-components-otp.mjs +12 -8
- package/fesm2022/acorex-components-otp.mjs.map +1 -1
- package/fesm2022/acorex-components-paint.mjs +1 -1
- package/fesm2022/acorex-components-paint.mjs.map +1 -1
- package/fesm2022/acorex-components-query-builder.mjs +1 -1
- package/fesm2022/acorex-components-query-builder.mjs.map +1 -1
- package/fesm2022/acorex-components-rail-navigation.mjs +2 -2
- package/fesm2022/acorex-components-rail-navigation.mjs.map +1 -1
- package/fesm2022/acorex-components-rest-api-generator.mjs +2 -2
- package/fesm2022/acorex-components-rest-api-generator.mjs.map +1 -1
- package/fesm2022/acorex-components-scheduler.mjs +2 -2
- package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
- package/fesm2022/acorex-components-select-box.mjs +2 -2
- package/fesm2022/acorex-components-select-box.mjs.map +1 -1
- package/fesm2022/acorex-components-tabs.mjs +2 -1
- package/fesm2022/acorex-components-tabs.mjs.map +1 -1
- package/fesm2022/acorex-components-tag-box.mjs +46 -23
- package/fesm2022/acorex-components-tag-box.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-wysiwyg.mjs +8 -8
- package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
- package/kbd/lib/kbd.component.d.ts +1 -3
- package/otp/lib/otp.component.d.ts +2 -1
- package/package.json +5 -5
- package/tag-box/README.md +2 -2
- package/tag-box/lib/tag-box.component.d.ts +10 -4
- package/tag-box/lib/tag-box.module.d.ts +4 -4
- package/button/lib/button.class.d.ts +0 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"acorex-components-select-box.mjs","sources":["../../../../libs/components/select-box/src/lib/select-box.component.ts","../../../../libs/components/select-box/src/lib/select-box.component.html","../../../../libs/components/select-box/src/lib/select-box.module.ts","../../../../libs/components/select-box/src/acorex-components-select-box.ts"],"sourcesContent":["import {\r\n AXClearableComponent,\r\n AXClosbaleComponent,\r\n AXComponent,\r\n AXDataSource,\r\n AXEvent,\r\n AXFocusableComponent,\r\n AXHotkeysService,\r\n AXSearchableComponent,\r\n AXValuableComponent,\r\n AXValueChangedEvent,\r\n AX_SELECTION_DATA_TOKEN,\r\n MXLookComponent,\r\n MXSelectionBridgeService,\r\n MXSelectionValueComponent,\r\n convertArrayToDataSource,\r\n} from '@acorex/components/common';\r\nimport { AXDecoratorCloseButtonComponent, AXDecoratorGenericComponent } from '@acorex/components/decorators';\r\nimport { AXDropdownBoxComponent, MXDropdownBoxBaseComponent } from '@acorex/components/dropdown';\r\nimport { AXListComponent } from '@acorex/components/list';\r\nimport { AXLoadingComponent } from '@acorex/components/loading';\r\nimport { AXSearchBoxComponent } from '@acorex/components/search-box';\r\nimport { AXTranslatorPipe } from '@acorex/core/translation';\r\nimport { AXUnsubscriber } from '@acorex/core/utils';\r\nimport { AsyncPipe, NgClass, NgTemplateOutlet } from '@angular/common';\r\nimport {\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n Component,\r\n ContentChild,\r\n ElementRef,\r\n HostListener,\r\n Input,\r\n OnDestroy,\r\n TemplateRef,\r\n ViewChild,\r\n ViewEncapsulation,\r\n WritableSignal,\r\n forwardRef,\r\n inject,\r\n input,\r\n signal,\r\n} from '@angular/core';\r\nimport { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { findLastIndex, last, nth } from 'lodash-es';\r\nimport { classes } from 'polytype';\r\nimport { Observable, Subscription } from 'rxjs';\r\n\r\n/**\r\n * The Button is a component which detects user interaction and triggers a corresponding event\r\n * @category\r\n */\r\n@Component({\r\n selector: 'ax-select-box',\r\n templateUrl: './select-box.component.html',\r\n styleUrl: './styles/index.scss',\r\n inputs: [\r\n 'disabled',\r\n 'readonly',\r\n 'tabIndex',\r\n 'placeholder',\r\n 'minValue',\r\n 'maxValue',\r\n 'value',\r\n 'state',\r\n 'name',\r\n 'id',\r\n 'type',\r\n 'look',\r\n 'multiple',\r\n 'valueField',\r\n 'textField',\r\n 'disabledField',\r\n 'textTemplate',\r\n 'selectedItems',\r\n ],\r\n outputs: ['valueChange', 'stateChange', 'onValueChanged', 'onBlur', 'onFocus', 'readonlyChange', 'disabledChange', 'onOpened', 'onClosed'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [\r\n { provide: AXComponent, useExisting: AXSelectBoxComponent },\r\n { provide: AXFocusableComponent, useExisting: AXSelectBoxComponent },\r\n { provide: AXValuableComponent, useExisting: AXSelectBoxComponent },\r\n { provide: AXClearableComponent, useExisting: AXSelectBoxComponent },\r\n { provide: AXClosbaleComponent, useExisting: AXSelectBoxComponent },\r\n { provide: AXSearchableComponent, useExisting: AXSelectBoxComponent },\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => AXSelectBoxComponent),\r\n multi: true,\r\n },\r\n {\r\n provide: AX_SELECTION_DATA_TOKEN,\r\n useClass: MXSelectionBridgeService,\r\n },\r\n AXUnsubscriber,\r\n ],\r\n host: { ngSkipHydration: 'true' },\r\n imports: [\r\n AXDropdownBoxComponent,\r\n NgTemplateOutlet,\r\n NgClass,\r\n AXDecoratorGenericComponent,\r\n AXDecoratorCloseButtonComponent,\r\n AXListComponent,\r\n FormsModule,\r\n AXLoadingComponent,\r\n AsyncPipe,\r\n AXTranslatorPipe,\r\n ],\r\n})\r\nexport class AXSelectBoxComponent extends classes(MXDropdownBoxBaseComponent, MXSelectionValueComponent, MXLookComponent) implements AfterViewInit, OnDestroy {\r\n /** @ignore */\r\n private hotKeyService: AXHotkeysService = inject(AXHotkeysService);\r\n\r\n /** @ignore */\r\n protected isLoading: WritableSignal<boolean> = signal(false);\r\n\r\n /** @ignore */\r\n protected searchValue: WritableSignal<string> = signal('');\r\n\r\n /** @ignore */\r\n protected renderList = false;\r\n\r\n /** @ignore */\r\n protected dropdownSizes: { width: string; height: string } = {\r\n width: '100%',\r\n height: 'auto',\r\n };\r\n\r\n /** @ignore */\r\n protected _listDataSource: AXDataSource<any> = convertArrayToDataSource([], {\r\n key: this.valueField,\r\n pageSize: 10,\r\n });\r\n\r\n /** @ignore */\r\n private _dataSource: AXDataSource<any> | any[];\r\n\r\n /** @ignore */\r\n private onChangedSubscription: Subscription;\r\n\r\n /**\r\n * Gets the data source for the component, which can be either an `AXDataSource` or an array of items.\r\n * @returns {AXDataSource<any> | any[]}\r\n */\r\n public get dataSource(): AXDataSource<any> | any[] {\r\n return this._dataSource;\r\n }\r\n\r\n /**\r\n * Sets the data source, either as an `AXDataSource` or an array.\r\n * @param {AXDataSource<any> | any[]} v\r\n */\r\n @Input()\r\n\r\n /**\r\n * Sets the data source, either as `AXDataSource` or an array. Converts arrays to `AXDataSource` and subscribes to data and loading changes.\r\n * @param {AXDataSource<any> | any[]} v\r\n */\r\n public set dataSource(v: AXDataSource<any> | any[]) {\r\n this._dataSource = v;\r\n if (Array.isArray(v)) {\r\n this._listDataSource = convertArrayToDataSource(v, {\r\n key: this.valueField,\r\n pageSize: 10,\r\n });\r\n } else {\r\n this._listDataSource = this.dataSource as AXDataSource<any>;\r\n }\r\n //\r\n //\r\n this.onChangedSubscription = this._listDataSource.onChanged.subscribe((data) => {\r\n this.setDropdownSize(data.totalCount);\r\n });\r\n this._listDataSource.onLoadingChanged.pipe(this._unsubscriber.takeUntilDestroy).subscribe((loading) => {\r\n this.isLoading.set(loading);\r\n });\r\n }\r\n\r\n /**\r\n * The placeholder text displayed when the component is empty.\r\n * @param {string} placeholder\r\n */\r\n @Input()\r\n placeholder: string;\r\n\r\n /**\r\n * The minRecordsForSearch defines the minimum number of records required to display the search box.\r\n * @param {number} minRecordsForSearch\r\n */\r\n @Input()\r\n minRecordsForSearch: number;\r\n\r\n /**\r\n * The caption text to be displayed in the component.\r\n * @param {string} caption\r\n */\r\n @Input()\r\n caption: string;\r\n\r\n /**\r\n * The template used to customize the rendering of items.\r\n * @param {TemplateRef<any>} itemTemplate\r\n */\r\n @Input()\r\n itemTemplate: TemplateRef<any>;\r\n\r\n /**\r\n * The template used to customize the rendering of selected items.\r\n * @param {TemplateRef<any>} selectedTemplate\r\n */\r\n @Input()\r\n selectedTemplate: TemplateRef<any>;\r\n\r\n /**\r\n * The template used to display when there are no items.\r\n * @param {TemplateRef<any>} emptyTemplate\r\n */\r\n @Input()\r\n emptyTemplate: TemplateRef<any>;\r\n\r\n /**\r\n * The template used to display while loading.\r\n * @param {TemplateRef<any>} loadingTemplate\r\n */\r\n @Input()\r\n loadingTemplate: TemplateRef<any>;\r\n\r\n /**\r\n * The width of the dropdown in pixels.\r\n * @defaultValue 260\r\n */\r\n @Input()\r\n dropdownWidth = 260;\r\n\r\n /** @ignore */\r\n @ViewChild('panel') panel!: ElementRef<HTMLDivElement>;\r\n\r\n /** @ignore */\r\n @ViewChild(AXListComponent)\r\n list: AXListComponent;\r\n\r\n /** @ignore */\r\n @ContentChild(AXSearchBoxComponent)\r\n searchBox: AXSearchBoxComponent;\r\n\r\n searchBoxAutoFocus = input(true);\r\n\r\n /** @ignore */\r\n @ViewChild(AXDropdownBoxComponent, { static: true })\r\n protected dropdown: AXDropdownBoxComponent;\r\n\r\n /**\r\n * Service for managing selection data, injected via `AX_SELECTION_DATA_TOKEN`.\r\n */\r\n public selectionService = inject(AX_SELECTION_DATA_TOKEN);\r\n\r\n searchEvent: Observable<any>;\r\n\r\n /** @ignore */\r\n private _unsubscriber = inject(AXUnsubscriber);\r\n\r\n /** @ignore */\r\n protected override ngOnInit(): void {\r\n super.ngOnInit();\r\n //\r\n this.registerValidation();\r\n }\r\n\r\n /** @ignore */\r\n ngAfterViewInit() {\r\n this.setDropdownSize();\r\n }\r\n\r\n /** @ignore */\r\n override ngOnDestroy(): void {\r\n this.searchBox?.onKeyDown.unsubscribe();\r\n this.onChangedSubscription.unsubscribe();\r\n }\r\n\r\n /**\r\n * Retrieves an item by its key.\r\n * @param {any} key\r\n */\r\n getItemByKey(key: any): Promise<any> | any {\r\n const startTime = Date.now();\r\n\r\n const check = async () => {\r\n while (Date.now() - startTime < 2000) {\r\n if (typeof this._listDataSource.find === 'function') {\r\n return this._listDataSource.find(key);\r\n } else {\r\n await new Promise((resolve) => setTimeout(resolve, 50));\r\n }\r\n }\r\n console.warn('Timeout reached without finding the \"getItemByKey\" method');\r\n };\r\n return check();\r\n }\r\n\r\n /** @ignore */\r\n protected _handleOnOpenedEvent(e: AXEvent) {\r\n if (!this.renderList) {\r\n this.renderList = true;\r\n this.list?.render();\r\n } else if (!this._listDataSource.totalCount || this._listDataSource.totalCount == 0) {\r\n this.list?.refresh(false);\r\n }\r\n this._handleFocus();\r\n //\r\n this.onOpened.emit({\r\n component: this,\r\n isUserInteraction: e.isUserInteraction,\r\n });\r\n }\r\n\r\n /** @ignore */\r\n protected _handleOnClosedEvent(e: AXEvent) {\r\n //this.input.focus();\r\n this.onClosed.emit({\r\n component: this,\r\n isUserInteraction: e.isUserInteraction,\r\n });\r\n this._unsubscriber.unsubscribe();\r\n }\r\n\r\n /** @ignore */\r\n protected _handleFocus() {\r\n setTimeout(() => {\r\n if (this.searchBox) {\r\n this.searchBox.look = 'flat';\r\n if (this.searchBoxAutoFocus()) {\r\n this.searchBox.focus();\r\n }\r\n //TODO: unsubscribe\r\n this.hotKeyService\r\n .addShortcut({ keys: 'Control.f', element: this.panel.nativeElement })\r\n .pipe(this._unsubscriber.takeUntilDestroy)\r\n .subscribe(() => {\r\n this.searchBox.focus();\r\n });\r\n this.searchBox.onKeyDown.pipe(this._unsubscriber.takeUntilDestroy).subscribe((e) => {\r\n if (e.nativeEvent.code === 'ArrowDown' || e.nativeEvent.key === 'ArrowDown') {\r\n this.list?.focus();\r\n e.nativeEvent.preventDefault();\r\n }\r\n });\r\n } else {\r\n this.list?.focus();\r\n }\r\n });\r\n }\r\n\r\n /** @ignore */\r\n protected _handleBadgeRemove(e: MouseEvent, item) {\r\n this.unselectItems(item);\r\n e.stopPropagation();\r\n }\r\n\r\n /** @ignore */\r\n protected _handleValueChanged(e: AXValueChangedEvent) {\r\n if (e.isUserInteraction) {\r\n if (!this.multiple) {\r\n this.close();\r\n }\r\n this.commitValue(e.component.selectedItems, true);\r\n }\r\n }\r\n\r\n /** @ignore */\r\n private setDropdownSize(count = 0) {\r\n if (this.dropdown.isActionsheetStyle) {\r\n this.dropdownSizes = {\r\n width: '100%',\r\n height: ['auto', '0px'].includes(this.dropdownSizes.height) ? `${Math.min(15, count) * 40}px` : this.dropdownSizes.height,\r\n };\r\n } else {\r\n //TODO: calc min-with from formula or config\r\n const hostWidth = Math.max(this.getHostElement().offsetWidth, this.dropdownWidth);\r\n this.dropdownSizes = {\r\n width: `${hostWidth}px`,\r\n height: count == 0 ? 'auto' : `${Math.min(5, count) * 40}px`,\r\n };\r\n }\r\n setTimeout(() => {\r\n this.dropdown.updatePosition();\r\n });\r\n }\r\n\r\n /** @ignore */\r\n @HostListener('keydown', ['$event'])\r\n _handleKeydown(e: KeyboardEvent) {\r\n if (e.code === 'ArrowDown' || e.code === 'ArrowUp') {\r\n this.selectItemByNav(e.code === 'ArrowDown' ? 1 : -1);\r\n e.preventDefault();\r\n } else if (e.code === 'Backspace') {\r\n this.unselectItems(this.selectedItems.pop());\r\n e.preventDefault();\r\n }\r\n // if ((e.code === 'Space' || e.code === 'Enter') && this.hasItems) {\r\n // if (this.readonly || this.disabled) {\r\n // e.preventDefault();\r\n // e.stopPropagation();\r\n // return;\r\n // }\r\n // const id = document.activeElement?.closest('li')?.dataset?.id;\r\n // this.toggleSelect(id);\r\n // e.preventDefault();\r\n // e.stopPropagation()\r\n // }\r\n }\r\n\r\n /** @ignore */\r\n private selectItemByNav(sign: 1 | -1) {\r\n if (Array.isArray(this.dataSource) && !this.multiple) {\r\n const items = this.normalizeItemsList(this.dataSource);\r\n const _last: any = last(this.selectedItems);\r\n let i = -1;\r\n if (_last) {\r\n i = findLastIndex(items, [this.valueField, _last[this.valueField]]);\r\n }\r\n i += sign;\r\n if (i < 0 || i >= items.length) return;\r\n const next = nth<any>(items, i);\r\n if (next) {\r\n this.selectItems(next);\r\n }\r\n } else {\r\n this.open();\r\n }\r\n }\r\n\r\n /**\r\n * Filters the data source based on the provided search term.\r\n * @param {string} term\r\n */\r\n search(term: string) {\r\n this.searchValue.set(term);\r\n if (term) {\r\n this._listDataSource.filter({\r\n field: this.textField,\r\n value: term,\r\n operator: { type: 'contains' },\r\n });\r\n } else {\r\n this._listDataSource.clearFilter();\r\n }\r\n this._listDataSource.refresh();\r\n }\r\n\r\n /**\r\n * Refreshes the component by resetting state, clearing selection cache, refreshing the list, and closing the component.\r\n */\r\n refresh() {\r\n this.reset(false);\r\n this.clearSelectionCache();\r\n this.list?.refresh();\r\n this.close();\r\n }\r\n}\r\n","<ax-dropdown-box\r\n [class.ax-state-multiple]=\"multiple\"\r\n (onOpened)=\"_handleOnOpenedEvent($event)\"\r\n (onClosed)=\"_handleOnClosedEvent($event)\"\r\n (focus)=\"emitOnFocusEvent($event)\"\r\n (blur)=\"emitOnBlurEvent($event)\"\r\n [disabled]=\"disabled\"\r\n [look]=\"look\"\r\n>\r\n <ng-container input>\r\n <ng-content select=\"ax-prefix\"> </ng-content>\r\n <div class=\"ax-editor ax-chips-container ax-content ax-input\" [class.ax-state-multiple]=\"multiple\" [tabindex]=\"tabIndex\" (click)=\"toggle()\">\r\n @if (selectedItems.length === 0) {\r\n <div class=\"ax-placeholder\" role=\"textbox\" area-readonly=\"true\">\r\n {{ placeholder }}\r\n </div>\r\n }\r\n @for (item of selectedItems; track $index) {\r\n @if (selectedTemplate) {\r\n <ng-template *ngTemplateOutlet=\"selectedTemplate; context: { $implicit: { data: item } }\"></ng-template>\r\n } @else {\r\n <div class=\"ax-chips\">\r\n {{ getDisplayText(item) }}\r\n @if (!disabled && !readonly && multiple) {\r\n <span class=\"ax-icon ax-icon-close\" (click)=\"_handleBadgeRemove($event, item)\"> </span>\r\n }\r\n </div>\r\n }\r\n }\r\n </div>\r\n @if (selectedItems?.length && !disabled && !readonly) {\r\n <ng-content select=\"ax-clear-button\"></ng-content>\r\n }\r\n <button type=\"button\" [disabled]=\"disabled\" [tabIndex]=\"-1\" class=\"ax-editor-button\" (click)=\"toggle()\">\r\n <span\r\n class=\"ax-icon\"\r\n [ngClass]=\"{\r\n 'ax-icon-chevron-down': !isOpen,\r\n 'ax-icon-chevron-up': isOpen,\r\n }\"\r\n ></span>\r\n </button>\r\n <ng-content select=\"ax-suffix\"> </ng-content>\r\n <ng-template #search>\r\n <ng-content select=\"ax-search-box\"> </ng-content>\r\n </ng-template>\r\n </ng-container>\r\n <ng-container panel>\r\n <div #panel class=\"ax-select-box-panel\" [style.min-width]=\"dropdownSizes.width\">\r\n @if (dropdown.isActionsheetStyle) {\r\n <ax-header class=\"ax-solid\">\r\n <ax-title>{{ caption || placeholder || 'selectbox.popover.title' | translate | async }}</ax-title>\r\n <ax-close-button [icon]=\"multiple ? 'ax-icon ax-icon-check' : 'ax-icon ax-icon-close'\"></ax-close-button>\r\n </ax-header>\r\n }\r\n @if (searchBox && (!minRecordsForSearch || _listDataSource.totalCount >= minRecordsForSearch || searchValue())) {\r\n <div class=\"ax-search-container\">\r\n <ng-template [ngTemplateOutlet]=\"search\"></ng-template>\r\n </div>\r\n }\r\n @if (renderList) {\r\n <ax-list\r\n [readonly]=\"readonly\"\r\n [dataSource]=\"_listDataSource\"\r\n [multiple]=\"multiple\"\r\n [style.height]=\"dropdownSizes.height\"\r\n [valueField]=\"valueField\"\r\n [textField]=\"textField\"\r\n [textTemplate]=\"textTemplate\"\r\n [emptyTemplate]=\"emptyTemplate ?? empty\"\r\n [itemTemplate]=\"itemTemplate\"\r\n [loadingTemplate]=\"loadingTemplate\"\r\n [ngModel]=\"value\"\r\n (onValueChanged)=\"_handleValueChanged($event)\"\r\n [selectionMode]=\"'item'\"\r\n >\r\n <ng-template #empty> {{ 'no-result-found' | translate | async }} </ng-template>\r\n </ax-list>\r\n }\r\n\r\n @if (isLoading()) {\r\n @if (loadingTemplate) {\r\n <ng-template *ngTemplateOutlet=\"loadingTemplate\"></ng-template>\r\n } @else {\r\n <div class=\"ax-select-box-loading-container\">\r\n <ax-loading></ax-loading>\r\n </div>\r\n }\r\n }\r\n\r\n <ng-content select=\"ax-footer\"> </ng-content>\r\n </div>\r\n </ng-container>\r\n</ax-dropdown-box>\r\n<ng-content select=\"ax-validation-rule\"> </ng-content>\r\n","import { AXBadgeModule } from '@acorex/components/badge';\nimport { AXCheckBoxModule } from '@acorex/components/check-box';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { AXCommonModule } from '@acorex/components/common';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXListModule } from '@acorex/components/list';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXSelectBoxComponent } from './select-box.component';\n\n@NgModule({\n imports: [\n CommonModule,\n AXCommonModule,\n FormsModule,\n AXCheckBoxModule,\n AXBadgeModule,\n AXDecoratorModule,\n AXTranslationModule,\n AXPopoverModule,\n AXLoadingModule,\n A11yModule,\n AXTextBoxModule,\n AXDropdownModule,\n AXListModule,\n AXSelectBoxComponent,\n ],\n exports: [AXSelectBoxComponent],\n providers: [],\n})\nexport class AXSelectBoxModule {}\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-select-box.mjs","sources":["../../../../libs/components/select-box/src/lib/select-box.component.ts","../../../../libs/components/select-box/src/lib/select-box.component.html","../../../../libs/components/select-box/src/lib/select-box.module.ts","../../../../libs/components/select-box/src/acorex-components-select-box.ts"],"sourcesContent":["import {\r\n AXClearableComponent,\r\n AXClosbaleComponent,\r\n AXComponent,\r\n AXDataSource,\r\n AXEvent,\r\n AXFocusableComponent,\r\n AXHotkeysService,\r\n AXSearchableComponent,\r\n AXValuableComponent,\r\n AXValueChangedEvent,\r\n AX_SELECTION_DATA_TOKEN,\r\n MXLookComponent,\r\n MXSelectionBridgeService,\r\n MXSelectionValueComponent,\r\n convertArrayToDataSource,\r\n} from '@acorex/components/common';\r\nimport { AXDecoratorCloseButtonComponent, AXDecoratorGenericComponent } from '@acorex/components/decorators';\r\nimport { AXDropdownBoxComponent, MXDropdownBoxBaseComponent } from '@acorex/components/dropdown';\r\nimport { AXListComponent } from '@acorex/components/list';\r\nimport { AXLoadingComponent } from '@acorex/components/loading';\r\nimport { AXSearchBoxComponent } from '@acorex/components/search-box';\r\nimport { AXTranslatorPipe } from '@acorex/core/translation';\r\nimport { AXUnsubscriber } from '@acorex/core/utils';\r\nimport { AsyncPipe, NgClass, NgTemplateOutlet } from '@angular/common';\r\nimport {\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n Component,\r\n ContentChild,\r\n ElementRef,\r\n HostListener,\r\n Input,\r\n OnDestroy,\r\n TemplateRef,\r\n ViewChild,\r\n ViewEncapsulation,\r\n WritableSignal,\r\n forwardRef,\r\n inject,\r\n input,\r\n signal,\r\n} from '@angular/core';\r\nimport { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { findLastIndex, last, nth } from 'lodash-es';\r\nimport { classes } from 'polytype';\r\nimport { Observable, Subscription } from 'rxjs';\r\n\r\n/**\r\n * The Button is a component which detects user interaction and triggers a corresponding event\r\n * @category\r\n */\r\n@Component({\r\n selector: 'ax-select-box',\r\n templateUrl: './select-box.component.html',\r\n styleUrl: './styles/index.scss',\r\n inputs: [\r\n 'disabled',\r\n 'readonly',\r\n 'tabIndex',\r\n 'placeholder',\r\n 'minValue',\r\n 'maxValue',\r\n 'value',\r\n 'state',\r\n 'name',\r\n 'id',\r\n 'type',\r\n 'look',\r\n 'multiple',\r\n 'valueField',\r\n 'textField',\r\n 'disabledField',\r\n 'textTemplate',\r\n 'selectedItems',\r\n ],\r\n outputs: ['valueChange', 'stateChange', 'onValueChanged', 'onBlur', 'onFocus', 'readonlyChange', 'disabledChange', 'onOpened', 'onClosed'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [\r\n { provide: AXComponent, useExisting: AXSelectBoxComponent },\r\n { provide: AXFocusableComponent, useExisting: AXSelectBoxComponent },\r\n { provide: AXValuableComponent, useExisting: AXSelectBoxComponent },\r\n { provide: AXClearableComponent, useExisting: AXSelectBoxComponent },\r\n { provide: AXClosbaleComponent, useExisting: AXSelectBoxComponent },\r\n { provide: AXSearchableComponent, useExisting: AXSelectBoxComponent },\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => AXSelectBoxComponent),\r\n multi: true,\r\n },\r\n {\r\n provide: AX_SELECTION_DATA_TOKEN,\r\n useClass: MXSelectionBridgeService,\r\n },\r\n AXUnsubscriber,\r\n ],\r\n host: { ngSkipHydration: 'true' },\r\n imports: [\r\n AXDropdownBoxComponent,\r\n NgTemplateOutlet,\r\n NgClass,\r\n AXDecoratorGenericComponent,\r\n AXDecoratorCloseButtonComponent,\r\n AXListComponent,\r\n FormsModule,\r\n AXLoadingComponent,\r\n AsyncPipe,\r\n AXTranslatorPipe,\r\n ],\r\n})\r\nexport class AXSelectBoxComponent extends classes(MXDropdownBoxBaseComponent, MXSelectionValueComponent, MXLookComponent) implements AfterViewInit, OnDestroy {\r\n /** @ignore */\r\n private hotKeyService: AXHotkeysService = inject(AXHotkeysService);\r\n\r\n /** @ignore */\r\n protected isLoading: WritableSignal<boolean> = signal(false);\r\n\r\n /** @ignore */\r\n protected searchValue: WritableSignal<string> = signal('');\r\n\r\n /** @ignore */\r\n protected renderList = false;\r\n\r\n /** @ignore */\r\n protected dropdownSizes: { width: string; height: string } = {\r\n width: '100%',\r\n height: 'auto',\r\n };\r\n\r\n /** @ignore */\r\n protected _listDataSource: AXDataSource<any> = convertArrayToDataSource([], {\r\n key: this.valueField,\r\n pageSize: 10,\r\n });\r\n\r\n /** @ignore */\r\n private _dataSource: AXDataSource<any> | any[];\r\n\r\n /** @ignore */\r\n private onChangedSubscription: Subscription;\r\n\r\n /**\r\n * Gets the data source for the component, which can be either an `AXDataSource` or an array of items.\r\n * @returns {AXDataSource<any> | any[]}\r\n */\r\n public get dataSource(): AXDataSource<any> | any[] {\r\n return this._dataSource;\r\n }\r\n\r\n /**\r\n * Sets the data source, either as an `AXDataSource` or an array.\r\n * @param {AXDataSource<any> | any[]} v\r\n */\r\n @Input()\r\n\r\n /**\r\n * Sets the data source, either as `AXDataSource` or an array. Converts arrays to `AXDataSource` and subscribes to data and loading changes.\r\n * @param {AXDataSource<any> | any[]} v\r\n */\r\n public set dataSource(v: AXDataSource<any> | any[]) {\r\n this._dataSource = v;\r\n if (Array.isArray(v)) {\r\n this._listDataSource = convertArrayToDataSource(v, {\r\n key: this.valueField,\r\n pageSize: 10,\r\n });\r\n } else {\r\n this._listDataSource = this.dataSource as AXDataSource<any>;\r\n }\r\n //\r\n //\r\n this.onChangedSubscription = this._listDataSource.onChanged.subscribe((data) => {\r\n this.setDropdownSize(data.totalCount);\r\n });\r\n this._listDataSource.onLoadingChanged.pipe(this._unsubscriber.takeUntilDestroy).subscribe((loading) => {\r\n this.isLoading.set(loading);\r\n });\r\n }\r\n\r\n /**\r\n * The placeholder text displayed when the component is empty.\r\n * @param {string} placeholder\r\n */\r\n @Input()\r\n placeholder: string;\r\n\r\n /**\r\n * The minRecordsForSearch defines the minimum number of records required to display the search box.\r\n * @param {number} minRecordsForSearch\r\n */\r\n @Input()\r\n minRecordsForSearch: number;\r\n\r\n /**\r\n * The caption text to be displayed in the component.\r\n * @param {string} caption\r\n */\r\n @Input()\r\n caption: string;\r\n\r\n /**\r\n * The template used to customize the rendering of items.\r\n * @param {TemplateRef<any>} itemTemplate\r\n */\r\n @Input()\r\n itemTemplate: TemplateRef<any>;\r\n\r\n /**\r\n * The template used to customize the rendering of selected items.\r\n * @param {TemplateRef<any>} selectedTemplate\r\n */\r\n @Input()\r\n selectedTemplate: TemplateRef<any>;\r\n\r\n /**\r\n * The template used to display when there are no items.\r\n * @param {TemplateRef<any>} emptyTemplate\r\n */\r\n @Input()\r\n emptyTemplate: TemplateRef<any>;\r\n\r\n /**\r\n * The template used to display while loading.\r\n * @param {TemplateRef<any>} loadingTemplate\r\n */\r\n @Input()\r\n loadingTemplate: TemplateRef<any>;\r\n\r\n /**\r\n * The width of the dropdown in pixels.\r\n * @defaultValue 260\r\n */\r\n @Input()\r\n dropdownWidth = 260;\r\n\r\n /** @ignore */\r\n @ViewChild('panel') panel!: ElementRef<HTMLDivElement>;\r\n\r\n /** @ignore */\r\n @ViewChild(AXListComponent)\r\n list: AXListComponent;\r\n\r\n /** @ignore */\r\n @ContentChild(AXSearchBoxComponent)\r\n searchBox: AXSearchBoxComponent;\r\n\r\n searchBoxAutoFocus = input(true);\r\n\r\n /** @ignore */\r\n @ViewChild(AXDropdownBoxComponent, { static: true })\r\n protected dropdown: AXDropdownBoxComponent;\r\n\r\n /**\r\n * Service for managing selection data, injected via `AX_SELECTION_DATA_TOKEN`.\r\n */\r\n public selectionService = inject(AX_SELECTION_DATA_TOKEN);\r\n\r\n searchEvent: Observable<any>;\r\n\r\n /** @ignore */\r\n private _unsubscriber = inject(AXUnsubscriber);\r\n\r\n /** @ignore */\r\n protected override ngOnInit(): void {\r\n super.ngOnInit();\r\n //\r\n this.registerValidation();\r\n }\r\n\r\n /** @ignore */\r\n ngAfterViewInit() {\r\n this.setDropdownSize();\r\n }\r\n\r\n /** @ignore */\r\n override ngOnDestroy(): void {\r\n this.searchBox?.onKeyDown.unsubscribe();\r\n this.onChangedSubscription.unsubscribe();\r\n }\r\n\r\n /**\r\n * Retrieves an item by its key.\r\n * @param {any} key\r\n */\r\n getItemByKey(key: any): Promise<any> | any {\r\n const startTime = Date.now();\r\n\r\n const check = async () => {\r\n while (Date.now() - startTime < 2000) {\r\n if (typeof this._listDataSource.find === 'function') {\r\n return this._listDataSource.find(key);\r\n } else {\r\n await new Promise((resolve) => setTimeout(resolve, 50));\r\n }\r\n }\r\n console.warn('Timeout reached without finding the \"getItemByKey\" method');\r\n };\r\n return check();\r\n }\r\n\r\n /** @ignore */\r\n protected _handleOnOpenedEvent(e: AXEvent) {\r\n if (!this.renderList) {\r\n this.renderList = true;\r\n this.list?.render();\r\n } else if (!this._listDataSource.totalCount || this._listDataSource.totalCount == 0) {\r\n this.list?.refresh(false);\r\n }\r\n this._handleFocus();\r\n //\r\n this.onOpened.emit({\r\n component: this,\r\n isUserInteraction: e.isUserInteraction,\r\n });\r\n }\r\n\r\n /** @ignore */\r\n protected _handleOnClosedEvent(e: AXEvent) {\r\n //this.input.focus();\r\n this.onClosed.emit({\r\n component: this,\r\n isUserInteraction: e.isUserInteraction,\r\n });\r\n this._unsubscriber.unsubscribe();\r\n }\r\n\r\n /** @ignore */\r\n protected _handleFocus() {\r\n setTimeout(() => {\r\n if (this.searchBox) {\r\n this.searchBox.look = 'flat';\r\n if (this.searchBoxAutoFocus()) {\r\n this.searchBox.focus();\r\n }\r\n //TODO: unsubscribe\r\n this.hotKeyService\r\n .addShortcut({ keys: 'Control.f', element: this.panel.nativeElement })\r\n .pipe(this._unsubscriber.takeUntilDestroy)\r\n .subscribe(() => {\r\n this.searchBox.focus();\r\n });\r\n this.searchBox.onKeyDown.pipe(this._unsubscriber.takeUntilDestroy).subscribe((e) => {\r\n if (e.nativeEvent.code === 'ArrowDown' || e.nativeEvent.key === 'ArrowDown') {\r\n this.list?.focus();\r\n e.nativeEvent.preventDefault();\r\n }\r\n });\r\n } else {\r\n this.list?.focus();\r\n }\r\n });\r\n }\r\n\r\n /** @ignore */\r\n protected _handleBadgeRemove(e: MouseEvent, item) {\r\n this.unselectItems(item);\r\n e.stopPropagation();\r\n }\r\n\r\n /** @ignore */\r\n protected _handleValueChanged(e: AXValueChangedEvent) {\r\n if (e.isUserInteraction) {\r\n if (!this.multiple) {\r\n this.close();\r\n }\r\n this.commitValue(e.component.selectedItems, true);\r\n }\r\n }\r\n\r\n /** @ignore */\r\n private setDropdownSize(count = 0) {\r\n if (this.dropdown.isActionsheetStyle) {\r\n this.dropdownSizes = {\r\n width: '100%',\r\n height: ['auto', '0px'].includes(this.dropdownSizes.height) ? `${Math.min(15, count) * 40}px` : this.dropdownSizes.height,\r\n };\r\n } else {\r\n //TODO: calc min-with from formula or config\r\n const hostWidth = Math.max(this.getHostElement().offsetWidth, this.dropdownWidth);\r\n this.dropdownSizes = {\r\n width: `${hostWidth}px`,\r\n height: count == 0 ? 'auto' : `${Math.min(5, count) * 40}px`,\r\n };\r\n }\r\n setTimeout(() => {\r\n this.dropdown.updatePosition();\r\n });\r\n }\r\n\r\n /** @ignore */\r\n @HostListener('keydown', ['$event'])\r\n _handleKeydown(e: KeyboardEvent) {\r\n if (e.code === 'ArrowDown' || e.code === 'ArrowUp') {\r\n this.selectItemByNav(e.code === 'ArrowDown' ? 1 : -1);\r\n e.preventDefault();\r\n } else if (e.code === 'Backspace') {\r\n this.unselectItems(this.selectedItems.pop());\r\n e.preventDefault();\r\n }\r\n // if ((e.code === 'Space' || e.code === 'Enter') && this.hasItems) {\r\n // if (this.readonly || this.disabled) {\r\n // e.preventDefault();\r\n // e.stopPropagation();\r\n // return;\r\n // }\r\n // const id = document.activeElement?.closest('li')?.dataset?.id;\r\n // this.toggleSelect(id);\r\n // e.preventDefault();\r\n // e.stopPropagation()\r\n // }\r\n }\r\n\r\n /** @ignore */\r\n private selectItemByNav(sign: 1 | -1) {\r\n if (Array.isArray(this.dataSource) && !this.multiple) {\r\n const items = this.normalizeItemsList(this.dataSource);\r\n const _last: any = last(this.selectedItems);\r\n let i = -1;\r\n if (_last) {\r\n i = findLastIndex(items, [this.valueField, _last[this.valueField]]);\r\n }\r\n i += sign;\r\n if (i < 0 || i >= items.length) return;\r\n const next = nth<any>(items, i);\r\n if (next) {\r\n this.selectItems(next);\r\n }\r\n } else {\r\n this.open();\r\n }\r\n }\r\n\r\n /**\r\n * Filters the data source based on the provided search term.\r\n * @param {string} term\r\n */\r\n search(term: string) {\r\n this.searchValue.set(term);\r\n if (term) {\r\n this._listDataSource.filter({\r\n field: this.textField,\r\n value: term,\r\n operator: { type: 'contains' },\r\n });\r\n } else {\r\n this._listDataSource.clearFilter();\r\n }\r\n this._listDataSource.refresh();\r\n }\r\n\r\n /**\r\n * Refreshes the component by resetting state, clearing selection cache, refreshing the list, and closing the component.\r\n */\r\n refresh() {\r\n this.reset(false);\r\n this.clearSelectionCache();\r\n this.list?.refresh();\r\n this.close();\r\n }\r\n}\r\n","<ax-dropdown-box\r\n [class.ax-state-multiple]=\"multiple\"\r\n (onOpened)=\"_handleOnOpenedEvent($event)\"\r\n (onClosed)=\"_handleOnClosedEvent($event)\"\r\n (focus)=\"emitOnFocusEvent($event)\"\r\n (blur)=\"emitOnBlurEvent($event)\"\r\n [disabled]=\"disabled\"\r\n [look]=\"look\"\r\n>\r\n <ng-container input>\r\n <ng-content select=\"ax-prefix\"> </ng-content>\r\n <div class=\"ax-editor ax-chips-container ax-content ax-input\" [class.ax-state-multiple]=\"multiple\" [tabindex]=\"tabIndex\" (click)=\"toggle()\">\r\n @if (selectedItems.length === 0) {\r\n <div class=\"ax-placeholder\" role=\"textbox\" area-readonly=\"true\">\r\n {{ placeholder }}\r\n </div>\r\n }\r\n @for (item of selectedItems; track $index) {\r\n @if (selectedTemplate) {\r\n <ng-template *ngTemplateOutlet=\"selectedTemplate; context: { $implicit: { data: item } }\"></ng-template>\r\n } @else {\r\n <div class=\"ax-chips\">\r\n {{ getDisplayText(item) }}\r\n @if (!disabled && !readonly && multiple) {\r\n <span class=\"ax-icon ax-icon-close\" (click)=\"_handleBadgeRemove($event, item)\"> </span>\r\n }\r\n </div>\r\n }\r\n }\r\n </div>\r\n @if (selectedItems?.length && !disabled && !readonly) {\r\n <ng-content select=\"ax-clear-button\"></ng-content>\r\n }\r\n <button type=\"button\" [disabled]=\"disabled\" [tabIndex]=\"-1\" class=\"ax-editor-button\" (click)=\"toggle()\">\r\n <span\r\n class=\"ax-icon\"\r\n [ngClass]=\"{\r\n 'ax-icon-chevron-down': !isOpen,\r\n 'ax-icon-chevron-up': isOpen,\r\n }\"\r\n ></span>\r\n </button>\r\n <ng-content select=\"ax-suffix\"> </ng-content>\r\n <ng-template #search>\r\n <ng-content select=\"ax-search-box\"> </ng-content>\r\n </ng-template>\r\n </ng-container>\r\n <ng-container panel>\r\n <div #panel class=\"ax-select-box-panel\" [style.min-width]=\"dropdownSizes.width\">\r\n @if (dropdown.isActionsheetStyle) {\r\n <ax-header class=\"ax-solid\">\r\n <ax-title>{{ caption || placeholder || 'selectbox.popover.title' | translate | async }}</ax-title>\r\n <ax-close-button [icon]=\"multiple ? 'ax-icon ax-icon-check' : 'ax-icon ax-icon-close'\"></ax-close-button>\r\n </ax-header>\r\n }\r\n @if (searchBox && (!minRecordsForSearch || _listDataSource.totalCount >= minRecordsForSearch || searchValue())) {\r\n <div class=\"ax-search-container\">\r\n <ng-template [ngTemplateOutlet]=\"search\"></ng-template>\r\n </div>\r\n }\r\n @if (renderList) {\r\n <ax-list\r\n [readonly]=\"readonly\"\r\n [dataSource]=\"_listDataSource\"\r\n [multiple]=\"multiple\"\r\n [style.height]=\"dropdownSizes.height\"\r\n [valueField]=\"valueField\"\r\n [textField]=\"textField\"\r\n [textTemplate]=\"textTemplate\"\r\n [emptyTemplate]=\"emptyTemplate ?? empty\"\r\n [itemTemplate]=\"itemTemplate\"\r\n [loadingTemplate]=\"loadingTemplate\"\r\n [ngModel]=\"value\"\r\n (onValueChanged)=\"_handleValueChanged($event)\"\r\n [selectionMode]=\"'item'\"\r\n >\r\n <ng-template #empty> {{ 'no-result-found' | translate | async }} </ng-template>\r\n </ax-list>\r\n }\r\n\r\n @if (isLoading()) {\r\n @if (loadingTemplate) {\r\n <ng-template *ngTemplateOutlet=\"loadingTemplate\"></ng-template>\r\n } @else {\r\n <div class=\"ax-select-box-loading-container\">\r\n <ax-loading></ax-loading>\r\n </div>\r\n }\r\n }\r\n\r\n <ng-content select=\"ax-footer\"> </ng-content>\r\n </div>\r\n </ng-container>\r\n</ax-dropdown-box>\r\n<ng-content select=\"ax-validation-rule\"> </ng-content>\r\n","import { AXBadgeModule } from '@acorex/components/badge';\nimport { AXCheckBoxModule } from '@acorex/components/check-box';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { AXCommonModule } from '@acorex/components/common';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXListModule } from '@acorex/components/list';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXSelectBoxComponent } from './select-box.component';\n\n@NgModule({\n imports: [\n CommonModule,\n AXCommonModule,\n FormsModule,\n AXCheckBoxModule,\n AXBadgeModule,\n AXDecoratorModule,\n AXTranslationModule,\n AXPopoverModule,\n AXLoadingModule,\n A11yModule,\n AXTextBoxModule,\n AXDropdownModule,\n AXListModule,\n AXSelectBoxComponent,\n ],\n exports: [AXSelectBoxComponent],\n providers: [],\n})\nexport class AXSelectBoxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
@@ -102,7 +102,7 @@ class AXTabItemComponent extends MXInteractiveComponent {
|
|
102
102
|
};
|
103
103
|
}
|
104
104
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: AXTabItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
105
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.1", type: AXTabItemComponent, isStandalone: true, selector: "ax-tab-item", inputs: { disabled: "disabled", text: "text", key: "key", headerTemplate: "headerTemplate", active: "active" }, outputs: { disabledChange: "disabledChange", onClick: "onClick", onBlur: "onBlur", onFocus: "onFocus", activeChange: "activeChange" }, host: { listeners: { "click": "__hostClick($event)" } }, viewQueries: [{ propertyName: "template", first: true, predicate: ["content"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
|
105
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.1", type: AXTabItemComponent, isStandalone: true, selector: "ax-tab-item", inputs: { disabled: "disabled", text: "text", key: "key", headerTemplate: "headerTemplate", active: "active" }, outputs: { disabledChange: "disabledChange", onClick: "onClick", onBlur: "onBlur", onFocus: "onFocus", activeChange: "activeChange" }, host: { attributes: { "ngSkipHydration": "true" }, listeners: { "click": "__hostClick($event)" } }, viewQueries: [{ propertyName: "template", first: true, predicate: ["content"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
|
106
106
|
@if (headerTemplate) {
|
107
107
|
<ng-container
|
108
108
|
[ngTemplateOutlet]="headerTemplate"
|
@@ -155,6 +155,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImpor
|
|
155
155
|
encapsulation: ViewEncapsulation.None,
|
156
156
|
inputs: ['disabled'],
|
157
157
|
outputs: ['disabledChange', 'onClick', 'onBlur', 'onFocus'],
|
158
|
+
host: { ngSkipHydration: 'true' },
|
158
159
|
imports: [NgTemplateOutlet],
|
159
160
|
}]
|
160
161
|
}], propDecorators: { text: [{
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"acorex-components-tabs.mjs","sources":["../../../../libs/components/tabs/src/lib/tab-content.directive.ts","../../../../libs/components/tabs/src/lib/tab-item.component.ts","../../../../libs/components/tabs/src/lib/tabs.class.ts","../../../../libs/components/tabs/src/lib/tabs.component.ts","../../../../libs/components/tabs/src/lib/tabs.module.ts","../../../../libs/components/tabs/src/acorex-components-tabs.ts"],"sourcesContent":["import { Directive, TemplateRef, ViewContainerRef } from '@angular/core';\n\n@Directive({\n selector: '[axTabContent]',\n exportAs: 'axTabContent',\n inputs: ['portal: axTabContent'],\n})\nexport class AXTabContentDirective {\n constructor(private _viewContainerRef: ViewContainerRef) {}\n\n private _portal: TemplateRef<any> | undefined;\n public get portal(): TemplateRef<any> | undefined {\n return this._portal;\n }\n public set portal(v: TemplateRef<any> | undefined) {\n if (v) {\n this._portal = v;\n this._viewContainerRef.clear();\n this._viewContainerRef.createEmbeddedView(v, null, 0);\n }\n }\n}\n","import { AXClickEvent, MXComponentOptionChanged, MXInteractiveComponent } from '@acorex/components/common';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, EventEmitter, HostListener, Input, Output, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core';\n\n/**\n * @category\n * Represents an individual tab item in a tab component.\n */\n@Component({\n selector: 'ax-tab-item',\n template: `\n @if (headerTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"headerTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: {\n text: this.text,\n key: this.key,\n active: this.active,\n disabled: this.disabled,\n },\n }\"\n ></ng-container>\n } @else {\n <ng-content select=\"ax-prefix\"></ng-content>\n <div class=\"ax-tab-item-text\">{{ text }}</div>\n <ng-content select=\"ax-suffix\"></ng-content>\n }\n <ng-template #content>\n <ng-content select=\"ax-content\"> </ng-content>\n </ng-template>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n inputs: ['disabled'],\n outputs: ['disabledChange', 'onClick', 'onBlur', 'onFocus'],\n imports: [NgTemplateOutlet],\n})\nexport class AXTabItemComponent extends MXInteractiveComponent {\n /**\n * Defines the text content to be displayed within the component.\n */\n @Input()\n text: string;\n\n /**\n * Defines a unique identifier for the component instance.\n */\n @Input()\n key: string;\n\n @ViewChild('content')\n template: TemplateRef<unknown>;\n\n /**\n * Defines a custom template for the component's header.\n */\n @Input()\n headerTemplate: TemplateRef<unknown>;\n\n /**\n * Emits an event when the `active` state of the component changes.\n * @event\n */\n @Output()\n activeChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /**\n * Emits an event when the component is clicked.\n * @event\n */\n @Output()\n onClick: EventEmitter<AXClickEvent> = new EventEmitter<AXClickEvent>();\n\n /** @ignore */\n private _active = false;\n\n /**\n * Gets or sets the component's active state, controlling its behavior and appearance.\n * @param value {boolean}\n */\n @Input()\n public get active(): boolean {\n return this._active;\n }\n public set active(value: boolean) {\n this.setOption({\n name: 'active',\n value,\n afterCallback: () => {\n this.cdr.markForCheck();\n },\n });\n }\n\n /**\n * @ignore\n */\n @HostListener('click', ['$event'])\n private __hostClick(e: MouseEvent) {\n if (!this.disabled) {\n this.getHostElement().scrollIntoView({ behavior: 'smooth', block: 'nearest', inline: 'center' });\n this.onClick.emit({\n component: this,\n htmlElement: this.getHostElement(),\n nativeEvent: e,\n });\n }\n }\n\n /**\n * @ignore\n */\n protected override internalOptionChanged(option: MXComponentOptionChanged<any>): void {\n //TODO: change to hostbind\n const classListRef = this.getHostElement().classList;\n if (option.name == 'disabled') {\n option.value ? classListRef.add('ax-state-disabled') : classListRef.remove('ax-state-disabled');\n }\n if (option.name == 'active') {\n option.value ? classListRef.add('ax-state-active') : classListRef.remove('ax-state-active');\n }\n }\n\n getStats() {\n return {\n width: this.getHostElement().clientWidth,\n height: this.getHostElement().clientHeight,\n left: this.getHostElement().offsetLeft,\n top: this.getHostElement().offsetTop,\n };\n }\n}\n","import { AXEvent } from '@acorex/components/common';\nimport { AXTabItemComponent } from './tab-item.component';\n\nexport class AXTabStripChangedEvent extends AXEvent {\n tab: AXTabItemComponent;\n index: number;\n}\n\nexport type AXTabLook = 'default' | 'pills' | 'pills-color' | 'with-line' | 'with-line-color' | 'classic' | 'custom';\n\nexport type AXTabLocation = 'top' | 'bottom' | 'start' | 'end';\n","import { MXBaseComponent } from '@acorex/components/common';\nimport { isPlatformBrowser } from '@angular/common';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n effect,\n ElementRef,\n EventEmitter,\n HostBinding,\n inject,\n input,\n Input,\n NgZone,\n Output,\n PLATFORM_ID,\n QueryList,\n signal,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXTabContentDirective } from './tab-content.directive';\nimport { AXTabItemComponent } from './tab-item.component';\nimport { AXTabLocation, AXTabLook, AXTabStripChangedEvent } from './tabs.class';\n\n/**\n * @category\n * A component that serves as a container for tab items.\n */\n@Component({\n selector: 'ax-tabs',\n template: `<ng-content select=\"ax-tab-item\"></ng-content><span class=\"ax-tab-indicator\" #indicator></span>`,\n styleUrl: './tabs.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXTabsComponent extends MXBaseComponent implements AfterViewInit, AfterContentInit {\n /**\n * @ignore\n */\n @ContentChildren(AXTabItemComponent)\n private _contentTabs!: QueryList<AXTabItemComponent>;\n\n /**\n * Sets the appearance style of the tab component.\n * @defaultValue 'default'\n */\n look = input<AXTabLook>('default');\n\n /**\n * Specifies the position of the tab component.\n * @defaultValue 'bottom'\n */\n location = input<AXTabLocation>('bottom');\n\n /**\n * @defaultValue 'false'\n * Specifies whether the component should resize to fit its parent container.\n */\n @Input()\n fitParent = false;\n\n /**\n * @defaultValue 'false'\n * Applies a minimum width constraint to the component.\n */\n @Input()\n minWidth = false;\n\n /**\n * The `AXTabContentDirective` associated with the tab.\n */\n @Input()\n content!: AXTabContentDirective;\n\n private indicator = viewChild<ElementRef<HTMLSpanElement>>('indicator');\n\n private zone = inject(NgZone);\n private platformId = inject(PLATFORM_ID);\n\n /** @ignore */\n private _isUserInteraction = false;\n\n get items(): AXTabItemComponent[] {\n return this._contentTabs.toArray();\n }\n\n /** @ignore */\n private _selectedItem!: AXTabItemComponent;\n\n /** @ignore */\n get selectedIndex(): number {\n return this.items.indexOf(this._selectedItem);\n }\n\n /** @ignore */\n get selectedItem(): AXTabItemComponent {\n return this._selectedItem;\n }\n\n private changes: ResizeObserver;\n private activeTab = signal<AXTabItemComponent>(null);\n\n #tabChange = effect(() => {\n if (this.activeTab() && this.location()) {\n if (this.look() === 'with-line-color' || this.look() === 'with-line') {\n setTimeout(() => {\n this.setIndicatorPosition(this.activeTab());\n });\n }\n }\n });\n\n /**\n * @event\n */\n @Output()\n onActiveTabChanged: EventEmitter<AXTabStripChangedEvent> = new EventEmitter<AXTabStripChangedEvent>();\n\n /** @ignore */\n @HostBinding('class')\n private get __hostClass(): string[] {\n const cssClasses: string[] = [];\n cssClasses.push(`ax-${this.look()}`);\n cssClasses.push(`ax-${this.location()}`);\n if (this.fitParent) cssClasses.push(`ax-tabs-fit`);\n return cssClasses;\n }\n\n /** @ignore */\n ngAfterContentInit() {\n this._contentTabs.changes.subscribe(() => {\n this._bindOnClickEvent();\n });\n }\n\n /** @ignore */\n ngAfterViewInit() {\n this._bindOnClickEvent();\n if (isPlatformBrowser(this.platformId)) {\n this.zone.runOutsideAngular(() => {\n this.changes = new ResizeObserver((entries) => {\n if (entries[0].contentRect.width) {\n this.setIndicatorPosition(this.activeTab());\n this.changes.disconnect();\n }\n });\n if (this.activeTab()) this.changes.observe(this.activeTab().getHostElement());\n });\n }\n }\n\n /** @ignore */\n private _bindOnClickEvent() {\n const selected = this.items.find((c) => c.active) || this.items[0];\n this.select(selected);\n this.items.forEach((c) => {\n if (!c.onClick.length) {\n c.onClick.subscribe((t) => {\n this._isUserInteraction = t.nativeEvent?.isTrusted;\n this.select(c);\n });\n }\n });\n }\n\n /**\n * Activates the specified tab and updates the content.\n *\n * @param {number | AXTabItemComponent}\n */\n select(tab: number | AXTabItemComponent) {\n const tabItem: AXTabItemComponent = typeof tab == 'number' ? this.items[tab] : tab;\n this.activeTab.set(tabItem);\n //\n if (!tab || this.selectedItem == tabItem) return;\n this._selectedItem = tabItem;\n //\n this.items.forEach((c) => (c.active = false));\n tabItem.active = true;\n if (this.content) {\n this.content.portal = tabItem.template;\n }\n this.cdr.markForCheck();\n this.onActiveTabChanged.emit({\n component: this,\n isUserInteraction: this._isUserInteraction,\n tab: tabItem,\n index: this.selectedIndex,\n });\n this._isUserInteraction = false;\n }\n\n private setIndicatorPosition(tabItem: AXTabItemComponent) {\n const indicatorStyle = this.indicator().nativeElement.style;\n const itemStats = tabItem.getStats();\n if (this.location() === 'top' || this.location() === 'bottom') {\n indicatorStyle.width = `${itemStats.width}px`;\n indicatorStyle.height = `var(--ax-comp-tabs-indicator-size)`;\n indicatorStyle.left = `${itemStats.left}px`;\n indicatorStyle.right = `unset`;\n if (this.location() === 'top') {\n indicatorStyle.top = `0px`;\n indicatorStyle.bottom = `unset`;\n }\n if (this.location() === 'bottom') {\n indicatorStyle.top = `unset`;\n indicatorStyle.bottom = `0px`;\n }\n }\n if (this.location() === 'start' || this.location() === 'end') {\n indicatorStyle.width = ` var(--ax-comp-tabs-indicator-size)`;\n indicatorStyle.height = `${itemStats.height}px`;\n indicatorStyle.top = `${itemStats.top}px`;\n indicatorStyle.bottom = `unset`;\n if (this.location() === 'start') {\n indicatorStyle.insetInlineStart = `0px`;\n indicatorStyle.insetInlineEnd = `unset`;\n }\n if (this.location() === 'end') {\n indicatorStyle.insetInlineStart = `unset`;\n indicatorStyle.insetInlineEnd = `0px`;\n }\n }\n }\n}\n","import { AXDecoratorModule } from '@acorex/components/decorators';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXTabContentDirective } from './tab-content.directive';\nimport { AXTabItemComponent } from './tab-item.component';\nimport { AXTabsComponent } from './tabs.component';\n\nconst COMPONENT = [AXTabsComponent, AXTabItemComponent, AXTabContentDirective];\nconst MODULES = [CommonModule, PortalModule, AXDecoratorModule];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXTabsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;MAOa,qBAAqB,CAAA;AAChC,IAAA,WAAA,CAAoB,iBAAmC,EAAA;QAAnC,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB;;AAGrC,IAAA,IAAW,MAAM,GAAA;QACf,OAAO,IAAI,CAAC,OAAO;;IAErB,IAAW,MAAM,CAAC,CAA+B,EAAA;QAC/C,IAAI,CAAC,EAAE;AACL,YAAA,IAAI,CAAC,OAAO,GAAG,CAAC;AAChB,YAAA,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE;YAC9B,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;;;8GAX9C,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,QAAA,CAAA,EAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBALjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,QAAQ,EAAE,cAAc;oBACxB,MAAM,EAAE,CAAC,sBAAsB,CAAC;AACjC,iBAAA;;;ACFD;;;AAGG;AA+BG,MAAO,kBAAmB,SAAQ,sBAAsB,CAAA;AA9B9D,IAAA,WAAA,GAAA;;AAoDE;;;AAGG;AAEH,QAAA,IAAA,CAAA,YAAY,GAA0B,IAAI,YAAY,EAAW;AAEjE;;;AAGG;AAEH,QAAA,IAAA,CAAA,OAAO,GAA+B,IAAI,YAAY,EAAgB;;QAG9D,IAAO,CAAA,OAAA,GAAG,KAAK;AAyDxB;AAvDC;;;AAGG;AACH,IAAA,IACW,MAAM,GAAA;QACf,OAAO,IAAI,CAAC,OAAO;;IAErB,IAAW,MAAM,CAAC,KAAc,EAAA;QAC9B,IAAI,CAAC,SAAS,CAAC;AACb,YAAA,IAAI,EAAE,QAAQ;YACd,KAAK;YACL,aAAa,EAAE,MAAK;AAClB,gBAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE;aACxB;AACF,SAAA,CAAC;;AAGJ;;AAEG;AAEK,IAAA,WAAW,CAAC,CAAa,EAAA;AAC/B,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,IAAI,CAAC,cAAc,EAAE,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AAChG,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;AAChB,gBAAA,SAAS,EAAE,IAAI;AACf,gBAAA,WAAW,EAAE,IAAI,CAAC,cAAc,EAAE;AAClC,gBAAA,WAAW,EAAE,CAAC;AACf,aAAA,CAAC;;;AAIN;;AAEG;AACgB,IAAA,qBAAqB,CAAC,MAAqC,EAAA;;QAE5E,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,SAAS;AACpD,QAAA,IAAI,MAAM,CAAC,IAAI,IAAI,UAAU,EAAE;YAC7B,MAAM,CAAC,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,mBAAmB,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,mBAAmB,CAAC;;AAEjG,QAAA,IAAI,MAAM,CAAC,IAAI,IAAI,QAAQ,EAAE;YAC3B,MAAM,CAAC,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,iBAAiB,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,iBAAiB,CAAC;;;IAI/F,QAAQ,GAAA;QACN,OAAO;AACL,YAAA,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,WAAW;AACxC,YAAA,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,YAAY;AAC1C,YAAA,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,UAAU;AACtC,YAAA,GAAG,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,SAAS;SACrC;;8GA5FQ,kBAAkB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,EA5BnB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,IAAA,EAAA,MAAA,EAAA,GAAA,EAAA,KAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,OAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA;;;;;;;;;;;;;;;;;;;;;AAqBT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAKS,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAEf,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBA9B9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,aAAa;AACvB,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;AAqBT,EAAA,CAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,MAAM,EAAE,CAAC,UAAU,CAAC;oBACpB,OAAO,EAAE,CAAC,gBAAgB,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC;oBAC3D,OAAO,EAAE,CAAC,gBAAgB,CAAC;AAC5B,iBAAA;8BAMC,IAAI,EAAA,CAAA;sBADH;gBAOD,GAAG,EAAA,CAAA;sBADF;gBAID,QAAQ,EAAA,CAAA;sBADP,SAAS;uBAAC,SAAS;gBAOpB,cAAc,EAAA,CAAA;sBADb;gBAQD,YAAY,EAAA,CAAA;sBADX;gBAQD,OAAO,EAAA,CAAA;sBADN;gBAWU,MAAM,EAAA,CAAA;sBADhB;gBAkBO,WAAW,EAAA,CAAA;sBADlB,YAAY;uBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;;;AC/F7B,MAAO,sBAAuB,SAAQ,OAAO,CAAA;AAGlD;;ACqBD;;;AAGG;AAQG,MAAO,eAAgB,SAAQ,eAAe,CAAA;AAPpD,IAAA,WAAA,GAAA;;AAcE;;;AAGG;AACH,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAY,SAAS,CAAC;AAElC;;;AAGG;AACH,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAgB,QAAQ,CAAC;AAEzC;;;AAGG;QAEH,IAAS,CAAA,SAAA,GAAG,KAAK;AAEjB;;;AAGG;QAEH,IAAQ,CAAA,QAAA,GAAG,KAAK;AAQR,QAAA,IAAA,CAAA,SAAS,GAAG,SAAS,CAA8B,WAAW,CAAC;AAE/D,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;AACrB,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC;;QAGhC,IAAkB,CAAA,kBAAA,GAAG,KAAK;AAoB1B,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAqB,IAAI,CAAC;AAEpD,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,MAAK;YACvB,IAAI,IAAI,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;AACvC,gBAAA,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,iBAAiB,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,WAAW,EAAE;oBACpE,UAAU,CAAC,MAAK;wBACd,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;AAC7C,qBAAC,CAAC;;;AAGR,SAAC,CAAC;AAEF;;AAEG;AAEH,QAAA,IAAA,CAAA,kBAAkB,GAAyC,IAAI,YAAY,EAA0B;AA4GtG;AA9IC,IAAA,IAAI,KAAK,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;;;AAOpC,IAAA,IAAI,aAAa,GAAA;QACf,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC;;;AAI/C,IAAA,IAAI,YAAY,GAAA;QACd,OAAO,IAAI,CAAC,aAAa;;AAM3B,IAAA,UAAU;;AAiBV,IAAA,IACY,WAAW,GAAA;QACrB,MAAM,UAAU,GAAa,EAAE;QAC/B,UAAU,CAAC,IAAI,CAAC,CAAM,GAAA,EAAA,IAAI,CAAC,IAAI,EAAE,CAAE,CAAA,CAAC;QACpC,UAAU,CAAC,IAAI,CAAC,CAAM,GAAA,EAAA,IAAI,CAAC,QAAQ,EAAE,CAAE,CAAA,CAAC;QACxC,IAAI,IAAI,CAAC,SAAS;AAAE,YAAA,UAAU,CAAC,IAAI,CAAC,CAAA,WAAA,CAAa,CAAC;AAClD,QAAA,OAAO,UAAU;;;IAInB,kBAAkB,GAAA;QAChB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,MAAK;YACvC,IAAI,CAAC,iBAAiB,EAAE;AAC1B,SAAC,CAAC;;;IAIJ,eAAe,GAAA;QACb,IAAI,CAAC,iBAAiB,EAAE;AACxB,QAAA,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;AACtC,YAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAK;gBAC/B,IAAI,CAAC,OAAO,GAAG,IAAI,cAAc,CAAC,CAAC,OAAO,KAAI;oBAC5C,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE;wBAChC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;AAC3C,wBAAA,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;;AAE7B,iBAAC,CAAC;gBACF,IAAI,IAAI,CAAC,SAAS,EAAE;AAAE,oBAAA,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,cAAc,EAAE,CAAC;AAC/E,aAAC,CAAC;;;;IAKE,iBAAiB,GAAA;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AAClE,QAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;QACrB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;AACvB,YAAA,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE;gBACrB,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,KAAI;oBACxB,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC,WAAW,EAAE,SAAS;AAClD,oBAAA,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AAChB,iBAAC,CAAC;;AAEN,SAAC,CAAC;;AAGJ;;;;AAIG;AACH,IAAA,MAAM,CAAC,GAAgC,EAAA;AACrC,QAAA,MAAM,OAAO,GAAuB,OAAO,GAAG,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG;AAClF,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC;;AAE3B,QAAA,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,YAAY,IAAI,OAAO;YAAE;AAC1C,QAAA,IAAI,CAAC,aAAa,GAAG,OAAO;;AAE5B,QAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;AAC7C,QAAA,OAAO,CAAC,MAAM,GAAG,IAAI;AACrB,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,QAAQ;;AAExC,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE;AACvB,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;AAC3B,YAAA,SAAS,EAAE,IAAI;YACf,iBAAiB,EAAE,IAAI,CAAC,kBAAkB;AAC1C,YAAA,GAAG,EAAE,OAAO;YACZ,KAAK,EAAE,IAAI,CAAC,aAAa;AAC1B,SAAA,CAAC;AACF,QAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK;;AAGzB,IAAA,oBAAoB,CAAC,OAA2B,EAAA;QACtD,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,aAAa,CAAC,KAAK;AAC3D,QAAA,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,EAAE;AACpC,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,KAAK,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,KAAK,QAAQ,EAAE;YAC7D,cAAc,CAAC,KAAK,GAAG,CAAA,EAAG,SAAS,CAAC,KAAK,IAAI;AAC7C,YAAA,cAAc,CAAC,MAAM,GAAG,CAAA,kCAAA,CAAoC;YAC5D,cAAc,CAAC,IAAI,GAAG,CAAA,EAAG,SAAS,CAAC,IAAI,IAAI;AAC3C,YAAA,cAAc,CAAC,KAAK,GAAG,CAAA,KAAA,CAAO;AAC9B,YAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,KAAK,KAAK,EAAE;AAC7B,gBAAA,cAAc,CAAC,GAAG,GAAG,CAAA,GAAA,CAAK;AAC1B,gBAAA,cAAc,CAAC,MAAM,GAAG,CAAA,KAAA,CAAO;;AAEjC,YAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,KAAK,QAAQ,EAAE;AAChC,gBAAA,cAAc,CAAC,GAAG,GAAG,CAAA,KAAA,CAAO;AAC5B,gBAAA,cAAc,CAAC,MAAM,GAAG,CAAA,GAAA,CAAK;;;AAGjC,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,KAAK,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,KAAK,KAAK,EAAE;AAC5D,YAAA,cAAc,CAAC,KAAK,GAAG,CAAA,mCAAA,CAAqC;YAC5D,cAAc,CAAC,MAAM,GAAG,CAAA,EAAG,SAAS,CAAC,MAAM,IAAI;YAC/C,cAAc,CAAC,GAAG,GAAG,CAAA,EAAG,SAAS,CAAC,GAAG,IAAI;AACzC,YAAA,cAAc,CAAC,MAAM,GAAG,CAAA,KAAA,CAAO;AAC/B,YAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,KAAK,OAAO,EAAE;AAC/B,gBAAA,cAAc,CAAC,gBAAgB,GAAG,CAAA,GAAA,CAAK;AACvC,gBAAA,cAAc,CAAC,cAAc,GAAG,CAAA,KAAA,CAAO;;AAEzC,YAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,KAAK,KAAK,EAAE;AAC7B,gBAAA,cAAc,CAAC,gBAAgB,GAAG,CAAA,KAAA,CAAO;AACzC,gBAAA,cAAc,CAAC,cAAc,GAAG,CAAA,GAAA,CAAK;;;;8GAzLhC,eAAe,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,cAAA,EAAA,SAAA,EAIT,kBAAkB,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,WAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EATzB,CAAiG,+FAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,61RAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAKhG,eAAe,EAAA,UAAA,EAAA,CAAA;kBAP3B,SAAS;+BACE,SAAS,EAAA,QAAA,EACT,iGAAiG,EAE1F,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,aAAA,EAChC,iBAAiB,CAAC,IAAI,EAAA,MAAA,EAAA,CAAA,61RAAA,CAAA,EAAA;8BAO7B,YAAY,EAAA,CAAA;sBADnB,eAAe;uBAAC,kBAAkB;gBAoBnC,SAAS,EAAA,CAAA;sBADR;gBAQD,QAAQ,EAAA,CAAA;sBADP;gBAOD,OAAO,EAAA,CAAA;sBADN;gBA6CD,kBAAkB,EAAA,CAAA;sBADjB;gBAKW,WAAW,EAAA,CAAA;sBADtB,WAAW;uBAAC,OAAO;;;AClHtB,MAAM,SAAS,GAAG,CAAC,eAAe,EAAE,kBAAkB,EAAE,qBAAqB,CAAC;AAC9E,MAAM,OAAO,GAAG,CAAC,YAAY,EAAE,YAAY,EAAE,iBAAiB,CAAC;MAOlD,YAAY,CAAA;8GAAZ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAZ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,YAPR,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAD3C,eAAe,EAAE,kBAAkB,EAAE,qBAAqB,CAAA,EAAA,OAAA,EAAA,CAA1D,eAAe,EAAE,kBAAkB,EAAE,qBAAqB,CAAA,EAAA,CAAA,CAAA;AAQhE,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,YAJV,OAAO,CAAA,EAAA,CAAA,CAAA;;2FAIT,YAAY,EAAA,UAAA,EAAA,CAAA;kBALxB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,GAAG,OAAO,EAAE,GAAG,SAAS,CAAC;AACnC,oBAAA,OAAO,EAAE,CAAC,GAAG,SAAS,CAAC;AACvB,oBAAA,SAAS,EAAE,EAAE;AACd,iBAAA;;;ACfD;;AAEG;;;;"}
|
1
|
+
{"version":3,"file":"acorex-components-tabs.mjs","sources":["../../../../libs/components/tabs/src/lib/tab-content.directive.ts","../../../../libs/components/tabs/src/lib/tab-item.component.ts","../../../../libs/components/tabs/src/lib/tabs.class.ts","../../../../libs/components/tabs/src/lib/tabs.component.ts","../../../../libs/components/tabs/src/lib/tabs.module.ts","../../../../libs/components/tabs/src/acorex-components-tabs.ts"],"sourcesContent":["import { Directive, TemplateRef, ViewContainerRef } from '@angular/core';\n\n@Directive({\n selector: '[axTabContent]',\n exportAs: 'axTabContent',\n inputs: ['portal: axTabContent'],\n})\nexport class AXTabContentDirective {\n constructor(private _viewContainerRef: ViewContainerRef) {}\n\n private _portal: TemplateRef<any> | undefined;\n public get portal(): TemplateRef<any> | undefined {\n return this._portal;\n }\n public set portal(v: TemplateRef<any> | undefined) {\n if (v) {\n this._portal = v;\n this._viewContainerRef.clear();\n this._viewContainerRef.createEmbeddedView(v, null, 0);\n }\n }\n}\n","import { AXClickEvent, MXComponentOptionChanged, MXInteractiveComponent } from '@acorex/components/common';\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostListener,\n Input,\n Output,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\n\n/**\n * @category\n * Represents an individual tab item in a tab component.\n */\n@Component({\n selector: 'ax-tab-item',\n template: `\n @if (headerTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"headerTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: {\n text: this.text,\n key: this.key,\n active: this.active,\n disabled: this.disabled,\n },\n }\"\n ></ng-container>\n } @else {\n <ng-content select=\"ax-prefix\"></ng-content>\n <div class=\"ax-tab-item-text\">{{ text }}</div>\n <ng-content select=\"ax-suffix\"></ng-content>\n }\n <ng-template #content>\n <ng-content select=\"ax-content\"> </ng-content>\n </ng-template>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n inputs: ['disabled'],\n outputs: ['disabledChange', 'onClick', 'onBlur', 'onFocus'],\n host: { ngSkipHydration: 'true' },\n imports: [NgTemplateOutlet],\n})\nexport class AXTabItemComponent extends MXInteractiveComponent {\n /**\n * Defines the text content to be displayed within the component.\n */\n @Input()\n text: string;\n\n /**\n * Defines a unique identifier for the component instance.\n */\n @Input()\n key: string;\n\n @ViewChild('content')\n template: TemplateRef<unknown>;\n\n /**\n * Defines a custom template for the component's header.\n */\n @Input()\n headerTemplate: TemplateRef<unknown>;\n\n /**\n * Emits an event when the `active` state of the component changes.\n * @event\n */\n @Output()\n activeChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /**\n * Emits an event when the component is clicked.\n * @event\n */\n @Output()\n onClick: EventEmitter<AXClickEvent> = new EventEmitter<AXClickEvent>();\n\n /** @ignore */\n private _active = false;\n\n /**\n * Gets or sets the component's active state, controlling its behavior and appearance.\n * @param value {boolean}\n */\n @Input()\n public get active(): boolean {\n return this._active;\n }\n public set active(value: boolean) {\n this.setOption({\n name: 'active',\n value,\n afterCallback: () => {\n this.cdr.markForCheck();\n },\n });\n }\n\n /**\n * @ignore\n */\n @HostListener('click', ['$event'])\n private __hostClick(e: MouseEvent) {\n if (!this.disabled) {\n this.getHostElement().scrollIntoView({ behavior: 'smooth', block: 'nearest', inline: 'center' });\n this.onClick.emit({\n component: this,\n htmlElement: this.getHostElement(),\n nativeEvent: e,\n });\n }\n }\n\n /**\n * @ignore\n */\n protected override internalOptionChanged(option: MXComponentOptionChanged<any>): void {\n //TODO: change to hostbind\n const classListRef = this.getHostElement().classList;\n if (option.name == 'disabled') {\n option.value ? classListRef.add('ax-state-disabled') : classListRef.remove('ax-state-disabled');\n }\n if (option.name == 'active') {\n option.value ? classListRef.add('ax-state-active') : classListRef.remove('ax-state-active');\n }\n }\n\n getStats() {\n return {\n width: this.getHostElement().clientWidth,\n height: this.getHostElement().clientHeight,\n left: this.getHostElement().offsetLeft,\n top: this.getHostElement().offsetTop,\n };\n }\n}\n","import { AXEvent } from '@acorex/components/common';\nimport { AXTabItemComponent } from './tab-item.component';\n\nexport class AXTabStripChangedEvent extends AXEvent {\n tab: AXTabItemComponent;\n index: number;\n}\n\nexport type AXTabLook = 'default' | 'pills' | 'pills-color' | 'with-line' | 'with-line-color' | 'classic' | 'custom';\n\nexport type AXTabLocation = 'top' | 'bottom' | 'start' | 'end';\n","import { MXBaseComponent } from '@acorex/components/common';\nimport { isPlatformBrowser } from '@angular/common';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n effect,\n ElementRef,\n EventEmitter,\n HostBinding,\n inject,\n input,\n Input,\n NgZone,\n Output,\n PLATFORM_ID,\n QueryList,\n signal,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXTabContentDirective } from './tab-content.directive';\nimport { AXTabItemComponent } from './tab-item.component';\nimport { AXTabLocation, AXTabLook, AXTabStripChangedEvent } from './tabs.class';\n\n/**\n * @category\n * A component that serves as a container for tab items.\n */\n@Component({\n selector: 'ax-tabs',\n template: `<ng-content select=\"ax-tab-item\"></ng-content><span class=\"ax-tab-indicator\" #indicator></span>`,\n styleUrl: './tabs.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXTabsComponent extends MXBaseComponent implements AfterViewInit, AfterContentInit {\n /**\n * @ignore\n */\n @ContentChildren(AXTabItemComponent)\n private _contentTabs!: QueryList<AXTabItemComponent>;\n\n /**\n * Sets the appearance style of the tab component.\n * @defaultValue 'default'\n */\n look = input<AXTabLook>('default');\n\n /**\n * Specifies the position of the tab component.\n * @defaultValue 'bottom'\n */\n location = input<AXTabLocation>('bottom');\n\n /**\n * @defaultValue 'false'\n * Specifies whether the component should resize to fit its parent container.\n */\n @Input()\n fitParent = false;\n\n /**\n * @defaultValue 'false'\n * Applies a minimum width constraint to the component.\n */\n @Input()\n minWidth = false;\n\n /**\n * The `AXTabContentDirective` associated with the tab.\n */\n @Input()\n content!: AXTabContentDirective;\n\n private indicator = viewChild<ElementRef<HTMLSpanElement>>('indicator');\n\n private zone = inject(NgZone);\n private platformId = inject(PLATFORM_ID);\n\n /** @ignore */\n private _isUserInteraction = false;\n\n get items(): AXTabItemComponent[] {\n return this._contentTabs.toArray();\n }\n\n /** @ignore */\n private _selectedItem!: AXTabItemComponent;\n\n /** @ignore */\n get selectedIndex(): number {\n return this.items.indexOf(this._selectedItem);\n }\n\n /** @ignore */\n get selectedItem(): AXTabItemComponent {\n return this._selectedItem;\n }\n\n private changes: ResizeObserver;\n private activeTab = signal<AXTabItemComponent>(null);\n\n #tabChange = effect(() => {\n if (this.activeTab() && this.location()) {\n if (this.look() === 'with-line-color' || this.look() === 'with-line') {\n setTimeout(() => {\n this.setIndicatorPosition(this.activeTab());\n });\n }\n }\n });\n\n /**\n * @event\n */\n @Output()\n onActiveTabChanged: EventEmitter<AXTabStripChangedEvent> = new EventEmitter<AXTabStripChangedEvent>();\n\n /** @ignore */\n @HostBinding('class')\n private get __hostClass(): string[] {\n const cssClasses: string[] = [];\n cssClasses.push(`ax-${this.look()}`);\n cssClasses.push(`ax-${this.location()}`);\n if (this.fitParent) cssClasses.push(`ax-tabs-fit`);\n return cssClasses;\n }\n\n /** @ignore */\n ngAfterContentInit() {\n this._contentTabs.changes.subscribe(() => {\n this._bindOnClickEvent();\n });\n }\n\n /** @ignore */\n ngAfterViewInit() {\n this._bindOnClickEvent();\n if (isPlatformBrowser(this.platformId)) {\n this.zone.runOutsideAngular(() => {\n this.changes = new ResizeObserver((entries) => {\n if (entries[0].contentRect.width) {\n this.setIndicatorPosition(this.activeTab());\n this.changes.disconnect();\n }\n });\n if (this.activeTab()) this.changes.observe(this.activeTab().getHostElement());\n });\n }\n }\n\n /** @ignore */\n private _bindOnClickEvent() {\n const selected = this.items.find((c) => c.active) || this.items[0];\n this.select(selected);\n this.items.forEach((c) => {\n if (!c.onClick.length) {\n c.onClick.subscribe((t) => {\n this._isUserInteraction = t.nativeEvent?.isTrusted;\n this.select(c);\n });\n }\n });\n }\n\n /**\n * Activates the specified tab and updates the content.\n *\n * @param {number | AXTabItemComponent}\n */\n select(tab: number | AXTabItemComponent) {\n const tabItem: AXTabItemComponent = typeof tab == 'number' ? this.items[tab] : tab;\n this.activeTab.set(tabItem);\n //\n if (!tab || this.selectedItem == tabItem) return;\n this._selectedItem = tabItem;\n //\n this.items.forEach((c) => (c.active = false));\n tabItem.active = true;\n if (this.content) {\n this.content.portal = tabItem.template;\n }\n this.cdr.markForCheck();\n this.onActiveTabChanged.emit({\n component: this,\n isUserInteraction: this._isUserInteraction,\n tab: tabItem,\n index: this.selectedIndex,\n });\n this._isUserInteraction = false;\n }\n\n private setIndicatorPosition(tabItem: AXTabItemComponent) {\n const indicatorStyle = this.indicator().nativeElement.style;\n const itemStats = tabItem.getStats();\n if (this.location() === 'top' || this.location() === 'bottom') {\n indicatorStyle.width = `${itemStats.width}px`;\n indicatorStyle.height = `var(--ax-comp-tabs-indicator-size)`;\n indicatorStyle.left = `${itemStats.left}px`;\n indicatorStyle.right = `unset`;\n if (this.location() === 'top') {\n indicatorStyle.top = `0px`;\n indicatorStyle.bottom = `unset`;\n }\n if (this.location() === 'bottom') {\n indicatorStyle.top = `unset`;\n indicatorStyle.bottom = `0px`;\n }\n }\n if (this.location() === 'start' || this.location() === 'end') {\n indicatorStyle.width = ` var(--ax-comp-tabs-indicator-size)`;\n indicatorStyle.height = `${itemStats.height}px`;\n indicatorStyle.top = `${itemStats.top}px`;\n indicatorStyle.bottom = `unset`;\n if (this.location() === 'start') {\n indicatorStyle.insetInlineStart = `0px`;\n indicatorStyle.insetInlineEnd = `unset`;\n }\n if (this.location() === 'end') {\n indicatorStyle.insetInlineStart = `unset`;\n indicatorStyle.insetInlineEnd = `0px`;\n }\n }\n }\n}\n","import { AXDecoratorModule } from '@acorex/components/decorators';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXTabContentDirective } from './tab-content.directive';\nimport { AXTabItemComponent } from './tab-item.component';\nimport { AXTabsComponent } from './tabs.component';\n\nconst COMPONENT = [AXTabsComponent, AXTabItemComponent, AXTabContentDirective];\nconst MODULES = [CommonModule, PortalModule, AXDecoratorModule];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXTabsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|