igniteui-angular 22.1.0-beta.6 → 22.1.0-beta.7
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/fesm2022/igniteui-angular-accordion.mjs +4 -4
- package/fesm2022/igniteui-angular-accordion.mjs.map +1 -1
- package/fesm2022/igniteui-angular-action-strip.mjs +0 -1
- package/fesm2022/igniteui-angular-action-strip.mjs.map +1 -1
- package/fesm2022/igniteui-angular-avatar.mjs.map +1 -1
- package/fesm2022/igniteui-angular-badge.mjs +0 -1
- package/fesm2022/igniteui-angular-badge.mjs.map +1 -1
- package/fesm2022/igniteui-angular-banner.mjs +2 -2
- package/fesm2022/igniteui-angular-banner.mjs.map +1 -1
- package/fesm2022/igniteui-angular-button-group.mjs.map +1 -1
- package/fesm2022/igniteui-angular-calendar.mjs +4 -5
- package/fesm2022/igniteui-angular-calendar.mjs.map +1 -1
- package/fesm2022/igniteui-angular-card.mjs.map +1 -1
- package/fesm2022/igniteui-angular-carousel.mjs.map +1 -1
- package/fesm2022/igniteui-angular-chips.mjs.map +1 -1
- package/fesm2022/igniteui-angular-combo.mjs +17 -6
- package/fesm2022/igniteui-angular-combo.mjs.map +1 -1
- package/fesm2022/igniteui-angular-core.mjs +16 -337
- package/fesm2022/igniteui-angular-core.mjs.map +1 -1
- package/fesm2022/igniteui-angular-date-picker.mjs +12 -14
- package/fesm2022/igniteui-angular-date-picker.mjs.map +1 -1
- package/fesm2022/igniteui-angular-dialog.mjs +1 -1
- package/fesm2022/igniteui-angular-dialog.mjs.map +1 -1
- package/fesm2022/igniteui-angular-directives.mjs +45 -47
- package/fesm2022/igniteui-angular-directives.mjs.map +1 -1
- package/fesm2022/igniteui-angular-drop-down.mjs +3 -2
- package/fesm2022/igniteui-angular-drop-down.mjs.map +1 -1
- package/fesm2022/igniteui-angular-expansion-panel.mjs +23 -12
- package/fesm2022/igniteui-angular-expansion-panel.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-core.mjs +484 -202
- package/fesm2022/igniteui-angular-grids-core.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-grid.mjs +115 -94
- package/fesm2022/igniteui-angular-grids-grid.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-hierarchical-grid.mjs +15 -19
- package/fesm2022/igniteui-angular-grids-hierarchical-grid.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-lite.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-pivot-grid.mjs +75 -153
- package/fesm2022/igniteui-angular-grids-pivot-grid.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-tree-grid.mjs +28 -35
- package/fesm2022/igniteui-angular-grids-tree-grid.mjs.map +1 -1
- package/fesm2022/igniteui-angular-icon.mjs.map +1 -1
- package/fesm2022/igniteui-angular-input-group.mjs +1 -1
- package/fesm2022/igniteui-angular-input-group.mjs.map +1 -1
- package/fesm2022/igniteui-angular-list.mjs.map +1 -1
- package/fesm2022/igniteui-angular-navbar.mjs.map +1 -1
- package/fesm2022/igniteui-angular-navigation-drawer.mjs +2 -3
- package/fesm2022/igniteui-angular-navigation-drawer.mjs.map +1 -1
- package/fesm2022/igniteui-angular-paginator.mjs.map +1 -1
- package/fesm2022/igniteui-angular-progressbar.mjs +5 -2
- package/fesm2022/igniteui-angular-progressbar.mjs.map +1 -1
- package/fesm2022/igniteui-angular-query-builder.mjs +18 -19
- package/fesm2022/igniteui-angular-query-builder.mjs.map +1 -1
- package/fesm2022/igniteui-angular-radio.mjs +1 -1
- package/fesm2022/igniteui-angular-radio.mjs.map +1 -1
- package/fesm2022/igniteui-angular-select.mjs.map +1 -1
- package/fesm2022/igniteui-angular-simple-combo.mjs +10 -7
- package/fesm2022/igniteui-angular-simple-combo.mjs.map +1 -1
- package/fesm2022/igniteui-angular-slider.mjs +3 -3
- package/fesm2022/igniteui-angular-slider.mjs.map +1 -1
- package/fesm2022/igniteui-angular-splitter.mjs +1 -1
- package/fesm2022/igniteui-angular-splitter.mjs.map +1 -1
- package/fesm2022/igniteui-angular-stepper.mjs +1 -1
- package/fesm2022/igniteui-angular-stepper.mjs.map +1 -1
- package/fesm2022/igniteui-angular-tabs.mjs.map +1 -1
- package/fesm2022/igniteui-angular-time-picker.mjs +3 -6
- package/fesm2022/igniteui-angular-time-picker.mjs.map +1 -1
- package/fesm2022/igniteui-angular-tree.mjs +8 -10
- package/fesm2022/igniteui-angular-tree.mjs.map +1 -1
- package/migrations/migration-collection.json +0 -7
- package/package.json +1 -1
- package/types/igniteui-angular-avatar.d.ts +1 -1
- package/types/igniteui-angular-banner.d.ts +3 -3
- package/types/igniteui-angular-calendar.d.ts +9 -9
- package/types/igniteui-angular-card.d.ts +1 -1
- package/types/igniteui-angular-carousel.d.ts +9 -9
- package/types/igniteui-angular-chat.d.ts +1 -1
- package/types/igniteui-angular-chips.d.ts +5 -5
- package/types/igniteui-angular-combo.d.ts +17 -13
- package/types/igniteui-angular-core.d.ts +200 -495
- package/types/igniteui-angular-date-picker.d.ts +3 -3
- package/types/igniteui-angular-dialog.d.ts +4 -4
- package/types/igniteui-angular-directives.d.ts +60 -59
- package/types/igniteui-angular-drop-down.d.ts +16 -16
- package/types/igniteui-angular-expansion-panel.d.ts +6 -6
- package/types/igniteui-angular-grids-core.d.ts +1053 -791
- package/types/igniteui-angular-grids-grid.d.ts +104 -267
- package/types/igniteui-angular-grids-hierarchical-grid.d.ts +68 -547
- package/types/igniteui-angular-grids-lite.d.ts +7 -7
- package/types/igniteui-angular-grids-pivot-grid.d.ts +94 -129
- package/types/igniteui-angular-grids-tree-grid.d.ts +5 -51
- package/types/igniteui-angular-icon.d.ts +2 -2
- package/types/igniteui-angular-input-group.d.ts +4 -4
- package/types/igniteui-angular-list.d.ts +4 -4
- package/types/igniteui-angular-navigation-drawer.d.ts +3 -3
- package/types/igniteui-angular-progressbar.d.ts +1 -0
- package/types/igniteui-angular-query-builder.d.ts +9 -9
- package/types/igniteui-angular-radio.d.ts +1 -1
- package/types/igniteui-angular-select.d.ts +5 -5
- package/types/igniteui-angular-simple-combo.d.ts +2 -2
- package/types/igniteui-angular-slider.d.ts +4 -4
- package/types/igniteui-angular-splitter.d.ts +3 -3
- package/types/igniteui-angular-time-picker.d.ts +8 -8
- package/types/igniteui-angular-tree.d.ts +8 -8
- package/migrations/update-22_1_0_import-migration/index.d.ts +0 -2
- package/migrations/update-22_1_0_import-migration/index.js +0 -228
- package/migrations/update-22_1_0_import-migration/index.spec.d.ts +0 -1
- package/migrations/update-22_1_0_import-migration/index.spec.js +0 -188
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"igniteui-angular-tabs.mjs","sources":["../../../projects/igniteui-angular/tabs/src/tabs/tabs.base.ts","../../../projects/igniteui-angular/tabs/src/tabs/tab-item.directive.ts","../../../projects/igniteui-angular/tabs/src/tabs/tab-content.directive.ts","../../../projects/igniteui-angular/tabs/src/tabs/tabs/content/tab-content.component.ts","../../../projects/igniteui-angular/tabs/src/tabs/tabs/content/tab-content.component.html","../../../projects/igniteui-angular/tabs/src/tabs/tab-header.directive.ts","../../../projects/igniteui-angular/tabs/src/tabs/tabs.directive.ts","../../../projects/igniteui-angular/tabs/src/tabs/tabs/tabs.component.ts","../../../projects/igniteui-angular/tabs/src/tabs/tabs/tabs.component.html","../../../projects/igniteui-angular/tabs/src/tabs/tabs/header/tab-header.component.ts","../../../projects/igniteui-angular/tabs/src/tabs/tabs/header/tab-header.component.html","../../../projects/igniteui-angular/tabs/src/tabs/tabs/item/tab-item.component.ts","../../../projects/igniteui-angular/tabs/src/tabs/tabs/item/tab-item.component.html","../../../projects/igniteui-angular/tabs/src/tabs/tabs/tabs.directives.ts","../../../projects/igniteui-angular/tabs/src/tabs/tabs/public_api.ts","../../../projects/igniteui-angular/tabs/src/tabs/tabs/tabs.module.ts","../../../projects/igniteui-angular/tabs/src/igniteui-angular-tabs.ts"],"sourcesContent":["import { QueryList, TemplateRef } from '@angular/core';\n\n/** @hidden */\nexport abstract class IgxTabsBase {\n public items!: QueryList<IgxTabItemBase>;\n public selectedIndex!: number;\n public abstract selectTab(tab: IgxTabItemBase, selected: boolean): any;\n}\n\n/** @hidden */\nexport abstract class IgxTabItemBase {\n public disabled!: boolean;\n public selected!: boolean;\n public headerTemplate!: TemplateRef<any>;\n public panelTemplate!: TemplateRef<any>;\n public headerComponent!: IgxTabHeaderBase;\n public panelComponent!: IgxTabContentBase;\n}\n\n/** @hidden */\nexport abstract class IgxTabHeaderBase {\n public nativeElement!: HTMLElement;\n}\n\n/** @hidden */\nexport abstract class IgxTabContentBase {\n public nativeElement!: HTMLElement;\n}\n\n","import { ContentChild, Directive, EventEmitter, Input, Output, TemplateRef, ViewChild, booleanAttribute, inject } from '@angular/core';\nimport { IgxTabHeaderBase, IgxTabItemBase, IgxTabContentBase, IgxTabsBase } from './tabs.base';\nimport { CarouselAnimationDirection, IgxSlideComponentBase } from 'igniteui-angular/carousel';\n\n@Directive()\nexport abstract class IgxTabItemDirective implements IgxTabItemBase, IgxSlideComponentBase {\n /** @hidden */\n private tabs = inject(IgxTabsBase);\n\n /** @hidden */\n @ContentChild(IgxTabHeaderBase)\n public headerComponent!: IgxTabHeaderBase;\n\n /** @hidden */\n @ContentChild(IgxTabContentBase)\n public panelComponent!: IgxTabContentBase;\n\n /** @hidden */\n @ViewChild('headerTemplate', { static: true })\n public headerTemplate!: TemplateRef<any>;\n\n /** @hidden */\n @ViewChild('panelTemplate', { static: true })\n public panelTemplate!: TemplateRef<any>;\n\n /**\n * Output to enable support for two-way binding on [(selected)]\n */\n @Output()\n public selectedChange = new EventEmitter<boolean>();\n\n /**\n * Disables the item.\n */\n @Input({ transform: booleanAttribute })\n public disabled = false;\n\n /** @hidden */\n public direction = CarouselAnimationDirection.NONE;\n /** @hidden */\n public previous!: boolean;\n\n private _selected = false;\n\n /**\n * Gets/Sets whether an item is selected.\n */\n @Input({ transform: booleanAttribute })\n public get selected(): boolean {\n return this._selected;\n }\n\n public set selected(value: boolean) {\n if (this._selected !== value) {\n this._selected = value;\n this.tabs.selectTab(this, this._selected);\n this.selectedChange.emit(this._selected);\n }\n }\n}\n","import { Directive, ElementRef, HostBinding, inject } from '@angular/core';\nimport { IgxTabItemDirective } from './tab-item.directive';\nimport { IgxTabContentBase } from './tabs.base';\n\n@Directive()\nexport abstract class IgxTabContentDirective implements IgxTabContentBase {\n /** @hidden */\n public tab = inject(IgxTabItemDirective);\n /** @hidden */\n private elementRef = inject(ElementRef<HTMLElement>);\n\n /** @hidden */\n @HostBinding('attr.role')\n public role = 'tabpanel';\n\n /** @hidden */\n @HostBinding('attr.tabindex')\n public get tabIndex() {\n return this.tab.selected ? 0 : -1;\n }\n\n /** @hidden */\n @HostBinding('style.z-index')\n public get zIndex() {\n return this.tab.selected ? 'auto' : -1;\n }\n\n /** @hidden */\n public get nativeElement() {\n return this.elementRef.nativeElement;\n }\n}\n","import {ChangeDetectionStrategy, Component, HostBinding, ViewEncapsulation} from '@angular/core';\nimport { IgxTabContentDirective } from '../../tab-content.directive';\nimport { IgxTabContentBase } from '../../tabs.base';\n\n@Component({\n selector: 'igx-tab-content',\n templateUrl: 'tab-content.component.html',\n styleUrl: 'tab-content.component.css',\n changeDetection: ChangeDetectionStrategy.Eager,\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: IgxTabContentBase, useExisting: IgxTabContentComponent }],\n})\nexport class IgxTabContentComponent extends IgxTabContentDirective {\n /** @hidden */\n @HostBinding('class.igx-tabs-content__inner')\n public cssClass = true;\n}\n","@if (tab.selected || tab.previous) {\n <ng-content></ng-content>\n}\n","\nimport { Directive, ElementRef, HostBinding, HostListener, inject } from '@angular/core';\nimport { PlatformUtil } from 'igniteui-angular/core';\nimport { IgxTabItemDirective } from './tab-item.directive';\nimport { IgxTabHeaderBase, IgxTabsBase } from './tabs.base';\n\n@Directive()\nexport abstract class IgxTabHeaderDirective implements IgxTabHeaderBase {\n /** @hidden */\n protected tabs = inject(IgxTabsBase);\n /** @hidden */\n public tab = inject(IgxTabItemDirective);\n /** @hidden */\n private elementRef = inject(ElementRef<HTMLElement>);\n /** @hidden */\n protected platform = inject(PlatformUtil);\n\n /** @hidden */\n @HostBinding('attr.role')\n public role = 'tab';\n\n /** @hidden */\n @HostBinding('attr.tabindex')\n public get tabIndex() {\n return this.tab.selected ? 0 : -1;\n }\n\n /** @hidden */\n @HostBinding('attr.aria-selected')\n public get ariaSelected() {\n return this.tab.selected;\n }\n\n /** @hidden */\n @HostBinding('attr.aria-disabled')\n public get ariaDisabled() {\n return this.tab.disabled;\n }\n\n /** @hidden */\n @HostListener('click')\n public onClick() {\n if (this.tab.panelComponent) {\n this.tabs.selectTab(this.tab, true);\n }\n }\n\n /** @hidden */\n public get nativeElement() {\n return this.elementRef.nativeElement;\n }\n}\n","import {\n AfterViewInit, ContentChildren, Directive, ElementRef, EventEmitter,\n Input, OnDestroy, Output, QueryList, booleanAttribute,\n inject\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { IBaseEventArgs, isLeftToRight } from 'igniteui-angular/core';\nimport { IgxTabItemDirective } from './tab-item.directive';\nimport { IgxTabContentBase, IgxTabsBase } from './tabs.base';\nimport { IgxCarouselComponentBase, CarouselAnimationDirection } from 'igniteui-angular/carousel';\n\nexport interface ITabsBaseEventArgs extends IBaseEventArgs {\n readonly owner: IgxTabsDirective;\n}\n\nexport interface ITabsSelectedIndexChangingEventArgs extends ITabsBaseEventArgs {\n cancel: boolean;\n readonly oldIndex: number;\n newIndex: number;\n}\n\nexport interface ITabsSelectedItemChangeEventArgs extends ITabsBaseEventArgs {\n readonly oldItem: IgxTabItemDirective;\n readonly newItem: IgxTabItemDirective;\n}\n\n@Directive()\nexport abstract class IgxTabsDirective extends IgxCarouselComponentBase implements IgxTabsBase, AfterViewInit, OnDestroy {\n protected readonly _element = inject<ElementRef<HTMLElement>>(ElementRef);\n\n /**\n * Gets/Sets the index of the selected item.\n * Default value is 0 if contents are defined otherwise defaults to -1.\n */\n @Input()\n public get selectedIndex(): number {\n return this._selectedIndex;\n }\n\n public set selectedIndex(value: number) {\n if (this._selectedIndex !== value) {\n let newIndex = value;\n const oldIndex = this._selectedIndex;\n const args: ITabsSelectedIndexChangingEventArgs = {\n owner: this,\n cancel: false,\n oldIndex,\n newIndex\n };\n this.selectedIndexChanging.emit(args);\n\n if (!args.cancel) {\n newIndex = args.newIndex;\n this._selectedIndex = newIndex;\n this.selectedIndexChange.emit(this._selectedIndex);\n }\n\n this.updateSelectedTabs(oldIndex);\n }\n }\n\n /**\n * Enables/disables the transition animation of the contents.\n */\n @Input({ transform: booleanAttribute })\n public disableAnimation = false;\n\n /**\n * Output to enable support for two-way binding on [(selectedIndex)]\n */\n @Output()\n public selectedIndexChange = new EventEmitter<number>();\n\n /**\n * Emitted when the selected index is about to change.\n */\n @Output()\n public selectedIndexChanging = new EventEmitter<ITabsSelectedIndexChangingEventArgs>();\n\n /**\n * Emitted when the selected item is changed.\n */\n @Output()\n public selectedItemChange = new EventEmitter<ITabsSelectedItemChangeEventArgs>();\n\n /**\n * Returns the items.\n */\n @ContentChildren(IgxTabItemDirective)\n public items!: QueryList<IgxTabItemDirective>;\n\n /**\n * Gets the selected item.\n */\n public get selectedItem(): IgxTabItemDirective {\n return this.items && this.selectedIndex >= 0 && this.selectedIndex < this.items.length ?\n this.items.get(this.selectedIndex)! : null!;\n }\n\n /** @hidden */\n @ContentChildren(IgxTabContentBase, { descendants: true })\n public panels!: QueryList<IgxTabContentBase>;\n\n /** @hidden */\n protected override currentItem!: IgxTabItemDirective;\n /** @hidden */\n protected override previousItem!: IgxTabItemDirective;\n /** @hidden */\n protected componentName!: string;\n\n private _selectedIndex = -1;\n private _itemChanges$!: Subscription;\n\n /** @hidden */\n public ngAfterViewInit(): void {\n if (this._selectedIndex === -1) {\n const hasSelectedTab = this.items.some((tab, i) => {\n if (tab.selected) {\n this._selectedIndex = i;\n }\n return tab.selected;\n });\n\n if (!hasSelectedTab && this.hasPanels) {\n this._selectedIndex = 0;\n }\n }\n\n // Use promise to avoid expression changed after check error\n Promise.resolve().then(() => {\n this.updateSelectedTabs(null!, false);\n });\n\n this._itemChanges$ = this.items.changes.subscribe(() => {\n this.onItemChanges();\n });\n\n this.setAttributes();\n }\n\n /** @hidden */\n public override ngOnDestroy(): void {\n super.ngOnDestroy();\n if (this._itemChanges$) {\n this._itemChanges$.unsubscribe();\n }\n }\n\n /** @hidden */\n public selectTab(tab: IgxTabItemDirective, selected: boolean): void {\n if (!this.items) {\n return;\n }\n\n const tabs = this.items.toArray();\n\n if (selected) {\n const index = tabs.indexOf(tab);\n if (index > -1) {\n this.selectedIndex = index;\n }\n } else {\n if (tabs.every(t => !t.selected)) {\n this.selectedIndex = -1;\n }\n }\n }\n\n /** @hidden */\n protected getPreviousElement(): HTMLElement {\n return this.previousItem.panelComponent.nativeElement;\n }\n\n /** @hidden */\n protected getCurrentElement(): HTMLElement {\n return this.currentItem.panelComponent.nativeElement;\n }\n\n /** @hidden */\n protected scrollTabHeaderIntoView() {\n }\n\n /** @hidden */\n protected onItemChanges() {\n this.setAttributes();\n\n // Check if there is selected tab\n let selectedIndex = -1;\n this.items.some((tab, i) => {\n if (tab.selected) {\n selectedIndex = i;\n }\n return tab.selected;\n });\n\n if (selectedIndex >= 0) {\n // Set the selected index to the tab that has selected=true\n Promise.resolve().then(() => {\n this.selectedIndex = selectedIndex;\n });\n } else {\n if (this.selectedIndex >= 0 && this.selectedIndex < this.items.length) {\n // Select the tab on the same index the previous selected tab was\n Promise.resolve().then(() => {\n this.updateSelectedTabs(null!);\n });\n } else if (this.selectedIndex >= this.items.length) {\n // Select the last tab\n Promise.resolve().then(() => {\n this.selectedIndex = this.items.length - 1;\n });\n }\n }\n }\n\n private setAttributes() {\n this.items.forEach(item => {\n if (item.panelComponent && !item.headerComponent.nativeElement.getAttribute('id')) {\n const id = this.getNextTabId();\n const tabHeaderId = `${this.componentName}-header-${id}`;\n const tabPanelId = `${this.componentName}-content-${id}`;\n\n this.setHeaderAttribute(item, 'id', tabHeaderId);\n this.setHeaderAttribute(item, 'aria-controls', tabPanelId);\n this.setPanelAttribute(item, 'id', tabPanelId);\n this.setPanelAttribute(item, 'aria-labelledby', tabHeaderId);\n }\n });\n }\n\n private setHeaderAttribute(item: IgxTabItemDirective, attrName: string, value: string) {\n item.headerComponent.nativeElement.setAttribute(attrName, value);\n }\n\n private setPanelAttribute(item: IgxTabItemDirective, attrName: string, value: string) {\n item.panelComponent.nativeElement.setAttribute(attrName, value);\n }\n\n private get hasPanels() {\n return this.panels && this.panels.length;\n }\n\n private updateSelectedTabs(oldSelectedIndex: number, raiseEvent = true) {\n if (!this.items) {\n return;\n }\n\n let newTab!: IgxTabItemDirective;\n const oldTab = this.currentItem;\n\n // First select the new tab\n if (this._selectedIndex >= 0 && this._selectedIndex < this.items.length) {\n newTab = this.items.get(this._selectedIndex)!;\n newTab.selected = true;\n }\n // Then unselect the other tabs\n this.items.forEach((tab, i) => {\n if (i !== this._selectedIndex) {\n tab.selected = false;\n }\n });\n\n if (this._selectedIndex !== oldSelectedIndex) {\n this.scrollTabHeaderIntoView();\n this.triggerPanelAnimations(oldSelectedIndex);\n\n if (raiseEvent && newTab !== oldTab) {\n this.selectedItemChange.emit({\n owner: this,\n newItem: newTab,\n oldItem: oldTab\n });\n }\n }\n }\n\n private triggerPanelAnimations(oldSelectedIndex: number) {\n const item = this.items.get(this._selectedIndex);\n const rtl = !isLeftToRight(this._element.nativeElement);\n\n if (item &&\n !this.disableAnimation &&\n this.hasPanels &&\n this.currentItem &&\n !this.currentItem.selected) {\n item.direction = (!rtl && this._selectedIndex > oldSelectedIndex) ||\n (rtl && this._selectedIndex < oldSelectedIndex)\n ? CarouselAnimationDirection.NEXT : CarouselAnimationDirection.PREV;\n\n if (this.previousItem && this.previousItem.previous) {\n this.previousItem.previous = false;\n }\n this.currentItem.direction = item.direction;\n\n this.previousItem = this.currentItem;\n this.currentItem = item;\n this.triggerAnimations();\n } else {\n this.currentItem = item!;\n }\n }\n\n /** @hidden */\n protected abstract getNextTabId(): any;\n}\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n HostBinding,\n Input,\n NgZone,\n OnDestroy,\n ViewChild,\n inject,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n} from '@angular/core';\nimport { IgxTabsBase } from '../tabs.base';\nimport { IgxTabsDirective } from '../tabs.directive';\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\nimport { IgxIconButtonDirective, IgxRippleDirective } from 'igniteui-angular/directives';\nimport { IgxIconComponent } from 'igniteui-angular/icon';\nimport { getResizeObserver, PlatformUtil, isLeftToRight } from 'igniteui-angular/core';\n\nexport const IgxTabsAlignment = {\n start: 'start',\n end: 'end',\n center: 'center',\n justify: 'justify'\n} as const;\n\n/** @hidden */\nconst enum TabScrollButtonStyle {\n Enabled = 'enabled',\n Disabled = 'disabled',\n NotDisplayed = 'not_displayed'\n}\n\nexport type IgxTabsAlignment = (typeof IgxTabsAlignment)[keyof typeof IgxTabsAlignment];\n\n/** @hidden */\nlet NEXT_TAB_ID = 0;\n\n/**\n * Tabs component is used to organize or switch between similar data sets.\n *\n * @igxModule IgxTabsModule\n *\n * @igxTheme igx-tabs-theme\n *\n * @igxKeywords tabs\n *\n * @igxGroup Layouts\n *\n * @remarks\n * The Ignite UI for Angular Tabs component places tabs at the top and allows for scrolling when there are multiple tab items on the screen.\n *\n * @example\n * ```html\n * <igx-tabs>\n * <igx-tab-item>\n * <igx-tab-header>\n * <igx-icon igxTabHeaderIcon>folder</igx-icon>\n * <span igxTabHeaderLabel>Tab 1</span>\n * </igx-tab-header>\n * <igx-tab-content>\n * Content 1\n * </igx-tab-content>\n * </igx-tab-item>\n * ...\n * </igx-tabs>\n * ```\n */\n@Component({\n selector: 'igx-tabs',\n templateUrl: 'tabs.component.html',\n styleUrl: 'tabs.component.css',\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: IgxTabsBase, useExisting: IgxTabsComponent }],\n changeDetection: ChangeDetectionStrategy.Eager,\n imports: [IgxRippleDirective, IgxIconComponent, NgClass, NgTemplateOutlet, IgxIconButtonDirective]\n})\n\nexport class IgxTabsComponent extends IgxTabsDirective implements AfterViewInit, OnDestroy {\n private ngZone = inject(NgZone);\n private platform = inject(PlatformUtil);\n\n\n /**\n * Gets/Sets the tab alignment. Defaults to `start`.\n */\n @Input()\n public get tabAlignment(): string | IgxTabsAlignment {\n return this._tabAlignment;\n }\n\n public set tabAlignment(value: string | IgxTabsAlignment) {\n this._tabAlignment = value;\n requestAnimationFrame(() => {\n this.updateScrollButtons();\n this.realignSelectedIndicator();\n });\n }\n\n /**\n * Determines the tab activation.\n * When set to auto, the tab is instantly selected while navigating with the Left/Right Arrows, Home or End keys and the corresponding panel is displayed.\n * When set to manual, the tab is only focused. The selection happens after pressing Space or Enter.\n * Defaults is auto.\n */\n @Input()\n public activation: 'auto' | 'manual' = 'auto';\n\n /** @hidden */\n @ViewChild('headerContainer', { static: true })\n public headerContainer!: ElementRef<HTMLElement>;\n\n /** @hidden */\n @ViewChild('viewPort', { static: true })\n public viewPort!: ElementRef<HTMLElement>;\n\n /** @hidden */\n @ViewChild('itemsWrapper', { static: true })\n public itemsWrapper!: ElementRef<HTMLElement>;\n\n /** @hidden */\n @ViewChild('itemsContainer', { static: true })\n public itemsContainer!: ElementRef<HTMLElement>;\n\n /** @hidden */\n @ViewChild('selectedIndicator')\n public selectedIndicator!: ElementRef<HTMLElement>;\n\n /** @hidden */\n @ViewChild('scrollPrevButton')\n public scrollPrevButton!: ElementRef<HTMLButtonElement>;\n\n /** @hidden */\n @ViewChild('scrollNextButton')\n public scrollNextButton!: ElementRef<HTMLButtonElement>;\n\n /** @hidden */\n @HostBinding('class.igx-tabs')\n public defaultClass = true;\n\n /** @hidden */\n public offset = 0;\n\n /** @hidden */\n protected override componentName = 'igx-tabs';\n\n private _tabAlignment: string | IgxTabsAlignment = 'start';\n private _resizeObserver!: ResizeObserver;\n\n /** @hidden @internal */\n public override ngAfterViewInit(): void {\n super.ngAfterViewInit();\n\n this.ngZone.runOutsideAngular(() => {\n if (this.platform.isBrowser) {\n this._resizeObserver = new (getResizeObserver())(() => {\n this.updateScrollButtons();\n this.realignSelectedIndicator();\n });\n this._resizeObserver.observe(this.headerContainer.nativeElement);\n this._resizeObserver.observe(this.viewPort.nativeElement);\n }\n });\n }\n\n /** @hidden @internal */\n public override ngOnDestroy(): void {\n super.ngOnDestroy();\n\n this.ngZone.runOutsideAngular(() => {\n this._resizeObserver?.disconnect();\n });\n }\n\n /** @hidden */\n public scrollPrev() {\n this.scroll(false);\n }\n\n /** @hidden */\n public scrollNext() {\n this.scroll(true);\n }\n\n /** @hidden */\n public realignSelectedIndicator() {\n if (this.selectedIndex >= 0 && this.selectedIndex < this.items.length) {\n const header = this.items.get(this.selectedIndex)!.headerComponent.nativeElement;\n this.alignSelectedIndicator(header, 0);\n }\n }\n\n /** @hidden */\n public resolveHeaderScrollClasses() {\n return {\n 'igx-tabs-header-scroll--start': this.tabAlignment === 'start',\n 'igx-tabs-header-scroll--end': this.tabAlignment === 'end',\n 'igx-tabs-header-scroll--center': this.tabAlignment === 'center',\n 'igx-tabs-header-scroll--justify': this.tabAlignment === 'justify',\n };\n }\n\n /** @hidden */\n protected override scrollTabHeaderIntoView() {\n if (this.selectedIndex >= 0) {\n const tabItems = this.items.toArray();\n const tabHeaderNativeElement = tabItems[this.selectedIndex].headerComponent.nativeElement;\n\n // Scroll left if there is need\n if (this.getElementOffset(tabHeaderNativeElement) < this.offset) {\n this.scrollElement(tabHeaderNativeElement, false);\n }\n\n // Scroll right if there is need\n const viewPortOffsetWidth = this.viewPort.nativeElement.offsetWidth;\n const delta = (this.getElementOffset(tabHeaderNativeElement) + tabHeaderNativeElement.offsetWidth) - (viewPortOffsetWidth + this.offset);\n\n // Fix for IE 11, a difference is accumulated from the widths calculations\n if (delta > 1) {\n this.scrollElement(tabHeaderNativeElement, true);\n }\n\n this.alignSelectedIndicator(tabHeaderNativeElement);\n } else {\n this.hideSelectedIndicator();\n }\n }\n\n /** @hidden */\n protected getNextTabId() {\n return NEXT_TAB_ID++;\n }\n\n /** @hidden */\n protected override onItemChanges() {\n super.onItemChanges();\n\n Promise.resolve().then(() => {\n this.updateScrollButtons();\n });\n }\n\n private alignSelectedIndicator(element: HTMLElement, duration = 0.3): void {\n if (this.selectedIndicator) {\n this.selectedIndicator.nativeElement.style.visibility = 'visible';\n this.selectedIndicator.nativeElement.style.transitionDuration = duration > 0 ? `${duration}s` : 'initial';\n this.selectedIndicator.nativeElement.style.width = `${element.offsetWidth}px`;\n this.selectedIndicator.nativeElement.style.transform = `translate(${element.offsetLeft}px)`;\n }\n }\n\n private hideSelectedIndicator(): void {\n if (this.selectedIndicator) {\n this.selectedIndicator.nativeElement.style.visibility = 'hidden';\n }\n }\n\n private scroll(scrollNext: boolean): void {\n const tabsArray = this.items.toArray();\n\n for (let index = 0; index < tabsArray.length; index++) {\n const tab = tabsArray[index];\n const element = tab.headerComponent.nativeElement;\n if (scrollNext) {\n if (element.offsetWidth + this.getElementOffset(element) > this.viewPort.nativeElement.offsetWidth + this.offset) {\n this.scrollElement(element, scrollNext);\n break;\n }\n } else {\n if (this.getElementOffset(element) >= this.offset) {\n this.scrollElement(tabsArray[index - 1].headerComponent.nativeElement, scrollNext);\n break;\n }\n }\n }\n }\n\n private scrollElement(element: any, scrollNext: boolean): void {\n const viewPortWidth = this.viewPort.nativeElement.offsetWidth;\n\n this.offset = (scrollNext) ? element.offsetWidth + this.getElementOffset(element) - viewPortWidth : this.getElementOffset(element);\n this.viewPort.nativeElement.scrollLeft = this.getOffset(this.offset);\n this.updateScrollButtons();\n }\n\n private updateScrollButtons() {\n const itemsContainerWidth = this.getTabItemsContainerWidth();\n\n const scrollPrevButtonStyle = this.resolveLeftScrollButtonStyle(itemsContainerWidth);\n this.setScrollButtonStyle(this.scrollPrevButton.nativeElement, scrollPrevButtonStyle);\n\n const scrollNextButtonStyle = this.resolveRightScrollButtonStyle(itemsContainerWidth);\n this.setScrollButtonStyle(this.scrollNextButton.nativeElement, scrollNextButtonStyle);\n }\n\n private setScrollButtonStyle(button: HTMLButtonElement, buttonStyle: TabScrollButtonStyle) {\n if (buttonStyle === TabScrollButtonStyle.Enabled) {\n button.disabled = false;\n button.style.display = '';\n } else if (buttonStyle === TabScrollButtonStyle.Disabled) {\n button.disabled = true;\n button.style.display = '';\n } else if (buttonStyle === TabScrollButtonStyle.NotDisplayed) {\n button.style.display = 'none';\n }\n }\n private resolveLeftScrollButtonStyle(itemsContainerWidth: number): TabScrollButtonStyle {\n const headerContainerWidth = this.headerContainer.nativeElement.offsetWidth;\n const offset = this.offset;\n\n if (offset === 0) {\n // Fix for IE 11, a difference is accumulated from the widths calculations.\n if (itemsContainerWidth - headerContainerWidth <= 1) {\n return TabScrollButtonStyle.NotDisplayed;\n }\n return TabScrollButtonStyle.Disabled;\n } else {\n return TabScrollButtonStyle.Enabled;\n }\n }\n\n private resolveRightScrollButtonStyle(itemsContainerWidth: number): TabScrollButtonStyle {\n const viewPortWidth = this.viewPort.nativeElement.offsetWidth;\n const headerContainerWidth = this.headerContainer.nativeElement.offsetWidth;\n const offset = this.offset;\n const total = offset + viewPortWidth;\n\n // Fix for IE 11, a difference is accumulated from the widths calculations.\n if (itemsContainerWidth - headerContainerWidth <= 1 && offset === 0) {\n return TabScrollButtonStyle.NotDisplayed;\n }\n\n if (itemsContainerWidth > total) {\n return TabScrollButtonStyle.Enabled;\n } else {\n return TabScrollButtonStyle.Disabled;\n }\n }\n\n private getTabItemsContainerWidth() {\n // We use this hacky way to get the width of the itemsContainer,\n // because there is inconsistency in IE we cannot use offsetWidth or scrollOffset.\n const itemsContainerChildrenCount = this.itemsContainer.nativeElement.children.length;\n let itemsContainerWidth = 0;\n\n if (itemsContainerChildrenCount > 1) {\n const lastTab = this.itemsContainer.nativeElement.children[itemsContainerChildrenCount - 1] as HTMLElement;\n itemsContainerWidth = this.getElementOffset(lastTab) + lastTab.offsetWidth;\n }\n\n return itemsContainerWidth;\n }\n\n private getOffset(offset: number): number {\n return isLeftToRight(this._element.nativeElement) ? offset : -offset;\n }\n\n private getElementOffset(element: HTMLElement): number {\n const rtl = !isLeftToRight(this._element.nativeElement);\n return rtl ? this.itemsWrapper.nativeElement.offsetWidth - element.offsetLeft - element.offsetWidth : element.offsetLeft;\n }\n}\n","<div #headerContainer class=\"igx-tabs-header\">\n <button #scrollPrevButton type=\"button\" igxIconButton=\"flat\" igxRipple tabindex=\"-1\" class=\"igx-tabs-header-button\" (click)=\"scrollPrev()\">\n <igx-icon family=\"default\" name=\"prev\"></igx-icon>\n </button>\n <div #viewPort class=\"igx-tabs-header__content\">\n <div #itemsWrapper class=\"igx-tabs-header__wrapper\" role=\"tablist\">\n <div #itemsContainer class=\"igx-tabs-header-scroll\" [ngClass]=\"resolveHeaderScrollClasses()\">\n @for (tab of items; track tab; let i = $index) {\n <ng-container *ngTemplateOutlet=\"tab.headerTemplate\"></ng-container>\n }\n </div>\n @if (items.length > 0) {\n <div #selectedIndicator class=\"igx-tabs-header__active-indicator\">\n </div>\n }\n </div>\n </div>\n <button #scrollNextButton type=\"button\" igxIconButton=\"flat\" igxRipple tabindex=\"-1\" class=\"igx-tabs-header-button\" (click)=\"scrollNext()\">\n <igx-icon family=\"default\" name=\"next\"></igx-icon>\n </button>\n</div>\n<div class=\"igx-tabs-content\">\n @for (tab of items; track tab; let i = $index) {\n <ng-container *ngTemplateOutlet=\"tab.panelTemplate\"></ng-container>\n }\n</div>\n","import {\n AfterViewInit,\n Component,\n HostBinding,\n HostListener,\n NgZone,\n OnDestroy,\n inject,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n} from '@angular/core';\nimport { IgxTabHeaderDirective } from '../../tab-header.directive';\nimport { IgxTabHeaderBase } from '../../tabs.base';\nimport { IgxTabsComponent } from './../tabs.component';\nimport { getResizeObserver, isLeftToRight } from 'igniteui-angular/core';\n\n@Component({\n selector: 'igx-tab-header',\n templateUrl: 'tab-header.component.html',\n styleUrl: 'tab-header.component.css',\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: IgxTabHeaderBase, useExisting: IgxTabHeaderComponent }],\n changeDetection: ChangeDetectionStrategy.Eager,\n standalone: true\n})\nexport class IgxTabHeaderComponent extends IgxTabHeaderDirective implements AfterViewInit, OnDestroy {\n protected override tabs = inject(IgxTabsComponent);\n private ngZone = inject(NgZone);\n\n /** @hidden @internal */\n @HostBinding('class.igx-tab-header--selected')\n public get provideCssClassSelected(): boolean {\n return this.tab.selected;\n }\n\n /** @hidden @internal */\n @HostBinding('class.igx-tab-header--disabled')\n public get provideCssClassDisabled(): boolean {\n return this.tab.disabled;\n }\n\n /** @hidden @internal */\n @HostBinding('class.igx-tab-header--justify')\n public get applyJustifyClass(): boolean {\n return this.tabs.tabAlignment === 'justify'; // Correctly accessing tabsAlignment\n }\n\n /** @hidden @internal */\n @HostBinding('class.igx-tab-header')\n public cssClass = true;\n\n private _resizeObserver!: ResizeObserver;\n\n /** @hidden @internal */\n @HostListener('keydown', ['$event'])\n public keyDown(event: KeyboardEvent) {\n let unsupportedKey = false;\n const itemsArray = this.tabs.items.toArray();\n const previousIndex = itemsArray.indexOf(this.tab);\n let newIndex = previousIndex;\n const hasDisabledItems = itemsArray.some((item) => item.disabled);\n\n switch (event.key) {\n case this.platform.KEYMAP.ARROW_RIGHT:\n newIndex = this.getNewSelectionIndex(newIndex, itemsArray, event.key, hasDisabledItems);\n break;\n case this.platform.KEYMAP.ARROW_LEFT:\n newIndex = this.getNewSelectionIndex(newIndex, itemsArray, event.key, hasDisabledItems);\n break;\n case this.platform.KEYMAP.HOME:\n event.preventDefault();\n newIndex = 0;\n while (itemsArray[newIndex].disabled && newIndex < itemsArray.length) {\n newIndex = newIndex === itemsArray.length - 1 ? 0 : newIndex + 1;\n }\n break;\n case this.platform.KEYMAP.END:\n event.preventDefault();\n newIndex = itemsArray.length - 1;\n while (hasDisabledItems && itemsArray[newIndex].disabled && newIndex > 0) {\n newIndex = newIndex === 0 ? itemsArray.length - 1 : newIndex - 1;\n }\n break;\n case this.platform.KEYMAP.ENTER:\n case this.platform.KEYMAP.SPACE:\n event.preventDefault();\n if (this.tabs.activation === 'manual') {\n this.nativeElement.click();\n }\n unsupportedKey = true;\n break;\n default:\n unsupportedKey = true;\n break;\n }\n\n if (!unsupportedKey) {\n itemsArray[newIndex].headerComponent.nativeElement.focus({ preventScroll: true });\n if (this.tabs.activation === 'auto') {\n this.tabs.selectedIndex = newIndex;\n }\n }\n }\n\n /** @hidden @internal */\n public ngAfterViewInit(): void {\n this.ngZone.runOutsideAngular(() => {\n if (this.platform.isBrowser) {\n this._resizeObserver = new (getResizeObserver())(() => {\n this.tabs.realignSelectedIndicator();\n });\n this._resizeObserver.observe(this.nativeElement);\n }\n });\n }\n\n /** @hidden @internal */\n public ngOnDestroy(): void {\n this.ngZone.runOutsideAngular(() => {\n this._resizeObserver?.disconnect();\n });\n }\n\n private getNewSelectionIndex(newIndex: number, itemsArray: any[], key: string, hasDisabledItems: boolean): number {\n const rtl = !isLeftToRight(this.nativeElement);\n\n if ((key === this.platform.KEYMAP.ARROW_RIGHT && !rtl) || (key === this.platform.KEYMAP.ARROW_LEFT && rtl)) {\n newIndex = newIndex === itemsArray.length - 1 ? 0 : newIndex + 1;\n while (hasDisabledItems && itemsArray[newIndex].disabled && newIndex < itemsArray.length) {\n newIndex = newIndex === itemsArray.length - 1 ? 0 : newIndex + 1;\n }\n } else {\n newIndex = newIndex === 0 ? itemsArray.length - 1 : newIndex - 1;\n while (hasDisabledItems && itemsArray[newIndex].disabled && newIndex >= 0) {\n newIndex = newIndex === 0 ? itemsArray.length - 1 : newIndex - 1;\n }\n }\n return newIndex;\n }\n}\n","<ng-content select=\"igx-prefix,[igxPrefix]\"></ng-content>\n\n<div class=\"igx-tab-header__inner\">\n <ng-content></ng-content>\n</div>\n\n<ng-content select=\"igx-suffix,[igxSuffix]\"></ng-content>\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core';\nimport { IgxTabItemDirective } from '../../tab-item.directive';\n\n@Component({\n selector: 'igx-tab-item',\n templateUrl: 'tab-item.component.html',\n styleUrl: 'tab-item.component.css',\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: IgxTabItemDirective, useExisting: IgxTabItemComponent }],\n changeDetection: ChangeDetectionStrategy.Eager,\n standalone: true\n})\nexport class IgxTabItemComponent extends IgxTabItemDirective {\n\n}\n","<ng-template #headerTemplate>\n <ng-content select=\"igx-tab-header\"></ng-content>\n</ng-template>\n<ng-template #panelTemplate>\n <ng-content select=\"igx-tab-content\"></ng-content>\n</ng-template>\n","import { Directive } from '@angular/core';\nimport { IgxNoTypographyDirective } from 'igniteui-angular/directives';\n\n@Directive({\n selector: '[igxTabHeaderLabel],igx-tab-header-label',\n standalone: true,\n hostDirectives: [IgxNoTypographyDirective]\n})\nexport class IgxTabHeaderLabelDirective { }\n\n@Directive({\n selector: '[igxTabHeaderIcon],igx-tab-header-icon',\n standalone: true\n})\nexport class IgxTabHeaderIconDirective { }\n","import { IgxTabContentComponent } from './content/tab-content.component';\nimport { IgxTabHeaderComponent } from './header/tab-header.component';\nimport { IgxTabItemComponent } from './item/tab-item.component';\nimport { IgxPrefixDirective, IgxSuffixDirective } from 'igniteui-angular/input-group';\nimport { IgxTabsComponent } from './tabs.component';\nimport { IgxTabHeaderIconDirective, IgxTabHeaderLabelDirective } from './tabs.directives';\n\nexport * from './tabs.component';\nexport * from './item/tab-item.component';\nexport * from './header/tab-header.component';\nexport * from './tabs.directives';\nexport * from './content/tab-content.component';\nexport {\n ITabsSelectedIndexChangingEventArgs,\n ITabsSelectedItemChangeEventArgs\n} from '../tabs.directive'\n\n/* NOTE: Tabs directives collection for ease-of-use import in standalone components scenario */\nexport const IGX_TABS_DIRECTIVES = [\n IgxTabsComponent,\n IgxTabItemComponent,\n IgxTabHeaderComponent,\n IgxTabContentComponent,\n IgxTabHeaderLabelDirective,\n IgxTabHeaderIconDirective,\n IgxPrefixDirective,\n IgxSuffixDirective\n] as const;\n","import { NgModule } from '@angular/core';\nimport { IGX_TABS_DIRECTIVES } from './public_api';\n\n/**\n * @hidden\n * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components\n */\n@NgModule({\n imports: [\n ...IGX_TABS_DIRECTIVES\n ],\n exports: [\n ...IGX_TABS_DIRECTIVES\n ]\n})\nexport class IgxTabsModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.IgxTabsComponent","i2.IgxTabItemComponent","i3.IgxTabHeaderComponent","i4.IgxTabContentComponent","i5.IgxTabHeaderLabelDirective","i5.IgxTabHeaderIconDirective"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"igniteui-angular-tabs.mjs","sources":["../../../projects/igniteui-angular/tabs/src/tabs/tabs.base.ts","../../../projects/igniteui-angular/tabs/src/tabs/tab-item.directive.ts","../../../projects/igniteui-angular/tabs/src/tabs/tab-content.directive.ts","../../../projects/igniteui-angular/tabs/src/tabs/tabs/content/tab-content.component.ts","../../../projects/igniteui-angular/tabs/src/tabs/tabs/content/tab-content.component.html","../../../projects/igniteui-angular/tabs/src/tabs/tab-header.directive.ts","../../../projects/igniteui-angular/tabs/src/tabs/tabs.directive.ts","../../../projects/igniteui-angular/tabs/src/tabs/tabs/tabs.component.ts","../../../projects/igniteui-angular/tabs/src/tabs/tabs/tabs.component.html","../../../projects/igniteui-angular/tabs/src/tabs/tabs/header/tab-header.component.ts","../../../projects/igniteui-angular/tabs/src/tabs/tabs/header/tab-header.component.html","../../../projects/igniteui-angular/tabs/src/tabs/tabs/item/tab-item.component.ts","../../../projects/igniteui-angular/tabs/src/tabs/tabs/item/tab-item.component.html","../../../projects/igniteui-angular/tabs/src/tabs/tabs/tabs.directives.ts","../../../projects/igniteui-angular/tabs/src/tabs/tabs/public_api.ts","../../../projects/igniteui-angular/tabs/src/tabs/tabs/tabs.module.ts","../../../projects/igniteui-angular/tabs/src/igniteui-angular-tabs.ts"],"sourcesContent":["import { QueryList, TemplateRef } from '@angular/core';\n\n/** @hidden */\nexport abstract class IgxTabsBase {\n public items: QueryList<IgxTabItemBase>;\n public selectedIndex: number;\n public abstract selectTab(tab: IgxTabItemBase, selected: boolean);\n}\n\n/** @hidden */\nexport abstract class IgxTabItemBase {\n public disabled: boolean;\n public selected: boolean;\n public headerTemplate: TemplateRef<any>;\n public panelTemplate: TemplateRef<any>;\n public headerComponent: IgxTabHeaderBase;\n public panelComponent: IgxTabContentBase;\n}\n\n/** @hidden */\nexport abstract class IgxTabHeaderBase {\n public nativeElement: HTMLElement;\n}\n\n/** @hidden */\nexport abstract class IgxTabContentBase {\n public nativeElement: HTMLElement;\n}\n\n","import { ContentChild, Directive, EventEmitter, Input, Output, TemplateRef, ViewChild, booleanAttribute, inject } from '@angular/core';\nimport { IgxTabHeaderBase, IgxTabItemBase, IgxTabContentBase, IgxTabsBase } from './tabs.base';\nimport { CarouselAnimationDirection, IgxSlideComponentBase } from 'igniteui-angular/carousel';\n\n@Directive()\nexport abstract class IgxTabItemDirective implements IgxTabItemBase, IgxSlideComponentBase {\n /** @hidden */\n private tabs = inject(IgxTabsBase);\n\n /** @hidden */\n @ContentChild(IgxTabHeaderBase)\n public headerComponent: IgxTabHeaderBase;\n\n /** @hidden */\n @ContentChild(IgxTabContentBase)\n public panelComponent: IgxTabContentBase;\n\n /** @hidden */\n @ViewChild('headerTemplate', { static: true })\n public headerTemplate: TemplateRef<any>;\n\n /** @hidden */\n @ViewChild('panelTemplate', { static: true })\n public panelTemplate: TemplateRef<any>;\n\n /**\n * Output to enable support for two-way binding on [(selected)]\n */\n @Output()\n public selectedChange = new EventEmitter<boolean>();\n\n /**\n * Disables the item.\n */\n @Input({ transform: booleanAttribute })\n public disabled = false;\n\n /** @hidden */\n public direction = CarouselAnimationDirection.NONE;\n /** @hidden */\n public previous: boolean;\n\n private _selected = false;\n\n /**\n * Gets/Sets whether an item is selected.\n */\n @Input({ transform: booleanAttribute })\n public get selected(): boolean {\n return this._selected;\n }\n\n public set selected(value: boolean) {\n if (this._selected !== value) {\n this._selected = value;\n this.tabs.selectTab(this, this._selected);\n this.selectedChange.emit(this._selected);\n }\n }\n}\n","import { Directive, ElementRef, HostBinding, inject } from '@angular/core';\nimport { IgxTabItemDirective } from './tab-item.directive';\nimport { IgxTabContentBase } from './tabs.base';\n\n@Directive()\nexport abstract class IgxTabContentDirective implements IgxTabContentBase {\n /** @hidden */\n public tab = inject(IgxTabItemDirective);\n /** @hidden */\n private elementRef = inject(ElementRef<HTMLElement>);\n\n /** @hidden */\n @HostBinding('attr.role')\n public role = 'tabpanel';\n\n /** @hidden */\n @HostBinding('attr.tabindex')\n public get tabIndex() {\n return this.tab.selected ? 0 : -1;\n }\n\n /** @hidden */\n @HostBinding('style.z-index')\n public get zIndex() {\n return this.tab.selected ? 'auto' : -1;\n }\n\n /** @hidden */\n public get nativeElement() {\n return this.elementRef.nativeElement;\n }\n}\n","import {ChangeDetectionStrategy, Component, HostBinding, ViewEncapsulation} from '@angular/core';\nimport { IgxTabContentDirective } from '../../tab-content.directive';\nimport { IgxTabContentBase } from '../../tabs.base';\n\n@Component({\n selector: 'igx-tab-content',\n templateUrl: 'tab-content.component.html',\n styleUrl: 'tab-content.component.css',\n changeDetection: ChangeDetectionStrategy.Eager,\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: IgxTabContentBase, useExisting: IgxTabContentComponent }],\n})\nexport class IgxTabContentComponent extends IgxTabContentDirective {\n /** @hidden */\n @HostBinding('class.igx-tabs-content__inner')\n public cssClass = true;\n}\n","@if (tab.selected || tab.previous) {\n <ng-content></ng-content>\n}\n","\nimport { Directive, ElementRef, HostBinding, HostListener, inject } from '@angular/core';\nimport { PlatformUtil } from 'igniteui-angular/core';\nimport { IgxTabItemDirective } from './tab-item.directive';\nimport { IgxTabHeaderBase, IgxTabsBase } from './tabs.base';\n\n@Directive()\nexport abstract class IgxTabHeaderDirective implements IgxTabHeaderBase {\n /** @hidden */\n protected tabs = inject(IgxTabsBase);\n /** @hidden */\n public tab = inject(IgxTabItemDirective);\n /** @hidden */\n private elementRef = inject(ElementRef<HTMLElement>);\n /** @hidden */\n protected platform = inject(PlatformUtil);\n\n /** @hidden */\n @HostBinding('attr.role')\n public role = 'tab';\n\n /** @hidden */\n @HostBinding('attr.tabindex')\n public get tabIndex() {\n return this.tab.selected ? 0 : -1;\n }\n\n /** @hidden */\n @HostBinding('attr.aria-selected')\n public get ariaSelected() {\n return this.tab.selected;\n }\n\n /** @hidden */\n @HostBinding('attr.aria-disabled')\n public get ariaDisabled() {\n return this.tab.disabled;\n }\n\n /** @hidden */\n @HostListener('click')\n public onClick() {\n if (this.tab.panelComponent) {\n this.tabs.selectTab(this.tab, true);\n }\n }\n\n /** @hidden */\n public get nativeElement() {\n return this.elementRef.nativeElement;\n }\n}\n","import {\n AfterViewInit, ContentChildren, Directive, ElementRef, EventEmitter,\n Input, OnDestroy, Output, QueryList, booleanAttribute,\n inject\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { IBaseEventArgs, isLeftToRight } from 'igniteui-angular/core';\nimport { IgxTabItemDirective } from './tab-item.directive';\nimport { IgxTabContentBase, IgxTabsBase } from './tabs.base';\nimport { IgxCarouselComponentBase, CarouselAnimationDirection } from 'igniteui-angular/carousel';\n\nexport interface ITabsBaseEventArgs extends IBaseEventArgs {\n readonly owner: IgxTabsDirective;\n}\n\nexport interface ITabsSelectedIndexChangingEventArgs extends ITabsBaseEventArgs {\n cancel: boolean;\n readonly oldIndex: number;\n newIndex: number;\n}\n\nexport interface ITabsSelectedItemChangeEventArgs extends ITabsBaseEventArgs {\n readonly oldItem: IgxTabItemDirective;\n readonly newItem: IgxTabItemDirective;\n}\n\n@Directive()\nexport abstract class IgxTabsDirective extends IgxCarouselComponentBase implements IgxTabsBase, AfterViewInit, OnDestroy {\n protected readonly _element = inject<ElementRef<HTMLElement>>(ElementRef);\n\n /**\n * Gets/Sets the index of the selected item.\n * Default value is 0 if contents are defined otherwise defaults to -1.\n */\n @Input()\n public get selectedIndex(): number {\n return this._selectedIndex;\n }\n\n public set selectedIndex(value: number) {\n if (this._selectedIndex !== value) {\n let newIndex = value;\n const oldIndex = this._selectedIndex;\n const args: ITabsSelectedIndexChangingEventArgs = {\n owner: this,\n cancel: false,\n oldIndex,\n newIndex\n };\n this.selectedIndexChanging.emit(args);\n\n if (!args.cancel) {\n newIndex = args.newIndex;\n this._selectedIndex = newIndex;\n this.selectedIndexChange.emit(this._selectedIndex);\n }\n\n this.updateSelectedTabs(oldIndex);\n }\n }\n\n /**\n * Enables/disables the transition animation of the contents.\n */\n @Input({ transform: booleanAttribute })\n public disableAnimation = false;\n\n /**\n * Output to enable support for two-way binding on [(selectedIndex)]\n */\n @Output()\n public selectedIndexChange = new EventEmitter<number>();\n\n /**\n * Emitted when the selected index is about to change.\n */\n @Output()\n public selectedIndexChanging = new EventEmitter<ITabsSelectedIndexChangingEventArgs>();\n\n /**\n * Emitted when the selected item is changed.\n */\n @Output()\n public selectedItemChange = new EventEmitter<ITabsSelectedItemChangeEventArgs>();\n\n /**\n * Returns the items.\n */\n @ContentChildren(IgxTabItemDirective)\n public items: QueryList<IgxTabItemDirective>;\n\n /**\n * Gets the selected item.\n */\n public get selectedItem(): IgxTabItemDirective {\n return this.items && this.selectedIndex >= 0 && this.selectedIndex < this.items.length ?\n this.items.get(this.selectedIndex) : null;\n }\n\n /** @hidden */\n @ContentChildren(IgxTabContentBase, { descendants: true })\n public panels: QueryList<IgxTabContentBase>;\n\n /** @hidden */\n protected override currentItem: IgxTabItemDirective;\n /** @hidden */\n protected override previousItem: IgxTabItemDirective;\n /** @hidden */\n protected componentName: string;\n\n private _selectedIndex = -1;\n private _itemChanges$: Subscription;\n\n /** @hidden */\n public ngAfterViewInit(): void {\n if (this._selectedIndex === -1) {\n const hasSelectedTab = this.items.some((tab, i) => {\n if (tab.selected) {\n this._selectedIndex = i;\n }\n return tab.selected;\n });\n\n if (!hasSelectedTab && this.hasPanels) {\n this._selectedIndex = 0;\n }\n }\n\n // Use promise to avoid expression changed after check error\n Promise.resolve().then(() => {\n this.updateSelectedTabs(null, false);\n });\n\n this._itemChanges$ = this.items.changes.subscribe(() => {\n this.onItemChanges();\n });\n\n this.setAttributes();\n }\n\n /** @hidden */\n public override ngOnDestroy(): void {\n super.ngOnDestroy();\n if (this._itemChanges$) {\n this._itemChanges$.unsubscribe();\n }\n }\n\n /** @hidden */\n public selectTab(tab: IgxTabItemDirective, selected: boolean): void {\n if (!this.items) {\n return;\n }\n\n const tabs = this.items.toArray();\n\n if (selected) {\n const index = tabs.indexOf(tab);\n if (index > -1) {\n this.selectedIndex = index;\n }\n } else {\n if (tabs.every(t => !t.selected)) {\n this.selectedIndex = -1;\n }\n }\n }\n\n /** @hidden */\n protected getPreviousElement(): HTMLElement {\n return this.previousItem.panelComponent.nativeElement;\n }\n\n /** @hidden */\n protected getCurrentElement(): HTMLElement {\n return this.currentItem.panelComponent.nativeElement;\n }\n\n /** @hidden */\n protected scrollTabHeaderIntoView() {\n }\n\n /** @hidden */\n protected onItemChanges() {\n this.setAttributes();\n\n // Check if there is selected tab\n let selectedIndex = -1;\n this.items.some((tab, i) => {\n if (tab.selected) {\n selectedIndex = i;\n }\n return tab.selected;\n });\n\n if (selectedIndex >= 0) {\n // Set the selected index to the tab that has selected=true\n Promise.resolve().then(() => {\n this.selectedIndex = selectedIndex;\n });\n } else {\n if (this.selectedIndex >= 0 && this.selectedIndex < this.items.length) {\n // Select the tab on the same index the previous selected tab was\n Promise.resolve().then(() => {\n this.updateSelectedTabs(null);\n });\n } else if (this.selectedIndex >= this.items.length) {\n // Select the last tab\n Promise.resolve().then(() => {\n this.selectedIndex = this.items.length - 1;\n });\n }\n }\n }\n\n private setAttributes() {\n this.items.forEach(item => {\n if (item.panelComponent && !item.headerComponent.nativeElement.getAttribute('id')) {\n const id = this.getNextTabId();\n const tabHeaderId = `${this.componentName}-header-${id}`;\n const tabPanelId = `${this.componentName}-content-${id}`;\n\n this.setHeaderAttribute(item, 'id', tabHeaderId);\n this.setHeaderAttribute(item, 'aria-controls', tabPanelId);\n this.setPanelAttribute(item, 'id', tabPanelId);\n this.setPanelAttribute(item, 'aria-labelledby', tabHeaderId);\n }\n });\n }\n\n private setHeaderAttribute(item: IgxTabItemDirective, attrName: string, value: string) {\n item.headerComponent.nativeElement.setAttribute(attrName, value);\n }\n\n private setPanelAttribute(item: IgxTabItemDirective, attrName: string, value: string) {\n item.panelComponent.nativeElement.setAttribute(attrName, value);\n }\n\n private get hasPanels() {\n return this.panels && this.panels.length;\n }\n\n private updateSelectedTabs(oldSelectedIndex: number, raiseEvent = true) {\n if (!this.items) {\n return;\n }\n\n let newTab: IgxTabItemDirective;\n const oldTab = this.currentItem;\n\n // First select the new tab\n if (this._selectedIndex >= 0 && this._selectedIndex < this.items.length) {\n newTab = this.items.get(this._selectedIndex);\n newTab.selected = true;\n }\n // Then unselect the other tabs\n this.items.forEach((tab, i) => {\n if (i !== this._selectedIndex) {\n tab.selected = false;\n }\n });\n\n if (this._selectedIndex !== oldSelectedIndex) {\n this.scrollTabHeaderIntoView();\n this.triggerPanelAnimations(oldSelectedIndex);\n\n if (raiseEvent && newTab !== oldTab) {\n this.selectedItemChange.emit({\n owner: this,\n newItem: newTab,\n oldItem: oldTab\n });\n }\n }\n }\n\n private triggerPanelAnimations(oldSelectedIndex: number) {\n const item = this.items.get(this._selectedIndex);\n const rtl = !isLeftToRight(this._element.nativeElement);\n\n if (item &&\n !this.disableAnimation &&\n this.hasPanels &&\n this.currentItem &&\n !this.currentItem.selected) {\n item.direction = (!rtl && this._selectedIndex > oldSelectedIndex) ||\n (rtl && this._selectedIndex < oldSelectedIndex)\n ? CarouselAnimationDirection.NEXT : CarouselAnimationDirection.PREV;\n\n if (this.previousItem && this.previousItem.previous) {\n this.previousItem.previous = false;\n }\n this.currentItem.direction = item.direction;\n\n this.previousItem = this.currentItem;\n this.currentItem = item;\n this.triggerAnimations();\n } else {\n this.currentItem = item;\n }\n }\n\n /** @hidden */\n protected abstract getNextTabId();\n}\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n HostBinding,\n Input,\n NgZone,\n OnDestroy,\n ViewChild,\n inject,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n} from '@angular/core';\nimport { IgxTabsBase } from '../tabs.base';\nimport { IgxTabsDirective } from '../tabs.directive';\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\nimport { IgxIconButtonDirective, IgxRippleDirective } from 'igniteui-angular/directives';\nimport { IgxIconComponent } from 'igniteui-angular/icon';\nimport { getResizeObserver, PlatformUtil, isLeftToRight } from 'igniteui-angular/core';\n\nexport const IgxTabsAlignment = {\n start: 'start',\n end: 'end',\n center: 'center',\n justify: 'justify'\n} as const;\n\n/** @hidden */\nconst enum TabScrollButtonStyle {\n Enabled = 'enabled',\n Disabled = 'disabled',\n NotDisplayed = 'not_displayed'\n}\n\nexport type IgxTabsAlignment = (typeof IgxTabsAlignment)[keyof typeof IgxTabsAlignment];\n\n/** @hidden */\nlet NEXT_TAB_ID = 0;\n\n/**\n * Tabs component is used to organize or switch between similar data sets.\n *\n * @igxModule IgxTabsModule\n *\n * @igxTheme igx-tabs-theme\n *\n * @igxKeywords tabs\n *\n * @igxGroup Layouts\n *\n * @remarks\n * The Ignite UI for Angular Tabs component places tabs at the top and allows for scrolling when there are multiple tab items on the screen.\n *\n * @example\n * ```html\n * <igx-tabs>\n * <igx-tab-item>\n * <igx-tab-header>\n * <igx-icon igxTabHeaderIcon>folder</igx-icon>\n * <span igxTabHeaderLabel>Tab 1</span>\n * </igx-tab-header>\n * <igx-tab-content>\n * Content 1\n * </igx-tab-content>\n * </igx-tab-item>\n * ...\n * </igx-tabs>\n * ```\n */\n@Component({\n selector: 'igx-tabs',\n templateUrl: 'tabs.component.html',\n styleUrl: 'tabs.component.css',\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: IgxTabsBase, useExisting: IgxTabsComponent }],\n changeDetection: ChangeDetectionStrategy.Eager,\n imports: [IgxRippleDirective, IgxIconComponent, NgClass, NgTemplateOutlet, IgxIconButtonDirective]\n})\n\nexport class IgxTabsComponent extends IgxTabsDirective implements AfterViewInit, OnDestroy {\n private ngZone = inject(NgZone);\n private platform = inject(PlatformUtil);\n\n\n /**\n * Gets/Sets the tab alignment. Defaults to `start`.\n */\n @Input()\n public get tabAlignment(): string | IgxTabsAlignment {\n return this._tabAlignment;\n }\n\n public set tabAlignment(value: string | IgxTabsAlignment) {\n this._tabAlignment = value;\n requestAnimationFrame(() => {\n this.updateScrollButtons();\n this.realignSelectedIndicator();\n });\n }\n\n /**\n * Determines the tab activation.\n * When set to auto, the tab is instantly selected while navigating with the Left/Right Arrows, Home or End keys and the corresponding panel is displayed.\n * When set to manual, the tab is only focused. The selection happens after pressing Space or Enter.\n * Defaults is auto.\n */\n @Input()\n public activation: 'auto' | 'manual' = 'auto';\n\n /** @hidden */\n @ViewChild('headerContainer', { static: true })\n public headerContainer: ElementRef<HTMLElement>;\n\n /** @hidden */\n @ViewChild('viewPort', { static: true })\n public viewPort: ElementRef<HTMLElement>;\n\n /** @hidden */\n @ViewChild('itemsWrapper', { static: true })\n public itemsWrapper: ElementRef<HTMLElement>;\n\n /** @hidden */\n @ViewChild('itemsContainer', { static: true })\n public itemsContainer: ElementRef<HTMLElement>;\n\n /** @hidden */\n @ViewChild('selectedIndicator')\n public selectedIndicator: ElementRef<HTMLElement>;\n\n /** @hidden */\n @ViewChild('scrollPrevButton')\n public scrollPrevButton: ElementRef<HTMLButtonElement>;\n\n /** @hidden */\n @ViewChild('scrollNextButton')\n public scrollNextButton: ElementRef<HTMLButtonElement>;\n\n /** @hidden */\n @HostBinding('class.igx-tabs')\n public defaultClass = true;\n\n /** @hidden */\n public offset = 0;\n\n /** @hidden */\n protected override componentName = 'igx-tabs';\n\n private _tabAlignment: string | IgxTabsAlignment = 'start';\n private _resizeObserver: ResizeObserver;\n\n /** @hidden @internal */\n public override ngAfterViewInit(): void {\n super.ngAfterViewInit();\n\n this.ngZone.runOutsideAngular(() => {\n if (this.platform.isBrowser) {\n this._resizeObserver = new (getResizeObserver())(() => {\n this.updateScrollButtons();\n this.realignSelectedIndicator();\n });\n this._resizeObserver.observe(this.headerContainer.nativeElement);\n this._resizeObserver.observe(this.viewPort.nativeElement);\n }\n });\n }\n\n /** @hidden @internal */\n public override ngOnDestroy(): void {\n super.ngOnDestroy();\n\n this.ngZone.runOutsideAngular(() => {\n this._resizeObserver?.disconnect();\n });\n }\n\n /** @hidden */\n public scrollPrev() {\n this.scroll(false);\n }\n\n /** @hidden */\n public scrollNext() {\n this.scroll(true);\n }\n\n /** @hidden */\n public realignSelectedIndicator() {\n if (this.selectedIndex >= 0 && this.selectedIndex < this.items.length) {\n const header = this.items.get(this.selectedIndex).headerComponent.nativeElement;\n this.alignSelectedIndicator(header, 0);\n }\n }\n\n /** @hidden */\n public resolveHeaderScrollClasses() {\n return {\n 'igx-tabs-header-scroll--start': this.tabAlignment === 'start',\n 'igx-tabs-header-scroll--end': this.tabAlignment === 'end',\n 'igx-tabs-header-scroll--center': this.tabAlignment === 'center',\n 'igx-tabs-header-scroll--justify': this.tabAlignment === 'justify',\n };\n }\n\n /** @hidden */\n protected override scrollTabHeaderIntoView() {\n if (this.selectedIndex >= 0) {\n const tabItems = this.items.toArray();\n const tabHeaderNativeElement = tabItems[this.selectedIndex].headerComponent.nativeElement;\n\n // Scroll left if there is need\n if (this.getElementOffset(tabHeaderNativeElement) < this.offset) {\n this.scrollElement(tabHeaderNativeElement, false);\n }\n\n // Scroll right if there is need\n const viewPortOffsetWidth = this.viewPort.nativeElement.offsetWidth;\n const delta = (this.getElementOffset(tabHeaderNativeElement) + tabHeaderNativeElement.offsetWidth) - (viewPortOffsetWidth + this.offset);\n\n // Fix for IE 11, a difference is accumulated from the widths calculations\n if (delta > 1) {\n this.scrollElement(tabHeaderNativeElement, true);\n }\n\n this.alignSelectedIndicator(tabHeaderNativeElement);\n } else {\n this.hideSelectedIndicator();\n }\n }\n\n /** @hidden */\n protected getNextTabId() {\n return NEXT_TAB_ID++;\n }\n\n /** @hidden */\n protected override onItemChanges() {\n super.onItemChanges();\n\n Promise.resolve().then(() => {\n this.updateScrollButtons();\n });\n }\n\n private alignSelectedIndicator(element: HTMLElement, duration = 0.3): void {\n if (this.selectedIndicator) {\n this.selectedIndicator.nativeElement.style.visibility = 'visible';\n this.selectedIndicator.nativeElement.style.transitionDuration = duration > 0 ? `${duration}s` : 'initial';\n this.selectedIndicator.nativeElement.style.width = `${element.offsetWidth}px`;\n this.selectedIndicator.nativeElement.style.transform = `translate(${element.offsetLeft}px)`;\n }\n }\n\n private hideSelectedIndicator(): void {\n if (this.selectedIndicator) {\n this.selectedIndicator.nativeElement.style.visibility = 'hidden';\n }\n }\n\n private scroll(scrollNext: boolean): void {\n const tabsArray = this.items.toArray();\n\n for (let index = 0; index < tabsArray.length; index++) {\n const tab = tabsArray[index];\n const element = tab.headerComponent.nativeElement;\n if (scrollNext) {\n if (element.offsetWidth + this.getElementOffset(element) > this.viewPort.nativeElement.offsetWidth + this.offset) {\n this.scrollElement(element, scrollNext);\n break;\n }\n } else {\n if (this.getElementOffset(element) >= this.offset) {\n this.scrollElement(tabsArray[index - 1].headerComponent.nativeElement, scrollNext);\n break;\n }\n }\n }\n }\n\n private scrollElement(element: any, scrollNext: boolean): void {\n const viewPortWidth = this.viewPort.nativeElement.offsetWidth;\n\n this.offset = (scrollNext) ? element.offsetWidth + this.getElementOffset(element) - viewPortWidth : this.getElementOffset(element);\n this.viewPort.nativeElement.scrollLeft = this.getOffset(this.offset);\n this.updateScrollButtons();\n }\n\n private updateScrollButtons() {\n const itemsContainerWidth = this.getTabItemsContainerWidth();\n\n const scrollPrevButtonStyle = this.resolveLeftScrollButtonStyle(itemsContainerWidth);\n this.setScrollButtonStyle(this.scrollPrevButton.nativeElement, scrollPrevButtonStyle);\n\n const scrollNextButtonStyle = this.resolveRightScrollButtonStyle(itemsContainerWidth);\n this.setScrollButtonStyle(this.scrollNextButton.nativeElement, scrollNextButtonStyle);\n }\n\n private setScrollButtonStyle(button: HTMLButtonElement, buttonStyle: TabScrollButtonStyle) {\n if (buttonStyle === TabScrollButtonStyle.Enabled) {\n button.disabled = false;\n button.style.display = '';\n } else if (buttonStyle === TabScrollButtonStyle.Disabled) {\n button.disabled = true;\n button.style.display = '';\n } else if (buttonStyle === TabScrollButtonStyle.NotDisplayed) {\n button.style.display = 'none';\n }\n }\n private resolveLeftScrollButtonStyle(itemsContainerWidth: number): TabScrollButtonStyle {\n const headerContainerWidth = this.headerContainer.nativeElement.offsetWidth;\n const offset = this.offset;\n\n if (offset === 0) {\n // Fix for IE 11, a difference is accumulated from the widths calculations.\n if (itemsContainerWidth - headerContainerWidth <= 1) {\n return TabScrollButtonStyle.NotDisplayed;\n }\n return TabScrollButtonStyle.Disabled;\n } else {\n return TabScrollButtonStyle.Enabled;\n }\n }\n\n private resolveRightScrollButtonStyle(itemsContainerWidth: number): TabScrollButtonStyle {\n const viewPortWidth = this.viewPort.nativeElement.offsetWidth;\n const headerContainerWidth = this.headerContainer.nativeElement.offsetWidth;\n const offset = this.offset;\n const total = offset + viewPortWidth;\n\n // Fix for IE 11, a difference is accumulated from the widths calculations.\n if (itemsContainerWidth - headerContainerWidth <= 1 && offset === 0) {\n return TabScrollButtonStyle.NotDisplayed;\n }\n\n if (itemsContainerWidth > total) {\n return TabScrollButtonStyle.Enabled;\n } else {\n return TabScrollButtonStyle.Disabled;\n }\n }\n\n private getTabItemsContainerWidth() {\n // We use this hacky way to get the width of the itemsContainer,\n // because there is inconsistency in IE we cannot use offsetWidth or scrollOffset.\n const itemsContainerChildrenCount = this.itemsContainer.nativeElement.children.length;\n let itemsContainerWidth = 0;\n\n if (itemsContainerChildrenCount > 1) {\n const lastTab = this.itemsContainer.nativeElement.children[itemsContainerChildrenCount - 1] as HTMLElement;\n itemsContainerWidth = this.getElementOffset(lastTab) + lastTab.offsetWidth;\n }\n\n return itemsContainerWidth;\n }\n\n private getOffset(offset: number): number {\n return isLeftToRight(this._element.nativeElement) ? offset : -offset;\n }\n\n private getElementOffset(element: HTMLElement): number {\n const rtl = !isLeftToRight(this._element.nativeElement);\n return rtl ? this.itemsWrapper.nativeElement.offsetWidth - element.offsetLeft - element.offsetWidth : element.offsetLeft;\n }\n}\n","<div #headerContainer class=\"igx-tabs-header\">\n <button #scrollPrevButton type=\"button\" igxIconButton=\"flat\" igxRipple tabindex=\"-1\" class=\"igx-tabs-header-button\" (click)=\"scrollPrev()\">\n <igx-icon family=\"default\" name=\"prev\"></igx-icon>\n </button>\n <div #viewPort class=\"igx-tabs-header__content\">\n <div #itemsWrapper class=\"igx-tabs-header__wrapper\" role=\"tablist\">\n <div #itemsContainer class=\"igx-tabs-header-scroll\" [ngClass]=\"resolveHeaderScrollClasses()\">\n @for (tab of items; track tab; let i = $index) {\n <ng-container *ngTemplateOutlet=\"tab.headerTemplate\"></ng-container>\n }\n </div>\n @if (items.length > 0) {\n <div #selectedIndicator class=\"igx-tabs-header__active-indicator\">\n </div>\n }\n </div>\n </div>\n <button #scrollNextButton type=\"button\" igxIconButton=\"flat\" igxRipple tabindex=\"-1\" class=\"igx-tabs-header-button\" (click)=\"scrollNext()\">\n <igx-icon family=\"default\" name=\"next\"></igx-icon>\n </button>\n</div>\n<div class=\"igx-tabs-content\">\n @for (tab of items; track tab; let i = $index) {\n <ng-container *ngTemplateOutlet=\"tab.panelTemplate\"></ng-container>\n }\n</div>\n","import {\n AfterViewInit,\n Component,\n HostBinding,\n HostListener,\n NgZone,\n OnDestroy,\n inject,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n} from '@angular/core';\nimport { IgxTabHeaderDirective } from '../../tab-header.directive';\nimport { IgxTabHeaderBase } from '../../tabs.base';\nimport { IgxTabsComponent } from './../tabs.component';\nimport { getResizeObserver, isLeftToRight } from 'igniteui-angular/core';\n\n@Component({\n selector: 'igx-tab-header',\n templateUrl: 'tab-header.component.html',\n styleUrl: 'tab-header.component.css',\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: IgxTabHeaderBase, useExisting: IgxTabHeaderComponent }],\n changeDetection: ChangeDetectionStrategy.Eager,\n standalone: true\n})\nexport class IgxTabHeaderComponent extends IgxTabHeaderDirective implements AfterViewInit, OnDestroy {\n protected override tabs = inject(IgxTabsComponent);\n private ngZone = inject(NgZone);\n\n /** @hidden @internal */\n @HostBinding('class.igx-tab-header--selected')\n public get provideCssClassSelected(): boolean {\n return this.tab.selected;\n }\n\n /** @hidden @internal */\n @HostBinding('class.igx-tab-header--disabled')\n public get provideCssClassDisabled(): boolean {\n return this.tab.disabled;\n }\n\n /** @hidden @internal */\n @HostBinding('class.igx-tab-header--justify')\n public get applyJustifyClass(): boolean {\n return this.tabs.tabAlignment === 'justify'; // Correctly accessing tabsAlignment\n }\n\n /** @hidden @internal */\n @HostBinding('class.igx-tab-header')\n public cssClass = true;\n\n private _resizeObserver: ResizeObserver;\n\n /** @hidden @internal */\n @HostListener('keydown', ['$event'])\n public keyDown(event: KeyboardEvent) {\n let unsupportedKey = false;\n const itemsArray = this.tabs.items.toArray();\n const previousIndex = itemsArray.indexOf(this.tab);\n let newIndex = previousIndex;\n const hasDisabledItems = itemsArray.some((item) => item.disabled);\n\n switch (event.key) {\n case this.platform.KEYMAP.ARROW_RIGHT:\n newIndex = this.getNewSelectionIndex(newIndex, itemsArray, event.key, hasDisabledItems);\n break;\n case this.platform.KEYMAP.ARROW_LEFT:\n newIndex = this.getNewSelectionIndex(newIndex, itemsArray, event.key, hasDisabledItems);\n break;\n case this.platform.KEYMAP.HOME:\n event.preventDefault();\n newIndex = 0;\n while (itemsArray[newIndex].disabled && newIndex < itemsArray.length) {\n newIndex = newIndex === itemsArray.length - 1 ? 0 : newIndex + 1;\n }\n break;\n case this.platform.KEYMAP.END:\n event.preventDefault();\n newIndex = itemsArray.length - 1;\n while (hasDisabledItems && itemsArray[newIndex].disabled && newIndex > 0) {\n newIndex = newIndex === 0 ? itemsArray.length - 1 : newIndex - 1;\n }\n break;\n case this.platform.KEYMAP.ENTER:\n case this.platform.KEYMAP.SPACE:\n event.preventDefault();\n if (this.tabs.activation === 'manual') {\n this.nativeElement.click();\n }\n unsupportedKey = true;\n break;\n default:\n unsupportedKey = true;\n break;\n }\n\n if (!unsupportedKey) {\n itemsArray[newIndex].headerComponent.nativeElement.focus({ preventScroll: true });\n if (this.tabs.activation === 'auto') {\n this.tabs.selectedIndex = newIndex;\n }\n }\n }\n\n /** @hidden @internal */\n public ngAfterViewInit(): void {\n this.ngZone.runOutsideAngular(() => {\n if (this.platform.isBrowser) {\n this._resizeObserver = new (getResizeObserver())(() => {\n this.tabs.realignSelectedIndicator();\n });\n this._resizeObserver.observe(this.nativeElement);\n }\n });\n }\n\n /** @hidden @internal */\n public ngOnDestroy(): void {\n this.ngZone.runOutsideAngular(() => {\n this._resizeObserver?.disconnect();\n });\n }\n\n private getNewSelectionIndex(newIndex: number, itemsArray: any[], key: string, hasDisabledItems: boolean): number {\n const rtl = !isLeftToRight(this.nativeElement);\n\n if ((key === this.platform.KEYMAP.ARROW_RIGHT && !rtl) || (key === this.platform.KEYMAP.ARROW_LEFT && rtl)) {\n newIndex = newIndex === itemsArray.length - 1 ? 0 : newIndex + 1;\n while (hasDisabledItems && itemsArray[newIndex].disabled && newIndex < itemsArray.length) {\n newIndex = newIndex === itemsArray.length - 1 ? 0 : newIndex + 1;\n }\n } else {\n newIndex = newIndex === 0 ? itemsArray.length - 1 : newIndex - 1;\n while (hasDisabledItems && itemsArray[newIndex].disabled && newIndex >= 0) {\n newIndex = newIndex === 0 ? itemsArray.length - 1 : newIndex - 1;\n }\n }\n return newIndex;\n }\n}\n","<ng-content select=\"igx-prefix,[igxPrefix]\"></ng-content>\n\n<div class=\"igx-tab-header__inner\">\n <ng-content></ng-content>\n</div>\n\n<ng-content select=\"igx-suffix,[igxSuffix]\"></ng-content>\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core';\nimport { IgxTabItemDirective } from '../../tab-item.directive';\n\n@Component({\n selector: 'igx-tab-item',\n templateUrl: 'tab-item.component.html',\n styleUrl: 'tab-item.component.css',\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: IgxTabItemDirective, useExisting: IgxTabItemComponent }],\n changeDetection: ChangeDetectionStrategy.Eager,\n standalone: true\n})\nexport class IgxTabItemComponent extends IgxTabItemDirective {\n\n}\n","<ng-template #headerTemplate>\n <ng-content select=\"igx-tab-header\"></ng-content>\n</ng-template>\n<ng-template #panelTemplate>\n <ng-content select=\"igx-tab-content\"></ng-content>\n</ng-template>\n","import { Directive } from '@angular/core';\nimport { IgxNoTypographyDirective } from 'igniteui-angular/directives';\n\n@Directive({\n selector: '[igxTabHeaderLabel],igx-tab-header-label',\n standalone: true,\n hostDirectives: [IgxNoTypographyDirective]\n})\nexport class IgxTabHeaderLabelDirective { }\n\n@Directive({\n selector: '[igxTabHeaderIcon],igx-tab-header-icon',\n standalone: true\n})\nexport class IgxTabHeaderIconDirective { }\n","import { IgxTabContentComponent } from './content/tab-content.component';\nimport { IgxTabHeaderComponent } from './header/tab-header.component';\nimport { IgxTabItemComponent } from './item/tab-item.component';\nimport { IgxPrefixDirective, IgxSuffixDirective } from 'igniteui-angular/input-group';\nimport { IgxTabsComponent } from './tabs.component';\nimport { IgxTabHeaderIconDirective, IgxTabHeaderLabelDirective } from './tabs.directives';\n\nexport * from './tabs.component';\nexport * from './item/tab-item.component';\nexport * from './header/tab-header.component';\nexport * from './tabs.directives';\nexport * from './content/tab-content.component';\nexport {\n ITabsSelectedIndexChangingEventArgs,\n ITabsSelectedItemChangeEventArgs\n} from '../tabs.directive'\n\n/* NOTE: Tabs directives collection for ease-of-use import in standalone components scenario */\nexport const IGX_TABS_DIRECTIVES = [\n IgxTabsComponent,\n IgxTabItemComponent,\n IgxTabHeaderComponent,\n IgxTabContentComponent,\n IgxTabHeaderLabelDirective,\n IgxTabHeaderIconDirective,\n IgxPrefixDirective,\n IgxSuffixDirective\n] as const;\n","import { NgModule } from '@angular/core';\nimport { IGX_TABS_DIRECTIVES } from './public_api';\n\n/**\n * @hidden\n * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components\n */\n@NgModule({\n imports: [\n ...IGX_TABS_DIRECTIVES\n ],\n exports: [\n ...IGX_TABS_DIRECTIVES\n ]\n})\nexport class IgxTabsModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.IgxTabsComponent","i2.IgxTabItemComponent","i3.IgxTabHeaderComponent","i4.IgxTabContentComponent","i5.IgxTabHeaderLabelDirective","i5.IgxTabHeaderIconDirective"],"mappings":";;;;;;;;;;;AAEA;MACsB,WAAW,CAAA;AAIhC;AAED;MACsB,cAAc,CAAA;AAOnC;AAED;MACsB,gBAAgB,CAAA;AAErC;AAED;MACsB,iBAAiB,CAAA;AAEtC;;MCtBqB,mBAAmB,CAAA;AADzC,IAAA,WAAA,GAAA;;AAGY,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC;AAkBlC;;AAEG;AAEI,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,YAAY,EAAW;AAEnD;;AAEG;QAEI,IAAA,CAAA,QAAQ,GAAG,KAAK;;AAGhB,QAAA,IAAA,CAAA,SAAS,GAAG,0BAA0B,CAAC,IAAI;QAI1C,IAAA,CAAA,SAAS,GAAG,KAAK;AAiB5B,IAAA;AAfG;;AAEG;AACH,IAAA,IACW,QAAQ,GAAA;QACf,OAAO,IAAI,CAAC,SAAS;IACzB;IAEA,IAAW,QAAQ,CAAC,KAAc,EAAA;AAC9B,QAAA,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,EAAE;AAC1B,YAAA,IAAI,CAAC,SAAS,GAAG,KAAK;YACtB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACzC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;QAC5C;IACJ;8GArDkB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,mEA6BjB,gBAAgB,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAahB,gBAAgB,CAAA,EAAA,EAAA,OAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EArCtB,gBAAgB,iFAIhB,iBAAiB,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,eAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,eAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FATb,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBADxC;;sBAMI,YAAY;uBAAC,gBAAgB;;sBAI7B,YAAY;uBAAC,iBAAiB;;sBAI9B,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,gBAAgB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;;sBAI5C,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;;sBAM3C;;sBAMA,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;;sBAarC,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;;;MC1CpB,sBAAsB,CAAA;AAD5C,IAAA,WAAA,GAAA;;AAGW,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,mBAAmB,CAAC;;AAEhC,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,EAAC,UAAuB,EAAC;;QAI7C,IAAA,CAAA,IAAI,GAAG,UAAU;AAkB3B,IAAA;;AAfG,IAAA,IACW,QAAQ,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC;IACrC;;AAGA,IAAA,IACW,MAAM,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,MAAM,GAAG,CAAC,CAAC;IAC1C;;AAGA,IAAA,IAAW,aAAa,GAAA;AACpB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa;IACxC;8GAzBkB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,WAAA,EAAA,WAAA,EAAA,eAAA,EAAA,eAAA,EAAA,eAAA,EAAA,aAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAD3C;;sBAQI,WAAW;uBAAC,WAAW;;sBAIvB,WAAW;uBAAC,eAAe;;sBAM3B,WAAW;uBAAC,eAAe;;;ACV1B,MAAO,sBAAuB,SAAQ,sBAAsB,CAAA;AARlE,IAAA,WAAA,GAAA;;;QAWW,IAAA,CAAA,QAAQ,GAAG,IAAI;AACzB,IAAA;8GAJY,sBAAsB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,+BAAA,EAAA,eAAA,EAAA,EAAA,EAAA,SAAA,EAFpB,CAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,sBAAsB,EAAE,CAAC,iDCVpF,0EAGA,EAAA,MAAA,EAAA,CAAA,0XAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,KAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FDSa,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBARlC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,mBAGV,uBAAuB,CAAC,KAAK,EAAA,aAAA,EAC/B,iBAAiB,CAAC,IAAI,EAAA,SAAA,EAC1B,CAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAA,sBAAwB,EAAE,CAAC,EAAA,QAAA,EAAA,0EAAA,EAAA,MAAA,EAAA,CAAA,0XAAA,CAAA,EAAA;;sBAI/E,WAAW;uBAAC,+BAA+B;;;MEP1B,qBAAqB,CAAA;AAD3C,IAAA,WAAA,GAAA;;AAGc,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC;;AAE7B,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,mBAAmB,CAAC;;AAEhC,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,EAAC,UAAuB,EAAC;;AAE1C,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC;;QAIlC,IAAA,CAAA,IAAI,GAAG,KAAK;AAgCtB,IAAA;;AA7BG,IAAA,IACW,QAAQ,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC;IACrC;;AAGA,IAAA,IACW,YAAY,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ;IAC5B;;AAGA,IAAA,IACW,YAAY,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ;IAC5B;;IAIO,OAAO,GAAA;AACV,QAAA,IAAI,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE;YACzB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC;QACvC;IACJ;;AAGA,IAAA,IAAW,aAAa,GAAA;AACpB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa;IACxC;8GA3CkB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,WAAA,EAAA,EAAA,UAAA,EAAA,EAAA,WAAA,EAAA,WAAA,EAAA,eAAA,EAAA,eAAA,EAAA,oBAAA,EAAA,mBAAA,EAAA,oBAAA,EAAA,mBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAD1C;;sBAYI,WAAW;uBAAC,WAAW;;sBAIvB,WAAW;uBAAC,eAAe;;sBAM3B,WAAW;uBAAC,oBAAoB;;sBAMhC,WAAW;uBAAC,oBAAoB;;sBAMhC,YAAY;uBAAC,OAAO;;;ACbnB,MAAgB,gBAAiB,SAAQ,wBAAwB,CAAA;AADvE,IAAA,WAAA,GAAA;;AAEuB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAA0B,UAAU,CAAC;AAiCzE;;AAEG;QAEI,IAAA,CAAA,gBAAgB,GAAG,KAAK;AAE/B;;AAEG;AAEI,QAAA,IAAA,CAAA,mBAAmB,GAAG,IAAI,YAAY,EAAU;AAEvD;;AAEG;AAEI,QAAA,IAAA,CAAA,qBAAqB,GAAG,IAAI,YAAY,EAAuC;AAEtF;;AAEG;AAEI,QAAA,IAAA,CAAA,kBAAkB,GAAG,IAAI,YAAY,EAAoC;QA2BxE,IAAA,CAAA,cAAc,GAAG,CAAC,CAAC;AAkM9B,IAAA;AAlRG;;;AAGG;AACH,IAAA,IACW,aAAa,GAAA;QACpB,OAAO,IAAI,CAAC,cAAc;IAC9B;IAEA,IAAW,aAAa,CAAC,KAAa,EAAA;AAClC,QAAA,IAAI,IAAI,CAAC,cAAc,KAAK,KAAK,EAAE;YAC/B,IAAI,QAAQ,GAAG,KAAK;AACpB,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc;AACpC,YAAA,MAAM,IAAI,GAAwC;AAC9C,gBAAA,KAAK,EAAE,IAAI;AACX,gBAAA,MAAM,EAAE,KAAK;gBACb,QAAQ;gBACR;aACH;AACD,YAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC;AAErC,YAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;AACd,gBAAA,QAAQ,GAAG,IAAI,CAAC,QAAQ;AACxB,gBAAA,IAAI,CAAC,cAAc,GAAG,QAAQ;gBAC9B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;YACtD;AAEA,YAAA,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC;QACrC;IACJ;AAgCA;;AAEG;AACH,IAAA,IAAW,YAAY,GAAA;QACnB,OAAO,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM;AAClF,YAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI;IACjD;;IAiBO,eAAe,GAAA;AAClB,QAAA,IAAI,IAAI,CAAC,cAAc,KAAK,CAAC,CAAC,EAAE;AAC5B,YAAA,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,KAAI;AAC9C,gBAAA,IAAI,GAAG,CAAC,QAAQ,EAAE;AACd,oBAAA,IAAI,CAAC,cAAc,GAAG,CAAC;gBAC3B;gBACA,OAAO,GAAG,CAAC,QAAQ;AACvB,YAAA,CAAC,CAAC;AAEF,YAAA,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,SAAS,EAAE;AACnC,gBAAA,IAAI,CAAC,cAAc,GAAG,CAAC;YAC3B;QACJ;;AAGA,QAAA,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAK;AACxB,YAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC;AACxC,QAAA,CAAC,CAAC;AAEF,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,MAAK;YACnD,IAAI,CAAC,aAAa,EAAE;AACxB,QAAA,CAAC,CAAC;QAEF,IAAI,CAAC,aAAa,EAAE;IACxB;;IAGgB,WAAW,GAAA;QACvB,KAAK,CAAC,WAAW,EAAE;AACnB,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACpB,YAAA,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE;QACpC;IACJ;;IAGO,SAAS,CAAC,GAAwB,EAAE,QAAiB,EAAA;AACxD,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACb;QACJ;QAEA,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;QAEjC,IAAI,QAAQ,EAAE;YACV,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;AAC/B,YAAA,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;AACZ,gBAAA,IAAI,CAAC,aAAa,GAAG,KAAK;YAC9B;QACJ;aAAO;AACH,YAAA,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE;AAC9B,gBAAA,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;YAC3B;QACJ;IACJ;;IAGU,kBAAkB,GAAA;AACxB,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,aAAa;IACzD;;IAGU,iBAAiB,GAAA;AACvB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,aAAa;IACxD;;IAGU,uBAAuB,GAAA;IACjC;;IAGU,aAAa,GAAA;QACnB,IAAI,CAAC,aAAa,EAAE;;AAGpB,QAAA,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,KAAI;AACvB,YAAA,IAAI,GAAG,CAAC,QAAQ,EAAE;gBACd,aAAa,GAAG,CAAC;YACrB;YACA,OAAO,GAAG,CAAC,QAAQ;AACvB,QAAA,CAAC,CAAC;AAEF,QAAA,IAAI,aAAa,IAAI,CAAC,EAAE;;AAEpB,YAAA,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAK;AACxB,gBAAA,IAAI,CAAC,aAAa,GAAG,aAAa;AACtC,YAAA,CAAC,CAAC;QACN;aAAO;AACH,YAAA,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;;AAEnE,gBAAA,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAK;AACxB,oBAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;AACjC,gBAAA,CAAC,CAAC;YACN;iBAAO,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;;AAEhD,gBAAA,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAK;oBACxB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;AAC9C,gBAAA,CAAC,CAAC;YACN;QACJ;IACJ;IAEQ,aAAa,GAAA;AACjB,QAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,IAAG;AACtB,YAAA,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;AAC/E,gBAAA,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE;gBAC9B,MAAM,WAAW,GAAG,CAAA,EAAG,IAAI,CAAC,aAAa,CAAA,QAAA,EAAW,EAAE,CAAA,CAAE;gBACxD,MAAM,UAAU,GAAG,CAAA,EAAG,IAAI,CAAC,aAAa,CAAA,SAAA,EAAY,EAAE,CAAA,CAAE;gBAExD,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC;gBAChD,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,eAAe,EAAE,UAAU,CAAC;gBAC1D,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC;gBAC9C,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,EAAE,WAAW,CAAC;YAChE;AACJ,QAAA,CAAC,CAAC;IACN;AAEQ,IAAA,kBAAkB,CAAC,IAAyB,EAAE,QAAgB,EAAE,KAAa,EAAA;QACjF,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC;IACpE;AAEQ,IAAA,iBAAiB,CAAC,IAAyB,EAAE,QAAgB,EAAE,KAAa,EAAA;QAChF,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC;IACnE;AAEA,IAAA,IAAY,SAAS,GAAA;QACjB,OAAO,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM;IAC5C;AAEQ,IAAA,kBAAkB,CAAC,gBAAwB,EAAE,UAAU,GAAG,IAAI,EAAA;AAClE,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACb;QACJ;AAEA,QAAA,IAAI,MAA2B;AAC/B,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW;;AAG/B,QAAA,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YACrE,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC;AAC5C,YAAA,MAAM,CAAC,QAAQ,GAAG,IAAI;QAC1B;;QAEA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,KAAI;AAC1B,YAAA,IAAI,CAAC,KAAK,IAAI,CAAC,cAAc,EAAE;AAC3B,gBAAA,GAAG,CAAC,QAAQ,GAAG,KAAK;YACxB;AACJ,QAAA,CAAC,CAAC;AAEF,QAAA,IAAI,IAAI,CAAC,cAAc,KAAK,gBAAgB,EAAE;YAC1C,IAAI,CAAC,uBAAuB,EAAE;AAC9B,YAAA,IAAI,CAAC,sBAAsB,CAAC,gBAAgB,CAAC;AAE7C,YAAA,IAAI,UAAU,IAAI,MAAM,KAAK,MAAM,EAAE;AACjC,gBAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;AACzB,oBAAA,KAAK,EAAE,IAAI;AACX,oBAAA,OAAO,EAAE,MAAM;AACf,oBAAA,OAAO,EAAE;AACZ,iBAAA,CAAC;YACN;QACJ;IACJ;AAEQ,IAAA,sBAAsB,CAAC,gBAAwB,EAAA;AACnD,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC;QAChD,MAAM,GAAG,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;AAEvD,QAAA,IAAI,IAAI;YACJ,CAAC,IAAI,CAAC,gBAAgB;AACtB,YAAA,IAAI,CAAC,SAAS;AACd,YAAA,IAAI,CAAC,WAAW;AAChB,YAAA,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;AAC5B,YAAA,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,cAAc,GAAG,gBAAgB;AAC5D,iBAAC,GAAG,IAAI,IAAI,CAAC,cAAc,GAAG,gBAAgB;kBAC5C,0BAA0B,CAAC,IAAI,GAAG,0BAA0B,CAAC,IAAI;YAEvE,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE;AACjD,gBAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,GAAG,KAAK;YACtC;YACA,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS;AAE3C,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW;AACpC,YAAA,IAAI,CAAC,WAAW,GAAG,IAAI;YACvB,IAAI,CAAC,iBAAiB,EAAE;QAC5B;aAAO;AACH,YAAA,IAAI,CAAC,WAAW,GAAG,IAAI;QAC3B;IACJ;8GAjRkB,gBAAgB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,CAAA,kBAAA,EAAA,kBAAA,EAqCd,gBAAgB,CAAA,EAAA,EAAA,OAAA,EAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,OAAA,EAAA,SAAA,EAwBnB,mBAAmB,yCAYnB,iBAAiB,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAzEhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBADrC;;sBAQI;;sBA8BA,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;;sBAMrC;;sBAMA;;sBAMA;;sBAMA,eAAe;uBAAC,mBAAmB;;sBAYnC,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,iBAAiB,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;;;AChFtD,MAAM,gBAAgB,GAAG;AAC5B,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,GAAG,EAAE,KAAK;AACV,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,OAAO,EAAE;;AAYb;AACA,IAAI,WAAW,GAAG,CAAC;AAEnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BG;AAWG,MAAO,gBAAiB,SAAQ,gBAAgB,CAAA;AAVtD,IAAA,WAAA,GAAA;;AAWY,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AACvB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC;AAmBvC;;;;;AAKG;QAEI,IAAA,CAAA,UAAU,GAAsB,MAAM;;QAgCtC,IAAA,CAAA,YAAY,GAAG,IAAI;;QAGnB,IAAA,CAAA,MAAM,GAAG,CAAC;;QAGE,IAAA,CAAA,aAAa,GAAG,UAAU;QAErC,IAAA,CAAA,aAAa,GAA8B,OAAO;AAuN7D,IAAA;AAtRG;;AAEG;AACH,IAAA,IACW,YAAY,GAAA;QACnB,OAAO,IAAI,CAAC,aAAa;IAC7B;IAEA,IAAW,YAAY,CAAC,KAAgC,EAAA;AACpD,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK;QAC1B,qBAAqB,CAAC,MAAK;YACvB,IAAI,CAAC,mBAAmB,EAAE;YAC1B,IAAI,CAAC,wBAAwB,EAAE;AACnC,QAAA,CAAC,CAAC;IACN;;IAqDgB,eAAe,GAAA;QAC3B,KAAK,CAAC,eAAe,EAAE;AAEvB,QAAA,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAK;AAC/B,YAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE;gBACzB,IAAI,CAAC,eAAe,GAAG,KAAK,iBAAiB,EAAE,EAAE,MAAK;oBAClD,IAAI,CAAC,mBAAmB,EAAE;oBAC1B,IAAI,CAAC,wBAAwB,EAAE;AACnC,gBAAA,CAAC,CAAC;gBACF,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC;gBAChE,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;YAC7D;AACJ,QAAA,CAAC,CAAC;IACN;;IAGgB,WAAW,GAAA;QACvB,KAAK,CAAC,WAAW,EAAE;AAEnB,QAAA,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAK;AAC/B,YAAA,IAAI,CAAC,eAAe,EAAE,UAAU,EAAE;AACtC,QAAA,CAAC,CAAC;IACN;;IAGO,UAAU,GAAA;AACb,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;IACtB;;IAGO,UAAU,GAAA;AACb,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IACrB;;IAGO,wBAAwB,GAAA;AAC3B,QAAA,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;AACnE,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,eAAe,CAAC,aAAa;AAC/E,YAAA,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1C;IACJ;;IAGO,0BAA0B,GAAA;QAC7B,OAAO;AACH,YAAA,+BAA+B,EAAE,IAAI,CAAC,YAAY,KAAK,OAAO;AAC9D,YAAA,6BAA6B,EAAE,IAAI,CAAC,YAAY,KAAK,KAAK;AAC1D,YAAA,gCAAgC,EAAE,IAAI,CAAC,YAAY,KAAK,QAAQ;AAChE,YAAA,iCAAiC,EAAE,IAAI,CAAC,YAAY,KAAK,SAAS;SACrE;IACL;;IAGmB,uBAAuB,GAAA;AACtC,QAAA,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,EAAE;YACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;AACrC,YAAA,MAAM,sBAAsB,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,eAAe,CAAC,aAAa;;YAGzF,IAAI,IAAI,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE;AAC7D,gBAAA,IAAI,CAAC,aAAa,CAAC,sBAAsB,EAAE,KAAK,CAAC;YACrD;;YAGA,MAAM,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,WAAW;YACnE,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,GAAG,sBAAsB,CAAC,WAAW,KAAK,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC;;AAGxI,YAAA,IAAI,KAAK,GAAG,CAAC,EAAE;AACX,gBAAA,IAAI,CAAC,aAAa,CAAC,sBAAsB,EAAE,IAAI,CAAC;YACpD;AAEA,YAAA,IAAI,CAAC,sBAAsB,CAAC,sBAAsB,CAAC;QACvD;aAAO;YACH,IAAI,CAAC,qBAAqB,EAAE;QAChC;IACJ;;IAGU,YAAY,GAAA;QAClB,OAAO,WAAW,EAAE;IACxB;;IAGmB,aAAa,GAAA;QAC5B,KAAK,CAAC,aAAa,EAAE;AAErB,QAAA,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAK;YACxB,IAAI,CAAC,mBAAmB,EAAE;AAC9B,QAAA,CAAC,CAAC;IACN;AAEQ,IAAA,sBAAsB,CAAC,OAAoB,EAAE,QAAQ,GAAG,GAAG,EAAA;AAC/D,QAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE;YACxB,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,GAAG,SAAS;YACjE,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,kBAAkB,GAAG,QAAQ,GAAG,CAAC,GAAG,CAAA,EAAG,QAAQ,GAAG,GAAG,SAAS;AACzG,YAAA,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,GAAG,CAAA,EAAG,OAAO,CAAC,WAAW,IAAI;AAC7E,YAAA,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,GAAG,CAAA,UAAA,EAAa,OAAO,CAAC,UAAU,KAAK;QAC/F;IACJ;IAEQ,qBAAqB,GAAA;AACzB,QAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE;YACxB,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ;QACpE;IACJ;AAEQ,IAAA,MAAM,CAAC,UAAmB,EAAA;QAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;AAEtC,QAAA,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;AACnD,YAAA,MAAM,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC;AAC5B,YAAA,MAAM,OAAO,GAAG,GAAG,CAAC,eAAe,CAAC,aAAa;YACjD,IAAI,UAAU,EAAE;gBACZ,IAAI,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,EAAE;AAC9G,oBAAA,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,UAAU,CAAC;oBACvC;gBACJ;YACJ;iBAAO;gBACH,IAAI,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE;AAC/C,oBAAA,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,eAAe,CAAC,aAAa,EAAE,UAAU,CAAC;oBAClF;gBACJ;YACJ;QACJ;IACJ;IAEQ,aAAa,CAAC,OAAY,EAAE,UAAmB,EAAA;QACnD,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,WAAW;AAE7D,QAAA,IAAI,CAAC,MAAM,GAAG,CAAC,UAAU,IAAI,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,GAAG,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC;AAClI,QAAA,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;QACpE,IAAI,CAAC,mBAAmB,EAAE;IAC9B;IAEQ,mBAAmB,GAAA;AACvB,QAAA,MAAM,mBAAmB,GAAG,IAAI,CAAC,yBAAyB,EAAE;QAE5D,MAAM,qBAAqB,GAAG,IAAI,CAAC,4BAA4B,CAAC,mBAAmB,CAAC;QACpF,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,qBAAqB,CAAC;QAErF,MAAM,qBAAqB,GAAG,IAAI,CAAC,6BAA6B,CAAC,mBAAmB,CAAC;QACrF,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,qBAAqB,CAAC;IACzF;IAEQ,oBAAoB,CAAC,MAAyB,EAAE,WAAiC,EAAA;QACrF,IAAI,WAAW,KAAA,SAAA,qCAAmC;AAC9C,YAAA,MAAM,CAAC,QAAQ,GAAG,KAAK;AACvB,YAAA,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE;QAC7B;aAAO,IAAI,WAAW,KAAA,UAAA,sCAAoC;AACtD,YAAA,MAAM,CAAC,QAAQ,GAAG,IAAI;AACtB,YAAA,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE;QAC7B;aAAO,IAAI,WAAW,KAAA,eAAA,0CAAwC;AAC1D,YAAA,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM;QACjC;IACJ;AACQ,IAAA,4BAA4B,CAAC,mBAA2B,EAAA;QAC5D,MAAM,oBAAoB,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,WAAW;AAC3E,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM;AAE1B,QAAA,IAAI,MAAM,KAAK,CAAC,EAAE;;AAEd,YAAA,IAAI,mBAAmB,GAAG,oBAAoB,IAAI,CAAC,EAAE;gBACjD,OAAA,eAAA;YACJ;YACA,OAAA,UAAA;QACJ;aAAO;YACH,OAAA,SAAA;QACJ;IACJ;AAEQ,IAAA,6BAA6B,CAAC,mBAA2B,EAAA;QAC7D,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,WAAW;QAC7D,MAAM,oBAAoB,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,WAAW;AAC3E,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM;AAC1B,QAAA,MAAM,KAAK,GAAG,MAAM,GAAG,aAAa;;QAGpC,IAAI,mBAAmB,GAAG,oBAAoB,IAAI,CAAC,IAAI,MAAM,KAAK,CAAC,EAAE;YACjE,OAAA,eAAA;QACJ;AAEA,QAAA,IAAI,mBAAmB,GAAG,KAAK,EAAE;YAC7B,OAAA,SAAA;QACJ;aAAO;YACH,OAAA,UAAA;QACJ;IACJ;IAEQ,yBAAyB,GAAA;;;QAG7B,MAAM,2BAA2B,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM;QACrF,IAAI,mBAAmB,GAAG,CAAC;AAE3B,QAAA,IAAI,2BAA2B,GAAG,CAAC,EAAE;AACjC,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,QAAQ,CAAC,2BAA2B,GAAG,CAAC,CAAgB;YAC1G,mBAAmB,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,WAAW;QAC9E;AAEA,QAAA,OAAO,mBAAmB;IAC9B;AAEQ,IAAA,SAAS,CAAC,MAAc,EAAA;AAC5B,QAAA,OAAO,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,MAAM,GAAG,CAAC,MAAM;IACxE;AAEQ,IAAA,gBAAgB,CAAC,OAAoB,EAAA;QACzC,MAAM,GAAG,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;QACvD,OAAO,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,WAAW,GAAG,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,UAAU;IAC5H;8GA1RS,gBAAgB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAhB,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,gBAAA,EAAA,mBAAA,EAAA,EAAA,EAAA,SAAA,EALd,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,UAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,cAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC1ExE,k0CA0BA,EAAA,MAAA,EAAA,CAAA,6HAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDkDc,kBAAkB,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,WAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,gBAAgB,yGAAE,OAAO,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,sBAAsB,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,KAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAGxF,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAV5B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,UAAU,EAAA,aAAA,EAGL,iBAAiB,CAAC,IAAI,EAAA,SAAA,EAC1B,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,kBAAkB,EAAE,CAAC,EAAA,eAAA,EACnD,uBAAuB,CAAC,KAAK,EAAA,OAAA,EACrC,CAAC,kBAAkB,EAAE,gBAAgB,EAAE,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,CAAC,EAAA,QAAA,EAAA,k0CAAA,EAAA,MAAA,EAAA,CAAA,6HAAA,CAAA,EAAA;;sBAWjG;;sBAmBA;;sBAIA,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,iBAAiB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;;sBAI7C,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,UAAU,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;;sBAItC,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,cAAc,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;;sBAI1C,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,gBAAgB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;;sBAI5C,SAAS;uBAAC,mBAAmB;;sBAI7B,SAAS;uBAAC,kBAAkB;;sBAI5B,SAAS;uBAAC,kBAAkB;;sBAI5B,WAAW;uBAAC,gBAAgB;;;AEjH3B,MAAO,qBAAsB,SAAQ,qBAAqB,CAAA;AAThE,IAAA,WAAA,GAAA;;AAUuB,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAC1C,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;;QAsBxB,IAAA,CAAA,QAAQ,GAAG,IAAI;AA0FzB,IAAA;;AA7GG,IAAA,IACW,uBAAuB,GAAA;AAC9B,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ;IAC5B;;AAGA,IAAA,IACW,uBAAuB,GAAA;AAC9B,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ;IAC5B;;AAGA,IAAA,IACW,iBAAiB,GAAA;QACxB,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC;IAChD;;AAUO,IAAA,OAAO,CAAC,KAAoB,EAAA;QAC/B,IAAI,cAAc,GAAG,KAAK;QAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;QAC5C,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;QAClD,IAAI,QAAQ,GAAG,aAAa;AAC5B,QAAA,MAAM,gBAAgB,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,CAAC;AAEjE,QAAA,QAAQ,KAAK,CAAC,GAAG;AACb,YAAA,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW;AACjC,gBAAA,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,CAAC,GAAG,EAAE,gBAAgB,CAAC;gBACvF;AACJ,YAAA,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU;AAChC,gBAAA,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,CAAC,GAAG,EAAE,gBAAgB,CAAC;gBACvF;AACJ,YAAA,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI;gBAC1B,KAAK,CAAC,cAAc,EAAE;gBACtB,QAAQ,GAAG,CAAC;AACZ,gBAAA,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,IAAI,QAAQ,GAAG,UAAU,CAAC,MAAM,EAAE;AAClE,oBAAA,QAAQ,GAAG,QAAQ,KAAK,UAAU,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,QAAQ,GAAG,CAAC;gBACpE;gBACA;AACJ,YAAA,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG;gBACzB,KAAK,CAAC,cAAc,EAAE;AACtB,gBAAA,QAAQ,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC;AAChC,gBAAA,OAAO,gBAAgB,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,IAAI,QAAQ,GAAG,CAAC,EAAE;AACtE,oBAAA,QAAQ,GAAG,QAAQ,KAAK,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,GAAG,QAAQ,GAAG,CAAC;gBACpE;gBACA;AACJ,YAAA,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK;AAC/B,YAAA,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK;gBAC3B,KAAK,CAAC,cAAc,EAAE;gBACtB,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,KAAK,QAAQ,EAAE;AACnC,oBAAA,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE;gBAC9B;gBACA,cAAc,GAAG,IAAI;gBACrB;AACJ,YAAA;gBACI,cAAc,GAAG,IAAI;gBACrB;;QAGR,IAAI,CAAC,cAAc,EAAE;AACjB,YAAA,UAAU,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;YACjF,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,KAAK,MAAM,EAAE;AACjC,gBAAA,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,QAAQ;YACtC;QACJ;IACJ;;IAGO,eAAe,GAAA;AAClB,QAAA,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAK;AAC/B,YAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE;gBACzB,IAAI,CAAC,eAAe,GAAG,KAAK,iBAAiB,EAAE,EAAE,MAAK;AAClD,oBAAA,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE;AACxC,gBAAA,CAAC,CAAC;gBACF,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC;YACpD;AACJ,QAAA,CAAC,CAAC;IACN;;IAGO,WAAW,GAAA;AACd,QAAA,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAK;AAC/B,YAAA,IAAI,CAAC,eAAe,EAAE,UAAU,EAAE;AACtC,QAAA,CAAC,CAAC;IACN;AAEQ,IAAA,oBAAoB,CAAC,QAAgB,EAAE,UAAiB,EAAE,GAAW,EAAE,gBAAyB,EAAA;QACpG,MAAM,GAAG,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC;AAE9C,QAAA,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,IAAI,CAAC,GAAG,MAAM,GAAG,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,IAAI,GAAG,CAAC,EAAE;AACxG,YAAA,QAAQ,GAAG,QAAQ,KAAK,UAAU,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,QAAQ,GAAG,CAAC;AAChE,YAAA,OAAO,gBAAgB,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,IAAI,QAAQ,GAAG,UAAU,CAAC,MAAM,EAAE;AACtF,gBAAA,QAAQ,GAAG,QAAQ,KAAK,UAAU,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,QAAQ,GAAG,CAAC;YACpE;QACJ;aAAO;AACH,YAAA,QAAQ,GAAG,QAAQ,KAAK,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,GAAG,QAAQ,GAAG,CAAC;AAChE,YAAA,OAAO,gBAAgB,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,IAAI,QAAQ,IAAI,CAAC,EAAE;AACvE,gBAAA,QAAQ,GAAG,QAAQ,KAAK,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,GAAG,QAAQ,GAAG,CAAC;YACpE;QACJ;AACA,QAAA,OAAO,QAAQ;IACnB;8GAjHS,qBAAqB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EAAA,iBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,gCAAA,EAAA,8BAAA,EAAA,gCAAA,EAAA,8BAAA,EAAA,+BAAA,EAAA,wBAAA,EAAA,sBAAA,EAAA,eAAA,EAAA,EAAA,EAAA,SAAA,EAJnB,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,qBAAqB,EAAE,CAAC,iDCrBlF,8MAOA,EAAA,MAAA,EAAA,CAAA,0vKAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,KAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FDkBa,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBATjC,SAAS;+BACI,gBAAgB,EAAA,aAAA,EAGX,iBAAiB,CAAC,IAAI,aAC1B,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAA,qBAAuB,EAAE,CAAC,EAAA,eAAA,EAC7D,uBAAuB,CAAC,KAAK,cAClC,IAAI,EAAA,QAAA,EAAA,8MAAA,EAAA,MAAA,EAAA,CAAA,0vKAAA,CAAA,EAAA;;sBAOf,WAAW;uBAAC,gCAAgC;;sBAM5C,WAAW;uBAAC,gCAAgC;;sBAM5C,WAAW;uBAAC,+BAA+B;;sBAM3C,WAAW;uBAAC,sBAAsB;;sBAMlC,YAAY;uBAAC,SAAS,EAAE,CAAC,QAAQ,CAAC;;;AE1CjC,MAAO,mBAAoB,SAAQ,mBAAmB,CAAA;8GAA/C,mBAAmB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,SAAA,EAJjB,CAAC,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC,iDCRnF,kNAMA,EAAA,MAAA,EAAA,CAAA,ivFAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,KAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FDMa,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAT/B,SAAS;+BACI,cAAc,EAAA,aAAA,EAGT,iBAAiB,CAAC,IAAI,aAC1B,CAAC,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAA,mBAAqB,EAAE,CAAC,EAAA,eAAA,EAC9D,uBAAuB,CAAC,KAAK,cAClC,IAAI,EAAA,QAAA,EAAA,kNAAA,EAAA,MAAA,EAAA,CAAA,ivFAAA,CAAA,EAAA;;;MEFP,0BAA0B,CAAA;8GAA1B,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA1B,0BAA0B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,0CAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBALtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,0CAA0C;AACpD,oBAAA,UAAU,EAAE,IAAI;oBAChB,cAAc,EAAE,CAAC,wBAAwB;AAC5C,iBAAA;;MAOY,yBAAyB,CAAA;8GAAzB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wCAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAJrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,wCAAwC;AAClD,oBAAA,UAAU,EAAE;AACf,iBAAA;;;ACID;AACO,MAAM,mBAAmB,GAAG;IAC/B,gBAAgB;IAChB,mBAAmB;IACnB,qBAAqB;IACrB,sBAAsB;IACtB,0BAA0B;IAC1B,yBAAyB;IACzB,kBAAkB;IAClB;;;ACvBJ;;;AAGG;MASU,aAAa,CAAA;8GAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAAb,aAAa,EAAA,OAAA,EAAA,CAAAA,gBAAA,EAAAC,mBAAA,EAAAC,qBAAA,EAAAC,sBAAA,EAAAC,0BAAA,EAAAC,yBAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,OAAA,EAAA,CAAAL,gBAAA,EAAAC,mBAAA,EAAAC,qBAAA,EAAAC,sBAAA,EAAAC,0BAAA,EAAAC,yBAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,CAAA,CAAA;+GAAb,aAAa,EAAA,OAAA,EAAA,CAAAL,gBAAA,CAAA,EAAA,CAAA,CAAA;;2FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBARzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;AACL,wBAAA,GAAG;AACN,qBAAA;AACD,oBAAA,OAAO,EAAE;AACL,wBAAA,GAAG;AACN;AACJ,iBAAA;;;ACdD;;AAEG;;;;"}
|
|
@@ -277,7 +277,6 @@ class IgxTimeItemDirective {
|
|
|
277
277
|
const ampmPart = inputDateParts.find(element => element.format.indexOf('a') !== -1 || element.format === 'tt');
|
|
278
278
|
return DateTimeUtil.getPartValue(this.timePicker.selectedDate, ampmPart, ampmPart.format.length) === this.value;
|
|
279
279
|
}
|
|
280
|
-
return undefined;
|
|
281
280
|
}
|
|
282
281
|
get minValue() {
|
|
283
282
|
const dateType = this.itemList.type;
|
|
@@ -305,7 +304,6 @@ class IgxTimeItemDirective {
|
|
|
305
304
|
const ampmPart = inputDateParts.find(element => element.format.indexOf('a') !== -1 || element.format === 'tt');
|
|
306
305
|
return DateTimeUtil.getPartValue(this.timePicker.minDropdownValue, ampmPart, ampmPart.format.length);
|
|
307
306
|
}
|
|
308
|
-
return undefined;
|
|
309
307
|
}
|
|
310
308
|
get maxValue() {
|
|
311
309
|
const dateType = this.itemList.type;
|
|
@@ -348,7 +346,6 @@ class IgxTimeItemDirective {
|
|
|
348
346
|
const ampmPart = inputDateParts.find(element => element.format.indexOf('a') !== -1 || element.format === 'tt');
|
|
349
347
|
return DateTimeUtil.getPartValue(this.timePicker.maxDropdownValue, ampmPart, ampmPart.format.length);
|
|
350
348
|
}
|
|
351
|
-
return undefined;
|
|
352
349
|
}
|
|
353
350
|
get hourValue() {
|
|
354
351
|
return this.getHourPart(this.timePicker.selectedDate);
|
|
@@ -953,7 +950,7 @@ class IgxTimePickerComponent extends PickerBaseDirective {
|
|
|
953
950
|
/** @hidden */
|
|
954
951
|
this.isNotEmpty = false;
|
|
955
952
|
/** @hidden @internal */
|
|
956
|
-
this.displayValue = { transform: (date) => this.formatter
|
|
953
|
+
this.displayValue = { transform: (date) => this.formatter(date) };
|
|
957
954
|
/** @hidden @internal */
|
|
958
955
|
this.hourItems = [];
|
|
959
956
|
/** @hidden @internal */
|
|
@@ -1599,7 +1596,7 @@ class IgxTimePickerComponent extends PickerBaseDirective {
|
|
|
1599
1596
|
useExisting: IgxTimePickerComponent,
|
|
1600
1597
|
multi: true
|
|
1601
1598
|
}
|
|
1602
|
-
], queries: [{ propertyName: "label", first: true, predicate: IgxLabelDirective, descendants: true }, { propertyName: "timePickerActionsDirective", first: true, predicate: IgxPickerActionsDirective, descendants: true }], viewQueries: [{ propertyName: "hourList", first: true, predicate: ["hourList"], descendants: true }, { propertyName: "minuteList", first: true, predicate: ["minuteList"], descendants: true }, { propertyName: "secondsList", first: true, predicate: ["secondsList"], descendants: true }, { propertyName: "ampmList", first: true, predicate: ["ampmList"], descendants: true }, { propertyName: "inputDirective", first: true, predicate: IgxInputDirective, descendants: true, read: IgxInputDirective }, { propertyName: "_inputGroup", first: true, predicate: ["inputGroup"], descendants: true, read: IgxInputGroupComponent, static: true }, { propertyName: "dateTimeEditor", first: true, predicate: IgxDateTimeEditorDirective, descendants: true, static: true }, { propertyName: "toggleRef", first: true, predicate: IgxToggleDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<igx-input-group #inputGroup [type]=\"type\">\n <input [igxReadOnlyInput]=\"readOnly\" [displayValuePipe]=\"formatter ? displayValue : undefined\" igxInput [igxDateTimeEditor]=\"inputFormat\"\n type=\"text\" [readonly]=\"!isDropdown || readOnly\" [minValue]=\"minValue\" [maxValue]=\"maxValue\"\n [locale]=\"locale\" [spinDelta]=\"itemsDelta\" [spinLoop]=\"spinLoop\" [placeholder]=\"placeholder\"\n [disabled]=\"disabled\" [displayFormat]=\"displayFormat\" defaultFormatType=\"time\"\n [igxTextSelection]=\"isDropdown && !readOnly\" role=\"combobox\" aria-haspopup=\"dialog\"\n [attr.aria-expanded]=\"!toggleDirective.collapsed\" [attr.aria-labelledby]=\"label?.id\"\n (click)=\"!isDropdown && toggle()\"/>\n\n @if (!toggleComponents.length) {\n <igx-prefix (click)=\"toggle()\">\n <igx-icon\n [title]=\"\n value\n ? resourceStrings.igx_time_picker_change_time\n : resourceStrings.igx_time_picker_choose_time\n \"\n family=\"default\"\n name=\"clock\"\n ></igx-icon>\n </igx-prefix>\n }\n\n <ng-container ngProjectAs=\"[igxLabel]\">\n <ng-content select=\"[igxLabel]\"></ng-content>\n </ng-container>\n <ng-container ngProjectAs=\"igx-prefix\">\n <ng-content select=\"igx-prefix,[igxPrefix]\"></ng-content>\n </ng-container>\n\n @if (showClearButton) {\n <igx-suffix (click)=\"clear(); $event.stopPropagation()\">\n <igx-icon family=\"default\" name=\"input_clear\"></igx-icon>\n </igx-suffix>\n }\n\n <ng-container ngProjectAs=\"igx-suffix\">\n <ng-content select=\"igx-suffix,[igxSuffix]\"></ng-content>\n </ng-container>\n <ng-container ngProjectAs=\"igx-hint\">\n <ng-content select=\"igx-hint,[igxHint]\"></ng-content>\n </ng-container>\n</igx-input-group>\n\n<ng-template #defaultTimePickerActions>\n @if (cancelButtonLabel || okButtonLabel) {\n <div class=\"igx-time-picker__buttons\">\n @if (cancelButtonLabel) {\n <button type=\"button\" igxButton=\"flat\" (click)=\"cancelButtonClick()\">\n {{cancelButtonLabel}}\n </button>\n }\n @if (okButtonLabel) {\n <button type=\"button\" igxButton=\"flat\" (click)=\"okButtonClick()\">\n {{okButtonLabel}}\n </button>\n }\n </div>\n }\n</ng-template>\n\n<div #toggleDirective=\"toggle\" igxToggle role=\"dialog\" class=\"igx-time-picker\"\n [ngClass]=\"{\n 'igx-time-picker--dropdown': isDropdown,\n 'igx-time-picker--dialog': !isDropdown,\n 'igx-time-picker--vertical': isVertical && !isDropdown\n }\">\n <div class=\"igx-time-picker__main\">\n @if (!this.isDropdown && !this.hideHeader) {\n <div class=\"igx-time-picker__header\">\n <h2 class=\"igx-time-picker__header-hour\" data-no-typography>\n <span>{{ selectedDate | timeFormatPipe }}</span>\n </h2>\n </div>\n }\n <div class=\"igx-time-picker__body\">\n @if (showHoursList) {\n <div #hourList [igxItemList]=\"'hourList'\">\n @for (hour of hourItems | timeItemPipe:'hour':selectedDate:minDropdownValue:maxDropdownValue; track hour+$index) {\n <span [igxTimeItem]=\"hour\" #timeItem=\"timeItem\" aria-label=\"hour\"\n [attr.role]=\"timeItem.isSelectedTime ? 'spinbutton' : null\"\n [attr.aria-valuenow]=\"timeItem.isSelectedTime ? timeItem.hourValue : null\"\n [attr.aria-valuemin]=\"timeItem.isSelectedTime ? timeItem.minValue : null\"\n [attr.aria-valuemax]=\"timeItem.isSelectedTime ? timeItem.maxValue : null\"\n >{{ hour }}</span>\n }\n </div>\n }\n @if (showMinutesList) {\n <div #minuteList [igxItemList]=\"'minuteList'\">\n @for (minute of minuteItems | timeItemPipe:'minutes':selectedDate:minDropdownValue:maxDropdownValue; track minute+$index) {\n <span [igxTimeItem]=\"minute\" #timeItem=\"timeItem\" aria-label=\"minutes\"\n [attr.role]=\"timeItem.isSelectedTime ? 'spinbutton' : null\"\n [attr.aria-valuenow]=\"timeItem.isSelectedTime ? minute : null\"\n [attr.aria-valuemin]=\"timeItem.isSelectedTime ? timeItem.minValue : null\"\n [attr.aria-valuemax]=\"timeItem.isSelectedTime ? timeItem.maxValue : null\"\n >{{ minute }}</span>\n }\n </div>\n }\n @if (showSecondsList) {\n <div #secondsList [igxItemList]=\"'secondsList'\">\n @for (seconds of secondsItems | timeItemPipe:'seconds':selectedDate:minDropdownValue:maxDropdownValue; track seconds+$index) {\n <span [igxTimeItem]=\"seconds\" #timeItem=\"timeItem\" aria-label=\"seconds\"\n [attr.role]=\"timeItem.isSelectedTime ? 'spinbutton' : null\"\n [attr.aria-valuenow]=\"timeItem.isSelectedTime ? seconds : null\"\n [attr.aria-valuemin]=\"timeItem.isSelectedTime ? timeItem.minValue : null\"\n [attr.aria-valuemax]=\"timeItem.isSelectedTime ? timeItem.maxValue : null\"\n >{{ seconds }}</span>\n }\n </div>\n }\n @if (showAmPmList) {\n <div #ampmList [igxItemList]=\"'ampmList'\">\n @for (ampm of ampmItems | timeItemPipe:'ampm':selectedDate:minDropdownValue:maxDropdownValue; track ampm+$index) {\n <span [igxTimeItem]=\"ampm\" #timeItem=\"timeItem\" aria-label=\"ampm\"\n [attr.role]=\"timeItem.isSelectedTime ? 'spinbutton' : null\"\n [attr.aria-valuenow]=\"timeItem.isSelectedTime ? ampm : null\"\n [attr.aria-valuemin]=\"timeItem.isSelectedTime ? timeItem.minValue : null\"\n [attr.aria-valuemax]=\"timeItem.isSelectedTime ? timeItem.maxValue : null\"\n >{{ ampm }}</span>\n }\n </div>\n }\n </div>\n </div>\n <igx-divider></igx-divider>\n <ng-container\n *ngTemplateOutlet=\"timePickerActionsDirective ? timePickerActionsDirective.template : defaultTimePickerActions\">\n </ng-container>\n</div>\n", styles: ["@layer ig.base{.igx-time-picker{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);--component-size: var(--ig-size, var(--default-size));display:flex;flex-flow:column nowrap;min-width:-moz-fit-content;min-width:fit-content}.igx-time-picker igx-divider{--ig-divider-color: var(--divider-color)}.igx-time-picker__header{display:flex;flex-direction:column;background:var(--header-background);padding:1rem}.igx-time-picker__header-hour{font-family:var(--ig-h4-font-family, var(--ig-font-family));font-size:var(--ig-h4-font-size);font-weight:var(--ig-h4-font-weight);font-style:var(--ig-h4-font-style);line-height:var(--ig-h4-line-height);letter-spacing:var(--ig-h4-letter-spacing);text-transform:var(--ig-h4-text-transform);margin-top:var(--ig-h4-margin-top);margin-bottom:var(--ig-h4-margin-bottom);display:flex;color:var(--header-hour-text-color);margin:0}[dir=rtl] .igx-time-picker__header-hour{flex-direction:row-reverse;justify-content:flex-end}.igx-time-picker__main{flex:1 1 auto}.igx-time-picker__column{width:4rem;padding:0;cursor:pointer;display:flex;flex-flow:column nowrap;justify-content:space-between;align-items:center;color:var(--text-color);overflow:hidden;gap:.25rem}.igx-time-picker__column:focus,.igx-time-picker__column:active{outline:none}.igx-time-picker__item{width:2.875rem;padding:max(var(--is-large, 1)*max(.3125rem,-1 * .3125rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(.3125rem,-1 * .3125rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(.3125rem,-1 * .3125rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing)))) max(var(--is-large, 1)*max(.625rem,-1 * .625rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(.625rem,-1 * .625rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(.625rem,-1 * .625rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))));border-radius:var(--active-item-border-radius);height:var(--time-item-size);display:flex;justify-content:center;align-items:center;font-size:max(var(--is-large, 1)*max(var(--ig-body-1-font-size),-1 * var(--ig-body-1-font-size)),var(--is-medium, 1)*max(var(--ig-body-2-font-size),-1 * var(--ig-body-2-font-size)),var(--is-small, 1)*max(var(--ig-body-2-font-size),-1 * var(--ig-body-2-font-size)));font-weight:max(var(--is-large, 1)*max(var(--ig-body-1-font-weight),-1 * var(--ig-body-1-font-weight)),var(--is-medium, 1)*max(var(--ig-body-2-font-weight),-1 * var(--ig-body-2-font-weight)),var(--is-small, 1)*max(var(--ig-body-2-font-weight),-1 * var(--ig-body-2-font-weight)));font-style:max(var(--is-large, 1)*max(var(--ig-body-1-font-style),-1 * var(--ig-body-1-font-style)),var(--is-medium, 1)*max(var(--ig-body-2-font-style),-1 * var(--ig-body-2-font-style)),var(--is-small, 1)*max(var(--ig-body-2-font-style),-1 * var(--ig-body-2-font-style)));line-height:max(var(--is-large, 1)*max(var(--ig-body-1-line-height),-1 * var(--ig-body-1-line-height)),var(--is-medium, 1)*max(var(--ig-body-2-line-height),-1 * var(--ig-body-2-line-height)),var(--is-small, 1)*max(var(--ig-body-2-line-height),-1 * var(--ig-body-2-line-height)));letter-spacing:max(var(--is-large, 1)*max(var(--ig-body-1-letter-spacing),-1 * var(--ig-body-1-letter-spacing)),var(--is-medium, 1)*max(var(--ig-body-2-letter-spacing),-1 * var(--ig-body-2-letter-spacing)),var(--is-small, 1)*max(var(--ig-body-2-letter-spacing),-1 * var(--ig-body-2-letter-spacing)));text-transform:max(var(--is-large, 1)*max(var(--ig-body-1-text-transform),-1 * var(--ig-body-1-text-transform)),var(--is-medium, 1)*max(var(--ig-body-2-text-transform),-1 * var(--ig-body-2-text-transform)),var(--is-small, 1)*max(var(--ig-body-2-text-transform),-1 * var(--ig-body-2-text-transform)))}.igx-time-picker__item:focus,.igx-time-picker__item:active{outline:none}.igx-time-picker__item:hover{color:var(--hover-text-color)}.igx-time-picker__item--selected{font-family:var(--ig-h5-font-family, var(--ig-font-family));font-size:var(--ig-h5-font-size);font-weight:var(--ig-h5-font-weight);font-style:var(--ig-h5-font-style);line-height:var(--ig-h5-line-height);letter-spacing:var(--ig-h5-letter-spacing);text-transform:var(--ig-h5-text-transform);margin-top:var(--ig-h5-margin-top);margin-bottom:var(--ig-h5-margin-bottom);margin:0;color:var(--selected-text-color)}.igx-time-picker__item--active{color:var(--active-item-foreground);background:var(--active-item-background)}.igx-time-picker__item--active:hover,.igx-time-picker__item--active:focus{color:var(--active-item-foreground)}.igx-time-picker__item--disabled{color:var(--disabled-text-color);background:var(--disabled-item-background);pointer-events:none}.igx-time-picker__hourList{text-align:end}[dir=rtl] .igx-time-picker__hourList{order:2}.igx-time-picker__minuteList{text-align:center}[dir=rtl] .igx-time-picker__minuteList{order:1}.igx-time-picker__secondsList{text-align:center}[dir=rtl] .igx-time-picker__ampmList{order:3}.igx-time-picker__body{display:flex;min-width:max(var(--is-large, 1)*max(22.5rem,-1 * 22.5rem),var(--is-medium, 1)*max(19.625rem,-1 * 19.625rem),var(--is-small, 1)*max(18.125rem,-1 * 18.125rem));padding-block:1rem;justify-content:center}.igx-time-picker__buttons{display:flex;min-height:max(var(--is-large, 1)*max(3rem,-1 * 3rem),var(--is-medium, 1)*max(2.75rem,-1 * 2.75rem),var(--is-small, 1)*max(2.5rem,-1 * 2.5rem));justify-content:flex-end;align-items:center;padding:.5rem;gap:.5rem}.igx-time-picker--dropdown{min-width:max(var(--is-large, 1)*max(22.5rem,-1 * 22.5rem),var(--is-medium, 1)*max(19.625rem,-1 * 19.625rem),var(--is-small, 1)*max(18.125rem,-1 * 18.125rem));box-shadow:inset 0 0 0 .0625rem var(--border-color),var(--dropdown-elevation);background:var(--background-color);border-radius:var(--border-radius);overflow:hidden}.igx-time-picker--dropdown .igx-time-picker__body{min-width:auto}.igx-time-picker--dialog{box-shadow:0 0 0 .0625rem var(--border-color),var(--modal-elevation);background:var(--background-color);border-radius:var(--border-radius);overflow:hidden}.igx-time-picker--vertical .igx-time-picker__main{display:flex;flex-grow:1}.igx-time-picker--vertical .igx-time-picker__header{min-width:10.5rem}.igx-time-picker--vertical .igx-time-picker__body{flex-grow:1}.igx-time-picker--vertical .igx-time-picker__buttons{align-items:flex-end}}@layer ig.bootstrap{@container style(--ig-theme: bootstrap){.igx-time-picker__item--selected{font-family:var(--ig-h4-font-family, var(--ig-font-family));font-size:var(--ig-h4-font-size);font-weight:var(--ig-h4-font-weight);font-style:var(--ig-h4-font-style);line-height:var(--ig-h4-line-height);letter-spacing:var(--ig-h4-letter-spacing);text-transform:var(--ig-h4-text-transform);margin-top:var(--ig-h4-margin-top);margin-bottom:var(--ig-h4-margin-bottom);margin:0}}}@layer ig.indigo{@container style(--ig-theme: indigo){.igx-time-picker__header{border-block-end:.0625rem solid var(--divider-color);gap:.125rem}.igx-time-picker__header-hour{font-family:var(--ig-h5-font-family, var(--ig-font-family));font-size:var(--ig-h5-font-size);font-weight:var(--ig-h5-font-weight);font-style:var(--ig-h5-font-style);line-height:var(--ig-h5-line-height);letter-spacing:var(--ig-h5-letter-spacing);text-transform:var(--ig-h5-text-transform);margin-top:var(--ig-h5-margin-top);margin-bottom:var(--ig-h5-margin-bottom)}.igx-time-picker__column{width:3.375rem}.igx-time-picker__item--selected{font-family:var(--ig-h6-font-family, var(--ig-font-family));font-size:var(--ig-h6-font-size);font-weight:var(--ig-h6-font-weight);font-style:var(--ig-h6-font-style);line-height:var(--ig-h6-line-height);letter-spacing:var(--ig-h6-letter-spacing);text-transform:var(--ig-h6-text-transform);margin-top:var(--ig-h6-margin-top);margin-bottom:var(--ig-h6-margin-bottom)}.igx-time-picker__buttons{padding:.5rem 1rem}.igx-time-picker__buttons [igxbutton]{min-width:5.5rem}.igx-time-picker--vertical .igx-time-picker__header{min-width:8.5rem;border-inline-end:.0625rem solid var(--divider-color);border-block-end:none}}}@layer ig.material{@container style(--ig-theme: material){.igx-time-picker__header{padding:1rem 1.5rem}}}\n"], dependencies: [{ kind: "component", type: IgxInputGroupComponent, selector: "igx-input-group", inputs: ["resourceStrings", "suppressInputAutofocus", "type", "theme"] }, { kind: "directive", type: IgxInputDirective, selector: "[igxInput]", inputs: ["value", "disabled", "required"], exportAs: ["igxInput"] }, { kind: "directive", type: IgxDateTimeEditorDirective, selector: "[igxDateTimeEditor]", inputs: ["locale", "minValue", "maxValue", "spinLoop", "displayFormat", "igxDateTimeEditor", "value", "defaultFormatType", "spinDelta"], outputs: ["valueChange", "validationFailed"], exportAs: ["igxDateTimeEditor"] }, { kind: "directive", type: IgxTextSelectionDirective, selector: "[igxTextSelection]", inputs: ["igxTextSelection"], exportAs: ["igxTextSelection"] }, { kind: "directive", type: IgxPrefixDirective, selector: "[igxPrefix],[igxStart],igx-prefix" }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["ariaHidden", "family", "name", "active"] }, { kind: "directive", type: IgxSuffixDirective, selector: "[igxSuffix],[igxEnd],igx-suffix" }, { kind: "directive", type: IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxLabel"], outputs: ["buttonSelected"] }, { kind: "directive", type: IgxToggleDirective, selector: "[igxToggle]", inputs: ["id"], outputs: ["opened", "opening", "closed", "closing", "appended"], exportAs: ["toggle"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: IgxItemListDirective, selector: "[igxItemList]", inputs: ["igxItemList"] }, { kind: "directive", type: IgxTimeItemDirective, selector: "[igxTimeItem]", inputs: ["igxTimeItem"], exportAs: ["timeItem"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IgxDividerComponent, selector: "igx-divider", inputs: ["id", "role", "type", "middle", "vertical", "inset"] }, { kind: "directive", type: IgxReadOnlyInputDirective, selector: "[igxReadOnlyInput]", inputs: ["igxReadOnlyInput"], exportAs: ["igxReadOnlyInput"] }, { kind: "pipe", type: TimeFormatPipe, name: "timeFormatPipe" }, { kind: "pipe", type: TimeItemPipe, name: "timeItemPipe" }], changeDetection: i0.ChangeDetectionStrategy.Eager, encapsulation: i0.ViewEncapsulation.None }); }
|
|
1599
|
+
], queries: [{ propertyName: "label", first: true, predicate: IgxLabelDirective, descendants: true }, { propertyName: "timePickerActionsDirective", first: true, predicate: IgxPickerActionsDirective, descendants: true }], viewQueries: [{ propertyName: "hourList", first: true, predicate: ["hourList"], descendants: true }, { propertyName: "minuteList", first: true, predicate: ["minuteList"], descendants: true }, { propertyName: "secondsList", first: true, predicate: ["secondsList"], descendants: true }, { propertyName: "ampmList", first: true, predicate: ["ampmList"], descendants: true }, { propertyName: "inputDirective", first: true, predicate: IgxInputDirective, descendants: true, read: IgxInputDirective }, { propertyName: "_inputGroup", first: true, predicate: ["inputGroup"], descendants: true, read: IgxInputGroupComponent, static: true }, { propertyName: "dateTimeEditor", first: true, predicate: IgxDateTimeEditorDirective, descendants: true, static: true }, { propertyName: "toggleRef", first: true, predicate: IgxToggleDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<igx-input-group #inputGroup [type]=\"type\">\n <input [igxReadOnlyInput]=\"readOnly\" [displayValuePipe]=\"formatter ? displayValue : null\" igxInput [igxDateTimeEditor]=\"inputFormat\"\n type=\"text\" [readonly]=\"!isDropdown || readOnly\" [minValue]=\"minValue\" [maxValue]=\"maxValue\"\n [locale]=\"locale\" [spinDelta]=\"itemsDelta\" [spinLoop]=\"spinLoop\" [placeholder]=\"placeholder\"\n [disabled]=\"disabled\" [displayFormat]=\"displayFormat\" defaultFormatType=\"time\"\n [igxTextSelection]=\"isDropdown && !readOnly\" role=\"combobox\" aria-haspopup=\"dialog\"\n [attr.aria-expanded]=\"!toggleDirective.collapsed\" [attr.aria-labelledby]=\"label?.id\"\n (click)=\"!isDropdown && toggle()\"/>\n\n @if (!toggleComponents.length) {\n <igx-prefix (click)=\"toggle()\">\n <igx-icon\n [title]=\"\n value\n ? resourceStrings.igx_time_picker_change_time\n : resourceStrings.igx_time_picker_choose_time\n \"\n family=\"default\"\n name=\"clock\"\n ></igx-icon>\n </igx-prefix>\n }\n\n <ng-container ngProjectAs=\"[igxLabel]\">\n <ng-content select=\"[igxLabel]\"></ng-content>\n </ng-container>\n <ng-container ngProjectAs=\"igx-prefix\">\n <ng-content select=\"igx-prefix,[igxPrefix]\"></ng-content>\n </ng-container>\n\n @if (showClearButton) {\n <igx-suffix (click)=\"clear(); $event.stopPropagation()\">\n <igx-icon family=\"default\" name=\"input_clear\"></igx-icon>\n </igx-suffix>\n }\n\n <ng-container ngProjectAs=\"igx-suffix\">\n <ng-content select=\"igx-suffix,[igxSuffix]\"></ng-content>\n </ng-container>\n <ng-container ngProjectAs=\"igx-hint\">\n <ng-content select=\"igx-hint,[igxHint]\"></ng-content>\n </ng-container>\n</igx-input-group>\n\n<ng-template #defaultTimePickerActions>\n @if (cancelButtonLabel || okButtonLabel) {\n <div class=\"igx-time-picker__buttons\">\n @if (cancelButtonLabel) {\n <button type=\"button\" igxButton=\"flat\" (click)=\"cancelButtonClick()\">\n {{cancelButtonLabel}}\n </button>\n }\n @if (okButtonLabel) {\n <button type=\"button\" igxButton=\"flat\" (click)=\"okButtonClick()\">\n {{okButtonLabel}}\n </button>\n }\n </div>\n }\n</ng-template>\n\n<div #toggleDirective=\"toggle\" igxToggle role=\"dialog\" class=\"igx-time-picker\"\n [ngClass]=\"{\n 'igx-time-picker--dropdown': isDropdown,\n 'igx-time-picker--dialog': !isDropdown,\n 'igx-time-picker--vertical': isVertical && !isDropdown\n }\">\n <div class=\"igx-time-picker__main\">\n @if (!this.isDropdown && !this.hideHeader) {\n <div class=\"igx-time-picker__header\">\n <h2 class=\"igx-time-picker__header-hour\" data-no-typography>\n <span>{{ selectedDate | timeFormatPipe }}</span>\n </h2>\n </div>\n }\n <div class=\"igx-time-picker__body\">\n @if (showHoursList) {\n <div #hourList [igxItemList]=\"'hourList'\">\n @for (hour of hourItems | timeItemPipe:'hour':selectedDate:minDropdownValue:maxDropdownValue; track hour+$index) {\n <span [igxTimeItem]=\"hour\" #timeItem=\"timeItem\" aria-label=\"hour\"\n [attr.role]=\"timeItem.isSelectedTime ? 'spinbutton' : null\"\n [attr.aria-valuenow]=\"timeItem.isSelectedTime ? timeItem.hourValue : null\"\n [attr.aria-valuemin]=\"timeItem.isSelectedTime ? timeItem.minValue : null\"\n [attr.aria-valuemax]=\"timeItem.isSelectedTime ? timeItem.maxValue : null\"\n >{{ hour }}</span>\n }\n </div>\n }\n @if (showMinutesList) {\n <div #minuteList [igxItemList]=\"'minuteList'\">\n @for (minute of minuteItems | timeItemPipe:'minutes':selectedDate:minDropdownValue:maxDropdownValue; track minute+$index) {\n <span [igxTimeItem]=\"minute\" #timeItem=\"timeItem\" aria-label=\"minutes\"\n [attr.role]=\"timeItem.isSelectedTime ? 'spinbutton' : null\"\n [attr.aria-valuenow]=\"timeItem.isSelectedTime ? minute : null\"\n [attr.aria-valuemin]=\"timeItem.isSelectedTime ? timeItem.minValue : null\"\n [attr.aria-valuemax]=\"timeItem.isSelectedTime ? timeItem.maxValue : null\"\n >{{ minute }}</span>\n }\n </div>\n }\n @if (showSecondsList) {\n <div #secondsList [igxItemList]=\"'secondsList'\">\n @for (seconds of secondsItems | timeItemPipe:'seconds':selectedDate:minDropdownValue:maxDropdownValue; track seconds+$index) {\n <span [igxTimeItem]=\"seconds\" #timeItem=\"timeItem\" aria-label=\"seconds\"\n [attr.role]=\"timeItem.isSelectedTime ? 'spinbutton' : null\"\n [attr.aria-valuenow]=\"timeItem.isSelectedTime ? seconds : null\"\n [attr.aria-valuemin]=\"timeItem.isSelectedTime ? timeItem.minValue : null\"\n [attr.aria-valuemax]=\"timeItem.isSelectedTime ? timeItem.maxValue : null\"\n >{{ seconds }}</span>\n }\n </div>\n }\n @if (showAmPmList) {\n <div #ampmList [igxItemList]=\"'ampmList'\">\n @for (ampm of ampmItems | timeItemPipe:'ampm':selectedDate:minDropdownValue:maxDropdownValue; track ampm+$index) {\n <span [igxTimeItem]=\"ampm\" #timeItem=\"timeItem\" aria-label=\"ampm\"\n [attr.role]=\"timeItem.isSelectedTime ? 'spinbutton' : null\"\n [attr.aria-valuenow]=\"timeItem.isSelectedTime ? ampm : null\"\n [attr.aria-valuemin]=\"timeItem.isSelectedTime ? timeItem.minValue : null\"\n [attr.aria-valuemax]=\"timeItem.isSelectedTime ? timeItem.maxValue : null\"\n >{{ ampm }}</span>\n }\n </div>\n }\n </div>\n </div>\n <igx-divider></igx-divider>\n <ng-container\n *ngTemplateOutlet=\"timePickerActionsDirective ? timePickerActionsDirective.template : defaultTimePickerActions\">\n </ng-container>\n</div>\n", styles: ["@layer ig.base{.igx-time-picker{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);--component-size: var(--ig-size, var(--default-size));display:flex;flex-flow:column nowrap;min-width:-moz-fit-content;min-width:fit-content}.igx-time-picker igx-divider{--ig-divider-color: var(--divider-color)}.igx-time-picker__header{display:flex;flex-direction:column;background:var(--header-background);padding:1rem}.igx-time-picker__header-hour{font-family:var(--ig-h4-font-family, var(--ig-font-family));font-size:var(--ig-h4-font-size);font-weight:var(--ig-h4-font-weight);font-style:var(--ig-h4-font-style);line-height:var(--ig-h4-line-height);letter-spacing:var(--ig-h4-letter-spacing);text-transform:var(--ig-h4-text-transform);margin-top:var(--ig-h4-margin-top);margin-bottom:var(--ig-h4-margin-bottom);display:flex;color:var(--header-hour-text-color);margin:0}[dir=rtl] .igx-time-picker__header-hour{flex-direction:row-reverse;justify-content:flex-end}.igx-time-picker__main{flex:1 1 auto}.igx-time-picker__column{width:4rem;padding:0;cursor:pointer;display:flex;flex-flow:column nowrap;justify-content:space-between;align-items:center;color:var(--text-color);overflow:hidden;gap:.25rem}.igx-time-picker__column:focus,.igx-time-picker__column:active{outline:none}.igx-time-picker__item{width:2.875rem;padding:max(var(--is-large, 1)*max(.3125rem,-1 * .3125rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(.3125rem,-1 * .3125rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(.3125rem,-1 * .3125rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing)))) max(var(--is-large, 1)*max(.625rem,-1 * .625rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(.625rem,-1 * .625rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(.625rem,-1 * .625rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))));border-radius:var(--active-item-border-radius);height:var(--time-item-size);display:flex;justify-content:center;align-items:center;font-size:max(var(--is-large, 1)*max(var(--ig-body-1-font-size),-1 * var(--ig-body-1-font-size)),var(--is-medium, 1)*max(var(--ig-body-2-font-size),-1 * var(--ig-body-2-font-size)),var(--is-small, 1)*max(var(--ig-body-2-font-size),-1 * var(--ig-body-2-font-size)));font-weight:max(var(--is-large, 1)*max(var(--ig-body-1-font-weight),-1 * var(--ig-body-1-font-weight)),var(--is-medium, 1)*max(var(--ig-body-2-font-weight),-1 * var(--ig-body-2-font-weight)),var(--is-small, 1)*max(var(--ig-body-2-font-weight),-1 * var(--ig-body-2-font-weight)));font-style:max(var(--is-large, 1)*max(var(--ig-body-1-font-style),-1 * var(--ig-body-1-font-style)),var(--is-medium, 1)*max(var(--ig-body-2-font-style),-1 * var(--ig-body-2-font-style)),var(--is-small, 1)*max(var(--ig-body-2-font-style),-1 * var(--ig-body-2-font-style)));line-height:max(var(--is-large, 1)*max(var(--ig-body-1-line-height),-1 * var(--ig-body-1-line-height)),var(--is-medium, 1)*max(var(--ig-body-2-line-height),-1 * var(--ig-body-2-line-height)),var(--is-small, 1)*max(var(--ig-body-2-line-height),-1 * var(--ig-body-2-line-height)));letter-spacing:max(var(--is-large, 1)*max(var(--ig-body-1-letter-spacing),-1 * var(--ig-body-1-letter-spacing)),var(--is-medium, 1)*max(var(--ig-body-2-letter-spacing),-1 * var(--ig-body-2-letter-spacing)),var(--is-small, 1)*max(var(--ig-body-2-letter-spacing),-1 * var(--ig-body-2-letter-spacing)));text-transform:max(var(--is-large, 1)*max(var(--ig-body-1-text-transform),-1 * var(--ig-body-1-text-transform)),var(--is-medium, 1)*max(var(--ig-body-2-text-transform),-1 * var(--ig-body-2-text-transform)),var(--is-small, 1)*max(var(--ig-body-2-text-transform),-1 * var(--ig-body-2-text-transform)))}.igx-time-picker__item:focus,.igx-time-picker__item:active{outline:none}.igx-time-picker__item:hover{color:var(--hover-text-color)}.igx-time-picker__item--selected{font-family:var(--ig-h5-font-family, var(--ig-font-family));font-size:var(--ig-h5-font-size);font-weight:var(--ig-h5-font-weight);font-style:var(--ig-h5-font-style);line-height:var(--ig-h5-line-height);letter-spacing:var(--ig-h5-letter-spacing);text-transform:var(--ig-h5-text-transform);margin-top:var(--ig-h5-margin-top);margin-bottom:var(--ig-h5-margin-bottom);margin:0;color:var(--selected-text-color)}.igx-time-picker__item--active{color:var(--active-item-foreground);background:var(--active-item-background)}.igx-time-picker__item--active:hover,.igx-time-picker__item--active:focus{color:var(--active-item-foreground)}.igx-time-picker__item--disabled{color:var(--disabled-text-color);background:var(--disabled-item-background);pointer-events:none}.igx-time-picker__hourList{text-align:end}[dir=rtl] .igx-time-picker__hourList{order:2}.igx-time-picker__minuteList{text-align:center}[dir=rtl] .igx-time-picker__minuteList{order:1}.igx-time-picker__secondsList{text-align:center}[dir=rtl] .igx-time-picker__ampmList{order:3}.igx-time-picker__body{display:flex;min-width:max(var(--is-large, 1)*max(22.5rem,-1 * 22.5rem),var(--is-medium, 1)*max(19.625rem,-1 * 19.625rem),var(--is-small, 1)*max(18.125rem,-1 * 18.125rem));padding-block:1rem;justify-content:center}.igx-time-picker__buttons{display:flex;min-height:max(var(--is-large, 1)*max(3rem,-1 * 3rem),var(--is-medium, 1)*max(2.75rem,-1 * 2.75rem),var(--is-small, 1)*max(2.5rem,-1 * 2.5rem));justify-content:flex-end;align-items:center;padding:.5rem;gap:.5rem}.igx-time-picker--dropdown{min-width:max(var(--is-large, 1)*max(22.5rem,-1 * 22.5rem),var(--is-medium, 1)*max(19.625rem,-1 * 19.625rem),var(--is-small, 1)*max(18.125rem,-1 * 18.125rem));box-shadow:inset 0 0 0 .0625rem var(--border-color),var(--dropdown-elevation);background:var(--background-color);border-radius:var(--border-radius);overflow:hidden}.igx-time-picker--dropdown .igx-time-picker__body{min-width:auto}.igx-time-picker--dialog{box-shadow:0 0 0 .0625rem var(--border-color),var(--modal-elevation);background:var(--background-color);border-radius:var(--border-radius);overflow:hidden}.igx-time-picker--vertical .igx-time-picker__main{display:flex;flex-grow:1}.igx-time-picker--vertical .igx-time-picker__header{min-width:10.5rem}.igx-time-picker--vertical .igx-time-picker__body{flex-grow:1}.igx-time-picker--vertical .igx-time-picker__buttons{align-items:flex-end}}@layer ig.bootstrap{@container style(--ig-theme: bootstrap){.igx-time-picker__item--selected{font-family:var(--ig-h4-font-family, var(--ig-font-family));font-size:var(--ig-h4-font-size);font-weight:var(--ig-h4-font-weight);font-style:var(--ig-h4-font-style);line-height:var(--ig-h4-line-height);letter-spacing:var(--ig-h4-letter-spacing);text-transform:var(--ig-h4-text-transform);margin-top:var(--ig-h4-margin-top);margin-bottom:var(--ig-h4-margin-bottom);margin:0}}}@layer ig.indigo{@container style(--ig-theme: indigo){.igx-time-picker__header{border-block-end:.0625rem solid var(--divider-color);gap:.125rem}.igx-time-picker__header-hour{font-family:var(--ig-h5-font-family, var(--ig-font-family));font-size:var(--ig-h5-font-size);font-weight:var(--ig-h5-font-weight);font-style:var(--ig-h5-font-style);line-height:var(--ig-h5-line-height);letter-spacing:var(--ig-h5-letter-spacing);text-transform:var(--ig-h5-text-transform);margin-top:var(--ig-h5-margin-top);margin-bottom:var(--ig-h5-margin-bottom)}.igx-time-picker__column{width:3.375rem}.igx-time-picker__item--selected{font-family:var(--ig-h6-font-family, var(--ig-font-family));font-size:var(--ig-h6-font-size);font-weight:var(--ig-h6-font-weight);font-style:var(--ig-h6-font-style);line-height:var(--ig-h6-line-height);letter-spacing:var(--ig-h6-letter-spacing);text-transform:var(--ig-h6-text-transform);margin-top:var(--ig-h6-margin-top);margin-bottom:var(--ig-h6-margin-bottom)}.igx-time-picker__buttons{padding:.5rem 1rem}.igx-time-picker__buttons [igxbutton]{min-width:5.5rem}.igx-time-picker--vertical .igx-time-picker__header{min-width:8.5rem;border-inline-end:.0625rem solid var(--divider-color);border-block-end:none}}}@layer ig.material{@container style(--ig-theme: material){.igx-time-picker__header{padding:1rem 1.5rem}}}\n"], dependencies: [{ kind: "component", type: IgxInputGroupComponent, selector: "igx-input-group", inputs: ["resourceStrings", "suppressInputAutofocus", "type", "theme"] }, { kind: "directive", type: IgxInputDirective, selector: "[igxInput]", inputs: ["value", "disabled", "required"], exportAs: ["igxInput"] }, { kind: "directive", type: IgxDateTimeEditorDirective, selector: "[igxDateTimeEditor]", inputs: ["locale", "minValue", "maxValue", "spinLoop", "displayFormat", "igxDateTimeEditor", "value", "defaultFormatType", "spinDelta"], outputs: ["valueChange", "validationFailed"], exportAs: ["igxDateTimeEditor"] }, { kind: "directive", type: IgxTextSelectionDirective, selector: "[igxTextSelection]", inputs: ["igxTextSelection"], exportAs: ["igxTextSelection"] }, { kind: "directive", type: IgxPrefixDirective, selector: "[igxPrefix],[igxStart],igx-prefix" }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["ariaHidden", "family", "name", "active"] }, { kind: "directive", type: IgxSuffixDirective, selector: "[igxSuffix],[igxEnd],igx-suffix" }, { kind: "directive", type: IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxLabel"], outputs: ["buttonSelected"] }, { kind: "directive", type: IgxToggleDirective, selector: "[igxToggle]", inputs: ["id"], outputs: ["opened", "opening", "closed", "closing", "appended"], exportAs: ["toggle"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: IgxItemListDirective, selector: "[igxItemList]", inputs: ["igxItemList"] }, { kind: "directive", type: IgxTimeItemDirective, selector: "[igxTimeItem]", inputs: ["igxTimeItem"], exportAs: ["timeItem"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IgxDividerComponent, selector: "igx-divider", inputs: ["id", "role", "type", "middle", "vertical", "inset"] }, { kind: "directive", type: IgxReadOnlyInputDirective, selector: "[igxReadOnlyInput]", inputs: ["igxReadOnlyInput"], exportAs: ["igxReadOnlyInput"] }, { kind: "pipe", type: TimeFormatPipe, name: "timeFormatPipe" }, { kind: "pipe", type: TimeItemPipe, name: "timeItemPipe" }], changeDetection: i0.ChangeDetectionStrategy.Eager, encapsulation: i0.ViewEncapsulation.None }); }
|
|
1603
1600
|
}
|
|
1604
1601
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxTimePickerComponent, decorators: [{
|
|
1605
1602
|
type: Component,
|
|
@@ -1636,7 +1633,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImpor
|
|
|
1636
1633
|
TimeItemPipe,
|
|
1637
1634
|
IgxDividerComponent,
|
|
1638
1635
|
IgxReadOnlyInputDirective
|
|
1639
|
-
], changeDetection: ChangeDetectionStrategy.Eager, template: "<igx-input-group #inputGroup [type]=\"type\">\n <input [igxReadOnlyInput]=\"readOnly\" [displayValuePipe]=\"formatter ? displayValue : undefined\" igxInput [igxDateTimeEditor]=\"inputFormat\"\n type=\"text\" [readonly]=\"!isDropdown || readOnly\" [minValue]=\"minValue\" [maxValue]=\"maxValue\"\n [locale]=\"locale\" [spinDelta]=\"itemsDelta\" [spinLoop]=\"spinLoop\" [placeholder]=\"placeholder\"\n [disabled]=\"disabled\" [displayFormat]=\"displayFormat\" defaultFormatType=\"time\"\n [igxTextSelection]=\"isDropdown && !readOnly\" role=\"combobox\" aria-haspopup=\"dialog\"\n [attr.aria-expanded]=\"!toggleDirective.collapsed\" [attr.aria-labelledby]=\"label?.id\"\n (click)=\"!isDropdown && toggle()\"/>\n\n @if (!toggleComponents.length) {\n <igx-prefix (click)=\"toggle()\">\n <igx-icon\n [title]=\"\n value\n ? resourceStrings.igx_time_picker_change_time\n : resourceStrings.igx_time_picker_choose_time\n \"\n family=\"default\"\n name=\"clock\"\n ></igx-icon>\n </igx-prefix>\n }\n\n <ng-container ngProjectAs=\"[igxLabel]\">\n <ng-content select=\"[igxLabel]\"></ng-content>\n </ng-container>\n <ng-container ngProjectAs=\"igx-prefix\">\n <ng-content select=\"igx-prefix,[igxPrefix]\"></ng-content>\n </ng-container>\n\n @if (showClearButton) {\n <igx-suffix (click)=\"clear(); $event.stopPropagation()\">\n <igx-icon family=\"default\" name=\"input_clear\"></igx-icon>\n </igx-suffix>\n }\n\n <ng-container ngProjectAs=\"igx-suffix\">\n <ng-content select=\"igx-suffix,[igxSuffix]\"></ng-content>\n </ng-container>\n <ng-container ngProjectAs=\"igx-hint\">\n <ng-content select=\"igx-hint,[igxHint]\"></ng-content>\n </ng-container>\n</igx-input-group>\n\n<ng-template #defaultTimePickerActions>\n @if (cancelButtonLabel || okButtonLabel) {\n <div class=\"igx-time-picker__buttons\">\n @if (cancelButtonLabel) {\n <button type=\"button\" igxButton=\"flat\" (click)=\"cancelButtonClick()\">\n {{cancelButtonLabel}}\n </button>\n }\n @if (okButtonLabel) {\n <button type=\"button\" igxButton=\"flat\" (click)=\"okButtonClick()\">\n {{okButtonLabel}}\n </button>\n }\n </div>\n }\n</ng-template>\n\n<div #toggleDirective=\"toggle\" igxToggle role=\"dialog\" class=\"igx-time-picker\"\n [ngClass]=\"{\n 'igx-time-picker--dropdown': isDropdown,\n 'igx-time-picker--dialog': !isDropdown,\n 'igx-time-picker--vertical': isVertical && !isDropdown\n }\">\n <div class=\"igx-time-picker__main\">\n @if (!this.isDropdown && !this.hideHeader) {\n <div class=\"igx-time-picker__header\">\n <h2 class=\"igx-time-picker__header-hour\" data-no-typography>\n <span>{{ selectedDate | timeFormatPipe }}</span>\n </h2>\n </div>\n }\n <div class=\"igx-time-picker__body\">\n @if (showHoursList) {\n <div #hourList [igxItemList]=\"'hourList'\">\n @for (hour of hourItems | timeItemPipe:'hour':selectedDate:minDropdownValue:maxDropdownValue; track hour+$index) {\n <span [igxTimeItem]=\"hour\" #timeItem=\"timeItem\" aria-label=\"hour\"\n [attr.role]=\"timeItem.isSelectedTime ? 'spinbutton' : null\"\n [attr.aria-valuenow]=\"timeItem.isSelectedTime ? timeItem.hourValue : null\"\n [attr.aria-valuemin]=\"timeItem.isSelectedTime ? timeItem.minValue : null\"\n [attr.aria-valuemax]=\"timeItem.isSelectedTime ? timeItem.maxValue : null\"\n >{{ hour }}</span>\n }\n </div>\n }\n @if (showMinutesList) {\n <div #minuteList [igxItemList]=\"'minuteList'\">\n @for (minute of minuteItems | timeItemPipe:'minutes':selectedDate:minDropdownValue:maxDropdownValue; track minute+$index) {\n <span [igxTimeItem]=\"minute\" #timeItem=\"timeItem\" aria-label=\"minutes\"\n [attr.role]=\"timeItem.isSelectedTime ? 'spinbutton' : null\"\n [attr.aria-valuenow]=\"timeItem.isSelectedTime ? minute : null\"\n [attr.aria-valuemin]=\"timeItem.isSelectedTime ? timeItem.minValue : null\"\n [attr.aria-valuemax]=\"timeItem.isSelectedTime ? timeItem.maxValue : null\"\n >{{ minute }}</span>\n }\n </div>\n }\n @if (showSecondsList) {\n <div #secondsList [igxItemList]=\"'secondsList'\">\n @for (seconds of secondsItems | timeItemPipe:'seconds':selectedDate:minDropdownValue:maxDropdownValue; track seconds+$index) {\n <span [igxTimeItem]=\"seconds\" #timeItem=\"timeItem\" aria-label=\"seconds\"\n [attr.role]=\"timeItem.isSelectedTime ? 'spinbutton' : null\"\n [attr.aria-valuenow]=\"timeItem.isSelectedTime ? seconds : null\"\n [attr.aria-valuemin]=\"timeItem.isSelectedTime ? timeItem.minValue : null\"\n [attr.aria-valuemax]=\"timeItem.isSelectedTime ? timeItem.maxValue : null\"\n >{{ seconds }}</span>\n }\n </div>\n }\n @if (showAmPmList) {\n <div #ampmList [igxItemList]=\"'ampmList'\">\n @for (ampm of ampmItems | timeItemPipe:'ampm':selectedDate:minDropdownValue:maxDropdownValue; track ampm+$index) {\n <span [igxTimeItem]=\"ampm\" #timeItem=\"timeItem\" aria-label=\"ampm\"\n [attr.role]=\"timeItem.isSelectedTime ? 'spinbutton' : null\"\n [attr.aria-valuenow]=\"timeItem.isSelectedTime ? ampm : null\"\n [attr.aria-valuemin]=\"timeItem.isSelectedTime ? timeItem.minValue : null\"\n [attr.aria-valuemax]=\"timeItem.isSelectedTime ? timeItem.maxValue : null\"\n >{{ ampm }}</span>\n }\n </div>\n }\n </div>\n </div>\n <igx-divider></igx-divider>\n <ng-container\n *ngTemplateOutlet=\"timePickerActionsDirective ? timePickerActionsDirective.template : defaultTimePickerActions\">\n </ng-container>\n</div>\n", styles: ["@layer ig.base{.igx-time-picker{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);--component-size: var(--ig-size, var(--default-size));display:flex;flex-flow:column nowrap;min-width:-moz-fit-content;min-width:fit-content}.igx-time-picker igx-divider{--ig-divider-color: var(--divider-color)}.igx-time-picker__header{display:flex;flex-direction:column;background:var(--header-background);padding:1rem}.igx-time-picker__header-hour{font-family:var(--ig-h4-font-family, var(--ig-font-family));font-size:var(--ig-h4-font-size);font-weight:var(--ig-h4-font-weight);font-style:var(--ig-h4-font-style);line-height:var(--ig-h4-line-height);letter-spacing:var(--ig-h4-letter-spacing);text-transform:var(--ig-h4-text-transform);margin-top:var(--ig-h4-margin-top);margin-bottom:var(--ig-h4-margin-bottom);display:flex;color:var(--header-hour-text-color);margin:0}[dir=rtl] .igx-time-picker__header-hour{flex-direction:row-reverse;justify-content:flex-end}.igx-time-picker__main{flex:1 1 auto}.igx-time-picker__column{width:4rem;padding:0;cursor:pointer;display:flex;flex-flow:column nowrap;justify-content:space-between;align-items:center;color:var(--text-color);overflow:hidden;gap:.25rem}.igx-time-picker__column:focus,.igx-time-picker__column:active{outline:none}.igx-time-picker__item{width:2.875rem;padding:max(var(--is-large, 1)*max(.3125rem,-1 * .3125rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(.3125rem,-1 * .3125rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(.3125rem,-1 * .3125rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing)))) max(var(--is-large, 1)*max(.625rem,-1 * .625rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(.625rem,-1 * .625rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(.625rem,-1 * .625rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))));border-radius:var(--active-item-border-radius);height:var(--time-item-size);display:flex;justify-content:center;align-items:center;font-size:max(var(--is-large, 1)*max(var(--ig-body-1-font-size),-1 * var(--ig-body-1-font-size)),var(--is-medium, 1)*max(var(--ig-body-2-font-size),-1 * var(--ig-body-2-font-size)),var(--is-small, 1)*max(var(--ig-body-2-font-size),-1 * var(--ig-body-2-font-size)));font-weight:max(var(--is-large, 1)*max(var(--ig-body-1-font-weight),-1 * var(--ig-body-1-font-weight)),var(--is-medium, 1)*max(var(--ig-body-2-font-weight),-1 * var(--ig-body-2-font-weight)),var(--is-small, 1)*max(var(--ig-body-2-font-weight),-1 * var(--ig-body-2-font-weight)));font-style:max(var(--is-large, 1)*max(var(--ig-body-1-font-style),-1 * var(--ig-body-1-font-style)),var(--is-medium, 1)*max(var(--ig-body-2-font-style),-1 * var(--ig-body-2-font-style)),var(--is-small, 1)*max(var(--ig-body-2-font-style),-1 * var(--ig-body-2-font-style)));line-height:max(var(--is-large, 1)*max(var(--ig-body-1-line-height),-1 * var(--ig-body-1-line-height)),var(--is-medium, 1)*max(var(--ig-body-2-line-height),-1 * var(--ig-body-2-line-height)),var(--is-small, 1)*max(var(--ig-body-2-line-height),-1 * var(--ig-body-2-line-height)));letter-spacing:max(var(--is-large, 1)*max(var(--ig-body-1-letter-spacing),-1 * var(--ig-body-1-letter-spacing)),var(--is-medium, 1)*max(var(--ig-body-2-letter-spacing),-1 * var(--ig-body-2-letter-spacing)),var(--is-small, 1)*max(var(--ig-body-2-letter-spacing),-1 * var(--ig-body-2-letter-spacing)));text-transform:max(var(--is-large, 1)*max(var(--ig-body-1-text-transform),-1 * var(--ig-body-1-text-transform)),var(--is-medium, 1)*max(var(--ig-body-2-text-transform),-1 * var(--ig-body-2-text-transform)),var(--is-small, 1)*max(var(--ig-body-2-text-transform),-1 * var(--ig-body-2-text-transform)))}.igx-time-picker__item:focus,.igx-time-picker__item:active{outline:none}.igx-time-picker__item:hover{color:var(--hover-text-color)}.igx-time-picker__item--selected{font-family:var(--ig-h5-font-family, var(--ig-font-family));font-size:var(--ig-h5-font-size);font-weight:var(--ig-h5-font-weight);font-style:var(--ig-h5-font-style);line-height:var(--ig-h5-line-height);letter-spacing:var(--ig-h5-letter-spacing);text-transform:var(--ig-h5-text-transform);margin-top:var(--ig-h5-margin-top);margin-bottom:var(--ig-h5-margin-bottom);margin:0;color:var(--selected-text-color)}.igx-time-picker__item--active{color:var(--active-item-foreground);background:var(--active-item-background)}.igx-time-picker__item--active:hover,.igx-time-picker__item--active:focus{color:var(--active-item-foreground)}.igx-time-picker__item--disabled{color:var(--disabled-text-color);background:var(--disabled-item-background);pointer-events:none}.igx-time-picker__hourList{text-align:end}[dir=rtl] .igx-time-picker__hourList{order:2}.igx-time-picker__minuteList{text-align:center}[dir=rtl] .igx-time-picker__minuteList{order:1}.igx-time-picker__secondsList{text-align:center}[dir=rtl] .igx-time-picker__ampmList{order:3}.igx-time-picker__body{display:flex;min-width:max(var(--is-large, 1)*max(22.5rem,-1 * 22.5rem),var(--is-medium, 1)*max(19.625rem,-1 * 19.625rem),var(--is-small, 1)*max(18.125rem,-1 * 18.125rem));padding-block:1rem;justify-content:center}.igx-time-picker__buttons{display:flex;min-height:max(var(--is-large, 1)*max(3rem,-1 * 3rem),var(--is-medium, 1)*max(2.75rem,-1 * 2.75rem),var(--is-small, 1)*max(2.5rem,-1 * 2.5rem));justify-content:flex-end;align-items:center;padding:.5rem;gap:.5rem}.igx-time-picker--dropdown{min-width:max(var(--is-large, 1)*max(22.5rem,-1 * 22.5rem),var(--is-medium, 1)*max(19.625rem,-1 * 19.625rem),var(--is-small, 1)*max(18.125rem,-1 * 18.125rem));box-shadow:inset 0 0 0 .0625rem var(--border-color),var(--dropdown-elevation);background:var(--background-color);border-radius:var(--border-radius);overflow:hidden}.igx-time-picker--dropdown .igx-time-picker__body{min-width:auto}.igx-time-picker--dialog{box-shadow:0 0 0 .0625rem var(--border-color),var(--modal-elevation);background:var(--background-color);border-radius:var(--border-radius);overflow:hidden}.igx-time-picker--vertical .igx-time-picker__main{display:flex;flex-grow:1}.igx-time-picker--vertical .igx-time-picker__header{min-width:10.5rem}.igx-time-picker--vertical .igx-time-picker__body{flex-grow:1}.igx-time-picker--vertical .igx-time-picker__buttons{align-items:flex-end}}@layer ig.bootstrap{@container style(--ig-theme: bootstrap){.igx-time-picker__item--selected{font-family:var(--ig-h4-font-family, var(--ig-font-family));font-size:var(--ig-h4-font-size);font-weight:var(--ig-h4-font-weight);font-style:var(--ig-h4-font-style);line-height:var(--ig-h4-line-height);letter-spacing:var(--ig-h4-letter-spacing);text-transform:var(--ig-h4-text-transform);margin-top:var(--ig-h4-margin-top);margin-bottom:var(--ig-h4-margin-bottom);margin:0}}}@layer ig.indigo{@container style(--ig-theme: indigo){.igx-time-picker__header{border-block-end:.0625rem solid var(--divider-color);gap:.125rem}.igx-time-picker__header-hour{font-family:var(--ig-h5-font-family, var(--ig-font-family));font-size:var(--ig-h5-font-size);font-weight:var(--ig-h5-font-weight);font-style:var(--ig-h5-font-style);line-height:var(--ig-h5-line-height);letter-spacing:var(--ig-h5-letter-spacing);text-transform:var(--ig-h5-text-transform);margin-top:var(--ig-h5-margin-top);margin-bottom:var(--ig-h5-margin-bottom)}.igx-time-picker__column{width:3.375rem}.igx-time-picker__item--selected{font-family:var(--ig-h6-font-family, var(--ig-font-family));font-size:var(--ig-h6-font-size);font-weight:var(--ig-h6-font-weight);font-style:var(--ig-h6-font-style);line-height:var(--ig-h6-line-height);letter-spacing:var(--ig-h6-letter-spacing);text-transform:var(--ig-h6-text-transform);margin-top:var(--ig-h6-margin-top);margin-bottom:var(--ig-h6-margin-bottom)}.igx-time-picker__buttons{padding:.5rem 1rem}.igx-time-picker__buttons [igxbutton]{min-width:5.5rem}.igx-time-picker--vertical .igx-time-picker__header{min-width:8.5rem;border-inline-end:.0625rem solid var(--divider-color);border-block-end:none}}}@layer ig.material{@container style(--ig-theme: material){.igx-time-picker__header{padding:1rem 1.5rem}}}\n"] }]
|
|
1636
|
+
], changeDetection: ChangeDetectionStrategy.Eager, template: "<igx-input-group #inputGroup [type]=\"type\">\n <input [igxReadOnlyInput]=\"readOnly\" [displayValuePipe]=\"formatter ? displayValue : null\" igxInput [igxDateTimeEditor]=\"inputFormat\"\n type=\"text\" [readonly]=\"!isDropdown || readOnly\" [minValue]=\"minValue\" [maxValue]=\"maxValue\"\n [locale]=\"locale\" [spinDelta]=\"itemsDelta\" [spinLoop]=\"spinLoop\" [placeholder]=\"placeholder\"\n [disabled]=\"disabled\" [displayFormat]=\"displayFormat\" defaultFormatType=\"time\"\n [igxTextSelection]=\"isDropdown && !readOnly\" role=\"combobox\" aria-haspopup=\"dialog\"\n [attr.aria-expanded]=\"!toggleDirective.collapsed\" [attr.aria-labelledby]=\"label?.id\"\n (click)=\"!isDropdown && toggle()\"/>\n\n @if (!toggleComponents.length) {\n <igx-prefix (click)=\"toggle()\">\n <igx-icon\n [title]=\"\n value\n ? resourceStrings.igx_time_picker_change_time\n : resourceStrings.igx_time_picker_choose_time\n \"\n family=\"default\"\n name=\"clock\"\n ></igx-icon>\n </igx-prefix>\n }\n\n <ng-container ngProjectAs=\"[igxLabel]\">\n <ng-content select=\"[igxLabel]\"></ng-content>\n </ng-container>\n <ng-container ngProjectAs=\"igx-prefix\">\n <ng-content select=\"igx-prefix,[igxPrefix]\"></ng-content>\n </ng-container>\n\n @if (showClearButton) {\n <igx-suffix (click)=\"clear(); $event.stopPropagation()\">\n <igx-icon family=\"default\" name=\"input_clear\"></igx-icon>\n </igx-suffix>\n }\n\n <ng-container ngProjectAs=\"igx-suffix\">\n <ng-content select=\"igx-suffix,[igxSuffix]\"></ng-content>\n </ng-container>\n <ng-container ngProjectAs=\"igx-hint\">\n <ng-content select=\"igx-hint,[igxHint]\"></ng-content>\n </ng-container>\n</igx-input-group>\n\n<ng-template #defaultTimePickerActions>\n @if (cancelButtonLabel || okButtonLabel) {\n <div class=\"igx-time-picker__buttons\">\n @if (cancelButtonLabel) {\n <button type=\"button\" igxButton=\"flat\" (click)=\"cancelButtonClick()\">\n {{cancelButtonLabel}}\n </button>\n }\n @if (okButtonLabel) {\n <button type=\"button\" igxButton=\"flat\" (click)=\"okButtonClick()\">\n {{okButtonLabel}}\n </button>\n }\n </div>\n }\n</ng-template>\n\n<div #toggleDirective=\"toggle\" igxToggle role=\"dialog\" class=\"igx-time-picker\"\n [ngClass]=\"{\n 'igx-time-picker--dropdown': isDropdown,\n 'igx-time-picker--dialog': !isDropdown,\n 'igx-time-picker--vertical': isVertical && !isDropdown\n }\">\n <div class=\"igx-time-picker__main\">\n @if (!this.isDropdown && !this.hideHeader) {\n <div class=\"igx-time-picker__header\">\n <h2 class=\"igx-time-picker__header-hour\" data-no-typography>\n <span>{{ selectedDate | timeFormatPipe }}</span>\n </h2>\n </div>\n }\n <div class=\"igx-time-picker__body\">\n @if (showHoursList) {\n <div #hourList [igxItemList]=\"'hourList'\">\n @for (hour of hourItems | timeItemPipe:'hour':selectedDate:minDropdownValue:maxDropdownValue; track hour+$index) {\n <span [igxTimeItem]=\"hour\" #timeItem=\"timeItem\" aria-label=\"hour\"\n [attr.role]=\"timeItem.isSelectedTime ? 'spinbutton' : null\"\n [attr.aria-valuenow]=\"timeItem.isSelectedTime ? timeItem.hourValue : null\"\n [attr.aria-valuemin]=\"timeItem.isSelectedTime ? timeItem.minValue : null\"\n [attr.aria-valuemax]=\"timeItem.isSelectedTime ? timeItem.maxValue : null\"\n >{{ hour }}</span>\n }\n </div>\n }\n @if (showMinutesList) {\n <div #minuteList [igxItemList]=\"'minuteList'\">\n @for (minute of minuteItems | timeItemPipe:'minutes':selectedDate:minDropdownValue:maxDropdownValue; track minute+$index) {\n <span [igxTimeItem]=\"minute\" #timeItem=\"timeItem\" aria-label=\"minutes\"\n [attr.role]=\"timeItem.isSelectedTime ? 'spinbutton' : null\"\n [attr.aria-valuenow]=\"timeItem.isSelectedTime ? minute : null\"\n [attr.aria-valuemin]=\"timeItem.isSelectedTime ? timeItem.minValue : null\"\n [attr.aria-valuemax]=\"timeItem.isSelectedTime ? timeItem.maxValue : null\"\n >{{ minute }}</span>\n }\n </div>\n }\n @if (showSecondsList) {\n <div #secondsList [igxItemList]=\"'secondsList'\">\n @for (seconds of secondsItems | timeItemPipe:'seconds':selectedDate:minDropdownValue:maxDropdownValue; track seconds+$index) {\n <span [igxTimeItem]=\"seconds\" #timeItem=\"timeItem\" aria-label=\"seconds\"\n [attr.role]=\"timeItem.isSelectedTime ? 'spinbutton' : null\"\n [attr.aria-valuenow]=\"timeItem.isSelectedTime ? seconds : null\"\n [attr.aria-valuemin]=\"timeItem.isSelectedTime ? timeItem.minValue : null\"\n [attr.aria-valuemax]=\"timeItem.isSelectedTime ? timeItem.maxValue : null\"\n >{{ seconds }}</span>\n }\n </div>\n }\n @if (showAmPmList) {\n <div #ampmList [igxItemList]=\"'ampmList'\">\n @for (ampm of ampmItems | timeItemPipe:'ampm':selectedDate:minDropdownValue:maxDropdownValue; track ampm+$index) {\n <span [igxTimeItem]=\"ampm\" #timeItem=\"timeItem\" aria-label=\"ampm\"\n [attr.role]=\"timeItem.isSelectedTime ? 'spinbutton' : null\"\n [attr.aria-valuenow]=\"timeItem.isSelectedTime ? ampm : null\"\n [attr.aria-valuemin]=\"timeItem.isSelectedTime ? timeItem.minValue : null\"\n [attr.aria-valuemax]=\"timeItem.isSelectedTime ? timeItem.maxValue : null\"\n >{{ ampm }}</span>\n }\n </div>\n }\n </div>\n </div>\n <igx-divider></igx-divider>\n <ng-container\n *ngTemplateOutlet=\"timePickerActionsDirective ? timePickerActionsDirective.template : defaultTimePickerActions\">\n </ng-container>\n</div>\n", styles: ["@layer ig.base{.igx-time-picker{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);--component-size: var(--ig-size, var(--default-size));display:flex;flex-flow:column nowrap;min-width:-moz-fit-content;min-width:fit-content}.igx-time-picker igx-divider{--ig-divider-color: var(--divider-color)}.igx-time-picker__header{display:flex;flex-direction:column;background:var(--header-background);padding:1rem}.igx-time-picker__header-hour{font-family:var(--ig-h4-font-family, var(--ig-font-family));font-size:var(--ig-h4-font-size);font-weight:var(--ig-h4-font-weight);font-style:var(--ig-h4-font-style);line-height:var(--ig-h4-line-height);letter-spacing:var(--ig-h4-letter-spacing);text-transform:var(--ig-h4-text-transform);margin-top:var(--ig-h4-margin-top);margin-bottom:var(--ig-h4-margin-bottom);display:flex;color:var(--header-hour-text-color);margin:0}[dir=rtl] .igx-time-picker__header-hour{flex-direction:row-reverse;justify-content:flex-end}.igx-time-picker__main{flex:1 1 auto}.igx-time-picker__column{width:4rem;padding:0;cursor:pointer;display:flex;flex-flow:column nowrap;justify-content:space-between;align-items:center;color:var(--text-color);overflow:hidden;gap:.25rem}.igx-time-picker__column:focus,.igx-time-picker__column:active{outline:none}.igx-time-picker__item{width:2.875rem;padding:max(var(--is-large, 1)*max(.3125rem,-1 * .3125rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(.3125rem,-1 * .3125rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(.3125rem,-1 * .3125rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing)))) max(var(--is-large, 1)*max(.625rem,-1 * .625rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(.625rem,-1 * .625rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(.625rem,-1 * .625rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))));border-radius:var(--active-item-border-radius);height:var(--time-item-size);display:flex;justify-content:center;align-items:center;font-size:max(var(--is-large, 1)*max(var(--ig-body-1-font-size),-1 * var(--ig-body-1-font-size)),var(--is-medium, 1)*max(var(--ig-body-2-font-size),-1 * var(--ig-body-2-font-size)),var(--is-small, 1)*max(var(--ig-body-2-font-size),-1 * var(--ig-body-2-font-size)));font-weight:max(var(--is-large, 1)*max(var(--ig-body-1-font-weight),-1 * var(--ig-body-1-font-weight)),var(--is-medium, 1)*max(var(--ig-body-2-font-weight),-1 * var(--ig-body-2-font-weight)),var(--is-small, 1)*max(var(--ig-body-2-font-weight),-1 * var(--ig-body-2-font-weight)));font-style:max(var(--is-large, 1)*max(var(--ig-body-1-font-style),-1 * var(--ig-body-1-font-style)),var(--is-medium, 1)*max(var(--ig-body-2-font-style),-1 * var(--ig-body-2-font-style)),var(--is-small, 1)*max(var(--ig-body-2-font-style),-1 * var(--ig-body-2-font-style)));line-height:max(var(--is-large, 1)*max(var(--ig-body-1-line-height),-1 * var(--ig-body-1-line-height)),var(--is-medium, 1)*max(var(--ig-body-2-line-height),-1 * var(--ig-body-2-line-height)),var(--is-small, 1)*max(var(--ig-body-2-line-height),-1 * var(--ig-body-2-line-height)));letter-spacing:max(var(--is-large, 1)*max(var(--ig-body-1-letter-spacing),-1 * var(--ig-body-1-letter-spacing)),var(--is-medium, 1)*max(var(--ig-body-2-letter-spacing),-1 * var(--ig-body-2-letter-spacing)),var(--is-small, 1)*max(var(--ig-body-2-letter-spacing),-1 * var(--ig-body-2-letter-spacing)));text-transform:max(var(--is-large, 1)*max(var(--ig-body-1-text-transform),-1 * var(--ig-body-1-text-transform)),var(--is-medium, 1)*max(var(--ig-body-2-text-transform),-1 * var(--ig-body-2-text-transform)),var(--is-small, 1)*max(var(--ig-body-2-text-transform),-1 * var(--ig-body-2-text-transform)))}.igx-time-picker__item:focus,.igx-time-picker__item:active{outline:none}.igx-time-picker__item:hover{color:var(--hover-text-color)}.igx-time-picker__item--selected{font-family:var(--ig-h5-font-family, var(--ig-font-family));font-size:var(--ig-h5-font-size);font-weight:var(--ig-h5-font-weight);font-style:var(--ig-h5-font-style);line-height:var(--ig-h5-line-height);letter-spacing:var(--ig-h5-letter-spacing);text-transform:var(--ig-h5-text-transform);margin-top:var(--ig-h5-margin-top);margin-bottom:var(--ig-h5-margin-bottom);margin:0;color:var(--selected-text-color)}.igx-time-picker__item--active{color:var(--active-item-foreground);background:var(--active-item-background)}.igx-time-picker__item--active:hover,.igx-time-picker__item--active:focus{color:var(--active-item-foreground)}.igx-time-picker__item--disabled{color:var(--disabled-text-color);background:var(--disabled-item-background);pointer-events:none}.igx-time-picker__hourList{text-align:end}[dir=rtl] .igx-time-picker__hourList{order:2}.igx-time-picker__minuteList{text-align:center}[dir=rtl] .igx-time-picker__minuteList{order:1}.igx-time-picker__secondsList{text-align:center}[dir=rtl] .igx-time-picker__ampmList{order:3}.igx-time-picker__body{display:flex;min-width:max(var(--is-large, 1)*max(22.5rem,-1 * 22.5rem),var(--is-medium, 1)*max(19.625rem,-1 * 19.625rem),var(--is-small, 1)*max(18.125rem,-1 * 18.125rem));padding-block:1rem;justify-content:center}.igx-time-picker__buttons{display:flex;min-height:max(var(--is-large, 1)*max(3rem,-1 * 3rem),var(--is-medium, 1)*max(2.75rem,-1 * 2.75rem),var(--is-small, 1)*max(2.5rem,-1 * 2.5rem));justify-content:flex-end;align-items:center;padding:.5rem;gap:.5rem}.igx-time-picker--dropdown{min-width:max(var(--is-large, 1)*max(22.5rem,-1 * 22.5rem),var(--is-medium, 1)*max(19.625rem,-1 * 19.625rem),var(--is-small, 1)*max(18.125rem,-1 * 18.125rem));box-shadow:inset 0 0 0 .0625rem var(--border-color),var(--dropdown-elevation);background:var(--background-color);border-radius:var(--border-radius);overflow:hidden}.igx-time-picker--dropdown .igx-time-picker__body{min-width:auto}.igx-time-picker--dialog{box-shadow:0 0 0 .0625rem var(--border-color),var(--modal-elevation);background:var(--background-color);border-radius:var(--border-radius);overflow:hidden}.igx-time-picker--vertical .igx-time-picker__main{display:flex;flex-grow:1}.igx-time-picker--vertical .igx-time-picker__header{min-width:10.5rem}.igx-time-picker--vertical .igx-time-picker__body{flex-grow:1}.igx-time-picker--vertical .igx-time-picker__buttons{align-items:flex-end}}@layer ig.bootstrap{@container style(--ig-theme: bootstrap){.igx-time-picker__item--selected{font-family:var(--ig-h4-font-family, var(--ig-font-family));font-size:var(--ig-h4-font-size);font-weight:var(--ig-h4-font-weight);font-style:var(--ig-h4-font-style);line-height:var(--ig-h4-line-height);letter-spacing:var(--ig-h4-letter-spacing);text-transform:var(--ig-h4-text-transform);margin-top:var(--ig-h4-margin-top);margin-bottom:var(--ig-h4-margin-bottom);margin:0}}}@layer ig.indigo{@container style(--ig-theme: indigo){.igx-time-picker__header{border-block-end:.0625rem solid var(--divider-color);gap:.125rem}.igx-time-picker__header-hour{font-family:var(--ig-h5-font-family, var(--ig-font-family));font-size:var(--ig-h5-font-size);font-weight:var(--ig-h5-font-weight);font-style:var(--ig-h5-font-style);line-height:var(--ig-h5-line-height);letter-spacing:var(--ig-h5-letter-spacing);text-transform:var(--ig-h5-text-transform);margin-top:var(--ig-h5-margin-top);margin-bottom:var(--ig-h5-margin-bottom)}.igx-time-picker__column{width:3.375rem}.igx-time-picker__item--selected{font-family:var(--ig-h6-font-family, var(--ig-font-family));font-size:var(--ig-h6-font-size);font-weight:var(--ig-h6-font-weight);font-style:var(--ig-h6-font-style);line-height:var(--ig-h6-line-height);letter-spacing:var(--ig-h6-letter-spacing);text-transform:var(--ig-h6-text-transform);margin-top:var(--ig-h6-margin-top);margin-bottom:var(--ig-h6-margin-bottom)}.igx-time-picker__buttons{padding:.5rem 1rem}.igx-time-picker__buttons [igxbutton]{min-width:5.5rem}.igx-time-picker--vertical .igx-time-picker__header{min-width:8.5rem;border-inline-end:.0625rem solid var(--divider-color);border-block-end:none}}}@layer ig.material{@container style(--ig-theme: material){.igx-time-picker__header{padding:1rem 1.5rem}}}\n"] }]
|
|
1640
1637
|
}], ctorParameters: () => [], propDecorators: { id: [{
|
|
1641
1638
|
type: HostBinding,
|
|
1642
1639
|
args: ['attr.id']
|