@taiga-ui/kit 3.16.0 → 3.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/taiga-ui-kit-components-accordion.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-accordion.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js +14 -13
- package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-calendar-range.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-calendar-range.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-carousel.umd.js +6 -17
- package/bundles/taiga-ui-kit-components-carousel.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.js +7 -3
- package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-elastic-container.umd.js +131 -0
- package/bundles/taiga-ui-kit-components-elastic-container.umd.js.map +1 -0
- package/bundles/taiga-ui-kit-components-input-date-range.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-date-time.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-input-date-time.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-date.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-input-date.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-files.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-month-range.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-input-month-range.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-month.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-input-month.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-phone-international.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-input-phone-international.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-year.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-input-year.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-line-clamp.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-multi-select.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-pagination.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-pagination.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-push.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-radio-labeled.umd.js +7 -3
- package/bundles/taiga-ui-kit-components-radio-labeled.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-range.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-rating.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-rating.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-tabs.umd.js +4 -2
- package/bundles/taiga-ui-kit-components-tabs.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-tag.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-tag.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-tiles.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-tiles.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-tree.umd.js +4 -4
- package/bundles/taiga-ui-kit-components-tree.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components.umd.js +10 -4
- package/bundles/taiga-ui-kit-components.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-constants.umd.js +1 -1
- package/bundles/taiga-ui-kit-constants.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-directives-unfinished-validator.umd.js +3 -1
- package/bundles/taiga-ui-kit-directives-unfinished-validator.umd.js.map +1 -1
- package/components/breadcrumbs/breadcrumbs.component.d.ts +1 -4
- package/components/checkbox-labeled/checkbox-labeled.component.d.ts +4 -3
- package/components/elastic-container/elastic-container.component.d.ts +6 -0
- package/components/elastic-container/elastic-container.directive.d.ts +12 -0
- package/components/elastic-container/elastic-container.module.d.ts +8 -0
- package/components/elastic-container/index.d.ts +3 -0
- package/components/elastic-container/package.json +10 -0
- package/components/elastic-container/taiga-ui-kit-components-elastic-container.d.ts +5 -0
- package/components/index.d.ts +1 -0
- package/components/input-date-range/input-date-range.directive.d.ts +2 -1
- package/components/input-files/input-files.component.d.ts +1 -1
- package/components/line-clamp/line-clamp.component.d.ts +2 -2
- package/components/radio-labeled/radio-labeled.component.d.ts +4 -2
- package/components/range/range-change.directive.d.ts +1 -1
- package/components/tabs/tabs-options.d.ts +1 -0
- package/esm2015/components/accordion/accordion.component.js +2 -2
- package/esm2015/components/breadcrumbs/breadcrumbs.component.js +5 -7
- package/esm2015/components/calendar-range/calendar-range.component.js +4 -4
- package/esm2015/components/carousel/carousel.component.js +2 -14
- package/esm2015/components/checkbox-labeled/checkbox-labeled.component.js +9 -5
- package/esm2015/components/elastic-container/elastic-container.component.js +23 -0
- package/esm2015/components/elastic-container/elastic-container.directive.js +58 -0
- package/esm2015/components/elastic-container/elastic-container.module.js +17 -0
- package/esm2015/components/elastic-container/index.js +4 -0
- package/esm2015/components/elastic-container/taiga-ui-kit-components-elastic-container.js +5 -0
- package/esm2015/components/index.js +2 -1
- package/esm2015/components/input-date/input-date.component.js +1 -1
- package/esm2015/components/input-date-range/input-date-range.directive.js +1 -1
- package/esm2015/components/input-date-time/input-date-time.component.js +1 -1
- package/esm2015/components/input-files/input-files.component.js +1 -1
- package/esm2015/components/input-month/input-month.component.js +1 -1
- package/esm2015/components/input-month-range/input-month-range.component.js +1 -1
- package/esm2015/components/input-phone-international/input-phone-international.component.js +2 -2
- package/esm2015/components/input-year/input-year.component.js +1 -1
- package/esm2015/components/line-clamp/line-clamp.component.js +1 -1
- package/esm2015/components/multi-select/multi-select.component.js +2 -2
- package/esm2015/components/pagination/pagination.component.js +1 -1
- package/esm2015/components/push/push.component.js +1 -1
- package/esm2015/components/radio-labeled/radio-labeled.component.js +9 -5
- package/esm2015/components/range/range-change.directive.js +1 -1
- package/esm2015/components/rating/rating.component.js +4 -4
- package/esm2015/components/tabs/tabs-options.js +2 -1
- package/esm2015/components/tabs/tabs-with-more/tabs-with-more.component.js +4 -3
- package/esm2015/components/tag/tag.component.js +1 -1
- package/esm2015/components/tiles/tile.component.js +2 -2
- package/esm2015/components/tiles/tiles.component.js +2 -2
- package/esm2015/components/tree/components/tree/tree.component.js +3 -3
- package/esm2015/components/tree/components/tree-item-content/tree-item-content.component.js +3 -3
- package/esm2015/constants/max-day-range-length-mapper.js +3 -2
- package/esm2015/directives/unfinished-validator/unfinished-validator.directive.js +4 -2
- package/fesm2015/taiga-ui-kit-components-accordion.js +1 -1
- package/fesm2015/taiga-ui-kit-components-accordion.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-breadcrumbs.js +4 -6
- package/fesm2015/taiga-ui-kit-components-breadcrumbs.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-calendar-range.js +3 -3
- package/fesm2015/taiga-ui-kit-components-calendar-range.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-carousel.js +3 -14
- package/fesm2015/taiga-ui-kit-components-carousel.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-checkbox-labeled.js +8 -4
- package/fesm2015/taiga-ui-kit-components-checkbox-labeled.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-elastic-container.js +98 -0
- package/fesm2015/taiga-ui-kit-components-elastic-container.js.map +1 -0
- package/fesm2015/taiga-ui-kit-components-input-date-range.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-date-time.js +1 -1
- package/fesm2015/taiga-ui-kit-components-input-date-time.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-date.js +1 -1
- package/fesm2015/taiga-ui-kit-components-input-date.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-files.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-month-range.js +1 -1
- package/fesm2015/taiga-ui-kit-components-input-month-range.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-month.js +1 -1
- package/fesm2015/taiga-ui-kit-components-input-month.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-phone-international.js +1 -1
- package/fesm2015/taiga-ui-kit-components-input-phone-international.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-year.js +1 -1
- package/fesm2015/taiga-ui-kit-components-input-year.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-line-clamp.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-multi-select.js +1 -1
- package/fesm2015/taiga-ui-kit-components-multi-select.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-pagination.js +1 -1
- package/fesm2015/taiga-ui-kit-components-pagination.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-push.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-radio-labeled.js +8 -4
- package/fesm2015/taiga-ui-kit-components-radio-labeled.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-range.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-rating.js +3 -3
- package/fesm2015/taiga-ui-kit-components-rating.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-tabs.js +4 -2
- package/fesm2015/taiga-ui-kit-components-tabs.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-tag.js +1 -1
- package/fesm2015/taiga-ui-kit-components-tag.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-tiles.js +2 -2
- package/fesm2015/taiga-ui-kit-components-tiles.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-tree.js +4 -4
- package/fesm2015/taiga-ui-kit-components-tree.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components.js +1 -0
- package/fesm2015/taiga-ui-kit-components.js.map +1 -1
- package/fesm2015/taiga-ui-kit-constants.js +2 -2
- package/fesm2015/taiga-ui-kit-constants.js.map +1 -1
- package/fesm2015/taiga-ui-kit-directives-unfinished-validator.js +3 -1
- package/fesm2015/taiga-ui-kit-directives-unfinished-validator.js.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-kit-components-push.js","sources":["../../../projects/kit/components/push/push.component.ts","../../../projects/kit/components/push/push.template.html","../../../projects/kit/components/push/push.directive.ts","../../../projects/kit/components/push/push.tokens.ts","../../../projects/kit/components/push/push-alert.directive.ts","../../../projects/kit/components/push/push-alert.component.ts","../../../projects/kit/components/push/push-alert.template.html","../../../projects/kit/components/push/push.service.ts","../../../projects/kit/components/push/push.module.ts","../../../projects/kit/components/push/taiga-ui-kit-components-push.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Inject,\n Input,\n Output,\n} from '@angular/core';\nimport {tuiDefaultProp, tuiIsObserved} from '@taiga-ui/cdk';\nimport {TUI_CLOSE_WORD} from '@taiga-ui/core';\nimport {Observable} from 'rxjs';\n\n@Component({\n selector: 'tui-push',\n templateUrl: './push.template.html',\n styleUrls: ['./push.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiPushComponent {\n @Input()\n @tuiDefaultProp()\n heading = '';\n\n @Input()\n @tuiDefaultProp()\n type = '';\n\n @Input()\n @tuiDefaultProp()\n timestamp = 0;\n\n @Output()\n readonly close = new EventEmitter<void>();\n\n constructor(@Inject(TUI_CLOSE_WORD) readonly closeWord$: Observable<string>) {}\n\n get closeable(): boolean {\n return tuiIsObserved(this.close);\n }\n}\n","<div class=\"t-image\">\n <ng-content select=\"img\"></ng-content>\n</div>\n<button\n *ngIf=\"closeable\"\n type=\"button\"\n tuiIconButton\n icon=\"tuiIconCloseLarge\"\n size=\"xs\"\n appearance=\"\"\n shape=\"rounded\"\n class=\"t-close\"\n [title]=\"closeWord$ | async\"\n (click)=\"close.emit()\"\n></button>\n<div class=\"t-top\">\n <span class=\"t-icon\">\n <ng-content select=\"tui-svg\"></ng-content>\n </span>\n {{ type }}\n <span\n *ngIf=\"timestamp\"\n class=\"t-time\"\n [textContent]=\"timestamp | tuiFormatDate | async\"\n ></span>\n</div>\n<h3\n automation-id=\"tui-push__heading\"\n class=\"t-heading\"\n>\n {{ heading }}\n</h3>\n<div class=\"t-content\">\n <ng-content></ng-content>\n</div>\n<div class=\"t-actions\">\n <span class=\"t-button\">\n <ng-content select=\"[tuiButton]\"></ng-content>\n </span>\n <span class=\"t-link\">\n <ng-content select=\"[tuiLink]\"></ng-content>\n </span>\n</div>\n","import {Directive, Inject, Optional, SkipSelf} from '@angular/core';\nimport {TUI_BUTTON_OPTIONS, TuiButtonOptions, TuiModeDirective} from '@taiga-ui/core';\nimport {Subject} from 'rxjs';\n\n@Directive({\n selector: 'tui-push',\n providers: [\n {\n provide: TuiModeDirective,\n useExisting: TuiPushDirective,\n },\n {\n provide: TUI_BUTTON_OPTIONS,\n useExisting: TuiPushDirective,\n },\n ],\n})\nexport class TuiPushDirective extends TuiModeDirective implements TuiButtonOptions {\n size: TuiButtonOptions['size'] = 's';\n\n shape = null;\n\n override readonly change$ = this.modeDirective?.change$ || new Subject();\n\n constructor(\n @Optional()\n @SkipSelf()\n @Inject(TuiModeDirective)\n private readonly modeDirective: TuiModeDirective | null,\n ) {\n super();\n }\n\n get appearance(): string {\n return this.modeDirective?.mode === 'onDark' ? 'accent' : 'secondary';\n }\n}\n","import {InjectionToken, ValueProvider} from '@angular/core';\n\nimport {TuiPushOptions} from './push.options';\n\nexport const TUI_PUSH_DEFAULT_OPTIONS: TuiPushOptions = {\n heading: ``,\n type: ``,\n timestamp: 0,\n image: ``,\n icon: ``,\n iconColor: ``,\n buttons: [],\n};\n\nexport const TUI_PUSH_OPTIONS = new InjectionToken<TuiPushOptions>(\n `[TUI_PUSH_OPTIONS]: Default parameters for push component`,\n {\n factory: () => TUI_PUSH_DEFAULT_OPTIONS,\n },\n);\n\nexport function tuiPushOptionsProvider(options: Partial<TuiPushOptions>): ValueProvider {\n return {\n provide: TUI_PUSH_OPTIONS,\n useValue: {...TUI_PUSH_DEFAULT_OPTIONS, ...options},\n };\n}\n","import {\n ChangeDetectorRef,\n Directive,\n forwardRef,\n Inject,\n Input,\n Self,\n TemplateRef,\n} from '@angular/core';\nimport {TuiDestroyService} from '@taiga-ui/cdk';\nimport {PolymorpheusTemplate} from '@tinkoff/ng-polymorpheus';\nimport {EMPTY, Observable, Subject} from 'rxjs';\nimport {switchMap, takeUntil} from 'rxjs/operators';\n\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {TuiPushService} from './push.service';\n\n@Directive({\n selector: '[tuiPush]',\n providers: [TuiDestroyService],\n})\nexport class TuiPushAlertDirective extends PolymorpheusTemplate<any> {\n private readonly show$ = new Subject<boolean>();\n\n @Input()\n set tuiPush(show: boolean) {\n this.show$.next(show);\n }\n\n constructor(\n @Inject(TemplateRef) template: TemplateRef<any>,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Self() @Inject(TuiDestroyService) destroy$: Observable<unknown>,\n @Inject(forwardRef(() => TuiPushService)) push: TuiPushService,\n ) {\n super(template, changeDetectorRef);\n\n this.show$\n .pipe(\n switchMap(show => (show ? push.open(this) : EMPTY)),\n takeUntil(destroy$),\n )\n .subscribe();\n }\n}\n","import {AnimationOptions} from '@angular/animations';\nimport {ChangeDetectionStrategy, Component, HostBinding, Inject} from '@angular/core';\nimport {TuiDialog} from '@taiga-ui/cdk';\nimport {\n TUI_ANIMATION_OPTIONS,\n tuiFadeIn,\n tuiHeightCollapse,\n tuiSlideInRight,\n} from '@taiga-ui/core';\nimport {POLYMORPHEUS_CONTEXT} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiPushOptions} from './push.options';\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {TuiPushAlertDirective} from './push-alert.directive';\n\n@Component({\n selector: 'tui-push-alert',\n templateUrl: './push-alert.template.html',\n styleUrls: ['./push-alert.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [tuiFadeIn, tuiSlideInRight, tuiHeightCollapse],\n host: {role: 'alert'},\n})\nexport class TuiPushAlertComponent {\n @HostBinding('@tuiFadeIn')\n @HostBinding('@tuiSlideInRight')\n @HostBinding('@tuiHeightCollapse')\n readonly animation = {value: '', ...this.options} as const;\n\n constructor(\n @Inject(TUI_ANIMATION_OPTIONS) private readonly options: AnimationOptions,\n @Inject(POLYMORPHEUS_CONTEXT)\n readonly context: TuiDialog<TuiPushOptions, string>,\n ) {}\n\n get isDirective(): boolean {\n return this.context.content instanceof TuiPushAlertDirective;\n }\n}\n","<tui-push\n *ngIf=\"!isDirective; else content\"\n [heading]=\"context.heading\"\n [type]=\"context.type\"\n [timestamp]=\"context.timestamp\"\n (close)=\"context.$implicit.complete()\"\n>\n <img\n *ngIf=\"context.image\"\n alt=\"\"\n [src]=\"context.image\"\n />\n <tui-svg\n *ngIf=\"context.icon\"\n [style.color]=\"context.iconColor\"\n [src]=\"context.icon\"\n ></tui-svg>\n <ng-container *polymorpheusOutlet=\"context.content as text\">\n {{ text }}\n </ng-container>\n <button\n *ngIf=\"context.buttons.length > 1\"\n type=\"button\"\n tuiButton\n (click)=\"context.$implicit.next(context.buttons[0])\"\n >\n {{ context.buttons[0] }}\n </button>\n <button\n *ngIf=\"context.buttons.length\"\n tuiLink\n type=\"button\"\n (click)=\"context.$implicit.next(context.buttons[context.buttons.length - 1])\"\n >\n {{ context.buttons[context.buttons.length - 1] }}\n </button>\n</tui-push>\n<ng-template #content>\n <ng-container *polymorpheusOutlet=\"context.content as text\">\n {{ text }}\n </ng-container>\n</ng-template>\n","import {inject, Injectable} from '@angular/core';\nimport {AbstractTuiDialogService, TuiBaseDialogContext} from '@taiga-ui/cdk';\nimport {PolymorpheusComponent, PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\n\nimport {TuiPushOptions} from './push.options';\nimport {TUI_PUSH_OPTIONS} from './push.tokens';\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {TuiPushAlertComponent} from './push-alert.component';\n\n@Injectable({providedIn: `root`})\nexport class TuiPushService extends AbstractTuiDialogService<TuiPushOptions, string> {\n protected readonly component = new PolymorpheusComponent(TuiPushAlertComponent);\n protected readonly defaultOptions = inject(TUI_PUSH_OPTIONS);\n\n override open(\n content: PolymorpheusContent<TuiBaseDialogContext<string> & TuiPushOptions>,\n options: Partial<TuiPushOptions> = {},\n ): Observable<string> {\n return super.open(content, options);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TUI_ALERTS} from '@taiga-ui/cdk';\nimport {\n TuiButtonModule,\n TuiFormatDatePipeModule,\n TuiLinkModule,\n TuiSvgModule,\n} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiPushComponent} from './push.component';\nimport {TuiPushDirective} from './push.directive';\nimport {TuiPushService} from './push.service';\nimport {TuiPushAlertComponent} from './push-alert.component';\nimport {TuiPushAlertDirective} from './push-alert.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusModule,\n TuiButtonModule,\n TuiLinkModule,\n TuiSvgModule,\n TuiFormatDatePipeModule,\n ],\n declarations: [\n TuiPushComponent,\n TuiPushDirective,\n TuiPushAlertComponent,\n TuiPushAlertDirective,\n ],\n exports: [\n TuiPushComponent,\n TuiPushDirective,\n TuiPushAlertComponent,\n TuiPushAlertDirective,\n ],\n providers: [\n {\n provide: TUI_ALERTS,\n useExisting: TuiPushService,\n multi: true,\n },\n ],\n})\nexport class TuiPushModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.TuiPushComponent","i2","i3","i4.TuiPushDirective"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-kit-components-push.js","sources":["../../../projects/kit/components/push/push.component.ts","../../../projects/kit/components/push/push.template.html","../../../projects/kit/components/push/push.directive.ts","../../../projects/kit/components/push/push.tokens.ts","../../../projects/kit/components/push/push-alert.directive.ts","../../../projects/kit/components/push/push-alert.component.ts","../../../projects/kit/components/push/push-alert.template.html","../../../projects/kit/components/push/push.service.ts","../../../projects/kit/components/push/push.module.ts","../../../projects/kit/components/push/taiga-ui-kit-components-push.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Inject,\n Input,\n Output,\n} from '@angular/core';\nimport {tuiDefaultProp, tuiIsObserved} from '@taiga-ui/cdk';\nimport {TUI_CLOSE_WORD} from '@taiga-ui/core';\nimport {Observable} from 'rxjs';\n\n@Component({\n selector: 'tui-push',\n templateUrl: './push.template.html',\n styleUrls: ['./push.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiPushComponent {\n @Input()\n @tuiDefaultProp()\n heading = '';\n\n @Input()\n @tuiDefaultProp()\n type = '';\n\n @Input()\n @tuiDefaultProp()\n timestamp = 0;\n\n @Output()\n // eslint-disable-next-line @angular-eslint/no-output-native\n readonly close = new EventEmitter<void>();\n\n constructor(@Inject(TUI_CLOSE_WORD) readonly closeWord$: Observable<string>) {}\n\n get closeable(): boolean {\n return tuiIsObserved(this.close);\n }\n}\n","<div class=\"t-image\">\n <ng-content select=\"img\"></ng-content>\n</div>\n<button\n *ngIf=\"closeable\"\n type=\"button\"\n tuiIconButton\n icon=\"tuiIconCloseLarge\"\n size=\"xs\"\n appearance=\"\"\n shape=\"rounded\"\n class=\"t-close\"\n [title]=\"closeWord$ | async\"\n (click)=\"close.emit()\"\n></button>\n<div class=\"t-top\">\n <span class=\"t-icon\">\n <ng-content select=\"tui-svg\"></ng-content>\n </span>\n {{ type }}\n <span\n *ngIf=\"timestamp\"\n class=\"t-time\"\n [textContent]=\"timestamp | tuiFormatDate | async\"\n ></span>\n</div>\n<h3\n automation-id=\"tui-push__heading\"\n class=\"t-heading\"\n>\n {{ heading }}\n</h3>\n<div class=\"t-content\">\n <ng-content></ng-content>\n</div>\n<div class=\"t-actions\">\n <span class=\"t-button\">\n <ng-content select=\"[tuiButton]\"></ng-content>\n </span>\n <span class=\"t-link\">\n <ng-content select=\"[tuiLink]\"></ng-content>\n </span>\n</div>\n","import {Directive, Inject, Optional, SkipSelf} from '@angular/core';\nimport {TUI_BUTTON_OPTIONS, TuiButtonOptions, TuiModeDirective} from '@taiga-ui/core';\nimport {Subject} from 'rxjs';\n\n@Directive({\n selector: 'tui-push',\n providers: [\n {\n provide: TuiModeDirective,\n useExisting: TuiPushDirective,\n },\n {\n provide: TUI_BUTTON_OPTIONS,\n useExisting: TuiPushDirective,\n },\n ],\n})\nexport class TuiPushDirective extends TuiModeDirective implements TuiButtonOptions {\n size: TuiButtonOptions['size'] = 's';\n\n shape = null;\n\n override readonly change$ = this.modeDirective?.change$ || new Subject();\n\n constructor(\n @Optional()\n @SkipSelf()\n @Inject(TuiModeDirective)\n private readonly modeDirective: TuiModeDirective | null,\n ) {\n super();\n }\n\n get appearance(): string {\n return this.modeDirective?.mode === 'onDark' ? 'accent' : 'secondary';\n }\n}\n","import {InjectionToken, ValueProvider} from '@angular/core';\n\nimport {TuiPushOptions} from './push.options';\n\nexport const TUI_PUSH_DEFAULT_OPTIONS: TuiPushOptions = {\n heading: ``,\n type: ``,\n timestamp: 0,\n image: ``,\n icon: ``,\n iconColor: ``,\n buttons: [],\n};\n\nexport const TUI_PUSH_OPTIONS = new InjectionToken<TuiPushOptions>(\n `[TUI_PUSH_OPTIONS]: Default parameters for push component`,\n {\n factory: () => TUI_PUSH_DEFAULT_OPTIONS,\n },\n);\n\nexport function tuiPushOptionsProvider(options: Partial<TuiPushOptions>): ValueProvider {\n return {\n provide: TUI_PUSH_OPTIONS,\n useValue: {...TUI_PUSH_DEFAULT_OPTIONS, ...options},\n };\n}\n","import {\n ChangeDetectorRef,\n Directive,\n forwardRef,\n Inject,\n Input,\n Self,\n TemplateRef,\n} from '@angular/core';\nimport {TuiDestroyService} from '@taiga-ui/cdk';\nimport {PolymorpheusTemplate} from '@tinkoff/ng-polymorpheus';\nimport {EMPTY, Observable, Subject} from 'rxjs';\nimport {switchMap, takeUntil} from 'rxjs/operators';\n\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {TuiPushService} from './push.service';\n\n@Directive({\n selector: '[tuiPush]',\n providers: [TuiDestroyService],\n})\nexport class TuiPushAlertDirective extends PolymorpheusTemplate<any> {\n private readonly show$ = new Subject<boolean>();\n\n @Input()\n set tuiPush(show: boolean) {\n this.show$.next(show);\n }\n\n constructor(\n @Inject(TemplateRef) template: TemplateRef<any>,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Self() @Inject(TuiDestroyService) destroy$: Observable<unknown>,\n @Inject(forwardRef(() => TuiPushService)) push: TuiPushService,\n ) {\n super(template, changeDetectorRef);\n\n this.show$\n .pipe(\n switchMap(show => (show ? push.open(this) : EMPTY)),\n takeUntil(destroy$),\n )\n .subscribe();\n }\n}\n","import {AnimationOptions} from '@angular/animations';\nimport {ChangeDetectionStrategy, Component, HostBinding, Inject} from '@angular/core';\nimport {TuiDialog} from '@taiga-ui/cdk';\nimport {\n TUI_ANIMATION_OPTIONS,\n tuiFadeIn,\n tuiHeightCollapse,\n tuiSlideInRight,\n} from '@taiga-ui/core';\nimport {POLYMORPHEUS_CONTEXT} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiPushOptions} from './push.options';\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {TuiPushAlertDirective} from './push-alert.directive';\n\n@Component({\n selector: 'tui-push-alert',\n templateUrl: './push-alert.template.html',\n styleUrls: ['./push-alert.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [tuiFadeIn, tuiSlideInRight, tuiHeightCollapse],\n host: {role: 'alert'},\n})\nexport class TuiPushAlertComponent {\n @HostBinding('@tuiFadeIn')\n @HostBinding('@tuiSlideInRight')\n @HostBinding('@tuiHeightCollapse')\n readonly animation = {value: '', ...this.options} as const;\n\n constructor(\n @Inject(TUI_ANIMATION_OPTIONS) private readonly options: AnimationOptions,\n @Inject(POLYMORPHEUS_CONTEXT)\n readonly context: TuiDialog<TuiPushOptions, string>,\n ) {}\n\n get isDirective(): boolean {\n return this.context.content instanceof TuiPushAlertDirective;\n }\n}\n","<tui-push\n *ngIf=\"!isDirective; else content\"\n [heading]=\"context.heading\"\n [type]=\"context.type\"\n [timestamp]=\"context.timestamp\"\n (close)=\"context.$implicit.complete()\"\n>\n <img\n *ngIf=\"context.image\"\n alt=\"\"\n [src]=\"context.image\"\n />\n <tui-svg\n *ngIf=\"context.icon\"\n [style.color]=\"context.iconColor\"\n [src]=\"context.icon\"\n ></tui-svg>\n <ng-container *polymorpheusOutlet=\"context.content as text\">\n {{ text }}\n </ng-container>\n <button\n *ngIf=\"context.buttons.length > 1\"\n type=\"button\"\n tuiButton\n (click)=\"context.$implicit.next(context.buttons[0])\"\n >\n {{ context.buttons[0] }}\n </button>\n <button\n *ngIf=\"context.buttons.length\"\n tuiLink\n type=\"button\"\n (click)=\"context.$implicit.next(context.buttons[context.buttons.length - 1])\"\n >\n {{ context.buttons[context.buttons.length - 1] }}\n </button>\n</tui-push>\n<ng-template #content>\n <ng-container *polymorpheusOutlet=\"context.content as text\">\n {{ text }}\n </ng-container>\n</ng-template>\n","import {inject, Injectable} from '@angular/core';\nimport {AbstractTuiDialogService, TuiBaseDialogContext} from '@taiga-ui/cdk';\nimport {PolymorpheusComponent, PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\n\nimport {TuiPushOptions} from './push.options';\nimport {TUI_PUSH_OPTIONS} from './push.tokens';\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {TuiPushAlertComponent} from './push-alert.component';\n\n@Injectable({providedIn: `root`})\nexport class TuiPushService extends AbstractTuiDialogService<TuiPushOptions, string> {\n protected readonly component = new PolymorpheusComponent(TuiPushAlertComponent);\n protected readonly defaultOptions = inject(TUI_PUSH_OPTIONS);\n\n override open(\n content: PolymorpheusContent<TuiBaseDialogContext<string> & TuiPushOptions>,\n options: Partial<TuiPushOptions> = {},\n ): Observable<string> {\n return super.open(content, options);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TUI_ALERTS} from '@taiga-ui/cdk';\nimport {\n TuiButtonModule,\n TuiFormatDatePipeModule,\n TuiLinkModule,\n TuiSvgModule,\n} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiPushComponent} from './push.component';\nimport {TuiPushDirective} from './push.directive';\nimport {TuiPushService} from './push.service';\nimport {TuiPushAlertComponent} from './push-alert.component';\nimport {TuiPushAlertDirective} from './push-alert.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusModule,\n TuiButtonModule,\n TuiLinkModule,\n TuiSvgModule,\n TuiFormatDatePipeModule,\n ],\n declarations: [\n TuiPushComponent,\n TuiPushDirective,\n TuiPushAlertComponent,\n TuiPushAlertDirective,\n ],\n exports: [\n TuiPushComponent,\n TuiPushDirective,\n TuiPushAlertComponent,\n TuiPushAlertDirective,\n ],\n providers: [\n {\n provide: TUI_ALERTS,\n useExisting: TuiPushService,\n multi: true,\n },\n ],\n})\nexport class TuiPushModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.TuiPushComponent","i2","i3","i4.TuiPushDirective"],"mappings":"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"}
|
|
@@ -7,14 +7,15 @@ import { AbstractTuiNullableControl, TUI_DEFAULT_IDENTITY_MATCHER, tuiAsFocusabl
|
|
|
7
7
|
import * as i3 from '@taiga-ui/core';
|
|
8
8
|
import { TuiModeDirective } from '@taiga-ui/core';
|
|
9
9
|
import * as i1 from '@taiga-ui/kit/components/radio';
|
|
10
|
-
import { TuiRadioComponent, TuiRadioModule } from '@taiga-ui/kit/components/radio';
|
|
10
|
+
import { TUI_RADIO_OPTIONS, TuiRadioComponent, TuiRadioModule } from '@taiga-ui/kit/components/radio';
|
|
11
11
|
import { CommonModule } from '@angular/common';
|
|
12
12
|
|
|
13
13
|
class TuiRadioLabeledComponent extends AbstractTuiNullableControl {
|
|
14
|
-
constructor(control, changeDetectorRef, modeDirective) {
|
|
14
|
+
constructor(control, changeDetectorRef, modeDirective, options) {
|
|
15
15
|
super(control, changeDetectorRef);
|
|
16
16
|
this.modeDirective = modeDirective;
|
|
17
|
-
this.
|
|
17
|
+
this.options = options;
|
|
18
|
+
this.size = this.options.size;
|
|
18
19
|
this.identityMatcher = TUI_DEFAULT_IDENTITY_MATCHER;
|
|
19
20
|
this.pseudoDisabled = false;
|
|
20
21
|
}
|
|
@@ -37,7 +38,7 @@ class TuiRadioLabeledComponent extends AbstractTuiNullableControl {
|
|
|
37
38
|
this.updateValue(value);
|
|
38
39
|
}
|
|
39
40
|
}
|
|
40
|
-
TuiRadioLabeledComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiRadioLabeledComponent, deps: [{ token: NgControl, optional: true, self: true }, { token: ChangeDetectorRef }, { token: TuiModeDirective, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
41
|
+
TuiRadioLabeledComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiRadioLabeledComponent, deps: [{ token: NgControl, optional: true, self: true }, { token: ChangeDetectorRef }, { token: TuiModeDirective, optional: true }, { token: TUI_RADIO_OPTIONS }], target: i0.ɵɵFactoryTarget.Component });
|
|
41
42
|
TuiRadioLabeledComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiRadioLabeledComponent, selector: "tui-radio-labeled", inputs: { item: "item", size: "size", identityMatcher: "identityMatcher", pseudoDisabled: "pseudoDisabled" }, host: { properties: { "attr.data-size": "this.size", "class._disabled": "this.computedDisabled", "attr.data-mode": "this.mode" } }, providers: [
|
|
42
43
|
tuiAsFocusableItemAccessor(TuiRadioLabeledComponent),
|
|
43
44
|
tuiAsControl(TuiRadioLabeledComponent),
|
|
@@ -78,6 +79,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
78
79
|
}, {
|
|
79
80
|
type: Inject,
|
|
80
81
|
args: [TuiModeDirective]
|
|
82
|
+
}] }, { type: undefined, decorators: [{
|
|
83
|
+
type: Inject,
|
|
84
|
+
args: [TUI_RADIO_OPTIONS]
|
|
81
85
|
}] }]; }, propDecorators: { radio: [{
|
|
82
86
|
type: ViewChild,
|
|
83
87
|
args: [TuiRadioComponent]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-kit-components-radio-labeled.js","sources":["../../../projects/kit/components/radio-labeled/radio-labeled.component.ts","../../../projects/kit/components/radio-labeled/radio-labeled.template.html","../../../projects/kit/components/radio-labeled/radio-labeled.module.ts","../../../projects/kit/components/radio-labeled/taiga-ui-kit-components-radio-labeled.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostBinding,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiNullableControl,\n TUI_DEFAULT_IDENTITY_MATCHER,\n tuiAsControl,\n tuiAsFocusableItemAccessor,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiIdentityMatcher,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk';\nimport {TuiBrightness, TuiModeDirective, TuiSizeL} from '@taiga-ui/core';\nimport {TuiRadioComponent} from '@taiga-ui/kit/components/radio';\n\n@Component({\n selector: 'tui-radio-labeled',\n templateUrl: './radio-labeled.template.html',\n styleUrls: ['./radio-labeled.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiRadioLabeledComponent),\n tuiAsControl(TuiRadioLabeledComponent),\n ],\n})\nexport class TuiRadioLabeledComponent<T>\n extends AbstractTuiNullableControl<T>\n implements TuiFocusableElementAccessor\n{\n @ViewChild(TuiRadioComponent)\n private readonly radio?: TuiRadioComponent<T>;\n\n @Input()\n item?: T;\n\n @Input()\n @HostBinding('attr.data-size')\n @tuiDefaultProp()\n size: TuiSizeL =
|
|
1
|
+
{"version":3,"file":"taiga-ui-kit-components-radio-labeled.js","sources":["../../../projects/kit/components/radio-labeled/radio-labeled.component.ts","../../../projects/kit/components/radio-labeled/radio-labeled.template.html","../../../projects/kit/components/radio-labeled/radio-labeled.module.ts","../../../projects/kit/components/radio-labeled/taiga-ui-kit-components-radio-labeled.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostBinding,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiNullableControl,\n TUI_DEFAULT_IDENTITY_MATCHER,\n tuiAsControl,\n tuiAsFocusableItemAccessor,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiIdentityMatcher,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk';\nimport {TuiBrightness, TuiModeDirective, TuiSizeL} from '@taiga-ui/core';\nimport {\n TUI_RADIO_OPTIONS,\n TuiRadioComponent,\n TuiRadioOptions,\n} from '@taiga-ui/kit/components/radio';\n\n@Component({\n selector: 'tui-radio-labeled',\n templateUrl: './radio-labeled.template.html',\n styleUrls: ['./radio-labeled.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiRadioLabeledComponent),\n tuiAsControl(TuiRadioLabeledComponent),\n ],\n})\nexport class TuiRadioLabeledComponent<T>\n extends AbstractTuiNullableControl<T>\n implements TuiFocusableElementAccessor\n{\n @ViewChild(TuiRadioComponent)\n private readonly radio?: TuiRadioComponent<T>;\n\n @Input()\n item?: T;\n\n @Input()\n @HostBinding('attr.data-size')\n @tuiDefaultProp()\n size: TuiSizeL = this.options.size;\n\n @Input()\n @tuiDefaultProp()\n identityMatcher: TuiIdentityMatcher<T> = TUI_DEFAULT_IDENTITY_MATCHER;\n\n @Input()\n @tuiDefaultProp()\n pseudoDisabled = false;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Optional()\n @Inject(TuiModeDirective)\n private readonly modeDirective: TuiModeDirective | null,\n @Inject(TUI_RADIO_OPTIONS)\n private readonly options: TuiRadioOptions,\n ) {\n super(control, changeDetectorRef);\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return this.radio ? this.radio.nativeFocusableElement : null;\n }\n\n get focused(): boolean {\n return !!this.radio && this.radio.focused;\n }\n\n @HostBinding('class._disabled')\n override get computedDisabled(): boolean {\n return this.disabled || this.pseudoDisabled;\n }\n\n @HostBinding('attr.data-mode')\n get mode(): TuiBrightness | null {\n return this.modeDirective ? this.modeDirective.mode : null;\n }\n\n onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n onModelChange(value: T): void {\n this.updateValue(value);\n }\n}\n","<label class=\"t-wrapper\">\n <tui-radio\n [focusable]=\"focusable\"\n [identityMatcher]=\"identityMatcher\"\n [name]=\"computedName || ''\"\n [nativeId]=\"nativeId\"\n [readOnly]=\"readOnly\"\n [pseudoDisabled]=\"computedDisabled\"\n [pseudoInvalid]=\"computedInvalid\"\n [pseudoFocus]=\"pseudoFocus\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoActive]=\"pseudoActive\"\n [size]=\"size\"\n [item]=\"item\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onModelChange($event)\"\n (focusedChange)=\"onFocused($event)\"\n ></tui-radio>\n <div\n class=\"t-content\"\n [class.t-content_disabled]=\"computedDisabled\"\n >\n <ng-content></ng-content>\n </div>\n</label>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiFocusableModule, TuiFocusedModule} from '@taiga-ui/cdk';\nimport {TuiRadioModule} from '@taiga-ui/kit/components/radio';\n\nimport {TuiRadioLabeledComponent} from './radio-labeled.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n TuiFocusableModule,\n TuiFocusedModule,\n TuiRadioModule,\n ],\n declarations: [TuiRadioLabeledComponent],\n exports: [TuiRadioLabeledComponent],\n})\nexport class TuiRadioLabeledModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-kit-components-range.js","sources":["../../../projects/kit/components/range/range.component.ts","../../../projects/kit/components/range/range.template.html","../../../projects/kit/components/range/range-change.directive.ts","../../../projects/kit/components/range/range.module.ts","../../../projects/kit/components/range/taiga-ui-kit-components-range.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n Optional,\n QueryList,\n Self,\n ViewChildren,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiControl,\n EMPTY_QUERY,\n tuiClamp,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n tuiIsNativeFocusedIn,\n TuiNativeFocusableElement,\n tuiPure,\n tuiQuantize,\n} from '@taiga-ui/cdk';\nimport {TuiSizeS, TuiWithOptionalMinMax} from '@taiga-ui/core';\nimport {TuiSliderComponent} from '@taiga-ui/kit/components/slider';\nimport {TuiKeySteps} from '@taiga-ui/kit/types';\nimport {\n tuiKeyStepValueToPercentage,\n tuiPercentageToKeyStepValue,\n} from '@taiga-ui/kit/utils';\n\n@Component({\n selector: 'tui-range',\n templateUrl: './range.template.html',\n styleUrls: ['./range.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.tabindex]': '-1',\n '[attr.aria-disabled]': 'computedDisabled',\n },\n})\nexport class TuiRangeComponent\n extends AbstractTuiControl<[number, number]>\n implements TuiWithOptionalMinMax<number>, TuiFocusableElementAccessor\n{\n @Input()\n @tuiDefaultProp()\n min = 0;\n\n @Input()\n @tuiDefaultProp()\n max = 100;\n\n @Input()\n @tuiDefaultProp(s => s > 0, 'Step must be a non-negative number')\n step = 1;\n\n @Input()\n @HostBinding('attr.data-size')\n @tuiDefaultProp()\n size: TuiSizeS = 'm';\n\n @Input()\n @tuiDefaultProp(\n s => s > 0 && Number.isInteger(s),\n 'Segments must be positive integer',\n )\n segments = 1;\n\n @Input()\n @tuiDefaultProp()\n keySteps: TuiKeySteps | null = null;\n\n @ViewChildren(TuiSliderComponent, {read: ElementRef})\n slidersRefs: QueryList<ElementRef<HTMLInputElement>> = EMPTY_QUERY;\n\n lastActiveThumb: 'left' | 'right' = 'right';\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n ) {\n super(control, changeDetectorRef);\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n const [sliderLeftRef, sliderRightRef] = this.slidersRefs;\n\n if (\n this.computedDisabled ||\n !this.focusable ||\n !sliderLeftRef ||\n !sliderRightRef\n ) {\n return null;\n }\n\n const isLeftThumbLocked = this.right === 100;\n\n return isLeftThumbLocked\n ? sliderRightRef.nativeElement\n : sliderLeftRef.nativeElement;\n }\n\n get focused(): boolean {\n return tuiIsNativeFocusedIn(this.elementRef.nativeElement);\n }\n\n get fractionStep(): number {\n return this.step / (this.max - this.min);\n }\n\n get computedKeySteps(): TuiKeySteps {\n return this.computePureKeySteps(this.keySteps, this.min, this.max);\n }\n\n get segmentWidthRatio(): number {\n return 1 / this.segments;\n }\n\n @HostBinding('style.--left.%')\n get left(): number {\n return this.getPercentageFromValue(this.value[0]);\n }\n\n @HostBinding('style.--right.%')\n get right(): number {\n return 100 - this.getPercentageFromValue(this.value[1]);\n }\n\n @HostListener('focusin', ['true'])\n @HostListener('focusout', ['false'])\n onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n @HostListener('keydown.arrowUp.prevent', ['1', '$event.target'])\n @HostListener('keydown.arrowRight.prevent', ['1', '$event.target'])\n @HostListener('keydown.arrowLeft.prevent', ['-1', '$event.target'])\n @HostListener('keydown.arrowDown.prevent', ['-1', '$event.target'])\n changeByStep(coefficient: number, target: HTMLElement): void {\n const [sliderLeftRef, sliderRightRef] = this.slidersRefs;\n const leftThumbElement = sliderLeftRef.nativeElement;\n const rightThumbElement = sliderRightRef.nativeElement;\n\n const isRightThumb =\n target === this.elementRef.nativeElement\n ? this.lastActiveThumb === 'right'\n : target === rightThumbElement;\n const activeThumbElement = isRightThumb ? rightThumbElement : leftThumbElement;\n const previousValue = isRightThumb ? this.value[1] : this.value[0];\n /** @bad TODO think about a solution without twice conversion */\n const previousFraction = this.getPercentageFromValue(previousValue) / 100;\n const newFractionValue = previousFraction + coefficient * this.fractionStep;\n\n this.processValue(this.getValueFromFraction(newFractionValue), isRightThumb);\n\n if (activeThumbElement) {\n activeThumbElement.focus();\n }\n }\n\n processValue(value: number, right: boolean): void {\n if (right) {\n this.updateEnd(value);\n } else {\n this.updateStart(value);\n }\n\n this.lastActiveThumb = right ? 'right' : 'left';\n }\n\n getValueFromFraction(fraction: number): number {\n const guardedFraction = tuiClamp(tuiQuantize(fraction, this.fractionStep), 0, 1);\n\n return tuiPercentageToKeyStepValue(guardedFraction * 100, this.computedKeySteps);\n }\n\n getPercentageFromValue(value: number): number {\n return tuiKeyStepValueToPercentage(value, this.computedKeySteps);\n }\n\n protected getFallbackValue(): [number, number] {\n return [0, 0];\n }\n\n @tuiPure\n private computePureKeySteps(\n keySteps: TuiKeySteps | null,\n min: number,\n max: number,\n ): TuiKeySteps {\n return (\n keySteps || [\n [0, min],\n [100, max],\n ]\n );\n }\n\n private updateStart(value: number): void {\n this.updateValue([Math.min(value, this.value[1]), this.value[1]]);\n }\n\n private updateEnd(value: number): void {\n this.updateValue([this.value[0], Math.max(value, this.value[0])]);\n }\n}\n","<div\n class=\"t-track\"\n [style.--segment-width.%]=\"segmentWidthRatio * 100\"\n [style.--bg-size-ratio]=\"1 - segmentWidthRatio\"\n>\n <input\n tuiSlider\n readonly\n type=\"range\"\n step=\"any\"\n automation-id=\"tui-range__left\"\n class=\"t-thumb\"\n [min]=\"min\"\n [max]=\"max\"\n [ngModel]=\"value[0]\"\n [size]=\"size\"\n [keySteps]=\"computedKeySteps\"\n [tuiFocusable]=\"focusable\"\n [attr.disabled]=\"computedDisabled || null\"\n />\n <input\n tuiSlider\n readonly\n type=\"range\"\n step=\"any\"\n automation-id=\"tui-range__right\"\n class=\"t-thumb\"\n [min]=\"min\"\n [max]=\"max\"\n [ngModel]=\"value[1]\"\n [size]=\"size\"\n [keySteps]=\"computedKeySteps\"\n [tuiFocusable]=\"focusable\"\n [attr.disabled]=\"computedDisabled || null\"\n />\n</div>\n","import {DOCUMENT} from '@angular/common';\nimport {Directive, ElementRef, EventEmitter, Inject, Output, Self} from '@angular/core';\nimport {tuiClamp, TuiDestroyService, tuiRound, tuiTypedFromEvent} from '@taiga-ui/cdk';\nimport {TUI_FLOATING_PRECISION} from '@taiga-ui/kit/constants';\nimport {merge, Observable} from 'rxjs';\nimport {filter, map, repeat, startWith, switchMap, takeUntil, tap} from 'rxjs/operators';\n\nimport {TuiRangeComponent} from './range.component';\n\n@Directive({\n selector: 'tui-range',\n providers: [TuiDestroyService],\n})\nexport class TuiRangeChangeDirective {\n /**\n * TODO replace with pointer events (when all supported browsers can handle them).\n * Dont forget to use setPointerCapture instead of listening all documentRef events\n */\n private readonly pointerDown$ = merge(\n tuiTypedFromEvent(this.elementRef.nativeElement, 'touchstart', {\n passive: true,\n }).pipe(\n filter(({touches}) => touches.length === 1),\n map(({touches}) => touches[0]),\n ),\n tuiTypedFromEvent(this.elementRef.nativeElement, 'mousedown', {passive: true}),\n );\n\n private readonly pointerMove$ = merge(\n tuiTypedFromEvent(this.documentRef, 'touchmove').pipe(\n filter(({touches}) => touches.length === 1),\n map(({touches}) => touches[0]),\n ),\n tuiTypedFromEvent(this.documentRef, 'mousemove'),\n );\n\n private readonly pointerUp$ = merge(\n tuiTypedFromEvent(this.documentRef, 'touchend', {passive: true}),\n tuiTypedFromEvent(this.documentRef, 'mouseup', {passive: true}),\n );\n\n @Output()\n activeThumbChange = new EventEmitter<'left' | 'right'>();\n\n constructor(\n @Inject(DOCUMENT) private readonly documentRef: Document,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TuiRangeComponent) private readonly range: TuiRangeComponent,\n @Self() @Inject(TuiDestroyService) destroy$: Observable<unknown>,\n ) {\n let activeThumb: 'left' | 'right';\n\n this.pointerDown$\n .pipe(\n tap(({clientX, target}) => {\n activeThumb = this.detectActiveThumb(clientX, target);\n this.activeThumbChange.emit(activeThumb);\n\n if (this.range.focusable) {\n elementRef.nativeElement.focus();\n }\n }),\n switchMap(event => this.pointerMove$.pipe(startWith(event))),\n map(({clientX}) => this.getFractionFromEvents(clientX)),\n takeUntil(this.pointerUp$),\n repeat(),\n takeUntil(destroy$),\n )\n .subscribe(fraction => {\n const value = this.range.getValueFromFraction(fraction);\n\n this.range.processValue(value, activeThumb === 'right');\n });\n }\n\n private getFractionFromEvents(clickClientX: number): number {\n const hostRect = this.elementRef.nativeElement.getBoundingClientRect();\n const value = clickClientX - hostRect.left;\n const total = hostRect.width;\n\n return tuiClamp(tuiRound(value / total, TUI_FLOATING_PRECISION), 0, 1);\n }\n\n private detectActiveThumb(\n clientX: number,\n target: EventTarget | null,\n ): 'left' | 'right' {\n const [leftSliderRef, rightSliderRef] = this.range.slidersRefs;\n\n switch (target) {\n case leftSliderRef.nativeElement:\n return 'left';\n case rightSliderRef.nativeElement:\n return 'right';\n default:\n return this.findNearestActiveThumb(clientX);\n }\n }\n\n private findNearestActiveThumb(clientX: number): 'left' | 'right' {\n const fraction = this.getFractionFromEvents(clientX);\n const deltaLeft = fraction * 100 - this.range.left;\n const deltaRight = fraction * 100 - 100 + this.range.right;\n\n return Math.abs(deltaLeft) > Math.abs(deltaRight) ||\n deltaRight > 0 ||\n (this.range.left === 0 && this.range.right === 100)\n ? 'right'\n : 'left';\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiFocusableModule} from '@taiga-ui/cdk';\nimport {TuiSliderModule} from '@taiga-ui/kit/components/slider';\n\nimport {TuiRangeComponent} from './range.component';\nimport {TuiRangeChangeDirective} from './range-change.directive';\n\n@NgModule({\n imports: [CommonModule, TuiFocusableModule, TuiSliderModule, FormsModule],\n declarations: [TuiRangeComponent, TuiRangeChangeDirective],\n exports: [TuiRangeComponent, TuiRangeChangeDirective],\n})\nexport class TuiRangeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-kit-components-range.js","sources":["../../../projects/kit/components/range/range.component.ts","../../../projects/kit/components/range/range.template.html","../../../projects/kit/components/range/range-change.directive.ts","../../../projects/kit/components/range/range.module.ts","../../../projects/kit/components/range/taiga-ui-kit-components-range.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n Optional,\n QueryList,\n Self,\n ViewChildren,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiControl,\n EMPTY_QUERY,\n tuiClamp,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n tuiIsNativeFocusedIn,\n TuiNativeFocusableElement,\n tuiPure,\n tuiQuantize,\n} from '@taiga-ui/cdk';\nimport {TuiSizeS, TuiWithOptionalMinMax} from '@taiga-ui/core';\nimport {TuiSliderComponent} from '@taiga-ui/kit/components/slider';\nimport {TuiKeySteps} from '@taiga-ui/kit/types';\nimport {\n tuiKeyStepValueToPercentage,\n tuiPercentageToKeyStepValue,\n} from '@taiga-ui/kit/utils';\n\n@Component({\n selector: 'tui-range',\n templateUrl: './range.template.html',\n styleUrls: ['./range.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.tabindex]': '-1',\n '[attr.aria-disabled]': 'computedDisabled',\n },\n})\nexport class TuiRangeComponent\n extends AbstractTuiControl<[number, number]>\n implements TuiWithOptionalMinMax<number>, TuiFocusableElementAccessor\n{\n @Input()\n @tuiDefaultProp()\n min = 0;\n\n @Input()\n @tuiDefaultProp()\n max = 100;\n\n @Input()\n @tuiDefaultProp(s => s > 0, 'Step must be a non-negative number')\n step = 1;\n\n @Input()\n @HostBinding('attr.data-size')\n @tuiDefaultProp()\n size: TuiSizeS = 'm';\n\n @Input()\n @tuiDefaultProp(\n s => s > 0 && Number.isInteger(s),\n 'Segments must be positive integer',\n )\n segments = 1;\n\n @Input()\n @tuiDefaultProp()\n keySteps: TuiKeySteps | null = null;\n\n @ViewChildren(TuiSliderComponent, {read: ElementRef})\n slidersRefs: QueryList<ElementRef<HTMLInputElement>> = EMPTY_QUERY;\n\n lastActiveThumb: 'left' | 'right' = 'right';\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n ) {\n super(control, changeDetectorRef);\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n const [sliderLeftRef, sliderRightRef] = this.slidersRefs;\n\n if (\n this.computedDisabled ||\n !this.focusable ||\n !sliderLeftRef ||\n !sliderRightRef\n ) {\n return null;\n }\n\n const isLeftThumbLocked = this.right === 100;\n\n return isLeftThumbLocked\n ? sliderRightRef.nativeElement\n : sliderLeftRef.nativeElement;\n }\n\n get focused(): boolean {\n return tuiIsNativeFocusedIn(this.elementRef.nativeElement);\n }\n\n get fractionStep(): number {\n return this.step / (this.max - this.min);\n }\n\n get computedKeySteps(): TuiKeySteps {\n return this.computePureKeySteps(this.keySteps, this.min, this.max);\n }\n\n get segmentWidthRatio(): number {\n return 1 / this.segments;\n }\n\n @HostBinding('style.--left.%')\n get left(): number {\n return this.getPercentageFromValue(this.value[0]);\n }\n\n @HostBinding('style.--right.%')\n get right(): number {\n return 100 - this.getPercentageFromValue(this.value[1]);\n }\n\n @HostListener('focusin', ['true'])\n @HostListener('focusout', ['false'])\n onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n @HostListener('keydown.arrowUp.prevent', ['1', '$event.target'])\n @HostListener('keydown.arrowRight.prevent', ['1', '$event.target'])\n @HostListener('keydown.arrowLeft.prevent', ['-1', '$event.target'])\n @HostListener('keydown.arrowDown.prevent', ['-1', '$event.target'])\n changeByStep(coefficient: number, target: HTMLElement): void {\n const [sliderLeftRef, sliderRightRef] = this.slidersRefs;\n const leftThumbElement = sliderLeftRef.nativeElement;\n const rightThumbElement = sliderRightRef.nativeElement;\n\n const isRightThumb =\n target === this.elementRef.nativeElement\n ? this.lastActiveThumb === 'right'\n : target === rightThumbElement;\n const activeThumbElement = isRightThumb ? rightThumbElement : leftThumbElement;\n const previousValue = isRightThumb ? this.value[1] : this.value[0];\n /** @bad TODO think about a solution without twice conversion */\n const previousFraction = this.getPercentageFromValue(previousValue) / 100;\n const newFractionValue = previousFraction + coefficient * this.fractionStep;\n\n this.processValue(this.getValueFromFraction(newFractionValue), isRightThumb);\n\n if (activeThumbElement) {\n activeThumbElement.focus();\n }\n }\n\n processValue(value: number, right: boolean): void {\n if (right) {\n this.updateEnd(value);\n } else {\n this.updateStart(value);\n }\n\n this.lastActiveThumb = right ? 'right' : 'left';\n }\n\n getValueFromFraction(fraction: number): number {\n const guardedFraction = tuiClamp(tuiQuantize(fraction, this.fractionStep), 0, 1);\n\n return tuiPercentageToKeyStepValue(guardedFraction * 100, this.computedKeySteps);\n }\n\n getPercentageFromValue(value: number): number {\n return tuiKeyStepValueToPercentage(value, this.computedKeySteps);\n }\n\n protected getFallbackValue(): [number, number] {\n return [0, 0];\n }\n\n @tuiPure\n private computePureKeySteps(\n keySteps: TuiKeySteps | null,\n min: number,\n max: number,\n ): TuiKeySteps {\n return (\n keySteps || [\n [0, min],\n [100, max],\n ]\n );\n }\n\n private updateStart(value: number): void {\n this.updateValue([Math.min(value, this.value[1]), this.value[1]]);\n }\n\n private updateEnd(value: number): void {\n this.updateValue([this.value[0], Math.max(value, this.value[0])]);\n }\n}\n","<div\n class=\"t-track\"\n [style.--segment-width.%]=\"segmentWidthRatio * 100\"\n [style.--bg-size-ratio]=\"1 - segmentWidthRatio\"\n>\n <input\n tuiSlider\n readonly\n type=\"range\"\n step=\"any\"\n automation-id=\"tui-range__left\"\n class=\"t-thumb\"\n [min]=\"min\"\n [max]=\"max\"\n [ngModel]=\"value[0]\"\n [size]=\"size\"\n [keySteps]=\"computedKeySteps\"\n [tuiFocusable]=\"focusable\"\n [attr.disabled]=\"computedDisabled || null\"\n />\n <input\n tuiSlider\n readonly\n type=\"range\"\n step=\"any\"\n automation-id=\"tui-range__right\"\n class=\"t-thumb\"\n [min]=\"min\"\n [max]=\"max\"\n [ngModel]=\"value[1]\"\n [size]=\"size\"\n [keySteps]=\"computedKeySteps\"\n [tuiFocusable]=\"focusable\"\n [attr.disabled]=\"computedDisabled || null\"\n />\n</div>\n","import {DOCUMENT} from '@angular/common';\nimport {Directive, ElementRef, EventEmitter, Inject, Output, Self} from '@angular/core';\nimport {tuiClamp, TuiDestroyService, tuiRound, tuiTypedFromEvent} from '@taiga-ui/cdk';\nimport {TUI_FLOATING_PRECISION} from '@taiga-ui/kit/constants';\nimport {merge, Observable} from 'rxjs';\nimport {filter, map, repeat, startWith, switchMap, takeUntil, tap} from 'rxjs/operators';\n\nimport {TuiRangeComponent} from './range.component';\n\n@Directive({\n selector: 'tui-range',\n providers: [TuiDestroyService],\n})\nexport class TuiRangeChangeDirective {\n /**\n * TODO replace with pointer events (when all supported browsers can handle them).\n * Dont forget to use setPointerCapture instead of listening all documentRef events\n */\n private readonly pointerDown$ = merge(\n tuiTypedFromEvent(this.elementRef.nativeElement, 'touchstart', {\n passive: true,\n }).pipe(\n filter(({touches}) => touches.length === 1),\n map(({touches}) => touches[0]),\n ),\n tuiTypedFromEvent(this.elementRef.nativeElement, 'mousedown', {passive: true}),\n );\n\n private readonly pointerMove$ = merge(\n tuiTypedFromEvent(this.documentRef, 'touchmove').pipe(\n filter(({touches}) => touches.length === 1),\n map(({touches}) => touches[0]),\n ),\n tuiTypedFromEvent(this.documentRef, 'mousemove'),\n );\n\n private readonly pointerUp$ = merge(\n tuiTypedFromEvent(this.documentRef, 'touchend', {passive: true}),\n tuiTypedFromEvent(this.documentRef, 'mouseup', {passive: true}),\n );\n\n @Output()\n readonly activeThumbChange = new EventEmitter<'left' | 'right'>();\n\n constructor(\n @Inject(DOCUMENT) private readonly documentRef: Document,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TuiRangeComponent) private readonly range: TuiRangeComponent,\n @Self() @Inject(TuiDestroyService) destroy$: Observable<unknown>,\n ) {\n let activeThumb: 'left' | 'right';\n\n this.pointerDown$\n .pipe(\n tap(({clientX, target}) => {\n activeThumb = this.detectActiveThumb(clientX, target);\n this.activeThumbChange.emit(activeThumb);\n\n if (this.range.focusable) {\n elementRef.nativeElement.focus();\n }\n }),\n switchMap(event => this.pointerMove$.pipe(startWith(event))),\n map(({clientX}) => this.getFractionFromEvents(clientX)),\n takeUntil(this.pointerUp$),\n repeat(),\n takeUntil(destroy$),\n )\n .subscribe(fraction => {\n const value = this.range.getValueFromFraction(fraction);\n\n this.range.processValue(value, activeThumb === 'right');\n });\n }\n\n private getFractionFromEvents(clickClientX: number): number {\n const hostRect = this.elementRef.nativeElement.getBoundingClientRect();\n const value = clickClientX - hostRect.left;\n const total = hostRect.width;\n\n return tuiClamp(tuiRound(value / total, TUI_FLOATING_PRECISION), 0, 1);\n }\n\n private detectActiveThumb(\n clientX: number,\n target: EventTarget | null,\n ): 'left' | 'right' {\n const [leftSliderRef, rightSliderRef] = this.range.slidersRefs;\n\n switch (target) {\n case leftSliderRef.nativeElement:\n return 'left';\n case rightSliderRef.nativeElement:\n return 'right';\n default:\n return this.findNearestActiveThumb(clientX);\n }\n }\n\n private findNearestActiveThumb(clientX: number): 'left' | 'right' {\n const fraction = this.getFractionFromEvents(clientX);\n const deltaLeft = fraction * 100 - this.range.left;\n const deltaRight = fraction * 100 - 100 + this.range.right;\n\n return Math.abs(deltaLeft) > Math.abs(deltaRight) ||\n deltaRight > 0 ||\n (this.range.left === 0 && this.range.right === 100)\n ? 'right'\n : 'left';\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiFocusableModule} from '@taiga-ui/cdk';\nimport {TuiSliderModule} from '@taiga-ui/kit/components/slider';\n\nimport {TuiRangeComponent} from './range.component';\nimport {TuiRangeChangeDirective} from './range-change.directive';\n\n@NgModule({\n imports: [CommonModule, TuiFocusableModule, TuiSliderModule, FormsModule],\n declarations: [TuiRangeComponent, TuiRangeChangeDirective],\n exports: [TuiRangeComponent, TuiRangeChangeDirective],\n})\nexport class TuiRangeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AA4CM,MAAO,iBACT,SAAQ,kBAAoC,CAAA;AAoC5C,IAAA,WAAA,CAII,OAAyB,EACE,iBAAoC,EAC1B,UAAmC,EAAA;AAExE,QAAA,KAAK,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;QAFG,IAAU,CAAA,UAAA,GAAV,UAAU,CAAyB;QArC5E,IAAG,CAAA,GAAA,GAAG,CAAC,CAAC;QAIR,IAAG,CAAA,GAAA,GAAG,GAAG,CAAC;QAIV,IAAI,CAAA,IAAA,GAAG,CAAC,CAAC;QAKT,IAAI,CAAA,IAAA,GAAa,GAAG,CAAC;QAOrB,IAAQ,CAAA,QAAA,GAAG,CAAC,CAAC;QAIb,IAAQ,CAAA,QAAA,GAAuB,IAAI,CAAC;QAGpC,IAAW,CAAA,WAAA,GAA4C,WAAW,CAAC;QAEnE,IAAe,CAAA,eAAA,GAAqB,OAAO,CAAC;KAW3C;AAED,IAAA,IAAI,sBAAsB,GAAA;QACtB,MAAM,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QAEzD,IACI,IAAI,CAAC,gBAAgB;YACrB,CAAC,IAAI,CAAC,SAAS;AACf,YAAA,CAAC,aAAa;AACd,YAAA,CAAC,cAAc,EACjB;AACE,YAAA,OAAO,IAAI,CAAC;AACf,SAAA;AAED,QAAA,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,KAAK,GAAG,CAAC;AAE7C,QAAA,OAAO,iBAAiB;cAClB,cAAc,CAAC,aAAa;AAC9B,cAAE,aAAa,CAAC,aAAa,CAAC;KACrC;AAED,IAAA,IAAI,OAAO,GAAA;QACP,OAAO,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;KAC9D;AAED,IAAA,IAAI,YAAY,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;KAC5C;AAED,IAAA,IAAI,gBAAgB,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;KACtE;AAED,IAAA,IAAI,iBAAiB,GAAA;AACjB,QAAA,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;KAC5B;AAED,IAAA,IACI,IAAI,GAAA;QACJ,OAAO,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;KACrD;AAED,IAAA,IACI,KAAK,GAAA;AACL,QAAA,OAAO,GAAG,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;KAC3D;AAID,IAAA,SAAS,CAAC,OAAgB,EAAA;AACtB,QAAA,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;KAC/B;IAMD,YAAY,CAAC,WAAmB,EAAE,MAAmB,EAAA;QACjD,MAAM,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AACzD,QAAA,MAAM,gBAAgB,GAAG,aAAa,CAAC,aAAa,CAAC;AACrD,QAAA,MAAM,iBAAiB,GAAG,cAAc,CAAC,aAAa,CAAC;QAEvD,MAAM,YAAY,GACd,MAAM,KAAK,IAAI,CAAC,UAAU,CAAC,aAAa;AACpC,cAAE,IAAI,CAAC,eAAe,KAAK,OAAO;AAClC,cAAE,MAAM,KAAK,iBAAiB,CAAC;QACvC,MAAM,kBAAkB,GAAG,YAAY,GAAG,iBAAiB,GAAG,gBAAgB,CAAC;QAC/E,MAAM,aAAa,GAAG,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;;QAEnE,MAAM,gBAAgB,GAAG,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC;QAC1E,MAAM,gBAAgB,GAAG,gBAAgB,GAAG,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;AAE5E,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,EAAE,YAAY,CAAC,CAAC;AAE7E,QAAA,IAAI,kBAAkB,EAAE;YACpB,kBAAkB,CAAC,KAAK,EAAE,CAAC;AAC9B,SAAA;KACJ;IAED,YAAY,CAAC,KAAa,EAAE,KAAc,EAAA;AACtC,QAAA,IAAI,KAAK,EAAE;AACP,YAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACzB,SAAA;AAAM,aAAA;AACH,YAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAC3B,SAAA;AAED,QAAA,IAAI,CAAC,eAAe,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,CAAC;KACnD;AAED,IAAA,oBAAoB,CAAC,QAAgB,EAAA;AACjC,QAAA,MAAM,eAAe,GAAG,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAEjF,OAAO,2BAA2B,CAAC,eAAe,GAAG,GAAG,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;KACpF;AAED,IAAA,sBAAsB,CAAC,KAAa,EAAA;QAChC,OAAO,2BAA2B,CAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;KACpE;IAES,gBAAgB,GAAA;AACtB,QAAA,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;KACjB;AAGO,IAAA,mBAAmB,CACvB,QAA4B,EAC5B,GAAW,EACX,GAAW,EAAA;QAEX,QACI,QAAQ,IAAI;YACR,CAAC,CAAC,EAAE,GAAG,CAAC;YACR,CAAC,GAAG,EAAE,GAAG,CAAC;AACb,SAAA,EACH;KACL;AAEO,IAAA,WAAW,CAAC,KAAa,EAAA;QAC7B,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACrE;AAEO,IAAA,SAAS,CAAC,KAAa,EAAA;QAC3B,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACrE;;AAzKQ,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,EAwCd,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,SAAS,EAET,QAAA,EAAA,IAAA,EAAA,IAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,iBAAiB,aACjB,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AA3Cb,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iBAAiB,EAgCZ,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,KAAA,EAAA,GAAA,EAAA,KAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,yBAAA,EAAA,+BAAA,EAAA,4BAAA,EAAA,+BAAA,EAAA,2BAAA,EAAA,gCAAA,EAAA,2BAAA,EAAA,gCAAA,EAAA,EAAA,UAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,oBAAA,EAAA,kBAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,aAAA,EAAA,SAAA,EAAA,kBAAkB,EAAS,WAAA,EAAA,IAAA,EAAA,IAAA,EAAA,UAAU,oDC5EvD,+8BAoCA,EAAA,MAAA,EAAA,CAAA,y5EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,0BAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,0BAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,8FAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;ADcI,UAAA,CAAA;AADC,IAAA,cAAc,EAAE;AACT,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,KAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAIR,UAAA,CAAA;AADC,IAAA,cAAc,EAAE;AACP,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,KAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAIV,UAAA,CAAA;IADC,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,oCAAoC,CAAC;AACxD,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAKT,UAAA,CAAA;AADC,IAAA,cAAc,EAAE;AACI,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAOrB,UAAA,CAAA;AAJC,IAAA,cAAc,CACX,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EACjC,mCAAmC,CACtC;AACY,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAIb,UAAA,CAAA;AADC,IAAA,cAAc,EAAE;AACmB,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAwHpC,UAAA,CAAA;IADC,OAAO;AAYP,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,qBAAA,EAAA,IAAA,CAAA,CAAA;4FAjKQ,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAV7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,WAAW;AACrB,oBAAA,WAAW,EAAE,uBAAuB;oBACpC,SAAS,EAAE,CAAC,oBAAoB,CAAC;oBACjC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,IAAI,EAAE;AACF,wBAAA,iBAAiB,EAAE,IAAI;AACvB,wBAAA,sBAAsB,EAAE,kBAAkB;AAC7C,qBAAA;AACJ,iBAAA,CAAA;;0BAuCQ,QAAQ;;0BACR,IAAI;;0BACJ,MAAM;2BAAC,SAAS,CAAA;;0BAEhB,MAAM;2BAAC,iBAAiB,CAAA;;0BACxB,MAAM;2BAAC,UAAU,CAAA;4CArCtB,GAAG,EAAA,CAAA;sBAFF,KAAK;gBAMN,GAAG,EAAA,CAAA;sBAFF,KAAK;gBAMN,IAAI,EAAA,CAAA;sBAFH,KAAK;gBAON,IAAI,EAAA,CAAA;sBAHH,KAAK;;sBACL,WAAW;uBAAC,gBAAgB,CAAA;gBAS7B,QAAQ,EAAA,CAAA;sBALP,KAAK;gBASN,QAAQ,EAAA,CAAA;sBAFP,KAAK;gBAKN,WAAW,EAAA,CAAA;sBADV,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,kBAAkB,EAAE,EAAC,IAAI,EAAE,UAAU,EAAC,CAAA;gBAoDhD,IAAI,EAAA,CAAA;sBADP,WAAW;uBAAC,gBAAgB,CAAA;gBAMzB,KAAK,EAAA,CAAA;sBADR,WAAW;uBAAC,iBAAiB,CAAA;gBAO9B,SAAS,EAAA,CAAA;sBAFR,YAAY;uBAAC,SAAS,EAAE,CAAC,MAAM,CAAC,CAAA;;sBAChC,YAAY;uBAAC,UAAU,EAAE,CAAC,OAAO,CAAC,CAAA;gBASnC,YAAY,EAAA,CAAA;sBAJX,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,yBAAyB,EAAE,CAAC,GAAG,EAAE,eAAe,CAAC,CAAA;;sBAC9D,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,4BAA4B,EAAE,CAAC,GAAG,EAAE,eAAe,CAAC,CAAA;;sBACjE,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,2BAA2B,EAAE,CAAC,IAAI,EAAE,eAAe,CAAC,CAAA;;sBACjE,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,2BAA2B,EAAE,CAAC,IAAI,EAAE,eAAe,CAAC,CAAA;gBAgD1D,mBAAmB,EAAA,EAAA,EAAA,EAAA,CAAA;;MErLlB,uBAAuB,CAAA;AA+BhC,IAAA,WAAA,CACuC,WAAqB,EACnB,UAAmC,EAC5B,KAAwB,EACjC,QAA6B,EAAA;QAH7B,IAAW,CAAA,WAAA,GAAX,WAAW,CAAU;QACnB,IAAU,CAAA,UAAA,GAAV,UAAU,CAAyB;QAC5B,IAAK,CAAA,KAAA,GAAL,KAAK,CAAmB;AAjCxE;;;AAGG;AACc,QAAA,IAAA,CAAA,YAAY,GAAG,KAAK,CACjC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,YAAY,EAAE;AAC3D,YAAA,OAAO,EAAE,IAAI;SAChB,CAAC,CAAC,IAAI,CACH,MAAM,CAAC,CAAC,EAAC,OAAO,EAAC,KAAK,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,EAC3C,GAAG,CAAC,CAAC,EAAC,OAAO,EAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CACjC,EACD,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,WAAW,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CACjF,CAAC;QAEe,IAAY,CAAA,YAAA,GAAG,KAAK,CACjC,iBAAiB,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,IAAI,CACjD,MAAM,CAAC,CAAC,EAAC,OAAO,EAAC,KAAK,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,EAC3C,GAAG,CAAC,CAAC,EAAC,OAAO,EAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CACjC,EACD,iBAAiB,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CACnD,CAAC;AAEe,QAAA,IAAA,CAAA,UAAU,GAAG,KAAK,CAC/B,iBAAiB,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,EAChE,iBAAiB,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAClE,CAAC;AAGO,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,YAAY,EAAoB,CAAC;AAQ9D,QAAA,IAAI,WAA6B,CAAC;AAElC,QAAA,IAAI,CAAC,YAAY;aACZ,IAAI,CACD,GAAG,CAAC,CAAC,EAAC,OAAO,EAAE,MAAM,EAAC,KAAI;YACtB,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AACtD,YAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAEzC,YAAA,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;AACtB,gBAAA,UAAU,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;AACpC,aAAA;SACJ,CAAC,EACF,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAC5D,GAAG,CAAC,CAAC,EAAC,OAAO,EAAC,KAAK,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,EACvD,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,EAC1B,MAAM,EAAE,EACR,SAAS,CAAC,QAAQ,CAAC,CACtB;aACA,SAAS,CAAC,QAAQ,IAAG;YAClB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YAExD,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC;AAC5D,SAAC,CAAC,CAAC;KACV;AAEO,IAAA,qBAAqB,CAAC,YAAoB,EAAA;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;AACvE,QAAA,MAAM,KAAK,GAAG,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC;AAC3C,QAAA,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;AAE7B,QAAA,OAAO,QAAQ,CAAC,QAAQ,CAAC,KAAK,GAAG,KAAK,EAAE,sBAAsB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;KAC1E;IAEO,iBAAiB,CACrB,OAAe,EACf,MAA0B,EAAA;QAE1B,MAAM,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;AAE/D,QAAA,QAAQ,MAAM;YACV,KAAK,aAAa,CAAC,aAAa;AAC5B,gBAAA,OAAO,MAAM,CAAC;YAClB,KAAK,cAAc,CAAC,aAAa;AAC7B,gBAAA,OAAO,OAAO,CAAC;AACnB,YAAA;AACI,gBAAA,OAAO,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;AACnD,SAAA;KACJ;AAEO,IAAA,sBAAsB,CAAC,OAAe,EAAA;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QACrD,MAAM,SAAS,GAAG,QAAQ,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;AACnD,QAAA,MAAM,UAAU,GAAG,QAAQ,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;AAE3D,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;AAC7C,YAAA,UAAU,GAAG,CAAC;AACd,aAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,GAAG,CAAC;AACnD,cAAE,OAAO;cACP,MAAM,CAAC;KAChB;;AAhGQ,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,kBAgCpB,QAAQ,EAAA,EAAA,EAAA,KAAA,EACR,UAAU,EACV,EAAA,EAAA,KAAA,EAAA,iBAAiB,aACT,iBAAiB,EAAA,IAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;yGAnC5B,uBAAuB,EAAA,QAAA,EAAA,WAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,EAAA,SAAA,EAFrB,CAAC,iBAAiB,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAErB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAJnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,WAAW;oBACrB,SAAS,EAAE,CAAC,iBAAiB,CAAC;AACjC,iBAAA,CAAA;0DAiCuD,QAAQ,EAAA,UAAA,EAAA,CAAA;0BAAvD,MAAM;2BAAC,QAAQ,CAAA;;0BACf,MAAM;2BAAC,UAAU,CAAA;;0BACjB,MAAM;2BAAC,iBAAiB,CAAA;;0BACxB,IAAI;;0BAAI,MAAM;2BAAC,iBAAiB,CAAA;4CAN5B,iBAAiB,EAAA,CAAA;sBADzB,MAAM;;;MC3BE,cAAc,CAAA;;4GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAd,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,EAHR,YAAA,EAAA,CAAA,iBAAiB,EAAE,uBAAuB,aAD/C,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAE,WAAW,CAE9D,EAAA,OAAA,EAAA,CAAA,iBAAiB,EAAE,uBAAuB,CAAA,EAAA,CAAA,CAAA;6GAE3C,cAAc,EAAA,OAAA,EAAA,CAJd,CAAC,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAE,WAAW,CAAC,CAAA,EAAA,CAAA,CAAA;4FAIhE,cAAc,EAAA,UAAA,EAAA,CAAA;kBAL1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,OAAO,EAAE,CAAC,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAE,WAAW,CAAC;AACzE,oBAAA,YAAY,EAAE,CAAC,iBAAiB,EAAE,uBAAuB,CAAC;AAC1D,oBAAA,OAAO,EAAE,CAAC,iBAAiB,EAAE,uBAAuB,CAAC;AACxD,iBAAA,CAAA;;;ACbD;;AAEG;;;;"}
|
|
@@ -4,7 +4,7 @@ import { InjectionToken, ChangeDetectorRef, Component, ChangeDetectionStrategy,
|
|
|
4
4
|
import * as i3 from '@angular/forms';
|
|
5
5
|
import { NgControl, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
6
6
|
import * as i2 from '@taiga-ui/cdk';
|
|
7
|
-
import { AbstractTuiControl, tuiIsNativeFocused, tuiAsFocusableItemAccessor, tuiAsControl, tuiDefaultProp, TuiFocusableModule, TuiRepeatTimesModule } from '@taiga-ui/cdk';
|
|
7
|
+
import { AbstractTuiControl, tuiIsNativeFocused, tuiClamp, tuiAsFocusableItemAccessor, tuiAsControl, tuiDefaultProp, TuiFocusableModule, TuiRepeatTimesModule } from '@taiga-ui/cdk';
|
|
8
8
|
import * as i1 from '@taiga-ui/core';
|
|
9
9
|
import { TuiSvgModule } from '@taiga-ui/core';
|
|
10
10
|
|
|
@@ -43,7 +43,7 @@ class TuiRatingComponent extends AbstractTuiControl {
|
|
|
43
43
|
return !(this.readOnly || this.disabled);
|
|
44
44
|
}
|
|
45
45
|
get percent() {
|
|
46
|
-
return (100 * this.value) / this.max;
|
|
46
|
+
return tuiClamp((100 * this.value) / this.max, 0, 100);
|
|
47
47
|
}
|
|
48
48
|
onFocused(focused) {
|
|
49
49
|
this.updateFocused(focused);
|
|
@@ -62,7 +62,7 @@ TuiRatingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", versi
|
|
|
62
62
|
TuiRatingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiRatingComponent, selector: "tui-rating", inputs: { min: "min", max: "max", iconNormal: "iconNormal", iconFilled: "iconFilled" }, host: { listeners: { "focusin": "onFocused(true)", "focusout": "onFocused(false)" } }, providers: [
|
|
63
63
|
tuiAsFocusableItemAccessor(TuiRatingComponent),
|
|
64
64
|
tuiAsControl(TuiRatingComponent),
|
|
65
|
-
], viewQueries: [{ propertyName: "focusableElement", first: true, predicate: ["focusableElement"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<label>\n <ng-content></ng-content>\n\n <div class=\"t-host\">\n <div class=\"t-interactive\">\n <tui-svg\n *tuiRepeatTimes=\"let index of max\"\n class=\"t-icon-filled\"\n [src]=\"iconFilled\"\n (click)=\"setRateByReverseIndex(index)\"\n ></tui-svg>\n </div>\n\n <div\n class=\"t-wrapper\"\n [style.width.%]=\"percent\"\n >\n <tui-svg\n *tuiRepeatTimes=\"let index of max\"\n class=\"t-icon-filled\"\n [src]=\"iconFilled\"\n ></tui-svg>\n </div>\n\n <tui-svg\n *tuiRepeatTimes=\"let
|
|
65
|
+
], viewQueries: [{ propertyName: "focusableElement", first: true, predicate: ["focusableElement"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<label>\n <ng-content></ng-content>\n\n <div class=\"t-host\">\n <div class=\"t-interactive\">\n <tui-svg\n *tuiRepeatTimes=\"let index of max\"\n class=\"t-icon-rating t-icon-filled\"\n [class.t-icon-rating-last]=\"index === 0\"\n [src]=\"iconFilled\"\n (click)=\"setRateByReverseIndex(index)\"\n ></tui-svg>\n </div>\n\n <div\n class=\"t-wrapper\"\n [style.width.%]=\"percent\"\n >\n <tui-svg\n *tuiRepeatTimes=\"let index of max\"\n class=\"t-icon-rating t-icon-filled\"\n [class.t-icon-rating-last]=\"index === 0\"\n [src]=\"iconFilled\"\n ></tui-svg>\n </div>\n\n <tui-svg\n *tuiRepeatTimes=\"let index of max\"\n class=\"t-icon-rating\"\n [class.t-icon-rating-last]=\"max - 1 === index\"\n [src]=\"iconNormal\"\n ></tui-svg>\n\n <input\n #focusableElement\n type=\"range\"\n step=\"1\"\n class=\"t-input\"\n [min]=\"min\"\n [max]=\"max\"\n [ngModel]=\"value\"\n [tuiFocusable]=\"isFocusable\"\n (ngModelChange)=\"setRate($event)\"\n />\n </div>\n</label>\n", styles: [":host._readonly,:host._disabled{pointer-events:none}:host._disabled{opacity:var(--tui-disabled-opacity)}.t-host{position:relative;display:inline-flex}.t-icon-rating{width:var(--tui-rating-size, 1.5rem);height:var(--tui-rating-size, 1.5rem);padding:0 var(--tui-rating-gap, 0) 0 0}.t-icon-rating-last{padding-right:0}.t-input{pointer-events:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent}.t-input::-webkit-slider-thumb{display:none}.t-input::-moz-range-thumb{opacity:0}.t-input,.t-wrapper,.t-interactive{position:absolute;left:0;bottom:0;width:100%;height:100%}.t-wrapper,.t-interactive{display:inline-flex;overflow:hidden;flex-direction:row-reverse;justify-content:flex-end;white-space:nowrap}.t-wrapper{pointer-events:none}.t-interactive{opacity:0}@media (hover: hover) and (pointer: fine){.t-interactive:hover{opacity:1}.t-interactive:hover~.t-wrapper{visibility:hidden}.t-interactive:hover .t-icon-filled{opacity:0}.t-interactive:hover .t-icon-filled:hover,.t-interactive:hover .t-icon-filled:hover~.t-icon-filled{opacity:1}}.t-icon-filled{position:relative;cursor:pointer}\n"], components: [{ type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i2.TuiRepeatTimesDirective, selector: "[tuiRepeatTimes][tuiRepeatTimesOf]", inputs: ["tuiRepeatTimesOf"] }, { type: i3.RangeValueAccessor, selector: "input[type=range][formControlName],input[type=range][formControl],input[type=range][ngModel]" }, { type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i2.TuiFocusableDirective, selector: "[tuiFocusable]", inputs: ["tuiFocusable"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
66
66
|
__decorate([
|
|
67
67
|
tuiDefaultProp()
|
|
68
68
|
], TuiRatingComponent.prototype, "min", void 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-kit-components-rating.js","sources":["../../../projects/kit/components/rating/rating-options.ts","../../../projects/kit/components/rating/rating.component.ts","../../../projects/kit/components/rating/rating.template.html","../../../projects/kit/components/rating/rating.module.ts","../../../projects/kit/components/rating/taiga-ui-kit-components-rating.ts"],"sourcesContent":["import {InjectionToken, ValueProvider} from '@angular/core';\n\nexport interface TuiRatingOptions {\n readonly min: number;\n readonly max: number;\n readonly iconNormal: string;\n readonly iconFilled: string;\n}\n\nexport const TUI_RATING_DEFAULT_OPTIONS: TuiRatingOptions = {\n min: 0,\n max: 5,\n iconNormal: `tuiIconStarLarge`,\n iconFilled: `tuiIconStarFilledLarge`,\n};\n\nexport const TUI_RATING_OPTIONS = new InjectionToken<TuiRatingOptions>(\n `[TUI_RATING_OPTIONS]: Default parameters for rating component`,\n {\n factory: () => TUI_RATING_DEFAULT_OPTIONS,\n },\n);\n\nexport const tuiRatingOptionsProvider: (\n options: Partial<TuiRatingOptions>,\n) => ValueProvider = (options: Partial<TuiRatingOptions>) => ({\n provide: TUI_RATING_OPTIONS,\n useValue: {...TUI_RATING_DEFAULT_OPTIONS, ...options},\n});\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostListener,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiControl,\n tuiAsControl,\n tuiAsFocusableItemAccessor,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n tuiIsNativeFocused,\n} from '@taiga-ui/cdk';\n\nimport {TUI_RATING_OPTIONS, TuiRatingOptions} from './rating-options';\n\n@Component({\n selector: 'tui-rating',\n templateUrl: './rating.template.html',\n styleUrls: ['./rating.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiRatingComponent),\n tuiAsControl(TuiRatingComponent),\n ],\n})\nexport class TuiRatingComponent\n extends AbstractTuiControl<number>\n implements TuiFocusableElementAccessor\n{\n @ViewChild('focusableElement')\n private readonly focusableElement?: ElementRef<HTMLInputElement>;\n\n @Input()\n @tuiDefaultProp()\n min = this.options.min;\n\n @Input()\n @tuiDefaultProp()\n max = this.options.max;\n\n @Input()\n @tuiDefaultProp()\n iconNormal = this.options.iconNormal;\n\n @Input()\n @tuiDefaultProp()\n iconFilled = this.options.iconFilled;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n ngControl: NgControl | null,\n @Inject(ChangeDetectorRef)\n changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_RATING_OPTIONS)\n private readonly options: TuiRatingOptions,\n ) {\n super(ngControl, changeDetectorRef);\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return this.computedDisabled || !this.focusableElement\n ? null\n : this.focusableElement.nativeElement;\n }\n\n get focused(): boolean {\n return tuiIsNativeFocused(this.nativeFocusableElement);\n }\n\n get isFocusable(): boolean {\n return !(this.readOnly || this.disabled);\n }\n\n get percent(): number {\n return (100 * this.value) / this.max;\n }\n\n @HostListener('focusin', ['true'])\n @HostListener('focusout', ['false'])\n onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n setRateByReverseIndex(index: number): void {\n this.updateValue(this.max - index);\n }\n\n setRate(value: number): void {\n this.updateValue(value);\n }\n\n protected getFallbackValue(): number {\n return 0;\n }\n}\n","<label>\n <ng-content></ng-content>\n\n <div class=\"t-host\">\n <div class=\"t-interactive\">\n <tui-svg\n *tuiRepeatTimes=\"let index of max\"\n class=\"t-icon-filled\"\n [src]=\"iconFilled\"\n (click)=\"setRateByReverseIndex(index)\"\n ></tui-svg>\n </div>\n\n <div\n class=\"t-wrapper\"\n [style.width.%]=\"percent\"\n >\n <tui-svg\n *tuiRepeatTimes=\"let index of max\"\n class=\"t-icon-filled\"\n [src]=\"iconFilled\"\n ></tui-svg>\n </div>\n\n <tui-svg\n *tuiRepeatTimes=\"let item of max\"\n [src]=\"iconNormal\"\n ></tui-svg>\n\n <input\n #focusableElement\n type=\"range\"\n step=\"1\"\n class=\"t-input\"\n [min]=\"min\"\n [max]=\"max\"\n [ngModel]=\"value\"\n [tuiFocusable]=\"isFocusable\"\n (ngModelChange)=\"setRate($event)\"\n />\n </div>\n</label>\n","import {NgModule} from '@angular/core';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport {TuiFocusableModule, TuiRepeatTimesModule} from '@taiga-ui/cdk';\nimport {TuiSvgModule} from '@taiga-ui/core';\n\nimport {TuiRatingComponent} from './rating.component';\n\n@NgModule({\n imports: [\n TuiSvgModule,\n TuiFocusableModule,\n TuiRepeatTimesModule,\n FormsModule,\n ReactiveFormsModule,\n ],\n declarations: [TuiRatingComponent],\n exports: [TuiRatingComponent],\n})\nexport class TuiRatingModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-kit-components-rating.js","sources":["../../../projects/kit/components/rating/rating-options.ts","../../../projects/kit/components/rating/rating.component.ts","../../../projects/kit/components/rating/rating.template.html","../../../projects/kit/components/rating/rating.module.ts","../../../projects/kit/components/rating/taiga-ui-kit-components-rating.ts"],"sourcesContent":["import {InjectionToken, ValueProvider} from '@angular/core';\n\nexport interface TuiRatingOptions {\n readonly min: number;\n readonly max: number;\n readonly iconNormal: string;\n readonly iconFilled: string;\n}\n\nexport const TUI_RATING_DEFAULT_OPTIONS: TuiRatingOptions = {\n min: 0,\n max: 5,\n iconNormal: `tuiIconStarLarge`,\n iconFilled: `tuiIconStarFilledLarge`,\n};\n\nexport const TUI_RATING_OPTIONS = new InjectionToken<TuiRatingOptions>(\n `[TUI_RATING_OPTIONS]: Default parameters for rating component`,\n {\n factory: () => TUI_RATING_DEFAULT_OPTIONS,\n },\n);\n\nexport const tuiRatingOptionsProvider: (\n options: Partial<TuiRatingOptions>,\n) => ValueProvider = (options: Partial<TuiRatingOptions>) => ({\n provide: TUI_RATING_OPTIONS,\n useValue: {...TUI_RATING_DEFAULT_OPTIONS, ...options},\n});\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostListener,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiControl,\n tuiAsControl,\n tuiAsFocusableItemAccessor,\n tuiClamp,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n tuiIsNativeFocused,\n} from '@taiga-ui/cdk';\n\nimport {TUI_RATING_OPTIONS, TuiRatingOptions} from './rating-options';\n\n@Component({\n selector: 'tui-rating',\n templateUrl: './rating.template.html',\n styleUrls: ['./rating.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiRatingComponent),\n tuiAsControl(TuiRatingComponent),\n ],\n})\nexport class TuiRatingComponent\n extends AbstractTuiControl<number>\n implements TuiFocusableElementAccessor\n{\n @ViewChild('focusableElement')\n private readonly focusableElement?: ElementRef<HTMLInputElement>;\n\n @Input()\n @tuiDefaultProp()\n min = this.options.min;\n\n @Input()\n @tuiDefaultProp()\n max = this.options.max;\n\n @Input()\n @tuiDefaultProp()\n iconNormal = this.options.iconNormal;\n\n @Input()\n @tuiDefaultProp()\n iconFilled = this.options.iconFilled;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n ngControl: NgControl | null,\n @Inject(ChangeDetectorRef)\n changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_RATING_OPTIONS)\n private readonly options: TuiRatingOptions,\n ) {\n super(ngControl, changeDetectorRef);\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return this.computedDisabled || !this.focusableElement\n ? null\n : this.focusableElement.nativeElement;\n }\n\n get focused(): boolean {\n return tuiIsNativeFocused(this.nativeFocusableElement);\n }\n\n get isFocusable(): boolean {\n return !(this.readOnly || this.disabled);\n }\n\n get percent(): number {\n return tuiClamp((100 * this.value) / this.max, 0, 100);\n }\n\n @HostListener('focusin', ['true'])\n @HostListener('focusout', ['false'])\n onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n setRateByReverseIndex(index: number): void {\n this.updateValue(this.max - index);\n }\n\n setRate(value: number): void {\n this.updateValue(value);\n }\n\n protected getFallbackValue(): number {\n return 0;\n }\n}\n","<label>\n <ng-content></ng-content>\n\n <div class=\"t-host\">\n <div class=\"t-interactive\">\n <tui-svg\n *tuiRepeatTimes=\"let index of max\"\n class=\"t-icon-rating t-icon-filled\"\n [class.t-icon-rating-last]=\"index === 0\"\n [src]=\"iconFilled\"\n (click)=\"setRateByReverseIndex(index)\"\n ></tui-svg>\n </div>\n\n <div\n class=\"t-wrapper\"\n [style.width.%]=\"percent\"\n >\n <tui-svg\n *tuiRepeatTimes=\"let index of max\"\n class=\"t-icon-rating t-icon-filled\"\n [class.t-icon-rating-last]=\"index === 0\"\n [src]=\"iconFilled\"\n ></tui-svg>\n </div>\n\n <tui-svg\n *tuiRepeatTimes=\"let index of max\"\n class=\"t-icon-rating\"\n [class.t-icon-rating-last]=\"max - 1 === index\"\n [src]=\"iconNormal\"\n ></tui-svg>\n\n <input\n #focusableElement\n type=\"range\"\n step=\"1\"\n class=\"t-input\"\n [min]=\"min\"\n [max]=\"max\"\n [ngModel]=\"value\"\n [tuiFocusable]=\"isFocusable\"\n (ngModelChange)=\"setRate($event)\"\n />\n </div>\n</label>\n","import {NgModule} from '@angular/core';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport {TuiFocusableModule, TuiRepeatTimesModule} from '@taiga-ui/cdk';\nimport {TuiSvgModule} from '@taiga-ui/core';\n\nimport {TuiRatingComponent} from './rating.component';\n\n@NgModule({\n imports: [\n TuiSvgModule,\n TuiFocusableModule,\n TuiRepeatTimesModule,\n FormsModule,\n ReactiveFormsModule,\n ],\n declarations: [TuiRatingComponent],\n exports: [TuiRatingComponent],\n})\nexport class TuiRatingModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -179,6 +179,7 @@ const TUI_TABS_DEFAULT_OPTIONS = {
|
|
|
179
179
|
underline: true,
|
|
180
180
|
exposeActive: true,
|
|
181
181
|
itemsLimit: Infinity,
|
|
182
|
+
minMoreWidth: 0,
|
|
182
183
|
};
|
|
183
184
|
const TUI_TABS_OPTIONS = new InjectionToken(`[TUI_TABS_OPTIONS]: Default parameters for tabs component`, {
|
|
184
185
|
factory: () => TUI_TABS_DEFAULT_OPTIONS,
|
|
@@ -543,9 +544,10 @@ class TuiTabsWithMoreComponent {
|
|
|
543
544
|
if (tabs.length < 2) {
|
|
544
545
|
return 0;
|
|
545
546
|
}
|
|
547
|
+
const { exposeActive, minMoreWidth } = this.options;
|
|
546
548
|
const { clientWidth } = this.elementRef.nativeElement;
|
|
547
549
|
const activeWidth = tabs[activeItemIndex] ? tabs[activeItemIndex].scrollWidth : 0;
|
|
548
|
-
const moreWidth = tabs[tabs.length - 1].scrollWidth;
|
|
550
|
+
const moreWidth = Math.max(tabs[tabs.length - 1].scrollWidth, minMoreWidth);
|
|
549
551
|
let maxIndex = tabs.length - 2;
|
|
550
552
|
let total = tabs.reduce((acc, { scrollWidth }) => acc + scrollWidth, 0) +
|
|
551
553
|
maxIndex * margin -
|
|
@@ -556,7 +558,7 @@ class TuiTabsWithMoreComponent {
|
|
|
556
558
|
while (maxIndex) {
|
|
557
559
|
total -= tabs[maxIndex].scrollWidth + margin;
|
|
558
560
|
maxIndex--;
|
|
559
|
-
const activeDisplaced =
|
|
561
|
+
const activeDisplaced = exposeActive && activeItemIndex > maxIndex;
|
|
560
562
|
const activeOffset = activeDisplaced ? activeWidth + margin : 0;
|
|
561
563
|
const currentWidth = total + activeOffset + moreWidth + margin;
|
|
562
564
|
// Needed for different rounding of visible and hidden elements scrollWidth
|